|
58792
|
rememberance by @Tyo | Stardance
|
Tyo
|
1
|
25.0
|
331
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T14:28:52Z", "hours": 25.0, "multiplier": 13.41, "payout": 331, "blessing": "neutral", "text": "Remember me~ Oh shoot! Rememberance!~ Is a game I had in a dream!~ Imagine you had the biggest amnesia that you don’t even remember your name! Well then, 24 hours, find it, find other information about you and confront God!! Maybe?", "repo": "https://github.com/SteelyxEpic/Rememberance", "demo": "https://tyoepic.itch.io/rememberance"}]...
|
[{"post_id": 74487, "ts": "202 [{"post_id": 74487, "ts": "2026-09-27T14:23:34Z", "hours": 1.5094, "text": "It’s finally done! The ending, the VA, the everything! YESS, I can finally slep _"}, {"post_id": 73622, "ts": "2026-09-25T14:44:04Z", "hours": 8.2239, "text": "ARGHHHH, it’s been a week!~ and I’ve been busy adding all the voicelines and LOREEE into the gamee!~~~ All I need more is to do some more polishing and package it up into a sweet deal! p.s stardance is continuing until october! which means more time to finish this project!!! (I’m genuinely so burned out :p)"}, {"post_id": 69044, "ts": "2026-09-16T08:34:45Z", "hours": 2.3375, "text": "Quick break to add a lil bit of Sound effect!~~~ Okie that’s all, back to making the LOREEEE. Hehe~"}, {"post_id": 68951, "ts": "2026-09-16T03:12:18Z", "hours": 2.2036, "text": "The last room!!!! The last room has been added and therefore it’s now finally time to add contenttttt! Yey!~~~ <3 The plan is simple, you find notes, cassettes and other items to piece together who you are. Then when the day ends, God will ask for who you are, answer right and you wake from this nightmare. Answer wrong and you will dwell in eternity…. OMG I can’t wait to add all the LORE (if you can’t tell, I love game theory hehe~ :3) okie bai!"}, {"post_id": 67080, "ts": "2026-09-13T04:04:09Z", "hours": 1.5656, "text": "Hi Hi!~~~ Kinda small today but I just really wanna show you guys what I did!!!! I finally made the mirrors workinggggg!!!!! AND I LOVE IT <3 it’s exactly how I imagined the mirrors to act!!! Anyways, that’s all!~ I’m gonna go actually make the puzzles now. Bai~~"}, {"post_id": 66563, "ts": "2026-09-12T12:17:25Z", "hours": 3.0983, "text": "Woah! More kewl stuff!~ The lights are still out but I have reached an agreement, this game is like a rougelite, however the only thing carried over is information on yourself, and within 7 days, you have to have all the information about yourself. Yea! Keys are universal in this so it can unlock any type of door or other containers. That’s all, cya!~"}, {"post_id": 66002, "ts": "2026-09-11T14:56:46Z", "hours": 2.3408, "text": "Another day, another something I wanted to add! This time it’s the really cool Interaction circle. I thought it would be fun to add it and also allows me to be able to help in a lot of things like, using items in the future wink wink anyways that’s all! I think I wanna try my hands on something more extraterrestrial next, hehe~ cya! <3"}, {"post_id": 64612, "ts": "2026-09-09T04:08:46Z", "hours": 3.4489, "text": "Time for something new! I had this idea since I started godot while making the best minigame game ever (true to title :3) so I’m doing it now!~ I started off with this ominous little safe that took me much longer than I expected to make and also a bunch of artwork!~ (like 30 different drawings :p) hopefully the rest of the parts would be smooth sailing and I can finally make the game of my dreams (literally! Hehe~)"}]...
|
Title: rememberance by @Tyo | Stardance
Devlogs:
Title: rememberance by @Tyo | Stardance
Devlogs:
Time for something new! I had this idea since I started godot while making the best minigame game ever (true to title :3) so I’m doing it now!~ I started off with this ominous little safe that took me much longer than I expected to make and also a bunch of artwork!~ (like 30 different drawings :p) hopefully the rest of the parts would be smooth sailing and I can finally make the game of my dreams (literally! Hehe~)
Another day, another something I wanted to add! This time it’s the really cool Interaction circle. I thought it would be fun to add it and also allows me to be able to help in a lot of things like, using items in the future wink wink anyways that’s all! I think I wanna try my hands on something more extraterrestrial next, hehe~ cya! <3
Woah! More kewl stuff!~ The lights are still out but I have reached an agreement, this game is like a rougelite, however the only thing carried over is information on yourself, and within 7 days, you have to have all the information about yourself. Yea! Keys are universal in this so it can unlock any type of door or other containers. That’s all, cya!~
Hi Hi!~~~ Kinda small today but I just really wanna show you guys what I did!!!! I finally made the mirrors workinggggg!!!!! AND I LOVE IT <3 it’s exactly how I imagined the mirrors to act!!! Anyways, that’s all!~ I’m gonna go actually make the puzzles now. Bai~~
The last room!!!! The last room has been added and therefore it’s now finally time to add contenttttt! Yey!~~~ <3 The plan is simple, you find notes, cassettes and other items to piece together who you are. Then when the day ends, God will ask for who you are, answer right and you wake from this nightmare. Answer wrong and you will dwell in eternity…. OMG I can’t wait to add all the LORE (if you can’t tell, I love game theory hehe~ :3) okie bai!
Quick break to add a lil bit of Sound effect!~~~ Okie that’s all, back to making the LOREEEE. Hehe~
ARGHHHH, it’s been a week!~ and I’ve been busy adding all the voicelines and LOREEE into the gamee!~~~ All I need more is to do some more polishing and package it up into a sweet deal! p.s stardance is continuing until october! which means more time to finish this project!!! (I’m genuinely so burned out :p)
It’s finally done! The ending, the VA, the everything! YESS, I can finally slep _
Ships:
Remember me~ Oh shoot! Rememberance!~ Is a game I had in a dream!~ Imagine you had the biggest amnesia that you don’t even remember your name! Well then, 24 hours, find it, find other information about you and confront God!! Maybe?...
|
1793008127.7789595
|
1793094527.7789595
|
|
13560
|
Biggy OS by @LoginlikeLogan | Stardance
|
LoginlikeLogan
|
3
|
66.97
|
330
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T02:50:14Z", "hours": 20.0, "multiplier": 8.97, "payout": 180, "blessing": "neutral", "text": "So guys, Ive updated the os with mutiple new apps like the weather, music, calculator, paint, browser, and minecraft apps! Test it out!", "repo": "https://github.com/Logdegret/Biggy-Cheese-OS/", "demo": "https://logdegret.github.io/Biggy-Cheese-OS"}, {"ship_num": 2, "ts": "2026-08-23T13:58:23Z", "hours": 14.0, "multiplier": 10.42, "payout": 150, "blessing": "neutral", "text": "I finally finished my webos and I am happy with what ive made! There was lots that i struggled with. Hopefully this can earn a super star!", "repo": "https://github.com/Logdegret/Biggy-Cheese-OS/", "demo": "https://logdegret.github.io/Biggy-Cheese-OS"}, {"ship_num": 3, "ts": "2026-07-30T07:28:58Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a webos based on the biggy cheese meme. I found the video player extra hard. Hopefully it meets the requirements?", "repo": "https://github.com/Logdegret/Biggy-Cheese-OS/", "demo": "https://logdegret.github.io/Biggy-Cheese-OS"}]...
|
[{"post_id": 65124, "ts": "202 [{"post_id": 65124, "ts": "2026-09-10T01:25:38Z", "hours": 4.1136, "text": "Working Up to the Big Leagues… So ive made a new window called finder and It’s pretty basic so far. It was about 330 lines of js.. I will probably replace the standby/placeholder emojis with svgs so it doesn’t look out of theme!"}, {"post_id": 64469, "ts": "2026-09-08T21:47:57Z", "hours": 0.6869, "text": "A sad devlog… so I couldn’t fix it and I had to use a bit of AI to fully debug. it turns out, the calculator app was hijacking keystrokes and I had a single broken line of code in app.js. But now it works!"}, {"post_id": 64436, "ts": "2026-09-08T20:12:51Z", "hours": 14.1656, "text": "I have been working super hard and trying to fix bugs and heavily avoiding ai. But for some reason the website is breaking apart and no longer loading."}, {"post_id": 62618, "ts": "2026-09-06T02:46:53Z", "hours": 1.0931, "text": "Final Additions! Ive added a modified file of eaglercraft into the biggy os and it is now called Biggy OS"}, {"post_id": 61193, "ts": "2026-09-04T00:26:40Z", "hours": 8.1094, "text": "Ive added 3 new apps!! A working browser, calculator, and paint app!!! windows were not working properly so I had to make some ajustments and fix it. Took me some time.. haha"}, {"post_id": 59859, "ts": "2026-09-01T20:41:46Z", "hours": 9.2781, "text": "Tutorial has been added! Guys Guess what? Ive made a tutorial on how to get started on the os and i have made backgrounds gif possible. The tutorial kinda gave me a bit of trouble with bugs so i took lots of time debugging. Im also working on something big…."}, {"post_id": 59012, "ts": "2026-08-31T16:23:19Z", "hours": 1.5581, "text": "Guys I am BACK!! So far ive been tweaking a few things like the location bug, it was supposed to popup when you clicked download for the weather app. But I guess i didn’t catch that.. Anyways Here are some new backgrounds, they’re 4k!!"}, {"post_id": 53063, "ts": "2026-08-23T13:55:30Z", "hours": 1.5417, "text": "MY LAST DEVLOG!!! Hey guys, its been a great run! ive added a music app and a few customizable widgets but which can only be found by something you need to explore. Thank you guys so much for support!"}, {"post_id": 52333, "ts": "2026-08-22T13:19:21Z", "hours": 0.5256, "text": "Ive added a new app that you can download! i am currently thinking of stopping this project although it has been a blast making this project."}, {"post_id": 51796, "ts": "2026-08-21T17:09:52Z", "hours": 2.1492, "text": "LOT OF NEW BIG THINGS Ive added two new windows, notes and the store. nothing can be donwloaded yet but i am currently working on that. Ive added resizing!! follow allong and this shall be a super star project!"}, {"post_id": 50661, "ts": "2026-08-19T22:48:17Z", "hours": 0.3942, "text": "A fun cinematic opening!!! I’ve ai coded me a simple opening while i added the sound for it. I hate to say but i was a little lazy on this one since i don’t really know much on animation in websites."}, {"post_id": 50640, "ts": "2026-08-19T22:01:17Z", "hours": 2.5006, "text": "A super Annoying Terminal This Terminal is super annoying, spacing, css and divs are driving me crazy! Everytime i clicked on this terminal it used to break the screen… Not anymore! Finally the spacing and terminal is close to perfect. I will now be focusing on a cinematic loading screen."}, {"post_id": 48209, "ts": "2026-08-16T14:40:19Z", "hours": 2.4889, "text": "LOTS OF STUFF ive added a to do list with a check box so you can remind yourself what to do. Ive also added a terminal! its a work in progress but im getting there! i really want this to be a super star project so im putting in all my effort!"}, {"post_id": 46924, "ts": "2026-08-14T14:16:12Z", "hours": 0.3458, "text": "Ive tuned up the meme window to filter them and frame them"}, {"post_id": 45943, "ts": "2026-08-12T19:11:29Z", "hours": 2.4656, "text": "I added a lot so far, i added a meme tab and a to do tab. meme tab is done but not the todo."}, {"post_id": 41329, "ts": "2026-08-05T14:04:58Z", "hours": 0.4178, "text": "Ive finnaly fixed this stupid window that did not want to cooperate. I actaully suffered through this. Well, hope that some of you will like it. Also heres the progress so far: Im going to be changing meme generator to daily meme. I will be coding in python for it. Also If anyone wants to work with me to make a biggy cheeze type game, please feel free to reach out to me"}, {"post_id": 39719, "ts": "2026-08-02T21:11:11Z", "hours": 0.635, "text": "I drew a new icon for a daily meme. How do yall like it? also my game window is soooooo broken. it stretches so weird… I need someone to design a game for me since idk how to make game. Anyone?"}, {"post_id": 38749, "ts": "2026-08-01T09:37:58Z", "hours": 0.9711, "text": "added fullscreen and a game that is animal themed. NOT MY GAME"}, {"post_id": 37450, "ts": "2026-07-30T06:23:48Z", "hours": 1.0489, "text": "Made A new window / app for an about me! This is probably the final devlog until the first ship. Thank you guys so much for the support and hopefully i can get to the next OS mission.."}, {"post_id": 36272, "ts": "2026-07-28T08:23:05Z", "hours": 0.8856, "text": "I added another modular window that can change backgrounds"}, {"post_id": 34540, "ts": "2026-07-25T10:38:04Z", "hours": 0.8489, "text": "added apps!"}, {"post_id": 34517, "ts": "2026-07-25T09:34:34Z", "hours": 0.3906, "text": "I added a custom cheese cursor that I drew!"}, {"post_id": 34502, "ts": "2026-07-25T08:38:58Z", "hours": 2.3539, "text": "I scrapped the ugly background and added a physical clock with a rotating joke/statement. Also added a fun loading screen"}, {"post_id": 33948, "ts": "2026-07-24T09:02:04Z", "hours": 2.0789, "text": "Many Things Have Been Added! Ive added a rotating joke/statement that changes everytime you reload, a clock(that will be improved), and a clock widget/window that I want to be a permenant widget. Wish me luck! here are some pictures and the progress so far!"}, {"post_id": 31251, "ts": "2026-07-19T14:44:53Z", "hours": 3.2208, "text": "I have added a draggable window for the biggy cheeze moment with a custom player"}, {"post_id": 30562, "ts": "2026-07-18T07:29:12Z", "hours": 1.0281, "text": "We have went back to biggy cheeze Sorry for changing it! I am going to restart from scratch"}, {"post_id": 8723, "ts": "2026-06-14T14:20:53Z", "hours": 0.7217, "text": "I change my theme Lets Go Knicks"}, {"post_id": 7172, "ts": "2026-06-11T23:47:16Z", "hours": 1.2631, "text": "added stardance link, fixed image, and more text. Im struggling with this… lol"}, {"post_id": 5276, "ts": "2026-06-09T00:07:01Z", "hours": 0.5161, "text": "Started my own webos via guide(idk why image doesn’t work) help?? it works on index.html locally…"}]...
|
Title: Biggy OS by @LoginlikeLogan | Stardance
De Title: Biggy OS by @LoginlikeLogan | Stardance
Devlogs:
Started my own webos via guide(idk why image doesn’t work) help?? it works on index.html locally…
added stardance link, fixed image, and more text. Im struggling with this… lol
I change my theme Lets Go Knicks
We have went back to biggy cheeze Sorry for changing it! I am going to restart from scratch
I have added a draggable window for the biggy cheeze moment with a custom player
Many Things Have Been Added! Ive added a rotating joke/statement that changes everytime you reload, a clock(that will be improved), and a clock widget/window that I want to be a permenant widget. Wish me luck! here are some pictures and the progress so far!
I scrapped the ugly background and added a physical clock with a rotating joke/statement. Also added a fun loading screen
I added a custom cheese cursor that I drew!
added apps!
I added another modular window that can change backgrounds
Made A new window / app for an about me! This is probably the final devlog until the first ship. Thank you guys so much for the support and hopefully i can get to the next OS mission..
added fullscreen and a game that is animal themed. NOT MY GAME
I drew a new icon for a daily meme. How do yall like it? also my game window is soooooo broken. it stretches so weird… I need someone to design a game for me since idk how to make game. Anyone?
Ive finnaly fixed this stupid window that did not want to cooperate. I actaully suffered through this. Well, hope that some of you will like it. Also heres the progress so far: Im going to be changing meme generator to daily meme. I will be coding in python for it. Also If anyone wants to work with me to make a biggy cheeze type game, please feel free to reach out to me
I added a lot so far, i added a meme tab and a to do tab. meme tab is done but not the todo.
Ive tuned up the meme window to filter them and frame them
LOTS OF STUFF ive added a to do list with a check box so you can remind yourself what to do. Ive also added a terminal! its a work in progress but im getting there! i really want this to be a super star project so im putting in all my effort!
A super Annoying Terminal This Terminal is super annoying, spacing, css and divs are driving me crazy! Everytime i clicked on this terminal it used to break the screen… Not anymore! Finally the spacing and terminal is close to perfect. I will now be focusing on a cinematic loading screen.
A fun cinematic opening!!! I’ve ai coded me a simple opening while i added the sound for it. I hate to say but i was a little lazy on this one since i don’t really know much on animation in websites.
LOT OF NEW BIG THINGS Ive added two new windows, notes and the store. nothing can be donwloaded yet but i am currently working on that. Ive added resizing!! follow allong and this shall be a super star project!
Ive added a new app that you can download! i am currently thinking of stopping this project although it has been a blast making this project.
MY LAST DEVLOG!!! Hey guys, its been a great run! ive added a music app and a few customizable widgets but which can only be found by something you need to explore. Thank you guys so much for support!
Guys I am BACK!! So far ive been tweaking a few things like the location bug, it was supposed to popup when you clicked download for the weather app. But I guess i didn’t catch that.. Anyways Here are some new backgrounds, they’re 4k!!
Tutorial has been added! Guys Guess what? Ive made a tutorial on how to get started on the os and i have made backgrounds gif possible. The tutorial kinda gave me a bit of trouble with bugs so i took lots of time debugging. Im also working on something big….
Ive added 3 new apps!! A working browser, calculator, and paint app!!! windows were not working properly so I had to make some ajustments and fix it. Took me some time.. haha
Final Additions! Ive added a modified file of eaglercraft into the biggy os and it is now called Biggy OS
I have been working super hard and trying to fix bugs and heavily avoiding ai. But for some reason the website is breaking apart and no longer loading.
A sad devlog… so I couldn’t fix it and I had to use a bit of AI to fully debug. it turns out, the calculator app was hijacking keystrokes and I had a single broken line of code in app.js. But now it works!
Working Up to the Big Leagues… So ive made a new window called finder and It’s pretty basic so far. It was about 330 lines of js.. I will probably replace the standby/placeholder emojis with svgs so it doesn’t look out of theme!
Ships:
I made a webos based on the biggy cheese meme. I found the video player extra hard. Hopefully it meets the requirements?
I finally finished my webos and I am happy with what ive made! There was lots that i struggled with. Hopefully this can earn a super star!
So guys, Ive updated the os with mutiple new apps like the weather, music, calculator, paint, browser, and minecraft apps! Test it out!...
|
1792878595.6829658
|
1793742595.6829658
|
|
6676
|
GenericOS by @Jack_ | Stardance
|
Jack_
|
2
|
27.0
|
329
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T22:01:54Z", "hours": 11.0, "multiplier": 14.97, "payout": 165, "blessing": "neutral", "text": "GENERIC OS This started out as me learning HTML and CSS. Looking back through older files, when I started this a month ago, I can see how much I’ve grown. Even since the first ship of this project, I can see the improvement and learning. I love coding, and I love how Hackclub has inspired and motivated me to make things like this. Thank you for taking the time to review this project. Hackclub, thank you so much for providing such an amazing program to help people like me. I hope to join you one day and look up to the way the organization is run and it’s staff. CHANGES SINCE LAST SHIP Three additional apps (browser, file explorer, about) Additional UI (Start menu, bootloader, etc.) Architectural changes to organization Much much more! BIGGEST SUCCESSES Proficiency in learning HTML/CSS and JS Working functional apps backed with a reliable infastrucutere Meeting a kind community of people who can help me Git structure of branches and learning how to use git in terminal Also the file explorer I am very proud of BIGGEST CHALLENGES Lowk stupid bugs that I shouldve been able to fix in 10 seconds but couldnt see for some reason All other challenges have been overcome thanks to an amazing community :D Thank you hackclub and thank you reviewer!", "repo": "https://github.com/Jack-Jacobson/GenericOS", "demo": "https://genericos.jackjacobson2011.com"}, {"ship_num": 2, "ts": "2026-06-10T03:27:54Z", "hours": 16.0, "multiplier": 10.72, "payout": 164, "blessing": "neutral", "text": "Meet GenericOS. This was my first web design project, it features many draggable apps, playable games, and interactive experiences. This was NOT created through the guide for the program, but still inspired by its ideas. I made all code, formulated all direct ideas,and created my OS all myself. I am very proud of it, spent a significant amount of time and effort on it, and am very excited to see what everyone things. PLEASE LEAVE CONSTRUCTIVE FEEDBACK, I want to know how I can improve. Thank you for taking the time to check out my project. Also thank you HackClub and everyone involved in it, it is an amazing company run an amazing way, it is truly inspiring and an admirable cooperation. I love the transparency, people, and services provided. Thank you for giving people like me an opportunity to make things like this. Please review the readme in the Github repository for information on how I built the project, as well as what it features and how you can modify it. If you like this and want to support me, check out my portfolio linked on the github. Thank you all again, and if you are from Hackclub reading this, y’ll are amazing people doing amazing work.", "repo": "https://github.com/Jack-Jacobson/GenericOS", "demo": "https://genericos.jackjacobson2011.com"}]...
|
[{"post_id": 26227, "ts": "202 [{"post_id": 26227, "ts": "2026-07-10T21:53:57Z", "hours": 1.1322, "text": "OVERVIEW: Sorry for another short devlog. Polished, fixed bugs, adding commands, adding saving. I have decided that I am going to do my second ship! I do plan on working more on this in the future prolly maybe. NEXT STEPS: Ship! CHALLENGES: More localstorage stuff and working with file ids for the file manager was fun and interesting to learn about More writing for the readme"}, {"post_id": 26138, "ts": "2026-07-10T19:13:10Z", "hours": 2.6919, "text": "OVERVIEW: Added a file explorer! Sorry for the three days wait, but this is a bigger app than normal. it allows you to create file structures and files. Currently the only file you can open are .txt files, however. These .txt files open in the notepad. Find the secret file and decode it for a surprise! NEXT STEPS: Add editing .txt files and saving them with file explorer prepare to ship Terminal commands update CHALLENGES: The biggest reason it took this long to make the app was that I had to redo the entire code for opening folders and files. I had it set so every click it would re-render the explorer (makes sense in my head). The rendering resets the DOM and makes the original element you click on a new identical element. However, to open a file you need to double click it. This wasn’t working, and it took my a bit of research to find out why. The way HTML decides if something is a double click is if you rapidly click the same element twice. Resetting the DOM meant the this element would change every click. So, I had to redo the system to only render when necessary, which required a significant overhaul of the javascript"}, {"post_id": 24357, "ts": "2026-07-07T21:24:09Z", "hours": 2.0156, "text": "OVERVIEW: Added about app! Has slideshow which can be easily adjusted to tell you about features of the os, this is to help reviewers understand how the site works. Also noticed an issue where it doesnt look great because asstes werent loading, hence the boot screen! It has a progress bar which says what its lodaing! Backed to being locked in the btw. NEXT STEPS: More apps Readme update More commands for terminal (things that actually do things) CHALLENGES: Dynamically reading DOM to get all images that need to be loaded Styling the about app to make it helpful but also reasonable to make Git being weird (ended up making a few custom commands to interact with the remote)"}, {"post_id": 23898, "ts": "2026-07-07T03:14:17Z", "hours": 1.1811, "text": "OVERVIEW: Hi! Sorry for the long wait between dev logs (again). Ive had to just deal with some things recently and havent had time for this. Added a start menu that allows you to search apps or search the web This is a smaller feature, but dont worry, much more is to come. NEXT STEPS: Intro app to say features Other apps CHALLENGES: Interacting with other parts of my code in this part of the code hsa been fun to prove to myself how upgraded my organization is Also enjoyed using more of css modification within JS as opposed to just writing more css which I am very tired of"}, {"post_id": 22319, "ts": "2026-07-04T18:40:56Z", "hours": 1.4758, "text": "OVERVIEW: Added a changable background, added movable desktop icons. Sorry for taking a break in development for a few days, I haven’t been locked in. Happy Fourth of July to those who celebrate. NEXT STEPS: Additional app Start menu Into that tells you what you can do CHALLENGES: I was having issues getting to the browser icons to move on the site, it was working locally but wasnt working and gave no errors when pushed to the site. Still coulden’t tell you how I got it working. Had to store the bcakground in a local storage on the computer, i havent messed arounf with that before and I found it very fun."}, {"post_id": 19596, "ts": "2026-06-30T23:03:17Z", "hours": 2.5453, "text": "OVERVIEW: Sorry for there not being a devlog in while, I took a break on this project to work on some other things (jame gam + other Stardance projects). However, I have read and greatly appreciate my feedback from my previous ship and added the most common suggestion, a browser! A simple browser with multiple tabs, access to the general web, and all in the same window system that already exists! NEXT STEPS: Movable window icons Bookmark system Another game? CHALLENGES: It turns out, most major websites do not support being embedded in other sites. For example, google. I spent a while trying to get around this with proxies, different apis, and different methods, however found all to be insufficient. Eventually I found workaround involving modifying the urls of the site, which I have hardcoded into the script. Learning how to use iframes was fun and interesting, although the parameters of them I found quite confusing."}, {"post_id": 5988, "ts": "2026-06-10T01:26:17Z", "hours": 1.75, "text": "OVERVIEW: Very sorry for the short devlog but finished readme, fixed bugs. No real new features were added, but prepared for final release, fixed bug with deployment to demo site and made sure everything works as expected on it. . NEXT STEPS: Confirm no bugs are present Ship! . CHALLENGES: I have trouble making readmes, but it was a lot of fun to research what goes into them and why they matter. I enjoyed creating it, and cant wait to share it with everyone!"}, {"post_id": 5101, "ts": "2026-06-08T19:49:42Z", "hours": 1.5072, "text": "NOTE FOR VIDEO : The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely. (also check out my mad minesweeper skills) . OVERVIEW: Finished minesweeper! There is now a fully working minesweeper game. It generates the game and works similarly to the original minesweeper game. It took less time than expected thanks to my existing framework. . NEXT STEPS: Polish Prepare for ship . CHALLENGES: Debugging is difficult as this is the most javascript I have written for the project Using JS to create and modify CSS, a lot of the styling was written in javascript as opposed to directly in the css files, I did this because the game was constantly changing and hence required constant stylistic changes, as well as to challenge myself in new ways."}, {"post_id": 4640, "ts": "2026-06-08T01:17:17Z", "hours": 3.1639, "text": "NOTE FOR VIDEO : The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely. . OVERVIEW: Added framework for a minesweeper game. Also fixed a lot of general bugs. Prepared my portfolio site at https://jackjacobson2011.com to publish the project. Please note the portfolio itself is not a part of the project but was included in this devlog for the sake of demonstrating the effort put into the easy access of my project. . NEXT STEPS: Finish game Upload to website Polish . CHALLENGES: Figuring out where the root cause of bugs were (usually from hard-to-catch typos) Utilizing global functions to simplify code"}, {"post_id": 3717, "ts": "2026-06-06T19:25:37Z", "hours": 1.5114, "text": "NOTE FOR VIDEO : The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely. . OVERVIEW: General quality of life update! Added window snapping, to both sides and the top to maximize. Added window focusing system, allow use of multiple apps at once and better general use. Also on the backend, split the index.html file into a much more organized multi-file system! This allows for much better readability, sharability, and bug fixing. Also fixed various bugs throughout OS. . NEXT STEPS: Add game General polishing . CHALLENGES: Having multiple files introduced the need for global functions. I was very confused when many different scope and definition errors. I learned how to make everything usable globally, which simplified a lot for code and fixed errors. The snapping introduced very interesting behaviors with how the window is dragged and used, fixed by using various prevState variables and dissecting behaviors to see how they happened."}, {"post_id": 2891, "ts": "2026-06-05T19:54:46Z", "hours": 0.7528, "text": "OVERVIEW: Added a functional power menu. Currently, there are two options in the menu, restart and power off. Restart reloads the tabs, power off attempts to close the tab, although most browsers wont allow it so it gives you a pop up. . NEXT STEPS: Add some sort of game (im thinking snake) Add window focusing system Split file into multiple (1000 lines in one html file might be a bit much) CHALLENGES: Learned how to use classes in HTML, making cleaner and easier code"}, {"post_id": 2578, "ts": "2026-06-05T04:55:28Z", "hours": 1.49, "text": "OVERVIEW: Finished the terminal app! It turned out to be a very interesting project. It works by having a certain input, where it checks a separate file to see if that input has a designated output, and then gives the output. Works very well, and looks great! NEXT STEPS: Add some sort of game to the OS Make terminal actually change things on the OS? Power Menu CHALLENGES: Input is a very weird tag, caused a lot of bugs that had to be squashed I very rarely use separate files, figuring out how to implement that and how it makes my code simpler and cleaner was a great experience."}, {"post_id": 2426, "ts": "2026-06-04T22:04:29Z", "hours": 1.9433, "text": "NOTE FOR VIDEO : The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely. OVERVIEW : Added the framework for a terminal app! It shouldn’t have been much work, but I encountered a lot of bugs with the general system. The taskbar behaves better, and soon there will be a terminal. NEXT STEPS: Make terminal functional, certain word input –> certain words for output. Help command to list things, info about project, joke commands, etc. Add power menu, where shut off closes tap, restart reloads it, etc. CHALLENGES: This has been a challenge throughout the whole project, though I haven’t talked about it yet but arrow functions! I’ve heard they’re much more efficient than other ways of doing it, but I didn’t know how to make them. Research and practice now makes it so all of my events are using arrow functions Design challenges, deciding what behaviors I want when certain things are pressed, and how to prioritize certain things in the OS."}, {"post_id": 1899, "ts": "2026-06-04T03:49:29Z", "hours": 1.2858, "text": "OVERVIEW: Added and refactored code to make the notepad app usable! You can open it and use it from the taskbar and the dekstop, type and save text in the editor, and maximize and move the window. NEXT STEPS: Add more apps, specifically a “terminal” where you can see certain things and kinda just mess around Start menu to search and start apps? Bootup page CHALLENGES: text input tag is new to me, so its parameters and making it stay inside the window was difficult. Taskbar had weird app performance with glitches being common when clicked"}, {"post_id": 1735, "ts": "2026-06-03T22:21:13Z", "hours": 1.5256, "text": "OVERVIEW: Added framework for apps! Created a way to add icons to the desktop, click to open them, drag around the windows, and control the windows using button, implemented 12 hour time clock, confirmed it worked with different time zones. NEXT STEPS: Add functionality to notepad Fix bugs with maximized windows (task behaving weird) Add more apps CHALLENGES: Javascript behaving weird with editing document features for the windows Dragging difficult to implement, wasn’t working when in certain places or when mouse moved in certain ways creating something that looked actually niceish (this is good enough, right"}, {"post_id": 1669, "ts": "2026-06-03T20:13:17Z", "hours": 1.4689, "text": "OVERVIEW: Worked to display an image in the background (currently windows xp, might be updated to something custom in the future). Added a clock to the bottom right. NEXT STEPS: 12hr format, test how it responds to different timezones Notepad app? CHALLENGES: spent time trouble shooting clock javascript, forgot to properly define a variable (had const now = date instead of = new date) Had issue with line that sets background because I put the wrong path to image"}]...
|
Title: GenericOS by @Jack_ | Stardance
Devlogs:
O Title: GenericOS by @Jack_ | Stardance
Devlogs:
OVERVIEW: Worked to display an image in the background (currently windows xp, might be updated to something custom in the future). Added a clock to the bottom right. NEXT STEPS: 12hr format, test how it responds to different timezones Notepad app? CHALLENGES: spent time trouble shooting clock javascript, forgot to properly define a variable (had const now = date instead of = new date) Had issue with line that sets background because I put the wrong path to image
OVERVIEW: Added framework for apps! Created a way to add icons to the desktop, click to open them, drag around the windows, and control the windows using button, implemented 12 hour time clock, confirmed it worked with different time zones. NEXT STEPS: Add functionality to notepad Fix bugs with maximized windows (task behaving weird) Add more apps CHALLENGES: Javascript behaving weird with editing document features for the windows Dragging difficult to implement, wasn’t working when in certain places or when mouse moved in certain ways creating something that looked actually niceish (this is good enough, right
OVERVIEW: Added and refactored code to make the notepad app usable! You can open it and use it from the taskbar and the dekstop, type and save text in the editor, and maximize and move the window. NEXT STEPS: Add more apps, specifically a “terminal” where you can see certain things and kinda just mess around Start menu to search and start apps? Bootup page CHALLENGES: text input tag is new to me, so its parameters and making it stay inside the window was difficult. Taskbar had weird app performance with glitches being common when clicked
NOTE FOR VIDEO : The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely. OVERVIEW : Added the framework for a terminal app! It shouldn’t have been much work, but I encountered a lot of bugs with the general system. The taskbar behaves better, and soon there will be a terminal. NEXT STEPS: Make terminal functional, certain word input –> certain words for output. Help command to list things, info about project, joke commands, etc. Add power menu, where shut off closes tap, restart reloads it, etc. CHALLENGES: This has been a challenge throughout the whole project, though I haven’t talked about it yet but arrow functions! I’ve heard they’re much more efficient than other ways of doing it, but I didn’t know how to make them. Research and practice now makes it so all of my events are using arrow functions Design challenges, deciding what behaviors I want when certain things are pressed, and how to prioritize certain things in the OS.
OVERVIEW: Finished the terminal app! It turned out to be a very interesting project. It works by having a certain input, where it checks a separate file to see if that input has a designated output, and then gives the output. Works very well, and looks great! NEXT STEPS: Add some sort of game to the OS Make terminal actually change things on the OS? Power Menu CHALLENGES: Input is a very weird tag, caused a lot of bugs that had to be squashed I very rarely use separate files, figuring out how to implement that and how it makes my code simpler and cleaner was a great experience.
OVERVIEW: Added a functional power menu. Currently, there are two options in the menu, restart and power off. Restart reloads the tabs, power off attempts to close the tab, although most browsers wont allow it so it gives you a pop up. . NEXT STEPS: Add some sort of game (im thinking snake) Add window focusing system Split file into multiple (1000 lines in one html file might be a bit much) CHALLENGES: Learned how to use classes in HTML, making cleaner and easier code
NOTE FOR VIDEO : The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely. . OVERVIEW: General quality of life update! Added window snapping, to both sides and the top to maximize. Added window focusing system, allow use of multiple apps at once and better general use. Also on the backend, split the index.html file into a much more organized multi-file system! This allows for much better readability, sharability, and bug fixing. Also fixed various bugs throughout OS. . NEXT STEPS: Add game General polishing . CHALLENGES: Having multiple files introduced the need for global functions. I was very confused when many different scope and definition errors. I learned how to make everything usable globally, which simplified a lot for code and fixed errors. The snapping introduced very interesting behaviors with how the window is dragged and used, fixed by using various prevState variables and dissecting behaviors to see how they happened.
NOTE FOR VIDEO : The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely. . OVERVIEW: Added framework for a minesweeper game. Also fixed a lot of general bugs. Prepared my portfolio site at https://jackjacobson2011.com to publish the project. Please note the portfolio itself is not a part of the project but was included in this devlog for the sake of demonstrating the effort put into the easy access of my project. . NEXT STEPS: Finish game Upload to website Polish . CHALLENGES: Figuring out where the root cause of bugs were (usually from hard-to-catch typos) Utilizing global functions to simplify code
NOTE FOR VIDEO : The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely. (also check out my mad minesweeper skills) . OVERVIEW: Finished minesweeper! There is now a fully working minesweeper game. It generates the game and works similarly to the original minesweeper game. It took less time than expected thanks to my existing framework. . NEXT STEPS: Polish Prepare for ship . CHALLENGES: Debugging is difficult as this is the most javascript I have written for the project Using JS to create and modify CSS, a lot of the styling was written in javascript as opposed to directly in the css files, I did this because the game was constantly changing and hence required constant stylistic changes, as well as to challenge myself in new ways.
OVERVIEW: Very sorry for the short devlog but finished readme, fixed bugs. No real new features were added, but prepared for final release, fixed bug with deployment to demo site and made sure everything works as expected on it. . NEXT STEPS: Confirm no bugs are present Ship! . CHALLENGES: I have trouble making readmes, but it was a lot of fun to research what goes into them and why they matter. I enjoyed creating it, and cant wait to share it with everyone!
OVERVIEW: Sorry for there not being a devlog in while, I took a break on this project to work on some other things (jame gam + other Stardance projects). However, I have read and greatly appreciate my feedback from my previous ship and added the most common suggestion, a browser! A simple browser with multiple tabs, access to the general web, and all in the same window system that already exists! NEXT STEPS: Movable window icons Bookmark system Another game? CHALLENGES: It turns out, most major websites do not support being embedded in other sites. For example, google. I spent a while trying to get around this with proxies, different apis, and different methods, however found all to be insufficient. Eventually I found workaround involving modifying the urls of the site, which I have hardcoded into the script. Learning how to use iframes was fun and interesting, although the parameters of them I found quite confusing.
OVERVIEW: Added a changable background, added movable desktop icons. Sorry for taking a break in development for a few days, I haven’t been locked in. Happy Fourth of July to those who celebrate. NEXT STEPS: Additional app Start menu Into that tells you what you can do CHALLENGES: I was having issues getting to the browser icons to move on the site, it was working locally but wasnt working and gave no errors when pushed to the site. Still coulden’t tell you how I got it working. Had to store the bcakground in a local storage on the computer, i havent messed arounf with that before and I found it very fun.
OVERVIEW: Hi! Sorry for the long wait between dev logs (again). Ive had to just deal with some things recently and havent had time for this. Added a start menu that allows you to search apps or search the web This is a smaller feature, but dont worry, much more is to come. NEXT STEPS: Intro app to say features Other apps CHALLENGES: Interacting with other parts of my code in this part of the code hsa been fun to prove to myself how upgraded my organization is Also enjoyed using more of css modification within JS as opposed to just writing more css which I am very tired of
OVERVIEW: Added about app! Has slideshow which can be easily adjusted to tell you about features of the os, this is to help reviewers understand how the site works. Also noticed an issue where it doesnt look great because asstes werent loading, hence the boot screen! It has a progress bar which says what its lodaing! Backed to being locked in the btw. NEXT STEPS: More apps Readme update More commands for terminal (things that actually do things) CHALLENGES: Dynamically reading DOM to get all images that need to be loaded Styling the about app to make it helpful but also reasonable to make Git being weird (ended up making a few custom commands to interact with the remote)
OVERVIEW: Added a file explorer! Sorry for the three days wait, but this is a bigger app than normal. it allows you to create file structures and files. Currently the only file you can open are .txt files, however. These .txt files open in the notepad. Find the secret file and decode it for a surprise! NEXT STEPS: Add editing .txt files and saving them with file explorer prepare to ship Terminal commands update CHALLENGES: The biggest reason it took this long to make the app was that I had to redo the entire code for opening folders and files. I had it set so every click it would re-render the explorer (makes sense in my head). The rendering resets the DOM and makes the original element you click on a new identical element. However, to open a file you need to double click it. This wasn’t working, and it took my a bit of research to find out why. The way HTML decides if something is a double click is if you rapidly click the same element twice. Resetting the DOM meant the this element would change every click. So, I had to redo the system to only render when necessary, which required a significant overhaul of the javascript
OVERVIEW: Sorry for another short devlog. Polished, fixed bugs, adding commands, adding saving. I have decided that I am going to do my second ship! I do plan on working more on this in the future prolly maybe. NEXT STEPS: Ship! CHALLENGES: More localstorage stuff and working with file ids for the file manager was fun and interesting to learn about More writing for the readme
Ships:
Meet GenericOS. This was my first web design project, it features many draggable apps, playable games, and interactive experiences. This was NOT created through the guide for the program, but still inspired by its ideas. I made all code, formulated all direct ideas,and created my OS all myself. I am very proud of it, spent a significant amount of time and effort on it, and am very excited to see what everyone things. PLEASE LEAVE CONSTRUCTIVE FEEDBACK, I want to know how I can improve. Thank you for taking the time to check out my project. Also thank you HackClub and everyone involved in it, it is an amazing company run an amazing way, it is truly inspiring and an admirable cooperation. I love the transparency, people, and services provided. Thank you for giving people like me an opportunity to make things like this. Please review the readme in the Github repository for information on how I built the project, as well as what it features and how you can modify it. If you like this and want to support me, check out my portfolio linked on the github. Thank you all again, and if you are from Hackclub reading this, y’ll are amazing people doing amazing work.
GENERIC OS This started out as me learning HTML and CSS. Looking back through older files, when I started this a month ago, I can see how much I’ve grown. Even since the first ship of this project, I can see the improvement and learning. I love coding, and I love how Hackclub has inspired and motivated me to make things like this. Thank you for taking the time to review this project. Hackclub, thank you so much for providing such an amazing program to help people like me. I hope to join you one day and look up to the way the organization is run and it’s staff. CHANGES SINCE LAST SHIP Three additional apps (browser, file explorer, about) Additional UI (Start menu, bootloader, etc.) Architectural changes to organization Much much more! BIGGEST SUCCESSES Proficiency in learning HTML/CSS and JS Working functional apps backed with a reliable infastrucutere Meeting a kind community of people who can help me Git structure of branches and learning how to use git in terminal Also the file explorer I am very proud of BIGGEST CHALLENGES Lowk stupid bugs that I shouldve been able to fix in 10 seconds but couldnt see for some reason All other challenges have been overcome thanks to an amazing community :D Thank you hackclub and thank you reviewer!...
|
1792975988.5524347
|
1793062388.5524347
|
|
14127
|
Puwump by @heiligetomate | Stardance
|
heiligetomate
|
1
|
36.0
|
328
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-21T00:30:35Z", "hours": 36.0, "multiplier": 9.67, "payout": 328, "blessing": "neutral", "text": "local workout App written in rust using egui. was fun to make challenging: egui is an annoying library, ill never use it again i might make this app android compatible in the future", "repo": "https://github.com/Heiligetomate/puwump", "demo": "https://github.com/Heiligetomate/puwump/releases/tag/v0.1.0"}]...
|
[{"post_id": 12829, "ts": "202 [{"post_id": 12829, "ts": "2026-06-21T00:22:21Z", "hours": 0.3842, "text": "Fixed the white dropdown on windows"}, {"post_id": 12807, "ts": "2026-06-20T23:23:09Z", "hours": 0.5158, "text": "Changes: Windows compatible Readme Test yourself instructions"}, {"post_id": 12693, "ts": "2026-06-20T18:47:34Z", "hours": 11.6531, "text": "Changes: Changed the db structure (fixed bugs) More default data Cleaner module structure Removal of old code More generic views Workout view Meal eat view Better home view Implement all missing views The project is basically done as a desktop app."}, {"post_id": 8810, "ts": "2026-06-14T17:14:30Z", "hours": 8.4217, "text": "Changed the Plan view you can now select a plan add exercises remove exercises move exercises change the reps"}, {"post_id": 6991, "ts": "2026-06-11T18:49:19Z", "hours": 7.4478, "text": "Finished the db structure i think Improved the UI Added ingredients to the UI (and made it so the view used for exercises and ingredients is reusable) Restructured a lot"}, {"post_id": 6150, "ts": "2026-06-10T10:38:11Z", "hours": 0.3583, "text": "New logo :3"}, {"post_id": 5904, "ts": "2026-06-09T21:35:12Z", "hours": 6.9081, "text": "The basic database structure is done and a basic ui is implemented"}]...
|
Title: Puwump by @heiligetomate | Stardance
Devlo Title: Puwump by @heiligetomate | Stardance
Devlogs:
The basic database structure is done and a basic ui is implemented
New logo :3
Finished the db structure i think Improved the UI Added ingredients to the UI (and made it so the view used for exercises and ingredients is reusable) Restructured a lot
Changed the Plan view you can now select a plan add exercises remove exercises move exercises change the reps
Changes: Changed the db structure (fixed bugs) More default data Cleaner module structure Removal of old code More generic views Workout view Meal eat view Better home view Implement all missing views The project is basically done as a desktop app.
Changes: Windows compatible Readme Test yourself instructions
Fixed the white dropdown on windows
Ships:
local workout App written in rust using egui. was fun to make challenging: egui is an annoying library, ill never use it again i might make this app android compatible in the future...
|
1792994108.7989092
|
1793080508.7989092
|
|
22848
|
One-Armed Zombie hunter by @Adammm | Stardance
|
Adammm
|
5
|
33.31
|
328
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T05:18:45Z", "hours": 5.0, "multiplier": 11.64, "payout": 62, "blessing": "neutral", "text": "SHIP 5: Ok so firstly, I readded the readme file to github as i forgot to add it back after I got a new repo on github since the old one was bad. After all that, I added more enviromental objects like crates, trees, and rocks. I created the trees myself in blender which was made before this project and I never got the chance to use it. I feel like it fits the low-poly feel of the game. Next, I added hitmarkers to the game as well as a sound for them to make the games quality of life much better and smoother. This was requested by many reviews and I myself thought it was difficult to tell when my shot hit or missed so I added the hitmarker. This was inspired by every other fps game btw. Alongside this, I made the crosshair fade out when the player is sprinting because it made the game smoother and it was inspired by like every other fps game too. Next, there are some much needed graphical changes. I created antialiasing, bloom, distance blur, and fog in order to make this game match the vibe of the zombie theme and to create a better-looking scenery. It is much of an improvement but there should be no issues on low end PCs as the quality is still purposely low in order to make the game run bad pcs. Finally, I added new zombie variant based off of the Spitter from left 4 dead. It does something similar to the spitter from literally any other zombie game, it spits. The avatar for the spitter was downloaded from mixamo because i cant build any good characters lol. The acid ball on the other hand, was made by myself, it is spawned in by code and It does not have a specific model in godot. Every part of the acid ball was made in code in order to make it more dynamic and less lag inducing like how the original model would have caused severe frame drops. Currently, the spitters only start spawning AFTER round 5. The best way to defend against the spitter is by standing under trees to prevent their attacks from hitting you. (also we are 55 stardust away from goal!!! Thank you all for the support!)", "repo": "https://github.com/Halcyon28/Wave-FPS-Backup", "demo": "https://shaodidi222.itch.io/generic-zombie-wave-fps"}, {"ship_num": 2, "ts": "2026-08-18T05:17:38Z", "hours": 7.0, "multiplier": 8.15, "payout": 57, "blessing": "neutral", "text": "4th Ship Overview: Combat updates: Added a new weapon: the railgun. Its ment to help you on waves where there are many more enemies since the railgun one shots all of them except for the boss zombie. Alongside this, I also added the ability to swap between your pistol and your main weapon using the 1 and 2 key but keep in mind that you can only swap between weapons when you have a gun other than the pistol. Ultimately, this was implemented to make the game easier since many players have noted that the game was a little difficult. Finally, I also added a melee function in which pressing F pushes back the zombie you are attacking as long as you are close to it. This was created as a way to attack while reloading though it does cancel your reload. Also in a one on one situation you can combo the zombie with this function. Enemies related update: Fixed the hitbox of the boss zombie so that it is able to spawn in without getting stuck into the ground. I also gave it the ability to knock players back with its attack to give it some more immersion. Misc updates: Added a command line which can be accesed when the ` button is pressed. Commands are pretty simple to figure out and its not intended for players but if you can find the right prompts itll work fine. I also made a more smooth and immersive death screen in which the “You Died” screen fades in and is semi transparent. This was done so that the screen seems more advanced and less like a stale 2D screen. Alongside this, the transparent background lets you see the zombies still mauling the defeated player (this was unintended but I liked it so I kept it). So yeah try it out pls :)", "repo": "https://github.com/Halcyon28/Wave-FPS-Backup", "demo": "https://shaodidi222.itch.io/generic-zombie-wave-fps"}, {"ship_num": 3, "ts": "2026-08-07T05:17:21Z", "hours": 4.0, "multiplier": 15.53, "payout": 64, "blessing": "neutral", "text": "Created a new zombie varient that took approximately 2 hours to complete, this varient is a boss that has much more health and damage than the regular varients. In the script global.gd, it is set so that every 5 rounds it will spawn a boss, for example round 5 = 1 boss zombie round 10 = 2 boss zombie, the current boss code is just the basic framework for movement and attack, I plan to add more to the framework in order to make it more smoothed out.", "repo": "https://github.com/Halcyon28/Wave-FPS-Backup", "demo": "https://shaodidi222.itch.io/generic-zombie-wave-fps"}, {"ship_num": 4, "ts": "2026-07-18T18:48:17Z", "hours": 8.0, "multiplier": 10.08, "payout": 84, "blessing": "neutral", "text": "(this is mostly copied from the previous devlog as I ment to make that a ship) I added weapon spread by using godots export functions to export a gun spread variable to the main player scripts and modified the spread for the pistol and m4 so it matches its real-life counterparts. I also added a new zombie varient that runs at the player at high speeds but has low health and attack damage. This was done by copying code that was previously used for the original zombie but modifying it a bit. The zombie textures were all obtained from mixamo.com. The animations for the zombies were also from mixamo.com (again, big thanks to the guy that recommended that to me). This will be the final update for now as I do not know what other functions and tweaks I need to add to the game. Currently, there is a stamina mechanism, firearm bullet spread calculations, 2 zombie variants, a much more realistic movement system that including moving slower when walking backwards; stamina takes more time to regenerate than to be used up; jumping cancels out sprints. These are the main functions that I added for the newest release of the game, if there are any bugs, feel free to comment it and feel free to comment any ideas I should add as well. forgot to mention, tips were also added to the wall as there wasn’t any indicator of game mechanisms in the game itself right now. Animations are currently not very smooth because of the fact that I am using free animations from mixamo so the switch between animations on the zombies may not be very smooth.", "repo": "https://github.com/Halcyon28/Wave-FPS-Backup", "demo": "https://shaodidi222.itch.io/generic-zombie-wave-fps"}, {"ship_num": 5, "ts": "2026-06-29T02:10:28Z", "hours": 9.0, "multiplier": 7.09, "payout": 61, "blessing": "neutral", "text": "Improved the guns model to make it a little more realistic, added round mechanic and a healing item that can be bought using score earned by killing zombies. Sound effects and more visual effects were added to improve the smoothness of the game to make it more similar to a arcade shooter game. Also added a death animation for the zombies in which the zombie falls and rolls over when it gets killed. This will be the first shipped version.", "repo": "https://github.com/Halcyon28/Wave-FPS-Backup", "demo": "https://shaodidi222.itch.io/generic-zombie-wave-fps"}]...
|
[{"post_id": 58271, "ts": "202 [{"post_id": 58271, "ts": "2026-08-30T17:19:41Z", "hours": 0.3144, "text": "Fixed zombies getting stuck on objects or trees"}, {"post_id": 56403, "ts": "2026-08-28T05:01:29Z", "hours": 0.5353, "text": "Just a edit of the animations for the spitter zombie and debugging of the code"}, {"post_id": 55378, "ts": "2026-08-27T05:30:07Z", "hours": 2.7411, "text": "Added new zombie variant based off of the Spitter from left 4 dead. It does something similar to the spitter from literally any other zombie game, it spits. The avatar for the spitter was downloaded from mixamo because i cant build any good characters lol. The acid ball on the other hand, was made by myself, it is spawned in by code and It does not have a specific model in godot. Every part of the acid ball was made in code in order to make it more dynamic and less lag inducing like how the original model would have caused severe frame drops. Currently, the spitters only start spawning AFTER round 5. I also changed up the graphics of the game by adding distance blur, fog, and antialaising and some bloom to give the game more of a zombie/horror feel but at the same time be playable on low end devices. For the enviroment, I added more objects like trees and crates to make the enviroment less plain. The reason for more trees is so that the new Spitter zombie variant cannot hit through them, so you can stand under them to avoid being hit, but at the same time, the player has to keep moving in order to not get attacked by the regular zombies or the sprinters."}, {"post_id": 54229, "ts": "2026-08-25T03:52:19Z", "hours": 2.0786, "text": "I made the current environment better by adding low-poly trees that I made in Blender. I decided to make these trees myself because I did not want to keep using free open-source assets, as it makes the game seem low-effort. I also added a way to tell if you hit the zombies, as requested, by creating a hitmarker on the crosshair and a hit sound effect so the player can for sure tell whether their previous shot hit the target or if their previous shot did not hit the target. Alongside this, I also made it so that the crosshair disappears when sprinting, much like many FPS games. I did not have a full reason to do this except to make this game smoother and seem more polished. (unrelated but we are 55 stardust away from the goal of 360 stardust!!! THANKS FOR ALL THE SUPPORT!!)"}, {"post_id": 48958, "ts": "2026-08-17T15:15:58Z", "hours": 2.0906, "text": "Added a new weapon: the railgun. Its ment to help you on waves where there are many more enemies since the railgun one shots all of them except for the boss zombie. Alongside this, I also added the ability to swap between your pistol and your main weapon using the 1 and 2 key but keep in mind that you can only swap between weapons when you have a gun other than the pistol. Ultimately, this was implemented to make the game easier since many players have noted that the game was a little difficult. Finally, I also added a melee function in which pressing F pushes back the zombie you are attacking as long as you are close to it. This was created as a way to attack while reloading though it does cancel your reload. Also in a one on one situation you can combo the zombie with this function."}, {"post_id": 44417, "ts": "2026-08-10T04:50:43Z", "hours": 1.6142, "text": "Reworked the animation and poses of the boss as they were looking a bit static. I also reworked the attack script so that it was more smooth and realistic (granted this game is not gonna be realistic at all)"}, {"post_id": 43723, "ts": "2026-08-09T04:12:53Z", "hours": 1.2042, "text": "I created a better death screen that fades in on death also the screen now displays a best waves reached text that saves after each game and even saves after the game is closed. I also fixed the boss zombies hitbox as it would collide with the players body in a way that made the player, this is also when I noticed that the bosses movement had nothing special attached to it, so I made its attack speed faster as well as making its attacks knock back the player."}, {"post_id": 42988, "ts": "2026-08-08T00:21:15Z", "hours": 2.1342, "text": "Created a command line for commands to debug the game or to play around with. Current commands include the following: noclip, fly, crash, godmode, and heal. If there are any commands you would like me to add, feel free to comment them. This command line was made simply by using a textedit object on a canvaslayer and creating a simple list script with func codes to program the commands."}, {"post_id": 42445, "ts": "2026-08-07T05:15:09Z", "hours": 0.7306, "text": "Added simple code for the boss, also gave it better animations and attack. This is currently just the first version for the boss zombie, it will be changed as I am planning to implement a different type of attack and movement system for the said zombie."}, {"post_id": 42144, "ts": "2026-08-06T19:07:52Z", "hours": 1.55, "text": "added animations sounds and model for a new zombie I am making"}, {"post_id": 34711, "ts": "2026-07-25T17:18:56Z", "hours": 0.7028, "text": "Added a simple main menu using a Camera3D as well as a canvaslayer that has a transparent background so that the map can be seen. There was also a bug in the menu where if you pressed escape the level starts and zombies spawn even though play was not pressed. I fixed it by adding a script in the main menu so that pressing escape will not unpause the game and it will not register anything UNTIL the game has started then it will open up a pause menu if pressed and close the pause menu if pressed again."}, {"post_id": 34459, "ts": "2026-07-25T05:51:55Z", "hours": 1.1361, "text": "Created a new sensitivity slider as requested by creating a new settings button under the pause menu, if there are any other changeable settings you would like me to add feel free to comment them."}, {"post_id": 30810, "ts": "2026-07-18T18:46:00Z", "hours": 1.7961, "text": "I added weapon spread by using godots @export functions to export a gun spread variable to the main player scripts and modified the spread for the pistol and m4 so it matches its real-life counterparts. I also added a new zombie varient that runs at the player at high speeds but has low health and attack damage. This was done by copying code that was previously used for the original zombie but modifying it a bit. The zombie textures were all obtained from mixamo.com. The animations for the zombies were also from mixamo.com (again, big thanks to the guy that recommended that to me). This will be the final update for now as I do not know what other functions and tweaks I need to add to the game. Currently, there is a stamina mechanism, firearm bullet spread calculations, 2 zombie variants, a much more realistic movement system that including moving slower when walking backwards; stamina takes more time to regenerate than to be used up; jumping cancels out sprints. These are the main functions that I added for the newest release of the game, if there are any bugs, feel free to comment it and feel free to comment any ideas I should add as well. forgot to mention, tips were also added to the wall as there wasn’t any indicator of game mechanisms in the game itself right now."}, {"post_id": 27450, "ts": "2026-07-13T00:56:28Z", "hours": 2.8683, "text": "Added more visible grass by using textures and 3d modling in blender. Fixed players movement to be more realistic by making sprinting unavailable when moving backwards as well as making speed slower overall as well as making speed slower when moving backwards, also made sprinting less overpowered by making it recharge slower. Added a buyable M4 to make the game more fun and easier when the game progresses into a further round."}, {"post_id": 23267, "ts": "2026-07-06T03:40:18Z", "hours": 3.3872, "text": "Focused on making the game higher quality by getting models and animations off of Mixamo (thanks to the person who recommended it). Also added a stamina and sprinting system so that the game feels smoother and less static. Alongside this, I also noticed a bug with the hitboxes in which the player was able to jump out of the way of the zombies attack basically avoiding the attack entirley, to fix this, I fixed some code for the zombie and made the zombies attack radius a little larger as well as reducing the players jump force to match the current movement speed rather than getting an intense boost in speed. Also, while creating the animations, I noticed the zombies were just gliding instead of playing animations and facing the wrong way as well. This was repaired with some exports, as I exported it into the script with the wrong path (stupid lol). Also made a better gun model by getting a low-poly model off of open source sites (I forgot the name, sorry). Also added more sound effects for the zombie. Now, the game [in my opinion] feels much more realistic and arcade-like with the new models, animations, and sounds. I’ll keep posting updates on the devlogs until I feel the game is ready for the next ship. Thanks for all the support and the ideas. I feel really grateful for the advice."}, {"post_id": 19973, "ts": "2026-07-01T13:18:30Z", "hours": 0.3303, "text": "Added more basic mechanics like gun sway and a hurt flash."}, {"post_id": 18075, "ts": "2026-06-29T02:10:03Z", "hours": 3.7886, "text": "Improved the guns model to make it a little more realistic, added round mechanic and a healing item that can be bought using score earned by killing zombies. Sound effects and more visual effects were added to improve the smoothness of the game to make it more similar to a arcade shooter game. Also added a death animation for the zombies in which the zombie falls and rolls over when it gets killed. This will be the first shipped version."}, {"post_id": 15493, "ts": "2026-06-25T05:51:48Z", "hours": 1.3228, "text": "added basic weapon functions"}, {"post_id": 14838, "ts": "2026-06-24T03:07:49Z", "hours": 3.7139, "text": "Created basic 3d mechanics for the game"}]...
|
Title: One-Armed Zombie hunter by @Adammm | Starda Title: One-Armed Zombie hunter by @Adammm | Stardance
Devlogs:
Created basic 3d mechanics for the game
added basic weapon functions
Improved the guns model to make it a little more realistic, added round mechanic and a healing item that can be bought using score earned by killing zombies. Sound effects and more visual effects were added to improve the smoothness of the game to make it more similar to a arcade shooter game. Also added a death animation for the zombies in which the zombie falls and rolls over when it gets killed. This will be the first shipped version.
Added more basic mechanics like gun sway and a hurt flash.
Focused on making the game higher quality by getting models and animations off of Mixamo (thanks to the person who recommended it). Also added a stamina and sprinting system so that the game feels smoother and less static. Alongside this, I also noticed a bug with the hitboxes in which the player was able to jump out of the way of the zombies attack basically avoiding the attack entirley, to fix this, I fixed some code for the zombie and made the zombies attack radius a little larger as well as reducing the players jump force to match the current movement speed rather than getting an intense boost in speed. Also, while creating the animations, I noticed the zombies were just gliding instead of playing animations and facing the wrong way as well. This was repaired with some exports, as I exported it into the script with the wrong path (stupid lol). Also made a better gun model by getting a low-poly model off of open source sites (I forgot the name, sorry). Also added more sound effects for the zombie. Now, the game [in my opinion] feels much more realistic and arcade-like with the new models, animations, and sounds. I’ll keep posting updates on the devlogs until I feel the game is ready for the next ship. Thanks for all the support and the ideas. I feel really grateful for the advice.
Added more visible grass by using textures and 3d modling in blender. Fixed players movement to be more realistic by making sprinting unavailable when moving backwards as well as making speed slower overall as well as making speed slower when moving backwards, also made sprinting less overpowered by making it recharge slower. Added a buyable M4 to make the game more fun and easier when the game progresses into a further round.
I added weapon spread by using godots @export functions to export a gun spread variable to the main player scripts and modified the spread for the pistol and m4 so it matches its real-life counterparts. I also added a new zombie varient that runs at the player at high speeds but has low health and attack damage. This was done by copying code that was previously used for the original zombie but modifying it a bit. The zombie textures were all obtained from mixamo.com. The animations for the zombies were also from mixamo.com (again, big thanks to the guy that recommended that to me). This will be the final update for now as I do not know what other functions and tweaks I need to add to the game. Currently, there is a stamina mechanism, firearm bullet spread calculations, 2 zombie variants, a much more realistic movement system that including moving slower when walking backwards; stamina takes more time to regenerate than to be used up; jumping cancels out sprints. These are the main functions that I added for the newest release of the game, if there are any bugs, feel free to comment it and feel free to comment any ideas I should add as well. forgot to mention, tips were also added to the wall as there wasn’t any indicator of game mechanisms in the game itself right now.
Created a new sensitivity slider as requested by creating a new settings button under the pause menu, if there are any other changeable settings you would like me to add feel free to comment them.
Added a simple main menu using a Camera3D as well as a canvaslayer that has a transparent background so that the map can be seen. There was also a bug in the menu where if you pressed escape the level starts and zombies spawn even though play was not pressed. I fixed it by adding a script in the main menu so that pressing escape will not unpause the game and it will not register anything UNTIL the game has started then it will open up a pause menu if pressed and close the pause menu if pressed again.
added animations sounds and model for a new zombie I am making
Added simple code for the boss, also gave it better animations and attack. This is currently just the first version for the boss zombie, it will be changed as I am planning to implement a different type of attack and movement system for the said zombie.
Created a command line for commands to debug the game or to play around with. Current commands include the following: noclip, fly, crash, godmode, and heal. If there are any commands you would like me to add, feel free to comment them. This command line was made simply by using a textedit object on a canvaslayer and creating a simple list script with func codes to program the commands.
I created a better death screen that fades in on death also the screen now displays a best waves reached text that saves after each game and even saves after the game is closed. I also fixed the boss zombies hitbox as it would collide with the players body in a way that made the player, this is also when I noticed that the bosses movement had nothing special attached to it, so I made its attack speed faster as well as making its attacks knock back the player.
Reworked the animation and poses of the boss as they were looking a bit static. I also reworked the attack script so that it was more smooth and realistic (granted this game is not gonna be realistic at all)
Added a new weapon: the railgun. Its ment to help you on waves where there are many more enemies since the railgun one shots all of them except for the boss zombie. Alongside this, I also added the ability to swap between your pistol and your main weapon using the 1 and 2 key but keep in mind that you can only swap between weapons when you have a gun other than the pistol. Ultimately, this was implemented to make the game easier since many players have noted that the game was a little difficult. Finally, I also added a melee function in which pressing F pushes back the zombie you are attacking as long as you are close to it. This was created as a way to attack while reloading though it does cancel your reload. Also in a one on one situation you can combo the zombie with this function.
I made the current environment better by adding low-poly trees that I made in Blender. I decided to make these trees myself because I did not want to keep using free open-source assets, as it makes the game seem low-effort. I also added a way to tell if you hit the zombies, as requested, by creating a hitmarker on the crosshair and a hit sound effect so the player can for sure tell whether their previous shot hit the target or if their previous shot did not hit the target. Alongside this, I also made it so that the crosshair disappears when sprinting, much like many FPS games. I did not have a full reason to do this except to make this game smoother and seem more polished. (unrelated but we are 55 stardust away from the goal of 360 stardust!!! THANKS FOR ALL THE SUPPORT!!)
Added new zombie variant based off of the Spitter from left 4 dead. It does something similar to the spitter from literally any other zombie game, it spits. The avatar for the spitter was downloaded from mixamo because i cant build any good characters lol. The acid ball on the other hand, was made by myself, it is spawned in by code and It does not have a specific model in godot. Every part of the acid ball was made in code in order to make it more dynamic and less lag inducing like how the original model would have caused severe frame drops. Currently, the spitters only start spawning AFTER round 5. I also changed up the graphics of the game by adding distance blur, fog, and antialaising and some bloom to give the game more of a zombie/horror feel but at the same time be playable on low end devices. For the enviroment, I added more objects like trees and crates to make the enviroment less plain. The reason for more trees is so that the new Spitter zombie variant cannot hit through them, so you can stand under them to avoid being hit, but at the same time, the player has to keep moving in order to not get attacked by the regular zombies or the sprinters.
Just a edit of the animations for the spitter zombie and debugging of the code
Fixed zombies getting stuck on objects or trees
Ships:
Improved the guns model to make it a little more realistic, added round mechanic and a healing item that can be bought using score earned by killing zombies. Sound effects and more visual effects were added to improve the smoothness of the game to make it more similar to a arcade shooter game. Also added a death animation for the zombies in which the zombie falls and rolls over when it gets killed. This will be the first shipped version.
(this is mostly copied from the previous devlog as I ment to make that a ship) I added weapon spread by using godots export functions to export a gun spread variable to the main player scripts and modified the spread for the pistol and m4 so it matches its real-life counterparts. I also added a new zombie varient that runs at the player at high speeds but has low health and attack damage. This was done by copying code that was previously used for the original zombie but modifying it a bit. The zombie textures were all obtained from mixamo.com. The animations for the zombies were also from mixamo.com (again, big thanks to the guy that recommended that to me). This will be the final update for now as I do not know what other functions and tweaks I need to add to the game. Currently, there is a stamina mechanism, firearm bullet spread calculations, 2 zombie variants, a much more realistic movement system that including moving slower when walking backwards; stamina takes more time to regenerate than to be used up; jumping cancels out sprints. These are the main functions that I added for the newest release of the game, if there are any bugs, feel free to comment it and feel free to comment any ideas I should add as well. forgot to mention, tips were also added to the wall as there wasn’t any indicator of game mechanisms in the game itself right now. Animations are currently not very smooth because of the fact that I am using free animations from mixamo so the switch between animations on the zombies may not be very smooth.
Created a new zombie varient that took approximately 2 hours to complete, this varient is a boss that has much more health and damage than the regular varients. In the script global.gd, it is set so that every 5 rounds it will spawn a boss, for example round 5 = 1 boss zombie round 10 = 2 boss zombie, the current boss code is just the basic framework for movement and attack, I plan to add more to the framework in order to make it more smoothed out.
4th Ship Overview: Combat updates: Added a new weapon: the railgun. Its ment to help you on waves where there are many more enemies since the railgun one shots all of them except for the boss zombie. Alongside this, I also added the ability to swap between your pistol and your main weapon using the 1 and 2 key but keep in mind that you can only swap between weapons when you have a gun other than the pistol. Ultimately, this was implemented to make the game easier since many players have noted that the game was a little difficult. Finally, I also added a melee function in which pressing F pushes back the zombie you are attacking as long as you are close to it. This was created as a way to attack while reloading though it does cancel your reload. Also in a one on one situation you can combo the zombie with this function. Enemies related update: Fixed the hitbox of the boss zombie so that it is able to spawn in without getting stuck into the ground. I also gave it the ability to knock players back with its attack to give it some more immersion. Misc updates: Added a command line which can be accesed when the ` button is pressed. Commands are pretty simple to figure out and its not intended for players but if you can find the right prompts itll work fine. I also made a more smooth and immersive death screen in which the “You Died” screen fades in and is semi transparent. This was done so that the screen seems more advanced and less like a stale 2D screen. Alongside this, the transparent background lets you see the zombies still mauling the defeated player (this was unintended but I liked it so I kept it). So yeah try it out pls :)
SHIP 5: Ok so firstly, I readded the readme file to github as i forgot to add it back after I got a new repo on github since the old one was bad. After all that, I added more enviromental objects like crates, trees, and rocks. I created the trees myself in blender which was made before this project and I never got the chance to use it. I feel like it fits the low-poly feel of the game. Next, I added hitmarkers to the game as well as a sound for them to make the games quality of life much better and smoother. This was requested by many reviews and I myself thought it was difficult to tell when my shot hit or missed so I added the hitmarker. This was inspired by every other fps game btw. Alongside this, I made the crosshair fade out when the player is sprinting because it made the game smoother and it was inspired by like every other fps game too. Next, there are some much needed graphical changes. I created antialiasing, bloom, distance blur, and fog in order to make this game match the vibe of the zombie theme and to create a better-looking scenery. It is much of an improvement but there should be no issues on low end PCs as the quality is still purposely low in order to make the game run bad pcs. Finally, I added new zombie variant based off of the Spitter from left 4 dead. It does something similar to the spitter from literally any other zombie game, it spits. The avatar for the spitter was downloaded from mixamo because i cant build any good characters lol. The acid ball on the other hand, was made by myself, it is spawned in by code and It does not have a specific model in godot. Every part of the acid ball was made in code in order to make it more dynamic and less lag inducing like how the original model would have caused severe frame drops. Currently, the spitters only start spawning AFTER round 5. The best way to defend against the spitter is by standing under trees to prevent their attacks from hitting you. (also we are 55 stardust away from goal!!! Thank you all for the support!)...
|
1792983145.6593668
|
1793069545.6593668
|
|
56905
|
OrbitTrace by @Jhenil | Stardance
|
Jhenil
|
1
|
17.0
|
328
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T00:35:53Z", "hours": 17.0, "multiplier": 19.06, "payout": 328, "blessing": "neutral", "text": "What Is It? I have made a 3D Earth Satellite Tracker. If you can explore and get live information about the satellites. It uses an API link which gives the code the data which it needs to go through a custom made equation and does calculations to update the satellite’s location accurately and create a projected path for it. The globe is custom made with THREE.js and Vite. Features 3D Earth Real Satellite Positions using Satellite.js Search Feature Select Satellites Camera zoom Predicted and completed orbital path Ground Track Satellite Position Replay Information Panel Loading Screen Unique Features The ground track feature is I think the best one because we all know that satellite’s orbit around Earth in circles but it looks different when you see it relative to the Earth. The satellites have weird wavy or boxy type paths if seen on the Earth’s surface. Another great feature is replay which can give you replay for the last 90 minutes. It will not be a full 90 minutes, it increments by 1 minute which makes the process of replay faster and you don’t have to sit there for 90 minutes or for the amount of time you have selected. Goal I have mentioned this a lot but I am really close to my goal for an A1 Mini 3D Printer. If you guys leave me great reviews about the project then I will be set for my goal. Thank you in advance to any one who has supported me or has rated my project.", "repo": "https://github.com/JP-code33/OrbitTrace", "demo": "https://orbit-trace-three.vercel.app/"}]...
|
[{"post_id": 65662, "ts": "202 [{"post_id": 65662, "ts": "2026-09-10T23:17:45Z", "hours": 0.6525, "text": "Devlog - 8 I have never been this frustrated to deploy a website. When I went to deploy the website, it kept giving me errors and errors. The main fault was that Vite 8 used a rolldown to bundle dependencies. It couldn’t bundle my satellite.js as it used js and WASM. Then I tried many times to make the code forcefully use the JS version but it just didn’t work. Then I searched up and saw that Vite 8 causes this and if I downgrade to Vite 7 then it will work then I did that and finally the deployment was turned from errors to success message and now the site is finally live. I will be shipping this project soon. Thank you for the support once again!"}, {"post_id": 65594, "ts": "2026-09-10T20:41:14Z", "hours": 2.5822, "text": "Devlog - 7 I am happy to announce that OrbitTrace is complete . My own 3D satellite tracker is complete. For the last 2 hours I have focused on features which are Ground Track & Replay . Let’s start with Ground Track. The satellite on the model let’s us know that where the satellite is and the projected paths are just circles you may say. But Ground Track let’s you know the satellite is traveling relative to Earth. Like it travels in weird patterns around the Earth. The replay as you may guess is the where you can time travel. You can go behind in time for about 90 minutes to see where the satellite was. It increments per minute so it doesn’t take full 90 minutes to replay. Thank you for all the support. Goal As I have mentioned earlier this is my last project before and my last hope for A1 Mini 3D printer as it is getting hard to manage school and coding at the same time but I will try my best to work on more projects. I need around 200 more stardust and I think this project has the potential to achieve that. Thank everyone once again!"}, {"post_id": 64482, "ts": "2026-09-08T22:12:17Z", "hours": 2.9764, "text": "Devlog - 6 Ok guys, I think this was the hardest part of the project till now. I was trying to get the day/night version so it replicates the real earth. I this whole time figuring it out. Firstly I start up with math to actually figure out like astronomical values for the shader and to figure out where the Sun will be at what point of time but it didn’t work out but then I went to online libraries which let’s say also didn’t work as I could understand how to use it properly. I made so many changes through out this almost three hours but at the end I made a version where it sees users local time and adjusts the earth whether it will be day time or night time. Thank you and stay tuned!"}, {"post_id": 63632, "ts": "2026-09-07T15:39:56Z", "hours": 2.2867, "text": "Devlog - 5 Finally Finally . I have overcome the problem of syncing the latitude and longitude of the Earth and the satellites. So the main problem was, I used a tutorial to build the earth in 3D so what happened the Earth’s longitude at zero was -90 so because of that the calculations were being correct but the marker was being placed at a wrong latitude. Before I didn’t knew about that so I tried changing the math but that was correct and then when I figured out that is was at a wrong longitude, it was a simple fix as I just added +90 . Then I encountered another problem which was after a search the zoom controls and the drag controls for the earth became sketchy . That was because I was using a normal zoom function before but for zooming in on a satellite after the search it switched to x, y, z coordinate system and after just for normal zoom it tried to switch back to normal but couldn’t and that is why it became sketchy but I fixed that as well. Then I started to add features in. I have added satellite’s porjected path and completed path in now. You can see that in the video below. This was just like debugging. Thank you and stay tuned!"}, {"post_id": 63061, "ts": "2026-09-06T17:28:16Z", "hours": 2.4639, "text": "Devlog - 4 Right now it is being a bit too much of a trial and error debugging for me. I did manage to get all the satellites being added on the earth textured globe. There are around 16,000 satellites. I have separate code which asks the API for the data and then that data gets parsed and then it converts it to TLE and which is then used in the main code to make those markers. Then I added search feature and while making that search feature I noticed that still the syncing of the latitude & longitude of the textured earth and the satellites is still a big problem. I can’t get it too sync with each other . I will be continuing to debug and lets see what happens. Thank you & stay tuned!"}, {"post_id": 62319, "ts": "2026-09-05T17:00:25Z", "hours": 2.4547, "text": "Devlog - 3 In 2 hours I have worked on quite a few different things. Starting it off with a problem mentioned in the last devlog which was having the latitude and longitude of satellites matching that with the earth’s lat and lon. I have fixed that problem and it was quite a silly one because It the API which had me blocked for a temporary basis because I have requested a lot in a few amount of time. So, it was just no responding to the request and that is why the satellites where not appearing and stayed in the middle. Second I added a sliding panel for the satellite information in which I encountered a problem where I was using Raycaster and it detected every click rather than a specific satellite click so then I again did like trial and error process and got it to work at the end. Also created a new data folder so that the data for satellites stays separated from the main code. Next up I will be loading more of the satellites into the project. Thank you and stay tuned."}, {"post_id": 61758, "ts": "2026-09-04T20:18:27Z", "hours": 2.3228, "text": "Devlog - 2 Ok guys I have spent the time mostly getting the API working and gathering the TLE data which just means two line element data. I am currently getting data from CelesTrak and it is going quite good. I have also gotten the marker for the ISS on the globe. The part I am struggling with currently is the fact to sync the coordinates of the satellite with the earth and with the mouse movement. Currently I am trying many different things out like stopping the earth rotation and changing the camera location rather than the actual earth, just like trial and error. I have still not found a way to get this thing to work but I am continuing the trial and error process and will update about it in the next devlog. Thank you and stay tuned! Plus sorry for late devlog as I can’t really focus on coding much as the school has started and all."}, {"post_id": 59851, "ts": "2026-09-01T20:32:28Z", "hours": 1.4969, "text": "Devlog - 1 Thank you so for the support for SkyTrace . That project got great votes and helped me get closer to my goal for an A1 Mini 3D Printer . After seeing the success of SkyTrace, I have decided to make OrbitTrace. SkyTrace = Aviation enthusiast whereas OrbitTrace = Space enthusiast . Progress For the progress I worked on making a globe, make it rotate, follow the direction of the and I have added stars. This process for me was fairly quick because I have previously made a globe for 3d flight tracking but let just say it didn’t go well. But I am back to making globes. Currently, I have planned to make it a satellite tracker but as usual it is not going to be that simple. I am going to add more unique features to as I did to SkyTrace. It might take me longer to post devlogs because now I have to manage studies and coding which is getting a bit harder, but I will ship this project. Thank you & stay tuned!"}]...
|
Title: OrbitTrace by @Jhenil | Stardance
Devlogs: Title: OrbitTrace by @Jhenil | Stardance
Devlogs:
Devlog - 1 Thank you so for the support for SkyTrace . That project got great votes and helped me get closer to my goal for an A1 Mini 3D Printer . After seeing the success of SkyTrace, I have decided to make OrbitTrace. SkyTrace = Aviation enthusiast whereas OrbitTrace = Space enthusiast . Progress For the progress I worked on making a globe, make it rotate, follow the direction of the and I have added stars. This process for me was fairly quick because I have previously made a globe for 3d flight tracking but let just say it didn’t go well. But I am back to making globes. Currently, I have planned to make it a satellite tracker but as usual it is not going to be that simple. I am going to add more unique features to as I did to SkyTrace. It might take me longer to post devlogs because now I have to manage studies and coding which is getting a bit harder, but I will ship this project. Thank you & stay tuned!
Devlog - 2 Ok guys I have spent the time mostly getting the API working and gathering the TLE data which just means two line element data. I am currently getting data from CelesTrak and it is going quite good. I have also gotten the marker for the ISS on the globe. The part I am struggling with currently is the fact to sync the coordinates of the satellite with the earth and with the mouse movement. Currently I am trying many different things out like stopping the earth rotation and changing the camera location rather than the actual earth, just like trial and error. I have still not found a way to get this thing to work but I am continuing the trial and error process and will update about it in the next devlog. Thank you and stay tuned! Plus sorry for late devlog as I can’t really focus on coding much as the school has started and all.
Devlog - 3 In 2 hours I have worked on quite a few different things. Starting it off with a problem mentioned in the last devlog which was having the latitude and longitude of satellites matching that with the earth’s lat and lon. I have fixed that problem and it was quite a silly one because It the API which had me blocked for a temporary basis because I have requested a lot in a few amount of time. So, it was just no responding to the request and that is why the satellites where not appearing and stayed in the middle. Second I added a sliding panel for the satellite information in which I encountered a problem where I was using Raycaster and it detected every click rather than a specific satellite click so then I again did like trial and error process and got it to work at the end. Also created a new data folder so that the data for satellites stays separated from the main code. Next up I will be loading more of the satellites into the project. Thank you and stay tuned.
Devlog - 4 Right now it is being a bit too much of a trial and error debugging for me. I did manage to get all the satellites being added on the earth textured globe. There are around 16,000 satellites. I have separate code which asks the API for the data and then that data gets parsed and then it converts it to TLE and which is then used in the main code to make those markers. Then I added search feature and while making that search feature I noticed that still the syncing of the latitude & longitude of the textured earth and the satellites is still a big problem. I can’t get it too sync with each other . I will be continuing to debug and lets see what happens. Thank you & stay tuned!
Devlog - 5 Finally Finally . I have overcome the problem of syncing the latitude and longitude of the Earth and the satellites. So the main problem was, I used a tutorial to build the earth in 3D so what happened the Earth’s longitude at zero was -90 so because of that the calculations were being correct but the marker was being placed at a wrong latitude. Before I didn’t knew about that so I tried changing the math but that was correct and then when I figured out that is was at a wrong longitude, it was a simple fix as I just added +90 . Then I encountered another problem which was after a search the zoom controls and the drag controls for the earth became sketchy . That was because I was using a normal zoom function before but for zooming in on a satellite after the search it switched to x, y, z coordinate system and after just for normal zoom it tried to switch back to normal but couldn’t and that is why it became sketchy but I fixed that as well. Then I started to add features in. I have added satellite’s porjected path and completed path in now. You can see that in the video below. This was just like debugging. Thank you and stay tuned!
Devlog - 6 Ok guys, I think this was the hardest part of the project till now. I was trying to get the day/night version so it replicates the real earth. I this whole time figuring it out. Firstly I start up with math to actually figure out like astronomical values for the shader and to figure out where the Sun will be at what point of time but it didn’t work out but then I went to online libraries which let’s say also didn’t work as I could understand how to use it properly. I made so many changes through out this almost three hours but at the end I made a version where it sees users local time and adjusts the earth whether it will be day time or night time. Thank you and stay tuned!
Devlog - 7 I am happy to announce that OrbitTrace is complete . My own 3D satellite tracker is complete. For the last 2 hours I have focused on features which are Ground Track & Replay . Let’s start with Ground Track. The satellite on the model let’s us know that where the satellite is and the projected paths are just circles you may say. But Ground Track let’s you know the satellite is traveling relative to Earth. Like it travels in weird patterns around the Earth. The replay as you may guess is the where you can time travel. You can go behind in time for about 90 minutes to see where the satellite was. It increments per minute so it doesn’t take full 90 minutes to replay. Thank you for all the support. Goal As I have mentioned earlier this is my last project before and my last hope for A1 Mini 3D printer as it is getting hard to manage school and coding at the same time but I will try my best to work on more projects. I need around 200 more stardust and I think this project has the potential to achieve that. Thank everyone once again!
Devlog - 8 I have never been this frustrated to deploy a website. When I went to deploy the website, it kept giving me errors and errors. The main fault was that Vite 8 used a rolldown to bundle dependencies. It couldn’t bundle my satellite.js as it used js and WASM. Then I tried many times to make the code forcefully use the JS version but it just didn’t work. Then I searched up and saw that Vite 8 causes this and if I downgrade to Vite 7 then it will work then I did that and finally the deployment was turned from errors to success message and now the site is finally live. I will be shipping this project soon. Thank you for the support once again!
Ships:
What Is It? I have made a 3D Earth Satellite Tracker. If you can explore and get live information about the satellites. It uses an API link which gives the code the data which it needs to go through a custom made equation and does calculations to update the satellite’s location accurately and create a projected path for it. The globe is custom made with THREE.js and Vite. Features 3D Earth Real Satellite Positions using Satellite.js Search Feature Select Satellites Camera zoom Predicted and completed orbital path Ground Track Satellite Position Replay Information Panel Loading Screen Unique Features The ground track feature is I think the best one because we all know that satellite’s orbit around Earth in circles but it looks different when you see it relative to the Earth. The satellites have weird wavy or boxy type paths if seen on the Earth’s surface. Another great feature is replay which can give you replay for the last 90 minutes. It will not be a full 90 minutes, it increments by 1 minute which makes the process of replay faster and you don’t have to sit there for 90 minutes or for the amount of time you have selected. Goal I have mentioned this a lot but I am really close to my goal for an A1 Mini 3D Printer. If you guys leave me great reviews about the project then I will be set for my goal. Thank you in advance to any one who has supported me or has rated my project....
|
1793004919.326967
|
1793091319.326967
|
|
23703
|
Corranzo by @joedesmos | Stardance
|
joedesmos
|
2
|
351.61
|
326
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T18:08:59Z", "hours": 19.0, "multiplier": 16.55, "payout": 217, "blessing": "neutral", "text": "NEW FEATURES ADDED - Added OMR so that you can just upload a pdf and it will automatically made the midi and mxl/xml file for you! This saves lots of time and allows you to just upload any sheet music you want without the worries of extra steps. Also added a tutorial of how to use the app as well as simplified some the the UI. Lastly, overall just improved the user experience and made things easier to use as well as fixed some bugs. This is Ship #2 as the first ship was more of an MVP while this is a working product now. Website: Corranzo.com", "repo": "https://github.com/joedesmos-co/Corranzo", "demo": "https://corranzo.com"}, {"ship_num": 2, "ts": "2026-06-24T16:42:18Z", "hours": 7.0, "multiplier": 15.92, "payout": 109, "blessing": "neutral", "text": "I made a music app called Corranzo. You can import YOUR OWN sheet music which you can annotate on. This all saves locally to the browser so you can comeback anytime. But, what makes Corranzo be different and stand out is its wait for you mode. You can plug in a midi keyboard or just use the mic on your laptop, phone, etc. and it will help you to learn the piece you want to learn by waiting for you to play the next note(s) in the piece. To activate this you need to upload the sheet music, the mxl/xml, and a midi file of the piece. Along with this, there is also playback mode where you can hear and see your piece in action. Thank you for testing my project!!", "repo": "https://github.com/joedesmos-co/Corranzo", "demo": "https://corranzo.com"}]...
|
[{"post_id": 82280, "ts": "202 [{"post_id": 82280, "ts": "2026-10-24T13:28:34Z", "hours": 14.1422, "text": "lowk tryna make the guitar omr better cuz its really bad right now its goin well."}, {"post_id": 80805, "ts": "2026-10-18T20:43:23Z", "hours": 48.3214, "text": "working on fixing bugs"}, {"post_id": 78523, "ts": "2026-10-11T02:44:14Z", "hours": 12.3525, "text": "continued to work on a NEW FEATURE super super cool i will talk all about it in the next log. the pictures are kinda boring my bad. idk what else to put"}, {"post_id": 78154, "ts": "2026-10-09T20:12:04Z", "hours": 22.7408, "text": "more behind the scenes stuff. wait for you mode was kinda messed up so fixing that"}, {"post_id": 77556, "ts": "2026-10-07T12:58:16Z", "hours": 23.2825, "text": "new ui fixes and other behind the scenes stuff"}, {"post_id": 75015, "ts": "2026-09-28T21:16:51Z", "hours": 9.2719, "text": "New ui finally done after forever"}, {"post_id": 72161, "ts": "2026-09-22T10:50:41Z", "hours": 20.0517, "text": "More UI stuff and just waiting for the ai to finish training it takes a while"}, {"post_id": 69374, "ts": "2026-09-16T22:31:30Z", "hours": 49.67, "text": "I have been training the ai for 50 hours. it is still not done. I think I need to optimize this thing more lol also working on ui updates and making it look nice while the ai is cooking :)"}, {"post_id": 63373, "ts": "2026-09-07T04:59:38Z", "hours": 9.6072, "text": "Training the AI on 50 ish thousand different scores. Currently making a database of all the scores and turning them into training data then when it is done (soon as you can see in the pic) I will use the dataset to train the AI"}, {"post_id": 61041, "ts": "2026-09-03T19:04:35Z", "hours": 74.1122, "text": "It has been a while but I have been working a long time. So basically I have continued to work on omr and have also worked on some ui things. Omr has now gotta a full ai that looks at scores to generate the practice scene. Also, the visual practice area is now transformed to match the score exactly instead of guessing where the notes are."}, {"post_id": 36674, "ts": "2026-07-28T21:44:52Z", "hours": 10.7281, "text": "MAJOR OMR UPGRADES and a lot of bug fixes and also some ui / ux improvements and just made the app look a lil nicer. Also I realized that I never said what OMR was so basically OMR is short for optical music recognition. So in Corranzo you need to upload a pdf, midi file, and mxl / xml file. The mxl / xml file and midi allow the song to be heard and also the scorefollow and the wait for you mode to work. What OMR does is it allows you to just have a pdf and the OMR will recognize symbols, notation, measures, beats, etc. and make the mxl / xml and midi file for you so all you need is a pdf. It is very challenging to get right and a lot of times it is plain wrong so right now what ive just been doing for around 20 - 30 ish hours of this time is just improving the OMR because its kind of what makes this product real."}, {"post_id": 30319, "ts": "2026-07-17T19:33:59Z", "hours": 10.2422, "text": "I am working on improving OMR and Mic quality I have successfully improved mic quality for checking if you play the correct notes but OMR is proving to be very difficult."}, {"post_id": 24457, "ts": "2026-07-08T01:08:29Z", "hours": 3.2911, "text": "Improved Chord recognition and issues with playing more than 1 note at a time using mic detection."}, {"post_id": 23135, "ts": "2026-07-05T22:15:29Z", "hours": 0.8031, "text": "Added a practice library that includes some songs you can play."}, {"post_id": 23099, "ts": "2026-07-05T20:53:43Z", "hours": 16.9911, "text": "Added guitar to the app. So you can now practice guitar and also practice piano. Also added a visual practice mode now so you can see the notes closer up and it just makes it a lot easier to practice. Also improved the omr and the mic detection for wait for you mode."}, {"post_id": 20143, "ts": "2026-07-01T18:05:59Z", "hours": 15.6933, "text": "NEW FEATURES - Added OMR so that you can just upload a pdf and it will automatically made the midi and mxl/xml file for you! This saves lots of time and allows you to just upload any sheet music you want without the worries of extra steps. Also added a tutorial of how to use the app as well as simplified some the the UI. Lastly, overall just improved the user experience and made things easier to use as well as fixed some bugs. Website: Corranzo.com"}, {"post_id": 16346, "ts": "2026-06-26T16:23:32Z", "hours": 3.0986, "text": "Majorly updated the ui and also improved some of the engines and added a debug feature. Along with this your music if it is rotated or weridly shaped / moved it will auto rotate and fix itself."}, {"post_id": 15138, "ts": "2026-06-24T16:25:08Z", "hours": 6.8275, "text": "I released Corranzo v0.1 as it is now ready for public beta. I have been working on polishing the app and making sure that the score follow works well as before it was a little inaccurate. I would really appreciate people testing it and giving me feedback thank you! Website: https://corranzo.com"}]...
|
Title: Corranzo by @joedesmos | Stardance
Devlogs Title: Corranzo by @joedesmos | Stardance
Devlogs:
I released Corranzo v0.1 as it is now ready for public beta. I have been working on polishing the app and making sure that the score follow works well as before it was a little inaccurate. I would really appreciate people testing it and giving me feedback thank you! Website: https://corranzo.com
Majorly updated the ui and also improved some of the engines and added a debug feature. Along with this your music if it is rotated or weridly shaped / moved it will auto rotate and fix itself.
NEW FEATURES - Added OMR so that you can just upload a pdf and it will automatically made the midi and mxl/xml file for you! This saves lots of time and allows you to just upload any sheet music you want without the worries of extra steps. Also added a tutorial of how to use the app as well as simplified some the the UI. Lastly, overall just improved the user experience and made things easier to use as well as fixed some bugs. Website: Corranzo.com
Added guitar to the app. So you can now practice guitar and also practice piano. Also added a visual practice mode now so you can see the notes closer up and it just makes it a lot easier to practice. Also improved the omr and the mic detection for wait for you mode.
Added a practice library that includes some songs you can play.
Improved Chord recognition and issues with playing more than 1 note at a time using mic detection.
I am working on improving OMR and Mic quality I have successfully improved mic quality for checking if you play the correct notes but OMR is proving to be very difficult.
MAJOR OMR UPGRADES and a lot of bug fixes and also some ui / ux improvements and just made the app look a lil nicer. Also I realized that I never said what OMR was so basically OMR is short for optical music recognition. So in Corranzo you need to upload a pdf, midi file, and mxl / xml file. The mxl / xml file and midi allow the song to be heard and also the scorefollow and the wait for you mode to work. What OMR does is it allows you to just have a pdf and the OMR will recognize symbols, notation, measures, beats, etc. and make the mxl / xml and midi file for you so all you need is a pdf. It is very challenging to get right and a lot of times it is plain wrong so right now what ive just been doing for around 20 - 30 ish hours of this time is just improving the OMR because its kind of what makes this product real.
It has been a while but I have been working a long time. So basically I have continued to work on omr and have also worked on some ui things. Omr has now gotta a full ai that looks at scores to generate the practice scene. Also, the visual practice area is now transformed to match the score exactly instead of guessing where the notes are.
Training the AI on 50 ish thousand different scores. Currently making a database of all the scores and turning them into training data then when it is done (soon as you can see in the pic) I will use the dataset to train the AI
I have been training the ai for 50 hours. it is still not done. I think I need to optimize this thing more lol also working on ui updates and making it look nice while the ai is cooking :)
More UI stuff and just waiting for the ai to finish training it takes a while
New ui finally done after forever
new ui fixes and other behind the scenes stuff
more behind the scenes stuff. wait for you mode was kinda messed up so fixing that
continued to work on a NEW FEATURE super super cool i will talk all about it in the next log. the pictures are kinda boring my bad. idk what else to put
working on fixing bugs
lowk tryna make the guitar omr better cuz its really bad right now its goin well.
Ships:
I made a music app called Corranzo. You can import YOUR OWN sheet music which you can annotate on. This all saves locally to the browser so you can comeback anytime. But, what makes Corranzo be different and stand out is its wait for you mode. You can plug in a midi keyboard or just use the mic on your laptop, phone, etc. and it will help you to learn the piece you want to learn by waiting for you to play the next note(s) in the piece. To activate this you need to upload the sheet music, the mxl/xml, and a midi file of the piece. Along with this, there is also playback mode where you can hear and see your piece in action. Thank you for testing my project!!
NEW FEATURES ADDED - Added OMR so that you can just upload a pdf and it will automatically made the midi and mxl/xml file for you! This saves lots of time and allows you to just upload any sheet music you want without the worries of extra steps. Also added a tutorial of how to use the app as well as simplified some the the UI. Lastly, overall just improved the user experience and made things easier to use as well as fixed some bugs. This is Ship #2 as the first ship was more of an MVP while this is a working product now. Website: Corranzo.com...
|
1792961414.7618568
|
1793047814.7618568
|
|
280
|
Ks' Corner by @Ks | Stardance
|
Ks
|
2
|
37.14
|
325
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T22:34:46Z", "hours": 15.0, "multiplier": 12.18, "payout": 177, "blessing": "neutral", "text": "This website is still a work in progress, but am shipping right now for Playground [I don’t know how to add it to the mission though] (Note: Find Lavender though Games -> Lavender’s Home -> Lavender) I hated doing the phone version, couldn’t get patting for the phone in any single way, but it works well on PC, (hover the mouse and move it a bit) In this update you also have the main Math page, still working on the smaller pages, might have to bring up Manim or something soon for them, and added a calculator!", "repo": "https://github.com/Ks-Marbs/ks-corner", "demo": "https://ks-marbs.github.io/ks-corner/"}, {"ship_num": 2, "ts": "2026-06-29T19:55:54Z", "hours": 20.0, "multiplier": 7.33, "payout": 148, "blessing": "neutral", "text": "My first website attempt Honestly too lazy to learn HTML so made it in Godot ’o-o Any and all feedback is appreciated", "repo": "https://github.com/Ks-Marbs/ks-corner", "demo": "https://ks-marbs.github.io/ks-corner/"}]...
|
[{"post_id": 81479, "ts": "202 [{"post_id": 81479, "ts": "2026-10-21T12:45:22Z", "hours": 2.1442, "text": "Added small pages for all three of my [old] series Tweaked Lavender a bit too"}, {"post_id": 79180, "ts": "2026-10-12T22:28:17Z", "hours": 2.5675, "text": "Finished adding Lavender, And her game page! Will ship for now so it qualifyies for Playground but ill still finish the other pages 🪻"}, {"post_id": 77385, "ts": "2026-10-06T19:00:40Z", "hours": 2.8272, "text": "Added the Lavender’s home page, and just added… Lavender?"}, {"post_id": 76020, "ts": "2026-10-02T02:34:12Z", "hours": 2.265, "text": "Made pages for room sokoban and Unn Rhyhtm game, as well as bugfixed the calculator on phone, as it was coming too small for the screen"}, {"post_id": 73376, "ts": "2026-09-25T01:17:36Z", "hours": 2.6642, "text": "Oh hey, we actually did a calculator… [sort of, its just a fancy keyboard and parcing in godot but i’m too lazy to make a full calculator] No idea what to do next except writing… ‘– It’s so boooooorinng"}, {"post_id": 70148, "ts": "2026-09-18T15:41:53Z", "hours": 2.2397, "text": "Added the Math page! Planning on adding a calculator “page” later, and maybe adding more articles written by myself when i have time ;-;"}, {"post_id": 65673, "ts": "2026-09-10T23:44:19Z", "hours": 2.0031, "text": "Updated godot from 4.5 to 4.7 It broke the image sizing so i fixed it ( ’–)"}, {"post_id": 18596, "ts": "2026-06-29T19:41:44Z", "hours": 4.6339, "text": "Finished the website (mostly) I think its nice enough to ship :] Should update with photos and irl prizes when i’m more comfortable sharing my irl name but except that, it works Added a very nice BG and pictures and audios"}, {"post_id": 13493, "ts": "2026-06-22T02:49:40Z", "hours": 4.1911, "text": "Week 15 to 21 worked mostly on getting the site phone ready. also began developing some features/Easter eggs. I’m develoging through phone and it does not have the enter key to type \\n"}, {"post_id": 9607, "ts": "2026-06-16T00:23:39Z", "hours": 5.5392, "text": "Week: 8->14/6 I’m not home so I hope this goes in time for the weekly stickers T-T This week I worked mostly on phone adaptation, also looked how to make each of the pages actual pages, and made the start screen text! Also discovered that images can go directly on text so will use that to my advantage :]"}, {"post_id": 4360, "ts": "2026-06-07T17:32:43Z", "hours": 0.7628, "text": "Images are now working! plans for the future is making the site diferent for phone i.e. vertical"}, {"post_id": 3881, "ts": "2026-06-06T23:37:48Z", "hours": 0.6258, "text": "Am I wrong for doing exactly 30 minutes everyday just so I can get all da stickers? But yeah, somehow typing all this and making it work for more than 1 mini page took 35 minutes"}, {"post_id": 3220, "ts": "2026-06-06T01:33:03Z", "hours": 3.0619, "text": "So in these last few days: Updated the site to make it scalable Made it so text exists Figuring out how to add images that move with the text (Hackatime changed the name of the project so I didn’t devlog since I didn’t see it did, please don’t remove my stickers)"}, {"post_id": 1014, "ts": "2026-06-02T20:06:21Z", "hours": 0.8453, "text": "Began building the website in Godot, and am creating the github repo (before i forget) Figured out how to make the mouse do the thingy where it turns into a “you can click here” thingy (unable to screenshot that but most of y’all know it) Began searching for how to turn scenes into pages in Godot -> HTML"}, {"post_id": 496, "ts": "2026-06-01T23:38:07Z", "hours": 0.5667, "text": "Heyyyy🟡 idk why but i can only type the title? Anyway, began doing a sketch at canva for reference"}]...
|
Title: Ks' Corner by @Ks | Stardance
Devlogs: Title: Ks' Corner by @Ks | Stardance
Devlogs:
Heyyyy🟡 idk why but i can only type the title? Anyway, began doing a sketch at canva for reference
Began building the website in Godot, and am creating the github repo (before i forget) Figured out how to make the mouse do the thingy where it turns into a “you can click here” thingy (unable to screenshot that but most of y’all know it) Began searching for how to turn scenes into pages in Godot -> HTML
So in these last few days: Updated the site to make it scalable Made it so text exists Figuring out how to add images that move with the text (Hackatime changed the name of the project so I didn’t devlog since I didn’t see it did, please don’t remove my stickers)
Am I wrong for doing exactly 30 minutes everyday just so I can get all da stickers? But yeah, somehow typing all this and making it work for more than 1 mini page took 35 minutes
Images are now working! plans for the future is making the site diferent for phone i.e. vertical
Week: 8->14/6 I’m not home so I hope this goes in time for the weekly stickers T-T This week I worked mostly on phone adaptation, also looked how to make each of the pages actual pages, and made the start screen text! Also discovered that images can go directly on text so will use that to my advantage :]
Week 15 to 21 worked mostly on getting the site phone ready. also began developing some features/Easter eggs. I’m develoging through phone and it does not have the enter key to type \n
Finished the website (mostly) I think its nice enough to ship :] Should update with photos and irl prizes when i’m more comfortable sharing my irl name but except that, it works Added a very nice BG and pictures and audios
Updated godot from 4.5 to 4.7 It broke the image sizing so i fixed it ( ’–)
Added the Math page! Planning on adding a calculator “page” later, and maybe adding more articles written by myself when i have time ;-;
Oh hey, we actually did a calculator… [sort of, its just a fancy keyboard and parcing in godot but i’m too lazy to make a full calculator] No idea what to do next except writing… ‘– It’s so boooooorinng
Made pages for room sokoban and Unn Rhyhtm game, as well as bugfixed the calculator on phone, as it was coming too small for the screen
Added the Lavender’s home page, and just added… Lavender?
Finished adding Lavender, And her game page! Will ship for now so it qualifyies for Playground but ill still finish the other pages 🪻
Added small pages for all three of my [old] series Tweaked Lavender a bit too
Ships:
My first website attempt Honestly too lazy to learn HTML so made it in Godot ’o-o Any and all feedback is appreciated
This website is still a work in progress, but am shipping right now for Playground [I don’t know how to add it to the mission though] (Note: Find Lavender though Games -> Lavender’s Home -> Lavender) I hated doing the phone version, couldn’t get patting for the phone in any single way, but it works well on PC, (hover the mouse and move it a bit) In this update you also have the main Math page, still working on the smaller pages, might have to bring up Manim or something soon for them, and added a calculator!...
|
1792986713.0917718
|
1793073113.0917718
|
|
5061
|
Novara - Learning Website by @Cassetu | Stardance
|
Cassetu
|
3
|
68.14
|
325
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T03:00:54Z", "hours": 19.0, "multiplier": 12.44, "payout": 121, "blessing": "neutral", "text": "Novara v1.04.67 Novara is a free learning website, It has multiple courses with varying lesson types, so information is presented and tested in many ways. Our Goal: Build a library of curriculums so users can get the same learning opportunities of school, with more ways to learn than reading and note-taking, and at no cost to the users. (Verbatim from homepage) ##New Features from Previous Ship include: NEW UI: Earlier versions were apparently too “ai” so I created a new version that hopefully doesn’t look like ai. Since if people think that any part of the website is ai, the website in the whole is low quality rubbish, which Novara is NOT and will NOT allow itself to be. Inline css has been replaced with classes and seperate css files. Those css files are soon to be further seperated into smaller css files to make css navigation easier. Enhanced Privacy Policy: Now includes direct links allowing users to do self-study as well as a profit section. New Syllabus Flow: Now uses a sidebar with the section names and # of lessons. Clicking on the section opens up the lesson on the right side workspace. Mayor Bob: THE MASCOT TO GUIDE ALL!! He hopefully has more character. (I feel like hes better now but idk) Paced Mode!!!: Lessons lock until you reach the current day’s target, missing a day triggers a review quiz scaled to how long you were gone, and every 7 completed lessons triggers a module exam gate (80% to pass, locks further progress until you clear it). Because it matches the real school format of teaching, and i feel like the information will be better retained by ppl if its taught over several days instead of all being shoved down ur throught. AI Courses: ALL GONE!! Looking for proffesionals in single subjects to assist in new proper course creation. Ai work will never replace us!! URL Routing: You can share links and bookmark pages and since its all the same html file, it wouldn’t work, but now it does bc we have the “?=###” things that work now. ##Difficulties: Forever the bane of my existence, the typos an missing semicolons or braces. Also working through the css to ensure that the content is structured how i like it. Also did a fix where my previous thing would break if a course file was missing when the catalog json had it listed, now it just skips over it. The bonus question was fiting weirdly so i js removed it entirely. At some point i made the dialogue boxes have the typing animation, but i forgot about new lines and whitespaces also have to be considered in that logic, so at some point the dialogue would just trail off the end of the text box lol, without any spaces or new lines. Css bugs also. I js realized i also forgot to style the scrollbars, but ill work on that later. side note: i figured out how to sign my commits using a SHA encryption service so every commit will say “Verified” (ONLY REMAINS ONE AI COURSE THAT IS NOW PROPERLY ATTRIBUTED IN ITS DETAILS MENU, THE AI DISCLAIMER IS DISCONTINUED) README + More Details here: https://github.com/Cassetu/Novara#table-of-contents PRIVACY POLICY: https://cassetu.github.io/Novara/html/privacy.html TRY IT HERE!: https://cassetu.github.io/Novara/index.html (To access full content you must sign in/register, u can trust Novara, and if you don’t, read the Privacy Policy!)", "repo": "https://github.com/Cassetu/Novara", "demo": "https://github.com/Cassetu/Novara#website-usage"}, {"ship_num": 2, "ts": "2026-07-28T04:01:17Z", "hours": 11.0, "multiplier": 9.98, "payout": 105, "blessing": "neutral", "text": "Novara v1.03.97 Novara is a free learning website, It has multiple courses with varying lesson types, so information is presented and tested in many ways. New Features from Previous Ship include: Architecture Simulation: A new lesson type where the user can design an simple floor plan, complete with an accurate scale, rectangle tool, and eraser. Privacy Policy: Users can understand how their data is stored within Novara, and feel safer using the relativly unknown website. New Lesson Flow: Topbar no longer uses Opacity, and instead has a back button neatly placed at the top instead of the usual navigation buttons. Alerts: Almost all of the alerts have been moved to custom inline boxes to be more user intuitive and welcoming. I think i missed a few somewhere here and there tho. AI USAGE DISCLAIMER AI is used in the generation of our courses. We have not yet received assistance from subject-matter experts in developing our curricula. (I’m working on finding people, hopefully soon) To maintain quality, the AI is guided by strict instructions designed to reduce low-quality content (“slop lessons”) and encourage materials that engage students in critical thinking and active learning. Despite these safeguards, mistakes and errors may still occur. If you find an issue, please report it by emailing: [email protected] (Responses take 3-5 business days). Thank you for helping us improve. README + More Details here: https://github.com/Cassetu/Novara#table-of-contents PRIVACY POLICY: https://cassetu.github.io/Novara/html/privacy.html TRY IT HERE!: https://cassetu.github.io/Novara/index.html (To access full content you must sign in/register)", "repo": "https://github.com/Cassetu/Novara", "demo": "https://github.com/Cassetu/Novara#website-usage"}, {"ship_num": 3, "ts": "2026-06-18T15:21:19Z", "hours": 7.0, "multiplier": 14.37, "payout": 99, "blessing": "neutral", "text": "Novara v1.03.56 Novara is a free learning website, It has multiple courses with varying lesson types, so information is presented and tested in many ways. Features include: Focused Learning : Enrollment is limited to a maximum of 3 curriculums at a time to encourage focus and prevent overwhelm. Structured Content : Curriculums contain courses, and courses contain modular lessons. Knowledge Checks : Built-in quizzes to test your knowledge at the end of courses. Progress Tracking : Visual indicators to show completed lessons and remaining coursework. The main architecture is designed using HTML, CSS and JS. Designed to be modular, so adding another course/curriculum is easily done by writing one single json data file. AI USAGE DISCLAIMER AI is used in the generation of our courses. We have not yet received assistance from subject-matter experts in developing our curricula. To maintain quality, the AI is guided by strict instructions designed to reduce low-quality content (“slop lessons”) and encourage materials that engage students in critical thinking and active learning. Despite these safeguards, mistakes and errors may still occur. If you find an issue, please report it by emailing: [email protected] (Responses take 3-5 business days). Thank you for helping us improve. README + More Details here: https://github.com/Cassetu/Novara#table-of-contents TRY IT HERE!: https://cassetu.github.io/Novara/index.html (To access full content you must sign in/register)", "repo": "https://github.com/Cassetu/Novara", "demo": "https://github.com/Cassetu/Novara#website-usage"}]...
|
[{"post_id": 74744, "ts": "202 [{"post_id": 74744, "ts": "2026-09-28T03:47:35Z", "hours": 8.6992, "text": "v1.05.77 Site is becoming more usable!! Changes: Has a working branch vs a master branch, so in progress updates will not effect the current version on the web. made image label block logic cleared old logic for renderers did a whole lot of SEO things fix sw.js with real file paths (not the ancient ones) more styling in css node.js to automatically create html things for web crawlers ( auto-generate-curriculum-pages ) update homepage to look wayyy better fully rebuilt practice/exam system for block-based lessons logical fallicies notes lesson end screen with nature Problems Encountered: Incorrect formatting (always happens when u type fast) Bad css Difficult logic with complicated storage format (e.g., looking through .sections, .lessons, etc) check out the latest build: novaraedu.org"}, {"post_id": 70975, "ts": "2026-09-20T04:33:45Z", "hours": 7.0331, "text": "v1.05.26 Site is still somewhat unusable currently Changes: fixed getAllQuestionsForEntry build render functions for all the different block types: renderSubmitBlock , renderMultipleChoiceBLock , etc purged a few bugs yayy moved the workspace thing so it has a new sidebar and is familiar to the course syllabus view. did a whole buncha formatting troubleshooting bought a domain!!!! go to novaraedu.org . which means you can find it on search enginges now (i think)"}, {"post_id": 58235, "ts": "2026-08-30T16:19:55Z", "hours": 2.3939, "text": "v1.04.98 Site is still unusable currently *Continuing the data refactoring, I fixed some of the references in openSyllabus. I also completly removed the faulty references to isBundle() , i accidentaly messed up the case of loadIndex to LoadIndex but luckily a simple glance at the console pinpointed it for me :D (Thank god for descriptive error messages) Added the hackatime lapse links to the notes (since i want to use nice formatting without ai accusations i lowkey need to do that) Started doing notes on “The Science of Logical Reasoning specifically for: Jerome Bruner Theory of Cognitive Development.” Its for building good curriculums and proper teaching, they have this cool thing called a “spiral curriculum” that you should search up. (I’m also trying out a recording timelapse system, that should be better than lapse since lapse only takes like a picture every minute and stiches it together, this takes a picture every second and then compresses it) the video is only of v1.04.97 -> v1.04.98 editing portion Thanks for your support! :D"}, {"post_id": 51423, "ts": "2026-08-21T03:48:03Z", "hours": 3.8747, "text": "v1.04.91 Celebrating my 250th commit!! :D fully deleted the curriculum tool since its frustrating and too hard rn and i’m going to do it later after i do my data refactor removed the ai detector thing, the link still works for now, but I don’t think i want to use it because its too unreliable, and is too much of a project in its own right than a small tool I’m doing a major refactor of my data structure. Previously, my curriculum information all sat in one MASSIVE json. but now i have a complex folder network. Each curriculum will have an index.json file, so the catalog.json routes to the index.json that leads into the courses, then to the sections, and down to the individual lessons. Its kinda like a phonebook… i think. Every lesson will be its own json with its own list of “blocks” that are pieces that i can take apart or put together to make lessons unique! Kinda like its own mini programming language lol. Currently the site is unusable since the course.js isn’t fully complete to understand the new data structure. :P"}, {"post_id": 49323, "ts": "2026-08-18T02:26:42Z", "hours": 2.2892, "text": "v1.04.76 Taking a break from psychology notes to do some coding again. began working on a curriculum tool so educators can easily build em without having to work through the complicated json structure. its a bit hard since i want to export a zip, and im not entirely sure how that would work, and also i need to double check how my course.js processes the json so i can get exactly all the information to put into it. ai detector thing. examines github repositories and find all comments and flags exessive amounts, or exessive explanations in them (classic ai fingerprints) as well as flagging verbose function names and shows the time it would take to make the project at 70 wpm and detects inconsistencies in commit times (eg 1000 new code typed after 2 minutes of another commit that would be flagged) then gives a % of confidence. 0-30% is prob human, 30-50% is mixed unsure, 50-100% is definetly full ai. Before you accuse someone, make sure to do througouh like questioning and interviews and such because this tool is imperfect. This way i can easily identify projects that have disgenuine work and report them to stardance to take care of. ( https://cassetu.github.io/Novara/html/aisubTool.html ) I got gemini to help reformat the code since it was a bit of a mess, dw i had a full disclaimer. (ai vibe coders take notes.) It was a big challenge getting the github token to work, but it functions now and doesn’t steal your information!! :D also i ran my own project through it once, it was clear, and then i ran it again after commiting it, and now it thinks my project is ai, because the code scans for these specific traces, that are present in the code itself, meaning that if it scans itself, it will find everything its looking for. T - T (false positive in the first image) leave a comment to help! thx!"}, {"post_id": 47623, "ts": "2026-08-15T17:08:58Z", "hours": 2.7478, "text": "v1.04.74 EVEN MORE PSYCHOLOGY Covered more things for my next course: “Attachment, Love & Social Dynamics” John Bowlby’s Attachment Theory Internal Working Model (IWM) Adult Attachment Styles (Secure vs. Insecure) (Look at the image) Sternberg’s Triangular Theory of Love Social Exchange Theory (SET) Read the notes!: https://github.com/Cassetu/Novara/blob/master/journal/relationship/notesTheScienceOfRelationships.md#attachment-love--social-dynamics Timelapse: https://lapse.hackclub.com/timelapse/PppFJPZGUgEp https://lapse.hackclub.com/timelapse/YqlfYCCx08j7"}, {"post_id": 46561, "ts": "2026-08-13T21:40:14Z", "hours": 2.5925, "text": "v1.04.72 More psychology hooray Covered more things for my next course: “Stage Models & Communication” Knapp’s Relationship Model Social Penetration Theory Evolutionary Explanation for Physical Attractiveness Johari Window Uncertainty Reduction Theory (URT) Read the notes!: https://github.com/Cassetu/Novara/blob/master/journal/relationship/notesTheScienceOfRelationships.md#stage-models--communication Timelapse: https://lapse.hackclub.com/timelapse/1LwshB7x8AEr https://lapse.hackclub.com/timelapse/ir_E9ROtKHUr I can actually use nice formatting without getting ai accusations cuz i got timelapses lol"}, {"post_id": 45862, "ts": "2026-08-12T16:18:00Z", "hours": 1.5094, "text": "v1.04.69 Yes, i really am studying “The Science of Relationships” to create a curriculum on it. I researched on the Halo Effect, Mere Exposure Effect, Propinquity Effect, and Social Exchange Theory. These are for the first course in the curriculum: Human Attraction & Opportunity. Read the notes: https://github.com/Cassetu/Novara/blob/master/journal/relationship/notesTheScienceOfRelationships.md And Timelapse: https://lapse.hackclub.com/timelapse/cPdZpEF6u5YJ"}, {"post_id": 44035, "ts": "2026-08-09T15:21:36Z", "hours": 3.5253, "text": "v1.04.66 to v1.04.67 | 8-8-26 Moved the return button, description link, and progress bar into the syllabus sidebar instead of a separate meta block up top. Added a course description modal you can open from the sidebar. Reworked the syllabus layout to fill the viewport height properly, cleaned up border and shadow inconsistencies, and shrunk the details modal width. v1.04.65 | 8-8-26 Big CSS pass across course.css , landing.css , and style.css . Reworked the syllabus sidebar to include a course title, progress bar, and a dedicated test button styled with the accent color. v1.04.63 to v1.04.64 | 8-8-26 Removed the old Godot scene renderer, its CSS, and the leftover import in course.js . Not used anymore. (It was made with ai help) v1.04.62 | 8-7-26 Added a line to the landing page footer noting no generative AI was used in building the site. (just need to remove the last ai curriculum.) v1.04.61 | 8-6-26 Cleaned up mainpage CSS spacing and rewrote the landing copy. Turned the trust badge area into a short blurb on why Novara exists, moved the Hackatime badge inline with the time spent text, and added a dedicated trust button linking to the privacy page. Thanks for reading this! Have a good day yall!"}, {"post_id": 42986, "ts": "2026-08-08T00:16:05Z", "hours": 4.3114, "text": "v1.04.56 to v1.04.60 | 8-6-26 Rebuilt the public course catalog page and gave the about page its own CSS file instead of riding on landing styles, plus a new brand lockup (logo + NOVARA wordmark) in the nav headers across pages. Added a goals section to the about page. Added a “don’t trust us, go check yourself” section and a profit disclaimer to the privacy policy. Swapped “we” language for “I” across the README and privacy policy since it’s a solo project and someone got confused. Small homepage copy tweak too, swapped the trust blurb for a direction to the privacy policy and added a “Time Spent” label above the hackatime badge. v1.04.44 to v1.04.55 | 8-5-26 Kept moving inline styles into real CSS classes across course.js (loading states, lesson complete screens, onboarding highlight, dialogue boxes, 404 page). Pulled the privacy policy’s inline style block out into its own privacy.css file. Rebuilt the homepage hero into a two column layout with trust info on one side and quick action buttons on the other, replacing the old split image hero. Changed the footer message, revised the README copy, swapped a few README screenshots, and bumped the hackatime badge color. Now that the inline is gone, it will be easier to adjust the ui. v1.04.36 to v1.04.43 | 8-4-26 Kept clearing inline CSS out of course.js , this round hitting the explorer cards, syllabus sidebar, section buttons, and the course details modal. Added a null check so progress calculation doesn’t break when a course file is missing. Fixed a syntax typo (stray brace) in the syllabus section click handler. Removed the old Godot core AI generated course from the catalog. Added a small watermark comment to files generated by the theme tool, and created a dialog-btn-container class to clean up some remaining inline button styling. I also figured out how to sign my commits using a SHA encryption service so every commit will say “Verified”"}, {"post_id": 41050, "ts": "2026-08-05T00:21:07Z", "hours": 1.8708, "text": "I’ve been testing out some different ui’s, since yall keep saying mine is AI, which I’ll have you know, is not, its called modern. (i have screenshot of testing out an like windows 98 kinda retro ish ui idk what its called.) I do want to know this though, What does a NOT AI ui look like? If my project looks like AI, people will not be keen to trusting my courses, much less learning about them. If you have any ideas, PLEASE WRITE A COMMENT!! :D (Also on progress with Novara: v1.04.29, fix for course.js v1.04.30, adjust length for the standard practice since if you only do one lesson, and then try to do the practice, you’ll answer 30 questions about that one lesson, mostly repeating the same questions. v1.04.31, new mastery icon cuz i forgot to do it earlier v1.04.32, better cover progress with padlock v1.04.33, remove bonus questions, since they kinda fit weirdly and dont really help even if the science is behind it v1.04.33, give Mayor Bob more character cuz he sounds like a robot. v1.04.34, move style.css into css/style.css v1.04.35, new layout for lessons and sections view.)"}, {"post_id": 39205, "ts": "2026-08-02T00:29:05Z", "hours": 4.7878, "text": "v1.04.27 to v1.04.28 | 8-1-26 Merged the practice hub into one combined view across all enrolled curriculums instead of a separate card per course, so standard and survival practice now pull questions from everything you’re enrolled in at once. Added a countdown banner showing when paced mode lessons renew, and cleaned up the settings label wording twice. (cuz i didn’t like how it sounded) v1.04.24 to v1.04.26 | 8-1-26 Paced mode is now fully wired in. Lessons lock until you reach the current day’s target, missing a day triggers a review quiz scaled to how long you were gone, and every 7 completed lessons triggers a module exam gate (80% to pass, locks further progress until you clear it). Also fixed the dialogue box to support multiline text properly and fixed the onboarding highlight so it targets dropdown menus correctly instead of the wrong element. (check image to see how it failed lol) v1.04.19 to v1.04.23 | 8-1-26 Added the paced mode toggle itself (1 lesson a day). Onboarding got swapped from static tooltip cards over to the new dialogue box system, then the dialogue box was made to type itself out letter by letter instead of dumping all the text at once. Along the way: fixed onboarding skipping missing elements, handled rapid clicking through steps, fixed a broken const reference, and fixed reset behavior when onboarding reopens. v1.04.17 to v1.04.18 | 7-31-26 Deleted a pile of AI-generated lesson bundles that were just cluttering the catalog (architecture, conlang-mythology, html-mastery), keeping only a couple test lessons around. Added question pooling so a lesson can define a questionCount and pull a random shuffled slice instead of showing every question every time. v1.04.14 to v1.04.16 | 7-30-26 Rebuilt the about page into proper sectioned content instead of one big hero block, swapped in a new header image, fixed a dumb black border bug on the landing page from a leftover CSS class, and moved the difficulty badge over next to the details button. If you read all this, consider reposting so I can get more attention, thanks!! :D"}, {"post_id": 37956, "ts": "2026-07-31T00:31:16Z", "hours": 4.8406, "text": "v1.04.11 to v1.04.13 | 7-29-26 New course card layout with a proper title/kicker header block and reworked filter buttons, ditching the old boxed style for underline tabs cuz its more dense. Added an orange accent color filled progress bar for anything not enrolled yet. Added a dev time badge to the hero using Hackatime in the main thing. Ripped out the entire theme system, one look only now cuz its better. v1.04.09 to v1.04.10 | 7-29-26 Full hero section overhaul. New copy, new photo instead of the old doorway SVG, new grid layout instead of flexbox, added a soft noise texture to the landing background. (tryina copy like concrete) Fixed a wrong journal link pointing at the wrong repo path. v1.04.06 to v1.04.08 | 7-29-26 Pulled a markdown course entry out of the catalog for good, both the JSON data and the catalog listing. (its not good) Small dropdown structure fix in the topbar CSS. v1.04.04 to v1.04.05 | 7-29-26 Added a course details overlay with author, published/updated dates, and sources. Fixed a typo where the close button ID didn’t match, so the overlay wouldn’t close. (SLOPPY CODDEE FREE MEE FROM ITT AAAAAA) v1.04.03 | 7-29-26 Added URL routing for logged out users. Course catalog and sign in views now update the URL with pushState and respond correctly on refresh, instead of only working for logged in users. Same stuf. v1.03.98 to v1.04.02 | 7-28-26 Reorganized assets into an img subfolder and added minibit sprites. Built a reusable dialogue box component with a typewriter-style next button flow, wired it into the landing page as a mayor NPC introduction, then cleaned up its sizing and added a completion message. Updated INFO.txt to match the actual lesson type naming convention and added entries for architectureSim and cookingSim . Looking for coding profesionalls to help build a curriculum, email me or create an issue on my github!"}, {"post_id": 36128, "ts": "2026-07-28T00:34:46Z", "hours": 7.4111, "text": "Novara Devlog: Architecture Sim Notice, the sim is very sloppy and is most definetly gonna be subject to more additions later. v1.03.97 | 7-25-26 Reworked drawDimension so tick marks always offset perpendicular to the wall, instead of one shared calc for both axes. Room labels now use two separate font scales instead of one. (definetly subject to change) Started tracking a global bounding box so each room draws its own outer footprint dimensions, not just per wall. v1.03.96 | 7-9-26 Added a Rectangle tool (R key) next to the draw tool, so you can drag out four walls at once. Split drawMeasuredLine into drawWall (just the line) and drawDimension (offset line, ticks, label). Added a live HUD showing length and angle in draw mode, or width and height in rect mode, while dragging. v1.03.95 | 7-8-26 Built a real toolbar with pen and eraser buttons with my new assets. Eraser uses point to line distance to find and remove walls. Added a confirm modal before doing the full clearing canvas, and replaced the old gradient fade label background with a plain rect. v1.03.90 to v1.03.94 | 7-7-26 Rewrote room detection as extractRooms using a proper planar graph traversal: build an adjacency list, sort each node’s neighbors by angle, then walk faces with the right hand rule to pull out every enclosed room as its own polygon. This finally supports multiple separate rooms on one canvas. Also fixed a null vs empty array bug, scaled room labels by area, reorganized brand assets, and added eraser, house, and trash icons. (from: https://game-icons.net ) v1.03.87 to v1.03.89 | 7-5-26 First pass at room detection using an adjacency graph, assuming a single closed loop. Fixed several bugs in the adjacency keys and neighbor tracking, added shoelace formula area calculation, and split wall segments at T-intersections so room boundaries follow them correctly. (everything boils down to math and calculations) v1.03.84 to v1.03.86 | 7-3-26 to 7-4-26 Pulled measurement drawing into its own function so every wall, not just the active drag, shows its length. (very crucial) Bumped the grid scale for easier snapping and more detail when i later add features such as chairs and tables that you can drag in. Added a gradient fade behind dimension labels, then small tick marks at each wall end. (visual aids) v1.03.82 to v1.03.83 | 7-1-26 to 7-2-26 Wired the sim into the real course system. added a lesson entry so i can properly test it now, imported the renderer into course.js , and fixed leftover syntax typos. (my work has been a bit sloppy recently) Built the actual studio layout with a brief panel and drafting canvas, then added the mouse listeners for drawing walls, with Shift locking to cardinal directions for more percise drawing. v1.03.79 to v1.03.81 | 6-30-26 Scaffolded the drafting canvas: pixels to feet scale, snap to grid, and the first working render loop with simple grid and stuf. Fixed a small topbar CSS bug where button heights jumped on hover. If you read all this, thanks :D"}, {"post_id": 17391, "ts": "2026-06-28T04:45:21Z", "hours": 1.51, "text": "v1.03.78 | 6-27-26 Refactored how navigation flows when a user enters an active lesson block. Previously, I had the topbar fade down to opacity: 0.5 via a body class state, and a separate, clunky #lesson-back-btn floating fixed at the top-left of the viewport. It wasn’t great, and I thought i could do way better. So instead i cleaned it up, removed the fade, and pretty much “hijacked” the main elements. The standard topbar elements were set to display:none; with the user profile button getting set to half opacity and non-clickable. changed existing #nav-explorer slot by transforming its text to ← Return and changing its weight. also changed the if (!confirm()) basic alert for my better error alert box. duplicated the old alert box and made another for this one, fit with a cancel button and all. The main obstacle was handling the application’s default click-routing initialization handlers. Simply changing the .onclick property didn’t work because hidden layout listeners attached via .addEventListener() were catching the event bubbles and dumping the user back to the main curriculum selector immediately anyway. (because remember were hijacking the explore btn) Fixed it by utilizing Event Capturing: topNavBtn.addEventListener(\"click\", window.activeTopbarGate, true); by passing true, the browser catches the user’s click at the absolute top of the DOM tree before the default routers can see it. Inside the wrapper, i ran e.stopPropagation() to stalls the execution chain while the custom gate logic processes. standard browser alerts freeze javascript synchronously, but custom DOM boxes are asynchronous so a normal return gate wouldn’t cut it. i solved it by wrapping all my navigation cleanup loops inside a functional callback and passing it straight into the dialog box. hit OK, the callback fires and drops you out of the lesson; hit cancel, it just clears the overlay div out of the DOM tree so you can keep working. its like weaving a thread in a spiderweb (T - T) also wut u guys feel about the better formatting lemme know, i don’t want it to sound like i just copy pasted chatgpt but i want to explain it better so im a bit conflicted"}, {"post_id": 12602, "ts": "2026-06-20T16:18:52Z", "hours": 1.6108, "text": "v1.03.65 | 6-20-26 Refactored URL routing logic so it sits in one function routeFromURL making it easier to reuse. Before I just had the code duplicated in two places as a quick implementation, and also the back/forward buttons didn’t do anything because there wasn’t a popstate listener yet. Now i have window.addEventListener(\"popstate\", routeFromURL) to fix that issue. Added a Privacy Policy page matching the Journal Layout, now users can trust Novara (little more than before at least) to keep their information safe when they sign in. Started a test cooking curriculum, using the cookingSim and HeatControl additions. Also added an Abstract0, Abstract1, Abstract2 assets to be used later. Abstract2 already implemented into an 404 page and the practice panel when the user isn’t enrolled in any curriculums. fetchCourseData now wraps its fetch in a try/catch and calls show404() on failure."}, {"post_id": 10280, "ts": "2026-06-16T22:26:00Z", "hours": 2.0617, "text": "v1.03.55 | 6-16-26 I added a new lesson type, “cookingSim”, it currently only has one simulation “heatControl”. Its a simple minigame for monitoring heat. Later I will have several cooking simulations, and use them in a cooking curriculum. The reason for creating special simulations, is because cooking is a visual and hands on thing, you can’t learn to cook by simply reading and answering questions about it. I’m also working on wiring together a way for the url to reflect the current view, that way you can bookmark specific courses or share specific curriculums. The main focus of it is: history.pushState() and window.addEventListener(\"popstate\") . Another important part is this: const params = new URLSearchParams(window.location.search); const view = params.get(“view”); const id = params.get(“id”); so on page load, you can get the right viewport, eg: ?view=syllabus&id=js-course , would show \"syllabus\" and \"js-course\". Since its on page load the code is primarly residing in window.firebaseAuth.onAuthStateChanged since that part automatically signs in the user and skips over the authentication and homepage process if the user has signed in before."}, {"post_id": 8237, "ts": "2026-06-13T18:17:39Z", "hours": 2.1694, "text": "Added a custom theme tool, automatically generates the code so users can easily build a unique & polished ui. Easy access in topbar for signed in users and non-signed in users. Test it out here: https://cassetu.github.io/Novara/html/themeTool.html (STOP CONSOLTING AI FOR THEMES: Too generic Awful “Extreme Glassy Gloss” style Always weirdly rounded corners )"}, {"post_id": 7187, "ts": "2026-06-12T00:15:17Z", "hours": 0.3694, "text": "fixed some bugs as the focus for today (v1.03.37) error overlays were stacking in the DOM, so i made a showError() function instead of copy pasting the same code everywhere also fixed activeCourseRef being stale after practice sessions, was sending users to the wrong place"}, {"post_id": 6562, "ts": "2026-06-11T00:48:52Z", "hours": 1.0597, "text": "Onboarding, 4 cards, teaches user to enroll in curriculums, and navigate the topbar"}, {"post_id": 5754, "ts": "2026-06-09T17:33:47Z", "hours": 0.5056, "text": "Added README.md (And related images) https://github.com/Cassetu/Novara/blob/master/README.md"}, {"post_id": 5716, "ts": "2026-06-09T16:44:04Z", "hours": 0.7136, "text": "Novara is actually a project of mine that I’ve been working on for a while. (Since May 6th) I just got back into it and added an inline alert box, since the native alert box is shown to be less intuitive and more hostile to users. Most Devlogs here will be some form of iteration of my onsite Journal, but more in depth, and more focused."}]...
|
Title: Novara - Learning Website by @Cassetu | Sta Title: Novara - Learning Website by @Cassetu | Stardance
Devlogs:
Novara is actually a project of mine that I’ve been working on for a while. (Since May 6th) I just got back into it and added an inline alert box, since the native alert box is shown to be less intuitive and more hostile to users. Most Devlogs here will be some form of iteration of my onsite Journal, but more in depth, and more focused.
Added README.md (And related images) https://github.com/Cassetu/Novara/blob/master/README.md
Onboarding, 4 cards, teaches user to enroll in curriculums, and navigate the topbar
fixed some bugs as the focus for today (v1.03.37) error overlays were stacking in the DOM, so i made a showError() function instead of copy pasting the same code everywhere also fixed activeCourseRef being stale after practice sessions, was sending users to the wrong place
Added a custom theme tool, automatically generates the code so users can easily build a unique & polished ui. Easy access in topbar for signed in users and non-signed in users. Test it out here: https://cassetu.github.io/Novara/html/themeTool.html (STOP CONSOLTING AI FOR THEMES: Too generic Awful “Extreme Glassy Gloss” style Always weirdly rounded corners )
v1.03.55 | 6-16-26 I added a new lesson type, “cookingSim”, it currently only has one simulation “heatControl”. Its a simple minigame for monitoring heat. Later I will have several cooking simulations, and use them in a cooking curriculum. The reason for creating special simulations, is because cooking is a visual and hands on thing, you can’t learn to cook by simply reading and answering questions about it. I’m also working on wiring together a way for the url to reflect the current view, that way you can bookmark specific courses or share specific curriculums. The main focus of it is: history.pushState() and window.addEventListener("popstate") . Another important part is this: const params = new URLSearchParams(window.location.search); const view = params.get(“view”); const id = params.get(“id”); so on page load, you can get the right viewport, eg: ?view=syllabus&id=js-course , would show "syllabus" and "js-course". Since its on page load the code is primarly residing in window.firebaseAuth.onAuthStateChanged since that part automatically signs in the user and skips over the authentication and homepage process if the user has signed in before.
v1.03.65 | 6-20-26 Refactored URL routing logic so it sits in one function routeFromURL making it easier to reuse. Before I just had the code duplicated in two places as a quick implementation, and also the back/forward buttons didn’t do anything because there wasn’t a popstate listener yet. Now i have window.addEventListener("popstate", routeFromURL) to fix that issue. Added a Privacy Policy page matching the Journal Layout, now users can trust Novara (little more than before at least) to keep their information safe when they sign in. Started a test cooking curriculum, using the cookingSim and HeatControl additions. Also added an Abstract0, Abstract1, Abstract2 assets to be used later. Abstract2 already implemented into an 404 page and the practice panel when the user isn’t enrolled in any curriculums. fetchCourseData now wraps its fetch in a try/catch and calls show404() on failure.
v1.03.78 | 6-27-26 Refactored how navigation flows when a user enters an active lesson block. Previously, I had the topbar fade down to opacity: 0.5 via a body class state, and a separate, clunky #lesson-back-btn floating fixed at the top-left of the viewport. It wasn’t great, and I thought i could do way better. So instead i cleaned it up, removed the fade, and pretty much “hijacked” the main elements. The standard topbar elements were set to display:none; with the user profile button getting set to half opacity and non-clickable. changed existing #nav-explorer slot by transforming its text to ← Return and changing its weight. also changed the if (!confirm()) basic alert for my better error alert box. duplicated the old alert box and made another for this one, fit with a cancel button and all. The main obstacle was handling the application’s default click-routing initialization handlers. Simply changing the .onclick property didn’t work because hidden layout listeners attached via .addEventListener() were catching the event bubbles and dumping the user back to the main curriculum selector immediately anyway. (because remember were hijacking the explore btn) Fixed it by utilizing Event Capturing: topNavBtn.addEventListener("click", window.activeTopbarGate, true); by passing true, the browser catches the user’s click at the absolute top of the DOM tree before the default routers can see it. Inside the wrapper, i ran e.stopPropagation() to stalls the execution chain while the custom gate logic processes. standard browser alerts freeze javascript synchronously, but custom DOM boxes are asynchronous so a normal return gate wouldn’t cut it. i solved it by wrapping all my navigation cleanup loops inside a functional callback and passing it straight into the dialog box. hit OK, the callback fires and drops you out of the lesson; hit cancel, it just clears the overlay div out of the DOM tree so you can keep working. its like weaving a thread in a spiderweb (T - T) also wut u guys feel about the better formatting lemme know, i don’t want it to sound like i just copy pasted chatgpt but i want to explain it better so im a bit conflicted
Novara Devlog: Architecture Sim Notice, the sim is very sloppy and is most definetly gonna be subject to more additions later. v1.03.97 | 7-25-26 Reworked drawDimension so tick marks always offset perpendicular to the wall, instead of one shared calc for both axes. Room labels now use two separate font scales instead of one. (definetly subject to change) Started tracking a global bounding box so each room draws its own outer footprint dimensions, not just per wall. v1.03.96 | 7-9-26 Added a Rectangle tool (R key) next to the draw tool, so you can drag out four walls at once. Split drawMeasuredLine into drawWall (just the line) and drawDimension (offset line, ticks, label). Added a live HUD showing length and angle in draw mode, or width and height in rect mode, while dragging. v1.03.95 | 7-8-26 Built a real toolbar with pen and eraser buttons with my new assets. Eraser uses point to line distance to find and remove walls. Added a confirm modal before doing the full clearing canvas, and replaced the old gradient fade label background with a plain rect. v1.03.90 to v1.03.94 | 7-7-26 Rewrote room detection as extractRooms using a proper planar graph traversal: build an adjacency list, sort each node’s neighbors by angle, then walk faces with the right hand rule to pull out every enclosed room as its own polygon. This finally supports multiple separate rooms on one canvas. Also fixed a null vs empty array bug, scaled room labels by area, reorganized brand assets, and added eraser, house, and trash icons. (from: https://game-icons.net ) v1.03.87 to v1.03.89 | 7-5-26 First pass at room detection using an adjacency graph, assuming a single closed loop. Fixed several bugs in the adjacency keys and neighbor tracking, added shoelace formula area calculation, and split wall segments at T-intersections so room boundaries follow them correctly. (everything boils down to math and calculations) v1.03.84 to v1.03.86 | 7-3-26 to 7-4-26 Pulled measurement drawing into its own function so every wall, not just the active drag, shows its length. (very crucial) Bumped the grid scale for easier snapping and more detail when i later add features such as chairs and tables that you can drag in. Added a gradient fade behind dimension labels, then small tick marks at each wall end. (visual aids) v1.03.82 to v1.03.83 | 7-1-26 to 7-2-26 Wired the sim into the real course system. added a lesson entry so i can properly test it now, imported the renderer into course.js , and fixed leftover syntax typos. (my work has been a bit sloppy recently) Built the actual studio layout with a brief panel and drafting canvas, then added the mouse listeners for drawing walls, with Shift locking to cardinal directions for more percise drawing. v1.03.79 to v1.03.81 | 6-30-26 Scaffolded the drafting canvas: pixels to feet scale, snap to grid, and the first working render loop with simple grid and stuf. Fixed a small topbar CSS bug where button heights jumped on hover. If you read all this, thanks :D
v1.04.11 to v1.04.13 | 7-29-26 New course card layout with a proper title/kicker header block and reworked filter buttons, ditching the old boxed style for underline tabs cuz its more dense. Added an orange accent color filled progress bar for anything not enrolled yet. Added a dev time badge to the hero using Hackatime in the main thing. Ripped out the entire theme system, one look only now cuz its better. v1.04.09 to v1.04.10 | 7-29-26 Full hero section overhaul. New copy, new photo instead of the old doorway SVG, new grid layout instead of flexbox, added a soft noise texture to the landing background. (tryina copy like concrete) Fixed a wrong journal link pointing at the wrong repo path. v1.04.06 to v1.04.08 | 7-29-26 Pulled a markdown course entry out of the catalog for good, both the JSON data and the catalog listing. (its not good) Small dropdown structure fix in the topbar CSS. v1.04.04 to v1.04.05 | 7-29-26 Added a course details overlay with author, published/updated dates, and sources. Fixed a typo where the close button ID didn’t match, so the overlay wouldn’t close. (SLOPPY CODDEE FREE MEE FROM ITT AAAAAA) v1.04.03 | 7-29-26 Added URL routing for logged out users. Course catalog and sign in views now update the URL with pushState and respond correctly on refresh, instead of only working for logged in users. Same stuf. v1.03.98 to v1.04.02 | 7-28-26 Reorganized assets into an img subfolder and added minibit sprites. Built a reusable dialogue box component with a typewriter-style next button flow, wired it into the landing page as a mayor NPC introduction, then cleaned up its sizing and added a completion message. Updated INFO.txt to match the actual lesson type naming convention and added entries for architectureSim and cookingSim . Looking for coding profesionalls to help build a curriculum, email me or create an issue on my github!
v1.04.27 to v1.04.28 | 8-1-26 Merged the practice hub into one combined view across all enrolled curriculums instead of a separate card per course, so standard and survival practice now pull questions from everything you’re enrolled in at once. Added a countdown banner showing when paced mode lessons renew, and cleaned up the settings label wording twice. (cuz i didn’t like how it sounded) v1.04.24 to v1.04.26 | 8-1-26 Paced mode is now fully wired in. Lessons lock until you reach the current day’s target, missing a day triggers a review quiz scaled to how long you were gone, and every 7 completed lessons triggers a module exam gate (80% to pass, locks further progress until you clear it). Also fixed the dialogue box to support multiline text properly and fixed the onboarding highlight so it targets dropdown menus correctly instead of the wrong element. (check image to see how it failed lol) v1.04.19 to v1.04.23 | 8-1-26 Added the paced mode toggle itself (1 lesson a day). Onboarding got swapped from static tooltip cards over to the new dialogue box system, then the dialogue box was made to type itself out letter by letter instead of dumping all the text at once. Along the way: fixed onboarding skipping missing elements, handled rapid clicking through steps, fixed a broken const reference, and fixed reset behavior when onboarding reopens. v1.04.17 to v1.04.18 | 7-31-26 Deleted a pile of AI-generated lesson bundles that were just cluttering the catalog (architecture, conlang-mythology, html-mastery), keeping only a couple test lessons around. Added question pooling so a lesson can define a questionCount and pull a random shuffled slice instead of showing every question every time. v1.04.14 to v1.04.16 | 7-30-26 Rebuilt the about page into proper sectioned content instead of one big hero block, swapped in a new header image, fixed a dumb black border bug on the landing page from a leftover CSS class, and moved the difficulty badge over next to the details button. If you read all this, consider reposting so I can get more attention, thanks!! :D
I’ve been testing out some different ui’s, since yall keep saying mine is AI, which I’ll have you know, is not, its called modern. (i have screenshot of testing out an like windows 98 kinda retro ish ui idk what its called.) I do want to know this though, What does a NOT AI ui look like? If my project looks like AI, people will not be keen to trusting my courses, much less learning about them. If you have any ideas, PLEASE WRITE A COMMENT!! :D (Also on progress with Novara: v1.04.29, fix for course.js v1.04.30, adjust length for the standard practice since if you only do one lesson, and then try to do the practice, you’ll answer 30 questions about that one lesson, mostly repeating the same questions. v1.04.31, new mastery icon cuz i forgot to do it earlier v1.04.32, better cover progress with padlock v1.04.33, remove bonus questions, since they kinda fit weirdly and dont really help even if the science is behind it v1.04.33, give Mayor Bob more character cuz he sounds like a robot. v1.04.34, move style.css into css/style.css v1.04.35, new layout for lessons and sections view.)
v1.04.56 to v1.04.60 | 8-6-26 Rebuilt the public course catalog page and gave the about page its own CSS file instead of riding on landing styles, plus a new brand lockup (logo + NOVARA wordmark) in the nav headers across pages. Added a goals section to the about page. Added a “don’t trust us, go check yourself” section and a profit disclaimer to the privacy policy. Swapped “we” language for “I” across the README and privacy policy since it’s a solo project and someone got confused. Small homepage copy tweak too, swapped the trust blurb for a direction to the privacy policy and added a “Time Spent” label above the hackatime badge. v1.04.44 to v1.04.55 | 8-5-26 Kept moving inline styles into real CSS classes across course.js (loading states, lesson complete screens, onboarding highlight, dialogue boxes, 404 page). Pulled the privacy policy’s inline style block out into its own privacy.css file. Rebuilt the homepage hero into a two column layout with trust info on one side and quick action buttons on the other, replacing the old split image hero. Changed the footer message, revised the README copy, swapped a few README screenshots, and bumped the hackatime badge color. Now that the inline is gone, it will be easier to adjust the ui. v1.04.36 to v1.04.43 | 8-4-26 Kept clearing inline CSS out of course.js , this round hitting the explorer cards, syllabus sidebar, section buttons, and the course details modal. Added a null check so progress calculation doesn’t break when a course file is missing. Fixed a syntax typo (stray brace) in the syllabus section click handler. Removed the old Godot core AI generated course from the catalog. Added a small watermark comment to files generated by the theme tool, and created a dialog-btn-container class to clean up some remaining inline button styling. I also figured out how to sign my commits using a SHA encryption service so every commit will say “Verified”
v1.04.66 to v1.04.67 | 8-8-26 Moved the return button, description link, and progress bar into the syllabus sidebar instead of a separate meta block up top. Added a course description modal you can open from the sidebar. Reworked the syllabus layout to fill the viewport height properly, cleaned up border and shadow inconsistencies, and shrunk the details modal width. v1.04.65 | 8-8-26 Big CSS pass across course.css , landing.css , and style.css . Reworked the syllabus sidebar to include a course title, progress bar, and a dedicated test button styled with the accent color. v1.04.63 to v1.04.64 | 8-8-26 Removed the old Godot scene renderer, its CSS, and the leftover import in course.js . Not used anymore. (It was made with ai help) v1.04.62 | 8-7-26 Added a line to the landing page footer noting no generative AI was used in building the site. (just need to remove the last ai curriculum.) v1.04.61 | 8-6-26 Cleaned up mainpage CSS spacing and rewrote the landing copy. Turned the trust badge area into a short blurb on why Novara exists, moved the Hackatime badge inline with the time spent text, and added a dedicated trust button linking to the privacy page. Thanks for reading this! Have a good day yall!
v1.04.69 Yes, i really am studying “The Science of Relationships” to create a curriculum on it. I researched on the Halo Effect, Mere Exposure Effect, Propinquity Effect, and Social Exchange Theory. These are for the first course in the curriculum: Human Attraction & Opportunity. Read the notes: https://github.com/Cassetu/Novara/blob/master/journal/relationship/notesTheScienceOfRelationships.md And Timelapse: https://lapse.hackclub.com/timelapse/cPdZpEF6u5YJ
v1.04.72 More psychology hooray Covered more things for my next course: “Stage Models & Communication” Knapp’s Relationship Model Social Penetration Theory Evolutionary Explanation for Physical Attractiveness Johari Window Uncertainty Reduction Theory (URT) Read the notes!: https://github.com/Cassetu/Novara/blob/master/journal/relationship/notesTheScienceOfRelationships.md#stage-models--communication Timelapse: https://lapse.hackclub.com/timelapse/1LwshB7x8AEr https://lapse.hackclub.com/timelapse/ir_E9ROtKHUr I can actually use nice formatting without getting ai accusations cuz i got timelapses lol
v1.04.74 EVEN MORE PSYCHOLOGY Covered more things for my next course: “Attachment, Love & Social Dynamics” John Bowlby’s Attachment Theory Internal Working Model (IWM) Adult Attachment Styles (Secure vs. Insecure) (Look at the image) Sternberg’s Triangular Theory of Love Social Exchange Theory (SET) Read the notes!: https://github.com/Cassetu/Novara/blob/master/journal/relationship/notesTheScienceOfRelationships.md#attachment-love--social-dynamics Timelapse: https://lapse.hackclub.com/timelapse/PppFJPZGUgEp https://lapse.hackclub.com/timelapse/YqlfYCCx08j7
v1.04.76 Taking a break from psychology notes to do some coding again. began working on a curriculum tool so educators can easily build em without having to work through the complicated json structure. its a bit hard since i want to export a zip, and im not entirely sure how that would work, and also i need to double check how my course.js processes the json so i can get exactly all the information to put into it. ai detector thing. examines github repositories and find all comments and flags exessive amounts, or exessive explanations in them (classic ai fingerprints) as well as flagging verbose function names and shows the time it would take to make the project at 70 wpm and detects inconsistencies in commit times (eg 1000 new code typed after 2 minutes of another commit that would be flagged) then gives a % of confidence. 0-30% is prob human, 30-50% is mixed unsure, 50-100% is definetly full ai. Before you accuse someone, make sure to do througouh like questioning and interviews and such because this tool is imperfect. This way i can easily identify projects that have disgenuine work and report them to stardance to take care of. ( https://cassetu.github.io/Novara/html/aisubTool.html ) I got gemini to help reformat the code since it was a bit of a mess, dw i had a full disclaimer. (ai vibe coders take notes.) It was a big challenge getting the github token to work, but it functions now and doesn’t steal your information!! :D also i ran my own project through it once, it was clear, and then i ran it again after commiting it, and now it thinks my project is ai, because the code scans for these specific traces, that are present in the code itself, meaning that if it scans itself, it will find everything its looking for. T - T (false positive in the first image) leave a comment to help! thx!
v1.04.91 Celebrating my 250th commit!! :D fully deleted the curriculum tool since its frustrating and too hard rn and i’m going to do it later after i do my data refactor removed the ai detector thing, the link still works for now, but I don’t think i want to use it because its too unreliable, and is too much of a project in its own right than a small tool I’m doing a major refactor of my data structure. Previously, my curriculum information all sat in one MASSIVE json. but now i have a complex folder network. Each curriculum will have an index.json file, so the catalog.json routes to the index.json that leads into the courses, then to the sections, and down to the individual lessons. Its kinda like a phonebook… i think. Every lesson will be its own json with its own list of “blocks” that are pieces that i can take apart or put together to make lessons unique! Kinda like its own mini programming language lol. Currently the site is unusable since the course.js isn’t fully complete to understand the new data structure. :P
v1.04.98 Site is still unusable currently *Continuing the data refactoring, I fixed some of the references in openSyllabus. I also completly removed the faulty references to isBundle() , i accidentaly messed up the case of loadIndex to LoadIndex but luckily a simple glance at the console pinpointed it for me :D (Thank god for descriptive error messages) Added the hackatime lapse links to the notes (since i want to use nice formatting without ai accusations i lowkey need to do that) Started doing notes on “The Science of Logical Reasoning specifically for: Jerome Bruner Theory of Cognitive Development.” Its for building good curriculums and proper teaching, they have this cool thing called a “spiral curriculum” that you should search up. (I’m also trying out a recording timelapse system, that should be better than lapse since lapse only takes like a picture every minute and stiches it together, this takes a picture every second and then compresses it) the video is only of v1.04.97 -> v1.04.98 editing portion Thanks for your support! :D
v1.05.26 Site is still somewhat unusable currently Changes: fixed getAllQuestionsForEntry build render functions for all the different block types: renderSubmitBlock , renderMultipleChoiceBLock , etc purged a few bugs yayy moved the workspace thing so it has a new sidebar and is familiar to the course syllabus view. did a whole buncha formatting troubleshooting bought a domain!!!! go to novaraedu.org . which means you can find it on search enginges now (i think)
v1.05.77 Site is becoming more usable!! Changes: Has a working branch vs a master branch, so in progress updates will not effect the current version on the web. made image label block logic cleared old logic for renderers did a whole lot of SEO things fix sw.js with real file paths (not the ancient ones) more styling in css node.js to automatically create html things for web crawlers ( auto-generate-curriculum-pages ) update homepage to look wayyy better fully rebuilt practice/exam system for block-based lessons logical fallicies notes lesson end screen with nature Problems Encountered: Incorrect formatting (always happens when u type fast) Bad css Difficult logic with complicated storage format (e.g., looking through .sections, .lessons, etc) check out the latest build: novaraedu.org
Ships:
Novara v1.03.56 Novara is a free learning website, It has multiple courses with varying lesson types, so information is presented and tested in many ways. Features include: Focused Learning : Enrollment is limited to a maximum of 3 curriculums at a time to encourage focus and prevent overwhelm. Structured Content : Curriculums contain courses, and courses contain modular lessons. Knowledge Checks : Built-in quizzes to test your knowledge at the end of courses. Progress Tracking : Visual indicators to show completed lessons and remaining coursework. The main architecture is designed using HTML, CSS and JS. Designed to be modular, so adding another course/curriculum is easily done by writing one single json data file. AI USAGE DISCLAIMER AI is used in the generation of our courses. We have not yet received assistance from subject-matter experts in developing our curricula. To maintain quality, the AI is guided by strict instructions designed to reduce low-quality content (“slop lessons”) and encourage materials that engage students in critical thinking and active learning. Despite these safeguards, mistakes and errors may still occur. If you find an issue, please report it by emailing: [email protected] (Responses take 3-5 business days). Thank you for helping us improve. README + More Details here: https://github.com/Cassetu/Novara#table-of-contents TRY IT HERE!: https://cassetu.github.io/Novara/index.html (To access full content you must sign in/register)
Novara v1.03.97 Novara is a free learning website, It has multiple courses with varying lesson types, so information is presented and tested in many ways. New Features from Previous Ship include: Architecture Simulation: A new lesson type where the user can design an simple floor plan, complete with an accurate scale, rectangle tool, and eraser. Privacy Policy: Users can understand how their data is stored within Novara, and feel safer using the relativly unknown website. New Lesson Flow: Topbar no longer uses Opacity, and instead has a back button neatly placed at the top instead of the usual navigation buttons. Alerts: Almost all of the alerts have been moved to custom inline boxes to be more user intuitive and welcoming. I think i missed a few somewhere here and there tho. AI USAGE DISCLAIMER AI is used in the generation of our courses. We have not yet received assistance from subject-matter experts in developing our curricula. (I’m working on finding people, hopefully soon) To maintain quality, the AI is guided by strict instructions designed to reduce low-quality content (“slop lessons”) and encourage materials that engage students in critical thinking and active learning. Despite these safeguards, mistakes and errors may still occur. If you find an issue, please report it by emailing: [email protected] (Responses take 3-5 business days). Thank you for helping us improve. README + More Details here: https://github.com/Cassetu/Novara#table-of-contents PRIVACY POLICY: https://cassetu.github.io/Novara/html/privacy.html TRY IT HERE!: https://cassetu.github.io/Novara/index.html (To access full content you must sign in/register)
Novara v1.04.67 Novara is a free learning website, It has multiple courses with varying lesson types, so information is presented and tested in many ways. Our Goal: Build a library of curriculums so users can get the same learning opportunities of school, with more ways to learn than reading and note-taking, and at no cost to the users. (Verbatim from homepage) ##New Features from Previous Ship include: NEW UI: Earlier versions were apparently too “ai” so I created a new version that hopefully doesn’t look like ai. Since if people think that any part of the website is ai, the website in the whole is low quality rubbish, which Novara is NOT and will NOT allow itself to be. Inline css has been replaced with classes and seperate css files. Those css files are soon to be further seperated into smaller css files to make css navigation easier. Enhanced Privacy Policy: Now includes direct links allowing users to do self-study as well as a profit section. New Syllabus Flow: Now uses a sidebar with the section names and # of lessons. Clicking on the section opens up the lesson on the right side workspace. Mayor Bob: THE MASCOT TO GUIDE ALL!! He hopefully has more character. (I feel like hes better now but idk) Paced Mode!!!: Lessons lock until you reach the current day’s target, missing a day triggers a review quiz scaled to how long you were gone, and every 7 completed lessons triggers a module exam gate (80% to pass, locks further progress until you clear it). Because it matches the real school format of teaching, and i feel like the information will be better retained by ppl if its taught over several days instead of all being shoved down ur throught. AI Courses: ALL GONE!! Looking for proffesionals in single subjects to assist in new proper course creation. Ai work will never replace us!! URL Routing: You can share links and bookmark pages and since its all the same html file, it wouldn’t work, but now it does bc we have the “?=###” things that work now. ##Difficulties: Forever the bane of my existence, the typos an missing semicolons or braces. Also working through the css to ensure that the content is structured how i like it. Also did a fix where my previous thing would break if a course file was missing when the catalog json had it listed, now it just skips over it. The bonus question was fiting weirdly so i js removed it entirely. At some point i made the dialogue boxes have the typing animation, but i forgot about new lines and whitespaces also have to be considered in that logic, so at some point the dialogue would just trail off the end of the text box lol, without any spaces or new lines. Css bugs also. I js realized i also forgot to style the scrollbars, but ill work on that later. side note: i figured out how to sign my commits using a SHA encryption service so every commit will say “Verified” (ONLY REMAINS ONE AI COURSE THAT IS NOW PROPERLY ATTRIBUTED IN ITS DETAILS MENU, THE AI DISCLAIMER IS DISCONTINUED) README + More Details here: https://github.com/Cassetu/Novara#table-of-contents PRIVACY POLICY: https://cassetu.github.io/Novara/html/privacy.html TRY IT HERE!: https://cassetu.github.io/Novara/index.html (To access full content you must sign in/register, u can trust Novara, and if you don’t, read the Privacy Policy!)...
|
1792979281.4003022
|
1793065681.4003022
|
|
20490
|
Phoenix - Web Game Framework by @openchanter | Sta Phoenix - Web Game Framework by @openchanter | Stardance...
|
openchanter
|
1
|
29.37
|
325
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-13T06:20:18Z", "hours": 25.0, "multiplier": 12.89, "payout": 325, "blessing": "neutral", "text": "I made Phoenix, a web-based game framework using TypeScript! It is designed to be easy to use and quick to make projects with. I used THREE.js for rendering and Planck.js for the physics engine. The features available in the engine vary from simple rendering components to rigidbodies, UI systems and particle systems! The engine also supports a proper scene hierarchy with objects being able to have children that inherit their translation and rotation. The most challenging part of this was just trying to iron out all of the small bugs that kept popping up in different areas of the engine while I was trying to add a new feature somewhere. Just a note about the demo though, it is meant to just show off the features of the engine, and the demo is not the product of this project but rather the actual engine and it’s API that can be used to make games! I also plan to make an actual game using this engine as my next project for Stardance!", "repo": "https://github.com/OpEnchanter/phoenix", "demo": "https://openchanter.github.io/phoenix"}]...
|
[{"post_id": 31045, "ts": "202 [{"post_id": 31045, "ts": "2026-07-19T03:58:27Z", "hours": 3.1128, "text": "Another devlog as I continue to work on my other project that uses this engine as a dependency. Since I’ve been actually using this engine for making something real, I’ve noticed that it has quite a few flaws that I didn’t catch earlier on in the creation process. For example, when the window resized on the Y axis, the scale of the content within the window would also scale. This actually ended up causing a big issue with my new project as I had to convert screen-space mouse coordinates to positions in the world for placing objects in the editor. Fixing this was pretty simple and I just swapped out the old render resolution for a render scalar that gets multiplied by the window resolution to calculate the render resolution. Over the time of creating my new project there have also been some other small issues with things such as the button hitboxes and the engine not having the ability to resize objects in real time that I have since fixed. For the real time object resizing issue though, it was especially annoying because I had to resize the THREE.js Mesh object directly using the .scale.set() method on it which cannot be simply supplied with the size in pixels you want the object to be and is separate from the size of the geometry. To solve this I had to calculate how much I would have to multiply the scale of the geometry by to get the new scale. This ends up being the math equation, newScale / originalScale . Attached to this devlog are images, showing the window scaling fix in action as well as the scaling fix as it is used in my game. Now the scale of pixels stays exactly the same regardless of the scale of the window, and the 2nd block shown in the image with the Tiles picker is being scaled and rotated when the player hovers it. Overall, this project is becoming quite a bit larger than I originally intended as I work on it more while actually using it to make a real game. Thanks for reading this devlog!"}, {"post_id": 27962, "ts": "2026-07-13T22:18:53Z", "hours": 1.255, "text": "Another quick devlog as I’ve been adding features while trying to make an actual game with the engine! I realized that I hadn’t added offsets for colliders, trigger colliders or collision callbacks, so I added all of those and that works now, and I also realized I needed a special renderer that could draw using THREE.js’ InstancedMesh so I created the InstancedRenderer component that allows for that InstancedMesh to be used, this should afford a decent performance boost for any games that have the ground made up of tiles (if used correctly). The image attached is an image of the game I’ve started working on!"}, {"post_id": 27541, "ts": "2026-07-13T06:08:25Z", "hours": 1.1381, "text": "Another short devlog, again about UI! I got around to adding a proper button component to the engine that supports both a hover and click state! Currently I am using it in one of the demos for a button that slows down time to 1/10 speed when clicked. When I was trying to get this working, I realized I had a pretty major bug with how the scale of the window worked, which was causing issues with mouse inputs not lining up correctly with the engine’s visual output, but after fixing that it works great! The implementation for usage is also pretty simple with the Phoenix.Button() component just having two optional fields, one for onHoverCallback and one for onClickCallback. Here is an example of an onClickCallback being supplied to a button component: new Phoenix . Button (() => { app . args . timescale = ( app . args . timescale == 1 ) ? 0.1 : 1 }) Thanks for reading my boring UI yap again!!"}, {"post_id": 27482, "ts": "2026-07-13T02:51:20Z", "hours": 1.4086, "text": "Very small devlog this time! I’ve now added support for screen-space rendering of objects (rendering of objects relative to the screen rather than the world). This will be very important for adding proper UI components such as buttons, switches, sliders and text boxes to the engine later! With the addition of screen space rendering I also added a new component specifically for it, being the UIRenderer component. It behaves exactly like the standard Renderer component, but it renders to the THREE.js scene that the output of the main scene is rendered to for applying screen-space shaders. This also has the side effect of UI elements being able to ignore the current screen-space shader, so they don’t get distorted or become unreadable in any other way. Here’s a little code example for how the screen-space rendering works when creating an object: app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 64 , 96 ), 0 , new Phoenix . Vector2 ( 16 , 16 )), new Phoenix . Sprite ( \" assets/brick.png \" ), new Phoenix . UIRenderer ( 1 ) ) This little bit of code would create an object at coordinates (64, 96) but it would follow the camera rather than staying put in the world! In my next devlog I plan to actually add components for proper interactivity with UI components! Thanks for reading my yap!! Byeeee!"}, {"post_id": 26985, "ts": "2026-07-12T03:38:26Z", "hours": 1.4139, "text": "Hiya there! Another devlog on this project!! This time I added an actual particle system to the engine that can be used to spawn a bunch of little particles. It’s still missing a bit of customization such as turning off gravity for particles or the ability to change particle’s initial velocity, but so far it isn’t causing any lag and seems to work well! I had to figure out THREE.js’ InstancedMesh system to get this working without making the game run horribly, but I got it and it works now! The docs are also updated to reflect this new feature. And the ParticleSystem is used like any other component by just adding it to an object like the following: app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , 0 ), 0 , new Phoenix . Vector2 ( 32 , 32 )), new Phoenix . ParticleSystem ( \" assets/brick.png \" , 10 , new Phoenix . Vector2 ( 24 , 24 )) ) ) The entire system for particles is self contained and doesn’t rely on any other components like the Renderer and Sprite because I felt it would be better to separate it due to the fact that the particles using an InstancedMesh, and the user might want to have particles have a different texture than their emitter. As shown in the images, the ParticleSystem can support a lot of particles and from some testing it is able to handle 10, 1000 and 10000 particles with no lag, but 100000 particles is stretching it a bit. I mean who would put over 10000 particles on screen at a time though, right?"}, {"post_id": 26131, "ts": "2026-07-10T19:01:01Z", "hours": 3.8183, "text": "Yay! Another devlog and even more hours poured into this project! This time I finally got around to reworking how the engine works to actually allow for objects to have children! In the past all objects were stored in a flat array which didn’t allow for any object parenting of any kind, but now the root of the scene is just another GameObject, so it can have children and those children can have children and so on forever. As you can see in the example photos, the brick object on the left has a smaller checkerboard-pattern object as a child of it that moves relative to it’s parent’s rotation and position. On the development side of things, adding objects to the scene as a whole remains exactly the same with the way the addition of objects simply being changed to having them be children of the scene root, but now all objects have a new method, GameObject.addChild(object: GameObject) . This allows any object have a child added to it, for example: player . addChild ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , 0 ), 0 , new Phoenix . Vector2 ( 16 , 16 )), new Phoenix . Sprite ( \" assets/null.png \" ), new Phoenix . Renderer ( 1 ) )); This would just add a new smaller object to the player object with the null.png sprite, and this is exactly what is happening in the screenshots attached to this."}, {"post_id": 25126, "ts": "2026-07-09T04:22:25Z", "hours": 2.8756, "text": "I decided to use the feature I added to the engine a while ago that allows for custom screen space shaders to create a lighting shader for the game based on some simple raymarching! I’m going to work on getting it more polished and then implement it as a variable exposed by the main engine as something that can be used in any project. The usage of the shader isn’t too complicated, it just requires data about the lights to be supplied to the shader via uniforms. let lightPositions = [ new THREE . Vector2 ( - 128 , 128 ), new THREE . Vector2 ( 64 , 128 ) ] let lightScales = [ new THREE . Vector2 ( 512 , 512 ), new THREE . Vector2 ( 512 , 512 ) ] let lightColors = [ new THREE . Vector3 ( 1 , 0.3 , 0 ), new THREE . Vector3 ( 0 , 1 , 0.3 ) ] This would be supplied to the App’s options to override the shader. shaderOverride : { vertexShader : Phoenix . DefaultVertexShader , fragmentShader : LitShader , uniforms : { uLightPositions : { value : lightPositions }, uLightScales : { value : lightScales }, uLightColors : { value : lightColors } } } And then positions should be updated every frame to keep them in world space. app . addFrameIntervalCallback (() => { let lps = [] for ( const lightPos of lightPositions ) { const p = new THREE . Vector3 ( lightPos . x , lightPos . y , 0 ); p . project ( app . camera ); const x = ( p . x + 1 ) / 2 const y = ( p . y + 1 ) / 2 lps . push ( new THREE . Vector2 ( x , y )) } app . screenSpaceShader . uniforms . uLightPositions ! . value = lps let scls = [] for ( const lightScale of lightScales ) { const x = lightScale . x ! / rScale.x const y = lightScale . y ! / rScale.y scls . push ( new THREE . Vector2 ( x , y )) } app . screenSpaceShader . uniforms . uLightScales ! . value = scls }) Edit: I completely forgot about this but at some point I added support for animated sprites using the AnimatedSprite class which can be supplied an array of strings representing the paths to the image for each frame as well as a animation rate (number of game frames each animation frame is shown for)"}, {"post_id": 24576, "ts": "2026-07-08T08:10:21Z", "hours": 2.9547, "text": "I did a bunch of backend stuff, adding features and making the engine overall better. My most recent addition to this is the use of a unified renderer component, where rather than having separate components handling the rendering of text, canvas sprites and normal sprites individually and with duplicate code, the main renderer component automatically finds any sprite type and renders it! For example, in the scenes below: the text in past versions would have been rendered with a TextRenderer component, whereas now there is a TextSprite component that feeds a texture to a Renderer component on the object. New Version const text = new Phoenix . TextSprite ( \" Hello world! \" , { fontSize : 32 , backgroundColor : \" #7fefcf \" , padding : 8 }); app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , - 83 ), 0 , new Phoenix . Vector2 ( text . texture ! . width , text . texture ! . height )), text , new Phoenix . Renderer ( 1 ) )); Old Version app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , - 83 ), 0 , new Phoenix . Vector2 ( 0 , 0 )), new Phoenix . TextRenderer ( \" Hello world! \" , { fontSize : 32 , backgroundColor : \" #7fefcf \" , padding : 8 }, 1 )"}, {"post_id": 15461, "ts": "2026-06-25T04:17:31Z", "hours": 2.4086, "text": "Big update! I finally actually got around to making the demo scenes built with this engine publish on GitHub pages ( here ). I also added a circle collider component and a text renderer which in turn relies on a HTML Canvas Renderer so there’s also now an easier way to create procedural assets for games."}, {"post_id": 14176, "ts": "2026-06-23T05:13:33Z", "hours": 1.6892, "text": "I finally added support for getting inputs within a component without using a web API to register an event listener and then having to deal with destroying that when the object get unloaded! I then updated the test scene to reflect that with a new component added to each object in a tower that adds an impulse when the W key is pressed. The scene can also be switched with the H key."}, {"post_id": 10659, "ts": "2026-06-17T14:54:58Z", "hours": 3.1258, "text": "I added screen-space shader support for now, the shader can’t be overridden but I’ll change that as well as allowing for the shaders attached to individual objects to be overridden."}, {"post_id": 10375, "ts": "2026-06-17T01:44:28Z", "hours": 4.535, "text": "So far I’ve added all the basics, scenes, objects, physics implementation and rendering. The rendering is currently using a basic HTML canvas method, but I am planning to update it to THREE.js for faster rendering and support for complex shader effects. This will probably be a relatively short project and I probably wont make many devlogs for this. It’s kind of hard to show off an engine with images, and without showing the code, so I don’t know how much visual progress I’ll be able to show, but I’ll definately be able to show a lot more for the game I’m planning on making that will use this engine!"}]...
|
Title: Phoenix - Web Game Framework by @openchante Title: Phoenix - Web Game Framework by @openchanter | Stardance
Devlogs:
So far I’ve added all the basics, scenes, objects, physics implementation and rendering. The rendering is currently using a basic HTML canvas method, but I am planning to update it to THREE.js for faster rendering and support for complex shader effects. This will probably be a relatively short project and I probably wont make many devlogs for this. It’s kind of hard to show off an engine with images, and without showing the code, so I don’t know how much visual progress I’ll be able to show, but I’ll definately be able to show a lot more for the game I’m planning on making that will use this engine!
I added screen-space shader support for now, the shader can’t be overridden but I’ll change that as well as allowing for the shaders attached to individual objects to be overridden.
I finally added support for getting inputs within a component without using a web API to register an event listener and then having to deal with destroying that when the object get unloaded! I then updated the test scene to reflect that with a new component added to each object in a tower that adds an impulse when the W key is pressed. The scene can also be switched with the H key.
Big update! I finally actually got around to making the demo scenes built with this engine publish on GitHub pages ( here ). I also added a circle collider component and a text renderer which in turn relies on a HTML Canvas Renderer so there’s also now an easier way to create procedural assets for games.
I did a bunch of backend stuff, adding features and making the engine overall better. My most recent addition to this is the use of a unified renderer component, where rather than having separate components handling the rendering of text, canvas sprites and normal sprites individually and with duplicate code, the main renderer component automatically finds any sprite type and renders it! For example, in the scenes below: the text in past versions would have been rendered with a TextRenderer component, whereas now there is a TextSprite component that feeds a texture to a Renderer component on the object. New Version const text = new Phoenix . TextSprite ( " Hello world! " , { fontSize : 32 , backgroundColor : " #7fefcf " , padding : 8 }); app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , - 83 ), 0 , new Phoenix . Vector2 ( text . texture ! . width , text . texture ! . height )), text , new Phoenix . Renderer ( 1 ) )); Old Version app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , - 83 ), 0 , new Phoenix . Vector2 ( 0 , 0 )), new Phoenix . TextRenderer ( " Hello world! " , { fontSize : 32 , backgroundColor : " #7fefcf " , padding : 8 }, 1 )
I decided to use the feature I added to the engine a while ago that allows for custom screen space shaders to create a lighting shader for the game based on some simple raymarching! I’m going to work on getting it more polished and then implement it as a variable exposed by the main engine as something that can be used in any project. The usage of the shader isn’t too complicated, it just requires data about the lights to be supplied to the shader via uniforms. let lightPositions = [ new THREE . Vector2 ( - 128 , 128 ), new THREE . Vector2 ( 64 , 128 ) ] let lightScales = [ new THREE . Vector2 ( 512 , 512 ), new THREE . Vector2 ( 512 , 512 ) ] let lightColors = [ new THREE . Vector3 ( 1 , 0.3 , 0 ), new THREE . Vector3 ( 0 , 1 , 0.3 ) ] This would be supplied to the App’s options to override the shader. shaderOverride : { vertexShader : Phoenix . DefaultVertexShader , fragmentShader : LitShader , uniforms : { uLightPositions : { value : lightPositions }, uLightScales : { value : lightScales }, uLightColors : { value : lightColors } } } And then positions should be updated every frame to keep them in world space. app . addFrameIntervalCallback (() => { let lps = [] for ( const lightPos of lightPositions ) { const p = new THREE . Vector3 ( lightPos . x , lightPos . y , 0 ); p . project ( app . camera ); const x = ( p . x + 1 ) / 2 const y = ( p . y + 1 ) / 2 lps . push ( new THREE . Vector2 ( x , y )) } app . screenSpaceShader . uniforms . uLightPositions ! . value = lps let scls = [] for ( const lightScale of lightScales ) { const x = lightScale . x ! / rScale.x const y = lightScale . y ! / rScale.y scls . push ( new THREE . Vector2 ( x , y )) } app . screenSpaceShader . uniforms . uLightScales ! . value = scls }) Edit: I completely forgot about this but at some point I added support for animated sprites using the AnimatedSprite class which can be supplied an array of strings representing the paths to the image for each frame as well as a animation rate (number of game frames each animation frame is shown for)
Yay! Another devlog and even more hours poured into this project! This time I finally got around to reworking how the engine works to actually allow for objects to have children! In the past all objects were stored in a flat array which didn’t allow for any object parenting of any kind, but now the root of the scene is just another GameObject, so it can have children and those children can have children and so on forever. As you can see in the example photos, the brick object on the left has a smaller checkerboard-pattern object as a child of it that moves relative to it’s parent’s rotation and position. On the development side of things, adding objects to the scene as a whole remains exactly the same with the way the addition of objects simply being changed to having them be children of the scene root, but now all objects have a new method, GameObject.addChild(object: GameObject) . This allows any object have a child added to it, for example: player . addChild ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , 0 ), 0 , new Phoenix . Vector2 ( 16 , 16 )), new Phoenix . Sprite ( " assets/null.png " ), new Phoenix . Renderer ( 1 ) )); This would just add a new smaller object to the player object with the null.png sprite, and this is exactly what is happening in the screenshots attached to this.
Hiya there! Another devlog on this project!! This time I added an actual particle system to the engine that can be used to spawn a bunch of little particles. It’s still missing a bit of customization such as turning off gravity for particles or the ability to change particle’s initial velocity, but so far it isn’t causing any lag and seems to work well! I had to figure out THREE.js’ InstancedMesh system to get this working without making the game run horribly, but I got it and it works now! The docs are also updated to reflect this new feature. And the ParticleSystem is used like any other component by just adding it to an object like the following: app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 0 , 0 ), 0 , new Phoenix . Vector2 ( 32 , 32 )), new Phoenix . ParticleSystem ( " assets/brick.png " , 10 , new Phoenix . Vector2 ( 24 , 24 )) ) ) The entire system for particles is self contained and doesn’t rely on any other components like the Renderer and Sprite because I felt it would be better to separate it due to the fact that the particles using an InstancedMesh, and the user might want to have particles have a different texture than their emitter. As shown in the images, the ParticleSystem can support a lot of particles and from some testing it is able to handle 10, 1000 and 10000 particles with no lag, but 100000 particles is stretching it a bit. I mean who would put over 10000 particles on screen at a time though, right?
Very small devlog this time! I’ve now added support for screen-space rendering of objects (rendering of objects relative to the screen rather than the world). This will be very important for adding proper UI components such as buttons, switches, sliders and text boxes to the engine later! With the addition of screen space rendering I also added a new component specifically for it, being the UIRenderer component. It behaves exactly like the standard Renderer component, but it renders to the THREE.js scene that the output of the main scene is rendered to for applying screen-space shaders. This also has the side effect of UI elements being able to ignore the current screen-space shader, so they don’t get distorted or become unreadable in any other way. Here’s a little code example for how the screen-space rendering works when creating an object: app . addObject ( app . createObject ( new Phoenix . Transform ( new Phoenix . Vector2 ( 64 , 96 ), 0 , new Phoenix . Vector2 ( 16 , 16 )), new Phoenix . Sprite ( " assets/brick.png " ), new Phoenix . UIRenderer ( 1 ) ) This little bit of code would create an object at coordinates (64, 96) but it would follow the camera rather than staying put in the world! In my next devlog I plan to actually add components for proper interactivity with UI components! Thanks for reading my yap!! Byeeee!
Another short devlog, again about UI! I got around to adding a proper button component to the engine that supports both a hover and click state! Currently I am using it in one of the demos for a button that slows down time to 1/10 speed when clicked. When I was trying to get this working, I realized I had a pretty major bug with how the scale of the window worked, which was causing issues with mouse inputs not lining up correctly with the engine’s visual output, but after fixing that it works great! The implementation for usage is also pretty simple with the Phoenix.Button() component just having two optional fields, one for onHoverCallback and one for onClickCallback. Here is an example of an onClickCallback being supplied to a button component: new Phoenix . Button (() => { app . args . timescale = ( app . args . timescale == 1 ) ? 0.1 : 1 }) Thanks for reading my boring UI yap again!!
Another quick devlog as I’ve been adding features while trying to make an actual game with the engine! I realized that I hadn’t added offsets for colliders, trigger colliders or collision callbacks, so I added all of those and that works now, and I also realized I needed a special renderer that could draw using THREE.js’ InstancedMesh so I created the InstancedRenderer component that allows for that InstancedMesh to be used, this should afford a decent performance boost for any games that have the ground made up of tiles (if used correctly). The image attached is an image of the game I’ve started working on!
Another devlog as I continue to work on my other project that uses this engine as a dependency. Since I’ve been actually using this engine for making something real, I’ve noticed that it has quite a few flaws that I didn’t catch earlier on in the creation process. For example, when the window resized on the Y axis, the scale of the content within the window would also scale. This actually ended up causing a big issue with my new project as I had to convert screen-space mouse coordinates to positions in the world for placing objects in the editor. Fixing this was pretty simple and I just swapped out the old render resolution for a render scalar that gets multiplied by the window resolution to calculate the render resolution. Over the time of creating my new project there have also been some other small issues with things such as the button hitboxes and the engine not having the ability to resize objects in real time that I have since fixed. For the real time object resizing issue though, it was especially annoying because I had to resize the THREE.js Mesh object directly using the .scale.set() method on it which cannot be simply supplied with the size in pixels you want the object to be and is separate from the size of the geometry. To solve this I had to calculate how much I would have to multiply the scale of the geometry by to get the new scale. This ends up being the math equation, newScale / originalScale . Attached to this devlog are images, showing the window scaling fix in action as well as the scaling fix as it is used in my game. Now the scale of pixels stays exactly the same regardless of the scale of the window, and the 2nd block shown in the image with the Tiles picker is being scaled and rotated when the player hovers it. Overall, this project is becoming quite a bit larger than I originally intended as I work on it more while actually using it to make a real game. Thanks for reading this devlog!
Ships:
I made Phoenix, a web-based game framework using TypeScript! It is designed to be easy to use and quick to make projects with. I used THREE.js for rendering and Planck.js for the physics engine. The features available in the engine vary from simple rendering components to rigidbodies, UI systems and particle systems! The engine also supports a proper scene hierarchy with objects being able to have children that inherit their translation and rotation. The most challenging part of this was just trying to iron out all of the small bugs that kept popping up in different areas of the engine while I was trying to add a new feature somewhere. Just a note about the demo though, it is meant to just show off the features of the engine, and the demo is not the product of this project but rather the actual engine and it’s API that can be used to make games! I also plan to make an actual game using this engine as my next project for Stardance!...
|
1792990327.7343209
|
1793076727.7343209
|
|
27153
|
click lense by @nishank | Stardance
|
nishank
|
1
|
43.67
|
325
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-19T02:08:38Z", "hours": 43.0, "multiplier": 11.21, "payout": 325, "blessing": "neutral", "text": "A modern, full-featured URL shortener & analytics platform with password-protected links, expiration dates, custom aliases, QR code generation, and rich click metrics. Built with Next.js 16", "repo": "https://github.com/Devnish0/click-lense", "demo": "https://clicklense.vercel.app/"}]...
|
[{"post_id": 36229, "ts": "202 [{"post_id": 36229, "ts": "2026-07-28T05:22:01Z", "hours": 0.6656, "text": "changed the readme.md"}, {"post_id": 30777, "ts": "2026-07-18T17:25:43Z", "hours": 23.8922, "text": "completed and in production right now check it out now"}, {"post_id": 26142, "ts": "2026-07-10T19:24:50Z", "hours": 6.1253, "text": "built the main dashboard ui"}, {"post_id": 24832, "ts": "2026-07-08T17:23:56Z", "hours": 3.3294, "text": "built the landing page for the clause app"}, {"post_id": 17058, "ts": "2026-06-27T18:13:55Z", "hours": 9.5158, "text": "completed basic 0 auth login , redirection logic, max attempt, time based attempt, disabled attempt etc."}]...
|
Title: click lense by @nishank | Stardance
Devlog Title: click lense by @nishank | Stardance
Devlogs:
completed basic 0 auth login , redirection logic, max attempt, time based attempt, disabled attempt etc.
built the landing page for the clause app
built the main dashboard ui
completed and in production right now check it out now
changed the readme.md
Ships:
A modern, full-featured URL shortener & analytics platform with password-protected links, expiration dates, custom aliases, QR code generation, and rich click metrics. Built with Next.js 16...
|
1792990410.7557232
|
1793076810.7557232
|
|
9443
|
Better Music by @muntean_andrew | Stardance
|
muntean_andrew
|
2
|
33.0
|
323
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T09:14:00Z", "hours": 20.0, "multiplier": 8.54, "payout": 202, "blessing": "neutral", "text": "I built Better Music, a lightweight music player designed for seamless audio playback and intuitive library management. It features an instant search-as-you-type engine, interactive queue management, customizable playlist/album details, detailed listening activity tracking, can read synced/unsynced lyrics tags from the music files and show them like Spotify, a “Permanent Queue” (PQ) feature for when you want listen to a list of particular songs for just that one moment and don’t want to create a whole new playlist for it and you can customize it’s color palette and even the base border radius to your liking in the settings. To bring this to life, I combined the desktop application capabilities of Electron with a robust local relational database powered by SQLite 3, all wrapped in a sleek, responsive frontend built using HTML5, CSS, SCSS and JavaScript. This is just an update and the majority of the time spent on the project was used to make improvements in the backend management of the song objects and to make the UI better reflect and update according to the data in the backend. But also I’ve added lyrics support and if your music files have lyrics tags embedded in them the app will take full advantage of them by enabling you to see each verse when it is singed and also skip to that one part you like the most just by clicking on your favorite line in the track. Testing the app is incredibly simple—there is no need to clone deep source code dependencies or set up a complex development build environment. Where to get it: Head straight over to the Releases section of this repository. How to run it: Download the compiled .zip file for your platform, extract its contents into any folder on your computer, and double-click the main application executable (e.g., Better-Music.exe). Note on Updates: If you are testing store-packaged builds or encountered deployment errors (like MSIX package revision conflicts in the Partner Center), utilizing the raw ZIP release is the fastest, cleanest way to experience the app right now.", "repo": "https://github.com/AliendsOG/Better-Music", "demo": "https://github.com/AliendsOG/Better-Music/releases/tag/better-music"}, {"ship_num": 2, "ts": "2026-06-15T15:17:37Z", "hours": 13.0, "multiplier": 9.67, "payout": 121, "blessing": "neutral", "text": "I built Better Music, a lightweight music player designed for seamless audio playback and intuitive library management. It features an instant search-as-you-type engine, interactive queue management, customizable playlist/album details, detailed listening activity tracking, a “Permanent Queue” (PQ) feature for when you want listen to a list of particular songs for just that one moment and don’t want to create a whole new playlist for it and you can customize it’s color palette to your liking in the settings. To bring this to life, I combined the desktop application capabilities of Electron with a robust local relational database powered by SQLite 3, all wrapped in a sleek, responsive frontend built using HTML5, CSS, SCSS and JavaScript. The challenging part was the steep learning curve as I hadn’t done anything on this scale before. I had to learn to connect the 2 Electron processes together seamlessly. Furthermore I had to dive into the world of databases with SQLite 3, which was uncharted territory for me. I had to use AI to help me learn these things and also to brainstorm ideas about hoe to optimize the app. For instance, when the idea of the search-as-you-type feature came up to me I envisioned a kind of tree structure with letters and that for every song, album, playlist name the app would create the branches in the tree so it would be a very fast and efficient search algorithm, and when I talked to the AI about it I found out that this kind of structure is called a trie. I am really proud that I’ve managed to build a clean, responsive and fast music player that tracks the user’s listening activity and stores it on device. Also it was very exciting when I tested the search feature and it worked perfectly. I’m also proud of the engineering journey itself. I utilized Gemini as an active learning collaborator to help me unpack the architectural patterns of Electron and master data persistence with SQLite 3. Turning that complex technical guidance into a functional, polished desktop product was incredibly rewarding. Testing the app is incredibly simple—there is no need to clone deep source code dependencies or set up a complex development build environment. Where to get it: Head straight over to the Releases section of this repository. How to run it: Download the compiled .zip file for your platform, extract its contents into any folder on your computer, and double-click the main application executable (e.g., Better-Music.exe). Note on Updates: If you are testing store-packaged builds or encountered deployment errors (like MSIX package revision conflicts in the Partner Center), utilizing the raw ZIP release is the fastest, cleanest way to experience the app right now.", "repo": "https://github.com/AliendsOG/Better-Music", "demo": "https://github.com/AliendsOG/Better-Music/releases/tag/better-music"}]...
|
[{"post_id": 74382, "ts": "202 [{"post_id": 74382, "ts": "2026-09-27T09:04:01Z", "hours": 1.0467, "text": "This is the last devlog before shipping the project update. This has been an exciting journey and I am very satisfied with the result! I do wish there would be a bit more time left for the event to continue so I could ship even more things but all good things must come to an end, and this one is a happy ending. I’ve made the necessary last minute touches to make sure that everything works as it should."}, {"post_id": 74114, "ts": "2026-09-26T18:26:03Z", "hours": 1.6697, "text": "Added new ways to customize the player to the user’s liking and fixed that prevented the app from reading the user_version of the database which in return made the app “update” the DB everytime it started."}, {"post_id": 73281, "ts": "2026-09-24T18:58:58Z", "hours": 0.4853, "text": "YEEEEEESS, FINALLLYYYYYY, we have synced lyrics in the app. I know it’s not the most glamorous UI at the moment, but it is still something, and the other music players don’t even do this, like at most they show the lyrics with the timestamps and that’s it, no scaling of the verse, nothing. In future updates certainly I’ll make the UI more polished because it need a lot of it. Still I am happy that I’ve made it this far and after a bit of clean up and maybe some optimizations I’ll ship the project."}, {"post_id": 73261, "ts": "2026-09-24T18:10:26Z", "hours": 1.5067, "text": "I’ve finally found the culprit that prevented me from getting the synced lyrics, now the app can read the synced lyrics from music filed. YEEEEEEE Now the “only” thing is to make the UI for them, which I hope would be easy and fast. 😅"}, {"post_id": 73191, "ts": "2026-09-24T15:40:21Z", "hours": 2.4517, "text": "Trying to add lyrics to the app. But it is a bit of a mess cause in the Samsung Music and Apple Music apps these files contain time stamps for each verse and so I was thinking to read those time stamps and to highlight the verse that is played at that time, but my app doesn’t read those things and I don’t know why. An explanation might be that those apps ping free open source databases of lyrics based on the song details, but I am not really sure."}, {"post_id": 69252, "ts": "2026-09-16T17:55:55Z", "hours": 4.7486, "text": "Another day, another restructuring I guess. 😅 I’ve decided to give each album an id instead of relying on it’s name as the identifier as I did previously. Also I’ve changed the Play function to work with song ids and album ids instead of names. This is because if the name of the song or the album had any of these 2 characters: ’ or “ it would mess up with the HTML structure and the song would not play if the user clicked on it. Not gonna lie, I think that my code now is a little spaghetti and for sure someone with more experience and knowledge on how to structure a music player would have done a much better job than me at this, but still. The main caveat that I think could appear in the future is that the Play function can’t take numbered ids for playlists and I have to rely in the playlist’s name because the function would have no way to distinguish between them at the moment and I don’t want to make another spaghetti to fix this. 😅 In other news, I have successfully changed the backend to update the DB version for the user of the older version of the app and to add the new “lyrics” column and also the app can read the embedded lyrics from the music files. Now the “only” thing remaining is to add the lyrics to the UI and to parse the strings and make the verses synchronize with the song and this feature would be fully implemented."}, {"post_id": 57422, "ts": "2026-08-29T15:54:13Z", "hours": 2.9864, "text": "After successfully changing the song objects management under the hood from the previous devlog I now added an indicator for which song is currently playing. For now I’ve just set the background of the song to be the primary color selected by the user. Also I’ve changed the border radius for everything to be based on one variable so that the user could change it in the settings (but didn’t yet implement the UI for that) cause everyone has their own preference for these things. The first screenshot is with the border radius set a bit higher (30px) than my default one (23px), and the second one is with the border radius set to 0. Additionally I am changing the SQLite db in the backend to support lyrics because I want to add them to the app."}, {"post_id": 56489, "ts": "2026-08-28T08:43:54Z", "hours": 4.7514, "text": "I am currently working on optimizing the code so that changes like adding songs to a playlist or liking a song update instantly across all pages because this was a flaw of my old architecture of the app cause I didn’t just have 1 list of song objects that every album and artist referenced to but instead every album and artist had their own song objects and the list of favorite songs was also composed of song object. So it was a mess of duplicate song objects. Now I am changing things so that there is only one list of song object and albums have just a list of song ids in them so they reference the song object list, this way each change is global. This would hopefully fix the current synchronization issues that sometimes occur in the current version. This change would also allow me to add an indicator that a song is playing when the user looks at an album from which a song plays currently. Additionally I want to add a listening history page where the user can see their listening activity on the app and also maybe add some rewards depending on how much time they spent listening to an artist or album to gamify the experience a little."}, {"post_id": 8658, "ts": "2026-06-14T11:47:22Z", "hours": 0.4289, "text": "Solving some App Manifest problems"}, {"post_id": 8040, "ts": "2026-06-13T12:20:46Z", "hours": 1.7347, "text": "Updating the package on the Microsoft Store"}, {"post_id": 7956, "ts": "2026-06-13T08:50:15Z", "hours": 1.2564, "text": "Added some customization options and a settings menu"}, {"post_id": 7328, "ts": "2026-06-12T06:33:15Z", "hours": 1.7297, "text": "Updating the interface a little"}, {"post_id": 4874, "ts": "2026-06-08T13:08:06Z", "hours": 3.1572, "text": "Implemented search functionality"}, {"post_id": 3541, "ts": "2026-06-06T15:01:03Z", "hours": 2.7919, "text": "Adding clear queue button and a Permanent Queue or Temporary Playlist feature that saves the songs that you add to the queue even after you listen to them so you can set it to repeat all and still have the songs that you wanted"}, {"post_id": 3394, "ts": "2026-06-06T09:28:56Z", "hours": 1.4672, "text": "I implemented the function of changing the name and cover of a playlist"}]...
|
Title: Better Music by @muntean_andrew | Stardance Title: Better Music by @muntean_andrew | Stardance
Devlogs:
I implemented the function of changing the name and cover of a playlist
Adding clear queue button and a Permanent Queue or Temporary Playlist feature that saves the songs that you add to the queue even after you listen to them so you can set it to repeat all and still have the songs that you wanted
Implemented search functionality
Updating the interface a little
Added some customization options and a settings menu
Updating the package on the Microsoft Store
Solving some App Manifest problems
I am currently working on optimizing the code so that changes like adding songs to a playlist or liking a song update instantly across all pages because this was a flaw of my old architecture of the app cause I didn’t just have 1 list of song objects that every album and artist referenced to but instead every album and artist had their own song objects and the list of favorite songs was also composed of song object. So it was a mess of duplicate song objects. Now I am changing things so that there is only one list of song object and albums have just a list of song ids in them so they reference the song object list, this way each change is global. This would hopefully fix the current synchronization issues that sometimes occur in the current version. This change would also allow me to add an indicator that a song is playing when the user looks at an album from which a song plays currently. Additionally I want to add a listening history page where the user can see their listening activity on the app and also maybe add some rewards depending on how much time they spent listening to an artist or album to gamify the experience a little.
After successfully changing the song objects management under the hood from the previous devlog I now added an indicator for which song is currently playing. For now I’ve just set the background of the song to be the primary color selected by the user. Also I’ve changed the border radius for everything to be based on one variable so that the user could change it in the settings (but didn’t yet implement the UI for that) cause everyone has their own preference for these things. The first screenshot is with the border radius set a bit higher (30px) than my default one (23px), and the second one is with the border radius set to 0. Additionally I am changing the SQLite db in the backend to support lyrics because I want to add them to the app.
Another day, another restructuring I guess. 😅 I’ve decided to give each album an id instead of relying on it’s name as the identifier as I did previously. Also I’ve changed the Play function to work with song ids and album ids instead of names. This is because if the name of the song or the album had any of these 2 characters: ’ or “ it would mess up with the HTML structure and the song would not play if the user clicked on it. Not gonna lie, I think that my code now is a little spaghetti and for sure someone with more experience and knowledge on how to structure a music player would have done a much better job than me at this, but still. The main caveat that I think could appear in the future is that the Play function can’t take numbered ids for playlists and I have to rely in the playlist’s name because the function would have no way to distinguish between them at the moment and I don’t want to make another spaghetti to fix this. 😅 In other news, I have successfully changed the backend to update the DB version for the user of the older version of the app and to add the new “lyrics” column and also the app can read the embedded lyrics from the music files. Now the “only” thing remaining is to add the lyrics to the UI and to parse the strings and make the verses synchronize with the song and this feature would be fully implemented.
Trying to add lyrics to the app. But it is a bit of a mess cause in the Samsung Music and Apple Music apps these files contain time stamps for each verse and so I was thinking to read those time stamps and to highlight the verse that is played at that time, but my app doesn’t read those things and I don’t know why. An explanation might be that those apps ping free open source databases of lyrics based on the song details, but I am not really sure.
I’ve finally found the culprit that prevented me from getting the synced lyrics, now the app can read the synced lyrics from music filed. YEEEEEEE Now the “only” thing is to make the UI for them, which I hope would be easy and fast. 😅
YEEEEEESS, FINALLLYYYYYY, we have synced lyrics in the app. I know it’s not the most glamorous UI at the moment, but it is still something, and the other music players don’t even do this, like at most they show the lyrics with the timestamps and that’s it, no scaling of the verse, nothing. In future updates certainly I’ll make the UI more polished because it need a lot of it. Still I am happy that I’ve made it this far and after a bit of clean up and maybe some optimizations I’ll ship the project.
Added new ways to customize the player to the user’s liking and fixed that prevented the app from reading the user_version of the database which in return made the app “update” the DB everytime it started.
This is the last devlog before shipping the project update. This has been an exciting journey and I am very satisfied with the result! I do wish there would be a bit more time left for the event to continue so I could ship even more things but all good things must come to an end, and this one is a happy ending. I’ve made the necessary last minute touches to make sure that everything works as it should.
Ships:
I built Better Music, a lightweight music player designed for seamless audio playback and intuitive library management. It features an instant search-as-you-type engine, interactive queue management, customizable playlist/album details, detailed listening activity tracking, a “Permanent Queue” (PQ) feature for when you want listen to a list of particular songs for just that one moment and don’t want to create a whole new playlist for it and you can customize it’s color palette to your liking in the settings. To bring this to life, I combined the desktop application capabilities of Electron with a robust local relational database powered by SQLite 3, all wrapped in a sleek, responsive frontend built using HTML5, CSS, SCSS and JavaScript. The challenging part was the steep learning curve as I hadn’t done anything on this scale before. I had to learn to connect the 2 Electron processes together seamlessly. Furthermore I had to dive into the world of databases with SQLite 3, which was uncharted territory for me. I had to use AI to help me learn these things and also to brainstorm ideas about hoe to optimize the app. For instance, when the idea of the search-as-you-type feature came up to me I envisioned a kind of tree structure with letters and that for every song, album, playlist name the app would create the branches in the tree so it would be a very fast and efficient search algorithm, and when I talked to the AI about it I found out that this kind of structure is called a trie. I am really proud that I’ve managed to build a clean, responsive and fast music player that tracks the user’s listening activity and stores it on device. Also it was very exciting when I tested the search feature and it worked perfectly. I’m also proud of the engineering journey itself. I utilized Gemini as an active learning collaborator to help me unpack the architectural patterns of Electron and master data persistence with SQLite 3. Turning that complex technical guidance into a functional, polished desktop product was incredibly rewarding. Testing the app is incredibly simple—there is no need to clone deep source code dependencies or set up a complex development build environment. Where to get it: Head straight over to the Releases section of this repository. How to run it: Download the compiled .zip file for your platform, extract its contents into any folder on your computer, and double-click the main application executable (e.g., Better-Music.exe). Note on Updates: If you are testing store-packaged builds or encountered deployment errors (like MSIX package revision conflicts in the Partner Center), utilizing the raw ZIP release is the fastest, cleanest way to experience the app right now.
I built Better Music, a lightweight music player designed for seamless audio playback and intuitive library management. It features an instant search-as-you-type engine, interactive queue management, customizable playlist/album details, detailed listening activity tracking, can read synced/unsynced lyrics tags from the music files and show them like Spotify, a “Permanent Queue” (PQ) feature for when you want listen to a list of particular songs for just that one moment and don’t want to create a whole new playlist for it and you can customize it’s color palette and even the base border radius to your liking in the settings. To bring this to life, I combined the desktop application capabilities of Electron with a robust local relational database powered by SQLite 3, all wrapped in a sleek, responsive frontend built using HTML5, CSS, SCSS and JavaScript. This is just an update and the majority of the time spent on the project was used to make improvements in the backend management of the song objects and to make the UI better reflect and update according to the data in the backend. But also I’ve added lyrics support and if your music files have lyrics tags embedded in them the app will take full advantage of them by enabling you to see each verse when it is singed and also skip to that one part you like the most just by clicking on your favorite line in the track. Testing the app is incredibly simple—there is no need to clone deep source code dependencies or set up a complex development build environment. Where to get it: Head straight over to the Releases section of this repository. How to run it: Download the compiled .zip file for your platform, extract its contents into any folder on your computer, and double-click the main application executable (e.g., Better-Music.exe). Note on Updates: If you are testing store-packaged builds or encountered deployment errors (like MSIX package revision conflicts in the Partner Center), utilizing the raw ZIP release is the fastest, cleanest way to experience the app right now....
|
1792968585.8682058
|
1793054985.8682058
|
|
19433
|
Pantheon by @Minetrio1256 | Stardance
|
Minetrio1256
|
1
|
25.91
|
323
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T00:17:02Z", "hours": 23.0, "multiplier": 13.97, "payout": 323, "blessing": "neutral", "text": "I made a custom item framework that auto builds the resource pack JSON for you while allowing custom behavior on different events. The most challenging part was the NMS that is needed in the bootstrap phase to add certain datapack element written in Java to the registry. I am most proud of how powerful it is and open unlike alternative who often offer a poor developer experience. To this the project you should join the ip linked in the demo.md file under demo url on Minecraft Java 26.2 which is the demo project.", "repo": "https://github.com/Eclectus-Studio/Pantheon", "demo": "https://github.com/Eclectus-Studio/PantheonDemo/blob/master/demo.md"}]...
|
[{"post_id": 70082, "ts": "202 [{"post_id": 70082, "ts": "2026-09-18T12:55:23Z", "hours": 1.0242, "text": "Devlog #10 I mainly ported the plugin to 26.3, some testing notably with the data pack elements that were previously implemented need to be tested. I am currently still working on making the primitives for the datapack elements currently I have added world clocks, villager trades, banner patterns, decorated pots, and for the few other look at the commit history! I also ported the commands to the Brigadier API to have the TAB completion work better."}, {"post_id": 68371, "ts": "2026-09-15T00:57:59Z", "hours": 0.625, "text": "Devlog #9 I added support for credits"}, {"post_id": 66633, "ts": "2026-09-12T14:14:53Z", "hours": 0.5036, "text": "Devlog #8 Small refactor and additions, mainly the fact that the data package is now apart of version specific code moving forward due the need of bukkit code moving forward. It also means a support for papercm Key will be added"}, {"post_id": 63055, "ts": "2026-09-06T17:11:01Z", "hours": 0.7606, "text": "Devlog #7 from this point it’s mostly extra stuff that its convenient to have Pantheon handle it. this update just adds consumable and patches to certain bugs!"}, {"post_id": 46394, "ts": "2026-08-13T15:57:01Z", "hours": 4.0803, "text": "Devlog #6 As the final devlog here is a quick screenshot of the demo server, with all feature implemented and ready. Armor, tools, mob variant, music disc, painting."}, {"post_id": 38909, "ts": "2026-08-01T14:31:34Z", "hours": 9.3422, "text": "Devlog #5 so I added a few features and did a few refactors of the API. I have added all mob variants, painting variants and Jukebox songs. A few added features and edits to the API are : Damage Types Sword & Tools (waiting for a rewrite) Mob Variants Painting Variants Jukebox songs Armor (Missing some for mobs other the humanoid) Durability has been added"}, {"post_id": 29474, "ts": "2026-07-16T13:24:11Z", "hours": 1.3536, "text": "Devlog #4 I added in what will soon be version Alpha-0.2.0 the new equipment API. It includes, Saddles, Helmets, Chest plates, Leggings, and boots. The next step is re-writing the sound API prototype in common and implementing. Features soon to be added also include food and weapons"}, {"post_id": 25043, "ts": "2026-07-09T00:06:38Z", "hours": 4.5428, "text": "Devlog #3 So I got a bit carried away and decided that it could be a good idea to add velocity support. Currently, and what it is planned to do is pack hosting and generation, the actual logic for item is still ran on the backend server and it is not included in velocity which allows for code separation between common, velocity, and paper. I also started making presets for equipment and added custom font support. I also removed minecraft 26.1.2 in favor to 26.2 to support new features. The next step is still the equipment api such as custom armor and elytra’s. I think the next step after is tools. Linked is a demo of the custom font for ranks, note that it does not generate the rank texture but could be a good idea in the future."}, {"post_id": 13165, "ts": "2026-06-21T15:24:11Z", "hours": 3.42, "text": "Devlog #2 So, been a few days and I have been able to test and improve the current item API. We now have: Raw item models and raw item models definition A custom item API which handles left click and right click detection Pack hosting The next step is still related to items, mainly stuff like custom equipment such as armor, wings, saddles. Also coming soon is pack icon and sounds."}, {"post_id": 10308, "ts": "2026-06-16T23:30:21Z", "hours": 0.4, "text": "Devlog 1 So, I have been working for a while in the mc plugin scene and each and every time a few things often come back when doing custom servers, mainly custom items. While the process of making one is easier then ever due to the changes in the last few years it is still quite annoying, mainly having to manually write json or copy-pasting while changing a few values. You also have to make sure everything matches up back in java. If you are working with modern modding api’s, such as neoforge and fabric, you will get a tool called DataGen which helps writing the json for you with the minimal amount of lines for diverse things such as loot tables, item models, etc. So I decided to make one for paper and to have a custom item related classes and also have the option to build the resource pack on the fly for quick updates. It is currently messy due to the fact that I am directly interracting with the POJO that mirror the json of a resource pack, I am planning on making a nicer api to make the process faster and cleaner."}]...
|
Title: Pantheon by @Minetrio1256 | Stardance
Devl Title: Pantheon by @Minetrio1256 | Stardance
Devlogs:
Devlog 1 So, I have been working for a while in the mc plugin scene and each and every time a few things often come back when doing custom servers, mainly custom items. While the process of making one is easier then ever due to the changes in the last few years it is still quite annoying, mainly having to manually write json or copy-pasting while changing a few values. You also have to make sure everything matches up back in java. If you are working with modern modding api’s, such as neoforge and fabric, you will get a tool called DataGen which helps writing the json for you with the minimal amount of lines for diverse things such as loot tables, item models, etc. So I decided to make one for paper and to have a custom item related classes and also have the option to build the resource pack on the fly for quick updates. It is currently messy due to the fact that I am directly interracting with the POJO that mirror the json of a resource pack, I am planning on making a nicer api to make the process faster and cleaner.
Devlog #2 So, been a few days and I have been able to test and improve the current item API. We now have: Raw item models and raw item models definition A custom item API which handles left click and right click detection Pack hosting The next step is still related to items, mainly stuff like custom equipment such as armor, wings, saddles. Also coming soon is pack icon and sounds.
Devlog #3 So I got a bit carried away and decided that it could be a good idea to add velocity support. Currently, and what it is planned to do is pack hosting and generation, the actual logic for item is still ran on the backend server and it is not included in velocity which allows for code separation between common, velocity, and paper. I also started making presets for equipment and added custom font support. I also removed minecraft 26.1.2 in favor to 26.2 to support new features. The next step is still the equipment api such as custom armor and elytra’s. I think the next step after is tools. Linked is a demo of the custom font for ranks, note that it does not generate the rank texture but could be a good idea in the future.
Devlog #4 I added in what will soon be version Alpha-0.2.0 the new equipment API. It includes, Saddles, Helmets, Chest plates, Leggings, and boots. The next step is re-writing the sound API prototype in common and implementing. Features soon to be added also include food and weapons
Devlog #5 so I added a few features and did a few refactors of the API. I have added all mob variants, painting variants and Jukebox songs. A few added features and edits to the API are : Damage Types Sword & Tools (waiting for a rewrite) Mob Variants Painting Variants Jukebox songs Armor (Missing some for mobs other the humanoid) Durability has been added
Devlog #6 As the final devlog here is a quick screenshot of the demo server, with all feature implemented and ready. Armor, tools, mob variant, music disc, painting.
Devlog #7 from this point it’s mostly extra stuff that its convenient to have Pantheon handle it. this update just adds consumable and patches to certain bugs!
Devlog #8 Small refactor and additions, mainly the fact that the data package is now apart of version specific code moving forward due the need of bukkit code moving forward. It also means a support for papercm Key will be added
Devlog #9 I added support for credits
Devlog #10 I mainly ported the plugin to 26.3, some testing notably with the data pack elements that were previously implemented need to be tested. I am currently still working on making the primitives for the datapack elements currently I have added world clocks, villager trades, banner patterns, decorated pots, and for the few other look at the commit history! I also ported the commands to the Brigadier API to have the TAB completion work better.
Ships:
I made a custom item framework that auto builds the resource pack JSON for you while allowing custom behavior on different events. The most challenging part was the NMS that is needed in the bootstrap phase to add certain datapack element written in Java to the registry. I am most proud of how powerful it is and open unlike alternative who often offer a poor developer experience. To this the project you should join the ip linked in the demo.md file under demo url on Minecraft Java 26.2 which is the demo project....
|
1792979640.164892
|
1793066040.164892
|
|
28564
|
Dodge The Spikes by @vindognz | Stardance
|
vindognz
|
1
|
24.0
|
323
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T10:11:14Z", "hours": 24.0, "multiplier": 13.34, "payout": 323, "blessing": "neutral", "text": "I made a 2D reflex game about dodging spikes! A level lasts 10 spikes - every level is faster and more dangerous. This was my first Godot project in years, so it was difficult to relearn the engine at first, but I got used to it. I’m really proud of the firefly shader! It took me ages to tune and refine, but I’m super happy with it. It might be really hard because I adjusted the difficulty as I made it, so if you struggle - sorry! Thanks for voting!!!", "repo": "https://github.com/vindognz/dodge-the-spikes", "demo": "https://vindognz.github.io/dodge-the-spikes/"}]...
|
[{"post_id": 80848, "ts": "202 [{"post_id": 80848, "ts": "2026-10-19T00:31:27Z", "hours": 2.6886, "text": "It’s been a while (school is schooling 😭) This is probably my last devlog before I ship. The game has sound now! 5 sound effects, made in jsfxr: jump, thud when you land, a blip every time you dodge a spike, a boom when you die, and a level up! (Press M to mute the sound effects) I got a tiny bit obsessed with outlines, and gave every label a thick outline The leaderboard title is gold now too! SPACE is both jump and play again, so smashing it as you died would skip the leaderboard.. Play Again now ignores pressed for a half second after you die. All that, some minor performance tweaks, README polishing and now we’re ready to ship! Thanks for playing!"}, {"post_id": 76872, "ts": "2026-10-04T21:50:40Z", "hours": 1.1408, "text": "Hosting move and some small QoL. So uhh… The old site is gone. I moved the game from Nest to Github Pages: New Link (The old link shows a “we moved” pages that redirects you) Nest was sending the 38MB engine file uncompressed and sometimes worked, sometimes took 40+ minutes to send. I tried gzip, i tried brotli, and the proxy just seemed to break it all. Github serves the same game so fast it loads before the splash is done. RIP serve.py. Okay, onto QoL: Space to play again. Hit space on the game over screen and you immediately respawn (no more reaching for your mouse every death). README overhaul. I finally updated it! It has how to play, correct feature list, how it’s built, guidance on running it locally, and the live link. I also dropped the idea of Linux/Windows/Mac downloads, because it’s just easier in a browser. Still to do: sfx, polish."}, {"post_id": 75849, "ts": "2026-10-01T10:37:06Z", "hours": 3.24, "text": "HUGE updates, the demo is actually out! It’s live, and YOU can play the beta right now: Play! (I will maintain it as the latest, stable build, please comment with any feedback 😊). The Godot build is exported to WebGL and embedded in a landing page that I built around it. I tried to keep it somewhat minimal, so it’s just a splash text that fades into a dark ‘cave’ with the same red spikes on the walls, and the game in the middle. It’s hosted on Nest, being run by a tiny Python server I wrote that gzips everything. Compression might seem excessive, but it shrank the 38MB engine file to ~10MB, so it loads significantly faster. The leaderboard got cooked when publishing, so I had to rewrite some logic but I got it working eventually! Difficulty used to increase with your score, now we have Levels. Every 10 spikes, the screen clears, a “Level ” banner shows, and the next level starts faster. Danger zones now start at certain levels too, completely ditching the old score driving approach. I also created a real start screen (This was desperately needed). It has the same firefly background as the game, a little controls hint, and a little demo player hopping spikes :) All that’s left is sfx, README and polish!"}, {"post_id": 75140, "ts": "2026-09-29T08:47:13Z", "hours": 9.0861, "text": "Holy moly I need to remember to devlog 😭 Gameplay has been locked in. Danger zones have been added: at score 10 red columns flash for 3s and insta-kill if you’re in them when time is up. At score 30, two zones spawn at once. Screen shakes on landing and death. Spike cooldown now scales with score, so the difficulty actually increases. Player is now a squishy jelly ball that deforms on jump, stretches while airborne, and splats on landing with a nice tween animation. The leaderboard is alive! Input name on first death (cached for the session), auto-submit to Supabase backend, leaderboard is now embedded in the game over screen. Your current run shows golden in the rankings. Insane visual overhaul. I built a procedural shader for the background that renders 30 animated fireflies (on the GPU). Each one drifts with a unique sine-wave pattern, and pulses brightness. Death burst spawns 12 red sparks that fly outward, and fade out. To-do: Start screen, audio (jump, death, score sfx), and WebGL export + GitHub Pages."}, {"post_id": 22405, "ts": "2026-07-04T21:24:46Z", "hours": 5.9817, "text": "Big session today! (definitely didn’t forget to write a devlog) Here’s what got shipped: The game is actually a game now! Spikes spawn from random sides, move across the screen, and despawn off the edge. Score tracking is in. Each spike that passes the player increments the score, and speed scales with it. Each spike also has a ±50% random deviation in speed, so no two spikes feel the same. Pixel art is fully gone. Both the player and spike are now drawn entirely in code using Godot’s _draw() API. No image assets, scales perfectly at any zoom (hypothetically). Global leaderboard is live. Scores submit to a Supabase PostgreSQL backend. We even have a full leaderboard scene with a loading animation and ranked entries. Game over screen shows your score and lets you play again (reloads the scene, resetting all state for free). Next up: UI polish, danger zones, and a WebGL export!"}, {"post_id": 18960, "ts": "2026-06-30T04:16:26Z", "hours": 1.7533, "text": "I’ve been grinding! I implemented the basic spike, replaced pixel art with code-drawn vector shapes for smooth edges, and added a very bare bones start screen. Next up is UI cleanup, score counting, and a game over screen!"}, {"post_id": 18846, "ts": "2026-06-30T01:30:24Z", "hours": 0.3053, "text": "First devlog! So far, I’ve been setting up the base architecture for the game. Currently I just have a simple square that you can control with WASD, but there are big things ahead!"}]...
|
Title: Dodge The Spikes by @vindognz | Stardance
Title: Dodge The Spikes by @vindognz | Stardance
Devlogs:
First devlog! So far, I’ve been setting up the base architecture for the game. Currently I just have a simple square that you can control with WASD, but there are big things ahead!
I’ve been grinding! I implemented the basic spike, replaced pixel art with code-drawn vector shapes for smooth edges, and added a very bare bones start screen. Next up is UI cleanup, score counting, and a game over screen!
Big session today! (definitely didn’t forget to write a devlog) Here’s what got shipped: The game is actually a game now! Spikes spawn from random sides, move across the screen, and despawn off the edge. Score tracking is in. Each spike that passes the player increments the score, and speed scales with it. Each spike also has a ±50% random deviation in speed, so no two spikes feel the same. Pixel art is fully gone. Both the player and spike are now drawn entirely in code using Godot’s _draw() API. No image assets, scales perfectly at any zoom (hypothetically). Global leaderboard is live. Scores submit to a Supabase PostgreSQL backend. We even have a full leaderboard scene with a loading animation and ranked entries. Game over screen shows your score and lets you play again (reloads the scene, resetting all state for free). Next up: UI polish, danger zones, and a WebGL export!
Holy moly I need to remember to devlog 😭 Gameplay has been locked in. Danger zones have been added: at score 10 red columns flash for 3s and insta-kill if you’re in them when time is up. At score 30, two zones spawn at once. Screen shakes on landing and death. Spike cooldown now scales with score, so the difficulty actually increases. Player is now a squishy jelly ball that deforms on jump, stretches while airborne, and splats on landing with a nice tween animation. The leaderboard is alive! Input name on first death (cached for the session), auto-submit to Supabase backend, leaderboard is now embedded in the game over screen. Your current run shows golden in the rankings. Insane visual overhaul. I built a procedural shader for the background that renders 30 animated fireflies (on the GPU). Each one drifts with a unique sine-wave pattern, and pulses brightness. Death burst spawns 12 red sparks that fly outward, and fade out. To-do: Start screen, audio (jump, death, score sfx), and WebGL export + GitHub Pages.
HUGE updates, the demo is actually out! It’s live, and YOU can play the beta right now: Play! (I will maintain it as the latest, stable build, please comment with any feedback 😊). The Godot build is exported to WebGL and embedded in a landing page that I built around it. I tried to keep it somewhat minimal, so it’s just a splash text that fades into a dark ‘cave’ with the same red spikes on the walls, and the game in the middle. It’s hosted on Nest, being run by a tiny Python server I wrote that gzips everything. Compression might seem excessive, but it shrank the 38MB engine file to ~10MB, so it loads significantly faster. The leaderboard got cooked when publishing, so I had to rewrite some logic but I got it working eventually! Difficulty used to increase with your score, now we have Levels. Every 10 spikes, the screen clears, a “Level ” banner shows, and the next level starts faster. Danger zones now start at certain levels too, completely ditching the old score driving approach. I also created a real start screen (This was desperately needed). It has the same firefly background as the game, a little controls hint, and a little demo player hopping spikes :) All that’s left is sfx, README and polish!
Hosting move and some small QoL. So uhh… The old site is gone. I moved the game from Nest to Github Pages: New Link (The old link shows a “we moved” pages that redirects you) Nest was sending the 38MB engine file uncompressed and sometimes worked, sometimes took 40+ minutes to send. I tried gzip, i tried brotli, and the proxy just seemed to break it all. Github serves the same game so fast it loads before the splash is done. RIP serve.py. Okay, onto QoL: Space to play again. Hit space on the game over screen and you immediately respawn (no more reaching for your mouse every death). README overhaul. I finally updated it! It has how to play, correct feature list, how it’s built, guidance on running it locally, and the live link. I also dropped the idea of Linux/Windows/Mac downloads, because it’s just easier in a browser. Still to do: sfx, polish.
It’s been a while (school is schooling 😭) This is probably my last devlog before I ship. The game has sound now! 5 sound effects, made in jsfxr: jump, thud when you land, a blip every time you dodge a spike, a boom when you die, and a level up! (Press M to mute the sound effects) I got a tiny bit obsessed with outlines, and gave every label a thick outline The leaderboard title is gold now too! SPACE is both jump and play again, so smashing it as you died would skip the leaderboard.. Play Again now ignores pressed for a half second after you die. All that, some minor performance tweaks, README polishing and now we’re ready to ship! Thanks for playing!
Ships:
I made a 2D reflex game about dodging spikes! A level lasts 10 spikes - every level is faster and more dangerous. This was my first Godot project in years, so it was difficult to relearn the engine at first, but I got used to it. I’m really proud of the firefly shader! It took me ages to tune and refine, but I’m super happy with it. It might be really hard because I adjusted the difficulty as I made it, so if you struggle - sorry! Thanks for voting!!!...
|
1793008364.3592753
|
1793094764.3592753
|
|
29249
|
Formatly - Web Converter by @Shaarav4795 | Stardan Formatly - Web Converter by @Shaarav4795 | Stardance...
|
Shaarav4795
|
1
|
22.0
|
323
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-01T12:00:26Z", "hours": 22.0, "multiplier": 14.81, "payout": 323, "blessing": "neutral", "text": "I made Formatly, a fast, and privacy friendly website for converting files, dates, numbers, units, colours, and text directly in the browser. The most challenging part was integrating browser based Web Assemblies while keeping the app compatible with a static Cloudflare Pages deployment. I’m proud that the project supports bulk file conversion, ZIP downloads, quick tool search, and client-side processing without sending files to a server.", "repo": "https://github.com/shaarav4795/formatly", "demo": "https://formatly.shaarav.xyz"}]...
|
[{"post_id": 38821, "ts": "202 [{"post_id": 38821, "ts": "2026-08-01T11:54:18Z", "hours": 1.2142, "text": "I made the README file and I also fixed some things for deployment to Cloudflare Pages!! I’m officially done with this project!"}, {"post_id": 36914, "ts": "2026-07-29T09:57:19Z", "hours": 5.2025, "text": "I made Formatly easier to use. I added a quick search box you can open with Command+K or Ctrl+K to jump straight to any tool. I also upgraded the file converters so you can do bulk conversions and download the output as a ZIP. I also cleaned up the homepage by moving the interactive parts into their own file so the website is more optimises, as well as making the Web Assemblies lazy load so the website loads faster and locking file conversions to desktop only (so mobile users don’t butcher their data downloading the WASM). I also added the logic for the main box on the homepage so you can drop in a supported file and it takes you to the right tool. Finally, I added SEO (all generated with ChatGPT bcz I’m not bothered to write it myself) and finally replaced the old Next.js favicon with the website’s logo."}, {"post_id": 25686, "ts": "2026-07-10T03:31:52Z", "hours": 4.3756, "text": "Okay this took wayy too long but I finally finished the remaining categories. The currency category can, obviously be used to convert currencies. (it works by using USD as the base currency). Date and time cateogry can calculate age and time difference."}, {"post_id": 24599, "ts": "2026-07-08T09:47:31Z", "hours": 2.5, "text": "This time I made 2 categories as they were quick andeasy to create… I made a units converter and a number/base converter as well… I’m getting used to this now and I should be able to finsih the remaining 3 in like 5hrs now 😅"}, {"post_id": 24456, "ts": "2026-07-08T01:07:38Z", "hours": 1.8131, "text": "Colours category** - I added a category which can do operations with colours such as RGB to hex and generic colour name like bliue to more specific formats like RGB and hex and HSV."}, {"post_id": 23873, "ts": "2026-07-07T02:15:40Z", "hours": 2.0156, "text": "Second Category - I added my second category which lets users modify and convert text. They can decode and encode text, slugify and even use morse code…"}, {"post_id": 23354, "ts": "2026-07-06T08:18:09Z", "hours": 2.6094, "text": "First category added - I added the first category to the website which could convert between differnt file formates such as audio formats, image formats, video formats, and archive formats like ZIP, RAR, and 7z. I am super happy with the look and it should now be easier to add in the rest!"}, {"post_id": 22721, "ts": "2026-07-05T09:30:36Z", "hours": 2.1481, "text": "UI Scaffold - I initialised a next.js project and spent this time defining the style of the website. This included the greyscale palette, typography, and spacing. I then scaffoled the main page UI and refined it till I was happy with the result."}]...
|
Title: Formatly - Web Converter by @Shaarav4795 | Title: Formatly - Web Converter by @Shaarav4795 | Stardance
Devlogs:
UI Scaffold - I initialised a next.js project and spent this time defining the style of the website. This included the greyscale palette, typography, and spacing. I then scaffoled the main page UI and refined it till I was happy with the result.
First category added - I added the first category to the website which could convert between differnt file formates such as audio formats, image formats, video formats, and archive formats like ZIP, RAR, and 7z. I am super happy with the look and it should now be easier to add in the rest!
Second Category - I added my second category which lets users modify and convert text. They can decode and encode text, slugify and even use morse code…
Colours category** - I added a category which can do operations with colours such as RGB to hex and generic colour name like bliue to more specific formats like RGB and hex and HSV.
This time I made 2 categories as they were quick andeasy to create… I made a units converter and a number/base converter as well… I’m getting used to this now and I should be able to finsih the remaining 3 in like 5hrs now 😅
Okay this took wayy too long but I finally finished the remaining categories. The currency category can, obviously be used to convert currencies. (it works by using USD as the base currency). Date and time cateogry can calculate age and time difference.
I made Formatly easier to use. I added a quick search box you can open with Command+K or Ctrl+K to jump straight to any tool. I also upgraded the file converters so you can do bulk conversions and download the output as a ZIP. I also cleaned up the homepage by moving the interactive parts into their own file so the website is more optimises, as well as making the Web Assemblies lazy load so the website loads faster and locking file conversions to desktop only (so mobile users don’t butcher their data downloading the WASM). I also added the logic for the main box on the homepage so you can drop in a supported file and it takes you to the right tool. Finally, I added SEO (all generated with ChatGPT bcz I’m not bothered to write it myself) and finally replaced the old Next.js favicon with the website’s logo.
I made the README file and I also fixed some things for deployment to Cloudflare Pages!! I’m officially done with this project!
Ships:
I made Formatly, a fast, and privacy friendly website for converting files, dates, numbers, units, colours, and text directly in the browser. The most challenging part was integrating browser based Web Assemblies while keeping the app compatible with a static Cloudflare Pages deployment. I’m proud that the project supports bulk file conversion, ZIP downloads, quick tool search, and client-side processing without sending files to a server....
|
1792993714.927403
|
1793080114.927403
|
|
34987
|
Ma-Site by @MuhammadAayanMirza | Stardance
|
MuhammadAayanMirza
|
2
|
32.45
|
323
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T03:45:02Z", "hours": 18.0, "multiplier": 13.12, "payout": 289, "blessing": "neutral", "text": "This is my First time coding! So like most people I made a Personal Site. The site is made using HTML, CSS and JavaScript, all of which I learned in the making of this website. There is a fun loading screen when you open the site, the arrow in the home section is clickable, and all the project cards and game cards are interactive and lead you to their respective links upon clicking. The “Email me” button in the contact section leads you straight to my email. Hope you like the Site!!", "repo": "https://github.com/MuhammadAayanMirza/Ma-Site", "demo": "https://muhammadaayanmirza.github.io/Ma-Site/"}, {"ship_num": 2, "ts": "2026-07-23T11:12:08Z", "hours": 12.0, "multiplier": 2.78, "payout": 34, "blessing": "neutral", "text": "This Is My First Time Coding, So Like Most People I Made A Personal Site. I Learned A lot From This Journey, Huge Credit Goes To @Irtaza For Teaching Me Most Of The Code And What it Does. This Website Includes 3 Main Sections, Home, About Me, And Projects. The Contact Button On The Nav Bar Will Directly Lead You To My Email. Each Project Is Clickable And Leads To Their Respective Model. The Social Media Images Are Also Intractable. The Text And Image In The Home Section Increase Size When You Hover Over Them.", "repo": "https://github.com/MuhammadAayanMirza/Ma-Site", "demo": "https://muhammadaayanmirza.github.io/Ma-Site/"}]...
|
[{"post_id": 72705, "ts": "202 [{"post_id": 72705, "ts": "2026-09-23T15:24:35Z", "hours": 2.4514, "text": "Back to making this site even better!! In this session I dived deep into JavaScript to create this animated moving background for the site which I saw on @Irtaza ’s site and I liked it alot. So I spent all this time trying to figure out how that works because I have no idea how JavaScript works. I also added my new game “The Lat Dig” to the game section aswell with a clickable link."}, {"post_id": 47864, "ts": "2026-08-16T03:33:55Z", "hours": 0.5792, "text": "Added some finishing touches to the site, made the site completely compatible on mobile and created a brand new Readme with pictures of all the sections of Ma-Site. Now I think I’m ready to ship this project and hopefully people of the Stardance community will like it!"}, {"post_id": 47596, "ts": "2026-08-15T16:15:49Z", "hours": 2.9853, "text": "Created the Contact section of the site with an interactive button that if you click will lead you straight to my email and the button glows really cool upon hovering on it. Most of the time in this session was spent on making all the elements on the desktop site also look the same or similar on the mobile site. This took a ton ton of time and I’m still fiddling around with it. Other than that I think the version 2 of Ma-Site is complete and I will soon ship this project and hopefully get a better multiplier than 2.78x ."}, {"post_id": 47401, "ts": "2026-08-15T09:50:29Z", "hours": 1.8664, "text": "Redesigned the Home section a bit and added a brand new Games section with the one game I have made called “Hyper Slide”. Also now when you hover over the project cards and game card a drop shadow appears behind them making it feel like they are lifted above the page a bit which is cool. Now the site actually feels like a proper usable fun site. Now I need to add a proper contact section and maybe add something else that makes the website feel a bit more complete!"}, {"post_id": 47306, "ts": "2026-08-15T05:30:28Z", "hours": 1.7797, "text": "Redesigned the Projects section and added an animated arrow in the home section which is clickable and leads to the about me section in a smooth manner."}, {"post_id": 47059, "ts": "2026-08-14T17:48:42Z", "hours": 3.1622, "text": "Used JavaScript for the first time to animate the loading of the about section. Changed up the whole colour palette again because the last one was feeling a bit too dull and also polished up the about section of the site. I’m still experimenting with the projects section’s colours and layout and I still need to animate that. It tales me alot of time to do this because this is my first ever coding project and learning new things takes a bit of time."}, {"post_id": 46813, "ts": "2026-08-14T10:13:39Z", "hours": 1.7314, "text": "Changed the colours of the project cards, changed font colours, removed a piece of text which wasn’t needed. Redid the whole About me section visually and adjusted all the sizes of elements across thew website. I’m still working on the sections to make em better and a new section is coming soon 👀"}, {"post_id": 46456, "ts": "2026-08-13T17:53:56Z", "hours": 1.0542, "text": "Added a loading screen with the text “Welcome” in some different languages and ending of with “I’m Aayan” because I’m Aayan. Also got rid of the curly arrows and small text as I think the landing page looks cleaner without it. The animation part was very difficult for me because it was very new to me, I started of by using JavaScript but for some reason that didn’t work I had to go back to the trusty old CSS."}, {"post_id": 46411, "ts": "2026-08-13T16:30:52Z", "hours": 2.2386, "text": "Still working on the landing page. I experimented alot with different Profile images, fonts for texts, navigation bar settings and the colour ways of the site. I want to get it right this time and make a strong base for the site!!"}, {"post_id": 45864, "ts": "2026-08-12T16:24:43Z", "hours": 1.5567, "text": "Adjusted all the components of the landing page, shifted the nav bar to the right which somehow removed the background of nav bar from the left side so also fixed that, tweaked what happens when you hover over the nav bar sections and added cool curly arrows to tell my interests in the first page. hope people like the colour scheme and layout now!"}, {"post_id": 45760, "ts": "2026-08-12T13:45:18Z", "hours": 1.4381, "text": "As I didn’t get any good ratings on my last ship, I’m redesigning my whole website. Starting of with colour palettes and the landing page. Let’s see where this goes."}, {"post_id": 33423, "ts": "2026-07-23T10:48:22Z", "hours": 0.7358, "text": "There Were A Ton Of Issues That Popped Up On The Mobile Site. The Big One Was That There Was Overflow-x on the right hand side of the website on mobile. It Took Ages To Only Fix That Issue. When That Issue Was Fixed, Then The Nav Bar Started To Act Weird As It Was Not Following Along The Page Anymore. But Overall I’m Quite Happy With The Site. I Think It Is A Good First Coding Project For Me."}, {"post_id": 33392, "ts": "2026-07-23T09:26:23Z", "hours": 1.5422, "text": "Made The Website Mobile Friendly By Using CSS And The @media screen feature. Also Made All The Social Links In One Container For Better Alignment And Made Their Size Smaller So That They Don’t Feel Odd On The Page."}, {"post_id": 33093, "ts": "2026-07-22T18:08:29Z", "hours": 2.1575, "text": "I Refined The About Me Section. I Added PNGs Of The Social Platforms I Post Content On, I Made The PNGs Interactable So That When You Click Them They Lead You To The Respective Platform With My Profile Opened. I Also Refined The Navigation Bar After A Bit Of Tinkering With The Colour Wheel And Borders. Added Some Borders Around the Home Page And Underlines Under The Section’s Titles."}, {"post_id": 32936, "ts": "2026-07-22T12:40:36Z", "hours": 1.9381, "text": "Finished The Projects Section. Learned A Whole Lot. Tinkered A lot With The Code. Made A Container With Multiple Divs, Added Images, Text And A Link To The Divs, So That When You Hover Over The Projects The Size Increases Slightly And If You Click Anywhere On The Image, text Or Background of The Project, It Will Direct You To The Project Link. Changed The Colour Scheme Of It A lot To See What Looked Best. I’m Quite Happy With This!"}, {"post_id": 32791, "ts": "2026-07-22T05:36:26Z", "hours": 1.2383, "text": "Completed The About Me Section Of The Site. Wrote A Thoughtful Paragraph About Myself And Added An Animated Text So That When You Are Reading The About Me Paragraph The Text Beneath “Loads in”. I Made A Link And Learned How To Make It Separate From The Other Links. I Also Added A Home Tab At The Top, I Felt It Was Needed."}, {"post_id": 32365, "ts": "2026-07-21T14:23:46Z", "hours": 1.9994, "text": "Thanks to my friend @Irtaza . I now know how to make all these cool things like changing the colour of your link, how to make them intractable, how to add a gradient background on to a container and make it animated so that the gradient moves and looks super duper amazing. Speaking of a container, I know how to make it finally and contain the text and image as one, so that it can be used in the css file. Margins were very infuriating but in the end it all worked out!"}, {"post_id": 31689, "ts": "2026-07-20T09:31:10Z", "hours": 0.56, "text": "I Learned How To Create Links, How To Add A Navigation Bar At The Top And How To Add Your Gmail As A Link. I’m Now Further Working On The About Me Section Trying To Refine It And Make It Look A Bit Professional!"}, {"post_id": 31161, "ts": "2026-07-19T10:27:07Z", "hours": 0.5992, "text": "Played Heavily Around With Fonts, Font sizes, Margins, etc. Made The Image a more suitable size and overall just having fun with it!"}, {"post_id": 29603, "ts": "2026-07-16T17:22:20Z", "hours": 1.2956, "text": "Learned CSS from my Friend @Irtaza and I am enjoying coding now. seeing the result of what you code is really cool!! Also the Color command wasn’t working for me because I kept typing “colour” instead of color, I lived in The UK, that’s what it is meant to be ."}, {"post_id": 28455, "ts": "2026-07-14T18:23:40Z", "hours": 0.2506, "text": "First time coding anything, I’m finding the syntax difficult. Im kinda dumb…"}]...
|
Title: Ma-Site by @MuhammadAayanMirza | Stardance
Title: Ma-Site by @MuhammadAayanMirza | Stardance
Devlogs:
First time coding anything, I’m finding the syntax difficult. Im kinda dumb…
Learned CSS from my Friend @Irtaza and I am enjoying coding now. seeing the result of what you code is really cool!! Also the Color command wasn’t working for me because I kept typing “colour” instead of color, I lived in The UK, that’s what it is meant to be .
Played Heavily Around With Fonts, Font sizes, Margins, etc. Made The Image a more suitable size and overall just having fun with it!
I Learned How To Create Links, How To Add A Navigation Bar At The Top And How To Add Your Gmail As A Link. I’m Now Further Working On The About Me Section Trying To Refine It And Make It Look A Bit Professional!
Thanks to my friend @Irtaza . I now know how to make all these cool things like changing the colour of your link, how to make them intractable, how to add a gradient background on to a container and make it animated so that the gradient moves and looks super duper amazing. Speaking of a container, I know how to make it finally and contain the text and image as one, so that it can be used in the css file. Margins were very infuriating but in the end it all worked out!
Completed The About Me Section Of The Site. Wrote A Thoughtful Paragraph About Myself And Added An Animated Text So That When You Are Reading The About Me Paragraph The Text Beneath “Loads in”. I Made A Link And Learned How To Make It Separate From The Other Links. I Also Added A Home Tab At The Top, I Felt It Was Needed.
Finished The Projects Section. Learned A Whole Lot. Tinkered A lot With The Code. Made A Container With Multiple Divs, Added Images, Text And A Link To The Divs, So That When You Hover Over The Projects The Size Increases Slightly And If You Click Anywhere On The Image, text Or Background of The Project, It Will Direct You To The Project Link. Changed The Colour Scheme Of It A lot To See What Looked Best. I’m Quite Happy With This!
I Refined The About Me Section. I Added PNGs Of The Social Platforms I Post Content On, I Made The PNGs Interactable So That When You Click Them They Lead You To The Respective Platform With My Profile Opened. I Also Refined The Navigation Bar After A Bit Of Tinkering With The Colour Wheel And Borders. Added Some Borders Around the Home Page And Underlines Under The Section’s Titles.
Made The Website Mobile Friendly By Using CSS And The @media screen feature. Also Made All The Social Links In One Container For Better Alignment And Made Their Size Smaller So That They Don’t Feel Odd On The Page.
There Were A Ton Of Issues That Popped Up On The Mobile Site. The Big One Was That There Was Overflow-x on the right hand side of the website on mobile. It Took Ages To Only Fix That Issue. When That Issue Was Fixed, Then The Nav Bar Started To Act Weird As It Was Not Following Along The Page Anymore. But Overall I’m Quite Happy With The Site. I Think It Is A Good First Coding Project For Me.
As I didn’t get any good ratings on my last ship, I’m redesigning my whole website. Starting of with colour palettes and the landing page. Let’s see where this goes.
Adjusted all the components of the landing page, shifted the nav bar to the right which somehow removed the background of nav bar from the left side so also fixed that, tweaked what happens when you hover over the nav bar sections and added cool curly arrows to tell my interests in the first page. hope people like the colour scheme and layout now!
Still working on the landing page. I experimented alot with different Profile images, fonts for texts, navigation bar settings and the colour ways of the site. I want to get it right this time and make a strong base for the site!!
Added a loading screen with the text “Welcome” in some different languages and ending of with “I’m Aayan” because I’m Aayan. Also got rid of the curly arrows and small text as I think the landing page looks cleaner without it. The animation part was very difficult for me because it was very new to me, I started of by using JavaScript but for some reason that didn’t work I had to go back to the trusty old CSS.
Changed the colours of the project cards, changed font colours, removed a piece of text which wasn’t needed. Redid the whole About me section visually and adjusted all the sizes of elements across thew website. I’m still working on the sections to make em better and a new section is coming soon 👀
Used JavaScript for the first time to animate the loading of the about section. Changed up the whole colour palette again because the last one was feeling a bit too dull and also polished up the about section of the site. I’m still experimenting with the projects section’s colours and layout and I still need to animate that. It tales me alot of time to do this because this is my first ever coding project and learning new things takes a bit of time.
Redesigned the Projects section and added an animated arrow in the home section which is clickable and leads to the about me section in a smooth manner.
Redesigned the Home section a bit and added a brand new Games section with the one game I have made called “Hyper Slide”. Also now when you hover over the project cards and game card a drop shadow appears behind them making it feel like they are lifted above the page a bit which is cool. Now the site actually feels like a proper usable fun site. Now I need to add a proper contact section and maybe add something else that makes the website feel a bit more complete!
Created the Contact section of the site with an interactive button that if you click will lead you straight to my email and the button glows really cool upon hovering on it. Most of the time in this session was spent on making all the elements on the desktop site also look the same or similar on the mobile site. This took a ton ton of time and I’m still fiddling around with it. Other than that I think the version 2 of Ma-Site is complete and I will soon ship this project and hopefully get a better multiplier than 2.78x .
Added some finishing touches to the site, made the site completely compatible on mobile and created a brand new Readme with pictures of all the sections of Ma-Site. Now I think I’m ready to ship this project and hopefully people of the Stardance community will like it!
Back to making this site even better!! In this session I dived deep into JavaScript to create this animated moving background for the site which I saw on @Irtaza ’s site and I liked it alot. So I spent all this time trying to figure out how that works because I have no idea how JavaScript works. I also added my new game “The Lat Dig” to the game section aswell with a clickable link.
Ships:
This Is My First Time Coding, So Like Most People I Made A Personal Site. I Learned A lot From This Journey, Huge Credit Goes To @Irtaza For Teaching Me Most Of The Code And What it Does. This Website Includes 3 Main Sections, Home, About Me, And Projects. The Contact Button On The Nav Bar Will Directly Lead You To My Email. Each Project Is Clickable And Leads To Their Respective Model. The Social Media Images Are Also Intractable. The Text And Image In The Home Section Increase Size When You Hover Over Them.
This is my First time coding! So like most people I made a Personal Site. The site is made using HTML, CSS and JavaScript, all of which I learned in the making of this website. There is a fun loading screen when you open the site, the arrow in the home section is clickable, and all the project cards and game cards are interactive and lead you to their respective links upon clicking. The “Email me” button in the contact section leads you straight to my email. Hope you like the Site!!...
|
1792968707.7797956
|
1793055107.7797956
|
|
8856
|
The Ares Horizon by @alomnsh | Stardance
|
alomnsh
|
2
|
48.73
|
322
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-20T03:08:53Z", "hours": 19.0, "multiplier": 11.4, "payout": 217, "blessing": "neutral", "text": "What did you make? I made The Ares Horizon, a Python space adventure game where you play as a NASA Flight Director. Since my last ship, I over-hauled the game by adding a brand-new landing minigame with 3 difficulties, branch-linked storylines, and dynamic custom themes. What was challenging? Ditching Tkinter for Pygame was tough because I had to learn the library from scratch to eliminate bugs. I also lost 5 hours failing to host it on the web via noVNC/Docker, forcing me to stick to an .exe. Fixing cross-platform crashes and making it run smoothly on Python 3.14 was a huge headache. What are you proud of? I’m proud of building a robust Pygame + Tkinter interface with zero prior experience. The settings menu features a slick volume slider that changes color dynamically, a factory reset, and a text-speed slider. I also successfully added a seamless “Try Again” tracker without long loading screens. What should people know so they can test your project? Windows: Go to the Releases page and download the The.Ares.Horizon.exe file to play instantly. Mac/Linux: Follow the new README steps to install system dependencies (sdl2) and run inside a Python virtual environment. Python 3.14: Run pip install pygame --ce to avoid compilation errors. Warning: Turn down the audio in the custom Settings menu if the default launch mix is too loud.", "repo": "https://github.com/alomnsh/The-Ares-Horizon", "demo": "https://github.com/alomnsh/The-Ares-Horizon/releases/tag/v2.0.0"}, {"ship_num": 2, "ts": "2026-06-20T17:02:20Z", "hours": 12.0, "multiplier": 9.08, "payout": 105, "blessing": "neutral", "text": "I made my own choice python adventure game where the player takes a high-stake role of a Flight Director at NASA and there objective is to successfully launch, navigate and land a spacecraft on the surface of Mars. To play the game follow the steps in the README. (The game uses Desktop-Based GUI, so it cannot be hosted on clouds and has to run on your local computer). I am proud of how I made it look cinematic and similar to a NASA mission control terminal.", "repo": "https://github.com/alomnsh/The-Ares-Horizon", "demo": "https://github.com/alomnsh/The-Ares-Horizon/releases/tag/v2.0.0"}]...
|
[{"post_id": 68726, "ts": "202 [{"post_id": 68726, "ts": "2026-09-15T17:01:15Z", "hours": 2.5175, "text": "Devlog #16, posting this while at school 🏫 What I did: Fixed bugs in my minigame, there are still some left to resolve Fixed a bug where when you press try again, it put the user directly in the story mode even if they wished to play the mingame Fixed of bug of the emergency glow, it kept glowing after u pressed try again Rewrote parts of code I used AI in Removed and added new comments to make it more clear and not so chaotic Fixed the pygbag sizing issue Last thing, I previously had my setting.json file in the .gitignore for testing purposes and I forgot about it so my settings are what were seen by others instead of the factory settings they should have seen Notes: Fix minigame Optimize for low end devices Possibly add mobile or tablet support?? Make new v3.0.0 releases?? Releases for many OS??"}, {"post_id": 53416, "ts": "2026-08-23T23:10:43Z", "hours": 8.8311, "text": "Devlog #15, this is a big one What i did: So graphics are finally in I would say New hover effects like button glowing CRT lines, I first added them, didn’t go as planned removed em it the felt dead for some reason so added that back again Light mode The major one, improved the mini-game, a lot, it take up the whole screen now instead of just a section like it was earlier, it has added particle effects, and actual landing zone, star backgroud, fuel and velocity control The mini game looks real good but there are some bugs, many I would say I am currently working on fixing sizing issues with GitHub pages, I think pygbag is causing it via my deploy.yml Notes: When the bugs are removed and the sizing issue is fixed I think I will be ready to ship once more"}, {"post_id": 40503, "ts": "2026-08-04T02:29:20Z", "hours": 6.3825, "text": "Devlog #14 What I did: So after I 2nd ship, I went to AirVenture so no code there, It ruined my streak So I have finally, finally pushed the code on the web by making it entirely pygame then I ran pygbag so it is now finally live on GitHub Pages Proud of myself, there is still some work to do like fixing bugs Notes: My ship rating reasons suggested to add graphics so currently working on that I also have to improve the loading screen, looks like shit The biggest bug was getting the character and line spacing right, funny ik"}, {"post_id": 31582, "ts": "2026-07-20T02:55:39Z", "hours": 2.7858, "text": "Devlog 13 !! What’s New: I added Reset All Settings to default button, to reset every thing to the “Factory Setting” New setting, users can adjust how fast the typewriter writes on the screen If the user passes the mini game and lands successfully, they would unlock the option to just play the minigame instead of have to go through the the whole story again Notes: I promised that I will release web, I tried, failed miserably, so I am just releasing a new .exe I tried everything to pygame , didn’t work out, then tried to host it on noVNC, it acted up to, I finally gave up after 5 hrs of trying, didn’t count that because that was trial and error and not actual coding (although I did had to make and modify my Dockerfile like a 100 times)"}, {"post_id": 29177, "ts": "2026-07-15T22:03:47Z", "hours": 2.2292, "text": "Devlog #12 !! What I did: So as u guys know I added audio controls in the previous devlog, I made it even better now The settings menu is now in pygame instead of tkinter The slider changes color as the volume is changed (It looks so cool!!!!! ) There is a new “Mute All Sounds” check box Notes: tkinter sucks, I loved it at first it was easy but as my code becomes more complex it just causes unnecessary bugs, so I plan to switch entirely to pygame After I make the switch I can finally publish it to the web so you guys don’t have to download the source code or an .exe file (I was planning to do this, I got many reviews saying that a website would be better, so I am doing that)"}, {"post_id": 26902, "ts": "2026-07-11T23:05:32Z", "hours": 1.5653, "text": "Devlog #11 !!! What I did: So I switched from ctypes to the pygame audio engine this is so when my game is played on MacOS or Linux it doesn’t throw errors because ctypes is a Windows thing Added a settings menu to control the volume of the background music and the emergency sounds. The user preferences are saved using a .json file Updated my README.md so the instructions to how to play my game on another operating system aren’t broken Thanks to my ship suggestion, I am trying my best to implement those suggestions into my game and have already done so with a few of them!! What might be coming next: I hope that I can add to the settings menu so the user can control how they want the colors to look in the game, so basically full customization."}, {"post_id": 26133, "ts": "2026-07-10T19:03:00Z", "hours": 2.0886, "text": "My first ship is finally here, after 3 changes requested, I added a try again screen so the user doesn’t have to through the loading when they try again now it just shows there tries. Thanks for the idea from my first ship."}, {"post_id": 20472, "ts": "2026-07-02T02:15:56Z", "hours": 0.4544, "text": "Fixed the bug made the buttons disappear if your screen was too small or you weren’t fullscreened"}, {"post_id": 20339, "ts": "2026-07-01T22:18:29Z", "hours": 6.5228, "text": "v2.0.0 I think?? What’s New: New Landing minigame!! 3 difficulties The minigame features SPIKES!! Improved GUI Changes: I orginally started building my game on tkinter thinking it would be easy because my rest of the code was build on it, but I was wrong, it was so annoying to work with and caused so many bugs that I decided to switch to pygame I have never worked with pygame before so I ha to learn and then figure out a way to combine tkinter and pygame . Also, pygame is not supported in Python 3.14 so I had to do pip install pygame --ce the community edition I got it to work and I am so proud The video is a bit speed up"}, {"post_id": 16038, "ts": "2026-06-26T01:44:55Z", "hours": 1.09, "text": "I cleaned up the UI and linked the Solar Sails choice in branch 2 to the ending choice of branch 1. I know I promised that the update after the SFX one would be customization but I want to focus more on the game itself so I would just be adding a Dark and Light mode. And doing more customization options later."}, {"post_id": 14716, "ts": "2026-06-23T22:26:53Z", "hours": 2.4447, "text": "v 1.0.1 is incoming!! What’s New: Switched from the package of playsound to ctypes New SFXs, listen to them in the attachment (After this update rolls out, I will be working on given the user the freedom to customize how they want the game to look) Turn up your sound to listen to the sounds I cut out the parts where I selected options so that I don’t reveal the answers, if you want to try it out your self head over The Ares Horizon Repo"}, {"post_id": 12589, "ts": "2026-06-20T15:41:49Z", "hours": 1.0719, "text": "Finished my README and fixed crash bug with typewriter when the window is closed while it is typing"}, {"post_id": 11662, "ts": "2026-06-19T00:21:39Z", "hours": 1.5231, "text": "Currently working on my README for this project and before this I just fix a few things in my code. Added a background music loop that loops the audio forever and then fixed a crash bug"}, {"post_id": 10267, "ts": "2026-06-16T22:16:48Z", "hours": 4.3747, "text": "Added GUI to my games, fixed countless errors and bugs, added a loaded screen, Made it so that the buttons are interactive and only popup when the typing is finished. Added more colors to my text. Progress bar for the points."}, {"post_id": 8857, "ts": "2026-06-14T18:59:46Z", "hours": 3.4211, "text": "Finished all the choice, added typewriter function and color function. Changed how I want the text to be displayed when the code is running. Added background music. Made the background audio in Canva"}, {"post_id": 7134, "ts": "2026-06-11T22:21:25Z", "hours": 1.2161, "text": "Added 1st Choice Branch, worked on storyline, started to work on 2nd choice branch"}]...
|
Title: The Ares Horizon by @alomnsh | Stardance
D Title: The Ares Horizon by @alomnsh | Stardance
Devlogs:
Added 1st Choice Branch, worked on storyline, started to work on 2nd choice branch
Finished all the choice, added typewriter function and color function. Changed how I want the text to be displayed when the code is running. Added background music. Made the background audio in Canva
Added GUI to my games, fixed countless errors and bugs, added a loaded screen, Made it so that the buttons are interactive and only popup when the typing is finished. Added more colors to my text. Progress bar for the points.
Currently working on my README for this project and before this I just fix a few things in my code. Added a background music loop that loops the audio forever and then fixed a crash bug
Finished my README and fixed crash bug with typewriter when the window is closed while it is typing
v 1.0.1 is incoming!! What’s New: Switched from the package of playsound to ctypes New SFXs, listen to them in the attachment (After this update rolls out, I will be working on given the user the freedom to customize how they want the game to look) Turn up your sound to listen to the sounds I cut out the parts where I selected options so that I don’t reveal the answers, if you want to try it out your self head over The Ares Horizon Repo
I cleaned up the UI and linked the Solar Sails choice in branch 2 to the ending choice of branch 1. I know I promised that the update after the SFX one would be customization but I want to focus more on the game itself so I would just be adding a Dark and Light mode. And doing more customization options later.
v2.0.0 I think?? What’s New: New Landing minigame!! 3 difficulties The minigame features SPIKES!! Improved GUI Changes: I orginally started building my game on tkinter thinking it would be easy because my rest of the code was build on it, but I was wrong, it was so annoying to work with and caused so many bugs that I decided to switch to pygame I have never worked with pygame before so I ha to learn and then figure out a way to combine tkinter and pygame . Also, pygame is not supported in Python 3.14 so I had to do pip install pygame --ce the community edition I got it to work and I am so proud The video is a bit speed up
Fixed the bug made the buttons disappear if your screen was too small or you weren’t fullscreened
My first ship is finally here, after 3 changes requested, I added a try again screen so the user doesn’t have to through the loading when they try again now it just shows there tries. Thanks for the idea from my first ship.
Devlog #11 !!! What I did: So I switched from ctypes to the pygame audio engine this is so when my game is played on MacOS or Linux it doesn’t throw errors because ctypes is a Windows thing Added a settings menu to control the volume of the background music and the emergency sounds. The user preferences are saved using a .json file Updated my README.md so the instructions to how to play my game on another operating system aren’t broken Thanks to my ship suggestion, I am trying my best to implement those suggestions into my game and have already done so with a few of them!! What might be coming next: I hope that I can add to the settings menu so the user can control how they want the colors to look in the game, so basically full customization.
Devlog #12 !! What I did: So as u guys know I added audio controls in the previous devlog, I made it even better now The settings menu is now in pygame instead of tkinter The slider changes color as the volume is changed (It looks so cool!!!!! ) There is a new “Mute All Sounds” check box Notes: tkinter sucks, I loved it at first it was easy but as my code becomes more complex it just causes unnecessary bugs, so I plan to switch entirely to pygame After I make the switch I can finally publish it to the web so you guys don’t have to download the source code or an .exe file (I was planning to do this, I got many reviews saying that a website would be better, so I am doing that)
Devlog 13 !! What’s New: I added Reset All Settings to default button, to reset every thing to the “Factory Setting” New setting, users can adjust how fast the typewriter writes on the screen If the user passes the mini game and lands successfully, they would unlock the option to just play the minigame instead of have to go through the the whole story again Notes: I promised that I will release web, I tried, failed miserably, so I am just releasing a new .exe I tried everything to pygame , didn’t work out, then tried to host it on noVNC, it acted up to, I finally gave up after 5 hrs of trying, didn’t count that because that was trial and error and not actual coding (although I did had to make and modify my Dockerfile like a 100 times)
Devlog #14 What I did: So after I 2nd ship, I went to AirVenture so no code there, It ruined my streak So I have finally, finally pushed the code on the web by making it entirely pygame then I ran pygbag so it is now finally live on GitHub Pages Proud of myself, there is still some work to do like fixing bugs Notes: My ship rating reasons suggested to add graphics so currently working on that I also have to improve the loading screen, looks like shit The biggest bug was getting the character and line spacing right, funny ik
Devlog #15, this is a big one What i did: So graphics are finally in I would say New hover effects like button glowing CRT lines, I first added them, didn’t go as planned removed em it the felt dead for some reason so added that back again Light mode The major one, improved the mini-game, a lot, it take up the whole screen now instead of just a section like it was earlier, it has added particle effects, and actual landing zone, star backgroud, fuel and velocity control The mini game looks real good but there are some bugs, many I would say I am currently working on fixing sizing issues with GitHub pages, I think pygbag is causing it via my deploy.yml Notes: When the bugs are removed and the sizing issue is fixed I think I will be ready to ship once more
Devlog #16, posting this while at school 🏫 What I did: Fixed bugs in my minigame, there are still some left to resolve Fixed a bug where when you press try again, it put the user directly in the story mode even if they wished to play the mingame Fixed of bug of the emergency glow, it kept glowing after u pressed try again Rewrote parts of code I used AI in Removed and added new comments to make it more clear and not so chaotic Fixed the pygbag sizing issue Last thing, I previously had my setting.json file in the .gitignore for testing purposes and I forgot about it so my settings are what were seen by others instead of the factory settings they should have seen Notes: Fix minigame Optimize for low end devices Possibly add mobile or tablet support?? Make new v3.0.0 releases?? Releases for many OS??
Ships:
I made my own choice python adventure game where the player takes a high-stake role of a Flight Director at NASA and there objective is to successfully launch, navigate and land a spacecraft on the surface of Mars. To play the game follow the steps in the README. (The game uses Desktop-Based GUI, so it cannot be hosted on clouds and has to run on your local computer). I am proud of how I made it look cinematic and similar to a NASA mission control terminal.
What did you make? I made The Ares Horizon, a Python space adventure game where you play as a NASA Flight Director. Since my last ship, I over-hauled the game by adding a brand-new landing minigame with 3 difficulties, branch-linked storylines, and dynamic custom themes. What was challenging? Ditching Tkinter for Pygame was tough because I had to learn the library from scratch to eliminate bugs. I also lost 5 hours failing to host it on the web via noVNC/Docker, forcing me to stick to an .exe. Fixing cross-platform crashes and making it run smoothly on Python 3.14 was a huge headache. What are you proud of? I’m proud of building a robust Pygame + Tkinter interface with zero prior experience. The settings menu features a slick volume slider that changes color dynamically, a factory reset, and a text-speed slider. I also successfully added a seamless “Try Again” tracker without long loading screens. What should people know so they can test your project? Windows: Go to the Releases page and download the The.Ares.Horizon.exe file to play instantly. Mac/Linux: Follow the new README steps to install system dependencies (sdl2) and run inside a Python virtual environment. Python 3.14: Run pip install pygame --ce to avoid compilation errors. Warning: Turn down the audio in the custom Settings menu if the default launch mix is too loud....
|
1793000951.3744287
|
1793087351.3744287
|
|
37145
|
Floppy FS (File System) by @UmarFarooq | Stardance
|
UmarFarooq
|
1
|
38.0
|
322
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T17:35:30Z", "hours": 38.0, "multiplier": 16.91, "payout": 322, "blessing": "neutral", "text": "Floppy FS is a file system that runs entirely in the browser. It has two modes, UI and terminal. here are its features: UI: Create files and folders. Different type of files (text, image and video, pdf and word files supported). Right click anywhere on the screen to open context menu and perform actions. Right click on a file to perform actions on that specific file. Breadcrumb is available to show exactly where is the user. Floppy Notepad available to edit text files. Floppy Image Viewer available to view image files. Floppy Video Player for playing videos. Floppy PDF Viewer for reading PDFs. Displaying notifications using react-hot-toast . A search bar to search files in current directory. Full CRUD functionality is available. Unique icon for each type of file. Copy/Cut > Paste functionality is available thorugh context menu. Grid/List view available. View details for files/folders in list view. Sort by name, date created and size. Download files. For folders, it downloads the zip file. Terminal: Dark themed terminal for moving around the file system. ls -la for displaying all the files/folders in current directory. cat <file> for viewing the content stored in file. cd <folder> for changing directory. touch <file> for creating files. mkdir <folder> for creating folders. rm <target> for deleting file or folder. rename <old> <new> for renaming files/folders. cat <file> for viewing content of text files. edit <file> for opening file in the editor. tree for viewing tree view of the folder. export <file> for downloading files. clear for clearing the terminal.", "repo": "https://github.com/Umar-Farooq-5757/floppy-fs", "demo": "https://floppyfs.vercel.app/"}]...
|
[{"post_id": 60361, "ts": "202 [{"post_id": 60361, "ts": "2026-09-02T17:27:56Z", "hours": 5.8117, "text": "Here is the Final devlog before shipping. Added a bunch of new features and improved UI/UX. Features added: Sort by name, date created and size. Download files. For folders, it downloads the zip file. Grid/List view available. View details for files/folders in list view. Added support for pdf files and word documents. Included size property with every file/folder. New commands in terminal: rename <old> <new> for renaming files/folders. tree for viewing tree view of the folder. export <file> for downloading files."}, {"post_id": 58788, "ts": "2026-08-31T11:15:20Z", "hours": 4.1461, "text": "Welcome to devlog #7 of Floppy FS. I’ve added a bunch of new terminal commands and added Copy/Cut > Paste functionality in the UI mode. Right click to open context menu and perform copy/cut > paste. New terminal commands: touch <filename> for creating files. mkdir <foldername> for creating folders. rm <target> for deleting file or folder. edit <filename> for opening file in the editor."}, {"post_id": 57542, "ts": "2026-08-29T18:31:11Z", "hours": 7.8792, "text": "Introducing terminal mode. Now, you can move around the Floppy File System and perform actions using terminal commands. Available commands for now: ls for displaying all the files/folders in current directory. cat <filename> for viewing the content stored in file. cd <foldername> for changing directory. clear for clearing the terminal. More commands will be added soon. I’m actively working on this project."}, {"post_id": 55481, "ts": "2026-08-27T11:07:09Z", "hours": 2.9756, "text": "Here’s the devlog #5 of Floppy File System. The UX is improved (pressing enter when creating new file or folder creates them). Plus, users can also rename files and folders now by right clicking the file or folder and then selecting rename from context menu. And some improvements in utility functions."}, {"post_id": 54949, "ts": "2026-08-26T11:30:06Z", "hours": 6.6528, "text": "Welcome to devlog #4. Here are the changes and new features I’ve added: Now, the support for image and video files is added. Created “Floppy Image Viewer” for viewing images. Added filename extensions (.txt, .png, .mp4)"}, {"post_id": 53024, "ts": "2026-08-23T12:31:17Z", "hours": 1.6842, "text": "Welcome to devlog #3 of Floppy File System. Here are the changes for this devlog. The whole CRUD (Create, Read, Update, Delete) functionality is working now. Designed two custom context menus. The general one for whole screeen. And a node specific context menu: When you right click on a file or folder, you can perform actions on it. The breadcrumb is working now. You can click on any folder name in the breadcrumb section (section to the left of search box) to jump directly to that folder."}, {"post_id": 52567, "ts": "2026-08-22T19:04:14Z", "hours": 1.5283, "text": "Here is the devlog #2 of Floppy FS. I have updated a little bit UI and added some features: Changed the icon of files and folders like windows file explorer. Now, you can actually edit the content of text files. Also, added the search functionality for searching files and folders. Notifications are available now for feedback of important actions."}, {"post_id": 52124, "ts": "2026-08-22T06:48:14Z", "hours": 7.3875, "text": "Welcome to the first devlog of Floppy FS, a file system that runs entirely in the browser. Here are the features that I have completed building: Create files and folders. View files/folders as a grid view like windows file explorer. Notepad UI for viewing file contents. Custom context menu available for performing actions. Storing all the data in browser’s indexed db."}]...
|
Title: Floppy FS (File System) by @UmarFarooq | St Title: Floppy FS (File System) by @UmarFarooq | Stardance
Devlogs:
Welcome to the first devlog of Floppy FS, a file system that runs entirely in the browser. Here are the features that I have completed building: Create files and folders. View files/folders as a grid view like windows file explorer. Notepad UI for viewing file contents. Custom context menu available for performing actions. Storing all the data in browser’s indexed db.
Here is the devlog #2 of Floppy FS. I have updated a little bit UI and added some features: Changed the icon of files and folders like windows file explorer. Now, you can actually edit the content of text files. Also, added the search functionality for searching files and folders. Notifications are available now for feedback of important actions.
Welcome to devlog #3 of Floppy File System. Here are the changes for this devlog. The whole CRUD (Create, Read, Update, Delete) functionality is working now. Designed two custom context menus. The general one for whole screeen. And a node specific context menu: When you right click on a file or folder, you can perform actions on it. The breadcrumb is working now. You can click on any folder name in the breadcrumb section (section to the left of search box) to jump directly to that folder.
Welcome to devlog #4. Here are the changes and new features I’ve added: Now, the support for image and video files is added. Created “Floppy Image Viewer” for viewing images. Added filename extensions (.txt, .png, .mp4)
Here’s the devlog #5 of Floppy File System. The UX is improved (pressing enter when creating new file or folder creates them). Plus, users can also rename files and folders now by right clicking the file or folder and then selecting rename from context menu. And some improvements in utility functions.
Introducing terminal mode. Now, you can move around the Floppy File System and perform actions using terminal commands. Available commands for now: ls for displaying all the files/folders in current directory. cat <filename> for viewing the content stored in file. cd <foldername> for changing directory. clear for clearing the terminal. More commands will be added soon. I’m actively working on this project.
Welcome to devlog #7 of Floppy FS. I’ve added a bunch of new terminal commands and added Copy/Cut > Paste functionality in the UI mode. Right click to open context menu and perform copy/cut > paste. New terminal commands: touch <filename> for creating files. mkdir <foldername> for creating folders. rm <target> for deleting file or folder. edit <filename> for opening file in the editor.
Here is the Final devlog before shipping. Added a bunch of new features and improved UI/UX. Features added: Sort by name, date created and size. Download files. For folders, it downloads the zip file. Grid/List view available. View details for files/folders in list view. Added support for pdf files and word documents. Included size property with every file/folder. New commands in terminal: rename <old> <new> for renaming files/folders. tree for viewing tree view of the folder. export <file> for downloading files.
Ships:
Floppy FS is a file system that runs entirely in the browser. It has two modes, UI and terminal. here are its features: UI: Create files and folders. Different type of files (text, image and video, pdf and word files supported). Right click anywhere on the screen to open context menu and perform actions. Right click on a file to perform actions on that specific file. Breadcrumb is available to show exactly where is the user. Floppy Notepad available to edit text files. Floppy Image Viewer available to view image files. Floppy Video Player for playing videos. Floppy PDF Viewer for reading PDFs. Displaying notifications using react-hot-toast . A search bar to search files in current directory. Full CRUD functionality is available. Unique icon for each type of file. Copy/Cut > Paste functionality is available thorugh context menu. Grid/List view available. View details for files/folders in list view. Sort by name, date created and size. Download files. For folders, it downloads the zip file. Terminal: Dark themed terminal for moving around the file system. ls -la for displaying all the files/folders in current directory. cat <file> for viewing the content stored in file. cd <folder> for changing directory. touch <file> for creating files. mkdir <folder> for creating folders. rm <target> for deleting file or folder. rename <old> <new> for renaming files/folders. cat <file> for viewing content of text files. edit <file> for opening file in the editor. tree for viewing tree view of the folder. export <file> for downloading files. clear for clearing the terminal....
|
1792990518.8201272
|
1793076918.8201272
|
|
4513
|
My new personal website! by @jonasvanleeuwen19 | S My new personal website! by @jonasvanleeuwen19 | Stardance...
|
jonasvanleeuwen19
|
3
|
24.0
|
321
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T09:13:21Z", "hours": 5.0, "multiplier": 14.43, "payout": 71, "blessing": "neutral", "text": "Added some updates to my website, small css and content updates, new badges section with 88x31 badges! (so cool!) I also added pages for projects and made a docker container to monitor my recent playing game on steam, to show it on a widget in the “What am I doing right now?” section!", "repo": "https://git.tuxworld.nl/jonas/site-redesign", "demo": "https://jonas.yixboost.dev"}, {"ship_num": 2, "ts": "2026-07-16T03:03:47Z", "hours": 12.0, "multiplier": 13.83, "payout": 163, "blessing": "neutral", "text": "This is my second ship on this project! The goal of this project is to create an personal site about me that isn’t boring and is made without AI. It’s already live on my domain (jonas.yixboost.dev). All the assets used like the background, the drawings for section borders, lines, the navbar, cards and buttons are made by me with GIMP and Inkscape, because it makes my site more special and I want to get better with these programs. Even the font used for headings (MyDamnFont) is my own hand writing (; Hope you all like it!", "repo": "https://git.tuxworld.nl/jonas/site-redesign", "demo": "https://jonas.yixboost.dev"}, {"ship_num": 3, "ts": "2026-06-17T16:18:05Z", "hours": 7.0, "multiplier": 13.41, "payout": 87, "blessing": "neutral", "text": "I made a redesign of my personal website, it’s a complete rebuild from scratch, I wanted to replace my personal website with one I completely made myself without AI. I have added some nice cards for my projects, Hackatime stats and an animated section about myself. I finally published it on https://jonas.yixboost.dev The background image is self-made with GIMP to improve my GIMP skills (that time is not logged, rip)", "repo": "https://git.tuxworld.nl/jonas/site-redesign", "demo": "https://jonas.yixboost.dev"}]...
|
[{"post_id": 70139, "ts": "202 [{"post_id": 70139, "ts": "2026-09-18T15:24:10Z", "hours": 0.8519, "text": "Added steam currently playing game to the “What am I doing right now?” section. It uses an API proxy for current playing games I made with python running in docker: https://git.tuxworld.nl/jonas/steam-now-playing"}, {"post_id": 66208, "ts": "2026-09-11T21:51:35Z", "hours": 1.4586, "text": "Added project information page with automatic loading from my JSON projects list. Also made some CSS and html changes to clean up like removing tags and better css positioning."}, {"post_id": 35427, "ts": "2026-07-26T20:38:36Z", "hours": 0.6267, "text": "Small CSS fixes, better README and updated screenshot"}, {"post_id": 29747, "ts": "2026-07-16T20:48:20Z", "hours": 1.9881, "text": "Added badges section Added some cool 88x31 badges to a section on my website! Including badges about the site, my favorite software, games and more!"}, {"post_id": 29278, "ts": "2026-07-16T02:54:55Z", "hours": 4.6006, "text": "Massive update today! To start with, I didn’t really like the morph sidebar I made last time, so I made the hard choice to remove it. I looked at some Hack Club event websites, and found out many of them are using custom image assets for things like container borders and buttons, I like that idea, it’s cool to make hand drawn assets and use them on your website, it gives your website something special. So of course I tried it myself, First I did some research on how it works and how you can make custom section borders, I found this guide: https://css-tricks.com/revisiting-css-border-image/ This guide explains very well how custom borders work and how you can use it Of course I saved it to my personal Readeck ;) I started with just drawing a simple square in GIMP (just because I already know how to use GIMP) and then I applied it with CSS to my sections like in the guide, this worked, but I didn’t look that good, so I removed the CSS blur effect from earlier and used image opacity in GIMP to create a blue semi-transparent section, and I added a thin extra line to the border to make it look better. I wanted to use this on my LastFM music widget as well, but that didn’t work because the background needs to be applied with CSS with colors from the currently playing songs cover image, so there I can’t use the same border image as background. The problem here is that the background is then going outside of the border lines, after MANY ways of trying to fix this I found the solution, I made a black and white version of the image and updated my javascript to replace the black and white with the correct colors and then inject THAT image. This works extremely good, it’s looks so good now! When that was finally done, I did some last changes, made assets for buttons, lines, the navbar, the other cards, etc, all the components do now have a custom drawn border. I ended with adding new fonts, all the normal text is now Jetbrains Mono Regular (cause why not, I use that everywhere) and the headings are my own handwriting! I used an online tool to make a hand drawn font and used that font on my site! (MyDamnFont)"}, {"post_id": 23702, "ts": "2026-07-06T20:13:08Z", "hours": 3.2211, "text": "Today is my longest devlog! (I needed time for centering a with CSS, lol) But now serious, I worked really long on my new desktop sidebar, first it’s the same navbar as earlier but if you scroll the navbar is first decreasing it’s width and then increasing it’s height until it’s a sidebar. It has fade animations for the content inside of it and on mobile it stays a navbar but with a hamburger menu. There are also some small changes, the links in the nav/sidebar are now buttons so it’s more clear you can click on them (thanks for the suggestion you random person from ship #1 rating) The site is also more mobile friendly, as I said, there’s nwo a better hamburger menu exclusive for mobile devices, and the links in the about section are big buttons on your phone. The allignment for the whole about section is fixed for mobile devices. Lastly, in many of the feedbacks people said that the hackatime widgets where going out of the section, that’s now fixed (;"}, {"post_id": 20677, "ts": "2026-07-02T10:29:24Z", "hours": 1.8083, "text": "I added an ‘What am I doing right now?’ section with a music widget that displays my now playing music, it auto-updates the background gradient and badge colors by getting the main colors from the songs cover image, it gets the now playing song from the Last.fm API, and my Last.fm profile is connected to my JellyFin server. I also added two extra projects to the carousel, “This website” and “The Jump 3000”"}, {"post_id": 12619, "ts": "2026-06-20T16:47:47Z", "hours": 1.3639, "text": "Today I added an animated pacman with ghost and pacman made with css animations, and I redesigned the Hackatime section widgets by looking at the documentation for the widgets"}, {"post_id": 12527, "ts": "2026-06-20T13:30:24Z", "hours": 0.8478, "text": "Made the Hackclub guy transparent and outline-only, made javascript to load projects from projects.json and I used swiper.js to put the project cards inside a 3D carousel"}, {"post_id": 10690, "ts": "2026-06-17T15:37:23Z", "hours": 1.2806, "text": "Today i added animations, typing effect, moving images, small content updates, and i added a better README, and most important! I published it on jonas.yixboost.dev!"}, {"post_id": 10017, "ts": "2026-06-16T15:44:39Z", "hours": 1.0206, "text": "Today I added some cool stuff! I started with designing a new background image with nicer colors, it’s self made in GIMP, the .xcf file is in the /assets/images folder Then I wanted to add something happy to the startpage, so i got an image of this Hack Club guy with a flag and added it to the right of the ‘Who am I?’ section (terrible positioning a div is not so fun to do), by the way, I renamed that, it was called the ‘About’ section, but that’s boring…. To make the ‘Who am I?’ section even nicer, I added an CSS shimmer effect to my name, I can use this effect everywhere now by adding the “shimmer” class to an html tag. In the top right corner of the ’’My Projects” section (renamed from “Projects”) I added a link to all my repositories, to put it in the corner I needed to use the bootstrap “d-flex” class. Because of the new background the scroll to top button was less visible, so i made it light gray Lastly, I edited some text content."}, {"post_id": 6397, "ts": "2026-06-10T19:15:23Z", "hours": 0.6267, "text": "Today I did not have that much time, but I gave the navbar a nice blurred glass effect, added an scroll to top button that appears when you scroll down (Credits: https://github.com/mdbootstrap/bootstrap-back-to-top-button ), I also made the buttons inside the project cards nicer. Some small changes everywhere, but every minute counts!"}, {"post_id": 5568, "ts": "2026-06-09T12:13:38Z", "hours": 1.4839, "text": "Today added many small changes! To start I added a Favicon (simple but needed) I did some content changes, and I added a brand new “Hackatime Stats” section, because i think it’s cool if you can see real time data, this works perfect, I added programming language stats, 356 day activity and a button to my Hackatime profile, another thing I did was making the project section nice, I added real content, the right images, hand-written descriptions and buttons and links, I added Yixboost Games, ChessOverAPI and JustTitanium."}, {"post_id": 5124, "ts": "2026-06-08T20:14:47Z", "hours": 0.555, "text": "I added an logo to the navbar and made the beginning of my Projects section, i’m completing that section later."}, {"post_id": 887, "ts": "2026-06-02T16:40:35Z", "hours": 1.0392, "text": "I made the allignment better, made the navbar dark and I made the about section a real (visible) container and gave it a blur effect, next I added a cool background"}, {"post_id": 807, "ts": "2026-06-02T14:09:13Z", "hours": 0.5267, "text": "I started the project by making a simple bootstrap structure"}]...
|
Title: My new personal website! by @jonasvanleeuwe Title: My new personal website! by @jonasvanleeuwen19 | Stardance
Devlogs:
I started the project by making a simple bootstrap structure
I made the allignment better, made the navbar dark and I made the about section a real (visible) container and gave it a blur effect, next I added a cool background
I added an logo to the navbar and made the beginning of my Projects section, i’m completing that section later.
Today added many small changes! To start I added a Favicon (simple but needed) I did some content changes, and I added a brand new “Hackatime Stats” section, because i think it’s cool if you can see real time data, this works perfect, I added programming language stats, 356 day activity and a button to my Hackatime profile, another thing I did was making the project section nice, I added real content, the right images, hand-written descriptions and buttons and links, I added Yixboost Games, ChessOverAPI and JustTitanium.
Today I did not have that much time, but I gave the navbar a nice blurred glass effect, added an scroll to top button that appears when you scroll down (Credits: https://github.com/mdbootstrap/bootstrap-back-to-top-button ), I also made the buttons inside the project cards nicer. Some small changes everywhere, but every minute counts!
Today I added some cool stuff! I started with designing a new background image with nicer colors, it’s self made in GIMP, the .xcf file is in the /assets/images folder Then I wanted to add something happy to the startpage, so i got an image of this Hack Club guy with a flag and added it to the right of the ‘Who am I?’ section (terrible positioning a div is not so fun to do), by the way, I renamed that, it was called the ‘About’ section, but that’s boring…. To make the ‘Who am I?’ section even nicer, I added an CSS shimmer effect to my name, I can use this effect everywhere now by adding the “shimmer” class to an html tag. In the top right corner of the ’’My Projects” section (renamed from “Projects”) I added a link to all my repositories, to put it in the corner I needed to use the bootstrap “d-flex” class. Because of the new background the scroll to top button was less visible, so i made it light gray Lastly, I edited some text content.
Today i added animations, typing effect, moving images, small content updates, and i added a better README, and most important! I published it on jonas.yixboost.dev!
Made the Hackclub guy transparent and outline-only, made javascript to load projects from projects.json and I used swiper.js to put the project cards inside a 3D carousel
Today I added an animated pacman with ghost and pacman made with css animations, and I redesigned the Hackatime section widgets by looking at the documentation for the widgets
I added an ‘What am I doing right now?’ section with a music widget that displays my now playing music, it auto-updates the background gradient and badge colors by getting the main colors from the songs cover image, it gets the now playing song from the Last.fm API, and my Last.fm profile is connected to my JellyFin server. I also added two extra projects to the carousel, “This website” and “The Jump 3000”
Today is my longest devlog! (I needed time for centering a with CSS, lol) But now serious, I worked really long on my new desktop sidebar, first it’s the same navbar as earlier but if you scroll the navbar is first decreasing it’s width and then increasing it’s height until it’s a sidebar. It has fade animations for the content inside of it and on mobile it stays a navbar but with a hamburger menu. There are also some small changes, the links in the nav/sidebar are now buttons so it’s more clear you can click on them (thanks for the suggestion you random person from ship #1 rating) The site is also more mobile friendly, as I said, there’s nwo a better hamburger menu exclusive for mobile devices, and the links in the about section are big buttons on your phone. The allignment for the whole about section is fixed for mobile devices. Lastly, in many of the feedbacks people said that the hackatime widgets where going out of the section, that’s now fixed (;
Massive update today! To start with, I didn’t really like the morph sidebar I made last time, so I made the hard choice to remove it. I looked at some Hack Club event websites, and found out many of them are using custom image assets for things like container borders and buttons, I like that idea, it’s cool to make hand drawn assets and use them on your website, it gives your website something special. So of course I tried it myself, First I did some research on how it works and how you can make custom section borders, I found this guide: https://css-tricks.com/revisiting-css-border-image/ This guide explains very well how custom borders work and how you can use it Of course I saved it to my personal Readeck ;) I started with just drawing a simple square in GIMP (just because I already know how to use GIMP) and then I applied it with CSS to my sections like in the guide, this worked, but I didn’t look that good, so I removed the CSS blur effect from earlier and used image opacity in GIMP to create a blue semi-transparent section, and I added a thin extra line to the border to make it look better. I wanted to use this on my LastFM music widget as well, but that didn’t work because the background needs to be applied with CSS with colors from the currently playing songs cover image, so there I can’t use the same border image as background. The problem here is that the background is then going outside of the border lines, after MANY ways of trying to fix this I found the solution, I made a black and white version of the image and updated my javascript to replace the black and white with the correct colors and then inject THAT image. This works extremely good, it’s looks so good now! When that was finally done, I did some last changes, made assets for buttons, lines, the navbar, the other cards, etc, all the components do now have a custom drawn border. I ended with adding new fonts, all the normal text is now Jetbrains Mono Regular (cause why not, I use that everywhere) and the headings are my own handwriting! I used an online tool to make a hand drawn font and used that font on my site! (MyDamnFont)
Added badges section Added some cool 88x31 badges to a section on my website! Including badges about the site, my favorite software, games and more!
Small CSS fixes, better README and updated screenshot
Added project information page with automatic loading from my JSON projects list. Also made some CSS and html changes to clean up like removing tags and better css positioning.
Added steam currently playing game to the “What am I doing right now?” section. It uses an API proxy for current playing games I made with python running in docker: https://git.tuxworld.nl/jonas/steam-now-playing
Ships:
I made a redesign of my personal website, it’s a complete rebuild from scratch, I wanted to replace my personal website with one I completely made myself without AI. I have added some nice cards for my projects, Hackatime stats and an animated section about myself. I finally published it on https://jonas.yixboost.dev The background image is self-made with GIMP to improve my GIMP skills (that time is not logged, rip)
This is my second ship on this project! The goal of this project is to create an personal site about me that isn’t boring and is made without AI. It’s already live on my domain (jonas.yixboost.dev). All the assets used like the background, the drawings for section borders, lines, the navbar, cards and buttons are made by me with GIMP and Inkscape, because it makes my site more special and I want to get better with these programs. Even the font used for headings (MyDamnFont) is my own hand writing (; Hope you all like it!
Added some updates to my website, small css and content updates, new badges section with 88x31 badges! (so cool!) I also added pages for projects and made a docker container to monitor my recent playing game on steam, to show it on a widget in the “What am I doing right now?” section!...
|
1792983399.4061882
|
1793069799.4061882
|
|
56348
|
LightScanner by @belbel | Stardance
|
belbel
|
2
|
20.0
|
321
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T06:21:13Z", "hours": 4.0, "multiplier": 17.93, "payout": 91, "blessing": "neutral", "text": "Okay so here it comes new version for Lightscanner web app! After my friends using it for a while, they gave me a feedback saying it would be great if it has a ‘fit to page’ option for the page size. This way, the user wouldn’t have to go through complicated process on zooming in the pictures or trying different page sizes when it is not needed. This one was kind of challenging to pull because it means I also need to change a little bit parts of my FastAPI backend. Additionally I’ve also added custom page sizing so that the user can use whatever page size they want! My mom also needs this for her photocopy and printing tasks so I made it. Another feature is also we will be able to rename our files before downloading, would be helpful for mobile devices where the prompt asking something like the name file just doesn’t pop up. Then a day later I also added print preview feature or PDF preview feature. Say I’ve added 25 images and have cropped and zoomed each one then I want to do a rechecking. So Instead of doing it per images which could be harder and complicated, I’ve added a feature where the user will be able to check the entire PDF file with a single click. I took my time to draw more Nyny. Because so far there’s only three drawings of her, so let’s add one more! Basically Nyny now hangs on top of some modal interfaces. I used google meet to record my Lapse when drawing on Ibis Paint.", "repo": "https://github.com/nabeellagi/client-lightscanner", "demo": "https://lightscanner.vercel.app"}, {"ship_num": 2, "ts": "2026-09-27T06:15:32Z", "hours": 16.0, "multiplier": 14.56, "payout": 230, "blessing": "neutral", "text": "HI!! So this is my project, Lightscanner! A simpler, lighter alternative for CamScanner or any other image-scanning mobile app. And an image-to-PDF converter like ILovePDF but with built-in filters! It’s been a while since I’ve coded with both Next.js and FastAPI, and here we are! When it comes to developing any web app-related projects, these two always come to my mind first. The reason why I made this project was funny honestly. So my mom and I lived in Indonesia, and she has this small photocopy and printing business. Almost everyday, there’s a lot of customers that want to print documents that were directly captured from the camera. There are lots of issues, for example, resolution issues; the pictures don’t match the ratio for the paper size and orientation; and then in my place, not everyone was able to operate a PC and use Microsoft-related tools or GDocs. There are tools like Ms. Words, but my mom can’t operate it well, and so do the customers sometimes. Then apps like Camscanner feel laggy and filled with ads. This is why I made Lightscanner! I’ve testes this web app. My friends also used it for their assignments. When there’s handwritten homework or assignments and the teacher told us to send the pictures to Google Forms in the form of PDF, my friends tried to use this web app, and it worked. As for my mom, she said she was able to use this app and so far enjoys it. Because it is much faster and simpler. So if you want to test my project, find any pictures and try to convert them into PDF files. Try to experiment with the options! I think making usable web apps like this is something that I am proud of! Also new OC!!!! Although she only like has two inconsistent sprites lol. I think the challenging part wasn’t coding the UI or the API but rather coding using Pillow because I wasn’t that familiar with image processing stuff! SO THIS IS MY PLACE TO LEARN!.", "repo": "https://github.com/nabeellagi/client-lightscanner", "demo": "https://lightscanner.vercel.app"}]...
|
[{"post_id": 76321, "ts": "202 [{"post_id": 76321, "ts": "2026-10-03T06:12:08Z", "hours": 2.3231, "text": "NEW FEATURE AND NEW SPRITE Now before downloading, users will be able to see the preview of their PDF file based on the page sizes and orientation that they are choosing. More Nyny! New additional Nyny sprite where she ‘hangs’ around the modal user interface Touch particle effect, for the vibe and polishing"}, {"post_id": 76171, "ts": "2026-10-02T15:53:35Z", "hours": 1.9375, "text": "NEW FEATURES! I’ve received feedbacks from my friends, so for this project I’ve added Fit-to-page sizing where the PDF will follow the original page size/ratio Custom sizing, users can now input any sizes to their liking. Min. 10 cm and Max. 60 cm Before downloading, users would be able to change the file name"}, {"post_id": 74334, "ts": "2026-09-27T05:58:37Z", "hours": 0.3883, "text": "GITHUB IS READY!! Updated BOTH READMEs FOR BOTH REPOS!! New screenshots also added, alongside the tutorial how to run the project locally!"}, {"post_id": 74256, "ts": "2026-09-27T02:43:21Z", "hours": 0.4664, "text": "Deployment test The app has been shipped. Next.js app on Vercel FastAPI server on FastAPI cloud I’m gonna try to test the web app on different devices first before proceeding to write README.md!"}, {"post_id": 74218, "ts": "2026-09-26T22:56:02Z", "hours": 1.5956, "text": "API KEY Since the client uses Next.JS and the backend uses FastAPI, I added more security layer to prevent another app from accessing the web."}, {"post_id": 73947, "ts": "2026-09-26T11:57:24Z", "hours": 1.9642, "text": "Working on FastAPI Added new Filter and some docs as well! Omw to find a way to limit the API requests."}, {"post_id": 71961, "ts": "2026-09-21T21:14:51Z", "hours": 5.6494, "text": "Image Upload Mechanism Here are new updates for LightScanner I’ve implemented the drag and drop menu so that users would be able to easily upload their images. Up to 10 MB, max 25 imager per batch. Users will be able to choose the paper size and page orientation to their liking In this web we can also crop and zoom the image directly For mobile, user will be able to capture the pict of their document or anything on camera Added an errorboundary to handle images that cannot be decoded especially on mobile."}, {"post_id": 64308, "ts": "2026-09-08T16:27:06Z", "hours": 4.0986, "text": "Updated homepage for my Image-to-PDF site. I’ve added animated checker backgrounds with some paper texture so it wouldn’t feel too bland. As well as animated the text Also made a new oc as the guide/mascot for the web app too lol. Still omw to implement shimejii like character on the homepage."}, {"post_id": 61527, "ts": "2026-09-04T14:09:18Z", "hours": 1.6481, "text": "LightScanner Time I have an idea to create my own version for Image-to-PDF site similliar to ILovePDF and CamScanner. I’ve finished the set up for the web app, and done with importing fonts and added new color theme"}]...
|
Title: LightScanner by @belbel | Stardance
Devlog Title: LightScanner by @belbel | Stardance
Devlogs:
LightScanner Time I have an idea to create my own version for Image-to-PDF site similliar to ILovePDF and CamScanner. I’ve finished the set up for the web app, and done with importing fonts and added new color theme
Updated homepage for my Image-to-PDF site. I’ve added animated checker backgrounds with some paper texture so it wouldn’t feel too bland. As well as animated the text Also made a new oc as the guide/mascot for the web app too lol. Still omw to implement shimejii like character on the homepage.
Image Upload Mechanism Here are new updates for LightScanner I’ve implemented the drag and drop menu so that users would be able to easily upload their images. Up to 10 MB, max 25 imager per batch. Users will be able to choose the paper size and page orientation to their liking In this web we can also crop and zoom the image directly For mobile, user will be able to capture the pict of their document or anything on camera Added an errorboundary to handle images that cannot be decoded especially on mobile.
Working on FastAPI Added new Filter and some docs as well! Omw to find a way to limit the API requests.
API KEY Since the client uses Next.JS and the backend uses FastAPI, I added more security layer to prevent another app from accessing the web.
Deployment test The app has been shipped. Next.js app on Vercel FastAPI server on FastAPI cloud I’m gonna try to test the web app on different devices first before proceeding to write README.md!
GITHUB IS READY!! Updated BOTH READMEs FOR BOTH REPOS!! New screenshots also added, alongside the tutorial how to run the project locally!
NEW FEATURES! I’ve received feedbacks from my friends, so for this project I’ve added Fit-to-page sizing where the PDF will follow the original page size/ratio Custom sizing, users can now input any sizes to their liking. Min. 10 cm and Max. 60 cm Before downloading, users would be able to change the file name
NEW FEATURE AND NEW SPRITE Now before downloading, users will be able to see the preview of their PDF file based on the page sizes and orientation that they are choosing. More Nyny! New additional Nyny sprite where she ‘hangs’ around the modal user interface Touch particle effect, for the vibe and polishing
Ships:
HI!! So this is my project, Lightscanner! A simpler, lighter alternative for CamScanner or any other image-scanning mobile app. And an image-to-PDF converter like ILovePDF but with built-in filters! It’s been a while since I’ve coded with both Next.js and FastAPI, and here we are! When it comes to developing any web app-related projects, these two always come to my mind first. The reason why I made this project was funny honestly. So my mom and I lived in Indonesia, and she has this small photocopy and printing business. Almost everyday, there’s a lot of customers that want to print documents that were directly captured from the camera. There are lots of issues, for example, resolution issues; the pictures don’t match the ratio for the paper size and orientation; and then in my place, not everyone was able to operate a PC and use Microsoft-related tools or GDocs. There are tools like Ms. Words, but my mom can’t operate it well, and so do the customers sometimes. Then apps like Camscanner feel laggy and filled with ads. This is why I made Lightscanner! I’ve testes this web app. My friends also used it for their assignments. When there’s handwritten homework or assignments and the teacher told us to send the pictures to Google Forms in the form of PDF, my friends tried to use this web app, and it worked. As for my mom, she said she was able to use this app and so far enjoys it. Because it is much faster and simpler. So if you want to test my project, find any pictures and try to convert them into PDF files. Try to experiment with the options! I think making usable web apps like this is something that I am proud of! Also new OC!!!! Although she only like has two inconsistent sprites lol. I think the challenging part wasn’t coding the UI or the API but rather coding using Pillow because I wasn’t that familiar with image processing stuff! SO THIS IS MY PLACE TO LEARN!.
Okay so here it comes new version for Lightscanner web app! After my friends using it for a while, they gave me a feedback saying it would be great if it has a ‘fit to page’ option for the page size. This way, the user wouldn’t have to go through complicated process on zooming in the pictures or trying different page sizes when it is not needed. This one was kind of challenging to pull because it means I also need to change a little bit parts of my FastAPI backend. Additionally I’ve also added custom page sizing so that the user can use whatever page size they want! My mom also needs this for her photocopy and printing tasks so I made it. Another feature is also we will be able to rename our files before downloading, would be helpful for mobile devices where the prompt asking something like the name file just doesn’t pop up. Then a day later I also added print preview feature or PDF preview feature. Say I’ve added 25 images and have cropped and zoomed each one then I want to do a rechecking. So Instead of doing it per images which could be harder and complicated, I’ve added a feature where the user will be able to check the entire PDF file with a single click. I took my time to draw more Nyny. Because so far there’s only three drawings of her, so let’s add one more! Basically Nyny now hangs on top of some modal interfaces. I used google meet to record my Lapse when drawing on Ibis Paint....
|
1793004844.0795686
|
1793091244.0795686
|
|
4565
|
Minerust by @bartoszkasyna | Stardance
|
bartoszkasyna
|
1
|
28.0
|
318
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T13:39:29Z", "hours": 28.0, "multiplier": 11.52, "payout": 318, "blessing": "neutral", "text": "I made Minecraft clone in rust using wgpu. Currently game is more like voxel engine. I was mainly focused on game optimatization. Release veriosn has render distance 32 achieving 300FPS on rtx 3050 4GB laptop edition consuming only 0.8GB of VRAM and 430MB of RAM. With high end CPU it can easily handle render distance 128 usinf only 1.5GB VRAM and 1.7GB RAM.", "repo": "https://github.com/B4rtekk1/Minecraft-Rust", "demo": "https://github.com/B4rtekk1/Minecraft-Rust/releases"}]...
|
[{"post_id": 61498, "ts": "202 [{"post_id": 61498, "ts": "2026-09-04T13:22:10Z", "hours": 2.3158, "text": "I finished creating inventiry system. I also fixed bug- Some subchunks was missing if HiZ culling culled them before they were generated. After this short 3 days break into this project I’m shipping it and going back to my main one."}, {"post_id": 61065, "ts": "2026-09-03T19:39:58Z", "hours": 4.5978, "text": "Today I was mainly working on game optimatization and code quality. I also started implementing Inventory system. Currently broken blocks drops into ground and rotate, like in minecraft"}, {"post_id": 60454, "ts": "2026-09-02T19:50:58Z", "hours": 5.995, "text": "Today I was working on new terrain system and optimatization. On te image is world with render distance 128 - unfortunettly its not fully loaded beacuse it takes ages to load 66k chunks. Game preallocates required memory. This world requires ONLY 1.5GB VRAM and 1.2GB RAM. Vanilla minecraft runs 120FPS with render distance 16 on my laptop while my game runs 30FPS with render distance 128 which is 65992 chunks more. minecraft basiccly render 1.6% of what my engine can do. Keep in mind that i have rtx 3050 4GB laptop"}, {"post_id": 59828, "ts": "2026-09-01T20:05:54Z", "hours": 4.6781, "text": "I came back to the project because I don’t like doing only one project at a time. My goal is to make simple Minecraft clone but much more optimized. On the image you can see 64x64 chunks world - that means 128 chunks long and wide. It only uses 1.6GB of RAM, 4% CPU, 2GB of VRAM. It handle stable 120FPS on my rtx 3050 4GB latpop. Orginal minecraft have 120FPS with render distance 16."}, {"post_id": 26167, "ts": "2026-07-10T20:12:05Z", "hours": 1.9911, "text": "Fixed Ambient oclussion. Added rerndering mode switch in menu."}, {"post_id": 4042, "ts": "2026-06-07T06:59:38Z", "hours": 3.6419, "text": "Shadow removal(again - same bug). I implemented cheap vertex ambient oclussion. It still a little buggy but i’ll fix it. I refactroed code a little to get ready for wasm modding. For now i will leave visuals and focus on game content, portability. How I said little buggy in the corners"}, {"post_id": 1981, "ts": "2026-06-04T07:38:58Z", "hours": 4.3542, "text": "I removed shadows implementation because moving light center caused shadow crawling which is hard to get rid of with small cost. It was possible to remove but it was droppingg about 120FPS(fom 340 to ~200). I have reduced VRAM usage by reducing water buffer size. With render distance 32 game use 1.6GB of VRAM and 700MB of RAM. Rendering is GPU optimized(80%+ usage, <20% CPU usage. Video might not looks like 300FPS because of video compression."}]...
|
Title: Minerust by @bartoszkasyna | Stardance
Dev Title: Minerust by @bartoszkasyna | Stardance
Devlogs:
I removed shadows implementation because moving light center caused shadow crawling which is hard to get rid of with small cost. It was possible to remove but it was droppingg about 120FPS(fom 340 to ~200). I have reduced VRAM usage by reducing water buffer size. With render distance 32 game use 1.6GB of VRAM and 700MB of RAM. Rendering is GPU optimized(80%+ usage, <20% CPU usage. Video might not looks like 300FPS because of video compression.
Shadow removal(again - same bug). I implemented cheap vertex ambient oclussion. It still a little buggy but i’ll fix it. I refactroed code a little to get ready for wasm modding. For now i will leave visuals and focus on game content, portability. How I said little buggy in the corners
Fixed Ambient oclussion. Added rerndering mode switch in menu.
I came back to the project because I don’t like doing only one project at a time. My goal is to make simple Minecraft clone but much more optimized. On the image you can see 64x64 chunks world - that means 128 chunks long and wide. It only uses 1.6GB of RAM, 4% CPU, 2GB of VRAM. It handle stable 120FPS on my rtx 3050 4GB latpop. Orginal minecraft have 120FPS with render distance 16.
Today I was working on new terrain system and optimatization. On te image is world with render distance 128 - unfortunettly its not fully loaded beacuse it takes ages to load 66k chunks. Game preallocates required memory. This world requires ONLY 1.5GB VRAM and 1.2GB RAM. Vanilla minecraft runs 120FPS with render distance 16 on my laptop while my game runs 30FPS with render distance 128 which is 65992 chunks more. minecraft basiccly render 1.6% of what my engine can do. Keep in mind that i have rtx 3050 4GB laptop
Today I was mainly working on game optimatization and code quality. I also started implementing Inventory system. Currently broken blocks drops into ground and rotate, like in minecraft
I finished creating inventiry system. I also fixed bug- Some subchunks was missing if HiZ culling culled them before they were generated. After this short 3 days break into this project I’m shipping it and going back to my main one.
Ships:
I made Minecraft clone in rust using wgpu. Currently game is more like voxel engine. I was mainly focused on game optimatization. Release veriosn has render distance 32 achieving 300FPS on rtx 3050 4GB laptop edition consuming only 0.8GB of VRAM and 430MB of RAM. With high end CPU it can easily handle render distance 128 usinf only 1.5GB VRAM and 1.7GB RAM....
|
1792982842.592892
|
1793069242.592892
|
|
2687
|
Pseudo E-commerce website (PE-CW) by @AuraMonster Pseudo E-commerce website (PE-CW) by @AuraMonster | Stardance...
|
AuraMonster
|
1
|
45.0
|
317
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T17:59:53Z", "hours": 45.0, "multiplier": 8.56, "payout": 317, "blessing": "neutral", "text": "This is my Pseudo E-commerce Website (website that sells fake stuff) I made this to learn and because it was fun. This journey was frustrating at times, but taking a break just got me more motivated.", "repo": "https://github.com/mdmutahhar24-pixel/Pseudo-E-Commerce-Website", "demo": "https://pseudo-e-commerce-website-vjx4.vercel.app/"}]...
|
[{"post_id": 10061, "ts": "202 [{"post_id": 10061, "ts": "2026-06-16T17:13:40Z", "hours": 1.5636, "text": "Sixth and Final devlog for Pseudo E-Commerce Website Changes Admin features completed Featured Products added Placeholders added incase of no product Added finishing touches Completed project: https://pseudo-e-commerce-website-vjx4.vercel.app/"}, {"post_id": 9986, "ts": "2026-06-16T14:56:42Z", "hours": 6.3531, "text": "Fifth Devlog for Psuedo E-Commerce Website Changes Included a Log out and Delete option that works Finished About Me page Added product create feature Added add to cart feature Finished Products page Added admin page Expect the next devlog to be the final one."}, {"post_id": 9340, "ts": "2026-06-15T17:48:14Z", "hours": 17.6847, "text": "Fourth Devlog for Psuedo E-Commerce Website So far, I kept restarting. I guess you could say this is my way of venting out my frustration. Since I just restarted. However, every restart gives me better ideas. After a learning break, these are the updates to my third restarted project: dark/light mode dark/light mode toggleable button logo fake advertising banners better backend better frontend heavy changes to project (approach, ideas, etc.) Next time, I do not plan to restart my project. I am going to keep continuing as I feel like I have enough experience now."}, {"post_id": 6556, "ts": "2026-06-11T00:31:02Z", "hours": 9.0075, "text": "Third Devlog for PE-CW (Psuedo E-Commerce Website) Changes: Products page now fully has a create item as well as backend for items. Account Page added Navbar updates to look different based on sign up status Future plans: Account page Log out Ability to edit products made by yourself Ability to add things to cart Ability to view your cart"}, {"post_id": 3231, "ts": "2026-06-06T01:56:29Z", "hours": 6.8661, "text": "Hello everyone, this is my second devlog. What Changed: I had to scrap my previous project because of an unknown error. However the idea hasn’t changed, so I created a new project. I Revamped the entire design, added better backend, and used appealing design choices. For backend, I used Neon’s PostgreSQL and it’s system for authentication and Next.JS’s API routes (along with Prisma) to connect my project to the Neon database. For frontend, I used React, ShadCN’s UI library, and RadixUI’s UI library. For CSS, I used Tailwind CSS. Why I made all of those changes: This is simple: I watched some YouTube tutorials and they inspired me. For backend, it was too useful to ignore. Summary: Restarted Project Integrated Backend Connected PostgreSQL database Updated Design Watched YouTube Tutorials *Image below is the updated landing page."}, {"post_id": 532, "ts": "2026-06-02T00:25:42Z", "hours": 3.2842, "text": "Worked on landing page and am currently working on sign in/sign up page."}]...
|
Title: Pseudo E-commerce website (PE-CW) by @AuraM Title: Pseudo E-commerce website (PE-CW) by @AuraMonster | Stardance
Devlogs:
Worked on landing page and am currently working on sign in/sign up page.
Hello everyone, this is my second devlog. What Changed: I had to scrap my previous project because of an unknown error. However the idea hasn’t changed, so I created a new project. I Revamped the entire design, added better backend, and used appealing design choices. For backend, I used Neon’s PostgreSQL and it’s system for authentication and Next.JS’s API routes (along with Prisma) to connect my project to the Neon database. For frontend, I used React, ShadCN’s UI library, and RadixUI’s UI library. For CSS, I used Tailwind CSS. Why I made all of those changes: This is simple: I watched some YouTube tutorials and they inspired me. For backend, it was too useful to ignore. Summary: Restarted Project Integrated Backend Connected PostgreSQL database Updated Design Watched YouTube Tutorials *Image below is the updated landing page.
Third Devlog for PE-CW (Psuedo E-Commerce Website) Changes: Products page now fully has a create item as well as backend for items. Account Page added Navbar updates to look different based on sign up status Future plans: Account page Log out Ability to edit products made by yourself Ability to add things to cart Ability to view your cart
Fourth Devlog for Psuedo E-Commerce Website So far, I kept restarting. I guess you could say this is my way of venting out my frustration. Since I just restarted. However, every restart gives me better ideas. After a learning break, these are the updates to my third restarted project: dark/light mode dark/light mode toggleable button logo fake advertising banners better backend better frontend heavy changes to project (approach, ideas, etc.) Next time, I do not plan to restart my project. I am going to keep continuing as I feel like I have enough experience now.
Fifth Devlog for Psuedo E-Commerce Website Changes Included a Log out and Delete option that works Finished About Me page Added product create feature Added add to cart feature Finished Products page Added admin page Expect the next devlog to be the final one.
Sixth and Final devlog for Pseudo E-Commerce Website Changes Admin features completed Featured Products added Placeholders added incase of no product Added finishing touches Completed project: https://pseudo-e-commerce-website-vjx4.vercel.app/
Ships:
This is my Pseudo E-commerce Website (website that sells fake stuff) I made this to learn and because it was fun. This journey was frustrating at times, but taking a break just got me more motivated....
|
1792982937.3847592
|
1793069337.3847592
|
|
5134
|
Hbp100 by @Erox | Stardance
|
Erox
|
1
|
25.37
|
314
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-30T08:40:18Z", "hours": 20.0, "multiplier": 15.55, "payout": 314, "blessing": "neutral", "text": "Hbp100 After all the debugging, rewrites, benchmarks, broken builds now Hbp100 v3.1.1 is now release d.. What started as a small python privacy project eventually and became a full Rust implementation with a Python interface. The current version has: A native Rust core Python support through PyO3 Ml-powered contextual privacy decisions Reversible placeholder masking Session-based metadata Extremely low processing latency Releases on GitHub and crates.io There are still edge cases, the extractor can still be improved, and there are plenty of things I want to build next like rayon and multi threaded performance for more speed . It is not like , i have less speed(the current speed is enough to make flash accept defeat) but why not , i use arch btw. and now i can finally sleep at ease .", "repo": "https://github.com/Erox-02/humming-bird-v3", "demo": "https://hbp100-v3-web.vercel.app/"}]...
|
[{"post_id": 67253, "ts": "202 [{"post_id": 67253, "ts": "2026-09-13T10:00:36Z", "hours": 3.2161, "text": "This time i removed all the extractors , and made a new impl to add config from json files or code in python and rust both , it took me a lot of time also i added a website built on hbp100 this time for easier review but dont forget me crate"}, {"post_id": 59769, "ts": "2026-09-01T18:19:08Z", "hours": 2.1569, "text": "This time i fixed the session issue and wrote THE README MYSELF ,took me a lot of time still worth it"}, {"post_id": 57931, "ts": "2026-08-30T08:30:07Z", "hours": 2.0364, "text": "Finally session based metadata added now i can sleep in ease also it is v3.1.1 both on crates and github"}, {"post_id": 54711, "ts": "2026-08-25T19:44:36Z", "hours": 6.9267, "text": "This is probably the most hardcore devlog in this whole session, my task was simply write debug , ask gpt why it didnt work , then deepseek wrote code still didnt work and thts how 7 hrs passed me adding session with persistent memory also with a lot of optimizations , also v3.1.0 is on cargo now , go ahead and check it up for me uWu."}, {"post_id": 53028, "ts": "2026-08-23T12:36:57Z", "hours": 3.2983, "text": "This time it is a huge improvement , it looks like v3 to v3.0.1 but i added pyo3 and python api’s , i mean now even python can use my rust package with rust like speed + safety in python , also i fixed some small bugs in extractor , also added benchmarks (the speed is insane , see on the tagged screenshot ) also the ml is hella fast , in python the ml model only took 3x time than a whole iteration in rust with extractors and pyo3 overhead , also now i have got some more ideas to add in my hbp100 i think those will make it even better and polished.."}, {"post_id": 47281, "ts": "2026-08-15T03:57:56Z", "hours": 5.1125, "text": "today finally i shipped hbp100 v3 on crates “ https://crates.io/crates/hbp100/3.0.0 ” , this time no python runtime full rust even ml in rust thx to lightgbm3 , now it is far faster than the python pkl one , it took me 3+hrs just to train the model and to convert my old python logic into rust , then i had to do the dual readme setup to prevent the bug i came to meet on my last project too , now its fine i made a release on github too , in the crates release there is no “test.rs” but in git release i added tht , the tagged screenshot is result of test"}, {"post_id": 45578, "ts": "2026-08-12T05:11:26Z", "hours": 2.8333, "text": "actually when i started the project i didnt knew abt stardance , still after v2.2 i used it , v2.2 was pure python and really fast but still it didnt convince me , so i went to v3 rust and i tried rust and python hybrid it sucked i am unable to debug the mess i made so i am thinking to write the ml portion in rust too , i have a live website for v2.2 too , i am new to onnx so it might take some time debugging , still my v2.2 was pretty much successful , one can try tht on “ https://github.com/Erox-02/humming-bird-v3/releases/tag/v2.0.0 ” , so next will be v3.0 and i intend to ship the live website as a other project"}]...
|
Title: Hbp100 by @Erox | Stardance
Devlogs:
actua Title: Hbp100 by @Erox | Stardance
Devlogs:
actually when i started the project i didnt knew abt stardance , still after v2.2 i used it , v2.2 was pure python and really fast but still it didnt convince me , so i went to v3 rust and i tried rust and python hybrid it sucked i am unable to debug the mess i made so i am thinking to write the ml portion in rust too , i have a live website for v2.2 too , i am new to onnx so it might take some time debugging , still my v2.2 was pretty much successful , one can try tht on “ https://github.com/Erox-02/humming-bird-v3/releases/tag/v2.0.0 ” , so next will be v3.0 and i intend to ship the live website as a other project
today finally i shipped hbp100 v3 on crates “ https://crates.io/crates/hbp100/3.0.0 ” , this time no python runtime full rust even ml in rust thx to lightgbm3 , now it is far faster than the python pkl one , it took me 3+hrs just to train the model and to convert my old python logic into rust , then i had to do the dual readme setup to prevent the bug i came to meet on my last project too , now its fine i made a release on github too , in the crates release there is no “test.rs” but in git release i added tht , the tagged screenshot is result of test
This time it is a huge improvement , it looks like v3 to v3.0.1 but i added pyo3 and python api’s , i mean now even python can use my rust package with rust like speed + safety in python , also i fixed some small bugs in extractor , also added benchmarks (the speed is insane , see on the tagged screenshot ) also the ml is hella fast , in python the ml model only took 3x time than a whole iteration in rust with extractors and pyo3 overhead , also now i have got some more ideas to add in my hbp100 i think those will make it even better and polished..
This is probably the most hardcore devlog in this whole session, my task was simply write debug , ask gpt why it didnt work , then deepseek wrote code still didnt work and thts how 7 hrs passed me adding session with persistent memory also with a lot of optimizations , also v3.1.0 is on cargo now , go ahead and check it up for me uWu.
Finally session based metadata added now i can sleep in ease also it is v3.1.1 both on crates and github
This time i fixed the session issue and wrote THE README MYSELF ,took me a lot of time still worth it
This time i removed all the extractors , and made a new impl to add config from json files or code in python and rust both , it took me a lot of time also i added a website built on hbp100 this time for easier review but dont forget me crate
Ships:
Hbp100 After all the debugging, rewrites, benchmarks, broken builds now Hbp100 v3.1.1 is now release d.. What started as a small python privacy project eventually and became a full Rust implementation with a Python interface. The current version has: A native Rust core Python support through PyO3 Ml-powered contextual privacy decisions Reversible placeholder masking Session-based metadata Extremely low processing latency Releases on GitHub and crates.io There are still edge cases, the extractor can still be improved, and there are plenty of things I want to build next like rayon and multi threaded performance for more speed . It is not like , i have less speed(the current speed is enough to make flash accept defeat) but why not , i use arch btw. and now i can finally sleep at ease ....
|
1792994004.301144
|
1793080404.301144
|
|
12272
|
MotifDesigner by @zeankun | Stardance
|
zeankun
|
2
|
25.35
|
314
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T02:29:23Z", "hours": 7.0, "multiplier": 18.37, "payout": 134, "blessing": "neutral", "text": "Version 1.0 is now released! Horray! A lot of things have been added! Added snap to grid checkmark on inspector NEW WIDGET : Toggle/checkmark! Add confirming stuffs to your UI! Fixed units on most components New handles and dimension badge Creation, saving and loading in new MotifDesigner Visual Files ( .vfl )! with a visual parser And comes with a brand new visual file format to accompany: MotifDesigner Visual Files! What are those? These are MotifDesigner’s native format. They allow you to define UIs, either programatically or visually. Read more about the file format specification yourself, or have it as a complement for Claude or Claude Code via skills", "repo": "https://github.com/zeankundev/MotifDesigner", "demo": "https://github.com/zeankundev/MotifDesigner/releases/latest/"}, {"ship_num": 2, "ts": "2026-06-12T07:37:46Z", "hours": 17.0, "multiplier": 10.69, "payout": 180, "blessing": "neutral", "text": "This is MotifDesigner, a GUI editor for Motif (basically) in which you can edit your normal GUIs. Think of it as like the WinForms/Qt Creator of Motif! The goal is to actually bring modern UX to ancient looking software, and it’s actually quite fun! Behind all these are hours of debugging efforts, tens of segmentation fault crashes, tons of sacrificed memory for memory leak debugging, and lots of core dumps! I hope this project simplifies what GUI making is, or just making Motif development a bit easier while also looking ancient!", "repo": "https://github.com/zeankundev/MotifDesigner", "demo": "https://github.com/zeankundev/MotifDesigner/releases/latest/"}]...
|
[{"post_id": 24473, "ts": "202 [{"post_id": 24473, "ts": "2026-07-08T01:34:46Z", "hours": 1.3453, "text": "Now added live value editing! Double click (certain elements) to edit its value, and you can use your normal keyboard editing shortcuts. Yes, Home , End , Shift+arrow , Ctrl+A , etc, are supported! Hands off the mouse now! Being honest, this feature is mostly implemented by AI. Text logic and selection is a finicky subject to pick up, given the sheer complexity. But I want to make the value editing UX just like at home, like you would on Figma, and many more! Also, some quality of life updates: re-renders are now automatically scheduled based on your device’s refresh rate. You don’t need to wait for user input now, it happens automatically in the background. ( And yes, free (s) are excluded as usual. Double free() is usually the culprit and yeah, I’m bad at memory management )"}, {"post_id": 22554, "ts": "2026-07-05T02:26:15Z", "hours": 0.3092, "text": "Release 1.0 has been out now! MotifDesigner is usable for the general public now! You know what that means? Shipping time! Oh yeah, don’t forget to report bugs or issues here . Don’t be hesitant. It can be either via your AppImage or your local debug build"}, {"post_id": 22537, "ts": "2026-07-05T01:54:20Z", "hours": 0.5664, "text": "Made file specifications in Markdown, as well as a Claude skill (for you, vibecoders /j) so that Claude can generate proper visual files. No code changes, tho. Attached is an example where I instructed Claude to make a simple supermarket POS interface."}, {"post_id": 21485, "ts": "2026-07-03T13:49:15Z", "hours": 2.8694, "text": "Now the hardest part has been done: importing and parsing visual files! Here’s what I accomplished: Parsing of visual files Syntax errors and redundancy checks to ensure it is indeed the visual file you are opening Auto writing on save whenever you’ve opened something or has saved a new file! How does the MotifDesigner Visual File format work ( .vfl )? (for self programming the visual file) It’s like XML or HTML (whatever that correlates with both) except the tags don’t end in slashes. All visual files must have both [MotifDesignerVisualFile] and [EndMotifDesignerVisualFile] . This will contain two critical pieces of information: the Version parameter, which you must append (e.g. Version=0.5 ). It must be inside the VisualFile tag. the Widgets tag. Same, enclosed with EndWidgets . This will be the place where you will put your elements here. I’ll write more of the file specifications if I have more time Anyway, here’s a video to demonstrate!"}, {"post_id": 20763, "ts": "2026-07-02T13:41:43Z", "hours": 0.4028, "text": "Real thing now! You can now export visual files made by MotifDesigner! It will come in a user-friendly syntax, which is human and machine readable, which is much closer to something like XML! All that’s left is to: implement a parser to parse these visual files something to make the visual file editing complete before moving in to the IDE side of things"}, {"post_id": 20624, "ts": "2026-07-02T08:29:30Z", "hours": 1.0811, "text": "This one, by far the hardest feature to implement: the save dialog . It took me lots of work to do (most was AI assisted) that double frees were actually fired (despite deleting all free methods). Here’s what’s fully implemented: Autotemplating with a default filename Sticky file names, so your typed filename never gets lost (e.g. when changing directories) And lots of UX improvements for the save dialogs The rest are relatively easy to implement, as they require little work, such as the open file dialog, etc. Next steps Next, I hope that There will be basic visual file saving/exporting ( *.vfl ) Parser for those visual files (to open it) Lots of filesystem-related operations as well as a robust project management system"}, {"post_id": 19691, "ts": "2026-07-01T02:35:34Z", "hours": 0.2656, "text": "Oh yeah, I forgot to log this one, but it adds few QoL improvements. Now, it should feel more modern, hence to the Figma-style handle and nets, as well as adding the bottom blue badge to visualize the exact width without looking at the inspector ever again!"}, {"post_id": 14973, "ts": "2026-06-24T09:54:14Z", "hours": 0.6342, "text": "Some features for 0.8 will be on the works by now. This includes: Snap to Grid toggle Added toggle as a new component Overall bug fixes ;) There will be more during the actual 0.8 release so stay tuned"}, {"post_id": 7967, "ts": "2026-06-13T09:11:29Z", "hours": 0.7167, "text": "A lot screwed up, so I decided to fix a lot of them. These are just mostly bug fixes and only a few QoL changes. For those who are afraid of change: Labels should be more legible now (same background as the overall canvas) Forced .hpp file generation (because the header implementation is C++, we don’t want it to mix with C only code A lot of stubborness during code generation ;)"}, {"post_id": 7913, "ts": "2026-06-13T06:10:04Z", "hours": 0.5419, "text": "Hotfix 1 of v0.7 (0.71) is here. Nothing much here, just like the old 0.7 version, except this update are just bug fixes and few QoL improvements. If you are terrified of change, I’ll wrap up what’s changed in this hotfix: The handles and selection frames should no longer offset by now, it is near one-to-one on what you’ll be building at the end (including the header files :D) And yeah, the grid should be more visible now. At TextDialog.cpp , few improvements were made. The text field will focus first rather than the OK button, so you can type your header class right away, and press Enter when you’re all set!"}, {"post_id": 7337, "ts": "2026-06-12T07:29:23Z", "hours": 0.4667, "text": "Quality of life fixes, nothing big, just minor fixes before getting ready to ship at the first phase!"}, {"post_id": 7327, "ts": "2026-06-12T06:32:47Z", "hours": 1.2031, "text": "Finally, added one feature that is extremely important or else render MotifDesigner out of its core goals! Now, header ( *.h ) export is available, which means you can start using it as part of your project! Zero warnings, zero errors, it’s stable now (if there are errors or warnings in .h, it’s either your fault or just file a bug report)"}, {"post_id": 7270, "ts": "2026-06-12T03:52:20Z", "hours": 1.7183, "text": "Added a dialog later on for you to answer the questions it prompted you, as well as regex checking (this will be fixed into a more modular approach later on). Regexes still apply! I’ll probably finish a lot later on (including adding a new visual file, opening a visual file, etc). Right now, this could be the roadmap for future development from now: Current Goals: Implement exporting visual as .h file to be used Creating a new visual file, opening/parsing, and saving Future Goals: Fully implemented C++ editor inside of the designer Project system (a folder containing the visual file, C++ file and the automatically generated header file) Automatic X11/Xm/Xt download if you don’t have one (includes and libraries) In-IDE building with g++ and having the ability to run the result binary Packaging to AppImage with linuxdeploy and appimagetool Add Wakatime/Hackatime support /j (that will/won’t happen)"}, {"post_id": 6823, "ts": "2026-06-11T13:29:17Z", "hours": 2.2417, "text": "Lots of bug fixes (I forgot what I did for the past 2 hours logged T_T) but at least, most bugs were shot down and caught. Especially quick mouse kids, who just mess and drag widgets fast, now it’s “throttled” to a fixed 60fps. And also added status bar to highlight the user on what’s going on and what to do with the tool. Oh yeah, also added where you can use arrow keys to snappingly move between 10 units, just for convenience! (Excuse me, the cursor there is highly offset, I truly apologize for that TwT)"}, {"post_id": 6687, "ts": "2026-06-11T06:17:54Z", "hours": 3.6958, "text": "Finally, the feature we all be waiting for! The canvas! This took me a horrendous amount of time, but it sure was worth the experience It can now drag, scale, and do many transformations like a usual GUI builder would do! And yeah, there were a lot of hiccups (yeah, segfaults and coredump abortions) and managed to fix a lot of them if it weren’t for Claude! Yeah, basically, it looks like a functioning editor by now! Sure it was interesting!"}, {"post_id": 6113, "ts": "2026-06-10T08:44:45Z", "hours": 0.2511, "text": "Now added a check for illegal names using regex! This is done so that you won’t get programmatic errors later on when coding your app in C++ (everyone doesn’t want that!) so it’s better to stay off at the normal naming convention of C"}, {"post_id": 6054, "ts": "2026-06-10T05:17:49Z", "hours": 0.8317, "text": "Added new properties panel! This is to ensure precise modifications were being made so that you still have lots of control with the UI building process"}, {"post_id": 5556, "ts": "2026-06-09T11:47:50Z", "hours": 1.2603, "text": "A lot of things were done. First off, the menubar for your stuffs later on! You’ll do it there! Second, now there’s a toolbar (still WIP)! As well as a lot of segfaults along the way, we managed to get that working for the start of this!"}, {"post_id": 5494, "ts": "2026-06-09T09:26:59Z", "hours": 1.325, "text": "More work yay! Most of the time logged here is just a scrapped feature that will never make it (due to the nature of XmNotebook). Initially, I wanted to add a tab that can switch between the visual editor and the C++ code editor (WIP)! but yeah, I don’t want a flipbook like interface, so I’ll make it as two separate modules. But hey, at least we made progress!"}, {"post_id": 5371, "ts": "2026-06-09T03:39:09Z", "hours": 1.7375, "text": "Actually another long time to comply for shipping (a test one!) which are AppImages! I just don’t want to mess around with dependency hell when distributing an ELF binary (ugh dangerous) so AppImage was our way to go. First, it was a bit flawed, then with some help, we managed to get two variants, generic and IRIX (for those who run MaXX). Hopefully it will be done soon, as this is still a work in progress and should serve the instantaneous basis of my future MotifDesigner roadmap. Attached is the app tested on Ubuntu MATE at Deskterm."}, {"post_id": 4819, "ts": "2026-06-08T10:10:15Z", "hours": 1.0542, "text": "I know this may sound like a gimmick (given that I logged 1h on one specific window) but this was tedious to get into. The About section. It seems easy, if you think, but no! It’s actually really hard to get into without proper techniques and lots of tampering with the XPM pixmaps. Gemini couldn’t help so I reached over to Claude to help and here it is, 1h wasted on just an about section."}, {"post_id": 4762, "ts": "2026-06-08T07:17:56Z", "hours": 0.2944, "text": "Did some variations with the IMC test but this time with the actual X11 Motif window showing up. The same as before except this test is now in an X11 window 🙃"}, {"post_id": 4757, "ts": "2026-06-08T06:34:36Z", "hours": 0.4325, "text": "Doing some tests to actually ensure that inter-module communication is done effortlessly. I don’t want to write more bloat code that results in a bloated main.cpp that just “acts” as a middleman, just let the header files be the ones that’s fully responsible for the IMC calling"}, {"post_id": 4742, "ts": "2026-06-08T05:56:00Z", "hours": 0.3322, "text": "First project bootstrap! Horray!"}]...
|
Title: MotifDesigner by @zeankun | Stardance
Devl Title: MotifDesigner by @zeankun | Stardance
Devlogs:
First project bootstrap! Horray!
Doing some tests to actually ensure that inter-module communication is done effortlessly. I don’t want to write more bloat code that results in a bloated main.cpp that just “acts” as a middleman, just let the header files be the ones that’s fully responsible for the IMC calling
Did some variations with the IMC test but this time with the actual X11 Motif window showing up. The same as before except this test is now in an X11 window 🙃
I know this may sound like a gimmick (given that I logged 1h on one specific window) but this was tedious to get into. The About section. It seems easy, if you think, but no! It’s actually really hard to get into without proper techniques and lots of tampering with the XPM pixmaps. Gemini couldn’t help so I reached over to Claude to help and here it is, 1h wasted on just an about section.
Actually another long time to comply for shipping (a test one!) which are AppImages! I just don’t want to mess around with dependency hell when distributing an ELF binary (ugh dangerous) so AppImage was our way to go. First, it was a bit flawed, then with some help, we managed to get two variants, generic and IRIX (for those who run MaXX). Hopefully it will be done soon, as this is still a work in progress and should serve the instantaneous basis of my future MotifDesigner roadmap. Attached is the app tested on Ubuntu MATE at Deskterm.
More work yay! Most of the time logged here is just a scrapped feature that will never make it (due to the nature of XmNotebook). Initially, I wanted to add a tab that can switch between the visual editor and the C++ code editor (WIP)! but yeah, I don’t want a flipbook like interface, so I’ll make it as two separate modules. But hey, at least we made progress!
A lot of things were done. First off, the menubar for your stuffs later on! You’ll do it there! Second, now there’s a toolbar (still WIP)! As well as a lot of segfaults along the way, we managed to get that working for the start of this!
Added new properties panel! This is to ensure precise modifications were being made so that you still have lots of control with the UI building process
Now added a check for illegal names using regex! This is done so that you won’t get programmatic errors later on when coding your app in C++ (everyone doesn’t want that!) so it’s better to stay off at the normal naming convention of C
Finally, the feature we all be waiting for! The canvas! This took me a horrendous amount of time, but it sure was worth the experience It can now drag, scale, and do many transformations like a usual GUI builder would do! And yeah, there were a lot of hiccups (yeah, segfaults and coredump abortions) and managed to fix a lot of them if it weren’t for Claude! Yeah, basically, it looks like a functioning editor by now! Sure it was interesting!
Lots of bug fixes (I forgot what I did for the past 2 hours logged T_T) but at least, most bugs were shot down and caught. Especially quick mouse kids, who just mess and drag widgets fast, now it’s “throttled” to a fixed 60fps. And also added status bar to highlight the user on what’s going on and what to do with the tool. Oh yeah, also added where you can use arrow keys to snappingly move between 10 units, just for convenience! (Excuse me, the cursor there is highly offset, I truly apologize for that TwT)
Added a dialog later on for you to answer the questions it prompted you, as well as regex checking (this will be fixed into a more modular approach later on). Regexes still apply! I’ll probably finish a lot later on (including adding a new visual file, opening a visual file, etc). Right now, this could be the roadmap for future development from now: Current Goals: Implement exporting visual as .h file to be used Creating a new visual file, opening/parsing, and saving Future Goals: Fully implemented C++ editor inside of the designer Project system (a folder containing the visual file, C++ file and the automatically generated header file) Automatic X11/Xm/Xt download if you don’t have one (includes and libraries) In-IDE building with g++ and having the ability to run the result binary Packaging to AppImage with linuxdeploy and appimagetool Add Wakatime/Hackatime support /j (that will/won’t happen)
Finally, added one feature that is extremely important or else render MotifDesigner out of its core goals! Now, header ( *.h ) export is available, which means you can start using it as part of your project! Zero warnings, zero errors, it’s stable now (if there are errors or warnings in .h, it’s either your fault or just file a bug report)
Quality of life fixes, nothing big, just minor fixes before getting ready to ship at the first phase!
Hotfix 1 of v0.7 (0.71) is here. Nothing much here, just like the old 0.7 version, except this update are just bug fixes and few QoL improvements. If you are terrified of change, I’ll wrap up what’s changed in this hotfix: The handles and selection frames should no longer offset by now, it is near one-to-one on what you’ll be building at the end (including the header files :D) And yeah, the grid should be more visible now. At TextDialog.cpp , few improvements were made. The text field will focus first rather than the OK button, so you can type your header class right away, and press Enter when you’re all set!
A lot screwed up, so I decided to fix a lot of them. These are just mostly bug fixes and only a few QoL changes. For those who are afraid of change: Labels should be more legible now (same background as the overall canvas) Forced .hpp file generation (because the header implementation is C++, we don’t want it to mix with C only code A lot of stubborness during code generation ;)
Some features for 0.8 will be on the works by now. This includes: Snap to Grid toggle Added toggle as a new component Overall bug fixes ;) There will be more during the actual 0.8 release so stay tuned
Oh yeah, I forgot to log this one, but it adds few QoL improvements. Now, it should feel more modern, hence to the Figma-style handle and nets, as well as adding the bottom blue badge to visualize the exact width without looking at the inspector ever again!
This one, by far the hardest feature to implement: the save dialog . It took me lots of work to do (most was AI assisted) that double frees were actually fired (despite deleting all free methods). Here’s what’s fully implemented: Autotemplating with a default filename Sticky file names, so your typed filename never gets lost (e.g. when changing directories) And lots of UX improvements for the save dialogs The rest are relatively easy to implement, as they require little work, such as the open file dialog, etc. Next steps Next, I hope that There will be basic visual file saving/exporting ( *.vfl ) Parser for those visual files (to open it) Lots of filesystem-related operations as well as a robust project management system
Real thing now! You can now export visual files made by MotifDesigner! It will come in a user-friendly syntax, which is human and machine readable, which is much closer to something like XML! All that’s left is to: implement a parser to parse these visual files something to make the visual file editing complete before moving in to the IDE side of things
Now the hardest part has been done: importing and parsing visual files! Here’s what I accomplished: Parsing of visual files Syntax errors and redundancy checks to ensure it is indeed the visual file you are opening Auto writing on save whenever you’ve opened something or has saved a new file! How does the MotifDesigner Visual File format work ( .vfl )? (for self programming the visual file) It’s like XML or HTML (whatever that correlates with both) except the tags don’t end in slashes. All visual files must have both [MotifDesignerVisualFile] and [EndMotifDesignerVisualFile] . This will contain two critical pieces of information: the Version parameter, which you must append (e.g. Version=0.5 ). It must be inside the VisualFile tag. the Widgets tag. Same, enclosed with EndWidgets . This will be the place where you will put your elements here. I’ll write more of the file specifications if I have more time Anyway, here’s a video to demonstrate!
Made file specifications in Markdown, as well as a Claude skill (for you, vibecoders /j) so that Claude can generate proper visual files. No code changes, tho. Attached is an example where I instructed Claude to make a simple supermarket POS interface.
Release 1.0 has been out now! MotifDesigner is usable for the general public now! You know what that means? Shipping time! Oh yeah, don’t forget to report bugs or issues here . Don’t be hesitant. It can be either via your AppImage or your local debug build
Now added live value editing! Double click (certain elements) to edit its value, and you can use your normal keyboard editing shortcuts. Yes, Home , End , Shift+arrow , Ctrl+A , etc, are supported! Hands off the mouse now! Being honest, this feature is mostly implemented by AI. Text logic and selection is a finicky subject to pick up, given the sheer complexity. But I want to make the value editing UX just like at home, like you would on Figma, and many more! Also, some quality of life updates: re-renders are now automatically scheduled based on your device’s refresh rate. You don’t need to wait for user input now, it happens automatically in the background. ( And yes, free (s) are excluded as usual. Double free() is usually the culprit and yeah, I’m bad at memory management )
Ships:
This is MotifDesigner, a GUI editor for Motif (basically) in which you can edit your normal GUIs. Think of it as like the WinForms/Qt Creator of Motif! The goal is to actually bring modern UX to ancient looking software, and it’s actually quite fun! Behind all these are hours of debugging efforts, tens of segmentation fault crashes, tons of sacrificed memory for memory leak debugging, and lots of core dumps! I hope this project simplifies what GUI making is, or just making Motif development a bit easier while also looking ancient!
Version 1.0 is now released! Horray! A lot of things have been added! Added snap to grid checkmark on inspector NEW WIDGET : Toggle/checkmark! Add confirming stuffs to your UI! Fixed units on most components New handles and dimension badge Creation, saving and loading in new MotifDesigner Visual Files ( .vfl )! with a visual parser And comes with a brand new visual file format to accompany: MotifDesigner Visual Files! What are those? These are MotifDesigner’s native format. They allow you to define UIs, either programatically or visually. Read more about the file format specification yourself, or have it as a complement for Claude or Claude Code via skills...
|
1792994214.1753986
|
1793080614.1753986
|
|
45193
|
File For File by @wiiuavi | Stardance
|
wiiuavi
|
1
|
20.0
|
314
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T22:37:46Z", "hours": 20.0, "multiplier": 12.9, "payout": 314, "blessing": "neutral", "text": "I made a local python based WINDOWS ONLY file converter! QoL improvement and problem being solved -> dont have to upload docs to sketch websites i dont trust. It can run in the background, in system tray, can be used from file explorer, can bulk convert, stores history, can choose where to export, runs in your browser of choice, so can act like a tab if u wanna drag+drop like the sites (although sketch, they are convinient) VIDEO DEMO INCL IN THE GITHUB RELEASE/DEMO LINK", "repo": "https://github.com/wiiuavi/FileForFile", "demo": "https://github.com/wiiuavi/FileForFile/releases/tag/v1"}]...
|
[{"post_id": 51702, "ts": "202 [{"post_id": 51702, "ts": "2026-08-21T15:12:04Z", "hours": 7.0897, "text": "i worked for a while on an “image tool”, basically an ms paint recreation, but wasnt able to create what i wanted, and felt the tool wasnt appropriate for the project. Also tried making diff UIs (e.g. one in sc, but it didnt use up all the space) made it so you can add/remove multpiple files (had it beofre but could only add at once, and remove whole list), added a history where you could open the files directly or del from history and wrote all the descriptions for the files I think im ready to ship! now js have to think abt how to ship"}, {"post_id": 50522, "ts": "2026-08-19T18:24:48Z", "hours": 9.2058, "text": "Lots of work done! now i can activate the script and convert right in file explorer, got a tray icon too when its active! the settings page now shows where converted files go to, toggle keeping the script running, light/dark mode and to remove/add this file explorer integration! when you use this with a file, that file is automatically selected, ready to convert! file descriptions and image editing tools up next!"}, {"post_id": 45725, "ts": "2026-08-12T12:17:30Z", "hours": 2.2733, "text": "nearly done with the convert page. i dont remember what i did last devlog, but i added drag and drop functionality, removed it thinking that loading large files to browser memory isnt a good idea, readded it after thinking about how often ill use it for small files like images. getting basics down for now"}, {"post_id": 42755, "ts": "2026-08-07T17:06:12Z", "hours": 1.7211, "text": "Made a good-for-now conversion table list and basic funtions for them (no actual conversions yet). Sc shows the browser frontend, however i wanted it to act like a browser tab for convinience (can bookmark and switch/drag over files). However the python script wld have to be running all the time (not ideal) since the page cant start the script itself :("}]...
|
Title: File For File by @wiiuavi | Stardance
Devl Title: File For File by @wiiuavi | Stardance
Devlogs:
Made a good-for-now conversion table list and basic funtions for them (no actual conversions yet). Sc shows the browser frontend, however i wanted it to act like a browser tab for convinience (can bookmark and switch/drag over files). However the python script wld have to be running all the time (not ideal) since the page cant start the script itself :(
nearly done with the convert page. i dont remember what i did last devlog, but i added drag and drop functionality, removed it thinking that loading large files to browser memory isnt a good idea, readded it after thinking about how often ill use it for small files like images. getting basics down for now
Lots of work done! now i can activate the script and convert right in file explorer, got a tray icon too when its active! the settings page now shows where converted files go to, toggle keeping the script running, light/dark mode and to remove/add this file explorer integration! when you use this with a file, that file is automatically selected, ready to convert! file descriptions and image editing tools up next!
i worked for a while on an “image tool”, basically an ms paint recreation, but wasnt able to create what i wanted, and felt the tool wasnt appropriate for the project. Also tried making diff UIs (e.g. one in sc, but it didnt use up all the space) made it so you can add/remove multpiple files (had it beofre but could only add at once, and remove whole list), added a history where you could open the files directly or del from history and wrote all the descriptions for the files I think im ready to ship! now js have to think abt how to ship
Ships:
I made a local python based WINDOWS ONLY file converter! QoL improvement and problem being solved -> dont have to upload docs to sketch websites i dont trust. It can run in the background, in system tray, can be used from file explorer, can bulk convert, stores history, can choose where to export, runs in your browser of choice, so can act like a tab if u wanna drag+drop like the sites (although sketch, they are convinient) VIDEO DEMO INCL IN THE GITHUB RELEASE/DEMO LINK...
|
1792878457.7592974
|
1793742457.7592974
|
|
46161
|
Particle Evolution by @dubbyy | Stardance
|
dubbyy
|
1
|
21.0
|
314
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T23:52:08Z", "hours": 21.0, "multiplier": 14.66, "payout": 314, "blessing": "neutral", "text": "Project is available for download on Windows and Linux I made a particle simulator with genomes. Inspired by Particle Life, the particles interact with each other through attraction and repulsion which when millions of times across thousands of particles creates really cool patterns. The particles also have DNA as explained in the README This was a lot of fun, I find emergent behaviours really cool, and even though I wasn’t able to accomplish everything I wanted to do I’m still happy with how it turned out. I also learned a lot about how GPUs work which is becoming very relevant very fast. This might be my last Stardance project so I just want to say thank you to all the Hack Club staff for running this, and all the other Stardancers for making it what it is. I had a great summer and I hope you all did too :>", "repo": "https://github.com/dubbyy1/particle-evo", "demo": "https://github.com/dubbyy1/particle-evo/releases/tag/v1.0.0"}]...
|
[{"post_id": 69393, "ts": "202 [{"post_id": 69393, "ts": "2026-09-16T23:40:57Z", "hours": 1.0261, "text": "Devlog 4 Last one before I ship! I finalised a few things before release, mostly just messed with the UI. This project was also really hard to package because of the way Taichi compiles code. Long story short before it compiles it check to see if what you’re doing is legal, and for that it has to read the actual source code. When you package a project with something like PyInstaller, the source code gets lost which breaks Taichi. The fix for this was to include a copy of the physics code in plaintext within the executable, so Taichi had something to look at. Shout out to Claude for helping me fix that, I probably never would have figured that out on my own. Anyway that’s it"}, {"post_id": 69312, "ts": "2026-09-16T19:39:18Z", "hours": 7.205, "text": "Devlog 3 It’s been a long time! After a lot of procrastinating and trial and error, and banging my head against the wall trying to figure out evolution, I decided to pivot. I kept the genome system, but scrapped the evolution in favour of manual tuning Genomes I went over this in the last devlog but I’ll mention it again cause it’s important and it’s changed a little. The current system works with a fixed number of species , each with a unique genome. A genome is made of 3 traits (0 to 1) and 3 receptors (-1 to 1) and each receptor interacts with it’s respective trait on a neighbouring particle. For example, if Trait 1 on Particle A is 1, and Receptor 2 on Particle B is also 1, B will be attracted to A . Likewise, if Receptor 1 on Particle B is -1, B will be repelled by A Rendering Aside from solidifying the genome system, the biggest change from the last update is a full shift to GPU rendering. The previous version used Pygame to draw the window, but now I’m using Taichi’s UI library. The benefits of this are that information is no longer being sent between the CPU and GPU, significantly increasing speed. Also, the rendering itself is parallelized, making it even faster. Other Changes I added detailed controls for changing population, species count, genomes, visuals and more. I also added a system to save and load configurations. Next? I’m gonna leave this project for a bit, but I might come back to it in the future. If I do, I want to find some way to turn it into a live wallpaper / screensaver. It’s like the moon!"}, {"post_id": 52682, "ts": "2026-08-22T23:04:28Z", "hours": 1.6047, "text": "Devlog 2.5 - Chaos Really small update! I starting implementing the evolution, it’s very very simple right now but I just wanted to share this cause I think it looks cool. I won’t go into too much detail here but basically instead of a fixed species/color each particle has a genome. The genome is made of traits, and receptors (attraction/repulsion to certain traits). When particles get close to each other, they share a bit of DNA. I’ll probably change the evolution mechanism very soon because I don’t think this method is really viable but it’s a start :>"}, {"post_id": 49248, "ts": "2026-08-17T22:42:46Z", "hours": 3.5361, "text": "Devlog 2 - Organisms I finally got around to adding GPU integration. I can now comfortably run 20,000+ particles, before I was capped at around 1,500. There’s no other additions so I’m gonna talk about the implementation for a bit. I used a really cool module called Taichi . It basically lets you put a little tag above functions to tell them to compile into GPU code. For it to work you have to convert whatever you’re doing to use different datatypes since the GPU doesn’t understand python types. Regular numbers are the same but I struggled a good but trying to understand Vectors and Fields . I think a field is like a space that contains data, in 1, 2, or 3 dimensions. A vector is roughly equivalent to a list in Python. The part that confused me was putting vectors in fields, and the difference between vector dimensions and field dimensions. To actually implement Taichi I pretty much had to rewrite the whole backend, but thankfully the actual equations stayed mostly the same it was just the structure. Previously I had a big list of Particle objects with their own functions handling their own physics. Now particles are purely numerical, there’s just a big list of positions and a big list of colors used to render them. It was pretty interesting learning how to use Taichi, I’ll probably integrate it into future projects. or experiment with the GPU in other languages. As for this project, I called it Particle Evolution but I still haven’t fully figured out how I want the evolution to function. Hopefully I’ll have something next devlog :> 30,000 particles!"}, {"post_id": 48926, "ts": "2026-08-17T14:19:48Z", "hours": 1.12, "text": "Devlog 1.5 - Life Another small update. I still wasn’t completely happy with the physics after my last devlog so I looked at the code of another particle life simulation and realised I was doing some of the calculations wrong. It turns out I never fully fixed the strong repulsion equation, also I was applying the friction in the wrong order. Aside from bug fixes, I incorporated delta (the real time since the last frame) into all the calculations to account for framerate fluctuations. I’m now pretty happy with the way the particles interact, and I think I can start translating the code to run on the GPU - hopefully I don’t need to rewrite too much of it"}, {"post_id": 47208, "ts": "2026-08-14T23:38:27Z", "hours": 3.3586, "text": "Devlog 1 - Cells Quick update to my Particle Life project. I did some work to stabilise the physics, there were a lot of small mistakes in the code that added up to very erratic behaviours. For example, the repulsion force that’s supposed to stop the particles from overlapping too much was partially inverted and actually made things worse. I’m starting to get better results now but it’ sstill not perfect. I also added a little grid to visualise the relationships between different ‘species’. I’m still relatively new to Pygame so it was interesting trying to get the dragging and clicking working The last change is less noticeable but I did some light optimization. I basically added an invisible grid, so instead of checking the distance to every particle every frame, each particle only looks at neighbouring cells. It’s an improvement, but there’s still a long way to go as far as optimization. Hopefully I can figure out how to get it to run on the GPU soon"}, {"post_id": 44261, "ts": "2026-08-09T21:58:04Z", "hours": 3.5419, "text": "Devlog 0 - Primordial Soup I started making my Particle Life simulation. I got the basic features working, but it’s very unoptimised. Every particle checks every other particle every frame, and it’s all done using the CPU. I’ll elaborate more on how I’m going to solve this in the future. For anyone who doesn’t know, Particle Life works by simulating attraction and repulsion forces between different kinds of particles. For example, here you can see that blue is attracted to itself, causing it to form big clumps. You can also see that blue is attracted to green, but green repels blue, effectively making blue chase green around really fast. What’s Next? The two things I plan on doing next are optimisation, and customisation. I’m not sure which will come first, but hopefully by the time I finish I’ll know how I want to implement the evolution"}]...
|
Title: Particle Evolution by @dubbyy | Stardance
Title: Particle Evolution by @dubbyy | Stardance
Devlogs:
Devlog 0 - Primordial Soup I started making my Particle Life simulation. I got the basic features working, but it’s very unoptimised. Every particle checks every other particle every frame, and it’s all done using the CPU. I’ll elaborate more on how I’m going to solve this in the future. For anyone who doesn’t know, Particle Life works by simulating attraction and repulsion forces between different kinds of particles. For example, here you can see that blue is attracted to itself, causing it to form big clumps. You can also see that blue is attracted to green, but green repels blue, effectively making blue chase green around really fast. What’s Next? The two things I plan on doing next are optimisation, and customisation. I’m not sure which will come first, but hopefully by the time I finish I’ll know how I want to implement the evolution
Devlog 1 - Cells Quick update to my Particle Life project. I did some work to stabilise the physics, there were a lot of small mistakes in the code that added up to very erratic behaviours. For example, the repulsion force that’s supposed to stop the particles from overlapping too much was partially inverted and actually made things worse. I’m starting to get better results now but it’ sstill not perfect. I also added a little grid to visualise the relationships between different ‘species’. I’m still relatively new to Pygame so it was interesting trying to get the dragging and clicking working The last change is less noticeable but I did some light optimization. I basically added an invisible grid, so instead of checking the distance to every particle every frame, each particle only looks at neighbouring cells. It’s an improvement, but there’s still a long way to go as far as optimization. Hopefully I can figure out how to get it to run on the GPU soon
Devlog 1.5 - Life Another small update. I still wasn’t completely happy with the physics after my last devlog so I looked at the code of another particle life simulation and realised I was doing some of the calculations wrong. It turns out I never fully fixed the strong repulsion equation, also I was applying the friction in the wrong order. Aside from bug fixes, I incorporated delta (the real time since the last frame) into all the calculations to account for framerate fluctuations. I’m now pretty happy with the way the particles interact, and I think I can start translating the code to run on the GPU - hopefully I don’t need to rewrite too much of it
Devlog 2 - Organisms I finally got around to adding GPU integration. I can now comfortably run 20,000+ particles, before I was capped at around 1,500. There’s no other additions so I’m gonna talk about the implementation for a bit. I used a really cool module called Taichi . It basically lets you put a little tag above functions to tell them to compile into GPU code. For it to work you have to convert whatever you’re doing to use different datatypes since the GPU doesn’t understand python types. Regular numbers are the same but I struggled a good but trying to understand Vectors and Fields . I think a field is like a space that contains data, in 1, 2, or 3 dimensions. A vector is roughly equivalent to a list in Python. The part that confused me was putting vectors in fields, and the difference between vector dimensions and field dimensions. To actually implement Taichi I pretty much had to rewrite the whole backend, but thankfully the actual equations stayed mostly the same it was just the structure. Previously I had a big list of Particle objects with their own functions handling their own physics. Now particles are purely numerical, there’s just a big list of positions and a big list of colors used to render them. It was pretty interesting learning how to use Taichi, I’ll probably integrate it into future projects. or experiment with the GPU in other languages. As for this project, I called it Particle Evolution but I still haven’t fully figured out how I want the evolution to function. Hopefully I’ll have something next devlog :> 30,000 particles!
Devlog 2.5 - Chaos Really small update! I starting implementing the evolution, it’s very very simple right now but I just wanted to share this cause I think it looks cool. I won’t go into too much detail here but basically instead of a fixed species/color each particle has a genome. The genome is made of traits, and receptors (attraction/repulsion to certain traits). When particles get close to each other, they share a bit of DNA. I’ll probably change the evolution mechanism very soon because I don’t think this method is really viable but it’s a start :>
Devlog 3 It’s been a long time! After a lot of procrastinating and trial and error, and banging my head against the wall trying to figure out evolution, I decided to pivot. I kept the genome system, but scrapped the evolution in favour of manual tuning Genomes I went over this in the last devlog but I’ll mention it again cause it’s important and it’s changed a little. The current system works with a fixed number of species , each with a unique genome. A genome is made of 3 traits (0 to 1) and 3 receptors (-1 to 1) and each receptor interacts with it’s respective trait on a neighbouring particle. For example, if Trait 1 on Particle A is 1, and Receptor 2 on Particle B is also 1, B will be attracted to A . Likewise, if Receptor 1 on Particle B is -1, B will be repelled by A Rendering Aside from solidifying the genome system, the biggest change from the last update is a full shift to GPU rendering. The previous version used Pygame to draw the window, but now I’m using Taichi’s UI library. The benefits of this are that information is no longer being sent between the CPU and GPU, significantly increasing speed. Also, the rendering itself is parallelized, making it even faster. Other Changes I added detailed controls for changing population, species count, genomes, visuals and more. I also added a system to save and load configurations. Next? I’m gonna leave this project for a bit, but I might come back to it in the future. If I do, I want to find some way to turn it into a live wallpaper / screensaver. It’s like the moon!
Devlog 4 Last one before I ship! I finalised a few things before release, mostly just messed with the UI. This project was also really hard to package because of the way Taichi compiles code. Long story short before it compiles it check to see if what you’re doing is legal, and for that it has to read the actual source code. When you package a project with something like PyInstaller, the source code gets lost which breaks Taichi. The fix for this was to include a copy of the physics code in plaintext within the executable, so Taichi had something to look at. Shout out to Claude for helping me fix that, I probably never would have figured that out on my own. Anyway that’s it
Ships:
Project is available for download on Windows and Linux I made a particle simulator with genomes. Inspired by Particle Life, the particles interact with each other through attraction and repulsion which when millions of times across thousands of particles creates really cool patterns. The particles also have DNA as explained in the README This was a lot of fun, I find emergent behaviours really cool, and even though I wasn’t able to accomplish everything I wanted to do I’m still happy with how it turned out. I also learned a lot about how GPUs work which is becoming very relevant very fast. This might be my last Stardance project so I just want to say thank you to all the Hack Club staff for running this, and all the other Stardancers for making it what it is. I had a great summer and I hope you all did too :>...
|
1793004832.2570345
|
1793091232.2570345
|
|
55743
|
SmartPing Discord by @Azazel_261 | Stardance
|
Azazel_261
|
1
|
19.0
|
314
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T13:32:33Z", "hours": 19.0, "multiplier": 16.45, "payout": 314, "blessing": "neutral", "text": "Sup, it sure has been a minute! With fully operational v1 of the bot, here’s what you need to know: The SpartPing discord bot is a bot designed to call your friends for you, literally! Mentioning users to attract their attention quickly becomes annoying, and when it’s time to assemble the crew, the message quickly becomes very long and mainly consists of “@ user1, @ user2, etc.”. Discord solved this problem by adding roles that can be pinged, but that introduces new problems, that SmartPing is designed to solve: Discord enforces a strict limit of 250 roles per server, and a large community might have better uses for those than organizing 15 people to play minecraft once a week. SmartPing solves this by organizing and mentioning users via its own system, independent of roles You need a relatively high access level within a discord server to be able to create and manage, so the amount of people capable of that is limited, especially on a large server. Solution: since SmartPing is independent of the role system, call groups can be created and managed by regular users, with server admins always being able to intervene and take control if needed Should you create a role, it is either only mentionable by administrators or everyone. Former is only viable for announcements, and cannot be used by users to organize themselves. Latter introduces the ability for users to spam the role. This is once again solved by SmartPing by enforcing a once-per-five-minutes ping policy that can only be circumvented by server admins Development of this bot touched, among other things on asynchronous python code and event listeners/handlers, the latter of which is not implemented in hikari, so the handlers for the commands, autocomplete (did i mention the bot features autocomplete for group names?) and callback actions were written by me manually! I also had to touch up on my database knowledge, which, while is kind of annoying, was a lot of fun. I deployed to my dad’s (thanks, dad!) heroku server, where it is to stay for the foreseeable future You can try the bot out yourself, today! After adding it to your server, start by using /group create to create your first call group and then go from there! All commands are available and documented through discord’s in-built slash command system Peace!", "repo": "https://github.com/azazel-261/SmartPing", "demo": "https://discord.com/oauth2/authorize?client_id=1542944613961044138"}]...
|
[{"post_id": 66587, "ts": "202 [{"post_id": 66587, "ts": "2026-09-12T13:12:28Z", "hours": 0.9578, "text": "With some final touches, the bot is deployed to heroku and ready to ship!"}, {"post_id": 66480, "ts": "2026-09-12T10:08:14Z", "hours": 1.3639, "text": "The bot is nearly complete! Transferring group ownership or deleting it now brings up a dialog"}, {"post_id": 65863, "ts": "2026-09-11T09:19:50Z", "hours": 2.0178, "text": "The bot is slowly nearing completion! I’ve finished implementing rest of the commands, such as setting group parameters, added better arg parsing, etc.. All that’s left now is to polish the code, add final touches and deploy it"}, {"post_id": 64776, "ts": "2026-09-09T13:04:55Z", "hours": 1.5311, "text": "Group invites are now being handled properly! This turned out not as hard as i thought it’d be, only requiring one top-level handler function, that could be arranged similarly to the other two i had for commands and autocomplete TODO: settatr for groups"}, {"post_id": 63444, "ts": "2026-09-07T09:25:08Z", "hours": 2.4394, "text": "Most of the bot is now fully working! This includes: Creating, joining, leaving and deleting groups Calling groups Checking user eligibility to call said groups based on group policies TODO: Invites to private groups"}, {"post_id": 60353, "ts": "2026-09-02T17:19:20Z", "hours": 2.0819, "text": "Currently working on deleting and managing call groups"}, {"post_id": 58775, "ts": "2026-08-31T10:54:10Z", "hours": 1.2422, "text": "Database code now allows for creating and joining groups, honoring users with admin permissions I also created a dedicated error code system, instead of relying on try-catch to get all my info"}, {"post_id": 58247, "ts": "2026-08-30T16:40:11Z", "hours": 0.5317, "text": "After a little shenanigans, i finally got autocomplete hints to pull data from the database"}, {"post_id": 57979, "ts": "2026-08-30T09:48:54Z", "hours": 2.6764, "text": "Slowly but steadily, i’m setting up the database"}, {"post_id": 57613, "ts": "2026-08-29T20:27:39Z", "hours": 2.8086, "text": "I have rewritten the bot to use Discord’s built in interactions, which enables it to send messages visible to the command issuer TODO: database 🥲"}, {"post_id": 57190, "ts": "2026-08-29T09:24:28Z", "hours": 1.4425, "text": "Hello, world! So far i have created infrastructure that allows me to easily add and manage commands for the bot"}]...
|
Title: SmartPing Discord by @Azazel_261 | Stardanc Title: SmartPing Discord by @Azazel_261 | Stardance
Devlogs:
Hello, world! So far i have created infrastructure that allows me to easily add and manage commands for the bot
I have rewritten the bot to use Discord’s built in interactions, which enables it to send messages visible to the command issuer TODO: database 🥲
Slowly but steadily, i’m setting up the database
After a little shenanigans, i finally got autocomplete hints to pull data from the database
Database code now allows for creating and joining groups, honoring users with admin permissions I also created a dedicated error code system, instead of relying on try-catch to get all my info
Currently working on deleting and managing call groups
Most of the bot is now fully working! This includes: Creating, joining, leaving and deleting groups Calling groups Checking user eligibility to call said groups based on group policies TODO: Invites to private groups
Group invites are now being handled properly! This turned out not as hard as i thought it’d be, only requiring one top-level handler function, that could be arranged similarly to the other two i had for commands and autocomplete TODO: settatr for groups
The bot is slowly nearing completion! I’ve finished implementing rest of the commands, such as setting group parameters, added better arg parsing, etc.. All that’s left now is to polish the code, add final touches and deploy it
The bot is nearly complete! Transferring group ownership or deleting it now brings up a dialog
With some final touches, the bot is deployed to heroku and ready to ship!
Ships:
Sup, it sure has been a minute! With fully operational v1 of the bot, here’s what you need to know: The SpartPing discord bot is a bot designed to call your friends for you, literally! Mentioning users to attract their attention quickly becomes annoying, and when it’s time to assemble the crew, the message quickly becomes very long and mainly consists of “@ user1, @ user2, etc.”. Discord solved this problem by adding roles that can be pinged, but that introduces new problems, that SmartPing is designed to solve: Discord enforces a strict limit of 250 roles per server, and a large community might have better uses for those than organizing 15 people to play minecraft once a week. SmartPing solves this by organizing and mentioning users via its own system, independent of roles You need a relatively high access level within a discord server to be able to create and manage, so the amount of people capable of that is limited, especially on a large server. Solution: since SmartPing is independent of the role system, call groups can be created and managed by regular users, with server admins always being able to intervene and take control if needed Should you create a role, it is either only mentionable by administrators or everyone. Former is only viable for announcements, and cannot be used by users to organize themselves. Latter introduces the ability for users to spam the role. This is once again solved by SmartPing by enforcing a once-per-five-minutes ping policy that can only be circumvented by server admins Development of this bot touched, among other things on asynchronous python code and event listeners/handlers, the latter of which is not implemented in hikari, so the handlers for the commands, autocomplete (did i mention the bot features autocomplete for group names?) and callback actions were written by me manually! I also had to touch up on my database knowledge, which, while is kind of annoying, was a lot of fun. I deployed to my dad’s (thanks, dad!) heroku server, where it is to stay for the foreseeable future You can try the bot out yourself, today! After adding it to your server, start by using /group create to create your first call group and then go from there! All commands are available and documented through discord’s in-built slash command system Peace!...
|
1793004774.414829
|
1793091174.414829
|
|
41525
|
My very own WebOS by @Delilah | Stardance
|
Delilah
|
2
|
46.0
|
311
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T12:33:18Z", "hours": 21.0, "multiplier": 15.05, "payout": 311, "blessing": "neutral", "text": "I decided to reship this project because I wanted to add more features, which I did. The most challenging feature had to have been the settings app. Just changing the wallpaper and then being able to change it again. I’m just glad I figured it out. Although changing the background for the other stuff in display was relative easy, I guess once you do the heavy lifting once you’ll be able to handle the other stuff easier. I’m proud that I decided to make a settings app because I knew it wasn’t gonna be easy but it really impressed me when others did it so I guess I got inspired from them. Also I really love the feature where when you drag the mouse the green beam follows it, it’s so much fun. Honestly when you get to the page everything is very self explanatory. I hope the people that test my project have fun with it. It was one of my most favorite project to do.", "repo": "https://github.com/diditek8-byte/DelilahOS", "demo": "https://diditek8-byte.github.io/DelilahOS/"}, {"ship_num": 2, "ts": "2026-08-08T14:27:24Z", "hours": 25.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my very own webOS. The most challenging part was making the notes window move, since I used multiple js files, and the ideas I had to fix it would just not work at first. Also just making a notes app alone was very challenging, but it did introduce me to many new concepts of JavaScript that I didn’t know about. I am proud, alone just making a project like this, I didn’t even know that I was capable of doing something so cool. Also that I can solve my own problems and don’t have to heavily rely on AI, and of my designs, the background and the icons are made by myself in Canva and I think they didn’t turn out badly. Things you should know, when checking my project out: there is another window, the about me window, you can access it by pressing the DelilahOS at the top-bar. Another thing, if you want to delete a note you have to double click. Also the grey circles are not buttons they are just there for decoration.", "repo": "https://github.com/diditek8-byte/DelilahOS", "demo": "https://diditek8-byte.github.io/DelilahOS/"}]...
|
[{"post_id": 46279, "ts": "202 [{"post_id": 46279, "ts": "2026-08-13T12:25:41Z", "hours": 2.1164, "text": "Alright I decided to also make users able to change the background color of the top bar, bottom bar, and calendar and I think that went pretty well. That was more of the easier challenges. Now I’ll ship it and I hope you’ll like it. I know I do."}, {"post_id": 46220, "ts": "2026-08-13T09:26:07Z", "hours": 9.0939, "text": "I decided to make a settings and then ship my project. This is one of the more challenging stuff but I got the wallpapers to work, at first I struggled because it would only change once but then I found for it to keep changing it."}, {"post_id": 45156, "ts": "2026-08-11T13:49:13Z", "hours": 5.7906, "text": "Update: Made a weather app using the weather API from open weather app which I really get the hang of APIs. After it was finally working | decided to add a calendar widget which I struggled with the layout of the day that is circled a bit. It just wouldn’t be centered and there was too much space at the bottom so I used flexbox, first centered it with justify content and align items, then used position relative placed it to the left, and then just went with negative margin-top to get rid of the bottom margin. I’m not sure if that made sense or was the right way to do it, but it works so I’ll just leave it at that. Lastly I wanted my website to give more of a Starfire look so I added a green beam like her powers and tried to match the green as best as possible. Honestly I’m not sure what to add next I might add a settings and then end the project with that but I don’t know if that would be too little. What do you all think I should add."}, {"post_id": 44078, "ts": "2026-08-09T16:29:52Z", "hours": 3.63, "text": "I added a loading page with animations, to give it more of a OS feeling. After that I made a calculator app, which was pretty easy to make but I hope the design doesn’t look too bad."}, {"post_id": 43284, "ts": "2026-08-08T13:49:34Z", "hours": 2.7964, "text": "I got to finish my second app which I decided to be a random quotes app using an API. So now I finished the first mission of the webOS and can’t wait to ship it."}, {"post_id": 43083, "ts": "2026-08-08T05:06:16Z", "hours": 6.1067, "text": "I got finsh my first App on this webOS. It can close and expand even made the textarea bigger when the window expands. Even got the App to show when it is active in the bottom bar and it works both ways. The window also closes when you deselect the the icon in the bottom bar. Now it is time to make my own app to finally ship it for the first time."}, {"post_id": 40612, "ts": "2026-08-04T08:34:24Z", "hours": 10.2108, "text": "My Notes app is finally working, this was a long and hard process with some trial and error, one thing I still need to add is a scrolling bar because everytime you add more than 4 notes it will just overflow and I can’t have that."}, {"post_id": 38068, "ts": "2026-07-31T08:21:34Z", "hours": 5.4661, "text": "Hello everyone, started my second project in this programm, and I honestly really love the idea of a webOS and got inspired by Starfire. I started by designing the background inside Canva, kinda glad how it turned out tbh. Then I made the top bar got the clock and date, even made my first draggable window. Although I’m kinda struggling with the expand button, still need to figure out how to get the window back to normal after it expands and the layout is a bit crazy when it expands."}]...
|
Title: My very own WebOS by @Delilah | Stardance
Title: My very own WebOS by @Delilah | Stardance
Devlogs:
Hello everyone, started my second project in this programm, and I honestly really love the idea of a webOS and got inspired by Starfire. I started by designing the background inside Canva, kinda glad how it turned out tbh. Then I made the top bar got the clock and date, even made my first draggable window. Although I’m kinda struggling with the expand button, still need to figure out how to get the window back to normal after it expands and the layout is a bit crazy when it expands.
My Notes app is finally working, this was a long and hard process with some trial and error, one thing I still need to add is a scrolling bar because everytime you add more than 4 notes it will just overflow and I can’t have that.
I got finsh my first App on this webOS. It can close and expand even made the textarea bigger when the window expands. Even got the App to show when it is active in the bottom bar and it works both ways. The window also closes when you deselect the the icon in the bottom bar. Now it is time to make my own app to finally ship it for the first time.
I got to finish my second app which I decided to be a random quotes app using an API. So now I finished the first mission of the webOS and can’t wait to ship it.
I added a loading page with animations, to give it more of a OS feeling. After that I made a calculator app, which was pretty easy to make but I hope the design doesn’t look too bad.
Update: Made a weather app using the weather API from open weather app which I really get the hang of APIs. After it was finally working | decided to add a calendar widget which I struggled with the layout of the day that is circled a bit. It just wouldn’t be centered and there was too much space at the bottom so I used flexbox, first centered it with justify content and align items, then used position relative placed it to the left, and then just went with negative margin-top to get rid of the bottom margin. I’m not sure if that made sense or was the right way to do it, but it works so I’ll just leave it at that. Lastly I wanted my website to give more of a Starfire look so I added a green beam like her powers and tried to match the green as best as possible. Honestly I’m not sure what to add next I might add a settings and then end the project with that but I don’t know if that would be too little. What do you all think I should add.
I decided to make a settings and then ship my project. This is one of the more challenging stuff but I got the wallpapers to work, at first I struggled because it would only change once but then I found for it to keep changing it.
Alright I decided to also make users able to change the background color of the top bar, bottom bar, and calendar and I think that went pretty well. That was more of the easier challenges. Now I’ll ship it and I hope you’ll like it. I know I do.
Ships:
I made my very own webOS. The most challenging part was making the notes window move, since I used multiple js files, and the ideas I had to fix it would just not work at first. Also just making a notes app alone was very challenging, but it did introduce me to many new concepts of JavaScript that I didn’t know about. I am proud, alone just making a project like this, I didn’t even know that I was capable of doing something so cool. Also that I can solve my own problems and don’t have to heavily rely on AI, and of my designs, the background and the icons are made by myself in Canva and I think they didn’t turn out badly. Things you should know, when checking my project out: there is another window, the about me window, you can access it by pressing the DelilahOS at the top-bar. Another thing, if you want to delete a note you have to double click. Also the grey circles are not buttons they are just there for decoration.
I decided to reship this project because I wanted to add more features, which I did. The most challenging feature had to have been the settings app. Just changing the wallpaper and then being able to change it again. I’m just glad I figured it out. Although changing the background for the other stuff in display was relative easy, I guess once you do the heavy lifting once you’ll be able to handle the other stuff easier. I’m proud that I decided to make a settings app because I knew it wasn’t gonna be easy but it really impressed me when others did it so I guess I got inspired from them. Also I really love the feature where when you drag the mouse the green beam follows it, it’s so much fun. Honestly when you get to the page everything is very self explanatory. I hope the people that test my project have fun with it. It was one of my most favorite project to do....
|
1792993678.0302486
|
1793080078.0302486
|
|
30479
|
FaceFall by @f | Stardance
|
f
|
1
|
37.0
|
310
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T15:54:03Z", "hours": 24.0, "multiplier": 13.74, "payout": 310, "blessing": "neutral", "text": "What I made FaceFall is a real-time 3D cloth simulator written in C99. It simulates cloth falling over spheres, cubes, and arbitrary OBJ meshes, with a live preview and deterministic MP4 export at up to 4K 120 FPS. What was challenging Getting the cloth to actually behave like fabric. Most of the work went into making the simulation stable while adding self-collision, realistic aerodynamics, and reliable mesh collision without particles tunnelling through geometry or the cloth exploding. What I’m proud of I’m most proud that it feels believable. You can change cloth resolution, material, wind, and colliders, then export smooth 120 FPS videos, all from a single C source file. How to test it Build with build.bat and run facefall.exe. I recommend using a 64×64 or 128×128 cloth, trying each collider, toggling self-collision, changing the fabric presets, and exporting a 120 FPS video with V. You can also run facefall –selftest to verify the physics automatically.", "repo": "https://github.com/pefia/FaceFall", "demo": "https://github.com/pefia/FaceFall/releases/tag/v1.2"}]...
|
[{"post_id": 24408, "ts": "202 [{"post_id": 24408, "ts": "2026-07-07T22:53:27Z", "hours": 13.0, "text": "More ways to break the cloth This update was mostly about adding interactive features. The biggest one was cloth tearing . My first attempt never actually worked because the strain limiter prevented springs from stretching far enough to snap. The fix was checking the stretch before the limiter ran, then making sure tearing also removed the connected shear and bend springs so pieces actually separated instead of hanging by invisible links. I also added: A throwable physics ball that transfers momentum into the cloth. Mouse grabbing so you can pull and fling the fabric around. A live tension heatmap to show where the cloth is under stress. Slow motion (down to 1/8× ) and frame-by-frame stepping for debugging. The ball ended up being my favourite feature. Throwing it through a pinned curtain now rips a hole through the fabric, the stress heatmap lights up around the impact, and the cloth keeps simulating normally afterwards. Everything was backed up with new self-tests for tearing and ball collisions, and the original cloth behaviour stayed identical when the new features were disabled."}, {"post_id": 22922, "ts": "2026-07-05T15:50:26Z", "hours": 8.0, "text": "FaceFall - Devlog #3 Making the cloth actually feel like cloth This update was all about making the simulation feel physically believable instead of just stable. Some things worked exactly as I’d hoped, some didn’t, and one bug ended up explaining why cloth doesn’t really bounce. Better aerodynamics The old simulation only used simple linear drag, which meant the whole cloth slowed down evenly in every direction. It worked, but everything fell like it was moving through syrup. I replaced that with per-triangle aerodynamic forces. Every triangle now generates drag based on its orientation and velocity, so the cloth behaves much more naturally. A flat sheet catches the air like a parachute, while an edge-on sheet slices straight through it. The drag is also normalised so changing the cloth resolution doesn’t completely change the way it falls. The difference is surprisingly noticeable. Around the one second mark the cloth now billows into a canopy before landing, something the old solver never managed. Self collision Another thing I wanted was proper self collision. Previously, folds could pass straight through each other. I implemented a spatial hash so nearby particles can efficiently detect overlaps without checking every possible pair, keeping the cost close to linear even on larger simulations. The first time I tried self collision a while ago it was unstable because I only corrected positions. This time every collision also updates particle velocity, so the solver no longer fights itself. Folded cloth now stacks into proper layers instead of collapsing through itself. Softer collisions I also rewrote the collision response. Instead of instantly pushing particles outside the collider, objects now behave like spring-damper surfaces. The cloth compresses slightly into the collision shell before settling, which produces much smoother landings and completely removed the tiny jitter I was previously working around. The bounce bug This ended up being the most interesting part of the update. I originally wanted the cloth to bounce realistically, so I tried several different approaches. None of them looked right. While debugging I found something strange. After impact, some particles still had positive upward velocity for frame after frame, yet they never actually moved. The culprit was strain limiting. Every correction was changing particle positions without updating their velocities, meaning momentum was effectively disappearing from the simulation. Once I applied the matching velocity correction alongside each positional fix, impacts started travelling naturally through the cloth as visible waves instead of vanishing. Ironically, fixing that bug also answered the original question. Real cloth barely bounces. Once the sheet starts draping over a sphere, the hanging fabric absorbs almost all of the remaining energy. Even with perfect restitution the cloth only lifted a few centimetres before settling again. Because of that, the default fabric presets now use very low restitution values. Silk barely rebounds at all, while leather keeps a little more energy. Higher frame rate The simulator now runs internally at 120 FPS . Preview mode still displays at 60 FPS by stepping the simulation twice per frame, while exports run at the full rate. Renders take longer, but the smoother motion is absolutely worth it, especially during impact. Current state This update made the simulation feel much closer to real fabric. The cloth now catches the air properly, folded layers no longer pass through each other, collisions are smoother, and the behaviour after impact looks far more convincing than before. It also reminded me that sometimes the most realistic result isn’t the one you expect. After spending hours trying to make the cloth bounce, the correct answer turned out to be that real cloth… mostly doesn’t."}, {"post_id": 22529, "ts": "2026-07-05T01:38:01Z", "hours": 2.0, "text": "Going back to basics After trying a few more “realistic” cloth techniques, I realised I’d made the simulation worse instead of better. The biggest problems were all my own: Self-collision pushed overlapping particles apart in position space without changing their velocity, so the springs immediately snapped them back and the whole cloth could launch itself across the scene. Replacing bend springs with angle constraints made the cloth feel soft and unstable because the position-based constraints were fighting the force-based spring solver. Per-triangle aerodynamic forces changed the way the cloth fell and settled, but not for the better. Sometimes the simplest solution really is the right one. I rolled the simulator back to the model that was already producing the best results: Structural, shear, and bend springs Per-particle wind Linear air drag Strain limiting as the only position correction I removed self-collision and the angle-based bending entirely. Fabric presets now just adjust the bend spring stiffness, so materials like silk and leather still behave differently without adding unnecessary complexity. The settings menu was cleaned up to match. The rendering improvements all stayed, including the updated shader, high-resolution offscreen exports (1080p, 1440p and 4K), and the quality-of-life improvements to the presets and UI. I also added a --selftest mode that automatically runs a standard cloth drop onto the sphere and checks that the simulation stays stable. It verifies that particle positions remain finite, the cloth doesn’t explode or fling itself away, and structural springs stay within the configured strain limit."}, {"post_id": 22155, "ts": "2026-07-04T13:59:55Z", "hours": 1.0, "text": "FaceFall — Devlog #2 2026-07-04 — The cloth was invisible the whole time This update started with one simple bug report: “the cloth barely renders and it keeps clipping into the model.” It turned out to be three completely different problems. By the end of today I’d rebuilt the renderer, rewritten parts of the collision system, doubled the maximum cloth resolution to 128x128 , added adjustable cloth and collider sizes, and accidentally made the entire simulation explode into NaNs. The invisible cloth At first I assumed the renderer or lighting was broken. It wasn’t. The real problem was raylib’s batching. I disabled backface culling before submitting the cloth geometry, but re-enabled it before the batch was actually flushed to the GPU. The simulation itself was perfectly fine, but almost the entire cloth was getting backface-culled before it ever reached the screen. The fix was simply flushing the render batch before and after changing the GPU state so the cloth was actually drawn with culling disabled. While I was there I also rewrote the lighting. Instead of flat shading per quad, the cloth now generates smooth per-vertex normals and uses simple Gouraud shading. The difference is huge, especially on higher resolutions. The clipping bug The second issue was much harder. The first problem was that my collision shell was far too thin. At lower resolutions the particles stayed outside the collider, but the rendered surface between them could still cut straight through the mesh. I fixed that by scaling the collision shell with particle spacing so coarse cloth stays slightly further away from the surface. That solved part of it. The bigger issue only showed up against thin meshes. Sometimes a particle could move completely through the object in a single step, and because the collision system only looked at the particle’s final position it would happily push it out of the wrong side. The solution was switching to continuous collision detection. Every particle now stores its previous position, and I sweep that movement against the mesh instead of only checking where it ended up. The explosion My first implementation of continuous collision looked perfect. For about three seconds. Then the cloth completely disappeared. It turned out I had created an energy feedback loop where particles bounced between both sides of thin geometry until the simulation exploded into NaNs. Instead of pushing particles to a new position after a collision, I now simply restore their previous valid position and remove the inward velocity. It’s slightly more conservative, but completely stable. Bigger simulations With collision working properly again I increased the maximum cloth resolution from 64x64 to 128x128 . That pushed the simulation to over 16,000 particles , nearly 100,000 springs , and roughly 32,000 rendered triangles . To keep performance reasonable I added a simple spatial grid for mesh collisions so particles only test nearby triangles instead of the entire mesh every substep. The result is still effectively real-time, even at the highest resolution. New settings The settings menu also picked up a couple of new options: Adjustable cloth size Adjustable collider size Changing either one rebuilds the simulation immediately, updates the collision data, and automatically reframes the camera so everything stays visible. Current state FaceFall is finally starting to feel like a proper tool rather than just a physics demo. The renderer looks significantly better, collisions are much more reliable, larger simulations run comfortably, and exporting deterministic comparison clips is now almost entirely hands-off. There’s still plenty left to do, especially around self-collision, but it’s getting much closer to the project I originally imagined."}, {"post_id": 22094, "ts": "2026-07-04T11:07:25Z", "hours": 11.0, "text": "Dev Log #1 - FaceFall I started FaceFall because I kept seeing those short videos where a cloth drops over the same object at different mesh resolutions, but I don’t know how to use things like Blender to make them myself. The difference between a 2x2 sheet and a dense mesh is surprisingly satisfying, and I wanted to build my own version from scratch instead of relying on an existing physics engine. The goal isn’t just to make another cloth simulator. The mesh density is the whole point. At really low resolutions the cloth behaves more like a stiff piece of cardboard, while higher resolutions start producing proper folds, ripples, and believable draping. Reference: https://www.youtube.com/shorts/s_G2gBbWYF0 What’s working So far I’ve built a complete cloth simulator in a single C99 source file using raylib. Current features include: Mass-spring cloth simulation Structural, shear, and bending springs Hooke’s law with damping Semi-implicit Euler integration Runtime cloth resolutions from 2x2 up to 64x64 Sphere, cube, and arbitrary OBJ mesh colliders Three application modes: Settings Live preview Deterministic render/export Direct ffmpeg export to MP4 At this point it’s less of a physics experiment and more of a small content creation pipeline. I can recreate the exact same simulation with different resolutions and export identical camera angles for comparison videos. Challenges The biggest challenge early on was stability. Increasing spring stiffness quickly caused the simulation to explode, so I ended up basing the number of simulation substeps on the spring frequency instead of using a fixed timestep. The cloth also stretched far too much at first and looked more like rubber than fabric. Adding strain limiting made a huge difference and stopped the structural springs from over-extending. Collision was easily the hardest part. Spheres and cubes weren’t too bad, but arbitrary OBJ meshes became a rabbit hole of closest-point tests, broad-phase checks, collision response, and trying to stop particles tunnelling straight through thin geometry. I also spent longer than I’d like fighting Windows. Exporting raw frames through ffmpeg would randomly corrupt the output until I realised _popen needed to be opened in binary mode. Current bug The biggest thing I’m still working through is sphere collision. Most of the time it behaves exactly how I’d expect, but every now and then parts of the cloth clip into the sphere instead of settling over the surface. Once a few particles end up inside the collider the cloth starts rendering incorrectly, so it’s pretty obvious when it happens. I’m fairly confident the issue isn’t the spring solver anymore. The collision detection itself is finding the contacts, but the positional correction isn’t always pushing particles completely back outside the sphere. That’s the main thing I want to fix before moving on. What’s next Once the collision is reliable I want to polish the visuals and start generating comparison clips at different mesh densities. That’s really the whole reason I started this project. Seeing the exact same cloth drop change from a rigid, blocky sheet into something that actually looks like fabric is surprisingly satisfying, and now I finally have a tool that lets me create those videos however I want."}]...
|
Title: FaceFall by @f | Stardance
Devlogs:
Dev Lo Title: FaceFall by @f | Stardance
Devlogs:
Dev Log #1 - FaceFall I started FaceFall because I kept seeing those short videos where a cloth drops over the same object at different mesh resolutions, but I don’t know how to use things like Blender to make them myself. The difference between a 2x2 sheet and a dense mesh is surprisingly satisfying, and I wanted to build my own version from scratch instead of relying on an existing physics engine. The goal isn’t just to make another cloth simulator. The mesh density is the whole point. At really low resolutions the cloth behaves more like a stiff piece of cardboard, while higher resolutions start producing proper folds, ripples, and believable draping. Reference: https://www.youtube.com/shorts/s_G2gBbWYF0 What’s working So far I’ve built a complete cloth simulator in a single C99 source file using raylib. Current features include: Mass-spring cloth simulation Structural, shear, and bending springs Hooke’s law with damping Semi-implicit Euler integration Runtime cloth resolutions from 2x2 up to 64x64 Sphere, cube, and arbitrary OBJ mesh colliders Three application modes: Settings Live preview Deterministic render/export Direct ffmpeg export to MP4 At this point it’s less of a physics experiment and more of a small content creation pipeline. I can recreate the exact same simulation with different resolutions and export identical camera angles for comparison videos. Challenges The biggest challenge early on was stability. Increasing spring stiffness quickly caused the simulation to explode, so I ended up basing the number of simulation substeps on the spring frequency instead of using a fixed timestep. The cloth also stretched far too much at first and looked more like rubber than fabric. Adding strain limiting made a huge difference and stopped the structural springs from over-extending. Collision was easily the hardest part. Spheres and cubes weren’t too bad, but arbitrary OBJ meshes became a rabbit hole of closest-point tests, broad-phase checks, collision response, and trying to stop particles tunnelling straight through thin geometry. I also spent longer than I’d like fighting Windows. Exporting raw frames through ffmpeg would randomly corrupt the output until I realised _popen needed to be opened in binary mode. Current bug The biggest thing I’m still working through is sphere collision. Most of the time it behaves exactly how I’d expect, but every now and then parts of the cloth clip into the sphere instead of settling over the surface. Once a few particles end up inside the collider the cloth starts rendering incorrectly, so it’s pretty obvious when it happens. I’m fairly confident the issue isn’t the spring solver anymore. The collision detection itself is finding the contacts, but the positional correction isn’t always pushing particles completely back outside the sphere. That’s the main thing I want to fix before moving on. What’s next Once the collision is reliable I want to polish the visuals and start generating comparison clips at different mesh densities. That’s really the whole reason I started this project. Seeing the exact same cloth drop change from a rigid, blocky sheet into something that actually looks like fabric is surprisingly satisfying, and now I finally have a tool that lets me create those videos however I want.
FaceFall — Devlog #2 2026-07-04 — The cloth was invisible the whole time This update started with one simple bug report: “the cloth barely renders and it keeps clipping into the model.” It turned out to be three completely different problems. By the end of today I’d rebuilt the renderer, rewritten parts of the collision system, doubled the maximum cloth resolution to 128x128 , added adjustable cloth and collider sizes, and accidentally made the entire simulation explode into NaNs. The invisible cloth At first I assumed the renderer or lighting was broken. It wasn’t. The real problem was raylib’s batching. I disabled backface culling before submitting the cloth geometry, but re-enabled it before the batch was actually flushed to the GPU. The simulation itself was perfectly fine, but almost the entire cloth was getting backface-culled before it ever reached the screen. The fix was simply flushing the render batch before and after changing the GPU state so the cloth was actually drawn with culling disabled. While I was there I also rewrote the lighting. Instead of flat shading per quad, the cloth now generates smooth per-vertex normals and uses simple Gouraud shading. The difference is huge, especially on higher resolutions. The clipping bug The second issue was much harder. The first problem was that my collision shell was far too thin. At lower resolutions the particles stayed outside the collider, but the rendered surface between them could still cut straight through the mesh. I fixed that by scaling the collision shell with particle spacing so coarse cloth stays slightly further away from the surface. That solved part of it. The bigger issue only showed up against thin meshes. Sometimes a particle could move completely through the object in a single step, and because the collision system only looked at the particle’s final position it would happily push it out of the wrong side. The solution was switching to continuous collision detection. Every particle now stores its previous position, and I sweep that movement against the mesh instead of only checking where it ended up. The explosion My first implementation of continuous collision looked perfect. For about three seconds. Then the cloth completely disappeared. It turned out I had created an energy feedback loop where particles bounced between both sides of thin geometry until the simulation exploded into NaNs. Instead of pushing particles to a new position after a collision, I now simply restore their previous valid position and remove the inward velocity. It’s slightly more conservative, but completely stable. Bigger simulations With collision working properly again I increased the maximum cloth resolution from 64x64 to 128x128 . That pushed the simulation to over 16,000 particles , nearly 100,000 springs , and roughly 32,000 rendered triangles . To keep performance reasonable I added a simple spatial grid for mesh collisions so particles only test nearby triangles instead of the entire mesh every substep. The result is still effectively real-time, even at the highest resolution. New settings The settings menu also picked up a couple of new options: Adjustable cloth size Adjustable collider size Changing either one rebuilds the simulation immediately, updates the collision data, and automatically reframes the camera so everything stays visible. Current state FaceFall is finally starting to feel like a proper tool rather than just a physics demo. The renderer looks significantly better, collisions are much more reliable, larger simulations run comfortably, and exporting deterministic comparison clips is now almost entirely hands-off. There’s still plenty left to do, especially around self-collision, but it’s getting much closer to the project I originally imagined.
Going back to basics After trying a few more “realistic” cloth techniques, I realised I’d made the simulation worse instead of better. The biggest problems were all my own: Self-collision pushed overlapping particles apart in position space without changing their velocity, so the springs immediately snapped them back and the whole cloth could launch itself across the scene. Replacing bend springs with angle constraints made the cloth feel soft and unstable because the position-based constraints were fighting the force-based spring solver. Per-triangle aerodynamic forces changed the way the cloth fell and settled, but not for the better. Sometimes the simplest solution really is the right one. I rolled the simulator back to the model that was already producing the best results: Structural, shear, and bend springs Per-particle wind Linear air drag Strain limiting as the only position correction I removed self-collision and the angle-based bending entirely. Fabric presets now just adjust the bend spring stiffness, so materials like silk and leather still behave differently without adding unnecessary complexity. The settings menu was cleaned up to match. The rendering improvements all stayed, including the updated shader, high-resolution offscreen exports (1080p, 1440p and 4K), and the quality-of-life improvements to the presets and UI. I also added a --selftest mode that automatically runs a standard cloth drop onto the sphere and checks that the simulation stays stable. It verifies that particle positions remain finite, the cloth doesn’t explode or fling itself away, and structural springs stay within the configured strain limit.
FaceFall - Devlog #3 Making the cloth actually feel like cloth This update was all about making the simulation feel physically believable instead of just stable. Some things worked exactly as I’d hoped, some didn’t, and one bug ended up explaining why cloth doesn’t really bounce. Better aerodynamics The old simulation only used simple linear drag, which meant the whole cloth slowed down evenly in every direction. It worked, but everything fell like it was moving through syrup. I replaced that with per-triangle aerodynamic forces. Every triangle now generates drag based on its orientation and velocity, so the cloth behaves much more naturally. A flat sheet catches the air like a parachute, while an edge-on sheet slices straight through it. The drag is also normalised so changing the cloth resolution doesn’t completely change the way it falls. The difference is surprisingly noticeable. Around the one second mark the cloth now billows into a canopy before landing, something the old solver never managed. Self collision Another thing I wanted was proper self collision. Previously, folds could pass straight through each other. I implemented a spatial hash so nearby particles can efficiently detect overlaps without checking every possible pair, keeping the cost close to linear even on larger simulations. The first time I tried self collision a while ago it was unstable because I only corrected positions. This time every collision also updates particle velocity, so the solver no longer fights itself. Folded cloth now stacks into proper layers instead of collapsing through itself. Softer collisions I also rewrote the collision response. Instead of instantly pushing particles outside the collider, objects now behave like spring-damper surfaces. The cloth compresses slightly into the collision shell before settling, which produces much smoother landings and completely removed the tiny jitter I was previously working around. The bounce bug This ended up being the most interesting part of the update. I originally wanted the cloth to bounce realistically, so I tried several different approaches. None of them looked right. While debugging I found something strange. After impact, some particles still had positive upward velocity for frame after frame, yet they never actually moved. The culprit was strain limiting. Every correction was changing particle positions without updating their velocities, meaning momentum was effectively disappearing from the simulation. Once I applied the matching velocity correction alongside each positional fix, impacts started travelling naturally through the cloth as visible waves instead of vanishing. Ironically, fixing that bug also answered the original question. Real cloth barely bounces. Once the sheet starts draping over a sphere, the hanging fabric absorbs almost all of the remaining energy. Even with perfect restitution the cloth only lifted a few centimetres before settling again. Because of that, the default fabric presets now use very low restitution values. Silk barely rebounds at all, while leather keeps a little more energy. Higher frame rate The simulator now runs internally at 120 FPS . Preview mode still displays at 60 FPS by stepping the simulation twice per frame, while exports run at the full rate. Renders take longer, but the smoother motion is absolutely worth it, especially during impact. Current state This update made the simulation feel much closer to real fabric. The cloth now catches the air properly, folded layers no longer pass through each other, collisions are smoother, and the behaviour after impact looks far more convincing than before. It also reminded me that sometimes the most realistic result isn’t the one you expect. After spending hours trying to make the cloth bounce, the correct answer turned out to be that real cloth… mostly doesn’t.
More ways to break the cloth This update was mostly about adding interactive features. The biggest one was cloth tearing . My first attempt never actually worked because the strain limiter prevented springs from stretching far enough to snap. The fix was checking the stretch before the limiter ran, then making sure tearing also removed the connected shear and bend springs so pieces actually separated instead of hanging by invisible links. I also added: A throwable physics ball that transfers momentum into the cloth. Mouse grabbing so you can pull and fling the fabric around. A live tension heatmap to show where the cloth is under stress. Slow motion (down to 1/8× ) and frame-by-frame stepping for debugging. The ball ended up being my favourite feature. Throwing it through a pinned curtain now rips a hole through the fabric, the stress heatmap lights up around the impact, and the cloth keeps simulating normally afterwards. Everything was backed up with new self-tests for tearing and ball collisions, and the original cloth behaviour stayed identical when the new features were disabled.
Ships:
What I made FaceFall is a real-time 3D cloth simulator written in C99. It simulates cloth falling over spheres, cubes, and arbitrary OBJ meshes, with a live preview and deterministic MP4 export at up to 4K 120 FPS. What was challenging Getting the cloth to actually behave like fabric. Most of the work went into making the simulation stable while adding self-collision, realistic aerodynamics, and reliable mesh collision without particles tunnelling through geometry or the cloth exploding. What I’m proud of I’m most proud that it feels believable. You can change cloth resolution, material, wind, and colliders, then export smooth 120 FPS videos, all from a single C source file. How to test it Build with build.bat and run facefall.exe. I recommend using a 64×64 or 128×128 cloth, trying each collider, toggling self-collision, changing the fabric presets, and exporting a 120 FPS video with V. You can also run facefall –selftest to verify the physics automatically....
|
1792878808.6687534
|
1793742808.6687534
|
|
35549
|
Atom Simulator VSEPR by @mincych | Stardance
|
mincych
|
2
|
20.3
|
310
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-01T21:02:51Z", "hours": 14.0, "multiplier": 16.52, "payout": 237, "blessing": "neutral", "text": "HOW TO USE THE PROJECT ? : Enter the number of particles in the input box (1000 is a recommended number), hit Apply and watch the simulation run. Left click and drag to rotate, scroll to zoom. Hit Explanation for a full breakdown of how it works. I built a 3D molecular geometry simulator inspired by VSEPR theory from chemistry class using physics calculation, basically simulating how atoms arrange themselves through repulsion. V1 existed but had no controls and was written in VPython, so I learned Three.js from scratch, raw-dogging documentation the entire way. The challenging part was understanding how Three.js actually works while simultaneously figuring out the physics, forces, dampening, normalisation, cylinder connections between stable particles. The “magic numbers” problem was real problem too, tuning variables so the simulation looks correct and visually pleasing at the same time. But tbh, the writing the code turned out to be so confusing, it took me like 15 hours in total, where as I expected it to get finished in 2 hours, since I thought I was “just gonna translate some code from one language to another” Most proud of just finishing it honestly. When it finally worked, legendary doesn’t even cover it. IT WAS MORE THAN AMAZING.", "repo": "https://github.com/cirqatha/AtomSim", "demo": "https://cirqatha.github.io/AtomSim/"}, {"ship_num": 2, "ts": "2026-07-15T15:47:55Z", "hours": 6.0, "multiplier": 11.34, "payout": 73, "blessing": "neutral", "text": "What did you make? An Atom Simulator that visualises VSEPR theory — a chemistry concept I was studying in 11th grade that explains how atoms arrange themselves when forming compounds. I gave each particle a repulsive force and used some physics where atoms naturally settle into the same structures VSEPR predicts. What was challenging? Two things: The radial force, getting particles to stay on the sphere surface without snapping or drifting took a lot of tuning (damping constants, partial normalisation, force scaling) 2.Dynamic bond drawing, since particles move every frame, the cylinders connecting them have to be recalculated each frame, including figuring out which particles are close enough to be “bonded” and hiding the rest What are you proud of? I started by manually hard-coding forces between every pair of atoms, then refactored everything into loops and 2D lists, cutting the code down massively. I also pre-compute all the frames before the animation starts, so playback is smooth with no lag. To test it Use the GlowScript web version, it works in any browser instantly. If you run it locally, note that it freezes for ~30 seconds while pre-computing frames before the animation starts. That’s normal, not a crash.", "repo": "https://github.com/cirqatha/AtomSim", "demo": "https://cirqatha.github.io/AtomSim/"}]...
|
[{"post_id": 39529, "ts": "202 [{"post_id": 39529, "ts": "2026-08-02T15:29:17Z", "hours": 0.2969, "text": "Yea, I updated some minor things, nothing big"}, {"post_id": 39083, "ts": "2026-08-01T19:36:51Z", "hours": 9.3483, "text": "Finished V2 of my Atom simulator with A LOT OF IMPROVEMENTS https://cirqatha.github.io/AtomSim/ So for the V1, I made an Atom simulator out of pure curiosity from my 11th grade chemistry concept called VSEPR theory. I was told that the website didnt have any controlls, or any interaction, which made it kinda plain. But I stll managed to get high ratings. So I decided to improve it, but I wrote the previous simulation using VPython, which tbh is the grandfather level compared to three.js which is actively used in websites. So I learnt three.js and wrote the code. And here is the working of the code if anybody’s interested in it. PROBLEMS I FACED = yea I did not use AI to write code, but the problem is I was learning a new language and three.js. AND I RAW DOGGED DOCUMENTATIONS, i’ve never in my life coded in a more primitive way. I also had to understand the way three.js works, its actual way of doing things. You can only imagine how legendary I felt when the project was over. The “magic numbers” = I’ve recieved question from my previous ship about seemingly random values set for variables in the simulation. Remember, this is a very simplified simulation, a simulation with 99.99% accuracy requires a lot of factors, making this complex. The second reason is simply because that the numbers are set to make the motion of particles and visibility of particles visually pleasing while still keeping the structures mostly correct. Hence the “magic numbers”. Like I cannot set distance between atoms super low to simulate reality, thats why you would see the force constant super bumped up. The UI = I’ve added a box to change the number of particles and simulate them, along with a “render End Frame” checkbox which as the name suggests, only calculates stuff till the end frame, without simultaneously updating positions, rather updating at last. There is also a guide for how many particles it can handle safely, I’ve also shown a orbit control guide there which tells you how to rotate and zoom into the simulation. Updating objects = When you enter the number of particles, it first clears all the particles rom previous simulation, along with arrays and stuff. Then it adds particles, initialises velocites, and positions. Calculation Forces = In the beginning of each simulation, the arrays is first cleared to clear the forces from previous simulation. Now, For each particle, force from every other particle is calculated, then added together to give a final force vector for that particle. Calculating Velocities = Same clearing up loop with this.Also, This one’s really simple, its just a simple v = u + at formula. Every calculation is followed by a 0.9 factor scaling which dampens the velocity every frame. Calculating Positions = For this one we first store the previous position in a temp variable before clearing it. We then calculate the distance travelled using the formula s = ut + (1/2)at^2. This is followed by a little normalisation, which is basically like if you are spinning a ball with a string, normalisation factor decides how much stretchy the string is. 100% normalisation means the ball travells on the edge of a perfect sphere, a 10% normalisation means it can sometimes go away from that edge, but will not drift away because an additional force is attracting it to the edge. That distance travelled is added to the previous position stored in temp and that gives the position for that frame. Calculating Cylinders = For each particle, if it moves less than 0.1 distance between two frames, its considered stable then and it is connected to its nearest surrounding particles using cylinders. Render End Frame = Theres a feature which lets you to only render final frame of a 20 second simulation, which probably saves your system some resource usage. Though all the major stuff like calculation has to happen to calculate it."}, {"post_id": 36209, "ts": "2026-07-28T04:29:53Z", "hours": 3.5719, "text": "So I took the recommendations from people that rated my previous ship. Now I’ve switched from VPython to Three.js, the code doesnt exactly translate directly, I’m working on structural changes as well. The part that takes the longest is not using AI to code, I’m raw dogging this task through documentations. So far I’ve learnt how to use Three.js, and set up some structural base for the code. I guess it’ll take around 3-5 hours more to complete the project."}, {"post_id": 29942, "ts": "2026-07-17T04:01:21Z", "hours": 1.5181, "text": "Added a smart cylinder calculation This is a 10000 particle beast which took 20 minutes to compute one final frame after settling. Added numpy because calculations are reduced from hours to minutes"}, {"post_id": 28869, "ts": "2026-07-15T13:08:08Z", "hours": 6.4008, "text": "* Built an Atom Simulator I’m in 11th so I had the topic of VSEPR in my curriculum, So I built a program that simulates these structures by giving repulsion energies to these atoms. Then after using VPython, vectors, partial normalisation, 2D Lists and stuff I made it a bit not so boring. The structure automatically takes place when they go into lowest energy state. The positions are all first calculated and then the animation begins where you can see them going into lowest energy states. The maximum limit is said to be 12, but you could try with any number of particles you want, seeing how the structure would look like if it were real"}]...
|
Title: Atom Simulator VSEPR by @mincych | Stardanc Title: Atom Simulator VSEPR by @mincych | Stardance
Devlogs:
* Built an Atom Simulator I’m in 11th so I had the topic of VSEPR in my curriculum, So I built a program that simulates these structures by giving repulsion energies to these atoms. Then after using VPython, vectors, partial normalisation, 2D Lists and stuff I made it a bit not so boring. The structure automatically takes place when they go into lowest energy state. The positions are all first calculated and then the animation begins where you can see them going into lowest energy states. The maximum limit is said to be 12, but you could try with any number of particles you want, seeing how the structure would look like if it were real
Added a smart cylinder calculation This is a 10000 particle beast which took 20 minutes to compute one final frame after settling. Added numpy because calculations are reduced from hours to minutes
So I took the recommendations from people that rated my previous ship. Now I’ve switched from VPython to Three.js, the code doesnt exactly translate directly, I’m working on structural changes as well. The part that takes the longest is not using AI to code, I’m raw dogging this task through documentations. So far I’ve learnt how to use Three.js, and set up some structural base for the code. I guess it’ll take around 3-5 hours more to complete the project.
Finished V2 of my Atom simulator with A LOT OF IMPROVEMENTS https://cirqatha.github.io/AtomSim/ So for the V1, I made an Atom simulator out of pure curiosity from my 11th grade chemistry concept called VSEPR theory. I was told that the website didnt have any controlls, or any interaction, which made it kinda plain. But I stll managed to get high ratings. So I decided to improve it, but I wrote the previous simulation using VPython, which tbh is the grandfather level compared to three.js which is actively used in websites. So I learnt three.js and wrote the code. And here is the working of the code if anybody’s interested in it. PROBLEMS I FACED = yea I did not use AI to write code, but the problem is I was learning a new language and three.js. AND I RAW DOGGED DOCUMENTATIONS, i’ve never in my life coded in a more primitive way. I also had to understand the way three.js works, its actual way of doing things. You can only imagine how legendary I felt when the project was over. The “magic numbers” = I’ve recieved question from my previous ship about seemingly random values set for variables in the simulation. Remember, this is a very simplified simulation, a simulation with 99.99% accuracy requires a lot of factors, making this complex. The second reason is simply because that the numbers are set to make the motion of particles and visibility of particles visually pleasing while still keeping the structures mostly correct. Hence the “magic numbers”. Like I cannot set distance between atoms super low to simulate reality, thats why you would see the force constant super bumped up. The UI = I’ve added a box to change the number of particles and simulate them, along with a “render End Frame” checkbox which as the name suggests, only calculates stuff till the end frame, without simultaneously updating positions, rather updating at last. There is also a guide for how many particles it can handle safely, I’ve also shown a orbit control guide there which tells you how to rotate and zoom into the simulation. Updating objects = When you enter the number of particles, it first clears all the particles rom previous simulation, along with arrays and stuff. Then it adds particles, initialises velocites, and positions. Calculation Forces = In the beginning of each simulation, the arrays is first cleared to clear the forces from previous simulation. Now, For each particle, force from every other particle is calculated, then added together to give a final force vector for that particle. Calculating Velocities = Same clearing up loop with this.Also, This one’s really simple, its just a simple v = u + at formula. Every calculation is followed by a 0.9 factor scaling which dampens the velocity every frame. Calculating Positions = For this one we first store the previous position in a temp variable before clearing it. We then calculate the distance travelled using the formula s = ut + (1/2)at^2. This is followed by a little normalisation, which is basically like if you are spinning a ball with a string, normalisation factor decides how much stretchy the string is. 100% normalisation means the ball travells on the edge of a perfect sphere, a 10% normalisation means it can sometimes go away from that edge, but will not drift away because an additional force is attracting it to the edge. That distance travelled is added to the previous position stored in temp and that gives the position for that frame. Calculating Cylinders = For each particle, if it moves less than 0.1 distance between two frames, its considered stable then and it is connected to its nearest surrounding particles using cylinders. Render End Frame = Theres a feature which lets you to only render final frame of a 20 second simulation, which probably saves your system some resource usage. Though all the major stuff like calculation has to happen to calculate it.
Yea, I updated some minor things, nothing big
Ships:
What did you make? An Atom Simulator that visualises VSEPR theory — a chemistry concept I was studying in 11th grade that explains how atoms arrange themselves when forming compounds. I gave each particle a repulsive force and used some physics where atoms naturally settle into the same structures VSEPR predicts. What was challenging? Two things: The radial force, getting particles to stay on the sphere surface without snapping or drifting took a lot of tuning (damping constants, partial normalisation, force scaling) 2.Dynamic bond drawing, since particles move every frame, the cylinders connecting them have to be recalculated each frame, including figuring out which particles are close enough to be “bonded” and hiding the rest What are you proud of? I started by manually hard-coding forces between every pair of atoms, then refactored everything into loops and 2D lists, cutting the code down massively. I also pre-compute all the frames before the animation starts, so playback is smooth with no lag. To test it Use the GlowScript web version, it works in any browser instantly. If you run it locally, note that it freezes for ~30 seconds while pre-computing frames before the animation starts. That’s normal, not a crash.
HOW TO USE THE PROJECT ? : Enter the number of particles in the input box (1000 is a recommended number), hit Apply and watch the simulation run. Left click and drag to rotate, scroll to zoom. Hit Explanation for a full breakdown of how it works. I built a 3D molecular geometry simulator inspired by VSEPR theory from chemistry class using physics calculation, basically simulating how atoms arrange themselves through repulsion. V1 existed but had no controls and was written in VPython, so I learned Three.js from scratch, raw-dogging documentation the entire way. The challenging part was understanding how Three.js actually works while simultaneously figuring out the physics, forces, dampening, normalisation, cylinder connections between stable particles. The “magic numbers” problem was real problem too, tuning variables so the simulation looks correct and visually pleasing at the same time. But tbh, the writing the code turned out to be so confusing, it took me like 15 hours in total, where as I expected it to get finished in 2 hours, since I thought I was “just gonna translate some code from one language to another” Most proud of just finishing it honestly. When it finally worked, legendary doesn’t even cover it. IT WAS MORE THAN AMAZING....
|
1792994092.3067653
|
1793080492.3067653
|
|
20392
|
Windows Screen Timer Tracker by @Potatoish | Stard Windows Screen Timer Tracker by @Potatoish | Stardance...
|
Potatoish
|
1
|
27.0
|
308
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T06:01:50Z", "hours": 27.0, "multiplier": 11.6, "payout": 308, "blessing": "neutral", "text": "Windows Screen Time Tracker I built a Windows desktop app that automatically tracks, logs, and visualizes how much time you spend in each application. What it does The app runs silently in the background and logs your active window every few seconds. Over time it shows you a picture of how you spend your time on your PC. The app includes: Weekly bar chart that shows your screen time which you can navigate by week A breakdown table that shows you your screentime per app with icons A settings panel which includes settings such as tracking interval, how much data to keep, startup on launch, background running, and dark mode Data is stored locally in JSON files and is never sent anywhere What was challenging The hardest part was getting the app ready to distribute for others since there were issues with versions not being compatible between all the different modules I used and there not being much information available online to troubleshoot properly. How to test it Download the zip from the releases page and extract it Run Windows Screen Time Tracker.exe Open a few different apps and use them for a minute or two each Come back and check the chart and table where you should see your usage broken down by app with accurate times Try the settings panel to change the tracking interval or toggle dark mode by clicking the button", "repo": "https://github.com/amish410/WindowsScreenTimeTracker", "demo": "https://github.com/amish410/WindowsScreenTimeTracker/releases/tag/v1.0.0"}]...
|
[{"post_id": 20563, "ts": "202 [{"post_id": 20563, "ts": "2026-07-02T05:32:36Z", "hours": 2.6281, "text": "Devlog #11 Additions Painfully figured out how to make the app downloadable for others to use after issues with packaging the app with electron due to version issues Some code improvements to be more readable and better in general Updated ReadMe and project info Found and added a logo for the website Finished project and ready for ship #1"}, {"post_id": 19825, "ts": "2026-07-01T06:31:08Z", "hours": 3.3453, "text": "Devlog #10 Additions Added functionality to the dark mode button, which completely changes the background styling Clicking the dark mode button changes the icon to a moon vs a sun on light mode Created a whole new color scheme for dark mode Added dark mode as an automatically saved setting that loads on default upon load Painfully fixed bugs related with storing it as a new setting (mostly due to organization of code and structure) Added new lucide chevron icons for the chart arrow keys Fixed issues with the scroll bar when opening settings pop-up Planned Updates Add some more settings like downloading data, etc. (maybe) Make the app downloadable for others to use Optimize and organize the code to be more readable and better in general Update ReadMe and project info Find and add a logo for the website"}, {"post_id": 19046, "ts": "2026-06-30T07:02:08Z", "hours": 2.7347, "text": "Devlog #9 Additions Added styling to reset button Added the launch on startup and run in background settings that work as said in the names Added tracking interval and how many weeks to keep to decide when to track the data and how much to store Added warning that show what the correct input should be if incorrect input is given Added the reset button functionality that provides a native pop-up to confirm reset before deleting all data Stored settings in a JSON file to save them even after app has been closed Fixed styling and spacing irregularities throughout the app Planned Updates Add functionality to dark mode button Add some more settings like downloading data, etc. Make the app downloadable for others to use Optimize and organize the code to be more readable and better in general Update ReadMe and project info Find and add a logo for the website"}, {"post_id": 18174, "ts": "2026-06-29T06:47:57Z", "hours": 3.2094, "text": "Devlog #8 Additions Added the UI for the settings tab that opens a pop-up showing many settings. Settings include “Launch on Startup,” “Minimize on Close,” “Tracking Interval,” “How many weeks of data to keep,” and a “Reset Data” button. Only the tracking interval has functionality and works as of now Created a slider for the yes or no settings that has a smooth animation/slide Added an input box for other questions with variable settings and a prompt for how to enter settings in Made the chart and table elements auto-adapt to changes in screen size. Planned Updates Add functionality to all other settings Design the reset data button and add functionality Add functionality to dark mode button Make it so settings save even if the app is closed Add some more settings like downloading data, etc. Make the app downloadable for others to use Optimize and organize the code to be more readable and better in general Update ReadMe Update project info Find and add a logo for the website"}, {"post_id": 16703, "ts": "2026-06-27T04:28:53Z", "hours": 2.3692, "text": "Devlog #7 Additions Added custom titlebar at the top with appropriate close, maximize, and minimize buttons Updated scrollbar on the screen to better match the website in terms of styling Changed the layout of the title header to now have the text left-aligned Added two new buttons, one for setting and one for darkmode (might change) on the right side (currently no functionality) Used lucide to get icons for the buttons Updated the font for the chart and the text size Added a footer on the bottom Changed the app name to Windows Screen Time Tracker Fixed any errors that would show up if no active window is detected Planned updates Adding functionality to the buttons Updating the app logo Updating the ReadMe Better organizing code and getting rid of unnecessary things/optimizing Making the chart and other elements auto-adapt to size changes Figuring out how to make it a downloadable app"}, {"post_id": 15502, "ts": "2026-06-25T06:14:17Z", "hours": 2.245, "text": "Devlog #6 Additions Added functionality to arrow buttons that moves between available weeks of data Arrow buttons are grayed out if there is no more data available to be viewed Clicking on different bars of the bar chart now updates the table and the date to show that specific screentime per app for that date Moved the date under the chart and above the table in line with the refresh button Added the week of above the chart, which shows which week of data the chart shows Planned Updates Additional styling for the chart, such as font of numbers Adding new icons and stuff so the app is less bland/boring Fixing bugs, like if no window is detected it doesn’t give an error Finding and changing the logo for the site and the name Making sure the sizing is automatically adaptive to different screen sizes and changes as the screen changes (the chart mainly) Figuring out how to make it so others can download it Maybe dropdown menu if it works out Maybe additional color options like a dark mode Updating README and project info"}, {"post_id": 14898, "ts": "2026-06-24T05:57:41Z", "hours": 2.315, "text": "Devlog #5 Additions Added the refresh button that refreshes the data on both the table and the chart when clicked Added the day for which the data is being displayed at the top of the chart with day of the week and the long date Added the two arrow key buttons on either side of the chart that currently don’t do anything when clicked Changed the times so they no longer say 0s if there is already a minutes and hours time (ie: 2h 34m 0s to 2h 34m) Added styling to the buttons, which makes them have a shadow and glide up and down when hovered over Changed the color of the chart to better match the rest of the website Future Updates Adding functionality to the arrow buttons to move between weeks when clicked Changing the table to show the data for each day when clicking on different days of the week from the chart Making the application look nicer overall and more lively Bug fixes so the time is tracked more accurately (like not tracking time on the desktop home screen) Possibly adding a dropdown menu to show which specific tabs/websites were viewed and for how long (ie: Youtube - 2 hours) Making it a downloadable app that others can also use"}, {"post_id": 14071, "ts": "2026-06-23T01:30:07Z", "hours": 2.2897, "text": "Devlog #4 Additions Used chart.js to add a chart displaying total screen time during the current week The x-axis shows the days of the week, where blank boxes indicate that day hasn’t occured yet or there is no screen time The y-axis goes in increments of 30 minutes and automatically shortens or lengthens based off of your maximum screen time Hovering over the bar displays the total screen time as the table does below Time and days are now automatically tracked in local time instead of UTC Planned Updates Styling for the chart to better match the rest of the website A refresh button that refreshes the data instead of having to reopen or restart the app Screentime history that lets you see your screen time for the past week and possibly more Clicking on a day will also update the table to show your specific app usages for that day."}, {"post_id": 12831, "ts": "2026-06-21T00:23:32Z", "hours": 1.5597, "text": "Additions Added styling to the table and the overall app Added a total at the bottom of the table that shows total time throughout the whole day Added the name of the device for which screen time is being tracked under the main header"}, {"post_id": 12280, "ts": "2026-06-20T01:41:45Z", "hours": 2.3556, "text": "Displayed data from JSON file on the webpage in a table format Added the app icons to the webpage Converted the time from seconds to hours/minutes and formatted it Sorted the time in order of longest to shortest Added basic styling to the page, which will be updated later"}, {"post_id": 10924, "ts": "2026-06-17T22:01:06Z", "hours": 1.6881, "text": "I created a GitHub repository and decided to build this as a desktop app that runs in the background. After researching my options, I chose Electron because it lets me build the UI with HTML and CSS and create the backend/frontend with JavaScript while still allowing it to be used as an application. I used Electron Forge as a project template to start the application. For tracking the screentime, I used the paymoapp/active-window package, which checks the active window every 5 seconds and logs the time to a local JSON file with the app name, date, and time. The app automatically saves every 30 seconds and clears out any data older than 14 days."}]...
|
Title: Windows Screen Timer Tracker by @Potatoish Title: Windows Screen Timer Tracker by @Potatoish | Stardance
Devlogs:
I created a GitHub repository and decided to build this as a desktop app that runs in the background. After researching my options, I chose Electron because it lets me build the UI with HTML and CSS and create the backend/frontend with JavaScript while still allowing it to be used as an application. I used Electron Forge as a project template to start the application. For tracking the screentime, I used the paymoapp/active-window package, which checks the active window every 5 seconds and logs the time to a local JSON file with the app name, date, and time. The app automatically saves every 30 seconds and clears out any data older than 14 days.
Displayed data from JSON file on the webpage in a table format Added the app icons to the webpage Converted the time from seconds to hours/minutes and formatted it Sorted the time in order of longest to shortest Added basic styling to the page, which will be updated later
Additions Added styling to the table and the overall app Added a total at the bottom of the table that shows total time throughout the whole day Added the name of the device for which screen time is being tracked under the main header
Devlog #4 Additions Used chart.js to add a chart displaying total screen time during the current week The x-axis shows the days of the week, where blank boxes indicate that day hasn’t occured yet or there is no screen time The y-axis goes in increments of 30 minutes and automatically shortens or lengthens based off of your maximum screen time Hovering over the bar displays the total screen time as the table does below Time and days are now automatically tracked in local time instead of UTC Planned Updates Styling for the chart to better match the rest of the website A refresh button that refreshes the data instead of having to reopen or restart the app Screentime history that lets you see your screen time for the past week and possibly more Clicking on a day will also update the table to show your specific app usages for that day.
Devlog #5 Additions Added the refresh button that refreshes the data on both the table and the chart when clicked Added the day for which the data is being displayed at the top of the chart with day of the week and the long date Added the two arrow key buttons on either side of the chart that currently don’t do anything when clicked Changed the times so they no longer say 0s if there is already a minutes and hours time (ie: 2h 34m 0s to 2h 34m) Added styling to the buttons, which makes them have a shadow and glide up and down when hovered over Changed the color of the chart to better match the rest of the website Future Updates Adding functionality to the arrow buttons to move between weeks when clicked Changing the table to show the data for each day when clicking on different days of the week from the chart Making the application look nicer overall and more lively Bug fixes so the time is tracked more accurately (like not tracking time on the desktop home screen) Possibly adding a dropdown menu to show which specific tabs/websites were viewed and for how long (ie: Youtube - 2 hours) Making it a downloadable app that others can also use
Devlog #6 Additions Added functionality to arrow buttons that moves between available weeks of data Arrow buttons are grayed out if there is no more data available to be viewed Clicking on different bars of the bar chart now updates the table and the date to show that specific screentime per app for that date Moved the date under the chart and above the table in line with the refresh button Added the week of above the chart, which shows which week of data the chart shows Planned Updates Additional styling for the chart, such as font of numbers Adding new icons and stuff so the app is less bland/boring Fixing bugs, like if no window is detected it doesn’t give an error Finding and changing the logo for the site and the name Making sure the sizing is automatically adaptive to different screen sizes and changes as the screen changes (the chart mainly) Figuring out how to make it so others can download it Maybe dropdown menu if it works out Maybe additional color options like a dark mode Updating README and project info
Devlog #7 Additions Added custom titlebar at the top with appropriate close, maximize, and minimize buttons Updated scrollbar on the screen to better match the website in terms of styling Changed the layout of the title header to now have the text left-aligned Added two new buttons, one for setting and one for darkmode (might change) on the right side (currently no functionality) Used lucide to get icons for the buttons Updated the font for the chart and the text size Added a footer on the bottom Changed the app name to Windows Screen Time Tracker Fixed any errors that would show up if no active window is detected Planned updates Adding functionality to the buttons Updating the app logo Updating the ReadMe Better organizing code and getting rid of unnecessary things/optimizing Making the chart and other elements auto-adapt to size changes Figuring out how to make it a downloadable app
Devlog #8 Additions Added the UI for the settings tab that opens a pop-up showing many settings. Settings include “Launch on Startup,” “Minimize on Close,” “Tracking Interval,” “How many weeks of data to keep,” and a “Reset Data” button. Only the tracking interval has functionality and works as of now Created a slider for the yes or no settings that has a smooth animation/slide Added an input box for other questions with variable settings and a prompt for how to enter settings in Made the chart and table elements auto-adapt to changes in screen size. Planned Updates Add functionality to all other settings Design the reset data button and add functionality Add functionality to dark mode button Make it so settings save even if the app is closed Add some more settings like downloading data, etc. Make the app downloadable for others to use Optimize and organize the code to be more readable and better in general Update ReadMe Update project info Find and add a logo for the website
Devlog #9 Additions Added styling to reset button Added the launch on startup and run in background settings that work as said in the names Added tracking interval and how many weeks to keep to decide when to track the data and how much to store Added warning that show what the correct input should be if incorrect input is given Added the reset button functionality that provides a native pop-up to confirm reset before deleting all data Stored settings in a JSON file to save them even after app has been closed Fixed styling and spacing irregularities throughout the app Planned Updates Add functionality to dark mode button Add some more settings like downloading data, etc. Make the app downloadable for others to use Optimize and organize the code to be more readable and better in general Update ReadMe and project info Find and add a logo for the website
Devlog #10 Additions Added functionality to the dark mode button, which completely changes the background styling Clicking the dark mode button changes the icon to a moon vs a sun on light mode Created a whole new color scheme for dark mode Added dark mode as an automatically saved setting that loads on default upon load Painfully fixed bugs related with storing it as a new setting (mostly due to organization of code and structure) Added new lucide chevron icons for the chart arrow keys Fixed issues with the scroll bar when opening settings pop-up Planned Updates Add some more settings like downloading data, etc. (maybe) Make the app downloadable for others to use Optimize and organize the code to be more readable and better in general Update ReadMe and project info Find and add a logo for the website
Devlog #11 Additions Painfully figured out how to make the app downloadable for others to use after issues with packaging the app with electron due to version issues Some code improvements to be more readable and better in general Updated ReadMe and project info Found and added a logo for the website Finished project and ready for ship #1
Ships:
Windows Screen Time Tracker I built a Windows desktop app that automatically tracks, logs, and visualizes how much time you spend in each application. What it does The app runs silently in the background and logs your active window every few seconds. Over time it shows you a picture of how you spend your time on your PC. The app includes: Weekly bar chart that shows your screen time which you can navigate by week A breakdown table that shows you your screentime per app with icons A settings panel which includes settings such as tracking interval, how much data to keep, startup on launch, background running, and dark mode Data is stored locally in JSON files and is never sent anywhere What was challenging The hardest part was getting the app ready to distribute for others since there were issues with versions not being compatible between all the different modules I used and there not being much information available online to troubleshoot properly. How to test it Download the zip from the releases page and extract it Run Windows Screen Time Tracker.exe Open a few different apps and use them for a minute or two each Come back and check the chart and table where you should see your usage broken down by app with accurate times Try the settings panel to change the tracking interval or toggle dark mode by clicking the button...
|
1792968774.400995
|
1793055174.400995
|
|
31577
|
PickleWatch by @karthikeya | Stardance
|
karthikeya
|
2
|
34.45
|
308
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T03:58:34Z", "hours": 27.0, "multiplier": 16.51, "payout": 246, "blessing": "neutral", "text": "I updated it to now RallyLab. I did this because initially i had an app to find open pickleball courts near me in Tampa. It worked, but I realized you really only use a court finder once. You check it, drive there, and that’s it. So I’ve been rebuilding it into RallyLab. The idea is simple: put your phone on the bench and let it listen to your match. Instead of recording the match, the new app -RallyLab- just detects racket hits and the words you say like serves etc to detect who got the point. The audio gets processed 128 samples at a time and immediately overwritten, so there is no recording or audio file. I am going to spend more time on this and make it a full on product people can use.", "repo": "https://github.com/Coder-13-11/PickleWatch", "demo": "https://pickle-watch.vercel.app"}, {"ship_num": 2, "ts": "2026-07-10T15:13:48Z", "hours": 7.0, "multiplier": 8.97, "payout": 62, "blessing": "neutral", "text": "PickleWatch, an App for Pickleball Athletes So basically the problem is there’s like 8 pickleball courts around Tampa and you never know which ones are actually free or if they’re packed until you drive there and it’s a whole thing. So I made an app that tells you before you leave your house. It’s a website (kinda like an app, you can add it to your home screen) that shows all 8 courts and how busy each one probably is right now. It’s not just guessing randomly either — I made it learn the normal pattern for each court (like Northlakes gets crazy busy around 6pm on weekdays but High 5 is more of a lunchtime thing) and then it mixes that with actual people checking in. Like if you show up and tap “I’m here” and say how busy it is, that updates everyone’s app in real time for like 90 minutes and then it fades away. The real time part is honestly the coolest part, I used this thing called Supabase which is like a free database that can push updates instantly. I tested it by opening two browser windows side by side and checking in on one and watching it show up on the other one immediately, no refreshing or anything. Other stuff it does: Rally button — pick a time and it makes a message you can send to your group chat on WhatsApp asking who wants to play Polls — like if people can’t decide where to play you make a poll and everyone votes and you can see it update live Friends — add your friends and it’ll show you when they check in somewhere, plus little avatar bubbles showing who’s at a court right now No login or password or anything, you just type your name once and that’s it. Didn’t want to deal with accounts for something this small. Everything’s free too — Supabase has a free plan and I’m hosting it on Vercel which is also free, so it’s not costing me anything to run.", "repo": "https://github.com/Coder-13-11/PickleWatch", "demo": "https://pickle-watch.vercel.app"}]...
|
[{"post_id": 79042, "ts": "202 [{"post_id": 79042, "ts": "2026-10-12T14:04:26Z", "hours": 0.45, "text": "Update: fixed bugs and improved the sound detection algorithm so it accurately captures the hits, I am still wondering on how to make this really accurate so any suggestions would be helpful."}, {"post_id": 65180, "ts": "2026-09-10T03:56:43Z", "hours": 15.4464, "text": "🟢 Quick Update on Picklewatch 🟢. I updated it to now RallyLab. I did this because initially i had an app to find open pickleball courts near me in Tampa. It worked, but I realized you really only use a court finder once. You check it, drive there, and that’s it. So I’ve been rebuilding it into RallyLab. The idea is simple: put your phone on the bench and let it listen to your match. Instead of recording the match, the new app -RallyLab- just detects racket hits and the words you say like serves etc to detect who got the point. The audio gets processed 128 samples at a time and immediately overwritten, so there is no recording or audio file. The hit detector is working pretty well now. I tested it with simulated gym noise, talking, shoe squeaks, and another court playing nearby, and 9/11 conditions got an F1 of at least 0.93. I also added badminton, tennis, pickleball, squash, and table tennis, along with their different scoring rules. There are also 393 tests passing. The biggest thing I’m working on now is automatic score tracking. I originally planned to have players tap who won each rally, but nobody is going to do that during a game. Since players already say the score out loud, I’m using that instead. Speech recognition by itself is only around 73% accurate, but because there are only a few legal scores that can follow each score, an HMM + Viterbi decoder can bring that up to around 96–100%. I said its almost ready but I am trying to make it realible for an athlete to trust. Then I found a weird problem. The server’s score is always said first, so the microphone can know the score is 5-3 but can’t know which team is serving. That leaves two possibilities at exactly 50/50. I’m working on speaker ID now, but I’m using it as a probability instead of a hard rule so one mistake doesn’t ruin everything. Next is getting the score system into the UI, finishing speaker ID, figuring out the iOS audio situation, and testing it in a real gym. So far all my testing has been simulated. If it can’t handle six courts playing at once, then I have a much bigger problem. Maybe in the future, once i get the grant from hackclub to buy a licence for playstore, the app might fucntion more efficiently than a web app."}, {"post_id": 44219, "ts": "2026-08-09T20:42:41Z", "hours": 5.1753, "text": "Revamped the UI, check it out!"}, {"post_id": 32595, "ts": "2026-07-21T21:27:26Z", "hours": 6.0836, "text": "Fixed and Patched Bugs in PickleWatch!"}, {"post_id": 25968, "ts": "2026-07-10T14:41:36Z", "hours": 7.2303, "text": "Love Pickleball?? Check this out! I just made an app that tracks nearby pickleball courts and estimates how many people are on them, so the user can save time and play more efficiently when they get there. I have also created a feature for polls and for adding your crew to the friends list, so you can decide when to play the sport at your convenience. Please take a look at my screenshots below"}]...
|
Title: PickleWatch by @karthikeya | Stardance
Dev Title: PickleWatch by @karthikeya | Stardance
Devlogs:
Love Pickleball?? Check this out! I just made an app that tracks nearby pickleball courts and estimates how many people are on them, so the user can save time and play more efficiently when they get there. I have also created a feature for polls and for adding your crew to the friends list, so you can decide when to play the sport at your convenience. Please take a look at my screenshots below
Fixed and Patched Bugs in PickleWatch!
Revamped the UI, check it out!
🟢 Quick Update on Picklewatch 🟢. I updated it to now RallyLab. I did this because initially i had an app to find open pickleball courts near me in Tampa. It worked, but I realized you really only use a court finder once. You check it, drive there, and that’s it. So I’ve been rebuilding it into RallyLab. The idea is simple: put your phone on the bench and let it listen to your match. Instead of recording the match, the new app -RallyLab- just detects racket hits and the words you say like serves etc to detect who got the point. The audio gets processed 128 samples at a time and immediately overwritten, so there is no recording or audio file. The hit detector is working pretty well now. I tested it with simulated gym noise, talking, shoe squeaks, and another court playing nearby, and 9/11 conditions got an F1 of at least 0.93. I also added badminton, tennis, pickleball, squash, and table tennis, along with their different scoring rules. There are also 393 tests passing. The biggest thing I’m working on now is automatic score tracking. I originally planned to have players tap who won each rally, but nobody is going to do that during a game. Since players already say the score out loud, I’m using that instead. Speech recognition by itself is only around 73% accurate, but because there are only a few legal scores that can follow each score, an HMM + Viterbi decoder can bring that up to around 96–100%. I said its almost ready but I am trying to make it realible for an athlete to trust. Then I found a weird problem. The server’s score is always said first, so the microphone can know the score is 5-3 but can’t know which team is serving. That leaves two possibilities at exactly 50/50. I’m working on speaker ID now, but I’m using it as a probability instead of a hard rule so one mistake doesn’t ruin everything. Next is getting the score system into the UI, finishing speaker ID, figuring out the iOS audio situation, and testing it in a real gym. So far all my testing has been simulated. If it can’t handle six courts playing at once, then I have a much bigger problem. Maybe in the future, once i get the grant from hackclub to buy a licence for playstore, the app might fucntion more efficiently than a web app.
Update: fixed bugs and improved the sound detection algorithm so it accurately captures the hits, I am still wondering on how to make this really accurate so any suggestions would be helpful.
Ships:
PickleWatch, an App for Pickleball Athletes So basically the problem is there’s like 8 pickleball courts around Tampa and you never know which ones are actually free or if they’re packed until you drive there and it’s a whole thing. So I made an app that tells you before you leave your house. It’s a website (kinda like an app, you can add it to your home screen) that shows all 8 courts and how busy each one probably is right now. It’s not just guessing randomly either — I made it learn the normal pattern for each court (like Northlakes gets crazy busy around 6pm on weekdays but High 5 is more of a lunchtime thing) and then it mixes that with actual people checking in. Like if you show up and tap “I’m here” and say how busy it is, that updates everyone’s app in real time for like 90 minutes and then it fades away. The real time part is honestly the coolest part, I used this thing called Supabase which is like a free database that can push updates instantly. I tested it by opening two browser windows side by side and checking in on one and watching it show up on the other one immediately, no refreshing or anything. Other stuff it does: Rally button — pick a time and it makes a message you can send to your group chat on WhatsApp asking who wants to play Polls — like if people can’t decide where to play you make a poll and everyone votes and you can see it update live Friends — add your friends and it’ll show you when they check in somewhere, plus little avatar bubbles showing who’s at a court right now No login or password or anything, you just type your name once and that’s it. Didn’t want to deal with accounts for something this small. Everything’s free too — Supabase has a free plan and I’m hosting it on Vercel which is also free, so it’s not costing me anything to run.
I updated it to now RallyLab. I did this because initially i had an app to find open pickleball courts near me in Tampa. It worked, but I realized you really only use a court finder once. You check it, drive there, and that’s it. So I’ve been rebuilding it into RallyLab. The idea is simple: put your phone on the bench and let it listen to your match. Instead of recording the match, the new app -RallyLab- just detects racket hits and the words you say like serves etc to detect who got the point. The audio gets processed 128 samples at a time and immediately overwritten, so there is no recording or audio file. I am going to spend more time on this and make it a full on product people can use....
|
1792983036.5378199
|
1793069436.5378199
|
|
32303
|
BambuScribe by @animesh_varma | Stardance
|
animesh_varma
|
2
|
18.0
|
308
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T06:14:02Z", "hours": 11.0, "multiplier": 19.23, "payout": 202, "blessing": "neutral", "text": "And here we are with Ship #2 for BambuScribe (v2.0.0)!! ;D I was holding off on submitting this ship because I wanted to wait until the v2.0.0 announcement post on Reddit was at least a day old to let it breathe and see how the community responded (and the feedback has been great so far!). This update was a massive leap. The biggest challenge was turning BambuScribe from a strictly local Python setup into a completely serverless dual-mode web app powered by WebAssembly (Pyodide) on GitHub Pages! On top of the web deployment, I also built: 6 brand-new vector engines: Archimedean spirals (shown in the gif 2!), serpentine squiggles (shown in the gif 1!), centerline/skeleton thinning, flow field engraving, blue-noise stippling/TSP tours, and topographic contours. A path optimization pipeline: Sub-line-width RDP decimation, travel minimization, and gap stitching so the toolhead stops violently shaking and plots finish way faster. Dynamic clipping & safety: Paths now slice cleanly at bounding box boundaries instead of throwing errors, paired with strict G28 auto-homing enforcement. As you can tell in the attached GIF, my pen mount is Frankensteined together at this point (literally holding on for dear life :(). When I come back to BambuScribe after taking a little breather to focus on some of my other projects, designing a proper custom 3D printed pen mount is going to be my top priority. Until then, this will have to do! ;)", "repo": "https://github.com/Animesh-Varma/BambuScribe", "demo": "https://animesh-varma.github.io/BambuScribe/"}, {"ship_num": 2, "ts": "2026-07-13T14:03:03Z", "hours": 7.0, "multiplier": 14.74, "payout": 106, "blessing": "neutral", "text": "So long story short, I built BambuScribe; an open-source suite that safely turns your Bambu Lab printer into a precision 2D plotter without any slicer hacks! As for what was challenging, a considerable amount of time was spent on failed plots and fighting the printer. Getting the untethered plotting working was a massive battle because the printer flat-out refused to acknowledge that I sent it a .3mf file, so that was really something ;( But I am super proud of hunting down those bugs and optimizing the z-hops and travel so it now does everything at a nice speed and without random pauses! I am pushing v1.1.0 right now, and this will be my first ship of Stardance!!! ;D Anywho, if you want to test it out, you’ll need a Bambu A1 or A1 Mini, a 3D-printed pen mount (linked in the readme), and to enable LAN Only & Developer Mode in the printer. Just make sure your pen sits lower than the nozzle, set the bounding box, and flip your build plate so you don’t ruin your coating! (and BTW I got my A1 mini from hack club [through flavor town] :D)", "repo": "https://github.com/Animesh-Varma/BambuScribe", "demo": "https://animesh-varma.github.io/BambuScribe/"}]...
|
[{"post_id": 77861, "ts": "202 [{"post_id": 77861, "ts": "2026-10-08T15:54:50Z", "hours": 0.7322, "text": "Wohoooo!!! v2.0.0 is finally live!! I will ship it tomorrow, till then I will announce it on reddit! [the coderabbit suggestions were really something this time, it took me some time to understand and fix em :(] Edit: I forgot to mention the reason for the longg break, just had some family issues :(( But now its full speed ahead :D (after this I will be focusing on some of my other projects, so it is going to be stalled for around a month or soo)"}, {"post_id": 75300, "ts": "2026-09-29T17:54:29Z", "hours": 1.0031, "text": "Wohooo!! PR created successfully!! lets see what coderabbit has to say… [I will see that and make changes tomorrow, I hope it is’t too bad :(]"}, {"post_id": 75125, "ts": "2026-09-29T06:23:08Z", "hours": 0.7769, "text": "WOHOOOO!! I am finaly doneee, now for the dreaded part of the documentation, I will be back with the ship when it is done… for context I have the project live with the pyodide-worker on gihub pages"}, {"post_id": 74600, "ts": "2026-09-27T18:45:40Z", "hours": 6.0003, "text": "Did I take too long writing this log, yes, oh yes I did. But if you have been reading it has alwayes been a bumpy cadence :( Anyway, I have made many, many, many changes in the mean time, so many in fact that I dont have time to list them here. So you’ll have to read them in the Readme. Anyway, curuntly I am working on making Bambuscribe work on GitHub pages, so hope that works out well, the attached image is from all the algorythems I added in the hours (sorry for my grammar I am in a rush, and a family emergency to handle :( )"}, {"post_id": 36501, "ts": "2026-07-28T17:31:10Z", "hours": 1.9917, "text": "Wohaaa, so this was hectic… I had only had a very, very limited time to complete this update as my periodic tests start from tomorrow (hence the very minor bump). So this update was more or less a backend one where I just tied some loose ends here and there and added some little cosmetic updates (like a clear button for the images). My intention was also to add multi-color printing, but the time I had was far too little for that, but not for a lack of trying :( Anyway, I won’t be shipping it right now as it was just a minor update, so see you after my exams when I come around to pushing v1.2.0!!"}, {"post_id": 27655, "ts": "2026-07-13T12:50:30Z", "hours": 0.8694, "text": "So I spent the rest of the time hunting and fixing bugs in the PR (which were found by coderabbitai), this was the first PR and now we are at v1.1.0 ;D"}, {"post_id": 26673, "ts": "2026-07-11T16:41:17Z", "hours": 0.4961, "text": "Andd now I have optimized the zhops and the overall travel so it now does everything at the set speed and not just the pen strokes (and increased the max movement speed) [and I am pushing the V1.1.0 right now so this will me my first ship of Stardance!!!]]"}, {"post_id": 24309, "ts": "2026-07-07T20:00:28Z", "hours": 5.7922, "text": "So long story short, I forgot that I had to write a devlog ;( anywho, here it is, so I spent some time building Bambuscribe, you can understand what it does from the Readme and description (do note that the time logged is not the actual time I spent as a considerable amount was also spent on failed plots and fighting the printer and reading docs…) as for what I did now, after the v1.0.0 I have some change on my radar, the first one was to make the ploting autonomous and uploaded to the printer, that is what I just added, enjoy! (as for the challenges the printer refused to acknowledge that I sent it somthing, so that was really something)"}]...
|
Title: BambuScribe by @animesh_varma | Stardance
Title: BambuScribe by @animesh_varma | Stardance
Devlogs:
So long story short, I forgot that I had to write a devlog ;( anywho, here it is, so I spent some time building Bambuscribe, you can understand what it does from the Readme and description (do note that the time logged is not the actual time I spent as a considerable amount was also spent on failed plots and fighting the printer and reading docs…) as for what I did now, after the v1.0.0 I have some change on my radar, the first one was to make the ploting autonomous and uploaded to the printer, that is what I just added, enjoy! (as for the challenges the printer refused to acknowledge that I sent it somthing, so that was really something)
Andd now I have optimized the zhops and the overall travel so it now does everything at the set speed and not just the pen strokes (and increased the max movement speed) [and I am pushing the V1.1.0 right now so this will me my first ship of Stardance!!!]]
So I spent the rest of the time hunting and fixing bugs in the PR (which were found by coderabbitai), this was the first PR and now we are at v1.1.0 ;D
Wohaaa, so this was hectic… I had only had a very, very limited time to complete this update as my periodic tests start from tomorrow (hence the very minor bump). So this update was more or less a backend one where I just tied some loose ends here and there and added some little cosmetic updates (like a clear button for the images). My intention was also to add multi-color printing, but the time I had was far too little for that, but not for a lack of trying :( Anyway, I won’t be shipping it right now as it was just a minor update, so see you after my exams when I come around to pushing v1.2.0!!
Did I take too long writing this log, yes, oh yes I did. But if you have been reading it has alwayes been a bumpy cadence :( Anyway, I have made many, many, many changes in the mean time, so many in fact that I dont have time to list them here. So you’ll have to read them in the Readme. Anyway, curuntly I am working on making Bambuscribe work on GitHub pages, so hope that works out well, the attached image is from all the algorythems I added in the hours (sorry for my grammar I am in a rush, and a family emergency to handle :( )
WOHOOOO!! I am finaly doneee, now for the dreaded part of the documentation, I will be back with the ship when it is done… for context I have the project live with the pyodide-worker on gihub pages
Wohooo!! PR created successfully!! lets see what coderabbit has to say… [I will see that and make changes tomorrow, I hope it is’t too bad :(]
Wohoooo!!! v2.0.0 is finally live!! I will ship it tomorrow, till then I will announce it on reddit! [the coderabbit suggestions were really something this time, it took me some time to understand and fix em :(] Edit: I forgot to mention the reason for the longg break, just had some family issues :(( But now its full speed ahead :D (after this I will be focusing on some of my other projects, so it is going to be stalled for around a month or soo)
Ships:
So long story short, I built BambuScribe; an open-source suite that safely turns your Bambu Lab printer into a precision 2D plotter without any slicer hacks! As for what was challenging, a considerable amount of time was spent on failed plots and fighting the printer. Getting the untethered plotting working was a massive battle because the printer flat-out refused to acknowledge that I sent it a .3mf file, so that was really something ;( But I am super proud of hunting down those bugs and optimizing the z-hops and travel so it now does everything at a nice speed and without random pauses! I am pushing v1.1.0 right now, and this will be my first ship of Stardance!!! ;D Anywho, if you want to test it out, you’ll need a Bambu A1 or A1 Mini, a 3D-printed pen mount (linked in the readme), and to enable LAN Only & Developer Mode in the printer. Just make sure your pen sits lower than the nozzle, set the bounding box, and flip your build plate so you don’t ruin your coating! (and BTW I got my A1 mini from hack club [through flavor town] :D)
And here we are with Ship #2 for BambuScribe (v2.0.0)!! ;D I was holding off on submitting this ship because I wanted to wait until the v2.0.0 announcement post on Reddit was at least a day old to let it breathe and see how the community responded (and the feedback has been great so far!). This update was a massive leap. The biggest challenge was turning BambuScribe from a strictly local Python setup into a completely serverless dual-mode web app powered by WebAssembly (Pyodide) on GitHub Pages! On top of the web deployment, I also built: 6 brand-new vector engines: Archimedean spirals (shown in the gif 2!), serpentine squiggles (shown in the gif 1!), centerline/skeleton thinning, flow field engraving, blue-noise stippling/TSP tours, and topographic contours. A path optimization pipeline: Sub-line-width RDP decimation, travel minimization, and gap stitching so the toolhead stops violently shaking and plots finish way faster. Dynamic clipping & safety: Paths now slice cleanly at bounding box boundaries instead of throwing errors, paired with strict G28 auto-homing enforcement. As you can tell in the attached GIF, my pen mount is Frankensteined together at this point (literally holding on for dear life :(). When I come back to BambuScribe after taking a little breather to focus on some of my other projects, designing a proper custom 3D printed pen mount is going to be my top priority. Until then, this will have to do! ;)...
|
1792990234.2545476
|
1793076634.2545476
|
|
42834
|
Manual OS by @troksaroberts | Stardance
|
troksaroberts
|
2
|
34.0
|
308
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T21:46:33Z", "hours": 25.0, "multiplier": 12.58, "payout": 308, "blessing": "neutral", "text": "The idea is that to use apps and use basic OS functionality you have to install packages through console! To enable this “OS MODE” you need to choose “EVERYTHING MANUAL” in the lock screen! I am really proud of how comfy and functional OS became, how you can scale and scale it even more, and more. It was the right choice to think about project future in the beggining, and maybe overthink project architecture. To test project press “Try project” or press link . What will you see: Booting screen Lock screen, to continue press “Space” Input to enter your username (enter at least three characters) Choose what mode you want (everything preinstalled or everything manual) - for fast test you can choose everything preinstalled, but if you want to really suffer from idea in the begginning then chooose everything manual!", "repo": "https://github.com/RobertsRob/Manual_OS", "demo": "https://robertsrob.github.io/Manual_OS/"}, {"ship_num": 2, "ts": "2026-08-05T13:42:54Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a fully working WEB OS with draggable windows and multiple applications (trash bin - for decor, web browser - that accepts only urls and of course notepad). The thing that I am most proud of is funcional taskbar. To test my project just click “try project” and open apps by double clicking on desktop applications. BTW desktop icons are also draggable.", "repo": "https://github.com/RobertsRob/Manual_OS", "demo": "https://robertsrob.github.io/Manual_OS/"}]...
|
[{"post_id": 66201, "ts": "202 [{"post_id": 66201, "ts": "2026-09-11T21:29:15Z", "hours": 6.6028, "text": "Video game in my OS I added a functionality to the trash app. Now to clear “cache” in my OS, you have to play a game where you need to catapult trash to target. Controlls: Input ranges - vertical and horizontal trajectory Enter or SHOOT button - launch R - restart game after loss Also you can sometimes delete needed information for OS functionality and will be activated self destruction mode Game is written with a bit of math and html canvas)"}, {"post_id": 63836, "ts": "2026-09-07T20:12:56Z", "hours": 2.0031, "text": "Polished + Image Viewer Now you can open Images and ZOOM IN I also added a lot of content - text file and funny jokes even small puzzle ) You can also use basic search in File Explorer as well as going to specefic folder by typing it in path input."}, {"post_id": 63701, "ts": "2026-09-07T17:08:13Z", "hours": 3.4933, "text": "Update of the File Explorer In this addition i added more manuality to basic functions and huge amount of small fixes that enabled me to add new things. Some small updates: Added seconds to time Skip option for booting screent by pressing ESC Everything preinstalled is now a default so testers will be able to use system more easily Also as it is shown in the image now there is new look to File Exlorer and it can now open txt files in notepad, though some of functions like searching are not working yet. Images one of which is stored in Documents folder is opening as text in notepad showing link. Next update I will polish File Explorer and add Image Viewer"}, {"post_id": 53199, "ts": "2026-08-23T17:15:45Z", "hours": 3.0419, "text": "First steps of MANUALITY Toady I added two main thing and first is the taskbar update - was added decorative icon and time in right side (hh:mm:ss and dd:mm:yyyy) Also I added install command that shows animation of installation as well as changes in dictionary that package was installed. For now it doesnt work - system feels as everything preinstalled but next thing to do is to add restrictions to system usage without proper installations."}, {"post_id": 44858, "ts": "2026-08-10T21:54:02Z", "hours": 2.7164, "text": "More commands and boot screen I reworked app opening logic so now you can open an app with one terminal command, like notepad or web . Also now before lock screen booting screen can be seen. It shows ~350 lines of some made up text to imitate linux boot screen. It takes about 5.5 seconds to boot up."}, {"post_id": 43365, "ts": "2026-08-08T15:55:08Z", "hours": 3.2469, "text": "Lock screen and neofetch like command Today I added lock screen where you choose your username and whether you want to use this system in manual mode. Also I added command neofetch to show ManualOS logo in console. You can try current version using this link: https://robertsrob.github.io/Manual_OS/"}, {"post_id": 42950, "ts": "2026-08-07T22:46:48Z", "hours": 3.3981, "text": "Terminal Now that is the projects main part - terminal installs - manual part . User will have to install packages to do something - open apps, close apps, minimize apps - super MANUAL, so disk is not flooded with unnecessary packages. Today I added terminal and help command, with plans to expand amount of commands. Interesting part of implementation was color setup - I made terminal structure rework from initial idea. With this console structure I can easily write new colors to show in terminal. There is also easter egg)). Whats next: Command expansion and make them actually work Lock screen Manuality other fun stuff P.S. Manu testers may be fooled, but you can actually open multiple windows of the same app, as much as you want, just like in Linux or any other OS."}, {"post_id": 41018, "ts": "2026-08-04T22:25:15Z", "hours": 1.4872, "text": "Functional taskbar and notepad Now taskbar is not a decoration it is a functinable piece of software. You can choose app to open, choose whats app is on top of other and minimizing works. If you minimize app now pressing in the taskbar you can bring it back! Now thats pretty cool HUH? 😅 Also I added Notepad where you can write something, no functionaluty for now only textarea but looks goood. Also used backdrop-filter: blur(25px) to blur backgrounds, looks good to me."}, {"post_id": 40151, "ts": "2026-08-03T15:35:14Z", "hours": 1.6078, "text": "Window controll buttons Today I added options for users to maximize, minimize and close windows, also i added so windows now have adjustable priority and you can controll which windows are on top of others by clicking on them. Here is a video of functionality showcase:"}, {"post_id": 39705, "ts": "2026-08-02T20:46:36Z", "hours": 1.9425, "text": "Added windows and added browser application I added so when you double click on icon the window with app opens. Also browser was added. It is not google, funny thing google simply doesnt work in iframe. Also these windows are draggable from left side . You can write a url and press Enter , then site will be loaded. In exaples can be seen Wikipedia and my other project - Authentication template ) If you want to try current version you can visit this link: https://robertsrob.github.io/Manual_OS/"}, {"post_id": 39491, "ts": "2026-08-02T13:57:17Z", "hours": 3.7544, "text": "I started my Manual OS The idea is to make Web OS where nothing is installed and you have to install everything manually. There will be two options to use complete instalation or do manualy . Right now i am building main part then to split it and make users to install by parts everything (instalation is only in UI)"}]...
|
Title: Manual OS by @troksaroberts | Stardance
De Title: Manual OS by @troksaroberts | Stardance
Devlogs:
I started my Manual OS The idea is to make Web OS where nothing is installed and you have to install everything manually. There will be two options to use complete instalation or do manualy . Right now i am building main part then to split it and make users to install by parts everything (instalation is only in UI)
Added windows and added browser application I added so when you double click on icon the window with app opens. Also browser was added. It is not google, funny thing google simply doesnt work in iframe. Also these windows are draggable from left side . You can write a url and press Enter , then site will be loaded. In exaples can be seen Wikipedia and my other project - Authentication template ) If you want to try current version you can visit this link: https://robertsrob.github.io/Manual_OS/
Window controll buttons Today I added options for users to maximize, minimize and close windows, also i added so windows now have adjustable priority and you can controll which windows are on top of others by clicking on them. Here is a video of functionality showcase:
Functional taskbar and notepad Now taskbar is not a decoration it is a functinable piece of software. You can choose app to open, choose whats app is on top of other and minimizing works. If you minimize app now pressing in the taskbar you can bring it back! Now thats pretty cool HUH? 😅 Also I added Notepad where you can write something, no functionaluty for now only textarea but looks goood. Also used backdrop-filter: blur(25px) to blur backgrounds, looks good to me.
Terminal Now that is the projects main part - terminal installs - manual part . User will have to install packages to do something - open apps, close apps, minimize apps - super MANUAL, so disk is not flooded with unnecessary packages. Today I added terminal and help command, with plans to expand amount of commands. Interesting part of implementation was color setup - I made terminal structure rework from initial idea. With this console structure I can easily write new colors to show in terminal. There is also easter egg)). Whats next: Command expansion and make them actually work Lock screen Manuality other fun stuff P.S. Manu testers may be fooled, but you can actually open multiple windows of the same app, as much as you want, just like in Linux or any other OS.
Lock screen and neofetch like command Today I added lock screen where you choose your username and whether you want to use this system in manual mode. Also I added command neofetch to show ManualOS logo in console. You can try current version using this link: https://robertsrob.github.io/Manual_OS/
More commands and boot screen I reworked app opening logic so now you can open an app with one terminal command, like notepad or web . Also now before lock screen booting screen can be seen. It shows ~350 lines of some made up text to imitate linux boot screen. It takes about 5.5 seconds to boot up.
First steps of MANUALITY Toady I added two main thing and first is the taskbar update - was added decorative icon and time in right side (hh:mm:ss and dd:mm:yyyy) Also I added install command that shows animation of installation as well as changes in dictionary that package was installed. For now it doesnt work - system feels as everything preinstalled but next thing to do is to add restrictions to system usage without proper installations.
Update of the File Explorer In this addition i added more manuality to basic functions and huge amount of small fixes that enabled me to add new things. Some small updates: Added seconds to time Skip option for booting screent by pressing ESC Everything preinstalled is now a default so testers will be able to use system more easily Also as it is shown in the image now there is new look to File Exlorer and it can now open txt files in notepad, though some of functions like searching are not working yet. Images one of which is stored in Documents folder is opening as text in notepad showing link. Next update I will polish File Explorer and add Image Viewer
Polished + Image Viewer Now you can open Images and ZOOM IN I also added a lot of content - text file and funny jokes even small puzzle ) You can also use basic search in File Explorer as well as going to specefic folder by typing it in path input.
Video game in my OS I added a functionality to the trash app. Now to clear “cache” in my OS, you have to play a game where you need to catapult trash to target. Controlls: Input ranges - vertical and horizontal trajectory Enter or SHOOT button - launch R - restart game after loss Also you can sometimes delete needed information for OS functionality and will be activated self destruction mode Game is written with a bit of math and html canvas)
Ships:
I made a fully working WEB OS with draggable windows and multiple applications (trash bin - for decor, web browser - that accepts only urls and of course notepad). The thing that I am most proud of is funcional taskbar. To test my project just click “try project” and open apps by double clicking on desktop applications. BTW desktop icons are also draggable.
The idea is that to use apps and use basic OS functionality you have to install packages through console! To enable this “OS MODE” you need to choose “EVERYTHING MANUAL” in the lock screen! I am really proud of how comfy and functional OS became, how you can scale and scale it even more, and more. It was the right choice to think about project future in the beggining, and maybe overthink project architecture. To test project press “Try project” or press link . What will you see: Booting screen Lock screen, to continue press “Space” Input to enter your username (enter at least three characters) Choose what mode you want (everything preinstalled or everything manual) - for fast test you can choose everything preinstalled, but if you want to really suffer from idea in the begginning then chooose everything manual!...
|
1793001095.039983
|
1793087495.039983
|
|
28672
|
Helpy by @Ak_45 | Stardance
|
|
2
|
105.33
|
307
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T08:59:48Z", "hours": 38.0, "multiplier": 12.68, "payout": 237, "blessing": "neutral", "text": "I have polished the previous version of the app. I have added a focus shield, a music and ambient noise player, an AI chatbot, a softer notification, and better personalization. Completely discarded the previous version of the Chrome extension and rewrote it and added better UI and smart web tools, making it so that you can customize the user’s plan from the Chrome extension itself. Made the bridge between the app and the Chrome extension smoother and better & made the app way more ADHD-friendly. # NOTE: make sure that you enable notification in your OS and BROWSER", "repo": "https://github.com/Akshithsurya/helpy", "demo": "https://github.com/Akshithsurya/helpy/releases/tag/Helpy"}, {"ship_num": 2, "ts": "2026-07-15T14:50:47Z", "hours": 16.0, "multiplier": 8.66, "payout": 70, "blessing": "neutral", "text": "Helpy is a cross-platform desktop application built with Electron, accompanied by a Chrome extension, to help individuals with ADHD manage tasks, improve focus, and reduce distractions. The project was designed around the idea that productivity tools should adapt to the user rather than requiring the user to adapt to the tool. The application combines task management, focus sessions, reminders, and browser integration into a single, streamlined experience. The Chrome extension allows users to quickly capture tasks while browsing, while the desktop application provides a centralized workspace for organizing and tracking progress. One of the primary challenges was integrating the Electron desktop application with the Chrome extension while maintaining a consistent user experience. Packaging the application for distribution across multiple platforms and designing an interface that remains simple without sacrificing functionality also required significant effort. This project strengthened my understanding of Electron, Chrome Extension APIs, desktop application packaging, application architecture, and user-centered interface design. I am particularly proud of creating a solution that addresses a real accessibility and productivity challenge while remaining easy to install and use. To test the project: Download and install the latest release from the GitHub Releases page. Launch the Helpy desktop application. Load the Chrome extension using Chrome’s Developer Mode (Load unpacked or install the provided package). Create tasks, start focus sessions, and use the extension to save tasks directly from the browser. Verify that tasks and productivity features function as expected.", "repo": "https://github.com/Akshithsurya/helpy", "demo": "https://github.com/Akshithsurya/helpy/releases/tag/Helpy"}]...
|
[{"post_id": 50212, "ts": "202 [{"post_id": 50212, "ts": "2026-08-19T10:56:53Z", "hours": 8.6908, "text": "chnaged many of the features compressed to exe but i got hit with an error"}, {"post_id": 48032, "ts": "2026-08-16T10:05:38Z", "hours": 8.5569, "text": "Ready for ship and made the UI better and made it better and less quirky"}, {"post_id": 46824, "ts": "2026-08-14T10:51:45Z", "hours": 8.3019, "text": "made the chatbot better and added better code to everything and majour ui chang(rn place holder)"}, {"post_id": 45592, "ts": "2026-08-12T05:49:31Z", "hours": 8.6422, "text": "Made the features take up less space, which shrunk the app by 31%, and then made the notifications less annoying, made the app a bit more chat bot driven and made the chat bot better and added better themes"}, {"post_id": 40695, "ts": "2026-08-04T11:47:31Z", "hours": 8.8981, "text": "Added so that the app picks up the timer if you closed the app, made the music selection better and added new welcome message for new users to get started. :)"}, {"post_id": 40022, "ts": "2026-08-03T11:27:17Z", "hours": 8.24, "text": "I have made the chatbot better, made the UI better and less cluttered, added better focus shield, and made it way more optimised"}, {"post_id": 39305, "ts": "2026-08-02T06:06:20Z", "hours": 7.6078, "text": "Done adding a less cluttered UI, personalization, a chatbot companion, and more music and about to release V2"}, {"post_id": 38153, "ts": "2026-07-31T12:17:00Z", "hours": 8.9819, "text": "Major UI makeover and added a better chat bot."}, {"post_id": 36445, "ts": "2026-07-28T16:00:06Z", "hours": 8.1717, "text": "Added a chatbot and optimized the code & added features to help people with dyslexia to operate it."}, {"post_id": 34076, "ts": "2026-07-24T15:18:57Z", "hours": 8.3667, "text": "Added a settings row to Focus Focus Shield, Calm Mode, No Animation, Light Mode toggle, and a font/sound switcher. Added a settings row to Focus Focus Shield, Calm Mode, No Animation, Light Mode toggle, and a font/sound switcher. Per User Persistence All Per User Persistence All Also built Quick Commands - one input to type stuff like /plan work 60 or /help instead of clicking through menus. Still wiring up the rest of the commands. Underneath that: Create Focus Plan, with a Timer: Work Mode. Right now it just displays 00:00 as a placeholder – next up is hooking it to the actual session logic so starting a plan counts down for real.:)"}, {"post_id": 30564, "ts": "2026-07-18T07:36:40Z", "hours": 4.5017, "text": "Dark mode has been added. Now tell me what else i should add?"}, {"post_id": 28892, "ts": "2026-07-15T14:17:59Z", "hours": 1.9361, "text": "made the signup and login work made the notifications way less annoying :D"}, {"post_id": 27758, "ts": "2026-07-13T16:30:41Z", "hours": 2.1161, "text": "Added a Chrome extension to help track activities and to help people with ADHD and ADD"}, {"post_id": 27167, "ts": "2026-07-12T14:16:42Z", "hours": 2.9783, "text": "UI ready"}, {"post_id": 26023, "ts": "2026-07-10T16:30:57Z", "hours": 9.1939, "text": "Working on HelpY, a project to help ADHD and forgetful people, but how do fix this error? No AI agent was able to make a dent in the problem."}]...
|
Title: Helpy by @Ak_45 | Stardance
Devlogs:
Worki Title: Helpy by @Ak_45 | Stardance
Devlogs:
Working on HelpY, a project to help ADHD and forgetful people, but how do fix this error? No AI agent was able to make a dent in the problem.
UI ready
Added a Chrome extension to help track activities and to help people with ADHD and ADD
made the signup and login work made the notifications way less annoying :D
Dark mode has been added. Now tell me what else i should add?
Added a settings row to Focus Focus Shield, Calm Mode, No Animation, Light Mode toggle, and a font/sound switcher. Added a settings row to Focus Focus Shield, Calm Mode, No Animation, Light Mode toggle, and a font/sound switcher. Per User Persistence All Per User Persistence All Also built Quick Commands - one input to type stuff like /plan work 60 or /help instead of clicking through menus. Still wiring up the rest of the commands. Underneath that: Create Focus Plan, with a Timer: Work Mode. Right now it just displays 00:00 as a placeholder – next up is hooking it to the actual session logic so starting a plan counts down for real.:)
Added a chatbot and optimized the code & added features to help people with dyslexia to operate it.
Major UI makeover and added a better chat bot.
Done adding a less cluttered UI, personalization, a chatbot companion, and more music and about to release V2
I have made the chatbot better, made the UI better and less cluttered, added better focus shield, and made it way more optimised
Added so that the app picks up the timer if you closed the app, made the music selection better and added new welcome message for new users to get started. :)
Made the features take up less space, which shrunk the app by 31%, and then made the notifications less annoying, made the app a bit more chat bot driven and made the chat bot better and added better themes
made the chatbot better and added better code to everything and majour ui chang(rn place holder)
Ready for ship and made the UI better and made it better and less quirky
chnaged many of the features compressed to exe but i got hit with an error
Ships:
Helpy is a cross-platform desktop application built with Electron, accompanied by a Chrome extension, to help individuals with ADHD manage tasks, improve focus, and reduce distractions. The project was designed around the idea that productivity tools should adapt to the user rather than requiring the user to adapt to the tool. The application combines task management, focus sessions, reminders, and browser integration into a single, streamlined experience. The Chrome extension allows users to quickly capture tasks while browsing, while the desktop application provides a centralized workspace for organizing and tracking progress. One of the primary challenges was integrating the Electron desktop application with the Chrome extension while maintaining a consistent user experience. Packaging the application for distribution across multiple platforms and designing an interface that remains simple without sacrificing functionality also required significant effort. This project strengthened my understanding of Electron, Chrome Extension APIs, desktop application packaging, application architecture, and user-centered interface design. I am particularly proud of creating a solution that addresses a real accessibility and productivity challenge while remaining easy to install and use. To test the project: Download and install the latest release from the GitHub Releases page. Launch the Helpy desktop application. Load the Chrome extension using Chrome’s Developer Mode (Load unpacked or install the provided package). Create tasks, start focus sessions, and use the extension to save tasks directly from the browser. Verify that tasks and productivity features function as expected.
I have polished the previous version of the app. I have added a focus shield, a music and ambient noise player, an AI chatbot, a softer notification, and better personalization. Completely discarded the previous version of the Chrome extension and rewrote it and added better UI and smart web tools, making it so that you can customize the user’s plan from the Chrome extension itself. Made the bridge between the app and the Chrome extension smoother and better & made the app way more ADHD-friendly. # NOTE: make sure that you enable notification in your OS and BROWSER...
|
1792983285.2761765
|
1793069685.2761765
|
|
47159
|
Exoplanet Finder by @kingvon | Stardance
|
kingvon
|
1
|
18.0
|
307
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-06T08:48:09Z", "hours": 18.0, "multiplier": 14.49, "payout": 307, "blessing": "neutral", "text": "a smol app that searches NASA Kepler telescope data for signs of an exoplanet. it takes a star catalog ID and fetches years worth of brightness data, cleans and detrends the signal and runs a built from scratch Box Least Square algorithm to look for periodic dimmings that indicate a exoplanet passed in front of its host star. and from that dip it calculates more data like orbital period, transit duration, physical size relative to earth, and also flags the confident of detection. and PLEASE, i am begging you if you dont understand how any of this works just test against the given “try these” lol, and have patience while it loads since its a built-from-scratch scientific algorithm made for learning purposes.", "repo": "https://github.com/pratiksingh94/exoplanet-finder", "demo": "https://exoplanet.pratiksingh.xyz/"}]...
|
[{"post_id": 61789, "ts": "202 [{"post_id": 61789, "ts": "2026-09-04T21:25:09Z", "hours": 1.1606, "text": "TESS and K2 missions dont work, i am sorry its been 5 days i didnt get time to code properly but what i know is that i cannot add support for TESS and K2 for now. _ i tried everything which i can for now, K2 fires its thrusters every 6 hours to correct its position and that thruster fire overpowers the star transit, i tried increasing period_min and increasing it enough did lead to getting correct period but that was only posible cuz i already knew the period of the star i was testing on, from what it looks like i think just rolling median in detrending isnt enough for K2 mission stars, and i am not planning to implement the corrections it requires for now _ TESS had 2mins candence so it had over 1 million data points and in multiple loops it lead to taking hours to analyse, and my BLS double pass scales too much with data points, but i binned it like i did for the plot but even with that it took around 18 minutes to run and produced a 24x period which was an alias, idk how the alias array didnt even include the normal alias, maybe because the period is less than 1 day and my algo searches between period_min and max and min was set to 1. that tells about the problem but it kinda proves that my system finds period based on what you feed into it in some values which i need to work on, cuz some stars can be weird, and wont lie i am giving up on it for now."}, {"post_id": 58240, "ts": "2026-08-30T16:31:16Z", "hours": 0.6033, "text": "Advanced options in search finally added period min, period max, and mission selection in search, ez but looks like i should use shadcn buttons instead the advanced options button doesnt look like a button lowk"}, {"post_id": 57652, "ts": "2026-08-29T21:18:45Z", "hours": 1.3597, "text": "Result card rework shiii i made it hella good now it has a nice border and tooltips for each metric, and a verdict explaination in a details summary tag also remved the basic confidence display cuz it wasnt telling anything, now it has explaination"}, {"post_id": 53090, "ts": "2026-08-23T14:56:15Z", "hours": 1.5681, "text": "Better scoring and Confidence levels pain in ASS bro so i started from a normal scoring system which worked fine for finding periods but it wasnt good for confidence factors cuz it scales with dataset, so a bigger data set despite having no period will still have better score than a smaller data set with a period, so i need a better scoring system Signal-to-Noise Ratio this idea came while i was soldering a jammer i am working on lol so i measured the ratio and replaced the basic system with depth / (noise / sqrt(n_in)) it is not the perfect SNR system but it works nice enough. _ so i tested it against KIC 8462852 which does not have any exoplanet, and the signal was still wrong cuz this star (Tabby’s star) is a bit weird and it has large periodic dimming events and it was long enough on a single candence on various points to score high enough on SNR and look like a strong signal, so that made it clear that SNR isnt alone enough Coverage-Ratio check THIS finally passed every test, it clusters in transit points between time gaps so a bigger time gap will make a new occurence, and it counts those occurances, the tabby’s star had only 2 so i made the limit 5, the “transit” must occur more than 5 times to be qualified for SNR check, which worked good and finally i got WEAK signal on that star check."}, {"post_id": 51869, "ts": "2026-08-21T19:02:22Z", "hours": 2.2372, "text": "Minimal UI work (functional) made this very simple search thingy, it was easy asf i used recharts to plot that, which was the real pain cuz the data has 60k+ points to plot and it was taking too long but most of those points werent nececssary so i made smaller bins of those points and plotted them which worked fine __ i am yet to work on the confidence score, i dont have enough observations to decide on a “good enough high score” so thats a todo for now __ and variables like mission, period min, and period max are also a todo for now :3"}, {"post_id": 49783, "ts": "2026-08-18T18:28:52Z", "hours": 1.1842, "text": "/api/search made API route for analysis it runs the pipeline scripts in order: ingest -> detrend -> analysis and all that takes ton of time, so there is a cached/ file and it creates files of star’s ingestion and detrended data. analysis however is re-run everytime cuz period min and max can change"}, {"post_id": 48959, "ts": "2026-08-17T15:17:15Z", "hours": 0.5639, "text": "Initialized nextjs app just that, initalized nextjs app and picked a nice color scheme from tweakcn.com"}, {"post_id": 48442, "ts": "2026-08-16T19:49:09Z", "hours": 6.9469, "text": "Analysis script holy rupnil judgement so if you dont know in this project i am just getting the light curve data from a library, other than that i am doing EVERYTHING from scratch, so this is the 7 hour dev log of what i did in my analysis script. bls.py most time was spent here trying to write Box Least Square algorithm from scratch, it will be used to find the orbital period of the planet from the folded data, i wrote various versions in order to find the correct and best way to do it and had to fix shit ton of bugs, which i wrote down for this dev log (check below) analysis.py after lot of rough work focused around Kepler 8 star in bls.py i transfered the BLS and other refining functions to analysis script for a proper cli, it takes detrended data json file and outputs: orbital period of planet confidence score (calculated from depth of transit) duration of transit (calculated two different ways) phase start hella problems i faced performance in BLS algo: the very first version i wrote had a triple loop, it was like 2+ billion operations so it was taking like 7 minutes to complete and give wrong orbital period, then i switched to numpy to use vectorization and it made it hella fast, dropped the time to just 60 seconds “aliases”: later i found out that i was not getting wrong orbital period it was just different multiples of the period, so i had to make a function check_aliases which gets the first 4 values of period it could find and the aliases[0] is the best one with highest score precision: the values were never precise and the reason was that the BLS seach wasnt enough, what i needed to do was a coarse search and get a general idea of transt and do a more precise search on top of the coarse values which i did with a function i made bls_search_two_pass who’s period was then correct but with lower score and another multiple was still with higher score, so after hella digging i found that it was a like chicken and egg problem yk, see the BLS search needs duration to calculate stuff better and we dont know that duration, we can get the duration by doing some calculations on period but to get period we need to do BLS search, so at first i used a constant value 0.4 of duration after some manual experimenting, which works as a decent enough heuristic at first, then after we get a nice period i use the refine_duration function which then digs in and calculates the best duration value, which is THEN used to run another BLS search this time with proper suitable duration. so it went like: bls coarse search -> bls precise search -> bls alias calculation -> duration refining -> anoher precise search and then we come to proper orbital period with highest score, FINALLY. this dev log was MUCH bigger but got deleted cuz it wasnt saved and this fucking error deleted it, now i am too frustrated and idc enough to write it completey again this is all i had saved"}, {"post_id": 46415, "ts": "2026-08-13T16:37:48Z", "hours": 0.9556, "text": "Data cleaning and Detrending removing outliers made a simple z score calculation, just removes values 3 standard deviations away, got a “nice enough” result and removed like ~2000 values from ~64000 values (4 years of data) lmao detrending why: this was important, cuz the telescope moves around to protect its instruments from the sun and various other reasons, so there can be gaps which look like a transit but they arent, they are slow and long in transition unlike a real exoplanet between the star and the telescope, that transit will be like an instant sharp dip, so i had to smooth out those false values __ used a basic moving window median to divide out those values, you can see the before and after of detrending in first two pics and this is how the script runs: python detrend.py --input lightcurve.json --output detrended.json --window 50"}, {"post_id": 45972, "ts": "2026-08-12T20:05:26Z", "hours": 1.0861, "text": "Some exploration and Light Curve ingestion first dev log lightkurve library so i spent some of the time messing around with this library exploring and plotting random things, this library can fetch public data from telescope missions like Kepler, K2, and TESS and it makes getting that data and normalising some values a bit easy so i tested those things and i plotted this in matplotlib this is one light curve of Kepler-8, you can see the gap in the data that MIGHT be an exoplanet lmao, who knows ingestion script so i will make different scripts for differnet stuff and make a single pipeline later ig, the current script runs like: python ingest.py --star \"KIC 6922244\" --output lightcurve.json it takes the star name output as file name or json output in stdin, and then it downloads a HUGE file (check screenshot lightcurve.json ) full of the timestamp and flux values (which are basically brightness of the star at that timestamp) further analysis will be done on the output of ts script."}]...
|
Title: Exoplanet Finder by @kingvon | Stardance
D Title: Exoplanet Finder by @kingvon | Stardance
Devlogs:
Some exploration and Light Curve ingestion first dev log lightkurve library so i spent some of the time messing around with this library exploring and plotting random things, this library can fetch public data from telescope missions like Kepler, K2, and TESS and it makes getting that data and normalising some values a bit easy so i tested those things and i plotted this in matplotlib this is one light curve of Kepler-8, you can see the gap in the data that MIGHT be an exoplanet lmao, who knows ingestion script so i will make different scripts for differnet stuff and make a single pipeline later ig, the current script runs like: python ingest.py --star "KIC 6922244" --output lightcurve.json it takes the star name output as file name or json output in stdin, and then it downloads a HUGE file (check screenshot lightcurve.json ) full of the timestamp and flux values (which are basically brightness of the star at that timestamp) further analysis will be done on the output of ts script.
Data cleaning and Detrending removing outliers made a simple z score calculation, just removes values 3 standard deviations away, got a “nice enough” result and removed like ~2000 values from ~64000 values (4 years of data) lmao detrending why: this was important, cuz the telescope moves around to protect its instruments from the sun and various other reasons, so there can be gaps which look like a transit but they arent, they are slow and long in transition unlike a real exoplanet between the star and the telescope, that transit will be like an instant sharp dip, so i had to smooth out those false values __ used a basic moving window median to divide out those values, you can see the before and after of detrending in first two pics and this is how the script runs: python detrend.py --input lightcurve.json --output detrended.json --window 50
Analysis script holy rupnil judgement so if you dont know in this project i am just getting the light curve data from a library, other than that i am doing EVERYTHING from scratch, so this is the 7 hour dev log of what i did in my analysis script. bls.py most time was spent here trying to write Box Least Square algorithm from scratch, it will be used to find the orbital period of the planet from the folded data, i wrote various versions in order to find the correct and best way to do it and had to fix shit ton of bugs, which i wrote down for this dev log (check below) analysis.py after lot of rough work focused around Kepler 8 star in bls.py i transfered the BLS and other refining functions to analysis script for a proper cli, it takes detrended data json file and outputs: orbital period of planet confidence score (calculated from depth of transit) duration of transit (calculated two different ways) phase start hella problems i faced performance in BLS algo: the very first version i wrote had a triple loop, it was like 2+ billion operations so it was taking like 7 minutes to complete and give wrong orbital period, then i switched to numpy to use vectorization and it made it hella fast, dropped the time to just 60 seconds “aliases”: later i found out that i was not getting wrong orbital period it was just different multiples of the period, so i had to make a function check_aliases which gets the first 4 values of period it could find and the aliases[0] is the best one with highest score precision: the values were never precise and the reason was that the BLS seach wasnt enough, what i needed to do was a coarse search and get a general idea of transt and do a more precise search on top of the coarse values which i did with a function i made bls_search_two_pass who’s period was then correct but with lower score and another multiple was still with higher score, so after hella digging i found that it was a like chicken and egg problem yk, see the BLS search needs duration to calculate stuff better and we dont know that duration, we can get the duration by doing some calculations on period but to get period we need to do BLS search, so at first i used a constant value 0.4 of duration after some manual experimenting, which works as a decent enough heuristic at first, then after we get a nice period i use the refine_duration function which then digs in and calculates the best duration value, which is THEN used to run another BLS search this time with proper suitable duration. so it went like: bls coarse search -> bls precise search -> bls alias calculation -> duration refining -> anoher precise search and then we come to proper orbital period with highest score, FINALLY. this dev log was MUCH bigger but got deleted cuz it wasnt saved and this fucking error deleted it, now i am too frustrated and idc enough to write it completey again this is all i had saved
Initialized nextjs app just that, initalized nextjs app and picked a nice color scheme from tweakcn.com
/api/search made API route for analysis it runs the pipeline scripts in order: ingest -> detrend -> analysis and all that takes ton of time, so there is a cached/ file and it creates files of star’s ingestion and detrended data. analysis however is re-run everytime cuz period min and max can change
Minimal UI work (functional) made this very simple search thingy, it was easy asf i used recharts to plot that, which was the real pain cuz the data has 60k+ points to plot and it was taking too long but most of those points werent nececssary so i made smaller bins of those points and plotted them which worked fine __ i am yet to work on the confidence score, i dont have enough observations to decide on a “good enough high score” so thats a todo for now __ and variables like mission, period min, and period max are also a todo for now :3
Better scoring and Confidence levels pain in ASS bro so i started from a normal scoring system which worked fine for finding periods but it wasnt good for confidence factors cuz it scales with dataset, so a bigger data set despite having no period will still have better score than a smaller data set with a period, so i need a better scoring system Signal-to-Noise Ratio this idea came while i was soldering a jammer i am working on lol so i measured the ratio and replaced the basic system with depth / (noise / sqrt(n_in)) it is not the perfect SNR system but it works nice enough. _ so i tested it against KIC 8462852 which does not have any exoplanet, and the signal was still wrong cuz this star (Tabby’s star) is a bit weird and it has large periodic dimming events and it was long enough on a single candence on various points to score high enough on SNR and look like a strong signal, so that made it clear that SNR isnt alone enough Coverage-Ratio check THIS finally passed every test, it clusters in transit points between time gaps so a bigger time gap will make a new occurence, and it counts those occurances, the tabby’s star had only 2 so i made the limit 5, the “transit” must occur more than 5 times to be qualified for SNR check, which worked good and finally i got WEAK signal on that star check.
Result card rework shiii i made it hella good now it has a nice border and tooltips for each metric, and a verdict explaination in a details summary tag also remved the basic confidence display cuz it wasnt telling anything, now it has explaination
Advanced options in search finally added period min, period max, and mission selection in search, ez but looks like i should use shadcn buttons instead the advanced options button doesnt look like a button lowk
TESS and K2 missions dont work, i am sorry its been 5 days i didnt get time to code properly but what i know is that i cannot add support for TESS and K2 for now. _ i tried everything which i can for now, K2 fires its thrusters every 6 hours to correct its position and that thruster fire overpowers the star transit, i tried increasing period_min and increasing it enough did lead to getting correct period but that was only posible cuz i already knew the period of the star i was testing on, from what it looks like i think just rolling median in detrending isnt enough for K2 mission stars, and i am not planning to implement the corrections it requires for now _ TESS had 2mins candence so it had over 1 million data points and in multiple loops it lead to taking hours to analyse, and my BLS double pass scales too much with data points, but i binned it like i did for the plot but even with that it took around 18 minutes to run and produced a 24x period which was an alias, idk how the alias array didnt even include the normal alias, maybe because the period is less than 1 day and my algo searches between period_min and max and min was set to 1. that tells about the problem but it kinda proves that my system finds period based on what you feed into it in some values which i need to work on, cuz some stars can be weird, and wont lie i am giving up on it for now.
Ships:
a smol app that searches NASA Kepler telescope data for signs of an exoplanet. it takes a star catalog ID and fetches years worth of brightness data, cleans and detrends the signal and runs a built from scratch Box Least Square algorithm to look for periodic dimmings that indicate a exoplanet passed in front of its host star. and from that dip it calculates more data like orbital period, transit duration, physical size relative to earth, and also flags the confident of detection. and PLEASE, i am begging you if you dont understand how any of this works just test against the given “try these” lol, and have patience while it loads since its a built-from-scratch scientific algorithm made for learning purposes....
|
1793004495.22944
|
1793090895.22944
|
|
23680
|
GeoNet-3D by @Mateus-M15 | Stardance
|
Mateus-M15
|
1
|
28.43
|
305
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-26T02:37:05Z", "hours": 27.0, "multiplier": 11.23, "payout": 305, "blessing": "neutral", "text": "GeoNet-3D is an interactive 3D Solar System n’ Satellite Simulator built with Three.js and raw JavaScript. What did you make? I built an interactive 3D space simulator featuring planetary orbits, Earth’s Moon, real-time tracking of artificial satellites (like the ISS, Hubble, and JWST), a 3D orientation compass, dynamic info panels, and a custom intro screen with a rotating 3D Earth preview. What was challenging? Diving into Three.js and .JS before we even covered JavaScript in my classes! Dealing with WebGL rendering, coordinating camera tracking without built-in collision tools, handling an isolated second canvas for the intro page, and figuring out the math for the orbital movements were a pain ;o. What are you proud of? I’m proud of taking this idea from absolute zero to a fully functional, clean 3D web application. Getting the custom UI layout working, making the transition from the welcome screen to the main simulation seamless, and building controls that actually feel good to navigate was super satisfying. What should people know so they can test your project? When you load the page, you’ll land on a welcome intro screen with a control guide and a 3D Earth. Click “START EXPLORING” to jump into the actual simulation. Use Left Click to select objects, Right Click + Drag to rotate the camera, WASD for free flying movement, and the top-left UI panel to toggle satellites, real speed, orbits, or the 3D compass.", "repo": "https://github.com/m15dev/GeoNet-3D", "demo": "https://m15dev.github.io/GeoNet-3D/"}]...
|
[{"post_id": 36779, "ts": "202 [{"post_id": 36779, "ts": "2026-07-29T01:38:07Z", "hours": 0.6731, "text": "DevLog #12 Hello ;D, i’ve done some changes to the README, now it says better on my AI usage, so now it should be allright. see ya soon"}, {"post_id": 35464, "ts": "2026-07-26T22:12:12Z", "hours": 0.7533, "text": "DevLog 11# Well the life not always a strawberry, i saw now that u pushed the wrong version to commit and lost some fixes i did, uuh i spend 3 hours trying to find why wasn’t the website loading, turns out, “GitHub-Pages” and “Vercer” are case sentive, so my SatelitesDATA.js wasn’t reconized when called SatelitesData.js, yeah, but in my defense, im my computer was working ;P Take care people"}, {"post_id": 34957, "ts": "2026-07-26T02:33:02Z", "hours": 0.8469, "text": "DevLog #10 🚀 Hello dear person seeing this :D: :D OH MAN, FINALLY IT’S WORKIN as IT SHOULD, well, even tough i had some Ai help -sorry for that, going from never build a website or anything to and 3D renderer, was a verry cool thing to do, and made me understand better how site’s work etc, today i’ve added the final “MANUEL” to use just a quick guide, and some random bug fix, feel free to try it out, BYEEEE"}, {"post_id": 34369, "ts": "2026-07-25T00:55:16Z", "hours": 1.2617, "text": "DevLog #9 Hello, so today i’ve added the satelites models and the Cool Info Pannel now works as it should, i’ll add a user guide manual tomorrow, bye ;3"}, {"post_id": 33834, "ts": "2026-07-24T02:22:59Z", "hours": 1.4842, "text": "DevLog #8 sup, today i just did some changes to the menu, added an animation, and configured the “Hide Ui” button, more work tomorrow, bye."}, {"post_id": 29903, "ts": "2026-07-17T02:17:58Z", "hours": 1.4342, "text": "Devlog #7 Hello People ;3 - Today was a shorter development session, about one hour, but I focused on planning one of the biggest UI improvements for GeoNet 3D . Planned Features Designed the layout for the Planet Information panel. Planned a navigation guide for planets and satellites. Improved the overall UI layout to make it feel more like an app. Toggle Ui, Orbits, Stars, Cool Info Pannel. Planed a user manual. Interactive planet information. Satellite information panel. The new Cool Information Panel will display data such as: Radius Mass Day Length Year Length Number of Moons Distance from the Sun My goal is to make GeoNet 3D feel less like a simple 3D viewer and more like an interactive educational application. Even though there wasn’t a lot of coding today, planning the interface beforehand should make the next implementation much faster. P.S. If you noticed this devlog has a different style, it’s because I didn’t realize I could customize it until today. >:P"}, {"post_id": 29272, "ts": "2026-07-16T02:38:10Z", "hours": 6.0142, "text": "Helloo again XD, so today i got focoused on fixin the damn system that gives and ideia of how fast they actually move irl, and their positions, to they are aproximatly where it should be, not 100% exact but you can get the ideia, fixed bug when animation endende some planets whould snap to a completly random position, i also took some time to redesign the satellites systems so i can calculate their positions easly, overall, i improved the simulation. See ya on next ;D"}, {"post_id": 28673, "ts": "2026-07-15T02:13:26Z", "hours": 6.0644, "text": "Hello ;3 woow 6 hours. . . yeah, thats some time i guess…. Today i decided that 900+ lines on a single file was too much, so i need to organize it better, because adding new updates was getting hard as i was lost to where i put some code, in addition to that now we have: -New Camera sistem the old one sometime just didn’t work, the issue was it missed a “}” -The Real-Time Speed, now does some math to place the planets as close as they should be irl, when you toggle it on ofc, that was it, rewriting and aprimorating the code. theres some photos of the app down there / , see yaa ;0"}, {"post_id": 28066, "ts": "2026-07-14T02:48:52Z", "hours": 5.3283, "text": "Hello :D so i got a few days off, uuh vacation and a flu verry normal, but to reapay that i didn’t worked on the project other days, i reapaid it today so: -New Camera System; YAYA:D (now it’s easier to navigate and it’s no glichy) -New Planets from the solar system. -New Toggle Button for the “Real Time speed” that alings the planets to where they supposly are irl, (on-work) -Added a trail, so you can see the path the it runs, -Added a teleporting menu, so you can let’s says, “fast travel “ to an planet. that’s it folks, have a good day ;D"}, {"post_id": 14808, "ts": "2026-06-24T01:32:34Z", "hours": 1.2769, "text": "GoodNight to whoever is reading this ;D So today i just fixed some camera bugs, like when i click a platet, a satelite etc, the camera doesn’t pivot correctly, now works fine, and add some box likes objects representing the satelites, (the box it’s temporary) until i find a model or i make one."}, {"post_id": 14084, "ts": "2026-06-23T02:08:42Z", "hours": 2.7178, "text": "Sup people or aliens idk ;D So today I fixed the camera controls that were twisted, and added a menu so I can do stuff like pivoting the camera to Earth, toggling the stars, Earth’s rotation, and more. I also added the Moon and the Sun as actual celestial bodies, plus a 3D compass because you might flip yourself upside down and need to keep track of it!"}, {"post_id": 13348, "ts": "2026-06-21T21:22:08Z", "hours": 0.7067, "text": "Hello dear person reading this :D. Today I built the main Earth sphere using Three.js, i used a texture loader function to project an image onto the sphere, and added a sun-type illumination. I still need to create the actual Sun object for reference."}]...
|
Title: GeoNet-3D by @Mateus-M15 | Stardance
Devlo Title: GeoNet-3D by @Mateus-M15 | Stardance
Devlogs:
Hello dear person reading this :D. Today I built the main Earth sphere using Three.js, i used a texture loader function to project an image onto the sphere, and added a sun-type illumination. I still need to create the actual Sun object for reference.
Sup people or aliens idk ;D So today I fixed the camera controls that were twisted, and added a menu so I can do stuff like pivoting the camera to Earth, toggling the stars, Earth’s rotation, and more. I also added the Moon and the Sun as actual celestial bodies, plus a 3D compass because you might flip yourself upside down and need to keep track of it!
GoodNight to whoever is reading this ;D So today i just fixed some camera bugs, like when i click a platet, a satelite etc, the camera doesn’t pivot correctly, now works fine, and add some box likes objects representing the satelites, (the box it’s temporary) until i find a model or i make one.
Hello :D so i got a few days off, uuh vacation and a flu verry normal, but to reapay that i didn’t worked on the project other days, i reapaid it today so: -New Camera System; YAYA:D (now it’s easier to navigate and it’s no glichy) -New Planets from the solar system. -New Toggle Button for the “Real Time speed” that alings the planets to where they supposly are irl, (on-work) -Added a trail, so you can see the path the it runs, -Added a teleporting menu, so you can let’s says, “fast travel “ to an planet. that’s it folks, have a good day ;D
Hello ;3 woow 6 hours. . . yeah, thats some time i guess…. Today i decided that 900+ lines on a single file was too much, so i need to organize it better, because adding new updates was getting hard as i was lost to where i put some code, in addition to that now we have: -New Camera sistem the old one sometime just didn’t work, the issue was it missed a “}” -The Real-Time Speed, now does some math to place the planets as close as they should be irl, when you toggle it on ofc, that was it, rewriting and aprimorating the code. theres some photos of the app down there / , see yaa ;0
Helloo again XD, so today i got focoused on fixin the damn system that gives and ideia of how fast they actually move irl, and their positions, to they are aproximatly where it should be, not 100% exact but you can get the ideia, fixed bug when animation endende some planets whould snap to a completly random position, i also took some time to redesign the satellites systems so i can calculate their positions easly, overall, i improved the simulation. See ya on next ;D
Devlog #7 Hello People ;3 - Today was a shorter development session, about one hour, but I focused on planning one of the biggest UI improvements for GeoNet 3D . Planned Features Designed the layout for the Planet Information panel. Planned a navigation guide for planets and satellites. Improved the overall UI layout to make it feel more like an app. Toggle Ui, Orbits, Stars, Cool Info Pannel. Planed a user manual. Interactive planet information. Satellite information panel. The new Cool Information Panel will display data such as: Radius Mass Day Length Year Length Number of Moons Distance from the Sun My goal is to make GeoNet 3D feel less like a simple 3D viewer and more like an interactive educational application. Even though there wasn’t a lot of coding today, planning the interface beforehand should make the next implementation much faster. P.S. If you noticed this devlog has a different style, it’s because I didn’t realize I could customize it until today. >:P
DevLog #8 sup, today i just did some changes to the menu, added an animation, and configured the “Hide Ui” button, more work tomorrow, bye.
DevLog #9 Hello, so today i’ve added the satelites models and the Cool Info Pannel now works as it should, i’ll add a user guide manual tomorrow, bye ;3
DevLog #10 🚀 Hello dear person seeing this :D: :D OH MAN, FINALLY IT’S WORKIN as IT SHOULD, well, even tough i had some Ai help -sorry for that, going from never build a website or anything to and 3D renderer, was a verry cool thing to do, and made me understand better how site’s work etc, today i’ve added the final “MANUEL” to use just a quick guide, and some random bug fix, feel free to try it out, BYEEEE
DevLog 11# Well the life not always a strawberry, i saw now that u pushed the wrong version to commit and lost some fixes i did, uuh i spend 3 hours trying to find why wasn’t the website loading, turns out, “GitHub-Pages” and “Vercer” are case sentive, so my SatelitesDATA.js wasn’t reconized when called SatelitesData.js, yeah, but in my defense, im my computer was working ;P Take care people
DevLog #12 Hello ;D, i’ve done some changes to the README, now it says better on my AI usage, so now it should be allright. see ya soon
Ships:
GeoNet-3D is an interactive 3D Solar System n’ Satellite Simulator built with Three.js and raw JavaScript. What did you make? I built an interactive 3D space simulator featuring planetary orbits, Earth’s Moon, real-time tracking of artificial satellites (like the ISS, Hubble, and JWST), a 3D orientation compass, dynamic info panels, and a custom intro screen with a rotating 3D Earth preview. What was challenging? Diving into Three.js and .JS before we even covered JavaScript in my classes! Dealing with WebGL rendering, coordinating camera tracking without built-in collision tools, handling an isolated second canvas for the intro page, and figuring out the math for the orbital movements were a pain ;o. What are you proud of? I’m proud of taking this idea from absolute zero to a fully functional, clean 3D web application. Getting the custom UI layout working, making the transition from the welcome screen to the main simulation seamless, and building controls that actually feel good to navigate was super satisfying. What should people know so they can test your project? When you load the page, you’ll land on a welcome intro screen with a control guide and a 3D Earth. Click “START EXPLORING” to jump into the actual simulation. Use Left Click to select objects, Right Click + Drag to rotate the camera, WASD for free flying movement, and the top-left UI panel to toggle satellites, real speed, orbits, or the 3D compass....
|
1792878701.0832562
|
1793742701.0832562
|
|
33690
|
Foodie Haven! by @theodora | Stardance
|
theodora
|
1
|
48.0
|
305
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-21T16:15:55Z", "hours": 48.0, "multiplier": 6.34, "payout": 305, "blessing": "neutral", "text": "This is a website where I share my food experiences with the world. I enjoy cooking and eating a lot, and I created this site to share the joy food brings me with others. Alongside this, I have a condition that restricts what food I can eat; this website allows me to satisfy my cravings before fully recovering. About this project: The Intro and About Me pages give a bit of background on who I am — I enjoy cooking and eating a lot, and I created this site because I wanted to share the joy that food brings me with other people. Blog — This is where I write about my favourite food finds, sharing my thoughts the way a food critic would. Food Personality Quiz — A short, 5-question quiz that figures out your “food sensation type” and recommends what you should try next based on your results. 15-Minute Recipe — Takes you on a trip around the world, one cuisine at a time. Each recipe is designed to be cooked in just 15 minutes, with the full recipe included. Mood Food Matrix — Depending on your mood, this page helps you decide between dining out or cooking at home, and recommends different dishes and recipes to match. City Food Recommendation — Choose a city, browse photos of dishes, and get a restaurant recommendation along with its address.", "repo": "https://github.com/theodora-sin/WebOS", "demo": "https://theodora-sin.github.io/WebOS/index.html"}]...
|
[{"post_id": 32411, "ts": "202 [{"post_id": 32411, "ts": "2026-07-21T16:12:20Z", "hours": 3.8975, "text": "Devlog 7: Shipping my project: Welcome back to another project update! Finally, I am going to ship my project. 🛠️What’s fixed: Checking all the pictures, fixing some silly mistakes by typing the wrong asset picture name. Added a gradient background and finished debugging the City Food Recommendation Page Added Google Maps hyperlinks so users can click the location and navigate directly using Google Maps Edited the navigation bar to make it cleaner and clearer Changed CSS based on screen size Thank you for following my devlog. I am hoping to create a story-based line game soon, see ya!"}, {"post_id": 31954, "ts": "2026-07-20T19:33:12Z", "hours": 8.3625, "text": "Devlog 6:Restyling website to improve UI experience Welcome back to another project update! In this devlog, the focus based on resyle the navigation bar to improve UI experience,so it doesn’t used up the whole upper screen to show other navigation 🛠️ What’s New: Changing the whole navigation bar, instead of using the normal navigation which show all pages, I change to a style where it only show current navigaion bar, click the three line to show the rest of the navigation bar Restyling the blog, so people are easy to understand the layout, choosing what food you are craving, click the image and it will show the blog that I have written Starting to finish off the last page, recommendation page, this is a page where I recommendate people to go to which restaurant to try to most authestic food. 🔮 What’s Next Finishing off the recommendation page Styling the website Hope to ship at the next devlog"}, {"post_id": 31342, "ts": "2026-07-19T17:29:40Z", "hours": 8.4503, "text": "Devlog 5 Restyle the webpage and adding more information for the pages: Welcome back to another project update! In this log, the focus based on restyle the webpage to make it more attraction and providing more information, user are easier to navigate. 🛠️ What’s New: Adding more information to the 15 minutes recipe, now it extend to 20 countries Adding more Blogs, the blogs are a place where I share my favourite food, it’s more like a food blogs where introudce new food and giving comment Adding fade in and other animation throughtout the system to make it more user friendly 🔮 What’s Next? Restyle the navigation bar to improve UI experience Restyle the blog so people can choose what they want to look at"}, {"post_id": 30754, "ts": "2026-07-18T16:12:40Z", "hours": 8.4575, "text": "Devlog #4: Tuning Mood & Launching the Dynamic Food Pathway Welcome back to another project update! In this log, the focus was completely on improving user navigation and building the core feature of the platform: connecting a user’s current emotional state directly to their food choices. 🛠️ What’s New Polishing the Index Page: The home page needed a facelift to make it cleaner and more intuitive. The layout was streamlined to reduce clutter so that when users arrive—especially. The Core Feature: The Mood-to-Food Pathway Page The biggest milestone of this update is the brand-new Mood Selection Page. This page acts as a personalized culinary compass. Instead of browsing a standard, boring menu, users are greeted with an emotional checkpoint: “How are you feeling right now?” Once a user selects their mood, the application branches into two distinct operational pathways based on their energy levels: The “Cook” Pathway: Allowing people to cook for themselves based on their mood. Different mood has its own recipe. The “Eat” Pathway: It is by passing recipes entirely to recommend instant comfort fixes. 🔮 What’s Next? Adding CSS into this page, as I didn’t have time to finish stylish this page yet. Adding more on mood depending recipe or dining out option. Want to update my blogs on food.I hope everyone enjoy this website, please comment about what can I improve and what can I add to this new page."}, {"post_id": 29731, "ts": "2026-07-16T20:26:35Z", "hours": 9.3517, "text": "Devlog #03: Building the “World Map Cuisine” Hey everyone! Welcome back to the project. Instead of only writing a static blog post for each country, I built a Single Page Application using JavaScript that hold 10 different global cuisines. Here is how the structure of World Map Cuisine: –Start Screen (startscreen()) The Entry Point: Welcomes the player,features a prominent “Start” button to launch the game. –Country Selection (countryScreen()) The World Map:Each button is automatically labelled with the country’s name and its national flag emoji –The Recipe (recipeScreen()) It displays the dish name, splits the layout into a split-pane view ingredients on the left, dish photo on the right, step-by-step instructions below, and appends navigation buttons to easily go “Back”, which returns to countryscreen or “Return Home,” which returns to startscreen Our Global Recipe: Every single recipe added to our country’s data object has been carefully designed to hit that sweet spot of intense flavour and a strict 15-minute limit Which international dishes should I add to the page? Let us know in the comments! url playdemo: https://theodora-sin.github.io/WebOS/game.html"}, {"post_id": 27642, "ts": "2026-07-13T12:22:32Z", "hours": 4.7864, "text": "Devlog #2 Creating a sensation quiz based on food Hey everyone! Welcome back to my second devlog. In this devlog I was developed a sensation quiz based on food. Here is a quick look at how it works: The core structure: The quiz contain 5 question Every answer aligns with a specific “sensation personality” trait Once completed, the game calculates your dominant trait to descibe your unique tastes How the Scoring Works: To unlock your personality profile and get your custom recommendations, you must match at least 3 out of 5 categories. This baseline ensures your final result accurately reflects your true sensory preferences! Thank you all for following my development journey. Try out the quiz, enjoy, and have fun! url: https://theodora-sin.github.io/WebOS/personality.html"}, {"post_id": 27208, "ts": "2026-07-12T16:01:38Z", "hours": 4.7114, "text": "My First Devlog: Hey everyone! Welcome to my very first devlog. I’ve been working on a personal website from scratch using HTML, CSS, and JavaScript, and I wanted to share what I’ve built so far. My project is structured with an index.html introduction page, a portfolio page featuring an interactive avatar, and a blog section dedicated to my favourite comfort foods. Avatar: The coolest part of the portfolio is the interactive avatar. I wanted to make the page feel alive, so I used JavaScript to create a toggle effect.When a visitor clicks on the avatar’s eye, it triggers an event. To add a bit of unpredictability and fun, I wrote a script that changes the text color of the avatar page completely at random every time you refresh that page. It makes the site feel different every time you visit. The Comfort Food Blog Beyond the code and the portfolio, I wanted a cosy space to share things I love. I built a blog section entirely dedicated to introducing my ultimate comfort foods. It’s a clean, simple layout designed to make you feel right at home. url: https://theodora-sin.github.io/WebOS/index.html"}]...
|
Title: Foodie Haven! by @theodora | Stardance
Dev Title: Foodie Haven! by @theodora | Stardance
Devlogs:
My First Devlog: Hey everyone! Welcome to my very first devlog. I’ve been working on a personal website from scratch using HTML, CSS, and JavaScript, and I wanted to share what I’ve built so far. My project is structured with an index.html introduction page, a portfolio page featuring an interactive avatar, and a blog section dedicated to my favourite comfort foods. Avatar: The coolest part of the portfolio is the interactive avatar. I wanted to make the page feel alive, so I used JavaScript to create a toggle effect.When a visitor clicks on the avatar’s eye, it triggers an event. To add a bit of unpredictability and fun, I wrote a script that changes the text color of the avatar page completely at random every time you refresh that page. It makes the site feel different every time you visit. The Comfort Food Blog Beyond the code and the portfolio, I wanted a cosy space to share things I love. I built a blog section entirely dedicated to introducing my ultimate comfort foods. It’s a clean, simple layout designed to make you feel right at home. url: https://theodora-sin.github.io/WebOS/index.html
Devlog #2 Creating a sensation quiz based on food Hey everyone! Welcome back to my second devlog. In this devlog I was developed a sensation quiz based on food. Here is a quick look at how it works: The core structure: The quiz contain 5 question Every answer aligns with a specific “sensation personality” trait Once completed, the game calculates your dominant trait to descibe your unique tastes How the Scoring Works: To unlock your personality profile and get your custom recommendations, you must match at least 3 out of 5 categories. This baseline ensures your final result accurately reflects your true sensory preferences! Thank you all for following my development journey. Try out the quiz, enjoy, and have fun! url: https://theodora-sin.github.io/WebOS/personality.html
Devlog #03: Building the “World Map Cuisine” Hey everyone! Welcome back to the project. Instead of only writing a static blog post for each country, I built a Single Page Application using JavaScript that hold 10 different global cuisines. Here is how the structure of World Map Cuisine: –Start Screen (startscreen()) The Entry Point: Welcomes the player,features a prominent “Start” button to launch the game. –Country Selection (countryScreen()) The World Map:Each button is automatically labelled with the country’s name and its national flag emoji –The Recipe (recipeScreen()) It displays the dish name, splits the layout into a split-pane view ingredients on the left, dish photo on the right, step-by-step instructions below, and appends navigation buttons to easily go “Back”, which returns to countryscreen or “Return Home,” which returns to startscreen Our Global Recipe: Every single recipe added to our country’s data object has been carefully designed to hit that sweet spot of intense flavour and a strict 15-minute limit Which international dishes should I add to the page? Let us know in the comments! url playdemo: https://theodora-sin.github.io/WebOS/game.html
Devlog #4: Tuning Mood & Launching the Dynamic Food Pathway Welcome back to another project update! In this log, the focus was completely on improving user navigation and building the core feature of the platform: connecting a user’s current emotional state directly to their food choices. 🛠️ What’s New Polishing the Index Page: The home page needed a facelift to make it cleaner and more intuitive. The layout was streamlined to reduce clutter so that when users arrive—especially. The Core Feature: The Mood-to-Food Pathway Page The biggest milestone of this update is the brand-new Mood Selection Page. This page acts as a personalized culinary compass. Instead of browsing a standard, boring menu, users are greeted with an emotional checkpoint: “How are you feeling right now?” Once a user selects their mood, the application branches into two distinct operational pathways based on their energy levels: The “Cook” Pathway: Allowing people to cook for themselves based on their mood. Different mood has its own recipe. The “Eat” Pathway: It is by passing recipes entirely to recommend instant comfort fixes. 🔮 What’s Next? Adding CSS into this page, as I didn’t have time to finish stylish this page yet. Adding more on mood depending recipe or dining out option. Want to update my blogs on food.I hope everyone enjoy this website, please comment about what can I improve and what can I add to this new page.
Devlog 5 Restyle the webpage and adding more information for the pages: Welcome back to another project update! In this log, the focus based on restyle the webpage to make it more attraction and providing more information, user are easier to navigate. 🛠️ What’s New: Adding more information to the 15 minutes recipe, now it extend to 20 countries Adding more Blogs, the blogs are a place where I share my favourite food, it’s more like a food blogs where introudce new food and giving comment Adding fade in and other animation throughtout the system to make it more user friendly 🔮 What’s Next? Restyle the navigation bar to improve UI experience Restyle the blog so people can choose what they want to look at
Devlog 6:Restyling website to improve UI experience Welcome back to another project update! In this devlog, the focus based on resyle the navigation bar to improve UI experience,so it doesn’t used up the whole upper screen to show other navigation 🛠️ What’s New: Changing the whole navigation bar, instead of using the normal navigation which show all pages, I change to a style where it only show current navigaion bar, click the three line to show the rest of the navigation bar Restyling the blog, so people are easy to understand the layout, choosing what food you are craving, click the image and it will show the blog that I have written Starting to finish off the last page, recommendation page, this is a page where I recommendate people to go to which restaurant to try to most authestic food. 🔮 What’s Next Finishing off the recommendation page Styling the website Hope to ship at the next devlog
Devlog 7: Shipping my project: Welcome back to another project update! Finally, I am going to ship my project. 🛠️What’s fixed: Checking all the pictures, fixing some silly mistakes by typing the wrong asset picture name. Added a gradient background and finished debugging the City Food Recommendation Page Added Google Maps hyperlinks so users can click the location and navigate directly using Google Maps Edited the navigation bar to make it cleaner and clearer Changed CSS based on screen size Thank you for following my devlog. I am hoping to create a story-based line game soon, see ya!
Ships:
This is a website where I share my food experiences with the world. I enjoy cooking and eating a lot, and I created this site to share the joy food brings me with others. Alongside this, I have a condition that restricts what food I can eat; this website allows me to satisfy my cravings before fully recovering. About this project: The Intro and About Me pages give a bit of background on who I am — I enjoy cooking and eating a lot, and I created this site because I wanted to share the joy that food brings me with other people. Blog — This is where I write about my favourite food finds, sharing my thoughts the way a food critic would. Food Personality Quiz — A short, 5-question quiz that figures out your “food sensation type” and recommends what you should try next based on your results. 15-Minute Recipe — Takes you on a trip around the world, one cuisine at a time. Each recipe is designed to be cooked in just 15 minutes, with the full recipe included. Mood Food Matrix — Depending on your mood, this page helps you decide between dining out or cooking at home, and recommends different dishes and recipes to match. City Food Recommendation — Choose a city, browse photos of dishes, and get a restaurant recommendation along with its address....
|
1792990433.4736204
|
1793076833.4736204
|
|
39315
|
City of the forgotten by @Ling | Stardance
|
Ling
|
1
|
108.94
|
305
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T17:17:44Z", "hours": 22.0, "multiplier": 13.63, "payout": 305, "blessing": "neutral", "text": "I made a Raylib Noir Adventue and point and click game My bigest Challenge Was by Far learning Raylib and code logic for collision", "repo": "https://github.com/Miyamoto-web/City-Of-the-Forgoten-Beta-", "demo": "https://miyamoto-web.itch.io/city-of-the-forgotten"}]...
|
[{"post_id": 82267, "ts": "202 [{"post_id": 82267, "ts": "2026-10-24T12:47:00Z", "hours": 8.4553, "text": "Dev Log 2.1 I made a lot of new Models for the Ofice cenario Incluinding a Arquive a Ofice Chair a Sofa"}, {"post_id": 80704, "ts": "2026-10-18T15:52:08Z", "hours": 7.6203, "text": "Dev Log 2.0 I debugged the hud by replacing the Rich text label for a label I also made the hud reactable to your actions -## Also I fixed a bug in one of the main buttons of the main screen"}, {"post_id": 79674, "ts": "2026-10-15T01:10:40Z", "hours": 3.5631, "text": "Dev Log 1.9 Making cinematic cameras with collision shapes Fixing Ui text bugs Working on the visuals"}, {"post_id": 78746, "ts": "2026-10-11T14:15:16Z", "hours": 11.7417, "text": "Dev Log 1.8 Working Hud for the objectives Made by Creating global bool variables to mark if the objective is done Functional Terminal password puzle I used If states and == to Know if the player writed the wrong or the right password Also I added a system to make each objective that goes to the ui go to right tab"}, {"post_id": 76772, "ts": "2026-10-04T15:11:59Z", "hours": 14.4964, "text": "Dev Log 1.7 Button to exit the menu Finished move and intereact system I made the mechanic using nav agent and area 3d Stored Position when you change scenes I used Global Variant to make this system which saves the Player global position when you go to the menu and loads when you go bak to the game extends Node var player: CharacterBody3D var player_global: Vector3 var good_pos : bool func _ready() -> void: good_pos = false"}, {"post_id": 75274, "ts": "2026-09-29T16:46:44Z", "hours": 6.7075, "text": "Dev Log 1.6 -New and Better Point and Click -Ui visuals done"}, {"post_id": 72438, "ts": "2026-09-22T23:10:36Z", "hours": 10.0053, "text": "Dev Log 1.5 -New Ui and Hud -Trying to program the Hud -New Main Menu (again i realy need to get more creative for the game’s art)"}, {"post_id": 70389, "ts": "2026-09-19T02:57:56Z", "hours": 6.3439, "text": "New Dev log 1.4 -Making UI -Making Case Menu -Trying to learn UI desing"}, {"post_id": 69930, "ts": "2026-09-18T02:41:46Z", "hours": 3.5856, "text": "New Changes! -Making UI (Notes Case and Lore) -More Polished Point and Click Mechanic"}, {"post_id": 68405, "ts": "2026-09-15T02:08:07Z", "hours": 2.0369, "text": "Devlog 1.2 -New Script Point and Click Moviment -I used Rays, get.position and Lots of Variables -I realy need to configurate a decent Camera"}, {"post_id": 67714, "ts": "2026-09-13T22:21:53Z", "hours": 8.7006, "text": "New version on godot -Script for the moviment -Custom Made 3d Model (Made by me) -Third Person Camera -Version Text -A Prototipe Menu Ps: If you want to see the developement of the 3d model go to my other Project Modeling Assetsd for City of the Forgotten (My Project)"}, {"post_id": 66716, "ts": "2026-09-12T16:35:08Z", "hours": 1.2506, "text": "New Readme"}, {"post_id": 64214, "ts": "2026-09-08T13:37:08Z", "hours": 2.4339, "text": "I realy tried to make the web version work propely but i couldn’t make all the features in the game work in the web version i am realy sorry (next version will be on godot raylib is to messy)"}, {"post_id": 53131, "ts": "2026-08-23T15:42:23Z", "hours": 0.4392, "text": "Final touch in the code"}, {"post_id": 48419, "ts": "2026-08-16T19:11:00Z", "hours": 8.6686, "text": "New models desk and terminal new texture for the ground and walls and hitboxs for the desk and walls"}, {"post_id": 42118, "ts": "2026-08-06T18:09:37Z", "hours": 5.5647, "text": "More modeling and fuctional hack mini game"}, {"post_id": 37375, "ts": "2026-07-30T01:24:44Z", "hours": 1.2122, "text": "Working itens!"}, {"post_id": 36762, "ts": "2026-07-29T01:01:24Z", "hours": 0.2667, "text": "more coding"}, {"post_id": 36105, "ts": "2026-07-27T23:53:07Z", "hours": 2.0636, "text": "working inventory system"}, {"post_id": 34847, "ts": "2026-07-25T21:35:54Z", "hours": 1.2464, "text": "Working Persona style menu"}, {"post_id": 34763, "ts": "2026-07-25T19:04:13Z", "hours": 1.2956, "text": "working point and click system!"}, {"post_id": 34633, "ts": "2026-07-25T15:00:59Z", "hours": 0.5706, "text": "working controls and music!"}, {"post_id": 34376, "ts": "2026-07-25T01:17:02Z", "hours": 0.4106, "text": "3d model in the game"}, {"post_id": 34276, "ts": "2026-07-24T20:55:19Z", "hours": 0.6428, "text": "working text"}]...
|
Title: City of the forgotten by @Ling | Stardance
Title: City of the forgotten by @Ling | Stardance
Devlogs:
working text
3d model in the game
working controls and music!
working point and click system!
Working Persona style menu
working inventory system
more coding
Working itens!
More modeling and fuctional hack mini game
New models desk and terminal new texture for the ground and walls and hitboxs for the desk and walls
Final touch in the code
I realy tried to make the web version work propely but i couldn’t make all the features in the game work in the web version i am realy sorry (next version will be on godot raylib is to messy)
New Readme
New version on godot -Script for the moviment -Custom Made 3d Model (Made by me) -Third Person Camera -Version Text -A Prototipe Menu Ps: If you want to see the developement of the 3d model go to my other Project Modeling Assetsd for City of the Forgotten (My Project)
Devlog 1.2 -New Script Point and Click Moviment -I used Rays, get.position and Lots of Variables -I realy need to configurate a decent Camera
New Changes! -Making UI (Notes Case and Lore) -More Polished Point and Click Mechanic
New Dev log 1.4 -Making UI -Making Case Menu -Trying to learn UI desing
Dev Log 1.5 -New Ui and Hud -Trying to program the Hud -New Main Menu (again i realy need to get more creative for the game’s art)
Dev Log 1.6 -New and Better Point and Click -Ui visuals done
Dev Log 1.7 Button to exit the menu Finished move and intereact system I made the mechanic using nav agent and area 3d Stored Position when you change scenes I used Global Variant to make this system which saves the Player global position when you go to the menu and loads when you go bak to the game extends Node var player: CharacterBody3D var player_global: Vector3 var good_pos : bool func _ready() -> void: good_pos = false
Dev Log 1.8 Working Hud for the objectives Made by Creating global bool variables to mark if the objective is done Functional Terminal password puzle I used If states and == to Know if the player writed the wrong or the right password Also I added a system to make each objective that goes to the ui go to right tab
Dev Log 1.9 Making cinematic cameras with collision shapes Fixing Ui text bugs Working on the visuals
Dev Log 2.0 I debugged the hud by replacing the Rich text label for a label I also made the hud reactable to your actions -## Also I fixed a bug in one of the main buttons of the main screen
Dev Log 2.1 I made a lot of new Models for the Ofice cenario Incluinding a Arquive a Ofice Chair a Sofa
Ships:
I made a Raylib Noir Adventue and point and click game My bigest Challenge Was by Far learning Raylib and code logic for collision...
|
1792968525.3670516
|
1793054925.3670516
|
|
39643
|
Lunaric AI by @Tanixsh | Stardance
|
Tanixsh
|
2
|
34.0
|
305
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-26T05:51:01Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made an AI study companion with different modes to interact with the user in a better way and the hardest part was to make it respond faster than before, during my updates.", "repo": "https://github.com/Tanixsh/Lunaric-AI", "demo": "https://lunaricai.web.app"}, {"ship_num": 2, "ts": "2026-09-14T11:32:03Z", "hours": 31.0, "multiplier": 9.95, "payout": 305, "blessing": "neutral", "text": "I built Lunaric AI, an AI student companion which acts as an operational mentor and is greatly helpful for Olympiad preparation. I built and designed the AI using python language and designed the UI through Flutter. The hardest part was getting everything to work together, especially connecting the backend to the frontend. I’m most proud of the thing that it went from an idea to a working app with Chat, Study, Olympiad and Analyze modes. People should know they can actually test it themselves through the project link and try the different modes.", "repo": "https://github.com/Tanixsh/Lunaric-AI", "demo": "https://lunaricai.web.app"}]...
|
[{"post_id": 82903, "ts": "202 [{"post_id": 82903, "ts": "2026-10-26T05:48:48Z", "hours": 3.0078, "text": "I have been trying to update my AI and now have made it response faster, answers more accurately and worked on it’s authentication"}, {"post_id": 68006, "ts": "2026-09-14T11:20:11Z", "hours": 0.7792, "text": "DEVLOG 11: I’m here with a great news, LUNARIC is fully complete and will now be shipped. The journey helped me a lot and encouraged me to go beyond my limits and try new things and hope to explore this field more. Although it was not really straight forward and I feel the toughest part of the project was connecting the backend and frontend which not only took time but was truly difficult. I’ll be trying to ship my project and this is probably my last DEVLOG."}, {"post_id": 67348, "ts": "2026-09-13T12:55:18Z", "hours": 5.1967, "text": "DEVLOG 10: So guys, I’ve been lately working on redefining and polishing Lunaric’s UI and have been trying to fix bugs and glitches. I believe the AI shall shortly be shipped and it had been a great journey working on this project a lot. Hope y’all enjoy the AI."}, {"post_id": 64100, "ts": "2026-09-08T09:06:48Z", "hours": 2.7331, "text": "DEVLOG 9: I’ve deployed Lunaric publicly which is now available for all. If anyone wishes to pre-test my AI, please go https://lunaricai.web.app/ and kindly give me feedbacks accordingly. Your participation will be highly appreciated."}, {"post_id": 62295, "ts": "2026-09-05T16:28:25Z", "hours": 3.3317, "text": "DEVLOG 8: LUNARIC AI is now completed with it’s final mode - ANALYZE MODE. Lunaric can now access the user’s photos and camera based on user’s will allowing the student to upload image and get cleared with doubts with complete solution. Building the ANALYZE mode was toughest of the four as the host was continuously conflicting with the backend. Now I am going to design and polish the UI and customize some features and am also going to add a voice to text feature."}, {"post_id": 60934, "ts": "2026-09-03T16:38:56Z", "hours": 1.3733, "text": "DEVLOG 7: I’ve finally completed with my STUDY mode although i faced difficulty assigning for the TOPICS section in the subject it worked out. Now I am going to work on the last mode of LUNARIC - ANALYZE."}, {"post_id": 57997, "ts": "2026-08-30T10:20:16Z", "hours": 4.465, "text": "DEVLOG 6: I am finally done with polishing and uploading my README and tried to cover all major features and overview in a nutshell while completing the Study mode for my AI. If you guys want too take a look at my README please go to my repository on GITHUB."}, {"post_id": 55686, "ts": "2026-08-27T17:30:03Z", "hours": 1.5478, "text": "DEVLOG 5: This is my first step towards transforming Lunaric from a normal AI chatbot to an operational mentor. I’ve almost completed my work with Olympiad mode on Lunaric AI where students can generate problems just by choosing their requirements and even check if their answers are correct. Next I’ll be working towards building the STUDY mode."}, {"post_id": 54361, "ts": "2026-08-25T10:00:06Z", "hours": 3.2881, "text": "DEVLOG 4: i have finally connected the app with it’s backend and it is working completely fine. Flutter is now communicating with the Python backend and real AI responses are working inside the app."}, {"post_id": 53006, "ts": "2026-08-23T12:04:39Z", "hours": 3.4675, "text": "DEVLOG 3: The “FIRST UI PROTOTYPE” for LUNARIC AI is here. The UI is still an early prototype, but the main app structure is starting to take shape. Next, I’m working on connecting the UI to Lunaric’s actual AI capabilities."}, {"post_id": 52367, "ts": "2026-08-22T14:09:40Z", "hours": 2.8686, "text": "DEVLOG 2: FINALLY!!!! promotional website For LUNARIC OFFICIAL almost complete, I got to learn and make a 3D interactive website that too for my AI promotion."}, {"post_id": 47926, "ts": "2026-08-16T06:09:30Z", "hours": 1.6067, "text": "DEVLOG 1: The credentials and structure for my project have been assigned. Lunaric AI has started to reply by understanding user’s input and now has access to real-time information although the Real-time connection was hectic it is finally set to sail…."}]...
|
Title: Lunaric AI by @Tanixsh | Stardance
Devlogs Title: Lunaric AI by @Tanixsh | Stardance
Devlogs:
DEVLOG 1: The credentials and structure for my project have been assigned. Lunaric AI has started to reply by understanding user’s input and now has access to real-time information although the Real-time connection was hectic it is finally set to sail….
DEVLOG 2: FINALLY!!!! promotional website For LUNARIC OFFICIAL almost complete, I got to learn and make a 3D interactive website that too for my AI promotion.
DEVLOG 3: The “FIRST UI PROTOTYPE” for LUNARIC AI is here. The UI is still an early prototype, but the main app structure is starting to take shape. Next, I’m working on connecting the UI to Lunaric’s actual AI capabilities.
DEVLOG 4: i have finally connected the app with it’s backend and it is working completely fine. Flutter is now communicating with the Python backend and real AI responses are working inside the app.
DEVLOG 5: This is my first step towards transforming Lunaric from a normal AI chatbot to an operational mentor. I’ve almost completed my work with Olympiad mode on Lunaric AI where students can generate problems just by choosing their requirements and even check if their answers are correct. Next I’ll be working towards building the STUDY mode.
DEVLOG 6: I am finally done with polishing and uploading my README and tried to cover all major features and overview in a nutshell while completing the Study mode for my AI. If you guys want too take a look at my README please go to my repository on GITHUB.
DEVLOG 7: I’ve finally completed with my STUDY mode although i faced difficulty assigning for the TOPICS section in the subject it worked out. Now I am going to work on the last mode of LUNARIC - ANALYZE.
DEVLOG 8: LUNARIC AI is now completed with it’s final mode - ANALYZE MODE. Lunaric can now access the user’s photos and camera based on user’s will allowing the student to upload image and get cleared with doubts with complete solution. Building the ANALYZE mode was toughest of the four as the host was continuously conflicting with the backend. Now I am going to design and polish the UI and customize some features and am also going to add a voice to text feature.
DEVLOG 9: I’ve deployed Lunaric publicly which is now available for all. If anyone wishes to pre-test my AI, please go https://lunaricai.web.app/ and kindly give me feedbacks accordingly. Your participation will be highly appreciated.
DEVLOG 10: So guys, I’ve been lately working on redefining and polishing Lunaric’s UI and have been trying to fix bugs and glitches. I believe the AI shall shortly be shipped and it had been a great journey working on this project a lot. Hope y’all enjoy the AI.
DEVLOG 11: I’m here with a great news, LUNARIC is fully complete and will now be shipped. The journey helped me a lot and encouraged me to go beyond my limits and try new things and hope to explore this field more. Although it was not really straight forward and I feel the toughest part of the project was connecting the backend and frontend which not only took time but was truly difficult. I’ll be trying to ship my project and this is probably my last DEVLOG.
I have been trying to update my AI and now have made it response faster, answers more accurately and worked on it’s authentication
Ships:
I built Lunaric AI, an AI student companion which acts as an operational mentor and is greatly helpful for Olympiad preparation. I built and designed the AI using python language and designed the UI through Flutter. The hardest part was getting everything to work together, especially connecting the backend to the frontend. I’m most proud of the thing that it went from an idea to a working app with Chat, Study, Olympiad and Analyze modes. People should know they can actually test it themselves through the project link and try the different modes.
I have made an AI study companion with different modes to interact with the user in a better way and the hardest part was to make it respond faster than before, during my updates....
|
1793005012.5447187
|
1793091412.5447187
|
|
6550
|
Leading Zeros Utility by @infinite_silly | Stardan Leading Zeros Utility by @infinite_silly | Stardance...
|
infinite_silly
|
2
|
23.0
|
304
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T21:43:33Z", "hours": 17.0, "multiplier": 17.27, "payout": 289, "blessing": "neutral", "text": "Hello everyone! I was working on some Project Euler problems, and I realised that my solutions weren’t sorting correctly because they didn’t have any leading zeros in the numeric portion of their filenames. The same issue happened for my Advent of Code solutions once I hit day 10. I realised I could automate this, and the leading-zero-util was born. It slowly grew from a little, mediocre script to a decently-ish written CLI tool with proper unit tests, a Homebrew tap, a man page, and completions. If you want a better look at the development process than just the devlogs, please check out my commits on GitHub. If you are going to install the LZU, I also recommend that you use the Homebrew tap rather than the crates.io release, the instructions for which are in the README.", "repo": "https://github.com/KaonQuantum/leading-zero-util", "demo": "https://crates.io/crates/leading-zero-util"}, {"ship_num": 2, "ts": "2026-06-10T15:04:30Z", "hours": 6.0, "multiplier": 2.57, "payout": 15, "blessing": "neutral", "text": "I made a utility to change the number of leading zeros in filenames! I was working on Project Euler and had to add a leading zero to all my filenames, which was tedious, so I made this!", "repo": "https://github.com/KaonQuantum/leading-zero-util", "demo": "https://crates.io/crates/leading-zero-util"}]...
|
[{"post_id": 42843, "ts": "202 [{"post_id": 42843, "ts": "2026-08-07T19:41:19Z", "hours": 0.9986, "text": "Drop it Like it’s Hot THIS IS THE FINAL DEVLOG!!!! We got a working release! After my last devlog, I added some unit tests for skip_rename(), and I added the Github default Rust workflow with some modifications to the repo to automatically test any new commits against the test suit, which is most of my codebase. Also added a test workflow to the homebrew tap so it’s easier to see that all is working."}, {"post_id": 42489, "ts": "2026-08-07T08:00:31Z", "hours": 1.3761, "text": "Refactor I’m going to keep this one quick because it just got deleted for being too long. The previously mentioned behaviour of overwriting filenames has been fixed and has it’s own unit test now. It was given an exception before the actual rename. All the rename logic was duplicated between dec and !dec, so I flattened that. I pulled out the pre-rename exception logic into a new helper: skip_rename(). It needs unit tests of its own. Byyyeeeeee!!!"}, {"post_id": 42432, "ts": "2026-08-07T04:14:30Z", "hours": 1.0014, "text": "I’m Smart but I’m Bad at Taking Tests Hello again! You know what they say, new commit, new devlog! “[Test] Torsion” We got MORE UNIT TESTS!!! The get_filenames() fn was formerly the only function in helpers.rs that had no unit tests, so I added 6 unit tests for it. They have about the same general structure as the unit tests for change_leading_zeros(). Beautification I was trying to make my code prettier, and I accidentally screwed up an ownership issue. My unit tests made use of tempdirs with the tempfile crate to test change_leading_zeros() and get_filenames. This is the original pattern for getting the temp dir’s path: let binding = tempdir () .unwrap (); let dir = binding .path (); // stuff can be done with dir now This is what I changed it to: let dir = tempdir () .unwrap () .path () .to_owned (); When the tempdir gets dropped, it also deletes the directory, which makes dir a path to a dir that doesn’t exist. Everything compiles fine, but the code panics because the tempdir doesn’t exist. Override Something I forgot to mention in my last devlog is that if there was the files file1.txt and file01.txt, it (c/w)ould rename over one of the files and silently delete the file written over. I still have to fix this issue. I’ve wanted to learn Zig, so I looked up Zig crash courses on Youtube, and this is from the one I was watching."}, {"post_id": 42339, "ts": "2026-08-07T00:40:04Z", "hours": 2.7222, "text": "Testing Tests Hello again! I can’t believe we’re on devlog #8, considering I have been doing pretty sparse devlogs! if true { allTestsPass } IT’S UNIT TEST TIIIIIME!!! I added 13 unit tests to my big change_leading_zeros() function. They cover most, if not all, possible edge cases. Rename file11 -> file11 I discovered that in change_leading_zeros(), if the resulting new filename was the same as the old, would still do the rename, and it would count as a renamed file, so that the actual number of renamed files would be too large. Hating on for loops as much as the functional bros. I realised that my get_filenames() fn, which still has no unit tests, could be swapped to an iterator structure. old: pub fn get_filenames ( path : & Path ) -> Vec < String > { let mut names = Vec :: new (); if let Ok ( read_dir ) = fs :: read_dir ( path ) { for file in read_dir .flatten () { names .push ( file .file_name () .into_string () .unwrap_or ( \"unknown name\" .into ()), ); } } names } pub fn get_filenames ( path : & Path ) -> Vec < String > { fs :: read_dir ( path ) .into_iter () .flatten () .flatten () .map (| f | f .file_name () .into_string () .unwrap_or ( \"unknown name\" .into ())) .collect () } The two functions behave in exactly the same way, no unnecesary unwrap()s that may cause panics See y’all next devlog!"}, {"post_id": 41806, "ts": "2026-08-06T07:38:58Z", "hours": 2.0653, "text": "Testing, Testing, 1 2 3 Here’s what I’ve been working on to try to get a good, stable release. I Need an Extension I discovered that when doing the normalising add, the one that’s like problem-1.txt, problem-11.rs (-n 1) -> problem-01.txt, problem-11.rs (keeps the same total length of the numeric portion), it actually counts the extension characters, so the result would actually be problem-01.txt, problem-011.rs because the extensions are different lengths. Previously, the find_target() function was like this: pub fn find_target ( filenames : & Vec < String > , count : usize ) -> usize { let mut minimum = usize :: MAX ; for file in filenames { let ( dot_index , cond ) = check_file ( file ); if cond { continue ; } let split_index = find_split_index ( file , dot_index ); minimum = minimum .min ( file [ split_index .. ] .len ()); } minimum + count } Now, it’s pub fn find_target ( filenames : & Vec < String > , count : usize ) -> usize { let mut minimum = usize :: MAX ; let mut is_numeric : bool = false ; for file in filenames { let ( dot_index , cond ) = check_file ( file ); if cond { continue ; } let split_index = find_split_index ( file , dot_index ); minimum = minimum .min ( file [ split_index .. dot_index ] .len ()); is_numeric = true ; } if is_numeric { minimum + count } else { 0 } } Now the target isn’t the shortest number of characters in the numeric portion plus the extension, it’s just the extension. The is_numeric variable is just there so that it doesn’t try to add count to usize::MAX, getting an overflow if there are no files with numeric suffixes. sleep(); sleep(); sleep(); allTestsPass(); The last step before 1.0.0 is UNIT TESTS!!!!!! The easiest unit tests to write are ones for my functions in helpers.rs, including find_target(), check_file(), find_split_index(), and get_filenames(). I wrote 15 unit tests for the first three, and I might write some for get_filenames after I write some for change_leading_zeros(). While writing the unit tests, I stumbled upon the edge case for find_target if there are no applicable files, which is why I added the is_numeric above. The next step is writing the aforementioned unit tests for change_leading_zeros()."}, {"post_id": 41550, "ts": "2026-08-05T20:43:11Z", "hours": 1.3689, "text": "Crack a Brewski with the Boys Much Abrew about Nothing, pt. 2 Got the homebrew tap working! Not much to say, except that it is a tad annoying to have to have a separate repo just for the tap. Compleated Because of the Homebrew tap, I decided to swap the non-nushell completions to a hidden flag, so you can run them with –generate-completions zsh/bash/fish/elvish/powershell to create the completions file, which the tap can do at install time for zsh, bash, and fish. Unfortunately, it can’t do it for elvish, powershell, or nushell, so you have to manually install completions for those three. Man(chester United) Because I now have a homebrew tap, installing man files is much easier. I brought back my old clap_mangen code for build.rs, and added a line to the formula, so now man generation works!"}, {"post_id": 41176, "ts": "2026-08-05T06:57:49Z", "hours": 0.9675, "text": "Much Abrew About Nothing Since the failure that was clap_mangen, I have been considering a homebrew release, because then I can more easily have the man files and completions be installed, and I would do homebrew specifically since it is the main package manager I use, and it kind of works on everything. I was using Claude Code to teach me how to create the tap, but I unfortunately ran through my limit and $100 of usage credits I got for free when Fable 5 dropped off my plan on a separate data entry task running with Claude Chrome, so I need to do some testing of the tap. See y’all next devlog!"}, {"post_id": 40506, "ts": "2026-08-04T02:47:49Z", "hours": 1.2161, "text": "Completionism A few days ago, I looked up clap on crates.io , and realised there were many crates built to add functionality to CLAP, like clap_mangen, clap-version-flag, and more. The two this devlog is about are clap_complete and clap_complete_nushell. These two allow for the generation of shell completions; clap_complete supports Bash, Zsh, Fish, Elvish, and PowerShell; clap_complete_nushell adds nushell support. The standard package has a new (in-development) feature that allows for the binary itself to be the completion script, allowing for more minimal user setup if downloading from crates.io†. The nushell version does not have this feature, so you have to run it with a special flag and save the output to a completions file in ~/.config/nushell/completions/leading-zero-util.nu. † crates.io doesn’t have an install step so it doesn’t look in the OUT_DIR at build time, so it doesn’t pick up files like the completion files. This same issue is why I chose not to use clap_mangen, since I only currently distribute through crates.io. If I later make a Homebrew tap, I’ll probably change the way the completions are done and re-add clap_mangen."}, {"post_id": 40305, "ts": "2026-08-03T18:53:22Z", "hours": 1.7167, "text": "Breaking it up Divide and Conquer When I was setting up my build.rs to use clap_mangen, I had to separate my CLI arg parser construct from the rest of my code and put it in a new file. I also realised that some of my code in my (basically) main function (change_leading_zeros()) was repetitive and could be extracted into functions. My change_leading_zeros() was extremely long and deserved its own file. Even after moving a ton of code into helpers.rs, it’s still 78 lines long, thoroughly violating Uncle Bob’s standards. (Granted, his standards are bad, and Uncle Bob could go trip on a log for all I care) I have never worked in a multi-file project before, not even for my Pong game, which is just 747 lines of code all in one file, and it could have easily been broken up into more files. I have a really fast scrolling speed on my laptop, to the point of it being almost unusable, so scrolling all the code in that project was annoying. Because I have never made a multi-file Rust project before, I had no idea what I was doing. I ran into a ton of errors, including my LSP stopping working, so I didn’t have autocomplete or clippy linting for one of my files for a bit, so I got even more confused. Now, fortunately, everything works now, and I even found some issues in my code (an if condition with an OR in which the first part of the OR was redundant; a for loop that instead could have been an iterator chain; a variable that stayed mutable after mutability was unnecessary), so it was an overall great success! Illiteracymaxxing Previously, I mentioned that the LZU operates off of a target length for file names, so having a schema like file01.txt project02.rs problem03.py wouldn’t work, but I was dead wrong. I haven’t worked on the project in a month and a half, and when reading over my code to see what it does, I mistook target as the target filename length, not the target length of the numeric portion. I thus removed the warnings associated with what I believed to be a behaviour of the LZU from the short help, long help, and README. The lesson is maybe to double-check with a friend or smth when you get confused by your own code."}, {"post_id": 39787, "ts": "2026-08-02T23:58:27Z", "hours": 1.5247, "text": "Google: “How to use leading-zero-util?” A couple things have happened since the last devlog, so let’s go through them! Flatten Until today, and we will get to why, all the code was in src/main.rs, which made it harder to deal with and harder to work with. I moved the Cli struct (the clap parser struct) to a new file, src/cli.rs, so it’s a little more readable now. Man Down! As I mentioned in my last devlog, I was going to use the clap_mangen crate to generate a man file for the leading-zero-util. I set it up and created a build.rs, but realised that crates.io wouldn’t do anything with the man files, so you can’t run man leading-zero-util. This was v0.4.0 (We are now on v0.5.0). The benefit of a man file is minuscule, and I can always add it back to my build.rs. It wasn’t worth the extra dependencies, so I dropped it. Reading the version message explains the version message. I was previously considering the clap-version-flag crate for a better version message, but realised it would add basically nothing, and it isn’t well maintained. I decided instead to use shadow-rs for a better long version. I had deleted my build.rs, so I made a new one and added shadow-rs to the code."}, {"post_id": 39347, "ts": "2026-08-02T08:21:29Z", "hours": 1.7653, "text": "Leading with Zeros, ending with .txt Hello everyone! Dusting off my leading zero utility after finishing up Pong, and there were some issues! The F in BSMRCDF I realised that my utility didn’t work for filenames with extensions (no problem-01.rs or mediocre-01.py), so that needed to be fixed. Look for the helpers The CLI uses a target length for non-basic additions, so it only works on filenames with nonnumeric sections of the same length (target-01.rs, project-11.rs), but not problem-11 & target-01. Consequently, the help sections need to warn about this. I also added some more examples at the bottom of the long help. Man the stall This isn’t as much of an issue as something I just found out about. There is a crate, clap_mangen , THAT LETS YOU GENERATE MAN DOCS, which I feel I feel way more excitement than it warrants. This is the next step for this project. See y’all next devlog!"}, {"post_id": 6262, "ts": "2026-06-10T14:57:57Z", "hours": 5.8289, "text": "Leading Zero Util 0.2.0 is complete!"}]...
|
Title: Leading Zeros Utility by @infinite_silly | Title: Leading Zeros Utility by @infinite_silly | Stardance
Devlogs:
Leading Zero Util 0.2.0 is complete!
Leading with Zeros, ending with .txt Hello everyone! Dusting off my leading zero utility after finishing up Pong, and there were some issues! The F in BSMRCDF I realised that my utility didn’t work for filenames with extensions (no problem-01.rs or mediocre-01.py), so that needed to be fixed. Look for the helpers The CLI uses a target length for non-basic additions, so it only works on filenames with nonnumeric sections of the same length (target-01.rs, project-11.rs), but not problem-11 & target-01. Consequently, the help sections need to warn about this. I also added some more examples at the bottom of the long help. Man the stall This isn’t as much of an issue as something I just found out about. There is a crate, clap_mangen , THAT LETS YOU GENERATE MAN DOCS, which I feel I feel way more excitement than it warrants. This is the next step for this project. See y’all next devlog!
Google: “How to use leading-zero-util?” A couple things have happened since the last devlog, so let’s go through them! Flatten Until today, and we will get to why, all the code was in src/main.rs, which made it harder to deal with and harder to work with. I moved the Cli struct (the clap parser struct) to a new file, src/cli.rs, so it’s a little more readable now. Man Down! As I mentioned in my last devlog, I was going to use the clap_mangen crate to generate a man file for the leading-zero-util. I set it up and created a build.rs, but realised that crates.io wouldn’t do anything with the man files, so you can’t run man leading-zero-util. This was v0.4.0 (We are now on v0.5.0). The benefit of a man file is minuscule, and I can always add it back to my build.rs. It wasn’t worth the extra dependencies, so I dropped it. Reading the version message explains the version message. I was previously considering the clap-version-flag crate for a better version message, but realised it would add basically nothing, and it isn’t well maintained. I decided instead to use shadow-rs for a better long version. I had deleted my build.rs, so I made a new one and added shadow-rs to the code.
Breaking it up Divide and Conquer When I was setting up my build.rs to use clap_mangen, I had to separate my CLI arg parser construct from the rest of my code and put it in a new file. I also realised that some of my code in my (basically) main function (change_leading_zeros()) was repetitive and could be extracted into functions. My change_leading_zeros() was extremely long and deserved its own file. Even after moving a ton of code into helpers.rs, it’s still 78 lines long, thoroughly violating Uncle Bob’s standards. (Granted, his standards are bad, and Uncle Bob could go trip on a log for all I care) I have never worked in a multi-file project before, not even for my Pong game, which is just 747 lines of code all in one file, and it could have easily been broken up into more files. I have a really fast scrolling speed on my laptop, to the point of it being almost unusable, so scrolling all the code in that project was annoying. Because I have never made a multi-file Rust project before, I had no idea what I was doing. I ran into a ton of errors, including my LSP stopping working, so I didn’t have autocomplete or clippy linting for one of my files for a bit, so I got even more confused. Now, fortunately, everything works now, and I even found some issues in my code (an if condition with an OR in which the first part of the OR was redundant; a for loop that instead could have been an iterator chain; a variable that stayed mutable after mutability was unnecessary), so it was an overall great success! Illiteracymaxxing Previously, I mentioned that the LZU operates off of a target length for file names, so having a schema like file01.txt project02.rs problem03.py wouldn’t work, but I was dead wrong. I haven’t worked on the project in a month and a half, and when reading over my code to see what it does, I mistook target as the target filename length, not the target length of the numeric portion. I thus removed the warnings associated with what I believed to be a behaviour of the LZU from the short help, long help, and README. The lesson is maybe to double-check with a friend or smth when you get confused by your own code.
Completionism A few days ago, I looked up clap on crates.io , and realised there were many crates built to add functionality to CLAP, like clap_mangen, clap-version-flag, and more. The two this devlog is about are clap_complete and clap_complete_nushell. These two allow for the generation of shell completions; clap_complete supports Bash, Zsh, Fish, Elvish, and PowerShell; clap_complete_nushell adds nushell support. The standard package has a new (in-development) feature that allows for the binary itself to be the completion script, allowing for more minimal user setup if downloading from crates.io†. The nushell version does not have this feature, so you have to run it with a special flag and save the output to a completions file in ~/.config/nushell/completions/leading-zero-util.nu. † crates.io doesn’t have an install step so it doesn’t look in the OUT_DIR at build time, so it doesn’t pick up files like the completion files. This same issue is why I chose not to use clap_mangen, since I only currently distribute through crates.io. If I later make a Homebrew tap, I’ll probably change the way the completions are done and re-add clap_mangen.
Much Abrew About Nothing Since the failure that was clap_mangen, I have been considering a homebrew release, because then I can more easily have the man files and completions be installed, and I would do homebrew specifically since it is the main package manager I use, and it kind of works on everything. I was using Claude Code to teach me how to create the tap, but I unfortunately ran through my limit and $100 of usage credits I got for free when Fable 5 dropped off my plan on a separate data entry task running with Claude Chrome, so I need to do some testing of the tap. See y’all next devlog!
Crack a Brewski with the Boys Much Abrew about Nothing, pt. 2 Got the homebrew tap working! Not much to say, except that it is a tad annoying to have to have a separate repo just for the tap. Compleated Because of the Homebrew tap, I decided to swap the non-nushell completions to a hidden flag, so you can run them with –generate-completions zsh/bash/fish/elvish/powershell to create the completions file, which the tap can do at install time for zsh, bash, and fish. Unfortunately, it can’t do it for elvish, powershell, or nushell, so you have to manually install completions for those three. Man(chester United) Because I now have a homebrew tap, installing man files is much easier. I brought back my old clap_mangen code for build.rs, and added a line to the formula, so now man generation works!
Testing, Testing, 1 2 3 Here’s what I’ve been working on to try to get a good, stable release. I Need an Extension I discovered that when doing the normalising add, the one that’s like problem-1.txt, problem-11.rs (-n 1) -> problem-01.txt, problem-11.rs (keeps the same total length of the numeric portion), it actually counts the extension characters, so the result would actually be problem-01.txt, problem-011.rs because the extensions are different lengths. Previously, the find_target() function was like this: pub fn find_target ( filenames : & Vec < String > , count : usize ) -> usize { let mut minimum = usize :: MAX ; for file in filenames { let ( dot_index , cond ) = check_file ( file ); if cond { continue ; } let split_index = find_split_index ( file , dot_index ); minimum = minimum .min ( file [ split_index .. ] .len ()); } minimum + count } Now, it’s pub fn find_target ( filenames : & Vec < String > , count : usize ) -> usize { let mut minimum = usize :: MAX ; let mut is_numeric : bool = false ; for file in filenames { let ( dot_index , cond ) = check_file ( file ); if cond { continue ; } let split_index = find_split_index ( file , dot_index ); minimum = minimum .min ( file [ split_index .. dot_index ] .len ()); is_numeric = true ; } if is_numeric { minimum + count } else { 0 } } Now the target isn’t the shortest number of characters in the numeric portion plus the extension, it’s just the extension. The is_numeric variable is just there so that it doesn’t try to add count to usize::MAX, getting an overflow if there are no files with numeric suffixes. sleep(); sleep(); sleep(); allTestsPass(); The last step before 1.0.0 is UNIT TESTS!!!!!! The easiest unit tests to write are ones for my functions in helpers.rs, including find_target(), check_file(), find_split_index(), and get_filenames(). I wrote 15 unit tests for the first three, and I might write some for get_filenames after I write some for change_leading_zeros(). While writing the unit tests, I stumbled upon the edge case for find_target if there are no applicable files, which is why I added the is_numeric above. The next step is writing the aforementioned unit tests for change_leading_zeros().
Testing Tests Hello again! I can’t believe we’re on devlog #8, considering I have been doing pretty sparse devlogs! if true { allTestsPass } IT’S UNIT TEST TIIIIIME!!! I added 13 unit tests to my big change_leading_zeros() function. They cover most, if not all, possible edge cases. Rename file11 -> file11 I discovered that in change_leading_zeros(), if the resulting new filename was the same as the old, would still do the rename, and it would count as a renamed file, so that the actual number of renamed files would be too large. Hating on for loops as much as the functional bros. I realised that my get_filenames() fn, which still has no unit tests, could be swapped to an iterator structure. old: pub fn get_filenames ( path : & Path ) -> Vec < String > { let mut names = Vec :: new (); if let Ok ( read_dir ) = fs :: read_dir ( path ) { for file in read_dir .flatten () { names .push ( file .file_name () .into_string () .unwrap_or ( "unknown name" .into ()), ); } } names } pub fn get_filenames ( path : & Path ) -> Vec < String > { fs :: read_dir ( path ) .into_iter () .flatten () .flatten () .map (| f | f .file_name () .into_string () .unwrap_or ( "unknown name" .into ())) .collect () } The two functions behave in exactly the same way, no unnecesary unwrap()s that may cause panics See y’all next devlog!
I’m Smart but I’m Bad at Taking Tests Hello again! You know what they say, new commit, new devlog! “[Test] Torsion” We got MORE UNIT TESTS!!! The get_filenames() fn was formerly the only function in helpers.rs that had no unit tests, so I added 6 unit tests for it. They have about the same general structure as the unit tests for change_leading_zeros(). Beautification I was trying to make my code prettier, and I accidentally screwed up an ownership issue. My unit tests made use of tempdirs with the tempfile crate to test change_leading_zeros() and get_filenames. This is the original pattern for getting the temp dir’s path: let binding = tempdir () .unwrap (); let dir = binding .path (); // stuff can be done with dir now This is what I changed it to: let dir = tempdir () .unwrap () .path () .to_owned (); When the tempdir gets dropped, it also deletes the directory, which makes dir a path to a dir that doesn’t exist. Everything compiles fine, but the code panics because the tempdir doesn’t exist. Override Something I forgot to mention in my last devlog is that if there was the files file1.txt and file01.txt, it (c/w)ould rename over one of the files and silently delete the file written over. I still have to fix this issue. I’ve wanted to learn Zig, so I looked up Zig crash courses on Youtube, and this is from the one I was watching.
Refactor I’m going to keep this one quick because it just got deleted for being too long. The previously mentioned behaviour of overwriting filenames has been fixed and has it’s own unit test now. It was given an exception before the actual rename. All the rename logic was duplicated between dec and !dec, so I flattened that. I pulled out the pre-rename exception logic into a new helper: skip_rename(). It needs unit tests of its own. Byyyeeeeee!!!
Drop it Like it’s Hot THIS IS THE FINAL DEVLOG!!!! We got a working release! After my last devlog, I added some unit tests for skip_rename(), and I added the Github default Rust workflow with some modifications to the repo to automatically test any new commits against the test suit, which is most of my codebase. Also added a test workflow to the homebrew tap so it’s easier to see that all is working.
Ships:
I made a utility to change the number of leading zeros in filenames! I was working on Project Euler and had to add a leading zero to all my filenames, which was tedious, so I made this!
Hello everyone! I was working on some Project Euler problems, and I realised that my solutions weren’t sorting correctly because they didn’t have any leading zeros in the numeric portion of their filenames. The same issue happened for my Advent of Code solutions once I hit day 10. I realised I could automate this, and the leading-zero-util was born. It slowly grew from a little, mediocre script to a decently-ish written CLI tool with proper unit tests, a Homebrew tap, a man page, and completions. If you want a better look at the development process than just the devlogs, please check out my commits on GitHub. If you are going to install the LZU, I also recommend that you use the Homebrew tap rather than the crates.io release, the instructions for which are in the README....
|
1792997326.363811
|
1793083726.363811
|
|
10691
|
nero ai by @deepm33 | Stardance
|
deepm33
|
1
|
30.0
|
304
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T18:56:46Z", "hours": 30.0, "multiplier": 12.69, "payout": 304, "blessing": "neutral", "text": "Nero Ai is like my own AI that i built from scratch with nextjs. It’s got 7 different brains that automatically figure out what you need — like coding, search, creative stuff, etc. there’s even a waifu mode lol where the AI talks like an anime girl. it can write code, do voice, search the web, and remembers stuff about you. basically it’s like having your own personal AI but cooler. The voice part and the ui was the most challenging and nero is a lil shy so she takes 5 to 10 sec to reply by voice (●’◡’●)", "repo": "https://github.com/DeepMane33/nero-ai", "demo": "https://nero-os.vercel.app/"}]...
|
[{"post_id": 30201, "ts": "202 [{"post_id": 30201, "ts": "2026-07-17T16:20:25Z", "hours": 3.0, "text": "I think i have finished working on my personal ai agent AKA NERO, so i made some changes in the voice mode so lemme talk about this because this thing genuinely took forever to build. First theres push-to-talk. u hold the mic button, talk, release, nero processes it. simple right? but then theres continuous mode and in continuous mode is where the chaos begins. When u flip that toggle nero spins up a SECOND speech recognizer in the background that is constantly listening for “hey nero”. like constantly. and when it hears it, it kills that background recognizer and spins up the MAIN recognizer to actually capture what ure saying. TWO recognizers running at the same time. One listening for the trigger, one ready to capture the actual message. the moment the wake word hits, background one dies, main one takes over. About the STT, so originally this thing was using the Web Speech API and bruhhhh the Web Speech API is just unreliable as hell. it only works in Chrome, needs HTTPS or localhost, and half the time it just doesnt fire on result at all. Like u speak, it says “listening…”, then nothing happens. No transcription, no response, nothing. I tried fixing it multiple times — started recognition immediately instead of waiting for mic permission, added error handling, changed the flow… still broken. the Web Speech API is just built different (bad different), so i had to rip it out of nero and then replaced it with MediaRecorder + Gemini for transcription. Now when u tap the orb it records audio using the MediaRecorder API, sends the audio blob to Gemini, and Gemini transcribes it. And tbh its way more reliable because it doesnt depend on browser-specific speech engines. It just works better and the Gemini model used for transcription is gemini-2.5-flash — the same one used for chats so it understands context. And heres the thing — after the addition of the STT the whole sound system changed. LIke before nero’s voice was legit too boring but now she is even able to speak like a waifu. She says hehehe and chuckles and speaks a lot better than before. Also there was a lot of problem for the api keys, cause when anyone was trying to put their api in Nero it was getting stored but nero was unable to run on that api, due to which no one could use that and i also cannot put my gemini api cause it would get rate limit too quick if multiple people used it. So in settings there’s an “Add API Key” button that expands into a form and in that u give it a name (like “My Gemini Key”)and then paste your API key, hit add. Then key get VALIDATED before its stored — nero actually makes a test request to the API to confirm the key works. If the key is invalid it tells u immediately, doesn’t just silently store garbage🥀🥀. Honestly the most impressive thing is that this runs on FREE APIs. The whole point is accessibility like gemini alone gets u pretty far for free , openrouter has free models and groq too has a free tier. Cerebras has a free tier and if u DO have paid keys then insert them in nero so she would use them instead. Its the best of both worlds.."}, {"post_id": 28937, "ts": "2026-07-15T15:33:39Z", "hours": 10.0, "text": "I have finally redesigned the nero ai into looking an more stunning and better look. First it was too plain so i improved it and also improved the cursor as well. Added a new sidebar navigation, glassmorphism everywhere, aurora backgrounds, the whole nine yards,LOL. It actually looks like an operating system now not just a chatbot with a fancy name. dark theme has been set as the default for the whole ai. For the Framework & Build i used, Next.js 16.2.7 with Turbopack for blazing fast dev server and hot reload React 19 with hooks (useState, useEffect, useCallback, lazy, Suspense) TypeScript throughout For Styling up nero i used, Tailwind CSS for utility-first styling CSS custom properties (variables) for the theme system Inline styles for dynamic theming (accent colors, glow effects, glassmorphism) Glassmorphism via backdrop-filter: blur() + semi-transparent backgrounds For the UI Components i used Custom AICore orb with SVG animations and mood-based coloring.Also the Notification Center with badge counts nero also has OnboardingFlow for the first-time users i thought that would be helpful. It also has a coverstion side bar with search and histrory found inside it only. This was a big UX change for me and nero 🥀🥀. And now instead of a separate “API Keys” section buried in settings, nero now lets u pick a model and enter its API key right there. Click a model → it expands → paste ur key → save. The green dot shows up when a key is configured and then stores everything in local storage so keys stay on ur machine never sent anywhere except to the provider u chose and it supports Gemini, GPT, and more ai’s. The home screen in nero now shows all of these, Greeting based on time of day Animated AI core orb with mood indicator Quick actions (chat, research, memory, knowledge) Recent conversations pulled from the actual database System status panel showing nero core health, cause its health 🥀😢 Mostly did the redesign and removed some of the not working sections from Nero and did debugging.. (●’◡’●)"}, {"post_id": 21725, "ts": "2026-07-03T20:18:10Z", "hours": 15.0, "text": "ok so basically i got bored one day and thought “yupp i need my own ai agent” and then i actually did it?? like nero is this whole AI agent thing i built from scratch that actually THINKS. Not like “oh i’m a chatbot i repeat what you say” no no no. nero has like… actual memory and personality. It literally learns from talking to you. It’s unhinged and i love it. So nero has two personalities. you got the normal one which is just a smart professional AI assistant which is quiet boring but useful. THEN there’s the waifu mode. Here’s how it works: there’s a whole personality system in personalities.ts with two modes — normal and waifu. the normal one is straightforward, just a good AI. but the waifu personality? it’s an anime-inspired companion with kaomoji (like (✿◠‿◠) and (◕‿◕)), uses japanese words, gets emotionally attached to you, and has this whole kawaii vibe going on and on. The BEST part is you don’t even need to go to settings to switch. you can just type something like “act like a waifu” or “be normal again” in the chat and nero detects it automatically and there’s literally a function called detectPersonalitySwitch() that scans your message for phrases like “waifu mode”, “be cute”, “act normal” etc and switches on the fly. So you’re just chatting and suddenly nero goes from professional to kawai and it’s hilarious every time.It’s not just a gimmick either — the entire system prompt changes,the waifu gets its own set of rules about how to talk, how to express emotions, how to react, two completely different AI personalities. internet search (it’s… a work in progress) ok so nero HAS web search code which is like actual multi-source search — DuckDuckGo, Wikipedia, Google Custom Search, News API. the needsWebSearch() function detects when you’re asking about current events and auto-triggers a search and the results get fed into the AI’s context so it can answer with real-time info. but here’s the reality — right now it mostly just opens links in new tabs. the ResearchMode shows you a list of results and you click them. The auto-search in chat is supposed to inject results into the conversation so the AI summarizes them for you, but it doesn’t always work as smoothly as i’d like and yeah sometimes the AI just outputs links instead of actually reading and summarizing the search results,sometimes needsWebSearch() doesn’t trigger when it should. It’s like having a search engine that works but doesn’t know how to talk about what it found yet. the plumbing is there, the execution needs polish and still a lot of work to make it feel like a real research assistant instead of a link generator. text-to-speech edge-tts is installed and functional,nero can read responses out loud using Microsoft Edge neural voices.I would like to add new voices, adjust speed and pitch before i ship this project. There are still many places which need a lot of improvements and work, lets see how much further i can upgrade this ai!!!"}]...
|
Title: nero ai by @deepm33 | Stardance
Devlogs:
o Title: nero ai by @deepm33 | Stardance
Devlogs:
ok so basically i got bored one day and thought “yupp i need my own ai agent” and then i actually did it?? like nero is this whole AI agent thing i built from scratch that actually THINKS. Not like “oh i’m a chatbot i repeat what you say” no no no. nero has like… actual memory and personality. It literally learns from talking to you. It’s unhinged and i love it. So nero has two personalities. you got the normal one which is just a smart professional AI assistant which is quiet boring but useful. THEN there’s the waifu mode. Here’s how it works: there’s a whole personality system in personalities.ts with two modes — normal and waifu. the normal one is straightforward, just a good AI. but the waifu personality? it’s an anime-inspired companion with kaomoji (like (✿◠‿◠) and (◕‿◕)), uses japanese words, gets emotionally attached to you, and has this whole kawaii vibe going on and on. The BEST part is you don’t even need to go to settings to switch. you can just type something like “act like a waifu” or “be normal again” in the chat and nero detects it automatically and there’s literally a function called detectPersonalitySwitch() that scans your message for phrases like “waifu mode”, “be cute”, “act normal” etc and switches on the fly. So you’re just chatting and suddenly nero goes from professional to kawai and it’s hilarious every time.It’s not just a gimmick either — the entire system prompt changes,the waifu gets its own set of rules about how to talk, how to express emotions, how to react, two completely different AI personalities. internet search (it’s… a work in progress) ok so nero HAS web search code which is like actual multi-source search — DuckDuckGo, Wikipedia, Google Custom Search, News API. the needsWebSearch() function detects when you’re asking about current events and auto-triggers a search and the results get fed into the AI’s context so it can answer with real-time info. but here’s the reality — right now it mostly just opens links in new tabs. the ResearchMode shows you a list of results and you click them. The auto-search in chat is supposed to inject results into the conversation so the AI summarizes them for you, but it doesn’t always work as smoothly as i’d like and yeah sometimes the AI just outputs links instead of actually reading and summarizing the search results,sometimes needsWebSearch() doesn’t trigger when it should. It’s like having a search engine that works but doesn’t know how to talk about what it found yet. the plumbing is there, the execution needs polish and still a lot of work to make it feel like a real research assistant instead of a link generator. text-to-speech edge-tts is installed and functional,nero can read responses out loud using Microsoft Edge neural voices.I would like to add new voices, adjust speed and pitch before i ship this project. There are still many places which need a lot of improvements and work, lets see how much further i can upgrade this ai!!!
I have finally redesigned the nero ai into looking an more stunning and better look. First it was too plain so i improved it and also improved the cursor as well. Added a new sidebar navigation, glassmorphism everywhere, aurora backgrounds, the whole nine yards,LOL. It actually looks like an operating system now not just a chatbot with a fancy name. dark theme has been set as the default for the whole ai. For the Framework & Build i used, Next.js 16.2.7 with Turbopack for blazing fast dev server and hot reload React 19 with hooks (useState, useEffect, useCallback, lazy, Suspense) TypeScript throughout For Styling up nero i used, Tailwind CSS for utility-first styling CSS custom properties (variables) for the theme system Inline styles for dynamic theming (accent colors, glow effects, glassmorphism) Glassmorphism via backdrop-filter: blur() + semi-transparent backgrounds For the UI Components i used Custom AICore orb with SVG animations and mood-based coloring.Also the Notification Center with badge counts nero also has OnboardingFlow for the first-time users i thought that would be helpful. It also has a coverstion side bar with search and histrory found inside it only. This was a big UX change for me and nero 🥀🥀. And now instead of a separate “API Keys” section buried in settings, nero now lets u pick a model and enter its API key right there. Click a model → it expands → paste ur key → save. The green dot shows up when a key is configured and then stores everything in local storage so keys stay on ur machine never sent anywhere except to the provider u chose and it supports Gemini, GPT, and more ai’s. The home screen in nero now shows all of these, Greeting based on time of day Animated AI core orb with mood indicator Quick actions (chat, research, memory, knowledge) Recent conversations pulled from the actual database System status panel showing nero core health, cause its health 🥀😢 Mostly did the redesign and removed some of the not working sections from Nero and did debugging.. (●’◡’●)
I think i have finished working on my personal ai agent AKA NERO, so i made some changes in the voice mode so lemme talk about this because this thing genuinely took forever to build. First theres push-to-talk. u hold the mic button, talk, release, nero processes it. simple right? but then theres continuous mode and in continuous mode is where the chaos begins. When u flip that toggle nero spins up a SECOND speech recognizer in the background that is constantly listening for “hey nero”. like constantly. and when it hears it, it kills that background recognizer and spins up the MAIN recognizer to actually capture what ure saying. TWO recognizers running at the same time. One listening for the trigger, one ready to capture the actual message. the moment the wake word hits, background one dies, main one takes over. About the STT, so originally this thing was using the Web Speech API and bruhhhh the Web Speech API is just unreliable as hell. it only works in Chrome, needs HTTPS or localhost, and half the time it just doesnt fire on result at all. Like u speak, it says “listening…”, then nothing happens. No transcription, no response, nothing. I tried fixing it multiple times — started recognition immediately instead of waiting for mic permission, added error handling, changed the flow… still broken. the Web Speech API is just built different (bad different), so i had to rip it out of nero and then replaced it with MediaRecorder + Gemini for transcription. Now when u tap the orb it records audio using the MediaRecorder API, sends the audio blob to Gemini, and Gemini transcribes it. And tbh its way more reliable because it doesnt depend on browser-specific speech engines. It just works better and the Gemini model used for transcription is gemini-2.5-flash — the same one used for chats so it understands context. And heres the thing — after the addition of the STT the whole sound system changed. LIke before nero’s voice was legit too boring but now she is even able to speak like a waifu. She says hehehe and chuckles and speaks a lot better than before. Also there was a lot of problem for the api keys, cause when anyone was trying to put their api in Nero it was getting stored but nero was unable to run on that api, due to which no one could use that and i also cannot put my gemini api cause it would get rate limit too quick if multiple people used it. So in settings there’s an “Add API Key” button that expands into a form and in that u give it a name (like “My Gemini Key”)and then paste your API key, hit add. Then key get VALIDATED before its stored — nero actually makes a test request to the API to confirm the key works. If the key is invalid it tells u immediately, doesn’t just silently store garbage🥀🥀. Honestly the most impressive thing is that this runs on FREE APIs. The whole point is accessibility like gemini alone gets u pretty far for free , openrouter has free models and groq too has a free tier. Cerebras has a free tier and if u DO have paid keys then insert them in nero so she would use them instead. Its the best of both worlds..
Ships:
Nero Ai is like my own AI that i built from scratch with nextjs. It’s got 7 different brains that automatically figure out what you need — like coding, search, creative stuff, etc. there’s even a waifu mode lol where the AI talks like an anime girl. it can write code, do voice, search the web, and remembers stuff about you. basically it’s like having your own personal AI but cooler. The voice part and the ui was the most challenging and nero is a lil shy so she takes 5 to 10 sec to reply by voice (●’◡’●)...
|
1792882074.5138695
|
1793746074.5138695
|
|
3940
|
Tokn - A CLI TOTP app by @nautrw | Stardance
|
nautrw
|
1
|
19.0
|
303
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T21:02:33Z", "hours": 19.0, "multiplier": 15.96, "payout": 303, "blessing": "neutral", "text": "My project is a CLI app that generates TOTP (Time-based one-time password) codes for authentication to other apps. I built this to make it easier for me and perhaps others when logging in to apps that require TOTP, as reaching for my phone was annoying. To make it secure, I also implemented password encryption to make it safer. Along the way, I learned about the basics of encryption, UI/UX design, and building real projects. I think I will come back to this at some point in the future and improve it even more.", "repo": "https://github.com/nautrw/tokn", "demo": "https://pypi.org/project/tokn-nautrw"}]...
|
[{"post_id": 15298, "ts": "202 [{"post_id": 15298, "ts": "2026-06-24T20:58:37Z", "hours": 1.4864, "text": "After quite some time of tinkering, I was able to publish my project on PyPI. In the process, I also wrote a readme and recorded a live demo. I believe I can ship now."}, {"post_id": 15213, "ts": "2026-06-24T18:36:38Z", "hours": 1.9061, "text": "I have polished the get command to make it somewhat more obvious to the user which of the two codes to use based on the amount of time the current one has left. Also, I made it expand the path so as to allow ~ in the QR code image path."}, {"post_id": 12911, "ts": "2026-06-21T04:25:28Z", "hours": 1.5864, "text": "I figured out how to fix this bug where it would ask the user for the password regardless of whether they used the –help flag or not. This was because I was handling that logic inside the CLI command group, which is how I make the subcommands, but also runs every time a subcommand is run. I fixed this by using a custom decorator for the commands. This will generally be much more flexible because now I can have commands that don’t require a password."}, {"post_id": 9639, "ts": "2026-06-16T01:28:25Z", "hours": 0.2931, "text": "The add command will now check for existing keys by comparing the issuer and label."}, {"post_id": 9628, "ts": "2026-06-16T01:05:49Z", "hours": 1.6739, "text": "Nothing too major, as I haven’t had much time to work on the project. Instead of always requiring a subcommand when running the add command, it will default to QR code because that is the most common. Then, the option to add just a normal secret key is –code, and, now, I implemented just getting from an URI. Also, I made it so that the QR and URI inputs will allow the user to override the output because they generally come with the issuer and label."}, {"post_id": 7258, "ts": "2026-06-12T03:23:19Z", "hours": 0.4025, "text": "I have started working on improving the overall UX of the app. Instead of an init command, it will automatically detect if the user is a new user and run a sort of wizard. It’s still a little wonky, and I will fix that tomorrow, but when it is done the app will be much easier to use."}, {"post_id": 7230, "ts": "2026-06-12T02:02:19Z", "hours": 0.7092, "text": "I have split the add command into QR and just a regular raw secret key. The QR option only asks for the image path, because the URI should contain the issuer and label. This should increase clarity for the user because it won’t change the arguments passed to the command based on a flag as it did before."}, {"post_id": 7210, "ts": "2026-06-12T01:14:50Z", "hours": 3.1306, "text": "I switched to using a pyproject.toml file because this will be getting published sometime, and I will probably also use poetry. For the sake of compatibility with the other established TOTP apps, as well as to use the full extent of the TOTP URIs (they contain the issuer and account name already), I decided to divide the keys into issuers and accounts under those issuers. I will work on redesigning the add command to do this. Progress!"}, {"post_id": 6314, "ts": "2026-06-10T17:02:28Z", "hours": 0.985, "text": "I added a way to get the secret key from a QR code image to make it easier for the user to use. Previously they would have to scan the image themselves and get the code."}, {"post_id": 5966, "ts": "2026-06-09T23:57:41Z", "hours": 0.8367, "text": "I have polished some of the prompts. The keys file is also stored in a platform-agnostic way (on Linux it will be stored in ~/.local/share/tokn, but on Windows is another location)."}, {"post_id": 5762, "ts": "2026-06-09T17:41:18Z", "hours": 1.7889, "text": "Since last time: The init command initializes a new keys file; I would’ve just made it automatically initiate the process upon any command, but it would’ve made things like the get command a little wonky The list command lists all the keys The passwd command (not shown) changes the password The rm command removes a key I have added input validation to most of the commands now, and I found out how to do aliases I still need to polish some things, specially the consistency of the vocabulary (keys, services, etc.) and the prompts"}, {"post_id": 5622, "ts": "2026-06-09T14:28:30Z", "hours": 1.165, "text": "I got the basics of the app working! I can add new secrets and then retrieve them. I decided to show the next code because it doesn’t update automatically (it is meant to be a CLI app), so this will help if the code has a few seconds left. The password also takes a few seconds to verify, so this will prevent having to run it over and over. The next feature is data validation, as it is very basic right now."}, {"post_id": 5126, "ts": "2026-06-08T20:16:31Z", "hours": 2.625, "text": "I have the encryption working, so now I can grab the password salt, make the password hash from that, and use it to decrypt the other part of the file. I wrote this little test to showcase it, the key is generated and then I can encrypt and decrypt the file. Next thing to work on is storing the secret keys."}, {"post_id": 604, "ts": "2026-06-02T03:13:51Z", "hours": 0.4314, "text": "I can generate basic TOTPs now! This is currently with a random key, but soon I will add files to store the keys."}]...
|
Title: Tokn - A CLI TOTP app by @nautrw | Stardanc Title: Tokn - A CLI TOTP app by @nautrw | Stardance
Devlogs:
I can generate basic TOTPs now! This is currently with a random key, but soon I will add files to store the keys.
I have the encryption working, so now I can grab the password salt, make the password hash from that, and use it to decrypt the other part of the file. I wrote this little test to showcase it, the key is generated and then I can encrypt and decrypt the file. Next thing to work on is storing the secret keys.
I got the basics of the app working! I can add new secrets and then retrieve them. I decided to show the next code because it doesn’t update automatically (it is meant to be a CLI app), so this will help if the code has a few seconds left. The password also takes a few seconds to verify, so this will prevent having to run it over and over. The next feature is data validation, as it is very basic right now.
Since last time: The init command initializes a new keys file; I would’ve just made it automatically initiate the process upon any command, but it would’ve made things like the get command a little wonky The list command lists all the keys The passwd command (not shown) changes the password The rm command removes a key I have added input validation to most of the commands now, and I found out how to do aliases I still need to polish some things, specially the consistency of the vocabulary (keys, services, etc.) and the prompts
I have polished some of the prompts. The keys file is also stored in a platform-agnostic way (on Linux it will be stored in ~/.local/share/tokn, but on Windows is another location).
I added a way to get the secret key from a QR code image to make it easier for the user to use. Previously they would have to scan the image themselves and get the code.
I switched to using a pyproject.toml file because this will be getting published sometime, and I will probably also use poetry. For the sake of compatibility with the other established TOTP apps, as well as to use the full extent of the TOTP URIs (they contain the issuer and account name already), I decided to divide the keys into issuers and accounts under those issuers. I will work on redesigning the add command to do this. Progress!
I have split the add command into QR and just a regular raw secret key. The QR option only asks for the image path, because the URI should contain the issuer and label. This should increase clarity for the user because it won’t change the arguments passed to the command based on a flag as it did before.
I have started working on improving the overall UX of the app. Instead of an init command, it will automatically detect if the user is a new user and run a sort of wizard. It’s still a little wonky, and I will fix that tomorrow, but when it is done the app will be much easier to use.
Nothing too major, as I haven’t had much time to work on the project. Instead of always requiring a subcommand when running the add command, it will default to QR code because that is the most common. Then, the option to add just a normal secret key is –code, and, now, I implemented just getting from an URI. Also, I made it so that the QR and URI inputs will allow the user to override the output because they generally come with the issuer and label.
The add command will now check for existing keys by comparing the issuer and label.
I figured out how to fix this bug where it would ask the user for the password regardless of whether they used the –help flag or not. This was because I was handling that logic inside the CLI command group, which is how I make the subcommands, but also runs every time a subcommand is run. I fixed this by using a custom decorator for the commands. This will generally be much more flexible because now I can have commands that don’t require a password.
I have polished the get command to make it somewhat more obvious to the user which of the two codes to use based on the amount of time the current one has left. Also, I made it expand the path so as to allow ~ in the QR code image path.
After quite some time of tinkering, I was able to publish my project on PyPI. In the process, I also wrote a readme and recorded a live demo. I believe I can ship now.
Ships:
My project is a CLI app that generates TOTP (Time-based one-time password) codes for authentication to other apps. I built this to make it easier for me and perhaps others when logging in to apps that require TOTP, as reaching for my phone was annoying. To make it secure, I also implemented password encryption to make it safer. Along the way, I learned about the basics of encryption, UI/UX design, and building real projects. I think I will come back to this at some point in the future and improve it even more....
|
1792997598.4573865
|
1793083998.4573865
|
|
40474
|
Portfolio Platformer by @porgsrpogs | Stardance
|
porgsrpogs
|
1
|
19.0
|
303
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T12:24:05Z", "hours": 19.0, "multiplier": 16.0, "payout": 303, "blessing": "neutral", "text": "I created a unique portfolio by implementing facts about myself, past work and contact information into a 2d platformer game. This was my first time making any sort of web based game application which meant a lot of the development in this site was new to me. I’m proud to have made a portfolio that can stand out a sea of similar sites and reflects my personality and creative thinking. To move around you can use WASD, Arrow keys, or the on screen controls. Feel free to explore the top right buttons which help you to further enjoy your experience.", "repo": "https://github.com/POrGSrPOGS/finnb-co-uk", "demo": "https://finnb.uk/"}]...
|
[{"post_id": 59530, "ts": "202 [{"post_id": 59530, "ts": "2026-09-01T12:17:29Z", "hours": 2.5831, "text": "Final changes before shipping Changelog Added a README Stopped text being selectable on buttons which could diminish the experience for mobile users Added contact information Made respawning smoother"}, {"post_id": 58057, "ts": "2026-08-30T12:25:39Z", "hours": 3.3083, "text": "Spectate, freeze, WASD support, and portals I’ve made a lot of progress (More than the 3 hours that was recorded) and I’ve taken in some suggestions as well as some new stuff I personally wanted to add. Changelog Fixed popups showing if you held down on buttons too long Added portals to view my past projects Added more descriptions about how I code (It is a portfolio after all) Improved text scaling for different screen sizes Made text more readable Reduced zoom to prevent motion sickness Moved buttons that were being made in Home.jsx into /components Refactored other things like detecting keys being held down Added WASD support as well as the existing arrow key support Added a spectate button to disable collisions, letting you move around quickly Added a freeze button to make reading easier Try it out here: My Portfolio Don’t be afraid to make suggestions"}, {"post_id": 36441, "ts": "2026-07-28T15:53:13Z", "hours": 4.4492, "text": "Devlog 3 (HUGE CHANGES) Started creating my portfolio (I was planning on making the platformer before making it a portfolio but the platformer was way too quick to make Made it a dark mode theme Added kill parts Added respawn button Added buttons to move on mobile Fixed sizes not scaling correctly for different screen sizes Text autoscales to fit platforms Try for yourself: Here"}, {"post_id": 36010, "ts": "2026-07-27T20:29:54Z", "hours": 5.2686, "text": "Devlog 2 (MOVING PLATFORMS) Factorised the home page into a smaller file with 4 helpers scripts for collissions, platforms, the player, and the world. Added platforms which move in a circular motion Fixed bug where the player would fall off the those platforms Switched the platforms that move in circles to take an input of degrees instead of radians in the config table to make it more readable and easily customisable NOTE: I’m focusing on creating all the functions for different parts so that building the map becomes easy Made it so you can add text labels to platforms Link (NOT MOBILE FRIENDLY) : Click Here"}, {"post_id": 35661, "ts": "2026-07-27T07:50:01Z", "hours": 3.3047, "text": "Devlog 1 (PLATFORMER BASICS) (My first platformer so learning the basics) Created a basic web platformer using phaser Gave arrow keys control over the player (WASD and mobile don’t work YET) Experimented with static platforms Created a moving platform Added camera following to allow for a platformer world that’s bigger than the screen Added custom textures to allow for sprites rather than dynamically created parts/player using Phaser’s built in rectangles, which allowed for the addition of collision groups View my progress at finnb.co.uk"}]...
|
Title: Portfolio Platformer by @porgsrpogs | Stard Title: Portfolio Platformer by @porgsrpogs | Stardance
Devlogs:
Devlog 1 (PLATFORMER BASICS) (My first platformer so learning the basics) Created a basic web platformer using phaser Gave arrow keys control over the player (WASD and mobile don’t work YET) Experimented with static platforms Created a moving platform Added camera following to allow for a platformer world that’s bigger than the screen Added custom textures to allow for sprites rather than dynamically created parts/player using Phaser’s built in rectangles, which allowed for the addition of collision groups View my progress at finnb.co.uk
Devlog 2 (MOVING PLATFORMS) Factorised the home page into a smaller file with 4 helpers scripts for collissions, platforms, the player, and the world. Added platforms which move in a circular motion Fixed bug where the player would fall off the those platforms Switched the platforms that move in circles to take an input of degrees instead of radians in the config table to make it more readable and easily customisable NOTE: I’m focusing on creating all the functions for different parts so that building the map becomes easy Made it so you can add text labels to platforms Link (NOT MOBILE FRIENDLY) : Click Here
Devlog 3 (HUGE CHANGES) Started creating my portfolio (I was planning on making the platformer before making it a portfolio but the platformer was way too quick to make Made it a dark mode theme Added kill parts Added respawn button Added buttons to move on mobile Fixed sizes not scaling correctly for different screen sizes Text autoscales to fit platforms Try for yourself: Here
Spectate, freeze, WASD support, and portals I’ve made a lot of progress (More than the 3 hours that was recorded) and I’ve taken in some suggestions as well as some new stuff I personally wanted to add. Changelog Fixed popups showing if you held down on buttons too long Added portals to view my past projects Added more descriptions about how I code (It is a portfolio after all) Improved text scaling for different screen sizes Made text more readable Reduced zoom to prevent motion sickness Moved buttons that were being made in Home.jsx into /components Refactored other things like detecting keys being held down Added WASD support as well as the existing arrow key support Added a spectate button to disable collisions, letting you move around quickly Added a freeze button to make reading easier Try it out here: My Portfolio Don’t be afraid to make suggestions
Final changes before shipping Changelog Added a README Stopped text being selectable on buttons which could diminish the experience for mobile users Added contact information Made respawning smoother
Ships:
I created a unique portfolio by implementing facts about myself, past work and contact information into a 2d platformer game. This was my first time making any sort of web based game application which meant a lot of the development in this site was new to me. I’m proud to have made a portfolio that can stand out a sea of similar sites and reflects my personality and creative thinking. To move around you can use WASD, Arrow keys, or the on screen controls. Feel free to explore the top right buttons which help you to further enjoy your experience....
|
1792975756.3406801
|
1793062156.3406801
|
|
18454
|
astrOS by @urged-st | Stardance
|
urged-st
|
2
|
32.0
|
302
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T18:06:53Z", "hours": 27.0, "multiplier": 11.44, "payout": 302, "blessing": "neutral", "text": "astrOS is a fullscreen web OS with nine astronomy apps built in vanilla JS: Sky Map uses real star positions calculated from your location, ISS Tracker polls live satellite data with haversine distance, Stargazing Conditions combines weather and moon phase into a seeing score, Solar System renders Keplerian orbits with clickable planets, Meteor Shower Tracker handles year-boundary showers correctly with proper countdown logic, plus NGC Catalogue, APOD, Mission Log, and Wallpaper Changer. I’m most proud of the Sky Map actually calculating real positions rather than faking it, and the ISS Tracker being genuinely useful for knowing whether the station is overhead. To test: open on desktop in fullscreen (geolocation needs permission and fullscreen mode to work), try dragging windows to screen edges to see snapping, check the meteor tracker during an active shower, click planets in Solar System to see their stats, and the Mission Log text persists across refreshes via localStorage. yes, i know it said 3 new features from webos1, but I got a bit too excited. have fun!", "repo": "https://github.com/urged-st/astrOS", "demo": "https://astr-os.vercel.app/"}, {"ship_num": 2, "ts": "2026-06-18T09:59:21Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a functional astronomy focused WebOS called astrOS. It currently features a custom programmed sky map which takes your location and shows you what is currently in the sky near you, and a simple in-session notepad. It also has a right-click context menu featuring my socials and projects (project links will be added when they are done lol) You can minimise windows as well. Please put any suggestions for new features you have in comments, I’d appreciate it a lot.", "repo": "https://github.com/urged-st/astrOS", "demo": "https://astr-os.vercel.app/"}]...
|
[{"post_id": 29628, "ts": "202 [{"post_id": 29628, "ts": "2026-07-16T18:02:48Z", "hours": 3.6972, "text": "Meteor Shower Tracker finished the last feature, a year-round meteor shower schedule with active/upcoming status so you actually know when to set an alarm. 11 major showers baked in (Quadrantids through Ursids), and everything’s calculated client-side, no API needed. stores absolute peak dates for each shower and works out the active window locally, correctly handles the year-boundary ones (Quadrantids starts Dec 28, Ursids ends Dec 26) without breaking on Jan 1st sorts active showers first, then whoever’s next peak is soonest countdown properly distinguishes “peak in Xd” from “peaked Xd ago” for showers you’re still inside the window for but already past peak on, caught that bug and fixed it before shipping by testing across multiple dates including exact-peak day (Aug 12 for Perseids) renders as a compact list with radiant constellation, ZHR (~Zenith Hourly Rate), and the peak countdown, all colour-coded so active showers pop no polling, just recomputes fresh every time you open it Bug Fixes & Polish went through all three files line-by-line before shipping. found and fixed two bugs plus some cleanup: window snapping corners were broken — getSnapZone() detected top-left/top-right when you dragged to a corner, but showSnapPreview() and applySnap() never had rect definitions for those zones, so the preview showed nothing and the drop silently failed. added proper quarter-tile rects for both corners so you can now snap to all four quadrants APOD toggle IDs — getElementById() calls for apod explanation/toggle buttons were working but the elements weren’t explicitly in the HTML, they were created at render-time by innerHTML, so the id references were technically fine but fragile. left them as-is since they work, but flagged it as something to refactor if we add more dynamic content later also ik its been shown in an earlier devlog, but the taskbar on the bottom isn’t exactly empty lol, you can minimise apps to it (third pic). maybe i’ll add a pin to taskbar feature? what’s left SHIPPPPPPPPPPPPPPPPPPPPPPPPP"}, {"post_id": 28122, "ts": "2026-07-14T06:30:28Z", "hours": 0.7539, "text": "Tiny fix lol I stopped good ol’ neptune being cut off on the solar system map, and also made it so that the contents of the notepad/mission log are saved in localStorage"}, {"post_id": 27936, "ts": "2026-07-13T21:28:34Z", "hours": 3.2881, "text": "Solar System Viewer Thought it’d be cool to have something you could just leave open on the desktop, so I added a little live Solar System app. Every planet sits where it actually should be today rather than looping around on some fake animation. Planet positions come from simplified J2000 Keplerian elements (semi-major axis, eccentricity, orbital period, etc.) and get advanced from the current date, so they’re calculated fresh instead of being hardcoded. Conveniently I’d already written a Newton-Raphson solver for Kepler’s equation while making Umbra, so I shamelessly reused it here to solve the eccentric anomaly before converting that into the planet’s true anomaly and distance from the Sun. Nice when old suffering becomes reusable code lol. Biggest headache honestly wasn’t the orbital maths, it was the scale. If you draw everything linearly then Neptune disappears off the edge of the canvas, but if you squash everything too much then the inner planets all merge together. Ended up scaling the orbital radius by √r instead, which keeps the angular positions correct while compressing the distances enough that the whole Solar System fits on one screen. Made every planet clickable as well because a static diagram felt a bit dead. Clicking one gives its current distance from the Sun and orbital period, with Earth getting a little highlight ring so it’s easy to spot where we are. It redraws once a minute since the planets barely move on human timescales anyway, and it’s definitely not accurate enough to navigate a spacecraft with, but it’s surprisingly close considering it’s just running a handful of orbital equations in the browser lol. deffo gonna play around with the window sizing cause its kinda weird right now… also neptune is STILL SQUASHED (genuine annoyance btw) so will do this TOMORROW."}, {"post_id": 27585, "ts": "2026-07-13T09:25:48Z", "hours": 3.4686, "text": "Stargazing Conditions New app, tells you whether tonight’s actually worth setting up a telescope for. pulls cloud cover, humidity and wind from Open-Meteo using the location I already grab on boot, no key needed which is nice the moon phase bit doesn’t touch an API at all, did it properly with the synodic month (29.53 days) against a known reference new moon, so it’s just maths running locally combined cloud cover and moon brightness into a rough seeing score out of 10, heavier cloud and a brighter moon both drag it down, then a one-line verdict underneath so you don’t have to interpret the number yourself was gonna render an actual crescent/gibbous moon on canvas for this but after the ISS ground track thing broke last time I didn’t wanna ship more clipping/arc geometry I couldn’t properly test, so it’s just the phase emoji + name + illumination % instead. honestly looks fine, might revisit the canvas version later if I’m bored"}, {"post_id": 26790, "ts": "2026-07-11T19:46:07Z", "hours": 3.5022, "text": "ISS Tracker New app, tracks the ISS live using wheretheiss.at (no key needed, CORS-open, genuinely such a nice API to work with). Polls every 5 seconds for lat/lon/altitude/velocity Keeping the last 20 fixes so there’s a fading trail behind the current position instead of just a dot that teleports every update Drew my own little world map for this since I didn’t want to deal with map tile assets, just lat/lon gridlines every 30°, equator and prime meridian slightly brighter. I reused the geolocation I already grab on boot for the sky map, so this app also shows your distance from the ISS via a haversineKm() calc, and flags when it’s within ~2000km with a little “nearby!” tag. Not a proper overhead check (that’d need elevation angle above your horizon) but good enough for now Added a stopIssTracker() call on window close so the polling interval actually dies instead of running forever in the background, learnt that lesson the hard way after leaving a tab open for way too long testing this At the time of writing this I had just the idea to implement a trail that shows the future path, will do this now lol."}, {"post_id": 26626, "ts": "2026-07-11T15:37:59Z", "hours": 2.4692, "text": "APOD Viewer Added the Astronomy Picture of the Day app, pulls straight from NASA’s API and shows today’s pic with the write-up tucked behind a toggle so the image gets to be the main object first. Cached in localStorage per calendar day, so reopening the window doesn’t burn another call for the same picture Nearly got got by this one: NASA sometimes serves a video instead of an image for the day, and my first pass just shoved the url into an <img> tag, broken image icon staring back at me lol Added a media_type check so videos link out instead of trying to embed Also handled the fetch failing outright, just shows a “try again later” message instead of leaving a blank window, DEMO_KEY ’s rate limit is gonna trip this eventually so it needed to fail gracefully lol what’s next? either stargazing conditions or the ISS tracker, we’ll see which one I go for"}, {"post_id": 22333, "ts": "2026-07-04T19:10:32Z", "hours": 9.3625, "text": "Okay, yes I forgot to devlog… or commit This was an absolute lock-in but I don’t wanna rank low on storytelling, so I’ll make this one detailed lol. Wallpaper Switcher Six presets, default plus five gradients: nebula, deep blue, solar flare, aurora, mono Clicking a swatch fades the desktop background over 0.6s instead of snapping Choice persists via localStorage so it survives a refresh markActiveWallpaperSwatch re-reads storage and re-marks the active swatch every time the window reopens NGC Catalogue Browser Started as a hardcoded Messier list, which I scrapped once I found Datastro’s public deep sky objects dataset (~220k NGC/IC/Messier entries, CORS-open, no key) Search input debounces 350ms before hitting the API, results sort by magnitude Clicking a result fills the detail panel: type, constellation, magnitude, coordinates Dataset uses the Historically Corrected NGC scheme ( GPair , OCl , SNR , Cl+N ), so I wrote a bucket function that checks substrings to map raw types into galaxy, nebula, cluster, or other for the filter dropdown Built an 8-object offline fallback (Andromeda, Orion Nebula, Ring Nebula, Pleiades, etc) that kicks in silently if the fetch fails, with a small offline warning shown in the list Did You Know Notifications Toast-style pings slide in from the right with a random space fact First one fires after 4 seconds, then every 60-120 seconds at random 18 facts in the pool right now, the neutron star teaspoon one still gets me Caught a bug where fast in/out window clicks could call scheduleNotifications twice and stack two loops, doubling the ping rate Fixed it with a notifStarted flag so the loop only ever starts once Window Resizing And Snapping Built right before the wallpaper stuff, resize first then snap Every window gets a drag handle in the bottom right corner, clamped to a minimum width and height Handle calls stopPropagation on mousedown so resizing doesn’t also trigger the window drag Snap shows a dashed preview box near screen edges, locks into that rect on release Found a bug writing this up: a top-right zone gets detected but has no rect defined for it, so it falls back to snapping full width across the top instead of a proper quadrant."}, {"post_id": 11193, "ts": "2026-06-18T09:52:09Z", "hours": 1.0806, "text": "WebOS 1 - Finished! Sure it took longer than it should’ve, but at least the sky map is quality Today I finished off the final parts for the first mission. I added a coords toggle so you don’t doxx yourself while taking screenshots of the map. I also fixed up the minimising animation and changed the taskbar to host the app icons instead of the usual app name (this had an ugly white bg lol so I had to change it no matter what) I also added a custom background (yes this is reused from my g-lens project sue me) I’m gonna ship this now for WebOS 1, the finished, polished product will be shipped for WebOS 2 (so if anything can be improved, dm me or comment and I’ll fix it then!)"}, {"post_id": 10856, "ts": "2026-06-17T20:07:29Z", "hours": 0.5308, "text": "Small update added a basic notepad app, it does not save between sessions though. added an animation to minimising windows [FIX] made star names not rotate with the star map (this was annoying me lol) what’s next? add icons to taskbar and not just names for minimised apps hide the coords on sky map lol dont doxx yourself a review of the guidelines so I can get webOS 2!"}, {"post_id": 9505, "ts": "2026-06-15T21:22:49Z", "hours": 2.37, "text": "MAJORRR Update First app, context menu, and a LOT of stars 😭 Today I wanted to add an app. Not a standard one like notepad, music, file explorer… something that is different. So, naturally, I spent two hours coding my own star map using a ton of stars from the yale bright star catalogue (okay maybe not a ton but you get the idea). It takes the users location, calculates the chunk of sky above them (yes, you can do this) and shows the major stars visible to the naked eye on a turntable style minimap. What the heck am I gonna do next for one, the text on the map rotates with everything so i gotta fix that THEN i’ll add a normal app like notepad lol a background needs to be added too, also I might add a bg switcher. ohhhh yeah and i added stuff from the guide like the topbar and time, that’s not the star of the show for this log though lol."}, {"post_id": 8666, "ts": "2026-06-14T12:13:02Z", "hours": 0.7083, "text": "astrOS day 1: I want to finish this project really efficiently, so I have mapped out what features I want (you will see as they come). Today, I finished the boot screen and styling for it, and made the file structure. Not much, only 40 mins, but since its a roughly 2hr 30m project, 30m a day means I finish in 5 days. Next devlog should hopefully be finishing the desktop design, probably ~1hr."}]...
|
Title: astrOS by @urged-st | Stardance
Devlogs:
a Title: astrOS by @urged-st | Stardance
Devlogs:
astrOS day 1: I want to finish this project really efficiently, so I have mapped out what features I want (you will see as they come). Today, I finished the boot screen and styling for it, and made the file structure. Not much, only 40 mins, but since its a roughly 2hr 30m project, 30m a day means I finish in 5 days. Next devlog should hopefully be finishing the desktop design, probably ~1hr.
MAJORRR Update First app, context menu, and a LOT of stars 😭 Today I wanted to add an app. Not a standard one like notepad, music, file explorer… something that is different. So, naturally, I spent two hours coding my own star map using a ton of stars from the yale bright star catalogue (okay maybe not a ton but you get the idea). It takes the users location, calculates the chunk of sky above them (yes, you can do this) and shows the major stars visible to the naked eye on a turntable style minimap. What the heck am I gonna do next for one, the text on the map rotates with everything so i gotta fix that THEN i’ll add a normal app like notepad lol a background needs to be added too, also I might add a bg switcher. ohhhh yeah and i added stuff from the guide like the topbar and time, that’s not the star of the show for this log though lol.
Small update added a basic notepad app, it does not save between sessions though. added an animation to minimising windows [FIX] made star names not rotate with the star map (this was annoying me lol) what’s next? add icons to taskbar and not just names for minimised apps hide the coords on sky map lol dont doxx yourself a review of the guidelines so I can get webOS 2!
WebOS 1 - Finished! Sure it took longer than it should’ve, but at least the sky map is quality Today I finished off the final parts for the first mission. I added a coords toggle so you don’t doxx yourself while taking screenshots of the map. I also fixed up the minimising animation and changed the taskbar to host the app icons instead of the usual app name (this had an ugly white bg lol so I had to change it no matter what) I also added a custom background (yes this is reused from my g-lens project sue me) I’m gonna ship this now for WebOS 1, the finished, polished product will be shipped for WebOS 2 (so if anything can be improved, dm me or comment and I’ll fix it then!)
Okay, yes I forgot to devlog… or commit This was an absolute lock-in but I don’t wanna rank low on storytelling, so I’ll make this one detailed lol. Wallpaper Switcher Six presets, default plus five gradients: nebula, deep blue, solar flare, aurora, mono Clicking a swatch fades the desktop background over 0.6s instead of snapping Choice persists via localStorage so it survives a refresh markActiveWallpaperSwatch re-reads storage and re-marks the active swatch every time the window reopens NGC Catalogue Browser Started as a hardcoded Messier list, which I scrapped once I found Datastro’s public deep sky objects dataset (~220k NGC/IC/Messier entries, CORS-open, no key) Search input debounces 350ms before hitting the API, results sort by magnitude Clicking a result fills the detail panel: type, constellation, magnitude, coordinates Dataset uses the Historically Corrected NGC scheme ( GPair , OCl , SNR , Cl+N ), so I wrote a bucket function that checks substrings to map raw types into galaxy, nebula, cluster, or other for the filter dropdown Built an 8-object offline fallback (Andromeda, Orion Nebula, Ring Nebula, Pleiades, etc) that kicks in silently if the fetch fails, with a small offline warning shown in the list Did You Know Notifications Toast-style pings slide in from the right with a random space fact First one fires after 4 seconds, then every 60-120 seconds at random 18 facts in the pool right now, the neutron star teaspoon one still gets me Caught a bug where fast in/out window clicks could call scheduleNotifications twice and stack two loops, doubling the ping rate Fixed it with a notifStarted flag so the loop only ever starts once Window Resizing And Snapping Built right before the wallpaper stuff, resize first then snap Every window gets a drag handle in the bottom right corner, clamped to a minimum width and height Handle calls stopPropagation on mousedown so resizing doesn’t also trigger the window drag Snap shows a dashed preview box near screen edges, locks into that rect on release Found a bug writing this up: a top-right zone gets detected but has no rect defined for it, so it falls back to snapping full width across the top instead of a proper quadrant.
APOD Viewer Added the Astronomy Picture of the Day app, pulls straight from NASA’s API and shows today’s pic with the write-up tucked behind a toggle so the image gets to be the main object first. Cached in localStorage per calendar day, so reopening the window doesn’t burn another call for the same picture Nearly got got by this one: NASA sometimes serves a video instead of an image for the day, and my first pass just shoved the url into an <img> tag, broken image icon staring back at me lol Added a media_type check so videos link out instead of trying to embed Also handled the fetch failing outright, just shows a “try again later” message instead of leaving a blank window, DEMO_KEY ’s rate limit is gonna trip this eventually so it needed to fail gracefully lol what’s next? either stargazing conditions or the ISS tracker, we’ll see which one I go for
ISS Tracker New app, tracks the ISS live using wheretheiss.at (no key needed, CORS-open, genuinely such a nice API to work with). Polls every 5 seconds for lat/lon/altitude/velocity Keeping the last 20 fixes so there’s a fading trail behind the current position instead of just a dot that teleports every update Drew my own little world map for this since I didn’t want to deal with map tile assets, just lat/lon gridlines every 30°, equator and prime meridian slightly brighter. I reused the geolocation I already grab on boot for the sky map, so this app also shows your distance from the ISS via a haversineKm() calc, and flags when it’s within ~2000km with a little “nearby!” tag. Not a proper overhead check (that’d need elevation angle above your horizon) but good enough for now Added a stopIssTracker() call on window close so the polling interval actually dies instead of running forever in the background, learnt that lesson the hard way after leaving a tab open for way too long testing this At the time of writing this I had just the idea to implement a trail that shows the future path, will do this now lol.
Stargazing Conditions New app, tells you whether tonight’s actually worth setting up a telescope for. pulls cloud cover, humidity and wind from Open-Meteo using the location I already grab on boot, no key needed which is nice the moon phase bit doesn’t touch an API at all, did it properly with the synodic month (29.53 days) against a known reference new moon, so it’s just maths running locally combined cloud cover and moon brightness into a rough seeing score out of 10, heavier cloud and a brighter moon both drag it down, then a one-line verdict underneath so you don’t have to interpret the number yourself was gonna render an actual crescent/gibbous moon on canvas for this but after the ISS ground track thing broke last time I didn’t wanna ship more clipping/arc geometry I couldn’t properly test, so it’s just the phase emoji + name + illumination % instead. honestly looks fine, might revisit the canvas version later if I’m bored
Solar System Viewer Thought it’d be cool to have something you could just leave open on the desktop, so I added a little live Solar System app. Every planet sits where it actually should be today rather than looping around on some fake animation. Planet positions come from simplified J2000 Keplerian elements (semi-major axis, eccentricity, orbital period, etc.) and get advanced from the current date, so they’re calculated fresh instead of being hardcoded. Conveniently I’d already written a Newton-Raphson solver for Kepler’s equation while making Umbra, so I shamelessly reused it here to solve the eccentric anomaly before converting that into the planet’s true anomaly and distance from the Sun. Nice when old suffering becomes reusable code lol. Biggest headache honestly wasn’t the orbital maths, it was the scale. If you draw everything linearly then Neptune disappears off the edge of the canvas, but if you squash everything too much then the inner planets all merge together. Ended up scaling the orbital radius by √r instead, which keeps the angular positions correct while compressing the distances enough that the whole Solar System fits on one screen. Made every planet clickable as well because a static diagram felt a bit dead. Clicking one gives its current distance from the Sun and orbital period, with Earth getting a little highlight ring so it’s easy to spot where we are. It redraws once a minute since the planets barely move on human timescales anyway, and it’s definitely not accurate enough to navigate a spacecraft with, but it’s surprisingly close considering it’s just running a handful of orbital equations in the browser lol. deffo gonna play around with the window sizing cause its kinda weird right now… also neptune is STILL SQUASHED (genuine annoyance btw) so will do this TOMORROW.
Tiny fix lol I stopped good ol’ neptune being cut off on the solar system map, and also made it so that the contents of the notepad/mission log are saved in localStorage
Meteor Shower Tracker finished the last feature, a year-round meteor shower schedule with active/upcoming status so you actually know when to set an alarm. 11 major showers baked in (Quadrantids through Ursids), and everything’s calculated client-side, no API needed. stores absolute peak dates for each shower and works out the active window locally, correctly handles the year-boundary ones (Quadrantids starts Dec 28, Ursids ends Dec 26) without breaking on Jan 1st sorts active showers first, then whoever’s next peak is soonest countdown properly distinguishes “peak in Xd” from “peaked Xd ago” for showers you’re still inside the window for but already past peak on, caught that bug and fixed it before shipping by testing across multiple dates including exact-peak day (Aug 12 for Perseids) renders as a compact list with radiant constellation, ZHR (~Zenith Hourly Rate), and the peak countdown, all colour-coded so active showers pop no polling, just recomputes fresh every time you open it Bug Fixes & Polish went through all three files line-by-line before shipping. found and fixed two bugs plus some cleanup: window snapping corners were broken — getSnapZone() detected top-left/top-right when you dragged to a corner, but showSnapPreview() and applySnap() never had rect definitions for those zones, so the preview showed nothing and the drop silently failed. added proper quarter-tile rects for both corners so you can now snap to all four quadrants APOD toggle IDs — getElementById() calls for apod explanation/toggle buttons were working but the elements weren’t explicitly in the HTML, they were created at render-time by innerHTML, so the id references were technically fine but fragile. left them as-is since they work, but flagged it as something to refactor if we add more dynamic content later also ik its been shown in an earlier devlog, but the taskbar on the bottom isn’t exactly empty lol, you can minimise apps to it (third pic). maybe i’ll add a pin to taskbar feature? what’s left SHIPPPPPPPPPPPPPPPPPPPPPPPPP
Ships:
I have made a functional astronomy focused WebOS called astrOS. It currently features a custom programmed sky map which takes your location and shows you what is currently in the sky near you, and a simple in-session notepad. It also has a right-click context menu featuring my socials and projects (project links will be added when they are done lol) You can minimise windows as well. Please put any suggestions for new features you have in comments, I’d appreciate it a lot.
astrOS is a fullscreen web OS with nine astronomy apps built in vanilla JS: Sky Map uses real star positions calculated from your location, ISS Tracker polls live satellite data with haversine distance, Stargazing Conditions combines weather and moon phase into a seeing score, Solar System renders Keplerian orbits with clickable planets, Meteor Shower Tracker handles year-boundary showers correctly with proper countdown logic, plus NGC Catalogue, APOD, Mission Log, and Wallpaper Changer. I’m most proud of the Sky Map actually calculating real positions rather than faking it, and the ISS Tracker being genuinely useful for knowing whether the station is overhead. To test: open on desktop in fullscreen (geolocation needs permission and fullscreen mode to work), try dragging windows to screen edges to see snapping, check the meteor tracker during an active shower, click planets in Solar System to see their stats, and the Mission Log text persists across refreshes via localStorage. yes, i know it said 3 new features from webos1, but I got a bit too excited. have fun!...
|
1792878752.5116427
|
1793742752.5116427
|
|
21478
|
BodyAtlas by @yashasvib | Stardance
|
yashasvib
|
3
|
23.0
|
302
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T10:09:19Z", "hours": 1.0, "multiplier": 9.85, "payout": 12, "blessing": "neutral", "text": "hi guys !! (read the other ships before to know but the project) this is going to be short cuz i only wanted to increase the data base and its quite easy …but I added Only very very few question because i have EXAMS !! but its okay ill manage in future .. so i guess that’s all !! BYE !!", "repo": "https://github.com/yashasvi-2012-star/BodyAtlas", "demo": "https://bodyatlas-omega.vercel.app/"}, {"ship_num": 2, "ts": "2026-07-01T08:22:47Z", "hours": 13.0, "multiplier": 14.35, "payout": 185, "blessing": "neutral", "text": "HEY !!! this is a webs.. that lets you explore human body and it is called BodyAtlas .when opened it first land on a landing page where date , day, time are displayed and there is also a section about this project . then it takes you to main page where there is a main screen with a left , right panel , dock at bottom . in the main screen initially i thought to add maybe like a 3d body which can rotate and do cool stuff but there were no free options so i had to change my plan and do a 2d one . tho I’m not that disappointed how good 2-d also looks !!! RIGHT? . i have also added spots (HOTSPOTS ) where when you click opens there information in the right side located info panel witch have a inbuilt the database for source . the bottom dock have options for organ which you can visit . the left panel is the most important because it have two part the medicines hub and body system . when you select a body system from the given option the respective organs glow telling you about the organs involved . in the medicine hub there are two options the quiz (YAS !! actually working quiz )and a how does it work ? option when opened takes you to a screen where you can explore the various things like diseases , medicines , medical tests, surgeries , body processes and instrument using animated video which are taken frame Youtube and the credits goes to their respective owners . i have also added a challenge mode where you can select difficulty and topic and it will give you questions , for each answer you gain points and for each wrong answer your points are deducted this project has been a important part of my whole stardance journey hope you like it !!! BYE !!!", "repo": "https://github.com/yashasvi-2012-star/BodyAtlas", "demo": "https://bodyatlas-omega.vercel.app/"}, {"ship_num": 3, "ts": "2026-06-25T12:38:05Z", "hours": 9.0, "multiplier": 12.05, "payout": 105, "blessing": "neutral", "text": "HEY !!! this is a webs.. that lets you explore human body and it is called BodyAtlas .when opened it first land on a landing page where date , day, time are displayed and there is also a section about this project . then it takes you to main page where there is a main screen with a left , right panel , dock at bottom . in the main screen initially i thought to add maybe like a 3d body which can rotate and do cool stuff but there were no free options so i had to change my plan and do a 2d one . tho I’m not that disappointed how good 2-d also looks !!! RIGHT? . i have also added spots (HOTSPOTS ) where when you click opens there information in the right side located info panel witch have a inbuilt the database for source . the bottom dock have options for organ which you can visit . the left panel is the most important because it have two part the medicines hub and body system . when you select a body system from the given option the respective organs glow telling you about the organs involved . in the medicine hub there are two options the quiz (YAS !! actually working quiz )and a how does it work ? option when opened takes you to a screen where you can explore the various things like diseases , medicines , medical tests, surgeries , body processes and instrument using animated video which are taken frame Youtube and the credits goes to their respective owners . this project has been a important part of my whole stardance journey hope you like it !!! BYE !!!", "repo": "https://github.com/yashasvi-2012-star/BodyAtlas", "demo": "https://bodyatlas-omega.vercel.app/"}]...
|
[{"post_id": 27049, "ts": "202 [{"post_id": 27049, "ts": "2026-07-12T07:38:18Z", "hours": 1.1708, "text": "HI GUYS !! i noticed or you can say realized that i totally forgot to expand my data base and shipped it with less questions so if i choose specific field from the challenge mode it display either one or two question because no questions related to those mode will be found within the database ."}, {"post_id": 19859, "ts": "2026-07-01T08:19:52Z", "hours": 0.3072, "text": "hey !!! this time i did some debugging , changed UI ,and wrote the final README . this is a short update !! bye !!"}, {"post_id": 19831, "ts": "2026-07-01T06:54:08Z", "hours": 2.06, "text": "hi guys !! this time, i just try to fix all the error and bugs as i could and not only the one thought who create a problem those also which were found by my fellow friends !!"}, {"post_id": 18267, "ts": "2026-06-29T11:03:41Z", "hours": 3.1489, "text": "hey guys I just PURIFIED the competitive mode and it took a lot of time and I also added the popups for .. u can see below I’m sleepy , ’kay bye !!"}, {"post_id": 17463, "ts": "2026-06-28T07:59:21Z", "hours": 4.0928, "text": "hey !!! I changed all the wallpapers turn the body transparent with no background and re did all the logic part of challenge mode and today was a easy but time consuming day !! I’m happy it’s coming alive .. BYE !!"}, {"post_id": 16782, "ts": "2026-06-27T07:50:13Z", "hours": 0.9897, "text": "heyy guys this is an update on body atlas and from now on less updates will be posted . ok so I added other screen and and arranged hotspots using percen rather than px so it stays stable regardless of the condition . I have made js part also which controls the question appearing and timer and points and all the interface is basic and I will upgrade it soon . and I want a opinion from you all , should I add this game in the medicines hub or at the front screen top bar or any other place ?"}, {"post_id": 16376, "ts": "2026-06-26T17:25:07Z", "hours": 1.5144, "text": "HEY !!! I just thought why not keep BodyAtlas going ? so here I am with just another super duper starry feature … drum rolls please …… its a competitive mode where you can chose the level and topic you wanna get it on and the press ‘lets go’ button and then you see a brandnew page with question .. but what makes it diffrent from normal quiz section present in just the main BodyAtlas .. its that it have a timer and you get points for each correct answers and it also takes away some points for wrong answer and when you collect a specific number of point you unlock access to special animated video of how does it work !! ad you can power up your level the more u play .. it a whole diffrent animal (game)…..built inside my webs.. tho its still ongoing I will try my best to make it more interactive and …sugar honey ice tea….BYE !!!"}, {"post_id": 15789, "ts": "2026-06-25T17:45:06Z", "hours": 0.8197, "text": "hi everybody , I shipped my project and just got the review saying that my project looks too much AI . is it so ? I don’t think so cause I did several things on my own and yes I agree I took help of AI in many places of my project even for debugging and all those errors I could not understand . but the reviewer also said I should add features of my own ! I did everything ! each and feature is my own ! what do you think , that AI can up with those ideas , it was me who thought of each and everything from the theme to the content, from the howdoesitwork? to the quiz section . I am not writting this to go against the reviewer but i wanna have honest opinions on my project guys !!"}, {"post_id": 15619, "ts": "2026-06-25T12:24:18Z", "hours": 2.8192, "text": "HEYY !!! I CAN FINALLY SAY NOW MY PROJECT IS COMPLETED !!! I AM SO HAPPY IT TURNED OUT BETTER THAN HOW I IMAGINED IT !! AND NOW IT EVEN HAVE ANIMATED VIDEO FOR CONCEPT !! I GUESS NOT ITS TIME FOR ME TO SIGN OFF !!!"}, {"post_id": 15496, "ts": "2026-06-25T05:56:45Z", "hours": 0.8694, "text": "HEY !!! this is the new update on BodyAtlas . i have put the videos for better explanation in bodyatlas’s how does it work , i took all the video from youtube so the credit goes to respective owners and i think i just completed my project and i’m so HAPPPPYY i just turned out how i imagened it and maybee even better !!!! BYE !!!"}, {"post_id": 14924, "ts": "2026-06-24T07:25:24Z", "hours": 0.3047, "text": "Hey !! this is the maybee sixth update on body atlas and i have added the front page for ’how it works ’ . this is the step from where the main haed part begins , and i will make sure to put double efforts here !!"}, {"post_id": 14921, "ts": "2026-06-24T07:01:20Z", "hours": 0.6619, "text": "hey guyss this is gonna be short but i did add the quiz section in the BodyAtlas and again changed the medical hub from mediceine and diesease explorar to how it works . i added the another page and all which i will be sharing in other devlog !! BYE !!"}, {"post_id": 14456, "ts": "2026-06-23T16:12:26Z", "hours": 0.5658, "text": "heyyy !! this the fifth update on my webs.. BodyAtlas . so i did completed all the data feeding and if i really say i took help of ai to collect all the data it would centuries . and i did a did of editind in interface , i changed the quickbar to medical hub . next i’ll be working on quiz system and this project is really testing my patience !! but i will really be happy when this project will be completed !! BYE !!!<3"}, {"post_id": 14234, "ts": "2026-06-23T07:45:00Z", "hours": 1.1094, "text": "HEY !!!!! this is my fourth update on BodyAtlas and today i have added the database !! HURRAY !! which means that if you click on a hotspot it will show lot of information about that particular thing in the info panel . i had to do it manually so feeding all the data for only 4 organs (which i did ) took 1 hours and there are approx 11-12 more left so don’t know how much time it will take and i have also reduced the side of hotspot cuz it was looking messy and they are still left to be positioned . sope that’s all i did in this session and next update will come in the evening !!BYE !!! i hope i get to see awesome projects from you all !!!"}, {"post_id": 13813, "ts": "2026-06-22T17:09:43Z", "hours": 1.8347, "text": "HEYY!!!!!this is the third update on BodyAtlas and i’m so sleepy right now !! ‘kay so this time, i have added the human body . initially i thought to add maybe like a 3d body which can rotate and do cool stuff but there were no free options so i had to change my plan and do a 2d one . tho i’m not that dissappointed how good 2-d also looks !!! RIGHT? . i have also added spots (HOTSPOTS )(its looking really messy !!) where when you click opens there information in the right side located info panel i’m currently working on feeding the database(the example in the screen shot is short i will surely make it more precise !!) and its really hard to manage all the stuff at the same time . i don’t want to bore you with my talking so that’s all !!B’BYE !!!"}, {"post_id": 12958, "ts": "2026-06-21T06:35:47Z", "hours": 0.4228, "text": "heyyy!!!!this is the second update of bodyatlas and i have added the first page . this is the landing page of bodyatlas . i did try making it kinda simple and easy tho !! i am still trying hard to make it simple , usable , and perfect with all majar info !!so thats all for today !! bye !!!"}, {"post_id": 11153, "ts": "2026-06-18T07:27:24Z", "hours": 0.3128, "text": "hey !!! i have started my new project and it is called BodyAtlas here you can see human bodies in a 3d ways and interact with them and you will see exactly how human body work , how a diseases ACTUALLY effect our body and how a medicine ACTUALLY treats us !!!!. i have completed the first inter face and basic way how my new project will look and there is is frame in the middle section where i am just testing how 3d bodies would behave . BYEEE !!! and i will make sure to keep u all updated !!!"}]...
|
Title: BodyAtlas by @yashasvib | Stardance
Devlog Title: BodyAtlas by @yashasvib | Stardance
Devlogs:
hey !!! i have started my new project and it is called BodyAtlas here you can see human bodies in a 3d ways and interact with them and you will see exactly how human body work , how a diseases ACTUALLY effect our body and how a medicine ACTUALLY treats us !!!!. i have completed the first inter face and basic way how my new project will look and there is is frame in the middle section where i am just testing how 3d bodies would behave . BYEEE !!! and i will make sure to keep u all updated !!!
heyyy!!!!this is the second update of bodyatlas and i have added the first page . this is the landing page of bodyatlas . i did try making it kinda simple and easy tho !! i am still trying hard to make it simple , usable , and perfect with all majar info !!so thats all for today !! bye !!!
HEYY!!!!!this is the third update on BodyAtlas and i’m so sleepy right now !! ‘kay so this time, i have added the human body . initially i thought to add maybe like a 3d body which can rotate and do cool stuff but there were no free options so i had to change my plan and do a 2d one . tho i’m not that dissappointed how good 2-d also looks !!! RIGHT? . i have also added spots (HOTSPOTS )(its looking really messy !!) where when you click opens there information in the right side located info panel i’m currently working on feeding the database(the example in the screen shot is short i will surely make it more precise !!) and its really hard to manage all the stuff at the same time . i don’t want to bore you with my talking so that’s all !!B’BYE !!!
HEY !!!!! this is my fourth update on BodyAtlas and today i have added the database !! HURRAY !! which means that if you click on a hotspot it will show lot of information about that particular thing in the info panel . i had to do it manually so feeding all the data for only 4 organs (which i did ) took 1 hours and there are approx 11-12 more left so don’t know how much time it will take and i have also reduced the side of hotspot cuz it was looking messy and they are still left to be positioned . sope that’s all i did in this session and next update will come in the evening !!BYE !!! i hope i get to see awesome projects from you all !!!
heyyy !! this the fifth update on my webs.. BodyAtlas . so i did completed all the data feeding and if i really say i took help of ai to collect all the data it would centuries . and i did a did of editind in interface , i changed the quickbar to medical hub . next i’ll be working on quiz system and this project is really testing my patience !! but i will really be happy when this project will be completed !! BYE !!!<3
hey guyss this is gonna be short but i did add the quiz section in the BodyAtlas and again changed the medical hub from mediceine and diesease explorar to how it works . i added the another page and all which i will be sharing in other devlog !! BYE !!
Hey !! this is the maybee sixth update on body atlas and i have added the front page for ’how it works ’ . this is the step from where the main haed part begins , and i will make sure to put double efforts here !!
HEY !!! this is the new update on BodyAtlas . i have put the videos for better explanation in bodyatlas’s how does it work , i took all the video from youtube so the credit goes to respective owners and i think i just completed my project and i’m so HAPPPPYY i just turned out how i imagened it and maybee even better !!!! BYE !!!
HEYY !!! I CAN FINALLY SAY NOW MY PROJECT IS COMPLETED !!! I AM SO HAPPY IT TURNED OUT BETTER THAN HOW I IMAGINED IT !! AND NOW IT EVEN HAVE ANIMATED VIDEO FOR CONCEPT !! I GUESS NOT ITS TIME FOR ME TO SIGN OFF !!!
hi everybody , I shipped my project and just got the review saying that my project looks too much AI . is it so ? I don’t think so cause I did several things on my own and yes I agree I took help of AI in many places of my project even for debugging and all those errors I could not understand . but the reviewer also said I should add features of my own ! I did everything ! each and feature is my own ! what do you think , that AI can up with those ideas , it was me who thought of each and everything from the theme to the content, from the howdoesitwork? to the quiz section . I am not writting this to go against the reviewer but i wanna have honest opinions on my project guys !!
HEY !!! I just thought why not keep BodyAtlas going ? so here I am with just another super duper starry feature … drum rolls please …… its a competitive mode where you can chose the level and topic you wanna get it on and the press ‘lets go’ button and then you see a brandnew page with question .. but what makes it diffrent from normal quiz section present in just the main BodyAtlas .. its that it have a timer and you get points for each correct answers and it also takes away some points for wrong answer and when you collect a specific number of point you unlock access to special animated video of how does it work !! ad you can power up your level the more u play .. it a whole diffrent animal (game)…..built inside my webs.. tho its still ongoing I will try my best to make it more interactive and …sugar honey ice tea….BYE !!!
heyy guys this is an update on body atlas and from now on less updates will be posted . ok so I added other screen and and arranged hotspots using percen rather than px so it stays stable regardless of the condition . I have made js part also which controls the question appearing and timer and points and all the interface is basic and I will upgrade it soon . and I want a opinion from you all , should I add this game in the medicines hub or at the front screen top bar or any other place ?
hey !!! I changed all the wallpapers turn the body transparent with no background and re did all the logic part of challenge mode and today was a easy but time consuming day !! I’m happy it’s coming alive .. BYE !!
hey guys I just PURIFIED the competitive mode and it took a lot of time and I also added the popups for .. u can see below I’m sleepy , ’kay bye !!
hi guys !! this time, i just try to fix all the error and bugs as i could and not only the one thought who create a problem those also which were found by my fellow friends !!
hey !!! this time i did some debugging , changed UI ,and wrote the final README . this is a short update !! bye !!
HI GUYS !! i noticed or you can say realized that i totally forgot to expand my data base and shipped it with less questions so if i choose specific field from the challenge mode it display either one or two question because no questions related to those mode will be found within the database .
Ships:
HEY !!! this is a webs.. that lets you explore human body and it is called BodyAtlas .when opened it first land on a landing page where date , day, time are displayed and there is also a section about this project . then it takes you to main page where there is a main screen with a left , right panel , dock at bottom . in the main screen initially i thought to add maybe like a 3d body which can rotate and do cool stuff but there were no free options so i had to change my plan and do a 2d one . tho I’m not that disappointed how good 2-d also looks !!! RIGHT? . i have also added spots (HOTSPOTS ) where when you click opens there information in the right side located info panel witch have a inbuilt the database for source . the bottom dock have options for organ which you can visit . the left panel is the most important because it have two part the medicines hub and body system . when you select a body system from the given option the respective organs glow telling you about the organs involved . in the medicine hub there are two options the quiz (YAS !! actually working quiz )and a how does it work ? option when opened takes you to a screen where you can explore the various things like diseases , medicines , medical tests, surgeries , body processes and instrument using animated video which are taken frame Youtube and the credits goes to their respective owners . this project has been a important part of my whole stardance journey hope you like it !!! BYE !!!
HEY !!! this is a webs.. that lets you explore human body and it is called BodyAtlas .when opened it first land on a landing page where date , day, time are displayed and there is also a section about this project . then it takes you to main page where there is a main screen with a left , right panel , dock at bottom . in the main screen initially i thought to add maybe like a 3d body which can rotate and do cool stuff but there were no free options so i had to change my plan and do a 2d one . tho I’m not that disappointed how good 2-d also looks !!! RIGHT? . i have also added spots (HOTSPOTS ) where when you click opens there information in the right side located info panel witch have a inbuilt the database for source . the bottom dock have options for organ which you can visit . the left panel is the most important because it have two part the medicines hub and body system . when you select a body system from the given option the respective organs glow telling you about the organs involved . in the medicine hub there are two options the quiz (YAS !! actually working quiz )and a how does it work ? option when opened takes you to a screen where you can explore the various things like diseases , medicines , medical tests, surgeries , body processes and instrument using animated video which are taken frame Youtube and the credits goes to their respective owners . i have also added a challenge mode where you can select difficulty and topic and it will give you questions , for each answer you gain points and for each wrong answer your points are deducted this project has been a important part of my whole stardance journey hope you like it !!! BYE !!!
hi guys !! (read the other ships before to know but the project) this is going to be short cuz i only wanted to increase the data base and its quite easy …but I added Only very very few question because i have EXAMS !! but its okay ill manage in future .. so i guess that’s all !! BYE !!...
|
1792990448.8095517
|
1793076848.8095517
|
|
22103
|
CoW Calc by @superheroyrr | Stardance
|
superheroyrr
|
1
|
16.0
|
302
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T01:02:41Z", "hours": 16.0, "multiplier": 18.84, "payout": 302, "blessing": "neutral", "text": "So here’s a summary of what I’ve done: CoW Calc is a battle calculator for the browser strategy game Call of War. The game involves complex battles between stacks of military units with different stats, doctrines, and HP values. Doing that math by hand mid-game is genuinely painful, sure as you get more experience you start to know automatically, but there will still be times when you aren’t sure. CoW Calc makes it fast and visual. The biggest challenge was making it approachable for players who’d never seen it before. My friend tried it cold and got completely lost, so I rebuilt the onboarding from scratch into an interactive guided tour that walks you through your first calculation step by step. I’m most proud of the community response. I posted it to r/CallOfWar and it hit #1 post of the day, and the Discord feedback directly shaped what I built next (mobile support was the #1 request and previously didn’t exist at all). To test it if you don’t play Call of War: The tutorial will walk you through everything. For a quick demo after the tutorial: imagine you’re attacking with 3 Infantry (level 1, Comintern doctrine, 100% HP) against 2 Artillery (level 1, Allies doctrine, 90% HP). Add those units to each side using the unit list, connect them on the battle map, and hit calculate. The website will show the predicted results, which are usually pretty accurate. You don’t need to know the game — the calculator applies its game knowledge for you.", "repo": "https://github.com/agokule/cow-calc", "demo": "https://cow-calc.vercel.app/"}]...
|
[{"post_id": 28018, "ts": "202 [{"post_id": 28018, "ts": "2026-07-14T00:28:29Z", "hours": 0.9553, "text": "Flashback to when I said: At the very least, I feel confident that this project is complete enough to be submitted now… Yeah clearly that did NOT happen. ㅤ So I tried using my own app for its intended purpose on my own, and I ran into a crazy weird bug: sometimes when switching between the main page and connection page, it would duplicate the units that were selected. ㅤ What’s weirder is that it seemed to only affect the enemy units and not the your list… ㅤ It took me about 2 hours of debugging (unfortunately most of which was on Chrome DevTools debugger, so it didn’t count for stardance 😞) to finally find out the root cause. ㅤ The root cause was in how React.js handles refreshing data. So basically, whenever the data in my program changes (ie: the user hits next or start calculation on the connections page), it gets saved to the sessionStorage, after being processed into certain format. It saved the “your” unit lists then the “enemy” unit lists to the sessionStorage. ㅤ In the function that saves it to the sessionStorage, it has a local variable that is supposed to have the current data, which is normal. How it works is that the it sort of takes local variable and overrides the specific changes on top of it, then saves the whole thing to sessionStorage. ㅤ However, because it was using a React method to get the current data, it doesn’t immediately update itself, only updates when a new frame is drawn to the screen… So when the higher level code then tried to save the your unit list, the local variable was out of date, and applied the changes on top of an out of date data and then saved that to the sessionStorage. ㅤ This caused problems when switching between tabs since sessionStorage is the lifeline of the communication between them. I got around this problem by basically saving all of the data in one go instead of saving one part then the next part. ㅤ This was very frustrating to debug by myself but it feels rewarding now that I’ve done it. NOW I will submit this. My family is starting a roadtrip tomorrow morning so I won’t be able to code for a few days, I really want to get this off my plate before then. ㅤ Here’s my debugging setup I used for this:"}, {"post_id": 27316, "ts": "2026-07-12T19:52:03Z", "hours": 0.2728, "text": "So immediately after deploying the previous change there was a simple type error that made the whole thing fail 🤦♂️. This could have been easily avoided if I just ran npm run build before pushing, I think I will do that from now on. ㅤ I also added a button on the connections page to go back to the main page, I had to go through 2 deployments for this change as well because on the first attempt, I accidentally put the button underneath the tutorial button on mobile lol. ㅤ At the very least, I feel confident that this project is complete enough to be submitted now, I am really excited to move on to another cooler project."}, {"post_id": 27303, "ts": "2026-07-12T19:23:33Z", "hours": 0.6044, "text": "Ok so now I fixed that bug which the guy from discord was talking about (at least probably). The problem they had was that when switching between the connections page and the main page, it would sometimes clear out all of the entered information. ㅤ This problem was not occurring for me or my friend, so I was a bit confused on why this could be. After a bit of research (basically talking to my friend gemini), it turns out that the previous method I was using for this, React.js context , was not designed for this use case and is fairly fragile about the data it holds. ㅤ A simple refresh will clear out the data, and sometimes mobile browsers can aggressively do this. The person who reported the bug was also one of the people who asked for mobile support, so they were probably on mobile and it happened. For some reason, my phone wouldn’t cause this to happen so I didn’t catch that bug. ㅤ So now, instead of React.js’s context api, I swapped to using the browser’s sessionStorage api , which is supposed to be much more reliable and also keeps the data intact after a fully refresh! I will now ask that guy if the problem is fixed."}, {"post_id": 26327, "ts": "2026-07-11T01:54:27Z", "hours": 1.3217, "text": "So for this devlog, I added information about how to report bugs and give feature requests. It is pretty low-tech, but it gets the job done. ㅤ I also made the handle bars of the connections page on mobile bigger, so it isn’t as annoying to use."}, {"post_id": 25495, "ts": "2026-07-09T20:06:51Z", "hours": 2.77, "text": "I just finished this really cool interactive tutorial!! ㅤ I’ll be honest, I vibe coded like 80% of this part, than made various tweaks and changed the wording of the different steps so that they make more sense (at one point Claude literally called the doctrines “numbers” lol if you played this game, you would know that they are NOT numbers. FYI they are the “Allies/Comintern/Axis/Pan-Asian” drop downs). ㅤ Somehow, I was able to get that 80% done with just the free tier of the Claude web app chat. It was REALLY annoying because I kept running into usage limits, which is why it took this long to make. If someone could suggest some other tool that’s free and is much easier that would be appreciated. ㅤ What’s really crazy is that I was able to just give it the link to the github repo, told it to make an interactive tutorial and it just started working on it, that too on the free tier! It was very surprising how good a result it created from the first go and how much critical thinking it showed. Now, I did say that I would be done with this once I made the tutorial, but I really want to do some other small things first and also add information about how to report bug/give feedback on the website. Also, someone on the game’s discord server pointed out what might be a bug, or a flaw in the app so I should fix that as well. ㅤ Jeez, I’ve been telling myself “oh wow, I’m so close, I should be able to finish it today” for what feels like a week now, but seriously, I should be done with this today or tomorrow. (hopefully I didn’t jinx it again)."}, {"post_id": 22539, "ts": "2026-07-05T01:57:49Z", "hours": 1.0308, "text": "So it turns out there is also level 2 and level 3 marines and snipers, along with level 2 flame tanks that exist in the game, which I didn’t realize earlier. ㅤ So in this session, I added those pieces of data to the app, and they can be used in calculations now. Holy this required 2,400 lines of code apparently ㅤ (I used the script at src/data/units/synthesiser.ts to estimate the statistics of the other doctrines, since I don’t have access to them, it’s usually pretty accurate with the predictions so it should be fine). ㅤ Now I will work on the tutorial tomorrow and I should be done with this!"}, {"post_id": 21489, "ts": "2026-07-03T13:54:22Z", "hours": 0.3128, "text": "It turns out that the Call of War devs added another new unit to the game: Marines. So I quickly added its data to the website. Now it can be used for calculations"}, {"post_id": 21166, "ts": "2026-07-02T23:37:44Z", "hours": 1.0028, "text": "So now I have added iconography to make the website less text-heavy and more visually appealing. It’s not a lot but it really makes things better ㅤ Now the only thing left is the tutorial!"}, {"post_id": 20462, "ts": "2026-07-02T01:46:53Z", "hours": 0.8294, "text": "So I have finished the doctrine thing today, this makes the website more convenient to use since it is VERY likely that all units in a stack are the same doctrine. Previously you would have had to set the doctrine for EVERY single unit if it wasn’t all Allies doctrine. I made the level and quantity inputs smaller, so that the doctrine selector can take up more space and it actually displays the full name with out the “…” ㅤ Now what’s next is: trying to display more iconography, and the tutorial!!"}, {"post_id": 19666, "ts": "2026-07-01T01:29:26Z", "hours": 1.725, "text": "So I added much better a much better slider system for inputting the hp of each unit. This system is much more intuitive and easy to understand than the previous one. ㅤ On the way, I learned about the ch unit in CSS , which was what I used to set the width of the number input with the up and down arrows. ㅤ Now you might be like “how did it take 1hr 41min to just do that??” So basically, I went through 2 prototypes to get to this point, and it’s been so long since I did web development, I ran into freaking syntax errors slowing me down!!! ㅤ Also, along with this change, I found a bunch of places where there were bad coding practices, like basically having copy pasted code with just a small change between them. Because this is bad practice, I felt obliged to fix them. Again, those syntax errors slowed me down on this part as well. ㅤ But tbh, yeah it should NOT have taken this long to finish this feature, but at least it created an improvement! Conclusion This was one of the things my friend told me I should fix up, and so I did, now there are only 3 other things I decided I would do before considering this project to be done. They are: the default doctrine being selected information displayed as icons instead of text the big thing: a proper tutorial I am closing in on the finish line, I can feel it!"}, {"post_id": 19274, "ts": "2026-06-30T15:25:25Z", "hours": 0.4478, "text": "So I have now color coded the enemy and allied nodes to be red and blue respectively in the node editor. ㅤ This makes it much easier to use the calculator if you have a lot of stacks here."}, {"post_id": 18789, "ts": "2026-06-30T00:12:38Z", "hours": 1.4469, "text": "So for this devlog, I have just added the Sniper, Flame Tank, and Amphibious Tank units that were previously missing from the calculator. I have also added a tag on the website so it stands out! ㅤ This was the first step in my todo list for this app."}, {"post_id": 18061, "ts": "2026-06-29T01:28:52Z", "hours": 0.3028, "text": "So this is more of a self-reflection of what I have done and what there is to do. Outside of coding So, I had previously left this app public for a long time (like a year) hoping that players would just somehow find it naturally, but it turns out that’s not how the world works. So I sent it to the discord server (mentioned earlier). Now I also sent as a reddit post and it got lots of traction, quickly becoming #1 post of the day. So clearly, what I’m doing is good and is solving the problem. What is there left to do So I got my friend who plays this game and never saw the calculator before try it and I quickly realized that the website is not very intuitive at all. I need to make a better tutorial (one where it shows where you should click, etc). ㅤ There are also some minor things I have on there that made sense when I was coding it, but now that I think of it don’t make sense at all (like the hp field and how it handles non percentage values). Not only that, but there are many quality of life features, like if you set the doctrine of the first item, it set the default doctrine to that one for everything following it. Also the “Your” stack and “Enemy” stacks should be color coded, and more info should be displayed as icons rather than text. ㅤ Also, devs added a new Sniper unit to the game, and I forgot to include flame tanks and amphibious tanks in my calculator. Overall, the app is basically done, just need to add the final touches that will make this truly helpful for anyone. ㅤ Summary of things to do (this is supposed to be a task list, but stardance formatting is not working): Add Sniper, Flame Tank, and Amphibious Tank Color Code “Your” and “Enemy” stacks Display more info as icons rather than text (such as doctrines, unit levels, etc) Set the default doctrine after one has been added to a stack Make the HP field make more sense And finally, the big task: Make a tutorial that really holds the player’s hand for the initial bit, so that they know what to do afterwards. So with that I will start on this transformation!"}, {"post_id": 15026, "ts": "2026-06-24T12:30:40Z", "hours": 0.3525, "text": "For this devlog, I just updated the tutorial to be more specific and have better wording. I also adjusted the UI of it so that it has a scrollbar, if not enough vertical room, etc."}, {"post_id": 12755, "ts": "2026-06-20T21:09:08Z", "hours": 2.7169, "text": "So I sent this app to the Call of War discord server and the overall feedback was pretty positive! It’s just that there was one complaint that came again and again: there is no mobile support! I had completely forgotten about that somehow, so I set out to change that in this devlog. I did the following in this devlog: added whole new way to edit unit lists, which better suits mobile made the UI on mobile look better"}]...
|
Title: CoW Calc by @superheroyrr | Stardance
Devl Title: CoW Calc by @superheroyrr | Stardance
Devlogs:
So I sent this app to the Call of War discord server and the overall feedback was pretty positive! It’s just that there was one complaint that came again and again: there is no mobile support! I had completely forgotten about that somehow, so I set out to change that in this devlog. I did the following in this devlog: added whole new way to edit unit lists, which better suits mobile made the UI on mobile look better
For this devlog, I just updated the tutorial to be more specific and have better wording. I also adjusted the UI of it so that it has a scrollbar, if not enough vertical room, etc.
So this is more of a self-reflection of what I have done and what there is to do. Outside of coding So, I had previously left this app public for a long time (like a year) hoping that players would just somehow find it naturally, but it turns out that’s not how the world works. So I sent it to the discord server (mentioned earlier). Now I also sent as a reddit post and it got lots of traction, quickly becoming #1 post of the day. So clearly, what I’m doing is good and is solving the problem. What is there left to do So I got my friend who plays this game and never saw the calculator before try it and I quickly realized that the website is not very intuitive at all. I need to make a better tutorial (one where it shows where you should click, etc). ㅤ There are also some minor things I have on there that made sense when I was coding it, but now that I think of it don’t make sense at all (like the hp field and how it handles non percentage values). Not only that, but there are many quality of life features, like if you set the doctrine of the first item, it set the default doctrine to that one for everything following it. Also the “Your” stack and “Enemy” stacks should be color coded, and more info should be displayed as icons rather than text. ㅤ Also, devs added a new Sniper unit to the game, and I forgot to include flame tanks and amphibious tanks in my calculator. Overall, the app is basically done, just need to add the final touches that will make this truly helpful for anyone. ㅤ Summary of things to do (this is supposed to be a task list, but stardance formatting is not working): Add Sniper, Flame Tank, and Amphibious Tank Color Code “Your” and “Enemy” stacks Display more info as icons rather than text (such as doctrines, unit levels, etc) Set the default doctrine after one has been added to a stack Make the HP field make more sense And finally, the big task: Make a tutorial that really holds the player’s hand for the initial bit, so that they know what to do afterwards. So with that I will start on this transformation!
So for this devlog, I have just added the Sniper, Flame Tank, and Amphibious Tank units that were previously missing from the calculator. I have also added a tag on the website so it stands out! ㅤ This was the first step in my todo list for this app.
So I have now color coded the enemy and allied nodes to be red and blue respectively in the node editor. ㅤ This makes it much easier to use the calculator if you have a lot of stacks here.
So I added much better a much better slider system for inputting the hp of each unit. This system is much more intuitive and easy to understand than the previous one. ㅤ On the way, I learned about the ch unit in CSS , which was what I used to set the width of the number input with the up and down arrows. ㅤ Now you might be like “how did it take 1hr 41min to just do that??” So basically, I went through 2 prototypes to get to this point, and it’s been so long since I did web development, I ran into freaking syntax errors slowing me down!!! ㅤ Also, along with this change, I found a bunch of places where there were bad coding practices, like basically having copy pasted code with just a small change between them. Because this is bad practice, I felt obliged to fix them. Again, those syntax errors slowed me down on this part as well. ㅤ But tbh, yeah it should NOT have taken this long to finish this feature, but at least it created an improvement! Conclusion This was one of the things my friend told me I should fix up, and so I did, now there are only 3 other things I decided I would do before considering this project to be done. They are: the default doctrine being selected information displayed as icons instead of text the big thing: a proper tutorial I am closing in on the finish line, I can feel it!
So I have finished the doctrine thing today, this makes the website more convenient to use since it is VERY likely that all units in a stack are the same doctrine. Previously you would have had to set the doctrine for EVERY single unit if it wasn’t all Allies doctrine. I made the level and quantity inputs smaller, so that the doctrine selector can take up more space and it actually displays the full name with out the “…” ㅤ Now what’s next is: trying to display more iconography, and the tutorial!!
So now I have added iconography to make the website less text-heavy and more visually appealing. It’s not a lot but it really makes things better ㅤ Now the only thing left is the tutorial!
It turns out that the Call of War devs added another new unit to the game: Marines. So I quickly added its data to the website. Now it can be used for calculations
So it turns out there is also level 2 and level 3 marines and snipers, along with level 2 flame tanks that exist in the game, which I didn’t realize earlier. ㅤ So in this session, I added those pieces of data to the app, and they can be used in calculations now. Holy this required 2,400 lines of code apparently ㅤ (I used the script at src/data/units/synthesiser.ts to estimate the statistics of the other doctrines, since I don’t have access to them, it’s usually pretty accurate with the predictions so it should be fine). ㅤ Now I will work on the tutorial tomorrow and I should be done with this!
I just finished this really cool interactive tutorial!! ㅤ I’ll be honest, I vibe coded like 80% of this part, than made various tweaks and changed the wording of the different steps so that they make more sense (at one point Claude literally called the doctrines “numbers” lol if you played this game, you would know that they are NOT numbers. FYI they are the “Allies/Comintern/Axis/Pan-Asian” drop downs). ㅤ Somehow, I was able to get that 80% done with just the free tier of the Claude web app chat. It was REALLY annoying because I kept running into usage limits, which is why it took this long to make. If someone could suggest some other tool that’s free and is much easier that would be appreciated. ㅤ What’s really crazy is that I was able to just give it the link to the github repo, told it to make an interactive tutorial and it just started working on it, that too on the free tier! It was very surprising how good a result it created from the first go and how much critical thinking it showed. Now, I did say that I would be done with this once I made the tutorial, but I really want to do some other small things first and also add information about how to report bug/give feedback on the website. Also, someone on the game’s discord server pointed out what might be a bug, or a flaw in the app so I should fix that as well. ㅤ Jeez, I’ve been telling myself “oh wow, I’m so close, I should be able to finish it today” for what feels like a week now, but seriously, I should be done with this today or tomorrow. (hopefully I didn’t jinx it again).
So for this devlog, I added information about how to report bugs and give feature requests. It is pretty low-tech, but it gets the job done. ㅤ I also made the handle bars of the connections page on mobile bigger, so it isn’t as annoying to use.
Ok so now I fixed that bug which the guy from discord was talking about (at least probably). The problem they had was that when switching between the connections page and the main page, it would sometimes clear out all of the entered information. ㅤ This problem was not occurring for me or my friend, so I was a bit confused on why this could be. After a bit of research (basically talking to my friend gemini), it turns out that the previous method I was using for this, React.js context , was not designed for this use case and is fairly fragile about the data it holds. ㅤ A simple refresh will clear out the data, and sometimes mobile browsers can aggressively do this. The person who reported the bug was also one of the people who asked for mobile support, so they were probably on mobile and it happened. For some reason, my phone wouldn’t cause this to happen so I didn’t catch that bug. ㅤ So now, instead of React.js’s context api, I swapped to using the browser’s sessionStorage api , which is supposed to be much more reliable and also keeps the data intact after a fully refresh! I will now ask that guy if the problem is fixed.
So immediately after deploying the previous change there was a simple type error that made the whole thing fail 🤦♂️. This could have been easily avoided if I just ran npm run build before pushing, I think I will do that from now on. ㅤ I also added a button on the connections page to go back to the main page, I had to go through 2 deployments for this change as well because on the first attempt, I accidentally put the button underneath the tutorial button on mobile lol. ㅤ At the very least, I feel confident that this project is complete enough to be submitted now, I am really excited to move on to another cooler project.
Flashback to when I said: At the very least, I feel confident that this project is complete enough to be submitted now… Yeah clearly that did NOT happen. ㅤ So I tried using my own app for its intended purpose on my own, and I ran into a crazy weird bug: sometimes when switching between the main page and connection page, it would duplicate the units that were selected. ㅤ What’s weirder is that it seemed to only affect the enemy units and not the your list… ㅤ It took me about 2 hours of debugging (unfortunately most of which was on Chrome DevTools debugger, so it didn’t count for stardance 😞) to finally find out the root cause. ㅤ The root cause was in how React.js handles refreshing data. So basically, whenever the data in my program changes (ie: the user hits next or start calculation on the connections page), it gets saved to the sessionStorage, after being processed into certain format. It saved the “your” unit lists then the “enemy” unit lists to the sessionStorage. ㅤ In the function that saves it to the sessionStorage, it has a local variable that is supposed to have the current data, which is normal. How it works is that the it sort of takes local variable and overrides the specific changes on top of it, then saves the whole thing to sessionStorage. ㅤ However, because it was using a React method to get the current data, it doesn’t immediately update itself, only updates when a new frame is drawn to the screen… So when the higher level code then tried to save the your unit list, the local variable was out of date, and applied the changes on top of an out of date data and then saved that to the sessionStorage. ㅤ This caused problems when switching between tabs since sessionStorage is the lifeline of the communication between them. I got around this problem by basically saving all of the data in one go instead of saving one part then the next part. ㅤ This was very frustrating to debug by myself but it feels rewarding now that I’ve done it. NOW I will submit this. My family is starting a roadtrip tomorrow morning so I won’t be able to code for a few days, I really want to get this off my plate before then. ㅤ Here’s my debugging setup I used for this:
Ships:
So here’s a summary of what I’ve done: CoW Calc is a battle calculator for the browser strategy game Call of War. The game involves complex battles between stacks of military units with different stats, doctrines, and HP values. Doing that math by hand mid-game is genuinely painful, sure as you get more experience you start to know automatically, but there will still be times when you aren’t sure. CoW Calc makes it fast and visual. The biggest challenge was making it approachable for players who’d never seen it before. My friend tried it cold and got completely lost, so I rebuilt the onboarding from scratch into an interactive guided tour that walks you through your first calculation step by step. I’m most proud of the community response. I posted it to r/CallOfWar and it hit #1 post of the day, and the Discord feedback directly shaped what I built next (mobile support was the #1 request and previously didn’t exist at all). To test it if you don’t play Call of War: The tutorial will walk you through everything. For a quick demo after the tutorial: imagine you’re attacking with 3 Infantry (level 1, Comintern doctrine, 100% HP) against 2 Artillery (level 1, Allies doctrine, 90% HP). Add those units to each side using the unit list, connect them on the battle map, and hit calculate. The website will show the predicted results, which are usually pretty accurate. You don’t need to know the game — the calculator applies its game knowledge for you....
|
1792986729.793362
|
1793073129.793362
|
|
61389
|
FrictionHub by @Dev_L_K | Stardance
|
Dev_L_K
|
6
|
34.0
|
302
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T09:31:41Z", "hours": 6.0, "multiplier": 9.66, "payout": 62, "blessing": "neutral", "text": "FrictionHub FrictionHub is a small collection of Quality of Life improving miniweb tools made with html css and js only. Added PWA setup to the website Go to https://frictionhub.devlkakkoth.me In the browser settings click Addto homescreen Then click Install . the PWA will be installed to your home screen Features CopyBoard Here you can save frequently used texts emails etc inside your browser storage Password Generator You can save 100% secure and random passwords. and save it in your browser storage. so if you forgot it you can retrive it again. Text Cleaner You can clean a large messy text by removing empty lines. unwanted spaces and more. Case Conveter Convert a large text into different cases like uppercase lowercase sentnce case etc… Shopping List Create and manage shopping lists and save them as PDF files. Color converter For html coders converting color codes are difficult. Find and replace Finding and replacing some texts from long paragraphs areuch boring stuff. Currency converter Buying items with international cards are very hard to find exhchange rates and converting qr code generator instead of sending urls using url we can enter sites using scanning. text difference finder finding small small differences in texts paragraphs are very boring url cleaner remove tracking ids and unwanted things from url. Weather dashboard find the weather of a city by searching simply. Code formatter Formats html css js and python codes clean and neat. Base 64 converter Convert images and texts into base64 and decode them too. BooksFinder Uses openlibrary api to find details of many books. RecipeFinder Uses themealdb api to find images and recipe to find food items Dictionary Uses Dictionary api to get meaning and other information about words ir phrases Pomodaro Timer Focus,take break and acheive your gols through pomodaro timer. CSS Gradient Generator Make CSS Gradients by selecting colors only and instantly copy the code World Clock Check and analyse the world time and time differnce between zones. Typing speed checker Measure your word per minute using this sub app. Typing is a big support to devlopers. Daily Planner Helpful to those who dont memorize important things. mark as completed when each plan is done Please read my recent Devlog my this ship was completely gone! Due to many reasons I have explained them in my devlogs please read that. While working with the world clock sub app I even lost all my 45 min code and I had to rewrite it. I am being honest that I hasn’t tried to fraud hackatime. I am completely proud of me that since my last ship i am here after long days before cause I was very busy in improving my js and logics. You can see the difference I have made in my js since last ship Thank you. Thsi one is the same copy of my README.md And I have made some changes here.", "repo": "https://github.com/dev-l-k/FrictionHub", "demo": "https://frictionhub.devlkakkoth.me"}, {"ship_num": 2, "ts": "2026-10-10T16:54:12Z", "hours": 6.0, "multiplier": 10.96, "payout": 63, "blessing": "neutral", "text": "FrictionHub This is a multifunctional web app. Which has many differt purpose tools that can improve the QOL It has a newly added PWA setup. Go to FrictionHub Go to browser options and click on Add to Homescreen In the pop up click Install to install the PWA to your home screen. Works on both Laptops and mobile phones Tools CopyBoard Here you can save frequently used texts emails etc inside your browser storage Password Generator You can save 100% secure and random passwords. and save it in your browser storage. so if you forgot it you can retrive it again. Text Cleaner You can clean a large messy text by removing empty lines. unwanted spaces and more. Case Conveter Convert a large text into different cases like uppercase lowercase sentnce case etc… Shopping List Create and manage shopping lists and save them as PDF files. Color converter For html coders converting color codes are difficult. Find and replace Finding and replacing some texts from long paragraphs areuch boring stuff. Currency converter Buying items with international cards are very hard to find exhchange rates and converting qr code generator instead of sending urls using url we can enter sites using scanning. text difference finder finding small small differences in texts paragraphs are very boring url cleaner remove tracking ids and unwanted things from url. Weather dashboard find the weather of a city by searching simply. Code formatter Formats html css js and python codes clean and neat. Base 64 converter Convert images and texts into base64 and decode them too. BooksFinder Uses openlibrary api to find details of many books. RecipeFinder Uses themealdb api to find images and recipe to find food items Dictionary Uses Dictionary api to get meaning and other information about words ir phrases Pomodaro Timer Focus,take break and acheive your gols through pomodaro timer. CSS Gradient Generator Make CSS Gradients by selecting colors only and instantly copy the code. If u find this helpful please give better ratings. Thankyou for rating my project.", "repo": "https://github.com/dev-l-k/FrictionHub", "demo": "https://frictionhub.devlkakkoth.me"}, {"ship_num": 3, "ts": "2026-10-08T10:16:22Z", "hours": 4.0, "multiplier": 15.51, "payout": 56, "blessing": "neutral", "text": "FrictionHub This is a small web app made by me to reduce our digital friction. It contains many tools Tools CopyBoard Here you can save frequently used texts emails etc inside your browser storage Password Generator You can save 100% secure and random passwords. and save it in your browser storage. so if you forgot it you can retrive it again. Text Cleaner You can clean a large messy text by removing empty lines. unwanted spaces and more. Case Conveter Convert a large text into different cases like uppercase lowercase sentnce case etc… Shopping List Create and manage shopping lists and save them as PDF files. Color converter For html coders converting color codes are difficult. Find and replace Finding and replacing some texts from long paragraphs areuch boring stuff. Currency converter Buying items with international cards are very hard to find exhchange rates and converting qr code generator instead of sending urls using url we can enter sites using scanning. text difference finder finding small small differences in texts paragraphs are very boring url cleaner remove tracking ids and unwanted things from url. Weather dashboard find the weather of a city by searching simply. Code formatter Formats html css js and python codes clean and neat. Base 64 converter Convert images and texts into base64 and decode them too. BooksFinder Uses openlibrary api to find details of many books. RecipeFinder Uses themealdb api to find images and recipe to find food items", "repo": "https://github.com/dev-l-k/FrictionHub", "demo": "https://frictionhub.devlkakkoth.me"}, {"ship_num": 4, "ts": "2026-09-27T01:39:34Z", "hours": 1.0, "multiplier": 4.25, "payout": 4, "blessing": "neutral", "text": "FrictionHub A multifunctional web app with many utitility tools. Tools CopyBoard Here you can save frequently used texts emails etc inside your browser storage Password Generator You can save 100% secure and random passwords. and save it in your browser storage. so if you forgot it you can retrive it again. Text Cleaner You can clean a large messy text by removing empty lines. unwanted spaces and more. Case Conveter Convert a large text into different cases like uppercase lowercase sentnce case etc… Shopping List Create and manage shopping lists and save them as PDF files. Color converter For html coders converting color codes are difficult. Find and replace Finding and replacing some texts from long paragraphs areuch boring stuff. Currency converter Buying items with international cards are very hard to find exhchange rates and converting qr code generator instead of sending urls using url we can enter sites using scanning. text difference finder finding small small differences in texts paragraphs are very boring url cleaner remove tracking ids and unwanted things from url. Weather dashboard find the weather of a city by searching simply. Code formatter Formats html css js and python codes clean and neat.", "repo": "https://github.com/dev-l-k/FrictionHub", "demo": "https://frictionhub.devlkakkoth.me"}, {"ship_num": 5, "ts": "2026-09-26T01:32:25Z", "hours": 8.0, "multiplier": 12.36, "payout": 97, "blessing": "neutral", "text": "FrictionHub A multimedia web app with many QOL improving tools Tools CopyBoard Here you can save frequently used texts emails etc inside your browser storage Password Generator You can save 100% secure and random passwords. and save it in your browser storage. so if you forgot it you can retrive it again. Text Cleaner You can clean a large messy text by removing empty lines. unwanted spaces and more. Case Conveter Convert a large text into different cases like uppercase lowercase sentnce case etc… Shopping List Create and manage shopping lists and save them as PDF files. Color converter For html coders converting color codes are difficult. Find and replace Finding and replacing some texts from long paragraphs areuch boring stuff. Currency converter Buying items with international cards are very hard to find exhchange rates and converting qr code generator instead of sending urls using url we can enter sites using scanning.(Uses external js) text difference finder finding small small differences in texts paragraphs are very boring url cleaner remove tracking ids and unwanted things from url. Weather dashboard find the weather of a city by searching simply. None of ur data never leaves your browser", "repo": "https://github.com/dev-l-k/FrictionHub", "demo": "https://frictionhub.devlkakkoth.me"}, {"ship_num": 6, "ts": "2026-09-13T11:04:47Z", "hours": 9.0, "multiplier": 4.31, "payout": 20, "blessing": "neutral", "text": "Friction Hub A collection of light weight web tools that can improve the QOL. It has 5 sub apps. None of your data entered here never leaves your device Storage - local storage Pdf generaton gode was a little hard to understand. Others were quite simple. It will help u improve your digital life. No direct use of ai just used ai to rectify errors and understanding ideologies.", "repo": "https://github.com/dev-l-k/FrictionHub", "demo": "https://frictionhub.devlkakkoth.me"}]...
|
[{"post_id": 81439, "ts": "202 [{"post_id": 81439, "ts": "2026-10-21T09:19:34Z", "hours": 2.3631, "text": "Hey all I have completed the work for the next ship. I wants some stardust now so I am gonna ship it now. New feature Daily planner You can add tasks and plan your day. And when each task is completed mark it as complete. i didnt used the exact same css. This time I decided to include more and write my self. if u notice the changes in the js of my first ship and the new one Yay! I have made a large improvement in my js i am very proud of it. Until my last ship i targeted to improve js. So I didn’t get time to code efficiently I am very proud of my improvement in js. Plss rate my project"}, {"post_id": 81180, "ts": "2026-10-20T06:19:27Z", "hours": 1.9072, "text": "Devlog after a long time I am back with my Devlog Now I have created a new sub app to frictionHub It’s is Typing Speed Checker If u just check the js it was quite too hard to figure out the logics. So I had to redo the same code by fixing errors(logical). Butit is one of the best html apps I have made. Html and css was very simple but the js was just harder than I have ever experienced. If u guys wants to try it out Plss check here https://FrictionHub.devlkakkoth.me/typing"}, {"post_id": 80426, "ts": "2026-10-17T16:31:40Z", "hours": 2.1608, "text": "Guys I am back with coding again I am back all I have added a new sub app world clock First of all I am being honest to all the Stardance reviewers. Reviewers might seem my project code time as inflated because. My sister just deleted all my code and clicked save. I lost all and i had to rewrite the codes again. So please don’t ban me as spamming hackatime. I am coding in my mobile phone I don’t have a laptop. So I can’t do undo plss this is a request. I am coding through termux along with code-server World clock It is a small mini app withalmost 15+ timezones to track current time. If u are offline u can use pwa."}, {"post_id": 78371, "ts": "2026-10-10T16:17:40Z", "hours": 1.3331, "text": "Devlog Added new app CSS Gradient Generator Uses simple js logics Select Degree ,2 colors and type and it will generate the gradient Instantly copy the code Live at Click me"}, {"post_id": 78334, "ts": "2026-10-10T14:01:19Z", "hours": 1.8939, "text": "Devlog FrictionHub I now worked mainly on my new sub app dictionary. It uses public dictionary APIs to get data Writing the code was much harder. I neededto use ai to format them correctly and to find my errors. It is currently live on Click Me"}, {"post_id": 78266, "ts": "2026-10-10T06:47:13Z", "hours": 1.8833, "text": "Devlog FrictionHub Now I have added a new app called pomodaro timer it helps to focus complete take breaks and achieve your goals. Huge update Added PWA support to the website Click add to home screen from your browser to add as PWA I am sorry because I used dir GitHub to add pwa code and its code was written with help of AI. The icon was generated by me using inshot. Ai not used Check here Click me"}, {"post_id": 78123, "ts": "2026-10-09T17:04:30Z", "hours": 0.5994, "text": "Devlog Updated home screen Now it has 4 sections Text tools Dev tools everyday utilities discover Check it out Click here"}, {"post_id": 77792, "ts": "2026-10-08T09:18:02Z", "hours": 1.2572, "text": "Devlog RecipeHub Powered by TheMealDb includes many recipes from all over the world. A simple project Live at Click here"}, {"post_id": 76720, "ts": "2026-10-04T12:31:07Z", "hours": 0.9842, "text": "Devlog FrictionHub Added new sub app Book Finder Search and find details of millions of books Works using openlibrary api. Live at https://frictionhub.devlkakkoth.me/Book"}, {"post_id": 76660, "ts": "2026-10-04T09:16:15Z", "hours": 1.3586, "text": "Devlog FrictionHub After a long time I started working New app - Base64 converter Features encode an decode images and texts to base 64 helpful for coder"}, {"post_id": 74242, "ts": "2026-09-27T01:35:23Z", "hours": 1.0253, "text": "Devlog FrictionHub Added Code formatter app. Format and clean codes html css and js and python supported Live at https://frictionhub.devlkakkoth.me/code"}, {"post_id": 73801, "ts": "2026-09-26T01:26:42Z", "hours": 0.9319, "text": "Devlog Added color converter convert colors to hex RGB and hsl Updated readme.md Live at https://frictionhub.devlkakkoth.me/color"}, {"post_id": 73790, "ts": "2026-09-26T00:20:05Z", "hours": 0.7061, "text": "Devlog FrictionHub Find and replace Find and replace texts in a large paragraph Live at https://frictionhub.devlkakkoth.me/replace"}, {"post_id": 73673, "ts": "2026-09-25T17:23:56Z", "hours": 0.8936, "text": "Devlog FrictionHub Added currency exchanger sub app uses frankfurter api to get realtime currency exchange rates. Live at https://frictionhub.devlkakkoth.me/currency"}, {"post_id": 73629, "ts": "2026-09-25T15:17:15Z", "hours": 1.2483, "text": "Devlog FrictionHub Weather dashboard Check weather and forecasts of any place using the open meteo api Added clock too Live at https://frictionhub.devlkakkoth.me/weather"}, {"post_id": 73384, "ts": "2026-09-25T01:30:46Z", "hours": 0.8211, "text": "Devlog FrictionHub JSON Formatter Format and minify json codes Added copy feature Live at https://frictionhub.devlkakkoth.me/jsonformatter"}, {"post_id": 73357, "ts": "2026-09-24T23:59:56Z", "hours": 0.5275, "text": "Devlog FrictionHub URL cleaner Remove tracking parameters and other unwanted datas from urls. Added load demo Live at https://frictionhub.devlkakkoth.me/urlcleaner"}, {"post_id": 73238, "ts": "2026-09-24T17:13:04Z", "hours": 0.6617, "text": "DevLog FrictionHub New app added Qr code generator uses simple qr code js library to generate QR code and download it as png. check live at https://frictionhub.devlkakkoth.me/qrcode"}, {"post_id": 72928, "ts": "2026-09-24T01:49:53Z", "hours": 1.4289, "text": "Devlog FrictionHub After a long time I started coding again on friction Hub Now I have added text difference finder sub app You can easily find text difference quick and fast jst pure js logics. Check here https://frictionhub.devlkakkoth.me/textdiff"}, {"post_id": 67741, "ts": "2026-09-13T23:45:05Z", "hours": 0.5972, "text": "Devlog FrictionHub Made some changes in the css and rewrite the complete readme correctly."}, {"post_id": 67276, "ts": "2026-09-13T10:51:10Z", "hours": 0.4733, "text": "Devlog FrictionHub Completed project Ready to ship Now live at https://frictionhub.devlkakkoth.me"}, {"post_id": 67262, "ts": "2026-09-13T10:15:23Z", "hours": 1.3436, "text": "Devlog 6 FrictionHub Shopping list add items to your cart and download PDFs Live at https://frictionhub.devlkakkoth.me"}, {"post_id": 67184, "ts": "2026-09-13T07:45:30Z", "hours": 1.0269, "text": "Devlog 5 FrictionHub Case Converter convert the cases of any type of texts Live at https://frictionhub.devlkakkoth.me"}, {"post_id": 67129, "ts": "2026-09-13T06:02:15Z", "hours": 1.4153, "text": "Devlog 4 FrictionHub Text cleaner convert messy texts into clean ones helps to avoid unwanted spaces duplicate lines etc Live at https://frictionhub.devlkakkoth.me"}, {"post_id": 67007, "ts": "2026-09-13T01:31:41Z", "hours": 1.4203, "text": "Devlog 3 FrictionHub Password Generator(sub app) You can generate 100% secure and unique passwords and copy them and save with no effort. Your password or any thing don’t leaves your device Used HTML CSS JS Live at https://frictionhub.devlkakkoth.me"}, {"post_id": 66728, "ts": "2026-09-12T16:54:14Z", "hours": 1.6175, "text": "Devlog2 FrictionHub CopyBoard(sub app) A place where u can save texts and fast access and copy it Completed it’s html structure css styles and js logics it doesn’t use any external database your data never leaves the browser Live at https://frictionhub.devlkakkoth.me"}, {"post_id": 66652, "ts": "2026-09-12T14:41:20Z", "hours": 1.7111, "text": "Devlog 1 FrictionHub Home Page added home page to the project debugged it’s errors. Try at https://frictionhub.devlkakkoth.me"}]...
|
Title: FrictionHub by @Dev_L_K | Stardance
Devlog Title: FrictionHub by @Dev_L_K | Stardance
Devlogs:
Devlog 1 FrictionHub Home Page added home page to the project debugged it’s errors. Try at https://frictionhub.devlkakkoth.me
Devlog2 FrictionHub CopyBoard(sub app) A place where u can save texts and fast access and copy it Completed it’s html structure css styles and js logics it doesn’t use any external database your data never leaves the browser Live at https://frictionhub.devlkakkoth.me
Devlog 3 FrictionHub Password Generator(sub app) You can generate 100% secure and unique passwords and copy them and save with no effort. Your password or any thing don’t leaves your device Used HTML CSS JS Live at https://frictionhub.devlkakkoth.me
Devlog 4 FrictionHub Text cleaner convert messy texts into clean ones helps to avoid unwanted spaces duplicate lines etc Live at https://frictionhub.devlkakkoth.me
Devlog 5 FrictionHub Case Converter convert the cases of any type of texts Live at https://frictionhub.devlkakkoth.me
Devlog 6 FrictionHub Shopping list add items to your cart and download PDFs Live at https://frictionhub.devlkakkoth.me
Devlog FrictionHub Completed project Ready to ship Now live at https://frictionhub.devlkakkoth.me
Devlog FrictionHub Made some changes in the css and rewrite the complete readme correctly.
Devlog FrictionHub After a long time I started coding again on friction Hub Now I have added text difference finder sub app You can easily find text difference quick and fast jst pure js logics. Check here https://frictionhub.devlkakkoth.me/textdiff
DevLog FrictionHub New app added Qr code generator uses simple qr code js library to generate QR code and download it as png. check live at https://frictionhub.devlkakkoth.me/qrcode
Devlog FrictionHub URL cleaner Remove tracking parameters and other unwanted datas from urls. Added load demo Live at https://frictionhub.devlkakkoth.me/urlcleaner
Devlog FrictionHub JSON Formatter Format and minify json codes Added copy feature Live at https://frictionhub.devlkakkoth.me/jsonformatter
Devlog FrictionHub Weather dashboard Check weather and forecasts of any place using the open meteo api Added clock too Live at https://frictionhub.devlkakkoth.me/weather
Devlog FrictionHub Added currency exchanger sub app uses frankfurter api to get realtime currency exchange rates. Live at https://frictionhub.devlkakkoth.me/currency
Devlog FrictionHub Find and replace Find and replace texts in a large paragraph Live at https://frictionhub.devlkakkoth.me/replace
Devlog Added color converter convert colors to hex RGB and hsl Updated readme.md Live at https://frictionhub.devlkakkoth.me/color
Devlog FrictionHub Added Code formatter app. Format and clean codes html css and js and python supported Live at https://frictionhub.devlkakkoth.me/code
Devlog FrictionHub After a long time I started working New app - Base64 converter Features encode an decode images and texts to base 64 helpful for coder
Devlog FrictionHub Added new sub app Book Finder Search and find details of millions of books Works using openlibrary api. Live at https://frictionhub.devlkakkoth.me/Book
Devlog RecipeHub Powered by TheMealDb includes many recipes from all over the world. A simple project Live at Click here
Devlog Updated home screen Now it has 4 sections Text tools Dev tools everyday utilities discover Check it out Click here
Devlog FrictionHub Now I have added a new app called pomodaro timer it helps to focus complete take breaks and achieve your goals. Huge update Added PWA support to the website Click add to home screen from your browser to add as PWA I am sorry because I used dir GitHub to add pwa code and its code was written with help of AI. The icon was generated by me using inshot. Ai not used Check here Click me
Devlog FrictionHub I now worked mainly on my new sub app dictionary. It uses public dictionary APIs to get data Writing the code was much harder. I neededto use ai to format them correctly and to find my errors. It is currently live on Click Me
Devlog Added new app CSS Gradient Generator Uses simple js logics Select Degree ,2 colors and type and it will generate the gradient Instantly copy the code Live at Click me
Guys I am back with coding again I am back all I have added a new sub app world clock First of all I am being honest to all the Stardance reviewers. Reviewers might seem my project code time as inflated because. My sister just deleted all my code and clicked save. I lost all and i had to rewrite the codes again. So please don’t ban me as spamming hackatime. I am coding in my mobile phone I don’t have a laptop. So I can’t do undo plss this is a request. I am coding through termux along with code-server World clock It is a small mini app withalmost 15+ timezones to track current time. If u are offline u can use pwa.
Devlog after a long time I am back with my Devlog Now I have created a new sub app to frictionHub It’s is Typing Speed Checker If u just check the js it was quite too hard to figure out the logics. So I had to redo the same code by fixing errors(logical). Butit is one of the best html apps I have made. Html and css was very simple but the js was just harder than I have ever experienced. If u guys wants to try it out Plss check here https://FrictionHub.devlkakkoth.me/typing
Hey all I have completed the work for the next ship. I wants some stardust now so I am gonna ship it now. New feature Daily planner You can add tasks and plan your day. And when each task is completed mark it as complete. i didnt used the exact same css. This time I decided to include more and write my self. if u notice the changes in the js of my first ship and the new one Yay! I have made a large improvement in my js i am very proud of it. Until my last ship i targeted to improve js. So I didn’t get time to code efficiently I am very proud of my improvement in js. Plss rate my project
Ships:
Friction Hub A collection of light weight web tools that can improve the QOL. It has 5 sub apps. None of your data entered here never leaves your device Storage - local storage Pdf generaton gode was a little hard to understand. Others were quite simple. It will help u improve your digital life. No direct use of ai just used ai to rectify errors and understanding ideologies.
FrictionHub A multimedia web app with many QOL improving tools Tools CopyBoard Here you can save frequently used texts emails etc inside your browser storage Password Generator You can save 100% secure and random passwords. and save it in your browser storage. so if you forgot it you can retrive it again. Text Cleaner You can clean a large messy text by removing empty lines. unwanted spaces and more. Case Conveter Convert a large text into different cases like uppercase lowercase sentnce case etc… Shopping List Create and manage shopping lists and save them as PDF files. Color converter For html coders converting color codes are difficult. Find and replace Finding and replacing some texts from long paragraphs areuch boring stuff. Currency converter Buying items with international cards are very hard to find exhchange rates and converting qr code generator instead of sending urls using url we can enter sites using scanning.(Uses external js) text difference finder finding small small differences in texts paragraphs are very boring url cleaner remove tracking ids and unwanted things from url. Weather dashboard find the weather of a city by searching simply. None of ur data never leaves your browser
FrictionHub A multifunctional web app with many utitility tools. Tools CopyBoard Here you can save frequently used texts emails etc inside your browser storage Password Generator You can save 100% secure and random passwords. and save it in your browser storage. so if you forgot it you can retrive it again. Text Cleaner You can clean a large messy text by removing empty lines. unwanted spaces and more. Case Conveter Convert a large text into different cases like uppercase lowercase sentnce case etc… Shopping List Create and manage shopping lists and save them as PDF files. Color converter For html coders converting color codes are difficult. Find and replace Finding and replacing some texts from long paragraphs areuch boring stuff. Currency converter Buying items with international cards are very hard to find exhchange rates and converting qr code generator instead of sending urls using url we can enter sites using scanning. text difference finder finding small small differences in texts paragraphs are very boring url cleaner remove tracking ids and unwanted things from url. Weather dashboard find the weather of a city by searching simply. Code formatter Formats html css js and python codes clean and neat.
FrictionHub This is a small web app made by me to reduce our digital friction. It contains many tools Tools CopyBoard Here you can save frequently used texts emails etc inside your browser storage Password Generator You can save 100% secure and random passwords. and save it in your browser storage. so if you forgot it you can retrive it again. Text Cleaner You can clean a large messy text by removing empty lines. unwanted spaces and more. Case Conveter Convert a large text into different cases like uppercase lowercase sentnce case etc… Shopping List Create and manage shopping lists and save them as PDF files. Color converter For html coders converting color codes are difficult. Find and replace Finding and replacing some texts from long paragraphs areuch boring stuff. Currency converter Buying items with international cards are very hard to find exhchange rates and converting qr code generator instead of sending urls using url we can enter sites using scanning. text difference finder finding small small differences in texts paragraphs are very boring url cleaner remove tracking ids and unwanted things from url. Weather dashboard find the weather of a city by searching simply. Code formatter Formats html css js and python codes clean and neat. Base 64 converter Convert images and texts into base64 and decode them too. BooksFinder Uses openlibrary api to find details of many books. RecipeFinder Uses themealdb api to find images and recipe to find food items
FrictionHub This is a multifunctional web app. Which has many differt purpose tools that can improve the QOL It has a newly added PWA setup. Go to FrictionHub Go to browser options and click on Add to Homescreen In the pop up click Install to install the PWA to your home screen. Works on both Laptops and mobile phones Tools CopyBoard Here you can save frequently used texts emails etc inside your browser storage Password Generator You can save 100% secure and random passwords. and save it in your browser storage. so if you forgot it you can retrive it again. Text Cleaner You can clean a large messy text by removing empty lines. unwanted spaces and more. Case Conveter Convert a large text into different cases like uppercase lowercase sentnce case etc… Shopping List Create and manage shopping lists and save them as PDF files. Color converter For html coders converting color codes are difficult. Find and replace Finding and replacing some texts from long paragraphs areuch boring stuff. Currency converter Buying items with international cards are very hard to find exhchange rates and converting qr code generator instead of sending urls using url we can enter sites using scanning. text difference finder finding small small differences in texts paragraphs are very boring url cleaner remove tracking ids and unwanted things from url. Weather dashboard find the weather of a city by searching simply. Code formatter Formats html css js and python codes clean and neat. Base 64 converter Convert images and texts into base64 and decode them too. BooksFinder Uses openlibrary api to find details of many books. RecipeFinder Uses themealdb api to find images and recipe to find food items Dictionary Uses Dictionary api to get meaning and other information about words ir phrases Pomodaro Timer Focus,take break and acheive your gols through pomodaro timer. CSS Gradient Generator Make CSS Gradients by selecting colors only and instantly copy the code. If u find this helpful please give better ratings. Thankyou for rating my project.
FrictionHub FrictionHub is a small collection of Quality of Life improving miniweb tools made with html css and js only. Added PWA setup to the website Go to https://frictionhub.devlkakkoth.me In the browser settings click Addto homescreen Then click Install . the PWA will be installed to your home screen Features CopyBoard Here you can save frequently used texts emails etc inside your browser storage Password Generator You can save 100% secure and random passwords. and save it in your browser storage. so if you forgot it you can retrive it again. Text Cleaner You can clean a large messy text by removing empty lines. unwanted spaces and more. Case Conveter Convert a large text into different cases like uppercase lowercase sentnce case etc… Shopping List Create and manage shopping lists and save them as PDF files. Color converter For html coders converting color codes are difficult. Find and replace Finding and replacing some texts from long paragraphs areuch boring stuff. Currency converter Buying items with international cards are very hard to find exhchange rates and converting qr code generator instead of sending urls using url we can enter sites using scanning. text difference finder finding small small differences in texts paragraphs are very boring url cleaner remove tracking ids and unwanted things from url. Weather dashboard find the weather of a city by searching simply. Code formatter Formats html css js and python codes clean and neat. Base 64 converter Convert images and texts into base64 and decode them too. BooksFinder Uses openlibrary api to find details of many books. RecipeFinder Uses themealdb api to find images and recipe to find food items Dictionary Uses Dictionary api to get meaning and other information about words ir phrases Pomodaro Timer Focus,take break and acheive your gols through pomodaro timer. CSS Gradient Generator Make CSS Gradients by selecting colors only and instantly copy the code World Clock Check and analyse the world time and time differnce between zones. Typing speed checker Measure your word per minute using this sub app. Typing is a big support to devlopers. Daily Planner Helpful to those who dont memorize important things. mark as completed when each plan is done Please read my recent Devlog my this ship was completely gone! Due to many reasons I have explained them in my devlogs please read that. While working with the world clock sub app I even lost all my 45 min code and I had to rewrite it. I am being honest that I hasn’t tried to fraud hackatime. I am completely proud of me that since my last ship i am here after long days before cause I was very busy in improving my js and logics. You can see the difference I have made in my js since last ship Thank you. Thsi one is the same copy of my README.md And I have made some changes here....
|
1792961760.2478707
|
1793048160.2478707
|
|
37082
|
Stickytab by @NotSuspiciousProgrammer | Stardance
|
NotSuspiciousProgrammer
|
4
|
31.0
|
301
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-15T23:10:23Z", "hours": 2.0, "multiplier": 8.71, "payout": 23, "blessing": "neutral", "text": "What’s New? I fixed some major bugs in Stickytab, and made updates to adapt to other screen ratios! Now, Stickytab should work well on any screen ratio (you will still receive a warning just in case). What Is Stickytab? Stickytab was originally part of a mission for a custom new tab. Because it is part of a mission, please rate originality based on the components of Stickytab (like my stickies and calendar), and not based on the concept of Stickytab (a custom new tab, which was from the mission). Stickytab is designed to boost productivity, and it features stickies, a calculator, a calendar, and a method for quickly accessing webpages. For more information about the method for webpages, see my README. What Was Challenging? The calendar bug was the hardest to fix. There’s a devlog about it below, describing how I fixed the bug and caused two more bugs in the process. Can anyone else relate to this? Ratings I hope you enjoy exploring Stickytab! Please give descriptive ratings to help me improve :)", "repo": "https://github.com/kpoovakan/stickytab", "demo": "https://kpoovakan.github.io/stickytab/"}, {"ship_num": 2, "ts": "2026-09-01T02:50:52Z", "hours": 11.0, "multiplier": 12.89, "payout": 175, "blessing": "neutral", "text": "This is a customizable New Tab page designed for better productivity!! A sticky manager displays sticky notes, where you can organize reminders for yourself. Add events to a calendar, which displays the current month and the next upcoming month. Save frequently visited sites, quickly search through them using the webpage search bar, and visit the site with keyboard shortcuts! Quickly view the time and date, and access a simple calculator or Desmos calculator. Set preferences in the settings area. For more details about Stickytab’s many features, take a look at my README. In this ship, I had to utilize complex JSON for the calendar component of Stickytab. This challenged me a lot, and I was stuck with my bugs for many hours! Eventually I managed to find all the different bugs, and the calendar is a working component of Stickytab. Please explore my Stickytab project - I hope you find it a useful tool for productivity!! Check out the README file (that’s why it’s called “readme”) before using Stickytab.", "repo": "https://github.com/kpoovakan/stickytab", "demo": "https://kpoovakan.github.io/stickytab/"}, {"ship_num": 3, "ts": "2026-08-07T02:59:18Z", "hours": 9.0, "multiplier": 9.87, "payout": 103, "blessing": "neutral", "text": "Stickytab is a better New Tab page designed for productivity and organization. You can save sticky notes and fill them with reminders, quickly access a calculator, and save frequently visited sites. View the date and time (both 12-hour and 24-hour time formats are supported) and quickly access the README for help anytime. When you enter a URL for a webpage, there is a popup that searches through your saved sites to find a saved site that matches the URL you are entering. You can filter through the results using the up and down arrow keys, and use the enter key to open the site. This can save a lot of time when you are opening websites! You can create reminders for yourself by posting sticky notes on Stickytab. (That’s why it’s called Stickytab!!) Up to twelve stickies can be viewed on the page; additional stickies can be viewed by pressing the corresponding button. Preferences for the default search engine, time format, and Desmos calculator shortcut can be edited and saved locally. One of the most challenging parts of Stickytab was using the browser’s local storage; I have never done that before! The other challenging part was creating the recursive JavaScript function that searches through your saved sites. I somehow managed to fix all my bugs.. and ended up with a complete and fully working New Tab page. Hope you enjoy Stickytab! Feel free to test it out, or look through the README for more information :)", "repo": "https://github.com/kpoovakan/stickytab", "demo": "https://kpoovakan.github.io/stickytab/"}, {"ship_num": 4, "ts": "2026-07-31T16:36:38Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a fully working NewTab page! I call it Stickytab because of my favorite part: you can stick sticky notes on the new tab page! The sticky notes are saved locally to your browser, which means that you can save your sticky notes and see them later, even after you close the page. You can also save sites (kind of like browser bookmarks, but with easier access) to the new tab page, also saved locally to your browser. Figuring out how to access and use local browser storage was the hardest part for me, because it is something I have not done before in JavaScript. It definitely took a lot of W3Schools articles!", "repo": "https://github.com/kpoovakan/stickytab", "demo": "https://kpoovakan.github.io/stickytab/"}]...
|
[{"post_id": 68879, "ts": "202 [{"post_id": 68879, "ts": "2026-09-15T22:52:12Z", "hours": 1.0242, "text": "I worked on Stickytab’s responsiveness! Stickytab now works on all screen ratios. Even so, there’s still a warning for other screen ratios, just in case there’s something I missed. I don’t think I missed anything, but it’s best to be prepared :)"}, {"post_id": 68335, "ts": "2026-09-14T23:22:32Z", "hours": 1.2042, "text": "I found a bug in the calendar component, fixed it in ten minutes. Guess what? That fix caused two more bugs. Those took over an hour of searching through my code to fix, and it was caused by ONE TINY VARIABLE DECLARATION MISTAKE. Like, seriously?? I’m glad my bug is fixed now, and the calendar works properly, but… an hour? For a single variable declaration thingy?? Can anyone else relate to this?"}, {"post_id": 59337, "ts": "2026-09-01T02:18:13Z", "hours": 5.9306, "text": "FINALLY!! The calendar component of Stickytab has been completed! Now, you can add events to the calendar, to the current month or next month. Events can also be removed if they’re cancelled. The events are saved locally to your browser, and their aesthetics can be customized through Stickytab’s settings."}, {"post_id": 54035, "ts": "2026-08-24T19:49:03Z", "hours": 1.5517, "text": "Sneaky bugs… always hiding in the darkest corners of my code. In continuation for working on the calendar component of Stickytab, I fixed all the bugs I could find. I also improved the aesthetics of the calendar, and started some code for the special calendar customization components!"}, {"post_id": 51973, "ts": "2026-08-21T23:33:45Z", "hours": 2.9792, "text": "The core code for a calendar was added to Stickytab! Since I usually use saved sites through the webpage search bar, and not through directly clicking the link in the list on the right, I decided to put a more productive tool in the right-hand side of Stickytab. Sites can still be saved through the “Saved Sites” button - and they are very usable through the helpful webpage search bar! Next I will work on adding cool functions to Stickytab’s calendar!!"}, {"post_id": 49997, "ts": "2026-08-19T00:56:48Z", "hours": 0.8503, "text": "Responsiveness added - sort of! After the second ship, a lot of people talked about the peeving-ness of restricting Stickytab to a 16:9 landscape screen ratio. I edited all three main files - the HTML, CSS, and JS - to support other screen ratios. Stickytab still works best with a 16:9 landscape screen ratio, but now it is physically possible to use it with a different ratio."}, {"post_id": 42400, "ts": "2026-08-07T02:50:57Z", "hours": 1.8253, "text": "Updated the README and fixed hidden bugs throughout Stickytab. I think I’m ready to ship!!"}, {"post_id": 42147, "ts": "2026-08-06T19:10:50Z", "hours": 2.2278, "text": "Squashed all my bugs and added KEYBOARD SHORTCUTS to the search autocomplete! Now it’s easy to navigate through and open saved sites; the up and down arrow keys move through the list, and the enter key opens the site. If you start by typing “s”, then it finds all your saved sites that begin with “s” (not including the http). If you continue by typing “t” to make “st”, then it finds all your saved sites that begin with “st”. To-do: Update and improve the README Preference and site saving with a .json file? Add dotfiles to the repo Add font tags to calculator Add thing where using the arrow to go to the very bottom of the autocomplete list and beyond the bottom will exit the autocomplete to go to root URLs instead of saved ones"}, {"post_id": 41030, "ts": "2026-08-04T23:12:46Z", "hours": 1.1317, "text": "FINALLY!! I finished the recursive JavaScript loop to filter through saved sites and find ones that match the search query. Next I’ll be working on making those results usable, through clickable links and maybe through a keyboard shortcut with the enter key. Bugs to fix: One I found with saving sites without http or https Making this sites window close when a user exits the webpage search and left it blank To-do: Fix bugs (obviously) Add delete button to calculator - I just realized I forgot this Make links clickable (and add keyboard shortcuts?) Make popup div’s height automatically adjust to size of the list? Add a feature for exporting/importing all preferences, sites, and stickies in a .json?"}, {"post_id": 40252, "ts": "2026-08-03T17:35:35Z", "hours": 0.3597, "text": "I added a digit limit to the calculator, for both aesthetic purposes and for the bug that came with rounding JavaScript numbers. I also fixed some bugs regarding local storage saved preferences. Next I’ll start working on what might be the hardest part of Stickytab: a partial autocomplete for the webpage opener using saved sites."}, {"post_id": 40228, "ts": "2026-08-03T17:06:52Z", "hours": 0.4819, "text": "Added calculator customization! There’s a Desmos button on the calculator that allows you to quickly open the Desmos calculator. Now, you can customize your preferred Desmos calculator, saved locally to browser storage."}, {"post_id": 40184, "ts": "2026-08-03T16:17:33Z", "hours": 2.7125, "text": "I finally finished the calculator! Its code was significantly more confusing than I thought it would be, but I somehow managed to fix some of my bugs..? There’s a limit to how many digits are shown, but not how many digits are stored, and JavaScript slightly rounds the digits, so I should work on adding an actual digit limit."}, {"post_id": 33847, "ts": "2026-07-24T02:50:08Z", "hours": 5.8261, "text": "Finished the code for the site saving feature. Now, favorite sites can be saved (locally on your browser) and accessed anytime. The sticky manager is finished for now. I also completed a settings page which can store preferences for time formats and search engines. Time to decide between adding any finishing touches, or shipping this completed project!"}, {"post_id": 32112, "ts": "2026-07-21T01:38:08Z", "hours": 0.4447, "text": "I completed core code for stickies and updated the README. Next I’ll be adding to the other empty spaces of the newtab page. I’m planning for a calculator and saved shorctuts for web addresses, but this is usually what happens when I plan my coding: I plan things I plan some more I don’t follow my plans Anyway, regarding the things I’ve completed for this devlog: I used a different code editor for the stickies (so that I could compile all the graphics into a single HTML file) and I couldn’t figure out how to add Hackatime to it. Hopefully it’ll be fine..? I updated the README with, well, more detailed instructions. The README is still a little vague, so I should add to it later. I can’t think of anything else for this devlog. Back to coding!"}, {"post_id": 32051, "ts": "2026-07-20T22:47:48Z", "hours": 2.9247, "text": "I added basic search engine capabilities to Stickytab! In addition to this, there’s an iframe that’s ready for a file containing the code for the best part of this project: the stickies!! I guess it’s time to start working on those sticky notes before I move on to the other blank parts of the page."}, {"post_id": 31572, "ts": "2026-07-20T02:26:25Z", "hours": 0.2664, "text": "Added basic code files for my Stickytab project!"}]...
|
Title: Stickytab by @NotSuspiciousProgrammer | Sta Title: Stickytab by @NotSuspiciousProgrammer | Stardance
Devlogs:
Added basic code files for my Stickytab project!
I added basic search engine capabilities to Stickytab! In addition to this, there’s an iframe that’s ready for a file containing the code for the best part of this project: the stickies!! I guess it’s time to start working on those sticky notes before I move on to the other blank parts of the page.
I completed core code for stickies and updated the README. Next I’ll be adding to the other empty spaces of the newtab page. I’m planning for a calculator and saved shorctuts for web addresses, but this is usually what happens when I plan my coding: I plan things I plan some more I don’t follow my plans Anyway, regarding the things I’ve completed for this devlog: I used a different code editor for the stickies (so that I could compile all the graphics into a single HTML file) and I couldn’t figure out how to add Hackatime to it. Hopefully it’ll be fine..? I updated the README with, well, more detailed instructions. The README is still a little vague, so I should add to it later. I can’t think of anything else for this devlog. Back to coding!
Finished the code for the site saving feature. Now, favorite sites can be saved (locally on your browser) and accessed anytime. The sticky manager is finished for now. I also completed a settings page which can store preferences for time formats and search engines. Time to decide between adding any finishing touches, or shipping this completed project!
I finally finished the calculator! Its code was significantly more confusing than I thought it would be, but I somehow managed to fix some of my bugs..? There’s a limit to how many digits are shown, but not how many digits are stored, and JavaScript slightly rounds the digits, so I should work on adding an actual digit limit.
Added calculator customization! There’s a Desmos button on the calculator that allows you to quickly open the Desmos calculator. Now, you can customize your preferred Desmos calculator, saved locally to browser storage.
I added a digit limit to the calculator, for both aesthetic purposes and for the bug that came with rounding JavaScript numbers. I also fixed some bugs regarding local storage saved preferences. Next I’ll start working on what might be the hardest part of Stickytab: a partial autocomplete for the webpage opener using saved sites.
FINALLY!! I finished the recursive JavaScript loop to filter through saved sites and find ones that match the search query. Next I’ll be working on making those results usable, through clickable links and maybe through a keyboard shortcut with the enter key. Bugs to fix: One I found with saving sites without http or https Making this sites window close when a user exits the webpage search and left it blank To-do: Fix bugs (obviously) Add delete button to calculator - I just realized I forgot this Make links clickable (and add keyboard shortcuts?) Make popup div’s height automatically adjust to size of the list? Add a feature for exporting/importing all preferences, sites, and stickies in a .json?
Squashed all my bugs and added KEYBOARD SHORTCUTS to the search autocomplete! Now it’s easy to navigate through and open saved sites; the up and down arrow keys move through the list, and the enter key opens the site. If you start by typing “s”, then it finds all your saved sites that begin with “s” (not including the http). If you continue by typing “t” to make “st”, then it finds all your saved sites that begin with “st”. To-do: Update and improve the README Preference and site saving with a .json file? Add dotfiles to the repo Add font tags to calculator Add thing where using the arrow to go to the very bottom of the autocomplete list and beyond the bottom will exit the autocomplete to go to root URLs instead of saved ones
Updated the README and fixed hidden bugs throughout Stickytab. I think I’m ready to ship!!
Responsiveness added - sort of! After the second ship, a lot of people talked about the peeving-ness of restricting Stickytab to a 16:9 landscape screen ratio. I edited all three main files - the HTML, CSS, and JS - to support other screen ratios. Stickytab still works best with a 16:9 landscape screen ratio, but now it is physically possible to use it with a different ratio.
The core code for a calendar was added to Stickytab! Since I usually use saved sites through the webpage search bar, and not through directly clicking the link in the list on the right, I decided to put a more productive tool in the right-hand side of Stickytab. Sites can still be saved through the “Saved Sites” button - and they are very usable through the helpful webpage search bar! Next I will work on adding cool functions to Stickytab’s calendar!!
Sneaky bugs… always hiding in the darkest corners of my code. In continuation for working on the calendar component of Stickytab, I fixed all the bugs I could find. I also improved the aesthetics of the calendar, and started some code for the special calendar customization components!
FINALLY!! The calendar component of Stickytab has been completed! Now, you can add events to the calendar, to the current month or next month. Events can also be removed if they’re cancelled. The events are saved locally to your browser, and their aesthetics can be customized through Stickytab’s settings.
I found a bug in the calendar component, fixed it in ten minutes. Guess what? That fix caused two more bugs. Those took over an hour of searching through my code to fix, and it was caused by ONE TINY VARIABLE DECLARATION MISTAKE. Like, seriously?? I’m glad my bug is fixed now, and the calendar works properly, but… an hour? For a single variable declaration thingy?? Can anyone else relate to this?
I worked on Stickytab’s responsiveness! Stickytab now works on all screen ratios. Even so, there’s still a warning for other screen ratios, just in case there’s something I missed. I don’t think I missed anything, but it’s best to be prepared :)
Ships:
I made a fully working NewTab page! I call it Stickytab because of my favorite part: you can stick sticky notes on the new tab page! The sticky notes are saved locally to your browser, which means that you can save your sticky notes and see them later, even after you close the page. You can also save sites (kind of like browser bookmarks, but with easier access) to the new tab page, also saved locally to your browser. Figuring out how to access and use local browser storage was the hardest part for me, because it is something I have not done before in JavaScript. It definitely took a lot of W3Schools articles!
Stickytab is a better New Tab page designed for productivity and organization. You can save sticky notes and fill them with reminders, quickly access a calculator, and save frequently visited sites. View the date and time (both 12-hour and 24-hour time formats are supported) and quickly access the README for help anytime. When you enter a URL for a webpage, there is a popup that searches through your saved sites to find a saved site that matches the URL you are entering. You can filter through the results using the up and down arrow keys, and use the enter key to open the site. This can save a lot of time when you are opening websites! You can create reminders for yourself by posting sticky notes on Stickytab. (That’s why it’s called Stickytab!!) Up to twelve stickies can be viewed on the page; additional stickies can be viewed by pressing the corresponding button. Preferences for the default search engine, time format, and Desmos calculator shortcut can be edited and saved locally. One of the most challenging parts of Stickytab was using the browser’s local storage; I have never done that before! The other challenging part was creating the recursive JavaScript function that searches through your saved sites. I somehow managed to fix all my bugs.. and ended up with a complete and fully working New Tab page. Hope you enjoy Stickytab! Feel free to test it out, or look through the README for more information :)
This is a customizable New Tab page designed for better productivity!! A sticky manager displays sticky notes, where you can organize reminders for yourself. Add events to a calendar, which displays the current month and the next upcoming month. Save frequently visited sites, quickly search through them using the webpage search bar, and visit the site with keyboard shortcuts! Quickly view the time and date, and access a simple calculator or Desmos calculator. Set preferences in the settings area. For more details about Stickytab’s many features, take a look at my README. In this ship, I had to utilize complex JSON for the calendar component of Stickytab. This challenged me a lot, and I was stuck with my bugs for many hours! Eventually I managed to find all the different bugs, and the calendar is a working component of Stickytab. Please explore my Stickytab project - I hope you find it a useful tool for productivity!! Check out the README file (that’s why it’s called “readme”) before using Stickytab.
What’s New? I fixed some major bugs in Stickytab, and made updates to adapt to other screen ratios! Now, Stickytab should work well on any screen ratio (you will still receive a warning just in case). What Is Stickytab? Stickytab was originally part of a mission for a custom new tab. Because it is part of a mission, please rate originality based on the components of Stickytab (like my stickies and calendar), and not based on the concept of Stickytab (a custom new tab, which was from the mission). Stickytab is designed to boost productivity, and it features stickies, a calculator, a calendar, and a method for quickly accessing webpages. For more information about the method for webpages, see my README. What Was Challenging? The calendar bug was the hardest to fix. There’s a devlog about it below, describing how I fixed the bug and caused two more bugs in the process. Can anyone else relate to this? Ratings I hope you enjoy exploring Stickytab! Please give descriptive ratings to help me improve :)...
|
1792986936.4887545
|
1793073336.4887545
|
|
47491
|
apiKEY by @panda | Stardance
|
panda
|
1
|
0.0
|
300
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T19:50:53Z", "hours": 0.0, "multiplier": 5.0, "payout": 300, "blessing": "neutral", "text": "A physical API key password manager that stores your passwords PHYSICALLY, so you never have to trust a cloud service again nor use a pesky server - all local and extremely portable !", "repo": "https://github.com/mail2adnanyazik-bit/apiKEY", "demo": ""}]...
|
[{"post_id": 56024, "ts": "202 [{"post_id": 56024, "ts": "2024-07-19T00:00:00Z", "hours": 9.0, "text": "IM A GENIUS !!!!! Today i moved my sorry ass back into the makespace, and burned through another switch before finally doing it ! I figured out that the trick to it is using flux so your solder melts easy, then applying solder to the wire first and then only applying flux on the pad and soldering - it took like two hours and i had to use one of those “helping hands” dr octopus thingys but i was feeling like tony stark the entire time. i failed once, then resoldered and tested with a multimeter, and everything beeped like it was supposed to when i poked it ! So basically i cut 3 female to male wires, and soldered just the female parts bare side on to the switch, and stuck the other side on to some GPIO pins on the ESP, and it worked ! … sometimes - my solder joint on one of the switch pads (the one that triggers when you tilt the switch down) was bad, so i had ta resolder that, but then i was fine. So i got back home after playing a round of cards against humanity (rlly cool btw) and then the fun really began. First thing i did when i got home was flash my new and improved software ! i was extremely surprised when it actually worked ! it was just to test if the switch was working (display would say UP, DOWN, and PRESS when i used the button) After that i got cracking, and implemented a 4-digit pin, and the UI for selecting API keys, since i had done everything else yesterday. After 2 hours of trial and error i got it working ! you are able to scroll through numbers by tilting up and down and you can select by pressing down, and it would move on to the next number If ya select it wrong, then you get with this in all caps if ya get it right, you get greeted by a lovely selection of all your stored credentials : then the next part was the actual typing - this was the hardest part. you see, i had initially thought i can just simulate how a usb keyboard or one with a dongle types, but nooo it can never be that easy can it ? well it can’t, cause the esp32 c3 supermini doesn’t have that capability - while it can type, it can only do that over bluetooth, which is rather annoying, but not make or break for the project. So now the esp autoconnects to the laptop via bluetooth and can type in passwords without actually being connected to the laptop - which opens up new possibilites (or old ones cause id thought of this b4 lmao. just ignore, it adds more drama and plot to the journal). Ya see, now the device is basically entirely wireless, except that it needs a pwr source - and you know what a portable power source is ? a power bank - wait what ? no that would be way too bulky - i mean a battery. Thats thoughts for later tho. I lost the plot a bit. where was I ? Oh yeah, the typing. Ok, so after finishing the bluetooth typing program even though my device thought it was typing, nothing showed up on my laptop. that wasn’t good. So i had ta tweak my script a bunch to find out where the problem was, just to find out that the problem couldn’t be with my code. So it had to be with my laptop. So i had to do a LOT of research (and deepseek pestering) to find the most obvious culprit : MacOS being paranoid. Ya see, macos needs some stupid bullshit security stuff that aint important at all. Since i was not a fan of that, i basically just asked opencode to “make code work, make code faster”. So it optimized and fixed my code to be all cushy with macos again. then i clicked on one of the test api keys, and it worked ! but it didn’t enter the last letter …. Ugh. So i went back in the code, made a number 1 higher, and also made it press enter at the end, and it works !!!!! I CANNOT BELIEVE IT ! IM done ! Ok, not quite. I still have to decide if im adding a battery, and i gotta go back to the makespace, glue this shit together (so it doesnt rip off again when i move it) and then make a nice lil case [Entry truncated]"}, {"post_id": 55994, "ts": "2024-07-19T00:00:00Z", "hours": 9.0, "text": "IM A GENIUS !!!!! Today i moved my sorry ass back into the makespace, and burned through another switch before finally doing it ! I figured out that the trick to it is using flux so your solder melts easy, then applying solder to the wire first and then only applying flux on the pad and soldering - it took like two hours and i had to use one of those “helping hands” dr octopus thingys but i was feeling like tony stark the entire time. i failed once, then resoldered and tested with a multimeter, and everything beeped like it was supposed to when i poked it ! So basically i cut 3 female to male wires, and soldered just the female parts bare side on to the switch, and stuck the other side on to some GPIO pins on the ESP, and it worked ! … sometimes - my solder joint on one of the switch pads (the one that triggers when you tilt the switch down) was bad, so i had ta resolder that, but then i was fine. So i got back home after playing a round of cards against humanity (rlly cool btw) and then the fun really began. First thing i did when i got home was flash my new and improved software ! i was extremely surprised when it actually worked ! it was just to test if the switch was working (display would say UP, DOWN, and PRESS when i used the button) After that i got cracking, and implemented a 4-digit pin, and the UI for selecting API keys, since i had done everything else yesterday. After 2 hours of trial and error i got it working ! you are able to scroll through numbers by tilting up and down and you can select by pressing down, and it would move on to the next number If ya select it wrong, then you get with this in all caps if ya get it right, you get greeted by a lovely selection of all your stored credentials : then the next part was the actual typing - this was the hardest part. you see, i had initially thought i can just simulate how a usb keyboard or one with a dongle types, but nooo it can never be that easy can it ? well it can’t, cause the esp32 c3 supermini doesn’t have that capability - while it can type, it can only do that over bluetooth, which is rather annoying, but not make or break for the project. So now the esp autoconnects to the laptop via bluetooth and can type in passwords without actually being connected to the laptop - which opens up new possibilites (or old ones cause id thought of this b4 lmao. just ignore, it adds more drama and plot to the journal). Ya see, now the device is basically entirely wireless, except that it needs a pwr source - and you know what a portable power source is ? a power bank - wait what ? no that would be way too bulky - i mean a battery. Thats thoughts for later tho. I lost the plot a bit. where was I ? Oh yeah, the typing. Ok, so after finishing the bluetooth typing program even though my device thought it was typing, nothing showed up on my laptop. that wasn’t good. So i had ta tweak my script a bunch to find out where the problem was, just to find out that the problem couldn’t be with my code. So it had to be with my laptop. So i had to do a LOT of research (and deepseek pestering) to find the most obvious culprit : MacOS being paranoid. Ya see, macos needs some stupid bullshit security stuff that aint important at all. Since i was not a fan of that, i basically just asked opencode to “make code work, make code faster”. So it optimized and fixed my code to be all cushy with macos again. then i clicked on one of the test api keys, and it worked ! but it didn’t enter the last letter …. Ugh. So i went back in the code, made a number 1 higher, and also made it press enter at the end, and it works !!!!! I CANNOT BELIEVE IT ! IM done ! Ok, not quite. I still have to decide if im adding a battery, and i gotta go back to the makespace, glue this shit together (so it doesnt rip off again when i move it) and then make a nice lil case [Entry truncated]"}, {"post_id": 56023, "ts": "2024-07-18T00:00:00Z", "hours": 6.0, "text": "Yeah, i fcked up big time. I first tried soldering the ESP32 c3 supermini to the display - this was damn hard. I first took a thick ass cable that kept touching the other pins on the supermini, but still pressed through - and well, it didn’t work. It took like an hour to solder the shit on, and it was damn hard cause the space between the pins was tiny and i have next to no experience with soldering, but i pressed through, and it ended up not working. So i removed all the wires again, used thinner wires, and then it didn’t work AGAIN cause some of the non covered parts of the wires were exposed. UGHHH right ? Then i tried again, and also put some solder on the wire so that it sticks and doesn’t like wierdly frizzle, then soldered everything again and then put like a TON of tape on it for insulation, then decided it was too much tape and took it off. Anyway, that finally worked, so tadaa ! then came the horrible part : the damn switches. You see, these damn switches use SMD. Thats bad enough. Then THEY HAVE THE AUDACITY TO F$#@!ng MELT WHEN YOU try and solder something on the pad - i mean it literally. The damn thing would honest to god literally damn melt when i tried to solder wires on it. And as if that aint bad enough it also has balls enough to literally lose its PADS - the literally just come off, and then theres nothing to attach the damn wires to ! Needless to say, i burnt, melted, snapped andraged through 4 switches - and it wasn’t just my fault either : Sure, the first time i was careless, but the second time i took as much care as a literal surgeon doing brain surgery, and the pad still snapped of and left me fuming. Then i gave it to my friend whos been soldering for literal years - and he fucked up twice too. So yea, whoever made these switches, FUDGE them. (mom, if you read this, i really tried, i really did) I pretty much spent the entire day at the makespace, and i made barely any progress. Btw i managed to melt an esp by going too close to it with a hot air solder gun, and i also managed to melt my display. Today was pretty much a waste."}, {"post_id": 55993, "ts": "2024-07-18T00:00:00Z", "hours": 6.0, "text": "Yeah, i fcked up big time. I first tried soldering the ESP32 c3 supermini to the display - this was damn hard. I first took a thick ass cable that kept touching the other pins on the supermini, but still pressed through - and well, it didn’t work. It took like an hour to solder the shit on, and it was damn hard cause the space between the pins was tiny and i have next to no experience with soldering, but i pressed through, and it ended up not working. So i removed all the wires again, used thinner wires, and then it didn’t work AGAIN cause some of the non covered parts of the wires were exposed. UGHHH right ? Then i tried again, and also put some solder on the wire so that it sticks and doesn’t like wierdly frizzle, then soldered everything again and then put like a TON of tape on it for insulation, then decided it was too much tape and took it off. Anyway, that finally worked, so tadaa ! then came the horrible part : the damn switches. You see, these damn switches use SMD. Thats bad enough. Then THEY HAVE THE AUDACITY TO F$#@!ng MELT WHEN YOU try and solder something on the pad - i mean it literally. The damn thing would honest to god literally damn melt when i tried to solder wires on it. And as if that aint bad enough it also has balls enough to literally lose its PADS - the literally just come off, and then theres nothing to attach the damn wires to ! Needless to say, i burnt, melted, snapped andraged through 4 switches - and it wasn’t just my fault either : Sure, the first time i was careless, but the second time i took as much care as a literal surgeon doing brain surgery, and the pad still snapped of and left me fuming. Then i gave it to my friend whos been soldering for literal years - and he fucked up twice too. So yea, whoever made these switches, FUDGE them. (mom, if you read this, i really tried, i really did) I pretty much spent the entire day at the makespace, and i made barely any progress. Btw i managed to melt an esp by going too close to it with a hot air solder gun, and i also managed to melt my display. Today was pretty much a waste."}, {"post_id": 56022, "ts": "2024-07-17T00:00:00Z", "hours": 7.0, "text": "ok, i pretty much got everything workin except the switch - ill go from good to bad, alright ? so now my login page fully works and can be deployed by the ESP32 (its in the flash), and also storing API keys - im using something called LittleFS to store them even when there is no power Basically this is the boot sequence : Boot sequence (main.cpp) Serial + OLED init — boots and shows “booting…” LittleFS init — mounts the flash filesystem where the vault file lives WiFi starts immediately — creates the ApiKEY access point at 192.168.4.1. Web server starts serving the login page. Works before any PIN is entered. Vault check — opens /vault.dat, reads the 4-byte magic number APIK to see if a vault exists If no vault (first boot): waits for you to create a PIN via serial (or buttons once wired). Creates an empty vault, encrypts it, saves it to flash. If vault exists: waits for PIN via serial (or you can just use the web UI instead) Loads vault — tries to decrypt with the entered PIN BLE keyboard starts — advertises itself as “ApiKEY” bluetooth keyboard WiFi / Web UI (web.cpp) The ESP32 is a WiFi access point — your phone connects directly to it, no router needed. SSID: ApiKEY, password: apikey123 Serves a dark-themed web page at 192.168.4.1 Login page → enter PIN → Manage page → add/delete/view keys The key change we just made: the web login actually tries to decrypt the vault with whatever PIN you type (handleLogin calls loadVault). So the web UI works independently — you don’t need to enter the PIN on serial first. If the decryption succeeds, it sets authenticated = true and stores the PIN for later re-encryption. And for once, everything works like its supposed to ( please don’t let thisn be a jinx ) - I know right ? it has to be a miracle ! Now comes the bad part. So after i was done with all this, i started on tryna add the switch. I luckily had brought 2 from xHain, but i unfortunatelty did NOT know how they worked. Luckily i had a Multimeter, and unfaltering determination (for now) I basically started poking the pins until something went beep, then tried angling and pressing the switch, while still hunting beeps. Let me tell you, this was grueling - i only got 2 hands, and i had to hold : multimeter red needle on to a tiny pin multimeter black needle on to an even smaller pin sob the switch thats smaller than my fingernail so that it stops wiggling and turning the actual switch part thats smaller than idk i dont gotta comparison here - and i gotta angle it without turning the whole switche Man, i wish i had 5 hands. Evolutions such a bitch, why not let us all have 6 hands with 10 fingers ? Anyway, even after doing all that and poking every single pin or pad or anything even remotely shiny on the switch with the pin i finally moved on to the second switch and it beeped first try. FIRST TRY . turns out my first switch was broken, and the second wasn’t. Yeah. It probably died of agressive poking. Anyway, i then was ready to connect the switch, but guess what ? i ran out of solder, and the damn thing uses SMD pads. And for some damn reason i dont got a hot glue gun. sigh you’ve gotta be kidding me. Im gonna go to the makespace tmrw, and then solder it on SOOOO .. im basically done with everything except adding the switch, testing my keyboard, and making a case for it ! Now the next thing to decide is if im making the thing wireless - its really not that hard, the ESP does all the actual hard stuff for me - all i would have to do is add a power source. I still want to keep it low profile tho, since this is gonna go on my keyring - we’ll see."}, {"post_id": 55992, "ts": "2024-07-17T00:00:00Z", "hours": 7.0, "text": "ok, i pretty much got everything workin except the switch - ill go from good to bad, alright ? so now my login page fully works and can be deployed by the ESP32 (its in the flash), and also storing API keys - im using something called LittleFS to store them even when there is no power Basically this is the boot sequence : Boot sequence (main.cpp) Serial + OLED init — boots and shows “booting…” LittleFS init — mounts the flash filesystem where the vault file lives WiFi starts immediately — creates the ApiKEY access point at 192.168.4.1. Web server starts serving the login page. Works before any PIN is entered. Vault check — opens /vault.dat, reads the 4-byte magic number APIK to see if a vault exists If no vault (first boot): waits for you to create a PIN via serial (or buttons once wired). Creates an empty vault, encrypts it, saves it to flash. If vault exists: waits for PIN via serial (or you can just use the web UI instead) Loads vault — tries to decrypt with the entered PIN BLE keyboard starts — advertises itself as “ApiKEY” bluetooth keyboard WiFi / Web UI (web.cpp) The ESP32 is a WiFi access point — your phone connects directly to it, no router needed. SSID: ApiKEY, password: apikey123 Serves a dark-themed web page at 192.168.4.1 Login page → enter PIN → Manage page → add/delete/view keys The key change we just made: the web login actually tries to decrypt the vault with whatever PIN you type (handleLogin calls loadVault). So the web UI works independently — you don’t need to enter the PIN on serial first. If the decryption succeeds, it sets authenticated = true and stores the PIN for later re-encryption. And for once, everything works like its supposed to ( please don’t let thisn be a jinx ) - I know right ? it has to be a miracle ! Now comes the bad part. So after i was done with all this, i started on tryna add the switch. I luckily had brought 2 from xHain, but i unfortunatelty did NOT know how they worked. Luckily i had a Multimeter, and unfaltering determination (for now) I basically started poking the pins until something went beep, then tried angling and pressing the switch, while still hunting beeps. Let me tell you, this was grueling - i only got 2 hands, and i had to hold : multimeter red needle on to a tiny pin multimeter black needle on to an even smaller pin sob the switch thats smaller than my fingernail so that it stops wiggling and turning the actual switch part thats smaller than idk i dont gotta comparison here - and i gotta angle it without turning the whole switche Man, i wish i had 5 hands. Evolutions such a bitch, why not let us all have 6 hands with 10 fingers ? Anyway, even after doing all that and poking every single pin or pad or anything even remotely shiny on the switch with the pin i finally moved on to the second switch and it beeped first try. FIRST TRY . turns out my first switch was broken, and the second wasn’t. Yeah. It probably died of agressive poking. Anyway, i then was ready to connect the switch, but guess what ? i ran out of solder, and the damn thing uses SMD pads. And for some damn reason i dont got a hot glue gun. sigh you’ve gotta be kidding me. Im gonna go to the makespace tmrw, and then solder it on SOOOO .. im basically done with everything except adding the switch, testing my keyboard, and making a case for it ! Now the next thing to decide is if im making the thing wireless - its really not that hard, the ESP does all the actual hard stuff for me - all i would have to do is add a power source. I still want to keep it low profile tho, since this is gonna go on my keyring - we’ll see."}, {"post_id": 55991, "ts": "2024-07-16T00:00:00Z", "hours": 6.0, "text": "Alright, so today i was able to pick up the switch, but before i add it i want the core mechanics working first. First thing i had ta do was figure out how to store the API keys, and how to add and remove em. I already had an idea going since the start, and thats also one of the reasons i used an ESP32 - you see the ESP has Bluetooth and WiFi. That means it can fetch stuff from the internet. So my first idea for adding/removing API keys was this : The ESP32 fetches data from the API of a pwd manager app - so the flow for adding and removing passwords and API keys is just to add them to your password manager - simple right ? answer is no, as most of these API’s arent well documented and would add unnecessary complexity, and the device wouldn’t work if im not at home, as it would need WiFi to fetch stuff. Then i thought maybe i could just directly flash the Keys, but i scrapped that pretty quickly cause then id have ta open an IDE, manually change code, etc. Also it would have to be plugged into my laptop, even though i wanted to keep the possibility of turning the entire thing bluetooth alive. The idea that finally clicked needed a bit of research : You see, i was scrolling youtube and saw one of those “top 3 things to use an ESP for” videos, and watched till the end - and the first thing the dude showed was that an ESP can actually broadcast its OWN WiFI that can host webpages. I mean how cool is that ? So i got my ESP to broadcast a network called APIKey. Then with a bit of help from opencode, i was able to code a nice frontend to just add/remove passwords. Then i decided i also wanted to implement a pin, so noone can get their grubby lil fingers on py passwords. So i added that to my website, and i will later add that to the physical key too - ill enter the pin by using the 2 way switch to select numbers from 0 - 9. Now your probably wondering how ta open the website, and thats the simplest part - its literally just hosted locally on the ESP, so ya just enter http://192.168.4.1 and tadaaaa : for now the wifi password is literally apikey123 and the pin is a symbolic 1 2 3 4 Thats it for today, but on a side note, i picked up the switch and will add it tmrw :D"}, {"post_id": 56020, "ts": "2024-07-16T00:00:00Z", "hours": 2.0, "text": "I saw one of these at my makespace ( i know your jealous ) but forgot to take a irl pic, found it online tho i think this is good, i might change later tho This can be pushed forward, back, and pressed down, so its great for selecting stuff After that i just worked on connecting the display - i followed the tutorial at https://www.instructables.com/Arduino-and-the-SSD1306-OLED-I2C-128x64-Display/ , but the Arduino IDE was being a bish, and the I2C scanner wasn’t working - there were 2 reasons : First, I had the wrong I2C scanning program twice (it wasn’t compatible with ESP32, it was only meant for arduino) Second, there is a tiny difference in some displays - most use 0x3C with SA0 pin pulled low, but some use 0x3D with SA0 pin pulled high, whatever the hell that means. Third, and i saved the best for last, i was giving it 3.3V which should have worked, but again, it was a should . So i switched to +5V VDD, and it started up ! I just wanted to test the display was working, but it turned into a real marathon. Anyway, i wasn’t sure if i had space for Hello World, so heres just a hello : Also, im realizing now, i definetely have space for that, since there are two rows for text. lmao. Anyway, im signing off today, and i’ll be back tmrw, because first its late now, and also i forgot to take the lil switch with me, so tomorrow i gotta go pick it up from xHain (my makespace even has a cool name :P)"}, {"post_id": 56021, "ts": "2024-07-16T00:00:00Z", "hours": 6.0, "text": "Alright, so today i was able to pick up the switch, but before i add it i want the core mechanics working first. First thing i had ta do was figure out how to store the API keys, and how to add and remove em. I already had an idea going since the start, and thats also one of the reasons i used an ESP32 - you see the ESP has Bluetooth and WiFi. That means it can fetch stuff from the internet. So my first idea for adding/removing API keys was this : The ESP32 fetches data from the API of a pwd manager app - so the flow for adding and removing passwords and API keys is just to add them to your password manager - simple right ? answer is no, as most of these API’s arent well documented and would add unnecessary complexity, and the device wouldn’t work if im not at home, as it would need WiFi to fetch stuff. Then i thought maybe i could just directly flash the Keys, but i scrapped that pretty quickly cause then id have ta open an IDE, manually change code, etc. Also it would have to be plugged into my laptop, even though i wanted to keep the possibility of turning the entire thing bluetooth alive. The idea that finally clicked needed a bit of research : You see, i was scrolling youtube and saw one of those “top 3 things to use an ESP for” videos, and watched till the end - and the first thing the dude showed was that an ESP can actually broadcast its OWN WiFI that can host webpages. I mean how cool is that ? So i got my ESP to broadcast a network called APIKey. Then with a bit of help from opencode, i was able to code a nice frontend to just add/remove passwords. Then i decided i also wanted to implement a pin, so noone can get their grubby lil fingers on py passwords. So i added that to my website, and i will later add that to the physical key too - ill enter the pin by using the 2 way switch to select numbers from 0 - 9. Now your probably wondering how ta open the website, and thats the simplest part - its literally just hosted locally on the ESP, so ya just enter http://192.168.4.1 and tadaaaa : for now the wifi password is literally apikey123 and the pin is a symbolic 1 2 3 4 Thats it for today, but on a side note, i picked up the switch and will add it tmrw :D"}, {"post_id": 55990, "ts": "2024-07-16T00:00:00Z", "hours": 2.0, "text": "I saw one of these at my makespace ( i know your jealous ) but forgot to take a irl pic, found it online tho i think this is good, i might change later tho This can be pushed forward, back, and pressed down, so its great for selecting stuff After that i just worked on connecting the display - i followed the tutorial at https://www.instructables.com/Arduino-and-the-SSD1306-OLED-I2C-128x64-Display/ , but the Arduino IDE was being a bish, and the I2C scanner wasn’t working - there were 2 reasons : First, I had the wrong I2C scanning program twice (it wasn’t compatible with ESP32, it was only meant for arduino) Second, there is a tiny difference in some displays - most use 0x3C with SA0 pin pulled low, but some use 0x3D with SA0 pin pulled high, whatever the hell that means. Third, and i saved the best for last, i was giving it 3.3V which should have worked, but again, it was a should . So i switched to +5V VDD, and it started up ! I just wanted to test the display was working, but it turned into a real marathon. Anyway, i wasn’t sure if i had space for Hello World, so heres just a hello : Also, im realizing now, i definetely have space for that, since there are two rows for text. lmao. Anyway, im signing off today, and i’ll be back tmrw, because first its late now, and also i forgot to take the lil switch with me, so tomorrow i gotta go pick it up from xHain (my makespace even has a cool name :P)"}]...
|
Title: apiKEY by @panda | Stardance
Devlogs:
I sa Title: apiKEY by @panda | Stardance
Devlogs:
I saw one of these at my makespace ( i know your jealous ) but forgot to take a irl pic, found it online tho i think this is good, i might change later tho This can be pushed forward, back, and pressed down, so its great for selecting stuff After that i just worked on connecting the display - i followed the tutorial at https://www.instructables.com/Arduino-and-the-SSD1306-OLED-I2C-128x64-Display/ , but the Arduino IDE was being a bish, and the I2C scanner wasn’t working - there were 2 reasons : First, I had the wrong I2C scanning program twice (it wasn’t compatible with ESP32, it was only meant for arduino) Second, there is a tiny difference in some displays - most use 0x3C with SA0 pin pulled low, but some use 0x3D with SA0 pin pulled high, whatever the hell that means. Third, and i saved the best for last, i was giving it 3.3V which should have worked, but again, it was a should . So i switched to +5V VDD, and it started up ! I just wanted to test the display was working, but it turned into a real marathon. Anyway, i wasn’t sure if i had space for Hello World, so heres just a hello : Also, im realizing now, i definetely have space for that, since there are two rows for text. lmao. Anyway, im signing off today, and i’ll be back tmrw, because first its late now, and also i forgot to take the lil switch with me, so tomorrow i gotta go pick it up from xHain (my makespace even has a cool name :P)
Alright, so today i was able to pick up the switch, but before i add it i want the core mechanics working first. First thing i had ta do was figure out how to store the API keys, and how to add and remove em. I already had an idea going since the start, and thats also one of the reasons i used an ESP32 - you see the ESP has Bluetooth and WiFi. That means it can fetch stuff from the internet. So my first idea for adding/removing API keys was this : The ESP32 fetches data from the API of a pwd manager app - so the flow for adding and removing passwords and API keys is just to add them to your password manager - simple right ? answer is no, as most of these API’s arent well documented and would add unnecessary complexity, and the device wouldn’t work if im not at home, as it would need WiFi to fetch stuff. Then i thought maybe i could just directly flash the Keys, but i scrapped that pretty quickly cause then id have ta open an IDE, manually change code, etc. Also it would have to be plugged into my laptop, even though i wanted to keep the possibility of turning the entire thing bluetooth alive. The idea that finally clicked needed a bit of research : You see, i was scrolling youtube and saw one of those “top 3 things to use an ESP for” videos, and watched till the end - and the first thing the dude showed was that an ESP can actually broadcast its OWN WiFI that can host webpages. I mean how cool is that ? So i got my ESP to broadcast a network called APIKey. Then with a bit of help from opencode, i was able to code a nice frontend to just add/remove passwords. Then i decided i also wanted to implement a pin, so noone can get their grubby lil fingers on py passwords. So i added that to my website, and i will later add that to the physical key too - ill enter the pin by using the 2 way switch to select numbers from 0 - 9. Now your probably wondering how ta open the website, and thats the simplest part - its literally just hosted locally on the ESP, so ya just enter http://192.168.4.1 and tadaaaa : for now the wifi password is literally apikey123 and the pin is a symbolic 1 2 3 4 Thats it for today, but on a side note, i picked up the switch and will add it tmrw :D
I saw one of these at my makespace ( i know your jealous ) but forgot to take a irl pic, found it online tho i think this is good, i might change later tho This can be pushed forward, back, and pressed down, so its great for selecting stuff After that i just worked on connecting the display - i followed the tutorial at https://www.instructables.com/Arduino-and-the-SSD1306-OLED-I2C-128x64-Display/ , but the Arduino IDE was being a bish, and the I2C scanner wasn’t working - there were 2 reasons : First, I had the wrong I2C scanning program twice (it wasn’t compatible with ESP32, it was only meant for arduino) Second, there is a tiny difference in some displays - most use 0x3C with SA0 pin pulled low, but some use 0x3D with SA0 pin pulled high, whatever the hell that means. Third, and i saved the best for last, i was giving it 3.3V which should have worked, but again, it was a should . So i switched to +5V VDD, and it started up ! I just wanted to test the display was working, but it turned into a real marathon. Anyway, i wasn’t sure if i had space for Hello World, so heres just a hello : Also, im realizing now, i definetely have space for that, since there are two rows for text. lmao. Anyway, im signing off today, and i’ll be back tmrw, because first its late now, and also i forgot to take the lil switch with me, so tomorrow i gotta go pick it up from xHain (my makespace even has a cool name :P)
Alright, so today i was able to pick up the switch, but before i add it i want the core mechanics working first. First thing i had ta do was figure out how to store the API keys, and how to add and remove em. I already had an idea going since the start, and thats also one of the reasons i used an ESP32 - you see the ESP has Bluetooth and WiFi. That means it can fetch stuff from the internet. So my first idea for adding/removing API keys was this : The ESP32 fetches data from the API of a pwd manager app - so the flow for adding and removing passwords and API keys is just to add them to your password manager - simple right ? answer is no, as most of these API’s arent well documented and would add unnecessary complexity, and the device wouldn’t work if im not at home, as it would need WiFi to fetch stuff. Then i thought maybe i could just directly flash the Keys, but i scrapped that pretty quickly cause then id have ta open an IDE, manually change code, etc. Also it would have to be plugged into my laptop, even though i wanted to keep the possibility of turning the entire thing bluetooth alive. The idea that finally clicked needed a bit of research : You see, i was scrolling youtube and saw one of those “top 3 things to use an ESP for” videos, and watched till the end - and the first thing the dude showed was that an ESP can actually broadcast its OWN WiFI that can host webpages. I mean how cool is that ? So i got my ESP to broadcast a network called APIKey. Then with a bit of help from opencode, i was able to code a nice frontend to just add/remove passwords. Then i decided i also wanted to implement a pin, so noone can get their grubby lil fingers on py passwords. So i added that to my website, and i will later add that to the physical key too - ill enter the pin by using the 2 way switch to select numbers from 0 - 9. Now your probably wondering how ta open the website, and thats the simplest part - its literally just hosted locally on the ESP, so ya just enter http://192.168.4.1 and tadaaaa : for now the wifi password is literally apikey123 and the pin is a symbolic 1 2 3 4 Thats it for today, but on a side note, i picked up the switch and will add it tmrw :D
ok, i pretty much got everything workin except the switch - ill go from good to bad, alright ? so now my login page fully works and can be deployed by the ESP32 (its in the flash), and also storing API keys - im using something called LittleFS to store them even when there is no power Basically this is the boot sequence : Boot sequence (main.cpp) Serial + OLED init — boots and shows “booting…” LittleFS init — mounts the flash filesystem where the vault file lives WiFi starts immediately — creates the ApiKEY access point at 192.168.4.1. Web server starts serving the login page. Works before any PIN is entered. Vault check — opens /vault.dat, reads the 4-byte magic number APIK to see if a vault exists If no vault (first boot): waits for you to create a PIN via serial (or buttons once wired). Creates an empty vault, encrypts it, saves it to flash. If vault exists: waits for PIN via serial (or you can just use the web UI instead) Loads vault — tries to decrypt with the entered PIN BLE keyboard starts — advertises itself as “ApiKEY” bluetooth keyboard WiFi / Web UI (web.cpp) The ESP32 is a WiFi access point — your phone connects directly to it, no router needed. SSID: ApiKEY, password: apikey123 Serves a dark-themed web page at 192.168.4.1 Login page → enter PIN → Manage page → add/delete/view keys The key change we just made: the web login actually tries to decrypt the vault with whatever PIN you type (handleLogin calls loadVault). So the web UI works independently — you don’t need to enter the PIN on serial first. If the decryption succeeds, it sets authenticated = true and stores the PIN for later re-encryption. And for once, everything works like its supposed to ( please don’t let thisn be a jinx ) - I know right ? it has to be a miracle ! Now comes the bad part. So after i was done with all this, i started on tryna add the switch. I luckily had brought 2 from xHain, but i unfortunatelty did NOT know how they worked. Luckily i had a Multimeter, and unfaltering determination (for now) I basically started poking the pins until something went beep, then tried angling and pressing the switch, while still hunting beeps. Let me tell you, this was grueling - i only got 2 hands, and i had to hold : multimeter red needle on to a tiny pin multimeter black needle on to an even smaller pin sob the switch thats smaller than my fingernail so that it stops wiggling and turning the actual switch part thats smaller than idk i dont gotta comparison here - and i gotta angle it without turning the whole switche Man, i wish i had 5 hands. Evolutions such a bitch, why not let us all have 6 hands with 10 fingers ? Anyway, even after doing all that and poking every single pin or pad or anything even remotely shiny on the switch with the pin i finally moved on to the second switch and it beeped first try. FIRST TRY . turns out my first switch was broken, and the second wasn’t. Yeah. It probably died of agressive poking. Anyway, i then was ready to connect the switch, but guess what ? i ran out of solder, and the damn thing uses SMD pads. And for some damn reason i dont got a hot glue gun. sigh you’ve gotta be kidding me. Im gonna go to the makespace tmrw, and then solder it on SOOOO .. im basically done with everything except adding the switch, testing my keyboard, and making a case for it ! Now the next thing to decide is if im making the thing wireless - its really not that hard, the ESP does all the actual hard stuff for me - all i would have to do is add a power source. I still want to keep it low profile tho, since this is gonna go on my keyring - we’ll see.
ok, i pretty much got everything workin except the switch - ill go from good to bad, alright ? so now my login page fully works and can be deployed by the ESP32 (its in the flash), and also storing API keys - im using something called LittleFS to store them even when there is no power Basically this is the boot sequence : Boot sequence (main.cpp) Serial + OLED init — boots and shows “booting…” LittleFS init — mounts the flash filesystem where the vault file lives WiFi starts immediately — creates the ApiKEY access point at 192.168.4.1. Web server starts serving the login page. Works before any PIN is entered. Vault check — opens /vault.dat, reads the 4-byte magic number APIK to see if a vault exists If no vault (first boot): waits for you to create a PIN via serial (or buttons once wired). Creates an empty vault, encrypts it, saves it to flash. If vault exists: waits for PIN via serial (or you can just use the web UI instead) Loads vault — tries to decrypt with the entered PIN BLE keyboard starts — advertises itself as “ApiKEY” bluetooth keyboard WiFi / Web UI (web.cpp) The ESP32 is a WiFi access point — your phone connects directly to it, no router needed. SSID: ApiKEY, password: apikey123 Serves a dark-themed web page at 192.168.4.1 Login page → enter PIN → Manage page → add/delete/view keys The key change we just made: the web login actually tries to decrypt the vault with whatever PIN you type (handleLogin calls loadVault). So the web UI works independently — you don’t need to enter the PIN on serial first. If the decryption succeeds, it sets authenticated = true and stores the PIN for later re-encryption. And for once, everything works like its supposed to ( please don’t let thisn be a jinx ) - I know right ? it has to be a miracle ! Now comes the bad part. So after i was done with all this, i started on tryna add the switch. I luckily had brought 2 from xHain, but i unfortunatelty did NOT know how they worked. Luckily i had a Multimeter, and unfaltering determination (for now) I basically started poking the pins until something went beep, then tried angling and pressing the switch, while still hunting beeps. Let me tell you, this was grueling - i only got 2 hands, and i had to hold : multimeter red needle on to a tiny pin multimeter black needle on to an even smaller pin sob the switch thats smaller than my fingernail so that it stops wiggling and turning the actual switch part thats smaller than idk i dont gotta comparison here - and i gotta angle it without turning the whole switche Man, i wish i had 5 hands. Evolutions such a bitch, why not let us all have 6 hands with 10 fingers ? Anyway, even after doing all that and poking every single pin or pad or anything even remotely shiny on the switch with the pin i finally moved on to the second switch and it beeped first try. FIRST TRY . turns out my first switch was broken, and the second wasn’t. Yeah. It probably died of agressive poking. Anyway, i then was ready to connect the switch, but guess what ? i ran out of solder, and the damn thing uses SMD pads. And for some damn reason i dont got a hot glue gun. sigh you’ve gotta be kidding me. Im gonna go to the makespace tmrw, and then solder it on SOOOO .. im basically done with everything except adding the switch, testing my keyboard, and making a case for it ! Now the next thing to decide is if im making the thing wireless - its really not that hard, the ESP does all the actual hard stuff for me - all i would have to do is add a power source. I still want to keep it low profile tho, since this is gonna go on my keyring - we’ll see.
Yeah, i fcked up big time. I first tried soldering the ESP32 c3 supermini to the display - this was damn hard. I first took a thick ass cable that kept touching the other pins on the supermini, but still pressed through - and well, it didn’t work. It took like an hour to solder the shit on, and it was damn hard cause the space between the pins was tiny and i have next to no experience with soldering, but i pressed through, and it ended up not working. So i removed all the wires again, used thinner wires, and then it didn’t work AGAIN cause some of the non covered parts of the wires were exposed. UGHHH right ? Then i tried again, and also put some solder on the wire so that it sticks and doesn’t like wierdly frizzle, then soldered everything again and then put like a TON of tape on it for insulation, then decided it was too much tape and took it off. Anyway, that finally worked, so tadaa ! then came the horrible part : the damn switches. You see, these damn switches use SMD. Thats bad enough. Then THEY HAVE THE AUDACITY TO F$#@!ng MELT WHEN YOU try and solder something on the pad - i mean it literally. The damn thing would honest to god literally damn melt when i tried to solder wires on it. And as if that aint bad enough it also has balls enough to literally lose its PADS - the literally just come off, and then theres nothing to attach the damn wires to ! Needless to say, i burnt, melted, snapped andraged through 4 switches - and it wasn’t just my fault either : Sure, the first time i was careless, but the second time i took as much care as a literal surgeon doing brain surgery, and the pad still snapped of and left me fuming. Then i gave it to my friend whos been soldering for literal years - and he fucked up twice too. So yea, whoever made these switches, FUDGE them. (mom, if you read this, i really tried, i really did) I pretty much spent the entire day at the makespace, and i made barely any progress. Btw i managed to melt an esp by going too close to it with a hot air solder gun, and i also managed to melt my display. Today was pretty much a waste.
Yeah, i fcked up big time. I first tried soldering the ESP32 c3 supermini to the display - this was damn hard. I first took a thick ass cable that kept touching the other pins on the supermini, but still pressed through - and well, it didn’t work. It took like an hour to solder the shit on, and it was damn hard cause the space between the pins was tiny and i have next to no experience with soldering, but i pressed through, and it ended up not working. So i removed all the wires again, used thinner wires, and then it didn’t work AGAIN cause some of the non covered parts of the wires were exposed. UGHHH right ? Then i tried again, and also put some solder on the wire so that it sticks and doesn’t like wierdly frizzle, then soldered everything again and then put like a TON of tape on it for insulation, then decided it was too much tape and took it off. Anyway, that finally worked, so tadaa ! then came the horrible part : the damn switches. You see, these damn switches use SMD. Thats bad enough. Then THEY HAVE THE AUDACITY TO F$#@!ng MELT WHEN YOU try and solder something on the pad - i mean it literally. The damn thing would honest to god literally damn melt when i tried to solder wires on it. And as if that aint bad enough it also has balls enough to literally lose its PADS - the literally just come off, and then theres nothing to attach the damn wires to ! Needless to say, i burnt, melted, snapped andraged through 4 switches - and it wasn’t just my fault either : Sure, the first time i was careless, but the second time i took as much care as a literal surgeon doing brain surgery, and the pad still snapped of and left me fuming. Then i gave it to my friend whos been soldering for literal years - and he fucked up twice too. So yea, whoever made these switches, FUDGE them. (mom, if you read this, i really tried, i really did) I pretty much spent the entire day at the makespace, and i made barely any progress. Btw i managed to melt an esp by going too close to it with a hot air solder gun, and i also managed to melt my display. Today was pretty much a waste.
IM A GENIUS !!!!! Today i moved my sorry ass back into the makespace, and burned through another switch before finally doing it ! I figured out that the trick to it is using flux so your solder melts easy, then applying solder to the wire first and then only applying flux on the pad and soldering - it took like two hours and i had to use one of those “helping hands” dr octopus thingys but i was feeling like tony stark the entire time. i failed once, then resoldered and tested with a multimeter, and everything beeped like it was supposed to when i poked it ! So basically i cut 3 female to male wires, and soldered just the female parts bare side on to the switch, and stuck the other side on to some GPIO pins on the ESP, and it worked ! … sometimes - my solder joint on one of the switch pads (the one that triggers when you tilt the switch down) was bad, so i had ta resolder that, but then i was fine. So i got back home after playing a round of cards against humanity (rlly cool btw) and then the fun really began. First thing i did when i got home was flash my new and improved software ! i was extremely surprised when it actually worked ! it was just to test if the switch was working (display would say UP, DOWN, and PRESS when i used the button) After that i got cracking, and implemented a 4-digit pin, and the UI for selecting API keys, since i had done everything else yesterday. After 2 hours of trial and error i got it working ! you are able to scroll through numbers by tilting up and down and you can select by pressing down, and it would move on to the next number If ya select it wrong, then you get with this in all caps if ya get it right, you get greeted by a lovely selection of all your stored credentials : then the next part was the actual typing - this was the hardest part. you see, i had initially thought i can just simulate how a usb keyboard or one with a dongle types, but nooo it can never be that easy can it ? well it can’t, cause the esp32 c3 supermini doesn’t have that capability - while it can type, it can only do that over bluetooth, which is rather annoying, but not make or break for the project. So now the esp autoconnects to the laptop via bluetooth and can type in passwords without actually being connected to the laptop - which opens up new possibilites (or old ones cause id thought of this b4 lmao. just ignore, it adds more drama and plot to the journal). Ya see, now the device is basically entirely wireless, except that it needs a pwr source - and you know what a portable power source is ? a power bank - wait what ? no that would be way too bulky - i mean a battery. Thats thoughts for later tho. I lost the plot a bit. where was I ? Oh yeah, the typing. Ok, so after finishing the bluetooth typing program even though my device thought it was typing, nothing showed up on my laptop. that wasn’t good. So i had ta tweak my script a bunch to find out where the problem was, just to find out that the problem couldn’t be with my code. So it had to be with my laptop. So i had to do a LOT of research (and deepseek pestering) to find the most obvious culprit : MacOS being paranoid. Ya see, macos needs some stupid bullshit security stuff that aint important at all. Since i was not a fan of that, i basically just asked opencode to “make code work, make code faster”. So it optimized and fixed my code to be all cushy with macos again. then i clicked on one of the test api keys, and it worked ! but it didn’t enter the last letter …. Ugh. So i went back in the code, made a number 1 higher, and also made it press enter at the end, and it works !!!!! I CANNOT BELIEVE IT ! IM done ! Ok, not quite. I still have to decide if im adding a battery, and i gotta go back to the makespace, glue this shit together (so it doesnt rip off again when i move it) and then make a nice lil case [Entry truncated]
IM A GENIUS !!!!! Today i moved my sorry ass back into the makespace, and burned through another switch before finally doing it ! I figured out that the trick to it is using flux so your solder melts easy, then applying solder to the wire first and then only applying flux on the pad and soldering - it took like two hours and i had to use one of those “helping hands” dr octopus thingys but i was feeling like tony stark the entire time. i failed once, then resoldered and tested with a multimeter, and everything beeped like it was supposed to when i poked it ! So basically i cut 3 female to male wires, and soldered just the female parts bare side on to the switch, and stuck the other side on to some GPIO pins on the ESP, and it worked ! … sometimes - my solder joint on one of the switch pads (the one that triggers when you tilt the switch down) was bad, so i had ta resolder that, but then i was fine. So i got back home after playing a round of cards against humanity (rlly cool btw) and then the fun really began. First thing i did when i got home was flash my new and improved software ! i was extremely surprised when it actually worked ! it was just to test if the switch was working (display would say UP, DOWN, and PRESS when i used the button) After that i got cracking, and implemented a 4-digit pin, and the UI for selecting API keys, since i had done everything else yesterday. After 2 hours of trial and error i got it working ! you are able to scroll through numbers by tilting up and down and you can select by pressing down, and it would move on to the next number If ya select it wrong, then you get with this in all caps if ya get it right, you get greeted by a lovely selection of all your stored credentials : then the next part was the actual typing - this was the hardest part. you see, i had initially thought i can just simulate how a usb keyboard or one with a dongle types, but nooo it can never be that easy can it ? well it can’t, cause the esp32 c3 supermini doesn’t have that capability - while it can type, it can only do that over bluetooth, which is rather annoying, but not make or break for the project. So now the esp autoconnects to the laptop via bluetooth and can type in passwords without actually being connected to the laptop - which opens up new possibilites (or old ones cause id thought of this b4 lmao. just ignore, it adds more drama and plot to the journal). Ya see, now the device is basically entirely wireless, except that it needs a pwr source - and you know what a portable power source is ? a power bank - wait what ? no that would be way too bulky - i mean a battery. Thats thoughts for later tho. I lost the plot a bit. where was I ? Oh yeah, the typing. Ok, so after finishing the bluetooth typing program even though my device thought it was typing, nothing showed up on my laptop. that wasn’t good. So i had ta tweak my script a bunch to find out where the problem was, just to find out that the problem couldn’t be with my code. So it had to be with my laptop. So i had to do a LOT of research (and deepseek pestering) to find the most obvious culprit : MacOS being paranoid. Ya see, macos needs some stupid bullshit security stuff that aint important at all. Since i was not a fan of that, i basically just asked opencode to “make code work, make code faster”. So it optimized and fixed my code to be all cushy with macos again. then i clicked on one of the test api keys, and it worked ! but it didn’t enter the last letter …. Ugh. So i went back in the code, made a number 1 higher, and also made it press enter at the end, and it works !!!!! I CANNOT BELIEVE IT ! IM done ! Ok, not quite. I still have to decide if im adding a battery, and i gotta go back to the makespace, glue this shit together (so it doesnt rip off again when i move it) and then make a nice lil case [Entry truncated]
Ships:
A physical API key password manager that stores your passwords PHYSICALLY, so you never have to trust a cloud service again nor use a pesky server - all local and extremely portable !...
|
1793001125.1505618
|
1793087525.1505618
|