|
55984
|
MDS by @zyluxXD | Stardance
|
zyluxXD
|
1
|
16.0
|
210
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-08T04:49:43Z", "hours": 16.0, "multiplier": 13.31, "payout": 210, "blessing": "neutral", "text": "I made MDS (Meme Delivery Service), a Python Slack bot that fetches programming memes from ProgrammerHumor! It can post a daily batch automatically, or you can use /memes to request anywhere from 1–10 memes from the home, hot, random, or search feeds. There’s also optional LLM moderation and a Show sources button that links back to the original memes! While making this, there were quite a few moving parts to connect, such as scraping the memes, downloading the images, and uploading them to Slack. Handling errors were quite tedious aswell, including unavailable images, moderation errors, and commands used in channels where the bot hasn’t been invited. Overall, I’m happy with how the whole posting system came together! Daily posts interweave the home and hot feeds, and you can configure the schedule, cooldowns, and moderation. Memes :) Anyways, you, yes YOU should try it TODAY, RIGHT NOW. Just join #mds-playground on the Hack Club Slack and check the pinned message! Ty for reading this :D", "repo": "https://github.com/ZyluxXD/MDS", "demo": "https://app.slack.com/client/E09V59WQY1E/C0C6TQZGQ95"}]...
|
[{"post_id": 77741, "ts": "202 [{"post_id": 77741, "ts": "2026-10-08T04:22:20Z", "hours": 0.4175, "text": "Last minute bugfixing!!!! I’m sure all of y’all had atleast one experience before where you discovered a new bug AFTER finalizing everything . That just happened to me when I realized if MDS isn’t in a channel, it just ghosts you and leaves a error in the console. Yeah, not great, so I added this nice little message if that happens, and also just improved a lil bit of the reliability on the slack side of things. Ready to ship, I think"}, {"post_id": 77454, "ts": "2026-10-07T02:16:13Z", "hours": 6.4686, "text": "Spaghetti and bugs really don’t go well together. Don’t believe me? Try it out… Yeah, you see now? So that is precisely why I cleared out the spaghetti and bugs out of my code! Yes. That took a long time. So basically, I reorganized the fetching, moderation, downloading, and Slack posting code so it is actually readable. I also replaced the scattered dictionaries with actual data models and cleaned up how settings are loaded and checked. Less guessing what some random variable contains. Yay!! On the actual bot side, images now download in parallel, broken or oversized downloads get skipped, and /memes has configurable cooldowns for users and channels. I also improved the source button’s link back to the uploaded post, made the daily posting time configurable, and added separate moderation controls for daily posts and slash commands. All those boring things that suddenly become very interesting when they break And last and probably least , I wrote a README with installation instructions, configuration details, and command examples, added an example .env file and license, and gave MDS a logo and banner! So now you can actually figure out how to run it without having to read through all my code first. well you probably could read it now after the refactor You’re welcome. Anyways, MDS is getting pretty close to being ready to ship!!"}, {"post_id": 66271, "ts": "2026-09-12T00:34:20Z", "hours": 2.4236, "text": "Well, well, well. Look who we have here. (You, reading this devlog). So what I did this time was add the slash commands! Yay!! So basically now there is a ‘/memes’ command that lets you summon a collection of memes in your current channel! You can specify what page of ProgrammerHumor you want it from (like home, hot, random), or you can use a search query! Also I kinda messed up my git, as in my last 2 commits I forgot to actually add the files, so I guess I now have two less commits. Anyways, I also improved reliability, logging, and all those boring things."}, {"post_id": 63213, "ts": "2026-09-06T21:52:10Z", "hours": 2.1831, "text": "After getting ragebaited by LangChain for a while, I’m happy to announce that I have finally completed the LLM moderation feature. Now you can finally rest assured that the memes being sent are appropriate! It is off by default, since you obviously need an llm endpoint to use it, but it is nice to have! Later I may add a setting to control how strict the moderation is. I additionally improved the overall reliability of the app, and made it easier to use as well as easier to understand what’s going on!"}, {"post_id": 59908, "ts": "2026-09-01T22:49:44Z", "hours": 1.7822, "text": "LLMs, the cause of the ram shortage, are now a vital (kinda) part of my app. So basically in the about 2 hours ish of this devlog, I managed to implement the first half of the LLM moderation & ranking feature. I first using the OpenAI API, but then switched to langchain to allow support for other API specifications! But yeah, this feature is pretty time consuming to implement… Also, the screenshot this time is just some code as I don’t wanna add yet another screenshot of the app, with the LLM feature not even implemented yet."}, {"post_id": 57717, "ts": "2026-08-29T23:40:13Z", "hours": 1.1853, "text": "Waiter waiter, more upgrades! Alright, so before I jump to the complicated stuff, I just improved the overall code structure by making it more readable and spread apart, added better logging capabilities, as well as added the core feature: scheduled meme posting, and finally, improved the source links button & overall reliability."}, {"post_id": 57628, "ts": "2026-08-29T20:41:34Z", "hours": 1.3381, "text": "Finished the basic structure of the Slack bot; I got it working and posting memes along with a basic scraper, and a sources button. This is a very basic demo for now, there is so much more to come!"}]...
|
Title: MDS by @zyluxXD | Stardance
Devlogs:
Finis Title: MDS by @zyluxXD | Stardance
Devlogs:
Finished the basic structure of the Slack bot; I got it working and posting memes along with a basic scraper, and a sources button. This is a very basic demo for now, there is so much more to come!
Waiter waiter, more upgrades! Alright, so before I jump to the complicated stuff, I just improved the overall code structure by making it more readable and spread apart, added better logging capabilities, as well as added the core feature: scheduled meme posting, and finally, improved the source links button & overall reliability.
LLMs, the cause of the ram shortage, are now a vital (kinda) part of my app. So basically in the about 2 hours ish of this devlog, I managed to implement the first half of the LLM moderation & ranking feature. I first using the OpenAI API, but then switched to langchain to allow support for other API specifications! But yeah, this feature is pretty time consuming to implement… Also, the screenshot this time is just some code as I don’t wanna add yet another screenshot of the app, with the LLM feature not even implemented yet.
After getting ragebaited by LangChain for a while, I’m happy to announce that I have finally completed the LLM moderation feature. Now you can finally rest assured that the memes being sent are appropriate! It is off by default, since you obviously need an llm endpoint to use it, but it is nice to have! Later I may add a setting to control how strict the moderation is. I additionally improved the overall reliability of the app, and made it easier to use as well as easier to understand what’s going on!
Well, well, well. Look who we have here. (You, reading this devlog). So what I did this time was add the slash commands! Yay!! So basically now there is a ‘/memes’ command that lets you summon a collection of memes in your current channel! You can specify what page of ProgrammerHumor you want it from (like home, hot, random), or you can use a search query! Also I kinda messed up my git, as in my last 2 commits I forgot to actually add the files, so I guess I now have two less commits. Anyways, I also improved reliability, logging, and all those boring things.
Spaghetti and bugs really don’t go well together. Don’t believe me? Try it out… Yeah, you see now? So that is precisely why I cleared out the spaghetti and bugs out of my code! Yes. That took a long time. So basically, I reorganized the fetching, moderation, downloading, and Slack posting code so it is actually readable. I also replaced the scattered dictionaries with actual data models and cleaned up how settings are loaded and checked. Less guessing what some random variable contains. Yay!! On the actual bot side, images now download in parallel, broken or oversized downloads get skipped, and /memes has configurable cooldowns for users and channels. I also improved the source button’s link back to the uploaded post, made the daily posting time configurable, and added separate moderation controls for daily posts and slash commands. All those boring things that suddenly become very interesting when they break And last and probably least , I wrote a README with installation instructions, configuration details, and command examples, added an example .env file and license, and gave MDS a logo and banner! So now you can actually figure out how to run it without having to read through all my code first. well you probably could read it now after the refactor You’re welcome. Anyways, MDS is getting pretty close to being ready to ship!!
Last minute bugfixing!!!! I’m sure all of y’all had atleast one experience before where you discovered a new bug AFTER finalizing everything . That just happened to me when I realized if MDS isn’t in a channel, it just ghosts you and leaves a error in the console. Yeah, not great, so I added this nice little message if that happens, and also just improved a lil bit of the reliability on the slack side of things. Ready to ship, I think
Ships:
I made MDS (Meme Delivery Service), a Python Slack bot that fetches programming memes from ProgrammerHumor! It can post a daily batch automatically, or you can use /memes to request anywhere from 1–10 memes from the home, hot, random, or search feeds. There’s also optional LLM moderation and a Show sources button that links back to the original memes! While making this, there were quite a few moving parts to connect, such as scraping the memes, downloading the images, and uploading them to Slack. Handling errors were quite tedious aswell, including unavailable images, moderation errors, and commands used in channels where the bot hasn’t been invited. Overall, I’m happy with how the whole posting system came together! Daily posts interweave the home and hot feeds, and you can configure the schedule, cooldowns, and moderation. Memes :) Anyways, you, yes YOU should try it TODAY, RIGHT NOW. Just join #mds-playground on the Hack Club Slack and check the pinned message! Ty for reading this :D...
|
1793004795.1908255
|
1793091195.1908255
|
|
9883
|
THE WEBB by @Synt-0 | Stardance
|
Synt-0
|
1
|
22.0
|
209
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T19:51:11Z", "hours": 22.0, "multiplier": 9.67, "payout": 209, "blessing": "neutral", "text": "I made an interactive website that shows the journey of the James Webb Space Telescope through the universe! I had a lot of trouble with alignment and other things, but at last, I finished it. This is actually my “first website”, and I learned everything through YouTube and other resources. I’m genuinely proud to have made something of my own and I’m happy to finally share it I recommend visiting the website on a computer *, as it is more optimized for desktop and offers a fuller experience.", "repo": "https://github.com/Synt-0/The-WEBB", "demo": "https://synt-0.github.io/The-WEBB/"}]...
|
[{"post_id": 78426, "ts": "202 [{"post_id": 78426, "ts": "2026-10-10T19:35:32Z", "hours": 2.7153, "text": "FINISHED THE WEBSITE! and will be deployed in a few mins i gave the star icon a api gave the webb a font and all"}, {"post_id": 78137, "ts": "2026-10-09T18:27:32Z", "hours": 5.9328, "text": "THE WEBSITE IS ALMOST OVER! I’ve worked on the popups, the timeline dots, and almost everything else, except for the random image button, the NASA api, and a few related things. But I think I’ll be able to ship it tmw! Honestly, I’m pretty happy with how it’s turning out so far. hopefully you all like it too . i still have to make it reactive and a few more things also can i use brittany font like i downloaded it from a site but it said its for personal use only so can i implement it ? . ANYWAYS YOU CAN SEE THE WEBSITE TMW I BELIEVE"}, {"post_id": 77116, "ts": "2026-10-05T17:42:00Z", "hours": 3.77, "text": "I did the stars , more like i got the code from this site (actually ) https://codepen.io/rkuai/pen/ExLbPWG/ had to do a bit of tweeking to the code to make it work with my own stuff but its good. thank rena (owner of the site ) . and i also am starting to make the popup box for the dots etc did some code for it and broke some things but fixed it . when i started to do js , i found it too complicated and stff . btw after 2 to 3 dev post i will finish the project hopefully i get a good amount of sd/h .. ( funfact - i first started of and aimed for the macbook neo cause my pc is a dell aio with Pentium5405U with 12gb ram <its ddr3 not 5 or 4 > now i have downgraded and downgraded to get mabe the huion tablet [idk why i want it i dont draw]i dont have much time so i am quiting after oct 10th cause i am in 10th and well got a lot to study and my internet access is also getting restricted sometimes ( since my pc use i very high so ya thats it ) . i do have to fix viewport stuff in css since i used px at first and its like calibrated to my screen (not reactive to other screens or brakes on other screens and stuff)"}, {"post_id": 71877, "ts": "2026-09-21T18:02:07Z", "hours": 1.2653, "text": "i worked on aligning the pictures of earth and the jwst . Now the site is actually coming along as like in my design and well still have some issues with the alignment but will figure it out tmw . the issue is there is excess vertical height and its scroll-able to the bottom which has nothing"}, {"post_id": 70208, "ts": "2026-09-18T18:19:47Z", "hours": 2.1378, "text": "This time i worked on the css and a bit in html and i have done the top controls now and need to do the rest tmw. when i did one thing like, formatting another thing breaks and so on .i think i spend 30min on on fixing the mistakes i made and well i have made some progress i have also fixed the top controls after a bit of struggle . i have also formatted the bottom parts a bit too .well thats for it now i guess."}, {"post_id": 66346, "ts": "2026-09-12T03:43:12Z", "hours": 0.8767, "text": "today i finished my html fully now i need to learn css and use it to style my website . i am not going to learn css properly cause i am having less time but i will study the basics from YT and go on with a AI to teach me what all code i need to study for doing my site specifically ."}, {"post_id": 65481, "ts": "2026-09-10T17:21:24Z", "hours": 0.835, "text": "so i worked on the main things of the website today from the dots to a bit of footer . i still have to implement imgs and some other things but it is enough for today i think .for data i am thinking of placing it in js"}, {"post_id": 64926, "ts": "2026-09-09T17:23:40Z", "hours": 2.7072, "text": "I learned a html (not fully) and a bit of css . since i am new to coding i am using AI to teach myself coding but the code above is a bit ai written the “span” code but it did it to make me understand . and i think the website i wanted to make is does getting a bit of its shape i think.."}, {"post_id": 7505, "ts": "2026-06-12T14:52:13Z", "hours": 1.355, "text": "I started learning HTML about a few day ago, and logged my hour. I am thinking to make a website which shows the Earth in the left side, and the James Webb Telescope in the right, and a line connecting both which has dots. Which, when pressed, show the picture that was taken on that day and a bit of info about the pic and other things. So, I am starting off with HTML , and it’s not much. I learned a bit. and here is a sample rough sketch done in canva"}]...
|
Title: THE WEBB by @Synt-0 | Stardance
Devlogs:
I Title: THE WEBB by @Synt-0 | Stardance
Devlogs:
I started learning HTML about a few day ago, and logged my hour. I am thinking to make a website which shows the Earth in the left side, and the James Webb Telescope in the right, and a line connecting both which has dots. Which, when pressed, show the picture that was taken on that day and a bit of info about the pic and other things. So, I am starting off with HTML , and it’s not much. I learned a bit. and here is a sample rough sketch done in canva
I learned a html (not fully) and a bit of css . since i am new to coding i am using AI to teach myself coding but the code above is a bit ai written the “span” code but it did it to make me understand . and i think the website i wanted to make is does getting a bit of its shape i think..
so i worked on the main things of the website today from the dots to a bit of footer . i still have to implement imgs and some other things but it is enough for today i think .for data i am thinking of placing it in js
today i finished my html fully now i need to learn css and use it to style my website . i am not going to learn css properly cause i am having less time but i will study the basics from YT and go on with a AI to teach me what all code i need to study for doing my site specifically .
This time i worked on the css and a bit in html and i have done the top controls now and need to do the rest tmw. when i did one thing like, formatting another thing breaks and so on .i think i spend 30min on on fixing the mistakes i made and well i have made some progress i have also fixed the top controls after a bit of struggle . i have also formatted the bottom parts a bit too .well thats for it now i guess.
i worked on aligning the pictures of earth and the jwst . Now the site is actually coming along as like in my design and well still have some issues with the alignment but will figure it out tmw . the issue is there is excess vertical height and its scroll-able to the bottom which has nothing
I did the stars , more like i got the code from this site (actually ) https://codepen.io/rkuai/pen/ExLbPWG/ had to do a bit of tweeking to the code to make it work with my own stuff but its good. thank rena (owner of the site ) . and i also am starting to make the popup box for the dots etc did some code for it and broke some things but fixed it . when i started to do js , i found it too complicated and stff . btw after 2 to 3 dev post i will finish the project hopefully i get a good amount of sd/h .. ( funfact - i first started of and aimed for the macbook neo cause my pc is a dell aio with Pentium5405U with 12gb ram <its ddr3 not 5 or 4 > now i have downgraded and downgraded to get mabe the huion tablet [idk why i want it i dont draw]i dont have much time so i am quiting after oct 10th cause i am in 10th and well got a lot to study and my internet access is also getting restricted sometimes ( since my pc use i very high so ya thats it ) . i do have to fix viewport stuff in css since i used px at first and its like calibrated to my screen (not reactive to other screens or brakes on other screens and stuff)
THE WEBSITE IS ALMOST OVER! I’ve worked on the popups, the timeline dots, and almost everything else, except for the random image button, the NASA api, and a few related things. But I think I’ll be able to ship it tmw! Honestly, I’m pretty happy with how it’s turning out so far. hopefully you all like it too . i still have to make it reactive and a few more things also can i use brittany font like i downloaded it from a site but it said its for personal use only so can i implement it ? . ANYWAYS YOU CAN SEE THE WEBSITE TMW I BELIEVE
FINISHED THE WEBSITE! and will be deployed in a few mins i gave the star icon a api gave the webb a font and all
Ships:
I made an interactive website that shows the journey of the James Webb Space Telescope through the universe! I had a lot of trouble with alignment and other things, but at last, I finished it. This is actually my “first website”, and I learned everything through YouTube and other resources. I’m genuinely proud to have made something of my own and I’m happy to finally share it I recommend visiting the website on a computer *, as it is more optimized for desktop and offers a fuller experience....
|
1793004720.802435
|
1793091120.802435
|
|
27925
|
p2sa (Picture To String Art) by @Harupi | Stardanc p2sa (Picture To String Art) by @Harupi | Stardance...
|
Harupi
|
1
|
12.92
|
209
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T23:07:39Z", "hours": 12.0, "multiplier": 17.95, "payout": 209, "blessing": "neutral", "text": "p2sa (Picture to String Art) is a Rust library and CLI tool for generating a string art version of a given image. I previously worked on a similar project for school in Python, and this is my rewrite of it in Rust. I made this to improve the speed and to experiment with the language (and it worked ! This version is so much faster). The logic didn’t cause me big problems, cause I already put some hours on it for school, but I ran into some issues with the numeric types for the calculations. There may still be issues with very large numbers, but I don’t think someone will really use this with extra-extra-extra-large pictures. My next project will probably be a web interface for this tool ! Thanks for taking a look !", "repo": "https://github.com/Hvrnbi/p2sa", "demo": "https://crates.io/crates/p2sa"}]...
|
[{"post_id": 61145, "ts": "202 [{"post_id": 61145, "ts": "2026-09-03T22:15:57Z", "hours": 0.9244, "text": "p2sa devlog 4 - Hi, it’s been a while ! After doing a completely different project, I came back to finally follow the reviews. So I added a progress bar using the crate indicatif, and I compiled the app for windows and wrote down instructions for using the .exe file in the README. I’m not sure that I’ll make other modifications so it will probably be shipped like this, but I’ll give me some time to have another idea. Have a nice day !"}, {"post_id": 18729, "ts": "2026-06-29T22:19:56Z", "hours": 1.7428, "text": "p2sa devlog 3 - SVG support ! SVG allows to obtain cleaner images because of its vector-based format. The project is usable so I will ship it. (This is a screenshot of the svg because the format is not allowed for the posts)"}, {"post_id": 18361, "ts": "2026-06-29T14:23:27Z", "hours": 1.1306, "text": "p2sa devlog 2 - CLI and progress indicator I made the CLI tool usable, and added a progress indicator. I’ll try to publish the project on crates.io and to ship the first version today."}, {"post_id": 18026, "ts": "2026-06-29T00:14:55Z", "hours": 8.7867, "text": "p2sa devlog 1 - Hello ! This project is a rewriting in Rust of a school project I made in Python, to improve the speed and to experiment with this language. The goal of this project is to reproduce an image just with lines, like in string art . I also plan to do a website to use it easily, but it will probably be another stand-alone project. So for this first devlog, I remade the core feature, the reproduction of an image in a string art style using edge detection to place the nails, and made it a rust library. I will probably do the CLI part next, so I may be able to publish the first version of the crate. Here is an example result :"}]...
|
Title: p2sa (Picture To String Art) by @Harupi | S Title: p2sa (Picture To String Art) by @Harupi | Stardance
Devlogs:
p2sa devlog 1 - Hello ! This project is a rewriting in Rust of a school project I made in Python, to improve the speed and to experiment with this language. The goal of this project is to reproduce an image just with lines, like in string art . I also plan to do a website to use it easily, but it will probably be another stand-alone project. So for this first devlog, I remade the core feature, the reproduction of an image in a string art style using edge detection to place the nails, and made it a rust library. I will probably do the CLI part next, so I may be able to publish the first version of the crate. Here is an example result :
p2sa devlog 2 - CLI and progress indicator I made the CLI tool usable, and added a progress indicator. I’ll try to publish the project on crates.io and to ship the first version today.
p2sa devlog 3 - SVG support ! SVG allows to obtain cleaner images because of its vector-based format. The project is usable so I will ship it. (This is a screenshot of the svg because the format is not allowed for the posts)
p2sa devlog 4 - Hi, it’s been a while ! After doing a completely different project, I came back to finally follow the reviews. So I added a progress bar using the crate indicatif, and I compiled the app for windows and wrote down instructions for using the .exe file in the README. I’m not sure that I’ll make other modifications so it will probably be shipped like this, but I’ll give me some time to have another idea. Have a nice day !
Ships:
p2sa (Picture to String Art) is a Rust library and CLI tool for generating a string art version of a given image. I previously worked on a similar project for school in Python, and this is my rewrite of it in Rust. I made this to improve the speed and to experiment with the language (and it worked ! This version is so much faster). The logic didn’t cause me big problems, cause I already put some hours on it for school, but I ran into some issues with the numeric types for the calculations. There may still be issues with very large numbers, but I don’t think someone will really use this with extra-extra-extra-large pictures. My next project will probably be a web interface for this tool ! Thanks for taking a look !...
|
1792975707.0510209
|
1793062107.0510209
|
|
53766
|
TypeTone by @proffessors2807 | Stardance
|
proffessors2807
|
2
|
16.0
|
209
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-31T10:58:19Z", "hours": 3.0, "multiplier": 11.62, "payout": 19, "blessing": "neutral", "text": "So I am reshipping this project with new features first this website makes boring typing engaging by producing melody when you are typing and there is also a wave which visualises your music, now I added setting and Sound modes which have diffrent styles of music like ambient, chirp and lofi. At Last I added a recording menu to record your masterpiece. This also contains a editor with markdowwn support which can be toggled by clicking the eye icon to preview", "repo": "https://github.com/Prof2807/TypeTone", "demo": "https://typetone-beta.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-27T11:26:26Z", "hours": 13.0, "multiplier": 14.92, "payout": 190, "blessing": "neutral", "text": "Firstly I srsly was curiousl abt sound manupulation and bored of typing so I thought of this project no special reason ;> ok so here I first had to look various sites to get design idea of my website then I thought it would be to simple if it only produces only sound when typing so I also added markdown logic, speaker logic and stats at bottom of site. In this project I used ai for learning a new lib and sound manupulation and waveform genration", "repo": "https://github.com/Prof2807/TypeTone", "demo": "https://typetone-beta.vercel.app/"}]...
|
[{"post_id": 58748, "ts": "202 [{"post_id": 58748, "ts": "2026-08-31T09:47:39Z", "hours": 0.8692, "text": "Ok guys again from the reviews I noticed that someone thought if he could record his typing then it’d be great so guess what I added the recording feature to the website now you can write and record the melody for anythime later you want to hear :>"}, {"post_id": 58706, "ts": "2026-08-31T07:44:00Z", "hours": 2.3597, "text": "Well I shipped the project with nothin in mind but when the payout came and I saw the reviews the positivity motivated me in upgradinging the project now cutting the crap today I added 3 diffrent modes ambient, chirp and lofi. where in each mode the sound produced by each key is diffrent its melodecious in ambient and idk the words but yes its still soothing till chirp to me. I also added a setting button for managing blur of the editor and vertical position of wave from reading the review."}, {"post_id": 55487, "ts": "2026-08-27T11:22:20Z", "hours": 5.2592, "text": "ok So I am writing this again cuz my internet crashed when I hit post but anyways today I learned about sound manupulation and waveform formation of a sound for which I was heavily depended on ai because come on how could have I know about a lib tone js which produces sound and I had to use it in my project and I have finally also completed the markdown logic hm but I only did text wrapping rest is done by marked lib so now you can toggle by clicking the eye icon can try on https://typetone-beta.vercel.app/"}, {"post_id": 55323, "ts": "2026-08-27T02:11:48Z", "hours": 1.8036, "text": "So in this part I was heavily depended on AI because first I know nothin about music and second I needed to learn a whole library called Tone.js which is the lib behind the sound production on my website also I used ai for getting the stats on which keys are used with which keys which most often then group them according to it and personally assigned them notes if similar frequency so typing produce melodiaceous sound if that is a actual word ,not random notes of algorithmic frequencies. Guys rate this"}, {"post_id": 55052, "ts": "2026-08-26T14:11:10Z", "hours": 5.2322, "text": "Fuhhh I didn’t know that designing a ui as simple as this and reserching all about ui and manually testing every possible combination for padding and margins and text size I finally completed the final design of the project, Hopefully cuz this took a holy 5 hrsss…. so Now I can start working on my functionality. Guys pls rate the design , In my opinion it’s pretty decent help in improving the design ;>"}, {"post_id": 54302, "ts": "2026-08-25T07:46:08Z", "hours": 0.4425, "text": "So I was working on a project which will add music to normal typing like i can do watever like write an essay ,email or whatever everyone write on this website will be turned into melody which will hopefully please your ear. Today I just added all the visual components without any styling and arrangement just on the screen, First i will style them then add functionality. Lets see each other at next devlog"}]...
|
Title: TypeTone by @proffessors2807 | Stardance
D Title: TypeTone by @proffessors2807 | Stardance
Devlogs:
So I was working on a project which will add music to normal typing like i can do watever like write an essay ,email or whatever everyone write on this website will be turned into melody which will hopefully please your ear. Today I just added all the visual components without any styling and arrangement just on the screen, First i will style them then add functionality. Lets see each other at next devlog
Fuhhh I didn’t know that designing a ui as simple as this and reserching all about ui and manually testing every possible combination for padding and margins and text size I finally completed the final design of the project, Hopefully cuz this took a holy 5 hrsss…. so Now I can start working on my functionality. Guys pls rate the design , In my opinion it’s pretty decent help in improving the design ;>
So in this part I was heavily depended on AI because first I know nothin about music and second I needed to learn a whole library called Tone.js which is the lib behind the sound production on my website also I used ai for getting the stats on which keys are used with which keys which most often then group them according to it and personally assigned them notes if similar frequency so typing produce melodiaceous sound if that is a actual word ,not random notes of algorithmic frequencies. Guys rate this
ok So I am writing this again cuz my internet crashed when I hit post but anyways today I learned about sound manupulation and waveform formation of a sound for which I was heavily depended on ai because come on how could have I know about a lib tone js which produces sound and I had to use it in my project and I have finally also completed the markdown logic hm but I only did text wrapping rest is done by marked lib so now you can toggle by clicking the eye icon can try on https://typetone-beta.vercel.app/
Well I shipped the project with nothin in mind but when the payout came and I saw the reviews the positivity motivated me in upgradinging the project now cutting the crap today I added 3 diffrent modes ambient, chirp and lofi. where in each mode the sound produced by each key is diffrent its melodecious in ambient and idk the words but yes its still soothing till chirp to me. I also added a setting button for managing blur of the editor and vertical position of wave from reading the review.
Ok guys again from the reviews I noticed that someone thought if he could record his typing then it’d be great so guess what I added the recording feature to the website now you can write and record the melody for anythime later you want to hear :>
Ships:
Firstly I srsly was curiousl abt sound manupulation and bored of typing so I thought of this project no special reason ;> ok so here I first had to look various sites to get design idea of my website then I thought it would be to simple if it only produces only sound when typing so I also added markdown logic, speaker logic and stats at bottom of site. In this project I used ai for learning a new lib and sound manupulation and waveform genration
So I am reshipping this project with new features first this website makes boring typing engaging by producing melody when you are typing and there is also a wave which visualises your music, now I added setting and Sound modes which have diffrent styles of music like ambient, chirp and lofi. At Last I added a recording menu to record your masterpiece. This also contains a editor with markdowwn support which can be toggled by clicking the eye icon to preview...
|
1792990516.5461538
|
1793076916.5461538
|
|
12505
|
Cybertron-S0 by @deepm33 | Stardance
|
deepm33
|
1
|
25.0
|
208
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T16:05:28Z", "hours": 21.0, "multiplier": 12.86, "payout": 208, "blessing": "neutral", "text": "Made a webos based on the concept transformers and futuristic way of an webos. Added a pixel cat which follows the cursor in the whole webos, it has an energon radio so that people can listen to the best japanese songs. It also has a feature to change between many live wallpaper which makes the webos experience muchh better. checkk out other features too, ya can doomscrool in the webos too😁", "repo": "https://github.com/DeepMane33/webos", "demo": "https://cybertron-os.vercel.app/"}]...
|
[{"post_id": 27332, "ts": "202 [{"post_id": 27332, "ts": "2026-07-12T20:23:07Z", "hours": 4.0, "text": "So basically someone told me to upgrade my cybertron -os in a more cyber and futuristic vibe so that it matches the style, so i made it a little transformer and cyber ahh feeling webos. I redesigned all the app icons which took a lot of my time a cause i didn’t knew what and how should i re-design them, so i thought for too long and came up with these icons. These icons look way more futuristic and holographic than before and i guess much better too. Also i changed the cyber-cat into a robot so that the vibes would match the cyber effect and not like the previous one 🥀🥀. That 0.06 lag factor means the robot only moves 6% of the remaining distance toward your cursor each frame. So it never quite catches up — it smoothly glides and drifts. When you stop moving, it slowly settles into place near your cursor. When you move fast, it trails behind like it’s trying to keep up. Added a SVG analog clock with smooth second hand using requestAnimationFrame for millisecond precision, digital display, timezone info, plus tabs for a stopwatch and countdown timer. This clock and the calender has made the UI a lot better than before.Also made a search bar, this one sits right at the top of the desktop. It’s a slim, always-visible search field with a magnifying glass icon. You just click on it and start typing to filter your apps. It’s the quick, “I know what I want” kind of search. No shortcuts needed — just eyes on it and type. So when you set a static image as the wallpaper, Cybertron OS doesn’t just slap it on the background — it gives it a subtle parallax effect that makes it feel alive. The wallpaper image is loaded into a #desktop-bg div and scaled up to 1.1x (110% size), so it’s slightly bigger than the screen. That extra 10% is the buffer that allows it to move without showing edges. Then, every time you move your mouse, the wallpaper shifts in the opposite direction of your cursor by up to 20 pixels on each axis. So if you move your mouse right, the wallpaper slides left — like you’re looking through a window and the background is further away. This creates a layered depth effect: the orbs feel closer to you, the wallpaper feels farther away, and your cursor is in the middle. The whole thing has a transition: transform 0.3s ease-out so it doesn’t feel jerky — it smoothly glides to its new position. When you switch to a video wallpaper, the parallax turns off because a video is already moving on its own. It’s a small touch, but it makes the desktop feel way more premium than a static background image ever would. So about the taskbar in Cybertron OS is inspired by Windows but with its own flavor. It sits at the bottom of the screen and it is fixed there, 48 pixels tall, with a heavy blur behind it (backdrop-filter: blur(50px)) so it looks like frosted glass over whatever’s behind it. There’s a subtle white gradient line along the top edge and a faint amber glow along the bottom — it gives it that premium “this bar is floating” feel. After making all these changes the cybertron-os has became a different OS, i hope yall like this!!!!"}, {"post_id": 25333, "ts": "2026-07-09T15:42:50Z", "hours": 3.0, "text": "Bruhhh finally i can say that i have completed my cybertron-os. I think i have done most of the think i can come up with and have added all the necessary things that are found in a webos. The pixel cat that follows your cursor around the screen i have added some features in it too and now its a whole interactive pet: Single click → pin/unpin the cat in place Double-click → pet the cat (triggers meow + purr + floating hearts animation) The cat flips direction based on mouse movement It has a smooth follow-with-lag animation So here’s the thing. Previously I didn’t had a single audio file. No .mp3s. No .wavs. Nothing. So there were no sound feature in the webos which made it kinda plain so i thought i should add some’. There’s this thing called the Web Audio API built into every browser. It lets you create sounds using something called oscillators — basically digital instruments that generate tones. You tell it a pitch, a wave shape, and how long to play, and it just… makes the sound.The reason the sounds don’t just sound like boring beeps is because of something called exponentialRampToValueAtTime. Yeah I know, sounds like a villain’s weapon. But what it does is slide the pitch from one frequency to another over time. So instead of just “BEEP” you get “bewwwoop” — the sound goes UP or DOWN smoothly. That’s what gives it that swooshy, futuristic feel. I looked at all the color comnbinations with the wallpaper and i saw that the miku wallpaper looks very futuristic and classical just as i want with purple colour. So i set them as the default and if you want you can change the wallpaper and the theme colour as your preferences. The holo archieve which is the gallery of my cybertron-os was legit empty. I thought and thought and then i added some pictures of transformers movies and our fav bumble bee.. In the cybertron store we were not able to download any apps and it was just and empty ahh store, so yeahh i added some apps that can actually be installed and used in the webos and then i added some good looking app icons for them too cause i didn’t wanted them to look too plain."}, {"post_id": 24660, "ts": "2026-07-08T12:01:48Z", "hours": 2.0, "text": "Finalyyy i added the optimus prime wallpaper in the Cybertron os which now makes it look like a real tranaformer fan made webos. I really want that this cybertron os look as much as futuristic as well as classical as it can. i made many changes then before and also i redesigned the app icons for the cybertron os so that they look classic and technical not just plain app icon. There were few things which were needed to be fixed like there was no option to stop a short video in the shorts section and also no option for mute and unmute like it got so annoying when i wanted to stop the video or mute when i was testing the webos. So I Added those features and now the short section runs smooth videos like i expect it to. Even the theme changing option was broken like clicking on “Autobot” (red theme) did nothing, it was suppost to make everything go like legit RED but lmao no. The accent color stayed purple and i Spentway too long on this than i should have originally. The old wallpaper app was just a header + a 2-column grid of cards and looked like a prototype. No visual hierarchy, no preview of the current wallpaper, no hover feedback. To fix this i rebuilt renderWallpaperApp() and the entire .wp-app CSS section: added a hero section at the top (180px) that shows either the current video wallpaper playing on loop, or a gradient placeholder for the default. this gives instant visual feedback on what’s active. added an overlay on the hero with the current wallpaper name and “Wallpaper Studio” title and made the transition smoother. Also in the settings, it had 4 nav items: Faction Theme, Display, Wallpapers, About. The Display section had brightness slider, font size, and a widget toggle. the brightness and font controls didn’t actually do anything (they set inline styles that got overwritten on re-render). dead features. So i removed the display option which didn’t changed anything and merged the working features in the faction. I also redeigned the energon radio which is the songs section in the cybertron os in that the big album cover art (240px tall) that takes up the top portion. There’s a gradient fade at the bottom so it blends into the dark background. The cover image is blurred behind the main art, giving it a premium vibe. Controls — three buttons in a row: previous, play/pause (big white circle), next. Buttons scale up slightly on hover. Few more changes and we are good to go."}, {"post_id": 21024, "ts": "2026-07-02T19:54:15Z", "hours": 14.0, "text": "So i have made the cybertron os and i just took a look at the desktop screen, and honestly, the vibe is unmatched. the whole interface looks sick—that deep, dark metallic aesthetic with the striking purple accents looks exactly like a high-tech console you’d find inside the nemesis or deep within a decepticon base. It’s finally starting to feel like a fully functioning battlestation instead of just a static page. i’ve spent way too many unholy hours getting this dark, metallic decepticon-purple aesthetic right, and honestly, i’m so proud of how far it’s come. here is the breakdown of what is running on the mainframe right now: - the 3d video wallpapers are a whole cheat code. they are fully changeable with this slick floating control panel. you can legit change your wallpaper animations to go from miku just going through your screen to a mythical ahh dragon. - draggability actually works!! you can grab any of the app windows—like the gorgeous translucent glass panel calculator—and drag them all over the desktop without the window manager having a mental breakdown. the snapping is incredibly satisfying, and the z-indexing behaves itself when stacking windows. - I added an active search bar on the desktop that will take you to google or any youtube video because sometimes you need to query the actual internet. You can type right into the google search input, hit enter and it does exactly what you expect. Useful for when you're trying to figure out how to do your math equations at 3 AM. - let's talk about the pixel cat. i like cats so now there is a literal cyber-cat sitting on the desktop that trails your cursor. it has a slight elastic delay so it smoothly glides behind the mouse like a tiny holographic familiar following you through the mainframe. and yes, you can actually click to pet it and it fires off a literal heart-burst animation! ❤️🐾 - the music player actually has some of the finest work of music by the japanes pop, it has got the best japanese songs you will ever need to hear. HTML5 audio handles the entire play/pause/progress tracking natively under the hood. - a simulated files app that lets you navigate through directory nodes directly on the desktop to organize your decepticon battle plans and yeah this still needs an upgrade i guess. -Of course how can i forget the doomscrolling shorts app. yes, i actually did it. i built a dedicated video player with a scrollable feed of vertical reels. It starts with the audio ON, supports real-time pausing when you unfocus the window (so it doesn't keep playing in the background like an annoying browser tab), and lets you cycle through random clips of transformers edits and other random aesthetic shorts whenever your brain needs a cheap dopamine hit. -The whole look is incredibly polished. we've got custom SVG icons sitting inside the dock instead of cheap-looking emojis, a glassmorphic top-bar system showing the time and battery life, and desaturated purple accents that hold the entire sci-fi interface together."}]...
|
Title: Cybertron-S0 by @deepm33 | Stardance
Devlo Title: Cybertron-S0 by @deepm33 | Stardance
Devlogs:
So i have made the cybertron os and i just took a look at the desktop screen, and honestly, the vibe is unmatched. the whole interface looks sick—that deep, dark metallic aesthetic with the striking purple accents looks exactly like a high-tech console you’d find inside the nemesis or deep within a decepticon base. It’s finally starting to feel like a fully functioning battlestation instead of just a static page. i’ve spent way too many unholy hours getting this dark, metallic decepticon-purple aesthetic right, and honestly, i’m so proud of how far it’s come. here is the breakdown of what is running on the mainframe right now: - the 3d video wallpapers are a whole cheat code. they are fully changeable with this slick floating control panel. you can legit change your wallpaper animations to go from miku just going through your screen to a mythical ahh dragon. - draggability actually works!! you can grab any of the app windows—like the gorgeous translucent glass panel calculator—and drag them all over the desktop without the window manager having a mental breakdown. the snapping is incredibly satisfying, and the z-indexing behaves itself when stacking windows. - I added an active search bar on the desktop that will take you to google or any youtube video because sometimes you need to query the actual internet. You can type right into the google search input, hit enter and it does exactly what you expect. Useful for when you're trying to figure out how to do your math equations at 3 AM. - let's talk about the pixel cat. i like cats so now there is a literal cyber-cat sitting on the desktop that trails your cursor. it has a slight elastic delay so it smoothly glides behind the mouse like a tiny holographic familiar following you through the mainframe. and yes, you can actually click to pet it and it fires off a literal heart-burst animation! ❤️🐾 - the music player actually has some of the finest work of music by the japanes pop, it has got the best japanese songs you will ever need to hear. HTML5 audio handles the entire play/pause/progress tracking natively under the hood. - a simulated files app that lets you navigate through directory nodes directly on the desktop to organize your decepticon battle plans and yeah this still needs an upgrade i guess. -Of course how can i forget the doomscrolling shorts app. yes, i actually did it. i built a dedicated video player with a scrollable feed of vertical reels. It starts with the audio ON, supports real-time pausing when you unfocus the window (so it doesn't keep playing in the background like an annoying browser tab), and lets you cycle through random clips of transformers edits and other random aesthetic shorts whenever your brain needs a cheap dopamine hit. -The whole look is incredibly polished. we've got custom SVG icons sitting inside the dock instead of cheap-looking emojis, a glassmorphic top-bar system showing the time and battery life, and desaturated purple accents that hold the entire sci-fi interface together.
Finalyyy i added the optimus prime wallpaper in the Cybertron os which now makes it look like a real tranaformer fan made webos. I really want that this cybertron os look as much as futuristic as well as classical as it can. i made many changes then before and also i redesigned the app icons for the cybertron os so that they look classic and technical not just plain app icon. There were few things which were needed to be fixed like there was no option to stop a short video in the shorts section and also no option for mute and unmute like it got so annoying when i wanted to stop the video or mute when i was testing the webos. So I Added those features and now the short section runs smooth videos like i expect it to. Even the theme changing option was broken like clicking on “Autobot” (red theme) did nothing, it was suppost to make everything go like legit RED but lmao no. The accent color stayed purple and i Spentway too long on this than i should have originally. The old wallpaper app was just a header + a 2-column grid of cards and looked like a prototype. No visual hierarchy, no preview of the current wallpaper, no hover feedback. To fix this i rebuilt renderWallpaperApp() and the entire .wp-app CSS section: added a hero section at the top (180px) that shows either the current video wallpaper playing on loop, or a gradient placeholder for the default. this gives instant visual feedback on what’s active. added an overlay on the hero with the current wallpaper name and “Wallpaper Studio” title and made the transition smoother. Also in the settings, it had 4 nav items: Faction Theme, Display, Wallpapers, About. The Display section had brightness slider, font size, and a widget toggle. the brightness and font controls didn’t actually do anything (they set inline styles that got overwritten on re-render). dead features. So i removed the display option which didn’t changed anything and merged the working features in the faction. I also redeigned the energon radio which is the songs section in the cybertron os in that the big album cover art (240px tall) that takes up the top portion. There’s a gradient fade at the bottom so it blends into the dark background. The cover image is blurred behind the main art, giving it a premium vibe. Controls — three buttons in a row: previous, play/pause (big white circle), next. Buttons scale up slightly on hover. Few more changes and we are good to go.
Bruhhh finally i can say that i have completed my cybertron-os. I think i have done most of the think i can come up with and have added all the necessary things that are found in a webos. The pixel cat that follows your cursor around the screen i have added some features in it too and now its a whole interactive pet: Single click → pin/unpin the cat in place Double-click → pet the cat (triggers meow + purr + floating hearts animation) The cat flips direction based on mouse movement It has a smooth follow-with-lag animation So here’s the thing. Previously I didn’t had a single audio file. No .mp3s. No .wavs. Nothing. So there were no sound feature in the webos which made it kinda plain so i thought i should add some’. There’s this thing called the Web Audio API built into every browser. It lets you create sounds using something called oscillators — basically digital instruments that generate tones. You tell it a pitch, a wave shape, and how long to play, and it just… makes the sound.The reason the sounds don’t just sound like boring beeps is because of something called exponentialRampToValueAtTime. Yeah I know, sounds like a villain’s weapon. But what it does is slide the pitch from one frequency to another over time. So instead of just “BEEP” you get “bewwwoop” — the sound goes UP or DOWN smoothly. That’s what gives it that swooshy, futuristic feel. I looked at all the color comnbinations with the wallpaper and i saw that the miku wallpaper looks very futuristic and classical just as i want with purple colour. So i set them as the default and if you want you can change the wallpaper and the theme colour as your preferences. The holo archieve which is the gallery of my cybertron-os was legit empty. I thought and thought and then i added some pictures of transformers movies and our fav bumble bee.. In the cybertron store we were not able to download any apps and it was just and empty ahh store, so yeahh i added some apps that can actually be installed and used in the webos and then i added some good looking app icons for them too cause i didn’t wanted them to look too plain.
So basically someone told me to upgrade my cybertron -os in a more cyber and futuristic vibe so that it matches the style, so i made it a little transformer and cyber ahh feeling webos. I redesigned all the app icons which took a lot of my time a cause i didn’t knew what and how should i re-design them, so i thought for too long and came up with these icons. These icons look way more futuristic and holographic than before and i guess much better too. Also i changed the cyber-cat into a robot so that the vibes would match the cyber effect and not like the previous one 🥀🥀. That 0.06 lag factor means the robot only moves 6% of the remaining distance toward your cursor each frame. So it never quite catches up — it smoothly glides and drifts. When you stop moving, it slowly settles into place near your cursor. When you move fast, it trails behind like it’s trying to keep up. Added a SVG analog clock with smooth second hand using requestAnimationFrame for millisecond precision, digital display, timezone info, plus tabs for a stopwatch and countdown timer. This clock and the calender has made the UI a lot better than before.Also made a search bar, this one sits right at the top of the desktop. It’s a slim, always-visible search field with a magnifying glass icon. You just click on it and start typing to filter your apps. It’s the quick, “I know what I want” kind of search. No shortcuts needed — just eyes on it and type. So when you set a static image as the wallpaper, Cybertron OS doesn’t just slap it on the background — it gives it a subtle parallax effect that makes it feel alive. The wallpaper image is loaded into a #desktop-bg div and scaled up to 1.1x (110% size), so it’s slightly bigger than the screen. That extra 10% is the buffer that allows it to move without showing edges. Then, every time you move your mouse, the wallpaper shifts in the opposite direction of your cursor by up to 20 pixels on each axis. So if you move your mouse right, the wallpaper slides left — like you’re looking through a window and the background is further away. This creates a layered depth effect: the orbs feel closer to you, the wallpaper feels farther away, and your cursor is in the middle. The whole thing has a transition: transform 0.3s ease-out so it doesn’t feel jerky — it smoothly glides to its new position. When you switch to a video wallpaper, the parallax turns off because a video is already moving on its own. It’s a small touch, but it makes the desktop feel way more premium than a static background image ever would. So about the taskbar in Cybertron OS is inspired by Windows but with its own flavor. It sits at the bottom of the screen and it is fixed there, 48 pixels tall, with a heavy blur behind it (backdrop-filter: blur(50px)) so it looks like frosted glass over whatever’s behind it. There’s a subtle white gradient line along the top edge and a faint amber glow along the bottom — it gives it that premium “this bar is floating” feel. After making all these changes the cybertron-os has became a different OS, i hope yall like this!!!!
Ships:
Made a webos based on the concept transformers and futuristic way of an webos. Added a pixel cat which follows the cursor in the whole webos, it has an energon radio so that people can listen to the best japanese songs. It also has a feature to change between many live wallpaper which makes the webos experience muchh better. checkk out other features too, ya can doomscrool in the webos too😁...
|
1792882064.565094
|
1793746064.565094
|
|
63143
|
Bansi by @manayp | Stardance
|
manayp
|
1
|
14.15
|
208
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T16:59:20Z", "hours": 13.0, "multiplier": 15.43, "payout": 208, "blessing": "neutral", "text": "I made a small little website and it is based on my favourite instrument which is a bansuri otherwise known as a bamboo flute and I had a great time making this and I am hoping you guys will like it and give proper feedback too. Something I wanted to do was make the flute play a bamboo sound but because I do not know that much about js I could not and I made it kinda like a piano lol. My biggest challenge was honestly sizing because I made it and organized it in such a bad way that I could not find half of my things and I could not size things properly because my local server was not working, which also caused me to run it in chrome which took a lot of time. But in the end I guess everything worked out and even though the sizing numbers maybe wild it still works. Another issue I had is that I accidentally named my CSS classes wrong so it did not match with the HTML ones which took a lot of time so that was a pain to fix. Overall I hope u guys like it and give feedback thx.", "repo": "https://github.com/manayparikh1/Bansi", "demo": "https://keen-lokum-4b3721.netlify.app"}]...
|
[{"post_id": 79082, "ts": "202 [{"post_id": 79082, "ts": "2026-10-12T16:18:33Z", "hours": 1.15, "text": "I redid my css because it looked ai because of the shadows etc that I added which I now regret but its fine it took one hour to remove all of them and plus I changed the font family which was one of the biggest things I did in the past hour but luckily I did it fast because I had COMMAND F which basically lets me find all the words and switch them to what I want asap. So I switched all of it to comic font. I also change the background a few times because I could not really decide on what to do but then I messed up the layout so I split my css into 2 files for navigation and organized everything. I hope u guys like it and if any feedback lemme know."}, {"post_id": 78385, "ts": "2026-10-10T16:47:06Z", "hours": 1.1464, "text": "I am finally done. Some of it I could not fix it but MOST of it I could fix and I am happy with that. So I fixed a few sizing issues and then finished my readme. In my readme I just wrote about the features, which talked about what it did and then I wrote about contributions and challenges that I had during the project. I also added a few pictures and made sure they are creatively licensed from google to avoid copyright claims. And I fixed my audio page and made sure everything was placed right. Overall everything is completed now and the final thing to do is SHIP ."}, {"post_id": 78235, "ts": "2026-10-10T02:28:45Z", "hours": 1.9842, "text": "I did a HUGE amount of work today. So first lets talk about sizing. Sizing was SUPER hard and I spent majority of my time on that like when I had to add pictures of the flute or krishna, like it took a huge amount of time and I had to do that manually because my local server wasnt working, and what I mean by manually is open like a hundred tabs and continuously testing on chrome, which wasted a lot of time. I also had trouble with navigation so thats where ai came in and COMMAND F on macbook to find words lol, so yeah I found everything in the end of the day but it was still soo much. I also fixed some of my text layouts because some of them were in a wrong layout like towards the side and it was overall a mess so all I did was added this in the bottom of CSS: #play .col-body { max-width: none;}. And it worked very well. I also changed the scale to x1.2 to fix sizing issues again lol and it saved my time…but I forgot it only works for css so I tried changing the html but then I realized lol. Now its all good. Overall im almost done and now I just gotta do the readme and fix a few more errors and possibly add."}, {"post_id": 76280, "ts": "2026-10-03T02:20:02Z", "hours": 1.0875, "text": "For the past hours I have been fixing bugs and adding a gallery that has audios of me playing flute. It is not done yet but it is going well so far. The biggest thing I did was prolly fix the interactive flute because it was not working at all….Ai helped me figure what was wrong (it was capitilization) so I fixed all of that, but then all the buttons were super white so u literally could not see and it did not go with colour scheme so I changed the CSS to blue like the background and a set width of each it goes in a pattern like long, thin, long, thin. I mostly did that for visual appearences. I also started the readme and got a good amount done so far, so yea I am gonna continue adding and if u guys have anything u wanna change or add lemme know.."}, {"post_id": 73350, "ts": "2026-09-24T23:32:37Z", "hours": 2.3953, "text": "So progress has been going good and I finished the JS and it does not fully work which is sad but it will be fixed. So this whole time I have been testing my website in the vs code local server which was a BAD IDEA. Because when I tested it in a browser on chrome everything was off. The css is broken and also the HTML is which is normal in coding but THIS MUCH??. Here you can see the images below. It most likely happened because I put everything in a block sort of format so I gotta change that in css and some classes in html have issues like they dont match. Anyway lets see how it goes now…"}, {"post_id": 72167, "ts": "2026-09-22T11:07:33Z", "hours": 1.9656, "text": "IN the past 2 hours all I did was work on CSS and I had soo many bugs like my classes from html were not matching — which was super annoying because I had to keep going back. Next time I should prolly write it down somewhere and put easier class names instead of making it tooo complex. I also worked on the cool background which blends various shades of blue in wards which is more cooler than full gradiency honestly. I also made the butttons better and the page more organized (with all the figures). Overall it is going prettyy well Adioss . Lemme know if u have any suggestions."}, {"post_id": 71250, "ts": "2026-09-20T15:00:20Z", "hours": 2.5689, "text": "First of all yes I completed my html. In the past 2.5 hours I have been working on CSS bugs and new things. So first I have picked my background and all the font styles which I may change later if they do not seem to match. I finished around 300 lines of css and had a BUNCH of issues will coding. For example creating the flute was much harder than I expected. I had to keep on testing where the holes go because a centimeter to far or two close messes up the whole orientation. So for the holes I had to connect the html to this a lot because I needed it. For example look at the flute below the vertical lines were super hard to put in the right spot (and I made a few errors in spacing which AI helped me find). Another hard thing was the top hole which is oval because I had to measure that. It is still not super perfect but it is good enough for this. Adioss"}, {"post_id": 70916, "ts": "2026-09-20T01:07:52Z", "hours": 0.5978, "text": "In the past 35 min I have still been working on and been doing html and on and off testing. I completed creating most of the classes and buttons for it but I ran into a GitHub difficulty again…it kept saying (which I have never even heard of) when I tried making a commit msg. So I tried for a good 3-4 minutes. And then I just restarted my laptop 😭😭😭. And then somehow it randomly fixed and all the offline commits I made just had to be pushed so I did that too. I tested the html a lot of times from localserver and it looks amazinggg so far (in text only lol) . But now I gotta start the css and complete the Html, because I am not actually done yet. In the bottom I am planning on adding a bansuri people can try…obviously it wont be like the real one but it will be good enough. (I just gotta figure out how to make the voice sweet and cool. Adiossss"}, {"post_id": 70287, "ts": "2026-09-18T21:30:49Z", "hours": 1.7314, "text": "So in the past 1.5 hours I have been working on this new website which basically talks about the bansuri, which is my favourite instrument. And nobody really knows about it so I want to spread awareness to people on what it actually is. It is an indian instrument and I have been writing the html code so far and I got what I have to do but I am just struggling with new stuff that I am not very good at like adding col but I am figuring it out. Everyday morning in my school bus I mostly do the coding lol which gives me a good amount of time because yep its fun. So far I have written around 200 lines of code (mostly offline bc I had no internet) and it went pretty well… but I still think there are many errors, though I will fix them in the future, IF I FIND THEM… Anyway lets see how it goes."}]...
|
Title: Bansi by @manayp | Stardance
Devlogs:
So i Title: Bansi by @manayp | Stardance
Devlogs:
So in the past 1.5 hours I have been working on this new website which basically talks about the bansuri, which is my favourite instrument. And nobody really knows about it so I want to spread awareness to people on what it actually is. It is an indian instrument and I have been writing the html code so far and I got what I have to do but I am just struggling with new stuff that I am not very good at like adding col but I am figuring it out. Everyday morning in my school bus I mostly do the coding lol which gives me a good amount of time because yep its fun. So far I have written around 200 lines of code (mostly offline bc I had no internet) and it went pretty well… but I still think there are many errors, though I will fix them in the future, IF I FIND THEM… Anyway lets see how it goes.
In the past 35 min I have still been working on and been doing html and on and off testing. I completed creating most of the classes and buttons for it but I ran into a GitHub difficulty again…it kept saying (which I have never even heard of) when I tried making a commit msg. So I tried for a good 3-4 minutes. And then I just restarted my laptop 😭😭😭. And then somehow it randomly fixed and all the offline commits I made just had to be pushed so I did that too. I tested the html a lot of times from localserver and it looks amazinggg so far (in text only lol) . But now I gotta start the css and complete the Html, because I am not actually done yet. In the bottom I am planning on adding a bansuri people can try…obviously it wont be like the real one but it will be good enough. (I just gotta figure out how to make the voice sweet and cool. Adiossss
First of all yes I completed my html. In the past 2.5 hours I have been working on CSS bugs and new things. So first I have picked my background and all the font styles which I may change later if they do not seem to match. I finished around 300 lines of css and had a BUNCH of issues will coding. For example creating the flute was much harder than I expected. I had to keep on testing where the holes go because a centimeter to far or two close messes up the whole orientation. So for the holes I had to connect the html to this a lot because I needed it. For example look at the flute below the vertical lines were super hard to put in the right spot (and I made a few errors in spacing which AI helped me find). Another hard thing was the top hole which is oval because I had to measure that. It is still not super perfect but it is good enough for this. Adioss
IN the past 2 hours all I did was work on CSS and I had soo many bugs like my classes from html were not matching — which was super annoying because I had to keep going back. Next time I should prolly write it down somewhere and put easier class names instead of making it tooo complex. I also worked on the cool background which blends various shades of blue in wards which is more cooler than full gradiency honestly. I also made the butttons better and the page more organized (with all the figures). Overall it is going prettyy well Adioss . Lemme know if u have any suggestions.
So progress has been going good and I finished the JS and it does not fully work which is sad but it will be fixed. So this whole time I have been testing my website in the vs code local server which was a BAD IDEA. Because when I tested it in a browser on chrome everything was off. The css is broken and also the HTML is which is normal in coding but THIS MUCH??. Here you can see the images below. It most likely happened because I put everything in a block sort of format so I gotta change that in css and some classes in html have issues like they dont match. Anyway lets see how it goes now…
For the past hours I have been fixing bugs and adding a gallery that has audios of me playing flute. It is not done yet but it is going well so far. The biggest thing I did was prolly fix the interactive flute because it was not working at all….Ai helped me figure what was wrong (it was capitilization) so I fixed all of that, but then all the buttons were super white so u literally could not see and it did not go with colour scheme so I changed the CSS to blue like the background and a set width of each it goes in a pattern like long, thin, long, thin. I mostly did that for visual appearences. I also started the readme and got a good amount done so far, so yea I am gonna continue adding and if u guys have anything u wanna change or add lemme know..
I did a HUGE amount of work today. So first lets talk about sizing. Sizing was SUPER hard and I spent majority of my time on that like when I had to add pictures of the flute or krishna, like it took a huge amount of time and I had to do that manually because my local server wasnt working, and what I mean by manually is open like a hundred tabs and continuously testing on chrome, which wasted a lot of time. I also had trouble with navigation so thats where ai came in and COMMAND F on macbook to find words lol, so yeah I found everything in the end of the day but it was still soo much. I also fixed some of my text layouts because some of them were in a wrong layout like towards the side and it was overall a mess so all I did was added this in the bottom of CSS: #play .col-body { max-width: none;}. And it worked very well. I also changed the scale to x1.2 to fix sizing issues again lol and it saved my time…but I forgot it only works for css so I tried changing the html but then I realized lol. Now its all good. Overall im almost done and now I just gotta do the readme and fix a few more errors and possibly add.
I am finally done. Some of it I could not fix it but MOST of it I could fix and I am happy with that. So I fixed a few sizing issues and then finished my readme. In my readme I just wrote about the features, which talked about what it did and then I wrote about contributions and challenges that I had during the project. I also added a few pictures and made sure they are creatively licensed from google to avoid copyright claims. And I fixed my audio page and made sure everything was placed right. Overall everything is completed now and the final thing to do is SHIP .
I redid my css because it looked ai because of the shadows etc that I added which I now regret but its fine it took one hour to remove all of them and plus I changed the font family which was one of the biggest things I did in the past hour but luckily I did it fast because I had COMMAND F which basically lets me find all the words and switch them to what I want asap. So I switched all of it to comic font. I also change the background a few times because I could not really decide on what to do but then I messed up the layout so I split my css into 2 files for navigation and organized everything. I hope u guys like it and if any feedback lemme know.
Ships:
I made a small little website and it is based on my favourite instrument which is a bansuri otherwise known as a bamboo flute and I had a great time making this and I am hoping you guys will like it and give proper feedback too. Something I wanted to do was make the flute play a bamboo sound but because I do not know that much about js I could not and I made it kinda like a piano lol. My biggest challenge was honestly sizing because I made it and organized it in such a bad way that I could not find half of my things and I could not size things properly because my local server was not working, which also caused me to run it in chrome which took a lot of time. But in the end I guess everything worked out and even though the sizing numbers maybe wild it still works. Another issue I had is that I accidentally named my CSS classes wrong so it did not match with the HTML ones which took a lot of time so that was a pain to fix. Overall I hope u guys like it and give feedback thx....
|
1792964972.5427182
|
1793051372.5427182
|
|
64601
|
My First Godot Game by @Zemal | Stardance
|
Zemal
|
1
|
27.85
|
207
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T00:12:48Z", "hours": 25.0, "multiplier": 8.43, "payout": 207, "blessing": "neutral", "text": "I made my first ever Godot game, Out of Sync, and honestly this project was much more challenging than I expected. I started with a simple idea, but while building it I ended up learning a lot about scenes, scripts, collisions, timers, character selection, level transitions, and fixing bugs. The most difficult part was making everything work together properly, especially the character selection across different levels, the locked/unlocked exits, the timer system, and the second laser level. There were so many small issues that kept coming up, and sometimes fixing one thing created another problem. I’m really proud that I kept working on it and turned the idea into a complete playable game with two levels, different challenges, restart functionality, and a proper ending. I also learned a lot about Godot during the process, and by the end I felt much more comfortable finding things and understanding how the project was structured. You can test the full game using the Try project link. I’m really happy to finally finish and ship my first Godot game!", "repo": "https://github.com/zemaldars01-png/out-of-sync-game", "demo": "https://zemal-dars.itch.io/out-of-sync"}]...
|
[{"post_id": 77388, "ts": "202 [{"post_id": 77388, "ts": "2026-10-06T19:15:47Z", "hours": 0.3667, "text": "Finally finished the updates!!! I uploaded the new version to itch.io and tested the whole game again. Everything is working properly now, and I also changed the screenshots so they match the updated game. I recorded a quick playthrough to show how it looks now :)"}, {"post_id": 76899, "ts": "2026-10-05T00:05:10Z", "hours": 2.4803, "text": "After I got the changes request, I went back to the game and changed a lot of the visuals.I made the new backgrounds myself in Canva and tried to keep everything in the same purple glitch theme. I also made the switches myself in Canva and changed the keys and character images so they matched the new style better.I worked on the title screen, character selection, Level 1, the laser room, the restart button, and the ending screen. I also added a moving background to the final screen.Most of the work today was fixing the parts that were mentioned in the feedback and making the game look more consistent. I still need to upload the updated version to itch.io, but the changes are now working in the game."}, {"post_id": 75048, "ts": "2026-09-29T00:08:56Z", "hours": 0.3275, "text": "Finally finished the whole game Both levels are now complete and working properly. I also fixed the last few issues with the character selection, exits, and the browser version. I tested the full game from start to finish and everything is working now.This project honestly made me so tired but I learned a lot while building it. At the start I barely knew where things were in Godot, but after working on it for so long, I got much more comfortable with scenes, scripts, signals, collisions, and fixing bugs.The game is now live in the browser and the code is also on GitHub. Really happy to finally finish and ship my first Godot game :)"}, {"post_id": 75026, "ts": "2026-09-28T22:00:18Z", "hours": 3.1764, "text": "Finally finished reworking Level 2! I changed it from being too simple into a more challenging laser room. Now the player has to reach 3 switches placed around the room, avoid the moving lasers, turn them off one by one, and then unlock the exit.Also fixed the character selection so the same character you choose at the start continues into this level too.This part took a lot of testing because the laser collisions, switches, and exit kept breaking in different ways but it finally works properly now.The game is basically complete now, and I’m really happy with how much better Level 2 feels compared to before."}, {"post_id": 74868, "ts": "2026-09-28T14:07:00Z", "hours": 2.6981, "text": "Finally got Level 1 into a proper playable state today. Added the 5-key challenge, timer, counter, locked/unlocked exit, and made the transition to the next room automatic once the level is cleared.I also cleaned up the HUD and fixed a bunch of annoying key/pickup issues along the way.It was one of those sessions where one small bug kept turning into another but seeing the full level work from start to finish was worth it. Next up: polishing the next room and making the game more challenging."}, {"post_id": 74681, "ts": "2026-09-27T23:58:23Z", "hours": 3.6211, "text": "Polished the title screen and it took a lot of effort 😭 I changed the main title font, worked on the purple panels, fixed the spacing, and cleaned up the character selection and Start button. I’m really tired now, but the more the game starts looking better, the more I feel like continuing and building the next parts."}, {"post_id": 74527, "ts": "2026-09-27T15:56:33Z", "hours": 3.4747, "text": "I’m currently working on improving Room 3 of my game, “Out of Sync.” I added moving laser obstacles around the key to make the level more challenging, adjusted the player and collision sizes, and finished the escape flow. I also redesigned the room-complete screen with a neon theme, a glowing Continue button, and sparkle effects that appear when the player hovers over it. The level is starting to feel much more polished and complete now."}, {"post_id": 74216, "ts": "2026-09-26T22:53:22Z", "hours": 6.1006, "text": "Today I worked on Room 3 of my Godot game. I added laser hazards, a collectible key, and an exit system. The player now has to avoid the lasers, collect the key, and reach the door to complete the room. I also fixed several script and movement issues while testing the level."}, {"post_id": 73151, "ts": "2026-09-24T14:18:59Z", "hours": 1.4631, "text": "Today I added a timer to my Godot game and made a proper time-up screen. I also added a restart button so the level can start again after losing. I had a few problems with button signals and node names, but I fixed them and now the game is working better."}, {"post_id": 71953, "ts": "2026-09-21T20:46:41Z", "hours": 3.6772, "text": "Today I worked on my Godot game. I created and tested different parts of the game, fixed some problems, and learned more about how Godot works. I also improved the gameplay and made progress on the project."}]...
|
Title: My First Godot Game by @Zemal | Stardance
Title: My First Godot Game by @Zemal | Stardance
Devlogs:
Today I worked on my Godot game. I created and tested different parts of the game, fixed some problems, and learned more about how Godot works. I also improved the gameplay and made progress on the project.
Today I added a timer to my Godot game and made a proper time-up screen. I also added a restart button so the level can start again after losing. I had a few problems with button signals and node names, but I fixed them and now the game is working better.
Today I worked on Room 3 of my Godot game. I added laser hazards, a collectible key, and an exit system. The player now has to avoid the lasers, collect the key, and reach the door to complete the room. I also fixed several script and movement issues while testing the level.
I’m currently working on improving Room 3 of my game, “Out of Sync.” I added moving laser obstacles around the key to make the level more challenging, adjusted the player and collision sizes, and finished the escape flow. I also redesigned the room-complete screen with a neon theme, a glowing Continue button, and sparkle effects that appear when the player hovers over it. The level is starting to feel much more polished and complete now.
Polished the title screen and it took a lot of effort 😭 I changed the main title font, worked on the purple panels, fixed the spacing, and cleaned up the character selection and Start button. I’m really tired now, but the more the game starts looking better, the more I feel like continuing and building the next parts.
Finally got Level 1 into a proper playable state today. Added the 5-key challenge, timer, counter, locked/unlocked exit, and made the transition to the next room automatic once the level is cleared.I also cleaned up the HUD and fixed a bunch of annoying key/pickup issues along the way.It was one of those sessions where one small bug kept turning into another but seeing the full level work from start to finish was worth it. Next up: polishing the next room and making the game more challenging.
Finally finished reworking Level 2! I changed it from being too simple into a more challenging laser room. Now the player has to reach 3 switches placed around the room, avoid the moving lasers, turn them off one by one, and then unlock the exit.Also fixed the character selection so the same character you choose at the start continues into this level too.This part took a lot of testing because the laser collisions, switches, and exit kept breaking in different ways but it finally works properly now.The game is basically complete now, and I’m really happy with how much better Level 2 feels compared to before.
Finally finished the whole game Both levels are now complete and working properly. I also fixed the last few issues with the character selection, exits, and the browser version. I tested the full game from start to finish and everything is working now.This project honestly made me so tired but I learned a lot while building it. At the start I barely knew where things were in Godot, but after working on it for so long, I got much more comfortable with scenes, scripts, signals, collisions, and fixing bugs.The game is now live in the browser and the code is also on GitHub. Really happy to finally finish and ship my first Godot game :)
After I got the changes request, I went back to the game and changed a lot of the visuals.I made the new backgrounds myself in Canva and tried to keep everything in the same purple glitch theme. I also made the switches myself in Canva and changed the keys and character images so they matched the new style better.I worked on the title screen, character selection, Level 1, the laser room, the restart button, and the ending screen. I also added a moving background to the final screen.Most of the work today was fixing the parts that were mentioned in the feedback and making the game look more consistent. I still need to upload the updated version to itch.io, but the changes are now working in the game.
Finally finished the updates!!! I uploaded the new version to itch.io and tested the whole game again. Everything is working properly now, and I also changed the screenshots so they match the updated game. I recorded a quick playthrough to show how it looks now :)
Ships:
I made my first ever Godot game, Out of Sync, and honestly this project was much more challenging than I expected. I started with a simple idea, but while building it I ended up learning a lot about scenes, scripts, collisions, timers, character selection, level transitions, and fixing bugs. The most difficult part was making everything work together properly, especially the character selection across different levels, the locked/unlocked exits, the timer system, and the second laser level. There were so many small issues that kept coming up, and sometimes fixing one thing created another problem. I’m really proud that I kept working on it and turned the idea into a complete playable game with two levels, different challenges, restart functionality, and a proper ending. I also learned a lot about Godot during the process, and by the end I felt much more comfortable finding things and understanding how the project was structured. You can test the full game using the Try project link. I’m really happy to finally finish and ship my first Godot game!...
|
1792965097.7986493
|
1793051497.7986493
|
|
37447
|
Ready to go Authenticator template by @troksarober Ready to go Authenticator template by @troksaroberts | Stardance...
|
troksaroberts
|
1
|
15.0
|
206
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-01T15:41:35Z", "hours": 15.0, "multiplier": 13.82, "payout": 206, "blessing": "neutral", "text": "I created Ready to go Authenticator templete You can use it in your apps for fast authentication setup. It is really usefull for anyone who is creatign Social media apps, Internet shops and WEB games. It was challenging to use all these technologies at same time - I had to learn a lot, but it was a lot of fun. I am proud of how good of a template it became, how much features it has and how clean code is, if we are not counting monolith structure into account 😎 To use this project read Readme.md but basically create a template from it in github, clone it, docker comppose up --build and thats it. If you want to check it click ‘Try project’ to see basic frontend that i created, to use my project. Features: Log in, Sign up ofc View user, change email and password Forgot password Uses Google Auth and hCAPTCHA Has basic Admin page (/admin) Checking whether username is availible Rate limiting (in process)", "repo": "https://github.com/RobertsRob/AuthSystem", "demo": "https://auth.trokhost.com/"}]...
|
[{"post_id": 38936, "ts": "202 [{"post_id": 38936, "ts": "2026-08-01T15:27:21Z", "hours": 0.5378, "text": "Minor bug fix Fixed some bugs when signing up and pytest bug fix. Wat throwing 500 Internal server error because errors were not handled."}, {"post_id": 38913, "ts": "2026-08-01T14:34:54Z", "hours": 2.1406, "text": "Rate limiting and documentation So now BOTS and other spammers cannot enlessly access enpoints and have limits. If you hit one you will be send to stop page, where Arnold would manage you. For all routes is implemented this restriction: default_limits=[\"200 per day\", \"50 per hour\"] And for popular routes that can get under attack like /signup or /login there are more scrict limits."}, {"post_id": 38799, "ts": "2026-08-01T11:16:21Z", "hours": 3.2611, "text": "Admin page and username availability check Long time no see) So I added username availability check every 1500 ms, and admin page, where admin can view users and delete them. Frontend should be improved bc it doesnt utilize /admin/view_users full potential, but it is good for now. Also as you can see i added roles, so now you can have admin or user role, where admin role users have access to this page. Added enspoints: GET /api/users/check -> Check if a username exists GET /admin -> Admin dashboard GET /admin/view_users -> List users (by page) DELETE /delete_user/<id> -> Delete a user"}, {"post_id": 33132, "ts": "2026-07-22T19:17:04Z", "hours": 4.9253, "text": "Today I wrote Forgot password route Now users can reset their password through email link: Enter your email Open your email and click ‘reset password link’ Write your new password Now you can use your new update Also I added show password checkbox everywhere you enter password"}, {"post_id": 32027, "ts": "2026-07-20T21:59:12Z", "hours": 2.8092, "text": "Today I added a way to update password and email for non OAuth 2.0 users Today were fixed multiple bugs, improved password validity checking and added a way to change password and email. (image shows what error codes you can get while updating your email) Other small updates: Improved frontend for users page and settings page (though it isnt this project focus) emails and usernames are now stripped and lowered to prevent misbehavior"}, {"post_id": 31860, "ts": "2026-07-20T16:07:57Z", "hours": 0.3761, "text": "Authentication system demo video"}, {"post_id": 31840, "ts": "2026-07-20T15:12:41Z", "hours": 0.6231, "text": "Project progress at this moment, written in hronological order Day 1-2 (image 1) I wrote basic UI (as UI is not main focus of this project) I added login page and error page => safe_render_template(template_file, jinja_info=None) Connected hCAPTCHA for basic brute force attacks Day 3 (image 2) I added JWT and signup page Implemented postgresSQL Day 4-5 (no image) Bug fix, edge case improvements, like missing data etc When there exists valid JWT user is redirected form login/signup page straight to /home_user Day 6-7 damn numbers (image 3) Started and colmpeted google authentication as second option Changed my database table Day 8 (image 4) Wrote pytests to tests my code before deployment Dockerized my project Wrote CI/CD pipelines for github for faster deployment There is a lot to add next step is to implement CRUD operations"}, {"post_id": 31531, "ts": "2026-07-20T00:33:46Z", "hours": 0.3694, "text": "Information about this project I started this project a couple weeks ago (Jul 4th) as an idea to create a fast, ready to go authentication system bassically for any project with advanced features. Unfortunately i didnt started posting in stardance when i started and I did not have Hackatime time tracking. Luckily I used git in this project and in couple next posts I will post progress that I made. I will post by chunks with significant moments. From now on I will track time and post oftenly 😁 (image shows current version of sign up page)"}]...
|
Title: Ready to go Authenticator template by @trok Title: Ready to go Authenticator template by @troksaroberts | Stardance
Devlogs:
Information about this project I started this project a couple weeks ago (Jul 4th) as an idea to create a fast, ready to go authentication system bassically for any project with advanced features. Unfortunately i didnt started posting in stardance when i started and I did not have Hackatime time tracking. Luckily I used git in this project and in couple next posts I will post progress that I made. I will post by chunks with significant moments. From now on I will track time and post oftenly 😁 (image shows current version of sign up page)
Project progress at this moment, written in hronological order Day 1-2 (image 1) I wrote basic UI (as UI is not main focus of this project) I added login page and error page => safe_render_template(template_file, jinja_info=None) Connected hCAPTCHA for basic brute force attacks Day 3 (image 2) I added JWT and signup page Implemented postgresSQL Day 4-5 (no image) Bug fix, edge case improvements, like missing data etc When there exists valid JWT user is redirected form login/signup page straight to /home_user Day 6-7 damn numbers (image 3) Started and colmpeted google authentication as second option Changed my database table Day 8 (image 4) Wrote pytests to tests my code before deployment Dockerized my project Wrote CI/CD pipelines for github for faster deployment There is a lot to add next step is to implement CRUD operations
Authentication system demo video
Today I added a way to update password and email for non OAuth 2.0 users Today were fixed multiple bugs, improved password validity checking and added a way to change password and email. (image shows what error codes you can get while updating your email) Other small updates: Improved frontend for users page and settings page (though it isnt this project focus) emails and usernames are now stripped and lowered to prevent misbehavior
Today I wrote Forgot password route Now users can reset their password through email link: Enter your email Open your email and click ‘reset password link’ Write your new password Now you can use your new update Also I added show password checkbox everywhere you enter password
Admin page and username availability check Long time no see) So I added username availability check every 1500 ms, and admin page, where admin can view users and delete them. Frontend should be improved bc it doesnt utilize /admin/view_users full potential, but it is good for now. Also as you can see i added roles, so now you can have admin or user role, where admin role users have access to this page. Added enspoints: GET /api/users/check -> Check if a username exists GET /admin -> Admin dashboard GET /admin/view_users -> List users (by page) DELETE /delete_user/<id> -> Delete a user
Rate limiting and documentation So now BOTS and other spammers cannot enlessly access enpoints and have limits. If you hit one you will be send to stop page, where Arnold would manage you. For all routes is implemented this restriction: default_limits=["200 per day", "50 per hour"] And for popular routes that can get under attack like /signup or /login there are more scrict limits.
Minor bug fix Fixed some bugs when signing up and pytest bug fix. Wat throwing 500 Internal server error because errors were not handled.
Ships:
I created Ready to go Authenticator templete You can use it in your apps for fast authentication setup. It is really usefull for anyone who is creatign Social media apps, Internet shops and WEB games. It was challenging to use all these technologies at same time - I had to learn a lot, but it was a lot of fun. I am proud of how good of a template it became, how much features it has and how clean code is, if we are not counting monolith structure into account 😎 To use this project read Readme.md but basically create a template from it in github, clone it, docker comppose up --build and thats it. If you want to check it click ‘Try project’ to see basic frontend that i created, to use my project. Features: Log in, Sign up ofc View user, change email and password Forgot password Uses Google Auth and hCAPTCHA Has basic Admin page (/admin) Checking whether username is availible Rate limiting (in process)...
|
1792997592.1186364
|
1793083992.1186364
|
|
35875
|
tundra by @pinetree182 | Stardance
|
pinetree182
|
2
|
21.0
|
205
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T01:39:49Z", "hours": 18.0, "multiplier": 11.42, "payout": 205, "blessing": "neutral", "text": "tundra OS i made a web OS called tundra. visually, it’s really similar to Serenity OS and it was a whole lot of fun to make. features lots of apps, like a browser, text editor, and file browser a working(ish) filesystem a whole dialog system 3d graphics elite references", "repo": "https://github.com/annaxiomm/tundra", "demo": "https://annaxiomm.github.io/tundra"}, {"ship_num": 2, "ts": "2026-07-17T08:46:49Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "tundra v0.1.0 (alpha) tundra is finally ready to release! it’s currently very much in its infancy and doesn’t have very many features but it meets the requirements of the ship and i’m proud of it! so far we have: multiple draggable windows that are instanceable and defined as classes in javascript (so you can open more than one of the same app!) a welcome message, notes app (which is really an editable changelog), and a nice assortment of images for you to look at a status bar with the date and a handy app drawer so you can access all (3 of) the cool apps on display! a beautiful font (cozette by the-moonwitch) i hope you all like it so far, and plenty more features will follow in the coming weeks", "repo": "https://github.com/annaxiomm/tundra", "demo": "https://annaxiomm.github.io/tundra"}]...
|
[{"post_id": 63300, "ts": "202 [{"post_id": 63300, "ts": "2026-09-07T01:36:33Z", "hours": 3.1278, "text": "devlog #12 - the end? (for now) this is going to be my last devlog before I ship tundra, i’m really proud of how far it’s come and the fact that i’ve actually managed to finish a project for once! I didn’t quite get to add everything I wanted but most of it is there text editor time! i added a real simple text editor that can save and load files from the “disk”. i don’t really have anything else to say about it rated D for dialogs in order for the text editor to work properly, I had to make save and open dialog boxes. these are basically an unholy frankenstein of the normal dialog box and the file browser app, and they work well enough object permanence using JSON and the world’s jankiest serialization/deserialization system I was able to save the user’s filesystem state to localStorage so that even of you reload or close the page, your precious writing will be preserved you’re getting the boot real operating systems don’t open straight to the desktop - theres a whole boot sequence that leads to this (and if you’re cool and use linux it’s all on display for you). inspired by @cooki ’s FPS-OS (go check it out it’s really cool) i added a boot screen that looks pretty alright I guess. visual imagery finally, I got around to adding icons for each app. they’re 16x16, made in aseprite over the course of about 10 minutes, and work just enough that I don’t need to redesign them constantly. next steps ship it!"}, {"post_id": 61451, "ts": "2026-09-04T11:45:40Z", "hours": 0.8858, "text": "devlog #11 - ctrl+alt+delete this is a bit of a shorter devlog since I basically only added one thing - a functioning shutdown sequence! first a little dialog pops up asking if you’re sure, and then the whole screen goes black and says “shutting down…”, finally followed by an elite reference (Progressbar95 players rise up!)"}, {"post_id": 57784, "ts": "2026-08-30T02:28:02Z", "hours": 3.5117, "text": "devlog #10 - new apps after like a month-long hiatus i thought that i ought to add a few more apps - this is meant to be somewhat useful after all! calculator this is a really basic calculator app, basically when you press a button it adds its value (like 2 or + or . ) to an expression, and when you hit the = button it evaluates the expression with eval() . yes, i know its not the safest but it works. colo(u)r picker this one is also really simple: every time you press a key on your keyboard, a new random colour is generated and the rgb and hex values are shown in the bottom. need i say more? file explorer once again, this is really basic. all it does is gets the contents of the current directory (i had to make a new fs function to return each path’s type as well) and then makes a new element for each path with an icon corresponding to what it is. there’s also a back button if you need to… well.. go back next steps file opening from the file explorer text editor more functions in the calculator / better calculator"}, {"post_id": 41048, "ts": "2026-08-05T00:17:34Z", "hours": 3.0744, "text": "devlog #9 - files! what’s an operating system if you can’t have files? so, i decided to write a basic filesystem for tundra. paired with a simple terminal and now tundra is actually kind of cool! the filesystem tundra uses a really simple filesystem model: there’s a File and a Directory class that both inherit from FSNode, Files have names and contents and Directories have names and children. tundra uses a traditional unix file layout (/home, /bin, /etc and so on) because its cool. the terminal i really wanted some way to navigate the filesystem but didn’t feel like implementing an entire file browser so I added a simple terminal. it has a few methods like writeln and readline which you can use. all the commands (including the shell!) are defined in their own classes, just like apps, which makes it really easy to add new ones. so far, i’ve added cd, ls, mkdir, touch, cat, and my own version of neofetch. next steps an actual file browser some more commands ANSI escape codes for colours a text editor to make files for the filesystem"}, {"post_id": 39219, "ts": "2026-08-02T01:30:03Z", "hours": 3.3094, "text": "devlog #8 - too many changes! my devlogs from here on are going to be getting a lot longer now because i’m really settling into the grind, so i’m going to try out a more structured format. dialogs! i implemented a whole dialog box system into caribou (the window manager). so far it only has confirm (cancel/ok) style dialogs but it’s modular so i’ll be sure to add plenty more in the future. dialogs return promises that resolve with a value when an action happens (like when the dialog is closed), and this can then be used to execute code. this all came about because i wanted to add fullscreen mode but apparently browsers don’t like it when you request fullscreen without user interaction so here we are! changelog changes (?) the changelog, as promised, pulls directly from github to ensure you always get the most up-to-date changes with minimal effort on my end ! it uses marked and DOMPurify to parse the CHANGELOG.md from the repo and to make sure you are personally secure from anyone who’s dumb enough to waste their time trying to attack tundra. preparing for themes soon, i’ll work on adding themes to tundra so i decided i’d make it a bit easier for myself by making every single value that might want to be changed in css a variable. this was excruciatingly painful but we got through it in the end (it took like 10 minutes max). also, the background is now loaded dynamically through js which will lead to custom backgrounds at some point (much to the dismay of my browser’s performance) next steps improve the dialog system and add more dialog types add a filesystem (very scary) add more apps add theming and changeable backgrounds"}, {"post_id": 36136, "ts": "2026-07-28T00:56:50Z", "hours": 1.6256, "text": "devlog #7 - now we’re getting somewhere! tundra is starting to take off! i’ve changed the look of the taskbar very slightly (there’s now more padding), and i’ve also revamped the appdrawer so that it looks cleaner (and more like SerenityOS). also, submenus! now the appdrawer can be more organised as I continue to add apps instead of turning into a wastebin of buttons. i deleted all of the original apps and have replaced them with (so far) an updated welcome/about (with wally, the derpy walrus who’s tundra’s new mascot), a proper changelog (eventually i’ll make it pull from github but for now it’s hardcoded), and a cube to test out threejs."}, {"post_id": 32283, "ts": "2026-07-21T11:04:31Z", "hours": 1.3792, "text": "devlog #6 - more taskbar stuff i decided that it’s probably a good idea to be able to see what apps you have open, so i implemented a little window list in the status bar. it’s pretty rudimentary - it just makes an element for each open window and updates any time a window is added or removed. eventually i’ll get around to adding window logos and context menus that let you close and minimise windows from the taskbar but that’s a bit advanced for the minute."}, {"post_id": 30070, "ts": "2026-07-17T11:10:55Z", "hours": 1.0528, "text": "devlog #5 - visual updates i decided i wanted to make tundra look a bit like serenityOS, so i modified the window header to include the distinctive red gradient. i also added a proper focusing system which required a decent rewrite of a portion of caribou (the wm). also, i worked on centralising the wm. previously, windows handled their own focusing and closing but since i’ve discovered customevents windows now request this behaviour from the wm. finally, windows now auto-focus when you open them!"}, {"post_id": 30022, "ts": "2026-07-17T08:30:14Z", "hours": 1.1878, "text": "devlog #4 - almost time to ship ! after much tedious work i added 2 other apps: a notes app that currently has a small TODO list and a changelog; and an image viewer that shows off a random image i’ve taken. i’ve also prettied the whole thing up a little bit by changing the font from [default] to Cozette, a nice cozy bitmap-ish font. finally, i added an app drawer so you can open all the (3) apps available in v0.1.0! i’m really looking forward to adding tons of new features and making it look super awesome!"}, {"post_id": 29369, "ts": "2026-07-16T08:39:15Z", "hours": 0.5478, "text": "devlog #3 - windows (again!) windows and apps are now instanced and defined purely in their own classes in javascript instead of being predefined in HTML and shown / hidden. i know it’s not strictly part of the mission for WebOS 1 but it makes me feel a bit better about myself AND it’ll make things a whole lot easier for me down the line. since apps are instanced, i can have as many welcomes as i want !"}, {"post_id": 29355, "ts": "2026-07-16T07:46:35Z", "hours": 0.9558, "text": "devlog #2 - windows i started working on the first iteration of caribou - tundra’s window manager (aka a window class and a list of open windows). so far, windows can be dragged around using some very janky freestyled code, and can also be closed (one of the can even be opened again !). it’s currently looking quite… webby , so next i’ll probably work on making it look a bit more personal (maybe a bit like my personal homepage??)"}, {"post_id": 29335, "ts": "2026-07-16T06:41:18Z", "hours": 0.5217, "text": "devlog #1 - let’s make an OS (sort of) ! building my own OS has been a dream of mine for a long, long time but i’ve never actually been able to make one before (because i know next to nothing about low-level programming). so imagine my reaction when i saw that i could get 50 stardust for making one? well, one small catch. it had to be a web-based OS. wait, is that really a catch though? its like a thousand times easier, and has just enough instant gratification for my short-form content-fried dopamine-addicted brain. so here we are. so far, tundra has a window and a status bar, and thats about it (also, the wallpaper is a photo i took down at the beach today !). i’m really looking forward to adding a ton more features to tundra in the future."}]...
|
Title: tundra by @pinetree182 | Stardance
Devlogs Title: tundra by @pinetree182 | Stardance
Devlogs:
devlog #1 - let’s make an OS (sort of) ! building my own OS has been a dream of mine for a long, long time but i’ve never actually been able to make one before (because i know next to nothing about low-level programming). so imagine my reaction when i saw that i could get 50 stardust for making one? well, one small catch. it had to be a web-based OS. wait, is that really a catch though? its like a thousand times easier, and has just enough instant gratification for my short-form content-fried dopamine-addicted brain. so here we are. so far, tundra has a window and a status bar, and thats about it (also, the wallpaper is a photo i took down at the beach today !). i’m really looking forward to adding a ton more features to tundra in the future.
devlog #2 - windows i started working on the first iteration of caribou - tundra’s window manager (aka a window class and a list of open windows). so far, windows can be dragged around using some very janky freestyled code, and can also be closed (one of the can even be opened again !). it’s currently looking quite… webby , so next i’ll probably work on making it look a bit more personal (maybe a bit like my personal homepage??)
devlog #3 - windows (again!) windows and apps are now instanced and defined purely in their own classes in javascript instead of being predefined in HTML and shown / hidden. i know it’s not strictly part of the mission for WebOS 1 but it makes me feel a bit better about myself AND it’ll make things a whole lot easier for me down the line. since apps are instanced, i can have as many welcomes as i want !
devlog #4 - almost time to ship ! after much tedious work i added 2 other apps: a notes app that currently has a small TODO list and a changelog; and an image viewer that shows off a random image i’ve taken. i’ve also prettied the whole thing up a little bit by changing the font from [default] to Cozette, a nice cozy bitmap-ish font. finally, i added an app drawer so you can open all the (3) apps available in v0.1.0! i’m really looking forward to adding tons of new features and making it look super awesome!
devlog #5 - visual updates i decided i wanted to make tundra look a bit like serenityOS, so i modified the window header to include the distinctive red gradient. i also added a proper focusing system which required a decent rewrite of a portion of caribou (the wm). also, i worked on centralising the wm. previously, windows handled their own focusing and closing but since i’ve discovered customevents windows now request this behaviour from the wm. finally, windows now auto-focus when you open them!
devlog #6 - more taskbar stuff i decided that it’s probably a good idea to be able to see what apps you have open, so i implemented a little window list in the status bar. it’s pretty rudimentary - it just makes an element for each open window and updates any time a window is added or removed. eventually i’ll get around to adding window logos and context menus that let you close and minimise windows from the taskbar but that’s a bit advanced for the minute.
devlog #7 - now we’re getting somewhere! tundra is starting to take off! i’ve changed the look of the taskbar very slightly (there’s now more padding), and i’ve also revamped the appdrawer so that it looks cleaner (and more like SerenityOS). also, submenus! now the appdrawer can be more organised as I continue to add apps instead of turning into a wastebin of buttons. i deleted all of the original apps and have replaced them with (so far) an updated welcome/about (with wally, the derpy walrus who’s tundra’s new mascot), a proper changelog (eventually i’ll make it pull from github but for now it’s hardcoded), and a cube to test out threejs.
devlog #8 - too many changes! my devlogs from here on are going to be getting a lot longer now because i’m really settling into the grind, so i’m going to try out a more structured format. dialogs! i implemented a whole dialog box system into caribou (the window manager). so far it only has confirm (cancel/ok) style dialogs but it’s modular so i’ll be sure to add plenty more in the future. dialogs return promises that resolve with a value when an action happens (like when the dialog is closed), and this can then be used to execute code. this all came about because i wanted to add fullscreen mode but apparently browsers don’t like it when you request fullscreen without user interaction so here we are! changelog changes (?) the changelog, as promised, pulls directly from github to ensure you always get the most up-to-date changes with minimal effort on my end ! it uses marked and DOMPurify to parse the CHANGELOG.md from the repo and to make sure you are personally secure from anyone who’s dumb enough to waste their time trying to attack tundra. preparing for themes soon, i’ll work on adding themes to tundra so i decided i’d make it a bit easier for myself by making every single value that might want to be changed in css a variable. this was excruciatingly painful but we got through it in the end (it took like 10 minutes max). also, the background is now loaded dynamically through js which will lead to custom backgrounds at some point (much to the dismay of my browser’s performance) next steps improve the dialog system and add more dialog types add a filesystem (very scary) add more apps add theming and changeable backgrounds
devlog #9 - files! what’s an operating system if you can’t have files? so, i decided to write a basic filesystem for tundra. paired with a simple terminal and now tundra is actually kind of cool! the filesystem tundra uses a really simple filesystem model: there’s a File and a Directory class that both inherit from FSNode, Files have names and contents and Directories have names and children. tundra uses a traditional unix file layout (/home, /bin, /etc and so on) because its cool. the terminal i really wanted some way to navigate the filesystem but didn’t feel like implementing an entire file browser so I added a simple terminal. it has a few methods like writeln and readline which you can use. all the commands (including the shell!) are defined in their own classes, just like apps, which makes it really easy to add new ones. so far, i’ve added cd, ls, mkdir, touch, cat, and my own version of neofetch. next steps an actual file browser some more commands ANSI escape codes for colours a text editor to make files for the filesystem
devlog #10 - new apps after like a month-long hiatus i thought that i ought to add a few more apps - this is meant to be somewhat useful after all! calculator this is a really basic calculator app, basically when you press a button it adds its value (like 2 or + or . ) to an expression, and when you hit the = button it evaluates the expression with eval() . yes, i know its not the safest but it works. colo(u)r picker this one is also really simple: every time you press a key on your keyboard, a new random colour is generated and the rgb and hex values are shown in the bottom. need i say more? file explorer once again, this is really basic. all it does is gets the contents of the current directory (i had to make a new fs function to return each path’s type as well) and then makes a new element for each path with an icon corresponding to what it is. there’s also a back button if you need to… well.. go back next steps file opening from the file explorer text editor more functions in the calculator / better calculator
devlog #11 - ctrl+alt+delete this is a bit of a shorter devlog since I basically only added one thing - a functioning shutdown sequence! first a little dialog pops up asking if you’re sure, and then the whole screen goes black and says “shutting down…”, finally followed by an elite reference (Progressbar95 players rise up!)
devlog #12 - the end? (for now) this is going to be my last devlog before I ship tundra, i’m really proud of how far it’s come and the fact that i’ve actually managed to finish a project for once! I didn’t quite get to add everything I wanted but most of it is there text editor time! i added a real simple text editor that can save and load files from the “disk”. i don’t really have anything else to say about it rated D for dialogs in order for the text editor to work properly, I had to make save and open dialog boxes. these are basically an unholy frankenstein of the normal dialog box and the file browser app, and they work well enough object permanence using JSON and the world’s jankiest serialization/deserialization system I was able to save the user’s filesystem state to localStorage so that even of you reload or close the page, your precious writing will be preserved you’re getting the boot real operating systems don’t open straight to the desktop - theres a whole boot sequence that leads to this (and if you’re cool and use linux it’s all on display for you). inspired by @cooki ’s FPS-OS (go check it out it’s really cool) i added a boot screen that looks pretty alright I guess. visual imagery finally, I got around to adding icons for each app. they’re 16x16, made in aseprite over the course of about 10 minutes, and work just enough that I don’t need to redesign them constantly. next steps ship it!
Ships:
tundra v0.1.0 (alpha) tundra is finally ready to release! it’s currently very much in its infancy and doesn’t have very many features but it meets the requirements of the ship and i’m proud of it! so far we have: multiple draggable windows that are instanceable and defined as classes in javascript (so you can open more than one of the same app!) a welcome message, notes app (which is really an editable changelog), and a nice assortment of images for you to look at a status bar with the date and a handy app drawer so you can access all (3 of) the cool apps on display! a beautiful font (cozette by the-moonwitch) i hope you all like it so far, and plenty more features will follow in the coming weeks
tundra OS i made a web OS called tundra. visually, it’s really similar to Serenity OS and it was a whole lot of fun to make. features lots of apps, like a browser, text editor, and file browser a working(ish) filesystem a whole dialog system 3d graphics elite references...
|
1792972546.7597072
|
1793058946.7597072
|
|
7427
|
PeerPath by @shouryamishra | Stardance
|
shouryamishra
|
1
|
23.09
|
204
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-25T17:29:24Z", "hours": 22.0, "multiplier": 9.65, "payout": 204, "blessing": "neutral", "text": "I have created PeerPath, a dynamic learning environment that supports multiple subjects and currently has full data-driven tracks for AP Calculus AB and BC with its own quiz engine, which automatically converts mathematical notation to beautiful inline LaTeX. The main challenge was to deal with streams of various formats between pre-loaded JSON files and the API endpoints, which led to raw KaTeX blocks for normal English prompts, resulting in string parsing errors and an unreadable italicized text. I have dealt with this issue by implementing my inline tokenizing renderer that is separating calculator functions such as “sqrt()” or “^” from regular dictionary words, thus rendering equations smoothly without any layout issues. I think it’s really cool how this state machine works in real time validating responses and updating user’s concept momentum (XP) through Supabase. If you want to see how it works, you can just dive into any Calculus AB or BC milestone tracker module, open “Intuition Check” widget and see how mathematical symbols are rendered in real time.", "repo": "https://github.com/Sh4rk-glitch/PeerPath", "demo": "https://peerpathv2.vercel.app"}]...
|
[{"post_id": 17702, "ts": "202 [{"post_id": 17702, "ts": "2026-06-28T16:49:39Z", "hours": 1.0886, "text": "I’ve been making a whole bunch of fixes with all of the feedback I’m getting from the multiple rejections of ships… but I mean its good feedback and I’ve been using it to my advantage. Fixes: LocalHost error popping up when signing up, removed email authentication Fixed search bar Fixed UI changes on home page with the sign in card Minor bugs and updates."}, {"post_id": 15760, "ts": "2026-06-25T17:09:07Z", "hours": 1.5214, "text": "PeerPath is ready. As of now, only AP Calc AB and AP Calc BC. I plan on adding more and more curriculums in the future, but as of now, those are the ones that are ready."}, {"post_id": 15399, "ts": "2026-06-25T01:09:33Z", "hours": 4.4694, "text": "I grinded out a LOT today. Got a whole bunch of updates in, fixed bugs, only a couple more things to do before PeerPath is ready to be shipped. #PeerPath"}, {"post_id": 15092, "ts": "2026-06-24T15:02:48Z", "hours": 1.1944, "text": "So i spent quite a bit of time yesterday adding proper videos and adding the corresponding questions to the calculus section. I’ve gotten everything down for it and all the videos work on AP Calc AB, now i just gotta get BC done. And then I think I’ll just fix a couple bugs here and there, work on some UI fixes, and then shabang (drake ref), I should be all done."}, {"post_id": 13797, "ts": "2026-06-22T16:51:43Z", "hours": 1.6872, "text": "PeerPath is almost done! I’ve gotten a lot done over the past couple days! At the moment the only available classes are ap calc ab and ap calc bc, i’m working on the curriculum for other classes as it takes me hours on end to get the curriculum for them. As of now, both files have about 2500 lines of code, so as you can tell it takes a while. The good thing is that I’ve integrated AI generated questions into each unit! It’s still a work in progress and isn’t fully completed but as of now, its going very good!"}, {"post_id": 13729, "ts": "2026-06-22T14:39:18Z", "hours": 3.4503, "text": "4000 lines of code later, AP Calc AB and BC are ready for deployment!"}, {"post_id": 8962, "ts": "2026-06-14T22:19:15Z", "hours": 1.3053, "text": "Got classes integrated in my SQL Database, i populated them all. Then after that I created filters and got started on making curriculums for every class."}, {"post_id": 8312, "ts": "2026-06-13T20:30:11Z", "hours": 1.46, "text": "Alright so I got started on the actual home page, everything is now up and running well! Now time to work on lesson data."}, {"post_id": 8250, "ts": "2026-06-13T18:31:58Z", "hours": 1.0306, "text": "I’ve published the main side at: https://peerpathv2.vercel.app You can check it out there, im still working on all the features though, just the home page is up right now, the sign in features don’t work as the actual app isn’t ready yet."}, {"post_id": 8180, "ts": "2026-06-13T17:01:53Z", "hours": 1.5122, "text": "Home page is fully done. Took me sooo long to get these tsx animations to work with the css code.."}, {"post_id": 7708, "ts": "2026-06-12T21:24:27Z", "hours": 3.9778, "text": "After 4 hours of work, the home page is done. PeerPath is looking good! Now i just gotta refine a couple things on the home page, I’m gonna call it a day for now though."}]...
|
Title: PeerPath by @shouryamishra | Stardance
Dev Title: PeerPath by @shouryamishra | Stardance
Devlogs:
After 4 hours of work, the home page is done. PeerPath is looking good! Now i just gotta refine a couple things on the home page, I’m gonna call it a day for now though.
Home page is fully done. Took me sooo long to get these tsx animations to work with the css code..
I’ve published the main side at: https://peerpathv2.vercel.app You can check it out there, im still working on all the features though, just the home page is up right now, the sign in features don’t work as the actual app isn’t ready yet.
Alright so I got started on the actual home page, everything is now up and running well! Now time to work on lesson data.
Got classes integrated in my SQL Database, i populated them all. Then after that I created filters and got started on making curriculums for every class.
4000 lines of code later, AP Calc AB and BC are ready for deployment!
PeerPath is almost done! I’ve gotten a lot done over the past couple days! At the moment the only available classes are ap calc ab and ap calc bc, i’m working on the curriculum for other classes as it takes me hours on end to get the curriculum for them. As of now, both files have about 2500 lines of code, so as you can tell it takes a while. The good thing is that I’ve integrated AI generated questions into each unit! It’s still a work in progress and isn’t fully completed but as of now, its going very good!
So i spent quite a bit of time yesterday adding proper videos and adding the corresponding questions to the calculus section. I’ve gotten everything down for it and all the videos work on AP Calc AB, now i just gotta get BC done. And then I think I’ll just fix a couple bugs here and there, work on some UI fixes, and then shabang (drake ref), I should be all done.
I grinded out a LOT today. Got a whole bunch of updates in, fixed bugs, only a couple more things to do before PeerPath is ready to be shipped. #PeerPath
PeerPath is ready. As of now, only AP Calc AB and AP Calc BC. I plan on adding more and more curriculums in the future, but as of now, those are the ones that are ready.
I’ve been making a whole bunch of fixes with all of the feedback I’m getting from the multiple rejections of ships… but I mean its good feedback and I’ve been using it to my advantage. Fixes: LocalHost error popping up when signing up, removed email authentication Fixed search bar Fixed UI changes on home page with the sign in card Minor bugs and updates.
Ships:
I have created PeerPath, a dynamic learning environment that supports multiple subjects and currently has full data-driven tracks for AP Calculus AB and BC with its own quiz engine, which automatically converts mathematical notation to beautiful inline LaTeX. The main challenge was to deal with streams of various formats between pre-loaded JSON files and the API endpoints, which led to raw KaTeX blocks for normal English prompts, resulting in string parsing errors and an unreadable italicized text. I have dealt with this issue by implementing my inline tokenizing renderer that is separating calculator functions such as “sqrt()” or “^” from regular dictionary words, thus rendering equations smoothly without any layout issues. I think it’s really cool how this state machine works in real time validating responses and updating user’s concept momentum (XP) through Supabase. If you want to see how it works, you can just dive into any Calculus AB or BC milestone tracker module, open “Intuition Check” widget and see how mathematical symbols are rendered in real time....
|
1792986494.528632
|
1793072894.528632
|
|
27450
|
JBootloader by @jphwb | Stardance
|
jphwb
|
1
|
15.0
|
204
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-20T06:38:10Z", "hours": 15.0, "multiplier": 13.86, "payout": 204, "blessing": "neutral", "text": "JBootloader is a custom bootloader and kernel with a shell that has basic functionality made in c and assembly x86_64. The kernel currently can load a fat-16 filesystem image in read only mode and commands such as cat and ls can be used. Everything that is required to boot is all compiled into os.bin (Releases) including the kernel, stage1/stage2.asm and the fat16 filesystem which is designed to work on QEMU. This project isnt made to be actually used (obviously) but its more of a learning journey helping me learn how a bootloader and kernel work. Initially I wanted to just make a bootloader like GRUB that could boot any operating system but at the time I was overestimating my skills in asm so I decided to steer off and make a simple kernel instead. The challenging part was the agonizing “why won’t the fat-16 partition show up” because it just would show up no matter what I did so I pulled up gemini and put in my fat_16.c code and asked it to edit my code to push out any debugging info to the vm so that I’d be able to see what went wrong, using this I overcame my problems. Also at the start I spent almost an hour trying to find an issue since my C/C++ extension in VS wasn’t working and my build command just refused to tell me what was wrong but turns out I did #include print.c :sob To test the project I have all the instructions on the release page linked on the demo button and the download to os.bin which includes all the parts with the assembly bootloader, the kernel and the filesystem’s .img file. You also require qemu to be installed and if your on windows PLEASE just use wsl it’s a pain to use qemu on windows natively.", "repo": "https://github.com/jphwba/jbootloader", "demo": "https://github.com/jphwba/jbootloader/releases/tag/v1.1"}]...
|
[{"post_id": 48842, "ts": "202 [{"post_id": 48842, "ts": "2026-08-17T12:01:13Z", "hours": 7.0572, "text": "So what I implemented was a keyboard event queue, a shell, IDE driver for a FAT-16 readonly filesystem and a preemptive scheduler. I didn’t add a true ring3 userspace in this because I need GDT ring transitions and a syscall ABI that is annoying and I don’t have the legal brain capacity in my skillset to do it. This is now capable of switching into 32-bit protected mode and directly loads the C kernel into memory. I also made cleanups to kernel.c/h and fixed some minor build errors."}, {"post_id": 21713, "ts": "2026-07-03T20:08:33Z", "hours": 4.1536, "text": "Kernel Refactor One of the biggest changes in this update was reorganising the kernel into individual components rather than keeping everything inside a single source file.The project now contains dedicated modules for: VGA text output Interrupt Descriptor Table (IDT) Interrupt Service Routines (ISR) Hardware Interrupt Requests (IRQ) Programmable Interrupt Controller (PIC) Programmable Interval Timer (PIT) Keyboard driver Low-level I/O helpers Interrupt Descriptor Table The kernel now builds and installs a complete Interrupt Descriptor Table (IDT) containing all 256 entries. CPU exceptions (ISR 0-31) are fully registered, while IRQs from the Programmable Interrupt Controller occupy vectors 32-47 after remapping. Once the IDT has been loaded using lidt, the kernel is capable of safely responding to both processor exceptions and hardware interrupts. CPU Exception Handling Proper exception handling has now been implemented. Instead of the CPU immediately crashing with no feedback, exceptions are caught and displayed on screen with useful debugging information including: Exception name Interrupt number Error codeInstruction pointer (EIP) Code segment CPU flags After reporting the error the kernel safely halts, making debugging much easier during development. Programmable Interrupt Controller (PIC) The legacy PIC is now fully initialised and remapped away from the CPU exception vectors .Support has also been added for: Sending End Of Interrupt (EOI) commands Masking individual IRQ lines Unmasking IRQs when drivers are ready Programmable Interval Timer (PIT) The PIT has now been configured as the kernel’s first hardware timer. It generates periodic interrupts at a configurable frequency and maintains a continuously increasing tick counter. While simple for now, this timer will eventually become the basis for delays Keyboard Driver Perhaps the most noticeable improvement in this update is the addition of the first real hardware driver. The keyboard driver: Receives hardware interrupts on IRQ1 Reads raw PS/2 scancodes Translates scancodes into ASCII characters Buffers incoming keystrokes Allows the kernel to read characters without directly accessing hardware every time Improved VGA Terminal The VGA text driver has also been rewritten into its own module. I added Cursor updates, Automatic scrolling, Backspace support, Colour control, Decimal output and Hexadecimal output"}, {"post_id": 19946, "ts": "2026-07-01T12:11:26Z", "hours": 1.2294, "text": "I rewrote the bootloader into two stages. Each item in stage 2 is Disk loader: disk_read_lba in stage2 is fully reusable (LBA, count, drive, destination segment:offset via a Disk Address Packet), checks for INT 13h extensions first, and retries 3 times with a disk reset between attempts, same pattern in stage1’s simpler loader. Print routine: print_string prints status lines at each stage (“loading kernel…”, “enabling A20…”, etc) plus explicit disk error and unsupported extensions messages. A20: now enabled in real mode before the protected mode switch, using the BIOS function and the fast A20 gate together. Boot drive: saved from DL at both stage1 and stage2 entry rather than hardcoded. Magic numbers: sector counts, load addresses, and buffer addresses all moved into src/config.inc, shared by both stages. E820 memory map: collected in real mode into a fixed buffer before switching to protected mode. Boot info struct: built in 32-bit mode and handed to the kernel via EBX. Matching BootInfo struct is in kernel.h. Load/execute address mismatch: The kernel now loads to physical 0x10000 in real mode, then once in flat 32-bit protected mode, stage2 copies it to 0x100000 with rep movsd before jumping there, so the linker script’s link address and the actual jump target now agree."}, {"post_id": 19889, "ts": "2026-07-01T09:57:18Z", "hours": 1.8975, "text": "Got the bootloader to load kernel.c which is empty but you can see in the gdb log in the terminal that it does load void kernel_main. Next I am going to rewrite the bootloader into a two stage bootloader so it can have a print routine, retrying disk reads, A20 handling and an E820 memory map. Since all of this isnt possible in just 510 bytes (last two bytes reserved for the boot sector signature being 0x55 and 0xAA) I will split it into two stages."}, {"post_id": 17432, "ts": "2026-06-28T06:35:23Z", "hours": 0.3608, "text": "Created a basic assembly project that prints hello world to the terminal and tested it by booting the built .bin file in qemu."}]...
|
Title: JBootloader by @jphwb | Stardance
Devlogs: Title: JBootloader by @jphwb | Stardance
Devlogs:
Created a basic assembly project that prints hello world to the terminal and tested it by booting the built .bin file in qemu.
Got the bootloader to load kernel.c which is empty but you can see in the gdb log in the terminal that it does load void kernel_main. Next I am going to rewrite the bootloader into a two stage bootloader so it can have a print routine, retrying disk reads, A20 handling and an E820 memory map. Since all of this isnt possible in just 510 bytes (last two bytes reserved for the boot sector signature being 0x55 and 0xAA) I will split it into two stages.
I rewrote the bootloader into two stages. Each item in stage 2 is Disk loader: disk_read_lba in stage2 is fully reusable (LBA, count, drive, destination segment:offset via a Disk Address Packet), checks for INT 13h extensions first, and retries 3 times with a disk reset between attempts, same pattern in stage1’s simpler loader. Print routine: print_string prints status lines at each stage (“loading kernel…”, “enabling A20…”, etc) plus explicit disk error and unsupported extensions messages. A20: now enabled in real mode before the protected mode switch, using the BIOS function and the fast A20 gate together. Boot drive: saved from DL at both stage1 and stage2 entry rather than hardcoded. Magic numbers: sector counts, load addresses, and buffer addresses all moved into src/config.inc, shared by both stages. E820 memory map: collected in real mode into a fixed buffer before switching to protected mode. Boot info struct: built in 32-bit mode and handed to the kernel via EBX. Matching BootInfo struct is in kernel.h. Load/execute address mismatch: The kernel now loads to physical 0x10000 in real mode, then once in flat 32-bit protected mode, stage2 copies it to 0x100000 with rep movsd before jumping there, so the linker script’s link address and the actual jump target now agree.
Kernel Refactor One of the biggest changes in this update was reorganising the kernel into individual components rather than keeping everything inside a single source file.The project now contains dedicated modules for: VGA text output Interrupt Descriptor Table (IDT) Interrupt Service Routines (ISR) Hardware Interrupt Requests (IRQ) Programmable Interrupt Controller (PIC) Programmable Interval Timer (PIT) Keyboard driver Low-level I/O helpers Interrupt Descriptor Table The kernel now builds and installs a complete Interrupt Descriptor Table (IDT) containing all 256 entries. CPU exceptions (ISR 0-31) are fully registered, while IRQs from the Programmable Interrupt Controller occupy vectors 32-47 after remapping. Once the IDT has been loaded using lidt, the kernel is capable of safely responding to both processor exceptions and hardware interrupts. CPU Exception Handling Proper exception handling has now been implemented. Instead of the CPU immediately crashing with no feedback, exceptions are caught and displayed on screen with useful debugging information including: Exception name Interrupt number Error codeInstruction pointer (EIP) Code segment CPU flags After reporting the error the kernel safely halts, making debugging much easier during development. Programmable Interrupt Controller (PIC) The legacy PIC is now fully initialised and remapped away from the CPU exception vectors .Support has also been added for: Sending End Of Interrupt (EOI) commands Masking individual IRQ lines Unmasking IRQs when drivers are ready Programmable Interval Timer (PIT) The PIT has now been configured as the kernel’s first hardware timer. It generates periodic interrupts at a configurable frequency and maintains a continuously increasing tick counter. While simple for now, this timer will eventually become the basis for delays Keyboard Driver Perhaps the most noticeable improvement in this update is the addition of the first real hardware driver. The keyboard driver: Receives hardware interrupts on IRQ1 Reads raw PS/2 scancodes Translates scancodes into ASCII characters Buffers incoming keystrokes Allows the kernel to read characters without directly accessing hardware every time Improved VGA Terminal The VGA text driver has also been rewritten into its own module. I added Cursor updates, Automatic scrolling, Backspace support, Colour control, Decimal output and Hexadecimal output
So what I implemented was a keyboard event queue, a shell, IDE driver for a FAT-16 readonly filesystem and a preemptive scheduler. I didn’t add a true ring3 userspace in this because I need GDT ring transitions and a syscall ABI that is annoying and I don’t have the legal brain capacity in my skillset to do it. This is now capable of switching into 32-bit protected mode and directly loads the C kernel into memory. I also made cleanups to kernel.c/h and fixed some minor build errors.
Ships:
JBootloader is a custom bootloader and kernel with a shell that has basic functionality made in c and assembly x86_64. The kernel currently can load a fat-16 filesystem image in read only mode and commands such as cat and ls can be used. Everything that is required to boot is all compiled into os.bin (Releases) including the kernel, stage1/stage2.asm and the fat16 filesystem which is designed to work on QEMU. This project isnt made to be actually used (obviously) but its more of a learning journey helping me learn how a bootloader and kernel work. Initially I wanted to just make a bootloader like GRUB that could boot any operating system but at the time I was overestimating my skills in asm so I decided to steer off and make a simple kernel instead. The challenging part was the agonizing “why won’t the fat-16 partition show up” because it just would show up no matter what I did so I pulled up gemini and put in my fat_16.c code and asked it to edit my code to push out any debugging info to the vm so that I’d be able to see what went wrong, using this I overcame my problems. Also at the start I spent almost an hour trying to find an issue since my C/C++ extension in VS wasn’t working and my build command just refused to tell me what was wrong but turns out I did #include print.c :sob To test the project I have all the instructions on the release page linked on the demo button and the download to os.bin which includes all the parts with the assembly bootloader, the kernel and the filesystem’s .img file. You also require qemu to be installed and if your on windows PLEASE just use wsl it’s a pain to use qemu on windows natively....
|
1792990603.3619297
|
1793077003.3619297
|
|
19677
|
modOS by @Huseyin | Stardance
|
Huseyin
|
2
|
69.87
|
203
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T14:51:27Z", "hours": 47.0, "multiplier": 4.4, "payout": 203, "blessing": "neutral", "text": "modOS Sevda Çiçeği: A fully open-source, modular, and multi-platform webOS. Features: modOS, unlike other webOS projects, has a plentiful of unique features allowing more customization: Modular build. Developer friendly API’s Pre-built desktop Account service And many more! Usage: modOS can be used everywhere by anyone, making it a great option for people on the move. Development: modOS comes with API’s to allow integration and make it easier for developers to make new packages.", "repo": "https://github.com/krambo345/modOS", "demo": "https://modos.krambo.space"}, {"ship_num": 2, "ts": "2026-06-30T18:15:01Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Welcome to modOS v1.0.0 Cambaz. It is a full webOS that comes with the basics of a computer. This full (almost) stable release is modular, flexible, and heavily optimized to up stand multiple situations. There were many challenges when it came to converting what I did from the guide into a modular system. It came with many problems, errors, lack of sleep, so on and so forth. Thanks to Lil ’G(PT), I was able to automate small tasks like converting HTML apps to a format that could be published in JSON. Features of modOS Cambaz: A fully modular system, with the ability to publish your own JS files with others. A small “terminal” named run. Package/App manager. Bartender(the bar of modOS) WER (Window Manager of modOS) Automated system set up. Developer friendly design. An aesthetic that combines 2000s retro and today’s modern. From here, the future releases of modOS will focus on making a full, complete package manager which makes distributing and receiving applications across modOS more easy. NOTE: In order to use many of the special features of modOS, you have to download and run modOS locally on your device. The picture shows what you would get in an out-of-the-box experience.", "repo": "https://github.com/krambo345/modOS", "demo": "https://modos.krambo.space"}]...
|
[{"post_id": 68315, "ts": "202 [{"post_id": 68315, "ts": "2026-09-14T22:29:25Z", "hours": 2.7064, "text": "SO MUCH BETTER! modOS is now more than just a template for your OS. It now makes it easier to template your own web OS! New Additions Settings package Splash Screen(you can turn it off in settings!) Saving settings 💾 Uses With these new features, your modOS account will officially have a working function. You can open your environment wherever you want. Future Plans Saving installed packages Saving user-made files/folders(There is already a immature version, however it does not work). Package development IDE. Customized Splash Screen Notification Daemon D-Bus Events 😟 Problems That Occured Resetting custom CSS. New user check(supposed to work. literally no reason it should not) Send Recommendations/Suggestions Sorry for excess use of EMOJIS they are fun"}, {"post_id": 67589, "ts": "2026-09-13T18:52:38Z", "hours": 3.1647, "text": "A Path to Stable From the previous… and unsuccessful ship… I learned many things that could improve modOS(other than a temporary Firebase bug🙄) First of all, there were a lot of bugs. A plenty of the time reported on this devlog are from bug fixing. Secondly, seems like people want to be able to customize the preinstalled system. So I have been working on a settings package to allow managing your account and CUSTOMIZING your system! DISCOVERY❗! Apperiantly, because modOS is modular by design, and because you can import packages, and because you can edit those packages, it turns out app development in the sense of an IDE is by design built in to modOS! With this, I was able to resolve many package related bugs running in a live environment, and even build packages! This will be utilized even more to hopefully make a full modern IDE package for anyone to use and build packages!!! Check out the video below for demonstration! I am looking for ideas, so please hit me up with some!"}, {"post_id": 47520, "ts": "2026-08-15T14:07:54Z", "hours": 8.6556, "text": "Adding stuff As of now, modOS comes with pre-installed packages to get you, the user, started. These include terminal, desktop, bartender, wer(window manager), editor, and more! With these packages you can install more packages(that do not exist yet). Do you want to be a developer? modOS is made to be one of the most developer friendly webOS’s out there! With over 10 different API’s, you can build applications that are easily integrated into the system. You can check out the source code of each package I made for modOS via first, finding the package with ls packages (in terminal) and then reading them with cat packages/PACKAGE (also in terminal)! oooor just go to the krambools github repository https://github.com/krambo345/krambools Bootstrap recovery Bootstrap works right now, for me. However, if anyone else gets errors while booting modOS, they will have the opportunity to repair it via bootstrap recovery that is presented upon failure. link due to a situation, i can not put modOS link to the information. use this link to access modOS: https://modos.krambo.space Thank yall"}, {"post_id": 45147, "ts": "2026-08-11T13:30:21Z", "hours": 11.2347, "text": "BOOYAH! After so long, we finally have VISUAL IMPROVEMENT!!! Before we start, I would appreciate if y’all followed modOS! Link: modos.krambo.space New Additions: You can now install(via packer get) or remove(via packer remove) ANY PACKAGE(from existing directory, use packer fetch for a list) You get some propriety software for modOS so it is easier for you to do stuff :) Package delivered commands! Developers can implement their own commands and API’s to the modOS ecosystem! API integration into packages Dependencies work flow modOS-VT has officially been made modOS, with the original being retired under modOS-pre. It will be removed from GitHub soon. And MANY more minor updates! Things that are needed to be fixed Guest option does not work, special rules needed to be implemented. packer.get API blindly makes a new blob file every time it is used(potential memory leak) There is no settings feature(yet), so the accounts are pretty useless rn. Sorry. And yeah that’s it to my knowledge DEVELOPERS!!! You can officially use the modOS API to make an application for the modOS ecosystem! Sadly, we do not have any documentation, but you can see the existing packages I made for reference, I tried my best to make it easy on y’all! https://github.com/krambo345/krambools/tree/master Publishing If you are a developer that made an application for modOS(tysm!), there sadly is no official way to register the application to modOS(yet!). It is still being implemented. Please hold on to your application until there is a method. Follow this project to be updated for when it is implemented! Thank you! Disclaimers: AI has been heavily used in this part of the project due to the advanced levels of TS used(that I can’t do myself). In my defense, this is the first project I ever made using TypeScript and Vite. Almost every new feature exposes me to another new thing(and problem) to learn!"}, {"post_id": 42585, "ts": "2026-08-07T12:28:48Z", "hours": 7.7994, "text": "Tada! modOS-VT is SO close to being done! I feel it! Disclaimers AI was heavily used at this point of the project. The reason is that the code was starting to get very messy(and not cool looking), which is why I asked AI to REORGANIZE the code. It basically took what I wrote, made them more organized, and made the connections. It is more than likely that the AI added a few of lines itself. Alongside that, I used AI to COMPLETELY make a terminal system using xterm.js(node module). The reason is, xterm has one of the worst and most incomplete documentations I ever saw. I really couldn’t make it myself after three tries. And finally, I used AI to make a package installation/launching system, as that would lead me into parts of Java/Type Script that I previously had no experience with. I am still trying to learn how to make it myself, however. I am very sorry for the heavy usage of AI. This is a very niche project that you can not find a lot of information for. I believe the code still meets AI requirements of Stardance. New Additions There is a fully set-up(with a Firebase back end) account management system to signup or login users. There is a guest option for people who just want to try it out! System-wide terminal. It is made so different software can be built on it! Package installation and launching: This is HUGE! This is what was needed to make modOS MODULAR ! New API’s Very cool and clean looking code(developer friendly). Future Updates modOS-VT will be rebranded to just modOS. There will be some base packages that are needed to make. A README.md for developers with the instructions on making a package. And yeah that is what’s left for modOS-VT."}, {"post_id": 28076, "ts": "2026-07-14T03:22:04Z", "hours": 9.6597, "text": "Longer Yet Shorter [Dev Post 6] After some long work, modOS is finally getting easier to get done. But it’s not done just yet. What is new? modOS now has some basic API’s, which will be used in the future by developers to make applications that can be fully integrated into the ecosystem. Bootstrap is reaching completion, which will bring us to the next step: display. We also have one of the most important functions of an OS, file management! modOS utilizes zenfs/core to store files and folders(alongside their structure) in memory! This will allow the creation of file explorers, document making, and more! This is also a crucial piece to make a modular OS. What is needed? modOS still needs some more API’s, most which will come from packages. Due to that, the next dev post should be of packer, the official package manager for modOS. It will be the connectiong between users, database, and developers. User <--> Database <--> Developer Meaning dev’s will be able to publish packages, and user’s will be able to download them! And finally, we need an account session thingy to keep track of each user’s installed packages. This also will allow the usage of YOUR modOS anywhere! Final Regards pretty cool"}, {"post_id": 25326, "ts": "2026-07-09T15:28:04Z", "hours": 6.805, "text": "A New Beginning [Dev Post 5] Here is what I got done ever since I announced modOS Sevda Çiçeği! git init So we now have modOS-VT as a GitHub repository. It’s pretty cool. VT stands for Vite Type, indicating how the project utilizes Vite and TypeScript instead of just html and javascript. What is made? I made: A bootstrap, which initializes every service necessary for modOS runtime. Basic system. Firebase!!! Jeez, why did it take 7 hours? Well, my friend, modOS is completely modular. So there is a bit of contradiction when I need to make a bootstrap that launches things, if there is no things . I worked on making a placeholder for almost everything. Core Idea modOS will be just like any other Linux distribution. You have the base system that gives you whatever you need. And you install user-generated content with a package manager! It will be so cool! But right now, I am still working on making the base system part. PSST! Do you want to contribute to modOS by making an app for it? Well you absolutely can! Right now it’s a bit difficult as there is no modOS . However, you can develop applications using typescript any time! Later modOS versions will come with API’s that you can integrate your app into the modOS ecosystem. Challenges The main challenge was getting started with modOS… again… but when I did start, it starts flowing like butter. What I LOVE about modOS right now: Because modOS-VT is built on Vite, I can use packages and make it easier to use with GitHub pages! I did not have to make 15 commits for a bug fix while setting up GitHub pages! Final Regards Thank you. :)"}, {"post_id": 19732, "ts": "2026-07-01T03:52:27Z", "hours": 3.1253, "text": "Announcing modOS Sevda Çiçeği Concept After completing the pretty underdeveloped modOS Cambaz, I think it is time we move on to a full, stable, environment. Plans for modOS Sevda Çiçeği: A fully modular webOS where you can change everything from the window rules to the very development environment. A package manager for distributing, installing, and managing user created packages. A full modOS API for consistency and compatibality. And MANY more. Here is a checklist/roadmap for modOS that you can follow as I check off the tasks: https://docs.google.com/document/d/1H7caegzGowVeYkntmm87eaJ8XJtSyU1Pbvb5vVNmgYI/edit?usp=sharing Logged hours for this dev post come from earlier bug fixes and polishing to modOS Cambaz alongside the making of modOS Sevda Çiçeği"}, {"post_id": 19271, "ts": "2026-06-30T15:17:32Z", "hours": 6.3744, "text": "The End..? [Dev Post 4] With the guide finally being done, I announce modOS v1.0.0 Cambaz . Before I nerd out about everything added, here is more information about Mor ve Ötesi , the band behind Cambaz: https://en.wikipedia.org/wiki/Mor_ve_%C3%B6tesi Why is modOS different? Well, throughout the path of following the guide and making modOS, I completely rejected the idea of a hard-coded anything. Sure, it might be open-source, but what is the point of open-source if changing the source is going to take many hours of coding? modOS competes against a permanent webOS. The following features highlight how modOS achieves that: modOS does not have any hard-coded applications, bar, desktop, etc. Every app is found in a JSON file (apps.json located in /base/system/) which can be modified to install any application you want, easily! Currently this step is manual, and there is no official repository of verified applications. However, that is subject to change. Bartender (the bar system of modOS) is a JavaScript file (bartender.js found in /base/system/bartender.js) which can be modified to make the bar whatever you want! WER (Window Manager for modOS) is a script that inserts window functions such as the minimize and close buttons alongside the name of the window, icon, and movement system. The whole script is launched with initwindow(win) where win is the main window element. Got confused with the initwindow(win) command? Not to worry, modOS comes with the exec command, which follows the format exec(appname, icon) , where you can determine the name of the application ( REQUIRED ) and its icon ( NOT REQUIRED ). Whenever the command is run, the script ( exec.js found in /base/system/ ) looks through apps.json and pulls the necessary content and scripts, giving you a fully functional app. Note: If you decide to use a custom icon with an existing app, exec.js will still use the icon used in the database to maintain the developers creativity! So are you even more lazy? Cuz modOS desktop shows every app in apps.json for easier access. All you need is the ability to double click the app you want! Note: Psst! There are hidden applications. You need to run showhidden() to show them, and hidehidden() if you would like to hide them back. You can customize modOS off of the base CSS by editing config.css (config.css found in /system/user/) Default Applications List App Template: It is a template for you to make your own app! (hidden by default) run: An alternative for the developer console that comes with modern browsers. A great option for mobile users or older, unsupported browsers. Release Notes: Your updated news for modOS! Theme Song: The theme song of modOS! Plays Cambaz by Mor ve Ötesi. Future Updates A signup/login system is planned to be added for cross-platform sync ability (e.g. apps, settings, customizations, etc). This will be optional and you can still use modOS as a guest. modOS developer mode: A way for you to build applications for you and others on modOS! Window minimization: Currently, windows do get minimized. However, you really cannot un-minimize them without running the command document.querySelector(\".win\").style.display=\"block\" , which is unreliable and annoying. More applications: You will use modOS developer mode to develop applications for the ecosystem. No more work for me."}, {"post_id": 18381, "ts": "2026-06-29T14:53:03Z", "hours": 7.1789, "text": "A Big Jump [Dev Post 3] Here is an update of what I’ve been working on over the weekend. And there is a lot! Window Movement I followed the guide to make windows movable. However, there was a challenge. Challenge If I want to make modOS modular, how could I identify user-made windows? The guide showed a hard-coded movement system, but that would mean other people couldn’t make their own apps! Solution I used .querySelector to give every window of the same class movement functionality while keeping each instance separate. This means no matter how many windows of the same app you make, they’ll all be movable! So yes, you could have 30 copies of the same ping pong app ( not on modOS… yet ) and every window would work normally. Account Feature (Still in Progress) This is mainly what took most of the 7 hours I logged today. What was used? I used Firebase to establish a backend where user info would be stored. The info consists of a username, password, and user data. The first two are self-explanatory, but the data will store user changes to their OS so they can jump back in where they left off. Challenges The account creation script should theoretically work. However, I didn’t build the project around a package manager. Firebase works much better with one, meaning the project would need to be migrated to a framework like Vite. Solution There is a solution: create a new repository with Vite installed, then move everything over. I really didn’t want to deal with that right now, so the account feature will be implemented once the base build of modOS is complete. App Launching You can now use a terminal interface to launch apps! Challenges To keep apps modular while still being… apps, I couldn’t just say “open this app.” I needed users to be able to define a preferred name, icon, and content. The first two were easy, but I also needed a list of apps and their content. This way, future modOS developers can publish their applications to the modOS environment. Solution There is now an apps.json file with a full list of apps ( 1 app right now ). Whenever you launch an app via exec(name, icon) from the Dev Console, it checks whether the app exists in the JSON file and, if it does, fetches its corresponding content. A Step Towards Modular… modOS is officially MODULAR ! What is modular as of now? Many things! I scratched the modular clock idea from the previous Dev Post… AND REPLACED IT WITH A COMPLETELY MODULAR BAR!!! So now the entire bar is modular. :) Apps are now modular too! You can launch any app via exec(name, icon) in the Dev Console (often opened with F12) to render a new window with your preferred name and icon. The clock idea was scratched… BUT THE CLOCK ITSELF IS STILL MODULAR! Challenges Making things modular takes a lot of time. You don’t just write your program in HTML anymore—you have to generate it through JavaScript. To make it modular, individual variables need to go through their own processes before everything connects together. And of course… that usually comes with a bug or two. Solution Uh… yeah, that was the challenge. Doesn’t really need a solution. Releases From now on, every new release will be named after a song from a 2000s Turkish Alternative Rock band. The next major release will be called: modOS v0.x.x-alpha [Mor Ve Ötesi - Cambaz] Make sure you give it a listen. It’s a banger! Final Thoughts I think the project is going very well. It’s taking a lot of time, but it’s worthwhile since I’m learning new things about a programming language I’ve been using for five years now. I’m hoping to add more features, finish the base build, and finally move on to the backend side of things."}, {"post_id": 10467, "ts": "2026-06-17T06:18:54Z", "hours": 2.2683, "text": "Getting Started [Dev Post 2] Today, I did not do much visual progress. However, there is way more that goes on in the background. What’s new? We now have a bar tender. There is a clock now. But it’s not just any clock, this clock is MODULAR ! A very fancy weather widget with a very (not) fancy API. A MODULAR Clock? What does that mean? I’m glad you asked. Unlike a traditional clock, this clock actually is separated in multiple tags. That means you can move the tags around to change the order of the clock values. API This Dev Post is sponsored by wttr.in! With it’s simple, no sign-up, and no data limit, wttr.in is in my top 5 API’s. With a single fetch , we achieve great things like burnin’ hot weather. Notes: The clock is by definition modular, however not too accessible. This will be fixed with future updates. No, this Dev Post is not actually sponsored. You can check out the current state of modOS here ."}, {"post_id": 9757, "ts": "2026-06-16T05:59:35Z", "hours": 1.2353, "text": "modOS v0.0.1-alpha [Dev Post 1] This is a base release for an early preview of the main idea for modOS. Current “features” Website loads. Backgrounds. Base window infrastructure. Cool window hover/leave effect. :D Notes: Although the project is supposed to be modular, it is still in early development. So every line is hard-coded and is not modular."}]...
|
Title: modOS by @Huseyin | Stardance
Devlogs:
mod Title: modOS by @Huseyin | Stardance
Devlogs:
modOS v0.0.1-alpha [Dev Post 1] This is a base release for an early preview of the main idea for modOS. Current “features” Website loads. Backgrounds. Base window infrastructure. Cool window hover/leave effect. :D Notes: Although the project is supposed to be modular, it is still in early development. So every line is hard-coded and is not modular.
Getting Started [Dev Post 2] Today, I did not do much visual progress. However, there is way more that goes on in the background. What’s new? We now have a bar tender. There is a clock now. But it’s not just any clock, this clock is MODULAR ! A very fancy weather widget with a very (not) fancy API. A MODULAR Clock? What does that mean? I’m glad you asked. Unlike a traditional clock, this clock actually is separated in multiple tags. That means you can move the tags around to change the order of the clock values. API This Dev Post is sponsored by wttr.in! With it’s simple, no sign-up, and no data limit, wttr.in is in my top 5 API’s. With a single fetch , we achieve great things like burnin’ hot weather. Notes: The clock is by definition modular, however not too accessible. This will be fixed with future updates. No, this Dev Post is not actually sponsored. You can check out the current state of modOS here .
A Big Jump [Dev Post 3] Here is an update of what I’ve been working on over the weekend. And there is a lot! Window Movement I followed the guide to make windows movable. However, there was a challenge. Challenge If I want to make modOS modular, how could I identify user-made windows? The guide showed a hard-coded movement system, but that would mean other people couldn’t make their own apps! Solution I used .querySelector to give every window of the same class movement functionality while keeping each instance separate. This means no matter how many windows of the same app you make, they’ll all be movable! So yes, you could have 30 copies of the same ping pong app ( not on modOS… yet ) and every window would work normally. Account Feature (Still in Progress) This is mainly what took most of the 7 hours I logged today. What was used? I used Firebase to establish a backend where user info would be stored. The info consists of a username, password, and user data. The first two are self-explanatory, but the data will store user changes to their OS so they can jump back in where they left off. Challenges The account creation script should theoretically work. However, I didn’t build the project around a package manager. Firebase works much better with one, meaning the project would need to be migrated to a framework like Vite. Solution There is a solution: create a new repository with Vite installed, then move everything over. I really didn’t want to deal with that right now, so the account feature will be implemented once the base build of modOS is complete. App Launching You can now use a terminal interface to launch apps! Challenges To keep apps modular while still being… apps, I couldn’t just say “open this app.” I needed users to be able to define a preferred name, icon, and content. The first two were easy, but I also needed a list of apps and their content. This way, future modOS developers can publish their applications to the modOS environment. Solution There is now an apps.json file with a full list of apps ( 1 app right now ). Whenever you launch an app via exec(name, icon) from the Dev Console, it checks whether the app exists in the JSON file and, if it does, fetches its corresponding content. A Step Towards Modular… modOS is officially MODULAR ! What is modular as of now? Many things! I scratched the modular clock idea from the previous Dev Post… AND REPLACED IT WITH A COMPLETELY MODULAR BAR!!! So now the entire bar is modular. :) Apps are now modular too! You can launch any app via exec(name, icon) in the Dev Console (often opened with F12) to render a new window with your preferred name and icon. The clock idea was scratched… BUT THE CLOCK ITSELF IS STILL MODULAR! Challenges Making things modular takes a lot of time. You don’t just write your program in HTML anymore—you have to generate it through JavaScript. To make it modular, individual variables need to go through their own processes before everything connects together. And of course… that usually comes with a bug or two. Solution Uh… yeah, that was the challenge. Doesn’t really need a solution. Releases From now on, every new release will be named after a song from a 2000s Turkish Alternative Rock band. The next major release will be called: modOS v0.x.x-alpha [Mor Ve Ötesi - Cambaz] Make sure you give it a listen. It’s a banger! Final Thoughts I think the project is going very well. It’s taking a lot of time, but it’s worthwhile since I’m learning new things about a programming language I’ve been using for five years now. I’m hoping to add more features, finish the base build, and finally move on to the backend side of things.
The End..? [Dev Post 4] With the guide finally being done, I announce modOS v1.0.0 Cambaz . Before I nerd out about everything added, here is more information about Mor ve Ötesi , the band behind Cambaz: https://en.wikipedia.org/wiki/Mor_ve_%C3%B6tesi Why is modOS different? Well, throughout the path of following the guide and making modOS, I completely rejected the idea of a hard-coded anything. Sure, it might be open-source, but what is the point of open-source if changing the source is going to take many hours of coding? modOS competes against a permanent webOS. The following features highlight how modOS achieves that: modOS does not have any hard-coded applications, bar, desktop, etc. Every app is found in a JSON file (apps.json located in /base/system/) which can be modified to install any application you want, easily! Currently this step is manual, and there is no official repository of verified applications. However, that is subject to change. Bartender (the bar system of modOS) is a JavaScript file (bartender.js found in /base/system/bartender.js) which can be modified to make the bar whatever you want! WER (Window Manager for modOS) is a script that inserts window functions such as the minimize and close buttons alongside the name of the window, icon, and movement system. The whole script is launched with initwindow(win) where win is the main window element. Got confused with the initwindow(win) command? Not to worry, modOS comes with the exec command, which follows the format exec(appname, icon) , where you can determine the name of the application ( REQUIRED ) and its icon ( NOT REQUIRED ). Whenever the command is run, the script ( exec.js found in /base/system/ ) looks through apps.json and pulls the necessary content and scripts, giving you a fully functional app. Note: If you decide to use a custom icon with an existing app, exec.js will still use the icon used in the database to maintain the developers creativity! So are you even more lazy? Cuz modOS desktop shows every app in apps.json for easier access. All you need is the ability to double click the app you want! Note: Psst! There are hidden applications. You need to run showhidden() to show them, and hidehidden() if you would like to hide them back. You can customize modOS off of the base CSS by editing config.css (config.css found in /system/user/) Default Applications List App Template: It is a template for you to make your own app! (hidden by default) run: An alternative for the developer console that comes with modern browsers. A great option for mobile users or older, unsupported browsers. Release Notes: Your updated news for modOS! Theme Song: The theme song of modOS! Plays Cambaz by Mor ve Ötesi. Future Updates A signup/login system is planned to be added for cross-platform sync ability (e.g. apps, settings, customizations, etc). This will be optional and you can still use modOS as a guest. modOS developer mode: A way for you to build applications for you and others on modOS! Window minimization: Currently, windows do get minimized. However, you really cannot un-minimize them without running the command document.querySelector(".win").style.display="block" , which is unreliable and annoying. More applications: You will use modOS developer mode to develop applications for the ecosystem. No more work for me.
Announcing modOS Sevda Çiçeği Concept After completing the pretty underdeveloped modOS Cambaz, I think it is time we move on to a full, stable, environment. Plans for modOS Sevda Çiçeği: A fully modular webOS where you can change everything from the window rules to the very development environment. A package manager for distributing, installing, and managing user created packages. A full modOS API for consistency and compatibality. And MANY more. Here is a checklist/roadmap for modOS that you can follow as I check off the tasks: https://docs.google.com/document/d/1H7caegzGowVeYkntmm87eaJ8XJtSyU1Pbvb5vVNmgYI/edit?usp=sharing Logged hours for this dev post come from earlier bug fixes and polishing to modOS Cambaz alongside the making of modOS Sevda Çiçeği
A New Beginning [Dev Post 5] Here is what I got done ever since I announced modOS Sevda Çiçeği! git init So we now have modOS-VT as a GitHub repository. It’s pretty cool. VT stands for Vite Type, indicating how the project utilizes Vite and TypeScript instead of just html and javascript. What is made? I made: A bootstrap, which initializes every service necessary for modOS runtime. Basic system. Firebase!!! Jeez, why did it take 7 hours? Well, my friend, modOS is completely modular. So there is a bit of contradiction when I need to make a bootstrap that launches things, if there is no things . I worked on making a placeholder for almost everything. Core Idea modOS will be just like any other Linux distribution. You have the base system that gives you whatever you need. And you install user-generated content with a package manager! It will be so cool! But right now, I am still working on making the base system part. PSST! Do you want to contribute to modOS by making an app for it? Well you absolutely can! Right now it’s a bit difficult as there is no modOS . However, you can develop applications using typescript any time! Later modOS versions will come with API’s that you can integrate your app into the modOS ecosystem. Challenges The main challenge was getting started with modOS… again… but when I did start, it starts flowing like butter. What I LOVE about modOS right now: Because modOS-VT is built on Vite, I can use packages and make it easier to use with GitHub pages! I did not have to make 15 commits for a bug fix while setting up GitHub pages! Final Regards Thank you. :)
Longer Yet Shorter [Dev Post 6] After some long work, modOS is finally getting easier to get done. But it’s not done just yet. What is new? modOS now has some basic API’s, which will be used in the future by developers to make applications that can be fully integrated into the ecosystem. Bootstrap is reaching completion, which will bring us to the next step: display. We also have one of the most important functions of an OS, file management! modOS utilizes zenfs/core to store files and folders(alongside their structure) in memory! This will allow the creation of file explorers, document making, and more! This is also a crucial piece to make a modular OS. What is needed? modOS still needs some more API’s, most which will come from packages. Due to that, the next dev post should be of packer, the official package manager for modOS. It will be the connectiong between users, database, and developers. User <--> Database <--> Developer Meaning dev’s will be able to publish packages, and user’s will be able to download them! And finally, we need an account session thingy to keep track of each user’s installed packages. This also will allow the usage of YOUR modOS anywhere! Final Regards pretty cool
Tada! modOS-VT is SO close to being done! I feel it! Disclaimers AI was heavily used at this point of the project. The reason is that the code was starting to get very messy(and not cool looking), which is why I asked AI to REORGANIZE the code. It basically took what I wrote, made them more organized, and made the connections. It is more than likely that the AI added a few of lines itself. Alongside that, I used AI to COMPLETELY make a terminal system using xterm.js(node module). The reason is, xterm has one of the worst and most incomplete documentations I ever saw. I really couldn’t make it myself after three tries. And finally, I used AI to make a package installation/launching system, as that would lead me into parts of Java/Type Script that I previously had no experience with. I am still trying to learn how to make it myself, however. I am very sorry for the heavy usage of AI. This is a very niche project that you can not find a lot of information for. I believe the code still meets AI requirements of Stardance. New Additions There is a fully set-up(with a Firebase back end) account management system to signup or login users. There is a guest option for people who just want to try it out! System-wide terminal. It is made so different software can be built on it! Package installation and launching: This is HUGE! This is what was needed to make modOS MODULAR ! New API’s Very cool and clean looking code(developer friendly). Future Updates modOS-VT will be rebranded to just modOS. There will be some base packages that are needed to make. A README.md for developers with the instructions on making a package. And yeah that is what’s left for modOS-VT.
BOOYAH! After so long, we finally have VISUAL IMPROVEMENT!!! Before we start, I would appreciate if y’all followed modOS! Link: modos.krambo.space New Additions: You can now install(via packer get) or remove(via packer remove) ANY PACKAGE(from existing directory, use packer fetch for a list) You get some propriety software for modOS so it is easier for you to do stuff :) Package delivered commands! Developers can implement their own commands and API’s to the modOS ecosystem! API integration into packages Dependencies work flow modOS-VT has officially been made modOS, with the original being retired under modOS-pre. It will be removed from GitHub soon. And MANY more minor updates! Things that are needed to be fixed Guest option does not work, special rules needed to be implemented. packer.get API blindly makes a new blob file every time it is used(potential memory leak) There is no settings feature(yet), so the accounts are pretty useless rn. Sorry. And yeah that’s it to my knowledge DEVELOPERS!!! You can officially use the modOS API to make an application for the modOS ecosystem! Sadly, we do not have any documentation, but you can see the existing packages I made for reference, I tried my best to make it easy on y’all! https://github.com/krambo345/krambools/tree/master Publishing If you are a developer that made an application for modOS(tysm!), there sadly is no official way to register the application to modOS(yet!). It is still being implemented. Please hold on to your application until there is a method. Follow this project to be updated for when it is implemented! Thank you! Disclaimers: AI has been heavily used in this part of the project due to the advanced levels of TS used(that I can’t do myself). In my defense, this is the first project I ever made using TypeScript and Vite. Almost every new feature exposes me to another new thing(and problem) to learn!
Adding stuff As of now, modOS comes with pre-installed packages to get you, the user, started. These include terminal, desktop, bartender, wer(window manager), editor, and more! With these packages you can install more packages(that do not exist yet). Do you want to be a developer? modOS is made to be one of the most developer friendly webOS’s out there! With over 10 different API’s, you can build applications that are easily integrated into the system. You can check out the source code of each package I made for modOS via first, finding the package with ls packages (in terminal) and then reading them with cat packages/PACKAGE (also in terminal)! oooor just go to the krambools github repository https://github.com/krambo345/krambools Bootstrap recovery Bootstrap works right now, for me. However, if anyone else gets errors while booting modOS, they will have the opportunity to repair it via bootstrap recovery that is presented upon failure. link due to a situation, i can not put modOS link to the information. use this link to access modOS: https://modos.krambo.space Thank yall
A Path to Stable From the previous… and unsuccessful ship… I learned many things that could improve modOS(other than a temporary Firebase bug🙄) First of all, there were a lot of bugs. A plenty of the time reported on this devlog are from bug fixing. Secondly, seems like people want to be able to customize the preinstalled system. So I have been working on a settings package to allow managing your account and CUSTOMIZING your system! DISCOVERY❗! Apperiantly, because modOS is modular by design, and because you can import packages, and because you can edit those packages, it turns out app development in the sense of an IDE is by design built in to modOS! With this, I was able to resolve many package related bugs running in a live environment, and even build packages! This will be utilized even more to hopefully make a full modern IDE package for anyone to use and build packages!!! Check out the video below for demonstration! I am looking for ideas, so please hit me up with some!
SO MUCH BETTER! modOS is now more than just a template for your OS. It now makes it easier to template your own web OS! New Additions Settings package Splash Screen(you can turn it off in settings!) Saving settings 💾 Uses With these new features, your modOS account will officially have a working function. You can open your environment wherever you want. Future Plans Saving installed packages Saving user-made files/folders(There is already a immature version, however it does not work). Package development IDE. Customized Splash Screen Notification Daemon D-Bus Events 😟 Problems That Occured Resetting custom CSS. New user check(supposed to work. literally no reason it should not) Send Recommendations/Suggestions Sorry for excess use of EMOJIS they are fun
Ships:
Welcome to modOS v1.0.0 Cambaz. It is a full webOS that comes with the basics of a computer. This full (almost) stable release is modular, flexible, and heavily optimized to up stand multiple situations. There were many challenges when it came to converting what I did from the guide into a modular system. It came with many problems, errors, lack of sleep, so on and so forth. Thanks to Lil ’G(PT), I was able to automate small tasks like converting HTML apps to a format that could be published in JSON. Features of modOS Cambaz: A fully modular system, with the ability to publish your own JS files with others. A small “terminal” named run. Package/App manager. Bartender(the bar of modOS) WER (Window Manager of modOS) Automated system set up. Developer friendly design. An aesthetic that combines 2000s retro and today’s modern. From here, the future releases of modOS will focus on making a full, complete package manager which makes distributing and receiving applications across modOS more easy. NOTE: In order to use many of the special features of modOS, you have to download and run modOS locally on your device. The picture shows what you would get in an out-of-the-box experience.
modOS Sevda Çiçeği: A fully open-source, modular, and multi-platform webOS. Features: modOS, unlike other webOS projects, has a plentiful of unique features allowing more customization: Modular build. Developer friendly API’s Pre-built desktop Account service And many more! Usage: modOS can be used everywhere by anyone, making it a great option for people on the move. Development: modOS comes with API’s to allow integration and make it easier for developers to make new packages....
|
1792997664.9169457
|
1793084064.9169457
|
|
58670
|
Enjoy OBAMIUM (and the universe) by @texudev | Sta Enjoy OBAMIUM (and the universe) by @texudev | Stardance...
|
texudev
|
1
|
30.0
|
203
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-15T00:37:30Z", "hours": 30.0, "multiplier": 8.44, "payout": 203, "blessing": "neutral", "text": "Hey everyone! 👋 After wrestling with OpenGL state machines and pure wrath, I just dropped the first official release of my completely unnecessary 3D project: Obamium: A Cosmic Experience 🌌🪐 There are no quests. There are no enemies. There is no inventory. There is only Obamium. What it features: 🌌 A full 3D universe skybox powered by HDRI maps. 🪐 A meticulously rendered, slowly rotating 3D model of Obamium in its full glory. 💡 Custom OpenGL shaders and real-time lighting. 🖥️ Written completely from scratch in C++ and OpenGL 4.6 (now officially banishing the ugly console window to the shadow realm). If you want to stare into the cosmos and appreciate the absolute peak of modern 3D graphics, you can grab the standalone Windows .rar directly from the releases page: Drop a star if the universe pleases you. ✨", "repo": "https://github.com/tiagotodescatto/Enjoy-Obamium-Simulator", "demo": "https://github.com/tiagotodescatto/Enjoy-Obamium-Simulator/releases/tag/Final-Release"}]...
|
[{"post_id": 68360, "ts": "202 [{"post_id": 68360, "ts": "2026-09-15T00:33:33Z", "hours": 1.3636, "text": "Finished the game."}, {"post_id": 67446, "ts": "2026-09-13T15:33:58Z", "hours": 0.8739, "text": "Added jumping and fixed the skybox borders"}, {"post_id": 66795, "ts": "2026-09-12T18:02:39Z", "hours": 5.0831, "text": "Added a beautiful skybox and some basic lighting!"}, {"post_id": 63638, "ts": "2026-09-07T15:46:55Z", "hours": 3.3578, "text": "Working on lights and movement! Made WASD and mouse movement, made speeds for crouching, running and walking."}, {"post_id": 63143, "ts": "2026-09-06T19:43:49Z", "hours": 3.3889, "text": "Almost lost my project but thanks to github I didn’t! remade the window and I’m going to make cleaner code from now on, next step is making the frag shader and vertex shader file"}, {"post_id": 62457, "ts": "2026-09-05T20:13:12Z", "hours": 15.6044, "text": "Game almost ready! I’ve spent more than 13 hours learning the OpenGL basics and experimenting so I can make this game, prepare for a legendary one!"}]...
|
Title: Enjoy OBAMIUM (and the universe) by @texude Title: Enjoy OBAMIUM (and the universe) by @texudev | Stardance
Devlogs:
Game almost ready! I’ve spent more than 13 hours learning the OpenGL basics and experimenting so I can make this game, prepare for a legendary one!
Almost lost my project but thanks to github I didn’t! remade the window and I’m going to make cleaner code from now on, next step is making the frag shader and vertex shader file
Working on lights and movement! Made WASD and mouse movement, made speeds for crouching, running and walking.
Added a beautiful skybox and some basic lighting!
Added jumping and fixed the skybox borders
Finished the game.
Ships:
Hey everyone! 👋 After wrestling with OpenGL state machines and pure wrath, I just dropped the first official release of my completely unnecessary 3D project: Obamium: A Cosmic Experience 🌌🪐 There are no quests. There are no enemies. There is no inventory. There is only Obamium. What it features: 🌌 A full 3D universe skybox powered by HDRI maps. 🪐 A meticulously rendered, slowly rotating 3D model of Obamium in its full glory. 💡 Custom OpenGL shaders and real-time lighting. 🖥️ Written completely from scratch in C++ and OpenGL 4.6 (now officially banishing the ugly console window to the shadow realm). If you want to stare into the cosmos and appreciate the absolute peak of modern 3D graphics, you can grab the standalone Windows .rar directly from the releases page: Drop a star if the universe pleases you. ✨...
|
1793008102.8814216
|
1793094502.8814216
|
|
42327
|
~/KLAIR by @domos000 | Stardance
|
domos000
|
1
|
17.99
|
202
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T11:37:08Z", "hours": 17.0, "multiplier": 12.14, "payout": 202, "blessing": "neutral", "text": "~/KLAIR is a free-to-use Discord bot packed with AI features, mini-games, and a few things you probably didn’t know you needed! It comes with 15 features: 5 minigames 5 AI features 5 other miscellaneous commands The best feature, by far, has to be the Live AI feature that I’ve implemented in the bot. Instead of texting the bot, now, you can actually talk to it INSIDE Discord! This is thanks to Gemini Live, the AI model behind generating the responses and speaking them. There are a bunch of other features too like /cat - which fetches a cat image, /dog - which well, fetches a dog image, and more! You can see the showcase YouTube video by clicking on the “Try project” button. If you don’t want to host the bot by yourself, you can also just add it to your server as it’s currently being hosted online. Use the link below to add the bot to your server! https://discord.com/oauth2/authorize?client_id=1532745014600536146&permissions=35186573274480&integration_type=0&scope=bot", "repo": "https://github.com/adeebur-x64/KLAIR", "demo": "https://discord.gg/sscjgj2d7C"}]...
|
[{"post_id": 49775, "ts": "202 [{"post_id": 49775, "ts": "2026-08-18T18:17:50Z", "hours": 0.9942, "text": "(smol and late) Devlog I’m not sure exactly when and what changes I did but, this is the final GitHub Repo README.md. I’ve added some alerts and more information in the README.md as you can see. The reason this Devlog is so long is that I spent some time fixing bugs and stuff (like typos) in the code and those changes were so small that I just didn’t care enough to post a Devlog on them. Will add some more features to the bot very soon :D"}, {"post_id": 43253, "ts": "2026-08-08T12:31:44Z", "hours": 0.9247, "text": "✅Change: Updated the README.md file! Spent an hour writing a README.md file and committed the README to GitHub. Only need to create a showcase video for the bot now!"}, {"post_id": 43229, "ts": "2026-08-08T11:33:04Z", "hours": 0.68, "text": "✅Change: Added comments to the code! Spent a few minutes just adding comments to the code so it becomes more understandable. Some of the examples of comments I’ve added are in the screenshot I’ve attached. The bot is practically completed at this point. I’ll spend a few more minutes writing the README.md file and creating a showcase video for the bot."}, {"post_id": 43173, "ts": "2026-08-08T09:13:05Z", "hours": 0.7303, "text": "✅ Fixed: Some bugs in the /liveai feature! So, if you were trying to ask the bot a question in the VC and there was some background noise, the bot would glitch out and sometimes fill its buffer of holding the audio chunks of the users. Now, I have fixed this issue and added a “End Session” button so that the user can get the summary of their conversation without waiting for 3 mins inactivity in the VC. **Most of the voice handling and AI stuff was implemented using Gemini 3.1 Pro as I don’t have an idea on how to manage audio chunks and stuff. **"}, {"post_id": 42795, "ts": "2026-08-07T18:09:51Z", "hours": 3.7328, "text": "✨Implemented an AI Feature: /liveai Oof! This took wayyyy too long to implement. Now, instead of typing your queries / prompts, you can actually talk to the bot! It creates a private voice channel (only you and the bot) and you can ask it questions. It’s instantaneous too! I honestly love this feature! I can’t show the full working of this command in a screenshot so, the full demo of this command, (including all the other commands) will be in the showcasing video that I’ll create. Stay tuned for that! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 42057, "ts": "2026-08-06T16:42:48Z", "hours": 0.2928, "text": "Implemented an AI Feature: /eli5 Sometimes, even the simplest of explanations of concepts might start feeling hard to understand. This is where ELI5, or Explain Like I’m 5 comes to play! Simply, tell the bot what concept you want to get explained and it will do exactly that for you in a simple, fun way! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 42035, "ts": "2026-08-06T16:18:50Z", "hours": 0.3111, "text": "✨Implemented an AI Feature: /factcheck This is also pretty self-explanatory. You pass it on a claim that you want to get fact checked and get a response. However, since the model doesn’t have access to the internet (as Google Search tool with Gemini isn’t included in the free tier of Google Cloud Projects ), the user is always informed at the end of a message that the bot can make mistakes. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 42024, "ts": "2026-08-06T15:56:26Z", "hours": 0.5128, "text": "✨Implemented an AI Feature: /grammarcheck It’s pretty self-explanatory. You pass it on a sentence (or multiple sentences) and tell it your desired sentence type (default being normal) and it converts your sentence into the desired sentence type while ensuring no there are no grammar, spelling or any other mistakes in the output!. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 41990, "ts": "2026-08-06T15:09:47Z", "hours": 0.9803, "text": "✨QOL Changes! Now, if an error occurs, the bot will tell the user something has happened rather than just ghosting the user. I forgot to implement this error handling in the last update so, here it is! Now, you aren’t required to type /ask all the type to ask the bot a question! Simply do KLAIR, <question> and the bot will respond with a generated response! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 41342, "ts": "2026-08-05T14:33:01Z", "hours": 0.6753, "text": "✨Implemented an AI Feature: /ask Ask the AI (Gemini’s Latest Flash Lite model - Gemini 3.5 Flash Lite ) any question and it will answer it! This is the first AI feature and there are many more AI features to come! Why Gemini Flash Lite Model? Earlier, I was testing out the normal Gemini Flash Model (Gemini 3.6 Flash) but I quickly reached a problem- Rate Limits! Previously, Google had a really high rate limit for their AI Models in the free tier however, they have since significantly reduced that. And this sucks! 1500 RPD down to 20 RPD for the Flash model is INSANITY! In order to not get rate limited after only 20 requests, I took the decision to use a much dumber AI model. It’s on Discord though, I’m pretty sure if users need a more in-depth or accurate answer, they’ll probably go to the actual AI website rather than ask the bot. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 41306, "ts": "2026-08-05T13:33:57Z", "hours": 0.3344, "text": "Implemented a 8Ball (Prediction) Command! You just pass it on a question and it generates a random prediction of whether something will happen or not! PS. even though the description says the question must end with a “?”, it isn’t required for it to end with it! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 41287, "ts": "2026-08-05T12:40:26Z", "hours": 0.7522, "text": "Implemented multiple commands! Dog Image Displaying Command Basically the Cat Image Displaying Command but instead of cat it displays an image of a dog! Useless Fact Command Fetches an API and displays a useless fact! Some of these are actually kinda interesting though! Cryptocurrency Price Fetch Command Fetches an API and displays the price of the cryptocurrency the user has asked for. I don’t know why someone would need to know the price of a crypto on Discord, but hey! At least, the option is there! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 41262, "ts": "2026-08-05T11:30:20Z", "hours": 0.6439, "text": "Implemented a Cat Image Displaying Command! It’s pretty self-explanatory. You type /cat and it fetches a cat image from a free API and sends it on discord! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 40811, "ts": "2026-08-04T15:58:53Z", "hours": 1.1972, "text": "Implemented a Nim Mini Game! Nim is a strategic mini game. There are 15 rocks in total. In each turn, the player can take away 1, 2 or 3 rocks. The bot will also randomly take away some number of rocks. In order to win you need to make the opponent take the last rock. If you take the last rock, you lose! This mini game is actually really fun to play! Had to use Gemini 3.1 Pro to fix some bugs because somehow I can never make a fully working mini game by myself. (I guess it’s just skill issue lol.) NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 40717, "ts": "2026-08-04T13:04:31Z", "hours": 1.8767, "text": "Implemented a Unscramble The Word Mini Game! Okay this mini game took WAYYY TOO LONG! It took like almost an hour just to fetch the word and display it and another hour to actually make the mini game working. It fetches the word automatically from a free API, scrambles it and then displays the scrambled word to the user. Clicking on Unscramble button opens up a Modal for the user to input their guess. The bot checks the guess and tells if it was correct or not and the user can guess again if it was incorrect. If you guess the word correctly, it shows the number of attempts it took for you to guess the word correctly. Clicking on give up shows the unscrambled word and how many attempts they tried. idk how this took 2 hours to make but at least it works! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 40653, "ts": "2026-08-04T10:31:50Z", "hours": 0.7458, "text": "Implemented a Coin Flip Mini Game! aghhh being sick isn’t fun. i wasn’t able to code for 3 days cuz i was sick :( anyways The mini game is self-explanatory. You just guess whether the coin flip came out to be heads or tails! This shouldn’t have taken 40 mins but somehow it did. (maybe cuz i’m still sick and recovering but who knows?) NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 38318, "ts": "2026-07-31T17:13:35Z", "hours": 1.0161, "text": "Implemented Guess The Number Mini game! So, just spent like an hour working on this. The main challenge I faced was to retrieve the guess submission from the user. I wasn’t able to do that so I required the help of my friend Gemini 3.1 Pro (High) in Antigravity IDE to do that for me. Clicking guess shows a modal where the user can input their guess. Clicking give up shows what the number the bot had selected and the number of tries the user did. When the user guesses the number correctly, it shows the number of tries the user required. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 38259, "ts": "2026-07-31T15:50:22Z", "hours": 0.6547, "text": "Implemented Rock Paper Scissors Mini game! So, Just spend a couple of minutes implementing a working rock paper scissors mini game. [] It uses the button feature to ask for the user’s choice. [] It uses Math.Random() function to select its own choice. [] It uses multiple If statements for every case. Will spend some more time refining its style later but the actual mini game is complete for now. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 38210, "ts": "2026-07-31T14:40:00Z", "hours": 0.5672, "text": "Initial Bot Setup is complete! Bot is being developed using Discord.js . What has been added till now: A ready output whenever the Discord Bot has successfully logged in. A way to register slash commands for the Bot. A way to handle those slash command requests. A ping command that replies with “Pong!” (just for testing). NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}]...
|
Title: ~/KLAIR by @domos000 | Stardance
Devlogs:
Title: ~/KLAIR by @domos000 | Stardance
Devlogs:
Initial Bot Setup is complete! Bot is being developed using Discord.js . What has been added till now: A ready output whenever the Discord Bot has successfully logged in. A way to register slash commands for the Bot. A way to handle those slash command requests. A ping command that replies with “Pong!” (just for testing). NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented Rock Paper Scissors Mini game! So, Just spend a couple of minutes implementing a working rock paper scissors mini game. [] It uses the button feature to ask for the user’s choice. [] It uses Math.Random() function to select its own choice. [] It uses multiple If statements for every case. Will spend some more time refining its style later but the actual mini game is complete for now. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented Guess The Number Mini game! So, just spent like an hour working on this. The main challenge I faced was to retrieve the guess submission from the user. I wasn’t able to do that so I required the help of my friend Gemini 3.1 Pro (High) in Antigravity IDE to do that for me. Clicking guess shows a modal where the user can input their guess. Clicking give up shows what the number the bot had selected and the number of tries the user did. When the user guesses the number correctly, it shows the number of tries the user required. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented a Coin Flip Mini Game! aghhh being sick isn’t fun. i wasn’t able to code for 3 days cuz i was sick :( anyways The mini game is self-explanatory. You just guess whether the coin flip came out to be heads or tails! This shouldn’t have taken 40 mins but somehow it did. (maybe cuz i’m still sick and recovering but who knows?) NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented a Unscramble The Word Mini Game! Okay this mini game took WAYYY TOO LONG! It took like almost an hour just to fetch the word and display it and another hour to actually make the mini game working. It fetches the word automatically from a free API, scrambles it and then displays the scrambled word to the user. Clicking on Unscramble button opens up a Modal for the user to input their guess. The bot checks the guess and tells if it was correct or not and the user can guess again if it was incorrect. If you guess the word correctly, it shows the number of attempts it took for you to guess the word correctly. Clicking on give up shows the unscrambled word and how many attempts they tried. idk how this took 2 hours to make but at least it works! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented a Nim Mini Game! Nim is a strategic mini game. There are 15 rocks in total. In each turn, the player can take away 1, 2 or 3 rocks. The bot will also randomly take away some number of rocks. In order to win you need to make the opponent take the last rock. If you take the last rock, you lose! This mini game is actually really fun to play! Had to use Gemini 3.1 Pro to fix some bugs because somehow I can never make a fully working mini game by myself. (I guess it’s just skill issue lol.) NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented a Cat Image Displaying Command! It’s pretty self-explanatory. You type /cat and it fetches a cat image from a free API and sends it on discord! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented multiple commands! Dog Image Displaying Command Basically the Cat Image Displaying Command but instead of cat it displays an image of a dog! Useless Fact Command Fetches an API and displays a useless fact! Some of these are actually kinda interesting though! Cryptocurrency Price Fetch Command Fetches an API and displays the price of the cryptocurrency the user has asked for. I don’t know why someone would need to know the price of a crypto on Discord, but hey! At least, the option is there! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented a 8Ball (Prediction) Command! You just pass it on a question and it generates a random prediction of whether something will happen or not! PS. even though the description says the question must end with a “?”, it isn’t required for it to end with it! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✨Implemented an AI Feature: /ask Ask the AI (Gemini’s Latest Flash Lite model - Gemini 3.5 Flash Lite ) any question and it will answer it! This is the first AI feature and there are many more AI features to come! Why Gemini Flash Lite Model? Earlier, I was testing out the normal Gemini Flash Model (Gemini 3.6 Flash) but I quickly reached a problem- Rate Limits! Previously, Google had a really high rate limit for their AI Models in the free tier however, they have since significantly reduced that. And this sucks! 1500 RPD down to 20 RPD for the Flash model is INSANITY! In order to not get rate limited after only 20 requests, I took the decision to use a much dumber AI model. It’s on Discord though, I’m pretty sure if users need a more in-depth or accurate answer, they’ll probably go to the actual AI website rather than ask the bot. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✨QOL Changes! Now, if an error occurs, the bot will tell the user something has happened rather than just ghosting the user. I forgot to implement this error handling in the last update so, here it is! Now, you aren’t required to type /ask all the type to ask the bot a question! Simply do KLAIR, <question> and the bot will respond with a generated response! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✨Implemented an AI Feature: /grammarcheck It’s pretty self-explanatory. You pass it on a sentence (or multiple sentences) and tell it your desired sentence type (default being normal) and it converts your sentence into the desired sentence type while ensuring no there are no grammar, spelling or any other mistakes in the output!. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✨Implemented an AI Feature: /factcheck This is also pretty self-explanatory. You pass it on a claim that you want to get fact checked and get a response. However, since the model doesn’t have access to the internet (as Google Search tool with Gemini isn’t included in the free tier of Google Cloud Projects ), the user is always informed at the end of a message that the bot can make mistakes. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented an AI Feature: /eli5 Sometimes, even the simplest of explanations of concepts might start feeling hard to understand. This is where ELI5, or Explain Like I’m 5 comes to play! Simply, tell the bot what concept you want to get explained and it will do exactly that for you in a simple, fun way! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✨Implemented an AI Feature: /liveai Oof! This took wayyyy too long to implement. Now, instead of typing your queries / prompts, you can actually talk to the bot! It creates a private voice channel (only you and the bot) and you can ask it questions. It’s instantaneous too! I honestly love this feature! I can’t show the full working of this command in a screenshot so, the full demo of this command, (including all the other commands) will be in the showcasing video that I’ll create. Stay tuned for that! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✅ Fixed: Some bugs in the /liveai feature! So, if you were trying to ask the bot a question in the VC and there was some background noise, the bot would glitch out and sometimes fill its buffer of holding the audio chunks of the users. Now, I have fixed this issue and added a “End Session” button so that the user can get the summary of their conversation without waiting for 3 mins inactivity in the VC. **Most of the voice handling and AI stuff was implemented using Gemini 3.1 Pro as I don’t have an idea on how to manage audio chunks and stuff. **
✅Change: Added comments to the code! Spent a few minutes just adding comments to the code so it becomes more understandable. Some of the examples of comments I’ve added are in the screenshot I’ve attached. The bot is practically completed at this point. I’ll spend a few more minutes writing the README.md file and creating a showcase video for the bot.
✅Change: Updated the README.md file! Spent an hour writing a README.md file and committed the README to GitHub. Only need to create a showcase video for the bot now!
(smol and late) Devlog I’m not sure exactly when and what changes I did but, this is the final GitHub Repo README.md. I’ve added some alerts and more information in the README.md as you can see. The reason this Devlog is so long is that I spent some time fixing bugs and stuff (like typos) in the code and those changes were so small that I just didn’t care enough to post a Devlog on them. Will add some more features to the bot very soon :D
Ships:
~/KLAIR is a free-to-use Discord bot packed with AI features, mini-games, and a few things you probably didn’t know you needed! It comes with 15 features: 5 minigames 5 AI features 5 other miscellaneous commands The best feature, by far, has to be the Live AI feature that I’ve implemented in the bot. Instead of texting the bot, now, you can actually talk to it INSIDE Discord! This is thanks to Gemini Live, the AI model behind generating the responses and speaking them. There are a bunch of other features too like /cat - which fetches a cat image, /dog - which well, fetches a dog image, and more! You can see the showcase YouTube video by clicking on the “Try project” button. If you don’t want to host the bot by yourself, you can also just add it to your server as it’s currently being hosted online. Use the link below to add the bot to your server! https://discord.com/oauth2/authorize?client_id=1532745014600536146&permissions=35186573274480&integration_type=0&scope=bot...
|
1792979377.8440964
|
1793065777.8440964
|
|
2593
|
Live Space Tracker (working title) by @dspace1015 Live Space Tracker (working title) by @dspace1015 | Stardance...
|
dspace1015
|
1
|
50.33
|
201
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T04:46:03Z", "hours": 48.0, "multiplier": 4.22, "payout": 201, "blessing": "neutral", "text": "I made a web app that lets you explore the positions of the planets in the solar system in real time. Change time with (< > /) keys to view the solar system in the past or future. Change your camera with the (c) key to view objects from their own orientation as they rotate around each other. Zoom out and see the positions of stars in our neighborhood. Plug in your home location on the map and you can view your own current night sky. Track the space station in low Earth orbit, and watch when it appears overhead.", "repo": "https://github.com/dspace1015/space", "demo": "https://dspace1015.github.io/space/"}]...
|
[{"post_id": 76034, "ts": "202 [{"post_id": 76034, "ts": "2026-10-02T04:28:06Z", "hours": 2.3267, "text": "Fixed some bugs that came up after launch Added text that when hovered shows controlls (most asked for feature) Fixed(mostly) the constant pop up bug, you may need to refresh the page once but it should be mostly gone by now"}, {"post_id": 75454, "ts": "2026-09-30T04:32:38Z", "hours": 3.7503, "text": "Final devlog for now, finished map view and added camera information I have added camera controls where you can change to view a planet from its own axis or rotation by pressing (c) to cycle through modes, and you can track objects by pressing (t). Also added more information on the ground view, light time calculation and finally the map view where once opened you can change your position by clicking on it."}, {"post_id": 74746, "ts": "2026-09-28T04:07:38Z", "hours": 8.5467, "text": "Finished all the continents, added saturns rings and and Mars and Jupiter’s moons. I have made decent progress, most of my time was spent debugging and optimizing since I’m only using the cpu to render everything. I also added more camera controls so that when you press (c) you can tilt the camera to match the planets axis tilt, or rotate along with it. The final parts I need to add at this point is a menu where you can choose your location and a information panel for the object that you select."}, {"post_id": 74325, "ts": "2026-09-27T05:34:21Z", "hours": 8.4517, "text": "Added continent outlines and object occlusion After spending way too much time trying to figure out webgl and three.js I decided that it was not worth the extra effort for slightly better graphics. Running out of time, I decided to stick to the system that I already had and decided to just draw the coastlines so you can make out the earths orientation better. Right now I have only added N&S America, Antarctica, and Australia. Ill add the rest later but for now this is what I got. Running out of time to ship this so I’m going to add a location selector and call this good."}, {"post_id": 40892, "ts": "2026-08-04T18:15:05Z", "hours": 2.5356, "text": "Added ground perspective and fixed stars Added a feature where you can select a position on the earth and view from there. You do have to manually add your latitude and longitude but eventually you will be able to select from a map or search for a specific city. (The demo shows London UK’s position so I don’t reveal my own) I also fixed the lag from the stars that was making the site slow, now it can display 3500 stars and all the other objects just fine."}, {"post_id": 11528, "ts": "2026-06-18T20:32:13Z", "hours": 5.48, "text": "Added grid based on your location, and stars from the Henry Draper (HD) catalogue. https://in-the-sky.org/data/catalogue.php?cat=HD&const=1&sort=1&view=1&page=1 Unfortunately now the framerate has dropped a lot, so I’ll need to figure out how to handle all the objects separately and only update the planets. Until then that’s enough programming for me today."}, {"post_id": 8955, "ts": "2026-06-14T22:02:27Z", "hours": 2.1864, "text": "Added TLE support https://en.wikipedia.org/wiki/Two-line_element_set (A common file format for earth orbit satellites). I’ve realized that I might have to switch to using a graphics api like webgl to improve the graphics from here, but for now I will focus on functionality. Better graphics should not matter at the moment from a ground level perspective."}, {"post_id": 7557, "ts": "2026-06-12T17:12:34Z", "hours": 6.3506, "text": "Finally added a way to read separate files into the web app. Objects are now stored in json files with all their orbital parameters and physical characteristics. Next steps for this project will be to start adding detail on the planets and reference frame transformations from your local position to space."}, {"post_id": 5140, "ts": "2026-06-08T20:33:11Z", "hours": 2.9439, "text": "You can now click on objects to select them. Orbits now also accurately precess. The moon’s orbit is now close enough to reality to predict solar eclipses, which is accurate enough for this project. All the inner rocky planet’s procession has been implemented as well according to NASA horizon’s approximation. They should now be reasonably accurate a few hundred yrs into the future. Next steps will be adding more objects like Jovian moons and spacecraft, as well as improving graphics."}, {"post_id": 2510, "ts": "2026-06-05T01:16:11Z", "hours": 3.0403, "text": "Added the main 8 planets in the solar system and a time control feature. You can now speed up, slow down, or reverse time to see the solar system on different dates, or reset to the current time. You can also scroll through the list of planets and watch from their perspective. As far as I can tell I succeeded in making the planets positions accurate (or at least enough for my project)."}, {"post_id": 1200, "ts": "2026-06-03T01:43:11Z", "hours": 0.8872, "text": "Added functionality for objects to orbit other objects. Progress is coming along nicely so far, all orbits of type e<1 are displayable and can be centered around any object. The next steps I plan on taking are plugging in the values for our actual solar system and switching camera controls to be centered on planets, then adding time control and other UI."}, {"post_id": 1103, "ts": "2026-06-02T22:39:41Z", "hours": 1.4622, "text": "I added mouse controls, Kepler’s 2nd law, and a grid that will come in handy for identifying places in the sky. Next I will continue to add features for adding celestial bodies and different spacecraft."}, {"post_id": 963, "ts": "2026-06-02T18:53:07Z", "hours": 0.8086, "text": "Added orbit calculations to the planetarium web app so I can start adding other objects in the display. A few more functions will need to be implemented but very soon I should be able to start plugging in data."}, {"post_id": 621, "ts": "2026-06-02T03:49:47Z", "hours": 1.2097, "text": "Starting the basic foundation of the web app, I plan on using only JavaScript and HTML5’s canvas to draw all the objects, using data from celestrack and NASA horizons to find all the data I need. Screenshot is just of a test of the basic 3d drawing function with axis visible. Because it is just night sky objects no fancy 3d engine will be needed."}]...
|
Title: Live Space Tracker (working title) by @dspa Title: Live Space Tracker (working title) by @dspace1015 | Stardance
Devlogs:
Starting the basic foundation of the web app, I plan on using only JavaScript and HTML5’s canvas to draw all the objects, using data from celestrack and NASA horizons to find all the data I need. Screenshot is just of a test of the basic 3d drawing function with axis visible. Because it is just night sky objects no fancy 3d engine will be needed.
Added orbit calculations to the planetarium web app so I can start adding other objects in the display. A few more functions will need to be implemented but very soon I should be able to start plugging in data.
I added mouse controls, Kepler’s 2nd law, and a grid that will come in handy for identifying places in the sky. Next I will continue to add features for adding celestial bodies and different spacecraft.
Added functionality for objects to orbit other objects. Progress is coming along nicely so far, all orbits of type e<1 are displayable and can be centered around any object. The next steps I plan on taking are plugging in the values for our actual solar system and switching camera controls to be centered on planets, then adding time control and other UI.
Added the main 8 planets in the solar system and a time control feature. You can now speed up, slow down, or reverse time to see the solar system on different dates, or reset to the current time. You can also scroll through the list of planets and watch from their perspective. As far as I can tell I succeeded in making the planets positions accurate (or at least enough for my project).
You can now click on objects to select them. Orbits now also accurately precess. The moon’s orbit is now close enough to reality to predict solar eclipses, which is accurate enough for this project. All the inner rocky planet’s procession has been implemented as well according to NASA horizon’s approximation. They should now be reasonably accurate a few hundred yrs into the future. Next steps will be adding more objects like Jovian moons and spacecraft, as well as improving graphics.
Finally added a way to read separate files into the web app. Objects are now stored in json files with all their orbital parameters and physical characteristics. Next steps for this project will be to start adding detail on the planets and reference frame transformations from your local position to space.
Added TLE support https://en.wikipedia.org/wiki/Two-line_element_set (A common file format for earth orbit satellites). I’ve realized that I might have to switch to using a graphics api like webgl to improve the graphics from here, but for now I will focus on functionality. Better graphics should not matter at the moment from a ground level perspective.
Added grid based on your location, and stars from the Henry Draper (HD) catalogue. https://in-the-sky.org/data/catalogue.php?cat=HD&const=1&sort=1&view=1&page=1 Unfortunately now the framerate has dropped a lot, so I’ll need to figure out how to handle all the objects separately and only update the planets. Until then that’s enough programming for me today.
Added ground perspective and fixed stars Added a feature where you can select a position on the earth and view from there. You do have to manually add your latitude and longitude but eventually you will be able to select from a map or search for a specific city. (The demo shows London UK’s position so I don’t reveal my own) I also fixed the lag from the stars that was making the site slow, now it can display 3500 stars and all the other objects just fine.
Added continent outlines and object occlusion After spending way too much time trying to figure out webgl and three.js I decided that it was not worth the extra effort for slightly better graphics. Running out of time, I decided to stick to the system that I already had and decided to just draw the coastlines so you can make out the earths orientation better. Right now I have only added N&S America, Antarctica, and Australia. Ill add the rest later but for now this is what I got. Running out of time to ship this so I’m going to add a location selector and call this good.
Finished all the continents, added saturns rings and and Mars and Jupiter’s moons. I have made decent progress, most of my time was spent debugging and optimizing since I’m only using the cpu to render everything. I also added more camera controls so that when you press (c) you can tilt the camera to match the planets axis tilt, or rotate along with it. The final parts I need to add at this point is a menu where you can choose your location and a information panel for the object that you select.
Final devlog for now, finished map view and added camera information I have added camera controls where you can change to view a planet from its own axis or rotation by pressing (c) to cycle through modes, and you can track objects by pressing (t). Also added more information on the ground view, light time calculation and finally the map view where once opened you can change your position by clicking on it.
Fixed some bugs that came up after launch Added text that when hovered shows controlls (most asked for feature) Fixed(mostly) the constant pop up bug, you may need to refresh the page once but it should be mostly gone by now
Ships:
I made a web app that lets you explore the positions of the planets in the solar system in real time. Change time with (< > /) keys to view the solar system in the past or future. Change your camera with the (c) key to view objects from their own orientation as they rotate around each other. Zoom out and see the positions of stars in our neighborhood. Plug in your home location on the map and you can view your own current night sky. Track the space station in low Earth orbit, and watch when it appears overhead....
|
1793008165.409136
|
1793094565.409136
|
|
5556
|
3D physics simulator by @qstorm | Stardance
|
qstorm
|
1
|
46.89
|
201
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T01:58:00Z", "hours": 45.0, "multiplier": 9.87, "payout": 201, "blessing": "neutral", "text": "The 3D renderer portion of this project is officially complete, importing unique objects like the teapot is currently not possible but adding objects is! This is the first stage before I implement collision and physics!", "repo": "https://github.com/qstorm1/3D-pysics-Simulator", "demo": "https://github.com/qstorm1/3D-pysics-Simulator/releases/tag/pre-1.1"}]...
|
[{"post_id": 44984, "ts": "202 [{"post_id": 44984, "ts": "2026-08-11T03:25:41Z", "hours": 1.8914, "text": "Update to build! I had some issues with building the project in git. almost lost my project files lmao. Anyway, I used maven to create a build, which basically means automatically pushing file to a .jar file. I had to use AI to get some automation done just because I didn’t know how to use build tools very well. Anyway now you don’t need to download off a shady google drive link! If anyone is curious as to what maven is check out this article https://www.geeksforgeeks.org/java/what-is-a-build-tool/"}, {"post_id": 40435, "ts": "2026-08-03T23:06:25Z", "hours": 11.8056, "text": "Currently in order to understand the more advance complexities of collision detection I’ve been working on a simple 2d particle collision engine, right now I’m working on correctly depicting movement using an rk4 movement system and continuous collision detection. I’ve also mananged to make a simple sweep and prune algorithm, once I get movement to work I plan on adding the axis alligned thing so that it works with other shapes. afterwards I may need to completely rearrange my code because of some thread related issues. In short, my program uses 3 threads the renderer, the physics engine, and the UI handler. Currently some issues have arose in the rendering thread due to swing not being very good with the override canvas feature, therefore meaning I have to rewrite the drawing system and rendering thread (though all the math and the pipeline it self shouldn’t face any changes). I plan on not adding shaders for a bit though. Furthermore, I plan on temporarly pausing work on this project, actually for the last week I haven’t really worked much on it because I spend so much time researching and not a lot of time coding. My current computer is on the verge of breaking so I really need to get hours in for a new one. Additionally I’ve been intrested in working on minecraft modding so IDK when I’ll start up this project again"}, {"post_id": 27328, "ts": "2026-07-12T20:15:23Z", "hours": 33.0056, "text": "Settings menu and new object creation menu has been implemented! (though not very good yet), After I fix all the bugs and make sure everything is working correctly, I plan on replacing the boring swing components with unique designs"}, {"post_id": 12874, "ts": "2026-06-21T02:50:42Z", "hours": 0.3347, "text": "Completed 3D renderer using perspective projection basic physics has been implemented (before joining Stardance but after June 1st) currently working on user interface and cleaning up code (If your rating me based off devlogs after my first ship then you should look at my later ships cause my first few suck)"}]...
|
Title: 3D physics simulator by @qstorm | Stardance Title: 3D physics simulator by @qstorm | Stardance
Devlogs:
Completed 3D renderer using perspective projection basic physics has been implemented (before joining Stardance but after June 1st) currently working on user interface and cleaning up code (If your rating me based off devlogs after my first ship then you should look at my later ships cause my first few suck)
Settings menu and new object creation menu has been implemented! (though not very good yet), After I fix all the bugs and make sure everything is working correctly, I plan on replacing the boring swing components with unique designs
Currently in order to understand the more advance complexities of collision detection I’ve been working on a simple 2d particle collision engine, right now I’m working on correctly depicting movement using an rk4 movement system and continuous collision detection. I’ve also mananged to make a simple sweep and prune algorithm, once I get movement to work I plan on adding the axis alligned thing so that it works with other shapes. afterwards I may need to completely rearrange my code because of some thread related issues. In short, my program uses 3 threads the renderer, the physics engine, and the UI handler. Currently some issues have arose in the rendering thread due to swing not being very good with the override canvas feature, therefore meaning I have to rewrite the drawing system and rendering thread (though all the math and the pipeline it self shouldn’t face any changes). I plan on not adding shaders for a bit though. Furthermore, I plan on temporarly pausing work on this project, actually for the last week I haven’t really worked much on it because I spend so much time researching and not a lot of time coding. My current computer is on the verge of breaking so I really need to get hours in for a new one. Additionally I’ve been intrested in working on minecraft modding so IDK when I’ll start up this project again
Update to build! I had some issues with building the project in git. almost lost my project files lmao. Anyway, I used maven to create a build, which basically means automatically pushing file to a .jar file. I had to use AI to get some automation done just because I didn’t know how to use build tools very well. Anyway now you don’t need to download off a shady google drive link! If anyone is curious as to what maven is check out this article https://www.geeksforgeeks.org/java/what-is-a-build-tool/
Ships:
The 3D renderer portion of this project is officially complete, importing unique objects like the teapot is currently not possible but adding objects is! This is the first stage before I implement collision and physics!...
|
1792972505.037032
|
1793058905.037032
|
|
23896
|
Who will pause the music ? by @PAPER_01 | Stardanc Who will pause the music ? by @PAPER_01 | Stardance...
|
PAPER_01
|
1
|
15.0
|
200
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T13:09:07Z", "hours": 15.0, "multiplier": 13.44, "payout": 200, "blessing": "neutral", "text": "# 🎵 Shipping: Who Will Pause the Music? 🚀 Hey everyone! 👋 I made **Who Will Pause the Music?**, a retro-inspired web app where you can upload your own audio or choose from some preloaded songs, then set a **minimum** and **maximum** interval between which the music will stop randomly. The idea is simple—it helps remove bias while playing games like **Musical Chairs** or any other game that involves music and requires random pauses. Instead of someone controlling the music, the web app does it for you.(or you could play musical chair with two person)🤧 Some of the features include: * 🎵 Upload your own music * 📀 Choose from preloaded songs * ⏱️ Customizable minimum and maximum pause intervals * 🤖 AUTO Mode that automatically starts the next round 8 seconds after the music stops * 🌈 A real-time audio visualizer powered by the Web Audio API The biggest challenge I faced while building this project was creating the audio visualizer. It was my first time working with the **Web Audio API** and the **Canvas API**, so understanding how to connect the audio data to an animated visualizer took some time. Another challenge was preventing the AUTO feature from overlapping with other JavaScript functions and timers. Managing multiple `setTimeout()` calls without breaking the game logic turned out to be much harder than I expected, but it taught me a lot about asynchronous JavaScript. Overall, this project helped me learn a lot about JavaScript, browser APIs, debugging, and building a complete web application from scratch. Thanks for following along with the journey, and I hope you enjoy playing **Who Will Pause the Music!** 🎉", "repo": "https://github.com/sudipstha-01/Who-will-Pause-the-Music-", "demo": "https://sudip-project-05.netlify.app/"}]...
|
[{"post_id": 18323, "ts": "202 [{"post_id": 18323, "ts": "2026-06-29T12:59:27Z", "hours": 0.0, "text": "Finally Shipping . Take a demo test here : https://sudip-project-05.netlify.app/ . More info in the ship section."}, {"post_id": 18284, "ts": "2026-06-29T11:44:35Z", "hours": 7.0, "text": "Devlog #3 Hello again everyone ! I finally finished working and the project is almost ready. The project now has a working Auto feature finally and a audio visualizer on the background which actually respond to the music beats , (to the frequency of the music tbh). And I would not hide the fact that I used Claude to make these two features work , the auto feature and the visualizer. Let me summarize the project feature : You can upload your own muisc for random pauses You can also choose some preloaded musics finally the auto mode is working which auto start the palying after the random pauses (after 8 seconds of the random play) the visualizer responding to the beat 😎. Thank You !"}, {"post_id": 17547, "ts": "2026-06-28T11:38:31Z", "hours": 3.0, "text": "Devlog #2 Hello again! After all those designing the HTML and CSS I finally started working on JavaScript. Here are the features that actually work now : You can click to upload or either Drag and drop to upload your audio file. You know what ! You can also see the name of audio file on the card. Listening audio being played for the first time made me feel like heaven fr. Currently I am working on fixing the AUTO mode features(or bugs you could say -_-) I am planing to fix the auto feature by the next time."}, {"post_id": 16741, "ts": "2026-06-27T06:15:33Z", "hours": 3.0, "text": "Devlog #1 Hello everyone! I am working on a project which I named “Who will pause the Music ?” . Let me tell you about the project I will be working on . I got the idea of this project from the game “Musical Chair”. In this project I will be making a web-app or web-game where a user can upload any audio file and let you choose a duration between which the user wants the music to be paused randomly. You may use this web-app not only for Musical Chair but any other game which might require random pauses. Untill now I have written only the HTML and CSS . I still have JavaScript to work on . For styling I have used the font= PressStart2P from google fonts . And for the first time I used pseudo element to color. I have made the container i name it wrapper though. Also made something like a card like feature . Thank you !"}]...
|
Title: Who will pause the music ? by @PAPER_01 | S Title: Who will pause the music ? by @PAPER_01 | Stardance
Devlogs:
Devlog #1 Hello everyone! I am working on a project which I named “Who will pause the Music ?” . Let me tell you about the project I will be working on . I got the idea of this project from the game “Musical Chair”. In this project I will be making a web-app or web-game where a user can upload any audio file and let you choose a duration between which the user wants the music to be paused randomly. You may use this web-app not only for Musical Chair but any other game which might require random pauses. Untill now I have written only the HTML and CSS . I still have JavaScript to work on . For styling I have used the font= PressStart2P from google fonts . And for the first time I used pseudo element to color. I have made the container i name it wrapper though. Also made something like a card like feature . Thank you !
Devlog #2 Hello again! After all those designing the HTML and CSS I finally started working on JavaScript. Here are the features that actually work now : You can click to upload or either Drag and drop to upload your audio file. You know what ! You can also see the name of audio file on the card. Listening audio being played for the first time made me feel like heaven fr. Currently I am working on fixing the AUTO mode features(or bugs you could say -_-) I am planing to fix the auto feature by the next time.
Devlog #3 Hello again everyone ! I finally finished working and the project is almost ready. The project now has a working Auto feature finally and a audio visualizer on the background which actually respond to the music beats , (to the frequency of the music tbh). And I would not hide the fact that I used Claude to make these two features work , the auto feature and the visualizer. Let me summarize the project feature : You can upload your own muisc for random pauses You can also choose some preloaded musics finally the auto mode is working which auto start the palying after the random pauses (after 8 seconds of the random play) the visualizer responding to the beat 😎. Thank You !
Finally Shipping . Take a demo test here : https://sudip-project-05.netlify.app/ . More info in the ship section.
Ships:
# 🎵 Shipping: Who Will Pause the Music? 🚀 Hey everyone! 👋 I made **Who Will Pause the Music?**, a retro-inspired web app where you can upload your own audio or choose from some preloaded songs, then set a **minimum** and **maximum** interval between which the music will stop randomly. The idea is simple—it helps remove bias while playing games like **Musical Chairs** or any other game that involves music and requires random pauses. Instead of someone controlling the music, the web app does it for you.(or you could play musical chair with two person)🤧 Some of the features include: * 🎵 Upload your own music * 📀 Choose from preloaded songs * ⏱️ Customizable minimum and maximum pause intervals * 🤖 AUTO Mode that automatically starts the next round 8 seconds after the music stops * 🌈 A real-time audio visualizer powered by the Web Audio API The biggest challenge I faced while building this project was creating the audio visualizer. It was my first time working with the **Web Audio API** and the **Canvas API**, so understanding how to connect the audio data to an animated visualizer took some time. Another challenge was preventing the AUTO feature from overlapping with other JavaScript functions and timers. Managing multiple `setTimeout()` calls without breaking the game logic turned out to be much harder than I expected, but it taught me a lot about asynchronous JavaScript. Overall, this project helped me learn a lot about JavaScript, browser APIs, debugging, and building a complete web application from scratch. Thanks for following along with the journey, and I hope you enjoy playing **Who Will Pause the Music!** 🎉...
|
1792878851.0299356
|
1793742851.0299356
|
|
27749
|
Project: Constellation by @chandos4473 | Stardance
|
chandos4473
|
1
|
15.0
|
200
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T22:47:19Z", "hours": 15.0, "multiplier": 13.85, "payout": 200, "blessing": "neutral", "text": "Project: Constellation (Public Beta) Project: Constellation is a full-scale orbital mechanics and satellite communications simulator built on the Arcade Python engine. Design custom rocket layouts inside an interactive assembly grid, manage a dual-branch technological research economy, execute targeted agency contracts, and establish global laser-linked relay constellations around a scaled, multi-body gravitational physics sandbox. Core Systems Grid-Based Vehicle Architecture Vehicles are assembled inside a 5x8 Vehicle Assembly Building (VAB) matrix. Structural dry mass, fuel capacity, and booster thrust metrics are compiled directly from your component placements, ensuring that custom ship layouts directly influence flight physics and vehicle inertia. Dual-Branch Tech Progression The research tree splits cleanly into Engineering and Scientific Instrumentation paths. Spending science points unlocks advanced telemetry sensors—including Thermometers, Barometers, and Mystery Goo Pods—while dynamically updating your active VAB construction catalogue menu. Autonomous Telemetry Downlinks Deployed science satellites automatically trace line-of-sight laser routes back to active ground stations. When an unblocked path clears the planetary or lunar crust terrain boundaries, telemetry data caches flush to deliver repeatable flat-rate science funding payouts back to your space agency. Time-Stabilized Flight Physics All gravitational pull factors, engine acceleration vectors, and coordinate position increments utilize strict delta-time scaling multipliers. This maintains frame-rate independent vehicle momentum, requiring a controlled, sustained 12-second ascent burn to circularize into orbit. Technical Highlights VAB Grid Validation Pass The hangar utilizes a verification filter driven by a Breadth-First Search (BFS) flood-fill algorithm. The calculation evaluates part attachments outwards directly from the core Command Pod placement coordinate. It automatically filters loose, floating component cells before vehicle launchpad rollout clearance is granted. Real-Time Laser Occlusion Satellite laser links dynamically monitor geometric distance tracking arrays to map active connection routes. Beams trace continuous calculations against the spatial coordinates of the 5,000-meter radius planetary and lunar crusts. Signals break instantly upon crossing underneath terrain thresholds, forcing strategic constellation designs to maintain coverage. Balanced Sensor Payouts & Fuel Telemetry transmissions bypass progression uniqueness checks to award flat-rate rewards on every single flight. Active thermometer units dump data to return 15 science, barometers yield 20, and bio-chemical Mystery Goo Pod structures return 25.Booster fuel consumption rates are balanced to a 26.0 unit per second multiplier to enforce tight launch fuel limitations. Flight Operations Keyboard Map W or UP ARROW — Fire liquid boosters (Hold for sustained acceleration) A / D or LEFT / RIGHT — Pitch controls (Adjust vehicle steering angles) SPACEBAR — Decouple staging structure and deploy satellite payload into active orbit MOUSE SCROLL WHEEL — Viewport camera zoom (Micro close-ups vs Macro system maps) ESC — Open R&D Technology Tree, Agency Contract Boards, and Asset menus Quick Installation Project: Constellation requires Python 3.8+ and the Python Arcade engine library. Run a standard pip installation pass inside your terminal shell window, and execute the primary script to launch your space program: In terminal run: pip install arcade and to run: python3 main.py This will work as long as the terminal is currently acting inside the folder that contains the main.py script P.S. This is still a beta version of the game so expect bugs!", "repo": "https://github.com/chandos4473-cpu/Project-Constellation", "demo": "https://github.com/chandos4473-cpu/Project-Constellation/releases"}]...
|
[{"post_id": 26872, "ts": "202 [{"post_id": 26872, "ts": "2026-07-11T22:05:26Z", "hours": 2.0931, "text": "Devlog 12 Updates Dual-Branch R&D Tech Tree I have overhauled the career progression loop by splitting the research paths into two independent divisions: Engineering and Science. Basic Rocketry now branches out into Propulsion hardware on the upper path, and opens up a dedicated Scientific Instrumentation line on the lower path. Dynamic Gated VAB Catalog The VAB sidebar menu now dynamically checks your research history records. Unlocked science components automatically reveal themselves in the sidebar list, while locked parts are completely hidden from sight to keep the construction catalog clean. Sidebar clickboxes dynamically recalculate vertical pixel boundaries on the fly to track the visible elements accurately. Repeatable Science Payloads & Validation Checks I implemented core functionality and logic handlers for repeatable telemetry payloads. Satellites holding scientific sensors scan for an active, unblocked connection line back to Earth tracking bases. When a link is found, they automatically downlink data packets to award flat-rate repeatable research points on every mission (15 science for the Thermometer, 20 for the Barometer, and 25 for the Mystery Goo Pod). Macro Map Orientation Pointers I added a macro view toggle. When you roll your mouse scroll wheel out into the map view layer, the high-detail custom rocket model cleanly scales down into a bright orange orientation pointer triangle. This visual anchor makes it significantly easier to track your exact steering heading against the planetary orbit paths. Planetary Scale & Career Contract Balance To increase overall difficulty and solve an exploit where a single keystroke escaped gravity, I scaled up the universe metrics. The planet radius is now 5,000 meters and its mass is 15,000,000. The moon has been pushed out to a deep-space orbit of 45,000 meters with an expanded 7,500-meter sphere of influence capture well. To match this new planetary scale, I completely overhauled the contract database to feature a six-mission matrix. Contract targets have been raised to true high-altitude orbit criteria (such as a 5,600m periapsis for low relay deployment). The spacebar satellite deployment checker strictly validates if your custom construction has the requested scientific part hardware installed before awarding high-tier cash rewards. Time-Stabilized Flight Physics Core I fully synchronized the lifecycle physics equations over time by scaling all acceleration, gravity force vectors, and position increments by delta_time. This eliminates frame-rate dependencies and creates realistic, heavy vehicle inertia. Fuel consumption rates have been balanced to a multiplier of 26.0, providing enough burn duration to clear the 5,000m atmosphere and circularize while enforcing strict fuel limitations. UI Bugfixes I resolved an axis-mirroring rendering bug where custom grid parts would drift into diagonals or spin backward on local centers during physics turns. Components now stay perfectly welded to the primary chassis frame across all angles. I also fixed a camera tracking bug where the camera height initialized thousands of pixels above the launchpad on boot, causing the rocket to instantly fall off the bottom of the screen. The spawner and camera vectors are now completely synchronized. Public Beta Release With branched career trees, specialized hardware validation checks, repeatable telemetry economies, and time-stabilized physics loops fully functional, the core game framework is rock-solid. I am wrapping this up as an official public Beta build to gather immediate player feedback before finalizing version 1.0. See you in the next devlog! P.S. I have been having lots of fun playing around with this game and I hope that with the launch of version beta, you will too!"}, {"post_id": 23146, "ts": "2026-07-05T22:38:56Z", "hours": 1.3747, "text": "Devlog 11 Updates Custom VAB Grid Assembler I have started the groundwork for the modular custom rocket builder. Sizing parameters are fully driven by scaling variables (currently 5 columns by 8 rows), allowing me to easily increase the size for multi-stage rockets when I add decouplers later on. I set up a parts catalog database storing costs, masses, fuel levels, and thrust configurations for three main blocks: Command Pods, Fuel Tanks, and Liquid Engines. Each has a specific cost per unit (500 credits for a pod, 200 for a tank, and 350 for an engine). Mouse Grid Snapping The VAB hangar is now interactive using the mouse instead of the keyboard. Left-clicking sidebar catalog cards swaps your active part tool with a clean highlight frame. Left-clicking inside the grid snaps and stamps components directly into place with 1:1 pixel accuracy, and right-clicking an item instantly erases it. Flood-Fill Rocket Compiler I engineered a backend validation method ( compile_custom_grid_rocket ) triggered by clicking the Launch button. It runs a Breadth-First Search (BFS) flood-fill check starting from the Command Pod. It traces orthogonal adjacent connections to make sure parts are actually linked together via adjacent cells, filters out floating disconnected parts, checks your wallet balance, and dynamically compiles your specs before letting you reach the pad. Lunar Line-of-Sight Occlusion I fixed a glitch where network signals could pass straight through the middle of the moon. Ground downlinks and inter-satellite cross-links now run a closest-approach vector calculation. The exact millisecond a laser path grazes or drops below the physical moon radius, the lunar crust blocks the ray and drops the link instantly. UI Bugfixes The text formatting glitch where lines were cutting off the right edge of the screen has been resolved. I wrapped the sidebar text block inside a tight bounding box by enabling multiline wrapping and setting a fixed width. I also fixed a crash where the drawing engine would break looking for the parts catalog dictionary, and fixed a typo where the dictionary items loop was missing its plural formatting. New Bugs Launchpad Rendering While the rocket compiler successfully updates the rocket’s mass and thrust variables, it doesn’t render the player’s custom grid construction on the launchpad yet. It still loads the default rocket shape instead of the player’s custom design. I will fix this when I build the custom part sprites. Clickbox Alignment The sidebar tool selection clickboxes are still slightly misaligned with the visual bounding cards drawn on screen. I need to calibrate the exact mouse Y-coordinate gates to line up perfectly with the graphics. Version 1.0 Release By version 1.0 (which will be the next devlog or two), the only big feature left is completing these custom rockets with graphic sprites. After shipping version 1.0, I will do continuous point-release updates (v1.1-1.9) and then move on to version 2.0. See you in the next devlog!"}, {"post_id": 22360, "ts": "2026-07-04T19:53:54Z", "hours": 2.1928, "text": "Devlog 10 Updates Satellite network upgrades Now when you unlock tech nodes from the tech tree, it increases the range that satellites can reach. This scales so with the deep space comms, it multiplies the reach by 1.3 (30% increase) so satellites can reach ground stations from orbits higher than LEO. Unlocking the Lunar Flight Systems node multiplies the reach by 2 (100% increase) so satellites can reach twice as far and can reach from lunar orbit UI bugfixes The death screen now shows properly when you crash into the moon instead of the craft sinking through the moon and then flying out into deep space. I have redesigned the death screen slightly so it looks better for the user. The zoom has been completely rewritten and I need to add back the orange arrow that shows in the map view. New Bugs Moon Satellite - If I have a satellite in orbit around the moon, research another node or accept a contract, it mysteriously disappears when I go to launch another satellite. Ground Bases - Though quite an old feature at this point, sometimes not all of the ground stations connect to the satellites. I will try to figure this out before the next devlog Version 1.0 Release I will probably do one or two more devlogs and then ship the project as version 1.0. Continuous updates will follow; 1.1-9 (if needed) and then version 2.0. I am not sure what will happen after version 2.0 but I will try to release more updates if possible. See you in the next devlog!"}, {"post_id": 21063, "ts": "2026-07-02T20:50:51Z", "hours": 1.4811, "text": "Devlog 9 Career Data Economies & Dual-Currency Loops High-Value Science Points System: Introduced a rare, secondary currency variable ( self.science_points ) to map technological advancement completely separate from commercial funding tokens. Technology nodes have been balanced around tight progressive scaling limits (Tiers priced strictly at 0, 50, and 100 Science) to mirror an authentic career growth profile. Dual-Payout Contract Integrations: Upgraded my background contract validator engine. When an orbiting satellite payload successfully stabilizes above an active contract’s minimum target periapsis, the engine’s data-parsing loop dynamically credits my profile wallet with a clean balance of both liquid credits and research science points simultaneously. Standalone Fullscreen R&D Lab Standalone Laboratory Interface: Developed an independent fullscreen terminal draw method ( self.draw_rd_facility_screen ) mapping out an active circuit-board grid overlay, dynamic science balance counters, and interconnected horizontal pipeline line segments. Horizontal Viewport Scrolling Shell: Pre-engineered an internal pan variable layout ( self.rd_scroll_x ) across the entire R&D module canvas, forcing all container card vectors, schema lines, and cursor mouse selection boxes to calculate position relative to a scrolling offset matrix, allowing infinite horizontal expansion for future node assets. Strict Prerequisite Dependency Gates: Integrated sequential unlock gate logic inside on_mouse_press . Technology cards actively verify historical milestones before compiling transactions. Attempting to click and unlock high-tier “Lunar Flight Systems” is aggressively blocked by error banner notification flags until the player has successfully researched and cleared the prerequisite “Deep Space Comms” branch node, preventing unlock bypass exploits. Future Progression Loops With the structural progression loops, career dashboards, technology prerequisites, and multi-state menu freeze tickers running perfectly, the foundation is completely stable. In Devlog 10, I am shifting focus back to space flight physics by drafting the multi-body gravitational vector math required to introduce an active, orbiting Moon complete with independent transitionary Spheres of Influence (SOIs)! See you in the next Devlog!"}, {"post_id": 20307, "ts": "2026-07-01T21:28:50Z", "hours": 1.4669, "text": "Devlog 8 Very Minor Bugfixes Small Typos - This is probably the only one for this devlog. I misspelled quite a few variable names and functions throughout this most recent block Major Updates Pause Menu - I added a simple pause menu currently only consisting of Return to VAB, Mission Control and Quit. These are all quite self explanatory as of what they do Mission Control - Along with the VAB, I added a new building that can be visited from the pause menu; Mission Control. This is where contracts from various aerospace companies can be accepted and a payout in credits will follow if all parameters are met Technology Nodes - I didn’t really add these, I just added a placeholder for the time being so I could actually test the contracts and make sure they worked properly Future Milestones Next I will attempt to add a simple tech tree and science points. These will be used to unlock nodes on the tech tree which will in turn unlock more contracts to be completed. I will also try to add the moon, which will be a challenge for me as this will be a large body that will have it’s own SOI that needs to be accounted for when completing calculations. See you in the next Devlog!"}, {"post_id": 20185, "ts": "2026-07-01T18:50:36Z", "hours": 1.9433, "text": "Devlog 7: Bugfixes & Optimization Runaway Ground Stations: Fixed a coordinate glitch where surface bases hyper-teleported on rocket ignition. By anchoring rendering logic to the planet’s camera-matrix screen origin ( ox / oy ), the stations are now permanently welded to the crust asset and scale fluidly with mouse zoom. Slipping Mesh Endpoints: Cleaned up a copy-paste index mix-up inside the connection mesh where laser endpoints slid into deep space during camera pans or mouse wheel adjustments. Forcing rendering loops to draw from camera-transformed pixel positions ( s1x / y , s2x / y ) stabilized the mesh layout. Nested Loop Stack: Discovered a bug where the satellite sprite renderer sat inside the nested indexing loop block, painting sprites exponentially. Separating the graphics pass from index loops restored my 60 FPS baseline. Inter-Satellite Zoom Gate: Fixed an indentation parsing error where the inter-satellite mesh loop escaped map-view guard gates. Tab-aligning the loop array inside the master if self.zoom < 0.15: logic ensures all laser vectors, downlinks, and orbital tracks disappear simultaneously when zooming in to pilot my ship. Core Updates ACTIVE Planetary Line-of-Sight Occlusion: Communication laser arrays can no longer beam straight through the solid core of the world. I debugged a critical direction vector sign typo on my relative position offsets ( dx , dy ) and implemented a Ray-to-Circle Vector Intersection pass. The exact frame an orbiting node drops behind the curve of my true 2,000.0 radius crust line, the laser cuts off instantly into the planet’s radio shadow. Randomised 5-Station Hubs: Initialised a tracker ( sbasenum = 5 ) inside my constructor to generate 5 distinctive surface radar complexes (Stations A-E) deploying around the globe via a random.randint(62, 76) degree variance setup. As satellites fly overhead, electric-blue and magenta lasers shoot up out of the red beacons, tracking them across horizons in real-time. State-Managed Collisions & HUD Report: Slamming into the planet or another satellite now trips a global self.explosion_active state. The simulation freezes and an expanding thermal fireball shockwave animates at the coordinates of the wreck. After 1.0 second, a dark semi-transparent HUD panel opens to display custom diagnostics. Hitting things prints Outcome: Crash! alongside impact velocity. A mouse click releases the state and returns you to the VAB. Apoapsis and Periapsis Nodes: Mapped out my ellipse constants using analytical orbital mechanics geometry. Two clean circular indicator flags labeled AP and PE now render directly onto my green path line. They scale fluidly with camera views, showing maximum and minimum orbital height readouts live. Global Telemetry & UI Notification Banners: Bound my ellipse heights into class instance variables ( self.ap_alt , self.pe_alt ) so the interface dashboard can display responsive telemetry. I also added a defensive coding rule where hitting Spacebar to deploy a satellite only works if self.pe_alt > 100 . If trapped in a sub-orbital crash path, a red message flashes: Can't Deploy Satellite. Try increasing your periapsis , counting down for 3.0 seconds via on_update before disappearing. Future Milestones In Devlog 8, I will start building out a structured Contract & Agency Mission Board . Instead of gaining automated payouts for just reaching space, players will receive targeted mission briefs from separate space agencies with explicit operational criteria. Furthermore, I will introduce a Technology Tree Prerequisite Matrix . More complex aerospace contracts will remain completely hidden until you spend research points to unlock the appropriate tiers of technology, providing an authentic simulation of an evolving space programme. See you in the Next Devlog!"}, {"post_id": 19476, "ts": "2026-06-30T20:08:04Z", "hours": 0.5703, "text": "Devlog 6 Bugfixes I finally fixed the satellite bug! The satellites now orbit around the planet on the exact same path their original rocket was on. Updates I am currently changing the conic patches to only show when you are zoomed out enough to be in map view. This has worked perfectly for me and I haven’t had any big issues with it. I have also added the ability for satellites to connect to eachother. This is represented as a green line on the map and I will add more colours to represent varying signal strength based on the distance of the satellites. These will be: Red, Orange, and Green. The line drawing is still a bit buggy. The start and end points shift based on the pan and zoom of the camera, the connections go through the planet (maybe in the future I will add a satellite that has the capability to receive signals through planets). Future of these updates This is one of the most fundamental features of my game. This is how data will be transmitted from different planets and moons and how missions will be completed and research points will be earned. See you in the Next Devlog! P.S. I have figured out how to do text formatting on the devlogs. Also, these have been quite simple updates and so my log time has been ~30 minutes per devlog lately. I will try to improve the quality of these updates and make the devlogs more detailed"}, {"post_id": 18637, "ts": "2026-06-29T20:36:42Z", "hours": 0.4561, "text": "Devlog 5 Minor Bugfixes I fixed some minor bugs with the conic patches and they now no longer go through the core of the planet. I don’t like the way the screen just changes immediately to the VAB when you crash. I might add an explosion animation of some kind. Updates I added a basic version of marking a craft as a satellite by pressing the space bar. At the moment, it is extremely buggy and I will try to fix this as soon as possible. When you mark an object as a satellite, it gains the satellite texture (currently a placeholder square) and it’s position in space freezes and does not update at all. Future Bugfixes As mentioned previousely in this devlog, I will try to fix the satellite bug as soon as I can. I will fix the placeholder rocket texture in the VAB as it is still tearing itself apart Next Steps I will try to add surface bases that satellites can connect to (when I have fixed the bugs) and also make the satellites connect to eachother. Future updates I will try my best to create custom rocket construction in the VAB like that in other space games like KSP or SFS. I will also try to make the rocket’s properties eg. thrust to weight ratio, delta v, etc dynamically change with the player’s rocket build. See you in the next Devlog!"}, {"post_id": 18497, "ts": "2026-06-29T17:44:01Z", "hours": 0.4761, "text": "Devlog 4 Small Bugfixes Conic patches patched! Before, the whole inside of the circle was being filled with green. now only the trajectory of the rocket is coloured green. I also did some optimisation (as seen in the second photo) to reduce the number of points on the trajectory line. This means the trajectories can be calculated smoother and faster only at the cost of a less defined trajectory. Next Steps Next, I will add the ability to turn a rocket into a satellite. The satellite will then connect with ground stations and other satellites. Future of the game In the future of the game, the satellite connectivity will be used to transmit data for missions between planets and moons, creating a whole relay network between the planets of the solar system. Missions will be completed earning development points (no official name yet) and credits. These will then be used to unlock new parts and build better rockets. I promise I will update the VAB to have better assembly options. See you in the next devlog!"}, {"post_id": 18456, "ts": "2026-06-29T16:51:54Z", "hours": 0.9925, "text": "#Devlog 3 Small Updates I did some more development today and I have added: zooming which is controlled by the scroll wheel and seamlessly changes the view from flight to map, Panning which is controlled with the right mouse button and dragging, A new earth texture, similar to the old SFS one. I also tried adding conic patches, which you can probably see did not go as planned. The trajectory maths and paths are OK, but The plotting needs lots of work. Adding these updates did not take as long as I was expecting taking into account the amount of time I spent on the other updates and these were quite simple to add in. The bugfixing might take some time, but I am up to the challenge. I still haven’t changed the VAB, and I probably won’t for a while. See you in the next devlog!"}, {"post_id": 17747, "ts": "2026-06-28T17:42:15Z", "hours": 0.5322, "text": "Bugs Fixed! All major bugs have been fixed that were mentioned in the last devlog. I still need to improve the VAB but I might try to postpone this to a later date. The player can now choose between 2 liquid boosters each with different fuel capacities and thrusts. The map now works and shows the location of the player’s spaceship. Next I will make the planet larger and add trajectories, panning, and zooming to the map function."}, {"post_id": 17716, "ts": "2026-06-28T17:02:47Z", "hours": 1.2278, "text": "I have tested the very first chunk of code. It is extremely buggy and will require lots of fixes in the future. At the moment, there is a money tracker, a very simple VAB, and a not so great visual view of the earth. I can’t launch my rocket, as it just takes me back to the VAB. The rocket model is not the best although I plan on adding real sprites later in the game. My next steps will be to do bugfixes (a lot) and to improve the functionality of the VAB and launchpad."}]...
|
Title: Project: Constellation by @chandos4473 | St Title: Project: Constellation by @chandos4473 | Stardance
Devlogs:
I have tested the very first chunk of code. It is extremely buggy and will require lots of fixes in the future. At the moment, there is a money tracker, a very simple VAB, and a not so great visual view of the earth. I can’t launch my rocket, as it just takes me back to the VAB. The rocket model is not the best although I plan on adding real sprites later in the game. My next steps will be to do bugfixes (a lot) and to improve the functionality of the VAB and launchpad.
Bugs Fixed! All major bugs have been fixed that were mentioned in the last devlog. I still need to improve the VAB but I might try to postpone this to a later date. The player can now choose between 2 liquid boosters each with different fuel capacities and thrusts. The map now works and shows the location of the player’s spaceship. Next I will make the planet larger and add trajectories, panning, and zooming to the map function.
#Devlog 3 Small Updates I did some more development today and I have added: zooming which is controlled by the scroll wheel and seamlessly changes the view from flight to map, Panning which is controlled with the right mouse button and dragging, A new earth texture, similar to the old SFS one. I also tried adding conic patches, which you can probably see did not go as planned. The trajectory maths and paths are OK, but The plotting needs lots of work. Adding these updates did not take as long as I was expecting taking into account the amount of time I spent on the other updates and these were quite simple to add in. The bugfixing might take some time, but I am up to the challenge. I still haven’t changed the VAB, and I probably won’t for a while. See you in the next devlog!
Devlog 4 Small Bugfixes Conic patches patched! Before, the whole inside of the circle was being filled with green. now only the trajectory of the rocket is coloured green. I also did some optimisation (as seen in the second photo) to reduce the number of points on the trajectory line. This means the trajectories can be calculated smoother and faster only at the cost of a less defined trajectory. Next Steps Next, I will add the ability to turn a rocket into a satellite. The satellite will then connect with ground stations and other satellites. Future of the game In the future of the game, the satellite connectivity will be used to transmit data for missions between planets and moons, creating a whole relay network between the planets of the solar system. Missions will be completed earning development points (no official name yet) and credits. These will then be used to unlock new parts and build better rockets. I promise I will update the VAB to have better assembly options. See you in the next devlog!
Devlog 5 Minor Bugfixes I fixed some minor bugs with the conic patches and they now no longer go through the core of the planet. I don’t like the way the screen just changes immediately to the VAB when you crash. I might add an explosion animation of some kind. Updates I added a basic version of marking a craft as a satellite by pressing the space bar. At the moment, it is extremely buggy and I will try to fix this as soon as possible. When you mark an object as a satellite, it gains the satellite texture (currently a placeholder square) and it’s position in space freezes and does not update at all. Future Bugfixes As mentioned previousely in this devlog, I will try to fix the satellite bug as soon as I can. I will fix the placeholder rocket texture in the VAB as it is still tearing itself apart Next Steps I will try to add surface bases that satellites can connect to (when I have fixed the bugs) and also make the satellites connect to eachother. Future updates I will try my best to create custom rocket construction in the VAB like that in other space games like KSP or SFS. I will also try to make the rocket’s properties eg. thrust to weight ratio, delta v, etc dynamically change with the player’s rocket build. See you in the next Devlog!
Devlog 6 Bugfixes I finally fixed the satellite bug! The satellites now orbit around the planet on the exact same path their original rocket was on. Updates I am currently changing the conic patches to only show when you are zoomed out enough to be in map view. This has worked perfectly for me and I haven’t had any big issues with it. I have also added the ability for satellites to connect to eachother. This is represented as a green line on the map and I will add more colours to represent varying signal strength based on the distance of the satellites. These will be: Red, Orange, and Green. The line drawing is still a bit buggy. The start and end points shift based on the pan and zoom of the camera, the connections go through the planet (maybe in the future I will add a satellite that has the capability to receive signals through planets). Future of these updates This is one of the most fundamental features of my game. This is how data will be transmitted from different planets and moons and how missions will be completed and research points will be earned. See you in the Next Devlog! P.S. I have figured out how to do text formatting on the devlogs. Also, these have been quite simple updates and so my log time has been ~30 minutes per devlog lately. I will try to improve the quality of these updates and make the devlogs more detailed
Devlog 7: Bugfixes & Optimization Runaway Ground Stations: Fixed a coordinate glitch where surface bases hyper-teleported on rocket ignition. By anchoring rendering logic to the planet’s camera-matrix screen origin ( ox / oy ), the stations are now permanently welded to the crust asset and scale fluidly with mouse zoom. Slipping Mesh Endpoints: Cleaned up a copy-paste index mix-up inside the connection mesh where laser endpoints slid into deep space during camera pans or mouse wheel adjustments. Forcing rendering loops to draw from camera-transformed pixel positions ( s1x / y , s2x / y ) stabilized the mesh layout. Nested Loop Stack: Discovered a bug where the satellite sprite renderer sat inside the nested indexing loop block, painting sprites exponentially. Separating the graphics pass from index loops restored my 60 FPS baseline. Inter-Satellite Zoom Gate: Fixed an indentation parsing error where the inter-satellite mesh loop escaped map-view guard gates. Tab-aligning the loop array inside the master if self.zoom < 0.15: logic ensures all laser vectors, downlinks, and orbital tracks disappear simultaneously when zooming in to pilot my ship. Core Updates ACTIVE Planetary Line-of-Sight Occlusion: Communication laser arrays can no longer beam straight through the solid core of the world. I debugged a critical direction vector sign typo on my relative position offsets ( dx , dy ) and implemented a Ray-to-Circle Vector Intersection pass. The exact frame an orbiting node drops behind the curve of my true 2,000.0 radius crust line, the laser cuts off instantly into the planet’s radio shadow. Randomised 5-Station Hubs: Initialised a tracker ( sbasenum = 5 ) inside my constructor to generate 5 distinctive surface radar complexes (Stations A-E) deploying around the globe via a random.randint(62, 76) degree variance setup. As satellites fly overhead, electric-blue and magenta lasers shoot up out of the red beacons, tracking them across horizons in real-time. State-Managed Collisions & HUD Report: Slamming into the planet or another satellite now trips a global self.explosion_active state. The simulation freezes and an expanding thermal fireball shockwave animates at the coordinates of the wreck. After 1.0 second, a dark semi-transparent HUD panel opens to display custom diagnostics. Hitting things prints Outcome: Crash! alongside impact velocity. A mouse click releases the state and returns you to the VAB. Apoapsis and Periapsis Nodes: Mapped out my ellipse constants using analytical orbital mechanics geometry. Two clean circular indicator flags labeled AP and PE now render directly onto my green path line. They scale fluidly with camera views, showing maximum and minimum orbital height readouts live. Global Telemetry & UI Notification Banners: Bound my ellipse heights into class instance variables ( self.ap_alt , self.pe_alt ) so the interface dashboard can display responsive telemetry. I also added a defensive coding rule where hitting Spacebar to deploy a satellite only works if self.pe_alt > 100 . If trapped in a sub-orbital crash path, a red message flashes: Can't Deploy Satellite. Try increasing your periapsis , counting down for 3.0 seconds via on_update before disappearing. Future Milestones In Devlog 8, I will start building out a structured Contract & Agency Mission Board . Instead of gaining automated payouts for just reaching space, players will receive targeted mission briefs from separate space agencies with explicit operational criteria. Furthermore, I will introduce a Technology Tree Prerequisite Matrix . More complex aerospace contracts will remain completely hidden until you spend research points to unlock the appropriate tiers of technology, providing an authentic simulation of an evolving space programme. See you in the Next Devlog!
Devlog 8 Very Minor Bugfixes Small Typos - This is probably the only one for this devlog. I misspelled quite a few variable names and functions throughout this most recent block Major Updates Pause Menu - I added a simple pause menu currently only consisting of Return to VAB, Mission Control and Quit. These are all quite self explanatory as of what they do Mission Control - Along with the VAB, I added a new building that can be visited from the pause menu; Mission Control. This is where contracts from various aerospace companies can be accepted and a payout in credits will follow if all parameters are met Technology Nodes - I didn’t really add these, I just added a placeholder for the time being so I could actually test the contracts and make sure they worked properly Future Milestones Next I will attempt to add a simple tech tree and science points. These will be used to unlock nodes on the tech tree which will in turn unlock more contracts to be completed. I will also try to add the moon, which will be a challenge for me as this will be a large body that will have it’s own SOI that needs to be accounted for when completing calculations. See you in the next Devlog!
Devlog 9 Career Data Economies & Dual-Currency Loops High-Value Science Points System: Introduced a rare, secondary currency variable ( self.science_points ) to map technological advancement completely separate from commercial funding tokens. Technology nodes have been balanced around tight progressive scaling limits (Tiers priced strictly at 0, 50, and 100 Science) to mirror an authentic career growth profile. Dual-Payout Contract Integrations: Upgraded my background contract validator engine. When an orbiting satellite payload successfully stabilizes above an active contract’s minimum target periapsis, the engine’s data-parsing loop dynamically credits my profile wallet with a clean balance of both liquid credits and research science points simultaneously. Standalone Fullscreen R&D Lab Standalone Laboratory Interface: Developed an independent fullscreen terminal draw method ( self.draw_rd_facility_screen ) mapping out an active circuit-board grid overlay, dynamic science balance counters, and interconnected horizontal pipeline line segments. Horizontal Viewport Scrolling Shell: Pre-engineered an internal pan variable layout ( self.rd_scroll_x ) across the entire R&D module canvas, forcing all container card vectors, schema lines, and cursor mouse selection boxes to calculate position relative to a scrolling offset matrix, allowing infinite horizontal expansion for future node assets. Strict Prerequisite Dependency Gates: Integrated sequential unlock gate logic inside on_mouse_press . Technology cards actively verify historical milestones before compiling transactions. Attempting to click and unlock high-tier “Lunar Flight Systems” is aggressively blocked by error banner notification flags until the player has successfully researched and cleared the prerequisite “Deep Space Comms” branch node, preventing unlock bypass exploits. Future Progression Loops With the structural progression loops, career dashboards, technology prerequisites, and multi-state menu freeze tickers running perfectly, the foundation is completely stable. In Devlog 10, I am shifting focus back to space flight physics by drafting the multi-body gravitational vector math required to introduce an active, orbiting Moon complete with independent transitionary Spheres of Influence (SOIs)! See you in the next Devlog!
Devlog 10 Updates Satellite network upgrades Now when you unlock tech nodes from the tech tree, it increases the range that satellites can reach. This scales so with the deep space comms, it multiplies the reach by 1.3 (30% increase) so satellites can reach ground stations from orbits higher than LEO. Unlocking the Lunar Flight Systems node multiplies the reach by 2 (100% increase) so satellites can reach twice as far and can reach from lunar orbit UI bugfixes The death screen now shows properly when you crash into the moon instead of the craft sinking through the moon and then flying out into deep space. I have redesigned the death screen slightly so it looks better for the user. The zoom has been completely rewritten and I need to add back the orange arrow that shows in the map view. New Bugs Moon Satellite - If I have a satellite in orbit around the moon, research another node or accept a contract, it mysteriously disappears when I go to launch another satellite. Ground Bases - Though quite an old feature at this point, sometimes not all of the ground stations connect to the satellites. I will try to figure this out before the next devlog Version 1.0 Release I will probably do one or two more devlogs and then ship the project as version 1.0. Continuous updates will follow; 1.1-9 (if needed) and then version 2.0. I am not sure what will happen after version 2.0 but I will try to release more updates if possible. See you in the next devlog!
Devlog 11 Updates Custom VAB Grid Assembler I have started the groundwork for the modular custom rocket builder. Sizing parameters are fully driven by scaling variables (currently 5 columns by 8 rows), allowing me to easily increase the size for multi-stage rockets when I add decouplers later on. I set up a parts catalog database storing costs, masses, fuel levels, and thrust configurations for three main blocks: Command Pods, Fuel Tanks, and Liquid Engines. Each has a specific cost per unit (500 credits for a pod, 200 for a tank, and 350 for an engine). Mouse Grid Snapping The VAB hangar is now interactive using the mouse instead of the keyboard. Left-clicking sidebar catalog cards swaps your active part tool with a clean highlight frame. Left-clicking inside the grid snaps and stamps components directly into place with 1:1 pixel accuracy, and right-clicking an item instantly erases it. Flood-Fill Rocket Compiler I engineered a backend validation method ( compile_custom_grid_rocket ) triggered by clicking the Launch button. It runs a Breadth-First Search (BFS) flood-fill check starting from the Command Pod. It traces orthogonal adjacent connections to make sure parts are actually linked together via adjacent cells, filters out floating disconnected parts, checks your wallet balance, and dynamically compiles your specs before letting you reach the pad. Lunar Line-of-Sight Occlusion I fixed a glitch where network signals could pass straight through the middle of the moon. Ground downlinks and inter-satellite cross-links now run a closest-approach vector calculation. The exact millisecond a laser path grazes or drops below the physical moon radius, the lunar crust blocks the ray and drops the link instantly. UI Bugfixes The text formatting glitch where lines were cutting off the right edge of the screen has been resolved. I wrapped the sidebar text block inside a tight bounding box by enabling multiline wrapping and setting a fixed width. I also fixed a crash where the drawing engine would break looking for the parts catalog dictionary, and fixed a typo where the dictionary items loop was missing its plural formatting. New Bugs Launchpad Rendering While the rocket compiler successfully updates the rocket’s mass and thrust variables, it doesn’t render the player’s custom grid construction on the launchpad yet. It still loads the default rocket shape instead of the player’s custom design. I will fix this when I build the custom part sprites. Clickbox Alignment The sidebar tool selection clickboxes are still slightly misaligned with the visual bounding cards drawn on screen. I need to calibrate the exact mouse Y-coordinate gates to line up perfectly with the graphics. Version 1.0 Release By version 1.0 (which will be the next devlog or two), the only big feature left is completing these custom rockets with graphic sprites. After shipping version 1.0, I will do continuous point-release updates (v1.1-1.9) and then move on to version 2.0. See you in the next devlog!
Devlog 12 Updates Dual-Branch R&D Tech Tree I have overhauled the career progression loop by splitting the research paths into two independent divisions: Engineering and Science. Basic Rocketry now branches out into Propulsion hardware on the upper path, and opens up a dedicated Scientific Instrumentation line on the lower path. Dynamic Gated VAB Catalog The VAB sidebar menu now dynamically checks your research history records. Unlocked science components automatically reveal themselves in the sidebar list, while locked parts are completely hidden from sight to keep the construction catalog clean. Sidebar clickboxes dynamically recalculate vertical pixel boundaries on the fly to track the visible elements accurately. Repeatable Science Payloads & Validation Checks I implemented core functionality and logic handlers for repeatable telemetry payloads. Satellites holding scientific sensors scan for an active, unblocked connection line back to Earth tracking bases. When a link is found, they automatically downlink data packets to award flat-rate repeatable research points on every mission (15 science for the Thermometer, 20 for the Barometer, and 25 for the Mystery Goo Pod). Macro Map Orientation Pointers I added a macro view toggle. When you roll your mouse scroll wheel out into the map view layer, the high-detail custom rocket model cleanly scales down into a bright orange orientation pointer triangle. This visual anchor makes it significantly easier to track your exact steering heading against the planetary orbit paths. Planetary Scale & Career Contract Balance To increase overall difficulty and solve an exploit where a single keystroke escaped gravity, I scaled up the universe metrics. The planet radius is now 5,000 meters and its mass is 15,000,000. The moon has been pushed out to a deep-space orbit of 45,000 meters with an expanded 7,500-meter sphere of influence capture well. To match this new planetary scale, I completely overhauled the contract database to feature a six-mission matrix. Contract targets have been raised to true high-altitude orbit criteria (such as a 5,600m periapsis for low relay deployment). The spacebar satellite deployment checker strictly validates if your custom construction has the requested scientific part hardware installed before awarding high-tier cash rewards. Time-Stabilized Flight Physics Core I fully synchronized the lifecycle physics equations over time by scaling all acceleration, gravity force vectors, and position increments by delta_time. This eliminates frame-rate dependencies and creates realistic, heavy vehicle inertia. Fuel consumption rates have been balanced to a multiplier of 26.0, providing enough burn duration to clear the 5,000m atmosphere and circularize while enforcing strict fuel limitations. UI Bugfixes I resolved an axis-mirroring rendering bug where custom grid parts would drift into diagonals or spin backward on local centers during physics turns. Components now stay perfectly welded to the primary chassis frame across all angles. I also fixed a camera tracking bug where the camera height initialized thousands of pixels above the launchpad on boot, causing the rocket to instantly fall off the bottom of the screen. The spawner and camera vectors are now completely synchronized. Public Beta Release With branched career trees, specialized hardware validation checks, repeatable telemetry economies, and time-stabilized physics loops fully functional, the core game framework is rock-solid. I am wrapping this up as an official public Beta build to gather immediate player feedback before finalizing version 1.0. See you in the next devlog! P.S. I have been having lots of fun playing around with this game and I hope that with the launch of version beta, you will too!
Ships:
Project: Constellation (Public Beta) Project: Constellation is a full-scale orbital mechanics and satellite communications simulator built on the Arcade Python engine. Design custom rocket layouts inside an interactive assembly grid, manage a dual-branch technological research economy, execute targeted agency contracts, and establish global laser-linked relay constellations around a scaled, multi-body gravitational physics sandbox. Core Systems Grid-Based Vehicle Architecture Vehicles are assembled inside a 5x8 Vehicle Assembly Building (VAB) matrix. Structural dry mass, fuel capacity, and booster thrust metrics are compiled directly from your component placements, ensuring that custom ship layouts directly influence flight physics and vehicle inertia. Dual-Branch Tech Progression The research tree splits cleanly into Engineering and Scientific Instrumentation paths. Spending science points unlocks advanced telemetry sensors—including Thermometers, Barometers, and Mystery Goo Pods—while dynamically updating your active VAB construction catalogue menu. Autonomous Telemetry Downlinks Deployed science satellites automatically trace line-of-sight laser routes back to active ground stations. When an unblocked path clears the planetary or lunar crust terrain boundaries, telemetry data caches flush to deliver repeatable flat-rate science funding payouts back to your space agency. Time-Stabilized Flight Physics All gravitational pull factors, engine acceleration vectors, and coordinate position increments utilize strict delta-time scaling multipliers. This maintains frame-rate independent vehicle momentum, requiring a controlled, sustained 12-second ascent burn to circularize into orbit. Technical Highlights VAB Grid Validation Pass The hangar utilizes a verification filter driven by a Breadth-First Search (BFS) flood-fill algorithm. The calculation evaluates part attachments outwards directly from the core Command Pod placement coordinate. It automatically filters loose, floating component cells before vehicle launchpad rollout clearance is granted. Real-Time Laser Occlusion Satellite laser links dynamically monitor geometric distance tracking arrays to map active connection routes. Beams trace continuous calculations against the spatial coordinates of the 5,000-meter radius planetary and lunar crusts. Signals break instantly upon crossing underneath terrain thresholds, forcing strategic constellation designs to maintain coverage. Balanced Sensor Payouts & Fuel Telemetry transmissions bypass progression uniqueness checks to award flat-rate rewards on every single flight. Active thermometer units dump data to return 15 science, barometers yield 20, and bio-chemical Mystery Goo Pod structures return 25.Booster fuel consumption rates are balanced to a 26.0 unit per second multiplier to enforce tight launch fuel limitations. Flight Operations Keyboard Map W or UP ARROW — Fire liquid boosters (Hold for sustained acceleration) A / D or LEFT / RIGHT — Pitch controls (Adjust vehicle steering angles) SPACEBAR — Decouple staging structure and deploy satellite payload into active orbit MOUSE SCROLL WHEEL — Viewport camera zoom (Micro close-ups vs Macro system maps) ESC — Open R&D Technology Tree, Agency Contract Boards, and Asset menus Quick Installation Project: Constellation requires Python 3.8+ and the Python Arcade engine library. Run a standard pip installation pass inside your terminal shell window, and execute the primary script to launch your space program: In terminal run: pip install arcade and to run: python3 main.py This will work as long as the terminal is currently acting inside the folder that contains the main.py script P.S. This is still a beta version of the game so expect bugs!...
|
1792997312.2716327
|
1793083712.2716327
|
|
29752
|
DEEPREAD by @Nikhilsahu | Stardance
|
|
2
|
16.0
|
200
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-08T13:08:29Z", "hours": 11.0, "multiplier": 13.86, "payout": 158, "blessing": "neutral", "text": "DeepRead — upload a PDF and get a summary, flashcards, a quiz, a mind map, and a chat where you can ask questions about it. Stopping the AI from making up facts that weren’t in the PDF, and dealing with free AI services running out of quota (so I made it try 4 different AI providers one by one until one works). That it actually works with real PDFs end to end, not just a demo — plus the flip flashcards and the fallback system feel solid. Upload any PDF, try all 3 summary modes, flip through flashcards, take the quiz, check the mind map, and ask the chat something not in the PDF to see it say “not covered” instead of guessing.", "repo": "https://github.com/Nikhil20222/deepread", "demo": "https://deepread-lake.vercel.app/"}, {"ship_num": 2, "ts": "2026-07-03T05:26:22Z", "hours": 5.0, "multiplier": 9.09, "payout": 42, "blessing": "neutral", "text": "DeepRead — a tool that uploads a PDF and generates an AI summary and flashcards so you don’t have to read the whole thing. Gemini kept hitting quota limits so I had to rebuild the backend to support multiple AI providers. Then AI models returning broken JSON, flashcards showing old PDF data, CORS issues, frontend not updating — basically spent most of my time debugging. The multi-AI fallback system. Groq fails → tries OpenRouter → tries Gemini. Happens automatically, user doesn’t even notice. Also just the fact that I actually finished it. You need all three API keys (Groq, OpenRouter, Gemini) in a .env file. Text-based PDFs work best, not scanned ones. Larger files take longer. Start the FastAPI backend first, then open index.html directly in your browser.", "repo": "https://github.com/Nikhil20222/deepread", "demo": "https://deepread-lake.vercel.app/"}]...
|
[{"post_id": 24681, "ts": "202 [{"post_id": 24681, "ts": "2026-07-08T13:04:20Z", "hours": 2.7583, "text": "DeepRead v2 is now finished. I’ve had a little bit of time to test it all out again, make sure there are no bugs and that all the features work well together. All in all, it has developed greatly from its initial stage and I feel quite proud about the result. There will definitely be minor improvements that can still be made but, for now, I consider it to be fully completed and ready for release."}, {"post_id": 24564, "ts": "2026-07-08T07:12:22Z", "hours": 3.1458, "text": "Worked on the services folder today and expanded the AI provider support for DeepRead v2. The app previously had three AI providers, and I started integrating another one to make the fallback system more reliable. I finished the implementation for two of the providers and tested them individually. There’s still a bit of integration left, but the services layer is coming together nicely and should make the app much more dependable."}, {"post_id": 24155, "ts": "2026-07-07T15:17:12Z", "hours": 0.7478, "text": "I finished writing the code for each feature individually and made sure everything works on its own. The only major thing left now is integrating everything into the main application and testing how the features work together. Once that’s done, I’ll start polishing the overall experience and fixing any issues that come up during testing."}, {"post_id": 24065, "ts": "2026-07-07T11:45:24Z", "hours": 2.7858, "text": "Made some more progress on DeepRead v2 today. Most of the frontend is now in place and I finished the HTML, CSS and most of the JavaScript. I actually spent most of my time tracking down a really annoying JavaScript bug that was breaking part of the new flow. Took longer than I expected, but it finally works the way I wanted. The base for the new features is ready now, so the next step is polishing everything and connecting the remaining functionality."}, {"post_id": 23996, "ts": "2026-07-07T08:26:17Z", "hours": 2.0142, "text": "Today I started working on the frontend for DeepRead v2. I didn’t want to completely redesign the app, so I kept the same clean look while improving the overall layout and spacing. Most of the work today went into HTML and CSS, making everything feel more organized and easier to use. I also planned the layout for the upcoming features so adding them later will be much smoother. Still a lot left to build, but the base for v2 is ready now."}, {"post_id": 21312, "ts": "2026-07-03T05:23:01Z", "hours": 0.4675, "text": "Small Improvements Spent some more time improving DeepRead today.I wasn’t adding any major features, but I cleaned up the project and fixed a few small issues that I noticed while testing. I also improved the AI fallback logic a bit and organized some backend files to make the code easier to maintain. I tested the upload, summary and flashcard flow a few more times to make sure everything works smoothly before wrapping up the project. Nothing huge today, just polishing the project and making it more stable. There are still a few ideas I want to work on later, but I’m happy with where DeepRead is now"}, {"post_id": 21304, "ts": "2026-07-03T04:52:35Z", "hours": 2.6439, "text": "Devlog #Final – DeepRead is Done (Finally) I can’t believe I’m actually writing this. After weeks of “just one more bug” and “why is this not working”, DeepRead is actually complete. Like, functional complete. Not “it works on my machine” complete. The idea was dead simple from the start — I just wanted something that reads my PDFs and gives me a summary so I don’t have to. That’s it. Didn’t think it would turn into this whole thing. But man, the number of times this project almost broke me… The biggest headache was the AI APIs. I started with Gemini because it was the easiest to set up. Worked great for like two days. Then the quota limits hit. Every. Single. Time. So I had to completely restructure the backend to support multiple providers. Now it tries Groq first, falls back to OpenRouter, and if both fail, Gemini is the last resort. Took way too long to get this right but honestly it’s the most solid part of the app now. Then there was the JSON parsing nightmare. You’d think AI models would return clean JSON when you ask them to. They don’t. They really don’t. Sometimes there’d be extra text before the JSON, sometimes missing brackets, sometimes completely wrong format. Spent hours writing fallback parsers for that stuff. And don’t even get me started on the frontend. There was this one bug where the flashcards would show data from a PREVIOUS PDF. Took me an entire evening to figure out I wasn’t clearing state properly. Fun times. What’s actually in it right now: PDF upload (shockingly, this was the easiest part) AI summary generation AI flashcards with prev/next navigation Multiple AI fallback system (the thing I’m most proud of ngl) Simple frontend — HTML, CSS, vanilla JS FastAPI backend No frameworks, no unnecessary complexity. Just works. What I want to add later: Dark mode (I keep procrastinating on this) PDF preview so you don’t have to open it separately Highlighting key sections Quiz mode — flip the flashcards into actual questions Export summary as PDF or Markdown User accounts to save study history DOCX and PPT support Better loading states and error messages (currently they’re… basic) This project started because I was lazy and didn’t want to read long PDFs. But it ended up teaching me more than most tutorials ever did. Real debugging, real API integration problems, real “why is CORS blocking this when it worked yesterday” energy. If you’re thinking about building something like this — just start. You’ll hate it at points, but you’ll learn so much. Anyway, that’s the devlog. DeepRead v1.0 is done. Time to actually use it for my studies now 😅 Thanks for following along. 🚀"}, {"post_id": 20773, "ts": "2026-07-02T13:54:28Z", "hours": 0.4522, "text": "Started reading uploaded PDFs Today I added the first step of PDF processing. After uploading a PDF, DeepRead now extracts the text and returns a preview. This is the foundation for summaries, search, question answering, and the knowledge graph that I’ll build next."}, {"post_id": 20666, "ts": "2026-07-02T10:09:24Z", "hours": 0.4317, "text": "Connected the frontend with the backend Got the first end-to-end feature working today. Users can now select a PDF, upload it from the website, and the backend saves it successfully. It took a bit of debugging, but the upload flow is now working as expected. Next is extracting text from the uploaded PDF so DeepRead can start understanding the document."}, {"post_id": 20649, "ts": "2026-07-02T09:26:13Z", "hours": 0.7608, "text": "Started building DeepRead Today I set up the project and got the basic structure ready Created the GitHub repository Set up the FastAPI backend Created the frontend Built the first homepage with a PDF upload section Added the basic upload flow on the frontend Next, I’ll connect the upload button to the backend and start processing PDF files."}]...
|
Title: DEEPREAD by @Nikhilsahu | Stardance
Devlog Title: DEEPREAD by @Nikhilsahu | Stardance
Devlogs:
Started building DeepRead Today I set up the project and got the basic structure ready Created the GitHub repository Set up the FastAPI backend Created the frontend Built the first homepage with a PDF upload section Added the basic upload flow on the frontend Next, I’ll connect the upload button to the backend and start processing PDF files.
Connected the frontend with the backend Got the first end-to-end feature working today. Users can now select a PDF, upload it from the website, and the backend saves it successfully. It took a bit of debugging, but the upload flow is now working as expected. Next is extracting text from the uploaded PDF so DeepRead can start understanding the document.
Started reading uploaded PDFs Today I added the first step of PDF processing. After uploading a PDF, DeepRead now extracts the text and returns a preview. This is the foundation for summaries, search, question answering, and the knowledge graph that I’ll build next.
Devlog #Final – DeepRead is Done (Finally) I can’t believe I’m actually writing this. After weeks of “just one more bug” and “why is this not working”, DeepRead is actually complete. Like, functional complete. Not “it works on my machine” complete. The idea was dead simple from the start — I just wanted something that reads my PDFs and gives me a summary so I don’t have to. That’s it. Didn’t think it would turn into this whole thing. But man, the number of times this project almost broke me… The biggest headache was the AI APIs. I started with Gemini because it was the easiest to set up. Worked great for like two days. Then the quota limits hit. Every. Single. Time. So I had to completely restructure the backend to support multiple providers. Now it tries Groq first, falls back to OpenRouter, and if both fail, Gemini is the last resort. Took way too long to get this right but honestly it’s the most solid part of the app now. Then there was the JSON parsing nightmare. You’d think AI models would return clean JSON when you ask them to. They don’t. They really don’t. Sometimes there’d be extra text before the JSON, sometimes missing brackets, sometimes completely wrong format. Spent hours writing fallback parsers for that stuff. And don’t even get me started on the frontend. There was this one bug where the flashcards would show data from a PREVIOUS PDF. Took me an entire evening to figure out I wasn’t clearing state properly. Fun times. What’s actually in it right now: PDF upload (shockingly, this was the easiest part) AI summary generation AI flashcards with prev/next navigation Multiple AI fallback system (the thing I’m most proud of ngl) Simple frontend — HTML, CSS, vanilla JS FastAPI backend No frameworks, no unnecessary complexity. Just works. What I want to add later: Dark mode (I keep procrastinating on this) PDF preview so you don’t have to open it separately Highlighting key sections Quiz mode — flip the flashcards into actual questions Export summary as PDF or Markdown User accounts to save study history DOCX and PPT support Better loading states and error messages (currently they’re… basic) This project started because I was lazy and didn’t want to read long PDFs. But it ended up teaching me more than most tutorials ever did. Real debugging, real API integration problems, real “why is CORS blocking this when it worked yesterday” energy. If you’re thinking about building something like this — just start. You’ll hate it at points, but you’ll learn so much. Anyway, that’s the devlog. DeepRead v1.0 is done. Time to actually use it for my studies now 😅 Thanks for following along. 🚀
Small Improvements Spent some more time improving DeepRead today.I wasn’t adding any major features, but I cleaned up the project and fixed a few small issues that I noticed while testing. I also improved the AI fallback logic a bit and organized some backend files to make the code easier to maintain. I tested the upload, summary and flashcard flow a few more times to make sure everything works smoothly before wrapping up the project. Nothing huge today, just polishing the project and making it more stable. There are still a few ideas I want to work on later, but I’m happy with where DeepRead is now
Today I started working on the frontend for DeepRead v2. I didn’t want to completely redesign the app, so I kept the same clean look while improving the overall layout and spacing. Most of the work today went into HTML and CSS, making everything feel more organized and easier to use. I also planned the layout for the upcoming features so adding them later will be much smoother. Still a lot left to build, but the base for v2 is ready now.
Made some more progress on DeepRead v2 today. Most of the frontend is now in place and I finished the HTML, CSS and most of the JavaScript. I actually spent most of my time tracking down a really annoying JavaScript bug that was breaking part of the new flow. Took longer than I expected, but it finally works the way I wanted. The base for the new features is ready now, so the next step is polishing everything and connecting the remaining functionality.
I finished writing the code for each feature individually and made sure everything works on its own. The only major thing left now is integrating everything into the main application and testing how the features work together. Once that’s done, I’ll start polishing the overall experience and fixing any issues that come up during testing.
Worked on the services folder today and expanded the AI provider support for DeepRead v2. The app previously had three AI providers, and I started integrating another one to make the fallback system more reliable. I finished the implementation for two of the providers and tested them individually. There’s still a bit of integration left, but the services layer is coming together nicely and should make the app much more dependable.
DeepRead v2 is now finished. I’ve had a little bit of time to test it all out again, make sure there are no bugs and that all the features work well together. All in all, it has developed greatly from its initial stage and I feel quite proud about the result. There will definitely be minor improvements that can still be made but, for now, I consider it to be fully completed and ready for release.
Ships:
DeepRead — a tool that uploads a PDF and generates an AI summary and flashcards so you don’t have to read the whole thing. Gemini kept hitting quota limits so I had to rebuild the backend to support multiple AI providers. Then AI models returning broken JSON, flashcards showing old PDF data, CORS issues, frontend not updating — basically spent most of my time debugging. The multi-AI fallback system. Groq fails → tries OpenRouter → tries Gemini. Happens automatically, user doesn’t even notice. Also just the fact that I actually finished it. You need all three API keys (Groq, OpenRouter, Gemini) in a .env file. Text-based PDFs work best, not scanned ones. Larger files take longer. Start the FastAPI backend first, then open index.html directly in your browser.
DeepRead — upload a PDF and get a summary, flashcards, a quiz, a mind map, and a chat where you can ask questions about it. Stopping the AI from making up facts that weren’t in the PDF, and dealing with free AI services running out of quota (so I made it try 4 different AI providers one by one until one works). That it actually works with real PDFs end to end, not just a demo — plus the flip flashcards and the fallback system feel solid. Upload any PDF, try all 3 summary modes, flip through flashcards, take the quiz, check the mind map, and ask the chat something not in the PDF to see it say “not covered” instead of guessing....
|
1792993915.8355224
|
1793080315.8355224
|
|
47888
|
Phone Usage by @explodeywolf | Stardance
|
explodeywolf
|
2
|
96.0
|
200
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-17T02:55:14Z", "hours": 45.0, "multiplier": 8.38, "payout": 0, "blessing": "neutral", "text": "I have updated my app! I saw a lot of people wanted analytics - so I have added analytics! If you hover over the pie chart you can see the labels and exact durations. I made everything a lot more memory efficient by rewriting the service that writes the usage data to the disk in kotlin. I added a final display type! It’s a clock(see the hands? That’s how you can tell) I modeled the clock off of the clock in the google clock app. But, I made it in inkscape, then used Flutter’s custom painters to write down everything else! You can even zoom in! If you have an android phone, please try it out! Thank you!", "repo": "https://gitlab.com/peanutplays61/phone-usage", "demo": "https://gitlab.com/peanutplays61/phone-usage/-/releases"}, {"ship_num": 2, "ts": "2026-08-28T21:38:58Z", "hours": 51.0, "multiplier": 6.68, "payout": 200, "blessing": "neutral", "text": "Phone Usage is an android app that displays when you turned on and off your phone, every day. This can be really useful, not just if you want to track your phone usage, and when it happens. You can also use this information to pinpoint what time, for example, you turned off your phone and went to bed. Unfortunately this app is only available as an apk for now, but I am waiting on f-droid to post it on their store! I also made the app pretty customizable, so you can change the color and layout of the app.", "repo": "https://gitlab.com/peanutplays61/phone-usage", "demo": "https://gitlab.com/peanutplays61/phone-usage/-/releases"}]...
|
[{"post_id": 80280, "ts": "202 [{"post_id": 80280, "ts": "2026-10-17T02:51:56Z", "hours": 6.9019, "text": "I’m finally done! I can finally free myself from this app! I made the clock support a fullscreen mode, where viewing landscape is MUCH better. Look at that zoom! Also, I felt like using the red colorscheme for this picture."}, {"post_id": 78782, "ts": "2026-10-11T16:18:04Z", "hours": 9.9444, "text": "Oh boy! I’m trying to add a new display type: A clock! This was my original dream for this project, so I have to make it work! Luckily, flutter comes with a widget that handles zooming, but I had to implement the text, the drawing, the usage info display, the fake hands, and the occlusion culling by myself. I’m almost done! I just need to make it work in the selection page."}, {"post_id": 72829, "ts": "2026-09-23T20:33:45Z", "hours": 3.0381, "text": "I added some quips about your screen time! There’s also a little bit deeper analysis, but you can’t get too much information from just when you turn on and off your phone."}, {"post_id": 71341, "ts": "2026-09-20T17:41:29Z", "hours": 7.4064, "text": "I made a pie chart for usage time! Why did it take me 7 hours? Good question! Unfortunately I couldn’t find a pie chart library on flutter that offered tooltips, so unfortunately I had to make it myself. I use FlCharts for the pie charts, but I do all the stuff for touch highlighting and tooltips. Again. I’ve gotta learn to accept what I have. (the section I’m touching is the one in purple)"}, {"post_id": 69378, "ts": "2026-09-16T22:44:41Z", "hours": 3.9875, "text": "I spent a ton of time making animations for this, but unfortunately I can’t show an animation! But I also finished the dropdown for the analytics :) Now I just need the analytics!"}, {"post_id": 63917, "ts": "2026-09-07T23:17:47Z", "hours": 9.535, "text": "I’m trying to make some analytics! Unfortunately though, I want there to be editable date ranges and that needs a dialog, which means it closes the drop-down. So, I’m making my own. This is the most complex thing I’ve ever done. 5 hours later, this is what I have!"}, {"post_id": 61638, "ts": "2026-09-04T17:05:59Z", "hours": 4.13, "text": "I fixed a bug where the display type wouldn’t save properly! Technically it was an off-by-one error :( I decoded the saved state based off of the index in the array instead of the id, which is what I saved. This is what it was supposed to look like!"}, {"post_id": 56886, "ts": "2026-08-28T21:31:44Z", "hours": 10.1475, "text": "Didn’t go too far over this time! I think I’m done making this app. If anything, I’ll make it a little more performant later, but it’s ready to ship :) I used appmockup to make some pictures for it."}, {"post_id": 52639, "ts": "2026-08-22T21:31:19Z", "hours": 15.3125, "text": "Accidentally went over the 10h limit again! oops! Phone Usage now has settings! You can change the display type of data, as well as the color of the application! Material colors are also supported!!!"}, {"post_id": 47091, "ts": "2026-08-14T18:44:02Z", "hours": 25.1039, "text": "I got my first MVP(minimum viable product)! I’m also trying to get my app uploaded to fdroid, an android open source app store."}]...
|
Title: Phone Usage by @explodeywolf | Stardance
D Title: Phone Usage by @explodeywolf | Stardance
Devlogs:
I got my first MVP(minimum viable product)! I’m also trying to get my app uploaded to fdroid, an android open source app store.
Accidentally went over the 10h limit again! oops! Phone Usage now has settings! You can change the display type of data, as well as the color of the application! Material colors are also supported!!!
Didn’t go too far over this time! I think I’m done making this app. If anything, I’ll make it a little more performant later, but it’s ready to ship :) I used appmockup to make some pictures for it.
I fixed a bug where the display type wouldn’t save properly! Technically it was an off-by-one error :( I decoded the saved state based off of the index in the array instead of the id, which is what I saved. This is what it was supposed to look like!
I’m trying to make some analytics! Unfortunately though, I want there to be editable date ranges and that needs a dialog, which means it closes the drop-down. So, I’m making my own. This is the most complex thing I’ve ever done. 5 hours later, this is what I have!
I spent a ton of time making animations for this, but unfortunately I can’t show an animation! But I also finished the dropdown for the analytics :) Now I just need the analytics!
I made a pie chart for usage time! Why did it take me 7 hours? Good question! Unfortunately I couldn’t find a pie chart library on flutter that offered tooltips, so unfortunately I had to make it myself. I use FlCharts for the pie charts, but I do all the stuff for touch highlighting and tooltips. Again. I’ve gotta learn to accept what I have. (the section I’m touching is the one in purple)
I added some quips about your screen time! There’s also a little bit deeper analysis, but you can’t get too much information from just when you turn on and off your phone.
Oh boy! I’m trying to add a new display type: A clock! This was my original dream for this project, so I have to make it work! Luckily, flutter comes with a widget that handles zooming, but I had to implement the text, the drawing, the usage info display, the fake hands, and the occlusion culling by myself. I’m almost done! I just need to make it work in the selection page.
I’m finally done! I can finally free myself from this app! I made the clock support a fullscreen mode, where viewing landscape is MUCH better. Look at that zoom! Also, I felt like using the red colorscheme for this picture.
Ships:
Phone Usage is an android app that displays when you turned on and off your phone, every day. This can be really useful, not just if you want to track your phone usage, and when it happens. You can also use this information to pinpoint what time, for example, you turned off your phone and went to bed. Unfortunately this app is only available as an apk for now, but I am waiting on f-droid to post it on their store! I also made the app pretty customizable, so you can change the color and layout of the app.
I have updated my app! I saw a lot of people wanted analytics - so I have added analytics! If you hover over the pie chart you can see the labels and exact durations. I made everything a lot more memory efficient by rewriting the service that writes the usage data to the disk in kotlin. I added a final display type! It’s a clock(see the hands? That’s how you can tell) I modeled the clock off of the clock in the google clock app. But, I made it in inkscape, then used Flutter’s custom painters to write down everything else! You can even zoom in! If you have an android phone, please try it out! Thank you!...
|
1792975889.444278
|
1793062289.444278
|
|
52561
|
MODule: compact swerve module by @saharshn | Stard MODule: compact swerve module by @saharshn | Stardance...
|
saharshn
|
1
|
0.0
|
200
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T21:10:00Z", "hours": 0.0, "multiplier": 5.0, "payout": 200, "blessing": "neutral", "text": "This an Omni-Directional “Swerve” Pod Module that I had made as a personal project, and can be used for compact robotics applications, such as automation, FTC, and more. The main feature of this is that it is highly compact despite the functionality this offers, being very narrow and offering 4 connection points on each side. Alongside that, like the name suggests, it is modular. For example, it is very easy to install an encoder, swap belts, etc and can be done with very few screws needed.", "repo": "https://github.com/icewtr/MODule", "demo": ""}]...
|
[{"post_id": 55837, "ts": "202 [{"post_id": 55837, "ts": "2024-07-11T00:00:00Z", "hours": 8.0, "text": "OMG OMG OMG I ACTUALLY DID IT SDKFJDSKFDSKJF Yeah im genuinely so surprised i actually did this lol im stunned Basically what happened: printing legion came in today!!!! i forgot to print a part so i did a last minute sprint on a friends printer had to sand down most of the gears due to meshing issues cuz of tolerances (fried) i no-lifed the rest of the build, so many new parts came in so it took like 3 whole hours but atleast its finished now 👍 fixed setpoints for code made last minute belt tensioner cuz 3dp belt stretch actually tested it!!! AND OMG IT WORKED FIRST TRY dry-lubed it (even tho most plastics are somewhat self-lubricating) recorded a video in only like 6 takes DID A PHOTOSHOOT I am genuinely surprised i stayed sane after this. I remember starting at like 11 AM and then realized I finished at 7 PM, like I dont even know how I stayed through this long. It was a wild ride, but definitely a fun one. TOTAL TIME: 8 HOURS"}, {"post_id": 55836, "ts": "2024-07-10T00:00:00Z", "hours": 5.0, "text": "Today was a bit more chill build-wise, but now I had to deal with electrical work and how I can power and control this. Basically, the main concern was that how I can power the brushed DC motor as I dont have a FTC control hub on me 😔 Sooooo i came up with a few solutions and tested it: battery pack: this was what i spent the most time working on. Basically just stacking a bunch of double A batteries to have a strong enough power supply to move the motor. Its a 12V motor but 6v should work, so i just stacked 4 double A’s and prayed it worked (AAAAAAAA battery hehe) but it did not work 💀 -after 2 hours or so of actually experimenting with power solutions I landed on using 120V AC to 9V DC power brick and connecting that to the motor via jumper wires, and that actually worked really well. 9V meant that it wasnt as powerful as it could have been with 12V, but it was good enough as a proof of concept (i was wayyyy too lazy to keep trying that 😭) For the servo, this was sooo much easier and was a lot less complex. I had a raspberry pi pico on me and i was able to throw a few lines together to make a quick script that oscillates between two setpoints. The servo is supposed to be powered by a 4.8-7.2 v power supply which is more than the pico’s 3.3v, so I just used the passthru 5v from the USB. this was sooooo much easier than the motor it was actually insane 😭 And for build: I got my WCP Bearing in!!! Yay!!!!! I actually got a good bit of my project done lol it was crazy i was locked in Structure-wise stuff is actually done now, just waiting on printing legion and then illl be ready for the greatest build sprint oat TOTAL TIME SPENT: 5 HOURS"}, {"post_id": 55835, "ts": "2024-07-09T00:00:00Z", "hours": 4.0, "text": "Ok todays atleast better since I dont have to tap, but now have to actually make this. For what its worth, tapping actually made the process soo much easier like I genuinely flew through build it was sooo nice and smooth But still, I somehow ran into an issue. Most of my parts were printed with printing legion, and that only comes in on friday, meaning Im only going to be able to assemble half of it. Its not horrible, but makes friday so much harder on me 😭esp with recording the video and everything But other than that, its starting to come out pretty nicely!!! TOTAL TIME SPENT: 4 hours"}, {"post_id": 55834, "ts": "2024-07-08T00:00:00Z", "hours": 7.5, "text": "So basically i got a motor from my friend to use for this cuz i originally didnt have the money for it, but the problem is that the gearbox on it was HALF SIEZED 😭genuinely took me like 30 mins of prying just to set it free 💀atleast the rest of the disassembly was chill tho took like 1 hour max After that I had to do something I kinda dreaded: Tapping… So basically whats happening is that since this was meant to be made out of aluminum, it needed holes to be tapped, but since I wasnt able to use my CNC, I had to print this out of PETG-CF. Aaand as a result, i now have to tap plastic 💀 The two main things im worried about is: A. ive never tapped plastic before and am worried the layers might delaminate and separate B. i have ZERO tapping tools other than just a tapping bit meaning im gonna have to do it by hand entirely 😭 Since im tapping using my hands, this took SO LONG it was actually insane it took me SIX AND A HALF HOURS its wraps for me TOTAL TIME SPENT: 7.5 hours"}, {"post_id": 55833, "ts": "2024-07-06T00:00:00Z", "hours": 3.5, "text": "So today I got my grant, meaning now i actually have to build this!!! Only problem is… i forgot to include shipping and taxes lmaooo 170 dollard with of parts now cost 200 bucks lol AANNDDD i forgot that i actually needed the parts quick cuz im actually trying to submit this for super hardware builder lol What I did: went back into cad and saw where i could remove the need for distinct screws since mcmaster screws have MOQs of like 50/100 etc I had to remove a bunch of socket head screws cuz somehow they costed more than button heads? Lol Removed 12mm M4 socket head screws cuz 14mm countersunks could do and alr am buying those Removed 5mm socket heads and 8mm countersunk cuz 8mm button(which im alr buying) could still work Dropped 20mm m4 socket heads cuz im alr buying 25mm and that could work On the topic od Mcmaster, I drovethere and did a will call so that iu didnt have to pay shipping so boom money saved gobilda shipping costs like 70 bucks otherwise it takes a week 😔 got an equivalent pulley and bore reducer off of mcmaster i have to 3d print all my shafts 💀might be wraps all my beams have to be 3d printed and HAND TAPPED yo i might be cooked But luckily other than that its going good :D wcp bearing doesnt cost too much but with corgi express shipping it was only 20 bucks and its 2-day!!! Also my 3d printer wasnt working so I had to outsource to printing legion but its allg should come by friday At the end of the day, i was able to order everything so im happy about that! Cant wait to start build! TIME SPENT: 3 Hours 30 Minutes"}, {"post_id": 55832, "ts": "2024-07-04T00:00:00Z", "hours": 0.25, "text": "genuinely a beautiful swerve module truly a piece of art cant wait to build it! time spent: ~15 mins"}, {"post_id": 55831, "ts": "2024-07-03T00:00:00Z", "hours": 1.0, "text": "so a smooth wheel isnt gonna work i had to actually make tread i tried doing a few different things, ranging from a bunch of triangles and an extrude to contemplating giving up and using neoprene i ended uo just taking the pulley profile of a gt2 2mm pulley and extruding it so yea lol (and yeah now the plates are both light and beautiful) time spent: ~1 hour"}, {"post_id": 55830, "ts": "2024-07-01T00:00:00Z", "hours": 0.75, "text": "omg these new forks look so good😍 genuinely idk what i did, but it cooked lol gonna be a bit of a pain to manufacture but ehh its fiiineee trust other than that, boom even smaller, genuinely looks like a sandwich atp its actually beautiful time spent: ~45 mins"}, {"post_id": 55829, "ts": "2024-06-30T00:00:00Z", "hours": 0.5, "text": "yo no way i forgot we needed an encoder 😭 so im gonna have to change up a few things: make the coaxial pulley and gear somewhat deadaxle so there is an encoder shaft ik most teams drop the encoder, but if we want to have the most accurate angle sensing, this is a MUST. we NEED this to have a better swerve module. theres a reason every frc swerve module has this. other than that tho, its coming together nicely (hes herringbone like i said previously because force spead across multiple teeth) time spent: ~30 mins"}, {"post_id": 55828, "ts": "2024-06-29T00:00:00Z", "hours": 1.0, "text": "he is so small 😆 he only need one popcorn 🍿 jokes aside its finally small, time to make it functional. this means make it sompetitive and better than other modules available in FTC. we got the size down, time to make it good and small, not just small. time spent: ~1 hour"}, {"post_id": 55827, "ts": "2024-06-26T00:00:00Z", "hours": 0.5, "text": "[tape scratch] yeah thats me. your probably wondering how i got here but apart from that, i had an idea. currenty my servo is mounted perfectly horizontal. but why tho? if i mpount it diagonally, ill get tons more space and ill be able to make this even smaller brains thinging now watch out time spent: ~30 mins"}, {"post_id": 55826, "ts": "2024-06-25T00:00:00Z", "hours": 1.0, "text": "i loove back when i didnt know anything about cad and used to vibe guess all my ratios… well now i have to. so my ideal is the speed of a 435 rpm motor, which is like the commonplace ftc drive motor for mecanums. and my old ratio was like 377 rpm. wayyyyyyyyyyy too slow. bro im boutta have snail speeds on this robot 😭 i did calculate something, but might need a custom pulley so we’ll have to see cuz i didnt really wanna go to custom pully gang and wanted to stay with cots gobilda pulleys. My calculated ratios: approximately 855-860 rpm, with a free speed slightly higher than that of the 435 RPM drivetrain motor, a popular FTC choice. although this has a higher surface speed and as a result lower theoretical torque, since the mecanum drivetrains use passive rollers, the grip of these 3D printed swerve tread would more than overpower standerd mecanums. time spent: ~1 hour"}, {"post_id": 55825, "ts": "2024-06-17T00:00:00Z", "hours": 1.0, "text": "so yeah now i need to make a wheel for my swerve module and yeah i dont know hoe to make one 😔 i mean I do, cuz like frc swerve, but this is FTC where everything is so small!¡¡ yeah this is small the wheel is 2 inches tall and 1/2” wide lol time spent: ~1 hour"}, {"post_id": 55824, "ts": "2024-06-13T00:00:00Z", "hours": 2.0, "text": "finally with something that looks like a swerve module somewhat, i went in, boom. locked in, zero regrets. WE are winning state championships with this. but yeah, length and width wise its finally somewhat small and usable, so now its time tp make it short cuz its still too tall. the goal is 64mm * 140mm * 110mm so lets get it done. time spent: ~2 hours"}, {"post_id": 55823, "ts": "2024-05-11T00:00:00Z", "hours": 0.5, "text": "since axon bevels (THE swerve bevel that everyone uses) is out of stock permenantly, i have to 3dp or use the massive gobilda bevels. yea. the gobilda bevels are too big. screw it. im making it myself. so since im 3d printing it, i think making it helical might be the play here, cuz the force is distributed across multiple teeth rather than just one tooth, making the gears stronger and more resistant to teeth snapping. and yeah, more exams. time to dip for a bit and come back to lock in. time spent: ~30 mins"}, {"post_id": 55822, "ts": "2024-05-04T00:00:00Z", "hours": 0.5, "text": "yo no way i just now found out the motor sleeves come off 🤯 this is gonna help so much! with that the motors diameter gonna be smaller by a tad bit meaning i COULD fit it in a smaller foorprint than 70*140??? the break definitely helped tho i came to my senses that a belt IS the play, talking to seattle solvers helped me greatly. time spent: ~30 mins"}, {"post_id": 55820, "ts": "2024-03-17T00:00:00Z", "hours": 1.5, "text": "WHAT AM I DOING NO WAY I DONT KNOW HOW TO MAKE THIS 😔 WHY IS IT SO COMPLEX WHY makes me wonder, why gears? i checked one of the best swerve teams ik’s mosules and theyre using 2mm gt2 belts so might be interesting? im so used to frc it might be getting to me lol 5000000 million gear sizes, and some of the strongest bldc motors ive seen, which kinda explains why no gt2 belts, so yeah belts… time spent: ~1.5 hours"}, {"post_id": 55819, "ts": "2024-03-16T00:00:00Z", "hours": 0.5, "text": "after losing badly in states (48th out of 48 teams) i knew we had to do something. our old mecanum drivetrain took up so much space we ended up not having enough space for a functional robot 😭 so i was thinking “hm lets make swerve, we can reference other good designs and just make them smaller than a mecanum drivetrain.” and so it started, me drawing out a bad sketch to present to others my concept, the black box being an approximate sizing of one mecanum wheel’s size and what i think we can do. time spent: ~30 mins"}, {"post_id": 55821, "ts": "2024-03-12T00:00:00Z", "hours": 1.0, "text": "idk why, i feel like gears is the move but like its so complicated also big issue its bigger than the mecanum drivetrain so there really isnt a definitive answer. well, we gotta do something. i cant be this fixated on a swerve module with FRC season going on and exams afterward. ill take a break and see if that helps. time spent: ~1 hour"}]...
|
Title: MODule: compact swerve module by @saharshn Title: MODule: compact swerve module by @saharshn | Stardance
Devlogs:
idk why, i feel like gears is the move but like its so complicated also big issue its bigger than the mecanum drivetrain so there really isnt a definitive answer. well, we gotta do something. i cant be this fixated on a swerve module with FRC season going on and exams afterward. ill take a break and see if that helps. time spent: ~1 hour
after losing badly in states (48th out of 48 teams) i knew we had to do something. our old mecanum drivetrain took up so much space we ended up not having enough space for a functional robot 😭 so i was thinking “hm lets make swerve, we can reference other good designs and just make them smaller than a mecanum drivetrain.” and so it started, me drawing out a bad sketch to present to others my concept, the black box being an approximate sizing of one mecanum wheel’s size and what i think we can do. time spent: ~30 mins
WHAT AM I DOING NO WAY I DONT KNOW HOW TO MAKE THIS 😔 WHY IS IT SO COMPLEX WHY makes me wonder, why gears? i checked one of the best swerve teams ik’s mosules and theyre using 2mm gt2 belts so might be interesting? im so used to frc it might be getting to me lol 5000000 million gear sizes, and some of the strongest bldc motors ive seen, which kinda explains why no gt2 belts, so yeah belts… time spent: ~1.5 hours
yo no way i just now found out the motor sleeves come off 🤯 this is gonna help so much! with that the motors diameter gonna be smaller by a tad bit meaning i COULD fit it in a smaller foorprint than 70*140??? the break definitely helped tho i came to my senses that a belt IS the play, talking to seattle solvers helped me greatly. time spent: ~30 mins
since axon bevels (THE swerve bevel that everyone uses) is out of stock permenantly, i have to 3dp or use the massive gobilda bevels. yea. the gobilda bevels are too big. screw it. im making it myself. so since im 3d printing it, i think making it helical might be the play here, cuz the force is distributed across multiple teeth rather than just one tooth, making the gears stronger and more resistant to teeth snapping. and yeah, more exams. time to dip for a bit and come back to lock in. time spent: ~30 mins
finally with something that looks like a swerve module somewhat, i went in, boom. locked in, zero regrets. WE are winning state championships with this. but yeah, length and width wise its finally somewhat small and usable, so now its time tp make it short cuz its still too tall. the goal is 64mm * 140mm * 110mm so lets get it done. time spent: ~2 hours
so yeah now i need to make a wheel for my swerve module and yeah i dont know hoe to make one 😔 i mean I do, cuz like frc swerve, but this is FTC where everything is so small!¡¡ yeah this is small the wheel is 2 inches tall and 1/2” wide lol time spent: ~1 hour
i loove back when i didnt know anything about cad and used to vibe guess all my ratios… well now i have to. so my ideal is the speed of a 435 rpm motor, which is like the commonplace ftc drive motor for mecanums. and my old ratio was like 377 rpm. wayyyyyyyyyyy too slow. bro im boutta have snail speeds on this robot 😭 i did calculate something, but might need a custom pulley so we’ll have to see cuz i didnt really wanna go to custom pully gang and wanted to stay with cots gobilda pulleys. My calculated ratios: approximately 855-860 rpm, with a free speed slightly higher than that of the 435 RPM drivetrain motor, a popular FTC choice. although this has a higher surface speed and as a result lower theoretical torque, since the mecanum drivetrains use passive rollers, the grip of these 3D printed swerve tread would more than overpower standerd mecanums. time spent: ~1 hour
[tape scratch] yeah thats me. your probably wondering how i got here but apart from that, i had an idea. currenty my servo is mounted perfectly horizontal. but why tho? if i mpount it diagonally, ill get tons more space and ill be able to make this even smaller brains thinging now watch out time spent: ~30 mins
he is so small 😆 he only need one popcorn 🍿 jokes aside its finally small, time to make it functional. this means make it sompetitive and better than other modules available in FTC. we got the size down, time to make it good and small, not just small. time spent: ~1 hour
yo no way i forgot we needed an encoder 😭 so im gonna have to change up a few things: make the coaxial pulley and gear somewhat deadaxle so there is an encoder shaft ik most teams drop the encoder, but if we want to have the most accurate angle sensing, this is a MUST. we NEED this to have a better swerve module. theres a reason every frc swerve module has this. other than that tho, its coming together nicely (hes herringbone like i said previously because force spead across multiple teeth) time spent: ~30 mins
omg these new forks look so good😍 genuinely idk what i did, but it cooked lol gonna be a bit of a pain to manufacture but ehh its fiiineee trust other than that, boom even smaller, genuinely looks like a sandwich atp its actually beautiful time spent: ~45 mins
so a smooth wheel isnt gonna work i had to actually make tread i tried doing a few different things, ranging from a bunch of triangles and an extrude to contemplating giving up and using neoprene i ended uo just taking the pulley profile of a gt2 2mm pulley and extruding it so yea lol (and yeah now the plates are both light and beautiful) time spent: ~1 hour
genuinely a beautiful swerve module truly a piece of art cant wait to build it! time spent: ~15 mins
So today I got my grant, meaning now i actually have to build this!!! Only problem is… i forgot to include shipping and taxes lmaooo 170 dollard with of parts now cost 200 bucks lol AANNDDD i forgot that i actually needed the parts quick cuz im actually trying to submit this for super hardware builder lol What I did: went back into cad and saw where i could remove the need for distinct screws since mcmaster screws have MOQs of like 50/100 etc I had to remove a bunch of socket head screws cuz somehow they costed more than button heads? Lol Removed 12mm M4 socket head screws cuz 14mm countersunks could do and alr am buying those Removed 5mm socket heads and 8mm countersunk cuz 8mm button(which im alr buying) could still work Dropped 20mm m4 socket heads cuz im alr buying 25mm and that could work On the topic od Mcmaster, I drovethere and did a will call so that iu didnt have to pay shipping so boom money saved gobilda shipping costs like 70 bucks otherwise it takes a week 😔 got an equivalent pulley and bore reducer off of mcmaster i have to 3d print all my shafts 💀might be wraps all my beams have to be 3d printed and HAND TAPPED yo i might be cooked But luckily other than that its going good :D wcp bearing doesnt cost too much but with corgi express shipping it was only 20 bucks and its 2-day!!! Also my 3d printer wasnt working so I had to outsource to printing legion but its allg should come by friday At the end of the day, i was able to order everything so im happy about that! Cant wait to start build! TIME SPENT: 3 Hours 30 Minutes
So basically i got a motor from my friend to use for this cuz i originally didnt have the money for it, but the problem is that the gearbox on it was HALF SIEZED 😭genuinely took me like 30 mins of prying just to set it free 💀atleast the rest of the disassembly was chill tho took like 1 hour max After that I had to do something I kinda dreaded: Tapping… So basically whats happening is that since this was meant to be made out of aluminum, it needed holes to be tapped, but since I wasnt able to use my CNC, I had to print this out of PETG-CF. Aaand as a result, i now have to tap plastic 💀 The two main things im worried about is: A. ive never tapped plastic before and am worried the layers might delaminate and separate B. i have ZERO tapping tools other than just a tapping bit meaning im gonna have to do it by hand entirely 😭 Since im tapping using my hands, this took SO LONG it was actually insane it took me SIX AND A HALF HOURS its wraps for me TOTAL TIME SPENT: 7.5 hours
Ok todays atleast better since I dont have to tap, but now have to actually make this. For what its worth, tapping actually made the process soo much easier like I genuinely flew through build it was sooo nice and smooth But still, I somehow ran into an issue. Most of my parts were printed with printing legion, and that only comes in on friday, meaning Im only going to be able to assemble half of it. Its not horrible, but makes friday so much harder on me 😭esp with recording the video and everything But other than that, its starting to come out pretty nicely!!! TOTAL TIME SPENT: 4 hours
Today was a bit more chill build-wise, but now I had to deal with electrical work and how I can power and control this. Basically, the main concern was that how I can power the brushed DC motor as I dont have a FTC control hub on me 😔 Sooooo i came up with a few solutions and tested it: battery pack: this was what i spent the most time working on. Basically just stacking a bunch of double A batteries to have a strong enough power supply to move the motor. Its a 12V motor but 6v should work, so i just stacked 4 double A’s and prayed it worked (AAAAAAAA battery hehe) but it did not work 💀 -after 2 hours or so of actually experimenting with power solutions I landed on using 120V AC to 9V DC power brick and connecting that to the motor via jumper wires, and that actually worked really well. 9V meant that it wasnt as powerful as it could have been with 12V, but it was good enough as a proof of concept (i was wayyyy too lazy to keep trying that 😭) For the servo, this was sooo much easier and was a lot less complex. I had a raspberry pi pico on me and i was able to throw a few lines together to make a quick script that oscillates between two setpoints. The servo is supposed to be powered by a 4.8-7.2 v power supply which is more than the pico’s 3.3v, so I just used the passthru 5v from the USB. this was sooooo much easier than the motor it was actually insane 😭 And for build: I got my WCP Bearing in!!! Yay!!!!! I actually got a good bit of my project done lol it was crazy i was locked in Structure-wise stuff is actually done now, just waiting on printing legion and then illl be ready for the greatest build sprint oat TOTAL TIME SPENT: 5 HOURS
OMG OMG OMG I ACTUALLY DID IT SDKFJDSKFDSKJF Yeah im genuinely so surprised i actually did this lol im stunned Basically what happened: printing legion came in today!!!! i forgot to print a part so i did a last minute sprint on a friends printer had to sand down most of the gears due to meshing issues cuz of tolerances (fried) i no-lifed the rest of the build, so many new parts came in so it took like 3 whole hours but atleast its finished now 👍 fixed setpoints for code made last minute belt tensioner cuz 3dp belt stretch actually tested it!!! AND OMG IT WORKED FIRST TRY dry-lubed it (even tho most plastics are somewhat self-lubricating) recorded a video in only like 6 takes DID A PHOTOSHOOT I am genuinely surprised i stayed sane after this. I remember starting at like 11 AM and then realized I finished at 7 PM, like I dont even know how I stayed through this long. It was a wild ride, but definitely a fun one. TOTAL TIME: 8 HOURS
Ships:
This an Omni-Directional “Swerve” Pod Module that I had made as a personal project, and can be used for compact robotics applications, such as automation, FTC, and more. The main feature of this is that it is highly compact despite the functionality this offers, being very narrow and offering 4 connection points on each side. Alongside that, like the name suggests, it is modular. For example, it is very easy to install an encoder, swap belts, etc and can be done with very few screws needed....
|
1792986680.0163984
|
1793073080.0163984
|
|
28566
|
Clark Lab - self hosted PaaS by @clarkpy | Stardan Clark Lab - self hosted PaaS by @clarkpy | Stardance...
|
clarkpy
|
2
|
33.0
|
199
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-07T22:20:00Z", "hours": 9.0, "multiplier": 13.95, "payout": 131, "blessing": "neutral", "text": "This ship was focused on making ClarkLab more stable, easier to set up, and easier to fix when something breaks. I improved the update flow by adding health-check based handling, so it can test a new version before switching over instead of jsut grabbing raw code. I also improved agent updates with release binaries, prebuilt binaries, version handling, and update patches. Setup was another big focus. I added an API and Cloudflare setup wizard to help with env setup, prod config, tunnels, frontend vars, and install scripts. It is still early, but it is a step toward making it much easier to self-host clarklab. I also improved node setup and reconnect behaviour. Online nodes can now be reconnected, unfinished node setups can be cancelled, and I fixed smaller issues around install commands, port notices, API banners, and frontend reconnect logic. Health checks were added for services, with frontend status shown in the service detail page. Agent logs now use the journal too, making debugging easier if something breaks. There were also security and general chore fixes, including agent auth patches, sysadmin-only node modification, stronger password reset handling, safer frontend logs, GitHub parsing fixes, and better CI/workflow checks. Overall, this ship was not about new features (even tho i added some small ones). It was about making my project easier to update and easier to deploy.", "repo": "https://github.com/clarkpy/clarklab-global", "demo": "https://youtu.be/lLkWigWAXwQ"}, {"ship_num": 2, "ts": "2026-06-30T15:04:27Z", "hours": 24.0, "multiplier": 6.79, "payout": 68, "blessing": "neutral", "text": "I made the basis of Clark Lab, my in-house version of Coolify as an alternative to Vercel & Heroku, making it easy to deploy your own databases and apps from home. For security reasons the public demo is a youtube video showing off all of the projects features, you can very quickly and easily deploy the project for development via the read me in as little as two commands.", "repo": "https://github.com/clarkpy/clarklab-global", "demo": "https://youtu.be/lLkWigWAXwQ"}]...
|
[{"post_id": 24383, "ts": "202 [{"post_id": 24383, "ts": "2026-07-07T22:06:36Z", "hours": 6.0267, "text": "I’ve been focused on making ClarkLab easier to set up, safer to update, and less annoying to fix when something breaks. The biggest part of this was improving the update flow. After adding health checks, I worked on making updates more reliable by testing candidate containers before replacing the live API. This means ClarkLab can now check that the new version is actually healthy before switching over, instead of restarting and hoping it works. It should make updates more stble, especially when running it on your own server. I also spent time improving agent updates. Agents can now be updated using release binaries, and I added more work around prebuilt agent binaries, release patches, and version handling. This should make agent updates cleaner and less dependent on building everything manually on the target machine. Another big focus was setup. I added an api and Cloudflare setup wizard to make self-hosting easier. The goal is to guide people through the annoying parts like env setup, production configuration, Cloudflare tunnel setup, frontend variables, and install scripts. It is nowhere near perfect and used agentic assistance, but it is a big step toward making it easier to deploy without needing to manually configure every little option across multiple files. I also improved the node setup flow. There is now a cancel setup button, so if you start setting up a node and mess something up, you are not just stuck with a half-created node. I also patched several small bugs such as the node install command. For debugging, I updated agent logs to use the journal. This should make logs more useful and easier to understand when something goes wrong on a server. I thought this was important as i want this project to be usable for real infra. This feature is very much so in an early stage as i am nowhere near finished with it. There were also a bunch of security and maintenance fixes. I patched agent authentication, blocked node modification for users who are not sysadmins, strengthened password reset handling, reduced the chance of sensitive data being exposed through frontend logs, and tightened GitHub repo parsing. I also updated workflow permissions and CI checks so changes are safer. This devlog is again, not about new frontend features. It is mostly about making this project more stable, easier to deploy, and safer. The main thing I learned from the last ship is that setup still needs to be much easier, so I started moving toward a proper guided setup flow. I very much so want to keep improving that until someone can deploy ClarkLab without having to understand how it works completely first."}, {"post_id": 22790, "ts": "2026-07-05T11:30:41Z", "hours": 3.3653, "text": "I’ve been focused on making ClarkLab easier to use and more fixable if it breaks. One part of this was improving how the app behaves when connections are unstable. I worked on frontend reconnect behaviour and node reconnection so online nodes can be reconnected at any time instead of requiring it to be not responding first. I also fixed issues around agent/API update handling, as there were issues when using the update tool. I introduced health checks in this log as well. Services can now be configured for health monitoring, and the frontend displays health status in the service detail page so it’s easier to see what’s working and what needs attention without investigation. Chore wise, I updated CI checks so changes are safer and easier to maintain. On the UI side, I made a number of usability improvements when deploying it for youself: site URL editing on the frontend, cleanup toward a more minimal interface, masking node IPs behind a reveal action for privacy, and fixes for issues like the API banner behaviour, node install flow, and port allocation notices. Based on feedback from the last ship, It’s clear that I need to make it easier to setup. I’m planning on making a CLI-based setup flow with env setup etc there, but, that is not built yet. Overall, this devlog is less about new frontend features and more about making ClarkLab feel more stable and less buggy."}, {"post_id": 18883, "ts": "2026-06-30T02:31:03Z", "hours": 24.0975, "text": "In the last few weeks i have created an in-house and open-source version of coolify. I did this as i wanted a way to run coolify that i found easier and that i preferred UI wise. I am still making it so there is almost certainly issues relating to security but it is currently functional."}]...
|
Title: Clark Lab - self hosted PaaS by @clarkpy | Title: Clark Lab - self hosted PaaS by @clarkpy | Stardance
Devlogs:
In the last few weeks i have created an in-house and open-source version of coolify. I did this as i wanted a way to run coolify that i found easier and that i preferred UI wise. I am still making it so there is almost certainly issues relating to security but it is currently functional.
I’ve been focused on making ClarkLab easier to use and more fixable if it breaks. One part of this was improving how the app behaves when connections are unstable. I worked on frontend reconnect behaviour and node reconnection so online nodes can be reconnected at any time instead of requiring it to be not responding first. I also fixed issues around agent/API update handling, as there were issues when using the update tool. I introduced health checks in this log as well. Services can now be configured for health monitoring, and the frontend displays health status in the service detail page so it’s easier to see what’s working and what needs attention without investigation. Chore wise, I updated CI checks so changes are safer and easier to maintain. On the UI side, I made a number of usability improvements when deploying it for youself: site URL editing on the frontend, cleanup toward a more minimal interface, masking node IPs behind a reveal action for privacy, and fixes for issues like the API banner behaviour, node install flow, and port allocation notices. Based on feedback from the last ship, It’s clear that I need to make it easier to setup. I’m planning on making a CLI-based setup flow with env setup etc there, but, that is not built yet. Overall, this devlog is less about new frontend features and more about making ClarkLab feel more stable and less buggy.
I’ve been focused on making ClarkLab easier to set up, safer to update, and less annoying to fix when something breaks. The biggest part of this was improving the update flow. After adding health checks, I worked on making updates more reliable by testing candidate containers before replacing the live API. This means ClarkLab can now check that the new version is actually healthy before switching over, instead of restarting and hoping it works. It should make updates more stble, especially when running it on your own server. I also spent time improving agent updates. Agents can now be updated using release binaries, and I added more work around prebuilt agent binaries, release patches, and version handling. This should make agent updates cleaner and less dependent on building everything manually on the target machine. Another big focus was setup. I added an api and Cloudflare setup wizard to make self-hosting easier. The goal is to guide people through the annoying parts like env setup, production configuration, Cloudflare tunnel setup, frontend variables, and install scripts. It is nowhere near perfect and used agentic assistance, but it is a big step toward making it easier to deploy without needing to manually configure every little option across multiple files. I also improved the node setup flow. There is now a cancel setup button, so if you start setting up a node and mess something up, you are not just stuck with a half-created node. I also patched several small bugs such as the node install command. For debugging, I updated agent logs to use the journal. This should make logs more useful and easier to understand when something goes wrong on a server. I thought this was important as i want this project to be usable for real infra. This feature is very much so in an early stage as i am nowhere near finished with it. There were also a bunch of security and maintenance fixes. I patched agent authentication, blocked node modification for users who are not sysadmins, strengthened password reset handling, reduced the chance of sensitive data being exposed through frontend logs, and tightened GitHub repo parsing. I also updated workflow permissions and CI checks so changes are safer. This devlog is again, not about new frontend features. It is mostly about making this project more stable, easier to deploy, and safer. The main thing I learned from the last ship is that setup still needs to be much easier, so I started moving toward a proper guided setup flow. I very much so want to keep improving that until someone can deploy ClarkLab without having to understand how it works completely first.
Ships:
I made the basis of Clark Lab, my in-house version of Coolify as an alternative to Vercel & Heroku, making it easy to deploy your own databases and apps from home. For security reasons the public demo is a youtube video showing off all of the projects features, you can very quickly and easily deploy the project for development via the read me in as little as two commands.
This ship was focused on making ClarkLab more stable, easier to set up, and easier to fix when something breaks. I improved the update flow by adding health-check based handling, so it can test a new version before switching over instead of jsut grabbing raw code. I also improved agent updates with release binaries, prebuilt binaries, version handling, and update patches. Setup was another big focus. I added an API and Cloudflare setup wizard to help with env setup, prod config, tunnels, frontend vars, and install scripts. It is still early, but it is a step toward making it much easier to self-host clarklab. I also improved node setup and reconnect behaviour. Online nodes can now be reconnected, unfinished node setups can be cancelled, and I fixed smaller issues around install commands, port notices, API banners, and frontend reconnect logic. Health checks were added for services, with frontend status shown in the service detail page. Agent logs now use the journal too, making debugging easier if something breaks. There were also security and general chore fixes, including agent auth patches, sysadmin-only node modification, stronger password reset handling, safer frontend logs, GitHub parsing fixes, and better CI/workflow checks. Overall, this ship was not about new features (even tho i added some small ones). It was about making my project easier to update and easier to deploy....
|
1792993847.9006069
|
1793080247.9006069
|
|
39478
|
OOTD generator by @SelinaZ | Stardance
|
SelinaZ
|
1
|
21.5
|
199
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T07:08:44Z", "hours": 21.0, "multiplier": 9.4, "payout": 199, "blessing": "neutral", "text": "I made this outfit generator webpage to help me pick out an outfit based on the weather. I realized that I often forget many of the pieces I have in my closet and struggle to find an outfit that I like. So this OOTD generator greatly helped me with this issue. Features: Each time the user click on the “generate outfit” button, the webpage will pull out a top and a bottom based on the current weather. The user can continue to click on the button until they find the outfit that they like. I brought in the live weather feature using the WeatherAPI, and the user just need to set the location they are at. The user can upload photos of their clothing pieces through an admin page, which will then be stored to a Supabase database. However, as this is my personal project, you will not have access to the admin page. There’s also an inspiration section that displays inspo photos I grabbed from Pinterest and a notes section that allows user to take note of the clothing pieces that want. Technical aspect: Frontend React JavaScript HTML CSS Vite React Router Backend Node.js Express.js Axios Multer CORS dotenv", "repo": "https://github.com/SelinaZ07/OOTD-generator", "demo": "https://ootd-generator.vercel.app/"}]...
|
[{"post_id": 47989, "ts": "202 [{"post_id": 47989, "ts": "2026-08-16T08:25:59Z", "hours": 0.4975, "text": "I found some mistakes in my README file primarily because I change my db storage from SQLite to Supabase after I wrote it, and I also forgot to add the deployment link. So everything should be all lined up and good to go now. First ship of this project!"}, {"post_id": 46745, "ts": "2026-08-14T06:56:18Z", "hours": 3.3839, "text": "After two days of debugging and trying to deploy the project. The project is finally live on Vercel! I deployed the backend on Render and the front end on Vercel. I also changed my database storage from SQLite to Supabase database as Supabase is a cloud storage site that allow dynamic storage and I also don’t need to worry about uploading a ton of my personal clothing images to Github."}, {"post_id": 43824, "ts": "2026-08-09T08:02:19Z", "hours": 2.6458, "text": "I’m wrapping up the project! I wrote the README.md file, cleaned up the code, added comments for users to better understand the code, and tested to make sure everything is working. Then, I pushed everything to Github. I will be working on the deploying and hosting of the project now. I’m planning to host it on Vercel and Render, but will have to carefully think about the privacy aspect of the database."}, {"post_id": 42508, "ts": "2026-08-07T09:29:41Z", "hours": 2.5692, "text": "I added another notes section on the webpage helping users to keep track of the clothing items they need/want to buy. I also expanded my clothing db and cleaned up my code a bit. Now this project should be near complete! So happy that it is coming along, let me know if you have any suggestions."}, {"post_id": 41173, "ts": "2026-08-05T06:35:05Z", "hours": 2.9261, "text": "I improved the front-end design of the webpage. I added an inspiration corner section where I put some inspo outfit photos I got from Pinterest. I also improved the weather display. Let me know if you have any suggestions about what else to add to this webpage to make it more aesthetic."}, {"post_id": 39394, "ts": "2026-08-02T10:35:36Z", "hours": 2.9211, "text": "After lots of debugging, I finally connected my front-end and backend, as well as the weather API. Right now, I use an admin page to upload my clothing photos to the SQLite database. Along with the upload, I will also fill out the type (top/bottom) and the temperature range of that piece. When I click on the generate outfit button, it will randomly pick outa top and a bottom based on the temperature received from the weather API."}, {"post_id": 37491, "ts": "2026-07-30T08:43:25Z", "hours": 2.5517, "text": "I built a backend page that allows the admin (me) to upload my clothing images, which will be stored in a database. Later the AI will pick out the outfit and its corresponding images from this database. I chose to use SQLite to hold these images."}, {"post_id": 36290, "ts": "2026-07-28T09:30:10Z", "hours": 2.6861, "text": "I built the basic structure of the webpage, trying to make it look similar to my prototype. I implemented the WeatherAPI to make the weather block display the actual weather based on my location. Now, I’m working on implementing the photo uploads feature for this generator. I will use multer to handle image uploads and sqlite3 to store all the images I uploaded."}, {"post_id": 35526, "ts": "2026-07-27T00:41:24Z", "hours": 1.4842, "text": "I’m planning to code this outfit generator dashboard that can generate a top and bottom for me based on the weather of the day. I will import photos of my own clothings and train an AI using inspo Pinterest photos to help the AI learn my style. As for thee weather, I’m planning to use an API. This is a photo of a prototype I made using Figma and I’ve just installed all the packages I need."}]...
|
Title: OOTD generator by @SelinaZ | Stardance
Dev Title: OOTD generator by @SelinaZ | Stardance
Devlogs:
I’m planning to code this outfit generator dashboard that can generate a top and bottom for me based on the weather of the day. I will import photos of my own clothings and train an AI using inspo Pinterest photos to help the AI learn my style. As for thee weather, I’m planning to use an API. This is a photo of a prototype I made using Figma and I’ve just installed all the packages I need.
I built the basic structure of the webpage, trying to make it look similar to my prototype. I implemented the WeatherAPI to make the weather block display the actual weather based on my location. Now, I’m working on implementing the photo uploads feature for this generator. I will use multer to handle image uploads and sqlite3 to store all the images I uploaded.
I built a backend page that allows the admin (me) to upload my clothing images, which will be stored in a database. Later the AI will pick out the outfit and its corresponding images from this database. I chose to use SQLite to hold these images.
After lots of debugging, I finally connected my front-end and backend, as well as the weather API. Right now, I use an admin page to upload my clothing photos to the SQLite database. Along with the upload, I will also fill out the type (top/bottom) and the temperature range of that piece. When I click on the generate outfit button, it will randomly pick outa top and a bottom based on the temperature received from the weather API.
I improved the front-end design of the webpage. I added an inspiration corner section where I put some inspo outfit photos I got from Pinterest. I also improved the weather display. Let me know if you have any suggestions about what else to add to this webpage to make it more aesthetic.
I added another notes section on the webpage helping users to keep track of the clothing items they need/want to buy. I also expanded my clothing db and cleaned up my code a bit. Now this project should be near complete! So happy that it is coming along, let me know if you have any suggestions.
I’m wrapping up the project! I wrote the README.md file, cleaned up the code, added comments for users to better understand the code, and tested to make sure everything is working. Then, I pushed everything to Github. I will be working on the deploying and hosting of the project now. I’m planning to host it on Vercel and Render, but will have to carefully think about the privacy aspect of the database.
After two days of debugging and trying to deploy the project. The project is finally live on Vercel! I deployed the backend on Render and the front end on Vercel. I also changed my database storage from SQLite to Supabase database as Supabase is a cloud storage site that allow dynamic storage and I also don’t need to worry about uploading a ton of my personal clothing images to Github.
I found some mistakes in my README file primarily because I change my db storage from SQLite to Supabase after I wrote it, and I also forgot to add the deployment link. So everything should be all lined up and good to go now. First ship of this project!
Ships:
I made this outfit generator webpage to help me pick out an outfit based on the weather. I realized that I often forget many of the pieces I have in my closet and struggle to find an outfit that I like. So this OOTD generator greatly helped me with this issue. Features: Each time the user click on the “generate outfit” button, the webpage will pull out a top and a bottom based on the current weather. The user can continue to click on the button until they find the outfit that they like. I brought in the live weather feature using the WeatherAPI, and the user just need to set the location they are at. The user can upload photos of their clothing pieces through an admin page, which will then be stored to a Supabase database. However, as this is my personal project, you will not have access to the admin page. There’s also an inspiration section that displays inspo photos I grabbed from Pinterest and a notes section that allows user to take note of the clothing pieces that want. Technical aspect: Frontend React JavaScript HTML CSS Vite React Router Backend Node.js Express.js Axios Multer CORS dotenv...
|
1792990615.6961675
|
1793077015.6961675
|
|
7347
|
Mouton Laser Tag. by @Lol123rl | Stardance
|
Lol123rl
|
1
|
16.0
|
197
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T05:01:59Z", "hours": 16.0, "multiplier": 12.05, "payout": 197, "blessing": "neutral", "text": "I made a 3D mountain laser tag game where the player fights against Red team enemies with Blue team allies. The game has multiple modes, including Team Elimination, Capture the Flag, Manhunt, Commander, King of the Hill, and a Final Boss battle. Players can earn money, buy upgrades, unlock achievements, and improve their character over time. I also added a main menu, mission briefs, save progress, reset options, and an ending screen. Overall, I built a full action game with combat, objectives, progression, and a final challenge.", "repo": "https://github.com/Lol123rl/hi", "demo": "https://majestic-douhua-9e1892.netlify.app/"}]...
|
[{"post_id": 10268, "ts": "202 [{"post_id": 10268, "ts": "2026-06-16T22:17:23Z", "hours": 4.7183, "text": "Dev Log — Mountain Laser Tag Update Since my last dev log, I focused on making Mountain Laser Tag feel more like a complete game instead of just a battle demo. I worked on the final boss ending, the save system, achievements, money rewards, the main menu, and overall game polish. One of the biggest changes was the final boss completion flow. After beating the final boss, the game now shows an ending credits screen instead of just ending suddenly. I added a SAVE & FINISH button that saves the player’s completion reward, fades out the audio, and moves into a final black “game saved” ending screen. This works better for a web game because browsers do not always allow a game to close the tab automatically. The final boss reward now saves a completed-game state, including overpowered mode with near-infinite ammo, very fast firing, huge stamina, fast reload, and maxed upgrades. I also fixed the reset system. Before, if the player beat the final boss and then reset their progress, the reward power mode could still remain active. Now reset clears money, upgrades, achievements, lifetime stats, boss unlocks, and final boss reward mode. That makes the reset button actually behave like a full fresh start. Another major update was fixing how eliminations count. I noticed that CPU eliminations were counting as the player’s eliminations, which meant the player could unlock achievements without actually doing anything. I changed the logic so CPU kills only help the team score, while player kills are the only ones that count toward personal elimination stats, money, and player achievements. I also changed the money system so different game modes reward the player differently. Team Elimination still rewards the player for eliminations and headshots, but Manhunt now works differently. If the player is hunted, they can earn money for surviving and escaping over time. If the player is hunting, they can earn money for finding the target quickly. Other modes now have smaller mode-specific rewards, such as Capture the Flag defense rewards, Commander eliminations, and King of the Hill rewards. I added more achievements to make the game feel like it has long-term goals. These include achievements for 100 lifetime eliminations, 500 lifetime eliminations, 25 Team Elimination knockouts, earning money while escaping in Manhunt, winning a fast Manhunt as the hunter, winning Capture the Flag, and winning King of the Hill. This gives players more reasons to try multiple modes instead of only playing one mode. I also worked on the title screen and mission brief system. The main menu has a larger mountain-themed command box with buttons for Deploy, Upgrade Shop, Achievements, Reset Save, Mission Brief, Mode Select, and Quit. I experimented with different mission brief layouts and then adjusted the system so the mission brief can be shown from the main screen without feeling like a completely separate menu. The mission brief explains the current mode’s objective so the player understands what to do before deploying. For performance, I made several smoothing changes. I reduced active CPU load, slowed down some repeated cleanup and UI update tasks, reduced how often the minimap redraws, and throttled some boss UI updates. I also experimented with edge fog, but it caused too much lag, so I rolled that back to keep the game running smoother. This was a useful lesson: not every cool visual effect is worth keeping if it hurts the actual gameplay experience. Overall, this update made the game more complete. It now has better save behavior, clearer progression, fairer achievements, better mode rewards, a more polished ending, and a cleaner main menu. The game still needs more testing, especially in a browser build, but it is much closer to being ready to ship for Stardance."}, {"post_id": 5937, "ts": "2026-06-09T22:37:53Z", "hours": 0.9497, "text": "added more gamemodes and added a title screen. Just started molti player"}, {"post_id": 5660, "ts": "2026-06-09T15:15:24Z", "hours": 2.7072, "text": "HELLCOPTER"}, {"post_id": 4876, "ts": "2026-06-08T13:14:21Z", "hours": 7.1797, "text": "Over 8-hours,, I built a fully functional, large-scale 3D first-person sci-fi game from scratch in Godot. The project focuses on a massive 50-player laser tag concept, splitting the battlefield into two teams of 25 (the player’s team versus smart enemies). Because the map is quite big, matches currently run long. However, completing a working first-person shooter loop with working AI, atmosphere, and custom health mechanics in a single day is a major technical milestone. Features Implemented Translucent Fog SystemTo solve the visual emptiness of a large map and add atmosphere, I implemented a translucent white fog effect.Purpose: It blocks long-range vision, forcing players to navigate carefully.Impact: It turns the massive arena into a high-stakes environment where enemies suddenly appear out of the white mist. Laser Gun MechanicsI coded and integrated a functional laser gun weapon system. It handles first-person aiming and registers fast, accurate sci-fi shots across the battlefield, complete with laser visuals that slice through the fog. 50-Player Smart AI Infrastructure. The biggest achievement of this 8-hour time was setting up 50 entities on the field that spond over time. Teammates: 24 AI allies that fight alongside the player.Smart Enemies: 25 aggressive AI units programmed to hunt down opponents and eliminate the player’s team. Optimization: Balancing 50 moving, targeting characters in a 3D Godot environment while keeping the game playable required clean, fast logic loops. Combat Logic & Dual-Zone Health to make the laser tag gameplay tactical, I designed and coded a specific combat system that rewards headshots:Instant Elimination Headshots: If you or an enemy take a direct laser hit to the head, it results in an immediate elimination.2-Life Body Armor: To balance the difficulty, shooting the body is more forgiving. Players and AI have exactly 2 lives for their body armor before being removed from the match. Future Milestones & Next StepsWith the core gameplay loop completed in one day, my next goal is to add more traditional laser tag elements to fill out the large map and speed up match times.Bunkers: Placing sci-fi structures across the open terrain to provide tactical cover.Targets: Adding shootable targets around the map for extra objectives.Pacing Tweaks: Adjusting player movement or AI paths to bring the 50 players together faster. Conclusion Developing a smart AI system, a dual-zone health mechanic, custom fog, and a working laser weapon in just 8 hours taught me a lot about rapid prototyping in Godot. The game is already fun to play, and the foundation is ready for a major arena expansion."}, {"post_id": 2215, "ts": "2026-06-04T16:25:49Z", "hours": 0.7517, "text": "Finly got working in godot 4.0"}]...
|
Title: Mouton Laser Tag. by @Lol123rl | Stardance
Title: Mouton Laser Tag. by @Lol123rl | Stardance
Devlogs:
Finly got working in godot 4.0
Over 8-hours,, I built a fully functional, large-scale 3D first-person sci-fi game from scratch in Godot. The project focuses on a massive 50-player laser tag concept, splitting the battlefield into two teams of 25 (the player’s team versus smart enemies). Because the map is quite big, matches currently run long. However, completing a working first-person shooter loop with working AI, atmosphere, and custom health mechanics in a single day is a major technical milestone. Features Implemented Translucent Fog SystemTo solve the visual emptiness of a large map and add atmosphere, I implemented a translucent white fog effect.Purpose: It blocks long-range vision, forcing players to navigate carefully.Impact: It turns the massive arena into a high-stakes environment where enemies suddenly appear out of the white mist. Laser Gun MechanicsI coded and integrated a functional laser gun weapon system. It handles first-person aiming and registers fast, accurate sci-fi shots across the battlefield, complete with laser visuals that slice through the fog. 50-Player Smart AI Infrastructure. The biggest achievement of this 8-hour time was setting up 50 entities on the field that spond over time. Teammates: 24 AI allies that fight alongside the player.Smart Enemies: 25 aggressive AI units programmed to hunt down opponents and eliminate the player’s team. Optimization: Balancing 50 moving, targeting characters in a 3D Godot environment while keeping the game playable required clean, fast logic loops. Combat Logic & Dual-Zone Health to make the laser tag gameplay tactical, I designed and coded a specific combat system that rewards headshots:Instant Elimination Headshots: If you or an enemy take a direct laser hit to the head, it results in an immediate elimination.2-Life Body Armor: To balance the difficulty, shooting the body is more forgiving. Players and AI have exactly 2 lives for their body armor before being removed from the match. Future Milestones & Next StepsWith the core gameplay loop completed in one day, my next goal is to add more traditional laser tag elements to fill out the large map and speed up match times.Bunkers: Placing sci-fi structures across the open terrain to provide tactical cover.Targets: Adding shootable targets around the map for extra objectives.Pacing Tweaks: Adjusting player movement or AI paths to bring the 50 players together faster. Conclusion Developing a smart AI system, a dual-zone health mechanic, custom fog, and a working laser weapon in just 8 hours taught me a lot about rapid prototyping in Godot. The game is already fun to play, and the foundation is ready for a major arena expansion.
HELLCOPTER
added more gamemodes and added a title screen. Just started molti player
Dev Log — Mountain Laser Tag Update Since my last dev log, I focused on making Mountain Laser Tag feel more like a complete game instead of just a battle demo. I worked on the final boss ending, the save system, achievements, money rewards, the main menu, and overall game polish. One of the biggest changes was the final boss completion flow. After beating the final boss, the game now shows an ending credits screen instead of just ending suddenly. I added a SAVE & FINISH button that saves the player’s completion reward, fades out the audio, and moves into a final black “game saved” ending screen. This works better for a web game because browsers do not always allow a game to close the tab automatically. The final boss reward now saves a completed-game state, including overpowered mode with near-infinite ammo, very fast firing, huge stamina, fast reload, and maxed upgrades. I also fixed the reset system. Before, if the player beat the final boss and then reset their progress, the reward power mode could still remain active. Now reset clears money, upgrades, achievements, lifetime stats, boss unlocks, and final boss reward mode. That makes the reset button actually behave like a full fresh start. Another major update was fixing how eliminations count. I noticed that CPU eliminations were counting as the player’s eliminations, which meant the player could unlock achievements without actually doing anything. I changed the logic so CPU kills only help the team score, while player kills are the only ones that count toward personal elimination stats, money, and player achievements. I also changed the money system so different game modes reward the player differently. Team Elimination still rewards the player for eliminations and headshots, but Manhunt now works differently. If the player is hunted, they can earn money for surviving and escaping over time. If the player is hunting, they can earn money for finding the target quickly. Other modes now have smaller mode-specific rewards, such as Capture the Flag defense rewards, Commander eliminations, and King of the Hill rewards. I added more achievements to make the game feel like it has long-term goals. These include achievements for 100 lifetime eliminations, 500 lifetime eliminations, 25 Team Elimination knockouts, earning money while escaping in Manhunt, winning a fast Manhunt as the hunter, winning Capture the Flag, and winning King of the Hill. This gives players more reasons to try multiple modes instead of only playing one mode. I also worked on the title screen and mission brief system. The main menu has a larger mountain-themed command box with buttons for Deploy, Upgrade Shop, Achievements, Reset Save, Mission Brief, Mode Select, and Quit. I experimented with different mission brief layouts and then adjusted the system so the mission brief can be shown from the main screen without feeling like a completely separate menu. The mission brief explains the current mode’s objective so the player understands what to do before deploying. For performance, I made several smoothing changes. I reduced active CPU load, slowed down some repeated cleanup and UI update tasks, reduced how often the minimap redraws, and throttled some boss UI updates. I also experimented with edge fog, but it caused too much lag, so I rolled that back to keep the game running smoother. This was a useful lesson: not every cool visual effect is worth keeping if it hurts the actual gameplay experience. Overall, this update made the game more complete. It now has better save behavior, clearer progression, fairer achievements, better mode rewards, a more polished ending, and a cleaner main menu. The game still needs more testing, especially in a browser build, but it is much closer to being ready to ship for Stardance.
Ships:
I made a 3D mountain laser tag game where the player fights against Red team enemies with Blue team allies. The game has multiple modes, including Team Elimination, Capture the Flag, Manhunt, Commander, King of the Hill, and a Final Boss battle. Players can earn money, buy upgrades, unlock achievements, and improve their character over time. I also added a main menu, mission briefs, save progress, reset options, and an ending screen. Overall, I built a full action game with combat, objectives, progression, and a final challenge....
|
1792975784.8755999
|
1793062184.8755999
|
|
23433
|
Garden Calendar by @stockifab | Stardance
|
stockifab
|
1
|
10.0
|
197
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T15:56:53Z", "hours": 10.0, "multiplier": 15.86, "payout": 197, "blessing": "neutral", "text": "Garden Calendar is a website that shows you when to sow the plants for your garden. A calendar shows you when to sow indoors, outdoors, when the plants can be harvested and using filtering options, you can quickly find the plant you are looking for. Furthermore Garden Calendar gives you useful gardening tips for each plant in its database. I built this project because I wanted to refresh my Angular skills, in hindsight, this project wasn’t ideal for this because I didn’t get to use a lot of Angular features. Nevertheless, it wasn’t for nothing, and I learnt something along the way.", "repo": "https://github.com/stockifab/Garden-Calendar/", "demo": "https://stockifab.github.io/Garden-Calendar/"}]...
|
[{"post_id": 16985, "ts": "202 [{"post_id": 16985, "ts": "2026-06-27T15:49:21Z", "hours": 0.5969, "text": "GitHub Pages Deployment I deployed the app to GitHub pages. I encountered one issue: The images were not loading, because GitHub page URLs end with the name of the repository, so the root of the app is not at / but on /<Repository-Name> . The path of my images were preceded with a / which is incorrect when the root is not at / . Removing the / resolved the issue."}, {"post_id": 16944, "ts": "2026-06-27T14:49:44Z", "hours": 2.3583, "text": "Plant Details & UI Tweaks Plants can now be clicked on, showing a details menu on the right with details and a tip for growing the plant. I had troubles with the CSS of the legend at the bottom right corner which is positioned absolutely: The library used to make the panels resizable sets position: relative during dragging, causing the legend to be in an incorrect position only during dragging. I fixed the issue with some clever div wrapping."}, {"post_id": 13872, "ts": "2026-06-22T18:48:31Z", "hours": 3.0761, "text": "Bookmarking + Refactoring Users can now bookmark the plants they want to see. Bookmarked plants save in localStorage. Moreover, there is now an empty state when there are no plants to show due to filters. I also did some refactoring and simplified the code here and there. For my Angular learning goal: I learnt how to use effect() , which seems to do basically the same as the useEffect() hook in React."}, {"post_id": 13070, "ts": "2026-06-21T11:45:30Z", "hours": 2.5361, "text": "Calendar Rebuild I rewrote the calendar from an SVG graphic to a table, and added some basic filtering. Since my goal with this project is to learn Angular this was a nice opportunity to try signal forms. I also created a service for plant-related utility functions. Next I want to allow users to only show plants they are interested in."}, {"post_id": 12996, "ts": "2026-06-21T07:48:24Z", "hours": 1.8083, "text": "Gantt Diagram I want to use a Gantt Diagram to show when to sow and when to harvest plants. I decided to make this chart with a generated SVG graphic but that was a mistake: Calculating the position of each element (text, rectangle, line) is really fragile and styling the diagram further is painful. I want to re-do the diagram with a html table, which can be styled a lot easier."}]...
|
Title: Garden Calendar by @stockifab | Stardance
Title: Garden Calendar by @stockifab | Stardance
Devlogs:
Gantt Diagram I want to use a Gantt Diagram to show when to sow and when to harvest plants. I decided to make this chart with a generated SVG graphic but that was a mistake: Calculating the position of each element (text, rectangle, line) is really fragile and styling the diagram further is painful. I want to re-do the diagram with a html table, which can be styled a lot easier.
Calendar Rebuild I rewrote the calendar from an SVG graphic to a table, and added some basic filtering. Since my goal with this project is to learn Angular this was a nice opportunity to try signal forms. I also created a service for plant-related utility functions. Next I want to allow users to only show plants they are interested in.
Bookmarking + Refactoring Users can now bookmark the plants they want to see. Bookmarked plants save in localStorage. Moreover, there is now an empty state when there are no plants to show due to filters. I also did some refactoring and simplified the code here and there. For my Angular learning goal: I learnt how to use effect() , which seems to do basically the same as the useEffect() hook in React.
Plant Details & UI Tweaks Plants can now be clicked on, showing a details menu on the right with details and a tip for growing the plant. I had troubles with the CSS of the legend at the bottom right corner which is positioned absolutely: The library used to make the panels resizable sets position: relative during dragging, causing the legend to be in an incorrect position only during dragging. I fixed the issue with some clever div wrapping.
GitHub Pages Deployment I deployed the app to GitHub pages. I encountered one issue: The images were not loading, because GitHub page URLs end with the name of the repository, so the root of the app is not at / but on /<Repository-Name> . The path of my images were preceded with a / which is incorrect when the root is not at / . Removing the / resolved the issue.
Ships:
Garden Calendar is a website that shows you when to sow the plants for your garden. A calendar shows you when to sow indoors, outdoors, when the plants can be harvested and using filtering options, you can quickly find the plant you are looking for. Furthermore Garden Calendar gives you useful gardening tips for each plant in its database. I built this project because I wanted to refresh my Angular skills, in hindsight, this project wasn’t ideal for this because I didn’t get to use a lot of Angular features. Nevertheless, it wasn’t for nothing, and I learnt something along the way....
|
1792986734.6844418
|
1793073134.6844418
|
|
45740
|
Statitron by @matest | Stardance
|
matest
|
1
|
18.53
|
197
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-19T15:15:20Z", "hours": 17.0, "multiplier": 11.58, "payout": 197, "blessing": "neutral", "text": "Statitron is a hardware monitor that tracks: GPU Usage in percent, GPU temp, GPU Vram usage in percent CPU Usage RAM Usage in both percent and GB Net Recv + Net Send All disk partitions usage in GB and percent + Disk write and disk read total from all drives It also has a cool feature which is event tracker. It tracks GPU, CPU and RAM usage and whenever one of them has a spike of 20%, it records it and displays it in the window. Every 5 seconds it will also display updates on how your hardware usage is at that moment. Through this project i learnt 5 new python libraries that i before only had minimal experience with! This is the first ever project i made that id say im proud of, because it taught me so much and i had a lot of fun making it. Also the first time my ui design looks at least semi-decent :)", "repo": "https://github.com/TheMathematico/Statitron1", "demo": "https://github.com/TheMathematico/Statitron1/releases/tag/v1.0.0"}]...
|
[{"post_id": 57442, "ts": "202 [{"post_id": 57442, "ts": "2026-08-29T16:23:25Z", "hours": 1.5261, "text": "accidently posted a devlog"}, {"post_id": 47190, "ts": "2026-08-14T22:28:55Z", "hours": 6.1078, "text": "Final devlog before shipping(#4) It has been 2 days since my last devlog, here’s what happened: I’ve finished the event tracker, it shows cpu, gpu and ram spikes + usage updates every few seconds. You can also snooze updates or snooze both the spikes and the updates(snooze=they dont appear in the event tracker). Before shipping(tommorow) i will probably organize the code a little bit and maybe add a bar that shows the health of all the disks you have on your pc. Im glad that im finally done and i hope it looks good! (in the vid the event tracker is mistakenly named gpu monitor, sry)"}, {"post_id": 45445, "ts": "2026-08-11T21:56:28Z", "hours": 4.2778, "text": "Devlog - 3 Today i’ve added a detailed monitor for disk, gpu and ram. The disk monitor shows write speed and read speed combined from all the drives you have on your pc, and it also shows used and total space from all partitions you have(Don’t ask why my partitions are so full lol). The GPU monitor shows temp, usage and vram utilization. The Ram monitor is pretty basic and just shows how much is being utilized in gb and percent. For the next devlog im planning on importing another library to track your disk health and finally start adding the event tracker(a tracker that shows what app caused what component spike eg. google chrome caused a cpu spike at some point here’s what you can do etc.) This program also made me realize that my drive fills up passively every hour even tho im not installing anything which is so cool :)"}, {"post_id": 44809, "ts": "2026-08-10T20:42:31Z", "hours": 4.6183, "text": "Devlog - 2 I completely reworked the code and added 6 cool looking meters that show cpu/gpu usage, disk space, ram used and net recv + net send(net download/upload). I haven’t added the event tracker yet but im hoping to tomorrow. Im not quite sure what to put in the empty space below the buttons so i’d love to hear some suggestions!"}, {"post_id": 44285, "ts": "2026-08-09T22:51:32Z", "hours": 2.0314, "text": "Devlog - 1: Coded the stats monitor which i spent like 30 mins actually coding and 1h 30 mins cleaning up my messy code. For now, it tracks cpu usage, ram and gpu. Next i’ll be polishing the UI which doesn’t look the best at the moment and adding an event tracker that tracks hardware usage spikes and what process/app caused it."}]...
|
Title: Statitron by @matest | Stardance
Devlogs:
Title: Statitron by @matest | Stardance
Devlogs:
Devlog - 1: Coded the stats monitor which i spent like 30 mins actually coding and 1h 30 mins cleaning up my messy code. For now, it tracks cpu usage, ram and gpu. Next i’ll be polishing the UI which doesn’t look the best at the moment and adding an event tracker that tracks hardware usage spikes and what process/app caused it.
Devlog - 2 I completely reworked the code and added 6 cool looking meters that show cpu/gpu usage, disk space, ram used and net recv + net send(net download/upload). I haven’t added the event tracker yet but im hoping to tomorrow. Im not quite sure what to put in the empty space below the buttons so i’d love to hear some suggestions!
Devlog - 3 Today i’ve added a detailed monitor for disk, gpu and ram. The disk monitor shows write speed and read speed combined from all the drives you have on your pc, and it also shows used and total space from all partitions you have(Don’t ask why my partitions are so full lol). The GPU monitor shows temp, usage and vram utilization. The Ram monitor is pretty basic and just shows how much is being utilized in gb and percent. For the next devlog im planning on importing another library to track your disk health and finally start adding the event tracker(a tracker that shows what app caused what component spike eg. google chrome caused a cpu spike at some point here’s what you can do etc.) This program also made me realize that my drive fills up passively every hour even tho im not installing anything which is so cool :)
Final devlog before shipping(#4) It has been 2 days since my last devlog, here’s what happened: I’ve finished the event tracker, it shows cpu, gpu and ram spikes + usage updates every few seconds. You can also snooze updates or snooze both the spikes and the updates(snooze=they dont appear in the event tracker). Before shipping(tommorow) i will probably organize the code a little bit and maybe add a bar that shows the health of all the disks you have on your pc. Im glad that im finally done and i hope it looks good! (in the vid the event tracker is mistakenly named gpu monitor, sry)
accidently posted a devlog
Ships:
Statitron is a hardware monitor that tracks: GPU Usage in percent, GPU temp, GPU Vram usage in percent CPU Usage RAM Usage in both percent and GB Net Recv + Net Send All disk partitions usage in GB and percent + Disk write and disk read total from all drives It also has a cool feature which is event tracker. It tracks GPU, CPU and RAM usage and whenever one of them has a spike of 20%, it records it and displays it in the window. Every 5 seconds it will also display updates on how your hardware usage is at that moment. Through this project i learnt 5 new python libraries that i before only had minimal experience with! This is the first ever project i made that id say im proud of, because it taught me so much and i had a lot of fun making it. Also the first time my ui design looks at least semi-decent :)...
|
1792993762.289818
|
1793080162.289818
|
|
34459
|
Rover Autopilot Software by @dr_aerospace | Starda Rover Autopilot Software by @dr_aerospace | Stardance...
|
dr_aerospace
|
1
|
12.0
|
196
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-21T19:28:51Z", "hours": 12.0, "multiplier": 16.48, "payout": 196, "blessing": "neutral", "text": "I made a rover autopilot program, written in the KerboScript Language, designed to automatically control a rover in Kerbal Space Program. The script’s navigation function scans the current planet that the rover is located at, and shows a list of found waypoints. The script then prompts the user to select a certain waypoint to target. After that, the rover will start driving completely independent of user input. The program’s built-in functions include the following: point-turns for rotating in place (using differential steering) to match the target heading; speed and steering control, and slope-awareness to maintain its speed between 1.0 and 2.0 m/s no matter if it is climbing or descending hills, or cruising on flat areas; scientific analysis sequence, and automatic data transmission to collect data and soil samples from the planet, and transmit results automatically; and navigation data calculator and display to calculate remaining distance, show current speed, and, based on those values, calculate estimated time to arrival. For maximum realism, the script was written and tested on a replica of NASA’s Curiosity Mars Science Laboratory rover built in Kerbal Space Program.", "repo": "https://github.com/JuanD0409/Rover-Autopilot-Software", "demo": "https://youtu.be/s8wuwD15yZE"}]...
|
[{"post_id": 31888, "ts": "202 [{"post_id": 31888, "ts": "2026-07-20T17:16:51Z", "hours": 3.6286, "text": "This is Devlog #4 (and possibly final before shipping) of the Rover Autopilot Software… The code is finally on its 1.0 version and ready for shipping. All testing has been concluded, along with the scripts limitations. I need to start writing the final README version (and add some pictures to it), and begin editing the Youtube video for the Demo URL. Here is timelapse video of the Scientific Sequence in action from waypoint arrival to end of script."}, {"post_id": 30866, "ts": "2026-07-18T20:23:45Z", "hours": 4.8942, "text": "This is devlog #3 of the Rover Autopilot Software… I think I could FINALLY figure out how the rover can do efficient, controlled point-turns. The code had a function named setWheelReverse , which I removed because (after 4+ hours of debugging) I found out it was never reversing the assigned wheels. So, I came up with a smart solution: torque vectoring. There is a new function on the code named setWheelPower that sets a drive limiter on certain wheels -25% on the left wheels and 50% on the right wheels. Then, the executePointTurn function enables the drive limiter, sets every motor to 100% (or -100% for turns in the other direction), and rotates almost in place either way until the targeted heading is reached. Then, it stops turning, returns the wheels to normal, and starts driving. I also coded an intelligent slope-awareness function that does the following: maintains cruise speed on flat areas, speeds up on uphills (and recovers with max power if needed), and idles the motors and brakes on downhills. I will leave a video below showing every function in action, except for the science sequence, which I will show on the next devlog."}, {"post_id": 29719, "ts": "2026-07-16T20:12:51Z", "hours": 1.2047, "text": "This is devlog #2.5 of the Rover Autopilot Software… The video from last devlog probably didn’t upload because of its size so I made a better, smaller one. I upgraded the code and fixed some bugs that were messing with the point-turn function. I need to add a slope-awareness function for the rover to maneuver appropriately, since there are too much steep mountains on Duna. I will continue developing this project and make it as similar as possible to a NASA/JPL software."}, {"post_id": 29242, "ts": "2026-07-16T00:56:20Z", "hours": 1.3306, "text": "This is devlog #2 of the Rover Autopilot Software…Update version. I finished writing the code for the rover’s functions. These include the following: turning wheels and making point-turns, moving completely independent of user input (except for waypoint selection), performing scientific analysis, and moving various robotic parts. Update: I will leave in this devlog a video showing a test of the rover. It turns (somewhat; planning to rewrite/edit the function), drives, brakes, and overall, moves just fine. Btw, the rover definitely NOT moves at the speed a real rover does."}, {"post_id": 28660, "ts": "2026-07-15T01:30:50Z", "hours": 0.8647, "text": "This is Devlog #1 of the Rover Autopilot Software… Touchdown confirmed! The test rover has landed successfully in Duna (Mars in KSP) and I already wrote the main control loop for the rover. It still needs a little bit of polishing, but I will be testing the code and adding more functions. Planned functions are the following: rotating certain wheels, and setting them to reverse to activate 360-degree turns; slope-awareness; robotic arm extension, retraction, and sample collection; and automatic data transmission (antennas are power-hungry). The test rover is a (state-of-the-art) replica of Curiosity. I’ll leave some pictures below:"}]...
|
Title: Rover Autopilot Software by @dr_aerospace | Title: Rover Autopilot Software by @dr_aerospace | Stardance
Devlogs:
This is Devlog #1 of the Rover Autopilot Software… Touchdown confirmed! The test rover has landed successfully in Duna (Mars in KSP) and I already wrote the main control loop for the rover. It still needs a little bit of polishing, but I will be testing the code and adding more functions. Planned functions are the following: rotating certain wheels, and setting them to reverse to activate 360-degree turns; slope-awareness; robotic arm extension, retraction, and sample collection; and automatic data transmission (antennas are power-hungry). The test rover is a (state-of-the-art) replica of Curiosity. I’ll leave some pictures below:
This is devlog #2 of the Rover Autopilot Software…Update version. I finished writing the code for the rover’s functions. These include the following: turning wheels and making point-turns, moving completely independent of user input (except for waypoint selection), performing scientific analysis, and moving various robotic parts. Update: I will leave in this devlog a video showing a test of the rover. It turns (somewhat; planning to rewrite/edit the function), drives, brakes, and overall, moves just fine. Btw, the rover definitely NOT moves at the speed a real rover does.
This is devlog #2.5 of the Rover Autopilot Software… The video from last devlog probably didn’t upload because of its size so I made a better, smaller one. I upgraded the code and fixed some bugs that were messing with the point-turn function. I need to add a slope-awareness function for the rover to maneuver appropriately, since there are too much steep mountains on Duna. I will continue developing this project and make it as similar as possible to a NASA/JPL software.
This is devlog #3 of the Rover Autopilot Software… I think I could FINALLY figure out how the rover can do efficient, controlled point-turns. The code had a function named setWheelReverse , which I removed because (after 4+ hours of debugging) I found out it was never reversing the assigned wheels. So, I came up with a smart solution: torque vectoring. There is a new function on the code named setWheelPower that sets a drive limiter on certain wheels -25% on the left wheels and 50% on the right wheels. Then, the executePointTurn function enables the drive limiter, sets every motor to 100% (or -100% for turns in the other direction), and rotates almost in place either way until the targeted heading is reached. Then, it stops turning, returns the wheels to normal, and starts driving. I also coded an intelligent slope-awareness function that does the following: maintains cruise speed on flat areas, speeds up on uphills (and recovers with max power if needed), and idles the motors and brakes on downhills. I will leave a video below showing every function in action, except for the science sequence, which I will show on the next devlog.
This is Devlog #4 (and possibly final before shipping) of the Rover Autopilot Software… The code is finally on its 1.0 version and ready for shipping. All testing has been concluded, along with the scripts limitations. I need to start writing the final README version (and add some pictures to it), and begin editing the Youtube video for the Demo URL. Here is timelapse video of the Scientific Sequence in action from waypoint arrival to end of script.
Ships:
I made a rover autopilot program, written in the KerboScript Language, designed to automatically control a rover in Kerbal Space Program. The script’s navigation function scans the current planet that the rover is located at, and shows a list of found waypoints. The script then prompts the user to select a certain waypoint to target. After that, the rover will start driving completely independent of user input. The program’s built-in functions include the following: point-turns for rotating in place (using differential steering) to match the target heading; speed and steering control, and slope-awareness to maintain its speed between 1.0 and 2.0 m/s no matter if it is climbing or descending hills, or cruising on flat areas; scientific analysis sequence, and automatic data transmission to collect data and soil samples from the planet, and transmit results automatically; and navigation data calculator and display to calculate remaining distance, show current speed, and, based on those values, calculate estimated time to arrival. For maximum realism, the script was written and tested on a replica of NASA’s Curiosity Mars Science Laboratory rover built in Kerbal Space Program....
|
1792972103.3429701
|
1793058503.3429701
|
|
37382
|
My Website! by @Dana | Stardance
|
Dana
|
2
|
31.0
|
195
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T01:05:21Z", "hours": 27.0, "multiplier": 7.01, "payout": 188, "blessing": "neutral", "text": "I decided to do this to experiment with a new language and create a page about myself—so people can get to know me, or simply as a project I can improve later on.", "repo": "https://github.com/danovich2009-design/Mi-pagina", "demo": "https://mywebpagedanrl.netlify.app"}, {"ship_num": 2, "ts": "2026-07-19T20:40:30Z", "hours": 4.0, "multiplier": 2.04, "payout": 7, "blessing": "neutral", "text": "I created a personal “About Me” webpage featuring a modern, dark, and elegant design using my favorite colors; I built the foundation of the site using HTML and Tailwind CSS. It includes sections covering my background, my home country (Colombia), my passion for horseback riding, my favorite video games, and a card-based gallery. It is currently in beta, as I still need to polish a few details and refine certain design elements. The most challenging part was setting up the responsive structure and resolving technical issues related to images and browser compatibility. I am proud of the visual outcome, the thematic consistency, and the fact that I achieved a design that is both attractive and functional.", "repo": "https://github.com/danovich2009-design/Mi-pagina", "demo": "https://mywebpagedanrl.netlify.app"}]...
|
[{"post_id": 46065, "ts": "202 [{"post_id": 46065, "ts": "2026-08-13T00:38:07Z", "hours": 3.0808, "text": "After a few tweaks, translating all the text into English, and uploading my complete code to GitHub, I was finally able to finish my project :)"}, {"post_id": 42371, "ts": "2026-08-07T01:51:16Z", "hours": 3.0633, "text": "Today I’m starting to fix the HTML, and I decided to watch videos to learn more things to improve my page."}, {"post_id": 41096, "ts": "2026-08-05T02:34:14Z", "hours": 3.0069, "text": "Today I finally finished the CSS part—which took me four days—and it took so long because I ran into several errors I didn’t know how to fix."}, {"post_id": 40458, "ts": "2026-08-03T23:52:43Z", "hours": 2.0681, "text": "In my spare time, I managed to create a new page for the code, but I ran into some issues; since I haven’t finished the code yet, the main page looks disorganized and is missing the fonts I applied."}, {"post_id": 39251, "ts": "2026-08-02T03:14:46Z", "hours": 2.2356, "text": "Today, I can get a head start on the hobbies section and add a bit more movement to parts of my website to make it look more fluid."}, {"post_id": 38571, "ts": "2026-08-01T01:37:31Z", "hours": 3.3747, "text": "Today I started working on the second part of my website; I added more code and tried to make the page look better and be more organized. I still need to add some text, and then I’ll start on the third part."}, {"post_id": 33284, "ts": "2026-07-23T02:18:43Z", "hours": 1.845, "text": "I couldn’t make as much progress today, but I was able to implement new typefaces and create a new color palette that I’ll use for my page."}, {"post_id": 32738, "ts": "2026-07-22T02:37:34Z", "hours": 2.5075, "text": "Today, you can apply a new font to the home section of my page and change the text color."}, {"post_id": 32092, "ts": "2026-07-21T00:41:44Z", "hours": 5.1356, "text": "During my four hours of work today, I focused on reorganizing my webpage, writing new code, and integrating it with the existing code. I decided on a video-game-style theme for the homepage and began adding neon text and selecting a color palette."}, {"post_id": 31493, "ts": "2026-07-19T22:10:58Z", "hours": 0.4536, "text": "I added several sections: “Where I’m from,” “My country,” “Horseback riding,” “Video games,” and a card featuring my cat. I swapped out some images for more personal photos. I improved the layout and standardized the image sizes. I fixed coding errors and restructured the page to make it look better. I updated the GitHub README. Current status: The site is functional and in beta. I still want to keep refining it (tweaking details, adding social media links, etc.). I’m happy with the progress; I learned a lot about HTML, Tailwind, and how to organize a web project."}, {"post_id": 31455, "ts": "2026-07-19T20:32:08Z", "hours": 0.4617, "text": "Changing my page to https"}, {"post_id": 31410, "ts": "2026-07-19T19:11:29Z", "hours": 3.1539, "text": "Understanding how to create a website"}]...
|
Title: My Website! by @Dana | Stardance
Devlogs:
Title: My Website! by @Dana | Stardance
Devlogs:
Understanding how to create a website
Changing my page to https
I added several sections: “Where I’m from,” “My country,” “Horseback riding,” “Video games,” and a card featuring my cat. I swapped out some images for more personal photos. I improved the layout and standardized the image sizes. I fixed coding errors and restructured the page to make it look better. I updated the GitHub README. Current status: The site is functional and in beta. I still want to keep refining it (tweaking details, adding social media links, etc.). I’m happy with the progress; I learned a lot about HTML, Tailwind, and how to organize a web project.
During my four hours of work today, I focused on reorganizing my webpage, writing new code, and integrating it with the existing code. I decided on a video-game-style theme for the homepage and began adding neon text and selecting a color palette.
Today, you can apply a new font to the home section of my page and change the text color.
I couldn’t make as much progress today, but I was able to implement new typefaces and create a new color palette that I’ll use for my page.
Today I started working on the second part of my website; I added more code and tried to make the page look better and be more organized. I still need to add some text, and then I’ll start on the third part.
Today, I can get a head start on the hobbies section and add a bit more movement to parts of my website to make it look more fluid.
In my spare time, I managed to create a new page for the code, but I ran into some issues; since I haven’t finished the code yet, the main page looks disorganized and is missing the fonts I applied.
Today I finally finished the CSS part—which took me four days—and it took so long because I ran into several errors I didn’t know how to fix.
Today I’m starting to fix the HTML, and I decided to watch videos to learn more things to improve my page.
After a few tweaks, translating all the text into English, and uploading my complete code to GitHub, I was finally able to finish my project :)
Ships:
I created a personal “About Me” webpage featuring a modern, dark, and elegant design using my favorite colors; I built the foundation of the site using HTML and Tailwind CSS. It includes sections covering my background, my home country (Colombia), my passion for horseback riding, my favorite video games, and a card-based gallery. It is currently in beta, as I still need to polish a few details and refine certain design elements. The most challenging part was setting up the responsive structure and resolving technical issues related to images and browser compatibility. I am proud of the visual outcome, the thematic consistency, and the fact that I achieved a design that is both attractive and functional.
I decided to do this to experiment with a new language and create a page about myself—so people can get to know me, or simply as a project I can improve later on....
|
1792979417.7987742
|
1793065817.7987742
|
|
6915
|
Om Daily by @aahish_abbani | Stardance
|
aahish_abbani
|
1
|
22.0
|
194
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T19:12:17Z", "hours": 22.0, "multiplier": 10.27, "payout": 194, "blessing": "neutral", "text": "I made Om daily, a way to understand hindusim through little games, like duolingo but for religion. But its not jsut learning there are daily quotes of the Bhagavad Gita, a famous book of hinduism, and all 700 verses in the backend. This was my first ever mobile app make in react native with the expo framework and it was a challenge getting started, I didnt really understand how most of it worked like devlopement servers, stuff like that. But over time I learned a lot about how to actualyl code and use a backend. another thing, this was my first ever project with a backend so I used supabase as my backend and I learned how to do Oauth, store users information safely. The app itself is packed with so many features and going forward I really want to improve on it more and more!", "repo": "https://github.com/kinghightech/om-daily", "demo": "https://apps.apple.com/app/om-daily/id6778643150"}]...
|
[{"post_id": 20878, "ts": "202 [{"post_id": 20878, "ts": "2026-07-02T16:26:24Z", "hours": 13.0297, "text": "So I to be honest was so locked in on working on this i lowkey forgot ot keep up with the devlogs which is something going forward i need to fix! But good news i have got it up and running on the app store!!! so u can download it actually and test it out. it does require a sign up/sign unfortunately to save ur progress if you are fine with that I spent so much time and effort into this app and it would be great if i can get some good feedback!"}, {"post_id": 2536, "ts": "2026-06-05T02:20:43Z", "hours": 9.0192, "text": "I’m building Om Daily, a mobile app that helps people learn Hinduism through daily Bhagavad Gita verses, prayers, meanings, and simple lessons. It makes spiritual learning easy, beautiful, and consistent with features like verse saving, prayer translations, widgets, and daily wisdom reminders. Hey, I’m working on om Daily. Dharma Daily is an app. We used Expo, React Native, and a lot of TypeScript to make the app. I really wanted to focus on the app, making it feel premium. today i added another prayer to the app and designed the splash screen with canva!"}]...
|
Title: Om Daily by @aahish_abbani | Stardance
Dev Title: Om Daily by @aahish_abbani | Stardance
Devlogs:
I’m building Om Daily, a mobile app that helps people learn Hinduism through daily Bhagavad Gita verses, prayers, meanings, and simple lessons. It makes spiritual learning easy, beautiful, and consistent with features like verse saving, prayer translations, widgets, and daily wisdom reminders. Hey, I’m working on om Daily. Dharma Daily is an app. We used Expo, React Native, and a lot of TypeScript to make the app. I really wanted to focus on the app, making it feel premium. today i added another prayer to the app and designed the splash screen with canva!
So I to be honest was so locked in on working on this i lowkey forgot ot keep up with the devlogs which is something going forward i need to fix! But good news i have got it up and running on the app store!!! so u can download it actually and test it out. it does require a sign up/sign unfortunately to save ur progress if you are fine with that I spent so much time and effort into this app and it would be great if i can get some good feedback!
Ships:
I made Om daily, a way to understand hindusim through little games, like duolingo but for religion. But its not jsut learning there are daily quotes of the Bhagavad Gita, a famous book of hinduism, and all 700 verses in the backend. This was my first ever mobile app make in react native with the expo framework and it was a challenge getting started, I didnt really understand how most of it worked like devlopement servers, stuff like that. But over time I learned a lot about how to actualyl code and use a backend. another thing, this was my first ever project with a backend so I used supabase as my backend and I learned how to do Oauth, store users information safely. The app itself is packed with so many features and going forward I really want to improve on it more and more!...
|
1792882113.3175633
|
1793746113.3175633
|
|
22801
|
Recipe Extractor by @Faizy179 | Stardance
|
Faizy179
|
2
|
15.0
|
194
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T03:04:07Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "In this Ship I continued to try and fix the underlying issues with scraping some websites. I believe I got some more working, with more thurough JSON checking. Their are some that still dont work due to the aforementioned cloudflare issues", "repo": "https://github.com/Faizy179/RecipeExtractingWebsite", "demo": "https://faizy179.github.io/RecipeExtractingWebsite/frontend/"}, {"ship_num": 2, "ts": "2026-06-28T01:27:36Z", "hours": 11.0, "multiplier": 18.4, "payout": 194, "blessing": "neutral", "text": "For this project I set out to make a website that takes any recipe online, and leaves you with only the recipe;without all of the boring story. Fortunately that is exactly what I have accomplished. This website works on most recipes, especially from blogs. Through this project I went through so many hurdles. Originally, I thought that creating the web scraper would be easy, but I was so wrong. I went through so many failed attempts. On the first attempt I could not even reach the website (encountering an http error). Than, I pivoted to a different java library for my web scraping. This worked perfectly on my home computer, but when I transferred it to my nest server a couple of websites stopped co operating. This is likely due to the ip address of the nest server. Some websites may look at that IP address and block it due to it being a data centre IP. On the other hand, other websites redirected it to the uk version of the main page. Fortunately, the website still works for most sites. So, what quality of life improvements does this site accomplish. Well, every time you want to look at a recipe, you don’t have to wait for all of the ads to load on the website because my website does not serve any adds. Furthermore, you do not have to scroll down infinetly while the website is serving you ads as you hopelessly just try to reach the recipe. Secondly, this website allows you to view recipes on your phone without the site shutting off with a simple toggle of a switch, a feature most sites still don’t have. Lastly, to keep track of witch step you are on, you can click on the steps after you finish them, and they will grey out with a strike through, indicating that you are past this step. I hope you enjoy this project and the countless hours spent to make it real!", "repo": "https://github.com/Faizy179/RecipeExtractingWebsite", "demo": "https://faizy179.github.io/RecipeExtractingWebsite/frontend/"}]...
|
[{"post_id": 19466, "ts": "202 [{"post_id": 19466, "ts": "2026-06-30T19:56:50Z", "hours": 1.3019, "text": "Hello, I forgot to log this hour before shipping, but I just worked on the java code a bit and tried fixing some of the underlying issues in the code that I discussed in previous dev logs. Some issues still persist, but the website does work for a significant portion of websites."}, {"post_id": 18095, "ts": "2026-06-29T03:06:32Z", "hours": 2.69, "text": "Hello Humans. I have been working on my recipe extractor but I keep on hitting walls. I have updated the coad to work on a broader set of websites. Regardless, even though I spent like 2 hours debugging, I just can not get it to work on food network websites when running on the nest server. The simple solution for this would getting a proxy server… But I don’t know if I can do that. Here is the website working on a recipe that was flagged for not working when originally shipping the project so yaay! Basically, 3 hours of work and little progress accomplished."}, {"post_id": 17267, "ts": "2026-06-28T00:01:25Z", "hours": 1.4672, "text": "Hello! This will probably be my last dev log for this project. I am quite happy with the result. Though the website does not work with all websites, it does with a lot of them. Some of the bigger recipe websites such as food Network and Allrecipes do not allow this kind of scraping and thus the website will not work. So What have I done since the last dev log? Well, I updated the UI to be a bit more nicer to look at. This includes removing the brown background as it kinda looked tacky. Secondly, I alted the ENTER key to also act as an extract button; rather than having to move your mouse all the way to the button, you can just click ENTER! Also, I fixed a couple of bugs in the java code, including more error checking to ensure no random exceptions are thrown."}, {"post_id": 15306, "ts": "2026-06-24T21:14:25Z", "hours": 1.2042, "text": "Errors With Some Recipes Continue to Persist I can not seem to fix the issue where some recipes redirect the user to their local home page via popupos. I tried setting the chrome drivers language and country to the US and english, but it seems like they are using IP to determine location. Thus, due to the usage of a nest server where the IP is likely not in the US I am unable to access some websites. If anyone has a solution that would be much appreciatecd. I consulted an llm to see if their is a solution but their was no luck finding a simple solution. The only solution that i think would work is the use of a proxy but that is to complex for me."}, {"post_id": 15251, "ts": "2026-06-24T19:22:05Z", "hours": 0.9964, "text": "SO MANY BUGS! So, my scraper is working perfectly on my laptop but sometimes when I run it on the nest server it does not work for specific websites. For example, for some food network recipes it seems to be redirecting me to an alternative link. My hypothesis for this is that it thinks i’m coming from the uk (perhaps server location) and is trying to redirect me to the uk website. Hence, my logs show for a lot of the failed attempts the page title being “Recipe and Global Dishes | Food Network UK”. Next steps for me may include retrieving the url to see if a redirect occured, and perhaps checking if I can configure the headless chrome i’m using to show as being a static country such as always being in the us… We will see…"}, {"post_id": 14859, "ts": "2026-06-24T03:58:32Z", "hours": 0.6572, "text": "Got Nest Server Request Handling Working! Instead of running the java program on my local computer I got it to run in a terminal window on my nest container. To accomplish this I used tmux. Thus on my website, I can send requests to the admin1.hackclub.app website rather than local host. This is a big step in the right direction, as it allows me to run requests 24/7. The next steps for this project is to polish up the website and get a domain for it. After that, the project will be ready to ship."}, {"post_id": 14773, "ts": "2026-06-24T00:08:46Z", "hours": 0.9833, "text": "Basic website complete! I have finished a prototype website. Right now the website looks like hot garbage, but I plan to change that. The way it works is it asks the user for a url, witch they put in the textbox, than after the input is error checked it is sent to the localhost server, with the input attached to the end of the url. Then, the recipe information is sent back to the website, where it is than displayed as plain text. In the future I plan on running the java application on my nest serve, and I will also look to find a way to host the website. Also, I plan on making the website look nicer as my next step."}, {"post_id": 14595, "ts": "2026-06-23T19:20:42Z", "hours": 1.0964, "text": "Recipe now sent via http! Through the use of the spring boot and Spring java frameworks, I was able to take my preexisting recipe extractor, and send the json data locally via http. Right now this only works locally, so my plan is to have this running on a server where it can be called on at any given time by the front-end. Learning how to use the Spring framework in java was quite hard, and this was the first time I worked on back end work like this. As a result, I did use AI to assist with spring boot implementation. the way you can run the program with any recipe is by, when the program is running, go on your browser, and enter the assigned port with the following attatched: /api/extract?url=RECIPE_URL This is truly a big step for me now that the back-end is completely done. Now, I will be moving on to creating the actual website that the user will interact with."}, {"post_id": 13981, "ts": "2026-06-22T23:01:08Z", "hours": 0.9911, "text": "Scraping & Parsing logic fully complete! After a lot of work, I converted the code from printing the recipe onto the console to returning it as a JsonObject. This will ideally allow me to use an api to fetch it from a frontend website. I tested the program with various recipe websites and they all seem to work! Originally, I was having trouble with website security features but through the use of selenium I was able to get past to the website. For the next devlog I hope to be done API integration, and some basic front end testing."}, {"post_id": 13873, "ts": "2026-06-22T18:49:49Z", "hours": 1.3611, "text": "Ingredients can now print on the console I have just finished a prototype version where, when given a recipe link, the ingredients of the recipe are printed. This took a lot of time, and I had to change what package i used to make it work. The trick to make this work really boiled down into the fact that most recipe websites store their data in json. As a result, this is really easy to scrape and extract. Here is an example of the ingredients of some chocolate brownies printing in the console."}, {"post_id": 13162, "ts": "2026-06-21T15:13:28Z", "hours": 1.8375, "text": "Website Scraper Through the use of the JSoup java library I tried implementing a website scraper, witch takes all of the elements on a website and displays it as plain text on the console. This method worked for less secure sites such as wikipedia, but on most recipe sites that may use cloudflare it did not work. This is likely due to the anitscraping measures cloudflare has set. To work around this I may play around with other java libraries that usually have a higher success rate. Also, I don’t know why my coding time saved under the ‘user’ project in hackatime rather than a frictionless project. If anyone can help with that, that would be lovely."}]...
|
Title: Recipe Extractor by @Faizy179 | Stardance
Title: Recipe Extractor by @Faizy179 | Stardance
Devlogs:
Website Scraper Through the use of the JSoup java library I tried implementing a website scraper, witch takes all of the elements on a website and displays it as plain text on the console. This method worked for less secure sites such as wikipedia, but on most recipe sites that may use cloudflare it did not work. This is likely due to the anitscraping measures cloudflare has set. To work around this I may play around with other java libraries that usually have a higher success rate. Also, I don’t know why my coding time saved under the ‘user’ project in hackatime rather than a frictionless project. If anyone can help with that, that would be lovely.
Ingredients can now print on the console I have just finished a prototype version where, when given a recipe link, the ingredients of the recipe are printed. This took a lot of time, and I had to change what package i used to make it work. The trick to make this work really boiled down into the fact that most recipe websites store their data in json. As a result, this is really easy to scrape and extract. Here is an example of the ingredients of some chocolate brownies printing in the console.
Scraping & Parsing logic fully complete! After a lot of work, I converted the code from printing the recipe onto the console to returning it as a JsonObject. This will ideally allow me to use an api to fetch it from a frontend website. I tested the program with various recipe websites and they all seem to work! Originally, I was having trouble with website security features but through the use of selenium I was able to get past to the website. For the next devlog I hope to be done API integration, and some basic front end testing.
Recipe now sent via http! Through the use of the spring boot and Spring java frameworks, I was able to take my preexisting recipe extractor, and send the json data locally via http. Right now this only works locally, so my plan is to have this running on a server where it can be called on at any given time by the front-end. Learning how to use the Spring framework in java was quite hard, and this was the first time I worked on back end work like this. As a result, I did use AI to assist with spring boot implementation. the way you can run the program with any recipe is by, when the program is running, go on your browser, and enter the assigned port with the following attatched: /api/extract?url=RECIPE_URL This is truly a big step for me now that the back-end is completely done. Now, I will be moving on to creating the actual website that the user will interact with.
Basic website complete! I have finished a prototype website. Right now the website looks like hot garbage, but I plan to change that. The way it works is it asks the user for a url, witch they put in the textbox, than after the input is error checked it is sent to the localhost server, with the input attached to the end of the url. Then, the recipe information is sent back to the website, where it is than displayed as plain text. In the future I plan on running the java application on my nest serve, and I will also look to find a way to host the website. Also, I plan on making the website look nicer as my next step.
Got Nest Server Request Handling Working! Instead of running the java program on my local computer I got it to run in a terminal window on my nest container. To accomplish this I used tmux. Thus on my website, I can send requests to the admin1.hackclub.app website rather than local host. This is a big step in the right direction, as it allows me to run requests 24/7. The next steps for this project is to polish up the website and get a domain for it. After that, the project will be ready to ship.
SO MANY BUGS! So, my scraper is working perfectly on my laptop but sometimes when I run it on the nest server it does not work for specific websites. For example, for some food network recipes it seems to be redirecting me to an alternative link. My hypothesis for this is that it thinks i’m coming from the uk (perhaps server location) and is trying to redirect me to the uk website. Hence, my logs show for a lot of the failed attempts the page title being “Recipe and Global Dishes | Food Network UK”. Next steps for me may include retrieving the url to see if a redirect occured, and perhaps checking if I can configure the headless chrome i’m using to show as being a static country such as always being in the us… We will see…
Errors With Some Recipes Continue to Persist I can not seem to fix the issue where some recipes redirect the user to their local home page via popupos. I tried setting the chrome drivers language and country to the US and english, but it seems like they are using IP to determine location. Thus, due to the usage of a nest server where the IP is likely not in the US I am unable to access some websites. If anyone has a solution that would be much appreciatecd. I consulted an llm to see if their is a solution but their was no luck finding a simple solution. The only solution that i think would work is the use of a proxy but that is to complex for me.
Hello! This will probably be my last dev log for this project. I am quite happy with the result. Though the website does not work with all websites, it does with a lot of them. Some of the bigger recipe websites such as food Network and Allrecipes do not allow this kind of scraping and thus the website will not work. So What have I done since the last dev log? Well, I updated the UI to be a bit more nicer to look at. This includes removing the brown background as it kinda looked tacky. Secondly, I alted the ENTER key to also act as an extract button; rather than having to move your mouse all the way to the button, you can just click ENTER! Also, I fixed a couple of bugs in the java code, including more error checking to ensure no random exceptions are thrown.
Hello Humans. I have been working on my recipe extractor but I keep on hitting walls. I have updated the coad to work on a broader set of websites. Regardless, even though I spent like 2 hours debugging, I just can not get it to work on food network websites when running on the nest server. The simple solution for this would getting a proxy server… But I don’t know if I can do that. Here is the website working on a recipe that was flagged for not working when originally shipping the project so yaay! Basically, 3 hours of work and little progress accomplished.
Hello, I forgot to log this hour before shipping, but I just worked on the java code a bit and tried fixing some of the underlying issues in the code that I discussed in previous dev logs. Some issues still persist, but the website does work for a significant portion of websites.
Ships:
For this project I set out to make a website that takes any recipe online, and leaves you with only the recipe;without all of the boring story. Fortunately that is exactly what I have accomplished. This website works on most recipes, especially from blogs. Through this project I went through so many hurdles. Originally, I thought that creating the web scraper would be easy, but I was so wrong. I went through so many failed attempts. On the first attempt I could not even reach the website (encountering an http error). Than, I pivoted to a different java library for my web scraping. This worked perfectly on my home computer, but when I transferred it to my nest server a couple of websites stopped co operating. This is likely due to the ip address of the nest server. Some websites may look at that IP address and block it due to it being a data centre IP. On the other hand, other websites redirected it to the uk version of the main page. Fortunately, the website still works for most sites. So, what quality of life improvements does this site accomplish. Well, every time you want to look at a recipe, you don’t have to wait for all of the ads to load on the website because my website does not serve any adds. Furthermore, you do not have to scroll down infinetly while the website is serving you ads as you hopelessly just try to reach the recipe. Secondly, this website allows you to view recipes on your phone without the site shutting off with a simple toggle of a switch, a feature most sites still don’t have. Lastly, to keep track of witch step you are on, you can click on the steps after you finish them, and they will grey out with a strike through, indicating that you are past this step. I hope you enjoy this project and the countless hours spent to make it real!
In this Ship I continued to try and fix the underlying issues with scraping some websites. I believe I got some more working, with more thurough JSON checking. Their are some that still dont work due to the aforementioned cloudflare issues...
|
1792994129.59437
|
1793080529.59437
|
|
30710
|
Me!!! by @Shambhavi | Stardance
|
Shambhavi
|
2
|
44.0
|
194
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-23T02:04:33Z", "hours": 28.0, "multiplier": 2.83, "payout": 78, "blessing": "neutral", "text": "Hi guys! This is a second ship of my personal website, but it is completely changed with more features from ship #1 (I still have it though!). Creating this website was very fun. I don’t know much about coding, and this was a fun and creative way to learn some HMTL, CSS, and JavaScript. Here are some cool features of my website, which can also be seen in the README: Cool topographic background on the entire website, except for modals Auto typing text Flowing gradient background on website header (my name) Sticky navbar Navbar blurs the background behind it Custom scroll bar on the entire website, including modals DARK MODE Different topographic background color Different colors The toggle changes with each click Music player modal Opens up a modal Plays a song User can exit out of the modal by clicking the “x” button or clicking on the window outside of the modal Navbar uses anchor links to scroll smoothly to sections Informative glass cards that get slightly larger when the user hovers over them The background behind the glass cards is blurred 4 interest modals Music modal: what instruments I play, my SPOTIFY playlists Traveling modal: travel recommendations with reviews Art modal: art gallery with a informative overlay on top of the art images that show up when the user hovers overs an image Books modal: book recommendations with reviews Projects section Several glass cards that get larger when hovered over Two links fade in when the user hovers over the card, which open up in a new tab Achievements section Sliding marquee When user hovers over the marquee, it stops, allowing the user to read the text Contact section Two image links that bring the user to my email and github page in a separate tab On the modals, as the user starts to scroll down, a scroll back to top button pops up, bringing the user back to the top of the modal so they can click the “x” button Credits: To create this website, I used some help of AI to assist with spacing problems and other minor details. I also used some YouTube videos to help me create some awesome features, but I made sure to understand the code instead of just copying everything. I worked really hard on this website, and I hope you like it! NOTE: This website should not be viewed on phones, otherwise it’ll look weird. Laptops and desktop monitors are fine.", "repo": "https://github.com/shambhavi1205-bit/Hack-Club", "demo": "https://shambhavi1205-bit.github.io/Hack-Club/"}, {"ship_num": 2, "ts": "2026-08-06T23:23:41Z", "hours": 16.0, "multiplier": 7.39, "payout": 116, "blessing": "neutral", "text": "I made a personal website, which is my first ever coding/tech project. It features some information about me and four other pages about my interests with pictures. I am proud of figuring out how to make a functional website with multiple pages, though it took quite some time. I am also proud of how it looks - I really like the color scheme. I do plan on adding some extra animations, but later if I want to develop this website more. There were many challenges because I don’t know how to code. Setting up hackatime was definitely hard! Also, the margin stuff got really confusing. I set big margins in the beginning because that’s what made the content move, but when I asked AI to help, it said that the margins were wrong. So I eventually just made a website with slightly large margins. I think I also did the animation weirdly with my AI generated portrait, so I also had to fix that. I did use AI, but in a limited way. I used it to understand some codes, and help me fix small things, but I always made sure to understand the lines of code before actually using it. Using my website is pretty simple - you just click on the buttons to go to different pages, and on each page is a home button bringing the user back to the home page. Also, I am going to add more books and places to my traveling and books pages! I hope you like my website!", "repo": "https://github.com/shambhavi1205-bit/Hack-Club", "demo": "https://shambhavi1205-bit.github.io/Hack-Club/"}]...
|
[{"post_id": 81920, "ts": "202 [{"post_id": 81920, "ts": "2026-10-23T01:58:19Z", "hours": 3.2364, "text": "DEVLOG #10!!!!!! I’m ready to ship!!!!! I created a music player that stays on the website everywhere. It contains a Javascript button that will start the music, and pause it. I also updated my README with all of the features that I have worked hard to add on my website. So excited to ship! Here is my music player!"}, {"post_id": 78234, "ts": "2026-10-10T02:17:22Z", "hours": 2.4539, "text": "DEVLOG #10!!! Yayyyyy!!!!!! I feel like I actually accomplished a lot in these 2-ish hours! I struggled with some features, but I was able to do it faster because I now am a little bit familiar with the basics of CSS and HTML. Not JS though. I used very little AI to guide me through the process, and I am confused why my Hackatime Dashboard says I used AI, which I really didn’t. I didn’t use it to code - I used it to explain to me how some things worked. NEW FEATURES: An accomplishments section with a marquee that pauses when the user hovers over it, which looks really neat A contact section with my email and github accounts I spaced out the sections so the anchor navbar scrolls to each section without other sections peeking in and distracting Figured out why the blur effect on the marquee was not working Started working on some of the color schemes for dark mode NEXT STEPS: Complete dark mode scheme Add some cute arrows here and there helping the viewer along the website SHIPPING!!! Please take a look at some pictures as usual! :)"}, {"post_id": 76275, "ts": "2026-10-03T01:35:42Z", "hours": 6.7547, "text": "DEVLOG #9 HIIII!!!!!!!!! I am actually so mad…upset, really. The thing is, I coded a simple slider for my achievements section, and now it disappeared! Well, at least I will show you some of the changes that I made. I think I am close to shipping it, but I need to finish the achievements section and the contacts section. FEATURES: Decided to center the cards on the website to make it look neater Completed the art modal with overlays over each picture explaining how I made it Added some Projects cards - when you hover over it, some links pop up, like to my websites Basically, I feel like I didn’t get much done. One day, I spent an hour working on the slider, but then it didn’t save. Then, I watched a YouTube video on how to simply create a slider which was looking really nice, but when I opened my website, it didn’t save again. Huh. It’s annoying, but hopefully I will figure it out. Below are some fun pictures about my website:"}, {"post_id": 66786, "ts": "2026-09-12T17:48:25Z", "hours": 7.1833, "text": "DEVLOG #8 Hi again! I haven’t worked on this project for a couple days since school started, so I decided to post a devlog at least for the hours I had done last week. In like 3 or 4 hours, I think I will be done with this personal website and then start my next project!!! Before on my first website, I had an about section with buttons below it for each interest, leading to a separate page on the same website. I wanted to make it more professional, so I removed the buttons and decided to style some cards with information on it. THINGS I ADDED: An ‘About Me’ glass card which expands when hovered over it In the ‘Interests’ section, four glass cards, which when hovered, open up a modal with more detailed information and playlists, reviews, recommendations, pictures, etc. A close button on the modal to close it, but the user can also click on the darkened window to close out of the modal Added some more travel recommendations A more subtle topographic background for the dark mode Changed the overall font of the text on the navbar and the text on the glass cards Extra info: I had some trouble positioning the glass cards, but for now I think it looks all right. NEXT STEPS: Add something next to the About Me glass card - maybe a picture or something? (I would love recommendations plz) Add a button that appears right after scrolling down on the modals that brings the user back to the top of the modal to close out of it if a user does not want or know how to exit by clicking the window Add the other sections Position each section in each viewport because I am having a lot of trouble separating them. I honestly don’t know how to do that, so I think that will take a lot of time. Below, I have attached some pics - and I’m sorry, I forgot to add a picture of the website in dark mode!"}, {"post_id": 59721, "ts": "2026-09-01T17:22:23Z", "hours": 8.0917, "text": "DEVLOG #7 HI everyone!!! So many updates for you!!!!! Since my first ship, I decided to make this personal website into a more professional one with cooler features. Don’t worry though, I have my first website saved in a different codespace! I have spent these 8 hours doing a lot of stuff! I started off with created a topographic background. I struggled to find the right image in Canva which would repeat correctly and wouldn’t look ‘broken.’ Next, I worked on the auto typing text which sort of describes me by saying “I am a musician, I am a coder, I am learning,” stuff like that. I created this awesome effect by following a YouTube video. I also added a moving gradient effect over my name and yes, I removed the banner with the scrabble tiles to create this new home page. After that, I spent a lot of time creating the sticky navbar. It was so confusing, especially because I wanted it to look perfect. In the end I also added a blur effect. Using another tutorial, I managed to create anchor links, which I had noticed on a couple of really good personal websites. Lastly, I designed a custom scrollbar, which I think really adds a nice touch. Right now, I am working on the dark mode button styling, and actually making it work. I removed all of the buttons and am working on to create it more professionally. If anyone wants the link to the old website, let me know! To make these changes, I used AI to help me debug the very confusing codes. Remember, I am still kind of new to HTML and CSS. I also tried learning some JavaScript from W3 Schools, but it does not make sense. If anyone knows a good resource to learn js, please tell me. Below, as usual, are a couple of pictures of my progress:"}, {"post_id": 42298, "ts": "2026-08-06T22:58:49Z", "hours": 1.16, "text": "LAST DEVLOG (#6) I’m DONE!!!!!!!!!!!!!!!!!! I just fixed the buttons on the home page, using a little bit of AI, but I definitely made sure to understand each line of code it fixed. I also added a quote and footer at the bottom of the website because there was a lot of blank space that I didn’t know how to get rid of, so I decided to add content. Well, I hope you all like my website!"}, {"post_id": 42177, "ts": "2026-08-06T19:54:53Z", "hours": 3.7856, "text": "DEVLOG #5 Hi again! So I got all of the pages about my interests done. After my first ship, I plan on kind of making them into a blog. I will write a lot more reviews on a lot more books on the books page and more reviews on the traveling page for more places that I’ve been to. My last step is to position the buttons on the home page which IS NOT WORKING!!! I think my margins are way too large and I have other large elements…and it’s still not working. Well, if anyone has any suggestions, that’d be great! Here are the pages:"}, {"post_id": 37155, "ts": "2026-07-29T17:30:09Z", "hours": 5.0958, "text": "DEVLOG #4!!! I got a lot done! I added the buttons about my interests at the bottom of the home page. The buttons lead to other pages on the same website with information of their own. Right now, I am done with one out of four pages, but now that I know the process, hopefully the other pages will go faster. I also decided agains adding Javascript because learning that would take a lot of time. On my traveling page, I have parallax scrolling, some images and text, and a button bringing the user back to the home page. Challenges included the margins for my traveling page, mainly because I wanted to wrap the text around the images. Also, I sort of accidentally deleted an html file, so it took some time trying to get that back. Next time, I should have all my pages done and move the buttons up…and be ready to ship! Take a look at some pictures of my website:"}, {"post_id": 34754, "ts": "2026-07-25T18:48:57Z", "hours": 3.1286, "text": "DEVLOG #3 Hello, again! I spent a lot of time learning CSS and arranging elements. I used AI a little bit to understand how to add graphics from Canva onto my website…and I also realized how to actually add commits into my codespace. I know I already started the website, but moving forward I will definitely remember to commit frequently!🤣 So, I added an AI generated image of myself with cool effects (if you hover the animation pauses) and a banner. I spent a lot of time on this because the animation stuff got really confusing. The challenges started happening with the margins. I think I set the numbers too big and it caused the images to be shifted down, so I don’t think I will mess with it more and just leave it. Since it’s my first time coding, this will be a project where I learn things. A lot of time was spent playing around with the banner. Soon, I hope to add little buttons at the bottom bringing the user to pages that talk about my hobbies. I plan to add cool scrolling, picture carousels, etc. Below are a couple of screenshots - sorry I couldn’t add a video!"}, {"post_id": 30351, "ts": "2026-07-17T20:29:11Z", "hours": 1.6864, "text": "DEVLOG #2 Hi! Today I mainly focused on learning CSS basics. I spaced the text on the website page, changed fonts, chose colors that I thought looked nice, and added some cool effects. The challenge was adding a new font from Google Fonts into my codespace. For a while, I had put it in my CSS file, and when I pasted it into my HTML file, it worked! The next time I work I hope to start adding graphics onto my page."}, {"post_id": 29720, "ts": "2026-07-16T20:13:30Z", "hours": 0.8933, "text": "DEVLOG #1 Hello!!!! I finally started working on my personal website! I am completely new to coding, and it was definitely challenging trying to learn HTML! Today I mainly used W3 schools to understand the basics, and I started putting some content on the page. I created an HTML and CSS file. In fact, I planned my website out on paper because I wanted to sort of visualize how I wanted it to turn out. I actually changed the color of the text in HTML when I realized I should probably put it in my CSS file. I removed those lines of code and I will most likely do that next time. Next time I work on the website, I want to change the text color, font, and align the text. I may also research how to add some graphics onto the website as images."}]...
|
Title: Me!!! by @Shambhavi | Stardance
Devlogs:
D Title: Me!!! by @Shambhavi | Stardance
Devlogs:
DEVLOG #1 Hello!!!! I finally started working on my personal website! I am completely new to coding, and it was definitely challenging trying to learn HTML! Today I mainly used W3 schools to understand the basics, and I started putting some content on the page. I created an HTML and CSS file. In fact, I planned my website out on paper because I wanted to sort of visualize how I wanted it to turn out. I actually changed the color of the text in HTML when I realized I should probably put it in my CSS file. I removed those lines of code and I will most likely do that next time. Next time I work on the website, I want to change the text color, font, and align the text. I may also research how to add some graphics onto the website as images.
DEVLOG #2 Hi! Today I mainly focused on learning CSS basics. I spaced the text on the website page, changed fonts, chose colors that I thought looked nice, and added some cool effects. The challenge was adding a new font from Google Fonts into my codespace. For a while, I had put it in my CSS file, and when I pasted it into my HTML file, it worked! The next time I work I hope to start adding graphics onto my page.
DEVLOG #3 Hello, again! I spent a lot of time learning CSS and arranging elements. I used AI a little bit to understand how to add graphics from Canva onto my website…and I also realized how to actually add commits into my codespace. I know I already started the website, but moving forward I will definitely remember to commit frequently!🤣 So, I added an AI generated image of myself with cool effects (if you hover the animation pauses) and a banner. I spent a lot of time on this because the animation stuff got really confusing. The challenges started happening with the margins. I think I set the numbers too big and it caused the images to be shifted down, so I don’t think I will mess with it more and just leave it. Since it’s my first time coding, this will be a project where I learn things. A lot of time was spent playing around with the banner. Soon, I hope to add little buttons at the bottom bringing the user to pages that talk about my hobbies. I plan to add cool scrolling, picture carousels, etc. Below are a couple of screenshots - sorry I couldn’t add a video!
DEVLOG #4!!! I got a lot done! I added the buttons about my interests at the bottom of the home page. The buttons lead to other pages on the same website with information of their own. Right now, I am done with one out of four pages, but now that I know the process, hopefully the other pages will go faster. I also decided agains adding Javascript because learning that would take a lot of time. On my traveling page, I have parallax scrolling, some images and text, and a button bringing the user back to the home page. Challenges included the margins for my traveling page, mainly because I wanted to wrap the text around the images. Also, I sort of accidentally deleted an html file, so it took some time trying to get that back. Next time, I should have all my pages done and move the buttons up…and be ready to ship! Take a look at some pictures of my website:
DEVLOG #5 Hi again! So I got all of the pages about my interests done. After my first ship, I plan on kind of making them into a blog. I will write a lot more reviews on a lot more books on the books page and more reviews on the traveling page for more places that I’ve been to. My last step is to position the buttons on the home page which IS NOT WORKING!!! I think my margins are way too large and I have other large elements…and it’s still not working. Well, if anyone has any suggestions, that’d be great! Here are the pages:
LAST DEVLOG (#6) I’m DONE!!!!!!!!!!!!!!!!!! I just fixed the buttons on the home page, using a little bit of AI, but I definitely made sure to understand each line of code it fixed. I also added a quote and footer at the bottom of the website because there was a lot of blank space that I didn’t know how to get rid of, so I decided to add content. Well, I hope you all like my website!
DEVLOG #7 HI everyone!!! So many updates for you!!!!! Since my first ship, I decided to make this personal website into a more professional one with cooler features. Don’t worry though, I have my first website saved in a different codespace! I have spent these 8 hours doing a lot of stuff! I started off with created a topographic background. I struggled to find the right image in Canva which would repeat correctly and wouldn’t look ‘broken.’ Next, I worked on the auto typing text which sort of describes me by saying “I am a musician, I am a coder, I am learning,” stuff like that. I created this awesome effect by following a YouTube video. I also added a moving gradient effect over my name and yes, I removed the banner with the scrabble tiles to create this new home page. After that, I spent a lot of time creating the sticky navbar. It was so confusing, especially because I wanted it to look perfect. In the end I also added a blur effect. Using another tutorial, I managed to create anchor links, which I had noticed on a couple of really good personal websites. Lastly, I designed a custom scrollbar, which I think really adds a nice touch. Right now, I am working on the dark mode button styling, and actually making it work. I removed all of the buttons and am working on to create it more professionally. If anyone wants the link to the old website, let me know! To make these changes, I used AI to help me debug the very confusing codes. Remember, I am still kind of new to HTML and CSS. I also tried learning some JavaScript from W3 Schools, but it does not make sense. If anyone knows a good resource to learn js, please tell me. Below, as usual, are a couple of pictures of my progress:
DEVLOG #8 Hi again! I haven’t worked on this project for a couple days since school started, so I decided to post a devlog at least for the hours I had done last week. In like 3 or 4 hours, I think I will be done with this personal website and then start my next project!!! Before on my first website, I had an about section with buttons below it for each interest, leading to a separate page on the same website. I wanted to make it more professional, so I removed the buttons and decided to style some cards with information on it. THINGS I ADDED: An ‘About Me’ glass card which expands when hovered over it In the ‘Interests’ section, four glass cards, which when hovered, open up a modal with more detailed information and playlists, reviews, recommendations, pictures, etc. A close button on the modal to close it, but the user can also click on the darkened window to close out of the modal Added some more travel recommendations A more subtle topographic background for the dark mode Changed the overall font of the text on the navbar and the text on the glass cards Extra info: I had some trouble positioning the glass cards, but for now I think it looks all right. NEXT STEPS: Add something next to the About Me glass card - maybe a picture or something? (I would love recommendations plz) Add a button that appears right after scrolling down on the modals that brings the user back to the top of the modal to close out of it if a user does not want or know how to exit by clicking the window Add the other sections Position each section in each viewport because I am having a lot of trouble separating them. I honestly don’t know how to do that, so I think that will take a lot of time. Below, I have attached some pics - and I’m sorry, I forgot to add a picture of the website in dark mode!
DEVLOG #9 HIIII!!!!!!!!! I am actually so mad…upset, really. The thing is, I coded a simple slider for my achievements section, and now it disappeared! Well, at least I will show you some of the changes that I made. I think I am close to shipping it, but I need to finish the achievements section and the contacts section. FEATURES: Decided to center the cards on the website to make it look neater Completed the art modal with overlays over each picture explaining how I made it Added some Projects cards - when you hover over it, some links pop up, like to my websites Basically, I feel like I didn’t get much done. One day, I spent an hour working on the slider, but then it didn’t save. Then, I watched a YouTube video on how to simply create a slider which was looking really nice, but when I opened my website, it didn’t save again. Huh. It’s annoying, but hopefully I will figure it out. Below are some fun pictures about my website:
DEVLOG #10!!! Yayyyyy!!!!!! I feel like I actually accomplished a lot in these 2-ish hours! I struggled with some features, but I was able to do it faster because I now am a little bit familiar with the basics of CSS and HTML. Not JS though. I used very little AI to guide me through the process, and I am confused why my Hackatime Dashboard says I used AI, which I really didn’t. I didn’t use it to code - I used it to explain to me how some things worked. NEW FEATURES: An accomplishments section with a marquee that pauses when the user hovers over it, which looks really neat A contact section with my email and github accounts I spaced out the sections so the anchor navbar scrolls to each section without other sections peeking in and distracting Figured out why the blur effect on the marquee was not working Started working on some of the color schemes for dark mode NEXT STEPS: Complete dark mode scheme Add some cute arrows here and there helping the viewer along the website SHIPPING!!! Please take a look at some pictures as usual! :)
DEVLOG #10!!!!!! I’m ready to ship!!!!! I created a music player that stays on the website everywhere. It contains a Javascript button that will start the music, and pause it. I also updated my README with all of the features that I have worked hard to add on my website. So excited to ship! Here is my music player!
Ships:
I made a personal website, which is my first ever coding/tech project. It features some information about me and four other pages about my interests with pictures. I am proud of figuring out how to make a functional website with multiple pages, though it took quite some time. I am also proud of how it looks - I really like the color scheme. I do plan on adding some extra animations, but later if I want to develop this website more. There were many challenges because I don’t know how to code. Setting up hackatime was definitely hard! Also, the margin stuff got really confusing. I set big margins in the beginning because that’s what made the content move, but when I asked AI to help, it said that the margins were wrong. So I eventually just made a website with slightly large margins. I think I also did the animation weirdly with my AI generated portrait, so I also had to fix that. I did use AI, but in a limited way. I used it to understand some codes, and help me fix small things, but I always made sure to understand the lines of code before actually using it. Using my website is pretty simple - you just click on the buttons to go to different pages, and on each page is a home button bringing the user back to the home page. Also, I am going to add more books and places to my traveling and books pages! I hope you like my website!
Hi guys! This is a second ship of my personal website, but it is completely changed with more features from ship #1 (I still have it though!). Creating this website was very fun. I don’t know much about coding, and this was a fun and creative way to learn some HMTL, CSS, and JavaScript. Here are some cool features of my website, which can also be seen in the README: Cool topographic background on the entire website, except for modals Auto typing text Flowing gradient background on website header (my name) Sticky navbar Navbar blurs the background behind it Custom scroll bar on the entire website, including modals DARK MODE Different topographic background color Different colors The toggle changes with each click Music player modal Opens up a modal Plays a song User can exit out of the modal by clicking the “x” button or clicking on the window outside of the modal Navbar uses anchor links to scroll smoothly to sections Informative glass cards that get slightly larger when the user hovers over them The background behind the glass cards is blurred 4 interest modals Music modal: what instruments I play, my SPOTIFY playlists Traveling modal: travel recommendations with reviews Art modal: art gallery with a informative overlay on top of the art images that show up when the user hovers overs an image Books modal: book recommendations with reviews Projects section Several glass cards that get larger when hovered over Two links fade in when the user hovers over the card, which open up in a new tab Achievements section Sliding marquee When user hovers over the marquee, it stops, allowing the user to read the text Contact section Two image links that bring the user to my email and github page in a separate tab On the modals, as the user starts to scroll down, a scroll back to top button pops up, bringing the user back to the top of the modal so they can click the “x” button Credits: To create this website, I used some help of AI to assist with spacing problems and other minor details. I also used some YouTube videos to help me create some awesome features, but I made sure to understand the code instead of just copying everything. I worked really hard on this website, and I hope you like it! NOTE: This website should not be viewed on phones, otherwise it’ll look weird. Laptops and desktop monitors are fine....
|
1792983287.36698
|
1793069687.36698
|
|
34808
|
Chess Game App in Web by @srimaan-gande | Stardanc Chess Game App in Web by @srimaan-gande | Stardance...
|
srimaan-gande
|
1
|
192.0
|
194
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-20T03:07:36Z", "hours": 48.0, "multiplier": 4.28, "payout": 194, "blessing": "neutral", "text": "Javascript Chess Game Credit: Abdul at THE SOLUTION HUB A fully-featured chess game built with vanilla JavaScript, jQuery, and CSS. Features complete standard chess rules plus advanced tournament rules. Features Implemented Core Chess Rules Standard piece movement : King, Queen, Rook, Bishop, Knight, Pawn Capture mechanics : Standard captures with algebraic notation (e.g., exd5 , Nxf3 ) Check detection : Real-time check status display Checkmate detection : Automatic game end with # notation Stalemate detection : Draw when no legal moves and not in check Castling : Kingside (O-O) and Queenside (O-O-O) with full validation King and rook must not have moved Path must be clear King cannot be in, move through, or end in check Pawn promotion : Automatic queen promotion on 8th/1st rank Advanced Rules En Passant : Capture pawn that moved two squares Visual highlight of en passant target square Correct capture mechanics (removes pawn from adjacent rank) Only available immediately after opponent’s double-move Threefold Repetition : Automatic draw detection Tracks full position including castling rights and en passant Draws when same position occurs 3 times Alert notification on draw Fifty-Move Rule : Automatic draw detection Half-move clock resets on pawn moves and captures Draws after 100 half-moves (50 full moves) without progress Alert notification on draw Draw by Agreement : “Offer Draw” button with confirmation Resignation : “Resign” button with confirmation dialog Visual Design (8-bit/Arcade Theme) Fonts : Press Start 2P (headers) + VT323 (monospace) CRT scanline overlay : Subtle horizontal lines Vignette effect : Darkened edges Pixel-perfect borders : 2px solid with inset shadows Neon glow effects : White/amber/red text shadows Hover animations : Scale + glow on squares Valid move pulse : Animated glow on legal destinations Custom scrollbars : Arcade-styled for move list Game over modal : Alert dialogs for checkmate/stalemate/draw User Interface Objects Turn display : “It’s White’s Turn!” / “It’s Black’s Turn” Status display : CHECK, CHECKMATE, STALEMATE, DRAW states with pulsing animations Move list panel : Side panel with numbered moves Control buttons : Restart, Offer Draw, Resign Responsive layout : Flexbox side-by-side (board + move list) Rank/file labels : 1-8 and a-h with grid positioning Controls Click piece → Select (shows legal moves) Click highlighted square → Move piece Click own piece → Switch selection Restart Game → Reset to initial position Offer Draw → Propose draw to opponent Resign → Concede the game", "repo": "https://github.com/tutugoy/chess-game-app", "demo": "https://tutugoy.github.io/chess-game-app/"}]...
|
[{"post_id": 42830, "ts": "202 [{"post_id": 42830, "ts": "2026-08-07T19:27:06Z", "hours": 10.0, "text": "Chess game update I am posting this devlog to save my time that I worked on. I don’t have anything major to report, because currently, I am changing the CSS on the board, and mainly fixed issues related to the buttons and the mood bar because I didn’t connect them properly to the rest of the menu. But with this devlog, I also want to share my idea of what the game will be in the future. Chess is a basic game that anyone can make, so my plan is to make it into an actual single player game . With this, there will be a storyline of sorts, with bosses, quests, and more (similar to the Super Mario deluxe game). My main doubt is should I make it into a game like this and keep the same chess aspect, or if I should I add more modifications, like powerups or smth."}, {"post_id": 41385, "ts": "2026-08-05T15:46:13Z", "hours": 10.0, "text": "Chess game update - mood bar This is yesterdays update because I forgot to post, but this time, I reverted my changes back to the arcade CSS because the menu and promotion wasn’t working correctly, and so I thought going element by element might be more efficient and easier for me to catch bugs. This update adds new button CSS that is sort of like Duolingo’s buttons, but I found some on Uiverse that I liked which I used. ( https://uiverse.io/snooka1/soft-quail-12 ). I also found a range slider on FreeFrontend.com ( https://freefrontend.com/css-range-sliders/ , called Neumorphism - Range Slider) that I modified to keep a face on the top for the difficulty, and then also made a bar behind it with the same color turning from green to red as it increases. I plan on making more changes to the overall CSS today as well."}, {"post_id": 40491, "ts": "2026-08-04T01:55:10Z", "hours": 11.0, "text": "Chess game - CSS Update Today, i removed all the arcade themed CSS. This includes: The game board The font The scanlines (that nobody could rly see) The scanlines on each game board slot (also which nobody could see) The grey and white board color The glow effect on everything So right now, its pretty bare. I do want to note that the promotion dial and the menu are not working properly right now because I removed some CSS. I will fix that tmrw. I am also currently working on making ideas for the duolingo slab design theme, and it will prob include interactive buttons and overall better scheme."}, {"post_id": 39275, "ts": "2026-08-02T04:26:35Z", "hours": 13.0, "text": "Chess game update As mentioned yesterday, I was working on a fairly new update. This time, I took the code for the dial for promotion, and replicated it to make a small menu that fits all of the commands of the following: Resigning Offering a Draw Restarting the game Flipping Board Move takeback (center button) For some reason, the move takeback button also doesn’t work, so I plan on fixing that as well as making the CSS better. I realized that the whole design isn’t as user friendly, and I kind of just did whatever I could to fit the theme, and that takes away from the goal of proper UI. I really like duolingo’s style of buttons and UI, so I will try to replication it in my own way if possible. This obviously will take a long time, so I am guessing this update will finish in 2-3 days optimistically. Btw link to project if you want to test: https://tutugoy.github.io/chess-game-app/"}, {"post_id": 38574, "ts": "2026-08-01T01:47:41Z", "hours": 9.0, "text": "Chess progress I am currently working on more functionality abilities and fixing some newfound bugs in the code. I don’t want to spoil just yet but I really liked the dial for the promotion, so I want to build on that feature with everything else. I understand this will be a difficult task, but by doing this, I can make the app much more functional! (I am currently coding the JS so I don’t have any good pictures to show so here is the old pic) Like I said, tomorrow I will have something good to show!"}, {"post_id": 38150, "ts": "2026-07-31T12:06:34Z", "hours": 9.0, "text": "Chess update - Promotion! I finished the promotion code today! Although I have mentioned it before, here is a summary of how it works. You go to the end, and a dial with 4 pieces appears. Choose yours and you will become that piece. I fixed the issue with the turn ending at the wrong time as well, which is good. But when doing this, I ran into a couple problems. Firstly, the game didn’t count any pieces taken for my pawn to promote. For example, if a white pawn was on g7 and a black rook on h8, the pawn should have the ability to take the rook and promote on the white turn. Although this happens visually, the game counts the rook as still alive. This is an issue I am currently working on right now."}, {"post_id": 37415, "ts": "2026-07-30T03:35:07Z", "hours": 9.0, "text": "Chess game update This is a major advancement in my pawn promotion mechanics. Since yesterday I have been working on pawn promotion, and I figured the best way could be a sort of dial. As you can see in the picture, this is what the dial will look like when trying to promote, and when clicking on one of the pieces, that piece will be selected. Super simple is what I thought at first, but it was much worse than that. Building the dial was an utter pain. The CSS features kept making it into a square that was twisted where it connected to all the sides where the sections split. The center was supposed to be hollow, but I am still unsure on its main use, so I kept it solid for now. The promotion works, but 2 main issues arise. Firstly, if I click out of promotion dial, it ends my turn without me doing anything. So I don’t even get to make a move at all. Secondly, if I click any of the pieces, it is still my turn for some reason. I believe the issue is that my JS counts clicking a legal square to move to as the end of my turn, which is why it is doing this. I will fix the rest tomorrow as I believe taking time to rest might help me think of a solution."}, {"post_id": 36335, "ts": "2026-07-28T11:56:56Z", "hours": 10.0, "text": "Chess game updates I recently got my first ship rated and I understood what mistakes I made and what I needed to fix. I understood that even though the game was well made in terms of how it works, it wasn’t user friendly and the theme made it harder to see. Thanks to all who helped give feedback for this, and my first change is to make the pieces actual vectors. This was an issue all of the users pointed out, so I hope this fixes at least one of the problems. I will continue moving forward with this in mind, and I am currently working on my other changes as well. (This is the only one that properly is working so I wrote about it)"}, {"post_id": 35304, "ts": "2026-07-26T16:57:03Z", "hours": 8.0, "text": "Chess update - bug fixes and initial work on Auto saving I used my time today to just update some other features that had bugs that I haven’t fixed yet, like the clock sometimes doesn’t work between turns. I also started working on Auto Saving so that the game saves in local storage so you could resume later, but it isn’t looking very good right now because I messed with the wrong code and the entire thing broke. I need to fix that tomorrow but overall this was a mostly successful use of time."}, {"post_id": 34601, "ts": "2026-07-25T13:44:43Z", "hours": 9.0, "text": "Chess game update Loading and saving games is now a feature as well. The app will export a JSON file containing data of the match, including time left for both sides, which pieces are still on the board, and the movelist as well. In addition, I have fixed bugs with the take back button, where it was removing pieces from the board entirely. I will focus on addition promotion tomorrow as I haven’t done that yet."}, {"post_id": 34026, "ts": "2026-07-24T13:25:10Z", "hours": 9.0, "text": "Chess game update - functionality I added a game clock (10 mins for now) and the take back move button. These are just functionality changes not anything major. it took a while because I also had to figure out how to make the clocks go around after the board was flipped so it was taking a long time for that. Also the game now has to read the move list and revert changes to the board for the move back so that also took long. I need to fix some issues with the clock, something I am working on now."}, {"post_id": 33846, "ts": "2026-07-24T02:48:00Z", "hours": 2.0, "text": "Chess game update - more functionality I have spent this time fixing the numerous issues that came with flipping the board, including deleting the pieces, changing their positions, making the move list somehow go into the negatives, and more I didn’t even notice but the console did. I had to perform a git restore to remove the changes and recode the entire thing again. It did workout and now it works well."}, {"post_id": 33441, "ts": "2026-07-23T12:10:29Z", "hours": 10.0, "text": "Chess game update I am currently trying to fix some issues when implementing the stockfish engine as it is too strong at level 1. This is proving to be a big challenge but I will be able to complete it soon. While doing so, I also thought of improving some functionality and I have added a feature to flip the board. This feature also has a lot of issues and both will most likely be fixed in the next devlog."}, {"post_id": 33130, "ts": "2026-07-22T19:15:52Z", "hours": 9.0, "text": "Chess Game update - Stockfish Engine Yesterday I started working on a stockfish engine for my game. I finished it today and it has some very strong features. You can now play in 3 modes: PvP PvE (Player plays as white) PvE (Player plays as Black) I used the LiChess stockfish engine to complete this part of the project (Link to release: https://github.com/lichess-org/stockfish.js/releases/tag/ddugovic-250718 ) The engine has all the features to calculate the best moves and complete them. To make it easier, I added a level system from 1-20 so that the bot is easier or harder to beat, but after testing, I found that the bot takes longer to respond with a move when its at level 20 and is still very smart and powerful at level 1. I think I may have integrated the engine incorrectly when connecting it to my current project, so in my next update, I will be fixing this issue."}, {"post_id": 32657, "ts": "2026-07-21T23:05:55Z", "hours": 8.0, "text": "Chess game update I am currently working on building a bot you can play against. It is very tough to find another person to play with especially on the same screen/device so this could fix that issue very easily. The bot will be stockfish and make moves for either black or white. For now, I will code it just for black and make it for white later. This devlog is for me to log my hours, but the bot is nearly finished and will take me a little more time. This also introduces the need to switch from white to black, so in the future I will be adding that feature as well."}, {"post_id": 32121, "ts": "2026-07-21T02:01:49Z", "hours": 0.0, "text": "Chess game fix quick For some reason King + Knight VS King was not working from my last update, which was because I did not properly edit the code. I have fixed the issue and that should be working now. This devlog isn’t major or an update but just a fix."}, {"post_id": 31992, "ts": "2026-07-20T20:34:58Z", "hours": 8.0, "text": "Chess game update Today I added the insufficient material feature. It took me a while to figure out because I was trying to use formulas and math to make the code analyze if a certain set of pieces can lead to a checkmate, but I realized that instead of calculating, I can just find which combinations of pieces cannot lead to checkmate, and then list those pieces in the code for the game to constantly check, and then determine if its a stalemate/draw. Below is the combinations of pieces that cannot lead to a checkmate that my code checks and accounts for: King vs King King + Bishop vs King King + Knight vs King King + Bishop vs King + Bishop (same color squares)"}, {"post_id": 31566, "ts": "2026-07-20T02:23:14Z", "hours": 3.0, "text": "Chess game final update before shipping This is my final update for the chess game. In this update I added sound effects and fixed some final issues before shipping."}, {"post_id": 31232, "ts": "2026-07-19T14:01:17Z", "hours": 7.0, "text": "Chess game fix So far, I worked on fixing the bug in my code which made my pieces disappear as mentioned last time. I am also currently working on trying to add sound effects to make the game more interesting to play and use. This devlog so that I log my hours and I will be posting another one soon."}, {"post_id": 31017, "ts": "2026-07-19T02:30:11Z", "hours": 9.0, "text": "Chess game updates Today, I made some decent functionality changes. It took very long because I couldn’t figure it out for a while because I had to do research on how to, but I figured out how to do the en passant, threefold repetition, and 50 move rule by updating the JS. I also fixed the previous issue where when the player is in check by another, they can’t block it with another piece, even if they should be able to. I was also able to fix this issue as well. Unfortunately, the logic of JS I made for the en passant, threefold repetition and 50 move rule introduced a new problem of erasing any piece that can be taken. For example, if a pawn is able to take another and I click on that pawn to see its possible moves, and then click on another piece, the opposing pawn disappears. I didn’t have enough time to fix the issue and will be working on it another time."}, {"post_id": 30466, "ts": "2026-07-18T01:40:46Z", "hours": 12.0, "text": "Chess game Update BIG I did a lot of work today in my chess engine. I had a lot of time and I was able to do a decent bit of research and use AI to find resources on making an old video game/arcade style design to the game board. Because of this, I spent a lot of time on CSS and JS, coding to fix the prior issues in my code as well as making changes so that it looks as good as it can. Firstly, the pieces can finally be moved only where they should. Before, any piece could move anywhere by clicking the square, unless it was already occupied. Now I fixed the javascript code so that the code checks if that piece can legally move there and stops it otherwise. I also added the ability to castle for both black and white for more functionality. In addition, I also made the resign feature work for both black and white, as it changes who has the ability to resign based on if the current turn is White’s or Black’s. If it is white, for example, the resign button will say Resign (White) so white loses and black wins, and vice versa. Because the game already has so much code on checking pieces and their positions, I figured I could also add a list on the side that says which pieces have been moved so far. I didn’t exactly how to put it in algebric notation so after researching, I had the idea of basically taking the position of the piece’s sqaure, then use javascript to convert into the grid number, and then add the letters in front if the piece moved is any piece other than a pawn. The list also shows castling, checks and checkmates. The board was looking really bland so I did research on ways to make it an arcade/old style like I said before. I first starting to make a scanline on the screen by using CSS and duplicating gradients on the screen. It is very hard to see but it is there. Next, I made the game boxes better by making them seamless when placed next to each other. I also made the hover highlight the boxes instead of making them bigger like before. I also added more diagonal scanlines in them as well. Next, I made as many elements neon to make it bright. As I was making this I also research online that the scroll bar in webpages can be edited. So when the move list is truncated, it shows custom white scroll bars as well. I also found that you can make really cool effects when hovering over buttons, so using CSS I also made the buttons have a horizontal box that goes over to show the animation of the color changing, and I added angled boxes in the back of it that animate and lift, making the button look like its coming up. I will probably add more functionality next time."}, {"post_id": 29649, "ts": "2026-07-16T18:32:03Z", "hours": 5.0, "text": "Chess game Update This is my third update for the chess game. I wanted to add some more functionality to the game with features in more popular chess game engines like Chess.com where it has draw and resign features. I also added a restart game feature since it is single player, but currently there is an issue where the pieces persist at their prior position even though according to the game, they are not there. They button CSS is also not aligned and good compared to the gradient style with the rest of the page, so for the future, I plan on making it one single theme and keeping the page more organized."}, {"post_id": 29265, "ts": "2026-07-16T02:21:42Z", "hours": 5.0, "text": "Chess App Updates Today, I worked on making the app better by making it figure out checks, checkmates, and stalemates. I used AI to understand how to do this, and by using resources online, I also figured out how to input gradients and better CSS functionality for the app to look better. The code for checks and checkmates mainly relies on the JS where it looks at and detects if any legal moves are left for the king to continue in play. I still haven’t added functionality for it to stop pieces from going into positions they shouldn’t be able to. Overall that is the main things I did today."}, {"post_id": 28672, "ts": "2026-07-15T02:11:01Z", "hours": 3.0, "text": "Chess game today I made my first chess game board using this tutorial: https://www.youtube.com/watch?v=SS5amIbX0Mo&list=LL&index=3&t=56s using it I was able to follow along and run the code and use google to understand what each piece of code does to the overall project. Some limits to the project are that the game is able to move the pieces but does not recognize checks or checkmates. I will do more research and try to improve it as much as I can."}]...
|
Title: Chess Game App in Web by @srimaan-gande | S Title: Chess Game App in Web by @srimaan-gande | Stardance
Devlogs:
Chess game today I made my first chess game board using this tutorial: https://www.youtube.com/watch?v=SS5amIbX0Mo&list=LL&index=3&t=56s using it I was able to follow along and run the code and use google to understand what each piece of code does to the overall project. Some limits to the project are that the game is able to move the pieces but does not recognize checks or checkmates. I will do more research and try to improve it as much as I can.
Chess App Updates Today, I worked on making the app better by making it figure out checks, checkmates, and stalemates. I used AI to understand how to do this, and by using resources online, I also figured out how to input gradients and better CSS functionality for the app to look better. The code for checks and checkmates mainly relies on the JS where it looks at and detects if any legal moves are left for the king to continue in play. I still haven’t added functionality for it to stop pieces from going into positions they shouldn’t be able to. Overall that is the main things I did today.
Chess game Update This is my third update for the chess game. I wanted to add some more functionality to the game with features in more popular chess game engines like Chess.com where it has draw and resign features. I also added a restart game feature since it is single player, but currently there is an issue where the pieces persist at their prior position even though according to the game, they are not there. They button CSS is also not aligned and good compared to the gradient style with the rest of the page, so for the future, I plan on making it one single theme and keeping the page more organized.
Chess game Update BIG I did a lot of work today in my chess engine. I had a lot of time and I was able to do a decent bit of research and use AI to find resources on making an old video game/arcade style design to the game board. Because of this, I spent a lot of time on CSS and JS, coding to fix the prior issues in my code as well as making changes so that it looks as good as it can. Firstly, the pieces can finally be moved only where they should. Before, any piece could move anywhere by clicking the square, unless it was already occupied. Now I fixed the javascript code so that the code checks if that piece can legally move there and stops it otherwise. I also added the ability to castle for both black and white for more functionality. In addition, I also made the resign feature work for both black and white, as it changes who has the ability to resign based on if the current turn is White’s or Black’s. If it is white, for example, the resign button will say Resign (White) so white loses and black wins, and vice versa. Because the game already has so much code on checking pieces and their positions, I figured I could also add a list on the side that says which pieces have been moved so far. I didn’t exactly how to put it in algebric notation so after researching, I had the idea of basically taking the position of the piece’s sqaure, then use javascript to convert into the grid number, and then add the letters in front if the piece moved is any piece other than a pawn. The list also shows castling, checks and checkmates. The board was looking really bland so I did research on ways to make it an arcade/old style like I said before. I first starting to make a scanline on the screen by using CSS and duplicating gradients on the screen. It is very hard to see but it is there. Next, I made the game boxes better by making them seamless when placed next to each other. I also made the hover highlight the boxes instead of making them bigger like before. I also added more diagonal scanlines in them as well. Next, I made as many elements neon to make it bright. As I was making this I also research online that the scroll bar in webpages can be edited. So when the move list is truncated, it shows custom white scroll bars as well. I also found that you can make really cool effects when hovering over buttons, so using CSS I also made the buttons have a horizontal box that goes over to show the animation of the color changing, and I added angled boxes in the back of it that animate and lift, making the button look like its coming up. I will probably add more functionality next time.
Chess game updates Today, I made some decent functionality changes. It took very long because I couldn’t figure it out for a while because I had to do research on how to, but I figured out how to do the en passant, threefold repetition, and 50 move rule by updating the JS. I also fixed the previous issue where when the player is in check by another, they can’t block it with another piece, even if they should be able to. I was also able to fix this issue as well. Unfortunately, the logic of JS I made for the en passant, threefold repetition and 50 move rule introduced a new problem of erasing any piece that can be taken. For example, if a pawn is able to take another and I click on that pawn to see its possible moves, and then click on another piece, the opposing pawn disappears. I didn’t have enough time to fix the issue and will be working on it another time.
Chess game fix So far, I worked on fixing the bug in my code which made my pieces disappear as mentioned last time. I am also currently working on trying to add sound effects to make the game more interesting to play and use. This devlog so that I log my hours and I will be posting another one soon.
Chess game final update before shipping This is my final update for the chess game. In this update I added sound effects and fixed some final issues before shipping.
Chess game update Today I added the insufficient material feature. It took me a while to figure out because I was trying to use formulas and math to make the code analyze if a certain set of pieces can lead to a checkmate, but I realized that instead of calculating, I can just find which combinations of pieces cannot lead to checkmate, and then list those pieces in the code for the game to constantly check, and then determine if its a stalemate/draw. Below is the combinations of pieces that cannot lead to a checkmate that my code checks and accounts for: King vs King King + Bishop vs King King + Knight vs King King + Bishop vs King + Bishop (same color squares)
Chess game fix quick For some reason King + Knight VS King was not working from my last update, which was because I did not properly edit the code. I have fixed the issue and that should be working now. This devlog isn’t major or an update but just a fix.
Chess game update I am currently working on building a bot you can play against. It is very tough to find another person to play with especially on the same screen/device so this could fix that issue very easily. The bot will be stockfish and make moves for either black or white. For now, I will code it just for black and make it for white later. This devlog is for me to log my hours, but the bot is nearly finished and will take me a little more time. This also introduces the need to switch from white to black, so in the future I will be adding that feature as well.
Chess Game update - Stockfish Engine Yesterday I started working on a stockfish engine for my game. I finished it today and it has some very strong features. You can now play in 3 modes: PvP PvE (Player plays as white) PvE (Player plays as Black) I used the LiChess stockfish engine to complete this part of the project (Link to release: https://github.com/lichess-org/stockfish.js/releases/tag/ddugovic-250718 ) The engine has all the features to calculate the best moves and complete them. To make it easier, I added a level system from 1-20 so that the bot is easier or harder to beat, but after testing, I found that the bot takes longer to respond with a move when its at level 20 and is still very smart and powerful at level 1. I think I may have integrated the engine incorrectly when connecting it to my current project, so in my next update, I will be fixing this issue.
Chess game update I am currently trying to fix some issues when implementing the stockfish engine as it is too strong at level 1. This is proving to be a big challenge but I will be able to complete it soon. While doing so, I also thought of improving some functionality and I have added a feature to flip the board. This feature also has a lot of issues and both will most likely be fixed in the next devlog.
Chess game update - more functionality I have spent this time fixing the numerous issues that came with flipping the board, including deleting the pieces, changing their positions, making the move list somehow go into the negatives, and more I didn’t even notice but the console did. I had to perform a git restore to remove the changes and recode the entire thing again. It did workout and now it works well.
Chess game update - functionality I added a game clock (10 mins for now) and the take back move button. These are just functionality changes not anything major. it took a while because I also had to figure out how to make the clocks go around after the board was flipped so it was taking a long time for that. Also the game now has to read the move list and revert changes to the board for the move back so that also took long. I need to fix some issues with the clock, something I am working on now.
Chess game update Loading and saving games is now a feature as well. The app will export a JSON file containing data of the match, including time left for both sides, which pieces are still on the board, and the movelist as well. In addition, I have fixed bugs with the take back button, where it was removing pieces from the board entirely. I will focus on addition promotion tomorrow as I haven’t done that yet.
Chess update - bug fixes and initial work on Auto saving I used my time today to just update some other features that had bugs that I haven’t fixed yet, like the clock sometimes doesn’t work between turns. I also started working on Auto Saving so that the game saves in local storage so you could resume later, but it isn’t looking very good right now because I messed with the wrong code and the entire thing broke. I need to fix that tomorrow but overall this was a mostly successful use of time.
Chess game updates I recently got my first ship rated and I understood what mistakes I made and what I needed to fix. I understood that even though the game was well made in terms of how it works, it wasn’t user friendly and the theme made it harder to see. Thanks to all who helped give feedback for this, and my first change is to make the pieces actual vectors. This was an issue all of the users pointed out, so I hope this fixes at least one of the problems. I will continue moving forward with this in mind, and I am currently working on my other changes as well. (This is the only one that properly is working so I wrote about it)
Chess game update This is a major advancement in my pawn promotion mechanics. Since yesterday I have been working on pawn promotion, and I figured the best way could be a sort of dial. As you can see in the picture, this is what the dial will look like when trying to promote, and when clicking on one of the pieces, that piece will be selected. Super simple is what I thought at first, but it was much worse than that. Building the dial was an utter pain. The CSS features kept making it into a square that was twisted where it connected to all the sides where the sections split. The center was supposed to be hollow, but I am still unsure on its main use, so I kept it solid for now. The promotion works, but 2 main issues arise. Firstly, if I click out of promotion dial, it ends my turn without me doing anything. So I don’t even get to make a move at all. Secondly, if I click any of the pieces, it is still my turn for some reason. I believe the issue is that my JS counts clicking a legal square to move to as the end of my turn, which is why it is doing this. I will fix the rest tomorrow as I believe taking time to rest might help me think of a solution.
Chess update - Promotion! I finished the promotion code today! Although I have mentioned it before, here is a summary of how it works. You go to the end, and a dial with 4 pieces appears. Choose yours and you will become that piece. I fixed the issue with the turn ending at the wrong time as well, which is good. But when doing this, I ran into a couple problems. Firstly, the game didn’t count any pieces taken for my pawn to promote. For example, if a white pawn was on g7 and a black rook on h8, the pawn should have the ability to take the rook and promote on the white turn. Although this happens visually, the game counts the rook as still alive. This is an issue I am currently working on right now.
Chess progress I am currently working on more functionality abilities and fixing some newfound bugs in the code. I don’t want to spoil just yet but I really liked the dial for the promotion, so I want to build on that feature with everything else. I understand this will be a difficult task, but by doing this, I can make the app much more functional! (I am currently coding the JS so I don’t have any good pictures to show so here is the old pic) Like I said, tomorrow I will have something good to show!
Chess game update As mentioned yesterday, I was working on a fairly new update. This time, I took the code for the dial for promotion, and replicated it to make a small menu that fits all of the commands of the following: Resigning Offering a Draw Restarting the game Flipping Board Move takeback (center button) For some reason, the move takeback button also doesn’t work, so I plan on fixing that as well as making the CSS better. I realized that the whole design isn’t as user friendly, and I kind of just did whatever I could to fit the theme, and that takes away from the goal of proper UI. I really like duolingo’s style of buttons and UI, so I will try to replication it in my own way if possible. This obviously will take a long time, so I am guessing this update will finish in 2-3 days optimistically. Btw link to project if you want to test: https://tutugoy.github.io/chess-game-app/
Chess game - CSS Update Today, i removed all the arcade themed CSS. This includes: The game board The font The scanlines (that nobody could rly see) The scanlines on each game board slot (also which nobody could see) The grey and white board color The glow effect on everything So right now, its pretty bare. I do want to note that the promotion dial and the menu are not working properly right now because I removed some CSS. I will fix that tmrw. I am also currently working on making ideas for the duolingo slab design theme, and it will prob include interactive buttons and overall better scheme.
Chess game update - mood bar This is yesterdays update because I forgot to post, but this time, I reverted my changes back to the arcade CSS because the menu and promotion wasn’t working correctly, and so I thought going element by element might be more efficient and easier for me to catch bugs. This update adds new button CSS that is sort of like Duolingo’s buttons, but I found some on Uiverse that I liked which I used. ( https://uiverse.io/snooka1/soft-quail-12 ). I also found a range slider on FreeFrontend.com ( https://freefrontend.com/css-range-sliders/ , called Neumorphism - Range Slider) that I modified to keep a face on the top for the difficulty, and then also made a bar behind it with the same color turning from green to red as it increases. I plan on making more changes to the overall CSS today as well.
Chess game update I am posting this devlog to save my time that I worked on. I don’t have anything major to report, because currently, I am changing the CSS on the board, and mainly fixed issues related to the buttons and the mood bar because I didn’t connect them properly to the rest of the menu. But with this devlog, I also want to share my idea of what the game will be in the future. Chess is a basic game that anyone can make, so my plan is to make it into an actual single player game . With this, there will be a storyline of sorts, with bosses, quests, and more (similar to the Super Mario deluxe game). My main doubt is should I make it into a game like this and keep the same chess aspect, or if I should I add more modifications, like powerups or smth.
Ships:
Javascript Chess Game Credit: Abdul at THE SOLUTION HUB A fully-featured chess game built with vanilla JavaScript, jQuery, and CSS. Features complete standard chess rules plus advanced tournament rules. Features Implemented Core Chess Rules Standard piece movement : King, Queen, Rook, Bishop, Knight, Pawn Capture mechanics : Standard captures with algebraic notation (e.g., exd5 , Nxf3 ) Check detection : Real-time check status display Checkmate detection : Automatic game end with # notation Stalemate detection : Draw when no legal moves and not in check Castling : Kingside (O-O) and Queenside (O-O-O) with full validation King and rook must not have moved Path must be clear King cannot be in, move through, or end in check Pawn promotion : Automatic queen promotion on 8th/1st rank Advanced Rules En Passant : Capture pawn that moved two squares Visual highlight of en passant target square Correct capture mechanics (removes pawn from adjacent rank) Only available immediately after opponent’s double-move Threefold Repetition : Automatic draw detection Tracks full position including castling rights and en passant Draws when same position occurs 3 times Alert notification on draw Fifty-Move Rule : Automatic draw detection Half-move clock resets on pawn moves and captures Draws after 100 half-moves (50 full moves) without progress Alert notification on draw Draw by Agreement : “Offer Draw” button with confirmation Resignation : “Resign” button with confirmation dialog Visual Design (8-bit/Arcade Theme) Fonts : Press Start 2P (headers) + VT323 (monospace) CRT scanline overlay : Subtle horizontal lines Vignette effect : Darkened edges Pixel-perfect borders : 2px solid with inset shadows Neon glow effects : White/amber/red text shadows Hover animations : Scale + glow on squares Valid move pulse : Animated glow on legal destinations Custom scrollbars : Arcade-styled for move list Game over modal : Alert dialogs for checkmate/stalemate/draw User Interface Objects Turn display : “It’s White’s Turn!” / “It’s Black’s Turn” Status display : CHECK, CHECKMATE, STALEMATE, DRAW states with pulsing animations Move list panel : Side panel with numbered moves Control buttons : Restart, Offer Draw, Resign Responsive layout : Flexbox side-by-side (board + move list) Rank/file labels : 1-8 and a-h with grid positioning Controls Click piece → Select (shows legal moves) Click highlighted square → Move piece Click own piece → Switch selection Restart Game → Reset to initial position Offer Draw → Propose draw to opponent Resign → Concede the game...
|
1792882071.2105198
|
1793746071.2105198
|
|
43579
|
Dan's Website by @Marinho | Stardance
|
Marinho
|
3
|
22.0
|
194
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T17:13:55Z", "hours": 10.0, "multiplier": 13.49, "payout": 128, "blessing": "neutral", "text": "What I Built I created this portfolio not to hunt for jobs, but to have my own little space on the internet where I can freely share my projects, interests, and whatever I’m working on. The Challenge Design was definitely my main struggle. Since UI/UX isn’t my main stack, making things look decent took a lot of trial and error. The code wasn’t necessarily hard, it just took some time to figure things out. What I’m Proud Of On a personal level, I think having a space of my own to share things with the world is pretty crazy. Technically speaking, I’m super proud of how the API integration turned out and the custom 3D slider I built for the awards section.", "repo": "https://github.com/danielmcneto/personalwebsite", "demo": "https://danielmcneto.github.io/personalwebsite/"}, {"ship_num": 2, "ts": "2026-09-05T01:15:42Z", "hours": 5.0, "multiplier": 13.91, "payout": 66, "blessing": "neutral", "text": "What did I make: I built a website portifolio-like to show some of my projects, skills and achievements and show a little bit of me What was challenging: Ngl the CSS was so hard for some reason I just waste so much time trying to centralize things, also had a hard time with de design (u can see it lol) What I proud of: I proud of everthing actually. I learned a lot by making this project and I plan on adding new things like photos I took and really liked and musics I listen to", "repo": "https://github.com/danielmcneto/personalwebsite", "demo": "https://danielmcneto.github.io/personalwebsite/"}, {"ship_num": 3, "ts": "2026-08-05T00:24:11Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It’s not the final version, but it’s definitely something I’m proud of, I hope you guys like it Btw it now works fine on mobile devices", "repo": "https://github.com/danielmcneto/personalwebsite", "demo": "https://danielmcneto.github.io/personalwebsite/"}]...
|
[{"post_id": 73818, "ts": "202 [{"post_id": 73818, "ts": "2026-09-26T02:58:58Z", "hours": 1.9478, "text": "In this devlog I redesigns the Awards section with a 3D carousel, moves the intro heading, and keeps the content more focused on achievements I have proof of. I also updated the clock and Discord status fetch logic to update more with the Spotify request, added an scroll-reveal animation, and tweaked responsive styling for navigation, project sections, and mobile layouts. Overall it wasnt that hard since I have already make something similar on other project"}, {"post_id": 71566, "ts": "2026-09-21T02:08:26Z", "hours": 0.6686, "text": "Added a new integration with discord to show what I’m currently doing for exemple if you go see now it will be shoing I’m playing val. for the code I just copy and paste from the spotfy function and rewrite what was needed"}, {"post_id": 69893, "ts": "2026-09-18T00:57:45Z", "hours": 2.21, "text": "I added a mini 3D version of myself! It took me almost 2 hours of modeling, but I’m very happy with how it turned out. For anyone wondering, I used Blockbench (it sucks when it comes to texturing, I spent a lot of time redoing it)."}, {"post_id": 67655, "ts": "2026-09-13T20:09:16Z", "hours": 0.5758, "text": "I added the first hardware project to the page, I choose to use a different layout for this page cuz when we talk about hardware its very hard to someone to test it out so you have to write more about it than u do on software projects(where u can even put a “give it a try” link)"}, {"post_id": 64227, "ts": "2026-09-08T14:07:31Z", "hours": 0.8231, "text": "I fixed most of the performance issues. How? I just convert the images to webp and added lazy loading to the page, also I discorvered that when I go to the PageSpeed Insights from google it gives the site a low performance status (problably) because github pages dont have image compression and other nerd performance things The image below is a screen shot of the same test from google but running the local index.html file"}, {"post_id": 63916, "ts": "2026-09-07T23:15:56Z", "hours": 1.5894, "text": "Changes Changed the images of hardware and software buttons Workin on Currently working on the hardware project page(yeah the same thing of the preview devlog cuz I got excited to make the spotify integration) Wanna add A function to the dice cuz rn it just spins(I didnt think of anything for it so feel free to suggest anything) Struggles I had some error while trying to get the lanyard API to work cuz I did not know I had to be on the server(I kinda dumb as u can see lmao)"}, {"post_id": 63858, "ts": "2026-09-07T20:49:40Z", "hours": 1.7033, "text": "Changes Changed the projects section to subpages, so now you can choose to see software or hardware projects. Changed the background color to full black Changed the profile picture Workin on Currently working on the hardware project page Wanna add A spotfy section to show what I currently listen to A function to the dice cuz rn it just spins Struggles I have some troubles with the delploy, after I deployd the new version on github pages I went to see if all was workin but the site didnt updeted(on my browser cause for some reason Brave dont update the cache lol) I was going crazy for like 15m"}, {"post_id": 61213, "ts": "2026-09-04T01:14:01Z", "hours": 2.9869, "text": "I added a awards section to show some of my achievements, overall the project is basically a portifolio for me rn ngl, I really want to do some more interactable things but its kinda hard lol"}, {"post_id": 46869, "ts": "2026-08-14T12:39:33Z", "hours": 1.4281, "text": "I’m working on making this UI less boring, but I’m fresh out of ideas. I’d appreciate any concrete design tweaks to make it less boring LOL"}, {"post_id": 44589, "ts": "2026-08-10T13:36:11Z", "hours": 0.2992, "text": "Just updated the projects section"}, {"post_id": 40752, "ts": "2026-08-04T14:13:35Z", "hours": 4.0508, "text": "Just finished building the website with interactive 3D elements and my own projects. It’s fully deployed and hosted on GitHub Pages."}, {"post_id": 40354, "ts": "2026-08-03T20:01:05Z", "hours": 3.1097, "text": "Did the basic of the HTML and CSS, planning on do something with JS too Features: -A direct link to my github page -Direct links to my projects -3D rendering -Smooth scroll Planing: -Change the desing(going to spider-verse vibes) -Upload real projects Thx @nokira for the inspiration"}]...
|
Title: Dan's Website by @Marinho | Stardance
Title: Dan's Website by @Marinho | Stardance
Devlogs:
Did the basic of the HTML and CSS, planning on do something with JS too Features: -A direct link to my github page -Direct links to my projects -3D rendering -Smooth scroll Planing: -Change the desing(going to spider-verse vibes) -Upload real projects Thx @nokira for the inspiration
Just finished building the website with interactive 3D elements and my own projects. It’s fully deployed and hosted on GitHub Pages.
Just updated the projects section
I’m working on making this UI less boring, but I’m fresh out of ideas. I’d appreciate any concrete design tweaks to make it less boring LOL
I added a awards section to show some of my achievements, overall the project is basically a portifolio for me rn ngl, I really want to do some more interactable things but its kinda hard lol
Changes Changed the projects section to subpages, so now you can choose to see software or hardware projects. Changed the background color to full black Changed the profile picture Workin on Currently working on the hardware project page Wanna add A spotfy section to show what I currently listen to A function to the dice cuz rn it just spins Struggles I have some troubles with the delploy, after I deployd the new version on github pages I went to see if all was workin but the site didnt updeted(on my browser cause for some reason Brave dont update the cache lol) I was going crazy for like 15m
Changes Changed the images of hardware and software buttons Workin on Currently working on the hardware project page(yeah the same thing of the preview devlog cuz I got excited to make the spotify integration) Wanna add A function to the dice cuz rn it just spins(I didnt think of anything for it so feel free to suggest anything) Struggles I had some error while trying to get the lanyard API to work cuz I did not know I had to be on the server(I kinda dumb as u can see lmao)
I fixed most of the performance issues. How? I just convert the images to webp and added lazy loading to the page, also I discorvered that when I go to the PageSpeed Insights from google it gives the site a low performance status (problably) because github pages dont have image compression and other nerd performance things The image below is a screen shot of the same test from google but running the local index.html file
I added the first hardware project to the page, I choose to use a different layout for this page cuz when we talk about hardware its very hard to someone to test it out so you have to write more about it than u do on software projects(where u can even put a “give it a try” link)
I added a mini 3D version of myself! It took me almost 2 hours of modeling, but I’m very happy with how it turned out. For anyone wondering, I used Blockbench (it sucks when it comes to texturing, I spent a lot of time redoing it).
Added a new integration with discord to show what I’m currently doing for exemple if you go see now it will be shoing I’m playing val. for the code I just copy and paste from the spotfy function and rewrite what was needed
In this devlog I redesigns the Awards section with a 3D carousel, moves the intro heading, and keeps the content more focused on achievements I have proof of. I also updated the clock and Discord status fetch logic to update more with the Spotify request, added an scroll-reveal animation, and tweaked responsive styling for navigation, project sections, and mobile layouts. Overall it wasnt that hard since I have already make something similar on other project
Ships:
It’s not the final version, but it’s definitely something I’m proud of, I hope you guys like it Btw it now works fine on mobile devices
What did I make: I built a website portifolio-like to show some of my projects, skills and achievements and show a little bit of me What was challenging: Ngl the CSS was so hard for some reason I just waste so much time trying to centralize things, also had a hard time with de design (u can see it lol) What I proud of: I proud of everthing actually. I learned a lot by making this project and I plan on adding new things like photos I took and really liked and musics I listen to
What I Built I created this portfolio not to hunt for jobs, but to have my own little space on the internet where I can freely share my projects, interests, and whatever I’m working on. The Challenge Design was definitely my main struggle. Since UI/UX isn’t my main stack, making things look decent took a lot of trial and error. The code wasn’t necessarily hard, it just took some time to figure things out. What I’m Proud Of On a personal level, I think having a space of my own to share things with the world is pretty crazy. Technically speaking, I’m super proud of how the API integration turned out and the custom 3D slider I built for the awards section....
|
1792986835.1596596
|
1793073235.1596596
|
|
23816
|
Portfolio - Elijah Feldman by @elifeldman769 | Sta Portfolio - Elijah Feldman by @elifeldman769 | Stardance...
|
elifeldman769
|
1
|
12.0
|
192
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-19T15:52:13Z", "hours": 12.0, "multiplier": 16.3, "payout": 192, "blessing": "neutral", "text": "This is my personal website, built in React and hosted on Vercel. I designed most of it with smaller screens in mind first, since my hope was to render it best on the screen of phones, then made sure everything held up on desktop too, using different tailwind classnames for different screen sizes so pages fit well on small, medium, and large screens alike. The home page is smaller and vertically centered rather than using the full width like the rest of the site, since it’s the first thing anyone sees and I wanted it to feel right on a phone before anything else. On the top left of the navbar, it dynamically renders the current page name based on the url you’re on, and on small screens the links collapse into a hamburger button that opens into a full screen menu. For the gallery, I built an indexed system that automatically tiles a group of photos and displays them, hovering a photo reveals its caption sliding up from the bottom. Originally the captions came from the photo’s filename, split by underscore, so each member of that array got appended with spaces to become the string making up the name of the place, which is what shows up on hover. The gallery is much nicer now and loads quickly too, since I wrote a js script to go through each image and compress it, taking the photos from 40 MB down to about 4MB, meaning the page loads much much faster. The two photos that are actually portraits of me get compressed less aggressively than the rest so they stay sharp, since those are the ones I want search engines to associate with my name. I wanted to make sure the site would be easy to add to in the future, so the projects page pulls automatically from a JSON file. I specify a title, date, description, image path, and links, where I just give a tag name for each link and it renders in a unified button format. These are autopopulated with reference ids and jump to the right spot automatically, going straight to that project’s section, and they also get added to a table of contents at the top automatically, so adding a new project is just adding a JSON entry, nothing else. Publications works the same way, off its own JSON file, showing the paper’s title, authors with my own name auto-bolded, venue and year, and the same flexible tag and link buttons as projects. The CV page is taken from the latex code of my actual resume, restructured into that same JSON format so it renders natively on the site instead of just being an embedded PDF, with the option to download the compiled latex pdf too. The publications section on that page pulls from the exact same JSON file the publications page uses, so I only ever add a new paper in one place and both pages stay in sync. The blog has search and topic filtering over a list of posts, and each post’s actual content is a static html file that gets fetched dynamically based on the url, so writing a new post is dropping in an html file and a metadata entry rather than writing more react. Contact is just emails and socials, written with brackets around the at sign to dodge the most basic scrapers. I put the site on google search console with a sitemap so it gets indexed properly, and spent time making sure page titles, descriptions, and image metadata are set up right so photos of me actually have a shot at showing up when people search my name, without cluttering the site with extra images just for that purpose. Overall I really love the theme of this site, with the blue accents, I got some inspiration from other research portfolios I’d seen. Before this it was pretty scattered, without a gallery or projects page, and mostly just had the home page with a weird VantaJS background running on it. Now it’s a lot more complete: a dynamic gallery, a projects page and publications page that both pull from JSON so they’re easy to keep updated, a CV page sourced from my actual resume, and a blog that can actually grow instead of being one hardcoded post.", "repo": "https://github.com/ElijahFeldman7/portfolio", "demo": "https://elijahwfeldman.com"}]...
|
[{"post_id": 31277, "ts": "202 [{"post_id": 31277, "ts": "2026-07-19T15:40:04Z", "hours": 4.6214, "text": "Devlog II: Personal Portfolio The devlog today showcases in a sense more of a refinement with several large QOL updates, along with 2 more pages. Firstly, I optimized the site for mobile. All pages are now fit well for small or md screens by using different tailwind classnames for different screens. Second of all, the gallery is much nicer now and loads quickly, since I wrote a js script to go through each image and compress them. This took them from 40 MB -> 4MB, meaning the page loads much much faster. Next, I wanted to ensure that the site would be easy to add to in the future, so the projects page now pulls automatically from a JSON file. It can have tags for links that render in a unified format and I specify file path, description, title. These are autopopulated with reference ids and go to the table of contents automatically. I added a publications page to showcase my last paper, and those in the future to come. The CV is taken from latex code from my resume and is just a JSON structured format. It has the option to download the latex pdf too."}, {"post_id": 24201, "ts": "2026-07-07T16:47:34Z", "hours": 7.2322, "text": "Devlog I - Personal Website For a bit of context, I worked on this site earlier however before it was pretty scattered without a gallery, projects, and mostly just had the home page with a weird VantaJS background. I apoligize for not dev logging over the past 7 hours, since I got so caught up in dev work. For a brief overview, several features I built were: an indexed gallery system that would automatically tile a group of photos in a folder and display them. it would take the name of the photo and split it by _. for each member in the array, it would append it with spaces to become a string making the name of teh place that can be hovered over. On the top left of the navbar, it’ll dynamically render the url based on what page you are on The home page is smaller since my hope was to render it best on the screen of phones. I designed most of the site with smaller screens in mind For projects, I rendered a table of contexts that will jump to projects/#project based on the selected one, automatically going to that index of the page. I linked the code to previous project, bioblitz, however I still need to add more. I put the site on google search console with a sitemap so it will soon be indexed. Overall, I really love the theme of this site, with the blue accents. I got some inspiration from other research portfolios. In the future, I want to redo the blog page fully since it didn’t have much before but one not dynamically rendered post. Attached are some photos of the pages."}]...
|
Title: Portfolio - Elijah Feldman by @elifeldman76 Title: Portfolio - Elijah Feldman by @elifeldman769 | Stardance
Devlogs:
Devlog I - Personal Website For a bit of context, I worked on this site earlier however before it was pretty scattered without a gallery, projects, and mostly just had the home page with a weird VantaJS background. I apoligize for not dev logging over the past 7 hours, since I got so caught up in dev work. For a brief overview, several features I built were: an indexed gallery system that would automatically tile a group of photos in a folder and display them. it would take the name of the photo and split it by _. for each member in the array, it would append it with spaces to become a string making the name of teh place that can be hovered over. On the top left of the navbar, it’ll dynamically render the url based on what page you are on The home page is smaller since my hope was to render it best on the screen of phones. I designed most of the site with smaller screens in mind For projects, I rendered a table of contexts that will jump to projects/#project based on the selected one, automatically going to that index of the page. I linked the code to previous project, bioblitz, however I still need to add more. I put the site on google search console with a sitemap so it will soon be indexed. Overall, I really love the theme of this site, with the blue accents. I got some inspiration from other research portfolios. In the future, I want to redo the blog page fully since it didn’t have much before but one not dynamically rendered post. Attached are some photos of the pages.
Devlog II: Personal Portfolio The devlog today showcases in a sense more of a refinement with several large QOL updates, along with 2 more pages. Firstly, I optimized the site for mobile. All pages are now fit well for small or md screens by using different tailwind classnames for different screens. Second of all, the gallery is much nicer now and loads quickly, since I wrote a js script to go through each image and compress them. This took them from 40 MB -> 4MB, meaning the page loads much much faster. Next, I wanted to ensure that the site would be easy to add to in the future, so the projects page now pulls automatically from a JSON file. It can have tags for links that render in a unified format and I specify file path, description, title. These are autopopulated with reference ids and go to the table of contents automatically. I added a publications page to showcase my last paper, and those in the future to come. The CV is taken from latex code from my resume and is just a JSON structured format. It has the option to download the latex pdf too.
Ships:
This is my personal website, built in React and hosted on Vercel. I designed most of it with smaller screens in mind first, since my hope was to render it best on the screen of phones, then made sure everything held up on desktop too, using different tailwind classnames for different screen sizes so pages fit well on small, medium, and large screens alike. The home page is smaller and vertically centered rather than using the full width like the rest of the site, since it’s the first thing anyone sees and I wanted it to feel right on a phone before anything else. On the top left of the navbar, it dynamically renders the current page name based on the url you’re on, and on small screens the links collapse into a hamburger button that opens into a full screen menu. For the gallery, I built an indexed system that automatically tiles a group of photos and displays them, hovering a photo reveals its caption sliding up from the bottom. Originally the captions came from the photo’s filename, split by underscore, so each member of that array got appended with spaces to become the string making up the name of the place, which is what shows up on hover. The gallery is much nicer now and loads quickly too, since I wrote a js script to go through each image and compress it, taking the photos from 40 MB down to about 4MB, meaning the page loads much much faster. The two photos that are actually portraits of me get compressed less aggressively than the rest so they stay sharp, since those are the ones I want search engines to associate with my name. I wanted to make sure the site would be easy to add to in the future, so the projects page pulls automatically from a JSON file. I specify a title, date, description, image path, and links, where I just give a tag name for each link and it renders in a unified button format. These are autopopulated with reference ids and jump to the right spot automatically, going straight to that project’s section, and they also get added to a table of contents at the top automatically, so adding a new project is just adding a JSON entry, nothing else. Publications works the same way, off its own JSON file, showing the paper’s title, authors with my own name auto-bolded, venue and year, and the same flexible tag and link buttons as projects. The CV page is taken from the latex code of my actual resume, restructured into that same JSON format so it renders natively on the site instead of just being an embedded PDF, with the option to download the compiled latex pdf too. The publications section on that page pulls from the exact same JSON file the publications page uses, so I only ever add a new paper in one place and both pages stay in sync. The blog has search and topic filtering over a list of posts, and each post’s actual content is a static html file that gets fetched dynamically based on the url, so writing a new post is dropping in an html file and a metadata entry rather than writing more react. Contact is just emails and socials, written with brackets around the at sign to dodge the most basic scrapers. I put the site on google search console with a sitemap so it gets indexed properly, and spent time making sure page titles, descriptions, and image metadata are set up right so photos of me actually have a shot at showing up when people search my name, without cluttering the site with extra images just for that purpose. Overall I really love the theme of this site, with the blue accents, I got some inspiration from other research portfolios I’d seen. Before this it was pretty scattered, without a gallery or projects page, and mostly just had the home page with a weird VantaJS background running on it. Now it’s a lot more complete: a dynamic gallery, a projects page and publications page that both pull from JSON so they’re easy to keep updated, a CV page sourced from my actual resume, and a blog that can actually grow instead of being one hardcoded post....
|
1792976153.4187355
|
1793062553.4187355
|
|
35278
|
Chess Bot by @akshayK | Stardance
|
akshayK
|
1
|
26.0
|
192
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T02:24:30Z", "hours": 26.0, "multiplier": 7.28, "payout": 192, "blessing": "neutral", "text": "This is a browser based chess engine, where you can play against a bot that I made. You can play with both the white and the black pieces. One challenge that was hard to fix was making the chessboard appear. I spend well over 2 hours trying to make it appear, and I finally got it to work because my CDN was not properly configured, and the one I downloaded was not the right version. I am proud of actually getting the chess bot to work, let alone making it to the point where it can actually beat me, and other bots on chess.com. You can play against this by going to the releases page and downloading the zip file. The index.html file houses the webpage where you can play against the chess bot. Good luck on beating my chess bot! (and don’t use stockfish :) )", "repo": "https://github.com/AkshayK-960/chessbot/", "demo": "https://chessbot-pi.vercel.app/"}]...
|
[{"post_id": 78925, "ts": "202 [{"post_id": 78925, "ts": "2026-10-12T02:05:25Z", "hours": 1.7031, "text": "Devlog #8 I finally implemented playing both white and black for the chess bot! So, I think it is pretty much done. I also updated the README.md on Github so it aligns more with what actual readme files look like, and i polished some code so it is easier to tweak in case anyone wanted to do that. (everything is in script.js) Overall, I think this was a really fun journey and I definitely learned a lot about javascript, and about creating something efficient and fast. So, that’s pretty much it, you can play the bot on github, and I published a release for the chess bot. Have fun!"}, {"post_id": 73826, "ts": "2026-09-26T03:25:31Z", "hours": 1.2069, "text": "Devlog 7 I am finishing up the HTML layout and the content for my project, and I just now realized that the chessbot is broken again ;( So for the weekend, my first task will be to fix that (probably by getting the code from previous versions of the chess bot) and maybe some finshing touches on the CSS. I still haven’t writtin the README file yet. I will get to it soon. By the time I’m posting this, there are about 5 days until the deadline, so that would probably be one of the final things to add. PS: if you are close to done with your project, this is your reminder to lock in and ship the project, good luck :) Also the image is the website not working 😢"}, {"post_id": 66852, "ts": "2026-09-12T19:36:32Z", "hours": 1.5772, "text": "DEVLOG 6 I changed the CSS around a little bit, because it looked basic. Now, the website has a paper theme, so it looks easier on the eyes. I really like this theme because it looks polished (the chess board isn’t working in the picture, i’m working on fixing it.) The analysis link now works, and by clicking it, it redirects you to a lichess analysis board of the current game. The page looks plain, so if there is something I should add, you can tell me below. the only things I really need to add now is an option to play with the black pieces AND maybe add more in the “how it works’ section."}, {"post_id": 63645, "ts": "2026-09-07T15:51:35Z", "hours": 5.2158, "text": "Devlog 5 I finished implementing a new bitboard engine, since the old chess.js library was really slow, and it froze the screen. ALSO, the github link was not displaying the chessboard, and i spent well over 2 hours trying to debug this. But in the end, the chess bot would not work correctly if the board appears in the github website. So, for now, if you want to test the chess bot, you can click releases in the github and download & run the HTML file. I plan to let the player play the black side too, instead of only white. (I will update the github repo soon so there is an option to download) P.S. You can change the background image in the code, and I might make an option to change the image in the website soon)"}, {"post_id": 46658, "ts": "2026-08-14T02:43:57Z", "hours": 6.5964, "text": "Devlog #4 It’s been a while, but I’ve finally (mostly) finished with coding the chess bot. I might go back to it soon, but I want to focus more on the visuals, so I made a simple UI based on the chess.com/lichess layout. I also made it so you can customize the background by entering the image URL. I also implemented an evaluation engine (with a low depth) for a numerical value of the position on board. I wanted a higher evaluation depth, but it lags whenever it calculates the score. So, it should be either depth 2 or 3, even if the actual bot is thinking deeper. If you have any suggestions, you can comment them, and I will try to add them."}, {"post_id": 42290, "ts": "2026-08-06T22:35:01Z", "hours": 3.2325, "text": "Devlog 3: By now, I’ve realized that the github pages doesn’t work. :( But, I’m trying to fix it as of now. (You can download the github project and it works that way though) As for the actual game, I have improved it so that instead of a set depth, it searches for the best move for a set amount of time, and if there is still time left over from the search, it increases its depth by 1, and searches one more move deep. It normally searches 3-5 moves deep on my PC and ~3 moves on my chromebook. I tested it against the chess.com bots, and it beats the beginner and intermediate bots pretty consistently. I also played it against Wendy bot (1500 elo) and it won! (I did not expect it to win) Here’s the game, if anyone wants to analyze it themselves: [Event “Play vs Bot”] [Site “Chess.com”] [Date “2026.08.06”] [Round “-”] [White “Wendy-BOT”] [Black “Chess-Bot(Stardance)”] [Result “0-1”] [CurrentPosition “5k2/pp4R1/6P1/3pB3/4b2P/7K/1P4q1/8 w - - 11 52”] [Timezone “UTC”] [ECO “C61”] [ECOUrl “https://www.chess.com/openings/Ruy-Lopez-Opening-Birds-Defense-4.Nxd4-exd4-5.O-O”] [UTCDate “2026.08.06”] [UTCTime “21:56:10”] [WhiteElo “1500”] [BlackElo “172”] [TimeControl “?”] [Termination “Akshay Kommoju won by checkmate”] [StartTime “21:56:10”] [EndDate “2026.08.06”] [EndTime “22:16:01”] [Link “https://www.chess.com/analysis/game/computer/1894651872/review?move=27”] [WhiteUrl “https://images.chesscomfiles.com/uploads/v1/user/66746050.adfcf725.50x50o.d52666e0e879.png”] [WhiteCountry “3”] [WhiteTitle “”] [BlackUrl “https://www.chess.com/bundles/web/images/noavatar_l.84a92436.gif”] [BlackCountry “69”] [BlackTitle “”] e4 e5 2. Nf3 Nc6 3. Bb5 Nd4 4. Nxd4 exd4 5. O-O Qg5 6. Bd3 Nf6 7. f4 Qh4 8. e5 Nd5 9. Qf3 Nb6 10. c3 dxc3 11. Nxc3 Bc5+ 12. Kh1 O-O 13. Ne4 Bd4 14. g3 Qe7 15. Ng5 h6 16. Qe4 f5 17. Qxd4 hxg5 18. fxg5 c5 19. Qf4 Nd5 20. Bc4 Qe6 21. Bxd5 Qxd5+ 22. Rf3 Re8 23. d4 cxd4 24. Qxf5 d6 25. e6 Bxe6 26. Qd3 Bg4 27. Kg2 Bxf3+ 28. Kf2 Bh1 29. Qb3 Qxb3 30. axb3 d5 31. Bf4 Be4 32. Rd1 d3 33. h4 Re6 34. Rc1 Rb6 35. Ke3 Rxb3 36. Be5 Rf8 37. Rc7 Rf3+ 38. Kd2 Rf2+ 39. Ke1 d2+ 40. Kxf2 d1=Q 41. Rxg7+ Kf8 42. g6 Rf3+ 43. Kg2 Rf4+ 44. Kh3 Qf1+ 45. Kh2 Rxh4+ 46. gxh4 Qh1+ 47. Kg3 Qf3+ 48. Kh2 Qh1+ 49. Kg3 Qf3+ 50. Kh2 Qf2+ 51. Kh3 Qg2# 0-1"}, {"post_id": 36613, "ts": "2026-07-28T20:41:36Z", "hours": 4.7978, "text": "I finally coding a basic bot that plays against you. This plays legal moves, and has a move depth of 3. I implemented minimax and piece square tables, so it would play better moves quickly. There is also an option to export the game as a pgn or fen, so you can evaluate the chess bot as well as your accuracy. currently, even with move depth 3, it is slow, especially when there are a lot of moves it has to sort through, and I want to make it so the algorithm works faster, even on lower end devices. Also, the algorithm is pretty bad, (it got about 75% accuracy on chess.com analysis) so I also plan on improving it in the future."}, {"post_id": 28656, "ts": "2026-07-15T01:20:40Z", "hours": 2.0831, "text": "Devlog #1 My first goal in building a chess bot is to code the board and defining the rules. I used chessboard.js to make the board, and I will later implement rules, so both sides can only play legal moves, and also castling, en passant, etc."}]...
|
Title: Chess Bot by @akshayK | Stardance
Devlogs: Title: Chess Bot by @akshayK | Stardance
Devlogs:
Devlog #1 My first goal in building a chess bot is to code the board and defining the rules. I used chessboard.js to make the board, and I will later implement rules, so both sides can only play legal moves, and also castling, en passant, etc.
I finally coding a basic bot that plays against you. This plays legal moves, and has a move depth of 3. I implemented minimax and piece square tables, so it would play better moves quickly. There is also an option to export the game as a pgn or fen, so you can evaluate the chess bot as well as your accuracy. currently, even with move depth 3, it is slow, especially when there are a lot of moves it has to sort through, and I want to make it so the algorithm works faster, even on lower end devices. Also, the algorithm is pretty bad, (it got about 75% accuracy on chess.com analysis) so I also plan on improving it in the future.
Devlog 3: By now, I’ve realized that the github pages doesn’t work. :( But, I’m trying to fix it as of now. (You can download the github project and it works that way though) As for the actual game, I have improved it so that instead of a set depth, it searches for the best move for a set amount of time, and if there is still time left over from the search, it increases its depth by 1, and searches one more move deep. It normally searches 3-5 moves deep on my PC and ~3 moves on my chromebook. I tested it against the chess.com bots, and it beats the beginner and intermediate bots pretty consistently. I also played it against Wendy bot (1500 elo) and it won! (I did not expect it to win) Here’s the game, if anyone wants to analyze it themselves: [Event “Play vs Bot”] [Site “Chess.com”] [Date “2026.08.06”] [Round “-”] [White “Wendy-BOT”] [Black “Chess-Bot(Stardance)”] [Result “0-1”] [CurrentPosition “5k2/pp4R1/6P1/3pB3/4b2P/7K/1P4q1/8 w - - 11 52”] [Timezone “UTC”] [ECO “C61”] [ECOUrl “https://www.chess.com/openings/Ruy-Lopez-Opening-Birds-Defense-4.Nxd4-exd4-5.O-O”] [UTCDate “2026.08.06”] [UTCTime “21:56:10”] [WhiteElo “1500”] [BlackElo “172”] [TimeControl “?”] [Termination “Akshay Kommoju won by checkmate”] [StartTime “21:56:10”] [EndDate “2026.08.06”] [EndTime “22:16:01”] [Link “https://www.chess.com/analysis/game/computer/1894651872/review?move=27”] [WhiteUrl “https://images.chesscomfiles.com/uploads/v1/user/66746050.adfcf725.50x50o.d52666e0e879.png”] [WhiteCountry “3”] [WhiteTitle “”] [BlackUrl “https://www.chess.com/bundles/web/images/noavatar_l.84a92436.gif”] [BlackCountry “69”] [BlackTitle “”] e4 e5 2. Nf3 Nc6 3. Bb5 Nd4 4. Nxd4 exd4 5. O-O Qg5 6. Bd3 Nf6 7. f4 Qh4 8. e5 Nd5 9. Qf3 Nb6 10. c3 dxc3 11. Nxc3 Bc5+ 12. Kh1 O-O 13. Ne4 Bd4 14. g3 Qe7 15. Ng5 h6 16. Qe4 f5 17. Qxd4 hxg5 18. fxg5 c5 19. Qf4 Nd5 20. Bc4 Qe6 21. Bxd5 Qxd5+ 22. Rf3 Re8 23. d4 cxd4 24. Qxf5 d6 25. e6 Bxe6 26. Qd3 Bg4 27. Kg2 Bxf3+ 28. Kf2 Bh1 29. Qb3 Qxb3 30. axb3 d5 31. Bf4 Be4 32. Rd1 d3 33. h4 Re6 34. Rc1 Rb6 35. Ke3 Rxb3 36. Be5 Rf8 37. Rc7 Rf3+ 38. Kd2 Rf2+ 39. Ke1 d2+ 40. Kxf2 d1=Q 41. Rxg7+ Kf8 42. g6 Rf3+ 43. Kg2 Rf4+ 44. Kh3 Qf1+ 45. Kh2 Rxh4+ 46. gxh4 Qh1+ 47. Kg3 Qf3+ 48. Kh2 Qh1+ 49. Kg3 Qf3+ 50. Kh2 Qf2+ 51. Kh3 Qg2# 0-1
Devlog #4 It’s been a while, but I’ve finally (mostly) finished with coding the chess bot. I might go back to it soon, but I want to focus more on the visuals, so I made a simple UI based on the chess.com/lichess layout. I also made it so you can customize the background by entering the image URL. I also implemented an evaluation engine (with a low depth) for a numerical value of the position on board. I wanted a higher evaluation depth, but it lags whenever it calculates the score. So, it should be either depth 2 or 3, even if the actual bot is thinking deeper. If you have any suggestions, you can comment them, and I will try to add them.
Devlog 5 I finished implementing a new bitboard engine, since the old chess.js library was really slow, and it froze the screen. ALSO, the github link was not displaying the chessboard, and i spent well over 2 hours trying to debug this. But in the end, the chess bot would not work correctly if the board appears in the github website. So, for now, if you want to test the chess bot, you can click releases in the github and download & run the HTML file. I plan to let the player play the black side too, instead of only white. (I will update the github repo soon so there is an option to download) P.S. You can change the background image in the code, and I might make an option to change the image in the website soon)
DEVLOG 6 I changed the CSS around a little bit, because it looked basic. Now, the website has a paper theme, so it looks easier on the eyes. I really like this theme because it looks polished (the chess board isn’t working in the picture, i’m working on fixing it.) The analysis link now works, and by clicking it, it redirects you to a lichess analysis board of the current game. The page looks plain, so if there is something I should add, you can tell me below. the only things I really need to add now is an option to play with the black pieces AND maybe add more in the “how it works’ section.
Devlog 7 I am finishing up the HTML layout and the content for my project, and I just now realized that the chessbot is broken again ;( So for the weekend, my first task will be to fix that (probably by getting the code from previous versions of the chess bot) and maybe some finshing touches on the CSS. I still haven’t writtin the README file yet. I will get to it soon. By the time I’m posting this, there are about 5 days until the deadline, so that would probably be one of the final things to add. PS: if you are close to done with your project, this is your reminder to lock in and ship the project, good luck :) Also the image is the website not working 😢
Devlog #8 I finally implemented playing both white and black for the chess bot! So, I think it is pretty much done. I also updated the README.md on Github so it aligns more with what actual readme files look like, and i polished some code so it is easier to tweak in case anyone wanted to do that. (everything is in script.js) Overall, I think this was a really fun journey and I definitely learned a lot about javascript, and about creating something efficient and fast. So, that’s pretty much it, you can play the bot on github, and I published a release for the chess bot. Have fun!
Ships:
This is a browser based chess engine, where you can play against a bot that I made. You can play with both the white and the black pieces. One challenge that was hard to fix was making the chessboard appear. I spend well over 2 hours trying to make it appear, and I finally got it to work because my CDN was not properly configured, and the one I downloaded was not the right version. I am proud of actually getting the chess bot to work, let alone making it to the point where it can actually beat me, and other bots on chess.com. You can play against this by going to the releases page and downloading the zip file. The index.html file houses the webpage where you can play against the chess bot. Good luck on beating my chess bot! (and don’t use stockfish :) )...
|
1793001170.50605
|
1793087570.50605
|
|
42651
|
Bookly by @iamsrijitbanerjee | Stardance
|
iamsrijitbanerjee
|
2
|
23.0
|
192
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T11:44:20Z", "hours": 15.0, "multiplier": 12.01, "payout": 148, "blessing": "neutral", "text": "Bookly is a web platform dedicated to providing students with free easy-to-access educational textbooks and study materials. It gives students a fast and clean environment to find, read and organize good academic materials, focused on making it easy to use. It has a search function, personalized collections and it saves your data even when you are not connected to the internet. Over 80 textbooks, for Science, Commerce and Humanities and Olympiad prep. I put all these books a JSON file. This makes the website really fast. You can search for anything you want because we are using Fuse.js. It is really easy to read books on the website. You can open a book. Read it right in your browser without having to download it. The website also remembers where you stopped reading so you can pick up where you left off. You can make your own list of books to study. It will save on your device. If you want to make an account using Firebase all your information will be saved online. I also added a mode that helps you focus with quiet music and a chat room where students can talk to each other share tips and send links to books. The website is simple, fast and free. You can look at it here: book;y-v1.web.app . Let me know what you think about the website!", "repo": "https://github.com/iamsrijitbanerjee/Bookly.git/", "demo": "https://bookly-v1.firebaseapp.com/"}, {"ship_num": 2, "ts": "2026-08-02T00:08:27Z", "hours": 8.0, "multiplier": 7.41, "payout": 44, "blessing": "neutral", "text": "Bookly is a kind of website that helps make education better for students. It gives them fast access to important books. When I was building Bookly, I had to make sure the website could handle a lot of books without being slow. i fixed this problem by changing the way i stored the book information. I put it into a JSON database. This made the website more efficient. I also used the browsers ability to show PDF files. Now Bookly has a lot of features. It has a search engine that works fast and can find books from all over the world. It also has a feature that picks a new book every week. Students can even make their own lists of books using a custom dashboard. To see how Bookly works you can type a subject into the search bar click on a book and open it up. You can even save the book to a folder and look at all your books on the Library page. Bookly is about making it easy for students to find and use the books they need. Bookly has a lot of features that make it easy to use. For example you can use Bookly to make a list of your books. You can use Bookly to find new books to read. Bookly is a tool, for students who want to learn new things.", "repo": "https://github.com/iamsrijitbanerjee/Bookly.git/", "demo": "https://bookly-v1.firebaseapp.com/"}]...
|
[{"post_id": 46848, "ts": "202 [{"post_id": 46848, "ts": "2026-08-14T11:36:01Z", "hours": 4.0522, "text": "All books are updated, divided into 4 categories: science, humanities, commerce, olympiad. Website debugged and fixed any errors present. Added sign in and sign up option, linked it with firebase. Version 1 is complete. I would like to work on these features in version 2: google sign in through firebase, phone sign in through firebase, complete profile with details and info, sms verification through firebase, audiobooks. Hope you like the project and also support it. G."}, {"post_id": 45580, "ts": "2026-08-12T05:17:16Z", "hours": 2.1883, "text": "I spent the day working on the NCERT catalog for Class 11 and Class 12. I made sure that all the main subjects like Sciences, Commerce and Humanities are included. Each subject has covers, correct descriptions and direct links to download the books. I also added some books to the list. These are books that can help students get ready for Olympiad exams. There are also some reference books for different subjects. The database is now a collection of educational content. The library is almost ready to use. Now I am focusing on adding fiction and non-fiction books to the library. I want to finish adding these books soon, as possible."}, {"post_id": 45369, "ts": "2026-08-11T19:43:00Z", "hours": 1.7444, "text": "Today’s update focused on expanding the content. With the dynamic frontend and Firebase backend set up, I added a large amount of data to our books.json database. I went beyond just the core sciences to include Humanities, Fine Arts, Economics, and History. Thanks to the scalable architecture I developed earlier, the new books automatically filled the library grid, integrated with the Fuse.js search engine, and synced with the Smart Recommendations algorithm without needing to change a single line of code. Now, it’s time to run firebase deploy one last time and expand json to include fiction and non-fiction books."}, {"post_id": 44811, "ts": "2026-08-10T20:46:15Z", "hours": 2.0419, "text": "Huge step in this update. I successfully integrated Firebase to handle user authentication and real-time database management. Students can now create accounts. Their custom study playlists will instantly sync to the cloud making their reading profiles accessible across any device without losing the bookmark, using local-storage speed I built earlier.. I didn’t stop at personal data. To build a learning experience I created deep linking allowing users to generate and share direct links to specific textbooks with a single click. Finally I added a real-time Community Chat widget by Firestores. Now authenticated students worldwide can instantly message each other share study tips. Drop book links in a persistent slide-out lounge."}, {"post_id": 43926, "ts": "2026-08-09T11:43:31Z", "hours": 5.0639, "text": "So to start off with version 1.1 of booky I put in a JSON architecture so it is easy to grow the library. I added lazy loading so covers show up fast without using too much data. I got rid of “tab bounce” by making a native in-browser full-screen PDF reader. To make it even better I added Fuse.js for searching that can handle typos (it waits a bit before searching to avoid slowing things down). I put the whole user interface inside a glass look. The frontend is all cleaned up I will work on the backend next. I have also removed any books that were there, for a start."}, {"post_id": 39196, "ts": "2026-08-02T00:05:30Z", "hours": 1.3783, "text": "The last update was about finishing up things and sending it out. I looked at all the code carefully finding every broken link changing the last bits of fake text with real final words and checking for any problems that might happen. I spent a lot of time making sure that the global search engine, custom playlists and native PDF reader all work well on every page. When the tests in my computer were approved I put the files online and made the site live. Bookly is now officially online and ready to help students, over the world."}, {"post_id": 39156, "ts": "2026-08-01T21:53:23Z", "hours": 1.2722, "text": "This update was about making Bookly real. I did a data change removing the fake items and putting real textbooks and real cover images in their place. The library now. Feels like a real and working platform! Along with the books I connected the social media links and changed the sites main details to show our real brand. Now that the structure and system are all set the hard work is done. From on the plan is simple: the rest of the work is mostly about making the user interface better and adding more books to the JSON database for the community. We are, near the end!"}, {"post_id": 39111, "ts": "2026-08-01T20:26:05Z", "hours": 0.5228, "text": "I just finished making the platform feel really alive. It does not need me to fix it all the time. I worked on the Featured Book section on the Home page. Before I had to change the code by hand to show a book. Now it uses a JavaScript loop that runs automatically. I made a function that figures out what week of the year it is. The script uses math to switch between a list of book IDs from our database every 7 days. It puts the book cover, description and other details into the PDF reader and the UI Modal perfectly. The Featured Book section is. Changing all the time and it is ready for students to use. The platform is working dynamically. The Featured Book section is automatically updated. I made the Featured Book section feel alive. It is ready, for the students."}, {"post_id": 39085, "ts": "2026-08-01T19:46:21Z", "hours": 0.7372, "text": "I am trying to expand Booklys library putting every saved book into one “Favorites” list just wasn’t working. Students study for subjects and exams at the same time. First I improved our localStorage structure from a flat array to a dictionary object. This let me include a custom dropdown inside the Book UI Modal where users can make their folders right away (like “Term 1 Finals” or “Weekend Reading”). Lastly I redesigned the Library page swapping the favorites grid for a lively tabbed dashboard. Users can now move through their custom folders easily. To finish I created a migration script so anyone who had books stored in the system had them moved to a default “Favorites” folder without losing any information. I am trying to expand Booklys library putting every saved book into one “Favorites” list just wasn’t working. Students study for subjects and exams at the same time. Todays update adds a Spotify-style “Collections” feature to the platform. First I improved our localStorage structure from a flat array to a dictionary object. This let me include a custom dropdown, inside the Book UI Modal where users can make their folders right away (like “Term 1 Finals” or “Weekend Reading”). Lastly I redesigned the Library page swapping the favorites grid for a lively tabbed dashboard. Users can now move through their custom folders easily. To finish I created a migration script so anyone who had books stored in the system had them moved to a default “Favorites” folder without losing any information."}, {"post_id": 39044, "ts": "2026-08-01T18:37:27Z", "hours": 0.5472, "text": "This time, I focused on enhancing the user experience. First, I expanded our central books.json database, populating it with a wider variety of texts and injecting new metadata—like author names, page counts, and synopses. To display this rich data without cluttering the main grid, I built a custom, glass-morphism UI Modal. Now, clicking “View Book” triggers a sleek pop-up rather than aggressively forcing a download. The biggest technical win, however, is the new “Read Online” integration. By leveraging the target=”_blank” attribute paired with the raw PDF URL, Bookly now securely hands off the file to the browser’s native PDF viewer. This bypasses the need for heavy third-party libraries, ensuring students get a hardware-accelerated, lag-free reading experience right in their current window."}, {"post_id": 38939, "ts": "2026-08-01T15:35:37Z", "hours": 1.2339, "text": "I am working on my HTML project. I want to make it more interesting. The old version of my project had a problem. It was not easy to make it bigger. I had written a lot of code for each book in my library.html file which made the code very long and hard to work with. Today I removed all the code that I had written for each book. I put all my books into a small file called books.json. Now my website uses JavaScript to get the information from this file. It makes the book cards on its own. This way the information and the way it looks are separate so adding books is easy. I just need to add some new information to the file. I want to note something for developers: when you try to get a file from your own computer the browser will stop you because of security rules. So I started using a tool in my code editor called Live Server to help me work on my project on my own computer. This tool makes sure that my website can get the information, from the file without any problems."}, {"post_id": 38789, "ts": "2026-08-01T11:06:50Z", "hours": 2.4903, "text": "Coming back to a four-year- codebase is always a trip. The original Bookly did the job. The structure was holding it back. It was a single-page application that tried to do much all at once. The goal for this update wasn’t just to fix problems; it was to give the platform space to grow changing to a multi-page setup while keeping the original idea of making education easy to reach. The biggest change in the structure was splitting the site into focused pages (Home, Library, Explore and Support). This made the site load faster. Made it easier for people to find what they need. On the side I created a solution using localStorage to build a working “Favorites” feature. People can now make their reading lists and the browser keeps track of their choices between sessions without needing a complex backend or user login. I also added a mode toggle—something that is very important for students who study late at night. In terms of looks the user interface was updated. The old heavy sliders were replaced with endless Swiper grids. The basic loading screen was changed to a custom animation made with CSS that flips pages like a book giving the site a feel from the very first moment. Even though using plain JavaScript makes the site super fast the next step is to add a backend. I plan to use a database, like Firebase or Supabase to handle user accounts so favorites can stay the same on different devices. Also I want to create a PDF reader that works in the browser so students can study directly on the site of downloading files helping them save space on their phones."}]...
|
Title: Bookly by @iamsrijitbanerjee | Stardance
D Title: Bookly by @iamsrijitbanerjee | Stardance
Devlogs:
Coming back to a four-year- codebase is always a trip. The original Bookly did the job. The structure was holding it back. It was a single-page application that tried to do much all at once. The goal for this update wasn’t just to fix problems; it was to give the platform space to grow changing to a multi-page setup while keeping the original idea of making education easy to reach. The biggest change in the structure was splitting the site into focused pages (Home, Library, Explore and Support). This made the site load faster. Made it easier for people to find what they need. On the side I created a solution using localStorage to build a working “Favorites” feature. People can now make their reading lists and the browser keeps track of their choices between sessions without needing a complex backend or user login. I also added a mode toggle—something that is very important for students who study late at night. In terms of looks the user interface was updated. The old heavy sliders were replaced with endless Swiper grids. The basic loading screen was changed to a custom animation made with CSS that flips pages like a book giving the site a feel from the very first moment. Even though using plain JavaScript makes the site super fast the next step is to add a backend. I plan to use a database, like Firebase or Supabase to handle user accounts so favorites can stay the same on different devices. Also I want to create a PDF reader that works in the browser so students can study directly on the site of downloading files helping them save space on their phones.
I am working on my HTML project. I want to make it more interesting. The old version of my project had a problem. It was not easy to make it bigger. I had written a lot of code for each book in my library.html file which made the code very long and hard to work with. Today I removed all the code that I had written for each book. I put all my books into a small file called books.json. Now my website uses JavaScript to get the information from this file. It makes the book cards on its own. This way the information and the way it looks are separate so adding books is easy. I just need to add some new information to the file. I want to note something for developers: when you try to get a file from your own computer the browser will stop you because of security rules. So I started using a tool in my code editor called Live Server to help me work on my project on my own computer. This tool makes sure that my website can get the information, from the file without any problems.
This time, I focused on enhancing the user experience. First, I expanded our central books.json database, populating it with a wider variety of texts and injecting new metadata—like author names, page counts, and synopses. To display this rich data without cluttering the main grid, I built a custom, glass-morphism UI Modal. Now, clicking “View Book” triggers a sleek pop-up rather than aggressively forcing a download. The biggest technical win, however, is the new “Read Online” integration. By leveraging the target=”_blank” attribute paired with the raw PDF URL, Bookly now securely hands off the file to the browser’s native PDF viewer. This bypasses the need for heavy third-party libraries, ensuring students get a hardware-accelerated, lag-free reading experience right in their current window.
I am trying to expand Booklys library putting every saved book into one “Favorites” list just wasn’t working. Students study for subjects and exams at the same time. First I improved our localStorage structure from a flat array to a dictionary object. This let me include a custom dropdown inside the Book UI Modal where users can make their folders right away (like “Term 1 Finals” or “Weekend Reading”). Lastly I redesigned the Library page swapping the favorites grid for a lively tabbed dashboard. Users can now move through their custom folders easily. To finish I created a migration script so anyone who had books stored in the system had them moved to a default “Favorites” folder without losing any information. I am trying to expand Booklys library putting every saved book into one “Favorites” list just wasn’t working. Students study for subjects and exams at the same time. Todays update adds a Spotify-style “Collections” feature to the platform. First I improved our localStorage structure from a flat array to a dictionary object. This let me include a custom dropdown, inside the Book UI Modal where users can make their folders right away (like “Term 1 Finals” or “Weekend Reading”). Lastly I redesigned the Library page swapping the favorites grid for a lively tabbed dashboard. Users can now move through their custom folders easily. To finish I created a migration script so anyone who had books stored in the system had them moved to a default “Favorites” folder without losing any information.
I just finished making the platform feel really alive. It does not need me to fix it all the time. I worked on the Featured Book section on the Home page. Before I had to change the code by hand to show a book. Now it uses a JavaScript loop that runs automatically. I made a function that figures out what week of the year it is. The script uses math to switch between a list of book IDs from our database every 7 days. It puts the book cover, description and other details into the PDF reader and the UI Modal perfectly. The Featured Book section is. Changing all the time and it is ready for students to use. The platform is working dynamically. The Featured Book section is automatically updated. I made the Featured Book section feel alive. It is ready, for the students.
This update was about making Bookly real. I did a data change removing the fake items and putting real textbooks and real cover images in their place. The library now. Feels like a real and working platform! Along with the books I connected the social media links and changed the sites main details to show our real brand. Now that the structure and system are all set the hard work is done. From on the plan is simple: the rest of the work is mostly about making the user interface better and adding more books to the JSON database for the community. We are, near the end!
The last update was about finishing up things and sending it out. I looked at all the code carefully finding every broken link changing the last bits of fake text with real final words and checking for any problems that might happen. I spent a lot of time making sure that the global search engine, custom playlists and native PDF reader all work well on every page. When the tests in my computer were approved I put the files online and made the site live. Bookly is now officially online and ready to help students, over the world.
So to start off with version 1.1 of booky I put in a JSON architecture so it is easy to grow the library. I added lazy loading so covers show up fast without using too much data. I got rid of “tab bounce” by making a native in-browser full-screen PDF reader. To make it even better I added Fuse.js for searching that can handle typos (it waits a bit before searching to avoid slowing things down). I put the whole user interface inside a glass look. The frontend is all cleaned up I will work on the backend next. I have also removed any books that were there, for a start.
Huge step in this update. I successfully integrated Firebase to handle user authentication and real-time database management. Students can now create accounts. Their custom study playlists will instantly sync to the cloud making their reading profiles accessible across any device without losing the bookmark, using local-storage speed I built earlier.. I didn’t stop at personal data. To build a learning experience I created deep linking allowing users to generate and share direct links to specific textbooks with a single click. Finally I added a real-time Community Chat widget by Firestores. Now authenticated students worldwide can instantly message each other share study tips. Drop book links in a persistent slide-out lounge.
Today’s update focused on expanding the content. With the dynamic frontend and Firebase backend set up, I added a large amount of data to our books.json database. I went beyond just the core sciences to include Humanities, Fine Arts, Economics, and History. Thanks to the scalable architecture I developed earlier, the new books automatically filled the library grid, integrated with the Fuse.js search engine, and synced with the Smart Recommendations algorithm without needing to change a single line of code. Now, it’s time to run firebase deploy one last time and expand json to include fiction and non-fiction books.
I spent the day working on the NCERT catalog for Class 11 and Class 12. I made sure that all the main subjects like Sciences, Commerce and Humanities are included. Each subject has covers, correct descriptions and direct links to download the books. I also added some books to the list. These are books that can help students get ready for Olympiad exams. There are also some reference books for different subjects. The database is now a collection of educational content. The library is almost ready to use. Now I am focusing on adding fiction and non-fiction books to the library. I want to finish adding these books soon, as possible.
All books are updated, divided into 4 categories: science, humanities, commerce, olympiad. Website debugged and fixed any errors present. Added sign in and sign up option, linked it with firebase. Version 1 is complete. I would like to work on these features in version 2: google sign in through firebase, phone sign in through firebase, complete profile with details and info, sms verification through firebase, audiobooks. Hope you like the project and also support it. G.
Ships:
Bookly is a kind of website that helps make education better for students. It gives them fast access to important books. When I was building Bookly, I had to make sure the website could handle a lot of books without being slow. i fixed this problem by changing the way i stored the book information. I put it into a JSON database. This made the website more efficient. I also used the browsers ability to show PDF files. Now Bookly has a lot of features. It has a search engine that works fast and can find books from all over the world. It also has a feature that picks a new book every week. Students can even make their own lists of books using a custom dashboard. To see how Bookly works you can type a subject into the search bar click on a book and open it up. You can even save the book to a folder and look at all your books on the Library page. Bookly is about making it easy for students to find and use the books they need. Bookly has a lot of features that make it easy to use. For example you can use Bookly to make a list of your books. You can use Bookly to find new books to read. Bookly is a tool, for students who want to learn new things.
Bookly is a web platform dedicated to providing students with free easy-to-access educational textbooks and study materials. It gives students a fast and clean environment to find, read and organize good academic materials, focused on making it easy to use. It has a search function, personalized collections and it saves your data even when you are not connected to the internet. Over 80 textbooks, for Science, Commerce and Humanities and Olympiad prep. I put all these books a JSON file. This makes the website really fast. You can search for anything you want because we are using Fuse.js. It is really easy to read books on the website. You can open a book. Read it right in your browser without having to download it. The website also remembers where you stopped reading so you can pick up where you left off. You can make your own list of books to study. It will save on your device. If you want to make an account using Firebase all your information will be saved online. I also added a mode that helps you focus with quiet music and a chat room where students can talk to each other share tips and send links to books. The website is simple, fast and free. You can look at it here: book;y-v1.web.app . Let me know what you think about the website!...
|
1792997379.7271595
|
1793083779.7271595
|
|
61826
|
Self Car by @troksaroberts | Stardance
|
troksaroberts
|
1
|
14.0
|
191
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T17:55:23Z", "hours": 14.0, "multiplier": 13.38, "payout": 191, "blessing": "neutral", "text": "I made a neural network where cars try to ride fast The goal is to tech AI to ride this track as fast aspossible using only three sensors as a data. Challenging part was optimization and simulation. In a matter of fact making neural network was easy, making a correct point system and simulation was hard. I am proud of graph and saving system, it looks so slick, it add up ‘spice’ to the project. By pressing Try project there will be a short video guide on how to run this project locally. Its really simple - only takes 4 commands to run if you have python installed.", "repo": "https://github.com/RobertsRob/SelfCar", "demo": "https://github.com/RobertsRob/SelfCar/releases/tag/1.0"}]...
|
[{"post_id": 72755, "ts": "202 [{"post_id": 72755, "ts": "2026-09-23T17:50:34Z", "hours": 3.8636, "text": "SAVE BEST ONE Now you can save models and choose from the 14 best ones. They are saved in models folder and you can even send them to your friends (send whole folder). You can also load saved models with “L” and save with “S”, to choose between different models use arrow keys. Now DIF_MODE - if you would turn on this option two segments on inner circle will stick out so now its harder to ride a car."}, {"post_id": 70755, "ts": "2026-09-19T18:20:14Z", "hours": 2.4044, "text": "They are smart now Neural network is really good now. It is a race car. Changes: I added graph to visualize best score I removed deltaTime - time between frames, so simulations doesnt depends on it Improved vizualisation In neural network I removed direction as parametr so now car learns how to drive instead of remembering track"}, {"post_id": 70162, "ts": "2026-09-18T16:31:43Z", "hours": 3.6506, "text": "ITS ALIVE A lot of changes has been made - firs of all is reward system - all these dim green lines are checkpoints, for crossing them neural network get a reward. Then of course I implementer AI itself. Now it spawn a 100 cars and chooses the best each generation. Also cars receive a benefit when they ride each lap faster. So riding faster is also a plus. I increased size of cars to make them a bit more realistic. There is a video of already trained generations which shows what a generation looks like. They all disappear because I set so max amount of laps they can go is three, so new generation is created, because old one wouldnt crash. There are a lot of thing to add still, like better physics, model saving and training for variety of tracks not only for one."}, {"post_id": 68724, "ts": "2026-09-15T17:00:57Z", "hours": 4.3342, "text": "Base for machine learnign In this devlog I prepared everything to start teaching machines how to ride a car - the car was prepared for them. What has been done: Track generation - trach is 4 mathematic functions that create 1000 line segments in total to serve as walls. Optimized ray logic - car will have only 3 sensors (green) that will tell distance till wall Car class itself - for optimization i wont have 1000s of car object but in the class there will be stored vectorized information about all cars operating with numpy Visual part - I will render only one car, but under the hood there will be much more cars training."}]...
|
Title: Self Car by @troksaroberts | Stardance
Dev Title: Self Car by @troksaroberts | Stardance
Devlogs:
Base for machine learnign In this devlog I prepared everything to start teaching machines how to ride a car - the car was prepared for them. What has been done: Track generation - trach is 4 mathematic functions that create 1000 line segments in total to serve as walls. Optimized ray logic - car will have only 3 sensors (green) that will tell distance till wall Car class itself - for optimization i wont have 1000s of car object but in the class there will be stored vectorized information about all cars operating with numpy Visual part - I will render only one car, but under the hood there will be much more cars training.
ITS ALIVE A lot of changes has been made - firs of all is reward system - all these dim green lines are checkpoints, for crossing them neural network get a reward. Then of course I implementer AI itself. Now it spawn a 100 cars and chooses the best each generation. Also cars receive a benefit when they ride each lap faster. So riding faster is also a plus. I increased size of cars to make them a bit more realistic. There is a video of already trained generations which shows what a generation looks like. They all disappear because I set so max amount of laps they can go is three, so new generation is created, because old one wouldnt crash. There are a lot of thing to add still, like better physics, model saving and training for variety of tracks not only for one.
They are smart now Neural network is really good now. It is a race car. Changes: I added graph to visualize best score I removed deltaTime - time between frames, so simulations doesnt depends on it Improved vizualisation In neural network I removed direction as parametr so now car learns how to drive instead of remembering track
SAVE BEST ONE Now you can save models and choose from the 14 best ones. They are saved in models folder and you can even send them to your friends (send whole folder). You can also load saved models with “L” and save with “S”, to choose between different models use arrow keys. Now DIF_MODE - if you would turn on this option two segments on inner circle will stick out so now its harder to ride a car.
Ships:
I made a neural network where cars try to ride fast The goal is to tech AI to ride this track as fast aspossible using only three sensors as a data. Challenging part was optimization and simulation. In a matter of fact making neural network was easy, making a correct point system and simulation was hard. I am proud of graph and saving system, it looks so slick, it add up ‘spice’ to the project. By pressing Try project there will be a short video guide on how to run this project locally. Its really simple - only takes 4 commands to run if you have python installed....
|
1792964857.0070918
|
1793051257.0070918
|
|
1954
|
The Emerald Engineers Website by @Rizzington_I | S The Emerald Engineers Website by @Rizzington_I | Stardance...
|
Rizzington_I
|
1
|
17.0
|
190
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T02:46:38Z", "hours": 17.0, "multiplier": 11.05, "payout": 190, "blessing": "neutral", "text": "I created a website for my team that has information about my team and who we are and what we do. Rather than just creating any other boring site I have designed a dynamic background that makes the site more interesting. Other than that I have also created a 3D visualizer where viewers can drag the image around and take a look at our robot from the past season at various angles. There is also a fun Team Gallery page with captions and funny moments from our season. The Meet the Team page shows us our members and who we are. The hardest part of making this website was the 3D visualizer and the dynamic background. Both elements require complex javascript which made it extremely hard to code. I spent almost half of my time dedicated just to both of those elements in this website just because of how much time it took to perfect it. For the visualizer I ended up taking over 72 photos to get everything at the right angle and compress all the images together with javascript in order to get the visualizer working. I put a lot of time into perfecting the small kinks here and there to make this site stand out so I hope you enjoy it!", "repo": "https://github.com/Rizzington-III/FTC-Team-Website-32483", "demo": "https://rizzington-iii.github.io/FTC-Team-Website-32483/index.html"}]...
|
[{"post_id": 73995, "ts": "202 [{"post_id": 73995, "ts": "2026-09-26T14:17:34Z", "hours": 8.6269, "text": "DevLog #5: Final Touches In this final Devlog I have spent countless hours touching up on final edits to make sure this project is ready to ship. It took a lot of configuring to get the site running up on GitHub pages and unfortunately because this website is a part of my team repository I cannot create it. DONT WORRY: I found a solution… Instead, I have put the website code into a new repository where I have admin access and I have added the link for the GitHub Pages! I hope you guys enjoy it and I’ll put the link here if you want to check it out. BTW: I reccomend taking a look at the Team Gallery and the Robot Page as I would consider those the fun parts of the site. LINK: https://rizzington-iii.github.io/FTC-Team-Website-32483/index.html Enjoy!"}, {"post_id": 23013, "ts": "2026-07-05T18:46:08Z", "hours": 4.7439, "text": "The Article Hub page is complete with scrolling containers for differing categories that hold cards with the article title, date, article-class, as well as an image. These cards are linked to HTML pages that contain the actual article but those are yet to be updated. Now I’ve moved onto the robot page where I am going to insert information on our past season’s robot (ARC). I am currently trying to put in a 3D image visualizer where the user can drag around the see the image, which is going to be our robot. I’ve also added contact details that are linked onto the sidebar. One thing that was really annoying was formatting and making sure that the containers are all aligned because some of the scrolling containers overlapped into other categories and it looked really messy. Turns out in the end it was just one misplaced line between two css classes."}, {"post_id": 19904, "ts": "2026-07-01T10:32:37Z", "hours": 2.5964, "text": "So far this is what I have finished: The sidebar is complete but I may still have to add other pages The About Us, Meet the Team, Sponsor Us, Feedback, Mission Statement, and Outreach page are complete. Although some of them have placeholder images for the time being until I can dig up the right ones from my phone. The stuff that I am currently working on: I am working on the Article Hub page which is essentially a page that contains more pages. It has links to these small blog posts (articles) that could be useful for other robotics teams that participate in the upcoming season. The stuff that still hasn’t been touched: The robot page isn’t done and all the links to the blogs lead me to a blank white page. So I still have more work to do. Back to what I’m working on: In the article hub, for some reason the div cards that are links to their respective articles are placed correctly in my first section which is labeled latest releases. On the other hand in my second section (Hardware Articles), the cards don’t start in the same spot and for some reason the title of the Hardware Article is covered behind the scrolling container of the first section. By the way the article cards are div cards that are linked to the html blog pages as well as contain the title of the article, an image, the date, and what type of info is covered: (hardware, software, team management, exclusive stories). Debugging this is going to take some extra time but all great things take time and hopefully this turns out well."}, {"post_id": 19066, "ts": "2026-06-30T08:09:48Z", "hours": 1.2281, "text": "Currently on the website I am working on the outreach page of our team website. I am part of a FTC (FIRST Tech Challenge) team and I am coding this website for our team. This is going to be our second year and we want to share our knowledge from the past season to other rookie teams which is why we have created this website. I have added an Article Hub page which I will start to edit next once the outreach page is done. The article Hub contains articles for teams and viewers to read which have information that can help teams be successful during their season. The outreach page that I am working on right now contains an image carousel that I have the css styling for on a different page. I tried to create a version two but make it smaller and it worked but for some reason it doesn’t allow the div card with text show up. When I change images I can see the text show up and then vanish as it moves from one image to another. I tinkered with this for a while and I’m either going to have to re-create a new css styling class for the image carousel or shift it to the right. For some reason if I keep the carousel to the right with the text on the left it works perfectly but if do it the other way around it messes it up."}]...
|
Title: The Emerald Engineers Website by @Rizzingto Title: The Emerald Engineers Website by @Rizzington_I | Stardance
Devlogs:
Currently on the website I am working on the outreach page of our team website. I am part of a FTC (FIRST Tech Challenge) team and I am coding this website for our team. This is going to be our second year and we want to share our knowledge from the past season to other rookie teams which is why we have created this website. I have added an Article Hub page which I will start to edit next once the outreach page is done. The article Hub contains articles for teams and viewers to read which have information that can help teams be successful during their season. The outreach page that I am working on right now contains an image carousel that I have the css styling for on a different page. I tried to create a version two but make it smaller and it worked but for some reason it doesn’t allow the div card with text show up. When I change images I can see the text show up and then vanish as it moves from one image to another. I tinkered with this for a while and I’m either going to have to re-create a new css styling class for the image carousel or shift it to the right. For some reason if I keep the carousel to the right with the text on the left it works perfectly but if do it the other way around it messes it up.
So far this is what I have finished: The sidebar is complete but I may still have to add other pages The About Us, Meet the Team, Sponsor Us, Feedback, Mission Statement, and Outreach page are complete. Although some of them have placeholder images for the time being until I can dig up the right ones from my phone. The stuff that I am currently working on: I am working on the Article Hub page which is essentially a page that contains more pages. It has links to these small blog posts (articles) that could be useful for other robotics teams that participate in the upcoming season. The stuff that still hasn’t been touched: The robot page isn’t done and all the links to the blogs lead me to a blank white page. So I still have more work to do. Back to what I’m working on: In the article hub, for some reason the div cards that are links to their respective articles are placed correctly in my first section which is labeled latest releases. On the other hand in my second section (Hardware Articles), the cards don’t start in the same spot and for some reason the title of the Hardware Article is covered behind the scrolling container of the first section. By the way the article cards are div cards that are linked to the html blog pages as well as contain the title of the article, an image, the date, and what type of info is covered: (hardware, software, team management, exclusive stories). Debugging this is going to take some extra time but all great things take time and hopefully this turns out well.
The Article Hub page is complete with scrolling containers for differing categories that hold cards with the article title, date, article-class, as well as an image. These cards are linked to HTML pages that contain the actual article but those are yet to be updated. Now I’ve moved onto the robot page where I am going to insert information on our past season’s robot (ARC). I am currently trying to put in a 3D image visualizer where the user can drag around the see the image, which is going to be our robot. I’ve also added contact details that are linked onto the sidebar. One thing that was really annoying was formatting and making sure that the containers are all aligned because some of the scrolling containers overlapped into other categories and it looked really messy. Turns out in the end it was just one misplaced line between two css classes.
DevLog #5: Final Touches In this final Devlog I have spent countless hours touching up on final edits to make sure this project is ready to ship. It took a lot of configuring to get the site running up on GitHub pages and unfortunately because this website is a part of my team repository I cannot create it. DONT WORRY: I found a solution… Instead, I have put the website code into a new repository where I have admin access and I have added the link for the GitHub Pages! I hope you guys enjoy it and I’ll put the link here if you want to check it out. BTW: I reccomend taking a look at the Team Gallery and the Robot Page as I would consider those the fun parts of the site. LINK: https://rizzington-iii.github.io/FTC-Team-Website-32483/index.html Enjoy!
Ships:
I created a website for my team that has information about my team and who we are and what we do. Rather than just creating any other boring site I have designed a dynamic background that makes the site more interesting. Other than that I have also created a 3D visualizer where viewers can drag the image around and take a look at our robot from the past season at various angles. There is also a fun Team Gallery page with captions and funny moments from our season. The Meet the Team page shows us our members and who we are. The hardest part of making this website was the 3D visualizer and the dynamic background. Both elements require complex javascript which made it extremely hard to code. I spent almost half of my time dedicated just to both of those elements in this website just because of how much time it took to perfect it. For the visualizer I ended up taking over 72 photos to get everything at the right angle and compress all the images together with javascript in order to get the visualizer working. I put a lot of time into perfecting the small kinks here and there to make this site stand out so I hope you enjoy it!...
|
1793004760.7792833
|
1793091160.7792833
|
|
13353
|
CLI Calculator by @AidenHammy | Stardance
|
AidenHammy
|
1
|
14.0
|
190
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T06:22:43Z", "hours": 14.0, "multiplier": 13.37, "payout": 190, "blessing": "neutral", "text": "What did you make? A CLI calculator built from scratch in Node.js. Not just a basic one, it runs as a full REPL in your terminal, supports both command-driven operations ( add 2 3 , sin 90 ) and free-form math expressions ( 2 + 3 * 4 , sin(90) + 10 ), remembers your last result with ans , logs every calculation to a history file with timestamps and validates inputs with actual helpful error messages. Over the last week I also ported the whole thing to run in the browser using xterm.js so you can try it live without installing anything. What was challenging? Honestly, most of it at some point. The expression evaluator was probably the hardest part. Using Function() to evaluate raw user input feels powerful but also kind of risky and making it fail gracefully without breaking anything took a while to get right. The ans memory system was tricky too because replacing it correctly across both commands and expressions without accidentally mangling other words required careful regex work. The browser port was a whole different kind of hard. I didn’t realize how much Node.js was doing for me silently. readline alone handles an entire input loop that I had to rebuild character by character in xterm.js. What are you proud of? A few things: The validation architecture — argument counts, type checks, domain-specific errors (division by zero, negative square roots, log of non-positives) all cleanly separated from the actual math logic The ans memory system — being able to chain pow 2 8 → add ans 100 → ans / 2 makes it feel like a real calculator The expression evaluator — typing sin(90) + 10 directly and getting 11 feels satisfying every time The history system — timestamped, persistent, filterable with history [n] The fact that the browser demo runs the exact same logic as the CLI — calc.js was never touched, the port lives in a separate file This was built step by step over 6 devlogs in about a week. I’m still a beginner and it’s not perfect but it genuinely feels like something I made rather than something I just followed a tutorial for. What should people know so they can test your project? The easiest way is the live browser demo — no install, just open the link: 🔗 https://cli-calculator-five.vercel.app/ Try these to get a feel for it: help add 2 3 pow 2 8 add ans 100 sin(90) + 10 2 + 3 * 4 history If you want to run it locally instead: git clone https://github.com/AidenHammy/cli-calculator.git cd cli-calculator npm install node src/calc.js", "repo": "https://github.com/AidenHammy/cli-calculator", "demo": "https://cli-calculator-five.vercel.app/"}]...
|
[{"post_id": 10452, "ts": "202 [{"post_id": 10452, "ts": "2026-06-17T05:44:08Z", "hours": 1.7378, "text": "Devlog 6 — Taking the CLI to the Browser Biggest struggle The hardest part wasn’t writing new features. It was translating existing ones into a completely different environment. The original CLI felt natural because Node.js gives you everything: file system, stdin/stdout, process control. The browser gives you none of that. Every tool I had been relying on: readline , fs , chalk , console.log even process either doesn’t exist or behaves differently in a browser context. The trickiest translation was the input loop. readline handles line buffering automatically, you just wait for the user to press Enter and get the full line back. With xterm.js, you get one raw character at a time via onData . The other catch was the expression evaluator. After porting everything over, sin(90) + 10 was returning \"Invalid command or expression\" because the Function() scope didn’t know what sin was. The fix was straightforward once I understood the cause, exposing the math functions as local constants inside the Function() string but it was a good reminder that a working feature in one environment isn’t automatically working in another. What changed in this version New files src/calc-demo.js :- full browser port of calc.js using xterm.js main.js :- entry point: boots xterm, loads the fit addon, calls initCalc(term) index.html :- static shell with topbar, terminal mount and statusbar style.css :- dark terminal theme built around a monospace font stack and a single green accent Key substitutions made Node.js ( calc.js ) Browser ( calc-demo.js ) readline xterm.js onData + manual buffer chalk ANSI escape codes fs / history.txt localStorage console.log term.write() via print() process.exit location.reload() calc.js is untouched. The original CLI still runs exactly as before with node src/calc.js . The browser build is a separate port not a replacement. Current features Everything from Devlog 5, now running in the browser Live deployment on Vercel. No install, no terminal, just a URL Terminal emulator UI with topbar, statusbar and live clock Full xterm.js input handling: backspace, local echo, line buffering History persisted in localStorage across page reloads Expression evaluator now supports sin(90) + 10 , sqrt(144) , abs(-5) etc. directly cls clears the xterm screen properly using escape sequences exit reloads the page Reflection Devlog 5 ended with “maybe create a simple web version for easier demo access” as a future idea. This devlog is that idea, actually shipped. What surprised me most was how much invisible work Node.js was doing. You write readline and it just works but behind it is a whole input loop, line buffering, echo management and terminal control that you never think about. Doing it manually in xterm.js made all of that visible which was frustrating at first but genuinely useful to understand. The project now has two lives: a proper Node.js CLI tool and a browser demo that looks and feels identical. That separation, keeping calc.js untouched and building the browser port as a parallel file felt like the right architectural call. One doesn’t compromise the other. It’s also the first time something I built has a real public URL."}, {"post_id": 10162, "ts": "2026-06-16T19:33:09Z", "hours": 4.6844, "text": "Devlog 5 — Expressions, Memory and a Real “Calculator Feel” What I learned: How to evaluate user input dynamically using Function() (and why it needs to be handled carefully) How to replace parts of user input using regex. How to structure commands when the number of arguments isn’t always fixed (min/max validation) How small UX details (like colors using chalk ) make a big difference in usability How to maintain state across a REPL session How to design a fallback system where unknown commands are treated as expressions Biggest struggle: This one was definitely more complex than the previous days. The hardest part was adding expression evaluation. Using something like Function() to evaluate user input felt powerful but also risky and confusing at first. Making sure it doesn’t break on invalid input and handling errors properly took some time. Another tricky part was implementing a feature ( ans ) that lets you reuse the previous result in new calculations. Ensuring it worked consistently across both commands and expressions required careful handling of user input. Replacing it correctly in user input without breaking other words or expressions required using regex carefully. Also, as the number of commands grew, validation started getting messy. Switching to a min/max argument system helped but it took a bit of thinking to get right. This stage felt less like “just coding” and more like designing how the calculator should behave. Current features: Full REPL-based interactive CLI Support for both commands and direct expressions: add 2 3 2 + 3 * 4 ans keyword to reuse the previous result Expanded math operations: Trigonometry ( sin , cos , tan ) Logarithms ( ln , log ) Factorial ( fact ) Rounding ( round , ceil , floor ) Absolute value ( abs ) Improved validation with flexible argument handling (min/max support) Persistent history with timestamps Optional history limit ( history n ) Colored and structured output using chalk Better error handling for invalid commands and expressions Next steps: Improve expression parsing (support more complex cases safely) Possibly replace Function() with a safer custom parser Add command chaining or multi-step calculations Improve UI further (custom prompt, better formatting) Maybe create a simple web version for easier demo access Reflection: This version feels like a big step forward. Before, the calculator was command-based and structured. Now it feels much more natural and flexible, especially with expressions and the ans feature. It’s starting to behave like an actual calculator instead of just a program that runs specific commands. At the same time, the complexity is definitely increasing. It’s getting harder to manage everything cleanly which makes me realize how important structure and planning are as projects grow. It’s not perfect but it finally feels like something I could actually use. Not just something I built to learn."}, {"post_id": 8232, "ts": "2026-06-13T18:11:24Z", "hours": 1.8294, "text": "Devlog 4 — Making it Interactive (REPL + UX Improvements) What I learned: How to use readline to keep the program running and take input again and again The difference between a script that runs once vs something interactive How small UX things (like input formatting and cleaner output) actually matter a lot How to handle messy user input using trim() and split(/\\s+/) How to structure code so it doesn’t become a mess when it keeps running in a loop Biggest struggle: This part wasn’t “hard” in the usual sense but it was confusing at first. Before this, my program would just run once and end. Now it stays alive and that changes how everything works. I had to think differently about how commands are handled because now the same logic runs over and over again. Input handling was also kind of annoying. Even small things like extra spaces could break stuff which forced me to actually deal with it properly instead of ignoring it. Another thing was output. At some points it felt too cluttered and at others it felt like not enough information was being shown. Finding a balance there took a bit of trial and error. Current features: REPL system using readline (no need to restart the program every time) Continuous input like a real CLI Support for both commands and symbols ( add + + , etc.) Better input handling (spaces don’t break things anymore) Validation for: wrong number of arguments invalid numbers division by zero square root of negative numbers Cleaner output (less unnecessary logs) History system: saved to history.txt can view with history can reset with clear cls to clear the screen exit to quit the program Next steps: Support actual expressions like 2 + 3 * 4 instead of strict commands Make history a bit smarter (maybe timestamps or search) Reduce repeated logic even more Add vector/matrix operations Add autocomplete for commands Add colored terminal output Reflection: This is probably the first version that actually feels like a real program. The REPL made a huge difference. Before, it felt like I was just testing functions. Now it actually feels like something you can use. Most of the improvements in this version aren’t big features, but small things that make the experience smoother. Stuff like handling spaces properly or adding aliases doesn’t sound like much but it changes how the program feels. I’m starting to notice that building something usable is very different from just making something work. It’s still simple and there’s a lot more I could improve but this is the first time the calculator feels complete in its own way."}, {"post_id": 6958, "ts": "2026-06-11T17:48:39Z", "hours": 2.0842, "text": "Devlog 3 — Persistence and Control (File-based History + Clear Command) What I learned: Why CLI programs reset completely every time they are executed How to use the fs module to write and read files in Node.js How appendFileSync can be used to store data incrementally How to read stored data using readFileSync The difference between in-memory state and persistent state How small bugs (like variable naming or extra trims) can break logic in subtle ways Why validation, execution and side effects (like saving history) should stay separated Biggest struggle: This part was less chaotic than Day 2 but still frustrating in a different way. The logic itself wasn’t the problem this time. It was understanding how programs behave over time . I had already built a history system before so seeing it disappear every run was confusing at first. Then came the file system part. Writing to a file felt simple but reading it back properly and formatting it without breaking things took more effort than expected. Small mistakes like misnaming variables or structuring loops incorrectly kept causing issues. It wasn’t overwhelming chaos but more like constant small friction that slowed everything down. Current features: Persistent history system using fs Calculations are stored in history.txt across runs history command displays formatted past calculations clear command wipes stored history clean Improved validation and error messages Clean separation between parsing, validation and execution Next steps: Convert the calculator into an interactive CLI (REPL-style) Reduce repeated validation logic into reusable helpers Improve overall UX (cleaner outputs and command feedback) Reflection: The biggest realization was understanding that programs don’t remember anything unless you explicitly store it. That changed how I think about state completely. Compared to earlier struggles, this one felt quieter but still tiring. Less confusion, more persistence. Fixing small issues, understanding behavior and slowly making things more stable. It still isn’t perfect but it finally feels like the calculator has some sense of continuity instead of resetting every time. Note: The screenshot does not show all features (full validation system)."}, {"post_id": 5824, "ts": "2026-06-09T19:21:54Z", "hours": 3.0411, "text": "Devlog 2 — CLI Calculator Upgrade (Validation + History System) What I learned: How to structure validation into layers (arity type domain) How CLI arguments actually behave — missing inputs simply don’t exist in the array How to use slice() + map(Number) to normalize input in one step Why separating parsing validation and execution simplifies reasoning How function hoisting allows referencing functions before declaration How to maintain in-memory state using arrays How for loops and forEach help format structured output How small design choices like a numbers array simplify architecture Biggest struggle: This part was genuinely exhausting. I kept getting stuck on when validation should happen and what exactly needed to be validated. I was duplicating checks mixing raw CLI arguments with parsed numbers and constantly second-guessing my logic. I also misunderstood CLI arguments. I expected missing inputs to appear as undefined which made my validation more complicated than necessary. The worst part was the flow. Everything felt tangled. Command lookup parsing validation execution like it was happening all at once. Even when the code worked I didn’t fully trust it which made the whole process frustrating. Current features: Command routing using a function map ( commands[cmd] ) Argument validation based on expected counts Clean input parsing using slice() and map(Number) Domain rules (division by zero negative square roots) Scientific operations: sqrt pow log In-memory history system history command for session logs Improved help command More consistent error handling Next steps: Persist history to a file Refactor validation into helper functions Improve error messages Reflection: Validation was mentally draining. I kept mixing up arity type and domain rules and the code felt like a pile of checks instead of a system. It worked but I didn’t trust it. The biggest reality check was the history system. I built it saw it work then ran another command and everything was gone. That’s when it clicked. CLI programs don’t persist memory. Every run starts fresh. That was the most important lesson. Not everything you build “stays” unless you store it. It changed how I think about programs. By the end the calculator is still simple but my understanding of structure and flow is much stronger. It feels less like guessing and more like knowing what I’m doing. Note: The screenshot only shows a basic run and does not include all implemented features (validation command handling improvements and history tracking)."}, {"post_id": 5093, "ts": "2026-06-08T19:37:58Z", "hours": 0.9297, "text": "Devlog 1 — Building a CLI Calculator What I set out to build : A command-based CLI calculator using Node.js that can take input directly from the terminal and perform operations like addition, subtraction multiplication and division. What I learned: How process.argv works for handling command-line input Why \"5\" + \"3\" results in \"53\" (strings vs numbers in JavaScript) How to convert inputs properly using Number() The difference between calling a function and referencing it How to implement a command map using commands[cmd]() Biggest struggle: Understanding how to structure the command system cleanly without relying on long and messy if/else chains. Breakthrough moment: Realizing that I could store functions inside an object and dynamically execute them based on user input. That made the whole system feel much cleaner and scalable. Current features: Supports add , sub , mul and div commands Handles invalid commands with basic error messaging Uses a command map for cleaner execution logic Next steps: Add scientific functions like sqrt , pow , and log Improve input validation Potentially add a history system Reflection: Started this knowing almost nothing about CLI tools or Node.js input handling and ended up building a working command-based system. It’s simple but it actually feels like the foundation of something bigger."}]...
|
Title: CLI Calculator by @AidenHammy | Stardance
Title: CLI Calculator by @AidenHammy | Stardance
Devlogs:
Devlog 1 — Building a CLI Calculator What I set out to build : A command-based CLI calculator using Node.js that can take input directly from the terminal and perform operations like addition, subtraction multiplication and division. What I learned: How process.argv works for handling command-line input Why "5" + "3" results in "53" (strings vs numbers in JavaScript) How to convert inputs properly using Number() The difference between calling a function and referencing it How to implement a command map using commands[cmd]() Biggest struggle: Understanding how to structure the command system cleanly without relying on long and messy if/else chains. Breakthrough moment: Realizing that I could store functions inside an object and dynamically execute them based on user input. That made the whole system feel much cleaner and scalable. Current features: Supports add , sub , mul and div commands Handles invalid commands with basic error messaging Uses a command map for cleaner execution logic Next steps: Add scientific functions like sqrt , pow , and log Improve input validation Potentially add a history system Reflection: Started this knowing almost nothing about CLI tools or Node.js input handling and ended up building a working command-based system. It’s simple but it actually feels like the foundation of something bigger.
Devlog 2 — CLI Calculator Upgrade (Validation + History System) What I learned: How to structure validation into layers (arity type domain) How CLI arguments actually behave — missing inputs simply don’t exist in the array How to use slice() + map(Number) to normalize input in one step Why separating parsing validation and execution simplifies reasoning How function hoisting allows referencing functions before declaration How to maintain in-memory state using arrays How for loops and forEach help format structured output How small design choices like a numbers array simplify architecture Biggest struggle: This part was genuinely exhausting. I kept getting stuck on when validation should happen and what exactly needed to be validated. I was duplicating checks mixing raw CLI arguments with parsed numbers and constantly second-guessing my logic. I also misunderstood CLI arguments. I expected missing inputs to appear as undefined which made my validation more complicated than necessary. The worst part was the flow. Everything felt tangled. Command lookup parsing validation execution like it was happening all at once. Even when the code worked I didn’t fully trust it which made the whole process frustrating. Current features: Command routing using a function map ( commands[cmd] ) Argument validation based on expected counts Clean input parsing using slice() and map(Number) Domain rules (division by zero negative square roots) Scientific operations: sqrt pow log In-memory history system history command for session logs Improved help command More consistent error handling Next steps: Persist history to a file Refactor validation into helper functions Improve error messages Reflection: Validation was mentally draining. I kept mixing up arity type and domain rules and the code felt like a pile of checks instead of a system. It worked but I didn’t trust it. The biggest reality check was the history system. I built it saw it work then ran another command and everything was gone. That’s when it clicked. CLI programs don’t persist memory. Every run starts fresh. That was the most important lesson. Not everything you build “stays” unless you store it. It changed how I think about programs. By the end the calculator is still simple but my understanding of structure and flow is much stronger. It feels less like guessing and more like knowing what I’m doing. Note: The screenshot only shows a basic run and does not include all implemented features (validation command handling improvements and history tracking).
Devlog 3 — Persistence and Control (File-based History + Clear Command) What I learned: Why CLI programs reset completely every time they are executed How to use the fs module to write and read files in Node.js How appendFileSync can be used to store data incrementally How to read stored data using readFileSync The difference between in-memory state and persistent state How small bugs (like variable naming or extra trims) can break logic in subtle ways Why validation, execution and side effects (like saving history) should stay separated Biggest struggle: This part was less chaotic than Day 2 but still frustrating in a different way. The logic itself wasn’t the problem this time. It was understanding how programs behave over time . I had already built a history system before so seeing it disappear every run was confusing at first. Then came the file system part. Writing to a file felt simple but reading it back properly and formatting it without breaking things took more effort than expected. Small mistakes like misnaming variables or structuring loops incorrectly kept causing issues. It wasn’t overwhelming chaos but more like constant small friction that slowed everything down. Current features: Persistent history system using fs Calculations are stored in history.txt across runs history command displays formatted past calculations clear command wipes stored history clean Improved validation and error messages Clean separation between parsing, validation and execution Next steps: Convert the calculator into an interactive CLI (REPL-style) Reduce repeated validation logic into reusable helpers Improve overall UX (cleaner outputs and command feedback) Reflection: The biggest realization was understanding that programs don’t remember anything unless you explicitly store it. That changed how I think about state completely. Compared to earlier struggles, this one felt quieter but still tiring. Less confusion, more persistence. Fixing small issues, understanding behavior and slowly making things more stable. It still isn’t perfect but it finally feels like the calculator has some sense of continuity instead of resetting every time. Note: The screenshot does not show all features (full validation system).
Devlog 4 — Making it Interactive (REPL + UX Improvements) What I learned: How to use readline to keep the program running and take input again and again The difference between a script that runs once vs something interactive How small UX things (like input formatting and cleaner output) actually matter a lot How to handle messy user input using trim() and split(/\s+/) How to structure code so it doesn’t become a mess when it keeps running in a loop Biggest struggle: This part wasn’t “hard” in the usual sense but it was confusing at first. Before this, my program would just run once and end. Now it stays alive and that changes how everything works. I had to think differently about how commands are handled because now the same logic runs over and over again. Input handling was also kind of annoying. Even small things like extra spaces could break stuff which forced me to actually deal with it properly instead of ignoring it. Another thing was output. At some points it felt too cluttered and at others it felt like not enough information was being shown. Finding a balance there took a bit of trial and error. Current features: REPL system using readline (no need to restart the program every time) Continuous input like a real CLI Support for both commands and symbols ( add + + , etc.) Better input handling (spaces don’t break things anymore) Validation for: wrong number of arguments invalid numbers division by zero square root of negative numbers Cleaner output (less unnecessary logs) History system: saved to history.txt can view with history can reset with clear cls to clear the screen exit to quit the program Next steps: Support actual expressions like 2 + 3 * 4 instead of strict commands Make history a bit smarter (maybe timestamps or search) Reduce repeated logic even more Add vector/matrix operations Add autocomplete for commands Add colored terminal output Reflection: This is probably the first version that actually feels like a real program. The REPL made a huge difference. Before, it felt like I was just testing functions. Now it actually feels like something you can use. Most of the improvements in this version aren’t big features, but small things that make the experience smoother. Stuff like handling spaces properly or adding aliases doesn’t sound like much but it changes how the program feels. I’m starting to notice that building something usable is very different from just making something work. It’s still simple and there’s a lot more I could improve but this is the first time the calculator feels complete in its own way.
Devlog 5 — Expressions, Memory and a Real “Calculator Feel” What I learned: How to evaluate user input dynamically using Function() (and why it needs to be handled carefully) How to replace parts of user input using regex. How to structure commands when the number of arguments isn’t always fixed (min/max validation) How small UX details (like colors using chalk ) make a big difference in usability How to maintain state across a REPL session How to design a fallback system where unknown commands are treated as expressions Biggest struggle: This one was definitely more complex than the previous days. The hardest part was adding expression evaluation. Using something like Function() to evaluate user input felt powerful but also risky and confusing at first. Making sure it doesn’t break on invalid input and handling errors properly took some time. Another tricky part was implementing a feature ( ans ) that lets you reuse the previous result in new calculations. Ensuring it worked consistently across both commands and expressions required careful handling of user input. Replacing it correctly in user input without breaking other words or expressions required using regex carefully. Also, as the number of commands grew, validation started getting messy. Switching to a min/max argument system helped but it took a bit of thinking to get right. This stage felt less like “just coding” and more like designing how the calculator should behave. Current features: Full REPL-based interactive CLI Support for both commands and direct expressions: add 2 3 2 + 3 * 4 ans keyword to reuse the previous result Expanded math operations: Trigonometry ( sin , cos , tan ) Logarithms ( ln , log ) Factorial ( fact ) Rounding ( round , ceil , floor ) Absolute value ( abs ) Improved validation with flexible argument handling (min/max support) Persistent history with timestamps Optional history limit ( history n ) Colored and structured output using chalk Better error handling for invalid commands and expressions Next steps: Improve expression parsing (support more complex cases safely) Possibly replace Function() with a safer custom parser Add command chaining or multi-step calculations Improve UI further (custom prompt, better formatting) Maybe create a simple web version for easier demo access Reflection: This version feels like a big step forward. Before, the calculator was command-based and structured. Now it feels much more natural and flexible, especially with expressions and the ans feature. It’s starting to behave like an actual calculator instead of just a program that runs specific commands. At the same time, the complexity is definitely increasing. It’s getting harder to manage everything cleanly which makes me realize how important structure and planning are as projects grow. It’s not perfect but it finally feels like something I could actually use. Not just something I built to learn.
Devlog 6 — Taking the CLI to the Browser Biggest struggle The hardest part wasn’t writing new features. It was translating existing ones into a completely different environment. The original CLI felt natural because Node.js gives you everything: file system, stdin/stdout, process control. The browser gives you none of that. Every tool I had been relying on: readline , fs , chalk , console.log even process either doesn’t exist or behaves differently in a browser context. The trickiest translation was the input loop. readline handles line buffering automatically, you just wait for the user to press Enter and get the full line back. With xterm.js, you get one raw character at a time via onData . The other catch was the expression evaluator. After porting everything over, sin(90) + 10 was returning "Invalid command or expression" because the Function() scope didn’t know what sin was. The fix was straightforward once I understood the cause, exposing the math functions as local constants inside the Function() string but it was a good reminder that a working feature in one environment isn’t automatically working in another. What changed in this version New files src/calc-demo.js :- full browser port of calc.js using xterm.js main.js :- entry point: boots xterm, loads the fit addon, calls initCalc(term) index.html :- static shell with topbar, terminal mount and statusbar style.css :- dark terminal theme built around a monospace font stack and a single green accent Key substitutions made Node.js ( calc.js ) Browser ( calc-demo.js ) readline xterm.js onData + manual buffer chalk ANSI escape codes fs / history.txt localStorage console.log term.write() via print() process.exit location.reload() calc.js is untouched. The original CLI still runs exactly as before with node src/calc.js . The browser build is a separate port not a replacement. Current features Everything from Devlog 5, now running in the browser Live deployment on Vercel. No install, no terminal, just a URL Terminal emulator UI with topbar, statusbar and live clock Full xterm.js input handling: backspace, local echo, line buffering History persisted in localStorage across page reloads Expression evaluator now supports sin(90) + 10 , sqrt(144) , abs(-5) etc. directly cls clears the xterm screen properly using escape sequences exit reloads the page Reflection Devlog 5 ended with “maybe create a simple web version for easier demo access” as a future idea. This devlog is that idea, actually shipped. What surprised me most was how much invisible work Node.js was doing. You write readline and it just works but behind it is a whole input loop, line buffering, echo management and terminal control that you never think about. Doing it manually in xterm.js made all of that visible which was frustrating at first but genuinely useful to understand. The project now has two lives: a proper Node.js CLI tool and a browser demo that looks and feels identical. That separation, keeping calc.js untouched and building the browser port as a parallel file felt like the right architectural call. One doesn’t compromise the other. It’s also the first time something I built has a real public URL.
Ships:
What did you make? A CLI calculator built from scratch in Node.js. Not just a basic one, it runs as a full REPL in your terminal, supports both command-driven operations ( add 2 3 , sin 90 ) and free-form math expressions ( 2 + 3 * 4 , sin(90) + 10 ), remembers your last result with ans , logs every calculation to a history file with timestamps and validates inputs with actual helpful error messages. Over the last week I also ported the whole thing to run in the browser using xterm.js so you can try it live without installing anything. What was challenging? Honestly, most of it at some point. The expression evaluator was probably the hardest part. Using Function() to evaluate raw user input feels powerful but also kind of risky and making it fail gracefully without breaking anything took a while to get right. The ans memory system was tricky too because replacing it correctly across both commands and expressions without accidentally mangling other words required careful regex work. The browser port was a whole different kind of hard. I didn’t realize how much Node.js was doing for me silently. readline alone handles an entire input loop that I had to rebuild character by character in xterm.js. What are you proud of? A few things: The validation architecture — argument counts, type checks, domain-specific errors (division by zero, negative square roots, log of non-positives) all cleanly separated from the actual math logic The ans memory system — being able to chain pow 2 8 → add ans 100 → ans / 2 makes it feel like a real calculator The expression evaluator — typing sin(90) + 10 directly and getting 11 feels satisfying every time The history system — timestamped, persistent, filterable with history [n] The fact that the browser demo runs the exact same logic as the CLI — calc.js was never touched, the port lives in a separate file This was built step by step over 6 devlogs in about a week. I’m still a beginner and it’s not perfect but it genuinely feels like something I made rather than something I just followed a tutorial for. What should people know so they can test your project? The easiest way is the live browser demo — no install, just open the link: 🔗 https://cli-calculator-five.vercel.app/ Try these to get a feel for it: help add 2 3 pow 2 8 add ans 100 sin(90) + 10 2 + 3 * 4 history If you want to run it locally instead: git clone https://github.com/AidenHammy/cli-calculator.git cd cli-calculator npm install node src/calc.js...
|
1792972379.8577716
|
1793058779.8577716
|
|
15290
|
Undertale OS by @ThaoVi | Stardance
|
ThaoVi
|
2
|
29.0
|
190
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T13:02:50Z", "hours": 15.0, "multiplier": 12.46, "payout": 190, "blessing": "neutral", "text": "WebOS I made an Undertale themed WebOs presenting me, with some other apps such as countdowns! This is the very first Stardance project i did, and also very first html project overall (including webos1) Features A top-bar with a live clock and a healthbar Draggable windows Closable windows Applications TrueNotes (personal) A personnal app where I put thoughts about true crime stories I enjoyed :D The design is centered around Undertale’s field of flowers, with each footstep being a story; I wanted to make it more original than the side bar I had in WebOS 1. To do app A very basic to do app. Countdown app A simple countdown app where you can set countdowns and a new window appears for each countdown. They are editable and deleteable :D You can also change the precision shown on each windows (in case seeing seconds stresses you out) Skeletale (personal) An undertale - anatomy based “autobiography” of me, it’s part of my WebOs 1 and I haven’t really updated it since. Future plans Undertale music player An intro page (WIP) where you can chose your character and background image. Make the notes apps more interactive by making the user add their own notes Undertale references The close button is a heart and it breaks when you hover on it to close the window! The field in TrueNotes are the yellow flowers from undertale. The health bar is also a reference from undertale. The fonts! They are from https://github.com/hujgup/Undertale-CSS", "repo": "https://github.com/TVDVT/webOS", "demo": "https://tvdvt.github.io/webOS/"}, {"ship_num": 2, "ts": "2026-06-27T15:46:19Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just finished my first WebOS. It has a top bar, welcome window and two apps. All the windows are draggable and closable, and both of the apps are representative of me :D One is about the true crimes I enjoy and the other one is a presentation of me through a skeleton. I had zero experience in website coding until I started the project, I am very proud of the result!", "repo": "https://github.com/TVDVT/webOS", "demo": "https://tvdvt.github.io/webOS/"}]...
|
[{"post_id": 70359, "ts": "202 [{"post_id": 70359, "ts": "2026-09-19T01:17:40Z", "hours": 4.2636, "text": "Pre-ship adjustments I’m shipping it, finally! I tried to make the user experience better by making the design more coherent (grayscale), although I am planning to add a lot more undertale references. I also changed my footprints color to contrast more with the yellow background. The countdown looks a little better, i removed some overlapping gaps that made everything look awkward but it’s better now!"}, {"post_id": 60796, "ts": "2026-09-03T12:03:37Z", "hours": 3.7294, "text": "i COMPLETELY changed the design of my OS to be full on undertale I found an amazing undertale css pack by chance and loved it so much so i went from wow blue aesthetic to undertale yay. I still have some customization to do I changed the close button to a heart and when you hover on it it becomes a broken heart im really proud of that I’m also almost done with the to do app the tasks are just not overflowing the way I want them to new ideas: music player to play undertale songs map to make wallpaper change based on map location have a preload screen that makes you choose your location and choose character"}, {"post_id": 57001, "ts": "2026-08-29T02:14:47Z", "hours": 2.5986, "text": "countdown working! I made it look a little better but I’m not completely satisfied yet. You can now edit and delete countdowns, change precision and some other stuff but now I want to work on making windows pinnable :^ I also want make a todo list app, I’m really thinking of making this OS my study compagnion haha but idk if its too basic for this mission. But anyways ill do it for myself not the stardust hee hee haw haw"}, {"post_id": 48918, "ts": "2026-08-17T14:13:01Z", "hours": 2.3319, "text": "Countdown app I added a countdown app/widget for some motivation so you can have something to look forward to! The CSS is definitely lacking so I will work on it once im done with JS. It was a bit hard to convert every input and change precision but I figured it out thanks to W3S. I still need to: Show a list of the cooldowns in the main window and make them editable and deleteable Make the new window closeable & pinnable Make the time input optionnal Make an icon for the app Find a way to save changes? (maybe)"}, {"post_id": 48335, "ts": "2026-08-16T17:26:05Z", "hours": 0.7083, "text": "First feature done My notes app is now cooler: Footprints instead of a text based sidebar Links open in new tab Upon first opening of the app, only footprints show on a grassy field Animations on footprints and sidebar after clicking the first footprint Things to add after finishing other features: More notes content A way to go back to the grassy field To work on next More animations Gamify Skeletale app"}, {"post_id": 47085, "ts": "2026-08-14T18:36:15Z", "hours": 1.0469, "text": "Devlog My side bar is now a menu? I made it so that content will only show after clicking on the footsteps (not yet but that’s the goal). For that, I need to write a new function in Java Script and add a blue grassy background to match with the cloudy background. My animations are now smoother as I added transitions and larger margins so that the icons getting bigger don’t impede on the other ones. I also added hover text so that we can know which story is selected when hovering on each footstep."}, {"post_id": 43615, "ts": "2026-08-08T23:50:59Z", "hours": 0.5525, "text": "WebOS 2 It’s been a month since I didn’t work on this so I forgot how to code a little. Looking at my old code is helping me remember the coding though. First new feature (Working on this) As my first new feature, I am revamping my True Notes app side bar . I want to change to to footsteps I can click on. As of now, I only imported the image and made the footprints appear for each entry. I have yet to make them as a path, center them and just have a better general layout. Second new feature I want to have hover animations. Eg if I hover on the footprints they get bigger, hovering on an app would change the top bar of the window header, etc. Third feature I haven’t really thought about it yet, either I’ll make my Skeletale app more interactive by changing back and next buttons to directly clicking on the skeleton either I will make a new app"}, {"post_id": 16967, "ts": "2026-06-27T15:30:36Z", "hours": 1.0411, "text": "Done!"}, {"post_id": 16632, "ts": "2026-06-27T01:42:50Z", "hours": 3.1203, "text": "Almost done with my second app My second app is an anatomical map of myself inspired by Undertale (not really, it’s just a pixelized skeleton). I just really like anatomy in general so I thought this would represent me well. I assigned a part of myself to many bones, the text is just placeholder right now, I will develop on it later. -I added back and next buttons for navigation to make it simpler than a side bar, It also takes less space I finished my first app a while ago but I do want to change the layout in WebOS 2 (have some art & a better side bar) Right now my goals for tomorrow are to: Put the back&next buttons inside the window Hide the skeleton image on the first tab of the app Zoom on each bone for each body part or have a heart cursor that goes in each body part like in Undertale Finish the content"}, {"post_id": 14671, "ts": "2026-06-23T21:10:04Z", "hours": 2.6467, "text": "I finished part 4, it took me a while to get it to work so I will focus on the aesthetic after i finish part 5. My notes app will show my thoughts about some true crime stories. My next app is going to be Undertale related I hope."}, {"post_id": 11551, "ts": "2026-06-18T20:54:43Z", "hours": 2.9986, "text": "Added a Notes App, but I’m not sure what its exact purpose will be"}, {"post_id": 10908, "ts": "2026-06-17T21:40:50Z", "hours": 1.8064, "text": "I’m done with part 3! Now I have: A pretty header A pretty background A CSS file with my window and window header designs that I will be able to use for my next windows. Draggable windows that can close (but will completely disappear, so I have to make a “minimize” button to be able to open it later) An open button that’s not very useful and doesn’t really work."}, {"post_id": 9556, "ts": "2026-06-15T22:40:55Z", "hours": 1.3453, "text": "Working on part 3"}, {"post_id": 6827, "ts": "2026-06-11T13:35:07Z", "hours": 0.6017, "text": "I just learned about dividers! The welcome still looks a bit awkward but it’s gonna be fine."}, {"post_id": 6805, "ts": "2026-06-11T12:41:43Z", "hours": 0.3239, "text": "First 15 minutes"}]...
|
Title: Undertale OS by @ThaoVi | Stardance
Devlog Title: Undertale OS by @ThaoVi | Stardance
Devlogs:
First 15 minutes
I just learned about dividers! The welcome still looks a bit awkward but it’s gonna be fine.
Working on part 3
I’m done with part 3! Now I have: A pretty header A pretty background A CSS file with my window and window header designs that I will be able to use for my next windows. Draggable windows that can close (but will completely disappear, so I have to make a “minimize” button to be able to open it later) An open button that’s not very useful and doesn’t really work.
Added a Notes App, but I’m not sure what its exact purpose will be
I finished part 4, it took me a while to get it to work so I will focus on the aesthetic after i finish part 5. My notes app will show my thoughts about some true crime stories. My next app is going to be Undertale related I hope.
Almost done with my second app My second app is an anatomical map of myself inspired by Undertale (not really, it’s just a pixelized skeleton). I just really like anatomy in general so I thought this would represent me well. I assigned a part of myself to many bones, the text is just placeholder right now, I will develop on it later. -I added back and next buttons for navigation to make it simpler than a side bar, It also takes less space I finished my first app a while ago but I do want to change the layout in WebOS 2 (have some art & a better side bar) Right now my goals for tomorrow are to: Put the back&next buttons inside the window Hide the skeleton image on the first tab of the app Zoom on each bone for each body part or have a heart cursor that goes in each body part like in Undertale Finish the content
Done!
WebOS 2 It’s been a month since I didn’t work on this so I forgot how to code a little. Looking at my old code is helping me remember the coding though. First new feature (Working on this) As my first new feature, I am revamping my True Notes app side bar . I want to change to to footsteps I can click on. As of now, I only imported the image and made the footprints appear for each entry. I have yet to make them as a path, center them and just have a better general layout. Second new feature I want to have hover animations. Eg if I hover on the footprints they get bigger, hovering on an app would change the top bar of the window header, etc. Third feature I haven’t really thought about it yet, either I’ll make my Skeletale app more interactive by changing back and next buttons to directly clicking on the skeleton either I will make a new app
Devlog My side bar is now a menu? I made it so that content will only show after clicking on the footsteps (not yet but that’s the goal). For that, I need to write a new function in Java Script and add a blue grassy background to match with the cloudy background. My animations are now smoother as I added transitions and larger margins so that the icons getting bigger don’t impede on the other ones. I also added hover text so that we can know which story is selected when hovering on each footstep.
First feature done My notes app is now cooler: Footprints instead of a text based sidebar Links open in new tab Upon first opening of the app, only footprints show on a grassy field Animations on footprints and sidebar after clicking the first footprint Things to add after finishing other features: More notes content A way to go back to the grassy field To work on next More animations Gamify Skeletale app
Countdown app I added a countdown app/widget for some motivation so you can have something to look forward to! The CSS is definitely lacking so I will work on it once im done with JS. It was a bit hard to convert every input and change precision but I figured it out thanks to W3S. I still need to: Show a list of the cooldowns in the main window and make them editable and deleteable Make the new window closeable & pinnable Make the time input optionnal Make an icon for the app Find a way to save changes? (maybe)
countdown working! I made it look a little better but I’m not completely satisfied yet. You can now edit and delete countdowns, change precision and some other stuff but now I want to work on making windows pinnable :^ I also want make a todo list app, I’m really thinking of making this OS my study compagnion haha but idk if its too basic for this mission. But anyways ill do it for myself not the stardust hee hee haw haw
i COMPLETELY changed the design of my OS to be full on undertale I found an amazing undertale css pack by chance and loved it so much so i went from wow blue aesthetic to undertale yay. I still have some customization to do I changed the close button to a heart and when you hover on it it becomes a broken heart im really proud of that I’m also almost done with the to do app the tasks are just not overflowing the way I want them to new ideas: music player to play undertale songs map to make wallpaper change based on map location have a preload screen that makes you choose your location and choose character
Pre-ship adjustments I’m shipping it, finally! I tried to make the user experience better by making the design more coherent (grayscale), although I am planning to add a lot more undertale references. I also changed my footprints color to contrast more with the yellow background. The countdown looks a little better, i removed some overlapping gaps that made everything look awkward but it’s better now!
Ships:
I just finished my first WebOS. It has a top bar, welcome window and two apps. All the windows are draggable and closable, and both of the apps are representative of me :D One is about the true crimes I enjoy and the other one is a presentation of me through a skeleton. I had zero experience in website coding until I started the project, I am very proud of the result!
WebOS I made an Undertale themed WebOs presenting me, with some other apps such as countdowns! This is the very first Stardance project i did, and also very first html project overall (including webos1) Features A top-bar with a live clock and a healthbar Draggable windows Closable windows Applications TrueNotes (personal) A personnal app where I put thoughts about true crime stories I enjoyed :D The design is centered around Undertale’s field of flowers, with each footstep being a story; I wanted to make it more original than the side bar I had in WebOS 1. To do app A very basic to do app. Countdown app A simple countdown app where you can set countdowns and a new window appears for each countdown. They are editable and deleteable :D You can also change the precision shown on each windows (in case seeing seconds stresses you out) Skeletale (personal) An undertale - anatomy based “autobiography” of me, it’s part of my WebOs 1 and I haven’t really updated it since. Future plans Undertale music player An intro page (WIP) where you can chose your character and background image. Make the notes apps more interactive by making the user add their own notes Undertale references The close button is a heart and it breaks when you hover on it to close the window! The field in TrueNotes are the yellow flowers from undertale. The health bar is also a reference from undertale. The fonts! They are from https://github.com/hujgup/Undertale-CSS...
|
1792983064.3846154
|
1793069464.3846154
|
|
34560
|
My very own WebOS by @HexFud | Stardance
|
HexFud
|
4
|
25.0
|
190
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T09:57:28Z", "hours": 2.0, "multiplier": 6.13, "payout": 7, "blessing": "neutral", "text": "I built WebOS, a fully functional macOS-style desktop environment that runs entirely in your browser. It’s got a full window management system, a virtual file system (Finder), a Text Editor, a working Terminal, Sticky Notes, and even a built-in web browser. The craziest part of this project was engineering the logic of a whole “operating system” without any backend at all. Everything relies purely on the browser’s localStorage. For example, I wanted users to be able to upload custom wallpapers, but high-res images would immediately hit storage limits and crash the virtual disk. To fix this, I had to build a custom solution using the Canvas API to automatically resize and compress images on the fly before saving them. Getting the desktop interactions to feel actually native was another huge hurdle. I spent a lot of time fine-tuning the marquee selection tool, multi-icon drag-and-drop, and making sure that dropping files straight into a desktop folder worked seamlessly without feeling clunky. I also added new applications like paint, clock, calendar and media player that you can all try out now!", "repo": "https://github.com/HexFud/WebOS/", "demo": "https://hexfud.github.io/WebOS/"}, {"ship_num": 2, "ts": "2026-07-25T15:16:53Z", "hours": 20.0, "multiplier": 8.65, "payout": 171, "blessing": "neutral", "text": "I built WebOS, a fully functional macOS-style desktop environment that runs entirely in your browser. It’s got a full window management system, a virtual file system (Finder), a Text Editor, a working Terminal, Sticky Notes, and even a built-in web browser. The craziest part of this project was engineering the logic of a whole “operating system” without any backend at all. Everything relies purely on the browser’s localStorage. For example, I wanted users to be able to upload custom wallpapers, but high-res images would immediately hit storage limits and crash the virtual disk. To fix this, I had to build a custom solution using the Canvas API to automatically resize and compress images on the fly before saving them. Getting the desktop interactions to feel actually native was another huge hurdle. I spent a lot of time fine-tuning the marquee selection tool, multi-icon drag-and-drop, and making sure that dropping files straight into a desktop folder worked seamlessly without feeling clunky. But honestly, what I’m most proud of is the underlying architecture. I managed to create and most of the new features i have implemented.", "repo": "https://github.com/HexFud/WebOS/", "demo": "https://hexfud.github.io/WebOS/"}, {"ship_num": 3, "ts": "2026-07-19T10:40:35Z", "hours": 2.0, "multiplier": 6.48, "payout": 12, "blessing": "neutral", "text": "I finished and polished my own WebOs, I found a lot of challenges in this path for example troubleshooting my code and fixing bug but in the end i am proud of what I’ve made", "repo": "https://github.com/HexFud/WebOS/", "demo": "https://hexfud.github.io/WebOS/"}, {"ship_num": 4, "ts": "2026-07-14T15:37:14Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finally finished the first milestone of webOs. I added so many things, hope you will like it !", "repo": "https://github.com/HexFud/WebOS/", "demo": "https://hexfud.github.io/WebOS/"}]...
|
[{"post_id": 39373, "ts": "202 [{"post_id": 39373, "ts": "2026-08-02T09:49:08Z", "hours": 2.2639, "text": "Devlog #11 Finally added more applications! What i added so far: Calendar Media Player where you can upload media (video included) and see them into the webos Paint, if you feel creative than you can draw something :) Clock I fixed some bugs with the windows drag and the drag and drop system between folders, also added more wallpaper styles"}, {"post_id": 34630, "ts": "2026-07-25T14:49:13Z", "hours": 9.1864, "text": "Devlog #10 We have antoher big upgrade!!! What I have improved and fixed: Added custom wallpapers! You can now go to Settings and upload your own image (PNG, JPG, or WebP). I built a system that automatically resizes the image to a max of 1920px and compresses it so it doesn’t blow up the browser’s local storage limit. If the file is still somehow too big, I made sure it won’t crash or delete your other saved files and notes. I built a Sticky Notes feature. If you right-click on the desktop, you can now create a new post-it. Every note is fully independent, you can drag them around the screen, pick from 5 different colors, and they actually save locally so they survive if you reload the page. Drag and drop is finally here. I initially built it just for the Explorer app so you could move files between folders, but I realized dragging a file into a folder directly on the desktop wasn’t doing anything. I completely fixed that. Now, if you drag an icon (or multiple selected icons) over a desktop folder, the folder highlights in blue, and dropping it actually moves the files inside. Added a highly requested feature to the Text Editor: a Download .txt button. Now you can actually export whatever you write in the webos straight to your real computer as a standard text file."}, {"post_id": 34261, "ts": "2026-07-24T20:16:50Z", "hours": 8.2689, "text": "Devlog #09 We have big upgrades!!! I will commit them soon to github. What I have improved and fixed: The Text Editor wasn’t actually saving files correctly. It turns out that editing a file was just updating a global temporary field instead of writing to the actual file in the webos. Worse, if you had multiple windows open, they’d overwrite each other. I’ve completely rewritten this. Every window now tracks its own fileId, and saving actually writes the file. The calculator had this bug: if you typed 5+, it would instantly yell “Error” before you could even type the next number. It now ignores incomplete states. Window buttons: now you don’t need sniper aim to close a window anymore. The clickable area for the close/minimize/maximize buttons was literally just the 13px dot. I used some CSS to bump the hitbox up to 22px. They still look exactly the same, but they’re way easier to click. Explorer Views: Grid and List views actually look different now (before they were basically identical). Grid gives you proper tiles, List gives you rows. Finally Finished Mission Control: The component I started building last time is finally up and working. Hitting F3 or clicking the new icon in the dock actually brings up the overlay now. Desktop selection & dragging: You can finally click and drag a rectangle to select multiple icons on the desktop. I had to rewrite the DesktopIcon component to handle group dragging properly, but it feels super smooth now. I also threw in Cmd/Ctrl + A to select all and the Delete key to trash selected items. Search bar: Added a working search bar to the Explorer so you can actually filter files by name. Added ↑ and ↓ arrow key support for command history (finally). I also added a sysinfo command and updated help so it actually tells you what the commands do. Passwords: Added a standard show/hide toggle (the eye icon) to the login and setup screens. New Wallpapers the UI colors were getting a bit monotonous, so I added three new vibrant gradient wallpapers (Ocean, Meadow, Spectrum). P.S. Thanks to all the people that pointed out these issues in the shipping review process"}, {"post_id": 31877, "ts": "2026-07-20T16:59:56Z", "hours": 2.2672, "text": "Devlog #08 Changed the file structure for more redability. In the update there are minor bug fixes"}, {"post_id": 31167, "ts": "2026-07-19T10:37:55Z", "hours": 0.3344, "text": "Devlog #07 Added various features like a functioning browser, dnd mode, updated the bin and the most important i finally managed to make the windows snapping work with a GUI like windows 11"}, {"post_id": 30217, "ts": "2026-07-17T16:58:03Z", "hours": 0.3383, "text": "Devlog #06 Planning to add new features but i am still stuck with some bugs so it won’t be uploaded to github until fixed. Now i am going forward adding even more things"}, {"post_id": 29798, "ts": "2026-07-16T22:35:00Z", "hours": 0.6756, "text": "Devlog #05 Finally we have a big redesign inspired by macOS. I had a lot of bugs in the previous devlog but they’re all gone now (finally). I have in program to add more animations and features"}, {"post_id": 29397, "ts": "2026-07-16T10:16:56Z", "hours": 0.6267, "text": "Devlog #04 Finally fixed the infinity of bugs i had with dragging windows around. Now you can see in the picture that if you try to change the dimension of the window a small shade appears in 1 of the 4 corners"}, {"post_id": 28198, "ts": "2026-07-14T10:24:58Z", "hours": 0.2592, "text": "Devlog #03 Fixed dekstop icon opening and minor bugs"}, {"post_id": 28179, "ts": "2026-07-14T09:45:23Z", "hours": 0.3511, "text": "Added a Create account screen and fixed some animations"}, {"post_id": 28167, "ts": "2026-07-14T09:19:43Z", "hours": 0.7175, "text": "Devlog #01 I finally improved my OS! i recently added new animations a login screen and language change settings"}]...
|
Title: My very own WebOS by @HexFud | Stardance
D Title: My very own WebOS by @HexFud | Stardance
Devlogs:
Devlog #01 I finally improved my OS! i recently added new animations a login screen and language change settings
Added a Create account screen and fixed some animations
Devlog #03 Fixed dekstop icon opening and minor bugs
Devlog #04 Finally fixed the infinity of bugs i had with dragging windows around. Now you can see in the picture that if you try to change the dimension of the window a small shade appears in 1 of the 4 corners
Devlog #05 Finally we have a big redesign inspired by macOS. I had a lot of bugs in the previous devlog but they’re all gone now (finally). I have in program to add more animations and features
Devlog #06 Planning to add new features but i am still stuck with some bugs so it won’t be uploaded to github until fixed. Now i am going forward adding even more things
Devlog #07 Added various features like a functioning browser, dnd mode, updated the bin and the most important i finally managed to make the windows snapping work with a GUI like windows 11
Devlog #08 Changed the file structure for more redability. In the update there are minor bug fixes
Devlog #09 We have big upgrades!!! I will commit them soon to github. What I have improved and fixed: The Text Editor wasn’t actually saving files correctly. It turns out that editing a file was just updating a global temporary field instead of writing to the actual file in the webos. Worse, if you had multiple windows open, they’d overwrite each other. I’ve completely rewritten this. Every window now tracks its own fileId, and saving actually writes the file. The calculator had this bug: if you typed 5+, it would instantly yell “Error” before you could even type the next number. It now ignores incomplete states. Window buttons: now you don’t need sniper aim to close a window anymore. The clickable area for the close/minimize/maximize buttons was literally just the 13px dot. I used some CSS to bump the hitbox up to 22px. They still look exactly the same, but they’re way easier to click. Explorer Views: Grid and List views actually look different now (before they were basically identical). Grid gives you proper tiles, List gives you rows. Finally Finished Mission Control: The component I started building last time is finally up and working. Hitting F3 or clicking the new icon in the dock actually brings up the overlay now. Desktop selection & dragging: You can finally click and drag a rectangle to select multiple icons on the desktop. I had to rewrite the DesktopIcon component to handle group dragging properly, but it feels super smooth now. I also threw in Cmd/Ctrl + A to select all and the Delete key to trash selected items. Search bar: Added a working search bar to the Explorer so you can actually filter files by name. Added ↑ and ↓ arrow key support for command history (finally). I also added a sysinfo command and updated help so it actually tells you what the commands do. Passwords: Added a standard show/hide toggle (the eye icon) to the login and setup screens. New Wallpapers the UI colors were getting a bit monotonous, so I added three new vibrant gradient wallpapers (Ocean, Meadow, Spectrum). P.S. Thanks to all the people that pointed out these issues in the shipping review process
Devlog #10 We have antoher big upgrade!!! What I have improved and fixed: Added custom wallpapers! You can now go to Settings and upload your own image (PNG, JPG, or WebP). I built a system that automatically resizes the image to a max of 1920px and compresses it so it doesn’t blow up the browser’s local storage limit. If the file is still somehow too big, I made sure it won’t crash or delete your other saved files and notes. I built a Sticky Notes feature. If you right-click on the desktop, you can now create a new post-it. Every note is fully independent, you can drag them around the screen, pick from 5 different colors, and they actually save locally so they survive if you reload the page. Drag and drop is finally here. I initially built it just for the Explorer app so you could move files between folders, but I realized dragging a file into a folder directly on the desktop wasn’t doing anything. I completely fixed that. Now, if you drag an icon (or multiple selected icons) over a desktop folder, the folder highlights in blue, and dropping it actually moves the files inside. Added a highly requested feature to the Text Editor: a Download .txt button. Now you can actually export whatever you write in the webos straight to your real computer as a standard text file.
Devlog #11 Finally added more applications! What i added so far: Calendar Media Player where you can upload media (video included) and see them into the webos Paint, if you feel creative than you can draw something :) Clock I fixed some bugs with the windows drag and the drag and drop system between folders, also added more wallpaper styles
Ships:
Finally finished the first milestone of webOs. I added so many things, hope you will like it !
I finished and polished my own WebOs, I found a lot of challenges in this path for example troubleshooting my code and fixing bug but in the end i am proud of what I’ve made
I built WebOS, a fully functional macOS-style desktop environment that runs entirely in your browser. It’s got a full window management system, a virtual file system (Finder), a Text Editor, a working Terminal, Sticky Notes, and even a built-in web browser. The craziest part of this project was engineering the logic of a whole “operating system” without any backend at all. Everything relies purely on the browser’s localStorage. For example, I wanted users to be able to upload custom wallpapers, but high-res images would immediately hit storage limits and crash the virtual disk. To fix this, I had to build a custom solution using the Canvas API to automatically resize and compress images on the fly before saving them. Getting the desktop interactions to feel actually native was another huge hurdle. I spent a lot of time fine-tuning the marquee selection tool, multi-icon drag-and-drop, and making sure that dropping files straight into a desktop folder worked seamlessly without feeling clunky. But honestly, what I’m most proud of is the underlying architecture. I managed to create and most of the new features i have implemented.
I built WebOS, a fully functional macOS-style desktop environment that runs entirely in your browser. It’s got a full window management system, a virtual file system (Finder), a Text Editor, a working Terminal, Sticky Notes, and even a built-in web browser. The craziest part of this project was engineering the logic of a whole “operating system” without any backend at all. Everything relies purely on the browser’s localStorage. For example, I wanted users to be able to upload custom wallpapers, but high-res images would immediately hit storage limits and crash the virtual disk. To fix this, I had to build a custom solution using the Canvas API to automatically resize and compress images on the fly before saving them. Getting the desktop interactions to feel actually native was another huge hurdle. I spent a lot of time fine-tuning the marquee selection tool, multi-icon drag-and-drop, and making sure that dropping files straight into a desktop folder worked seamlessly without feeling clunky. I also added new applications like paint, clock, calendar and media player that you can all try out now!...
|
1792972050.4533565
|
1793058450.4533565
|
|
43437
|
Ball by @cziwu2010 | Stardance
|
cziwu2010
|
1
|
33.0
|
190
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-25T15:56:17Z", "hours": 33.0, "multiplier": 5.53, "payout": 190, "blessing": "neutral", "text": "A website with an interactable pixelated ball that has physics based mechanics and glitch effects. Click to spawn the ball. Drag it to throw it around. Double click to glitch the ball. It’s my first JS project involving animating and drawing in JS. It’s also technically my first physics based project as it involves shading, ball gravity and velocity so yeah. I’m looking forward to improve on the glitch effects and add more functionality to the ball along with its environment.", "repo": "https://github.com/cziwu12/Ball", "demo": "https://ball-e9il.vercel.app/"}]...
|
[{"post_id": 54541, "ts": "202 [{"post_id": 54541, "ts": "2026-08-25T15:51:05Z", "hours": 5.7283, "text": "V1 done!"}, {"post_id": 47550, "ts": "2026-08-15T15:01:42Z", "hours": 7.3308, "text": "effects"}, {"post_id": 44527, "ts": "2026-08-10T10:52:59Z", "hours": 2.8386, "text": "Added velocity to the ball"}, {"post_id": 41777, "ts": "2026-08-06T05:29:06Z", "hours": 2.7181, "text": "Progress (added shading, gravity and dragging ball)"}, {"post_id": 40125, "ts": "2026-08-03T14:56:54Z", "hours": 14.6608, "text": "A site with a ball, a simple ball (well at leat currently)"}]...
|
Title: Ball by @cziwu2010 | Stardance
Devlogs:
A Title: Ball by @cziwu2010 | Stardance
Devlogs:
A site with a ball, a simple ball (well at leat currently)
Progress (added shading, gravity and dragging ball)
Added velocity to the ball
effects
V1 done!
Ships:
A website with an interactable pixelated ball that has physics based mechanics and glitch effects. Click to spawn the ball. Drag it to throw it around. Double click to glitch the ball. It’s my first JS project involving animating and drawing in JS. It’s also technically my first physics based project as it involves shading, ball gravity and velocity so yeah. I’m looking forward to improve on the glitch effects and add more functionality to the ball along with its environment....
|
1792983362.8277664
|
1793069762.8277664
|
|
6480
|
RAMSpeed by @thenasaplusit | Stardance
|
thenasaplusit
|
2
|
16.0
|
189
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T21:56:27Z", "hours": 13.0, "multiplier": 13.15, "payout": 173, "blessing": "neutral", "text": "Funny thing that happened while shipping this: I want it to be v1.4.2 when shipping, because, of course, 42 is the answer to everything. However, I missed theming the selector for the initial 1.4.2, so I ended up just incrementing the build number for the patch. Aside from that, I think this is it for this project (what else could I possibly add?) Stay tuned for more!", "repo": "https://github.com/Hacker-Anirudh/ramspeed", "demo": "https://ramspeed.sudothelinuxwizard.com/"}, {"ship_num": 2, "ts": "2026-06-04T16:57:34Z", "hours": 3.0, "multiplier": 4.9, "payout": 16, "blessing": "neutral", "text": "Since I have exams now, I decided to start with something I’ve wanted to make for a while - a RAM speed calculator. It’s pretty simple, but it works reliably!", "repo": "https://github.com/Hacker-Anirudh/ramspeed", "demo": "https://ramspeed.sudothelinuxwizard.com/"}]...
|
[{"post_id": 21097, "ts": "202 [{"post_id": 21097, "ts": "2026-07-02T21:52:50Z", "hours": 0.2731, "text": "To round it off, I made the selector responsive to your theme so you don’t suddenly get blinded in the night."}, {"post_id": 21088, "ts": "2026-07-02T21:31:45Z", "hours": 2.9589, "text": "It’s been a long day, but I have some stuff to show for it! Firstly, I added persistence for all the settings. I also added both the Material and Cupertino designs, and you can choose which one you want to use!"}, {"post_id": 15878, "ts": "2026-06-25T20:09:21Z", "hours": 1.9878, "text": "I added a mode to switch between decimal and binary prefixes, as well as getting rid of spaghetti logic."}, {"post_id": 15313, "ts": "2026-06-24T21:29:22Z", "hours": 2.4161, "text": "I finally got around to adding another screen that calculates PCIe bandwidth. Was actually pretty straightforward."}, {"post_id": 10699, "ts": "2026-06-17T15:48:25Z", "hours": 2.5086, "text": "Cupertino version is here guys!"}, {"post_id": 4235, "ts": "2026-06-07T14:03:26Z", "hours": 1.0706, "text": "I found a linter called very_good_analysis as well, so the code is even cleaner now. Took forever to do though. The commits are piling up more than I’d like given I should be studying, but oh well."}, {"post_id": 2992, "ts": "2026-06-05T22:21:54Z", "hours": 1.2869, "text": "After a bit of work, I have cleaned up the spaghetti code I had produced yesterday. For now it’s pretty useless, but if I ever decide to add any other functions (PCIe??) it will come in handy."}, {"post_id": 2702, "ts": "2026-06-05T12:24:49Z", "hours": 0.3817, "text": "I decided to go ahead and upload it now. With an improved dialog and all the other improvement I’ve added."}, {"post_id": 2691, "ts": "2026-06-05T11:53:38Z", "hours": 0.5828, "text": "I don’t know why I didn’t do this earlier, but now I added an “About” dialog and a license! (not live yet though, I need to add some other changes). While I’m at it, should I make downloadable binaries?"}, {"post_id": 2234, "ts": "2026-06-04T16:53:14Z", "hours": 2.9869, "text": "Finally got it working (example shows data of my future PC). Check it out at https://hacker-anirudh.github.io/ramspeed-web/ !"}, {"post_id": 1543, "ts": "2026-06-03T16:57:01Z", "hours": 0.2978, "text": "I’m building an app to calculate RAM speed in GB/s from the MT/s value that is commonly given. I haven’t gotten very far yet though."}]...
|
Title: RAMSpeed by @thenasaplusit | Stardance
Dev Title: RAMSpeed by @thenasaplusit | Stardance
Devlogs:
I’m building an app to calculate RAM speed in GB/s from the MT/s value that is commonly given. I haven’t gotten very far yet though.
Finally got it working (example shows data of my future PC). Check it out at https://hacker-anirudh.github.io/ramspeed-web/ !
I don’t know why I didn’t do this earlier, but now I added an “About” dialog and a license! (not live yet though, I need to add some other changes). While I’m at it, should I make downloadable binaries?
I decided to go ahead and upload it now. With an improved dialog and all the other improvement I’ve added.
After a bit of work, I have cleaned up the spaghetti code I had produced yesterday. For now it’s pretty useless, but if I ever decide to add any other functions (PCIe??) it will come in handy.
I found a linter called very_good_analysis as well, so the code is even cleaner now. Took forever to do though. The commits are piling up more than I’d like given I should be studying, but oh well.
Cupertino version is here guys!
I finally got around to adding another screen that calculates PCIe bandwidth. Was actually pretty straightforward.
I added a mode to switch between decimal and binary prefixes, as well as getting rid of spaghetti logic.
It’s been a long day, but I have some stuff to show for it! Firstly, I added persistence for all the settings. I also added both the Material and Cupertino designs, and you can choose which one you want to use!
To round it off, I made the selector responsive to your theme so you don’t suddenly get blinded in the night.
Ships:
Since I have exams now, I decided to start with something I’ve wanted to make for a while - a RAM speed calculator. It’s pretty simple, but it works reliably!
Funny thing that happened while shipping this: I want it to be v1.4.2 when shipping, because, of course, 42 is the answer to everything. However, I missed theming the selector for the initial 1.4.2, so I ended up just incrementing the build number for the patch. Aside from that, I think this is it for this project (what else could I possibly add?) Stay tuned for more!...
|
1792972399.6821072
|
1793058799.6821072
|
|
32908
|
Quotify by @gavrilcatalin | Stardance
|
gavrilcatalin
|
2
|
13.0
|
189
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-27T09:55:29Z", "hours": 7.0, "multiplier": 13.73, "payout": 102, "blessing": "neutral", "text": "I polished the website into a video game!", "repo": "https://github.com/nyvrixista/Quotify", "demo": "https://nyvrixista.github.io/Quotify/"}, {"ship_num": 2, "ts": "2026-07-11T10:43:36Z", "hours": 6.0, "multiplier": 14.58, "payout": 87, "blessing": "neutral", "text": "For Stardance, I built Quotify, a modern and minimal quote discovery web app designed to inspire users through meaningful words from influential people. The idea behind Quotify was to create a simple but polished experience where users can discover quotes, explore different categories, save their favorites, and quickly share quotes they enjoy. The app includes: Random quote generation Quote categories Favorite quotes with Local Storage One-click quote copying Custom toast notifications Responsive design for desktop, tablet, and mobile A clean dark-themed interface An About page explaining the project The project was built from scratch using HTML, CSS, and JavaScript, then deployed using GitHub Pages. The biggest challenge was turning a simple idea into a complete application with multiple connected features. Some of the hardest parts were: Learning how to structure a multi-page website Making JavaScript interact correctly with different HTML pages Building a favorites system using Local Storage Creating dynamic category pages Making the design responsive across different screen sizes Debugging issues after deployment One memorable challenge happened after deploying the project. Some features appeared to be broken, including notifications and styling changes. After investigating, I discovered that my browser was loading cached versions of old files. A hard refresh fixed the issue, but it taught me an important lesson about testing the actual deployed version of a project. I am most proud of taking Quotify from a simple concept into a finished, usable application. Throughout development, I improved my skills in: Writing cleaner JavaScript Manipulating the DOM Managing user data with Local Storage Creating modern CSS layouts Building responsive interfaces Debugging real-world problems Deploying and maintaining a live project I am especially proud of the final design because I focused on making it feel like a real product rather than just a school project. The dark minimalist interface, animations, custom favicon, and smooth interactions helped bring the idea together. To test Quotify: Open the live demo: https://nyvrixista.github.io/Quotify/ Try generating new quotes using the New Quote button. Save quotes by pressing the ❤️ Save button. Visit the Favorites page to view your saved quotes. Explore different quote categories (currently only one). Try the project on both desktop and mobile devices to experience the responsive design. No account is required. Favorites are stored directly in the browser using Local Storage. Building Quotify was a great learning experience. It helped me understand what it takes to create a complete web application, from the first idea to the final deployment. Thank you to Hack Club and Stardance for motivating me to build, experiment, and finish this project. Stay inspired. Keep building.", "repo": "https://github.com/nyvrixista/Quotify", "demo": "https://nyvrixista.github.io/Quotify/"}]...
|
[{"post_id": 31387, "ts": "202 [{"post_id": 31387, "ts": "2026-07-19T18:30:43Z", "hours": 2.4336, "text": "Ok, during this time i added Collections, a place where you collect all the quotes in a safe place. Second feature i added are Achievements, crucial to a game like this. Removed Copy, Save, Categories and Favorites page, as it was useless to me. More info in Ship…"}, {"post_id": 30101, "ts": "2026-07-17T12:36:59Z", "hours": 2.0628, "text": "So i added a feature that could make my website feel like a game…. Its rarities!!! So basically i will remove the idea of it being a generic quote site and turn it into a game where you collect quotes, im still working on the collection part, im so excited to finish this project!"}, {"post_id": 29578, "ts": "2026-07-16T16:41:09Z", "hours": 1.4792, "text": "Added more quotes to my quotes.js file"}, {"post_id": 27290, "ts": "2026-07-12T18:55:21Z", "hours": 1.4844, "text": "Alr, i just finished reworking the CSS, made the website look like an old book (not really, just the color palletes), now I need to add a cool feature, the problem is that idk what can be a god feature in a quote app, im still thinking about this tho."}, {"post_id": 26505, "ts": "2026-07-11T10:40:16Z", "hours": 1.1639, "text": "I polished the website and made sure its responsive on mobile."}, {"post_id": 26447, "ts": "2026-07-11T07:56:24Z", "hours": 0.2783, "text": "Finished adding the Toast Notifications, they will appear in the bottom-right corner of the screen when copying the quote, saving it or removing it from the home page. Now i will go make the about page… We are almost finished guys!"}, {"post_id": 26440, "ts": "2026-07-11T07:35:24Z", "hours": 0.2606, "text": "I finished working on the favorites feature, now next will be Toast Notiications…. Stay Tuned!"}, {"post_id": 26435, "ts": "2026-07-11T07:14:22Z", "hours": 1.2944, "text": "Added a favorites feature, still in progress!"}, {"post_id": 25279, "ts": "2026-07-09T13:34:04Z", "hours": 1.0617, "text": "So after 1 hour, i added the categories page and filtered the motivation quotes, next i will add more quotes and more categories. Later!"}, {"post_id": 25255, "ts": "2026-07-09T12:13:55Z", "hours": 1.9881, "text": "So i finished writing the HTML, CSS and the JavaScript file, its a working website, but i need to make more pages for the navigation bar i just implemented, and also more functions. Stay Tuned!"}]...
|
Title: Quotify by @gavrilcatalin | Stardance
Devl Title: Quotify by @gavrilcatalin | Stardance
Devlogs:
So i finished writing the HTML, CSS and the JavaScript file, its a working website, but i need to make more pages for the navigation bar i just implemented, and also more functions. Stay Tuned!
So after 1 hour, i added the categories page and filtered the motivation quotes, next i will add more quotes and more categories. Later!
Added a favorites feature, still in progress!
I finished working on the favorites feature, now next will be Toast Notiications…. Stay Tuned!
Finished adding the Toast Notifications, they will appear in the bottom-right corner of the screen when copying the quote, saving it or removing it from the home page. Now i will go make the about page… We are almost finished guys!
I polished the website and made sure its responsive on mobile.
Alr, i just finished reworking the CSS, made the website look like an old book (not really, just the color palletes), now I need to add a cool feature, the problem is that idk what can be a god feature in a quote app, im still thinking about this tho.
Added more quotes to my quotes.js file
So i added a feature that could make my website feel like a game…. Its rarities!!! So basically i will remove the idea of it being a generic quote site and turn it into a game where you collect quotes, im still working on the collection part, im so excited to finish this project!
Ok, during this time i added Collections, a place where you collect all the quotes in a safe place. Second feature i added are Achievements, crucial to a game like this. Removed Copy, Save, Categories and Favorites page, as it was useless to me. More info in Ship…
Ships:
For Stardance, I built Quotify, a modern and minimal quote discovery web app designed to inspire users through meaningful words from influential people. The idea behind Quotify was to create a simple but polished experience where users can discover quotes, explore different categories, save their favorites, and quickly share quotes they enjoy. The app includes: Random quote generation Quote categories Favorite quotes with Local Storage One-click quote copying Custom toast notifications Responsive design for desktop, tablet, and mobile A clean dark-themed interface An About page explaining the project The project was built from scratch using HTML, CSS, and JavaScript, then deployed using GitHub Pages. The biggest challenge was turning a simple idea into a complete application with multiple connected features. Some of the hardest parts were: Learning how to structure a multi-page website Making JavaScript interact correctly with different HTML pages Building a favorites system using Local Storage Creating dynamic category pages Making the design responsive across different screen sizes Debugging issues after deployment One memorable challenge happened after deploying the project. Some features appeared to be broken, including notifications and styling changes. After investigating, I discovered that my browser was loading cached versions of old files. A hard refresh fixed the issue, but it taught me an important lesson about testing the actual deployed version of a project. I am most proud of taking Quotify from a simple concept into a finished, usable application. Throughout development, I improved my skills in: Writing cleaner JavaScript Manipulating the DOM Managing user data with Local Storage Creating modern CSS layouts Building responsive interfaces Debugging real-world problems Deploying and maintaining a live project I am especially proud of the final design because I focused on making it feel like a real product rather than just a school project. The dark minimalist interface, animations, custom favicon, and smooth interactions helped bring the idea together. To test Quotify: Open the live demo: https://nyvrixista.github.io/Quotify/ Try generating new quotes using the New Quote button. Save quotes by pressing the ❤️ Save button. Visit the Favorites page to view your saved quotes. Explore different quote categories (currently only one). Try the project on both desktop and mobile devices to experience the responsive design. No account is required. Favorites are stored directly in the browser using Local Storage. Building Quotify was a great learning experience. It helped me understand what it takes to create a complete web application, from the first idea to the final deployment. Thank you to Hack Club and Stardance for motivating me to build, experiment, and finish this project. Stay inspired. Keep building.
I polished the website into a video game!...
|
1792189466.761874
|
1793053466.761874
|
|
3228
|
gnn pcna by @advay_awesomer | Stardance
|
advay_awesomer
|
1
|
16.0
|
188
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-22T20:17:45Z", "hours": 16.0, "multiplier": 18.82, "payout": 188, "blessing": "neutral", "text": "Made GNN-PCNA: a graph neural network that scores which residues on PCNA — a notoriously hard cancer drug target — are worth investigating as hidden (“cryptic”) pockets. It reads a protein as two graphs at once (3D contacts + backbone chain) and fuses them with a learned attention gate — a GATv2 design the standard baseline (PocketMiner) doesn’t use. Hardest part wasn’t the model — it was catching homology leakage in my own data. My first benchmark looked great until I ran MMseqs2 and found near-identical proteins (99% identity!) sitting across the train/test split. So I deleted my own headline numbers and rebuilt everything on a clean 30%-homology split. The honest score came out lower — and that’s the whole point. Proud of: it’s engineered to not overclaim. Every output is framed as “hypothesis generation,” an automated verifier catches my own mistakes, and an ablation proves how much comes from sequence vs. structure. To test it: open the demo, pick a PCNA structure (try 8GLA or 1W60), and watch it score every residue in ~2s with a 3D viewer + heatmap. Heads-up: the live demo runs the lightweight model; the headline AUPRC/AUROC come from a heavier ESM2 model (too big to host free). Full story in the repo’s DEVLOG.", "repo": "https://github.com/advaycode/gnnpcna", "demo": "https://advaycode.github.io/gnnpcna/"}]...
|
[{"post_id": 13820, "ts": "202 [{"post_id": 13820, "ts": "2026-06-22T17:19:21Z", "hours": 15.8911, "text": "first making a memory base for the gnn"}]...
|
Title: gnn pcna by @advay_awesomer | Stardance
De Title: gnn pcna by @advay_awesomer | Stardance
Devlogs:
first making a memory base for the gnn
Ships:
Made GNN-PCNA: a graph neural network that scores which residues on PCNA — a notoriously hard cancer drug target — are worth investigating as hidden (“cryptic”) pockets. It reads a protein as two graphs at once (3D contacts + backbone chain) and fuses them with a learned attention gate — a GATv2 design the standard baseline (PocketMiner) doesn’t use. Hardest part wasn’t the model — it was catching homology leakage in my own data. My first benchmark looked great until I ran MMseqs2 and found near-identical proteins (99% identity!) sitting across the train/test split. So I deleted my own headline numbers and rebuilt everything on a clean 30%-homology split. The honest score came out lower — and that’s the whole point. Proud of: it’s engineered to not overclaim. Every output is framed as “hypothesis generation,” an automated verifier catches my own mistakes, and an ablation proves how much comes from sequence vs. structure. To test it: open the demo, pick a PCNA structure (try 8GLA or 1W60), and watch it score every residue in ~2s with a 3D viewer + heatmap. Heads-up: the live demo runs the lightweight model; the headline AUPRC/AUROC come from a heavier ESM2 model (too big to host free). Full story in the repo’s DEVLOG....
|
1792982977.555013
|
1793069377.555013
|
|
19331
|
Platformer Game by @Livvy | Stardance
|
Livvy
|
3
|
15.0
|
188
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T00:51:31Z", "hours": 10.0, "multiplier": 9.82, "payout": 121, "blessing": "neutral", "text": "I completed a game where you jump through obstacles and change gravity to move through each level. As an astronaut, you use a paint gun to change your gravity based on the corresponding color. I’m proud of this being my first big project in java and HTML and CSS, and that this was my first time using VS Code. Also the paint mechanics working was a big accomplishment. A struggle was getting the flag to work after something I added along the way caused a bug and I didn’t realize to way later. It took a while but I got it working! I hope everyone enjoys the project.", "repo": "https://github.com/oliviasophia67/Paint-Gravity-Platformer", "demo": "https://oliviasophia67.github.io/Paint-Gravity-Platformer/"}, {"ship_num": 2, "ts": "2026-07-13T20:43:26Z", "hours": 0.0, "multiplier": 17.21, "payout": 7, "blessing": "neutral", "text": "I made a Platformer Game where you are an astronaut and must navigate through caves to reach the flag. I’m very proud of the graphics and how much I’ve learned when it comes to coding in javascript, html, and css. I am also happy that this finally forced me to get better at using github to place the project into and make it easier to submit into stardance.", "repo": "https://github.com/oliviasophia67/Paint-Gravity-Platformer", "demo": "https://oliviasophia67.github.io/Paint-Gravity-Platformer/"}, {"ship_num": 3, "ts": "2026-06-29T21:09:31Z", "hours": 5.0, "multiplier": 13.29, "payout": 60, "blessing": "neutral", "text": "The project I worked on was a platformer game where you are an astronaut that paints to flip gravity by walking on it, to make its way out of a alien cave. Challenges for this project were honestly finding a way to start the project, as this was one of my first coding projects in JavaScript. Also part of what I struggled with was connecting the project to Hackatime and github to connect it to Stardance. Another thing that was difficult was adding in a level selection and menu with a tracker to keep track of the stars collected on each level. A couple things that I think went very well with this project was the graphics such as the astronauts paint gun, and the background along with the flag. I’m also happy about how the paint turned out with flipping gravity and its graphics.", "repo": "https://github.com/oliviasophia67/Paint-Gravity-Platformer", "demo": "https://oliviasophia67.github.io/Paint-Gravity-Platformer/"}]...
|
[{"post_id": 72014, "ts": "202 [{"post_id": 72014, "ts": "2026-09-22T00:36:16Z", "hours": 4.8328, "text": "Final Devlog Number 9!!! :) So this is the final devlog for the game, all bugs are fixed and the game is finished (for now) I may still work on some things in my spare time but since school started up it been hard to find the time to work on it. It is completed with levels, star completion, ghost racing, achievements, and smooth gameplay. I hope that all of you enjoy the project. I enjoyed working on this a lot. Thanks for all the support I got in the process!"}, {"post_id": 33175, "ts": "2026-07-22T20:49:21Z", "hours": 1.8244, "text": "Devlog 8 - Fixed All Issues! So like I described in my last devlog, I had a major issue that was continuing to pop up, and no matter what I did it was still there. Pretty much the issue was that the whole game froze when touching the flag, and it was caused because I forgot to define one of my variables correctly. The problem was that once I finally fixed this, I had to fix the issues I cause in the process of fixing this, such as the timer no longer working. Besides this I spent some time starting to make an achievements page, to show progress throughout the game."}, {"post_id": 32673, "ts": "2026-07-21T23:51:49Z", "hours": 2.5392, "text": "Bad News :( Devlog 7……. So I have spent the last day none stop working on a bug that I accidently made I think when adding in the timer, but honestly nothing I’ve tried has worked yet. I tried so many different ideas and asked anyone who knows coding but nothing has worked. pretty much the issue is that the astronaut freezes when touching the flag and nothing in the game works. I tried adding in a try …… catch function around the code where it shows what happens when you touch the flag and exactly what error happened, but for this nothing showed up, and in any debugger I try it sees nothing wrong with the code. I’ll add in a screenshot of what it looks like when it freezes, (ignore some parts at the top, I know they overlap) If anyone has an idea of what’s wrong I could really use it. Thanks y’all!"}, {"post_id": 31969, "ts": "2026-07-20T19:56:53Z", "hours": 1.0725, "text": "Paint Gravity Game Devlog! progress I made was I fixed the trajectory lines to show where the paint will end up going, along with this I worked on the tracking for the stars that you collect each level. Now there is a counter along with the total amount of possible stars, to show the progress made in the game. next i’m gonna make the grpahics on the menu and start menu much better."}, {"post_id": 27903, "ts": "2026-07-13T20:34:52Z", "hours": 0.3642, "text": "Another Devlog! I already have shipped this project once, and probably will again soon, but for now heres an update on what I worked on. Not much time was physically spent in the project, but in learning more about coding in java (which is what this project was for me), which for today took me more like an hour than what was logged. Specifically I learned more about the way to make the gun follow the mouse, and working on some of the graphics, such as the background behind the cave walls move. I also tried to think of more ideas, maybe a trajectory dots to show where the paint will go, I would like some advice or commets of what to add."}, {"post_id": 18660, "ts": "2026-06-29T20:59:57Z", "hours": 0.3661, "text": "This is now officially the last devlog I shall post for this project. First off I made most of the additions I said I would, specifically added in the waterfalls to remove paint, and worked on graphics, especially the background. Now I shall ship the project for rating, as well I added in a demo url to the info so people can now officially try it! I will start working on a new project soon, hopefully a longer and harder one."}, {"post_id": 14105, "ts": "2026-06-23T02:36:31Z", "hours": 0.5003, "text": "One of the last devlogs (hopefully) for this project. this will be a fairly short log, just describing the updates I’ve made to my game. Firstly, the changes I made was I added in a main menu with a title page and a way to go to level selection, to access levels as you unlock them. I also fixed some graphics such as the paint gun and the tutorial on the first and second levels to play the game. I made the paint even better as now it drips onto the ceiling, instead of the paint being the same anywhere it is. In this project I have been using HTML and JavaScript in VS code, so here’s an overview of what the code is composed of and what I used to program the game. Major types of functions that will be needed for coding this type of game is a draw function, which as it describes, draws the map, the game loop function and the load level function. Each of these or general loading for the game, along with functions that derive from variables. Making sure variables were defined correctly was also a main part of it. Only other thing I would like is some smaller details to add into the game. Some I was thinking of is maybe instead of just spikes have mini spikes fly across the amp in a timely order, maybe add a waterfall to some levels that when paint is shot through it it washes away, maybe a star rating system or stars to collect in the level, along with possibly making the background more fun and engaging. I would love some other ideas too!"}, {"post_id": 12936, "ts": "2026-06-21T05:28:28Z", "hours": 2.4497, "text": "This is another devlog I’ve posted for this project and I’m almost finished. I definitely fixed the graphics for the game, turning the white box into an astronaut, turning green half circles to plants, and made the theme of a alien cave (or tried to). Here’s the list of what I worked on recently: Obviously I mainly worked on graphics including the change to a pixel art theme, creating the flag and aura around it, made the paint drip to make it look more like paint gravity, and added a tutorial to learn the game along with controls at the top. Another main thing was the death mechanisms. I made spikes into the the levels that increase in difficulty as the levels continue, along with adding a reset button. At first the levels were also slightly simple as there was no limit to the ammo, which I now added to keep the levels hard, and make the game into a puzzle. There is a couple more things I need to add before posting this project for rating which is just to make the astronaut hold a paint gun (which I somehow forgot) and to add a menu for the levels of the game."}, {"post_id": 12300, "ts": "2026-06-20T02:06:08Z", "hours": 1.2378, "text": "First Devlog! So I just recently started working on this new platformer game in VS Code, and here’s what I’ve coded so far. Main thing I began were the basics. I set up the controls for the player, and added an ending goal to bring the player to the next level. I also added in platforms to jump on, and the animation for a paint gun that the player will shoot to win levels. Next I will be adding, gravity mechanics to the paint to change the gravity, making the spikes kill the player and force them to restart the level, and lastly work on the scene and art of the game."}]...
|
Title: Platformer Game by @Livvy | Stardance
Devl Title: Platformer Game by @Livvy | Stardance
Devlogs:
First Devlog! So I just recently started working on this new platformer game in VS Code, and here’s what I’ve coded so far. Main thing I began were the basics. I set up the controls for the player, and added an ending goal to bring the player to the next level. I also added in platforms to jump on, and the animation for a paint gun that the player will shoot to win levels. Next I will be adding, gravity mechanics to the paint to change the gravity, making the spikes kill the player and force them to restart the level, and lastly work on the scene and art of the game.
This is another devlog I’ve posted for this project and I’m almost finished. I definitely fixed the graphics for the game, turning the white box into an astronaut, turning green half circles to plants, and made the theme of a alien cave (or tried to). Here’s the list of what I worked on recently: Obviously I mainly worked on graphics including the change to a pixel art theme, creating the flag and aura around it, made the paint drip to make it look more like paint gravity, and added a tutorial to learn the game along with controls at the top. Another main thing was the death mechanisms. I made spikes into the the levels that increase in difficulty as the levels continue, along with adding a reset button. At first the levels were also slightly simple as there was no limit to the ammo, which I now added to keep the levels hard, and make the game into a puzzle. There is a couple more things I need to add before posting this project for rating which is just to make the astronaut hold a paint gun (which I somehow forgot) and to add a menu for the levels of the game.
One of the last devlogs (hopefully) for this project. this will be a fairly short log, just describing the updates I’ve made to my game. Firstly, the changes I made was I added in a main menu with a title page and a way to go to level selection, to access levels as you unlock them. I also fixed some graphics such as the paint gun and the tutorial on the first and second levels to play the game. I made the paint even better as now it drips onto the ceiling, instead of the paint being the same anywhere it is. In this project I have been using HTML and JavaScript in VS code, so here’s an overview of what the code is composed of and what I used to program the game. Major types of functions that will be needed for coding this type of game is a draw function, which as it describes, draws the map, the game loop function and the load level function. Each of these or general loading for the game, along with functions that derive from variables. Making sure variables were defined correctly was also a main part of it. Only other thing I would like is some smaller details to add into the game. Some I was thinking of is maybe instead of just spikes have mini spikes fly across the amp in a timely order, maybe add a waterfall to some levels that when paint is shot through it it washes away, maybe a star rating system or stars to collect in the level, along with possibly making the background more fun and engaging. I would love some other ideas too!
This is now officially the last devlog I shall post for this project. First off I made most of the additions I said I would, specifically added in the waterfalls to remove paint, and worked on graphics, especially the background. Now I shall ship the project for rating, as well I added in a demo url to the info so people can now officially try it! I will start working on a new project soon, hopefully a longer and harder one.
Another Devlog! I already have shipped this project once, and probably will again soon, but for now heres an update on what I worked on. Not much time was physically spent in the project, but in learning more about coding in java (which is what this project was for me), which for today took me more like an hour than what was logged. Specifically I learned more about the way to make the gun follow the mouse, and working on some of the graphics, such as the background behind the cave walls move. I also tried to think of more ideas, maybe a trajectory dots to show where the paint will go, I would like some advice or commets of what to add.
Paint Gravity Game Devlog! progress I made was I fixed the trajectory lines to show where the paint will end up going, along with this I worked on the tracking for the stars that you collect each level. Now there is a counter along with the total amount of possible stars, to show the progress made in the game. next i’m gonna make the grpahics on the menu and start menu much better.
Bad News :( Devlog 7……. So I have spent the last day none stop working on a bug that I accidently made I think when adding in the timer, but honestly nothing I’ve tried has worked yet. I tried so many different ideas and asked anyone who knows coding but nothing has worked. pretty much the issue is that the astronaut freezes when touching the flag and nothing in the game works. I tried adding in a try …… catch function around the code where it shows what happens when you touch the flag and exactly what error happened, but for this nothing showed up, and in any debugger I try it sees nothing wrong with the code. I’ll add in a screenshot of what it looks like when it freezes, (ignore some parts at the top, I know they overlap) If anyone has an idea of what’s wrong I could really use it. Thanks y’all!
Devlog 8 - Fixed All Issues! So like I described in my last devlog, I had a major issue that was continuing to pop up, and no matter what I did it was still there. Pretty much the issue was that the whole game froze when touching the flag, and it was caused because I forgot to define one of my variables correctly. The problem was that once I finally fixed this, I had to fix the issues I cause in the process of fixing this, such as the timer no longer working. Besides this I spent some time starting to make an achievements page, to show progress throughout the game.
Final Devlog Number 9!!! :) So this is the final devlog for the game, all bugs are fixed and the game is finished (for now) I may still work on some things in my spare time but since school started up it been hard to find the time to work on it. It is completed with levels, star completion, ghost racing, achievements, and smooth gameplay. I hope that all of you enjoy the project. I enjoyed working on this a lot. Thanks for all the support I got in the process!
Ships:
The project I worked on was a platformer game where you are an astronaut that paints to flip gravity by walking on it, to make its way out of a alien cave. Challenges for this project were honestly finding a way to start the project, as this was one of my first coding projects in JavaScript. Also part of what I struggled with was connecting the project to Hackatime and github to connect it to Stardance. Another thing that was difficult was adding in a level selection and menu with a tracker to keep track of the stars collected on each level. A couple things that I think went very well with this project was the graphics such as the astronauts paint gun, and the background along with the flag. I’m also happy about how the paint turned out with flipping gravity and its graphics.
I made a Platformer Game where you are an astronaut and must navigate through caves to reach the flag. I’m very proud of the graphics and how much I’ve learned when it comes to coding in javascript, html, and css. I am also happy that this finally forced me to get better at using github to place the project into and make it easier to submit into stardance.
I completed a game where you jump through obstacles and change gravity to move through each level. As an astronaut, you use a paint gun to change your gravity based on the corresponding color. I’m proud of this being my first big project in java and HTML and CSS, and that this was my first time using VS Code. Also the paint mechanics working was a big accomplishment. A struggle was getting the flag to work after something I added along the way caused a bug and I didn’t realize to way later. It took a while but I got it working! I hope everyone enjoys the project....
|
1792976047.781964
|
1793062447.781964
|
|
38008
|
Understand by @chahatesh | Stardance
|
chahatesh
|
1
|
17.0
|
188
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-27T16:27:47Z", "hours": 17.0, "multiplier": 11.33, "payout": 188, "blessing": "neutral", "text": "How to Use Understand Install If Windows Defender warns you, click More Information → Run Anyway. This happens because the app is not officially signed. Create Context Tell Understand what you are working on. It creates AI-ready context for your projects. AI Screen Debugging Use the screen check feature to let the AI view your screen and suggest fixes. The idea for this app is to help with debugging and make, um, like giving context to AI simpler and easier.", "repo": "https://github.com/chahatesh/Understand", "demo": "https://github.com/chahatesh/Understand/releases"}]...
|
[{"post_id": 35875, "ts": "202 [{"post_id": 35875, "ts": "2026-07-27T16:21:40Z", "hours": 1.3658, "text": "Devlog 8 — Ship Today I focused on polishing Understand and preparing it for release. I fixed remaining issues, tested the important features, and made sure everything was working properly. I also set up the Electron build process, created the Windows installer, organized the GitHub repo, and prepared everything needed to ship the app. Understand is now ready for its first Ship"}, {"post_id": 34803, "ts": "2026-07-25T20:00:57Z", "hours": 1.5256, "text": "Devlog 7 – It Actually Works! This was one of the biggest milestones for the project.The first major task was converting the app from a regular website into a full Electron desktop application. I’d never built an Electron app before, so this was completely new territory. I spent a lot of time reading documentation, troubleshooting errors, and figuring out how everything fit together. One of the first problems I ran into was my Node.js version. I was still using Node 20, but Electron required a newer version, so I upgraded everything to Node 22. After that, I finally got the app launching successfully. Then I hit another challenge. The screen-sharing method I had been using in Chrome relied on Chrome’s built-in sharing APIs, but those don’t work the same way in Electron. Instead of trying to force it to work, I built a completely new system that can capture your screen directly inside the desktop app. The Biggest Feature - AI Debugging This is by far the biggest feature I’ve added so far. The app now works across your entire computer instead of being limited to a single browser tab. No matter what you’re working on, you can instantly ask the AI for help. There are two shortcuts Shift + Enter – Instantly captures your screen and sends it to the AI for analysis. Ctrl + Shift + Enter – First asks what’s wrong so you can provide extra context, then captures your screen and sends both the screenshot and your description to the AI. The best part is that everything gets added to the conversation’s context, so you can continue asking follow-up questions without having to explain everything again.This makes debugging incredibly fast. Instead of taking screenshots, uploading them, and re-explaining the problem every time, you just press a shortcut and the AI immediately understands what you’re looking at."}, {"post_id": 34247, "ts": "2026-07-24T19:42:25Z", "hours": 3.0858, "text": "DevLog 6 - ReRevamp So… my brother said my website looked bad. 😭 That was enough motivation to go back and redesign a bunch of the app’s CSS. The UI is much cleaner now, with better spacing, colors, and overall polish. The coolest feature I added by far is screen shairing. At first, I tried adding an image upload system so the AI could check screenshots, but it ended up being too slow and interrupted the workflow. Then I realized Google Meet can access your screen directly through screen sharing, so I built something similar. Now, whenever you press Shift + Enter, the app captures your current screen, analyzes what’s happening, and explains what it sees. It also automatically adds that information to the conversation context, giving the AI much more information when helping debug issues or answer questions.It’s way faster than constantly taking screenshots and uploading them manually, and it makes debugging feel much more seamless. BTW I renamed the app to understand"}, {"post_id": 33823, "ts": "2026-07-24T02:03:20Z", "hours": 3.2661, "text": "DevLog 5 - AI is stupid So before the ai was very bad it did not look at the context and went on a limb so now I made the context better and the ai adds to it and it has links time and a bunch of other stuff so it is smart (Yay). It can look at context and think becouse i swaped to a new ai - gpt-oss-120b - and it is smarter becouse more prameters This took way too long and it was hard but i got it to work and i think this is good if anyone thinks there a probloms dm me or comment"}, {"post_id": 33257, "ts": "2026-07-23T00:52:25Z", "hours": 1.7225, "text": "DevLog 4 – Cookies I tackled one of the biggest issues with the app saving user data. My original design didn’t have any way to store progress, which was a pretty major flaw.My first attempt was using cookies. I spent quite a while implementing everything, but after I finished… nothing worked. I went through the code over and over trying to find the bug, but I couldn’t figure it out. Eventually, I searched online and found the real problem I was testing on local host, cookies wasn’t going to work. Instead of fighting it any longer, I switched everything over to local storage.The change worked almost immediately, and it was a huge relief to finally see data being saved correctly(YAY) I also spent some time working on voice typing. It looks like I have it working now, and I think it’s going to be one of the coolest features in the app. Being able to talk instead of type just feels like the natural direction for an AI-powered tracker. PS in the vid I am reloading but you can’t see it"}, {"post_id": 33070, "ts": "2026-07-22T17:20:07Z", "hours": 1.465, "text": "DevLog 3 - Revamp This update was all about improving the experience. I switched the color scheme from blue to an amber theme after a friend pointed out that I might be using blue a little too much. Honestly, they had a point;( I also expanded the notes system. Now, each work session keeps track of your timer, notes, and any relevant links, all in one place. The AI can summarize what you worked on, making it much easier to look back on your progress without reading through every note."}, {"post_id": 32709, "ts": "2026-07-22T01:17:49Z", "hours": 0.6283, "text": "DevLog 2 I started working on the AI, and there’s now a built-in AI chat. At first it might seem a little random, but it’s actually a big part of what I have planned.The goal is to add a project journal where you can document your progress over time and easily share it with friends or anyone else who’s interested. The AI will help organize your updates, answer questions about your project, and eventually make keeping a journal much easier.It’s still early, but this is one of the core features that will tie everything together."}, {"post_id": 32548, "ts": "2026-07-21T20:06:53Z", "hours": 3.5, "text": "Devlog 1 Spent a lot of time getting the foundation of the project up and running. The idea is to make a simple AI-powered project planner where you can keep all of your projects in one place without digging through a million notes.Right now, the app lets you create multiple projects, track work sessions with a built-in timer, and save notes for each session. Those notes are automatically organized into a running project log, so everything stays in one place instead of disappearing into the void.The AI is starting to come together too. It can summarize your progress automatically, and you can use voice input so you don’t have to stop what you’re doing just to type everything out.There’s still a lot to build, and I’m not 100% sure what feature comes next, but having the core working feels like a huge step forward. It’s not flashy yet, but every app starts somewhere… even if that “somewhere” is a timer and an unhealthy amount of debugging."}]...
|
Title: Understand by @chahatesh | Stardance
Devlo Title: Understand by @chahatesh | Stardance
Devlogs:
Devlog 1 Spent a lot of time getting the foundation of the project up and running. The idea is to make a simple AI-powered project planner where you can keep all of your projects in one place without digging through a million notes.Right now, the app lets you create multiple projects, track work sessions with a built-in timer, and save notes for each session. Those notes are automatically organized into a running project log, so everything stays in one place instead of disappearing into the void.The AI is starting to come together too. It can summarize your progress automatically, and you can use voice input so you don’t have to stop what you’re doing just to type everything out.There’s still a lot to build, and I’m not 100% sure what feature comes next, but having the core working feels like a huge step forward. It’s not flashy yet, but every app starts somewhere… even if that “somewhere” is a timer and an unhealthy amount of debugging.
DevLog 2 I started working on the AI, and there’s now a built-in AI chat. At first it might seem a little random, but it’s actually a big part of what I have planned.The goal is to add a project journal where you can document your progress over time and easily share it with friends or anyone else who’s interested. The AI will help organize your updates, answer questions about your project, and eventually make keeping a journal much easier.It’s still early, but this is one of the core features that will tie everything together.
DevLog 3 - Revamp This update was all about improving the experience. I switched the color scheme from blue to an amber theme after a friend pointed out that I might be using blue a little too much. Honestly, they had a point;( I also expanded the notes system. Now, each work session keeps track of your timer, notes, and any relevant links, all in one place. The AI can summarize what you worked on, making it much easier to look back on your progress without reading through every note.
DevLog 4 – Cookies I tackled one of the biggest issues with the app saving user data. My original design didn’t have any way to store progress, which was a pretty major flaw.My first attempt was using cookies. I spent quite a while implementing everything, but after I finished… nothing worked. I went through the code over and over trying to find the bug, but I couldn’t figure it out. Eventually, I searched online and found the real problem I was testing on local host, cookies wasn’t going to work. Instead of fighting it any longer, I switched everything over to local storage.The change worked almost immediately, and it was a huge relief to finally see data being saved correctly(YAY) I also spent some time working on voice typing. It looks like I have it working now, and I think it’s going to be one of the coolest features in the app. Being able to talk instead of type just feels like the natural direction for an AI-powered tracker. PS in the vid I am reloading but you can’t see it
DevLog 5 - AI is stupid So before the ai was very bad it did not look at the context and went on a limb so now I made the context better and the ai adds to it and it has links time and a bunch of other stuff so it is smart (Yay). It can look at context and think becouse i swaped to a new ai - gpt-oss-120b - and it is smarter becouse more prameters This took way too long and it was hard but i got it to work and i think this is good if anyone thinks there a probloms dm me or comment
DevLog 6 - ReRevamp So… my brother said my website looked bad. 😭 That was enough motivation to go back and redesign a bunch of the app’s CSS. The UI is much cleaner now, with better spacing, colors, and overall polish. The coolest feature I added by far is screen shairing. At first, I tried adding an image upload system so the AI could check screenshots, but it ended up being too slow and interrupted the workflow. Then I realized Google Meet can access your screen directly through screen sharing, so I built something similar. Now, whenever you press Shift + Enter, the app captures your current screen, analyzes what’s happening, and explains what it sees. It also automatically adds that information to the conversation context, giving the AI much more information when helping debug issues or answer questions.It’s way faster than constantly taking screenshots and uploading them manually, and it makes debugging feel much more seamless. BTW I renamed the app to understand
Devlog 7 – It Actually Works! This was one of the biggest milestones for the project.The first major task was converting the app from a regular website into a full Electron desktop application. I’d never built an Electron app before, so this was completely new territory. I spent a lot of time reading documentation, troubleshooting errors, and figuring out how everything fit together. One of the first problems I ran into was my Node.js version. I was still using Node 20, but Electron required a newer version, so I upgraded everything to Node 22. After that, I finally got the app launching successfully. Then I hit another challenge. The screen-sharing method I had been using in Chrome relied on Chrome’s built-in sharing APIs, but those don’t work the same way in Electron. Instead of trying to force it to work, I built a completely new system that can capture your screen directly inside the desktop app. The Biggest Feature - AI Debugging This is by far the biggest feature I’ve added so far. The app now works across your entire computer instead of being limited to a single browser tab. No matter what you’re working on, you can instantly ask the AI for help. There are two shortcuts Shift + Enter – Instantly captures your screen and sends it to the AI for analysis. Ctrl + Shift + Enter – First asks what’s wrong so you can provide extra context, then captures your screen and sends both the screenshot and your description to the AI. The best part is that everything gets added to the conversation’s context, so you can continue asking follow-up questions without having to explain everything again.This makes debugging incredibly fast. Instead of taking screenshots, uploading them, and re-explaining the problem every time, you just press a shortcut and the AI immediately understands what you’re looking at.
Devlog 8 — Ship Today I focused on polishing Understand and preparing it for release. I fixed remaining issues, tested the important features, and made sure everything was working properly. I also set up the Electron build process, created the Windows installer, organized the GitHub repo, and prepared everything needed to ship the app. Understand is now ready for its first Ship
Ships:
How to Use Understand Install If Windows Defender warns you, click More Information → Run Anyway. This happens because the app is not officially signed. Create Context Tell Understand what you are working on. It creates AI-ready context for your projects. AI Screen Debugging Use the screen check feature to let the AI view your screen and suggest fixes. The idea for this app is to help with debugging and make, um, like giving context to AI simpler and easier....
|
1792961559.3206494
|
1793047959.3206494
|
|
9460
|
Ghostly Party by @foxors | Stardance
|
foxors
|
2
|
14.0
|
187
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T12:13:35Z", "hours": 6.0, "multiplier": 13.49, "payout": 80, "blessing": "neutral", "text": "A game written in html, css and js where you have to find a specific ghost in a picture with the fewest clicks and time as possible. The hardest thing was and still is for me the challenge to support a wide variate of browsers. Some don’t have an API point some do but only limited for privacy stuff etc. and some i can’t test because i don’t own a Mac nor a iPhone. Hope you will enjoy my small little game.", "repo": "https://codeberg.org/Foxors/Ghostly-party", "demo": "https://ghost.foxors.de"}, {"ship_num": 2, "ts": "2026-07-02T18:21:34Z", "hours": 8.0, "multiplier": 13.04, "payout": 107, "blessing": "neutral", "text": "I made a smoll random generated search picture game with GHOOOOSTs. Not creepy ghosts, just funny ghosts. I made it in pure HTML, CSS and JS fashion. Each time you play you will need to find a new specific ghost amongst others in a living room. When you find them you get shown how long you took and how many times you miss-clicked. The hardest part was to write the code to place the ghosts randomly without stacking on one another, while still guaranteeing that at least a few ghosts are always there. To not make it too hard or too easy. That you have to memorize the ghost you search, is by the way not a bug or a lack of testing. I thought it would be more fun if you had to memorize the ghost you search for while playing.", "repo": "https://codeberg.org/Foxors/Ghostly-party", "demo": "https://ghost.foxors.de"}]...
|
[{"post_id": 73952, "ts": "202 [{"post_id": 73952, "ts": "2026-09-26T12:05:09Z", "hours": 1.7142, "text": "Ready for ship 2 I fixed some minor issues and added a scoreboard at the end of each run. I also tried to make it more performant with small success. In this ship i have most of the feedback, from first ship, implemented and hope it is a better game now. I will probably stop with this ship for the time because i got my Minestom mini game server project right now which i need to finish."}, {"post_id": 28202, "ts": "2026-07-14T10:41:48Z", "hours": 4.2353, "text": "I am not finished yet First of all thanks to the feedback from some. It gave me a bit more motivation to work more on this project. Somebody bothered the loading timer after each round and guess what i also didn’t like that. So I fixed it. The cause was that each time a ghost was placed onto the canvas a new HTML image tag would have to be created, source set to the ghost image URL and than the script had to wait for the browser to load the image and only afterward it could place it onto the canvas. I fixed that by loading each image at the start of website loading. This way I already have all images loaded and only need to print them to the canvas no waiting needed. There was also this major randomness error. If you remember from an older post I did some random generator thing which makes it impossible to spawn too few ghosts while still allowing random positions on a mask without too much hugging each other. What i did not notice back then because of the mask, that if the mask isn’t applied the ghosts form a straight line from top left to bottom right. And guess what the error was: if (delta(g.x, x) < ghostSize / 2 || delta(g.y, y) < ghostSize / 2) vs if (delta(g.x, x) < ghostSize / 2 && delta(g.y, y) < ghostSize / 2) . I used and OR instead of and AND logic operator. It took me 30 mins to figure out :( Another person mentioned they had a optimization warning in their console. I did not had such a warning because I use Firefox personally. I also test on chromium but i don’t look into logs there, how ever now i did. The Dev tools of chromium really improved a lot, but i am still going to use Firefox as main browser. Well, I fixed all warnings chromium gave me. The context of a HTML canvas has an optimization flag in case you request data from it frequent what i do. I just had do set this option to true. Also the drawing part of the ghosts is now not blocking the main thread entirely with timeout calling the same function which acts like a for loop to distribute work over time. Otherwise the website would freeze for a second because printing images to a canvas is very sloww for some reason I don’t want to get into now. For the loading part i threw a bit CSS and HTML together making up a progress bar and added some random phrases so users don’t get bored. Furthermore instead of creating new HTML tags each scene change the code now already has them in the HTML code loaded but changes their visibility. In theory this should improve performance because the browser doesn’t have to create new elements each time."}, {"post_id": 20953, "ts": "2026-07-02T18:03:37Z", "hours": 1.3144, "text": "Last small improvements on my ghost game 👻 Code I reorganized parts of the code to make it, hopefully, more readable. Permission problems I have a browser with a bit more strict rules that broke my game. For that i made a check if the browser lies about color values of pixel and if that happens, we tell the user to please give us the permission. Canvas sizing Now after every try, of the game, the canvas resizes instead of only when reloading the page completely. What could be added? I had some ideas for what could be next. But i want to have a shipped project + move on with other projects. So i only list them here because i thought they are interesting. A seed calculated randomness generator to play against friends with same picture. More options of backgrounds and ghosts. Different ghost sizes. Different art styles. Dark mode."}, {"post_id": 19470, "ts": "2026-06-30T20:00:04Z", "hours": 0.6408, "text": "👀 Now you can actually play Ghostly party on the web I only did minor improvements today. In earlier versions of the game ghosts started plopping up on the canvas after one another and the worst part was that the ghost you should search for was always the first one because the browsers would use the cached version of the ghost, which obviously was way faster. To fix that i added a small loading screen which hides the canvas and makes a circle spin, in an CSS animation, until the canvas was finished drawing all the ghosts. There was also a dumb bug where i miscalculated the time the player took for a round I calculated Math.round(deltaTime / 60 * 100) / 100) when it should be Math.round(deltaTime / 60 * 10) / 100) . There was only one 0 too much. :[ Sometimes there are just those dumb bugs… I also finally deployed the game onto a web server, where it can now be played. https://ghost.foxors.de However before shipping i will try to find some bugs and add some icons and others stuff and generally try to polish up and tie loose ends together. Have a great day! or night or noon or whatever timezone you are in… :)"}, {"post_id": 18270, "ts": "2026-06-29T11:16:55Z", "hours": 1.4056, "text": "Hello, everybody! Today i fixed the width and height of the canvas. So that when you have a large screen you get a large canvas and if you have a smoll screen you get a smoll canvas. (Dynamic canvas size) I also fixed an issue where you couldn’t click the ghosts after scrolling, by taking scroll distance into account of the win condition check. I also made, just for fun, that when you find the right ghost and click on it. You get a zoomed in (cropped) image of them in the picture. Next thing would be to release it on my website…"}, {"post_id": 17051, "ts": "2026-06-27T17:59:26Z", "hours": 1.6925, "text": "I managed to implement the background. But wait! There are actually 2 backgrounds. One is a mask that masks specific areas, where ghosts are allowed to appear and the other one is the actual background with coloring. This should prevent ghosts from appearing at completely random nonsensical spots. I also programmed in that ghosts respect each other and spawn in some distance from one another, to not make it too crowded. But this created a new problem. The pseudo randomness is… well random. So there is a slight chance the ghost you need to find doesn’t even appear because you had bad luck. Furthermore many ghosts don’t appear. The script tries to spawn 50 total ghosts, in case one fails it will retry finding a position for that ghost 100 times before giving up and not spawning it. And out of the 50 only 10 manage to actually spawn. I will have to look into another solution to finding the random positions."}, {"post_id": 16932, "ts": "2026-06-27T14:23:01Z", "hours": 3.1883, "text": "I got many many drawings of a variety of ghosts from a relative and they remembered me of picture books where you would have to search a person or object among many in it. So i started programming a small website where you have to do exactly that. After showing it to the person who made the ghosts, they made more ghosts and a background. Now i will have to implement that :) For this to work i rewrote the entire thing with a canvas instead of plain images moved with transformation style sheet which makes it possible to implement the background. While I tried to I noticed that it was a bit scuffed working with images in canvas because you have to: Make a HTML image Let the browser load it And only afterwards you can put it on the canvas. But i still managed to pull it off."}]...
|
Title: Ghostly Party by @foxors | Stardance
Devlo Title: Ghostly Party by @foxors | Stardance
Devlogs:
I got many many drawings of a variety of ghosts from a relative and they remembered me of picture books where you would have to search a person or object among many in it. So i started programming a small website where you have to do exactly that. After showing it to the person who made the ghosts, they made more ghosts and a background. Now i will have to implement that :) For this to work i rewrote the entire thing with a canvas instead of plain images moved with transformation style sheet which makes it possible to implement the background. While I tried to I noticed that it was a bit scuffed working with images in canvas because you have to: Make a HTML image Let the browser load it And only afterwards you can put it on the canvas. But i still managed to pull it off.
I managed to implement the background. But wait! There are actually 2 backgrounds. One is a mask that masks specific areas, where ghosts are allowed to appear and the other one is the actual background with coloring. This should prevent ghosts from appearing at completely random nonsensical spots. I also programmed in that ghosts respect each other and spawn in some distance from one another, to not make it too crowded. But this created a new problem. The pseudo randomness is… well random. So there is a slight chance the ghost you need to find doesn’t even appear because you had bad luck. Furthermore many ghosts don’t appear. The script tries to spawn 50 total ghosts, in case one fails it will retry finding a position for that ghost 100 times before giving up and not spawning it. And out of the 50 only 10 manage to actually spawn. I will have to look into another solution to finding the random positions.
Hello, everybody! Today i fixed the width and height of the canvas. So that when you have a large screen you get a large canvas and if you have a smoll screen you get a smoll canvas. (Dynamic canvas size) I also fixed an issue where you couldn’t click the ghosts after scrolling, by taking scroll distance into account of the win condition check. I also made, just for fun, that when you find the right ghost and click on it. You get a zoomed in (cropped) image of them in the picture. Next thing would be to release it on my website…
👀 Now you can actually play Ghostly party on the web I only did minor improvements today. In earlier versions of the game ghosts started plopping up on the canvas after one another and the worst part was that the ghost you should search for was always the first one because the browsers would use the cached version of the ghost, which obviously was way faster. To fix that i added a small loading screen which hides the canvas and makes a circle spin, in an CSS animation, until the canvas was finished drawing all the ghosts. There was also a dumb bug where i miscalculated the time the player took for a round I calculated Math.round(deltaTime / 60 * 100) / 100) when it should be Math.round(deltaTime / 60 * 10) / 100) . There was only one 0 too much. :[ Sometimes there are just those dumb bugs… I also finally deployed the game onto a web server, where it can now be played. https://ghost.foxors.de However before shipping i will try to find some bugs and add some icons and others stuff and generally try to polish up and tie loose ends together. Have a great day! or night or noon or whatever timezone you are in… :)
Last small improvements on my ghost game 👻 Code I reorganized parts of the code to make it, hopefully, more readable. Permission problems I have a browser with a bit more strict rules that broke my game. For that i made a check if the browser lies about color values of pixel and if that happens, we tell the user to please give us the permission. Canvas sizing Now after every try, of the game, the canvas resizes instead of only when reloading the page completely. What could be added? I had some ideas for what could be next. But i want to have a shipped project + move on with other projects. So i only list them here because i thought they are interesting. A seed calculated randomness generator to play against friends with same picture. More options of backgrounds and ghosts. Different ghost sizes. Different art styles. Dark mode.
I am not finished yet First of all thanks to the feedback from some. It gave me a bit more motivation to work more on this project. Somebody bothered the loading timer after each round and guess what i also didn’t like that. So I fixed it. The cause was that each time a ghost was placed onto the canvas a new HTML image tag would have to be created, source set to the ghost image URL and than the script had to wait for the browser to load the image and only afterward it could place it onto the canvas. I fixed that by loading each image at the start of website loading. This way I already have all images loaded and only need to print them to the canvas no waiting needed. There was also this major randomness error. If you remember from an older post I did some random generator thing which makes it impossible to spawn too few ghosts while still allowing random positions on a mask without too much hugging each other. What i did not notice back then because of the mask, that if the mask isn’t applied the ghosts form a straight line from top left to bottom right. And guess what the error was: if (delta(g.x, x) < ghostSize / 2 || delta(g.y, y) < ghostSize / 2) vs if (delta(g.x, x) < ghostSize / 2 && delta(g.y, y) < ghostSize / 2) . I used and OR instead of and AND logic operator. It took me 30 mins to figure out :( Another person mentioned they had a optimization warning in their console. I did not had such a warning because I use Firefox personally. I also test on chromium but i don’t look into logs there, how ever now i did. The Dev tools of chromium really improved a lot, but i am still going to use Firefox as main browser. Well, I fixed all warnings chromium gave me. The context of a HTML canvas has an optimization flag in case you request data from it frequent what i do. I just had do set this option to true. Also the drawing part of the ghosts is now not blocking the main thread entirely with timeout calling the same function which acts like a for loop to distribute work over time. Otherwise the website would freeze for a second because printing images to a canvas is very sloww for some reason I don’t want to get into now. For the loading part i threw a bit CSS and HTML together making up a progress bar and added some random phrases so users don’t get bored. Furthermore instead of creating new HTML tags each scene change the code now already has them in the HTML code loaded but changes their visibility. In theory this should improve performance because the browser doesn’t have to create new elements each time.
Ready for ship 2 I fixed some minor issues and added a scoreboard at the end of each run. I also tried to make it more performant with small success. In this ship i have most of the feedback, from first ship, implemented and hope it is a better game now. I will probably stop with this ship for the time because i got my Minestom mini game server project right now which i need to finish.
Ships:
I made a smoll random generated search picture game with GHOOOOSTs. Not creepy ghosts, just funny ghosts. I made it in pure HTML, CSS and JS fashion. Each time you play you will need to find a new specific ghost amongst others in a living room. When you find them you get shown how long you took and how many times you miss-clicked. The hardest part was to write the code to place the ghosts randomly without stacking on one another, while still guaranteeing that at least a few ghosts are always there. To not make it too hard or too easy. That you have to memorize the ghost you search, is by the way not a bug or a lack of testing. I thought it would be more fun if you had to memorize the ghost you search for while playing.
A game written in html, css and js where you have to find a specific ghost in a picture with the fewest clicks and time as possible. The hardest thing was and still is for me the challenge to support a wide variate of browsers. Some don’t have an API point some do but only limited for privacy stuff etc. and some i can’t test because i don’t own a Mac nor a iPhone. Hope you will enjoy my small little game....
|
1792975827.2973127
|
1793062227.2973127
|
|
35927
|
DomainScan - find domain names for your next proje DomainScan - find domain names for your next project by @robertl | Stardance...
|
robertl
|
1
|
16.0
|
187
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T21:04:03Z", "hours": 16.0, "multiplier": 13.74, "payout": 187, "blessing": "neutral", "text": "A web app to help you check domain availability and prices for your next idea. I started building this because I was tired of checking dozens of domain names (including variations) by hand every time I had a new idea. It’s made with Tanstack Start, and you can run it yourself by providing your own Cloudflare API Keys (for the registrar API), or try it out on my deployed version: https://domainscan.robertlupas.workers.dev/", "repo": "https://github.com/robertlupas/domainscan", "demo": "https://domainscan.robertlupas.workers.dev/"}]...
|
[{"post_id": 42892, "ts": "202 [{"post_id": 42892, "ts": "2026-08-07T21:00:15Z", "hours": 1.1064, "text": "(Probably) The last DomainScan Devlog (#03) I kind of finished this project before, but forgot to deploy and ship it :) Added a README Added Cloudflare Workers stuff and prepared to deploy. Check it out I may continue working on this and adding some features, but for now I’m going to be working on some other stuff Previous devlog (#02)"}, {"post_id": 31854, "ts": "2026-07-20T15:57:05Z", "hours": 2.5336, "text": "DomainScan - Devlog #02 Quick recap: I’m building a web app to help you check domain availability and prices for your next idea. I started building this because I was tired of checking dozens of domain names (including variations) by hand every time I had a new idea. Updates Added domain saving: You can now click on the “bookmark” button to save a domain for later When you search a full domain name (including the TLD), different TLDs are automatically checked too, like classic registrar searches do. Added some subtle UI animations for buttons Added a “second action” optional parameter for the DomainCard component, for future use :) Next up: more features and deploying. If you have ideas for features you’d like to see, I’d love to hear them! Previous devlog (#01)"}, {"post_id": 29388, "ts": "2026-07-16T09:50:09Z", "hours": 12.0072, "text": "DomainScan - Devlog #01 I’m building a web app to help you check domain availability and prices for your next idea. I started building this because I was tired of checking dozens of domain names (including variations) by hand every time I had a new idea. Features I finished building the main feature: searching for domains and checking their availability & price through the Cloudflare Registrar API. I also built these features: you can enter either a project name and get some (customizable) suggestions or enter a domain name and check just for its availability. for multi-word searches, trying both with and without hyphens between the words auto adding prefixes from a customizable list (to give you a better chance of finding an available domain) customizable TLD list Tech stack I’m using TanStack Start, with TanStack Query to cache and optimize the CF Registrar requests. For the UI, I’m using shadcn/ui components (with BaseUI primitives and HugeIcons). For persisting settings between website visits/reloads, I’m using usehooks-ts ’s useLocalStorage . Next up: adding more features, polishing the UX, and deploying it. If you have ideas for features you’d like to see, I’d love to hear them! Next devlog (#02)"}]...
|
Title: DomainScan - find domain names for your nex Title: DomainScan - find domain names for your next project by @robertl | Stardance
Devlogs:
DomainScan - Devlog #01 I’m building a web app to help you check domain availability and prices for your next idea. I started building this because I was tired of checking dozens of domain names (including variations) by hand every time I had a new idea. Features I finished building the main feature: searching for domains and checking their availability & price through the Cloudflare Registrar API. I also built these features: you can enter either a project name and get some (customizable) suggestions or enter a domain name and check just for its availability. for multi-word searches, trying both with and without hyphens between the words auto adding prefixes from a customizable list (to give you a better chance of finding an available domain) customizable TLD list Tech stack I’m using TanStack Start, with TanStack Query to cache and optimize the CF Registrar requests. For the UI, I’m using shadcn/ui components (with BaseUI primitives and HugeIcons). For persisting settings between website visits/reloads, I’m using usehooks-ts ’s useLocalStorage . Next up: adding more features, polishing the UX, and deploying it. If you have ideas for features you’d like to see, I’d love to hear them! Next devlog (#02)
DomainScan - Devlog #02 Quick recap: I’m building a web app to help you check domain availability and prices for your next idea. I started building this because I was tired of checking dozens of domain names (including variations) by hand every time I had a new idea. Updates Added domain saving: You can now click on the “bookmark” button to save a domain for later When you search a full domain name (including the TLD), different TLDs are automatically checked too, like classic registrar searches do. Added some subtle UI animations for buttons Added a “second action” optional parameter for the DomainCard component, for future use :) Next up: more features and deploying. If you have ideas for features you’d like to see, I’d love to hear them! Previous devlog (#01)
(Probably) The last DomainScan Devlog (#03) I kind of finished this project before, but forgot to deploy and ship it :) Added a README Added Cloudflare Workers stuff and prepared to deploy. Check it out I may continue working on this and adding some features, but for now I’m going to be working on some other stuff Previous devlog (#02)
Ships:
A web app to help you check domain availability and prices for your next idea. I started building this because I was tired of checking dozens of domain names (including variations) by hand every time I had a new idea. It’s made with Tanstack Start, and you can run it yourself by providing your own Cloudflare API Keys (for the registrar API), or try it out on my deployed version: https://domainscan.robertlupas.workers.dev/...
|
1792990106.1956322
|
1793076506.1956322
|
|
36730
|
ProblemFirst by @arpitaanuna | Stardance
|
arpitaanuna
|
1
|
17.0
|
187
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-24T11:28:02Z", "hours": 17.0, "multiplier": 11.21, "payout": 187, "blessing": "neutral", "text": "Hiii!! Finally shipping ProblemFirst! So, I basicaly thought at first that what if there was a webiste where i don’t search the products or services, instead search for the issue itself, and that provides me the solutions! So I built ProblemFirst, a modern platform that helps people find solutions by describing the problem they’re facing instead of searching for product names. The platform is based on a simple idea: people think in problems, not products. Instead of asking users what they want to buy, ProblemFirst asks, “What problem are you trying to solve?” and then guides them towards relevant solutions. Alongside developing the platform, I spent a significant amount of time refining the UI. I redesigned the interface to achieve a clean, premium look, added smooth page transitions, motion graphics, and built a custom animated loading screen. The website features two separate experiences within the same platform. Users can search for real life problems and explore solutions, while businesses can showcase the problems their products or services solve. This project was quite fun to make! And i used couple of new programming languages that i have never used before for making this website.", "repo": "https://github.com/arpitaa31/ProblemFirst", "demo": "https://problem-first.vercel.app"}]...
|
[{"post_id": 33643, "ts": "202 [{"post_id": 33643, "ts": "2026-07-23T18:34:54Z", "hours": 1.3839, "text": "#Devlog 4 – ProblemFirst UI & Experience Refinement Reworked the homepage layout to improve visual hierarchy and clarity and shifted to a text-first, minimal design approach to better reflect the product’s intent. New Loading Experience Added a custom loading screen to improve first-time user experience. AI Experience Improvements Refined how responses are displayed using structured cards, improved visual clarity of AI-generated insights. ProblemFirst is now complete — a fully working, thoughtfully designed product ready to be experienced. Edit - I changed the UI and make it into somethin more fun lookin too! can’t change the pic of homepage in the ship, so doin it here."}, {"post_id": 33387, "ts": "2026-07-23T09:11:53Z", "hours": 3.5117, "text": "Devlog 3 — Completing ProblemFirst It’s been a while since I wrote a devlog because I’ve been spending most of my time actually building instead of documenting. Over the last several development sessions, I put in many hours refining nearly every part of ProblemFirst, and today I’m happy to say that the first complete version is finally done! The biggest focus was redesigning the user experience. I moved away from the generic AI-generated look and rebuilt the interface with a cleaner, more minimal design inspired by modern product websites. I also added subtle motion graphics and smoother interactions throughout the platform. I reworked the navigation, improved the search experience, redesigned the solution pages, simplified the overall information architecture, refined the business portal too. A lot of time also went into making the UI feel more intentional. After countless refinements, ProblemFirst has evolved into the vision I originally had: a platform where people start with their problems instead of product names, while giving startups and small businesses a fair way to connect with the people who genuinely need their solutions. But before shipping this project, I will look into the project a bit more, and make a last few changes, and look out for any mistakes as well. Sooo excited to ship this project!!!"}, {"post_id": 31923, "ts": "2026-07-20T18:30:32Z", "hours": 3.2275, "text": "#Devlog 2 Today I continued building ProblemFirst, changed the landing page UI as well, wanted to keep it a bit simpler. Including yesterday’s time a bit as well, I had also completed making the basic pages for Trending, Explore, How it Works, and for businesses page. Now I have completed making them polished and look premium. What improved: -Search now accepts any problem -UI transitions into a solution workspace -Results show in structured cards: Situation Why it happens Steps When to seek help product suggestions. Earlier it was static, so yh now its better. Also, I Connected the Gemini API, Set up Firebase project, Enabled Google Sign-in, built a showcase version for the businesses page. Today I actively worked with: -Next.js (React framework) -TypeScript -Firebase (Auth) -Gemini API (AI) -Tailwind CSS CURRENT ISSUES (TO FIX) are Gemini responses still slightly template-like and Background animations not fully active. Also, Card navigation still inconsistent. Today was the day where major changes were made to this website!!!!"}, {"post_id": 30687, "ts": "2026-07-18T13:56:20Z", "hours": 8.7717, "text": "#Devlog 1 What I’ve Started Building: Today, I officially started building ProblemFirst — a platform that flips the usual way people find solutions. Where instead of searching for the product the people tell their problem and My website guides you to the right solution. Who this helps- People facing real-life problems Someone struggling with focus, health, money, daily issues. They don’t know what to search or what to trust. Small businesses (VERY IMPORTANT) Many small brands have amazing products But they don’t have big marketing budgets and hence don’t get visibility. Things i completed doing today: Homepage (Major Focus) -A clean hero section -Search-first approach: -User directly types what’s bothering them -Supporting UI Categories Page -Created category cards: Home & Living Work & Study Health & Wellbeing Pets & Family Improvement to be made - Typography can be more premium, Cards need stronger visual hierarchy. Search Results Page (This is the brain of the product) -It takes users inputs -Basic matching system in place -Results show the solution direction But right now only limited solutions are there for limited problems. More problems with solutions have to be created. Languages I’m Using - (Out of these using a few for the very first time) Next.js, React, Tailwind CSS. Gonna do these next - Finalize homepage UI (make it more premium) Improve the search intelligence implementing authentication (creating the sign in page too) That’s it for today!! I love the UI designed for the page, and there are animations in the background too! so it looks pretty cooll."}]...
|
Title: ProblemFirst by @arpitaanuna | Stardance
D Title: ProblemFirst by @arpitaanuna | Stardance
Devlogs:
#Devlog 1 What I’ve Started Building: Today, I officially started building ProblemFirst — a platform that flips the usual way people find solutions. Where instead of searching for the product the people tell their problem and My website guides you to the right solution. Who this helps- People facing real-life problems Someone struggling with focus, health, money, daily issues. They don’t know what to search or what to trust. Small businesses (VERY IMPORTANT) Many small brands have amazing products But they don’t have big marketing budgets and hence don’t get visibility. Things i completed doing today: Homepage (Major Focus) -A clean hero section -Search-first approach: -User directly types what’s bothering them -Supporting UI Categories Page -Created category cards: Home & Living Work & Study Health & Wellbeing Pets & Family Improvement to be made - Typography can be more premium, Cards need stronger visual hierarchy. Search Results Page (This is the brain of the product) -It takes users inputs -Basic matching system in place -Results show the solution direction But right now only limited solutions are there for limited problems. More problems with solutions have to be created. Languages I’m Using - (Out of these using a few for the very first time) Next.js, React, Tailwind CSS. Gonna do these next - Finalize homepage UI (make it more premium) Improve the search intelligence implementing authentication (creating the sign in page too) That’s it for today!! I love the UI designed for the page, and there are animations in the background too! so it looks pretty cooll.
#Devlog 2 Today I continued building ProblemFirst, changed the landing page UI as well, wanted to keep it a bit simpler. Including yesterday’s time a bit as well, I had also completed making the basic pages for Trending, Explore, How it Works, and for businesses page. Now I have completed making them polished and look premium. What improved: -Search now accepts any problem -UI transitions into a solution workspace -Results show in structured cards: Situation Why it happens Steps When to seek help product suggestions. Earlier it was static, so yh now its better. Also, I Connected the Gemini API, Set up Firebase project, Enabled Google Sign-in, built a showcase version for the businesses page. Today I actively worked with: -Next.js (React framework) -TypeScript -Firebase (Auth) -Gemini API (AI) -Tailwind CSS CURRENT ISSUES (TO FIX) are Gemini responses still slightly template-like and Background animations not fully active. Also, Card navigation still inconsistent. Today was the day where major changes were made to this website!!!!
Devlog 3 — Completing ProblemFirst It’s been a while since I wrote a devlog because I’ve been spending most of my time actually building instead of documenting. Over the last several development sessions, I put in many hours refining nearly every part of ProblemFirst, and today I’m happy to say that the first complete version is finally done! The biggest focus was redesigning the user experience. I moved away from the generic AI-generated look and rebuilt the interface with a cleaner, more minimal design inspired by modern product websites. I also added subtle motion graphics and smoother interactions throughout the platform. I reworked the navigation, improved the search experience, redesigned the solution pages, simplified the overall information architecture, refined the business portal too. A lot of time also went into making the UI feel more intentional. After countless refinements, ProblemFirst has evolved into the vision I originally had: a platform where people start with their problems instead of product names, while giving startups and small businesses a fair way to connect with the people who genuinely need their solutions. But before shipping this project, I will look into the project a bit more, and make a last few changes, and look out for any mistakes as well. Sooo excited to ship this project!!!
#Devlog 4 – ProblemFirst UI & Experience Refinement Reworked the homepage layout to improve visual hierarchy and clarity and shifted to a text-first, minimal design approach to better reflect the product’s intent. New Loading Experience Added a custom loading screen to improve first-time user experience. AI Experience Improvements Refined how responses are displayed using structured cards, improved visual clarity of AI-generated insights. ProblemFirst is now complete — a fully working, thoughtfully designed product ready to be experienced. Edit - I changed the UI and make it into somethin more fun lookin too! can’t change the pic of homepage in the ship, so doin it here.
Ships:
Hiii!! Finally shipping ProblemFirst! So, I basicaly thought at first that what if there was a webiste where i don’t search the products or services, instead search for the issue itself, and that provides me the solutions! So I built ProblemFirst, a modern platform that helps people find solutions by describing the problem they’re facing instead of searching for product names. The platform is based on a simple idea: people think in problems, not products. Instead of asking users what they want to buy, ProblemFirst asks, “What problem are you trying to solve?” and then guides them towards relevant solutions. Alongside developing the platform, I spent a significant amount of time refining the UI. I redesigned the interface to achieve a clean, premium look, added smooth page transitions, motion graphics, and built a custom animated loading screen. The website features two separate experiences within the same platform. Users can search for real life problems and explore solutions, while businesses can showcase the problems their products or services solve. This project was quite fun to make! And i used couple of new programming languages that i have never used before for making this website....
|
1792979326.6178823
|
1793065726.6178823
|