|
18825
|
LLM Text Compression by @Sabrina | Stardance
|
Sabrina
|
1
|
20.0
|
360
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T20:35:23Z", "hours": 20.0, "multiplier": 18.19, "payout": 360, "blessing": "neutral", "text": "I created a lossless text compression algorithm that uses an AI to guess which letter should come next! My project works best on the latin alphabet, and specifically english text! Even better with minimal punctuation! It works best with this set of characters: a-z, A-Z, 0-9, and the space Two things were challenging. First was getting even getting a model to train, I had to followed a tutorial on tensorflow, but after that google colab trained like there was no tomorrow. The second thing was making the AI deterministic and finding an optimal way to compress it. Initially, I had the ability to set seeds and then i would compress it many many many times over again with different seeds to see which one was optimal. I eventually changed the entire format and how it worked. I made it 100% deterministic and then stored the top 11 results instead of just the top result. I’m proud that in certain cases my compression beat huffman coding by a few bytes. in like 90% of the cases though I am consistently like 1-10 bytes more inflated than huffman coding. But my decoder works on all strings, but for huffman coding you need the table as well, and the optimal one changes.", "repo": "https://github.com/BoomBoomMushroom/llm-text-compression", "demo": "https://llm-text-compression.netlify.app/"}]...
|
[{"post_id": 10198, "ts": "202 [{"post_id": 10198, "ts": "2026-06-16T20:18:12Z", "hours": 0.2714, "text": "Created the readme"}, {"post_id": 10188, "ts": "2026-06-16T20:01:14Z", "hours": 2.0767, "text": "I finished the website and the API! I added a mode to stream the output of the decompression so you can watch it happen in real time. I also made a bit writer class to clean up the compress function. I was also gonan stream that but it was gonna be a little weird since i reverse all the bytes at the end and modify the head which wouldve been in the start byte. But I have deployed the website to “ https://llm-text-compression.netlify.app/ ” and I have deployed the API to nest @ “ https://aicompressapi.sabrina.hackclub.app//compress ” I shall now ship it <3 well i need a readme.md also so in like 10 mins"}, {"post_id": 9691, "ts": "2026-06-16T03:14:36Z", "hours": 5.1972, "text": "I added support for longer utf-8 characters which had me rewrite a little bit of the compression and decompression parts. It inflated the size a little bit but i’d say its manageable right now. I also started working on an API and website so its easy for people to vote. You can input hex bytes or text to compress or decompress. I also wrote a lot about how the compression and decompression algorithm works!"}, {"post_id": 9493, "ts": "2026-06-15T20:53:36Z", "hours": 1.4828, "text": "Okay I got it working!!! I huffman encoded the top 12 predicted next characters and got the size down to 57 Bytes! the huffman coding on the same string is about 56 bytes! I havent crossed the threshold of beating huffman coding but thats okay. I may experiment with arithmetic coding for the index to possibly reduce it further but im happy with this result so far"}, {"post_id": 9393, "ts": "2026-06-15T18:53:35Z", "hours": 1.37, "text": "I increased the return amount to the top 7 results because in the worse case where the correct character is at index 6, the encoded data for it would use 8 bits, which is the same as just encoding the character, and we already used the llm to generate the character i want to work on better huffman coding for the top results as currently it just encodes it by the number of 1s prefixing a 0"}, {"post_id": 9323, "ts": "2026-06-15T17:16:52Z", "hours": 0.4619, "text": "I fixed the varint4 reading and writing but as it seems right now it increases the size of the bit mask. but i think i mightve found a way to do without the bit mask. the vocab is encoded in utf-8 and so for all my characters (a-z, A-Z, 0-9, and a space), only the lowder 7 bits are used, the 8th bit is ALWAYS 0 because of this, a character will NEVER start with a 1, meaning i can see if the next bit in the compress data is a 1 and if so we read an index for the llm’s prediction!"}, {"post_id": 9081, "ts": "2026-06-15T05:35:42Z", "hours": 0.9706, "text": "I got compression and decompression w/ the top 4 predictions working!! I encoded the indexes and then just slapped them in there. i had to pad the ending of the bit stream with 0s to align it to a byte but thats fine. I had to make a bit reader class to read it back and change up my decompresser code to read a byte and keep reading until we finish reading our index, but it was quite simple. Now ive got my message being compressed to about 66 bytes, much better than the ~100 bytes from earlier with just raw prediction. For reference the input text is 110 bytes. The huffman encoding website says it compresses it down to 441 bits or ~56 bytes. Right now im working on run length encoding to compress the llm prediction bitmask down. for my example message it is 16 bytes. but since it is a bit mask there are lots of 0s and 1s in a row, so RLE should work wonders here. Hopefully i can reduce those 16 bytes donn to 6 and then i’d be tied with the huffman compression! That would be cool,,, it is a 40% reduction in bytes so not impossible but we’ll see how it goes."}, {"post_id": 9071, "ts": "2026-06-15T04:32:33Z", "hours": 3.0442, "text": "I have been working on trying to get the LLM to compress more. I tried to brute force a bunch of seeds and they only kinda worked I tried a few other leads but no cigar Now im planning on having my predict next character return the top 5 characters, check if the correct character is in there, and if so then we use entropy/huffman coding to write which one it is. the lower on the list the less example for 5 characters 11 -> 1st result 10 -> 2nd 01 -> 3rd 001 -> 4th 000 -> 5th if i return 4 characters then my tree looks like this: 0 -> 1st 10 -> 2nd 110 -> 3rd 1110 -> 4th the less probable characters have longer codes! this does have the added complexity of throwing off the bit count, but i can either just pop off bits or i can pad the current byte to 8 bits before i encode a character"}, {"post_id": 8987, "ts": "2026-06-14T23:37:23Z", "hours": 1.1539, "text": "I created utilized a wikipedia scraper via getting featured articles from a toolforge.org and then downloaded some articles using wikitext.eluni.co I then added the training support for it by reading all the wikipedia text files and loading them into an array I will now run some training on them to hopefully achieve better compression results!"}, {"post_id": 8949, "ts": "2026-06-14T21:32:40Z", "hours": 3.8536, "text": "I created a way to train a model based on text files. But more importantly i used that model to compress and decompress text. To compress text it takes the input and seed and goes letter by letter and has the ai try and predict the next letter. if it gets it correct it will mark that letter as correct and move on. if it was wrong it will mark it as needing to be remembered and then it’s memory will think it predicted it. It uses that list to make a bit mask of which letters to predict or not, and will end the file with all the letters it marked to remember. To decompress it’s pretty much the same. it’ll take a seed and set the rng to it. it will traverse the bit mask. if it reads a 1, meaning to read a remembered letter, it will read the first letter it can, add it to the output and ai memory and move on. If it reads a 0 then it will use the previous letter and states to predict the next letter. and since we have the same seeds and states the ai is deterministic so we will generate the same letter the ai though of. What do i need to do now? I need to increase it’s training data. Right now it only uses “Alice in Wonderland” by Lewis Carroll, taken from Project Gutenberg. I need to find some way to ethnically source all of the data so if you know where let me know! I’m think rn about using wikipedia, but i have to look into it first."}]...
|
Title: LLM Text Compression by @Sabrina | Stardanc Title: LLM Text Compression by @Sabrina | Stardance
Devlogs:
I created a way to train a model based on text files. But more importantly i used that model to compress and decompress text. To compress text it takes the input and seed and goes letter by letter and has the ai try and predict the next letter. if it gets it correct it will mark that letter as correct and move on. if it was wrong it will mark it as needing to be remembered and then it’s memory will think it predicted it. It uses that list to make a bit mask of which letters to predict or not, and will end the file with all the letters it marked to remember. To decompress it’s pretty much the same. it’ll take a seed and set the rng to it. it will traverse the bit mask. if it reads a 1, meaning to read a remembered letter, it will read the first letter it can, add it to the output and ai memory and move on. If it reads a 0 then it will use the previous letter and states to predict the next letter. and since we have the same seeds and states the ai is deterministic so we will generate the same letter the ai though of. What do i need to do now? I need to increase it’s training data. Right now it only uses “Alice in Wonderland” by Lewis Carroll, taken from Project Gutenberg. I need to find some way to ethnically source all of the data so if you know where let me know! I’m think rn about using wikipedia, but i have to look into it first.
I created utilized a wikipedia scraper via getting featured articles from a toolforge.org and then downloaded some articles using wikitext.eluni.co I then added the training support for it by reading all the wikipedia text files and loading them into an array I will now run some training on them to hopefully achieve better compression results!
I have been working on trying to get the LLM to compress more. I tried to brute force a bunch of seeds and they only kinda worked I tried a few other leads but no cigar Now im planning on having my predict next character return the top 5 characters, check if the correct character is in there, and if so then we use entropy/huffman coding to write which one it is. the lower on the list the less example for 5 characters 11 -> 1st result 10 -> 2nd 01 -> 3rd 001 -> 4th 000 -> 5th if i return 4 characters then my tree looks like this: 0 -> 1st 10 -> 2nd 110 -> 3rd 1110 -> 4th the less probable characters have longer codes! this does have the added complexity of throwing off the bit count, but i can either just pop off bits or i can pad the current byte to 8 bits before i encode a character
I got compression and decompression w/ the top 4 predictions working!! I encoded the indexes and then just slapped them in there. i had to pad the ending of the bit stream with 0s to align it to a byte but thats fine. I had to make a bit reader class to read it back and change up my decompresser code to read a byte and keep reading until we finish reading our index, but it was quite simple. Now ive got my message being compressed to about 66 bytes, much better than the ~100 bytes from earlier with just raw prediction. For reference the input text is 110 bytes. The huffman encoding website says it compresses it down to 441 bits or ~56 bytes. Right now im working on run length encoding to compress the llm prediction bitmask down. for my example message it is 16 bytes. but since it is a bit mask there are lots of 0s and 1s in a row, so RLE should work wonders here. Hopefully i can reduce those 16 bytes donn to 6 and then i’d be tied with the huffman compression! That would be cool,,, it is a 40% reduction in bytes so not impossible but we’ll see how it goes.
I fixed the varint4 reading and writing but as it seems right now it increases the size of the bit mask. but i think i mightve found a way to do without the bit mask. the vocab is encoded in utf-8 and so for all my characters (a-z, A-Z, 0-9, and a space), only the lowder 7 bits are used, the 8th bit is ALWAYS 0 because of this, a character will NEVER start with a 1, meaning i can see if the next bit in the compress data is a 1 and if so we read an index for the llm’s prediction!
I increased the return amount to the top 7 results because in the worse case where the correct character is at index 6, the encoded data for it would use 8 bits, which is the same as just encoding the character, and we already used the llm to generate the character i want to work on better huffman coding for the top results as currently it just encodes it by the number of 1s prefixing a 0
Okay I got it working!!! I huffman encoded the top 12 predicted next characters and got the size down to 57 Bytes! the huffman coding on the same string is about 56 bytes! I havent crossed the threshold of beating huffman coding but thats okay. I may experiment with arithmetic coding for the index to possibly reduce it further but im happy with this result so far
I added support for longer utf-8 characters which had me rewrite a little bit of the compression and decompression parts. It inflated the size a little bit but i’d say its manageable right now. I also started working on an API and website so its easy for people to vote. You can input hex bytes or text to compress or decompress. I also wrote a lot about how the compression and decompression algorithm works!
I finished the website and the API! I added a mode to stream the output of the decompression so you can watch it happen in real time. I also made a bit writer class to clean up the compress function. I was also gonan stream that but it was gonna be a little weird since i reverse all the bytes at the end and modify the head which wouldve been in the start byte. But I have deployed the website to “ https://llm-text-compression.netlify.app/ ” and I have deployed the API to nest @ “ https://aicompressapi.sabrina.hackclub.app//compress ” I shall now ship it <3 well i need a readme.md also so in like 10 mins
Created the readme
Ships:
I created a lossless text compression algorithm that uses an AI to guess which letter should come next! My project works best on the latin alphabet, and specifically english text! Even better with minimal punctuation! It works best with this set of characters: a-z, A-Z, 0-9, and the space Two things were challenging. First was getting even getting a model to train, I had to followed a tutorial on tensorflow, but after that google colab trained like there was no tomorrow. The second thing was making the AI deterministic and finding an optimal way to compress it. Initially, I had the ability to set seeds and then i would compress it many many many times over again with different seeds to see which one was optimal. I eventually changed the entire format and how it worked. I made it 100% deterministic and then stored the top 11 results instead of just the top result. I’m proud that in certain cases my compression beat huffman coding by a few bytes. in like 90% of the cases though I am consistently like 1-10 bytes more inflated than huffman coding. But my decoder works on all strings, but for huffman coding you need the table as well, and the optimal one changes....
|
1793292560.4190366
|
1793378960.4190366
|
|
18831
|
Taxicab by @aesincs | Stardance
|
aesincs
|
1
|
6.48
|
22
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T02:39:57Z", "hours": 2.0, "multiplier": 9.65, "payout": 22, "blessing": "neutral", "text": "A friend and I recently became interested the 15-puzzle. It’s simple to solve, but there’s surprising depth to solving it efficiently and quickly. Unfortunately, existing apps for the 15-puzzle are slow and filled with advertisements. Taxicab on the other hand is a 15-puzzle for speedrunners. In addition to a stopwatch and color-coded design, it uses hovering and dragging as input methods as opposed to clicking or tapping, which is significantly faster. This first ship is the base experience needed for speedrunners. Future versions will incorporate history, statistics, multiplayer, and more.", "repo": "https://github.com/aesincs/taxicab", "demo": "https://taxicab.surge.sh"}]...
|
[{"post_id": 12113, "ts": "202 [{"post_id": 12113, "ts": "2026-06-19T19:44:20Z", "hours": 0.4014, "text": "Fixed a particularly nasty bug where dragging the blank over the drag handle would send it to the first (top left) square. Even though the drag handle isn’t a tile, it was considered part of the board as it overlayed the tiles. The function responsible for identifying the tile to swap correctly returned undefined when dragging over the handle, but JavaScript’s type coercion converted this to 0 , resulting in the blank moving to the 0th (top left) position. The fix is rejecting the swap when the identification function returns undefined ."}, {"post_id": 12010, "ts": "2026-06-19T16:24:37Z", "hours": 0.4767, "text": "Replaced the pinch and scroll controls for resizing with a drag handle. It’s more conventional and precise."}, {"post_id": 11353, "ts": "2026-06-18T15:48:40Z", "hours": 1.0558, "text": "Wrote resizing between an 8-puzzle and a 35-puzzle. Resizing is wired to scrolling and pinch-to-zoom. The tiles attempt to remain consistent in size but shrink to avoid overflowing off the page. The positioning of the word mark and indicators updates correspondingly. More colors were added for increased groups at larger sizes. The solvability check now works for even and odd sizes. Records are stored per-size."}, {"post_id": 11115, "ts": "2026-06-18T05:44:27Z", "hours": 0.2831, "text": "Wrote walk support, which automatically slides tiles to support swapping from any tile rather than just those adjacent to the blank."}, {"post_id": 11028, "ts": "2026-06-18T01:49:55Z", "hours": 0.5811, "text": "Rewrote the rendering system for performance. Previously, tiles were arranged in a grid and moved synchronously. Now, tiles are positioned absolutely and updated within an animation frame loop."}, {"post_id": 10931, "ts": "2026-06-17T22:17:36Z", "hours": 0.7322, "text": "Wrote records for the shortest time and lowest amount of moves taken to solve. Records are positioned below the tiles and persist across sessions. When a new record is achieved, the corresponding indicator flashes."}, {"post_id": 10350, "ts": "2026-06-17T01:07:47Z", "hours": 0.585, "text": "Wrote a manifest for web application installation."}, {"post_id": 9926, "ts": "2026-06-16T13:18:05Z", "hours": 0.3667, "text": "Lots of polishing for the README . Also adjusted the deployment configuration for lighter payloads."}, {"post_id": 9666, "ts": "2026-06-16T02:26:30Z", "hours": 0.2586, "text": "Wired the shuffle function to the screen when solved, so it’s easy to continue. Also wrote the watch and move counter."}, {"post_id": 9610, "ts": "2026-06-16T00:29:11Z", "hours": 0.3667, "text": "Wired the shuffle function to the wordmark. Input now freezes on solve."}, {"post_id": 9587, "ts": "2026-06-15T23:38:32Z", "hours": 0.4, "text": "Wrote the swap function and wired it to the pointer. Hovering over a tile adjacent to the blank swaps it with the blank."}, {"post_id": 9237, "ts": "2026-06-15T14:45:53Z", "hours": 0.2667, "text": "Wrote the wordmark for personality. The 15-puzzle’s called “Taxicab” since: Algorithms used to solve the 15-puzzle optimally involve the Taxicab (or Manhattan) distance. The 15-puzzle was invented by Noyes Palmer Chapman, who served as the mailman for the town of Canastota in New York."}, {"post_id": 9070, "ts": "2026-06-15T04:30:50Z", "hours": 0.3, "text": "Wrote the shuffle() . It’s random and checked for solvability using inversions. The number of inversions must be even since this is a 15-puzzle as opposed to a 8-puzzle or 24-puzzle."}, {"post_id": 9040, "ts": "2026-06-15T02:51:18Z", "hours": 0.4333, "text": "Wrote the favicon.svg and colored and numbered tiles. The favicon is a taxicab symbol made up of squares and matches the tiles’ colors."}, {"post_id": 8982, "ts": "2026-06-14T23:22:13Z", "hours": 0.2667, "text": "Wrote the README , LICENSE , and an initial index.html ."}]...
|
Title: Taxicab by @aesincs | Stardance
Devlogs:
W Title: Taxicab by @aesincs | Stardance
Devlogs:
Wrote the README , LICENSE , and an initial index.html .
Wrote the favicon.svg and colored and numbered tiles. The favicon is a taxicab symbol made up of squares and matches the tiles’ colors.
Wrote the shuffle() . It’s random and checked for solvability using inversions. The number of inversions must be even since this is a 15-puzzle as opposed to a 8-puzzle or 24-puzzle.
Wrote the wordmark for personality. The 15-puzzle’s called “Taxicab” since: Algorithms used to solve the 15-puzzle optimally involve the Taxicab (or Manhattan) distance. The 15-puzzle was invented by Noyes Palmer Chapman, who served as the mailman for the town of Canastota in New York.
Wrote the swap function and wired it to the pointer. Hovering over a tile adjacent to the blank swaps it with the blank.
Wired the shuffle function to the wordmark. Input now freezes on solve.
Wired the shuffle function to the screen when solved, so it’s easy to continue. Also wrote the watch and move counter.
Lots of polishing for the README . Also adjusted the deployment configuration for lighter payloads.
Wrote a manifest for web application installation.
Wrote records for the shortest time and lowest amount of moves taken to solve. Records are positioned below the tiles and persist across sessions. When a new record is achieved, the corresponding indicator flashes.
Rewrote the rendering system for performance. Previously, tiles were arranged in a grid and moved synchronously. Now, tiles are positioned absolutely and updated within an animation frame loop.
Wrote walk support, which automatically slides tiles to support swapping from any tile rather than just those adjacent to the blank.
Wrote resizing between an 8-puzzle and a 35-puzzle. Resizing is wired to scrolling and pinch-to-zoom. The tiles attempt to remain consistent in size but shrink to avoid overflowing off the page. The positioning of the word mark and indicators updates correspondingly. More colors were added for increased groups at larger sizes. The solvability check now works for even and odd sizes. Records are stored per-size.
Replaced the pinch and scroll controls for resizing with a drag handle. It’s more conventional and precise.
Fixed a particularly nasty bug where dragging the blank over the drag handle would send it to the first (top left) square. Even though the drag handle isn’t a tile, it was considered part of the board as it overlayed the tiles. The function responsible for identifying the tile to swap correctly returned undefined when dragging over the handle, but JavaScript’s type coercion converted this to 0 , resulting in the blank moving to the 0th (top left) position. The fix is rejecting the swap when the identification function returns undefined .
Ships:
A friend and I recently became interested the 15-puzzle. It’s simple to solve, but there’s surprising depth to solving it efficiently and quickly. Unfortunately, existing apps for the 15-puzzle are slow and filled with advertisements. Taxicab on the other hand is a 15-puzzle for speedrunners. In addition to a stopwatch and color-coded design, it uses hovering and dragging as input methods as opposed to clicking or tapping, which is significantly faster. This first ship is the base experience needed for speedrunners. Future versions will incorporate history, statistics, multiplayer, and more....
|
1793288872.294385
|
1793375272.294385
|
|
18856
|
BrazilOS by @cauadev | Stardance
|
cauadev
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T19:18:25Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello guys! Today, I’m finally shipping my BrazilOS! It has draggable windows, is very… peculiar and even has a climate status and some meme quotes. You should try it out!", "repo": "https://github.com/Br-Zueira/BrazilOS", "demo": "https://br-zueira.github.io/BrazilOS/"}]...
|
[{"post_id": 47681, "ts": "202 [{"post_id": 47681, "ts": "2026-08-15T19:15:59Z", "hours": 0.4861, "text": "Final adjusts. Nothing to show."}, {"post_id": 12864, "ts": "2026-06-21T02:09:02Z", "hours": 2.4117, "text": "Added settings, functioning weather and new icon images to the apps."}, {"post_id": 12718, "ts": "2026-06-20T19:31:25Z", "hours": 3.8183, "text": "Today is being a productive day. I added an upper taskbar into the OS when the guide just wanted me to add a bar into the notes app. Oh, as I already mentioned it, I’m doing the notes app. It already have the title, date and content fields and dynamic note showing, but it’s lacking saving the actual notes (TODO). Plus, I did a quote apps (thinking it was the note app as the guide showed quotes) that have some “memelosophy” wisdom, such as from Manoel Gomes and Luva de Pedreiro. For now, I plan to finish the notes app and give a utility to that desktop taskbar."}, {"post_id": 11014, "ts": "2026-06-18T01:19:31Z", "hours": 1.5542, "text": "Today I added a close button to the window header, some info to improve UX and a bit of CSS."}, {"post_id": 10242, "ts": "2026-06-16T21:27:55Z", "hours": 0.3006, "text": "Added a working clock to the project and an external app.js"}, {"post_id": 9588, "ts": "2026-06-15T23:40:53Z", "hours": 0.7239, "text": "Changed design and added window design and top bar."}, {"post_id": 9559, "ts": "2026-06-15T22:42:19Z", "hours": 0.3169, "text": "I applied a little bit of CSS, such as padding for main and background gradient"}, {"post_id": 9538, "ts": "2026-06-15T22:17:25Z", "hours": 0.3978, "text": "Started doing the basic structures and ideas. Basically the project’s skeleton"}]...
|
Title: BrazilOS by @cauadev | Stardance
Devlogs:
Title: BrazilOS by @cauadev | Stardance
Devlogs:
Started doing the basic structures and ideas. Basically the project’s skeleton
I applied a little bit of CSS, such as padding for main and background gradient
Changed design and added window design and top bar.
Added a working clock to the project and an external app.js
Today I added a close button to the window header, some info to improve UX and a bit of CSS.
Today is being a productive day. I added an upper taskbar into the OS when the guide just wanted me to add a bar into the notes app. Oh, as I already mentioned it, I’m doing the notes app. It already have the title, date and content fields and dynamic note showing, but it’s lacking saving the actual notes (TODO). Plus, I did a quote apps (thinking it was the note app as the guide showed quotes) that have some “memelosophy” wisdom, such as from Manoel Gomes and Luva de Pedreiro. For now, I plan to finish the notes app and give a utility to that desktop taskbar.
Added settings, functioning weather and new icon images to the apps.
Final adjusts. Nothing to show.
Ships:
Hello guys! Today, I’m finally shipping my BrazilOS! It has draggable windows, is very… peculiar and even has a climate status and some meme quotes. You should try it out!...
|
1793206069.2074478
|
1793292469.2074478
|
|
18858
|
Open Source Project Template by @asher_bana | Star Open Source Project Template by @asher_bana | Stardance...
|
asher_bana
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-07T21:46:05Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "🚀 Shipped: GitHub Project Template v1.0.0 I built this template to remove the repetitive setup work that comes with starting a new project. Instead of creating the same folders, documentation, GitHub templates, and workflows every time, you can start with a structured foundation and focus on building your project. Included: 📁 Organized project structure 📝 Documentation templates (PRD, Architecture, Roadmap, Decisions, Testing) 🐞 GitHub issue templates 🔀 Pull request template 🤝 CONTRIBUTING guide ⚖️ MIT License ✅ GitHub Actions CI 📖 Devlog and changelog support This is v1.0.0 , and I’ll keep improving it as I use it on future projects. Feedback, suggestions, and contributions are always welcome!", "repo": "https://github.com/ashtheknight/open-source-project-template/blob/main/.github/ISSUE_TEMPLATE/bug_report.md", "demo": "https://github.com/ashtheknight/Template-Example"}]...
|
[{"post_id": 22559, "ts": "202 [{"post_id": 22559, "ts": "2026-07-05T02:29:07Z", "hours": 0.3622, "text": "Devlog 1 2026-07-04 What I built today Built a GitHub project template repo Set up folders (docs, src, assets, .github) Added issue templates (bug + feature) Added pull request template Added CONTRIBUTING.md Set up CI workflow Fixed GitHub sync issues (empty folders, git tracking) Problems I hit Git didn’t upload empty folders CI failed because structure wasn’t fully synced Git push confusion / local vs GitHub mismatch What I learned Git does not track empty folders CI runs on GitHub, not locally Small missing details break automation Next step Improve CI checks Polish README"}]...
|
Title: Open Source Project Template by @asher_bana Title: Open Source Project Template by @asher_bana | Stardance
Devlogs:
Devlog 1 2026-07-04 What I built today Built a GitHub project template repo Set up folders (docs, src, assets, .github) Added issue templates (bug + feature) Added pull request template Added CONTRIBUTING.md Set up CI workflow Fixed GitHub sync issues (empty folders, git tracking) Problems I hit Git didn’t upload empty folders CI failed because structure wasn’t fully synced Git push confusion / local vs GitHub mismatch What I learned Git does not track empty folders CI runs on GitHub, not locally Small missing details break automation Next step Improve CI checks Polish README
Ships:
🚀 Shipped: GitHub Project Template v1.0.0 I built this template to remove the repetitive setup work that comes with starting a new project. Instead of creating the same folders, documentation, GitHub templates, and workflows every time, you can start with a structured foundation and focus on building your project. Included: 📁 Organized project structure 📝 Documentation templates (PRD, Architecture, Roadmap, Decisions, Testing) 🐞 GitHub issue templates 🔀 Pull request template 🤝 CONTRIBUTING guide ⚖️ MIT License ✅ GitHub Actions CI 📖 Devlog and changelog support This is v1.0.0 , and I’ll keep improving it as I use it on future projects. Feedback, suggestions, and contributions are always welcome!...
|
1793252854.4213204
|
1793339254.4213204
|
|
18860
|
Pipe covers by @asher_bana | Stardance
|
asher_bana
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-25T02:27:02Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did I make? I created a 3D-printed 60 mm pipe cover designed to prevent debris and unwanted objects from entering a pipe. The cover uses a friction-fit design so it can be installed and removed easily without extra hardware. What was challenging? The biggest challenge was designing a cover that fit securely while still being easy to remove. I had to adjust the CAD design and test the fit to make sure it worked properly. What am I proud of? I am proud that I was able to design and create a functional part from an idea. I improved the design through testing and created a simple solution to a real problem. What should people know so they can test my project? To test the project, users should place the cover onto a 60 mm pipe and check that it fits securely. They should test how well it stays in place while still being easy to remove.", "repo": "https://github.com/ashtheknight/60-and-68-mm-pipe-covers", "demo": ""}]...
|
[{"post_id": 14118, "ts": "202 [{"post_id": 14118, "ts": "2026-06-23T02:52:13Z", "hours": 0.3431, "text": "I have decided that the second pipe is easier for me to buy from the store as there is already an existing one and the one i had made had failed. i also printed the second version of the pipe cover and it did not fit so i have restored the old four hole version and deleted those holes and created 3 mm holes instead to follow a similar design the failed one."}, {"post_id": 9320, "ts": "2026-06-15T17:13:52Z", "hours": 0.4325, "text": "i designed the first draft for the second pipe “cover” as there is two, with this pipe i decided too go for a different approach and have the “cover” go on the inside instead of covering it form the outside"}, {"post_id": 8986, "ts": "2026-06-14T23:35:06Z", "hours": 0.5064, "text": "I learned about custom features in onshape. and discovered the fill pattern feature. which basically fills a object within boundaries with what ever shape/ hole you want. this proved very useful. in insuring that the air can flow naturally. i also tested the first design for a fit and it was perfect. i am now printing V2"}, {"post_id": 8971, "ts": "2026-06-14T22:42:32Z", "hours": 0.4408, "text": "I built the first version of my design some of my worries are that there might not be enough holes and the pla i am 3d printing these out of might warp in the heat"}]...
|
Title: Pipe covers by @asher_bana | Stardance
Dev Title: Pipe covers by @asher_bana | Stardance
Devlogs:
I built the first version of my design some of my worries are that there might not be enough holes and the pla i am 3d printing these out of might warp in the heat
I learned about custom features in onshape. and discovered the fill pattern feature. which basically fills a object within boundaries with what ever shape/ hole you want. this proved very useful. in insuring that the air can flow naturally. i also tested the first design for a fit and it was perfect. i am now printing V2
i designed the first draft for the second pipe “cover” as there is two, with this pipe i decided too go for a different approach and have the “cover” go on the inside instead of covering it form the outside
I have decided that the second pipe is easier for me to buy from the store as there is already an existing one and the one i had made had failed. i also printed the second version of the pipe cover and it did not fit so i have restored the old four hole version and deleted those holes and created 3 mm holes instead to follow a similar design the failed one.
Ships:
What did I make? I created a 3D-printed 60 mm pipe cover designed to prevent debris and unwanted objects from entering a pipe. The cover uses a friction-fit design so it can be installed and removed easily without extra hardware. What was challenging? The biggest challenge was designing a cover that fit securely while still being easy to remove. I had to adjust the CAD design and test the fit to make sure it worked properly. What am I proud of? I am proud that I was able to design and create a functional part from an idea. I improved the design through testing and created a simple solution to a real problem. What should people know so they can test my project? To test the project, users should place the cover onto a 60 mm pipe and check that it fits securely. They should test how well it stays in place while still being easy to remove....
|
1793130673.3486598
|
1793217073.3486598
|
|
18875
|
MusePod by @lando498 | Stardance
|
lando498
|
1
|
3.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T18:57:53Z", "hours": 3.0, "multiplier": 1.47, "payout": 3, "blessing": "neutral", "text": "MusePod is a ipod themed music player where you can import up to 3 of your own mp3 files to play, features to be added better ui added to my webos project possibly moved to vb.net for a windowsapp project", "repo": "https://github.com/Lando498/music-1", "demo": "https://caffeinated.qzz.io/Musepod/music-player.html"}]...
|
[{"post_id": 9271, "ts": "2026 [{"post_id": 9271, "ts": "2026-06-15T15:52:05Z", "hours": 0.6042, "text": "uploaded to netlify todays update the ability to upload up to 3 of your own songs"}, {"post_id": 8985, "ts": "2026-06-14T23:34:35Z", "hours": 2.6758, "text": "i need to make it so users can upload files to play their own mp3s but i am tired so i will make that tommorow todays updates ipod style ui canned heat default song repeat shuffle playing music music controls"}]...
|
Title: MusePod by @lando498 | Stardance
Devlogs:
Title: MusePod by @lando498 | Stardance
Devlogs:
i need to make it so users can upload files to play their own mp3s but i am tired so i will make that tommorow todays updates ipod style ui canned heat default song repeat shuffle playing music music controls
uploaded to netlify todays update the ability to upload up to 3 of your own songs
Ships:
MusePod is a ipod themed music player where you can import up to 3 of your own mp3 files to play, features to be added better ui added to my webos project possibly moved to vb.net for a windowsapp project...
|
1793253179.3975923
|
1793339579.3975923
|
|
18882
|
Anilist Metro by @pbk123461 | Stardance
|
pbk123461
|
1
|
8.42
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T18:40:58Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is an anilist client made to look like the windows 8/zune metro ui. The reason i made this is for learning how to use agentic ai models and also because i love metro ui. There is still work to be done, but its usable now.", "repo": "https://github.com/pbk123461/Anilist-Metro", "demo": "https://anilist-metro.netlify.app/"}]...
|
[{"post_id": 83491, "ts": "202 [{"post_id": 83491, "ts": "2026-10-28T01:48:05Z", "hours": 0.6475, "text": "Rewrote the tile behavior code and edited the file structure to be cleaner, manually; added sound effects when an anime is completed, based on the xbox achievement sound"}, {"post_id": 83107, "ts": "2026-10-26T22:06:55Z", "hours": 1.1506, "text": "New codebase revamp and EDITABLE TILES!!!!, color matched scrollbars, accent color more prominent, and finally new better tile layouts!!!"}, {"post_id": 82811, "ts": "2026-10-25T21:56:57Z", "hours": 0.3031, "text": "https://anilist-metro.netlify.app/ Fixed bugs such as search and discover not working, made the airing list more readable, added studio stats, fixed some ux, and added a home button, movable tiles, can take accent color from wallpapers."}, {"post_id": 81933, "ts": "2026-10-23T03:18:13Z", "hours": 0.8164, "text": "new beta is out!!, with an all new ui for animes and NEW UI OPTIONS IN SETTINGS!!!!"}, {"post_id": 81922, "ts": "2026-10-23T02:05:58Z", "hours": 1.4903, "text": "got activity history working + a bunch of backend fixes to make it more stable added a new fluent ui theme as experimental"}, {"post_id": 25002, "ts": "2026-07-08T22:09:45Z", "hours": 1.7664, "text": "Working on a slight ui revamp"}, {"post_id": 14179, "ts": "2026-06-23T05:22:35Z", "hours": 1.2447, "text": "Added mobile support"}, {"post_id": 9043, "ts": "2026-06-15T03:04:01Z", "hours": 0.9469, "text": "discover got fixed"}, {"post_id": 9017, "ts": "2026-06-15T01:12:00Z", "hours": 0.4258, "text": "hello, my first log, just set up this thing"}]...
|
Title: Anilist Metro by @pbk123461 | Stardance
De Title: Anilist Metro by @pbk123461 | Stardance
Devlogs:
hello, my first log, just set up this thing
discover got fixed
Added mobile support
Working on a slight ui revamp
got activity history working + a bunch of backend fixes to make it more stable added a new fluent ui theme as experimental
new beta is out!!, with an all new ui for animes and NEW UI OPTIONS IN SETTINGS!!!!
https://anilist-metro.netlify.app/ Fixed bugs such as search and discover not working, made the airing list more readable, added studio stats, fixed some ux, and added a home button, movable tiles, can take accent color from wallpapers.
New codebase revamp and EDITABLE TILES!!!!, color matched scrollbars, accent color more prominent, and finally new better tile layouts!!!
Rewrote the tile behavior code and edited the file structure to be cleaner, manually; added sound effects when an anime is completed, based on the xbox achievement sound
Ships:
This is an anilist client made to look like the windows 8/zune metro ui. The reason i made this is for learning how to use agentic ai models and also because i love metro ui. There is still work to be done, but its usable now....
|
1793202853.1402457
|
1793289253.1402457
|
|
18894
|
My very own WebOS by @Srinivas | Stardance
|
Srinivas
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-03T18:42:11Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made EterniaOS, a browser-based desktop environment in the futuristic 2026 He-Man movie’s design. It has a dark neon glassmorphism UI, and Power of Grayskull startup overlay, and a perfectly functional window management program, created from scratch using only HTML, CSS, and JavaScript. Awesome Features: Fully functioning Settings App & Persistence: customize anything like themes (Grayskull Blue, Eternia Green, Sorcerer Purple, Magma Red), sound and screen and save it automatically using localStorage. Live World Time with Tasksbar integration and Draggable desktop widgets: a cool live world time that can be in tasksbar and a desktop widget. Interactvie Desktop & Dock: supports drag-and-drop icon resizing and rearranging of the dock’s items Functional Mini-Apps : includes : A Jukebox/music app, a System Monitor, a Scientific calculator, an Image gallery, an Arcade game, and Notepad, A tasks Manager and, a fully functional Terminal! Try the live demo: You can try it on your browser at https://5riniva5.github.io/EterniaOS/", "repo": "https://github.com/5riniva5/EterniaOS", "demo": "https://5riniva5.github.io/EterniaOS/"}]...
|
[{"post_id": 40239, "ts": "202 [{"post_id": 40239, "ts": "2026-08-03T17:14:40Z", "hours": 1.56, "text": "Hi guys this is devlog # 3 of eternia OS. Added timezone-aware clock synchronization for taskbar and desktop widget Added desktop icon drag-and-drop reordering and dock organization Added persistent local Storage settings for theme, layout, and clock configuration Added a full Settings app for theme, clock, sound, and display preferences Overview EterniaOS is a browser-based desktop experience built with vanilla HTML, CSS, and JavaScript. It presents a polished futuristic OS shell inspired by a He-Man film aesthetic, with draggable windows, a dock, desktop launchers, and multiple mini-apps. The latest version includes a new Settings application, persistent visual preferences, interactive timezone-aware clock behavior, desktop icon reordering, and a live draggable clock widget. Included Mini-Apps & Features app.js / index.html: Core OS shell, window management, and desktop environment framework. calculator.js: Fully functional calculator utility application. clock.js: Timezone-aware clock sync and interactive desktop widget. gallery.js: Media and image gallery application. game.js: Interactive mini-game module. monitor.js: System performance and resource monitor. music.js: Built-in audio player and sound manager. notepad.js: Text editing utility for quick notes. tasks.js: Task manager and productivity tracker. terminal.js: Command-line interface simulator. theme.js / style.css: Futuristic He-Man film aesthetic styling with persistent theme support. Getting Started Clone or open the project repository in your preferred environment (e.g., GitHub Codespaces). Open index.html in a modern web browser or serve it using a local development server. Or Visit https://5riniva5.github.io/EterniaOS/ Interact with the desktop environment, launch mini-apps from the dock or desktop, and customize your preferences via the Settings app."}, {"post_id": 32427, "ts": "2026-07-21T16:35:32Z", "hours": 4.4672, "text": "⚡ EterniaOS Devlog: Milestone Update Core & Architecture: Structured modular application components (app.js alongside individual tools like calculator.js, notepad.js, terminal.js, and theme.js) with responsive workspace layouts and automated GitHub Pages deployments. Aesthetics & Themes: Implemented a dark neon glassmorphism aesthetic inspired by the 2026 He-Man film, complete with a real-time Theme Customizer (theme.js) for switching between Grayskull Blue, Eternia Green, Sorcerer Purple, and Magma Red accent matrices. Apps & Utilities: Built fully functional desktop modules including a Jukebox, Quest Log, Scientific Calculator, Notepad, Cyberpunk Arcade Snake, Image Gallery, System Monitor, and OP Terminal. Boot Polish: Added an immersive Power of Grayskull startup overlay with an animated Power Sword strike and a click-to-dismiss safety fallback to ensure smooth workspace loading."}, {"post_id": 21630, "ts": "2026-07-03T17:49:06Z", "hours": 0.4172, "text": "Welcome to the first post of EterniaOS! I am thrilled to finally introduce EterniaOS, a polished, web-based desktop experience inspired by the 2026 He-Man film. So far, I have been focusing on the core aesthetic and functionality, including my signature “Power of Grayskull” feature, which allows users to energize open windows with a mystic neon pulse. I am incredibly excited to continue building out the system’s interface, themes, and fun, He-Man-themed applications. Stay tuned for more updates!"}]...
|
Title: My very own WebOS by @Srinivas | Stardance
Title: My very own WebOS by @Srinivas | Stardance
Devlogs:
Welcome to the first post of EterniaOS! I am thrilled to finally introduce EterniaOS, a polished, web-based desktop experience inspired by the 2026 He-Man film. So far, I have been focusing on the core aesthetic and functionality, including my signature “Power of Grayskull” feature, which allows users to energize open windows with a mystic neon pulse. I am incredibly excited to continue building out the system’s interface, themes, and fun, He-Man-themed applications. Stay tuned for more updates!
⚡ EterniaOS Devlog: Milestone Update Core & Architecture: Structured modular application components (app.js alongside individual tools like calculator.js, notepad.js, terminal.js, and theme.js) with responsive workspace layouts and automated GitHub Pages deployments. Aesthetics & Themes: Implemented a dark neon glassmorphism aesthetic inspired by the 2026 He-Man film, complete with a real-time Theme Customizer (theme.js) for switching between Grayskull Blue, Eternia Green, Sorcerer Purple, and Magma Red accent matrices. Apps & Utilities: Built fully functional desktop modules including a Jukebox, Quest Log, Scientific Calculator, Notepad, Cyberpunk Arcade Snake, Image Gallery, System Monitor, and OP Terminal. Boot Polish: Added an immersive Power of Grayskull startup overlay with an animated Power Sword strike and a click-to-dismiss safety fallback to ensure smooth workspace loading.
Hi guys this is devlog # 3 of eternia OS. Added timezone-aware clock synchronization for taskbar and desktop widget Added desktop icon drag-and-drop reordering and dock organization Added persistent local Storage settings for theme, layout, and clock configuration Added a full Settings app for theme, clock, sound, and display preferences Overview EterniaOS is a browser-based desktop experience built with vanilla HTML, CSS, and JavaScript. It presents a polished futuristic OS shell inspired by a He-Man film aesthetic, with draggable windows, a dock, desktop launchers, and multiple mini-apps. The latest version includes a new Settings application, persistent visual preferences, interactive timezone-aware clock behavior, desktop icon reordering, and a live draggable clock widget. Included Mini-Apps & Features app.js / index.html: Core OS shell, window management, and desktop environment framework. calculator.js: Fully functional calculator utility application. clock.js: Timezone-aware clock sync and interactive desktop widget. gallery.js: Media and image gallery application. game.js: Interactive mini-game module. monitor.js: System performance and resource monitor. music.js: Built-in audio player and sound manager. notepad.js: Text editing utility for quick notes. tasks.js: Task manager and productivity tracker. terminal.js: Command-line interface simulator. theme.js / style.css: Futuristic He-Man film aesthetic styling with persistent theme support. Getting Started Clone or open the project repository in your preferred environment (e.g., GitHub Codespaces). Open index.html in a modern web browser or serve it using a local development server. Or Visit https://5riniva5.github.io/EterniaOS/ Interact with the desktop environment, launch mini-apps from the dock or desktop, and customize your preferences via the Settings app.
Ships:
I made EterniaOS, a browser-based desktop environment in the futuristic 2026 He-Man movie’s design. It has a dark neon glassmorphism UI, and Power of Grayskull startup overlay, and a perfectly functional window management program, created from scratch using only HTML, CSS, and JavaScript. Awesome Features: Fully functioning Settings App & Persistence: customize anything like themes (Grayskull Blue, Eternia Green, Sorcerer Purple, Magma Red), sound and screen and save it automatically using localStorage. Live World Time with Tasksbar integration and Draggable desktop widgets: a cool live world time that can be in tasksbar and a desktop widget. Interactvie Desktop & Dock: supports drag-and-drop icon resizing and rearranging of the dock’s items Functional Mini-Apps : includes : A Jukebox/music app, a System Monitor, a Scientific calculator, an Image gallery, an Arcade game, and Notepad, A tasks Manager and, a fully functional Terminal! Try the live demo: You can try it on your browser at https://5riniva5.github.io/EterniaOS/...
|
1793260470.7406237
|
1793346870.7406237
|
|
18915
|
OPEN-LF-SIMULATION by @jagathram | Stardance
|
jagathram
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T15:42:58Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "shipping it", "repo": "https://github.com/jagathram-tech/OPEN-LFR-SIMULATION", "demo": "https://open-lfr-simulation.vercel.app/"}]...
|
[{"post_id": 9186, "ts": "2026 [{"post_id": 9186, "ts": "2026-06-15T12:45:18Z", "hours": 0.8125, "text": "Made it beginner-friendly Setup screen now shows just the 4 controls that matter; the other 14 physics params are tucked into a collapsible Advanced section. Added one-click “recommended settings” (auto-applied per level), an onboarding banner, a “How to play” panel, a Simple/Detailed toggle on the play screen, and a coaching tip on the results screen. Made the simulation more physical Upgraded the controller from P to full PID (added Damping/Kd and Integral/Ki). Switched to analog reflectance sensors (smooth weighted line position instead of on/off). Mass now affects acceleration, and cornering too fast causes a real outward skid. Added fun/juice Sound effects + mute toggle, a 3-2-1 countdown, win confetti, a reactive robot face, slip sparks, milestone toasts, and a glowing trail. Repo Added a full README, .gitignore, and pushed everything to GitHub (kept the existing MIT license and history)."}]...
|
Title: OPEN-LF-SIMULATION by @jagathram | Stardanc Title: OPEN-LF-SIMULATION by @jagathram | Stardance
Devlogs:
Made it beginner-friendly Setup screen now shows just the 4 controls that matter; the other 14 physics params are tucked into a collapsible Advanced section. Added one-click “recommended settings” (auto-applied per level), an onboarding banner, a “How to play” panel, a Simple/Detailed toggle on the play screen, and a coaching tip on the results screen. Made the simulation more physical Upgraded the controller from P to full PID (added Damping/Kd and Integral/Ki). Switched to analog reflectance sensors (smooth weighted line position instead of on/off). Mass now affects acceleration, and cornering too fast causes a real outward skid. Added fun/juice Sound effects + mute toggle, a 3-2-1 countdown, win confetti, a reactive robot face, slip sparks, milestone toasts, and a glowing trail. Repo Added a full README, .gitignore, and pushed everything to GitHub (kept the existing MIT license and history).
Ships:
shipping it...
|
1792882063.7383811
|
1793746063.7383811
|
|
18949
|
Hangman!!!!! by @AK_47 | Stardance
|
AK_47
|
1
|
0.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T20:48:33Z", "hours": 0.0, "multiplier": 1.83, "payout": 1, "blessing": "neutral", "text": "I made a simple hangman game you can play against a computer! It uses HTML, and I used Google Gemini to explain my bugs in the code. I wasn’t able to log all of my time on this project, though, so it might be A LOT less than what I actually spent. You play against the computer with a preset list of words(with a hint before you start entering your first guess). Have fun :)", "repo": "https://github.com/AKKKKKK-47/hangman/blob/main/index.html", "demo": "https://akkkkkk-47.github.io/hangman/"}]...
|
[{"post_id": 9434, "ts": "2026 [{"post_id": 9434, "ts": "2026-06-15T19:54:58Z", "hours": 0.3836, "text": "I finally finished the code for the hangman game!"}]...
|
Title: Hangman!!!!! by @AK_47 | Stardance
Devlogs Title: Hangman!!!!! by @AK_47 | Stardance
Devlogs:
I finally finished the code for the hangman game!
Ships:
I made a simple hangman game you can play against a computer! It uses HTML, and I used Google Gemini to explain my bugs in the code. I wasn’t able to log all of my time on this project, though, so it might be A LOT less than what I actually spent. You play against the computer with a preset list of words(with a hint before you start entering your first guess). Have fun :)...
|
1793270982.1862628
|
1793357382.1862628
|
|
18952
|
Starslack by @valentine | Stardance
|
valentine
|
1
|
2.91
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T05:01:20Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple Slack app that shows random NWS alerts, flips coins, and shows random bunnies upon request.", "repo": "https://github.com/valbuildr/starslack", "demo": "https://hackclub.enterprise.slack.com/archives/C0BARAFQ9U5"}]...
|
[{"post_id": 9763, "ts": "2026 [{"post_id": 9763, "ts": "2026-06-16T06:11:49Z", "hours": 0.9069, "text": "I’ve added a help command to Starslack, showing all available commands and what they do. Starslack also now has a channel on the Hack Club Slack."}, {"post_id": 9715, "ts": "2026-06-16T04:13:28Z", "hours": 1.0219, "text": "Learning more about how Slack bots work as someone who’s worked on a Discord bot or few has been really interesting. Today I learned how to use blocks, buttons, modals and more. Making improvements to the random NWS alert command utilizing them makes me much more proud of it. (I also added a random bunny image command 🐇)"}, {"post_id": 9064, "ts": "2026-06-15T04:13:21Z", "hours": 0.9411, "text": "Figuring out what exactly to add to a project when I’m just learning about the tools is quite hard. It took me longer than I like to admit to come up with the seemingly random feature of just providing a random NWS alert."}]...
|
Title: Starslack by @valentine | Stardance
Devlog Title: Starslack by @valentine | Stardance
Devlogs:
Figuring out what exactly to add to a project when I’m just learning about the tools is quite hard. It took me longer than I like to admit to come up with the seemingly random feature of just providing a random NWS alert.
Learning more about how Slack bots work as someone who’s worked on a Discord bot or few has been really interesting. Today I learned how to use blocks, buttons, modals and more. Making improvements to the random NWS alert command utilizing them makes me much more proud of it. (I also added a random bunny image command 🐇)
I’ve added a help command to Starslack, showing all available commands and what they do. Starslack also now has a channel on the Hack Club Slack.
Ships:
I made a simple Slack app that shows random NWS alerts, flips coins, and shows random bunnies upon request....
|
1793252885.8969946
|
1793339285.8969946
|
|
18954
|
Smart Garden Probe by @percentchunk376 | Stardance
|
percentchunk376
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-21T21:19:42Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a smart garden probe, which has the ability to select plant profiles, and give recommendations through the oled screen on what you should do based on the soil moisture, and soil temp. What was challenging was writing firmware, and cading, as those are my weak areas compared to my hardware building experience. I had to learn a new language of coding(which I am still learning). I am really proud of being able to complete the project which I created, and aligning the pcb. and cad so that everything is flush and requieres minimal wiring. To test this, just make sure you have your plant profile file downlaoded, then you can run the demo file, which takes from the plant file and gives recoemendations first. (REMEMBER TO BASH FIRST).", "repo": "https://github.com/percentchunk/Smart-Garden-Probe", "demo": ""}]...
|
[{"post_id": 11387, "ts": "202 [{"post_id": 11387, "ts": "2026-06-18T17:04:27Z", "hours": 0.695, "text": "This will be my last devlog for this project until I get the parts to make the physical hardware for this. :) This project was so much fun, and all the code, cad, pcb routing, I have learned through this was crazy. Also getting to see other people who are in the same position as me is also really really cool. Also I added some writing onto my case for the love of the game. (╯°□°)╯︵ ┻━┻"}, {"post_id": 11303, "ts": "2026-06-18T14:26:11Z", "hours": 0.5192, "text": "So quick update….. WEE HAVE FINISHED THE FIRMWARE. There can’t be much testing to do till the hardware arrives. We are pretty much set with the design, pcb, and now the code. Only thing left is to clean up the repo, and polish that github. This python is fun though, its like a lazy verison of java which is making life so much easier. next update will most likely be the submission! This code was mainly finishing up the loop, and integrating all the libraries needed for the OLED, and the garden probe."}, {"post_id": 11269, "ts": "2026-06-18T13:02:38Z", "hours": 0.6519, "text": "Taking a quick break from coding, and oh my days. I’ve only learned coding on java at a basic level and this python langauge is like a whole new world. I started coding in the OLED display, and the I2C garden probe. I am using AI to help me with some of the python because even though its a way easier langauge to know, I still barely know it, and keep adding semi colons on accident cause of java. Though all the logic is mine just to clarify, AI is just to help me translate the more complex code."}, {"post_id": 10851, "ts": "2026-06-17T19:56:02Z", "hours": 1.3856, "text": "Today we had a really good, and productive day. We were able to finish our PCB, and Gerber files, we added mounting holes(Almost forget this). I started working on the firmware, and added a new function where the smart garden has the ability to change plant profiles so that it can give you recommendations on how to improve your plants health. soon there should be a plant database, but in the picture is what I added so far just as a tester class. Next steps are for the hardware library integration, and some last minute polishing."}, {"post_id": 10667, "ts": "2026-06-17T15:06:45Z", "hours": 1.4542, "text": "Almost done with polishing our smart garden device. the majority of this project will be in firmware. The pcb, and the case are done, it just needs the finishing touches. I started adding fillets everywhere because I did not at all like the square edges."}, {"post_id": 9656, "ts": "2026-06-16T02:05:49Z", "hours": 1.1047, "text": "First devlog for this project. Our software skills are highly underdeveloped, so hopefully the hardware side will make up for it. This is a hackpad with the ability to detect the mositure levels, and air temp.(Mainly for plants). Right now i am in the process of creating the box for the hackpad. The rough print will be running on prayers. :)"}]...
|
Title: Smart Garden Probe by @percentchunk376 | St Title: Smart Garden Probe by @percentchunk376 | Stardance
Devlogs:
First devlog for this project. Our software skills are highly underdeveloped, so hopefully the hardware side will make up for it. This is a hackpad with the ability to detect the mositure levels, and air temp.(Mainly for plants). Right now i am in the process of creating the box for the hackpad. The rough print will be running on prayers. :)
Almost done with polishing our smart garden device. the majority of this project will be in firmware. The pcb, and the case are done, it just needs the finishing touches. I started adding fillets everywhere because I did not at all like the square edges.
Today we had a really good, and productive day. We were able to finish our PCB, and Gerber files, we added mounting holes(Almost forget this). I started working on the firmware, and added a new function where the smart garden has the ability to change plant profiles so that it can give you recommendations on how to improve your plants health. soon there should be a plant database, but in the picture is what I added so far just as a tester class. Next steps are for the hardware library integration, and some last minute polishing.
Taking a quick break from coding, and oh my days. I’ve only learned coding on java at a basic level and this python langauge is like a whole new world. I started coding in the OLED display, and the I2C garden probe. I am using AI to help me with some of the python because even though its a way easier langauge to know, I still barely know it, and keep adding semi colons on accident cause of java. Though all the logic is mine just to clarify, AI is just to help me translate the more complex code.
So quick update….. WEE HAVE FINISHED THE FIRMWARE. There can’t be much testing to do till the hardware arrives. We are pretty much set with the design, pcb, and now the code. Only thing left is to clean up the repo, and polish that github. This python is fun though, its like a lazy verison of java which is making life so much easier. next update will most likely be the submission! This code was mainly finishing up the loop, and integrating all the libraries needed for the OLED, and the garden probe.
This will be my last devlog for this project until I get the parts to make the physical hardware for this. :) This project was so much fun, and all the code, cad, pcb routing, I have learned through this was crazy. Also getting to see other people who are in the same position as me is also really really cool. Also I added some writing onto my case for the love of the game. (╯°□°)╯︵ ┻━┻
Ships:
I made a smart garden probe, which has the ability to select plant profiles, and give recommendations through the oled screen on what you should do based on the soil moisture, and soil temp. What was challenging was writing firmware, and cading, as those are my weak areas compared to my hardware building experience. I had to learn a new language of coding(which I am still learning). I am really proud of being able to complete the project which I created, and aligning the pcb. and cad so that everything is flush and requieres minimal wiring. To test this, just make sure you have your plant profile file downlaoded, then you can run the demo file, which takes from the plant file and gives recoemendations first. (REMEMBER TO BASH FIRST)....
|
1793141262.50211
|
1793227662.50211
|
|
18977
|
LED Micropad by @kelvindabest | Stardance
|
kelvindabest
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T08:30:55Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a macropad that has 3 keys (Num Lock, Caps Lock, and Scroll Lock), 3 LED indicators for the aforementioned, and a 0.91 inch 128x32 OLED screen that also, you guessed it, shows the status of aforementioned keys! I found making the QMK firmware really challenging, I did use some AI for that. I’m proud of the case, I feel like it looks really good. I exported the assembled-model.step file and after viewing it again, the PCB seems to be missing. I’m not sure why this is but if this is happening to you then please let me know, I will try to fix that.", "repo": "https://github.com/kelvindabest273/LED-Micropad", "demo": ""}]...
|
[{"post_id": 16157, "ts": "202 [{"post_id": 16157, "ts": "2026-06-26T08:25:11Z", "hours": 3.4681, "text": "I’m done (almost, my assembled-model.step is having a bit of issues) ! I’m making this devlog so that time isn’t lost when I ship it, you can find the GitHub link here: https://github.com/kelvindabest273/LED-Micropad"}, {"post_id": 12941, "ts": "2026-06-21T05:39:28Z", "hours": 0.7544, "text": "Kind of a lazy devlog, but I’m done making the PCB and the case (made the case in Inventor), all that’s left is the firmware and I should be good to ship! (I’ve spent more than just 45 minutes but I didn’t log it. I understand I will not be getting stardust for un-logged hours)"}]...
|
Title: LED Micropad by @kelvindabest | Stardance
Title: LED Micropad by @kelvindabest | Stardance
Devlogs:
Kind of a lazy devlog, but I’m done making the PCB and the case (made the case in Inventor), all that’s left is the firmware and I should be good to ship! (I’ve spent more than just 45 minutes but I didn’t log it. I understand I will not be getting stardust for un-logged hours)
I’m done (almost, my assembled-model.step is having a bit of issues) ! I’m making this devlog so that time isn’t lost when I ship it, you can find the GitHub link here: https://github.com/kelvindabest273/LED-Micropad
Ships:
This is a macropad that has 3 keys (Num Lock, Caps Lock, and Scroll Lock), 3 LED indicators for the aforementioned, and a 0.91 inch 128x32 OLED screen that also, you guessed it, shows the status of aforementioned keys! I found making the QMK firmware really challenging, I did use some AI for that. I’m proud of the case, I feel like it looks really good. I exported the assembled-model.step file and after viewing it again, the PCB seems to be missing. I’m not sure why this is but if this is happening to you then please let me know, I will try to fix that....
|
1793256614.4864597
|
1793343014.4864597
|
|
19004
|
MEDIKILL by @Vini | Stardance
|
Vini
|
1
|
93.0
|
809
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T07:48:13Z", "hours": 93.0, "multiplier": 11.54, "payout": 809, "blessing": "neutral", "text": "In this project I have made a fully functioning FPS featuring all the stuff you would want from one (disclaimer: its a very buggy game). I would say the most difficult part of this project was the enemy AI which works perfectly now it has running away chasing and patrolling and idle state. The most annoying part of making this game was all the light baking issues there so annoying and took me like 9 hours to get working barley passible. Turns out PB mesh’s don’t like light baking. Please actually read the readme and play the game. I hope you have a great day also you’re a good person. (Hopefully)", "repo": "https://github.com/wildevi26250-tech/FPSNoir", "demo": "https://play.unity.com/en/games/3177c58f-2173-45c1-a5f3-a427582aac1a/medikill"}]...
|
[{"post_id": 60692, "ts": "202 [{"post_id": 60692, "ts": "2026-09-03T07:34:29Z", "hours": 3.8858, "text": "Bug fixing First bug was being able to just hold w and stick to the walls Second was all the lighting issues And third im working on the ending for this short shooter Ima ship soon AND YES I KNOW ITS KINDA A BAD GAME!"}, {"post_id": 38661, "ts": "2026-08-01T05:13:50Z", "hours": 9.8042, "text": "Features added Tried to add online features got that working But then all of my game wouldnt work with the new online stuff so im glad I made a backup Finished a new level Light baking failures took up 3 hours Took a break to play hollow knight"}, {"post_id": 27943, "ts": "2026-07-13T21:42:59Z", "hours": 3.3411, "text": "Features added Muzzle Flash that actually looks good Crouching but as you see in the video it also squishes the gun which isn’t ideal Worked out a few bugs eg. being able to walk through a certain wall Stardance will not get me again I will post all my devlogs on time Pushing to git now"}, {"post_id": 27006, "ts": "2026-07-12T04:32:41Z", "hours": 29.1331, "text": "Features added Slow motion for the tutorial Tutorial text Procedural weapon bob \\ sway Fire wall running Bullet time while in air or wall running Again kinda mad because I kept forgetting to post devlogs and im only getting 10 hours out of what should be 30 Added crates Added new section to the level where you can wall run and shoot enemys All of this is demonstrated in the video bellow (please watch it) Thought of a better name and idea for the game"}, {"post_id": 16545, "ts": "2026-06-26T22:10:46Z", "hours": 20.6192, "text": "Features added New weapon sniper ADS system works perfectly (yes I know the sniper looks ugly) Reload animations working also perfectly SFX is going well although my footsteps still sound horrible Full level lighting and enemys now working fully Kinda mad because i didnt know that you had to post a devlog every 10 hours Otherwise everything is great"}, {"post_id": 12910, "ts": "2026-06-21T04:23:14Z", "hours": 4.3881, "text": "Added fully working guns and enemy script first level and some ui Still working on a github repo sry"}, {"post_id": 12427, "ts": "2026-06-20T08:51:25Z", "hours": 6.9508, "text": "basic gun script working and picking up and dropping now working enemy sort of working but no attacking yet working on getting a demo site up"}, {"post_id": 11501, "ts": "2026-06-18T19:57:13Z", "hours": 15.2369, "text": "Basic movement working did have it already working crouching and slope movement and sprint but had to scrap after data got corrupted working on adding in guns now"}]...
|
Title: MEDIKILL by @Vini | Stardance
Devlogs:
Bas Title: MEDIKILL by @Vini | Stardance
Devlogs:
Basic movement working did have it already working crouching and slope movement and sprint but had to scrap after data got corrupted working on adding in guns now
basic gun script working and picking up and dropping now working enemy sort of working but no attacking yet working on getting a demo site up
Added fully working guns and enemy script first level and some ui Still working on a github repo sry
Features added New weapon sniper ADS system works perfectly (yes I know the sniper looks ugly) Reload animations working also perfectly SFX is going well although my footsteps still sound horrible Full level lighting and enemys now working fully Kinda mad because i didnt know that you had to post a devlog every 10 hours Otherwise everything is great
Features added Slow motion for the tutorial Tutorial text Procedural weapon bob \ sway Fire wall running Bullet time while in air or wall running Again kinda mad because I kept forgetting to post devlogs and im only getting 10 hours out of what should be 30 Added crates Added new section to the level where you can wall run and shoot enemys All of this is demonstrated in the video bellow (please watch it) Thought of a better name and idea for the game
Features added Muzzle Flash that actually looks good Crouching but as you see in the video it also squishes the gun which isn’t ideal Worked out a few bugs eg. being able to walk through a certain wall Stardance will not get me again I will post all my devlogs on time Pushing to git now
Features added Tried to add online features got that working But then all of my game wouldnt work with the new online stuff so im glad I made a backup Finished a new level Light baking failures took up 3 hours Took a break to play hollow knight
Bug fixing First bug was being able to just hold w and stick to the walls Second was all the lighting issues And third im working on the ending for this short shooter Ima ship soon AND YES I KNOW ITS KINDA A BAD GAME!
Ships:
In this project I have made a fully functioning FPS featuring all the stuff you would want from one (disclaimer: its a very buggy game). I would say the most difficult part of this project was the enemy AI which works perfectly now it has running away chasing and patrolling and idle state. The most annoying part of making this game was all the light baking issues there so annoying and took me like 9 hours to get working barley passible. Turns out PB mesh’s don’t like light baking. Please actually read the readme and play the game. I hope you have a great day also you’re a good person. (Hopefully)...
|
1793134124.2776458
|
1793220524.2776458
|
|
19029
|
nosrep's ender 3 printhead by @nosrep | Starda nosrep's ender 3 printhead by @nosrep | Stardance...
|
nosrep
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T06:04:06Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is my ender 3 printhead! the printhead is the part that heats up and extrudes the plastic with all the accessories that entails. i originally decided to make this when i randomly came into a direct drive extruder upgrade and a bltouch. i wasn’t satisfied with the existing designs to mount the two to the ender 3 (and i thought it would be fun to make my own), so i did! it’s got a biqu h2 v2s direct extruder, two gdstime 5015 blower fans for part cooling, and a bltouch for bed leveling. printing is now much faster, more precise, and leveling isn’t as much of a pain. the picture below and the video demo is the result of the pin support challenge from fullcontrol.xyz, very nice if i do say so myself (P.S. i brought this to outpost! i was the guy with the neck printer, iykyk.)", "repo": "https://github.com/Osrepnay/h2-v2s-coolhead", "demo": ""}]...
|
[{"post_id": 25998, "ts": "202 [{"post_id": 25998, "ts": "2026-07-10T15:32:06Z", "hours": 0.35, "text": "I made some duct modifications and now cooling seems to be much better. I think the new duct is choking the airflow a bit too much, but it’s more focused and can actually reach the spot right under the nozzle (which the old one seemed to struggle with?). I also did a LOT of testing, didn’t track most of it. Probably could benefit from a little more tuning, but we can do the pin support sphere on fullcontrol.xyz now! fixed some of the lingering issues, like the bltouch interfering with the duct and the bltouch interfering with the endstop (it’s always the bltouch…). we should be done now"}, {"post_id": 25354, "ts": "2026-07-09T16:20:41Z", "hours": 1.5556, "text": "it has been built! it is so loud! I finished designing the ducting and finished printing out everything, immediately a couple problems: ducts bump into bltouch (this was also in the cad but i didn’t notice) and the ducts are really flimsy. The ducts themselves are fine but the front plate is too thin to keep it in place properly. They work but it’s kinda sketchy. To fix the bltouch thing I just melted the ducts with my soldering iron, already remodeled a fixed version but have yet to print. The extruder seems to be not tuned very well. I set the manufacturer-recommended esteps, but it could be off. The cooling also seems to be sketchy? I can feel an insane amount of airflow but i don’t know if it’s going to the part yet. It aims a little low and I reprinted a bridging test I made earlier and the results seem to be worse. I also need to do some fixes later if i want to use this long-term. I couldn’t make a new extruder cable because my crimping tool couldn’t handle jst-ph, so i’m gonna have to deal with the stock extruder cable which severely limits the amount of vertical travel I can handle."}, {"post_id": 24836, "ts": "2026-07-08T17:25:42Z", "hours": 4.0925, "text": "i think i finally finished the ducts… these were nightmarish to make. onshape conveniently doesn’t have 3d sketches, so I did a horribly janky system involving planes and a routing curve. The path the duct had to take ended up being kinda strange, so the loft would constantly crash out because the profiles turned too sharply. i did eventually get the loft to cooperate, and the duct looks okay? it’s still very lumpy, but it should transition relatively smoothly, which is what’s important for airflow. i’ve also started printing the parts now. as i’m typing this, the main mount is finished and the fan mount is almost done. after that i should theoretically be good to assemble once i print the ducts (this is the video i used for duct design principles: https://www.youtube.com/watch?v=YijwkQCOBEA )"}, {"post_id": 12713, "ts": "2026-06-20T19:22:19Z", "hours": 1.2339, "text": "made ducting setup and fine tuned fan mounts actual duct geometry still gonna need a lot of work and maybe prototypes though"}, {"post_id": 12346, "ts": "2026-06-20T04:22:56Z", "hours": 2.7828, "text": "got the bltouch probing after much pain and suffering. needed to make new wires for this, duponts crimped okay but the crimper i borrowed was too wide to crimp the jst-xh properly. did it horribly and it seems sturdyish for now but it is incredibly sketchy and probably a fire hazard (i would be more worried if the bltouch drew more current). the plan was originally to remake the extruder wire, but after this i’m probably gonna have to hold off until i can get a proper crimper"}, {"post_id": 12046, "ts": "2026-06-19T17:25:26Z", "hours": 0.7667, "text": "reverted bltouch position. blower on the side looked too dumb so they’re both going on the front now. Blower mount still needs some refinement but should be basically done, then need ducts"}, {"post_id": 11778, "ts": "2026-06-19T05:09:01Z", "hours": 1.0978, "text": "switched out the bltouch mount position for the blower. struggled with making sane supports, still need to fix that"}, {"post_id": 11705, "ts": "2026-06-19T02:08:31Z", "hours": 0.7425, "text": "did some heat break testing. wanted to see if the casing of the hotend would get hot so i wired up the thermistor+heating element onto the board. waited a few minutes with a cheap fan i had pointed at the heat sink and it didn’t seem to get very hot so that’s a win for the future 3d printed mount. also i soldered the header to and wired up the accelerometer"}, {"post_id": 10347, "ts": "2026-06-17T00:59:54Z", "hours": 0.7556, "text": "mounted the bltouch. it kinda occludes the hotend fan but there shouuulllldd be enough space to not choke it up too bad, assuming it’s not total garbage (doubtful) tried to find a good part cooling fan position too and they’re all strange looking"}, {"post_id": 10232, "ts": "2026-06-16T21:15:35Z", "hours": 1.0567, "text": "got models for bltouch and 5015 fans surprisingly annoying, neither have official models and one model i found online for the bltouch was weird (holes that were supposed to be 18mm were like 17.998mm) and so i immediately gave up and made my own. it looks really bad but it should be usable dimensionally tried a bunch of alternatives for the 5015 fan. tried an alternative manufacturer but it differed too much from the other two community models (which were extremely similar to each other), so i just picked the more popular one. Couldn’t really model this one myself because I don’t have calipers to measure the dimensions and don’t have the fans yet to begin with"}, {"post_id": 9737, "ts": "2026-06-16T05:05:24Z", "hours": 1.165, "text": "did more work on the mount (accidentally forgot to start recording so there’s like an hour of work not listed here) the extruder part is done. there’s still some weirdness in the cad that I should probably clean but i’m also really lazy still need to make part for part cooling fans and bltouch timelapse: https://lapse.hackclub.com/timelapse/ZeQnBYR1oswD"}, {"post_id": 9601, "ts": "2026-06-16T00:10:25Z", "hours": 0.5639, "text": "biqu/bigtreetech does not have cad models for the extruder, but someone on printables made a very accurate one that i’m pulling for measurements. Confirmed it with the drawings that were in the “manual” for the h2 v2s"}]...
|
Title: nosrep's ender 3 printhead by @nosrep | Title: nosrep's ender 3 printhead by @nosrep | Stardance
Devlogs:
biqu/bigtreetech does not have cad models for the extruder, but someone on printables made a very accurate one that i’m pulling for measurements. Confirmed it with the drawings that were in the “manual” for the h2 v2s
did more work on the mount (accidentally forgot to start recording so there’s like an hour of work not listed here) the extruder part is done. there’s still some weirdness in the cad that I should probably clean but i’m also really lazy still need to make part for part cooling fans and bltouch timelapse: https://lapse.hackclub.com/timelapse/ZeQnBYR1oswD
got models for bltouch and 5015 fans surprisingly annoying, neither have official models and one model i found online for the bltouch was weird (holes that were supposed to be 18mm were like 17.998mm) and so i immediately gave up and made my own. it looks really bad but it should be usable dimensionally tried a bunch of alternatives for the 5015 fan. tried an alternative manufacturer but it differed too much from the other two community models (which were extremely similar to each other), so i just picked the more popular one. Couldn’t really model this one myself because I don’t have calipers to measure the dimensions and don’t have the fans yet to begin with
mounted the bltouch. it kinda occludes the hotend fan but there shouuulllldd be enough space to not choke it up too bad, assuming it’s not total garbage (doubtful) tried to find a good part cooling fan position too and they’re all strange looking
did some heat break testing. wanted to see if the casing of the hotend would get hot so i wired up the thermistor+heating element onto the board. waited a few minutes with a cheap fan i had pointed at the heat sink and it didn’t seem to get very hot so that’s a win for the future 3d printed mount. also i soldered the header to and wired up the accelerometer
switched out the bltouch mount position for the blower. struggled with making sane supports, still need to fix that
reverted bltouch position. blower on the side looked too dumb so they’re both going on the front now. Blower mount still needs some refinement but should be basically done, then need ducts
got the bltouch probing after much pain and suffering. needed to make new wires for this, duponts crimped okay but the crimper i borrowed was too wide to crimp the jst-xh properly. did it horribly and it seems sturdyish for now but it is incredibly sketchy and probably a fire hazard (i would be more worried if the bltouch drew more current). the plan was originally to remake the extruder wire, but after this i’m probably gonna have to hold off until i can get a proper crimper
made ducting setup and fine tuned fan mounts actual duct geometry still gonna need a lot of work and maybe prototypes though
i think i finally finished the ducts… these were nightmarish to make. onshape conveniently doesn’t have 3d sketches, so I did a horribly janky system involving planes and a routing curve. The path the duct had to take ended up being kinda strange, so the loft would constantly crash out because the profiles turned too sharply. i did eventually get the loft to cooperate, and the duct looks okay? it’s still very lumpy, but it should transition relatively smoothly, which is what’s important for airflow. i’ve also started printing the parts now. as i’m typing this, the main mount is finished and the fan mount is almost done. after that i should theoretically be good to assemble once i print the ducts (this is the video i used for duct design principles: https://www.youtube.com/watch?v=YijwkQCOBEA )
it has been built! it is so loud! I finished designing the ducting and finished printing out everything, immediately a couple problems: ducts bump into bltouch (this was also in the cad but i didn’t notice) and the ducts are really flimsy. The ducts themselves are fine but the front plate is too thin to keep it in place properly. They work but it’s kinda sketchy. To fix the bltouch thing I just melted the ducts with my soldering iron, already remodeled a fixed version but have yet to print. The extruder seems to be not tuned very well. I set the manufacturer-recommended esteps, but it could be off. The cooling also seems to be sketchy? I can feel an insane amount of airflow but i don’t know if it’s going to the part yet. It aims a little low and I reprinted a bridging test I made earlier and the results seem to be worse. I also need to do some fixes later if i want to use this long-term. I couldn’t make a new extruder cable because my crimping tool couldn’t handle jst-ph, so i’m gonna have to deal with the stock extruder cable which severely limits the amount of vertical travel I can handle.
I made some duct modifications and now cooling seems to be much better. I think the new duct is choking the airflow a bit too much, but it’s more focused and can actually reach the spot right under the nozzle (which the old one seemed to struggle with?). I also did a LOT of testing, didn’t track most of it. Probably could benefit from a little more tuning, but we can do the pin support sphere on fullcontrol.xyz now! fixed some of the lingering issues, like the bltouch interfering with the duct and the bltouch interfering with the endstop (it’s always the bltouch…). we should be done now
Ships:
this is my ender 3 printhead! the printhead is the part that heats up and extrudes the plastic with all the accessories that entails. i originally decided to make this when i randomly came into a direct drive extruder upgrade and a bltouch. i wasn’t satisfied with the existing designs to mount the two to the ender 3 (and i thought it would be fun to make my own), so i did! it’s got a biqu h2 v2s direct extruder, two gdstime 5015 blower fans for part cooling, and a bltouch for bed leveling. printing is now much faster, more precise, and leveling isn’t as much of a pain. the picture below and the video demo is the result of the pin support challenge from fullcontrol.xyz, very nice if i do say so myself (P.S. i brought this to outpost! i was the guy with the neck printer, iykyk.)...
|
1793152241.0559845
|
1793238641.0559845
|
|
19031
|
calicOS by @misofartist | Stardance
|
misofartist
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T10:28:07Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "how can i unlink this from webOS 1? :((", "repo": "https://github.com/mmicat/calicOS", "demo": "https://miraismail.vercel.app"}]...
|
[{"post_id": 30052, "ts": "202 [{"post_id": 30052, "ts": "2026-07-17T10:27:23Z", "hours": 2.4483, "text": "repost bc i thought i could deletemyproject :( latest addition: switchable theme!"}]...
|
Title: calicOS by @misofartist | Stardance
Devlog Title: calicOS by @misofartist | Stardance
Devlogs:
repost bc i thought i could deletemyproject :( latest addition: switchable theme!
Ships:
how can i unlink this from webOS 1? :((...
|
1793252870.5556679
|
1793339270.5556679
|
|
19035
|
Eschatia by @sahajk | Stardance
|
sahajk
|
1
|
6.0
|
89
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-23T22:55:05Z", "hours": 6.0, "multiplier": 16.59, "payout": 89, "blessing": "neutral", "text": "Eschatia is a narrated deep-zoom explorer for James Webb Space Telescope imagery. Pick any of 20 cosmic destinations and you get a cinematic transition into a full gigapixel viewer. The images are up to 14,500 pixels wide, streamed in tiles directly from ESA’s servers so nothing heavy loads upfront. Each destination has hand-written narration, four clickable hotspot markers pinned to specific features in the image, and human-scale comparisons that put the numbers in context. The most challenging part was the hotspot coordinate system. Pins have to stay locked to specific points in the image regardless of zoom level or pan position, which required a custom proximity detection pass on the viewer’s canvas. To test it: open the link, click any destination card, and zoom in. Hit the cinematic button at the bottom of any viewer to enter ambient mode.", "repo": "https://github.com/sahajkhandelwal1/eschatia", "demo": "https://eschatia.vercel.app/"}]...
|
[{"post_id": 14720, "ts": "202 [{"post_id": 14720, "ts": "2026-06-23T22:35:35Z", "hours": 0.9517, "text": "Eschatia: Devlog 4 The last major addition has been made to eschatia, which is ambient mode. Every destination now has a cinematic screensaver you can enter from the viewer. When in this mode, the image slowly drifts across the screen while a generative audio drone plays underneath. The drone is three notes tuned to an open fifth chord, breathing in and out on a 25-second cycle. It sounds like how being in space probably feels. From the Explore page, “Drift anywhere” chains destinations together automatically, fading to black between them every 15 seconds. I built it as a classroom screensaver feature pretty much. That brings the full feature list to 20 narrated deep-zoom destinations, interactive hotspots on every image, human-scale comparisons, a live feed of JWST observations from NASA’s archive, and an ambient mode."}, {"post_id": 13568, "ts": "2026-06-22T06:40:25Z", "hours": 1.3711, "text": "Eschatia: Devlog 3 Just made a big update. Eschatia now has 20 destinations with points of interest, increased from the original 10. The Discoveries page is also now live, and the landing page has been adjusted in its ui. The Discoveries page pulls live data from NASA’s JWST archive and surfaces the 40 most recent science observations in Eschatia’s visual language. Getting the API working took several rounds of debugging. The endpoint I expected returned a 404, the response structure was different from the documentation, and the edge function couldn’t read environment variables until I switched runtimes. The landing page starfield got rebuilt from scratch. The original was 200 CSS-animated divs. The new one is a canvas animation where stars fly toward the viewer from a central vanishing point, like warping through space. I tried star trails first but they made the background too noisy, so I pulled them back to crisp dots which ended up looking cleaner anyway. eschatia.vercel.app"}, {"post_id": 12344, "ts": "2026-06-20T04:20:03Z", "hours": 1.7325, "text": "Eschatia: Devlog 2 The images on eschatia are now spatially interactive. Users can now click on glowing pins on the viewer and get detailed information of that part of the image. 6/10 images are complete with the hotspots and information, along with comparisons. I also created the Explore page to show all 10 of the possible destinations. Most of this phase went smoothly, but I spent forever trying to fix the back button from the viewer. Every time I would click it, the home page was left with a black overlay, and it took me a long time to track down the issue. The problem was that the viewer had its own cleanup process when shutting down, and it was conflicting with another component that was trying to reference the viewer as it was disappearing. 4 of the destinations still need content, and then after that, I need to create a live discovery feed and do some more checks before I can ship an MVP."}, {"post_id": 11114, "ts": "2026-06-18T05:43:26Z", "hours": 1.4503, "text": "Eschatia: Devlog 1 NASA’s James Webb Space Telescope has some of the most detailed images of the universe ever taken, but the best experience for those who are not scientists is only the JPEG image with a caption. The idea of Eschatia is to create a more interactive way to view these images in the web portal, where users can pick a destination and get full information and narration about the JWST’s greatest images in plain English. Before writing any code, I spent some time figuring out what info NASA made available to developers. I was able to find huge images on ESA’s servers with key images like the Carina Nebula available with over 100 megapixels and metadata. This made it really easy to make the experience interactive, as users can zoom into these images deeply without the quality being compromised. Finding this was the major change that made the whole project possible without any custom infrastructure, etc. After I started building, the trickiest part to figure out was an entry transition. When you click a destination card, the app captures the card’s exact position on screen and animates it expanding to fill the entire viewport before cutting to the viewer. Making it smooth was difficult, and it’s still not perfect yet, but I will improve it after the initial MVP of the product with all the features has been created. The website skeleton, transition, and viewer with some images are all live right now at eschatia.vercel.app There is a full viewer and narration for 3 of the destinations. Next up is making the images more interactive with clickable regions that have more narration, and adding in more images that viewers can view, along with making sure that all the buttons on the website work."}]...
|
Title: Eschatia by @sahajk | Stardance
Devlogs:
E Title: Eschatia by @sahajk | Stardance
Devlogs:
Eschatia: Devlog 1 NASA’s James Webb Space Telescope has some of the most detailed images of the universe ever taken, but the best experience for those who are not scientists is only the JPEG image with a caption. The idea of Eschatia is to create a more interactive way to view these images in the web portal, where users can pick a destination and get full information and narration about the JWST’s greatest images in plain English. Before writing any code, I spent some time figuring out what info NASA made available to developers. I was able to find huge images on ESA’s servers with key images like the Carina Nebula available with over 100 megapixels and metadata. This made it really easy to make the experience interactive, as users can zoom into these images deeply without the quality being compromised. Finding this was the major change that made the whole project possible without any custom infrastructure, etc. After I started building, the trickiest part to figure out was an entry transition. When you click a destination card, the app captures the card’s exact position on screen and animates it expanding to fill the entire viewport before cutting to the viewer. Making it smooth was difficult, and it’s still not perfect yet, but I will improve it after the initial MVP of the product with all the features has been created. The website skeleton, transition, and viewer with some images are all live right now at eschatia.vercel.app There is a full viewer and narration for 3 of the destinations. Next up is making the images more interactive with clickable regions that have more narration, and adding in more images that viewers can view, along with making sure that all the buttons on the website work.
Eschatia: Devlog 2 The images on eschatia are now spatially interactive. Users can now click on glowing pins on the viewer and get detailed information of that part of the image. 6/10 images are complete with the hotspots and information, along with comparisons. I also created the Explore page to show all 10 of the possible destinations. Most of this phase went smoothly, but I spent forever trying to fix the back button from the viewer. Every time I would click it, the home page was left with a black overlay, and it took me a long time to track down the issue. The problem was that the viewer had its own cleanup process when shutting down, and it was conflicting with another component that was trying to reference the viewer as it was disappearing. 4 of the destinations still need content, and then after that, I need to create a live discovery feed and do some more checks before I can ship an MVP.
Eschatia: Devlog 3 Just made a big update. Eschatia now has 20 destinations with points of interest, increased from the original 10. The Discoveries page is also now live, and the landing page has been adjusted in its ui. The Discoveries page pulls live data from NASA’s JWST archive and surfaces the 40 most recent science observations in Eschatia’s visual language. Getting the API working took several rounds of debugging. The endpoint I expected returned a 404, the response structure was different from the documentation, and the edge function couldn’t read environment variables until I switched runtimes. The landing page starfield got rebuilt from scratch. The original was 200 CSS-animated divs. The new one is a canvas animation where stars fly toward the viewer from a central vanishing point, like warping through space. I tried star trails first but they made the background too noisy, so I pulled them back to crisp dots which ended up looking cleaner anyway. eschatia.vercel.app
Eschatia: Devlog 4 The last major addition has been made to eschatia, which is ambient mode. Every destination now has a cinematic screensaver you can enter from the viewer. When in this mode, the image slowly drifts across the screen while a generative audio drone plays underneath. The drone is three notes tuned to an open fifth chord, breathing in and out on a 25-second cycle. It sounds like how being in space probably feels. From the Explore page, “Drift anywhere” chains destinations together automatically, fading to black between them every 15 seconds. I built it as a classroom screensaver feature pretty much. That brings the full feature list to 20 narrated deep-zoom destinations, interactive hotspots on every image, human-scale comparisons, a live feed of JWST observations from NASA’s archive, and an ambient mode.
Ships:
Eschatia is a narrated deep-zoom explorer for James Webb Space Telescope imagery. Pick any of 20 cosmic destinations and you get a cinematic transition into a full gigapixel viewer. The images are up to 14,500 pixels wide, streamed in tiles directly from ESA’s servers so nothing heavy loads upfront. Each destination has hand-written narration, four clickable hotspot markers pinned to specific features in the image, and human-scale comparisons that put the numbers in context. The most challenging part was the hotspot coordinate system. Pins have to stay locked to specific points in the image regardless of zoom level or pan position, which required a custom proximity detection pass on the viewer’s canvas. To test it: open the link, click any destination card, and zoom in. Hit the cinematic button at the bottom of any viewer to enter ambient mode....
|
1793141320.748649
|
1793227720.748649
|
|
19042
|
Mouse Design by @Saifan | Stardance
|
Saifan
|
1
|
6.36
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T15:44:26Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hey there my friends, I created my own custom mouse design and even tho it didn’t turned out as i wanted to i still think it’s great design and all or at least great for first time CAD experience.", "repo": "https://github.com/Saifan86/Squeak-Mouse", "demo": ""}]...
|
[{"post_id": 13048, "ts": "202 [{"post_id": 13048, "ts": "2026-06-21T10:28:48Z", "hours": 1.3647, "text": "A Demo Vid ig with 3D view"}, {"post_id": 9112, "ts": "2026-06-15T07:42:57Z", "hours": 5.0569, "text": "This Mouse Design i created as a total beginner and yeah ik its from stasis but i created this on 3rd june when i didn’t know that stasis has already ended"}]...
|
Title: Mouse Design by @Saifan | Stardance
Devlog Title: Mouse Design by @Saifan | Stardance
Devlogs:
This Mouse Design i created as a total beginner and yeah ik its from stasis but i created this on 3rd june when i didn’t know that stasis has already ended
A Demo Vid ig with 3D view
Ships:
hey there my friends, I created my own custom mouse design and even tho it didn’t turned out as i wanted to i still think it’s great design and all or at least great for first time CAD experience....
|
1793242463.2144291
|
1793328863.2144291
|
|
19054
|
Frictionless by @tejasv | Stardance
|
tejasv
|
1
|
5.14
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T19:25:15Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? I made TidyUp, a simple productivity tool for people who feel overwhelmed or stuck. It helps users clear their head, choose one small task, and start a short focus timer without needing an account. What was challenging? The hardest part was making productivity feel less stressful. I wanted TidyUp to guide users without overwhelming them with another complicated task system. What are you proud of? I’m proud that TidyUp is actually usable. Users can capture tasks, choose one next action, run a timer, save distractions for later, and track their progress. I’m also proud of the friendly, playful design and the idea that starting counts as progress How can people test it? Choose a mood, start a reset, add a few loose ends, select one task, and run the 5-minute timer. You can also test the history keyboard shortcuts, local storage, and curated video library. TidyUp works locally and does not require an account. To test it: 1.Open the app. Choose SCATTERED or AVOIDING. Click START A 3-MINUTE RESET. 4.Continue through the breathing step, or choose the 5-4-3-2-1 grounding alternative. Paste several loose ends into the capture box. 6.Select one item and turn it into a small visible action. 7.Choose a 5-minute timer. 8.Pause the timer and park a distraction. Resume the timer or move to the completion screen. 10Select I STARTED, PARTLY, or NOT YET. 11 Open HISTORY to see the result.", "repo": "https://github.com/tejasvswipe/tidy-up", "demo": "https://tidy-up-one.vercel.app"}]...
|
[{"post_id": 75931, "ts": "202 [{"post_id": 75931, "ts": "2026-10-01T17:02:11Z", "hours": 1.8519, "text": "COMPLETED THE PORBLEM RESOLVED THE QUERY , AND MOST INTERSETINGLY I GOT A GIRLFRIENDDDD!!!"}, {"post_id": 75494, "ts": "2026-09-30T08:53:04Z", "hours": 0.2833, "text": "i was working to prove the less use of ai . plz forgive me , i want stardust ,i just used 10% ai"}, {"post_id": 75314, "ts": "2026-09-29T18:49:31Z", "hours": 0.4189, "text": "The CSS refactor and special quirk is completed"}, {"post_id": 75305, "ts": "2026-09-29T18:08:36Z", "hours": 0.6333, "text": "Yeppiee , it’s working and the things are working , checkout : tidy-up-one.vercel.app"}, {"post_id": 75214, "ts": "2026-09-29T14:33:56Z", "hours": 0.5667, "text": "completed the ui changed and made it genz worthy"}, {"post_id": 73632, "ts": "2026-09-25T15:23:20Z", "hours": 0.5244, "text": "new features – with new look"}, {"post_id": 70573, "ts": "2026-09-19T11:51:29Z", "hours": 0.3569, "text": "TidyUp calms anxiety, captures loose ends, and guides one small focus action so you can start."}]...
|
Title: Frictionless by @tejasv | Stardance
Devlog Title: Frictionless by @tejasv | Stardance
Devlogs:
TidyUp calms anxiety, captures loose ends, and guides one small focus action so you can start.
new features – with new look
completed the ui changed and made it genz worthy
Yeppiee , it’s working and the things are working , checkout : tidy-up-one.vercel.app
The CSS refactor and special quirk is completed
i was working to prove the less use of ai . plz forgive me , i want stardust ,i just used 10% ai
COMPLETED THE PORBLEM RESOLVED THE QUERY , AND MOST INTERSETINGLY I GOT A GIRLFRIENDDDD!!!
Ships:
What did you make? I made TidyUp, a simple productivity tool for people who feel overwhelmed or stuck. It helps users clear their head, choose one small task, and start a short focus timer without needing an account. What was challenging? The hardest part was making productivity feel less stressful. I wanted TidyUp to guide users without overwhelming them with another complicated task system. What are you proud of? I’m proud that TidyUp is actually usable. Users can capture tasks, choose one next action, run a timer, save distractions for later, and track their progress. I’m also proud of the friendly, playful design and the idea that starting counts as progress How can people test it? Choose a mood, start a reset, add a few loose ends, select one task, and run the 5-minute timer. You can also test the history keyboard shortcuts, local storage, and curated video library. TidyUp works locally and does not require an account. To test it: 1.Open the app. Choose SCATTERED or AVOIDING. Click START A 3-MINUTE RESET. 4.Continue through the breathing step, or choose the 5-4-3-2-1 grounding alternative. Paste several loose ends into the capture box. 6.Select one item and turn it into a small visible action. 7.Choose a 5-minute timer. 8.Pause the timer and park a distraction. Resume the timer or move to the completion screen. 10Select I STARTED, PARTLY, or NOT YET. 11 Open HISTORY to see the result....
|
1793008447.91982
|
1793872447.91982
|
|
19063
|
Better Devtools Storage Extension by @DaintyDust | Better Devtools Storage Extension by @DaintyDust | Stardance...
|
DaintyDust
|
1
|
32.0
|
436
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T14:35:31Z", "hours": 32.0, "multiplier": 13.75, "payout": 436, "blessing": "neutral", "text": "Better Devtools Storage is a DevTools tab that replaces the default Chrome storage (application) tab in a more user friendly interface for inspecting and editing localstorage, sessionstorage and cookies. Features: Search across all keys. Syntax highlighting for JSON values. Direct editing of localStorage, sessionStorage, and site cookies. Quick toggle for line wrap on large data payloads. Easily copy values from Automatic light, dark, and system color scheme matching. Responsive design that handles both docked and undocked DevTools layouts. Extension is currently in review by google to be uploaded to the webstore. For now you have to download it from the github releases", "repo": "https://github.com/DaintyDust/Better-Devtools-Storage", "demo": "https://chromewebstore.google.com/detail/better-devtools-storage/jljobilipchdfckajcdbckfdanbfpmjf"}]...
|
[{"post_id": 26577, "ts": "202 [{"post_id": 26577, "ts": "2026-07-11T14:16:40Z", "hours": 1.0414, "text": "V1.0.1 updated the package name and description added package (zip) command. removed storage permission"}, {"post_id": 25507, "ts": "2026-07-09T20:29:15Z", "hours": 1.6642, "text": "Version 1: updated icon and fixed connection error"}, {"post_id": 24241, "ts": "2026-07-07T17:56:26Z", "hours": 2.2231, "text": "Added lightmode and a settings menu"}, {"post_id": 24053, "ts": "2026-07-07T11:07:12Z", "hours": 0.9517, "text": "Made the UI more responsive in different dock positions"}, {"post_id": 23815, "ts": "2026-07-06T23:47:38Z", "hours": 9.5464, "text": "added json highlighting + performance inprovements"}, {"post_id": 21705, "ts": "2026-07-03T20:03:09Z", "hours": 3.3231, "text": "added some animations and confirm dialogs."}, {"post_id": 18810, "ts": "2026-06-30T00:47:35Z", "hours": 2.2361, "text": "Added ability to add and edit the keys (with json formatting)"}, {"post_id": 18375, "ts": "2026-06-29T14:41:28Z", "hours": 6.6647, "text": "added functionality to actually view the localstorage, sessionstorage and cookies."}, {"post_id": 16543, "ts": "2026-06-26T22:03:55Z", "hours": 4.2297, "text": "I made the Gui for my devtools chrome extension"}]...
|
Title: Better Devtools Storage Extension by @Daint Title: Better Devtools Storage Extension by @DaintyDust | Stardance
Devlogs:
I made the Gui for my devtools chrome extension
added functionality to actually view the localstorage, sessionstorage and cookies.
Added ability to add and edit the keys (with json formatting)
added some animations and confirm dialogs.
added json highlighting + performance inprovements
Made the UI more responsive in different dock positions
Added lightmode and a settings menu
Version 1: updated icon and fixed connection error
V1.0.1 updated the package name and description added package (zip) command. removed storage permission
Ships:
Better Devtools Storage is a DevTools tab that replaces the default Chrome storage (application) tab in a more user friendly interface for inspecting and editing localstorage, sessionstorage and cookies. Features: Search across all keys. Syntax highlighting for JSON values. Direct editing of localStorage, sessionStorage, and site cookies. Quick toggle for line wrap on large data payloads. Easily copy values from Automatic light, dark, and system color scheme matching. Responsive design that handles both docked and undocked DevTools layouts. Extension is currently in review by google to be uploaded to the webstore. For now you have to download it from the github releases...
|
1793242245.7736094
|
1793328645.7736094
|
|
19074
|
ISS HUNT by @madzia | Stardance
|
madzia
|
1
|
18.0
|
133
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-04T14:11:53Z", "hours": 18.0, "multiplier": 7.34, "payout": 133, "blessing": "neutral", "text": "ISS HUNT A website created from the love to css What’s this about? It’s about the ISS. You’ll find here 5 segments: About Education Guide (on how to spot the ISS) Astronauts Social media Every segment is all around the ISS! Besides, you’ll find a lot of animations - enjoy them! This site is meant to be fun, and I built it so we can remember the ISS forever, as its retiring soon. The challenging thing was probably the cursor. Aaand the scrollbar. Before, I knew the absolute basics of these 2 features, but in this project I learnt a lot more about them. I enjoyed making it bc of css - it was such a creative and smooth process. Please try on laptop/computer OR watch the videos attached in devlog 8. It do NOT work correctly on smartphones.", "repo": "https://github.com/Maaadzia/ISS-hunt", "demo": "https://maaadzia.github.io/ISS-hunt/"}]...
|
[{"post_id": 76746, "ts": "202 [{"post_id": 76746, "ts": "2026-10-04T13:55:43Z", "hours": 2.4128, "text": "Devlog 8 - Final devlog, cursor, scrollbar and minor changes Please watch the videos below if you’re a voter and you can’t visit this website by computer. The first video is speeded up Cursor I added this cyan star cursor! I knew how to change the cursor but I had such a problem with making it different while pointing. Eventually I asked ai for help and it turned out pretty well - I think it adds some whimsy to this page Scrollbar (visible on second slide) I also styled the scrollbar!! I used youtube tutorial for this one. Looks much better now, I love the cyan accent! Few minor changes Fixed some bugs, some typos, added few words Thank you!! I’m gonna ship it now, thanks yall for your support I really appreciate it. This project was so fun to make, CSS is awesome. Wish me luck"}, {"post_id": 74584, "ts": "2026-09-27T17:54:34Z", "hours": 0.6608, "text": "Devlog 7 - About segment Hi again! 5/5 segments are complete!! About This segment is just a short description on the ISS and a photo with cool animation What’s next? I’m not shipping yet, now I need to perfect this site! Style the scrollbar Fix some animations Add some details It’s near finish! Thanks for reading"}, {"post_id": 74401, "ts": "2026-09-27T10:08:18Z", "hours": 0.9986, "text": "Devlog 6 - Education segment Hello everyone, 4/5 segments complete! Education In this section I embedeed 2 imo interesting videos from the ISS and a button that direct you to the ISS site!! Obviously I’ve also added some animations and I fixed the animation from guide segment, sorry I forgot to put this in the video, but I think that it looks much better now! If you’d change anything please let me know, I’d love to get to know your opinion!! Thanks for reading and have a nice day"}, {"post_id": 73653, "ts": "2026-09-25T16:18:24Z", "hours": 1.5194, "text": "Devlog 5 - Guide and Social media segments Hiii! 3/5 segments finished!! Social media That’s just a segment with ISS socials (but the tiktok one is ESA’s account bc iss don’t have their own and esa post a lot from the ISS!) But I’ve done this in such a… unique way! The social media icons you see is just one full img I added A B C and D text and centered it on these icons Added href to these abcds and it’s working! Last step - opacity: 0 But why this way? I’m sure that there’s an easier way to do this but I’m not that experienced and I like to create things on my own, I came up with this and it works!! So yall remember, work smarter not harder! Guide segment I’m not so sure about this one. Please let me know - should I keep this animation, where the letters are “dancing”, or should I change it to some smoother animation? I kinda like it bc it’s like futuristic computer coding something vibe but idk, so pleaseee watch the video on the 3th slide and let me know below!! It would be highly appreciated!!! Thanks for reading and have a nice day!"}, {"post_id": 73253, "ts": "2026-09-24T17:59:40Z", "hours": 1.9628, "text": "Devlog 4 - Astronauts Segment Hi everyone!! 1/5 segments are finished!! I don’t have much to say as I really like working with css and everything is always so smooth. I enjoyed doing the research and getting to know some interesting information about these people!! In this segment you will find: A lot of astronauts photos with cool animation on scroll at the top Section about Peggy Whitson Section about Scott Kelly I decided to write a little bit about 2 people who did some iconic things on the ISS. I didn’t wanted it to be boring and I think that I found the perfect balance. Thanks for reading and have a nice dayy!!!"}, {"post_id": 71156, "ts": "2026-09-20T11:19:25Z", "hours": 1.5481, "text": "Devlog 3 - start screen and a lot of styling!! So the “raw” version is complete!! This, or so, is how it’s gonna look. Seriously, I love css so much it was so fun to make this!! Ai usage To the scroll element I needed to add 2 animations: To make it “jump”, infinite To make it fade while scrolling I didn’t know how I can add 2 animations and therefore I asked ai. The solution is to add the second animation after a coma but it wouldn’t work very well bc I had, among others, animation-timeline: view(); it also helped me with this one and the solution here is to add auto, view() , normal, 0% and so on. A small thing, but it was really helpful. What’s next? I need to fill every section with many cool animations and information!! I would love to add maybe an interactive background or just some animations bc rn it’s kinda blank I love how it’s turning out and can’t wait for the final results!!"}, {"post_id": 70596, "ts": "2026-09-19T12:41:20Z", "hours": 3.4253, "text": "Devlog 2 - a complete rebrand!! New Idea of the ISS hunt I never wanted it to be a webOS, but when I created this project I just didn’t know what an OS meant lol, while working on spacecraftOS I really liked css, and I also came up with an idea.. I’m staying with the design and ISS is still gonna be the main character, but instead of building some advanced system I’m going to make a pretty website with a lot of animations. It will be a vast guide about the ISS! Css makes me happy and fulfilled, I really enjoy learning new stuff about it. I’d love to create more beautiful and breathtaking websites. I can’t wait to improve my css skills!! Yk stardance is ending soon, I wouldn’t even have the time to learn enough js Also, I’m so grateful for all the reviews I got on spacecraftOS and a 18,53x multiplier!! Thank you all it makes me so happy!!! 😭💗 So, what I’d already done? Deleted most of my code Created header on scroll animation (you can see it in the video below) Left the orbiting ISS bc I spent on it so much time, looking forward to find some use for it! I think that I’ll just change the background colors as I’m looking at it now, lmk what you think! Can’t wait to create more!! Thanks for reading and have a nice day"}, {"post_id": 25192, "ts": "2026-07-09T08:27:59Z", "hours": 5.6578, "text": "ISS HUNT - devlog #1 Hi! Recently I’ve been working on ISS hunt, a website that helps you catch ISS flying over your country! For more information check this project description . What I’ve already done I’ve been focusing on the page design - you can see how it looks in the video below! I added ISS moving around the site, it wasn’t really difficult but as you can see in the video the spin on its own axis is taking it so much time - well, not anymore! I managed to fix it and now it’s just a brief moment. What you can see in the video Besides the ISS you can see the upper band showing current time and day and below you can see few countries - what’s the plan? I’m starting with 3 countries, by clicking on them soon you will be able to open a window with several information about next ISS flyovers, such as where, when or the weather condition. I want to make it exist first, and then I will make it great! The plan is to make selectable options with all countries around the world, starting with these which you guys would like to see! What’s next? I’m going to focus on few apps, that will provide the rundown on the basics of ISS Thanks for reading my 1st devlog! And what about you? Did yall ever seen ISS flying over your country?"}]...
|
Title: ISS HUNT by @madzia | Stardance
Devlogs:
I Title: ISS HUNT by @madzia | Stardance
Devlogs:
ISS HUNT - devlog #1 Hi! Recently I’ve been working on ISS hunt, a website that helps you catch ISS flying over your country! For more information check this project description . What I’ve already done I’ve been focusing on the page design - you can see how it looks in the video below! I added ISS moving around the site, it wasn’t really difficult but as you can see in the video the spin on its own axis is taking it so much time - well, not anymore! I managed to fix it and now it’s just a brief moment. What you can see in the video Besides the ISS you can see the upper band showing current time and day and below you can see few countries - what’s the plan? I’m starting with 3 countries, by clicking on them soon you will be able to open a window with several information about next ISS flyovers, such as where, when or the weather condition. I want to make it exist first, and then I will make it great! The plan is to make selectable options with all countries around the world, starting with these which you guys would like to see! What’s next? I’m going to focus on few apps, that will provide the rundown on the basics of ISS Thanks for reading my 1st devlog! And what about you? Did yall ever seen ISS flying over your country?
Devlog 2 - a complete rebrand!! New Idea of the ISS hunt I never wanted it to be a webOS, but when I created this project I just didn’t know what an OS meant lol, while working on spacecraftOS I really liked css, and I also came up with an idea.. I’m staying with the design and ISS is still gonna be the main character, but instead of building some advanced system I’m going to make a pretty website with a lot of animations. It will be a vast guide about the ISS! Css makes me happy and fulfilled, I really enjoy learning new stuff about it. I’d love to create more beautiful and breathtaking websites. I can’t wait to improve my css skills!! Yk stardance is ending soon, I wouldn’t even have the time to learn enough js Also, I’m so grateful for all the reviews I got on spacecraftOS and a 18,53x multiplier!! Thank you all it makes me so happy!!! 😭💗 So, what I’d already done? Deleted most of my code Created header on scroll animation (you can see it in the video below) Left the orbiting ISS bc I spent on it so much time, looking forward to find some use for it! I think that I’ll just change the background colors as I’m looking at it now, lmk what you think! Can’t wait to create more!! Thanks for reading and have a nice day
Devlog 3 - start screen and a lot of styling!! So the “raw” version is complete!! This, or so, is how it’s gonna look. Seriously, I love css so much it was so fun to make this!! Ai usage To the scroll element I needed to add 2 animations: To make it “jump”, infinite To make it fade while scrolling I didn’t know how I can add 2 animations and therefore I asked ai. The solution is to add the second animation after a coma but it wouldn’t work very well bc I had, among others, animation-timeline: view(); it also helped me with this one and the solution here is to add auto, view() , normal, 0% and so on. A small thing, but it was really helpful. What’s next? I need to fill every section with many cool animations and information!! I would love to add maybe an interactive background or just some animations bc rn it’s kinda blank I love how it’s turning out and can’t wait for the final results!!
Devlog 4 - Astronauts Segment Hi everyone!! 1/5 segments are finished!! I don’t have much to say as I really like working with css and everything is always so smooth. I enjoyed doing the research and getting to know some interesting information about these people!! In this segment you will find: A lot of astronauts photos with cool animation on scroll at the top Section about Peggy Whitson Section about Scott Kelly I decided to write a little bit about 2 people who did some iconic things on the ISS. I didn’t wanted it to be boring and I think that I found the perfect balance. Thanks for reading and have a nice dayy!!!
Devlog 5 - Guide and Social media segments Hiii! 3/5 segments finished!! Social media That’s just a segment with ISS socials (but the tiktok one is ESA’s account bc iss don’t have their own and esa post a lot from the ISS!) But I’ve done this in such a… unique way! The social media icons you see is just one full img I added A B C and D text and centered it on these icons Added href to these abcds and it’s working! Last step - opacity: 0 But why this way? I’m sure that there’s an easier way to do this but I’m not that experienced and I like to create things on my own, I came up with this and it works!! So yall remember, work smarter not harder! Guide segment I’m not so sure about this one. Please let me know - should I keep this animation, where the letters are “dancing”, or should I change it to some smoother animation? I kinda like it bc it’s like futuristic computer coding something vibe but idk, so pleaseee watch the video on the 3th slide and let me know below!! It would be highly appreciated!!! Thanks for reading and have a nice day!
Devlog 6 - Education segment Hello everyone, 4/5 segments complete! Education In this section I embedeed 2 imo interesting videos from the ISS and a button that direct you to the ISS site!! Obviously I’ve also added some animations and I fixed the animation from guide segment, sorry I forgot to put this in the video, but I think that it looks much better now! If you’d change anything please let me know, I’d love to get to know your opinion!! Thanks for reading and have a nice day
Devlog 7 - About segment Hi again! 5/5 segments are complete!! About This segment is just a short description on the ISS and a photo with cool animation What’s next? I’m not shipping yet, now I need to perfect this site! Style the scrollbar Fix some animations Add some details It’s near finish! Thanks for reading
Devlog 8 - Final devlog, cursor, scrollbar and minor changes Please watch the videos below if you’re a voter and you can’t visit this website by computer. The first video is speeded up Cursor I added this cyan star cursor! I knew how to change the cursor but I had such a problem with making it different while pointing. Eventually I asked ai for help and it turned out pretty well - I think it adds some whimsy to this page Scrollbar (visible on second slide) I also styled the scrollbar!! I used youtube tutorial for this one. Looks much better now, I love the cyan accent! Few minor changes Fixed some bugs, some typos, added few words Thank you!! I’m gonna ship it now, thanks yall for your support I really appreciate it. This project was so fun to make, CSS is awesome. Wish me luck
Ships:
ISS HUNT A website created from the love to css What’s this about? It’s about the ISS. You’ll find here 5 segments: About Education Guide (on how to spot the ISS) Astronauts Social media Every segment is all around the ISS! Besides, you’ll find a lot of animations - enjoy them! This site is meant to be fun, and I built it so we can remember the ISS forever, as its retiring soon. The challenging thing was probably the cursor. Aaand the scrollbar. Before, I knew the absolute basics of these 2 features, but in this project I learnt a lot more about them. I enjoyed making it bc of css - it was such a creative and smooth process. Please try on laptop/computer OR watch the videos attached in devlog 8. It do NOT work correctly on smartphones....
|
1793152251.7574408
|
1793238651.7574408
|
|
19075
|
lizard runner by @ReaSevicke-jones | Stardance
|
ReaSevicke-jones
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T11:16:43Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey guys I have made a game called lizard runner where the objective is to survive and not die to the predators. There is also a multiplayer gamemode where you can play against other players, however this one may be a little hard to test due to another player would need to be online, with multiplayer we have two servers one based in the us and one in Singapore. One main challage i faced in getting this beta ready for you guys to test was my two servers as one i have running on aws and the other on a node js hosting platform called render, this is intended like this so that the global server on aws has more resources and can sustain a larger number of players. Anyways thanks for reading all that i hope you enjoy it", "repo": "https://github.com/axolotldevstudio/lizardrunner/", "demo": "https://lizardrunnerdev.pages.dev"}]...
|
[{"post_id": 45089, "ts": "202 [{"post_id": 45089, "ts": "2026-08-11T11:11:34Z", "hours": 5.0058, "text": "Beta is now out (with working multiplayer and single player, we currently have two servers for multiplayer a Singapore one and one based in the us."}, {"post_id": 32809, "ts": "2026-07-22T06:19:40Z", "hours": 5.5592, "text": "i currently have begun development on multiplayer which currently is working but may not be when you go to test it and there are also two leaderboards now and a lot of items in the store."}, {"post_id": 12469, "ts": "2026-06-20T11:12:36Z", "hours": 4.0328, "text": "i have been adding more menus and a store and basically changed the game to 2d"}, {"post_id": 9521, "ts": "2026-06-15T21:54:23Z", "hours": 0.8764, "text": "currently working on improving the graphics and movement ( so the tuatara actually looks like a tuatara ) this old version was quickly changed to a 2d game as you can see in the net devlog"}]...
|
Title: lizard runner by @ReaSevicke-jones | Starda Title: lizard runner by @ReaSevicke-jones | Stardance
Devlogs:
currently working on improving the graphics and movement ( so the tuatara actually looks like a tuatara ) this old version was quickly changed to a 2d game as you can see in the net devlog
i have been adding more menus and a store and basically changed the game to 2d
i currently have begun development on multiplayer which currently is working but may not be when you go to test it and there are also two leaderboards now and a lot of items in the store.
Beta is now out (with working multiplayer and single player, we currently have two servers for multiplayer a Singapore one and one based in the us.
Ships:
Hey guys I have made a game called lizard runner where the objective is to survive and not die to the predators. There is also a multiplayer gamemode where you can play against other players, however this one may be a little hard to test due to another player would need to be online, with multiplayer we have two servers one based in the us and one in Singapore. One main challage i faced in getting this beta ready for you guys to test was my two servers as one i have running on aws and the other on a node js hosting platform called render, this is intended like this so that the global server on aws has more resources and can sustain a larger number of players. Anyways thanks for reading all that i hope you enjoy it...
|
1793252970.1656916
|
1793339370.1656916
|
|
19078
|
Space Game by @Ris2043 | Stardance
|
Ris2043
|
1
|
17.0
|
147
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-23T13:40:05Z", "hours": 17.0, "multiplier": 8.58, "payout": 147, "blessing": "neutral", "text": "The concept behind this game is simple but intense: You are a lone captain piloting a starship through a high-stakes sector of space. Your mission is to intercept and extract cosmic data from various planets in the solar system. The catch? The deeper you go, the more the universe tries to wipe you out with an absolute barrage of rogue meteors. Play it right in your browser: https://solar-systemgame.vercel.app/ Peek under the hood: https://github.com/Rishi-Rahul/Solar-System-game How it Works (The Technical Stuff) I wanted this game to feel incredibly snappy, whether you’re playing on a massive desktop monitor or tapping away on a phone screen during a break. Here is how I put it together using just raw HTML5 Canvas and vanilla JavaScript: Silky Smooth 60fps Rendering To keep the game looking crisp on high-end mobile screens and modern monitors, I hooked into window.devicePixelRatio. Instead of letting the browser stretch a blurry canvas, the game dynamically resizes its internal resolution to match the exact physical pixels of your screen. I also anchored everything to a base resolution of 800px using a global scale multiplier. This means whether you play on a tiny phone or a giant monitor, the game scales perfectly and the difficulty stays the same. Drifty Space Physics Instead of making the ship move instantly when you press a key (which feels robotic), I wrote a quick vector physics loop with built-in momentum. When you press WASD or drag your finger on a screen, you aren’t moving the ship’s position directly—you’re adding acceleration to its velocity vector. When you let go, a friction variable gently slows you down. This gives the ship that authentic, slippery “drifting through zero gravity” feel. Procedural Chaos To keep the game lightweight and lightning-fast to load, there are zero image files. Everything is drawn on the fly using math: The Meteors: Every single meteor is a unique, randomly generated polygon. The code picks a random number of sides and jag the edges so no two space rocks look exactly alike. The Neon Glow: I used canvas radial gradients and shadowBlur layers to make the Sun and target planets look like they’re practically melting through a retro CRT monitor. Features Cooked In Hybrid Controls: Supports arrow keys, WASD, or seamless touch-and-drag mechanics for mobile pilots. *Escalating Threat Levels: The further you survive, the faster the planets orbit and the tighter the meteor waves get. Dynamic Targeting: Your target planet gets an animated, high-contrast dashed orbit path so you know exactly where to fly. *Retro CRT Scanlines: A clever CSS linear-gradient trick overlays a vintage, arcade-cabinet grid over the entire screen.", "repo": "https://github.com/Rishi-Rahul/Solar-System-game", "demo": "https://solar-systemgame.vercel.app/"}]...
|
[{"post_id": 14355, "ts": "202 [{"post_id": 14355, "ts": "2026-06-23T13:38:06Z", "hours": 0.0, "text": "Fix all errors with the planetspeed, they are normal now, and as you progress, it gets faster"}, {"post_id": 14145, "ts": "2026-06-23T04:01:13Z", "hours": 7.0, "text": "Added Key elements to the project, planet speed gets faster as you progress, and meteor amount increases as you progress too!!!"}, {"post_id": 13675, "ts": "2026-06-22T13:01:49Z", "hours": 8.0, "text": "I’ve finished the whole game itself, need to fix some bugs like the planet speed."}]...
|
Title: Space Game by @Ris2043 | Stardance
Devlogs Title: Space Game by @Ris2043 | Stardance
Devlogs:
I’ve finished the whole game itself, need to fix some bugs like the planet speed.
Added Key elements to the project, planet speed gets faster as you progress, and meteor amount increases as you progress too!!!
Fix all errors with the planetspeed, they are normal now, and as you progress, it gets faster
Ships:
The concept behind this game is simple but intense: You are a lone captain piloting a starship through a high-stakes sector of space. Your mission is to intercept and extract cosmic data from various planets in the solar system. The catch? The deeper you go, the more the universe tries to wipe you out with an absolute barrage of rogue meteors. Play it right in your browser: https://solar-systemgame.vercel.app/ Peek under the hood: https://github.com/Rishi-Rahul/Solar-System-game How it Works (The Technical Stuff) I wanted this game to feel incredibly snappy, whether you’re playing on a massive desktop monitor or tapping away on a phone screen during a break. Here is how I put it together using just raw HTML5 Canvas and vanilla JavaScript: Silky Smooth 60fps Rendering To keep the game looking crisp on high-end mobile screens and modern monitors, I hooked into window.devicePixelRatio. Instead of letting the browser stretch a blurry canvas, the game dynamically resizes its internal resolution to match the exact physical pixels of your screen. I also anchored everything to a base resolution of 800px using a global scale multiplier. This means whether you play on a tiny phone or a giant monitor, the game scales perfectly and the difficulty stays the same. Drifty Space Physics Instead of making the ship move instantly when you press a key (which feels robotic), I wrote a quick vector physics loop with built-in momentum. When you press WASD or drag your finger on a screen, you aren’t moving the ship’s position directly—you’re adding acceleration to its velocity vector. When you let go, a friction variable gently slows you down. This gives the ship that authentic, slippery “drifting through zero gravity” feel. Procedural Chaos To keep the game lightweight and lightning-fast to load, there are zero image files. Everything is drawn on the fly using math: The Meteors: Every single meteor is a unique, randomly generated polygon. The code picks a random number of sides and jag the edges so no two space rocks look exactly alike. The Neon Glow: I used canvas radial gradients and shadowBlur layers to make the Sun and target planets look like they’re practically melting through a retro CRT monitor. Features Cooked In Hybrid Controls: Supports arrow keys, WASD, or seamless touch-and-drag mechanics for mobile pilots. *Escalating Threat Levels: The further you survive, the faster the planets orbit and the tighter the meteor waves get. Dynamic Targeting: Your target planet gets an animated, high-contrast dashed orbit path so you know exactly where to fly. *Retro CRT Scanlines: A clever CSS linear-gradient trick overlays a vintage, arcade-cabinet grid over the entire screen....
|
1792878816.2451217
|
1793742816.2451217
|
|
19087
|
Data Masking Web App by @devadit15 | Stardance
|
devadit15
|
1
|
9.0
|
101
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-25T06:20:46Z", "hours": 9.0, "multiplier": 11.69, "payout": 101, "blessing": "neutral", "text": "Cloakroom is a privacy layer that sits between your app and any AI model — it swaps out sensitive stuff (names, bank accounts, card numbers etc.) for harmless placeholder tokens before the model ever sees them, then puts the real values back in the answer to prevent LLM’s from accessing sensitive information.", "repo": "https://github.com/devadit1515/cloakroom", "demo": "https://cloakroom-mu.vercel.app/"}]...
|
[{"post_id": 14322, "ts": "202 [{"post_id": 14322, "ts": "2026-06-23T12:37:26Z", "hours": 8.6203, "text": "Everytime you paste something into an AI you hand over everything in it — your name, account number, the medical stuff you’d rather nobody saw — and the model doesn’t actually need any of that to be useful, it just needs the shape and relationships of the data, not the real identities. So I built Cloakroom as a passion project, nobody asked me to, I just got obsessed and wanted to see if I could pull it off end to end. It’s a privacy layer that sits between your app and any AI and runs a four-step loop: detect the sensitive bits, mask each one with a stable token like [PFI_ACCOUNT_1], let the model reason over just the tokens, then put the real values back in the final answer so only you see them. The stable part matters — the same value always maps to the same token, so a name that shows up three times stays one token all three times, meaning the model can still reason about who owns what without ever learning who’s who. A few things got tricky: a 12-digit number in India could be a bank account or half an Aadhaar, so I use the surrounding fields to tell them apart, and a “person” in a financial context isn’t just a person, they’re the account holder, a different sensitivity class. I also scan the model’s output afterward in case it leaks or hallucinates a real-looking number on its own, and flag it. And it only logs counts, never raw values, so you can prove what got masked without keeping a second copy of the exact data you were protecting. It grew a few faces too — a Python library, an HTTP service any language can call, a live web playground where you paste a record and watch it get masked and restored in real time, and a browser extension for the “just protect me as I type” version. It’s also cloud-agnostic: the detector, the encrypted vault, and the model are all swappable with one setting, so it runs completely free with zero paid keys out of the box, but flip a couple env vars and the same code runs on managed cloud services at scale, no rewrite. Not everything’s done — free-text names need a real NER model over plain regex, a couple cloud adapters are half-built, and there’s a tuning dashboard I sketched but haven’t made, though the audit stream already emits the data it’d need. Next I want to finish that dashboard, round out the adapters so it’s genuinely any-provider, push detection smarter with better NER and more region-specific ID formats since India was just the start, and make the extension seamless enough that you forget it’s there — because that’s the whole point, privacy shouldn’t be something you remember to switch on, it should just be there by default like HTTPS, and Cloakroom is my attempt at making that normal."}]...
|
Title: Data Masking Web App by @devadit15 | Starda Title: Data Masking Web App by @devadit15 | Stardance
Devlogs:
Everytime you paste something into an AI you hand over everything in it — your name, account number, the medical stuff you’d rather nobody saw — and the model doesn’t actually need any of that to be useful, it just needs the shape and relationships of the data, not the real identities. So I built Cloakroom as a passion project, nobody asked me to, I just got obsessed and wanted to see if I could pull it off end to end. It’s a privacy layer that sits between your app and any AI and runs a four-step loop: detect the sensitive bits, mask each one with a stable token like [PFI_ACCOUNT_1], let the model reason over just the tokens, then put the real values back in the final answer so only you see them. The stable part matters — the same value always maps to the same token, so a name that shows up three times stays one token all three times, meaning the model can still reason about who owns what without ever learning who’s who. A few things got tricky: a 12-digit number in India could be a bank account or half an Aadhaar, so I use the surrounding fields to tell them apart, and a “person” in a financial context isn’t just a person, they’re the account holder, a different sensitivity class. I also scan the model’s output afterward in case it leaks or hallucinates a real-looking number on its own, and flag it. And it only logs counts, never raw values, so you can prove what got masked without keeping a second copy of the exact data you were protecting. It grew a few faces too — a Python library, an HTTP service any language can call, a live web playground where you paste a record and watch it get masked and restored in real time, and a browser extension for the “just protect me as I type” version. It’s also cloud-agnostic: the detector, the encrypted vault, and the model are all swappable with one setting, so it runs completely free with zero paid keys out of the box, but flip a couple env vars and the same code runs on managed cloud services at scale, no rewrite. Not everything’s done — free-text names need a real NER model over plain regex, a couple cloud adapters are half-built, and there’s a tuning dashboard I sketched but haven’t made, though the audit stream already emits the data it’d need. Next I want to finish that dashboard, round out the adapters so it’s genuinely any-provider, push detection smarter with better NER and more region-specific ID formats since India was just the start, and make the extension seamless enough that you forget it’s there — because that’s the whole point, privacy shouldn’t be something you remember to switch on, it should just be there by default like HTTPS, and Cloakroom is my attempt at making that normal.
Ships:
Cloakroom is a privacy layer that sits between your app and any AI model — it swaps out sensitive stuff (names, bank accounts, card numbers etc.) for harmless placeholder tokens before the model ever sees them, then puts the real values back in the answer to prevent LLM’s from accessing sensitive information....
|
1793263724.4435098
|
1793350124.4435098
|
|
19093
|
RJ GARMENT by @ttyChud | Stardance
|
ttyChud
|
1
|
9.0
|
68
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T09:12:03Z", "hours": 9.0, "multiplier": 7.23, "payout": 68, "blessing": "neutral", "text": "clothing website, I made for a local cloth shop uses ogl and some nice dame animations no money was made, I made this out of my good will", "repo": "https://github.com/Himanshu121865/rjgarment", "demo": "https://rjgarment.vercel.app/"}]...
|
[{"post_id": 9149, "ts": "2026 [{"post_id": 9149, "ts": "2026-06-15T10:05:59Z", "hours": 9.4556, "text": "I made a clothing website for a local store In my area. Even tho i don’t like web devlopment much but it was kinda fun. now going back to working on run terminals"}]...
|
Title: RJ GARMENT by @ttyChud | Stardance
Devlogs Title: RJ GARMENT by @ttyChud | Stardance
Devlogs:
I made a clothing website for a local store In my area. Even tho i don’t like web devlopment much but it was kinda fun. now going back to working on run terminals
Ships:
clothing website, I made for a local cloth shop uses ogl and some nice dame animations no money was made, I made this out of my good will...
|
1792878571.5243225
|
1793742571.5243225
|
|
19094
|
Aloud by @devadit15 | Stardance
|
devadit15
|
1
|
2.67
|
27
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T06:49:10Z", "hours": 2.0, "multiplier": 15.8, "payout": 27, "blessing": "neutral", "text": "Aloud helps people with ALS (Amyotrophic Lateral Sclerosis), cerebral palsy, and severe paralysis communicate by just blinking. It has a dashboard with quick messages for the things people need most—like pain alerts, asking for water, bathroom access, or calling a nurse. You can select any of these messages in just two blinks. If you need to communicate a non-standard message, there’s a keyboard where each user can spell out the same, letter by letter. Each letter takes at most three blinks to select, and the app learns from what you usually say and suggests words to speed things up. Everything runs on the device itself, so your data stays private and it works without internet. The whole point is to give people, who can’t move or speak, a fast, natural way to communicate on their own terms. Built with eye-tracking technology to detect blinks and custom calibration for each person’s unique patterns. Uses AI predictions to suggest completions and learn from user behavior over time.", "repo": "https://github.com/devadit1515/hackjps", "demo": "https://aloud-pink.vercel.app/"}]...
|
[{"post_id": 11358, "ts": "202 [{"post_id": 11358, "ts": "2026-06-18T16:00:17Z", "hours": 0.6689, "text": "Improved eye tracking and added some instructions to make it easier too use. Disabled mouse control over the highlighted box as it confuses users. Also fixed the bug in the audio during the model training."}, {"post_id": 10472, "ts": "2026-06-17T06:46:21Z", "hours": 1.715, "text": "UI Redesign"}]...
|
Title: Aloud by @devadit15 | Stardance
Devlogs:
U Title: Aloud by @devadit15 | Stardance
Devlogs:
UI Redesign
Improved eye tracking and added some instructions to make it easier too use. Disabled mouse control over the highlighted box as it confuses users. Also fixed the bug in the audio during the model training.
Ships:
Aloud helps people with ALS (Amyotrophic Lateral Sclerosis), cerebral palsy, and severe paralysis communicate by just blinking. It has a dashboard with quick messages for the things people need most—like pain alerts, asking for water, bathroom access, or calling a nurse. You can select any of these messages in just two blinks. If you need to communicate a non-standard message, there’s a keyboard where each user can spell out the same, letter by letter. Each letter takes at most three blinks to select, and the app learns from what you usually say and suggests words to speed things up. Everything runs on the device itself, so your data stays private and it works without internet. The whole point is to give people, who can’t move or speak, a fast, natural way to communicate on their own terms. Built with eye-tracking technology to detect blinks and custom calibration for each person’s unique patterns. Uses AI predictions to suggest completions and learn from user behavior over time....
|
1793224518.3635478
|
1793310918.3635478
|
|
19097
|
An AI-Ready Documentation Template for Humans and An AI-Ready Documentation Template for Humans and AI Systems by @AtharvaMoves | Stardance...
|
AtharvaMoves
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T13:38:33Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Setu, an open-source documentation template for creating sites that work well for both human readers and AI systems. Setu is built with Astro and Starlight. It supports Markdown and MDX documentation, clean navigation, searchable docs, AI-readable plain-text routes, a machine-readable document index, built-in code playgrounds, quizzes, and npm create support. The hardest part was turning the project from a content-heavy learning site into a reusable documentation template. I had to separate what belonged to the template from what was only sample content. Another challenge was making the same source content useful in two different ways: polished pages for people, and clean plain-text output for AI tools. I also had to package the project properly so it works both as a GitHub Template and as an npm create command. I am proud that Setu is not just a visual template. It includes real developer workflow support: validation scripts, GitHub Actions, npm publishing, AI-readable output, interactive learning components, and clear open-source structure. I am also proud that it is practical. A developer can install it, change the content, and quickly get a professional documentation or learning site online. The easiest way to test Setu is: npm create @rookduel /setu@latest my-site cd my-site npm install npm run dev Then open the local URL shown by Astro, usually: http://localhost:4321 Important pages to check: /docs/ /docs/guides/interactive-demo/ /ai/index.json /ai/docs.txt The normal documentation pages show the human-facing experience. The /ai/ routes show how Setu exposes cleaner text output for AI systems and retrieval workflows.", "repo": "https://github.com/AtharvaMoves/Setu/", "demo": "https://setu.rookduel.tech/"}]...
|
[{"post_id": 9929, "ts": "2026 [{"post_id": 9929, "ts": "2026-06-16T13:29:24Z", "hours": 4.5481, "text": "Setu is an open-source documentation template built with Astro and Starlight. I created it to solve a simple problem: modern documentation should not only look good for human readers, it should also be structured enough for AI systems, search tools, and retrieval workflows to understand. Setu gives developers a complete starting point for product docs, learning sites, internal knowledge bases, open-source documentation, and AI-readable content hubs. What Setu Is? Setu is a full documentation template, not just a theme. It includes the site structure, documentation pages, landing page, About page, AI-readable routes, interactive learning components, validation scripts, GitHub workflows, and npm create support. You can start a new Setu project with: npm create @rookduel /setu@latest my-site Or use the GitHub repository as a public template. How It Works Setu uses Markdown and MDX as the content source. Pages live inside: src/content/docs/docs/ Astro and Starlight render those files into normal documentation pages under /docs/. At the same time, Setu exposes AI-friendly versions of the same content: /ai/index.json /ai/docs/getting-started.txt The JSON index helps tools discover available documents, while the .txt routes provide cleaner plain-text versions of pages for AI systems and retrieval pipelines. Main Features Setu includes: Astro and Starlight documentation foundation Markdown and MDX authoring Responsive documentation layout Search and navigation Landing page and About page AI-readable plain-text output Machine-readable /ai/index.json Built-in code playgrounds Quiz components for learning pages Starter documentation templates GitHub issue and PR templates CI validation workflow npm create package MIT License and authorship clarity Why AI-Readable Output Matters Most documentation sites are designed only for browsers. They often include navigation, layout markup, component code, and visual structure that is useful for users but noisy for AI systems. Setu keeps the human-readable site while also generating cleaner text routes. This makes the same documentation easier to use in AI assistants, search systems, RAG pipelines, and automation tools. The goal is not to replace normal docs. The goal is to make documentation useful in more contexts. Interactive Learning Support Setu also includes built-in interactive components. Developers can add code playgrounds and quizzes inside MDX pages. This makes Setu useful not only for reference documentation, but also for tutorials, onboarding guides, and learning platforms. The interactive features are part of the template by default, so users do not need to install separate extensions. Who It Is For Setu can be used by: Developers building product documentation Open-source maintainers Educators creating technical lessons Teams building internal knowledge bases Projects that want AI-readable documentation Hackathon teams that need polished docs quickly Current Release Setu is available as an npm create package: npm create @rookduel /setu@latest my-site The first public release is v0.1.0. Repository: https://github.com/AtharvaMoves/Setu npm package: https://www.npmjs.com/package/@rookduel/create-setu Final Thought Setu is my attempt to make documentation more useful, portable, and future-ready. It is built for people first, but structured so AI systems can read it cleanly too."}]...
|
Title: An AI-Ready Documentation Template for Huma Title: An AI-Ready Documentation Template for Humans and AI Systems by @AtharvaMoves | Stardance
Devlogs:
Setu is an open-source documentation template built with Astro and Starlight. I created it to solve a simple problem: modern documentation should not only look good for human readers, it should also be structured enough for AI systems, search tools, and retrieval workflows to understand. Setu gives developers a complete starting point for product docs, learning sites, internal knowledge bases, open-source documentation, and AI-readable content hubs. What Setu Is? Setu is a full documentation template, not just a theme. It includes the site structure, documentation pages, landing page, About page, AI-readable routes, interactive learning components, validation scripts, GitHub workflows, and npm create support. You can start a new Setu project with: npm create @rookduel /setu@latest my-site Or use the GitHub repository as a public template. How It Works Setu uses Markdown and MDX as the content source. Pages live inside: src/content/docs/docs/ Astro and Starlight render those files into normal documentation pages under /docs/. At the same time, Setu exposes AI-friendly versions of the same content: /ai/index.json /ai/docs/getting-started.txt The JSON index helps tools discover available documents, while the .txt routes provide cleaner plain-text versions of pages for AI systems and retrieval pipelines. Main Features Setu includes: Astro and Starlight documentation foundation Markdown and MDX authoring Responsive documentation layout Search and navigation Landing page and About page AI-readable plain-text output Machine-readable /ai/index.json Built-in code playgrounds Quiz components for learning pages Starter documentation templates GitHub issue and PR templates CI validation workflow npm create package MIT License and authorship clarity Why AI-Readable Output Matters Most documentation sites are designed only for browsers. They often include navigation, layout markup, component code, and visual structure that is useful for users but noisy for AI systems. Setu keeps the human-readable site while also generating cleaner text routes. This makes the same documentation easier to use in AI assistants, search systems, RAG pipelines, and automation tools. The goal is not to replace normal docs. The goal is to make documentation useful in more contexts. Interactive Learning Support Setu also includes built-in interactive components. Developers can add code playgrounds and quizzes inside MDX pages. This makes Setu useful not only for reference documentation, but also for tutorials, onboarding guides, and learning platforms. The interactive features are part of the template by default, so users do not need to install separate extensions. Who It Is For Setu can be used by: Developers building product documentation Open-source maintainers Educators creating technical lessons Teams building internal knowledge bases Projects that want AI-readable documentation Hackathon teams that need polished docs quickly Current Release Setu is available as an npm create package: npm create @rookduel /setu@latest my-site The first public release is v0.1.0. Repository: https://github.com/AtharvaMoves/Setu npm package: https://www.npmjs.com/package/@rookduel/create-setu Final Thought Setu is my attempt to make documentation more useful, portable, and future-ready. It is built for people first, but structured so AI systems can read it cleanly too.
Ships:
I built Setu, an open-source documentation template for creating sites that work well for both human readers and AI systems. Setu is built with Astro and Starlight. It supports Markdown and MDX documentation, clean navigation, searchable docs, AI-readable plain-text routes, a machine-readable document index, built-in code playgrounds, quizzes, and npm create support. The hardest part was turning the project from a content-heavy learning site into a reusable documentation template. I had to separate what belonged to the template from what was only sample content. Another challenge was making the same source content useful in two different ways: polished pages for people, and clean plain-text output for AI tools. I also had to package the project properly so it works both as a GitHub Template and as an npm create command. I am proud that Setu is not just a visual template. It includes real developer workflow support: validation scripts, GitHub Actions, npm publishing, AI-readable output, interactive learning components, and clear open-source structure. I am also proud that it is practical. A developer can install it, change the content, and quickly get a professional documentation or learning site online. The easiest way to test Setu is: npm create @rookduel /setu@latest my-site cd my-site npm install npm run dev Then open the local URL shown by Astro, usually: http://localhost:4321 Important pages to check: /docs/ /docs/guides/interactive-demo/ /ai/index.json /ai/docs.txt The normal documentation pages show the human-facing experience. The /ai/ routes show how Setu exposes cleaner text output for AI systems and retrieval workflows....
|
1793263948.1204042
|
1793350348.1204042
|
|
19109
|
Lumen: Discord Bot by @hasanstarts | Stardance
|
hasanstarts
|
1
|
20.48
|
111
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T19:55:48Z", "hours": 13.0, "multiplier": 8.58, "payout": 111, "blessing": "neutral", "text": "Hey Everyone! Introducing Lumen: your simplest form of discord bot for moderation, utility and a little fun added. All coded in python and completely user friendly. Click Try Project below, join Lumen HQs (Discord Server) and test Lumen! Run /help to check Lumen Commands and /help <command> to specifically learn about that command. You can manually make yourself another version of Lumen by checking out source code and by learning from it (honestly discord.py is easiest to learn)! Hope you will love it!", "repo": "https://github.com/hasancooksfr/LumenDiscord", "demo": "https://discord.gg/Hvp4gXT6tW"}]...
|
[{"post_id": 26801, "ts": "202 [{"post_id": 26801, "ts": "2026-07-11T20:01:58Z", "hours": 1.8219, "text": "DevLog 11: Learned about Discord Selects and added a way to earn more coins! Lumen users can now apply for job . Users can work once in 24 hours . Payouts are done by random number within specific job’s range. Random messages are generated like: Job: Maid You washed a mountain of dishes without breaking a single one. Commands: !job apply & !job work"}, {"post_id": 24921, "ts": "2026-07-08T19:55:36Z", "hours": 1.8253, "text": "#DevLog 10: Learned more and more things, Lumen is better now! Big updates: Lumen now uses Discord Views (Button Confirmation) . !bank deactivate command is added to delete bank account permanently! !bank rob command is added where users can rob other users with a 45% chance of success, 25% of failure but escape and 30% chance of getting caught and fined by police. Cooldowns are added to prevent abuse of ROB command. Users can only use the command once in 2 hours. Stay Tuned"}, {"post_id": 23661, "ts": "2026-07-06T19:28:54Z", "hours": 0.8686, "text": "DevLog 9: Spent more time on research and less on actually coding. Added economy transfer system (works perfectly) How it works: DataBase checks if both (sender and beneficiary) have active bank account. If yes, Database checks if amount is smaller than balance in sender’s balance If yes, Amount gets deducted from sender’s balance and added to beneficiary’s balance. Notification is sent for updates! I hope you’ll find this cool because I did Stay Tuned!"}, {"post_id": 23019, "ts": "2026-07-05T18:55:39Z", "hours": 1.3844, "text": "DevLog 8: Added Daily Reward system & Updated Coinflip! Researched over more cool stuff that can be done using MongoDB and Discord.Py. What I did today: Added a new command /bank daily which gives you a reward amount after every 24 hours. This amount is between 500 to 1000 Coins (competely random) and can be redeemed only once in 24 hours . Updated Coinflip command by added Economy system. If amount is added and you win, you get 2x added in your balance but if you lose, you get nothing . If amount is not added, it works same as before, just giving the result. That’s all I could do today, having crazy plans for tomorrow! Stay Tuned"}, {"post_id": 22378, "ts": "2026-07-04T20:28:01Z", "hours": 1.5808, "text": "DevLog 7: Lumen v1.1 I have started working on Lumen once again to add more cool commands. What I did today is: Finally added a Database AFK users are now stored in Database ECONOMY SYSTEM : Lumen is introducing economy system (bank currency), I have only added 2 commands (/bank create and /bank balance) for now, will add more soon. Stay Tuned!"}, {"post_id": 12115, "ts": "2026-06-19T19:51:04Z", "hours": 0.6228, "text": "Last DevLog (before first ship): All commands are working perfectly! All new commands are listed on Help menus and are accessible. Run !help or /help to see all commands! Lumen is officially hosted and is active 24/7 for you guys to text out. I have also updated README.md for setup instructions (i tried my best to make it beginner friendly). Join Lumen HQs (Discord Server) and test Lumen by youself!!"}, {"post_id": 11586, "ts": "2026-06-18T21:26:34Z", "hours": 4.7225, "text": "DevLog 5 : This time utilized all my time perfectly xD. This is going to be my last devlog before shipping this project (probably) All updates coded: Replaced all simple messages to embed messages (including errors like MissingPermissions) to make them cool probably Added more fun and utility commands: Utility Commands /afk -> Enables AFK Mode, whenever anyone mentions the user, bot tells that the user is in AFK mode with following reason. /avatar and /banner -> Fetches and displays user’s avatar (profile picture) and banner ofcourse in embed Fun Commands /dice -> Rolls a dice of user-specified sides (default 6) and tells the result. /randomnum -> Chooses a random number from user-specified limits (minimum and maximum). /joke and /fact -> Fetches and displays random joke or fact from APIs. Tomorrow, I will host the bot and do a last test before shipping. Wish me luck"}, {"post_id": 10850, "ts": "2026-06-17T19:54:35Z", "hours": 2.4181, "text": "DevLog 4 : Again spent a lot of time in errors and taking command ideas from other popular bots. Added a few commands: /help -> Displays a whole message like menu showing all the commands. /help <command> -> When typed a specific command infront of /help, it shows specific help and required arguments of that specific command. /role -> Adds/Removes specified role from specified user. /coinflip (or !cf )-> I thought to add some fun commands and this is the start. It flips a coin and tells the result. User can submit a guess and it shows if you won or lost. Kinda cool right ;) Tomorrow, I will beautify the messages by completely replacing them with colourful embeds (they are cooler ) That’s it for today. Wish me luck for tomorrow."}, {"post_id": 10208, "ts": "2026-06-16T20:35:36Z", "hours": 2.8044, "text": "DevLog 3: Spent most of my time in learning and exploring errors (too many errors) :P Added more cool commands: /lock -> Locks the channel for default role /unlock -> Unlocks the channel for default role /clear -> Clears number of messages in a specific channel /nickname -> Allows to change nicknames of members of server /userinfo -> gives amazing information about user /serverinfo -> gives amazing information about server And some more about moderation: /timeout -> Puts timeout to user for specified minutes /untimeout -> Removes active timeout from a user /unban -> Unbans a user id from server Bot will be ready to be shipped really soon!! This is my first time making a discord bot and I think I am doing great ;)"}, {"post_id": 9379, "ts": "2026-06-15T18:33:40Z", "hours": 1.7011, "text": "DevLog 2: Added more commands for moderation. Global error handling is setup and enhanced. Added commands: ban and kick on both prefix and slash based. Error Handlers added for checking permissions of user and bot, to check if member exists and to check if command exists. Bot is working perfectly and is satisfactory!!"}, {"post_id": 9174, "ts": "2026-06-15T11:39:22Z", "hours": 0.6889, "text": "Made simple commands like ping and hello on both prefix and slash based! Bot responding in minimum time and is satisfactory. Coded in Python"}]...
|
Title: Lumen: Discord Bot by @hasanstarts | Starda Title: Lumen: Discord Bot by @hasanstarts | Stardance
Devlogs:
Made simple commands like ping and hello on both prefix and slash based! Bot responding in minimum time and is satisfactory. Coded in Python
DevLog 2: Added more commands for moderation. Global error handling is setup and enhanced. Added commands: ban and kick on both prefix and slash based. Error Handlers added for checking permissions of user and bot, to check if member exists and to check if command exists. Bot is working perfectly and is satisfactory!!
DevLog 3: Spent most of my time in learning and exploring errors (too many errors) :P Added more cool commands: /lock -> Locks the channel for default role /unlock -> Unlocks the channel for default role /clear -> Clears number of messages in a specific channel /nickname -> Allows to change nicknames of members of server /userinfo -> gives amazing information about user /serverinfo -> gives amazing information about server And some more about moderation: /timeout -> Puts timeout to user for specified minutes /untimeout -> Removes active timeout from a user /unban -> Unbans a user id from server Bot will be ready to be shipped really soon!! This is my first time making a discord bot and I think I am doing great ;)
DevLog 4 : Again spent a lot of time in errors and taking command ideas from other popular bots. Added a few commands: /help -> Displays a whole message like menu showing all the commands. /help <command> -> When typed a specific command infront of /help, it shows specific help and required arguments of that specific command. /role -> Adds/Removes specified role from specified user. /coinflip (or !cf )-> I thought to add some fun commands and this is the start. It flips a coin and tells the result. User can submit a guess and it shows if you won or lost. Kinda cool right ;) Tomorrow, I will beautify the messages by completely replacing them with colourful embeds (they are cooler ) That’s it for today. Wish me luck for tomorrow.
DevLog 5 : This time utilized all my time perfectly xD. This is going to be my last devlog before shipping this project (probably) All updates coded: Replaced all simple messages to embed messages (including errors like MissingPermissions) to make them cool probably Added more fun and utility commands: Utility Commands /afk -> Enables AFK Mode, whenever anyone mentions the user, bot tells that the user is in AFK mode with following reason. /avatar and /banner -> Fetches and displays user’s avatar (profile picture) and banner ofcourse in embed Fun Commands /dice -> Rolls a dice of user-specified sides (default 6) and tells the result. /randomnum -> Chooses a random number from user-specified limits (minimum and maximum). /joke and /fact -> Fetches and displays random joke or fact from APIs. Tomorrow, I will host the bot and do a last test before shipping. Wish me luck
Last DevLog (before first ship): All commands are working perfectly! All new commands are listed on Help menus and are accessible. Run !help or /help to see all commands! Lumen is officially hosted and is active 24/7 for you guys to text out. I have also updated README.md for setup instructions (i tried my best to make it beginner friendly). Join Lumen HQs (Discord Server) and test Lumen by youself!!
DevLog 7: Lumen v1.1 I have started working on Lumen once again to add more cool commands. What I did today is: Finally added a Database AFK users are now stored in Database ECONOMY SYSTEM : Lumen is introducing economy system (bank currency), I have only added 2 commands (/bank create and /bank balance) for now, will add more soon. Stay Tuned!
DevLog 8: Added Daily Reward system & Updated Coinflip! Researched over more cool stuff that can be done using MongoDB and Discord.Py. What I did today: Added a new command /bank daily which gives you a reward amount after every 24 hours. This amount is between 500 to 1000 Coins (competely random) and can be redeemed only once in 24 hours . Updated Coinflip command by added Economy system. If amount is added and you win, you get 2x added in your balance but if you lose, you get nothing . If amount is not added, it works same as before, just giving the result. That’s all I could do today, having crazy plans for tomorrow! Stay Tuned
DevLog 9: Spent more time on research and less on actually coding. Added economy transfer system (works perfectly) How it works: DataBase checks if both (sender and beneficiary) have active bank account. If yes, Database checks if amount is smaller than balance in sender’s balance If yes, Amount gets deducted from sender’s balance and added to beneficiary’s balance. Notification is sent for updates! I hope you’ll find this cool because I did Stay Tuned!
#DevLog 10: Learned more and more things, Lumen is better now! Big updates: Lumen now uses Discord Views (Button Confirmation) . !bank deactivate command is added to delete bank account permanently! !bank rob command is added where users can rob other users with a 45% chance of success, 25% of failure but escape and 30% chance of getting caught and fined by police. Cooldowns are added to prevent abuse of ROB command. Users can only use the command once in 2 hours. Stay Tuned
DevLog 11: Learned about Discord Selects and added a way to earn more coins! Lumen users can now apply for job . Users can work once in 24 hours . Payouts are done by random number within specific job’s range. Random messages are generated like: Job: Maid You washed a mountain of dishes without breaking a single one. Commands: !job apply & !job work
Ships:
Hey Everyone! Introducing Lumen: your simplest form of discord bot for moderation, utility and a little fun added. All coded in python and completely user friendly. Click Try Project below, join Lumen HQs (Discord Server) and test Lumen! Run /help to check Lumen Commands and /help <command> to specifically learn about that command. You can manually make yourself another version of Lumen by checking out source code and by learning from it (honestly discord.py is easiest to learn)! Hope you will love it!...
|
1793263818.2982106
|
1793350218.2982106
|
|
19125
|
Web Shooter by @super_man2775 | Stardance
|
super_man2775
|
1
|
2.28
|
13
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T15:51:25Z", "hours": 2.0, "multiplier": 7.23, "payout": 13, "blessing": "neutral", "text": "I built an extension where you can shoot websites with your cute small little spacecraft and it’s big fat gun! I love doing this on any website and seeing my friends look weird at me lmao. In the picture you can see how I am shooting the Hack Club website.", "repo": "https://github.com/superman2775/web-shooter", "demo": "https://github.com/superman2775/web-shooter/releases/tag/2.0.0"}]...
|
[{"post_id": 9835, "ts": "2026 [{"post_id": 9835, "ts": "2026-06-16T09:09:29Z", "hours": 0.2769, "text": "The reviewer requested to remove the extensive AI usage in the CSS, so I did that 🥳🍔"}, {"post_id": 9268, "ts": "2026-06-15T15:49:16Z", "hours": 1.7889, "text": "I made the basic shooter thing. 😀 I am going to ship this now, with an eye on future improvements like leaderboards or something. In the screenshot you can see me absolutely destroying hack club’s website."}]...
|
Title: Web Shooter by @super_man2775 | Stardance
Title: Web Shooter by @super_man2775 | Stardance
Devlogs:
I made the basic shooter thing. 😀 I am going to ship this now, with an eye on future improvements like leaderboards or something. In the screenshot you can see me absolutely destroying hack club’s website.
The reviewer requested to remove the extensive AI usage in the CSS, so I did that 🥳🍔
Ships:
I built an extension where you can shoot websites with your cute small little spacecraft and it’s big fat gun! I love doing this on any website and seeing my friends look weird at me lmao. In the picture you can see how I am shooting the Hack Club website....
|
1793260129.6268523
|
1793346529.6268523
|
|
19131
|
Nexora by @Basel | Stardance
|
Basel
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-18T12:04:16Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "NexoraOS is a high-fidelity, browser-based simulated operating system featuring a custom windowing engine, virtual file system, modular app marketplace (NexoStore), and hardware tracking (battery/network charts). Managing complex pointer mathematics for lag-free window resizing, persisting deep desktop states (files, apps, themes) via localStorage, and handling iframe security walls in the internal browser. Seamless app interconnectivity (e.g., opening a document from Files directly into Notes), a highly scalable plugin architecture for installing extra apps, and heavy visual polish (glassmorphism, custom right-click menus). Instruct testers to pass the lock screen, customize settings/wallpapers, download utilities from the NexoStore, create a document in the Files app, and refresh the page to see their exact setup persist.", "repo": "https://github.com/baselmahmoud2026-svg/Nexora--os", "demo": "https://nexora-operatingsystem.netlify.app/"}]...
|
[{"post_id": 10254, "ts": "202 [{"post_id": 10254, "ts": "2026-06-16T21:53:16Z", "hours": 0.5669, "text": "Nexora OS"}]...
|
Title: Nexora by @Basel | Stardance
Devlogs:
Nexo Title: Nexora by @Basel | Stardance
Devlogs:
Nexora OS
Ships:
NexoraOS is a high-fidelity, browser-based simulated operating system featuring a custom windowing engine, virtual file system, modular app marketplace (NexoStore), and hardware tracking (battery/network charts). Managing complex pointer mathematics for lag-free window resizing, persisting deep desktop states (files, apps, themes) via localStorage, and handling iframe security walls in the internal browser. Seamless app interconnectivity (e.g., opening a document from Files directly into Notes), a highly scalable plugin architecture for installing extra apps, and heavy visual polish (glassmorphism, custom right-click menus). Instruct testers to pass the lock screen, customize settings/wallpapers, download utilities from the NexoStore, create a document in the Files app, and refresh the page to see their exact setup persist....
|
1793282142.8294117
|
1793368542.8294117
|
|
19135
|
My first slack bot! by @Something231 | Stardance
|
Something231
|
1
|
1.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T14:48:05Z", "hours": 1.0, "multiplier": 1.06, "payout": 1, "blessing": "neutral", "text": "Made a simple first slack bot, its my first time using javascript so i just gave it an api command to read 8 ball fortunes, and a command to fetch stoic quotes, as well as a command to ‘uwuify’ any text given.", "repo": "https://github.com/Something231/Slack-Bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 9224, "ts": "2026 [{"post_id": 9224, "ts": "2026-06-15T14:32:24Z", "hours": 0.7667, "text": "Created my first slack bot, added a stoic quote generator, eight ball reading generator and an ‘uwuify’ command. I’m quite happy with it given that I’ve never used js before."}]...
|
Title: My first slack bot! by @Something231 | Star Title: My first slack bot! by @Something231 | Stardance
Devlogs:
Created my first slack bot, added a stoic quote generator, eight ball reading generator and an ‘uwuify’ command. I’m quite happy with it given that I’ve never used js before.
Ships:
Made a simple first slack bot, its my first time using javascript so i just gave it an api command to read 8 ball fortunes, and a command to fetch stoic quotes, as well as a command to ‘uwuify’ any text given....
|
1793134315.63302
|
1793220715.63302
|
|
19138
|
Custom Shell by @adityaviraj | Stardance
|
adityaviraj
|
1
|
22.87
|
33
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T14:05:28Z", "hours": 5.0, "multiplier": 7.08, "payout": 33, "blessing": "neutral", "text": "I have been diving deep into low level programming , trying to get away from high level abstractions and understand what’s actually happening at the metal. I have spent the last few days building a custom Unix shell ‘hsh’ entirely in C from scratch . It’s definitely been a learning curve (and I have definitely had my share of segmentation faults!), but seeing it actually interact with the kernel is the coolest thing I have built so far..! . Definitely planning to keep iterating on this to add redirection and signal handling next. New versions coming up..! If you are into low level stuff or just want to see how I broke this down, check out the repo..! https://github.com/AdityaViraj/hsh-systems-kernel", "repo": "https://github.com/AdityaViraj/hsh-systems-kernel", "demo": "https://github.com/AdityaViraj/hsh-systems-kernel/releases/tag/v2.0"}]...
|
[{"post_id": 25137, "ts": "202 [{"post_id": 25137, "ts": "2026-07-09T05:01:23Z", "hours": 10.6297, "text": "In the updated version I have been working on improving : POSIX Pipelines (|): Fixed pointer bugs to successfully chain commands and stream output directly between processes. Asynchronous Jobs (&): Added non-blocking execution to allow tasks to run silently in the background. Process Management: Built a SIGCHLD signal handler to automatically reap zombie processes and prevent system leaks. Arena Allocator: Ripped out dynamic malloc calls and replaced them with a zero-allocation static memory arena for maximum parsing speed. Hardware Telemetry: Embedded monotonic clocks to measure the exact nanosecond latency of new hot path."}, {"post_id": 12441, "ts": "2026-06-20T09:32:03Z", "hours": 7.2386, "text": "Path to Version 2.0 I received feedback on v1.0 regarding the distribution of binaries. I have treated this not just as a fix, but as an opportunity to move to a fully modularised, production grade build system. What I am changing for Version 2.0 ? Automated Build System: I have implemented a professional Makefile that handles compilation, dependency management, and binary generation. This ensures that any reviewer can clone the repo, run make, and have a working binary in seconds. Binary Distribution: v2.0 will include the pre-compiled hsh binary attached directly to the GitHub release, ensuring instant usability. Error Handling: Version 2.0 will introduce specific error handling for non-existent commands and restricted directory access, moving away from simple execution to a “user-proof” shell experience. My Goal for v2.0 To ship a fully functional, stable Unix like shell that demonstrates deep integration with the Linux Kernel via system calls, providing a seamless experience for the end user."}, {"post_id": 9909, "ts": "2026-06-16T12:44:30Z", "hours": 4.6814, "text": "I have spent the last few days building a custom Unix shell ‘hsh’ version 1.0 entirely in C. It’s been a crazy ride. I started out not knowing much about an Operating System ."}]...
|
Title: Custom Shell by @adityaviraj | Stardance
D Title: Custom Shell by @adityaviraj | Stardance
Devlogs:
I have spent the last few days building a custom Unix shell ‘hsh’ version 1.0 entirely in C. It’s been a crazy ride. I started out not knowing much about an Operating System .
Path to Version 2.0 I received feedback on v1.0 regarding the distribution of binaries. I have treated this not just as a fix, but as an opportunity to move to a fully modularised, production grade build system. What I am changing for Version 2.0 ? Automated Build System: I have implemented a professional Makefile that handles compilation, dependency management, and binary generation. This ensures that any reviewer can clone the repo, run make, and have a working binary in seconds. Binary Distribution: v2.0 will include the pre-compiled hsh binary attached directly to the GitHub release, ensuring instant usability. Error Handling: Version 2.0 will introduce specific error handling for non-existent commands and restricted directory access, moving away from simple execution to a “user-proof” shell experience. My Goal for v2.0 To ship a fully functional, stable Unix like shell that demonstrates deep integration with the Linux Kernel via system calls, providing a seamless experience for the end user.
In the updated version I have been working on improving : POSIX Pipelines (|): Fixed pointer bugs to successfully chain commands and stream output directly between processes. Asynchronous Jobs (&): Added non-blocking execution to allow tasks to run silently in the background. Process Management: Built a SIGCHLD signal handler to automatically reap zombie processes and prevent system leaks. Arena Allocator: Ripped out dynamic malloc calls and replaced them with a zero-allocation static memory arena for maximum parsing speed. Hardware Telemetry: Embedded monotonic clocks to measure the exact nanosecond latency of new hot path.
Ships:
I have been diving deep into low level programming , trying to get away from high level abstractions and understand what’s actually happening at the metal. I have spent the last few days building a custom Unix shell ‘hsh’ entirely in C from scratch . It’s definitely been a learning curve (and I have definitely had my share of segmentation faults!), but seeing it actually interact with the kernel is the coolest thing I have built so far..! . Definitely planning to keep iterating on this to add redirection and signal handling next. New versions coming up..! If you are into low level stuff or just want to see how I broke this down, check out the repo..! https://github.com/AdityaViraj/hsh-systems-kernel...
|
1793281758.817321
|
1793368158.817321
|
|
19147
|
Nebula OS by @shubworks | Stardance
|
shubworks
|
1
|
47.39
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T13:52:06Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Nebula OS started as a simple space-themed web desktop with space-themed apps, including a calculator inspired by planets spinning in orbit. But somewhere along the way, I realized it didn’t actually feel like an operating system. So I redesigned the entire UI with a neo-brutalist style, rebuilt the window system, reworked the apps, added persistent widgets, cleaned up the codebase, and even hid a few surprises like a wormhole that can swallow the desktop. The hardest part was rebuilding everything without breaking something else. Every time I fixed one thing, another bug decided it wanted attention too. I spent a lot of time tracking down weird issues, refactoring code, and making sure all the apps worked together instead of fighting each other. The wormhole effect was probably the most frustrating feature to get working the way I wanted. The thing I’m most proud of is that Nebula OS finally feels like one complete experience instead of a bunch of separate mini projects. If you’re trying it out, don’t just open one app and leave. Open multiple windows, drag them around, try the Terminal (help is a good start), load your own music, draw something in Paint, play Snake, and maybe explore the dock carefully… there might be something hidden waiting there. 👀 This is easily the biggest project I’ve built so far, and I’m really happy with how it turned out.", "repo": "https://github.com/NikhilKshub/Nebula-OS", "demo": "https://nikhilkshub.github.io/Nebula-OS/"}]...
|
[{"post_id": 64621, "ts": "202 [{"post_id": 64621, "ts": "2026-09-09T04:58:13Z", "hours": 1.5403, "text": "In the hydration tracker widget the previous error was showing a line of code inside the hydration tracker widget so I thought it was a html code error so I tried writing it properly and now instead of the tracker getting an error my dock system went to the tracker to ask him how he is (╥ ᴗ ╥) , guess what the problem was i actually didnt close the ‘<‘div id=“widgets”> using </div’>’ (about the apostrophe on div that you are thinking is also a problem , its not becuase in devlog it wont allow me to write the function properly thats why i wrote it in apostrophe ) Because HTML is hierarchical, the browser interprets that as: #widgets ├── todo widget ├── notes widget ├── hydration widget └── #dock ← OOPS, dock is now inside widgets Another problem is that the hydration widget is still not working the buttons are not working and it was because function saveHydrationState(State){ lsSet(‘nebula_hydration’,JSON.stringify(state));}The savehydrationstate has S as capital instead of small and because of that it wasnt working and and about the feature you can even drink more than 8 cups and another feature is that the widget resets for every day"}, {"post_id": 63625, "ts": "2026-09-07T15:31:37Z", "hours": 0.3686, "text": "lmao , tried adding another widget which was hydration tracker widget and tried implementing it and i got a crazy error haha my hydration tracker is showing code instead of tracker and also all the widgets size changed bymistake"}, {"post_id": 63602, "ts": "2026-09-07T15:06:04Z", "hours": 1.5978, "text": "added a Todo task widget , main problem came in when writing code inside the DOMContentLoaded listener it was not taking code because of errors like not proper closing of the code and also while writing code in CSS like messing up with the alignment(format) and other and one time the todo task didnt even take any input ,it was because of a syntax error but it was solved"}, {"post_id": 62028, "ts": "2026-09-05T07:40:17Z", "hours": 2.1067, "text": "I changed the original boot screen into a proper login screen because I wanted Nebula OS to feel more like an actual desktop environment when someone first opens it. The new screen has the date, a sign-in button, a quote, and a small build label before entering the desktop. I changed the topbar from a solid background to a translucent glass-style design. This makes it blend more naturally with the wallpaper instead of looking like a separate bar placed on top of the desktop. I also changed the dock to match the translucent style of the topbar. The desktop previously used a plain color as its background, so I added a default wallpaper image instead. This gives new users something more visually interesting when they first open Nebula OS, while still letting them replace the wallpaper with their own image."}, {"post_id": 61713, "ts": "2026-09-04T19:08:33Z", "hours": 1.075, "text": "fixed few errors like the animation of the wormhole was working the first time but if user tries to use it again it was not working as expected so fixed it and also fixed few typo errors"}, {"post_id": 60374, "ts": "2026-09-02T17:47:30Z", "hours": 4.2303, "text": "There were so many errors like the animation was getting stuck , the reboot feature not working inside the terminal it just stays stuck , booting animation was getting stuck because of some mismatch between the codes in the files , the layout of the custom timer in pomodoro app was not right i corrected it and then there was problem in the paint app it was not allowing any other color to be used then there was problem with the confirm window buttons for singularity effect it was not working/clickable. somehow i managed to solve them and make them work and finally my project is done after so many typo fixes , debugs and code lines missing."}, {"post_id": 57488, "ts": "2026-08-29T17:26:05Z", "hours": 10.7014, "text": "things i fixed Boot screen was not showing boot status like those ‘Establishing reality anchors…’, ‘Calibrating wormhole trajectory…’, ‘Loading Explorer profile…’, ‘Reality Integrity: 100%’, Because i forgot to write boot status css code though i managed to write it and now its working Windows functions buttons are not working like close , maximize , minimize buttons it was because i wrote a code of line as “.window-activer{z-index:600; box-shadow:8px 8px 0 var(–black);}”Instead of “.window.active{z-index:600; box-shadow:8px 8px 0 var(–black);}”Still the button maximize one is still not working and there are more errors like Paint app not showing any page to draw , focus timer not having any windows function buttons and the game app is working abnormal like if i click on the maximize button the screen of the game keeps getting smaller and smaller Now about the fixing of the window button i couldnt solve the problem because i was trying to solve it but it was again and again getting wrong so i asked chatgpt for help and it pointed out the problem and i got the solution and then i understand it and it also suggested me something like my code allows a app to get into maximum size also hiding the dock of the desktop so it told me to solve that also so the desktop will look better. I somehow fixed it using chatgpt help the problem and its solution was creating more problems so somehow i was able to solve it now i also noticed that the app labels are not proper and again it was because i didnt write those css codes for it. And you can also see that the the paint app icon is coming half and paint app is not showing the visible drawing white page and though i fixed the icon problem with help of chatgpt but about the drawing page not showing up guess what was the error !! , it was just a spelling mistake i wrote defualt instead of default in html code and because of that it was not taking the height of the page and i was here messing with the css and Js codes thinking i missed lines or something and i mostly rewrote the whole css code trying to get everything done in minimal amount of code and somehow i made it possible and also took help from ai for solving various problems"}, {"post_id": 25864, "ts": "2026-07-10T10:51:10Z", "hours": 1.0806, "text": "Did few fixes the wormhole feature was completely reloading the browser making all thr progress go away so i asked ai for help and it suggested me to use a fake reboot system for wormhole and it will also keep the progress of the webos saved so now the wormhole uses fake reboot system to perform its task or like what its meant to do , another fix i also did was that the after removing the background i set the background as black so i changed it into something beige color type which kinda looks good compared to black background , users can also changed the background/wallpaper and put their desired ones and also removed dead codes and things from the code"}, {"post_id": 25432, "ts": "2026-07-09T18:16:50Z", "hours": 0.6064, "text": "Fixed the CSS issue from earlier. Splitting the main CSS file into smaller chunks and linking those to the HTML was causing errors, likely from a code mistake somewhere in the process. Instead of chasing that down, I merged everything back into one CSS file, which connected cleanly and got the webOS working again. Also changed a few colors — like the boot screen and a couple other elements — into violet."}, {"post_id": 25382, "ts": "2026-07-09T17:17:24Z", "hours": 4.0139, "text": "Added a Pomodoro Timer that uses a default 25-minute focus timer with breaks, and also added a custom timer option for focus and break sessions. Removed the previous desktop background, which had rings, ripples, animations, and other effects, and replaced it with a simple wallpaper. Also added a wallpaper-replace feature so users can set their own wallpaper on the OS. Removed the two widgets — Nebula Broadcast and Reality Monitor. They were good at first but didn’t give that “proper feeling” of actually using them, and got boring over time, so I replaced both with a simple Quick Notes widget. Tried reworking the CSS files to reduce the number of lines and make things more minimal. My idea was to split all the sections of the webOS from one big CSS file into smaller files, but along the way I missed some code or had syntax errors. After fixing those, I got the CSS split into small chunks, but connecting them properly to the HTML became a problem — in the end, when I ran the webOS, no UI or CSS was applying at all, which left the whole thing broken."}, {"post_id": 24668, "ts": "2026-07-08T12:27:25Z", "hours": 1.0722, "text": "The Stardance reviewers shared feedback on the project and highlighted a few areas that could be improved. So i think i am going to try to rework on my project and fix those areas they highlighted and maybe try to improve my project also"}, {"post_id": 23425, "ts": "2026-07-06T11:36:06Z", "hours": 11.0856, "text": "This was probably the biggest update I’ve made to the project so far.I ended up rebuilding almost the entire operating system. The older version worked, but after using it for a while it felt more like a collection of space-themed apps than a real desktop. The glassmorphism style looked nice, but it didn’t have much personality or consistency.So I decided to redesign everything from scratch around a neo-brutalist style and renamed the project Nebula.The biggest goal wasn’t just changing colors or making a prettier UI. I wanted the whole OS to feel like it belonged to one universe.I also built an Explorer system that rewards curiosity while using Nebula. Hidden discoveries, explorer ranks, and little easter eggs are now spread throughout the OS. Instead of throwing achievements at the user, the desktop quietly encourages exploration, which makes finding them much more satisfying.The desktop itself changed a lot too. I replaced the empty static background with subtle ambient effects and layered elements that make the workspace feel more alive without distracting from the apps. Small interactions like notifications, broadcasts, and system telemetry now react to what you’re actually doing instead of showing random placeholder information.A huge amount of time also went into polishing everything behind the scenes. I fixed duplicated event listeners, notification spam, calculator edge cases, wormhole state issues, persistence bugs, and cleaned up dead code that had built up while experimenting with different ideas.One feature I was excited about was the wormhole sequence. It started as a fun visual effect, but I kept expanding it until it became part of Nebula’s identity and tied into the system’s discoveries and world building.Looking back at the first version of MyOS compared to Nebula now, it almost feels like two completely different projects. The old one was mainly focused on the space aesthetic, while this version is focused on creating a complete operating system with its own personality, interactions, and world.At this point I’m mostly polishing the experience instead of adding new features. Nebula finally feels like a complete product rather than just another web desktop. Also i added few new apps like Paint , Snake Game , Notes. and redesigned the old apps like the Terminal , Music player , Calculator. I also added a Wormhole feature that pulls the entire desktop into a black hole before restarting the system. It started as a fun visual effect but ended up becoming one of Nebula’s signature interactions."}, {"post_id": 11876, "ts": "2026-06-19T10:48:11Z", "hours": 2.7317, "text": "Started with an ambitious orbital ring calculator idea where numbers spin around a glowing sun in the center. Looked cool in theory, but in practice it was a mess — the spinning made me dizzy, numbers were scattered everywhere instead of in order, and clicking buttons felt like a game of whack-a-mole. Tried fixing it a few times but it just wasn’t working. So I scrapped the whole ring concept and went back to a normal calculator layout, but kept the space vibe with glowing planet buttons and a holographic display. Way more usable. The equals and clear buttons weren’t responding at first because the code wasn’t picking them up properly. Once that was sorted, everything clicked into place. Now it actually works like a real calculator — shows the full equation, smooth animations, and doesn’t spin around like a broken merry-go-round."}, {"post_id": 11415, "ts": "2026-06-18T17:56:15Z", "hours": 1.8242, "text": "finally solved all the errors and replaced the generic falling starfield with a premium interactive solar system centerpiece. The canvas now renders a living solar system with 8 planets in their approximate real colors — Mercury through Neptune — each with subtle float animations and glow effects. Hovering any planet reveals its name. The starfield was redesigned to work around the solar system rather than compete with it. Took help from AI in imagining and designing the visual layout, planet styling, and interaction patterns. The solar system now serves as the desktop’s identity piece instead of random background noise."}, {"post_id": 11211, "ts": "2026-06-18T11:00:17Z", "hours": 0.6206, "text": "messed up , i was thinking of adding cursor animations and a background but i did something in code that messed the situation 😭"}, {"post_id": 11184, "ts": "2026-06-18T09:12:59Z", "hours": 2.99, "text": "I got to know about Hack Club through a friend, and when I found out you can build projects and actually get cool rewards for it, I thought why not give it a shot! So here’s my first project on Stardance. I picked the WebOS mission - basically building my own little web-based operating system from scratch. The idea is to make something that looks and feels like a real desktop OS but runs in the browser, with my own twist on the design. I started by building the desktop itself with a custom dark blue-purple theme, a top bar, and a live clock powered by JavaScript. Later I expanded it into a multi-window system where apps can be opened, closed, and moved around the screen just like a real operating system. So far, MyOS includes draggable windows, desktop icons, a functional dock, an About app, a Terminal app, and a Clock app that displays a large live clock and date. I also implemented window focus management so active windows move to the front, making the desktop feel much more realistic. One of the biggest additions was a custom right-click context menu. Users can right-click anywhere on the desktop to quickly open apps or refresh the desktop, similar to traditional operating systems. I also updated the top bar to display both the current date and time in real time. A surprising amount of development time went into debugging small JavaScript mistakes. Things like misspelled variable names, incorrect event listeners, and reserved keywords caused features to silently fail, forcing me to carefully trace through the code and learn how browser debugging works. Those issues ended up teaching me as much as the actual feature development."}]...
|
Title: Nebula OS by @shubworks | Stardance
Devlog Title: Nebula OS by @shubworks | Stardance
Devlogs:
I got to know about Hack Club through a friend, and when I found out you can build projects and actually get cool rewards for it, I thought why not give it a shot! So here’s my first project on Stardance. I picked the WebOS mission - basically building my own little web-based operating system from scratch. The idea is to make something that looks and feels like a real desktop OS but runs in the browser, with my own twist on the design. I started by building the desktop itself with a custom dark blue-purple theme, a top bar, and a live clock powered by JavaScript. Later I expanded it into a multi-window system where apps can be opened, closed, and moved around the screen just like a real operating system. So far, MyOS includes draggable windows, desktop icons, a functional dock, an About app, a Terminal app, and a Clock app that displays a large live clock and date. I also implemented window focus management so active windows move to the front, making the desktop feel much more realistic. One of the biggest additions was a custom right-click context menu. Users can right-click anywhere on the desktop to quickly open apps or refresh the desktop, similar to traditional operating systems. I also updated the top bar to display both the current date and time in real time. A surprising amount of development time went into debugging small JavaScript mistakes. Things like misspelled variable names, incorrect event listeners, and reserved keywords caused features to silently fail, forcing me to carefully trace through the code and learn how browser debugging works. Those issues ended up teaching me as much as the actual feature development.
messed up , i was thinking of adding cursor animations and a background but i did something in code that messed the situation 😭
finally solved all the errors and replaced the generic falling starfield with a premium interactive solar system centerpiece. The canvas now renders a living solar system with 8 planets in their approximate real colors — Mercury through Neptune — each with subtle float animations and glow effects. Hovering any planet reveals its name. The starfield was redesigned to work around the solar system rather than compete with it. Took help from AI in imagining and designing the visual layout, planet styling, and interaction patterns. The solar system now serves as the desktop’s identity piece instead of random background noise.
Started with an ambitious orbital ring calculator idea where numbers spin around a glowing sun in the center. Looked cool in theory, but in practice it was a mess — the spinning made me dizzy, numbers were scattered everywhere instead of in order, and clicking buttons felt like a game of whack-a-mole. Tried fixing it a few times but it just wasn’t working. So I scrapped the whole ring concept and went back to a normal calculator layout, but kept the space vibe with glowing planet buttons and a holographic display. Way more usable. The equals and clear buttons weren’t responding at first because the code wasn’t picking them up properly. Once that was sorted, everything clicked into place. Now it actually works like a real calculator — shows the full equation, smooth animations, and doesn’t spin around like a broken merry-go-round.
This was probably the biggest update I’ve made to the project so far.I ended up rebuilding almost the entire operating system. The older version worked, but after using it for a while it felt more like a collection of space-themed apps than a real desktop. The glassmorphism style looked nice, but it didn’t have much personality or consistency.So I decided to redesign everything from scratch around a neo-brutalist style and renamed the project Nebula.The biggest goal wasn’t just changing colors or making a prettier UI. I wanted the whole OS to feel like it belonged to one universe.I also built an Explorer system that rewards curiosity while using Nebula. Hidden discoveries, explorer ranks, and little easter eggs are now spread throughout the OS. Instead of throwing achievements at the user, the desktop quietly encourages exploration, which makes finding them much more satisfying.The desktop itself changed a lot too. I replaced the empty static background with subtle ambient effects and layered elements that make the workspace feel more alive without distracting from the apps. Small interactions like notifications, broadcasts, and system telemetry now react to what you’re actually doing instead of showing random placeholder information.A huge amount of time also went into polishing everything behind the scenes. I fixed duplicated event listeners, notification spam, calculator edge cases, wormhole state issues, persistence bugs, and cleaned up dead code that had built up while experimenting with different ideas.One feature I was excited about was the wormhole sequence. It started as a fun visual effect, but I kept expanding it until it became part of Nebula’s identity and tied into the system’s discoveries and world building.Looking back at the first version of MyOS compared to Nebula now, it almost feels like two completely different projects. The old one was mainly focused on the space aesthetic, while this version is focused on creating a complete operating system with its own personality, interactions, and world.At this point I’m mostly polishing the experience instead of adding new features. Nebula finally feels like a complete product rather than just another web desktop. Also i added few new apps like Paint , Snake Game , Notes. and redesigned the old apps like the Terminal , Music player , Calculator. I also added a Wormhole feature that pulls the entire desktop into a black hole before restarting the system. It started as a fun visual effect but ended up becoming one of Nebula’s signature interactions.
The Stardance reviewers shared feedback on the project and highlighted a few areas that could be improved. So i think i am going to try to rework on my project and fix those areas they highlighted and maybe try to improve my project also
Added a Pomodoro Timer that uses a default 25-minute focus timer with breaks, and also added a custom timer option for focus and break sessions. Removed the previous desktop background, which had rings, ripples, animations, and other effects, and replaced it with a simple wallpaper. Also added a wallpaper-replace feature so users can set their own wallpaper on the OS. Removed the two widgets — Nebula Broadcast and Reality Monitor. They were good at first but didn’t give that “proper feeling” of actually using them, and got boring over time, so I replaced both with a simple Quick Notes widget. Tried reworking the CSS files to reduce the number of lines and make things more minimal. My idea was to split all the sections of the webOS from one big CSS file into smaller files, but along the way I missed some code or had syntax errors. After fixing those, I got the CSS split into small chunks, but connecting them properly to the HTML became a problem — in the end, when I ran the webOS, no UI or CSS was applying at all, which left the whole thing broken.
Fixed the CSS issue from earlier. Splitting the main CSS file into smaller chunks and linking those to the HTML was causing errors, likely from a code mistake somewhere in the process. Instead of chasing that down, I merged everything back into one CSS file, which connected cleanly and got the webOS working again. Also changed a few colors — like the boot screen and a couple other elements — into violet.
Did few fixes the wormhole feature was completely reloading the browser making all thr progress go away so i asked ai for help and it suggested me to use a fake reboot system for wormhole and it will also keep the progress of the webos saved so now the wormhole uses fake reboot system to perform its task or like what its meant to do , another fix i also did was that the after removing the background i set the background as black so i changed it into something beige color type which kinda looks good compared to black background , users can also changed the background/wallpaper and put their desired ones and also removed dead codes and things from the code
things i fixed Boot screen was not showing boot status like those ‘Establishing reality anchors…’, ‘Calibrating wormhole trajectory…’, ‘Loading Explorer profile…’, ‘Reality Integrity: 100%’, Because i forgot to write boot status css code though i managed to write it and now its working Windows functions buttons are not working like close , maximize , minimize buttons it was because i wrote a code of line as “.window-activer{z-index:600; box-shadow:8px 8px 0 var(–black);}”Instead of “.window.active{z-index:600; box-shadow:8px 8px 0 var(–black);}”Still the button maximize one is still not working and there are more errors like Paint app not showing any page to draw , focus timer not having any windows function buttons and the game app is working abnormal like if i click on the maximize button the screen of the game keeps getting smaller and smaller Now about the fixing of the window button i couldnt solve the problem because i was trying to solve it but it was again and again getting wrong so i asked chatgpt for help and it pointed out the problem and i got the solution and then i understand it and it also suggested me something like my code allows a app to get into maximum size also hiding the dock of the desktop so it told me to solve that also so the desktop will look better. I somehow fixed it using chatgpt help the problem and its solution was creating more problems so somehow i was able to solve it now i also noticed that the app labels are not proper and again it was because i didnt write those css codes for it. And you can also see that the the paint app icon is coming half and paint app is not showing the visible drawing white page and though i fixed the icon problem with help of chatgpt but about the drawing page not showing up guess what was the error !! , it was just a spelling mistake i wrote defualt instead of default in html code and because of that it was not taking the height of the page and i was here messing with the css and Js codes thinking i missed lines or something and i mostly rewrote the whole css code trying to get everything done in minimal amount of code and somehow i made it possible and also took help from ai for solving various problems
There were so many errors like the animation was getting stuck , the reboot feature not working inside the terminal it just stays stuck , booting animation was getting stuck because of some mismatch between the codes in the files , the layout of the custom timer in pomodoro app was not right i corrected it and then there was problem in the paint app it was not allowing any other color to be used then there was problem with the confirm window buttons for singularity effect it was not working/clickable. somehow i managed to solve them and make them work and finally my project is done after so many typo fixes , debugs and code lines missing.
fixed few errors like the animation of the wormhole was working the first time but if user tries to use it again it was not working as expected so fixed it and also fixed few typo errors
I changed the original boot screen into a proper login screen because I wanted Nebula OS to feel more like an actual desktop environment when someone first opens it. The new screen has the date, a sign-in button, a quote, and a small build label before entering the desktop. I changed the topbar from a solid background to a translucent glass-style design. This makes it blend more naturally with the wallpaper instead of looking like a separate bar placed on top of the desktop. I also changed the dock to match the translucent style of the topbar. The desktop previously used a plain color as its background, so I added a default wallpaper image instead. This gives new users something more visually interesting when they first open Nebula OS, while still letting them replace the wallpaper with their own image.
added a Todo task widget , main problem came in when writing code inside the DOMContentLoaded listener it was not taking code because of errors like not proper closing of the code and also while writing code in CSS like messing up with the alignment(format) and other and one time the todo task didnt even take any input ,it was because of a syntax error but it was solved
lmao , tried adding another widget which was hydration tracker widget and tried implementing it and i got a crazy error haha my hydration tracker is showing code instead of tracker and also all the widgets size changed bymistake
In the hydration tracker widget the previous error was showing a line of code inside the hydration tracker widget so I thought it was a html code error so I tried writing it properly and now instead of the tracker getting an error my dock system went to the tracker to ask him how he is (╥ ᴗ ╥) , guess what the problem was i actually didnt close the ‘<‘div id=“widgets”> using </div’>’ (about the apostrophe on div that you are thinking is also a problem , its not becuase in devlog it wont allow me to write the function properly thats why i wrote it in apostrophe ) Because HTML is hierarchical, the browser interprets that as: #widgets ├── todo widget ├── notes widget ├── hydration widget └── #dock ← OOPS, dock is now inside widgets Another problem is that the hydration widget is still not working the buttons are not working and it was because function saveHydrationState(State){ lsSet(‘nebula_hydration’,JSON.stringify(state));}The savehydrationstate has S as capital instead of small and because of that it wasnt working and and about the feature you can even drink more than 8 cups and another feature is that the widget resets for every day
Ships:
Nebula OS started as a simple space-themed web desktop with space-themed apps, including a calculator inspired by planets spinning in orbit. But somewhere along the way, I realized it didn’t actually feel like an operating system. So I redesigned the entire UI with a neo-brutalist style, rebuilt the window system, reworked the apps, added persistent widgets, cleaned up the codebase, and even hid a few surprises like a wormhole that can swallow the desktop. The hardest part was rebuilding everything without breaking something else. Every time I fixed one thing, another bug decided it wanted attention too. I spent a lot of time tracking down weird issues, refactoring code, and making sure all the apps worked together instead of fighting each other. The wormhole effect was probably the most frustrating feature to get working the way I wanted. The thing I’m most proud of is that Nebula OS finally feels like one complete experience instead of a bunch of separate mini projects. If you’re trying it out, don’t just open one app and leave. Open multiple windows, drag them around, try the Terminal (help is a good start), load your own music, draw something in Paint, play Snake, and maybe explore the dock carefully… there might be something hidden waiting there. 👀 This is easily the biggest project I’ve built so far, and I’m really happy with how it turned out....
|
1792878693.6254983
|
1793742693.6254983
|
|
19159
|
N-body simulator by @bd6015958 | Stardance
|
bd6015958
|
1
|
0.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T10:03:55Z", "hours": 0.0, "multiplier": 2.45, "payout": 1, "blessing": "neutral", "text": "This is a n-body simulator. I built this becuase I am interested in astrophysics.", "repo": "https://github.com/lmq-v/Orbital-Dynamics", "demo": "https://orbital-dynamics-ujpw.vercel.app/"}]...
|
[{"post_id": 9859, "ts": "2026 [{"post_id": 9859, "ts": "2026-06-16T09:58:28Z", "hours": 0.4133, "text": "physics engine"}]...
|
Title: N-body simulator by @bd6015958 | Stardance
Title: N-body simulator by @bd6015958 | Stardance
Devlogs:
physics engine
Ships:
This is a n-body simulator. I built this becuase I am interested in astrophysics....
|
1793137893.3479316
|
1793224293.3479316
|
|
19164
|
BadGPT by @28taidan | Stardance
|
28taidan
|
1
|
121.0
|
1974
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T22:47:09Z", "hours": 121.0, "multiplier": 16.85, "payout": 1974, "blessing": "neutral", "text": "badGPT is a conglomeration of sequential ML projects I did this summer, culminating in a chatbot like ChatGPT or Claude built from scratch using just python and numpy. I started off by building a name generation model, then a Shakespeare writing model, then finally a chatGPT-esque model. The model produces, for the most part, complete gibberish, so this was less a practical project and more an exercise in understanding how everything works. It performs so poorly because it’s so small. Models need a lot of parameters to be able to capture all the nuances required to produce coherent text, which makes the models much slower to train. The final model I made includes around 120,000 parameters, 4 transformer blocks of 4 attention heads each, and 64 tokens of context. It’s based largely on GPT-2, which for reference had about 1.5 billion parameters. Current frontier models, like Anthropic’s fable, have trillions of parameters and can have millions of input tokens, so it makes sense that my model is too small to make much sense at all. Even at its small size, it took my laptop more than 20 hours to train, so scaling up with my current hardware is not feasible. Many people like using libraries like pytorch and tensorflow, which include classes that handle backpropagation (the system that’s at the heart of letting the models learn), but I wanted to start from scratch so I wrote my own. If you wish to try any of my models out, you can visit the demo website (click try project), and click through the tabs to see each of the models. It all runs in your browser. You can also look through the Jupyter notebooks in the Github repository to get a sense of how everything works.", "repo": "https://github.com/Luchik28/BadGPT", "demo": "https://luchik28.github.io/BadGPT/"}]...
|
[{"post_id": 63888, "ts": "202 [{"post_id": 63888, "ts": "2026-09-07T22:03:29Z", "hours": 0.3219, "text": "Fixed up the readme a bit in preparation to ship. Specifically, I added info on what all the files do, but I named them poorly and then forgot what most of them do so it’s kind of confusing."}, {"post_id": 63871, "ts": "2026-09-07T21:24:10Z", "hours": 3.705, "text": "Trained the model a little more, exported it, wrote some UI to make it look more like a chatbot. It still sounds like gibberish. Sometimes I imagine that it’s output changes slightly depending on the context (for example, more numbers if I ask it a number related question, and a list if I ask it for a list, etc), but I’m probably just imagining it, it’s really just gibberish. Still kinda cool tho. You can check out the demo at https://luchik28.github.io/BadGPT/ ."}, {"post_id": 63606, "ts": "2026-09-07T15:13:11Z", "hours": 10.0569, "text": "Added an EOS ID, which is a special token that the model can output to indicate that it’s done. I built a script to insert this in between passages in the training data, so it can learn when it should shut up (otherwise it will yap forever, until it hits the max number of output tokens). This meant I had to retrain the entire model, but got it down to a loss of around 3.46. Obviously, it’s not very good. But I’m pretty sure the only way to improve is to scale up the model size and training time, something I don’t really have the capacity to do (this model trained for 15 hours on my laptop). I will probably continue by adding this model to my demo website, and build a chatGPT like UI, just for fun. After that, I think it might be time to ship!"}, {"post_id": 63248, "ts": "2026-09-06T23:29:21Z", "hours": 8.4769, "text": "Switched to using the fineweb edu dataset, instead of shakespear. This is the dataset I will use to train my actual model on. It’s a highly currated database of the internet, and is similar to what GPT2 was trained on (although the actual db they trained it on is closed source). I also reformated the sampling system so you can put in a query and get a response, as long as the query takes up less tokens than the context. Other than swapping out the training file, it’s the exact same. Next, I will probably implement a special ending token to my tokenizer, and also increase the scale of my model a little bit. I can’t increase it all the way to what Karpathy does in his tutorial (he uses cloud computing, so he paid to rent out like 8 64GB GPUs, or something like that), since I don’t want to spend money training it. However I think I can squeeze a little more out of my laptop."}, {"post_id": 49298, "ts": "2026-08-18T01:13:10Z", "hours": 9.3886, "text": "Started working on a more advanced tokenizer. The tokenizer is what splits the input text from words into numbers, and back again. Before, I was using a 10 dimensional embedding, where each letter is represented by a 10 long array (each value representing a dimension). But current models have much more advanced tokenizers, which often encompass entire words, or parts of words for longer words. This works using Byte Pair Encoding, which turns all of the letters pairs of letters into their utf encodings (usually 8), then iteratively merging the most common consecutive pairs into tokens to add to the vocabulary. You can see how tokenizers work at https://tiktokenizer.vercel.app/ , which is a cool website that lets you play around with stuff like that."}, {"post_id": 42029, "ts": "2026-08-06T16:03:32Z", "hours": 1.1833, "text": "Updated the demo website to include the wavenet model, and the new self-attention shakespear model. You can check it out here ."}, {"post_id": 41371, "ts": "2026-08-05T15:22:03Z", "hours": 1.2797, "text": "I finished training it! It finished with a val loss of around 1.76, it got down to 1.73 but ticked up at the end. The output is pretty good, but not substantially better than the wavenet model. However, it’s vaguely word-like, and took 20 hours to train so I’m not sure how much larger I can make the model before my laptop implodes. Next I will probably try to find a question-answer training dataset, so that I can start training it to answer questions. This step that I’ve been working on is the pre-training step, where I teach the model to basically spit out documents. Next, I have to have it spit out documents that happen to be question-answer documents."}, {"post_id": 41078, "ts": "2026-08-05T01:14:23Z", "hours": 9.7053, "text": "I made a bunch of tiny improvements. I didn’t change the architecture at all, but I did change the optimizer to AdamW. The optimizer is what controls how much each parameter is changed each epoch. Before, I was using a set learning rate, of about .1 for the first 80% of training then decreasing to .01 for the last 20%. Decreasing it at the end is important because as the loss settles into a local minimum, it might not be able to go to the lowest point because it keeps overshooting it since the lr is too high. Conversely, we can’t keep the lr too small the whole time because it might settle into a very tiny local minima that it might have been able to go over with a higher learning rate. It would also take forever. AdamW helps improve the optimizing step by changing the learning rate per parameter, helping the model train as fast as possible without overfitting. Overfitting isn’t really an issue I’m worrying about since my model is pretty small (around 56k params), so it’s not really large enough to learn the ins and outs of my dataset. Anyway I also changed the logging step, so it now logs validation dataset loss in addition to the training dataset loss. I split the dataset into train and validation so I can make sure it’s not overfitting. Currently the val loss is at 1.76, which is a lot better than where we were at before, which makes me hopeful. Training has around another 7,000 epochs to go, but Stardance is yelling at me I should write another devlog now so here you go, Stardance. I’m looking forward to sampling the model and seeing how much it’s improved!"}, {"post_id": 38899, "ts": "2026-08-01T14:11:19Z", "hours": 8.9297, "text": "I implemented self attention! I will try to explain here, but will do a terrible job: basically, what that is, is it lets the model decide what tokens in the input are more important than the others. The first thing I did was scrap the wavenet model, and switched to a simple bigram model. The second thing I implemented was bag of words, which edits the input tokens so every element is the average of that element and all that came before it. This lets all of the tokens “talk” to eachother. This is all fine and dandy but since all the things are averaged then you don’t know where things came from, and positional data is lost, so we lose a lot of resolution and data, so that sucks. So we have to encode positional data. So instead of just averaging all the elements that came before, we expand each averaged element into a list, which has all the elements in a row instead of averaging them into one number. So the first row could be [1, 0, 0] and the second [1, 2, 0] and the third [1, 2, 3], etc. We do this by masking it with the tril function, from numpy (very cool). But this is problematic, because all of the elements are given the exact same weight. A letter 34 characters back gets the same weight as the last character in the input (which is the letter immediately preceding the predicted letter, the output). To fix this, we add self attention! This is modeled after the groundbreaking paper Attention is All You Need, which started the whole AI hype thing. How it works is each token has a linear layer (that multiplies it by learned weights) called the key, and another called the query. The query is kind of like what that token is looking for, and the key is kind of like what that token has. And these can be multiplied with the keys and queries of all the other tokens, and that lets you know which token has the stuff that the most other tokens are looking for, and is thus more important and can be given more weight. That is a single head of attention, there are multiple heads that can specialize in different things. This, in theory, should increase performance. But it also drastically increases the amount of time it takes to train. The model only has ~56k parameters, which is less than half of the wavenet model, but takes a lot more time to do it’s thing. This is the output from the results of more than 13 hours of training. As you can see from the loss function, the loss was decreasing at a steady rate, so more training could probably improve it. Plus, this was at a highish learning rate the whole time (.1) so decreasing it would probably further improve it. But I can’t do anything on my computer while this is training or it runs out of RAM, and I have to use my computer now, so I will be moving on for now."}, {"post_id": 34926, "ts": "2026-07-26T01:22:29Z", "hours": 6.5472, "text": "I increased the block size from 8 characters to 64. This means that instead of the model taking in the previous 8 characters and outputting the next one, it takes in the previous 64 characters and outputs the next. This means that it should be able to keep track of longer words so it doesn’t get lost in them. However, it doesn’t seem to be improving the model too much, although that might be because I haven’t trained it as much as the others. I’ve done roughly 200,000 epochs, which took a long time, since this model is much larger (110,415 parameters vs 45,000), and has 6 hidden layers as apposed to 2, which means it is a lot slower. As you can see in the loss graph, it probably could make further gains, although it seems to be mostly good."}, {"post_id": 33555, "ts": "2026-07-23T16:18:09Z", "hours": 1.5631, "text": "Trained the wavenet architecture on a file with just shakespear in it. It’s got the structure down well, and sometimes can do words and wordlike outputs, but generally spouts straight gibberish. I will try to follow a lecture to build a better Tokenizer and Transformer next time. Right now each character is treated as a token, and embedded into 10 dimensions, it would be better if pairs of characters were treated as tokens and embedded. Increasing the context size could also help, it’s currently an input of the previous 8 characters and outputting 1. This is it’s output:"}, {"post_id": 32988, "ts": "2026-07-22T14:44:00Z", "hours": 8.5858, "text": "Implemented the wavenet architecture. Usually, during the flattening phase, the tensor goes from the shape (batch num, block size, embedding dimensions) to (batch num, block size * embedding dimensions). This squishes all of the embedded characters into one dimension. Wavenet does that more gradually, it slowly merges the different letters. So the first two letter embeddings get squished into one, then the next two, etc, and in the next layer then you have the first 4, then the next four, until by the final layer you have just one group of all the letters, which is the same as the original method, just a much more gradual approach. The first image is the training loss, the huge cliff is when the learning rate decreased. The second image is a visualization of the wavenet architecture from the paper. You can see that in each layer, nearby groups of input get merged together. In the original method, the graph would look like all of the inputs going to the 1st dot in the hidden layer, then continuing up. Next I will be actually building a GPT instead of this names project."}, {"post_id": 32125, "ts": "2026-07-21T02:19:34Z", "hours": 6.8089, "text": "I did a bunch of things to prep for implementing a wavenet architecture, which basically changes the model so instead of taking in all the characters of input at once and squishing them all into the first layer, it gradually puts them in at each separate layer. First, I put more stuff in classes! This didn’t really change the functionality, but instead of embedding the characters and flattening the model in separate chunks, I put them in their own classes so they can get put in the list of layers, and we can just run the input through each layer in the list, and compare it with the target at the end, instead of having half the layers in the list and half as separate chunks, which is a lot smoother. So the entire model is just: model = Sequential ([ Embedding ( vocab_size , n_embd ), FlattenConsecutive ( 2 ), Linear ( n_embd * 2 , n_hidden , bias = False ), BatchNorm1D ( n_hidden ), Tanh (), FlattenConsecutive ( 2 ), Linear ( n_hidden * 2 , n_hidden , bias = False ), BatchNorm1D ( n_hidden ), Tanh (), FlattenConsecutive ( 2 ), Linear ( n_hidden * 2 , n_hidden , bias = False ), BatchNorm1D ( n_hidden ), Tanh (), Linear ( n_hidden , vocab_size ), ]) Which I think is really cool. I also improved the loss graph, previously it looked like the screenshot on the right, because each iteration’s loss is graphed. Because our batch size is 32, which means in each iteration we look at just 32 inputs/output, a good deal of what the loss will be depends on how lucky we are with the input/output. Over a great number of iterations, it averages out into the correct value, though, so to fix the graph, we instead plot the average of every 1000 iterations, which lets us see a lot more detail that otherwise would be lost in the noise (the two loss graphs I added are not of the same model, but you get the idea). Anyway now I’m going to actually implement the wavenet architecture!"}, {"post_id": 29913, "ts": "2026-07-17T02:41:08Z", "hours": 3.23, "text": "I followed Karpathy’s lecture on backpropagation, where he implemented backpropagation manually. In the series, he’s using Pytorch, which does it for you, which is why he’s doing it manually. I’m not using Pytorch, so the only way to do it is to do it manually, so I didn’t get to add too much to the code, I just verified that I had implemented it correctly and learned a bunch. It is still pretty confusing though, and I couldn’t solve any of the exercises in the lecture without watching his explanations. Anyway here’s a name it generated that I think is pretty cool."}, {"post_id": 29276, "ts": "2026-07-16T02:51:51Z", "hours": 0.7719, "text": "Added a demo page! You can check it out here: https://luchik28.github.io/BadGPT/ . I saved the model weights, built a script that reconstructs the model using those weights, and hosted it using github pages."}, {"post_id": 29257, "ts": "2026-07-16T01:45:50Z", "hours": 3.1169, "text": "Put my model into the Layer class, so I can easily create lots of layers. The graph shows the activation distribution by layer. Each layer is pretty similar, as you can see. This devlog marks the end of the fourth lecture in Andrej Karpathy’s makemore series, out of 7, so we’re getting there! That’s just under 8 hours or lecture watched (so I spend roughly 5 minutes coding for every minute of lecture watched). Pretty interesting."}, {"post_id": 25900, "ts": "2026-07-10T12:09:18Z", "hours": 13.8508, "text": "I was playing around with how changing the number of epochs/other variable affected the output, and seeing how that differed to before I implemented Batch normalization, and so tried to put the epochs up a lot. I ended up training it for 20,000,000 epochs, which took like 8 hours, which is why this devlog has so much time logged. It didn’t really improve it much, you can see by the loss graph it didn’t go down very much at all, so I’ll need to change something in how the code works. It was still fun though."}, {"post_id": 24311, "ts": "2026-07-07T20:05:56Z", "hours": 2.4747, "text": "I worked on switching to a Jupyter notebook instead of just a python file, this made it easier since I didn’t have to constantly retrain the model, and also could print out stuff in line. I also added batch normalization, which helps change the range (really the standard deviation) of the values before going into the activation function (tanh) so that the values are more spread out. tanh squishes all values between -1 and 1, so if all of the numbers are greater than 1 or less than -1, then all of the values will essentially be squished to either -1 or 1, which makes the model lose a lot of the data. But if you divide all the numbers so that they are all closer to 0, then the activation function is a lot more spread out and the data is preserved. (I got the photo from google, I think it’s helpful when visualizing it)."}, {"post_id": 20360, "ts": "2026-07-01T22:48:01Z", "hours": 1.0503, "text": "I made a bunch of little improvements, including increasing the character encodings to 10 dimensions up from 2, increasing the epochs to 200,000, and also decreasing the learning rate from .1 to .01 for the laster 50,000 epochs. Although the loss is significantly lower than Andrej Karpathy’s makemore (which I modeled my model after), it’s names are worse. Karpathy got 2.17 ish on the testing dataset, while I got 1.776. However, Karpathy’s generated slightly abnormal but reasonably word-like names, like “jeron” and “ham” while mine where a little more random (“xxxhorlis” is one of them). I’m not sure how to improve from here, I don’t think increasing the epochs will do much, it already took around 10 minutes to train this model, I think we’ll get diminishing returns. I will, as always, continue on to the next video in Karpathy’s series, hoping that his tips will help improve it."}, {"post_id": 17855, "ts": "2026-06-28T19:57:08Z", "hours": 2.8889, "text": "I tuned the learning rate (The magnitude of how much it changes the weights, which is multiplied by the gradient of each weight to get the final change), added better printouts when training (Added a neat progress bar/tracking, output the loss, and a timer), and also using plotmatlib to plot the embeddings. The graph is how the model arranged each letter in space. What’s interesting is similar letters (like the ending character “.” and “e”, which both are commonly found near the end of the word) are in similar spots, so the model has sorted out some sort of meaning from their placements, which I think is pretty cool. The names are still quite nonsensicle, I think I might have to enlarge the model a little bit to improve performance, which means waiting longer for it to train :("}, {"post_id": 15817, "ts": "2026-06-25T18:20:16Z", "hours": 5.8631, "text": "I improved my model based off of Kerpathy’s makeMore part two tutorial and a 2003 paper by bengio et al (link is https://jmlr.org/papers/volume3/tmp/bengio03a.pdf ), it was really interesting. I increased the input size, so it takes in the previous 3 letters as an input instead of 1, and encoded each letter in a two dimensions instead of one hot encoding. I also had to start using numPy due to needing to do efficient matrix multiplication (numPy does it in C in a heavily optimized fashion, I considered trying to do this but decided it was out of the scope of the project). Doing it in just python would be way too slow. I also optimized it a little bit, having it select 32 examples randomly from the data set for each epoch, instead of just using the whole thing, which made it a lot faster while still training over the whole set. Hopefully this will make it produce more accurate results!"}, {"post_id": 12206, "ts": "2026-06-19T22:30:34Z", "hours": 1.1233, "text": "I finally got it to generate some names! They are sampled below. I watched the first half of Andrej Karpathy’s makemore video, and built a 2D array of the number of each instance of a letter following another instance. Then, when generating the name, it takes an array of the number of times in the training set each letter followed the previous letter in the name, multiplies that number by a random number 0 to 1, and chooses the highest number as the next letter in the name. This doesn’t work too well, as shown below, so I will spend some time improving, but it’s a start! Some names it generated are sampled below."}, {"post_id": 11053, "ts": "2026-06-18T02:41:06Z", "hours": 5.3719, "text": "Having completed the MLP I described in my last devlog, I set out to try to follow the next tutorial in the list I found. However, after I listened to the description of it, which is basically just a model that can take in a database of words and produce more words that sound similar, I foolishly believed I could try to build something similar without following the tutorial. I did take the database of names from the tutorial, since I will need those to train the model. I started by transforming the inputs (the previous letter in the word) into numbers, and then the output (a number) back into a letter. My first attempt just put in the ASCII code for the letter, and the rounded down output number. The first issue was I used the entire database to train, which took forever and quickly hit the maximum recursion depth, so I switched to using only the first 500 examples (using the entire database, combined with super high differences between the output and the expected output resulted in the initial loss being 1,934,198,245, compared to a loss of like 4 when just testing my MLP). After that, I got it to actually finish training without crashing, however, the loss didn’t go down, and it always outputted a null character. I realized I had been really stupid, as the tanh function at the end of every neuron in the MLP shrinks the result between -1 and 1, so the result could only ever be the ASCII codes 0 or 1, which are null. So instead, I changed it so instead of outputting the ASCII code directly, it outputs a 27 long array, each index representing a letter (and the last representing end of name), each value at an index represents the probability of that letter being chosen, so to decode the results it just has to find the highest probability, check that it’s not the last element, and add 97 to it’s index to get the ASCII codes (because the letter “a” is at 97, so if it’s index 0 and meant to be “a” it has to adjust). This led it to actually output letters, but it always outputted the same letter, as shown in the screenshot. The loss dropped rapidly and then plateaued at around 2000. I found some bugs (gradient accumilating over time instead of resetting each epoch) and made some changes (instead of inputting an ASCII code, it inputs in the same format as the output), but nothing had any effect. After thinking, I realized that the model is just picking the most common letter, and always outputting it. That’s why the loss can’t get any lower than 2000, because that’s the limit of how good this strategy can get. However, I have no idea how to fix this issue, and somehow teach the model the meaning behind the letters, so I will accept defeat and watch the tutorial, then implement what I learned."}, {"post_id": 9520, "ts": "2026-06-15T21:49:01Z", "hours": 4.8256, "text": "I implemented an MLP, I watched the entire Micrograd explanation by Andrej Karpathy, which was really interesting. I followed along, and played around with tuning my model (that does absolutely nothing useful) to predict stuff better. It has Value objects, which store the data, as well as gradients, and the operation/previous numbers used to create them, as well as all the operations. This can be used to calculate the gradient (or how much each Value object affected the last Value in the chain of operations), which is basically all you need for backpropogation (which is where it goes back and calculates how much each weight/bias affects the final output). It also has classes for each neuron, which is a collection of Values that act as the inputs, the weights (which are randomly generated at the start), and the bias for that nueron. These neurons make up layers, and the layers make up the MLP (multilayer perceptron). I created a couple arrays of inputs, and the desired output, which has the output for each input array. To train it, you have the model predict something, then calculate the loss (or the sum of how far away each prediction was squared), then do the backpropogation (go through each parameter, or each weight and bias), find out how much and in what direction it affected the loss function, and finally change each parameter slightly so it moves the loss in the right direction. As you can see in the screenshot, I got it down pretty low. This will be useful because when I am training my LLM, I will need to use a neural network like this, and get the loss down as low as possible so it predicts better words and produces better results. Karpathy’s video is at https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ&index=2 , it’s really quite amazing, I learned so much from it, and I haven’t even learned Calculus yet, which he states is a prerequisite in the description, I highly recommend if you’re interested. Next I will need to work on implementing transformers (which takes in the input (words), and derives meaning from them by encoding them into a vector)."}]...
|
Title: BadGPT by @28taidan | Stardance
Devlogs:
I Title: BadGPT by @28taidan | Stardance
Devlogs:
I implemented an MLP, I watched the entire Micrograd explanation by Andrej Karpathy, which was really interesting. I followed along, and played around with tuning my model (that does absolutely nothing useful) to predict stuff better. It has Value objects, which store the data, as well as gradients, and the operation/previous numbers used to create them, as well as all the operations. This can be used to calculate the gradient (or how much each Value object affected the last Value in the chain of operations), which is basically all you need for backpropogation (which is where it goes back and calculates how much each weight/bias affects the final output). It also has classes for each neuron, which is a collection of Values that act as the inputs, the weights (which are randomly generated at the start), and the bias for that nueron. These neurons make up layers, and the layers make up the MLP (multilayer perceptron). I created a couple arrays of inputs, and the desired output, which has the output for each input array. To train it, you have the model predict something, then calculate the loss (or the sum of how far away each prediction was squared), then do the backpropogation (go through each parameter, or each weight and bias), find out how much and in what direction it affected the loss function, and finally change each parameter slightly so it moves the loss in the right direction. As you can see in the screenshot, I got it down pretty low. This will be useful because when I am training my LLM, I will need to use a neural network like this, and get the loss down as low as possible so it predicts better words and produces better results. Karpathy’s video is at https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ&index=2 , it’s really quite amazing, I learned so much from it, and I haven’t even learned Calculus yet, which he states is a prerequisite in the description, I highly recommend if you’re interested. Next I will need to work on implementing transformers (which takes in the input (words), and derives meaning from them by encoding them into a vector).
Having completed the MLP I described in my last devlog, I set out to try to follow the next tutorial in the list I found. However, after I listened to the description of it, which is basically just a model that can take in a database of words and produce more words that sound similar, I foolishly believed I could try to build something similar without following the tutorial. I did take the database of names from the tutorial, since I will need those to train the model. I started by transforming the inputs (the previous letter in the word) into numbers, and then the output (a number) back into a letter. My first attempt just put in the ASCII code for the letter, and the rounded down output number. The first issue was I used the entire database to train, which took forever and quickly hit the maximum recursion depth, so I switched to using only the first 500 examples (using the entire database, combined with super high differences between the output and the expected output resulted in the initial loss being 1,934,198,245, compared to a loss of like 4 when just testing my MLP). After that, I got it to actually finish training without crashing, however, the loss didn’t go down, and it always outputted a null character. I realized I had been really stupid, as the tanh function at the end of every neuron in the MLP shrinks the result between -1 and 1, so the result could only ever be the ASCII codes 0 or 1, which are null. So instead, I changed it so instead of outputting the ASCII code directly, it outputs a 27 long array, each index representing a letter (and the last representing end of name), each value at an index represents the probability of that letter being chosen, so to decode the results it just has to find the highest probability, check that it’s not the last element, and add 97 to it’s index to get the ASCII codes (because the letter “a” is at 97, so if it’s index 0 and meant to be “a” it has to adjust). This led it to actually output letters, but it always outputted the same letter, as shown in the screenshot. The loss dropped rapidly and then plateaued at around 2000. I found some bugs (gradient accumilating over time instead of resetting each epoch) and made some changes (instead of inputting an ASCII code, it inputs in the same format as the output), but nothing had any effect. After thinking, I realized that the model is just picking the most common letter, and always outputting it. That’s why the loss can’t get any lower than 2000, because that’s the limit of how good this strategy can get. However, I have no idea how to fix this issue, and somehow teach the model the meaning behind the letters, so I will accept defeat and watch the tutorial, then implement what I learned.
I finally got it to generate some names! They are sampled below. I watched the first half of Andrej Karpathy’s makemore video, and built a 2D array of the number of each instance of a letter following another instance. Then, when generating the name, it takes an array of the number of times in the training set each letter followed the previous letter in the name, multiplies that number by a random number 0 to 1, and chooses the highest number as the next letter in the name. This doesn’t work too well, as shown below, so I will spend some time improving, but it’s a start! Some names it generated are sampled below.
I improved my model based off of Kerpathy’s makeMore part two tutorial and a 2003 paper by bengio et al (link is https://jmlr.org/papers/volume3/tmp/bengio03a.pdf ), it was really interesting. I increased the input size, so it takes in the previous 3 letters as an input instead of 1, and encoded each letter in a two dimensions instead of one hot encoding. I also had to start using numPy due to needing to do efficient matrix multiplication (numPy does it in C in a heavily optimized fashion, I considered trying to do this but decided it was out of the scope of the project). Doing it in just python would be way too slow. I also optimized it a little bit, having it select 32 examples randomly from the data set for each epoch, instead of just using the whole thing, which made it a lot faster while still training over the whole set. Hopefully this will make it produce more accurate results!
I tuned the learning rate (The magnitude of how much it changes the weights, which is multiplied by the gradient of each weight to get the final change), added better printouts when training (Added a neat progress bar/tracking, output the loss, and a timer), and also using plotmatlib to plot the embeddings. The graph is how the model arranged each letter in space. What’s interesting is similar letters (like the ending character “.” and “e”, which both are commonly found near the end of the word) are in similar spots, so the model has sorted out some sort of meaning from their placements, which I think is pretty cool. The names are still quite nonsensicle, I think I might have to enlarge the model a little bit to improve performance, which means waiting longer for it to train :(
I made a bunch of little improvements, including increasing the character encodings to 10 dimensions up from 2, increasing the epochs to 200,000, and also decreasing the learning rate from .1 to .01 for the laster 50,000 epochs. Although the loss is significantly lower than Andrej Karpathy’s makemore (which I modeled my model after), it’s names are worse. Karpathy got 2.17 ish on the testing dataset, while I got 1.776. However, Karpathy’s generated slightly abnormal but reasonably word-like names, like “jeron” and “ham” while mine where a little more random (“xxxhorlis” is one of them). I’m not sure how to improve from here, I don’t think increasing the epochs will do much, it already took around 10 minutes to train this model, I think we’ll get diminishing returns. I will, as always, continue on to the next video in Karpathy’s series, hoping that his tips will help improve it.
I worked on switching to a Jupyter notebook instead of just a python file, this made it easier since I didn’t have to constantly retrain the model, and also could print out stuff in line. I also added batch normalization, which helps change the range (really the standard deviation) of the values before going into the activation function (tanh) so that the values are more spread out. tanh squishes all values between -1 and 1, so if all of the numbers are greater than 1 or less than -1, then all of the values will essentially be squished to either -1 or 1, which makes the model lose a lot of the data. But if you divide all the numbers so that they are all closer to 0, then the activation function is a lot more spread out and the data is preserved. (I got the photo from google, I think it’s helpful when visualizing it).
I was playing around with how changing the number of epochs/other variable affected the output, and seeing how that differed to before I implemented Batch normalization, and so tried to put the epochs up a lot. I ended up training it for 20,000,000 epochs, which took like 8 hours, which is why this devlog has so much time logged. It didn’t really improve it much, you can see by the loss graph it didn’t go down very much at all, so I’ll need to change something in how the code works. It was still fun though.
Put my model into the Layer class, so I can easily create lots of layers. The graph shows the activation distribution by layer. Each layer is pretty similar, as you can see. This devlog marks the end of the fourth lecture in Andrej Karpathy’s makemore series, out of 7, so we’re getting there! That’s just under 8 hours or lecture watched (so I spend roughly 5 minutes coding for every minute of lecture watched). Pretty interesting.
Added a demo page! You can check it out here: https://luchik28.github.io/BadGPT/ . I saved the model weights, built a script that reconstructs the model using those weights, and hosted it using github pages.
I followed Karpathy’s lecture on backpropagation, where he implemented backpropagation manually. In the series, he’s using Pytorch, which does it for you, which is why he’s doing it manually. I’m not using Pytorch, so the only way to do it is to do it manually, so I didn’t get to add too much to the code, I just verified that I had implemented it correctly and learned a bunch. It is still pretty confusing though, and I couldn’t solve any of the exercises in the lecture without watching his explanations. Anyway here’s a name it generated that I think is pretty cool.
I did a bunch of things to prep for implementing a wavenet architecture, which basically changes the model so instead of taking in all the characters of input at once and squishing them all into the first layer, it gradually puts them in at each separate layer. First, I put more stuff in classes! This didn’t really change the functionality, but instead of embedding the characters and flattening the model in separate chunks, I put them in their own classes so they can get put in the list of layers, and we can just run the input through each layer in the list, and compare it with the target at the end, instead of having half the layers in the list and half as separate chunks, which is a lot smoother. So the entire model is just: model = Sequential ([ Embedding ( vocab_size , n_embd ), FlattenConsecutive ( 2 ), Linear ( n_embd * 2 , n_hidden , bias = False ), BatchNorm1D ( n_hidden ), Tanh (), FlattenConsecutive ( 2 ), Linear ( n_hidden * 2 , n_hidden , bias = False ), BatchNorm1D ( n_hidden ), Tanh (), FlattenConsecutive ( 2 ), Linear ( n_hidden * 2 , n_hidden , bias = False ), BatchNorm1D ( n_hidden ), Tanh (), Linear ( n_hidden , vocab_size ), ]) Which I think is really cool. I also improved the loss graph, previously it looked like the screenshot on the right, because each iteration’s loss is graphed. Because our batch size is 32, which means in each iteration we look at just 32 inputs/output, a good deal of what the loss will be depends on how lucky we are with the input/output. Over a great number of iterations, it averages out into the correct value, though, so to fix the graph, we instead plot the average of every 1000 iterations, which lets us see a lot more detail that otherwise would be lost in the noise (the two loss graphs I added are not of the same model, but you get the idea). Anyway now I’m going to actually implement the wavenet architecture!
Implemented the wavenet architecture. Usually, during the flattening phase, the tensor goes from the shape (batch num, block size, embedding dimensions) to (batch num, block size * embedding dimensions). This squishes all of the embedded characters into one dimension. Wavenet does that more gradually, it slowly merges the different letters. So the first two letter embeddings get squished into one, then the next two, etc, and in the next layer then you have the first 4, then the next four, until by the final layer you have just one group of all the letters, which is the same as the original method, just a much more gradual approach. The first image is the training loss, the huge cliff is when the learning rate decreased. The second image is a visualization of the wavenet architecture from the paper. You can see that in each layer, nearby groups of input get merged together. In the original method, the graph would look like all of the inputs going to the 1st dot in the hidden layer, then continuing up. Next I will be actually building a GPT instead of this names project.
Trained the wavenet architecture on a file with just shakespear in it. It’s got the structure down well, and sometimes can do words and wordlike outputs, but generally spouts straight gibberish. I will try to follow a lecture to build a better Tokenizer and Transformer next time. Right now each character is treated as a token, and embedded into 10 dimensions, it would be better if pairs of characters were treated as tokens and embedded. Increasing the context size could also help, it’s currently an input of the previous 8 characters and outputting 1. This is it’s output:
I increased the block size from 8 characters to 64. This means that instead of the model taking in the previous 8 characters and outputting the next one, it takes in the previous 64 characters and outputs the next. This means that it should be able to keep track of longer words so it doesn’t get lost in them. However, it doesn’t seem to be improving the model too much, although that might be because I haven’t trained it as much as the others. I’ve done roughly 200,000 epochs, which took a long time, since this model is much larger (110,415 parameters vs 45,000), and has 6 hidden layers as apposed to 2, which means it is a lot slower. As you can see in the loss graph, it probably could make further gains, although it seems to be mostly good.
I implemented self attention! I will try to explain here, but will do a terrible job: basically, what that is, is it lets the model decide what tokens in the input are more important than the others. The first thing I did was scrap the wavenet model, and switched to a simple bigram model. The second thing I implemented was bag of words, which edits the input tokens so every element is the average of that element and all that came before it. This lets all of the tokens “talk” to eachother. This is all fine and dandy but since all the things are averaged then you don’t know where things came from, and positional data is lost, so we lose a lot of resolution and data, so that sucks. So we have to encode positional data. So instead of just averaging all the elements that came before, we expand each averaged element into a list, which has all the elements in a row instead of averaging them into one number. So the first row could be [1, 0, 0] and the second [1, 2, 0] and the third [1, 2, 3], etc. We do this by masking it with the tril function, from numpy (very cool). But this is problematic, because all of the elements are given the exact same weight. A letter 34 characters back gets the same weight as the last character in the input (which is the letter immediately preceding the predicted letter, the output). To fix this, we add self attention! This is modeled after the groundbreaking paper Attention is All You Need, which started the whole AI hype thing. How it works is each token has a linear layer (that multiplies it by learned weights) called the key, and another called the query. The query is kind of like what that token is looking for, and the key is kind of like what that token has. And these can be multiplied with the keys and queries of all the other tokens, and that lets you know which token has the stuff that the most other tokens are looking for, and is thus more important and can be given more weight. That is a single head of attention, there are multiple heads that can specialize in different things. This, in theory, should increase performance. But it also drastically increases the amount of time it takes to train. The model only has ~56k parameters, which is less than half of the wavenet model, but takes a lot more time to do it’s thing. This is the output from the results of more than 13 hours of training. As you can see from the loss function, the loss was decreasing at a steady rate, so more training could probably improve it. Plus, this was at a highish learning rate the whole time (.1) so decreasing it would probably further improve it. But I can’t do anything on my computer while this is training or it runs out of RAM, and I have to use my computer now, so I will be moving on for now.
I made a bunch of tiny improvements. I didn’t change the architecture at all, but I did change the optimizer to AdamW. The optimizer is what controls how much each parameter is changed each epoch. Before, I was using a set learning rate, of about .1 for the first 80% of training then decreasing to .01 for the last 20%. Decreasing it at the end is important because as the loss settles into a local minimum, it might not be able to go to the lowest point because it keeps overshooting it since the lr is too high. Conversely, we can’t keep the lr too small the whole time because it might settle into a very tiny local minima that it might have been able to go over with a higher learning rate. It would also take forever. AdamW helps improve the optimizing step by changing the learning rate per parameter, helping the model train as fast as possible without overfitting. Overfitting isn’t really an issue I’m worrying about since my model is pretty small (around 56k params), so it’s not really large enough to learn the ins and outs of my dataset. Anyway I also changed the logging step, so it now logs validation dataset loss in addition to the training dataset loss. I split the dataset into train and validation so I can make sure it’s not overfitting. Currently the val loss is at 1.76, which is a lot better than where we were at before, which makes me hopeful. Training has around another 7,000 epochs to go, but Stardance is yelling at me I should write another devlog now so here you go, Stardance. I’m looking forward to sampling the model and seeing how much it’s improved!
I finished training it! It finished with a val loss of around 1.76, it got down to 1.73 but ticked up at the end. The output is pretty good, but not substantially better than the wavenet model. However, it’s vaguely word-like, and took 20 hours to train so I’m not sure how much larger I can make the model before my laptop implodes. Next I will probably try to find a question-answer training dataset, so that I can start training it to answer questions. This step that I’ve been working on is the pre-training step, where I teach the model to basically spit out documents. Next, I have to have it spit out documents that happen to be question-answer documents.
Updated the demo website to include the wavenet model, and the new self-attention shakespear model. You can check it out here .
Started working on a more advanced tokenizer. The tokenizer is what splits the input text from words into numbers, and back again. Before, I was using a 10 dimensional embedding, where each letter is represented by a 10 long array (each value representing a dimension). But current models have much more advanced tokenizers, which often encompass entire words, or parts of words for longer words. This works using Byte Pair Encoding, which turns all of the letters pairs of letters into their utf encodings (usually 8), then iteratively merging the most common consecutive pairs into tokens to add to the vocabulary. You can see how tokenizers work at https://tiktokenizer.vercel.app/ , which is a cool website that lets you play around with stuff like that.
Switched to using the fineweb edu dataset, instead of shakespear. This is the dataset I will use to train my actual model on. It’s a highly currated database of the internet, and is similar to what GPT2 was trained on (although the actual db they trained it on is closed source). I also reformated the sampling system so you can put in a query and get a response, as long as the query takes up less tokens than the context. Other than swapping out the training file, it’s the exact same. Next, I will probably implement a special ending token to my tokenizer, and also increase the scale of my model a little bit. I can’t increase it all the way to what Karpathy does in his tutorial (he uses cloud computing, so he paid to rent out like 8 64GB GPUs, or something like that), since I don’t want to spend money training it. However I think I can squeeze a little more out of my laptop.
Added an EOS ID, which is a special token that the model can output to indicate that it’s done. I built a script to insert this in between passages in the training data, so it can learn when it should shut up (otherwise it will yap forever, until it hits the max number of output tokens). This meant I had to retrain the entire model, but got it down to a loss of around 3.46. Obviously, it’s not very good. But I’m pretty sure the only way to improve is to scale up the model size and training time, something I don’t really have the capacity to do (this model trained for 15 hours on my laptop). I will probably continue by adding this model to my demo website, and build a chatGPT like UI, just for fun. After that, I think it might be time to ship!
Trained the model a little more, exported it, wrote some UI to make it look more like a chatbot. It still sounds like gibberish. Sometimes I imagine that it’s output changes slightly depending on the context (for example, more numbers if I ask it a number related question, and a list if I ask it for a list, etc), but I’m probably just imagining it, it’s really just gibberish. Still kinda cool tho. You can check out the demo at https://luchik28.github.io/BadGPT/ .
Fixed up the readme a bit in preparation to ship. Specifically, I added info on what all the files do, but I named them poorly and then forgot what most of them do so it’s kind of confusing.
Ships:
badGPT is a conglomeration of sequential ML projects I did this summer, culminating in a chatbot like ChatGPT or Claude built from scratch using just python and numpy. I started off by building a name generation model, then a Shakespeare writing model, then finally a chatGPT-esque model. The model produces, for the most part, complete gibberish, so this was less a practical project and more an exercise in understanding how everything works. It performs so poorly because it’s so small. Models need a lot of parameters to be able to capture all the nuances required to produce coherent text, which makes the models much slower to train. The final model I made includes around 120,000 parameters, 4 transformer blocks of 4 attention heads each, and 64 tokens of context. It’s based largely on GPT-2, which for reference had about 1.5 billion parameters. Current frontier models, like Anthropic’s fable, have trillions of parameters and can have millions of input tokens, so it makes sense that my model is too small to make much sense at all. Even at its small size, it took my laptop more than 20 hours to train, so scaling up with my current hardware is not feasible. Many people like using libraries like pytorch and tensorflow, which include classes that handle backpropagation (the system that’s at the heart of letting the models learn), but I wanted to start from scratch so I wrote my own. If you wish to try any of my models out, you can visit the demo website (click try project), and click through the tabs to see each of the models. It all runs in your browser. You can also look through the Jupyter notebooks in the Github repository to get a sense of how everything works....
|
1792875233.3266373
|
1793739233.3266373
|
|
19167
|
Custom Stardance API by @The_Craw | Stardance
|
The_Craw
|
1
|
4.33
|
36
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T12:47:45Z", "hours": 4.0, "multiplier": 9.67, "payout": 36, "blessing": "neutral", "text": "Stardance API is my own attempt at making Stardance Projects queryable. Because the official Stardance API isn’t released yet, this serves as a bridge between that and no API at all.", "repo": "https://github.com/Jonah-Crawford/Stardance-API", "demo": "https://stardance-api.ultimatecraw.xyz/docs"}]...
|
[{"post_id": 45045, "ts": "202 [{"post_id": 45045, "ts": "2026-08-11T09:07:07Z", "hours": 0.3306, "text": "I’m back from camping! (RIP my 60+ day streak) My plans going forward immediately is improving program counter modifications to allow for higher-level concepts to be bootstrapped onto Crawssembly instruction sets. (Image unrelated)"}, {"post_id": 9877, "ts": "2026-06-16T10:56:13Z", "hours": 1.5172, "text": "Finished the quirks, history now works properly."}, {"post_id": 9288, "ts": "2026-06-15T16:20:54Z", "hours": 0.5208, "text": "Added a history marker. Every pass will add to a history logger, so data over time can be tracked"}, {"post_id": 9267, "ts": "2026-06-15T15:42:44Z", "hours": 0.9881, "text": "The database now scrapes stardance every 6 hours"}, {"post_id": 9230, "ts": "2026-06-15T14:37:39Z", "hours": 0.6647, "text": "Barebones FastAPI website made for SDAPI"}]...
|
Title: Custom Stardance API by @The_Craw | Stardan Title: Custom Stardance API by @The_Craw | Stardance
Devlogs:
Barebones FastAPI website made for SDAPI
The database now scrapes stardance every 6 hours
Added a history marker. Every pass will add to a history logger, so data over time can be tracked
Finished the quirks, history now works properly.
I’m back from camping! (RIP my 60+ day streak) My plans going forward immediately is improving program counter modifications to allow for higher-level concepts to be bootstrapped onto Crawssembly instruction sets. (Image unrelated)
Ships:
Stardance API is my own attempt at making Stardance Projects queryable. Because the official Stardance API isn’t released yet, this serves as a bridge between that and no API at all....
|
1793220706.211313
|
1793307106.211313
|
|
19169
|
AirWrite Studio by @priyajitk | Stardance
|
priyajitk
|
1
|
4.7
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-21T14:46:28Z", "hours": 1.0, "multiplier": 1.86, "payout": 1, "blessing": "neutral", "text": "AirWrite Studio is a real-time, hands-free spatial drawing platform I built using Python, PyQt6, MediaPipe, OpenCV, and offline AI tooling. The idea behind the project was simple: I wanted to make digital whiteboarding and creative interaction feel more natural and frictionless without depending on expensive hardware like drawing tablets, styluses, or touchscreens. The application transforms a standard webcam into a gesture-controlled digital canvas where users can draw, erase, select, move, and manipulate content entirely through hand gestures and voice commands. Instead of adapting ourselves to traditional input devices, I wanted the interface to adapt to human movement. One of the biggest quality-of-life improvements is the completely hardware-free interaction system. Users can simply sit in front of a webcam and interact with the canvas naturally in mid-air. I also implemented smart geometry and OCR features that automatically clean up rough sketches into proper geometric shapes and convert handwritten strokes into editable text. During testing, this genuinely made brainstorming and diagramming feel much smoother because users didn’t have to waste time fixing messy sketches manually. Another major feature I’m proud of is the multimodal accessibility system. Alongside gesture controls, the project integrates offline voice commands using Vosk, allowing users to execute actions like “undo,” “clear,” or change colors without touching the keyboard or mouse. I wanted the experience to feel seamless and accessible, especially for presentations, teaching environments, and users who may struggle with traditional input devices. The hardest part of the project was making the interaction system feel stable and intentional. Human gestures are naturally inconsistent, and early prototypes constantly suffered from accidental triggers and jittery movement. A huge amount of time went into smoothing gesture input, tuning confidence thresholds, and implementing filters like the One Euro Filter so the controls would feel responsive without becoming chaotic. I also had to optimize performance carefully because the application simultaneously handles real-time computer vision inference, OpenGL rendering, OCR processing, gesture recognition, and UI updates. What I’m most proud of is how natural the final interaction feels. Gestures like pinching to draw, making a fist to erase, or pointing to lasso-select objects became surprisingly intuitive after enough iteration. I also spent a lot of time polishing the UI because I didn’t want the project to feel like a rough prototype. The interface takes inspiration from modern minimalist tools like Linear and Notion, with a restrained dark aesthetic that keeps the focus on the spatial interaction itself. The project can be tested using a standard webcam and a Python 3 environment. After cloning the repository and installing dependencies through pip install -r requirements.txt , the app can be launched using python main.py . Optional integrations include Tesseract for OCR functionality and Vosk with PyAudio for offline voice commands. Once the camera starts, users can interact entirely through gestures: Pinch thumb and index finger together to draw Make a fist to erase Point with the index finger to select objects Use multi-finger gestures to drag content Keep an open palm to remain in neutral mode There’s also a smart shape mode that automatically converts rough freehand sketches into clean geometry in real time, which ended up becoming one of my favorite parts of the entire project. Overall, AirWrite Studio was my attempt to explore what frictionless spatial computing could look like using only commodity hardware and open-source technologies. I wanted it to feel practical, accessible, and genuinely useful rather than just a flashy computer vision demo.", "repo": "https://github.com/pk2010-ux/AirWriteStudio", "demo": "https://github.com/pk2010-ux/AirWriteStudio/releases/tag/v1.0.0"}]...
|
[{"post_id": 30599, "ts": "202 [{"post_id": 30599, "ts": "2026-07-18T09:38:41Z", "hours": 2.4131, "text": "New Logo For AirWrite Studio Hi viewers! As you can see, i have added a new logo for the project. Please suggest any edits if you want!"}, {"post_id": 16977, "ts": "2026-06-27T15:44:25Z", "hours": 1.2839, "text": "Hello Everyone! I have been working on this project since two months, now. And finally with the help of the Hack Club Tester Team, I am Finally able to make a final release of this Project. I have also updated the demo link so that you all can now directly download a .exe file without any problem. At first you may see a warning as I have not bought a certificate for the .exe program but you can click on Run Anyway to use it. But if you still want a web one navigate here"}, {"post_id": 12020, "ts": "2026-06-19T16:39:25Z", "hours": 0.8261, "text": "AirWrite Studio — Devlog Overview AirWrite Studio is a hands-free digital canvas built with Python and PyQt6. It uses webcam-based hand tracking and gesture detection to let users draw, erase, select, and manipulate canvas content without a mouse or stylus. Current Status Core application structure is in place with main.py , UI modules, tracking modules, and canvas rendering. Hand gestures are detected and mapped to canvas actions through MediaPipe landmark tracking. Gesture control covers drawing, erasing, object selection, dragging, scaling, and neutral/stop states. Voice command support is planned via Vosk and the tracking/voice_commander.py module. The canvas supports export formats and workspace management via native file handling. Features Implemented Gesture-based drawing and erasing Shape recognition and smart geometry snapping Text conversion support using OCR integration pathways Grid templates and presentation-friendly laser/highlighter modes Undo/redo history architecture Clean dark UI layout using PyQt6 widgets and custom styling Project Structure main.py — Application entry point config.py , utils.py — configuration and helper utilities canvas/ — canvas engine, widgets, object rendering, serialization, shape recognition, export tracking/ — hand tracker, gesture detector, smoother, voice commander ui/ — main window, sidebar, camera widget, toast notifications, styles assets/ — model files, Vosk speech resources, hand landmarker task files Recent Work Built the main interactive canvas and stabilized gesture interactions. Added smart UI for tool selection and camera control. Integrated offline voice command support architecture with Vosk assets. Added documentation in README.md to describe features, installation, and usage. Created a web-based demo version using Flask and Hugging Face Spaces Docker deployment. Note: The web demo relies on server-side processing for MediaPipe gestures and may experience latency or glitchiness depending on the user’s hardware limitations, webcam quality, and network speed. Challenges Ensuring reliable hand detection across different lighting conditions and webcams. Mapping natural gestures into consistent canvas commands without accidental triggers. Keeping performance smooth for real-time drawing and gesture recognition. Handling network latency and server-side model processing for the web demo without native client-side binaries. Next Milestones Finalize gesture calibration and user feedback flow. Complete OCR text conversion and editable text object workflow. Add full export support for PNG, PDF, SVG, and native .air saves. Polish the UI, including toolbar behavior, status indicators, and onboarding hints. Add tests for canvas serialization and gesture classification. Notes for Future Development Add a requirements-dev.txt for development tooling, formatting, and testing. Consider adding a CHANGELOG.md or release notes for future version tracking. Keep venv/ and __pycache__/ ignored in source control, and preserve only source files and assets."}, {"post_id": 9227, "ts": "2026-06-15T14:33:11Z", "hours": 0.3142, "text": "AirWrite Studio - Devlog AirWrite Studio is a hands-free digital canvas built using Python, PyQt6, and MediaPipe. The idea behind the project is to allow users to draw, erase, select, and manipulate objects on a digital canvas entirely through hand gestures detected via a webcam. The core structure of the application is now functional. The project currently includes the main application window, canvas rendering system, tracking modules, UI components, and asset management. Real-time hand tracking is handled through MediaPipe landmark detection, which is then translated into different canvas actions. Several gesture interactions are already implemented. Users can draw using a thumb-and-index pinch gesture, erase using a fist gesture, select objects using a pointing gesture, and drag or scale objects using multi-finger gestures. An open palm acts as a neutral or stop state to reduce accidental interactions. A major focus during development has been making gesture controls feel natural and stable. Small hand movements, lighting changes, and different webcam qualities often create false triggers or unstable tracking, so additional smoothing and gesture filtering logic has been added to improve consistency during real-time interaction. The canvas system already supports freehand drawing, object movement, shape recognition, and undo/redo architecture. Smart shape snapping can detect rough circles, rectangles, triangles, and straight lines and convert them into cleaner geometry automatically. Additional drawing tools have also been added, including: highlighter mode laser pointer mode grid templates customizable pen settings dark themed UI styling The project also includes the architecture for OCR text conversion and offline voice command support. OCR integration pathways are connected for future editable text workflows, while the voice command system is being developed using Vosk through the tracking/voice_commander.py module. The repository is currently organized into separate modules for better maintainability: main.py handles application startup canvas/ contains rendering, serialization, export, and shape recognition systems tracking/ contains hand tracking, gesture detection, smoothing, and voice command modules ui/ contains interface components such as the sidebar, camera widget, and notifications assets/ stores speech models and hand tracking resources Recent development work focused on stabilizing gesture interactions, improving the canvas workflow, refining the UI layout, and integrating voice command resources. Documentation was also added through the README.md file to explain installation, features, and project usage. One of the biggest challenges so far has been balancing responsiveness with stability. Gesture systems need to react quickly without triggering unintended actions from natural hand movement. Maintaining smooth performance while simultaneously handling camera input, landmark processing, UI rendering, and drawing operations has also required ongoing optimization. The next stage of development will focus on: finalizing gesture calibration completing OCR text conversion workflows adding full PNG, PDF, SVG, and .air export support polishing onboarding and status indicators adding automated tests for serialization and gesture classification Future improvements may also include a dedicated requirements-dev.txt , release tracking through a CHANGELOG.md , and additional development tooling for testing and formatting. The project has now reached a stage where the core systems are functional and connected together. Most upcoming work will focus on refinement, optimization, and improving overall usability. Which is usually the phase where software projects politely reveal twice as many problems as originally expected."}]...
|
Title: AirWrite Studio by @priyajitk | Stardance
Title: AirWrite Studio by @priyajitk | Stardance
Devlogs:
AirWrite Studio - Devlog AirWrite Studio is a hands-free digital canvas built using Python, PyQt6, and MediaPipe. The idea behind the project is to allow users to draw, erase, select, and manipulate objects on a digital canvas entirely through hand gestures detected via a webcam. The core structure of the application is now functional. The project currently includes the main application window, canvas rendering system, tracking modules, UI components, and asset management. Real-time hand tracking is handled through MediaPipe landmark detection, which is then translated into different canvas actions. Several gesture interactions are already implemented. Users can draw using a thumb-and-index pinch gesture, erase using a fist gesture, select objects using a pointing gesture, and drag or scale objects using multi-finger gestures. An open palm acts as a neutral or stop state to reduce accidental interactions. A major focus during development has been making gesture controls feel natural and stable. Small hand movements, lighting changes, and different webcam qualities often create false triggers or unstable tracking, so additional smoothing and gesture filtering logic has been added to improve consistency during real-time interaction. The canvas system already supports freehand drawing, object movement, shape recognition, and undo/redo architecture. Smart shape snapping can detect rough circles, rectangles, triangles, and straight lines and convert them into cleaner geometry automatically. Additional drawing tools have also been added, including: highlighter mode laser pointer mode grid templates customizable pen settings dark themed UI styling The project also includes the architecture for OCR text conversion and offline voice command support. OCR integration pathways are connected for future editable text workflows, while the voice command system is being developed using Vosk through the tracking/voice_commander.py module. The repository is currently organized into separate modules for better maintainability: main.py handles application startup canvas/ contains rendering, serialization, export, and shape recognition systems tracking/ contains hand tracking, gesture detection, smoothing, and voice command modules ui/ contains interface components such as the sidebar, camera widget, and notifications assets/ stores speech models and hand tracking resources Recent development work focused on stabilizing gesture interactions, improving the canvas workflow, refining the UI layout, and integrating voice command resources. Documentation was also added through the README.md file to explain installation, features, and project usage. One of the biggest challenges so far has been balancing responsiveness with stability. Gesture systems need to react quickly without triggering unintended actions from natural hand movement. Maintaining smooth performance while simultaneously handling camera input, landmark processing, UI rendering, and drawing operations has also required ongoing optimization. The next stage of development will focus on: finalizing gesture calibration completing OCR text conversion workflows adding full PNG, PDF, SVG, and .air export support polishing onboarding and status indicators adding automated tests for serialization and gesture classification Future improvements may also include a dedicated requirements-dev.txt , release tracking through a CHANGELOG.md , and additional development tooling for testing and formatting. The project has now reached a stage where the core systems are functional and connected together. Most upcoming work will focus on refinement, optimization, and improving overall usability. Which is usually the phase where software projects politely reveal twice as many problems as originally expected.
AirWrite Studio — Devlog Overview AirWrite Studio is a hands-free digital canvas built with Python and PyQt6. It uses webcam-based hand tracking and gesture detection to let users draw, erase, select, and manipulate canvas content without a mouse or stylus. Current Status Core application structure is in place with main.py , UI modules, tracking modules, and canvas rendering. Hand gestures are detected and mapped to canvas actions through MediaPipe landmark tracking. Gesture control covers drawing, erasing, object selection, dragging, scaling, and neutral/stop states. Voice command support is planned via Vosk and the tracking/voice_commander.py module. The canvas supports export formats and workspace management via native file handling. Features Implemented Gesture-based drawing and erasing Shape recognition and smart geometry snapping Text conversion support using OCR integration pathways Grid templates and presentation-friendly laser/highlighter modes Undo/redo history architecture Clean dark UI layout using PyQt6 widgets and custom styling Project Structure main.py — Application entry point config.py , utils.py — configuration and helper utilities canvas/ — canvas engine, widgets, object rendering, serialization, shape recognition, export tracking/ — hand tracker, gesture detector, smoother, voice commander ui/ — main window, sidebar, camera widget, toast notifications, styles assets/ — model files, Vosk speech resources, hand landmarker task files Recent Work Built the main interactive canvas and stabilized gesture interactions. Added smart UI for tool selection and camera control. Integrated offline voice command support architecture with Vosk assets. Added documentation in README.md to describe features, installation, and usage. Created a web-based demo version using Flask and Hugging Face Spaces Docker deployment. Note: The web demo relies on server-side processing for MediaPipe gestures and may experience latency or glitchiness depending on the user’s hardware limitations, webcam quality, and network speed. Challenges Ensuring reliable hand detection across different lighting conditions and webcams. Mapping natural gestures into consistent canvas commands without accidental triggers. Keeping performance smooth for real-time drawing and gesture recognition. Handling network latency and server-side model processing for the web demo without native client-side binaries. Next Milestones Finalize gesture calibration and user feedback flow. Complete OCR text conversion and editable text object workflow. Add full export support for PNG, PDF, SVG, and native .air saves. Polish the UI, including toolbar behavior, status indicators, and onboarding hints. Add tests for canvas serialization and gesture classification. Notes for Future Development Add a requirements-dev.txt for development tooling, formatting, and testing. Consider adding a CHANGELOG.md or release notes for future version tracking. Keep venv/ and __pycache__/ ignored in source control, and preserve only source files and assets.
Hello Everyone! I have been working on this project since two months, now. And finally with the help of the Hack Club Tester Team, I am Finally able to make a final release of this Project. I have also updated the demo link so that you all can now directly download a .exe file without any problem. At first you may see a warning as I have not bought a certificate for the .exe program but you can click on Run Anyway to use it. But if you still want a web one navigate here
New Logo For AirWrite Studio Hi viewers! As you can see, i have added a new logo for the project. Please suggest any edits if you want!
Ships:
AirWrite Studio is a real-time, hands-free spatial drawing platform I built using Python, PyQt6, MediaPipe, OpenCV, and offline AI tooling. The idea behind the project was simple: I wanted to make digital whiteboarding and creative interaction feel more natural and frictionless without depending on expensive hardware like drawing tablets, styluses, or touchscreens. The application transforms a standard webcam into a gesture-controlled digital canvas where users can draw, erase, select, move, and manipulate content entirely through hand gestures and voice commands. Instead of adapting ourselves to traditional input devices, I wanted the interface to adapt to human movement. One of the biggest quality-of-life improvements is the completely hardware-free interaction system. Users can simply sit in front of a webcam and interact with the canvas naturally in mid-air. I also implemented smart geometry and OCR features that automatically clean up rough sketches into proper geometric shapes and convert handwritten strokes into editable text. During testing, this genuinely made brainstorming and diagramming feel much smoother because users didn’t have to waste time fixing messy sketches manually. Another major feature I’m proud of is the multimodal accessibility system. Alongside gesture controls, the project integrates offline voice commands using Vosk, allowing users to execute actions like “undo,” “clear,” or change colors without touching the keyboard or mouse. I wanted the experience to feel seamless and accessible, especially for presentations, teaching environments, and users who may struggle with traditional input devices. The hardest part of the project was making the interaction system feel stable and intentional. Human gestures are naturally inconsistent, and early prototypes constantly suffered from accidental triggers and jittery movement. A huge amount of time went into smoothing gesture input, tuning confidence thresholds, and implementing filters like the One Euro Filter so the controls would feel responsive without becoming chaotic. I also had to optimize performance carefully because the application simultaneously handles real-time computer vision inference, OpenGL rendering, OCR processing, gesture recognition, and UI updates. What I’m most proud of is how natural the final interaction feels. Gestures like pinching to draw, making a fist to erase, or pointing to lasso-select objects became surprisingly intuitive after enough iteration. I also spent a lot of time polishing the UI because I didn’t want the project to feel like a rough prototype. The interface takes inspiration from modern minimalist tools like Linear and Notion, with a restrained dark aesthetic that keeps the focus on the spatial interaction itself. The project can be tested using a standard webcam and a Python 3 environment. After cloning the repository and installing dependencies through pip install -r requirements.txt , the app can be launched using python main.py . Optional integrations include Tesseract for OCR functionality and Vosk with PyAudio for offline voice commands. Once the camera starts, users can interact entirely through gestures: Pinch thumb and index finger together to draw Make a fist to erase Point with the index finger to select objects Use multi-finger gestures to drag content Keep an open palm to remain in neutral mode There’s also a smart shape mode that automatically converts rough freehand sketches into clean geometry in real time, which ended up becoming one of my favorite parts of the entire project. Overall, AirWrite Studio was my attempt to explore what frictionless spatial computing could look like using only commodity hardware and open-source technologies. I wanted it to feel practical, accessible, and genuinely useful rather than just a flashy computer vision demo....
|
1792878430.0853405
|
1793742430.0853405
|
|
19223
|
Desktop Conductor - Audio/Music Controller by @Lia Desktop Conductor - Audio/Music Controller by @LiamCasperite | Stardance...
|
LiamCasperite
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T01:12:36Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Desktop Macropad with 3 keys, a rotary encoder, and an OLED display. It was difficult learning Kicad and fusion and the project was a little overwhelming. As of now the firmware does not consist of actual media controls but instead placeholder key binds for customizability. In the future I hope to make it simpler, add some more uniqueness to the case design, and go deeper into the firmware (it is hard without the physical product). I am overall happy with how It turned out for my first project shipped!", "repo": "https://github.com/LiamCasperite/Desktop-Conductor", "demo": ""}]...
|
[{"post_id": 14557, "ts": "202 [{"post_id": 14557, "ts": "2026-06-23T18:38:15Z", "hours": 0.7756, "text": "Wrote firmware using CircuitPython, finished Fusion model, and compiled everything in github! I spent a lot more than 45 minutes (more like 3 hours) But I forgot to install hackatime when I worked in VScode and I forgot to use lapse for 3d modling. Overall I am very happy with the finished product however and excited to see it in real life!"}, {"post_id": 13243, "ts": "2026-06-21T18:05:15Z", "hours": 3.3856, "text": "I finished iteration 1 of a PCB and a case for it. I designed the PCB in KiCad to have the microcontroller, a knob, 3 keys, and an OLED. I then designed the case in Fusion so that it can stand up and face the user. This is only iteration 1 and serves as a rough draft given this is my first ever hardware project."}]...
|
Title: Desktop Conductor - Audio/Music Controller Title: Desktop Conductor - Audio/Music Controller by @LiamCasperite | Stardance
Devlogs:
I finished iteration 1 of a PCB and a case for it. I designed the PCB in KiCad to have the microcontroller, a knob, 3 keys, and an OLED. I then designed the case in Fusion so that it can stand up and face the user. This is only iteration 1 and serves as a rough draft given this is my first ever hardware project.
Wrote firmware using CircuitPython, finished Fusion model, and compiled everything in github! I spent a lot more than 45 minutes (more like 3 hours) But I forgot to install hackatime when I worked in VScode and I forgot to use lapse for 3d modling. Overall I am very happy with the finished product however and excited to see it in real life!
Ships:
I made a Desktop Macropad with 3 keys, a rotary encoder, and an OLED display. It was difficult learning Kicad and fusion and the project was a little overwhelming. As of now the firmware does not consist of actual media controls but instead placeholder key binds for customizability. In the future I hope to make it simpler, add some more uniqueness to the case design, and go deeper into the firmware (it is hard without the physical product). I am overall happy with how It turned out for my first project shipped!...
|
1793127134.2366943
|
1793213534.2366943
|
|
19233
|
My awesome macropad! by @Shaxriyor | Stardance
|
Shaxriyor
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-22T16:24:35Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I designed and built CodePad, a custom, compact macro pad to help me while I’m coding on my Mac. It features a 2x3 layout with 6 mechanical switches, one push-button rotary encoder and 0.91” OLED screen. The hardware consists of a custom PCB designed in KiCad, powered by a Seeeduino XIAO RP2040 microcontroller, and housed in a custom-designed 3D-printed enclosure made using Fusion 360. On the software side, it runs custom QMK firmware. Since I only had 6 keys, I wired them using a direct pin layout (each key wired straight to its own GPIO pin on the XIAO) to avoid using diodes. However, QMK’s firmware architecture fundamentally relies on an electrical coordinate matrix. I had to learn how to translate a non-matrix, direct-wired hardware schema into a virtual matrix grid within the modern info.json data configuration format. I am proud that even though I have never tried to make a schematic or designed pcb I was able to do it and find solutions to the hardships I faced along the way. To test it(even I haven’t tested it cause it needs to be assembled and I haven’t got my kit) I guess you need make your own and feel the journey.", "repo": "https://github.com/shaxa484/CodePad", "demo": ""}]...
|
[{"post_id": 13778, "ts": "202 [{"post_id": 13778, "ts": "2026-06-22T16:11:33Z", "hours": 0.41, "text": "I have a prior experience with blender but never worked with real things. Fusion gave me the most headache, it was hard to point out each millimeter but I still made it."}, {"post_id": 13704, "ts": "2026-06-22T13:57:40Z", "hours": 0.3908, "text": "Working on a pcb was harder than I thought. It was like finding ways through a maze. Thank god there was a backside or I wouldn’t have connected some of the pins."}]...
|
Title: My awesome macropad! by @Shaxriyor | Starda Title: My awesome macropad! by @Shaxriyor | Stardance
Devlogs:
Working on a pcb was harder than I thought. It was like finding ways through a maze. Thank god there was a backside or I wouldn’t have connected some of the pins.
I have a prior experience with blender but never worked with real things. Fusion gave me the most headache, it was hard to point out each millimeter but I still made it.
Ships:
I designed and built CodePad, a custom, compact macro pad to help me while I’m coding on my Mac. It features a 2x3 layout with 6 mechanical switches, one push-button rotary encoder and 0.91” OLED screen. The hardware consists of a custom PCB designed in KiCad, powered by a Seeeduino XIAO RP2040 microcontroller, and housed in a custom-designed 3D-printed enclosure made using Fusion 360. On the software side, it runs custom QMK firmware. Since I only had 6 keys, I wired them using a direct pin layout (each key wired straight to its own GPIO pin on the XIAO) to avoid using diodes. However, QMK’s firmware architecture fundamentally relies on an electrical coordinate matrix. I had to learn how to translate a non-matrix, direct-wired hardware schema into a virtual matrix grid within the modern info.json data configuration format. I am proud that even though I have never tried to make a schematic or designed pcb I was able to do it and find solutions to the hardships I faced along the way. To test it(even I haven’t tested it cause it needs to be assembled and I haven’t got my kit) I guess you need make your own and feel the journey....
|
1793130518.901937
|
1793216918.901937
|
|
19253
|
My very own WebOS by @JasonW | Stardance
|
JasonW
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-20T14:33:04Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website that resembles my custom operating system. It features different windows as applications. The features for the windows include being draggable, and being reopenable. I also added a small timer app that can be used for studying and other stuff!", "repo": "https://github.com/jsn-w/wei-OS", "demo": "https://jsn-w.github.io/wei-OS/"}]...
|
[{"post_id": 12541, "ts": "202 [{"post_id": 12541, "ts": "2026-06-20T14:19:17Z", "hours": 0.3631, "text": "added logic for the timer. you are able to start, pause, reset and also add/subtract time from it"}, {"post_id": 10173, "ts": "2026-06-16T19:44:42Z", "hours": 1.2439, "text": "i added logic for multiple desktop icons that open and close when each of them is pressed. i also added the ui for the timer, i still need to work on that logic. i also added some hover effects on the buttons which turned out really nicely!"}, {"post_id": 9671, "ts": "2026-06-16T02:34:45Z", "hours": 0.3881, "text": "I added a button on the screen to open the about me tab when the window is closed. I also modified the javascript so that when the user is dragging the window, it stays within the window."}, {"post_id": 9648, "ts": "2026-06-16T01:46:02Z", "hours": 1.1994, "text": "I made the window draggable and added some nuances (highlight text, etc). It took me a while to figure out the layout of the divs, but it turned out really nice. I would also like to add some transition time to smooth things out."}, {"post_id": 9558, "ts": "2026-06-15T22:41:20Z", "hours": 1.605, "text": "I implemented a background, taskbar, and a little about-me page."}]...
|
Title: My very own WebOS by @JasonW | Stardance
D Title: My very own WebOS by @JasonW | Stardance
Devlogs:
I implemented a background, taskbar, and a little about-me page.
I made the window draggable and added some nuances (highlight text, etc). It took me a while to figure out the layout of the divs, but it turned out really nice. I would also like to add some transition time to smooth things out.
I added a button on the screen to open the about me tab when the window is closed. I also modified the javascript so that when the user is dragging the window, it stays within the window.
i added logic for multiple desktop icons that open and close when each of them is pressed. i also added the ui for the timer, i still need to work on that logic. i also added some hover effects on the buttons which turned out really nicely!
added logic for the timer. you are able to start, pause, reset and also add/subtract time from it
Ships:
I made a website that resembles my custom operating system. It features different windows as applications. The features for the windows include being draggable, and being reopenable. I also added a small timer app that can be used for studying and other stuff!...
|
1793263901.657708
|
1793350301.657708
|
|
19264
|
meowOS by @arman | Stardance
|
arman
|
1
|
9.0
|
164
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T12:38:21Z", "hours": 9.0, "multiplier": 17.32, "payout": 164, "blessing": "neutral", "text": "What did I make? A browser based desktop OS. It has a boot screen, a window manager, a taskbar, desktop widgets, and seven apps and its all cat themed. You can open and drag windows around, change your wallpaper, use a terminal, write notes, check the time. It actually feels like an OS, which was the whole point. Live at https://meowos-web.vercel.app What was challenging? SSR kept biting me. Next.js renders on the server first, so anything touching localStorage or window would crash on Vercel even when it worked fine locally. Took a while to track down every spot that needed a guard. The window maximize animation also gave me grief windows would snap and drag at the same time in this weird magnet effect. Fixed it by separating animation state from logical state so the transition only fires during the toggle, not while dragging. I also tried adding route transition fades between boot, shutdown, and desktop. Spent a few hours on it, kept breaking things, eventually just cut it. What am I proud of? The boot screen. Kernel text prints line by line, fades into a paw icon, then routes to the desktop. It’s a small thing but it makes the whole OS feel real. How to test it? Go to https://meowos-web.vercel.app you’ll land on the shutdown screen, click to boot.", "repo": "https://github.com/armansinghh/WebOS", "demo": "https://meowos-web.vercel.app/"}]...
|
[{"post_id": 15021, "ts": "202 [{"post_id": 15021, "ts": "2026-06-24T12:26:06Z", "hours": 3.1114, "text": "well its done guys what i built? i actually had no idea what to start with, i saw a webOS listed, thought it was pretty cool… i love cats, so why not build a cat-styled OS? u guys can check it out here: https://meowos-web.vercel.app/ whats next? just check it out guys (pls 🙏) note i wrote a highly technical long dev log but it all vanished when i closed the tab accidently, i dont have energy left to write all over again 😔😔 also follow me on github https://github.com/armansinghh thanks y’all"}, {"post_id": 14184, "ts": "2026-06-23T05:35:23Z", "hours": 5.0883, "text": "Spent a lot of time this session just making things feel right 😮💨 Added boot screen and the best part… Rebuilt most of the apps from scratch basically. PawWatch now has an actual analog clock face with cat ears on top and a digital readout next to it. MeowPad got autosave, word count and char limit. PawShell now remembers your command history and arrow keys work just like a real terminal. The settings app (PawNel) got a full sidebar layout, a live desktop preview when picking wallpapers, and an About page showing the stack. Also added two new apps: File Cat-alog is a file explorer with a fake filesystem you can navigate. Also added PrrSurf, it is a browser with a cat themed homepage with shortcuts to Wikipedia, AccuWeather, and Excalidraw. Taskbar got cleaned up too, the paw menu and control center both feel much more polished now. Honestly meowOS is starting to look like something I’d actually want to use. Next up is some final polish and getting it ready to ship 😝"}, {"post_id": 11296, "ts": "2026-06-18T14:09:31Z", "hours": 1.2869, "text": "Built the core of meowOS today!!! A fully working window manager in the browser. Windows are draggable, resizable, and stack correctly when focused. 4 apps so far: Clock - live time and date Text Editor - write and save notes, persists with localStorage Terminal - commands like help, meow, echo, date Settings - pick from 4 cat wallpapers, choice saves across sessions Stack: Next.js, Tailwind, Zustand, react-rnd, react-icons. Next up: File Explorer and Browser app."}]...
|
Title: meowOS by @arman | Stardance
Devlogs:
Buil Title: meowOS by @arman | Stardance
Devlogs:
Built the core of meowOS today!!! A fully working window manager in the browser. Windows are draggable, resizable, and stack correctly when focused. 4 apps so far: Clock - live time and date Text Editor - write and save notes, persists with localStorage Terminal - commands like help, meow, echo, date Settings - pick from 4 cat wallpapers, choice saves across sessions Stack: Next.js, Tailwind, Zustand, react-rnd, react-icons. Next up: File Explorer and Browser app.
Spent a lot of time this session just making things feel right 😮💨 Added boot screen and the best part… Rebuilt most of the apps from scratch basically. PawWatch now has an actual analog clock face with cat ears on top and a digital readout next to it. MeowPad got autosave, word count and char limit. PawShell now remembers your command history and arrow keys work just like a real terminal. The settings app (PawNel) got a full sidebar layout, a live desktop preview when picking wallpapers, and an About page showing the stack. Also added two new apps: File Cat-alog is a file explorer with a fake filesystem you can navigate. Also added PrrSurf, it is a browser with a cat themed homepage with shortcuts to Wikipedia, AccuWeather, and Excalidraw. Taskbar got cleaned up too, the paw menu and control center both feel much more polished now. Honestly meowOS is starting to look like something I’d actually want to use. Next up is some final polish and getting it ready to ship 😝
well its done guys what i built? i actually had no idea what to start with, i saw a webOS listed, thought it was pretty cool… i love cats, so why not build a cat-styled OS? u guys can check it out here: https://meowos-web.vercel.app/ whats next? just check it out guys (pls 🙏) note i wrote a highly technical long dev log but it all vanished when i closed the tab accidently, i dont have energy left to write all over again 😔😔 also follow me on github https://github.com/armansinghh thanks y’all
Ships:
What did I make? A browser based desktop OS. It has a boot screen, a window manager, a taskbar, desktop widgets, and seven apps and its all cat themed. You can open and drag windows around, change your wallpaper, use a terminal, write notes, check the time. It actually feels like an OS, which was the whole point. Live at https://meowos-web.vercel.app What was challenging? SSR kept biting me. Next.js renders on the server first, so anything touching localStorage or window would crash on Vercel even when it worked fine locally. Took a while to track down every spot that needed a guard. The window maximize animation also gave me grief windows would snap and drag at the same time in this weird magnet effect. Fixed it by separating animation state from logical state so the transition only fires during the toggle, not while dragging. I also tried adding route transition fades between boot, shutdown, and desktop. Spent a few hours on it, kept breaking things, eventually just cut it. What am I proud of? The boot screen. Kernel text prints line by line, fades into a paw icon, then routes to the desktop. It’s a small thing but it makes the whole OS feel real. How to test it? Go to https://meowos-web.vercel.app you’ll land on the shutdown screen, click to boot....
|
1793202886.782629
|
1793289286.782629
|
|
19265
|
NFC Monsters by @radsi | Stardance
|
radsi
|
1
|
51.0
|
108
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-13T16:26:11Z", "hours": 51.0, "multiplier": 2.75, "payout": 108, "blessing": "neutral", "text": "This is a mobile game that uses NFC technology to cast spells and execute actions… This is a very WIP project, I can’t event test it on my own phone so I uploaded a showcase video in case someone is interested!", "repo": "https://github.com/radsi/nfc-monsters", "demo": "https://www.youtube.com/watch?v=Tx2pvqhJloY"}]...
|
[{"post_id": 27756, "ts": "202 [{"post_id": 27756, "ts": "2026-07-13T16:22:16Z", "hours": 2.0864, "text": "first alpha release"}, {"post_id": 26628, "ts": "2026-07-11T15:39:57Z", "hours": 5.0958, "text": "New items, enemies, and random events, support for custom music on different map nodes, button to return to the main menu during a run and multiple fixes."}, {"post_id": 24094, "ts": "2026-07-07T13:17:05Z", "hours": 5.1831, "text": "Added a new Layer 3 boss, new events, event-exclusive items and spell unlocks, plus an editor export/import addon. Fixed multiple gameplay and visual bugs, improved random events, and reduced starting HP to 50."}, {"post_id": 20722, "ts": "2026-07-02T12:09:22Z", "hours": 4.9686, "text": "Improved enemy SFX, reworked the armor system into a separate bar, added enemy attack damage indicators, fixed the Spell Summon index bug, improved enemy buffs, and added new events."}, {"post_id": 17744, "ts": "2026-06-28T17:40:48Z", "hours": 4.4111, "text": "Added seed-based generation, new events and items, improved combat feedback, more sound effects, and fixed multiple bugs."}, {"post_id": 15194, "ts": "2026-06-24T18:12:45Z", "hours": 5.4392, "text": "Added unlock notifications, new random events and boss, improved combat feedback, audio, balancing, and added new enemies, items, and spells."}, {"post_id": 12585, "ts": "2026-06-20T15:32:36Z", "hours": 4.0233, "text": "Added new audio, fixed key gameplay bugs, improved UI (tooltips, inventory scroll, gallery), and expanded content with new items, enemies, bosses, and effects."}, {"post_id": 9944, "ts": "2026-06-16T13:58:01Z", "hours": 19.4583, "text": "Slay the Spire inspired game that uses Android NFC to cast spells and perform actions. Right now im working on the base game before starting to add events, items and so"}]...
|
Title: NFC Monsters by @radsi | Stardance
Devlogs Title: NFC Monsters by @radsi | Stardance
Devlogs:
Slay the Spire inspired game that uses Android NFC to cast spells and perform actions. Right now im working on the base game before starting to add events, items and so
Added new audio, fixed key gameplay bugs, improved UI (tooltips, inventory scroll, gallery), and expanded content with new items, enemies, bosses, and effects.
Added unlock notifications, new random events and boss, improved combat feedback, audio, balancing, and added new enemies, items, and spells.
Added seed-based generation, new events and items, improved combat feedback, more sound effects, and fixed multiple bugs.
Improved enemy SFX, reworked the armor system into a separate bar, added enemy attack damage indicators, fixed the Spell Summon index bug, improved enemy buffs, and added new events.
Added a new Layer 3 boss, new events, event-exclusive items and spell unlocks, plus an editor export/import addon. Fixed multiple gameplay and visual bugs, improved random events, and reduced starting HP to 50.
New items, enemies, and random events, support for custom music on different map nodes, button to return to the main menu during a run and multiple fixes.
first alpha release
Ships:
This is a mobile game that uses NFC technology to cast spells and execute actions… This is a very WIP project, I can’t event test it on my own phone so I uploaded a showcase video in case someone is interested!...
|
1793260376.950198
|
1793346776.950198
|
|
19283
|
Exploring the Moon with Artemis Website by @Lidika Exploring the Moon with Artemis Website by @LidikaRahman | Stardance...
|
LidikaRahman
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T18:19:22Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This week, the project took a big step forward. I began building the SLS Engineering section, where users won’t just read about NASA’s rocket, in fact they’ll build an understanding of it through a 12-stage launch simulation. The biggest challenge was the JavaScript behind the scenes. Every launch stage happens within seconds, so keeping the timing and calculations synchronized turned out to be much harder than I expected. After many failed attempts, I realized the problem wasn’t the math itself, rather it was when the calculations were being updated. Once I fixed that logic, everything finally worked as intended. As I continue building, I’m thinking carefully about the quality-of-life problem this project solves. Space science is often taught through long videos or textbook diagrams, making it difficult for many students to stay engaged or understand how everything connects in a real mission. My goal is to remove that friction by turning complex STEM concepts into an interactive experience where students actively participate instead of passively reading. The next stages will introduce astronaut engineering challenges, real-time mission mathematics, rocket fueling, launch operations, Moon landing procedures, scientific experiments, and mission decision-making. Every activity is designed to mirror real Artemis-inspired workflows while providing instant feedback, progress tracking, and personalized learning. Instead of simply learning about a mission, users gradually build the confidence and practical understanding to think like an engineer, scientist, and astronaut. The goal is simple: make learning space exploration more interactive, more intuitive, and far more memorable.", "repo": "https://github.com/LidikaRahman2023/moon-exploration-artemis", "demo": "https://lidikarahman2023.github.io/moon-exploration-artemis/"}]...
|
[{"post_id": 19389, "ts": "202 [{"post_id": 19389, "ts": "2026-06-30T18:10:12Z", "hours": 6.0333, "text": "Exploring the Moon with Artemis!— Dev Log #3✅ What I Added: Started building the SLS Engineering section. Added the foundation for the 12-stage launch simulation. Challenges I faced: The JavaScript was the hardest part.Since each stage changes within seconds, handling the timings and calculations became more complex than I expected.Ran into repeated errors before finding the real issue. What I Learned: Improved my understanding of JavaScript timing and calculation logic.Sometimes the bug isn’t in the formula, and it’s in how and when it’s being updated. An important decision I made : Chose to break the launch into 12 interactive stages instead of one animation, making it more engaging and educational. ✨ Progress: Finally figured out the calculation loophole, and everything is working much more smoothly now. One step closer to launching Artemis! 🌙🚀"}, {"post_id": 11548, "ts": "2026-06-18T20:53:05Z", "hours": 2.3611, "text": "Exploring the Moon with Artemis! — Dev Log #2 What I built : • Added astronaut gender selection. • Added the dashboard introduction section. The Challenges I faced : •Faced some annoying alignment issues. •Had a bug where selections weren’t updating correctly. What I’ve Learned: • Better understanding of handling user selections and progress tracking. Decision I made: Started with astronaut personalization before the missions.Makes the experience feel more personal from the start. Something that SURPRISED me: The dashboard already makes the project feel like a real astronaut training platform! And about the Design: Going for a fun, friendly space theme while keeping the Artemis mission feeling realistic. Next up: astronaut training and mission systems!"}, {"post_id": 10070, "ts": "2026-06-16T17:28:03Z", "hours": 0.9944, "text": "My today’s update tackles user friction head-on by introducing a “Continue as Guest” option, allowing people to bypass the sign-up gate and dive straight into my project. To match this seamless flow, I gave the resident astronaut mascot a major upgrade; it now dynamically changes its greeting for guest users and delivers a revamped introductory speech that clearly lays out my mission, the problem statement, and the core solution right from the launchpad."}]...
|
Title: Exploring the Moon with Artemis Website by Title: Exploring the Moon with Artemis Website by @LidikaRahman | Stardance
Devlogs:
My today’s update tackles user friction head-on by introducing a “Continue as Guest” option, allowing people to bypass the sign-up gate and dive straight into my project. To match this seamless flow, I gave the resident astronaut mascot a major upgrade; it now dynamically changes its greeting for guest users and delivers a revamped introductory speech that clearly lays out my mission, the problem statement, and the core solution right from the launchpad.
Exploring the Moon with Artemis! — Dev Log #2 What I built : • Added astronaut gender selection. • Added the dashboard introduction section. The Challenges I faced : •Faced some annoying alignment issues. •Had a bug where selections weren’t updating correctly. What I’ve Learned: • Better understanding of handling user selections and progress tracking. Decision I made: Started with astronaut personalization before the missions.Makes the experience feel more personal from the start. Something that SURPRISED me: The dashboard already makes the project feel like a real astronaut training platform! And about the Design: Going for a fun, friendly space theme while keeping the Artemis mission feeling realistic. Next up: astronaut training and mission systems!
Exploring the Moon with Artemis!— Dev Log #3✅ What I Added: Started building the SLS Engineering section. Added the foundation for the 12-stage launch simulation. Challenges I faced: The JavaScript was the hardest part.Since each stage changes within seconds, handling the timings and calculations became more complex than I expected.Ran into repeated errors before finding the real issue. What I Learned: Improved my understanding of JavaScript timing and calculation logic.Sometimes the bug isn’t in the formula, and it’s in how and when it’s being updated. An important decision I made : Chose to break the launch into 12 interactive stages instead of one animation, making it more engaging and educational. ✨ Progress: Finally figured out the calculation loophole, and everything is working much more smoothly now. One step closer to launching Artemis! 🌙🚀
Ships:
This week, the project took a big step forward. I began building the SLS Engineering section, where users won’t just read about NASA’s rocket, in fact they’ll build an understanding of it through a 12-stage launch simulation. The biggest challenge was the JavaScript behind the scenes. Every launch stage happens within seconds, so keeping the timing and calculations synchronized turned out to be much harder than I expected. After many failed attempts, I realized the problem wasn’t the math itself, rather it was when the calculations were being updated. Once I fixed that logic, everything finally worked as intended. As I continue building, I’m thinking carefully about the quality-of-life problem this project solves. Space science is often taught through long videos or textbook diagrams, making it difficult for many students to stay engaged or understand how everything connects in a real mission. My goal is to remove that friction by turning complex STEM concepts into an interactive experience where students actively participate instead of passively reading. The next stages will introduce astronaut engineering challenges, real-time mission mathematics, rocket fueling, launch operations, Moon landing procedures, scientific experiments, and mission decision-making. Every activity is designed to mirror real Artemis-inspired workflows while providing instant feedback, progress tracking, and personalized learning. Instead of simply learning about a mission, users gradually build the confidence and practical understanding to think like an engineer, scientist, and astronaut. The goal is simple: make learning space exploration more interactive, more intuitive, and far more memorable....
|
1793263823.7159572
|
1793350223.7159572
|
|
19288
|
Children's Business Fair Website by @anish17 | Children's Business Fair Website by @anish17 | Stardance...
|
anish17
|
1
|
2.65
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T18:16:12Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I developed a website for the Children’s Business Fair. I have been working for multiple months and am proud to launch it. The Naperville Children’s Business Fair supports young entrepreneurs in the Chicagoland community and we are proud to have a website for the 2026 season.", "repo": "https://github.com/anishshah17/cbf-websitev1", "demo": "https://napervillecbf.com"}]...
|
[{"post_id": 33630, "ts": "202 [{"post_id": 33630, "ts": "2026-07-23T18:21:38Z", "hours": 1.6536, "text": "CBF Website Update"}, {"post_id": 9351, "ts": "2026-06-15T18:07:51Z", "hours": 1.0111, "text": "I am working on adding an about page to the website!"}]...
|
Title: Children's Business Fair Website by @an Title: Children's Business Fair Website by @anish17 | Stardance
Devlogs:
I am working on adding an about page to the website!
CBF Website Update
Ships:
I developed a website for the Children’s Business Fair. I have been working for multiple months and am proud to launch it. The Naperville Children’s Business Fair supports young entrepreneurs in the Chicagoland community and we are proud to have a website for the 2026 season....
|
1793123679.2795858
|
1793210079.2795858
|
|
19300
|
RootWeave by @maxoliver | Stardance
|
maxoliver
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T16:43:21Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a plugin for the popular note taking software obsidian.md. It creates native .md files inside a special folder, and while they are viewable without the plugin, the plugin allows you to easily translate, build words, import from other platforms, and ensure your conlang is cohesive. You can view a graph, hear your words pronunciation, or set it yourself, and more.", "repo": "https://github.com/molive6316github/rootweave", "demo": "https://community.obsidian.md/plugins/rootweave"}]...
|
[{"post_id": 11937, "ts": "202 [{"post_id": 11937, "ts": "2026-06-19T14:00:49Z", "hours": 0.4592, "text": "I enhanced translate by adding easy add, suggestions, and a few more qol"}, {"post_id": 11883, "ts": "2026-06-19T11:23:14Z", "hours": 1.4356, "text": "Built a phonology engine using a neural network, though i might have to use it for something else since its already there"}, {"post_id": 10561, "ts": "2026-06-17T11:07:09Z", "hours": 0.5581, "text": "I added a graph view(pictured) and a few QoL changes, along with rewriting some code. I am next going to work on a phonology engine which… uhhh… Itll definitely be interesting."}, {"post_id": 10246, "ts": "2026-06-16T21:33:50Z", "hours": 0.5661, "text": "I rewrote some code, patched some bugs, and added a importer."}, {"post_id": 10022, "ts": "2026-06-16T16:07:05Z", "hours": 0.7236, "text": "I have published the beta ver of the app to the obsidian community plugin list, which allows for easier installs and more discoverability. I still plan on upgrading the app, and adding new features."}, {"post_id": 9491, "ts": "2026-06-15T20:50:42Z", "hours": 0.3606, "text": "I have created a base outline, and it functions, however most code so far is ai outline, so i need to redo most of it."}]...
|
Title: RootWeave by @maxoliver | Stardance
Devlog Title: RootWeave by @maxoliver | Stardance
Devlogs:
I have created a base outline, and it functions, however most code so far is ai outline, so i need to redo most of it.
I have published the beta ver of the app to the obsidian community plugin list, which allows for easier installs and more discoverability. I still plan on upgrading the app, and adding new features.
I rewrote some code, patched some bugs, and added a importer.
I added a graph view(pictured) and a few QoL changes, along with rewriting some code. I am next going to work on a phonology engine which… uhhh… Itll definitely be interesting.
Built a phonology engine using a neural network, though i might have to use it for something else since its already there
I enhanced translate by adding easy add, suggestions, and a few more qol
Ships:
I created a plugin for the popular note taking software obsidian.md. It creates native .md files inside a special folder, and while they are viewable without the plugin, the plugin allows you to easily translate, build words, import from other platforms, and ensure your conlang is cohesive. You can view a graph, hear your words pronunciation, or set it yourself, and more....
|
1793285643.2340171
|
1793372043.2340171
|
|
19320
|
My awesome macropad! by @zak_books1 | Stardance
|
zak_books1
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T01:33:22Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A custom four-key macro pad built with KiCad, QMK firmware, and a 3D-printed case for fast, reliable controls.", "repo": "https://github.com/zakbooks1/TuffPad", "demo": ""}]...
|
[{"post_id": 9637, "ts": "2026 [{"post_id": 9637, "ts": "2026-06-16T01:25:30Z", "hours": 2.835, "text": "finaly done lets go"}, {"post_id": 9429, "ts": "2026-06-15T19:50:00Z", "hours": 0.5417, "text": "about to 3d model the case for it"}]...
|
Title: My awesome macropad! by @zak_books1 | Stard Title: My awesome macropad! by @zak_books1 | Stardance
Devlogs:
about to 3d model the case for it
finaly done lets go
Ships:
A custom four-key macro pad built with KiCad, QMK firmware, and a 3D-printed case for fast, reliable controls....
|
1793270902.823329
|
1793357302.823329
|
|
19324
|
portfolio website by @nikhil_noah_shah | Stardance
|
nikhil_noah_shah
|
1
|
5.0
|
6
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T00:10:28Z", "hours": 5.0, "multiplier": 1.33, "payout": 6, "blessing": "neutral", "text": "Created an Engineering portfolio to display projects I’ve done, and to use as progress for myself to see how far I’ve come as an engineer. I plan to use this as I continue my education and become more skilled as an engineer. Might learn react and js to create more interactivity in my portfolio.", "repo": "https://github.com/n-niksha/niksha-portfolio", "demo": "https://nikhilshah.vercel.app"}]...
|
[{"post_id": 44318, "ts": "202 [{"post_id": 44318, "ts": "2026-08-10T00:09:05Z", "hours": 0.3347, "text": "Finished Portfolio!"}, {"post_id": 42942, "ts": "2026-08-07T22:37:10Z", "hours": 0.3019, "text": "Completed the about page, committed to github and connected to vercel!"}, {"post_id": 42447, "ts": "2026-08-07T05:18:33Z", "hours": 1.2281, "text": "Created Contact page, finished project page (used formsubmit instead of javascript)"}, {"post_id": 41146, "ts": "2026-08-05T05:17:52Z", "hours": 2.6922, "text": "Created home page for my portfolio website!"}]...
|
Title: portfolio website by @nikhil_noah_shah | St Title: portfolio website by @nikhil_noah_shah | Stardance
Devlogs:
Created home page for my portfolio website!
Created Contact page, finished project page (used formsubmit instead of javascript)
Completed the about page, committed to github and connected to vercel!
Finished Portfolio!
Ships:
Created an Engineering portfolio to display projects I’ve done, and to use as progress for myself to see how far I’ve come as an engineer. I plan to use this as I continue my education and become more skilled as an engineer. Might learn react and js to create more interactivity in my portfolio....
|
1793127199.8393803
|
1793213599.8393803
|
|
19342
|
Pulse VR by @rylvion | Stardance
|
rylvion
|
1
|
31.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T21:46:08Z", "hours": 31.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i created a web app for Unit 15: Website Development as part of my coursework, hosted on GitHub Pages, with multiple pages and a 4-step booking flow. a major challenge was working under time constraints while fixing bugs, improving the website, documenting, writing up the report and way way more than i expected. I am most proud of the booking system, advanced GitHub Actions, and achieving 90+ on PageSpeed Insights. To test the project, users should explore different pages and try the full booking flow (bookings tab) on both mobile and desktop. also there is 1 devlog and im shipping it rn to gather end user feedback for the next stage of u15 (review + refinement + documenting + bug fixing + more )", "repo": "https://github.com/rylvion/pulse-vr/", "demo": "https://rylvion.github.io/pulse-vr/"}]...
|
[{"post_id": 9467, "ts": "2026 [{"post_id": 9467, "ts": "2026-06-15T20:29:21Z", "hours": 30.7233, "text": "booking flow (4 steps process) home/pricing/loads of other pages rlly advanced github actions more stuff that i cant remember wireframes: https://app.moqups.com/7pztHxaFX9Yz5oI0v58osy9wUSSnmtnt/view/page/aaef4bdbf"}]...
|
Title: Pulse VR by @rylvion | Stardance
Devlogs:
Title: Pulse VR by @rylvion | Stardance
Devlogs:
booking flow (4 steps process) home/pricing/loads of other pages rlly advanced github actions more stuff that i cant remember wireframes: https://app.moqups.com/7pztHxaFX9Yz5oI0v58osy9wUSSnmtnt/view/page/aaef4bdbf
Ships:
i created a web app for Unit 15: Website Development as part of my coursework, hosted on GitHub Pages, with multiple pages and a 4-step booking flow. a major challenge was working under time constraints while fixing bugs, improving the website, documenting, writing up the report and way way more than i expected. I am most proud of the booking system, advanced GitHub Actions, and achieving 90+ on PageSpeed Insights. To test the project, users should explore different pages and try the full booking flow (bookings tab) on both mobile and desktop. also there is 1 devlog and im shipping it rn to gather end user feedback for the next stage of u15 (review + refinement + documenting + bug fixing + more )...
|
1793285775.9662335
|
1793372175.9662335
|
|
19354
|
Cyber Type by @Livvy | Stardance
|
Livvy
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-04T00:42:54Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a game where you type out commands and different words as they appear on the screen, to “hack” and move through each level or play through endless mode. Biggest challenge was the screen kept freezing after you lost, which took about an hour of research to fix. The thing I am most proud of is the endless mode where after a certain amount of time it gets faster and faster, adding a fun dynamic to the game. I hope everyone enjoys this simple little game I made!", "repo": "https://github.com/oliviasophia67/Cyber-Type-2.0", "demo": "https://oliviasophia67.github.io/Cyber-Type-2.0/"}]...
|
[{"post_id": 76573, "ts": "202 [{"post_id": 76573, "ts": "2026-10-04T00:39:28Z", "hours": 1.3847, "text": "Second devlog!!!! Super excited about this devlog because i got the game to a position for a first ship! Especially with stardance ending in only a month I need to ship out all projects soon. Also with school I won’t have much time to work on this. I worked on this game having an endless and a level mode in the time spent, and it works very well!! Hope yall enjoy it"}, {"post_id": 21064, "ts": "2026-07-02T20:51:43Z", "hours": 0.8744, "text": "First Devlog! To start off I just barely started this new game, and its already going pretty well. This projects idea is to be a fast typing game that has to do with coding (more to come on that) so we’ll see how it continues to go. so far I’ve made the general design for it along with the typing mechanics, and I added in a keyboard on the project to make it more easily playable on a phone or tablet. I would love some fun ideas to incorporate into the project, otherwise I shall continue to work on it!"}]...
|
Title: Cyber Type by @Livvy | Stardance
Devlogs:
Title: Cyber Type by @Livvy | Stardance
Devlogs:
First Devlog! To start off I just barely started this new game, and its already going pretty well. This projects idea is to be a fast typing game that has to do with coding (more to come on that) so we’ll see how it continues to go. so far I’ve made the general design for it along with the typing mechanics, and I added in a keyboard on the project to make it more easily playable on a phone or tablet. I would love some fun ideas to incorporate into the project, otherwise I shall continue to work on it!
Second devlog!!!! Super excited about this devlog because i got the game to a position for a first ship! Especially with stardance ending in only a month I need to ship out all projects soon. Also with school I won’t have much time to work on this. I worked on this game having an endless and a level mode in the time spent, and it works very well!! Hope yall enjoy it
Ships:
I made a game where you type out commands and different words as they appear on the screen, to “hack” and move through each level or play through endless mode. Biggest challenge was the screen kept freezing after you lost, which took about an hour of research to fix. The thing I am most proud of is the endless mode where after a certain amount of time it gets faster and faster, adding a fun dynamic to the game. I hope everyone enjoys this simple little game I made!...
|
1793148565.2511523
|
1793234965.2511523
|
|
19371
|
Planetarium by @The_Craw | Stardance
|
The_Craw
|
1
|
2.44
|
29
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T10:24:58Z", "hours": 2.0, "multiplier": 12.05, "payout": 29, "blessing": "neutral", "text": "A custom-made leaderboard, made with my own unofficial stardance API system. Tracks projects over time, for followers, time used, and devlogs. This project is confirmed to have been used by the Fraud Squad to catch users who have faked their time.", "repo": "https://github.com/Jonah-Crawford/Planetarium", "demo": "https://planetarium.ultimatecraw.xyz/"}]...
|
[{"post_id": 16815, "ts": "202 [{"post_id": 16815, "ts": "2026-06-27T09:33:43Z", "hours": 0.4414, "text": "Simple additions like adding a ‘super star’ column to track exceptional projects have been added. The webpage is still quite slow though 😅"}, {"post_id": 9866, "ts": "2026-06-16T10:12:57Z", "hours": 1.335, "text": "Final devlog, shipping as the basic leaderboard is done!"}, {"post_id": 9828, "ts": "2026-06-16T08:42:16Z", "hours": 0.6761, "text": "I’m not going to lie, ChatGPT did the CSS because I don’t know how to. This is why it looks vibecoded, which makes it stinky. I apologise."}, {"post_id": 9495, "ts": "2026-06-15T20:56:36Z", "hours": 0.3767, "text": "Did someone say new leaderboard? That’s right, Craw’s Stardance Leaderboard now works with Craw’s Stardance API! This leaderboard updates every 6 hours, rather than every week, and can show history data! Want to see the fastest growing projects? Easy peasy with Planetarium."}]...
|
Title: Planetarium by @The_Craw | Stardance
Devlo Title: Planetarium by @The_Craw | Stardance
Devlogs:
Did someone say new leaderboard? That’s right, Craw’s Stardance Leaderboard now works with Craw’s Stardance API! This leaderboard updates every 6 hours, rather than every week, and can show history data! Want to see the fastest growing projects? Easy peasy with Planetarium.
I’m not going to lie, ChatGPT did the CSS because I don’t know how to. This is why it looks vibecoded, which makes it stinky. I apologise.
Final devlog, shipping as the basic leaderboard is done!
Simple additions like adding a ‘super star’ column to track exceptional projects have been added. The webpage is still quite slow though 😅
Ships:
A custom-made leaderboard, made with my own unofficial stardance API system. Tracks projects over time, for followers, time used, and devlogs. This project is confirmed to have been used by the Fraud Squad to catch users who have faked their time....
|
1793278374.2148092
|
1793364774.2148092
|