|
41893
|
Nuclear by @Rajveer0123n | Stardance
|
Rajveer0123n
|
2
|
30.0
|
223
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T14:33:18Z", "hours": 12.0, "multiplier": 2.41, "payout": 29, "blessing": "neutral", "text": "I built a Number Guessing Challenge game with multiple difficulty levels, a clean and responsive interface, sound effects, and a strategy helper that helps players make more efficient guesses. The goal is simple: players choose a difficulty, try to identify the hidden number, and use the feedback provided after each guess to narrow down the possible range. Since the initial version, I expanded the game with three game modes — Normal, One Shot, and No Hint — to provide different levels of challenge. I also added an Achievements system with 10 unlockable achievements based on different in-game accomplishments, along with a dedicated Game Rules & Guide section to help new players understand the mechanics. The most challenging part was connecting the game logic, different modes, achievements, statistics, and UI while keeping the experience consistent and easy to use. I’m most proud of how the project has evolved from a simple guessing game into a more complete and polished experience.", "repo": "https://github.com/Rajveer0123n-BitCoin/Nuclear", "demo": "https://nuclear-three-blush.vercel.app"}, {"ship_num": 2, "ts": "2026-08-13T00:37:13Z", "hours": 18.0, "multiplier": 10.62, "payout": 194, "blessing": "neutral", "text": "I made a Number Guessing Challenge game with multiple difficulty levels, a clean UI, sound effects, and a small strategy helper that makes the game more interesting. The hardest part was connecting all the game logic with the UI and making everything feel smooth. I’m most proud of the overall experience and how polished it looks now. To test it, choose a difficulty, enter a guess, and keep playing until you find the hidden number.", "repo": "https://github.com/Rajveer0123n-BitCoin/Nuclear", "demo": "https://nuclear-three-blush.vercel.app"}]...
|
[{"post_id": 59588, "ts": "202 [{"post_id": 59588, "ts": "2026-09-01T14:28:13Z", "hours": 4.8922, "text": "GUYSSSS, I THOUGHT I WAS DONE…BUT STARSHIP SAID ADD MORE FEATURES SOOOO I WENT BACK TO WORKk I’ve now added some new game modes — Normal Mode, One Shot, and No Hint — mainly to make the game more difficult and give players more ways to play 👀🔥 I’ve ALSO added an Achievements Section, where players have to complete 10 different tasks to unlock the achievements!! ANDDD for the new players, I’ve added a proper Game Rules + Guide section so they actually know what they’re supposed to do 😭At this point the project keeps getting bigger and bigger… BUT WE KEEP GOINGGGG 🚀🔥 AND Now i think i am ready to ship again GOOOOOOOOOO"}, {"post_id": 56519, "ts": "2026-08-28T09:56:12Z", "hours": 4.0014, "text": "GUYSSSS, I THOUGHT MY PROJECT WAS FINISHED BUT THEN I WAS LIKE…NAHHHH WE CAN ADD MORE So I’ve decided to add some new modes to the project like One Try Guess, Fast Guess and a few more 👀 For now, I’m working on One Try Guess…let’s see how this turns out MORE FEATURES = MORE WORK…"}, {"post_id": 51630, "ts": "2026-08-21T12:36:52Z", "hours": 1.14, "text": "Devlog-17 SO humans I😭 I’VE RESTORED MY OLD DESIGN FROM GITHUB AND THANK GOD THIS FEATURE EXISTS 💀🙏After all that chaos, I finally got my original design back and I can FINALLYYYY say…MY PROJECT IS COMPLETE 🚀🔥NOW IT’S TIME TO SHIPPPPP 😭"}, {"post_id": 47950, "ts": "2026-08-16T06:51:53Z", "hours": 1.1556, "text": "Devlog-15 BROSSSS, I finally learned how to make READMEs from the Stardance resources 🔥 and updated my GitHub README with everything needed for SHIP!! ALSOOO, I removed all the AI-generated code from my project. I only used AI for formatting and variable names with Prettier, so the actual code is mine 😭🔥 WE’RE GETTING CLOSER TO SHIPPP 🚀"}, {"post_id": 47419, "ts": "2026-08-15T10:45:55Z", "hours": 0.8881, "text": "Devlog-16 BROOOO 😭 I literally had to CHANGE MY WHOLE DESIGN because my README was AI-made and now the officials thought the design was also AI inspired 💀 So yeah…ALL THAT EFFORT…GONE 😭 I’m honestly feeling like everything I worked on was wasted, but ig there’s nothing to do except start fixing it and make the design properly mine this time. pain. . 😭"}, {"post_id": 45949, "ts": "2026-08-12T19:22:43Z", "hours": 0.4761, "text": "Devlog-14 finally finished"}, {"post_id": 45929, "ts": "2026-08-12T18:26:33Z", "hours": 1.1928, "text": "Devlog — 12- Help Modal Progress At this pace, the whole project might actually be finished in 2–3 days"}, {"post_id": 45246, "ts": "2026-08-11T16:15:06Z", "hours": 3.1628, "text": "I have completed my stats part that’s actually statsmodal , it took way more time than i thought.."}, {"post_id": 44731, "ts": "2026-08-10T17:47:00Z", "hours": 2.2089, "text": "Devlog 10 Finally finished App.tsx 😭. I honestly don’t even know why I left it half-done in the middle, but it’s finally complete now. Right now I’m working on the Win Screen, trying different layouts and animations so it actually feels satisfying when you win. Still tweaking the design, but it’s starting to look pretty clean."}, {"post_id": 44070, "ts": "2026-08-09T16:14:50Z", "hours": 3.1528, "text": "Devlog 9 Worked on GameArea today. Added the guess input, feedback messages, a small helper for the bisect strategy, and a visual bar history for previous guesses. The game feels way more interactive now and is starting to come together nicely."}, {"post_id": 41940, "ts": "2026-08-06T13:58:29Z", "hours": 1.3217, "text": "Devlog 8 – Added Difficulty Selector and Game Area Today I completed two major UI components for the Number Guess game: DifficultySelector.tsx and GameArea.tsx. The difficulty selector now includes interactive cards for Easy, Medium, Hard, and Extreme modes, giving players a clear way to choose the challenge level. I also built the main game area, which includes the guess input system, feedback banner, bisect strategy helper, and a visual history bar to track previous guesses. These additions make the gameplay more interactive, informative, and user-friendly while improving the overall experience of the game."}, {"post_id": 41465, "ts": "2026-08-05T18:03:51Z", "hours": 0.7, "text": "Devlog 7 – Added Header Component and Difficulty Selection Today I created and improved the Header.tsx component for the Number Guess game. I added a structured header section to improve the overall layout and user experience. I also implemented difficulty selectors, allowing players to choose different challenge levels before starting the game. This adds more variety to the gameplay and creates a better experience for different types of players. With the header and difficulty system completed, the game now has a more organized interface and a more customizable gameplay experience."}, {"post_id": 40827, "ts": "2026-08-04T16:24:52Z", "hours": 1.0553, "text": "Devlog 6 – Added Victory Confetti Animation Today I created src/components/ConfettiCanvas.tsx to add a victory celebration effect to the Number Guess game. I implemented an HTML5 canvas-based confetti animation that appears when the player wins the game. The animation uses particle effects to create a more rewarding and visually exciting celebration, making the game feel more polished and interactive."}, {"post_id": 40120, "ts": "2026-08-03T14:53:06Z", "hours": 1.1533, "text": "Devlog 5 – Completed the Utils Folder Today I completed the Utils folder for the Number Guess game. I added the core game logic that handles the main gameplay mechanics, including processing guesses, checking results, and managing the game flow. I also integrated the sound system to provide audio feedback for different game events, making the overall experience more interactive and engaging. With the utility layer completed, the project now has a stronger foundation, and I can move on to refining the gameplay, improving the user experience, and polishing the final features."}, {"post_id": 39578, "ts": "2026-08-02T17:10:38Z", "hours": 1.4428, "text": "Today I completed the design phase of the Number Guess game. I focused on creating a clean and modern interface with a structured layout that is easy to use and visually appealing. The overall design is now in place, including the main game container, input section, buttons, and feedback area. With the UI completed, the next step is to implement the game logic in JavaScript, including random number generation, guess validation, score tracking, and win/lose conditions."}, {"post_id": 39235, "ts": "2026-08-02T02:09:37Z", "hours": 1.2194, "text": "Today I set up the package.json file for the project. This establishes the project configuration and creates a proper foundation for future development. Having package.json in place will make it easier to manage the project structure and add any tools or dependencies needed as the Number Guess game grows"}, {"post_id": 38157, "ts": "2026-07-31T12:23:05Z", "hours": 0.6125, "text": "Today I decided to change the direction of my project. Instead of continuing with the calculator idea, I switched to building a Number Guess game. I felt that this would be a better project for learning JavaScript logic, user interaction, and game mechanics while still creating a polished web application. I started the new project structure and created a fresh index.html file from scratch. The basic HTML layout has been set up, and this file will become the foundation of the game interface. The goal is to create a modern and engaging number guessing game with a clean design, responsive layout, and interactive gameplay. This marks a fresh start for the project, and the next steps will focus on styling the interface with CSS and implementing the core game logic in JavaScript, including random number generation, user guesses, score tracking, and feedback messages."}, {"post_id": 37639, "ts": "2026-07-30T14:58:52Z", "hours": 0.5222, "text": "Today I officially started my Nuclear calculator project for Hack Club Stardance. The first part of the work focused on setting up a clean development environment and creating the basic structure of the project. I created a new project folder, initialized a Git repository, connected it to a new GitHub repository, and configured Hackatime so that development time could be tracked correctly. I also created the initial project structure with the src and public directories, a README.md, and a .wakatime-project file. After the setup was complete, I began building the calculator interface. I created the index.html file and finished the basic HTML structure for the application. The layout includes the foundation for the calculator display, input area, and button grid, which will serve as the base for future scientific and advanced features. The goal is to build a modern, elegant calculator with a premium user interface rather than a simple basic calculator. With the project now connected to GitHub and Hackatime successfully tracking coding hours, the development environment is fully ready for the next stage. The next devlog will focus on designing the calculator’s visual appearance using CSS and implementing the first interactive functionality with JavaScript."}]...
|
Title: Nuclear by @Rajveer0123n | Stardance
Devlo Title: Nuclear by @Rajveer0123n | Stardance
Devlogs:
Today I officially started my Nuclear calculator project for Hack Club Stardance. The first part of the work focused on setting up a clean development environment and creating the basic structure of the project. I created a new project folder, initialized a Git repository, connected it to a new GitHub repository, and configured Hackatime so that development time could be tracked correctly. I also created the initial project structure with the src and public directories, a README.md, and a .wakatime-project file. After the setup was complete, I began building the calculator interface. I created the index.html file and finished the basic HTML structure for the application. The layout includes the foundation for the calculator display, input area, and button grid, which will serve as the base for future scientific and advanced features. The goal is to build a modern, elegant calculator with a premium user interface rather than a simple basic calculator. With the project now connected to GitHub and Hackatime successfully tracking coding hours, the development environment is fully ready for the next stage. The next devlog will focus on designing the calculator’s visual appearance using CSS and implementing the first interactive functionality with JavaScript.
Today I decided to change the direction of my project. Instead of continuing with the calculator idea, I switched to building a Number Guess game. I felt that this would be a better project for learning JavaScript logic, user interaction, and game mechanics while still creating a polished web application. I started the new project structure and created a fresh index.html file from scratch. The basic HTML layout has been set up, and this file will become the foundation of the game interface. The goal is to create a modern and engaging number guessing game with a clean design, responsive layout, and interactive gameplay. This marks a fresh start for the project, and the next steps will focus on styling the interface with CSS and implementing the core game logic in JavaScript, including random number generation, user guesses, score tracking, and feedback messages.
Today I set up the package.json file for the project. This establishes the project configuration and creates a proper foundation for future development. Having package.json in place will make it easier to manage the project structure and add any tools or dependencies needed as the Number Guess game grows
Today I completed the design phase of the Number Guess game. I focused on creating a clean and modern interface with a structured layout that is easy to use and visually appealing. The overall design is now in place, including the main game container, input section, buttons, and feedback area. With the UI completed, the next step is to implement the game logic in JavaScript, including random number generation, guess validation, score tracking, and win/lose conditions.
Devlog 5 – Completed the Utils Folder Today I completed the Utils folder for the Number Guess game. I added the core game logic that handles the main gameplay mechanics, including processing guesses, checking results, and managing the game flow. I also integrated the sound system to provide audio feedback for different game events, making the overall experience more interactive and engaging. With the utility layer completed, the project now has a stronger foundation, and I can move on to refining the gameplay, improving the user experience, and polishing the final features.
Devlog 6 – Added Victory Confetti Animation Today I created src/components/ConfettiCanvas.tsx to add a victory celebration effect to the Number Guess game. I implemented an HTML5 canvas-based confetti animation that appears when the player wins the game. The animation uses particle effects to create a more rewarding and visually exciting celebration, making the game feel more polished and interactive.
Devlog 7 – Added Header Component and Difficulty Selection Today I created and improved the Header.tsx component for the Number Guess game. I added a structured header section to improve the overall layout and user experience. I also implemented difficulty selectors, allowing players to choose different challenge levels before starting the game. This adds more variety to the gameplay and creates a better experience for different types of players. With the header and difficulty system completed, the game now has a more organized interface and a more customizable gameplay experience.
Devlog 8 – Added Difficulty Selector and Game Area Today I completed two major UI components for the Number Guess game: DifficultySelector.tsx and GameArea.tsx. The difficulty selector now includes interactive cards for Easy, Medium, Hard, and Extreme modes, giving players a clear way to choose the challenge level. I also built the main game area, which includes the guess input system, feedback banner, bisect strategy helper, and a visual history bar to track previous guesses. These additions make the gameplay more interactive, informative, and user-friendly while improving the overall experience of the game.
Devlog 9 Worked on GameArea today. Added the guess input, feedback messages, a small helper for the bisect strategy, and a visual bar history for previous guesses. The game feels way more interactive now and is starting to come together nicely.
Devlog 10 Finally finished App.tsx 😭. I honestly don’t even know why I left it half-done in the middle, but it’s finally complete now. Right now I’m working on the Win Screen, trying different layouts and animations so it actually feels satisfying when you win. Still tweaking the design, but it’s starting to look pretty clean.
I have completed my stats part that’s actually statsmodal , it took way more time than i thought..
Devlog — 12- Help Modal Progress At this pace, the whole project might actually be finished in 2–3 days
Devlog-14 finally finished
Devlog-16 BROOOO 😭 I literally had to CHANGE MY WHOLE DESIGN because my README was AI-made and now the officials thought the design was also AI inspired 💀 So yeah…ALL THAT EFFORT…GONE 😭 I’m honestly feeling like everything I worked on was wasted, but ig there’s nothing to do except start fixing it and make the design properly mine this time. pain. . 😭
Devlog-15 BROSSSS, I finally learned how to make READMEs from the Stardance resources 🔥 and updated my GitHub README with everything needed for SHIP!! ALSOOO, I removed all the AI-generated code from my project. I only used AI for formatting and variable names with Prettier, so the actual code is mine 😭🔥 WE’RE GETTING CLOSER TO SHIPPP 🚀
Devlog-17 SO humans I😭 I’VE RESTORED MY OLD DESIGN FROM GITHUB AND THANK GOD THIS FEATURE EXISTS 💀🙏After all that chaos, I finally got my original design back and I can FINALLYYYY say…MY PROJECT IS COMPLETE 🚀🔥NOW IT’S TIME TO SHIPPPPP 😭
GUYSSSS, I THOUGHT MY PROJECT WAS FINISHED BUT THEN I WAS LIKE…NAHHHH WE CAN ADD MORE So I’ve decided to add some new modes to the project like One Try Guess, Fast Guess and a few more 👀 For now, I’m working on One Try Guess…let’s see how this turns out MORE FEATURES = MORE WORK…
GUYSSSS, I THOUGHT I WAS DONE…BUT STARSHIP SAID ADD MORE FEATURES SOOOO I WENT BACK TO WORKk I’ve now added some new game modes — Normal Mode, One Shot, and No Hint — mainly to make the game more difficult and give players more ways to play 👀🔥 I’ve ALSO added an Achievements Section, where players have to complete 10 different tasks to unlock the achievements!! ANDDD for the new players, I’ve added a proper Game Rules + Guide section so they actually know what they’re supposed to do 😭At this point the project keeps getting bigger and bigger… BUT WE KEEP GOINGGGG 🚀🔥 AND Now i think i am ready to ship again GOOOOOOOOOO
Ships:
I made a Number Guessing Challenge game with multiple difficulty levels, a clean UI, sound effects, and a small strategy helper that makes the game more interesting. The hardest part was connecting all the game logic with the UI and making everything feel smooth. I’m most proud of the overall experience and how polished it looks now. To test it, choose a difficulty, enter a guess, and keep playing until you find the hidden number.
I built a Number Guessing Challenge game with multiple difficulty levels, a clean and responsive interface, sound effects, and a strategy helper that helps players make more efficient guesses. The goal is simple: players choose a difficulty, try to identify the hidden number, and use the feedback provided after each guess to narrow down the possible range. Since the initial version, I expanded the game with three game modes — Normal, One Shot, and No Hint — to provide different levels of challenge. I also added an Achievements system with 10 unlockable achievements based on different in-game accomplishments, along with a dedicated Game Rules & Guide section to help new players understand the mechanics. The most challenging part was connecting the game logic, different modes, achievements, statistics, and UI while keeping the experience consistent and easy to use. I’m most proud of how the project has evolved from a simple guessing game into a more complete and polished experience....
|
1792813662.481662
|
1792900062.481662
|
|
42222
|
My own site! by @Kartikey26 | Stardance
|
Kartikey26
|
2
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T04:52:44Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey guys finally shipped the updated version of my personal site for stardance. i added all my new projects like vidnote and commerce os, but the coolest part is this fake terminal boot screen i built that runs when you first open the page. i also kept the matrix rain background but added a frosted glass effect over the main sections so you can actually read the text now without your eyes bleeding. the whole thing took way longer than it should have because i got so stuck on the css. my entire layout broke and i was losing my mind trying to fix it, only to realize i literally typed - { instead of * { at the very top of the file and broke the global reset. i also accidentally had the javascript matrix loop running twice at the same time so it was lagging my browser to death lol. if you wanna test it out, refresh the page to see the boot sequence, and then scroll down to the sandbox section. there’s a working terminal where you can type ‘help’ to see commands. definitely try the ‘matrix’ command to toggle the background, and try typing ‘sudo’ just to see what happens. let me know if anything breaks on mobile!", "repo": "https://github.com/kartikeynegi25/personal-site", "demo": "https://kartikeynegi25.github.io/personal-site/"}, {"ship_num": 2, "ts": "2026-08-01T09:22:45Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a retro hacker-style terminal portfolio using just pure HTML, CSS, and Vanilla JS—literally zero frameworks or libraries. Standard portfolios felt kind of boring, so I wanted to make something actually cool with a working terminal, Matrix digital rain in the background, CRT scanlines, and retro keyclick sounds. The trickiest part was getting the audio to work without just downloading a bunch of MP3s. I coded it from scratch using the browser’s native Web Audio API to generate the click and error tones live in JavaScript. I also fought with mobile layout bugs for a bit because the terminal input kept stretching past the screen on phones, but I fixed that using min-width: 0 and flexbox. Honestly pretty hyped that I built the whole thing from scratch with zero dependencies and got it running super fast on mobile too. To test it out, turn your sound on, click anywhere on the page, and start typing commands in the terminal. Try running help, about, skills, matrix, date, clear, or sudo if you want to hear the access denied sound. Live site: https://kartikeynegi25.github.io/personal-site/ GitHub repo: https://github.com/kartikeynegi25/personal-site", "repo": "https://github.com/kartikeynegi25/personal-site", "demo": "https://kartikeynegi25.github.io/personal-site/"}]...
|
[{"post_id": 82166, "ts": "202 [{"post_id": 82166, "ts": "2026-10-24T04:47:09Z", "hours": 3.2667, "text": "Finally got around to updating my personal site today and added all my new projects like vidnote and commerce os. i also built this sick fake boot loader screen that prints out system logs before the site actually loads. it took way longer than it should have though because i got completely stuck for a bit trying to figure out why my css layout was suddenly breaking everywhere. turns out i literally typed a minus sign instead of a star (- { instead of * {) at the very top of my stylesheet and broke the entire global reset lmao. once i caught that stupid typo, i fixed the spacing, wrapped the project cards in a frosted glass effect so the text is actually readable over the matrix rain, and it’s finally live."}, {"post_id": 38733, "ts": "2026-08-01T09:04:20Z", "hours": 3.2106, "text": "Built an interactive, retro hacker-style CLI portfolio website completely from scratch. I wanted to create a high-character web application featuring an interactive command line, synthesized audio, and dynamic canvas animation—all without using any third-party libraries or frameworks. Live Demo: https://kartikeynegi25.github.io/personal-site/ GitHub Repository: https://github.com/kartikeynegi25/personal-site"}]...
|
Title: My own site! by @Kartikey26 | Stardance
De Title: My own site! by @Kartikey26 | Stardance
Devlogs:
Built an interactive, retro hacker-style CLI portfolio website completely from scratch. I wanted to create a high-character web application featuring an interactive command line, synthesized audio, and dynamic canvas animation—all without using any third-party libraries or frameworks. Live Demo: https://kartikeynegi25.github.io/personal-site/ GitHub Repository: https://github.com/kartikeynegi25/personal-site
Finally got around to updating my personal site today and added all my new projects like vidnote and commerce os. i also built this sick fake boot loader screen that prints out system logs before the site actually loads. it took way longer than it should have though because i got completely stuck for a bit trying to figure out why my css layout was suddenly breaking everywhere. turns out i literally typed a minus sign instead of a star (- { instead of * {) at the very top of my stylesheet and broke the entire global reset lmao. once i caught that stupid typo, i fixed the spacing, wrapped the project cards in a frosted glass effect so the text is actually readable over the matrix rain, and it’s finally live.
Ships:
I built a retro hacker-style terminal portfolio using just pure HTML, CSS, and Vanilla JS—literally zero frameworks or libraries. Standard portfolios felt kind of boring, so I wanted to make something actually cool with a working terminal, Matrix digital rain in the background, CRT scanlines, and retro keyclick sounds. The trickiest part was getting the audio to work without just downloading a bunch of MP3s. I coded it from scratch using the browser’s native Web Audio API to generate the click and error tones live in JavaScript. I also fought with mobile layout bugs for a bit because the terminal input kept stretching past the screen on phones, but I fixed that using min-width: 0 and flexbox. Honestly pretty hyped that I built the whole thing from scratch with zero dependencies and got it running super fast on mobile too. To test it out, turn your sound on, click anywhere on the page, and start typing commands in the terminal. Try running help, about, skills, matrix, date, clear, or sudo if you want to hear the access denied sound. Live site: https://kartikeynegi25.github.io/personal-site/ GitHub repo: https://github.com/kartikeynegi25/personal-site
Hey guys finally shipped the updated version of my personal site for stardance. i added all my new projects like vidnote and commerce os, but the coolest part is this fake terminal boot screen i built that runs when you first open the page. i also kept the matrix rain background but added a frosted glass effect over the main sections so you can actually read the text now without your eyes bleeding. the whole thing took way longer than it should have because i got so stuck on the css. my entire layout broke and i was losing my mind trying to fix it, only to realize i literally typed - { instead of * { at the very top of the file and broke the global reset. i also accidentally had the javascript matrix loop running twice at the same time so it was lagging my browser to death lol. if you wanna test it out, refresh the page to see the boot sequence, and then scroll down to the sandbox section. there’s a working terminal where you can type ‘help’ to see commands. definitely try the ‘matrix’ command to toggle the background, and try typing ‘sudo’ just to see what happens. let me know if anything breaks on mobile!...
|
1792835446.6676447
|
1792921846.6676447
|
|
42248
|
My personal website by @Xavier2009 | Stardance
|
Xavier2009
|
2
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-01T12:54:51Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my personal website that i created for the “Personal Site” mission. It wasn’t really challenging, except the part where it simply refused to load the correct website. I’m most proud of the fact that i did this all by myself without using any AI.", "repo": "https://github.com/Xavier640/My-personal-website", "demo": "https://xavier640.github.io/My-personal-website/"}, {"ship_num": 2, "ts": "2026-07-31T09:26:17Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my personal website that i created for the “Personal Site” mission. It wasn’t really challenging, except the part where it simply refused to load the correct website. I’m most proud of the fact that i did this all by myself without using any AI.", "repo": "https://github.com/Xavier640/My-personal-website", "demo": "https://xavier640.github.io/My-personal-website/"}]...
|
[{"post_id": 38860, "ts": "202 [{"post_id": 38860, "ts": "2026-08-01T12:53:39Z", "hours": 0.4992, "text": "Re-formatted my website and now it looks so much better"}, {"post_id": 38189, "ts": "2026-07-31T13:43:12Z", "hours": 0.9317, "text": "Managed to format the website correctly, now all i have to do left is to ship it!"}, {"post_id": 38073, "ts": "2026-07-31T08:39:39Z", "hours": 0.5883, "text": "Just a small website. Added a few things to it so it looks slightly nice."}]...
|
Title: My personal website by @Xavier2009 | Starda Title: My personal website by @Xavier2009 | Stardance
Devlogs:
Just a small website. Added a few things to it so it looks slightly nice.
Managed to format the website correctly, now all i have to do left is to ship it!
Re-formatted my website and now it looks so much better
Ships:
This is my personal website that i created for the “Personal Site” mission. It wasn’t really challenging, except the part where it simply refused to load the correct website. I’m most proud of the fact that i did this all by myself without using any AI.
This is my personal website that i created for the “Personal Site” mission. It wasn’t really challenging, except the part where it simply refused to load the correct website. I’m most proud of the fact that i did this all by myself without using any AI....
|
1792835448.7122962
|
1792921848.7122962
|
|
42316
|
cube by @rizz | Stardance
|
rizz
|
2
|
6.0
|
6
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-29T08:19:12Z", "hours": 3.0, "multiplier": 2.02, "payout": 6, "blessing": "neutral", "text": "so i have improved the ui and fixed some bugs", "repo": "https://github.com/STEVEALEX-source/cube-2", "demo": "https://stevealex-source.github.io/cube/"}, {"ship_num": 2, "ts": "2026-07-31T16:51:52Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "finally after 100s of errors it is works so i have made a one html file that has all the css and js in it……..i am sorry for the api but you can add your own if you use my source code ….and yea please just accept my project my back hurts man", "repo": "https://github.com/STEVEALEX-source/cube-2", "demo": "https://stevealex-source.github.io/cube/"}]...
|
[{"post_id": 57101, "ts": "202 [{"post_id": 57101, "ts": "2026-08-29T06:15:48Z", "hours": 1.7078, "text": "ADDED SOME NEW FEATURES AND MADE THE UI MUSH BETTER AND I HAVE FIXED SOME TINY ISSUES AND I NAMED MY PROJECT FILE GUGU GAGA FOR NO REASON ANY WAYS IT’S GONNA BE THE FINAL DEVLOG OF THIS PROJECT AND I SHOULD PROBABLY FOCUS ON HARDWARE PROJECTS NOW"}, {"post_id": 39331, "ts": "2026-08-02T07:42:36Z", "hours": 1.1664, "text": "so i worked for some hours and made the website pixelated and added new Easter eggs andddd some sound effectssssss"}, {"post_id": 38300, "ts": "2026-07-31T16:48:52Z", "hours": 1.0211, "text": "had some issues with the api so i just added all the js css and html to one file….and i just used a local api….at least it works finally and now my back hurts"}, {"post_id": 38196, "ts": "2026-07-31T14:12:06Z", "hours": 1.6153, "text": "mannnn i am facing so many error if anyone there wants to help please do…….."}]...
|
Title: cube by @rizz | Stardance
Devlogs:
mannnn Title: cube by @rizz | Stardance
Devlogs:
mannnn i am facing so many error if anyone there wants to help please do……..
had some issues with the api so i just added all the js css and html to one file….and i just used a local api….at least it works finally and now my back hurts
so i worked for some hours and made the website pixelated and added new Easter eggs andddd some sound effectssssss
ADDED SOME NEW FEATURES AND MADE THE UI MUSH BETTER AND I HAVE FIXED SOME TINY ISSUES AND I NAMED MY PROJECT FILE GUGU GAGA FOR NO REASON ANY WAYS IT’S GONNA BE THE FINAL DEVLOG OF THIS PROJECT AND I SHOULD PROBABLY FOCUS ON HARDWARE PROJECTS NOW
Ships:
finally after 100s of errors it is works so i have made a one html file that has all the css and js in it……..i am sorry for the api but you can add your own if you use my source code ….and yea please just accept my project my back hurts man
so i have improved the ui and fixed some bugs...
|
1792838889.0738575
|
1792925289.0738575
|
|
42558
|
My own site! by @arthurgarcia | Stardance
|
arthurgarcia
|
2
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T05:09:51Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just made my new Personal Website! That was challenging because I don’t really like front-end. I’m proud of doing that manually (last time I used IA and my submission got returned!", "repo": "https://github.com/proc0x41/portifolio", "demo": "https://portifolio-flax-two.vercel.app"}, {"ship_num": 2, "ts": "2026-08-05T19:42:13Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my personal portfolio. That was challenging to me because I don’t really like front-end, I’m a way better back-end design. I’m proud of having a beautiful portfolio website now. I’ll write more papers on my blog on the future!", "repo": "https://github.com/proc0x41/portifolio", "demo": "https://portifolio-flax-two.vercel.app"}]...
|
[{"post_id": 42440, "ts": "202 [{"post_id": 42440, "ts": "2026-08-07T04:57:21Z", "hours": 5.5383, "text": "Remaking my portfolio website design ;)"}, {"post_id": 41518, "ts": "2026-08-05T19:35:03Z", "hours": 2.2711, "text": "I just finished setting up a blog on my portfolio website! And I posted a new paper, which you can read at the following link: https://portifolio-flax-two.vercel.app/blog/euler-lagrange/"}, {"post_id": 41025, "ts": "2026-08-04T22:49:17Z", "hours": 2.4953, "text": "For this first devlog, I worked on the foundation of the site implementing the initial screen, with my name as the visual anchor. For the color pallete, I took inspiration on the book “Calculus Volume 1” by James Stewart. Any feedback is welcome, even the harsh kind. Better now than after building more on top."}]...
|
Title: My own site! by @arthurgarcia | Stardance
Title: My own site! by @arthurgarcia | Stardance
Devlogs:
For this first devlog, I worked on the foundation of the site implementing the initial screen, with my name as the visual anchor. For the color pallete, I took inspiration on the book “Calculus Volume 1” by James Stewart. Any feedback is welcome, even the harsh kind. Better now than after building more on top.
I just finished setting up a blog on my portfolio website! And I posted a new paper, which you can read at the following link: https://portifolio-flax-two.vercel.app/blog/euler-lagrange/
Remaking my portfolio website design ;)
Ships:
I made my personal portfolio. That was challenging to me because I don’t really like front-end, I’m a way better back-end design. I’m proud of having a beautiful portfolio website now. I’ll write more papers on my blog on the future!
I just made my new Personal Website! That was challenging because I don’t really like front-end. I’m proud of doing that manually (last time I used IA and my submission got returned!...
|
1792842772.1051161
|
1792929172.1051161
|
|
42628
|
Study List by @vrajsanghavi | Stardance
|
vrajsanghavi
|
2
|
14.0
|
46
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-30T10:08:51Z", "hours": 4.0, "multiplier": 2.95, "payout": 12, "blessing": "neutral", "text": "see SHIP # 1 than see this !!! i have done some changes suggested by reviewers !! –––––––––––––––––––––––––––––––––– WHAT I ADDED —————————————————————–– 1. I HAVE CREATED SEPERATE CHAPTER PAGE 2.INSIDE IT,WE WILL HAVE CONCEPTS 3.INSIDE CONCEPTS ,THERES A OPTION FOR ADDING A DESCRIPTION/NOTES/FORMULAS 4.LOADING SLIDES 5.INSIDE LOADING SLIDES THERE’S FULL TUTORIAL OF STUDYLIST 6.ALSO I WILL ASK UR NAME =================================================== IF YOU HAVE ANY DOUBT , PLEASE CHECK SHIP #1 AND ALSO STUDYLIST.ORG INSTEAD OF RATING BLINDLY =================================================== THANKS, DM ME FOR ANY QUESTIONS !!", "repo": "https://github.com/vraj2011/study-streak", "demo": "https://studylist.org"}, {"ship_num": 2, "ts": "2026-08-08T10:00:29Z", "hours": 10.0, "multiplier": 3.34, "payout": 34, "blessing": "neutral", "text": "hey guys.. i am Vraj, i built this app because i have felt tis problem…. this app has much features like, reminds what you have learned and finished -also gives you the status of completed chapters -you just need to add your subjects and chapters -you can add chapters -you can mark chapters as completed -you can delete chapters -you can rename subjects and chapters, too!! i loved creating this app and all of my friends gonna use it!!! i hope other students will also use this.. i did not face any more problems in this project but i lkoved this as my 1st ship. i want a hackzine by hackclub so i hope i would get enough stardust and order it… and them will make more projects!!!", "repo": "https://github.com/vraj2011/study-streak", "demo": "https://studylist.org"}]...
|
[{"post_id": 57985, "ts": "202 [{"post_id": 57985, "ts": "2026-08-30T10:02:44Z", "hours": 1.7772, "text": "i have added a loading screen where i will take user’s name as in a flow !! also i have fixed all the bugs which can flop the website silently ,this was not that easy but i used ai to find the bugs than i fixed it myself !!"}, {"post_id": 53592, "ts": "2026-08-24T06:30:57Z", "hours": 1.0758, "text": "I WORKED ON CREATING SEPERATE CHAPTERS PAGE SO I CAN ADD CONCEPTS THERE AND I HAVE ALSO ADDED A DESCRIPTION INTO CONCEPTS,YOU CAN WRITE ANYTHING THERE!! ( AS PER REVIEWER’S SUGGESTION) NOW I WILL CREATE A LOADING PAGE LIKE A GUIDE,SAME AS TASH OS SO PEOPLE CAN KNOW WHAT THEY CAN!! AND I WOULD ALSO ADD A COLUMN TO RECOGNIZE THE USER CORRECTLY and make the website like his own!!!"}, {"post_id": 43840, "ts": "2026-08-09T08:33:01Z", "hours": 1.1278, "text": "[EDIT:I HAVE CHANGED THE IMAGE BECAUSE I HAVE CHANGED THE UI BECAUSE IT WAS TOO MUCH MESSY AND MANY THINGS AT ONCE,SO I GOT BAD RATINGS,THIS IS WHY…]i added new feature:add today tasks and completely big change in css.our ship was needed changes by the reviewer… so i done changes between 8 30 am to 2 pm ,i took 1-2 hours break so it should 4 hours to be logged but theres only 1 hour…. LOL!!! so anyways i updated this website’s css to the max… as long as possible ,my 4-5 hours of hardwork,no AI,no any kind of agents…. and this time i did not do anything wrong … so honestly check this website out… it works perfectly… theres much changes you should test it yourself…at https://studylist.netlify.app"}, {"post_id": 43189, "ts": "2026-08-08T09:52:07Z", "hours": 2.8089, "text": "finally, we done it!!!! i done setting up css,html,js and more!! see my website on https://studylist.netlify.app , also see more things in my github and 1st project comp0leted ,succesfully… see these screenshots"}, {"post_id": 39427, "ts": "2026-08-02T11:47:28Z", "hours": 4.1422, "text": "I HAVE WORKED 4 HOURS CONTINUEOUSLY AND NOW EVERY OF MY SUBJECT HAS ITS OWN CHAPTER PAGE AND I CAN ALSO ADD CHAPTERS INTO IT… MULTIPLE SUBJECTS,I AM A BEGINEER SO I HAVE TO WORK MORE TIMED!!"}, {"post_id": 38994, "ts": "2026-08-01T16:57:03Z", "hours": 3.1178, "text": "TODAY I HAVE SPENT 3 HOURS ON MY FIRST PROJECT FOR ME:STUDYLIST, I HAVE WORKED IN TO UI/UX A LITTLE, EVERY SUBJECT SEEMS HERE!! ALSO WE CAN MARK IT COMPLETED, TOO. IT ALSO SEEMS STREAK BUT NO FUNCTIONAL YET. I NAMED IT STUDY STREAK… EDIT:NOW IT S STUDY LIST"}]...
|
Title: Study List by @vrajsanghavi | Stardance
De Title: Study List by @vrajsanghavi | Stardance
Devlogs:
TODAY I HAVE SPENT 3 HOURS ON MY FIRST PROJECT FOR ME:STUDYLIST, I HAVE WORKED IN TO UI/UX A LITTLE, EVERY SUBJECT SEEMS HERE!! ALSO WE CAN MARK IT COMPLETED, TOO. IT ALSO SEEMS STREAK BUT NO FUNCTIONAL YET. I NAMED IT STUDY STREAK… EDIT:NOW IT S STUDY LIST
I HAVE WORKED 4 HOURS CONTINUEOUSLY AND NOW EVERY OF MY SUBJECT HAS ITS OWN CHAPTER PAGE AND I CAN ALSO ADD CHAPTERS INTO IT… MULTIPLE SUBJECTS,I AM A BEGINEER SO I HAVE TO WORK MORE TIMED!!
finally, we done it!!!! i done setting up css,html,js and more!! see my website on https://studylist.netlify.app , also see more things in my github and 1st project comp0leted ,succesfully… see these screenshots
[EDIT:I HAVE CHANGED THE IMAGE BECAUSE I HAVE CHANGED THE UI BECAUSE IT WAS TOO MUCH MESSY AND MANY THINGS AT ONCE,SO I GOT BAD RATINGS,THIS IS WHY…]i added new feature:add today tasks and completely big change in css.our ship was needed changes by the reviewer… so i done changes between 8 30 am to 2 pm ,i took 1-2 hours break so it should 4 hours to be logged but theres only 1 hour…. LOL!!! so anyways i updated this website’s css to the max… as long as possible ,my 4-5 hours of hardwork,no AI,no any kind of agents…. and this time i did not do anything wrong … so honestly check this website out… it works perfectly… theres much changes you should test it yourself…at https://studylist.netlify.app
I WORKED ON CREATING SEPERATE CHAPTERS PAGE SO I CAN ADD CONCEPTS THERE AND I HAVE ALSO ADDED A DESCRIPTION INTO CONCEPTS,YOU CAN WRITE ANYTHING THERE!! ( AS PER REVIEWER’S SUGGESTION) NOW I WILL CREATE A LOADING PAGE LIKE A GUIDE,SAME AS TASH OS SO PEOPLE CAN KNOW WHAT THEY CAN!! AND I WOULD ALSO ADD A COLUMN TO RECOGNIZE THE USER CORRECTLY and make the website like his own!!!
i have added a loading screen where i will take user’s name as in a flow !! also i have fixed all the bugs which can flop the website silently ,this was not that easy but i used ai to find the bugs than i fixed it myself !!
Ships:
hey guys.. i am Vraj, i built this app because i have felt tis problem…. this app has much features like, reminds what you have learned and finished -also gives you the status of completed chapters -you just need to add your subjects and chapters -you can add chapters -you can mark chapters as completed -you can delete chapters -you can rename subjects and chapters, too!! i loved creating this app and all of my friends gonna use it!!! i hope other students will also use this.. i did not face any more problems in this project but i lkoved this as my 1st ship. i want a hackzine by hackclub so i hope i would get enough stardust and order it… and them will make more projects!!!
see SHIP # 1 than see this !!! i have done some changes suggested by reviewers !! –––––––––––––––––––––––––––––––––– WHAT I ADDED —————————————————————–– 1. I HAVE CREATED SEPERATE CHAPTER PAGE 2.INSIDE IT,WE WILL HAVE CONCEPTS 3.INSIDE CONCEPTS ,THERES A OPTION FOR ADDING A DESCRIPTION/NOTES/FORMULAS 4.LOADING SLIDES 5.INSIDE LOADING SLIDES THERE’S FULL TUTORIAL OF STUDYLIST 6.ALSO I WILL ASK UR NAME =================================================== IF YOU HAVE ANY DOUBT , PLEASE CHECK SHIP #1 AND ALSO STUDYLIST.ORG INSTEAD OF RATING BLINDLY =================================================== THANKS, DM ME FOR ANY QUESTIONS !!...
|
1792878777.3180263
|
1793742777.3180263
|
|
42651
|
Bookly by @iamsrijitbanerjee | Stardance
|
iamsrijitbanerjee
|
2
|
23.0
|
192
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T11:44:20Z", "hours": 15.0, "multiplier": 12.01, "payout": 148, "blessing": "neutral", "text": "Bookly is a web platform dedicated to providing students with free easy-to-access educational textbooks and study materials. It gives students a fast and clean environment to find, read and organize good academic materials, focused on making it easy to use. It has a search function, personalized collections and it saves your data even when you are not connected to the internet. Over 80 textbooks, for Science, Commerce and Humanities and Olympiad prep. I put all these books a JSON file. This makes the website really fast. You can search for anything you want because we are using Fuse.js. It is really easy to read books on the website. You can open a book. Read it right in your browser without having to download it. The website also remembers where you stopped reading so you can pick up where you left off. You can make your own list of books to study. It will save on your device. If you want to make an account using Firebase all your information will be saved online. I also added a mode that helps you focus with quiet music and a chat room where students can talk to each other share tips and send links to books. The website is simple, fast and free. You can look at it here: book;y-v1.web.app . Let me know what you think about the website!", "repo": "https://github.com/iamsrijitbanerjee/Bookly.git/", "demo": "https://bookly-v1.firebaseapp.com/"}, {"ship_num": 2, "ts": "2026-08-02T00:08:27Z", "hours": 8.0, "multiplier": 7.41, "payout": 44, "blessing": "neutral", "text": "Bookly is a kind of website that helps make education better for students. It gives them fast access to important books. When I was building Bookly, I had to make sure the website could handle a lot of books without being slow. i fixed this problem by changing the way i stored the book information. I put it into a JSON database. This made the website more efficient. I also used the browsers ability to show PDF files. Now Bookly has a lot of features. It has a search engine that works fast and can find books from all over the world. It also has a feature that picks a new book every week. Students can even make their own lists of books using a custom dashboard. To see how Bookly works you can type a subject into the search bar click on a book and open it up. You can even save the book to a folder and look at all your books on the Library page. Bookly is about making it easy for students to find and use the books they need. Bookly has a lot of features that make it easy to use. For example you can use Bookly to make a list of your books. You can use Bookly to find new books to read. Bookly is a tool, for students who want to learn new things.", "repo": "https://github.com/iamsrijitbanerjee/Bookly.git/", "demo": "https://bookly-v1.firebaseapp.com/"}]...
|
[{"post_id": 46848, "ts": "202 [{"post_id": 46848, "ts": "2026-08-14T11:36:01Z", "hours": 4.0522, "text": "All books are updated, divided into 4 categories: science, humanities, commerce, olympiad. Website debugged and fixed any errors present. Added sign in and sign up option, linked it with firebase. Version 1 is complete. I would like to work on these features in version 2: google sign in through firebase, phone sign in through firebase, complete profile with details and info, sms verification through firebase, audiobooks. Hope you like the project and also support it. G."}, {"post_id": 45580, "ts": "2026-08-12T05:17:16Z", "hours": 2.1883, "text": "I spent the day working on the NCERT catalog for Class 11 and Class 12. I made sure that all the main subjects like Sciences, Commerce and Humanities are included. Each subject has covers, correct descriptions and direct links to download the books. I also added some books to the list. These are books that can help students get ready for Olympiad exams. There are also some reference books for different subjects. The database is now a collection of educational content. The library is almost ready to use. Now I am focusing on adding fiction and non-fiction books to the library. I want to finish adding these books soon, as possible."}, {"post_id": 45369, "ts": "2026-08-11T19:43:00Z", "hours": 1.7444, "text": "Today’s update focused on expanding the content. With the dynamic frontend and Firebase backend set up, I added a large amount of data to our books.json database. I went beyond just the core sciences to include Humanities, Fine Arts, Economics, and History. Thanks to the scalable architecture I developed earlier, the new books automatically filled the library grid, integrated with the Fuse.js search engine, and synced with the Smart Recommendations algorithm without needing to change a single line of code. Now, it’s time to run firebase deploy one last time and expand json to include fiction and non-fiction books."}, {"post_id": 44811, "ts": "2026-08-10T20:46:15Z", "hours": 2.0419, "text": "Huge step in this update. I successfully integrated Firebase to handle user authentication and real-time database management. Students can now create accounts. Their custom study playlists will instantly sync to the cloud making their reading profiles accessible across any device without losing the bookmark, using local-storage speed I built earlier.. I didn’t stop at personal data. To build a learning experience I created deep linking allowing users to generate and share direct links to specific textbooks with a single click. Finally I added a real-time Community Chat widget by Firestores. Now authenticated students worldwide can instantly message each other share study tips. Drop book links in a persistent slide-out lounge."}, {"post_id": 43926, "ts": "2026-08-09T11:43:31Z", "hours": 5.0639, "text": "So to start off with version 1.1 of booky I put in a JSON architecture so it is easy to grow the library. I added lazy loading so covers show up fast without using too much data. I got rid of “tab bounce” by making a native in-browser full-screen PDF reader. To make it even better I added Fuse.js for searching that can handle typos (it waits a bit before searching to avoid slowing things down). I put the whole user interface inside a glass look. The frontend is all cleaned up I will work on the backend next. I have also removed any books that were there, for a start."}, {"post_id": 39196, "ts": "2026-08-02T00:05:30Z", "hours": 1.3783, "text": "The last update was about finishing up things and sending it out. I looked at all the code carefully finding every broken link changing the last bits of fake text with real final words and checking for any problems that might happen. I spent a lot of time making sure that the global search engine, custom playlists and native PDF reader all work well on every page. When the tests in my computer were approved I put the files online and made the site live. Bookly is now officially online and ready to help students, over the world."}, {"post_id": 39156, "ts": "2026-08-01T21:53:23Z", "hours": 1.2722, "text": "This update was about making Bookly real. I did a data change removing the fake items and putting real textbooks and real cover images in their place. The library now. Feels like a real and working platform! Along with the books I connected the social media links and changed the sites main details to show our real brand. Now that the structure and system are all set the hard work is done. From on the plan is simple: the rest of the work is mostly about making the user interface better and adding more books to the JSON database for the community. We are, near the end!"}, {"post_id": 39111, "ts": "2026-08-01T20:26:05Z", "hours": 0.5228, "text": "I just finished making the platform feel really alive. It does not need me to fix it all the time. I worked on the Featured Book section on the Home page. Before I had to change the code by hand to show a book. Now it uses a JavaScript loop that runs automatically. I made a function that figures out what week of the year it is. The script uses math to switch between a list of book IDs from our database every 7 days. It puts the book cover, description and other details into the PDF reader and the UI Modal perfectly. The Featured Book section is. Changing all the time and it is ready for students to use. The platform is working dynamically. The Featured Book section is automatically updated. I made the Featured Book section feel alive. It is ready, for the students."}, {"post_id": 39085, "ts": "2026-08-01T19:46:21Z", "hours": 0.7372, "text": "I am trying to expand Booklys library putting every saved book into one “Favorites” list just wasn’t working. Students study for subjects and exams at the same time. First I improved our localStorage structure from a flat array to a dictionary object. This let me include a custom dropdown inside the Book UI Modal where users can make their folders right away (like “Term 1 Finals” or “Weekend Reading”). Lastly I redesigned the Library page swapping the favorites grid for a lively tabbed dashboard. Users can now move through their custom folders easily. To finish I created a migration script so anyone who had books stored in the system had them moved to a default “Favorites” folder without losing any information. I am trying to expand Booklys library putting every saved book into one “Favorites” list just wasn’t working. Students study for subjects and exams at the same time. Todays update adds a Spotify-style “Collections” feature to the platform. First I improved our localStorage structure from a flat array to a dictionary object. This let me include a custom dropdown, inside the Book UI Modal where users can make their folders right away (like “Term 1 Finals” or “Weekend Reading”). Lastly I redesigned the Library page swapping the favorites grid for a lively tabbed dashboard. Users can now move through their custom folders easily. To finish I created a migration script so anyone who had books stored in the system had them moved to a default “Favorites” folder without losing any information."}, {"post_id": 39044, "ts": "2026-08-01T18:37:27Z", "hours": 0.5472, "text": "This time, I focused on enhancing the user experience. First, I expanded our central books.json database, populating it with a wider variety of texts and injecting new metadata—like author names, page counts, and synopses. To display this rich data without cluttering the main grid, I built a custom, glass-morphism UI Modal. Now, clicking “View Book” triggers a sleek pop-up rather than aggressively forcing a download. The biggest technical win, however, is the new “Read Online” integration. By leveraging the target=”_blank” attribute paired with the raw PDF URL, Bookly now securely hands off the file to the browser’s native PDF viewer. This bypasses the need for heavy third-party libraries, ensuring students get a hardware-accelerated, lag-free reading experience right in their current window."}, {"post_id": 38939, "ts": "2026-08-01T15:35:37Z", "hours": 1.2339, "text": "I am working on my HTML project. I want to make it more interesting. The old version of my project had a problem. It was not easy to make it bigger. I had written a lot of code for each book in my library.html file which made the code very long and hard to work with. Today I removed all the code that I had written for each book. I put all my books into a small file called books.json. Now my website uses JavaScript to get the information from this file. It makes the book cards on its own. This way the information and the way it looks are separate so adding books is easy. I just need to add some new information to the file. I want to note something for developers: when you try to get a file from your own computer the browser will stop you because of security rules. So I started using a tool in my code editor called Live Server to help me work on my project on my own computer. This tool makes sure that my website can get the information, from the file without any problems."}, {"post_id": 38789, "ts": "2026-08-01T11:06:50Z", "hours": 2.4903, "text": "Coming back to a four-year- codebase is always a trip. The original Bookly did the job. The structure was holding it back. It was a single-page application that tried to do much all at once. The goal for this update wasn’t just to fix problems; it was to give the platform space to grow changing to a multi-page setup while keeping the original idea of making education easy to reach. The biggest change in the structure was splitting the site into focused pages (Home, Library, Explore and Support). This made the site load faster. Made it easier for people to find what they need. On the side I created a solution using localStorage to build a working “Favorites” feature. People can now make their reading lists and the browser keeps track of their choices between sessions without needing a complex backend or user login. I also added a mode toggle—something that is very important for students who study late at night. In terms of looks the user interface was updated. The old heavy sliders were replaced with endless Swiper grids. The basic loading screen was changed to a custom animation made with CSS that flips pages like a book giving the site a feel from the very first moment. Even though using plain JavaScript makes the site super fast the next step is to add a backend. I plan to use a database, like Firebase or Supabase to handle user accounts so favorites can stay the same on different devices. Also I want to create a PDF reader that works in the browser so students can study directly on the site of downloading files helping them save space on their phones."}]...
|
Title: Bookly by @iamsrijitbanerjee | Stardance
D Title: Bookly by @iamsrijitbanerjee | Stardance
Devlogs:
Coming back to a four-year- codebase is always a trip. The original Bookly did the job. The structure was holding it back. It was a single-page application that tried to do much all at once. The goal for this update wasn’t just to fix problems; it was to give the platform space to grow changing to a multi-page setup while keeping the original idea of making education easy to reach. The biggest change in the structure was splitting the site into focused pages (Home, Library, Explore and Support). This made the site load faster. Made it easier for people to find what they need. On the side I created a solution using localStorage to build a working “Favorites” feature. People can now make their reading lists and the browser keeps track of their choices between sessions without needing a complex backend or user login. I also added a mode toggle—something that is very important for students who study late at night. In terms of looks the user interface was updated. The old heavy sliders were replaced with endless Swiper grids. The basic loading screen was changed to a custom animation made with CSS that flips pages like a book giving the site a feel from the very first moment. Even though using plain JavaScript makes the site super fast the next step is to add a backend. I plan to use a database, like Firebase or Supabase to handle user accounts so favorites can stay the same on different devices. Also I want to create a PDF reader that works in the browser so students can study directly on the site of downloading files helping them save space on their phones.
I am working on my HTML project. I want to make it more interesting. The old version of my project had a problem. It was not easy to make it bigger. I had written a lot of code for each book in my library.html file which made the code very long and hard to work with. Today I removed all the code that I had written for each book. I put all my books into a small file called books.json. Now my website uses JavaScript to get the information from this file. It makes the book cards on its own. This way the information and the way it looks are separate so adding books is easy. I just need to add some new information to the file. I want to note something for developers: when you try to get a file from your own computer the browser will stop you because of security rules. So I started using a tool in my code editor called Live Server to help me work on my project on my own computer. This tool makes sure that my website can get the information, from the file without any problems.
This time, I focused on enhancing the user experience. First, I expanded our central books.json database, populating it with a wider variety of texts and injecting new metadata—like author names, page counts, and synopses. To display this rich data without cluttering the main grid, I built a custom, glass-morphism UI Modal. Now, clicking “View Book” triggers a sleek pop-up rather than aggressively forcing a download. The biggest technical win, however, is the new “Read Online” integration. By leveraging the target=”_blank” attribute paired with the raw PDF URL, Bookly now securely hands off the file to the browser’s native PDF viewer. This bypasses the need for heavy third-party libraries, ensuring students get a hardware-accelerated, lag-free reading experience right in their current window.
I am trying to expand Booklys library putting every saved book into one “Favorites” list just wasn’t working. Students study for subjects and exams at the same time. First I improved our localStorage structure from a flat array to a dictionary object. This let me include a custom dropdown inside the Book UI Modal where users can make their folders right away (like “Term 1 Finals” or “Weekend Reading”). Lastly I redesigned the Library page swapping the favorites grid for a lively tabbed dashboard. Users can now move through their custom folders easily. To finish I created a migration script so anyone who had books stored in the system had them moved to a default “Favorites” folder without losing any information. I am trying to expand Booklys library putting every saved book into one “Favorites” list just wasn’t working. Students study for subjects and exams at the same time. Todays update adds a Spotify-style “Collections” feature to the platform. First I improved our localStorage structure from a flat array to a dictionary object. This let me include a custom dropdown, inside the Book UI Modal where users can make their folders right away (like “Term 1 Finals” or “Weekend Reading”). Lastly I redesigned the Library page swapping the favorites grid for a lively tabbed dashboard. Users can now move through their custom folders easily. To finish I created a migration script so anyone who had books stored in the system had them moved to a default “Favorites” folder without losing any information.
I just finished making the platform feel really alive. It does not need me to fix it all the time. I worked on the Featured Book section on the Home page. Before I had to change the code by hand to show a book. Now it uses a JavaScript loop that runs automatically. I made a function that figures out what week of the year it is. The script uses math to switch between a list of book IDs from our database every 7 days. It puts the book cover, description and other details into the PDF reader and the UI Modal perfectly. The Featured Book section is. Changing all the time and it is ready for students to use. The platform is working dynamically. The Featured Book section is automatically updated. I made the Featured Book section feel alive. It is ready, for the students.
This update was about making Bookly real. I did a data change removing the fake items and putting real textbooks and real cover images in their place. The library now. Feels like a real and working platform! Along with the books I connected the social media links and changed the sites main details to show our real brand. Now that the structure and system are all set the hard work is done. From on the plan is simple: the rest of the work is mostly about making the user interface better and adding more books to the JSON database for the community. We are, near the end!
The last update was about finishing up things and sending it out. I looked at all the code carefully finding every broken link changing the last bits of fake text with real final words and checking for any problems that might happen. I spent a lot of time making sure that the global search engine, custom playlists and native PDF reader all work well on every page. When the tests in my computer were approved I put the files online and made the site live. Bookly is now officially online and ready to help students, over the world.
So to start off with version 1.1 of booky I put in a JSON architecture so it is easy to grow the library. I added lazy loading so covers show up fast without using too much data. I got rid of “tab bounce” by making a native in-browser full-screen PDF reader. To make it even better I added Fuse.js for searching that can handle typos (it waits a bit before searching to avoid slowing things down). I put the whole user interface inside a glass look. The frontend is all cleaned up I will work on the backend next. I have also removed any books that were there, for a start.
Huge step in this update. I successfully integrated Firebase to handle user authentication and real-time database management. Students can now create accounts. Their custom study playlists will instantly sync to the cloud making their reading profiles accessible across any device without losing the bookmark, using local-storage speed I built earlier.. I didn’t stop at personal data. To build a learning experience I created deep linking allowing users to generate and share direct links to specific textbooks with a single click. Finally I added a real-time Community Chat widget by Firestores. Now authenticated students worldwide can instantly message each other share study tips. Drop book links in a persistent slide-out lounge.
Today’s update focused on expanding the content. With the dynamic frontend and Firebase backend set up, I added a large amount of data to our books.json database. I went beyond just the core sciences to include Humanities, Fine Arts, Economics, and History. Thanks to the scalable architecture I developed earlier, the new books automatically filled the library grid, integrated with the Fuse.js search engine, and synced with the Smart Recommendations algorithm without needing to change a single line of code. Now, it’s time to run firebase deploy one last time and expand json to include fiction and non-fiction books.
I spent the day working on the NCERT catalog for Class 11 and Class 12. I made sure that all the main subjects like Sciences, Commerce and Humanities are included. Each subject has covers, correct descriptions and direct links to download the books. I also added some books to the list. These are books that can help students get ready for Olympiad exams. There are also some reference books for different subjects. The database is now a collection of educational content. The library is almost ready to use. Now I am focusing on adding fiction and non-fiction books to the library. I want to finish adding these books soon, as possible.
All books are updated, divided into 4 categories: science, humanities, commerce, olympiad. Website debugged and fixed any errors present. Added sign in and sign up option, linked it with firebase. Version 1 is complete. I would like to work on these features in version 2: google sign in through firebase, phone sign in through firebase, complete profile with details and info, sms verification through firebase, audiobooks. Hope you like the project and also support it. G.
Ships:
Bookly is a kind of website that helps make education better for students. It gives them fast access to important books. When I was building Bookly, I had to make sure the website could handle a lot of books without being slow. i fixed this problem by changing the way i stored the book information. I put it into a JSON database. This made the website more efficient. I also used the browsers ability to show PDF files. Now Bookly has a lot of features. It has a search engine that works fast and can find books from all over the world. It also has a feature that picks a new book every week. Students can even make their own lists of books using a custom dashboard. To see how Bookly works you can type a subject into the search bar click on a book and open it up. You can even save the book to a folder and look at all your books on the Library page. Bookly is about making it easy for students to find and use the books they need. Bookly has a lot of features that make it easy to use. For example you can use Bookly to make a list of your books. You can use Bookly to find new books to read. Bookly is a tool, for students who want to learn new things.
Bookly is a web platform dedicated to providing students with free easy-to-access educational textbooks and study materials. It gives students a fast and clean environment to find, read and organize good academic materials, focused on making it easy to use. It has a search function, personalized collections and it saves your data even when you are not connected to the internet. Over 80 textbooks, for Science, Commerce and Humanities and Olympiad prep. I put all these books a JSON file. This makes the website really fast. You can search for anything you want because we are using Fuse.js. It is really easy to read books on the website. You can open a book. Read it right in your browser without having to download it. The website also remembers where you stopped reading so you can pick up where you left off. You can make your own list of books to study. It will save on your device. If you want to make an account using Firebase all your information will be saved online. I also added a mode that helps you focus with quiet music and a chat room where students can talk to each other share tips and send links to books. The website is simple, fast and free. You can look at it here: book;y-v1.web.app . Let me know what you think about the website!...
|
1792846426.559773
|
1792932826.559773
|
|
42717
|
Flujo by @jupeme6 | Stardance
|
jupeme6
|
2
|
65.0
|
864
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T01:07:38Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? A local-first expense tracker called Flujo with an editorial / ledger aesthetic. It tracks income and expenses, has a Sankey diagram drawn from scratch on canvas (no libraries), an OCR ticket scanner, a debt settlement system for flatmates, budgets with alerts, savings goals, statistics, and CSV/JSON backup. Six betas in total. Everything is in localStorage, no backend, no account, PWA installable for offline use. What was challenging? The Sankey diagram was the hardest. Built it with bezier curves on canvas, had to fix proportional sizing and ribbon flow. The OCR scanner had a bug where it would hang forever because I was calling a boolean instead of the Tesseract library. The i18n had a sneaky bug where early betas left some sections in Spanish even after switching to English. What are you proud of? The Sankey diagram with zero dependencies, the greedy algorithm that settles debts with the minimum number of transfers, and the statistics dashboard comparing month-over-month spending. The whole thing works offline. What should people know so they can test your project? Open the demo. Choose language on first launch. The resumen tab has charts, budgets, goals, stats, and backup. The apuntes tab is for expenses. The tickets tab scans receipts via OCR. The deudas tab tracks shared expenses and suggests minimum transfers to settle. Gear icon for dark mode and language. Live demo: https://notjuangamer10.github.io/flujo/ Source: https://github.com/notjuangamer10/flujo", "repo": "https://github.com/NOTJuangamer10/flujo", "demo": "https://notjuangamer10.github.io/flujo/"}, {"ship_num": 2, "ts": "2026-08-10T14:12:57Z", "hours": 54.0, "multiplier": 16.01, "payout": 864, "blessing": "neutral", "text": "What did you make? A personal expense tracker called Flujo, built with an editorial / ledger aesthetic. The app tracks income and expenses with categories, a 5-day forecast visualization, an OCR ticket scanner, and a full debt and shared expenses system for tracking who owes whom between flatmates or friends. Everything is local-first, stored in localStorage, no account, no server, no tracking. Built in four betas. Beta 1 was the basics: add expenses, browse by month, summary totals. Beta 2 added a Sankey diagram showing money flow from income to expense categories, a stacked bar chart for the last 6 months, and a donut chart for category breakdown, all drawn on canvas with vanilla JS (no charting library). Beta 3 added a tabbed interface (resumen, apuntes, tickets, deudas) and an OCR ticket scanner using Tesseract.js that extracts products and prices from receipt photos. Beta 4 added the debts system with four split methods (equal, by shares, exact, by percentage), a greedy algorithm to settle debts with minimum transfers, pattern detection for subscriptions and recurring expenses, plus a dark mode and ES/EN language toggle. What was challenging? The Sankey diagram was the hardest part. My first version drew two separate bezier curves joined at the ends, which looked angular and flat and kinda ugly ngl. Asked another AI for help and it spotted a missing lineTo, but the real fix was using a single bezierCurveTo per ribbon with control points at 42 percent of the horizontal distance (the same proportion D3 uses). Also had to make both sides share the same scale so ribbons flow horizontally instead of diagonal. The proportional sizing was another bug: I had a minimum height of 38px, so a 10 euro expense looked the same as a 400 euro income. Fixed by dropping the minimum to 3px. The OCR scanner had a silent bug where it would hang forever on “procesando imagen”. I was calling tesseractCargado.createWorker where tesseractCargado is a boolean, not the Tesseract library object. So I was doing true.createWorker which throws a TypeError that nobody caught. Fixed by calling Tesseract.createWorker and added a 90 second timeout. The internationalization had a sneaky bug too. The language toggle translated the main UI but left the forecast and debts sections in Spanish because that code was hardcoded from earlier betas. Had to re-translate every section separately. What are you proud of? The Sankey diagram, drawn entirely with vanilla canvas, no D3 or any charting library. About 200 lines of math and bezier curves, but the result looks professional. The debt settlement algorithm that minimizes transfers, so if three people owe each other small amounts it suggests the minimum set of payments instead of everyone paying everyone. The pattern detection that finds subscriptions and projects their annual cost, which is a sobering number to see. And the whole thing works offline with no backend, no account, no tracking. What should people know so they can test your project? Open the demo URL. The resumen tab shows the Sankey diagram, bar chart and donut chart. The apuntes tab lets you add expenses and browse them by month. The tickets tab lets you upload a receipt photo and the OCR extracts products and prices automatically. The deudas tab is where you add people and track shared expenses with four split methods, then see the minimum transfers needed to settle all debts. The gear icon in the header opens settings with a dark mode toggle and ES/EN language switch. Everything is stored locally in the browser, nothing is sent anywhere. Live demo: https://notjuangamer10.github.io/flujo/ Source: https://github.com/notjuangamer10/flujo", "repo": "https://github.com/NOTJuangamer10/flujo", "demo": "https://notjuangamer10.github.io/flujo/"}]...
|
[{"post_id": 64538, "ts": "202 [{"post_id": 64538, "ts": "2026-09-09T01:02:58Z", "hours": 3.3525, "text": "Flujo 6.2. Statistics, backup, and custom categories. Statistics dashboard. The resumen tab now shows six stat cards: total spent across all time, comparison vs last month (with up/down arrows and percentage), daily average for the current month, the most expensive day of the month, number of entries this month, and average per entry. The cards update automatically when you add or remove expenses. Backup. You can export all your data to CSV (for spreadsheets) or JSON (for a full backup that includes expenses, income, people, debts, budgets, and goals). You can also import a JSON file to restore everything. Useful for moving your data to another browser or just keeping a safe copy. Custom categories. You can now create your own expense categories with a custom name and a custom color using a color picker. The new categories appear automatically in the expense form and the ticket scanner. The charts and Sankey diagram will use your custom colors."}, {"post_id": 59025, "ts": "2026-08-31T16:40:42Z", "hours": 3.5872, "text": "Flujo 6.1. Budgets and savings goals. Budgets. Set a monthly limit per category. A progress bar shows how much you have spent vs the limit. The bar changes color: category color under 80 percent, ochre at 80 to 100 (almost there warning), red over 100 (over budget). The percentage and a short warning message appear next to each bar. Delete a budget with the x button on hover. Savings goals. Set a goal with a name, target amount and optional deadline. The app calculates your current savings (total income minus total expenses across all time) and shows a green progress bar toward the goal. When you hit 100 percent the goal name turns green with a checkmark. Useful for things like save 500 for summer trip. Both features appear in the resumen tab below the charts. They update automatically when you add or remove expenses. Everything is stored in localStorage, no server."}, {"post_id": 52733, "ts": "2026-08-23T01:54:52Z", "hours": 3.9356, "text": "Beta 5 of Flujo. Improvements based on reviewer feedback.PWA installable. A service worker now caches the core files so the app works offline on desktop and Android. The manifest is generated dynamically. CDN assets like Tesseract.js and Google Fonts are not cached to avoid bloat. The app itself, your expenses and charts all work offline.Language prompt on first launch. New users now see a modal asking them to choose Spanish or English before the app loads. This was the top complaint from reviewers on my other projects, who said the language toggle was hard to find.Onboarding overlay. First-time visitors get a welcome screen explaining the four tabs (resumen, apuntes, tickets, deudas) with a short description of each, plus tips like adding income sources first to see the Sankey diagram. Dismissible with a single click.Fixed incomplete translations. The canvas text “sin datos para mostrar” and “sin gastos” now respect the language setting. The footer and header subtitle also translate. Everything visible to the user is now either English or Spanish based on the preference."}, {"post_id": 44493, "ts": "2026-08-10T09:19:08Z", "hours": 8.0956, "text": "Beta 4 of Flujo is up. The biggest one yet, split into two parts because of the autoescritor’s 10 hour session limit. Beta 4a added the settings panel with dark mode and language toggle (ES/EN). The dark mode uses a warm dark brown palette instead of the usual cold gray, so it still feels editorial. The language toggle reloads the page to re-translate static text. Beta 4b added the debts and shared expenses system. You can add people (flatmates, friends) and track who owes whom. Shared expenses support four split methods: equal, by shares (e.g. 2:1:1 means one person pays double), exact amounts per person, and by percentage. The settle-up section uses a greedy algorithm to minimize the number of transfers needed to clear all debts, so if three people owe each other small amounts, it suggests the minimum set of transfers instead of everyone paying everyone. Also added pattern detection. The app analyzes your expenses and finds recurring ones, things you pay the same amount for multiple times. It separates them into likely subscriptions (same exact amount, repeated) and general recurring expenses (same description, similar amounts). Shows the projected annual cost for subscriptions, which is a sobering number to see. Next version will be the last: FastAPI backend for sync between phone and laptop, plus PWA installable."}, {"post_id": 43704, "ts": "2026-08-09T03:31:43Z", "hours": 7.7708, "text": "Beta 4a of Flujo is up. I’m starting to get tired of being all day coding. Started the debts and shared expenses feature, plus two settings that were requested on my other projects. First, a theme toggle. The app now supports a dark mode alongside the default cream paper look. The toggle is in a small settings panel in the header. The dark palette uses a warm dark brown instead of the usual cold gray, so it still feels like the editorial aesthetic.Second, multi-language support. The interface can switch between Spanish and English. Switching reloads the page so all the static text gets re-translated. The dynamic content (expenses, descriptions) stays in whatever language the user typed it in.Third, the structure for the debts tab is in place. A new “deudas” tab appears next to resumen, apuntes and tickets. The HTML is there (persons form, shared expense form with split method selector, movements list, settle-up section, patterns section) but the JavaScript logic comes in Beta 4b. The shared expense form supports four split methods: equal, by shares (e.g. 2:1:1 means one person pays double), exact amounts per person, and by percentage.Split this into two parts because of the autoescritor session limit. 4b comes next with all the logic for shared expenses, debt settlement and pattern detection."}, {"post_id": 43184, "ts": "2026-08-08T09:33:02Z", "hours": 6.4356, "text": "Beta 4a of Flujo is up. Started the debts and shared expenses feature, plus two settings that were requested on my other projects. First, a theme toggle. The app now supports a dark mode alongside the default cream paper look. The toggle is in a small settings panel in the header. The dark palette uses a warm dark brown instead of the usual cold gray, so it still feels like the editorial aesthetic. Second, multi-language support. The interface can switch between Spanish and English. Switching reloads the page so all the static text gets re-translated. The dynamic content (expenses, descriptions) stays in whatever language the user typed it in. Third, the structure for the debts tab is in place. A new “deudas” tab appears next to resumen, apuntes and tickets. The HTML is there (persons form, shared expense form with split method selector, movements list, settle-up section, patterns section) but the JavaScript logic comes in Beta 4b. The shared expense form supports four split methods: equal, by shares (e.g. 2:1:1), exact amounts per person, and by percentage. The settle-up section will use a greedy algorithm to minimize the number of transfers needed to clear all debts."}, {"post_id": 42943, "ts": "2026-08-07T22:39:17Z", "hours": 4.0389, "text": "Beta 3.1 is a bugfix release. Two issues. First, the OCR ticket scanner was completely broken. When you uploaded a photo it would say “procesando imagen” forever and never finish. Turned out I was calling tesseractCargado.createWorker where tesseractCargado is a boolean (true), not the Tesseract library object. So I was doing true.createWorker which is undefined.createWorker which throws a TypeError that nobody caught. Switched to Tesseract.createWorker and added a 90 second timeout plus proper try/catch so it can never hang again. Second, the Sankey text was blurry. Canvas draws with whatever font is available at draw time, and if Google Fonts was still loading on the first render it fell back to Arial which looked bad when scaled by devicePixelRatio. Fixed by waiting for document.fonts.ready before the first draw, rounding all Y coordinates to integers so they align with physical pixels, and redrawing on window resize so the DPR stays correct."}, {"post_id": 42609, "ts": "2026-08-07T12:57:34Z", "hours": 7.0344, "text": "Beta 3 is up Tabs and OCR Update!! Three changes. First, the Sankey is now proportional. Before, every node had a minimum height of 38px, so a 10 euro expense looked the same as a 400 euro income. Now the minimum is 3px and both sides use the global total as their scale, so node heights actually reflect the amounts. A 10 euro category is a tiny sliver next to a 400 euro income source. Second, added tabs. The app was getting long with everything in one column. Now there are three tabs: resumen (income sources and charts), apuntes (the expense form and list), and tickets (new). The tab bar uses the same editorial styling, lowercase text with an ochre underline on the active tab. Third, the big one: OCR ticket scanning. On the tickets tab you upload a photo of a supermarket receipt and Tesseract.js extracts the text, then a regex parser pulls out product names and prices. Each detected item shows up in a list with a checkbox, you pick a category, hit save, and all items become individual expenses. The parser looks for lines ending in a decimal number (the classic receipt format) and skips lines that look like totals, subtotals or payment info. Tesseract loads from CDN the first time you use it. It runs entirely in the browser, no server involved, which keeps the local-first promise. The recognition is decent for clean photos, struggles with crumpled receipts. The parser is basic but catches most supermarket formats. If it fails, there is a details panel showing the raw OCR text so you can see what went wrong."}, {"post_id": 41662, "ts": "2026-08-06T01:01:30Z", "hours": 4.3533, "text": "Beta 2.1 is a visual rework of the Sankey diagram. Charts Update!: The previous version worked but looked rough: the flow ribbons were angular, the nodes were plain rectangles, and the two sides used independent scales so the ribbons went diagonal instead of horizontal. I asked another AI for help with the algorithm and it suggested a cleaner approach. Each ribbon is now a single bezier curve with control points at 42 percent of the horizontal distance (the same proportion D3 uses in its Sankey layout), instead of two curves joined at the ends. The nodes are rounded rectangles with a soft shadow. Both sides share the same scale so the ribbons flow straight. Nodes are centered vertically instead of pinned to the top. I kept the editorial palette: dark green for income nodes, black ink for the center “total” node, cream with a colored accent stripe for each expense category. The ribbons use the category color at 30 percent opacity so overlaps create natural layering. Also fixed a timezone bug in the 6 month bar chart. I was using toISOString to build the month key, which converts to UTC and can return the wrong month near midnight. Switched to getFullYear and getMonth which stay in local time. The bars were technically drawing before but some months were mismatched, now they line up correctly. I still have to work that better, but it isnt thaaat bad"}, {"post_id": 41274, "ts": "2026-08-05T11:58:13Z", "hours": 8.9636, "text": "Beta 2 of Flujo is up. The big one: a Sankey diagram showing the flow of your money, income sources on the left, expense categories on the right, with smooth flowing ribbons in between. Drawn on canvas with vanilla JS, no D3 or any charting library. Just bezierCurveTo and a lot of math. Also added two more charts: a stacked bar chart showing the last 6 months (each bar broken down by category, with the monthly total on top), and a donut chart for the current month’s category breakdown with a legend. To make the Sankey meaningful I had to add an income system, a small form where you register your income sources (scholarship, parents, job, etc.). The balance section now shows five numbers: spent, count, average, income, and balance (green if positive, red if negative). The Sankey was the hardest part. My first version drew two separate bezier curves (top and bottom) and joined them at the ends, the ribbons looked flat and angular, like triangles. I asked Gemini for help and it spotted a missing lineTo at the destination node, which fixed the pinch. But the ribbons still looked off. Turned out the real problem was the algorithm: each ribbon needs to be ONE single bezierCurveTo with four control points (not two curves joined), and both sides need to share the same scale (not normalize independently). Once I fixed that, the ribbons flowed organically like a real Sankey. The bar chart had a sneaky bug too: it drew the grid lines but no bars. Took me a while, I was using canvas.clientWidth (DOM size) instead of canvas.width (drawing context size). The CSS makes the canvas visually smaller than its internal resolution, so the bars were being drawn outside the visible area. Classic canvas gotcha. Used a muted, desaturated palette for the 8 categories (ochre, dusty blue, sage green, etc.) instead of bright primary colors, keeps the editorial aesthetic intact. Next version will be the OCR ticket scanner, organized in tabs so the charts don’t compete with the expense list for space. And also redigning the sankey because i dont like how it looks."}, {"post_id": 40077, "ts": "2026-08-03T13:40:22Z", "hours": 7.2981, "text": "Started a new project called Flujo, a personal expense tracker. The idea was to make something that doesn’t look like every other finance app most of them use blue or green with cards and Material-style shadows. I went with an “editorial ledger” aesthetic: paper cream background, dark ink text, an ochre accent, and three typefaces working together Fraunces (a serif) for titles, Inter Tight for UI, and JetBrains Mono with tabular numerals for the amounts so they align like a real accounting book. Beta 1 is the basics: a form to add an expense (amount, category, description, date), a list of expenses for the current month with running numbers (001, 002…), and three totals on top spent, count, and average. There’s a month selector in the header. Everything lives in localStorage, no backend, no server, no tracking. The list is called “libro mayor” (general ledger) and each entry is an “apunte” (bookkeeping entry) small details that lean into the book metaphor. Next version will add the Sankey diagram and bar charts."}]...
|
Title: Flujo by @jupeme6 | Stardance
Devlogs:
Sta Title: Flujo by @jupeme6 | Stardance
Devlogs:
Started a new project called Flujo, a personal expense tracker. The idea was to make something that doesn’t look like every other finance app most of them use blue or green with cards and Material-style shadows. I went with an “editorial ledger” aesthetic: paper cream background, dark ink text, an ochre accent, and three typefaces working together Fraunces (a serif) for titles, Inter Tight for UI, and JetBrains Mono with tabular numerals for the amounts so they align like a real accounting book. Beta 1 is the basics: a form to add an expense (amount, category, description, date), a list of expenses for the current month with running numbers (001, 002…), and three totals on top spent, count, and average. There’s a month selector in the header. Everything lives in localStorage, no backend, no server, no tracking. The list is called “libro mayor” (general ledger) and each entry is an “apunte” (bookkeeping entry) small details that lean into the book metaphor. Next version will add the Sankey diagram and bar charts.
Beta 2 of Flujo is up. The big one: a Sankey diagram showing the flow of your money, income sources on the left, expense categories on the right, with smooth flowing ribbons in between. Drawn on canvas with vanilla JS, no D3 or any charting library. Just bezierCurveTo and a lot of math. Also added two more charts: a stacked bar chart showing the last 6 months (each bar broken down by category, with the monthly total on top), and a donut chart for the current month’s category breakdown with a legend. To make the Sankey meaningful I had to add an income system, a small form where you register your income sources (scholarship, parents, job, etc.). The balance section now shows five numbers: spent, count, average, income, and balance (green if positive, red if negative). The Sankey was the hardest part. My first version drew two separate bezier curves (top and bottom) and joined them at the ends, the ribbons looked flat and angular, like triangles. I asked Gemini for help and it spotted a missing lineTo at the destination node, which fixed the pinch. But the ribbons still looked off. Turned out the real problem was the algorithm: each ribbon needs to be ONE single bezierCurveTo with four control points (not two curves joined), and both sides need to share the same scale (not normalize independently). Once I fixed that, the ribbons flowed organically like a real Sankey. The bar chart had a sneaky bug too: it drew the grid lines but no bars. Took me a while, I was using canvas.clientWidth (DOM size) instead of canvas.width (drawing context size). The CSS makes the canvas visually smaller than its internal resolution, so the bars were being drawn outside the visible area. Classic canvas gotcha. Used a muted, desaturated palette for the 8 categories (ochre, dusty blue, sage green, etc.) instead of bright primary colors, keeps the editorial aesthetic intact. Next version will be the OCR ticket scanner, organized in tabs so the charts don’t compete with the expense list for space. And also redigning the sankey because i dont like how it looks.
Beta 2.1 is a visual rework of the Sankey diagram. Charts Update!: The previous version worked but looked rough: the flow ribbons were angular, the nodes were plain rectangles, and the two sides used independent scales so the ribbons went diagonal instead of horizontal. I asked another AI for help with the algorithm and it suggested a cleaner approach. Each ribbon is now a single bezier curve with control points at 42 percent of the horizontal distance (the same proportion D3 uses in its Sankey layout), instead of two curves joined at the ends. The nodes are rounded rectangles with a soft shadow. Both sides share the same scale so the ribbons flow straight. Nodes are centered vertically instead of pinned to the top. I kept the editorial palette: dark green for income nodes, black ink for the center “total” node, cream with a colored accent stripe for each expense category. The ribbons use the category color at 30 percent opacity so overlaps create natural layering. Also fixed a timezone bug in the 6 month bar chart. I was using toISOString to build the month key, which converts to UTC and can return the wrong month near midnight. Switched to getFullYear and getMonth which stay in local time. The bars were technically drawing before but some months were mismatched, now they line up correctly. I still have to work that better, but it isnt thaaat bad
Beta 3 is up Tabs and OCR Update!! Three changes. First, the Sankey is now proportional. Before, every node had a minimum height of 38px, so a 10 euro expense looked the same as a 400 euro income. Now the minimum is 3px and both sides use the global total as their scale, so node heights actually reflect the amounts. A 10 euro category is a tiny sliver next to a 400 euro income source. Second, added tabs. The app was getting long with everything in one column. Now there are three tabs: resumen (income sources and charts), apuntes (the expense form and list), and tickets (new). The tab bar uses the same editorial styling, lowercase text with an ochre underline on the active tab. Third, the big one: OCR ticket scanning. On the tickets tab you upload a photo of a supermarket receipt and Tesseract.js extracts the text, then a regex parser pulls out product names and prices. Each detected item shows up in a list with a checkbox, you pick a category, hit save, and all items become individual expenses. The parser looks for lines ending in a decimal number (the classic receipt format) and skips lines that look like totals, subtotals or payment info. Tesseract loads from CDN the first time you use it. It runs entirely in the browser, no server involved, which keeps the local-first promise. The recognition is decent for clean photos, struggles with crumpled receipts. The parser is basic but catches most supermarket formats. If it fails, there is a details panel showing the raw OCR text so you can see what went wrong.
Beta 3.1 is a bugfix release. Two issues. First, the OCR ticket scanner was completely broken. When you uploaded a photo it would say “procesando imagen” forever and never finish. Turned out I was calling tesseractCargado.createWorker where tesseractCargado is a boolean (true), not the Tesseract library object. So I was doing true.createWorker which is undefined.createWorker which throws a TypeError that nobody caught. Switched to Tesseract.createWorker and added a 90 second timeout plus proper try/catch so it can never hang again. Second, the Sankey text was blurry. Canvas draws with whatever font is available at draw time, and if Google Fonts was still loading on the first render it fell back to Arial which looked bad when scaled by devicePixelRatio. Fixed by waiting for document.fonts.ready before the first draw, rounding all Y coordinates to integers so they align with physical pixels, and redrawing on window resize so the DPR stays correct.
Beta 4a of Flujo is up. Started the debts and shared expenses feature, plus two settings that were requested on my other projects. First, a theme toggle. The app now supports a dark mode alongside the default cream paper look. The toggle is in a small settings panel in the header. The dark palette uses a warm dark brown instead of the usual cold gray, so it still feels like the editorial aesthetic. Second, multi-language support. The interface can switch between Spanish and English. Switching reloads the page so all the static text gets re-translated. The dynamic content (expenses, descriptions) stays in whatever language the user typed it in. Third, the structure for the debts tab is in place. A new “deudas” tab appears next to resumen, apuntes and tickets. The HTML is there (persons form, shared expense form with split method selector, movements list, settle-up section, patterns section) but the JavaScript logic comes in Beta 4b. The shared expense form supports four split methods: equal, by shares (e.g. 2:1:1), exact amounts per person, and by percentage. The settle-up section will use a greedy algorithm to minimize the number of transfers needed to clear all debts.
Beta 4a of Flujo is up. I’m starting to get tired of being all day coding. Started the debts and shared expenses feature, plus two settings that were requested on my other projects. First, a theme toggle. The app now supports a dark mode alongside the default cream paper look. The toggle is in a small settings panel in the header. The dark palette uses a warm dark brown instead of the usual cold gray, so it still feels like the editorial aesthetic.Second, multi-language support. The interface can switch between Spanish and English. Switching reloads the page so all the static text gets re-translated. The dynamic content (expenses, descriptions) stays in whatever language the user typed it in.Third, the structure for the debts tab is in place. A new “deudas” tab appears next to resumen, apuntes and tickets. The HTML is there (persons form, shared expense form with split method selector, movements list, settle-up section, patterns section) but the JavaScript logic comes in Beta 4b. The shared expense form supports four split methods: equal, by shares (e.g. 2:1:1 means one person pays double), exact amounts per person, and by percentage.Split this into two parts because of the autoescritor session limit. 4b comes next with all the logic for shared expenses, debt settlement and pattern detection.
Beta 4 of Flujo is up. The biggest one yet, split into two parts because of the autoescritor’s 10 hour session limit. Beta 4a added the settings panel with dark mode and language toggle (ES/EN). The dark mode uses a warm dark brown palette instead of the usual cold gray, so it still feels editorial. The language toggle reloads the page to re-translate static text. Beta 4b added the debts and shared expenses system. You can add people (flatmates, friends) and track who owes whom. Shared expenses support four split methods: equal, by shares (e.g. 2:1:1 means one person pays double), exact amounts per person, and by percentage. The settle-up section uses a greedy algorithm to minimize the number of transfers needed to clear all debts, so if three people owe each other small amounts, it suggests the minimum set of transfers instead of everyone paying everyone. Also added pattern detection. The app analyzes your expenses and finds recurring ones, things you pay the same amount for multiple times. It separates them into likely subscriptions (same exact amount, repeated) and general recurring expenses (same description, similar amounts). Shows the projected annual cost for subscriptions, which is a sobering number to see. Next version will be the last: FastAPI backend for sync between phone and laptop, plus PWA installable.
Beta 5 of Flujo. Improvements based on reviewer feedback.PWA installable. A service worker now caches the core files so the app works offline on desktop and Android. The manifest is generated dynamically. CDN assets like Tesseract.js and Google Fonts are not cached to avoid bloat. The app itself, your expenses and charts all work offline.Language prompt on first launch. New users now see a modal asking them to choose Spanish or English before the app loads. This was the top complaint from reviewers on my other projects, who said the language toggle was hard to find.Onboarding overlay. First-time visitors get a welcome screen explaining the four tabs (resumen, apuntes, tickets, deudas) with a short description of each, plus tips like adding income sources first to see the Sankey diagram. Dismissible with a single click.Fixed incomplete translations. The canvas text “sin datos para mostrar” and “sin gastos” now respect the language setting. The footer and header subtitle also translate. Everything visible to the user is now either English or Spanish based on the preference.
Flujo 6.1. Budgets and savings goals. Budgets. Set a monthly limit per category. A progress bar shows how much you have spent vs the limit. The bar changes color: category color under 80 percent, ochre at 80 to 100 (almost there warning), red over 100 (over budget). The percentage and a short warning message appear next to each bar. Delete a budget with the x button on hover. Savings goals. Set a goal with a name, target amount and optional deadline. The app calculates your current savings (total income minus total expenses across all time) and shows a green progress bar toward the goal. When you hit 100 percent the goal name turns green with a checkmark. Useful for things like save 500 for summer trip. Both features appear in the resumen tab below the charts. They update automatically when you add or remove expenses. Everything is stored in localStorage, no server.
Flujo 6.2. Statistics, backup, and custom categories. Statistics dashboard. The resumen tab now shows six stat cards: total spent across all time, comparison vs last month (with up/down arrows and percentage), daily average for the current month, the most expensive day of the month, number of entries this month, and average per entry. The cards update automatically when you add or remove expenses. Backup. You can export all your data to CSV (for spreadsheets) or JSON (for a full backup that includes expenses, income, people, debts, budgets, and goals). You can also import a JSON file to restore everything. Useful for moving your data to another browser or just keeping a safe copy. Custom categories. You can now create your own expense categories with a custom name and a custom color using a color picker. The new categories appear automatically in the expense form and the ticket scanner. The charts and Sankey diagram will use your custom colors.
Ships:
What did you make? A personal expense tracker called Flujo, built with an editorial / ledger aesthetic. The app tracks income and expenses with categories, a 5-day forecast visualization, an OCR ticket scanner, and a full debt and shared expenses system for tracking who owes whom between flatmates or friends. Everything is local-first, stored in localStorage, no account, no server, no tracking. Built in four betas. Beta 1 was the basics: add expenses, browse by month, summary totals. Beta 2 added a Sankey diagram showing money flow from income to expense categories, a stacked bar chart for the last 6 months, and a donut chart for category breakdown, all drawn on canvas with vanilla JS (no charting library). Beta 3 added a tabbed interface (resumen, apuntes, tickets, deudas) and an OCR ticket scanner using Tesseract.js that extracts products and prices from receipt photos. Beta 4 added the debts system with four split methods (equal, by shares, exact, by percentage), a greedy algorithm to settle debts with minimum transfers, pattern detection for subscriptions and recurring expenses, plus a dark mode and ES/EN language toggle. What was challenging? The Sankey diagram was the hardest part. My first version drew two separate bezier curves joined at the ends, which looked angular and flat and kinda ugly ngl. Asked another AI for help and it spotted a missing lineTo, but the real fix was using a single bezierCurveTo per ribbon with control points at 42 percent of the horizontal distance (the same proportion D3 uses). Also had to make both sides share the same scale so ribbons flow horizontally instead of diagonal. The proportional sizing was another bug: I had a minimum height of 38px, so a 10 euro expense looked the same as a 400 euro income. Fixed by dropping the minimum to 3px. The OCR scanner had a silent bug where it would hang forever on “procesando imagen”. I was calling tesseractCargado.createWorker where tesseractCargado is a boolean, not the Tesseract library object. So I was doing true.createWorker which throws a TypeError that nobody caught. Fixed by calling Tesseract.createWorker and added a 90 second timeout. The internationalization had a sneaky bug too. The language toggle translated the main UI but left the forecast and debts sections in Spanish because that code was hardcoded from earlier betas. Had to re-translate every section separately. What are you proud of? The Sankey diagram, drawn entirely with vanilla canvas, no D3 or any charting library. About 200 lines of math and bezier curves, but the result looks professional. The debt settlement algorithm that minimizes transfers, so if three people owe each other small amounts it suggests the minimum set of payments instead of everyone paying everyone. The pattern detection that finds subscriptions and projects their annual cost, which is a sobering number to see. And the whole thing works offline with no backend, no account, no tracking. What should people know so they can test your project? Open the demo URL. The resumen tab shows the Sankey diagram, bar chart and donut chart. The apuntes tab lets you add expenses and browse them by month. The tickets tab lets you upload a receipt photo and the OCR extracts products and prices automatically. The deudas tab is where you add people and track shared expenses with four split methods, then see the minimum transfers needed to settle all debts. The gear icon in the header opens settings with a dark mode toggle and ES/EN language switch. Everything is stored locally in the browser, nothing is sent anywhere. Live demo: https://notjuangamer10.github.io/flujo/ Source: https://github.com/notjuangamer10/flujo
What did you make? A local-first expense tracker called Flujo with an editorial / ledger aesthetic. It tracks income and expenses, has a Sankey diagram drawn from scratch on canvas (no libraries), an OCR ticket scanner, a debt settlement system for flatmates, budgets with alerts, savings goals, statistics, and CSV/JSON backup. Six betas in total. Everything is in localStorage, no backend, no account, PWA installable for offline use. What was challenging? The Sankey diagram was the hardest. Built it with bezier curves on canvas, had to fix proportional sizing and ribbon flow. The OCR scanner had a bug where it would hang forever because I was calling a boolean instead of the Tesseract library. The i18n had a sneaky bug where early betas left some sections in Spanish even after switching to English. What are you proud of? The Sankey diagram with zero dependencies, the greedy algorithm that settles debts with the minimum number of transfers, and the statistics dashboard comparing month-over-month spending. The whole thing works offline. What should people know so they can test your project? Open the demo. Choose language on first launch. The resumen tab has charts, budgets, goals, stats, and backup. The apuntes tab is for expenses. The tickets tab scans receipts via OCR. The deudas tab tracks shared expenses and suggests minimum transfers to settle. Gear icon for dark mode and language. Live demo: https://notjuangamer10.github.io/flujo/ Source: https://github.com/notjuangamer10/flujo...
|
1792878584.0517979
|
1793742584.0517979
|
|
42813
|
RichardWatersonOS by @wal | Stardance
|
wal
|
2
|
13.0
|
89
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T08:05:32Z", "hours": 8.0, "multiplier": 11.66, "payout": 89, "blessing": "neutral", "text": "Hi everyone! This is my project RichardWatersonOS! This is an OS clearly, and it is based on the Amazing world of Gumball show. There are plenty of features, like webcam, calculator, mail and family photo folders. To build it I used JS, HTML and CSS. The most challenging part for me was a calculator, since i dont know ANY programming languages, even such a simple task was pretty hard for me. I am really proud of how it turned out, but i couldnt make that old a little bent screen effect, but other than that its cool. Especially i love the mail and calculator. For anyone testing my project, firstly PLEASE look at the original video linked on a welcome screen, to understand the concept better. Be aware that there are sounds, but pls dont turn them off. Also, dont divide by 0. Thank you!", "repo": "https://github.com/walterm4lon-coder/RichardWatersonOS", "demo": "https://walterm4lon-coder.github.io/RichardWatersonOS/"}, {"ship_num": 2, "ts": "2026-08-02T18:56:55Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own OS called “DarkFantasyOS’. I know its not much, but i really like how it looks. It was all built using the guide, with its own feature being an app called “WizardNews”, where you can read whats going on in Wizard Town. Also i have an app called “Spells”, which has different spells collected by a wizard throughout his life, and you can change, add or delete text howtever you want there. The hardest part for me was making “Spells” app recall and save the info, i really struggled with that, because im new to programming lol. When you test this project, please listen to the song and check out my personal website, i really like the song, and the website is just cool imo. I hope you like it!", "repo": "https://github.com/walterm4lon-coder/RichardWatersonOS", "demo": "https://walterm4lon-coder.github.io/RichardWatersonOS/"}]...
|
[{"post_id": 51784, "ts": "202 [{"post_id": 51784, "ts": "2026-08-21T17:00:19Z", "hours": 1.4508, "text": "MAYBE MY LAST DEVLOG! Any suggestions pls? If you have any suggestions on what to add to this project, feel free to comment, i will be really happy to read your ideas:) ##So, the progress: 1. Anais and Richard+Nicole folders I made 2 more folders that are dedicated to Anais and Richard and Nicole, completing the folders fully 2. Added “Saxophone Chihuahua” to some icons I really wanted to do this one, since in the show it was really funny, and i just didnt want to do the Rick Roll for things that dont have a purpose yet. Right now its in 3 places, so its not that much of it. 3. Page regulations With the help of AI, i managed to remove that anoying scroll thing on the right of the creen in chrome, as well as now windows can not leave the limits of the page. Im sorry i dont know js that well:( 4. DO NOT DIVIDE BY 0. Thats an easter egg i did for the real ones who know. Thanks to @Rodrigo_Todescatto2010 for motivating me to do this:) So yeah, this is it i guess. So if you have any suggestions left, please tell me, and if not, then i will ship this project tomorrow. I am not shure if you can try this project other way, but here is a link to github just in case: https://walterm4lon-coder.github.io/darkerfantasyOS/ make shure to make the zoom 100% in viewport by pressing Ctrl+ -/+ and enter full screen with f11"}, {"post_id": 51286, "ts": "2026-08-20T20:41:01Z", "hours": 2.5006, "text": "I WILL NOT ADD FEMALE CHARACTERS!!! why, you may ask… because, in calcUlator game there is no male characters too! Anyways, i finally had some time to make some progress for this wonderful project, so here are things I added: 1.Calculator, for actually playing it! With the assistance of AI i could create it, but the font is kinda lame for now, i will change it later, though overall pretty proud of the result! I may add some easter egg to it later tho, but dont tell anyone;) 2. “The toilet is overflowing again.” message! Now, when you open your email tab, which for now is Earth icon, you will get a new notification, featuring multiple Richard’s wifes - Nicoles - dancing as faries, and then wonderfull message popping up. And just to annoy the user, music will not stop playing until u turn it off. 3. Albums of Darwin and Gumball These are just good ol’ photos saved on richards pc of his favourite children. I should add Anais later lol. Struggles The problem with me - i have no idea how to code. Apart from basic css, html, and maybe smth in java that i copied from a template, i have no idea how to code, im more of a hardware person. So this project is a struggle for me, even though its really basic. i still really enjoy it, since i love gumball, but still."}, {"post_id": 42913, "ts": "2026-08-07T21:23:47Z", "hours": 0.9144, "text": "Yo! RichardWatersonOS is updated! I added 2 main things: I added a web cam, which is basically a video, i filmed the webcam from the original series, and added it as a window. I added a cursor, just like in the original, but i still have to animate it to look better and more accurate. I also added 2 more folders on the right to match the original scene. I wont have time to write the code this week, so i guess another update will be somewhere in 20-ish something day of august. Thank you very much for the support on the previous devlog, that really motivated me to actually do this as good as i can!"}, {"post_id": 41211, "ts": "2026-08-05T09:15:39Z", "hours": 2.745, "text": "For my WebOS 2 project, i decided to completely change the idea behind the OS itself. So, please meet the RichardWatersonOS! It is inspired by a popular scene from the cartoon show “The Amazing World of Gumball”, where Richard is reviewing the game called “Calculator” on his PC. You can look at this moment on Youtube using this link: https://www.youtube.com/watch?v=LqYkRphJFvo I really like this show overall, so i decided to recreate this funny scene, using as basis the project that i have already created, so i wouldnt have to recreate it again. For now, i changed the style of windows, time, and added some icons to represend Richards desktop from the video!"}, {"post_id": 39444, "ts": "2026-08-02T12:09:21Z", "hours": 0.4706, "text": "The Second app is finished, ready to ship! The second app is called “WizardNews”, and there are some cool stories about life in Wizard Town!"}, {"post_id": 39415, "ts": "2026-08-02T11:23:14Z", "hours": 3.8147, "text": "Created my first app! It was very challenging on the part of JS, but ig i managed to understand it! Really happy tho The app is basically all the spells that the good ol wizard collected over his journeys."}, {"post_id": 39019, "ts": "2026-08-01T17:55:20Z", "hours": 0.5531, "text": "Moved through the tutorial and made my Welcome screen! Its very basic, but it will do the work for now:)"}]...
|
Title: RichardWatersonOS by @wal | Stardance
Devl Title: RichardWatersonOS by @wal | Stardance
Devlogs:
Moved through the tutorial and made my Welcome screen! Its very basic, but it will do the work for now:)
Created my first app! It was very challenging on the part of JS, but ig i managed to understand it! Really happy tho The app is basically all the spells that the good ol wizard collected over his journeys.
The Second app is finished, ready to ship! The second app is called “WizardNews”, and there are some cool stories about life in Wizard Town!
For my WebOS 2 project, i decided to completely change the idea behind the OS itself. So, please meet the RichardWatersonOS! It is inspired by a popular scene from the cartoon show “The Amazing World of Gumball”, where Richard is reviewing the game called “Calculator” on his PC. You can look at this moment on Youtube using this link: https://www.youtube.com/watch?v=LqYkRphJFvo I really like this show overall, so i decided to recreate this funny scene, using as basis the project that i have already created, so i wouldnt have to recreate it again. For now, i changed the style of windows, time, and added some icons to represend Richards desktop from the video!
Yo! RichardWatersonOS is updated! I added 2 main things: I added a web cam, which is basically a video, i filmed the webcam from the original series, and added it as a window. I added a cursor, just like in the original, but i still have to animate it to look better and more accurate. I also added 2 more folders on the right to match the original scene. I wont have time to write the code this week, so i guess another update will be somewhere in 20-ish something day of august. Thank you very much for the support on the previous devlog, that really motivated me to actually do this as good as i can!
I WILL NOT ADD FEMALE CHARACTERS!!! why, you may ask… because, in calcUlator game there is no male characters too! Anyways, i finally had some time to make some progress for this wonderful project, so here are things I added: 1.Calculator, for actually playing it! With the assistance of AI i could create it, but the font is kinda lame for now, i will change it later, though overall pretty proud of the result! I may add some easter egg to it later tho, but dont tell anyone;) 2. “The toilet is overflowing again.” message! Now, when you open your email tab, which for now is Earth icon, you will get a new notification, featuring multiple Richard’s wifes - Nicoles - dancing as faries, and then wonderfull message popping up. And just to annoy the user, music will not stop playing until u turn it off. 3. Albums of Darwin and Gumball These are just good ol’ photos saved on richards pc of his favourite children. I should add Anais later lol. Struggles The problem with me - i have no idea how to code. Apart from basic css, html, and maybe smth in java that i copied from a template, i have no idea how to code, im more of a hardware person. So this project is a struggle for me, even though its really basic. i still really enjoy it, since i love gumball, but still.
MAYBE MY LAST DEVLOG! Any suggestions pls? If you have any suggestions on what to add to this project, feel free to comment, i will be really happy to read your ideas:) ##So, the progress: 1. Anais and Richard+Nicole folders I made 2 more folders that are dedicated to Anais and Richard and Nicole, completing the folders fully 2. Added “Saxophone Chihuahua” to some icons I really wanted to do this one, since in the show it was really funny, and i just didnt want to do the Rick Roll for things that dont have a purpose yet. Right now its in 3 places, so its not that much of it. 3. Page regulations With the help of AI, i managed to remove that anoying scroll thing on the right of the creen in chrome, as well as now windows can not leave the limits of the page. Im sorry i dont know js that well:( 4. DO NOT DIVIDE BY 0. Thats an easter egg i did for the real ones who know. Thanks to @Rodrigo_Todescatto2010 for motivating me to do this:) So yeah, this is it i guess. So if you have any suggestions left, please tell me, and if not, then i will ship this project tomorrow. I am not shure if you can try this project other way, but here is a link to github just in case: https://walterm4lon-coder.github.io/darkerfantasyOS/ make shure to make the zoom 100% in viewport by pressing Ctrl+ -/+ and enter full screen with f11
Ships:
I made my own OS called “DarkFantasyOS’. I know its not much, but i really like how it looks. It was all built using the guide, with its own feature being an app called “WizardNews”, where you can read whats going on in Wizard Town. Also i have an app called “Spells”, which has different spells collected by a wizard throughout his life, and you can change, add or delete text howtever you want there. The hardest part for me was making “Spells” app recall and save the info, i really struggled with that, because im new to programming lol. When you test this project, please listen to the song and check out my personal website, i really like the song, and the website is just cool imo. I hope you like it!
Hi everyone! This is my project RichardWatersonOS! This is an OS clearly, and it is based on the Amazing world of Gumball show. There are plenty of features, like webcam, calculator, mail and family photo folders. To build it I used JS, HTML and CSS. The most challenging part for me was a calculator, since i dont know ANY programming languages, even such a simple task was pretty hard for me. I am really proud of how it turned out, but i couldnt make that old a little bent screen effect, but other than that its cool. Especially i love the mail and calculator. For anyone testing my project, firstly PLEASE look at the original video linked on a welcome screen, to understand the concept better. Be aware that there are sounds, but pls dont turn them off. Also, dont divide by 0. Thank you!...
|
1792850179.9782279
|
1792936579.9782279
|
|
42823
|
tashOS by @vrajsanghavi | Stardance
|
vrajsanghavi
|
2
|
11.34
|
7
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T10:26:05Z", "hours": 3.0, "multiplier": 2.57, "payout": 7, "blessing": "neutral", "text": "I HAD MADE MORE THAN 3 CHANGES IN MY tashos[WebOS 2] .. i have added a terminal with basic commands!! i have also included a calculator in commands!! i have added multiple wallpapers here!!! i have added a settings so that you can add/remove website shortcuts!!(my favourite) i have added files and it can save any text you wannt here… and more!!!!! you can see a detailed description in README.md", "repo": "https://github.com/vraj2011/tashOS", "demo": "https://tashos.netlify.app"}, {"ship_num": 2, "ts": "2026-08-13T18:33:56Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made this project with full of joy!! and i learned much new things like setting up time and more!!! i have created 2 apps with moving,dragable and closable windows.. i tried to make this tashOS og and it is!!! now i will update it when i unlock webOS2 so waiting for the review…. check this out, https://tashos.netlify.app/", "repo": "https://github.com/vraj2011/tashOS", "demo": "https://tashos.netlify.app"}]...
|
[{"post_id": 60363, "ts": "202 [{"post_id": 60363, "ts": "2026-09-02T17:31:11Z", "hours": 4.3408, "text": "WORKED BIG ON IT !!! I HAVE TO SLEEP SCHOOLS TOMORROW EARLY MORINING ..I WILL EDIT THIS IN FEW HOURS"}, {"post_id": 48042, "ts": "2026-08-16T10:21:18Z", "hours": 1.1839, "text": "finally, everything is looking done… i am shipping this project, you can use it daily!! at tashos.netlify.app"}, {"post_id": 47886, "ts": "2026-08-16T04:35:45Z", "hours": 1.4281, "text": "i have added many wallpapers and auto changing system,too. and i also added a terminal here(learning how to respond for that commands) and more!! i also added a loading page tutorial for users ,i am working to add it in settings,too. visit tashOS at https://tashos.netlify.app"}, {"post_id": 46474, "ts": "2026-08-13T18:28:00Z", "hours": 2.1228, "text": "FINALLY,I DONE IT… I COMPLETED MY FULLL PROJECT NOW ,I KNEW I AM VERY SLOW BUT I POLISHED IT WITH MY FULL OF SKILLS SO IT IS LIVE AT https://tashos.netlify.app and everything’s fine now we have 2 app windows ,i willl add more!!! sooooon!! so get updated keep learning and building!!!its midnight 12 but done"}, {"post_id": 45861, "ts": "2026-08-12T16:14:11Z", "hours": 0.665, "text": "this time i obveously done background image and also a clock version for us!! very good…"}, {"post_id": 45819, "ts": "2026-08-12T15:27:48Z", "hours": 1.1742, "text": "i am on this web os ,i knew i worked very low here but i tried my best writing every single world carefully and i have done this,specially text was failing everytime then i found a issue so i solved it!! part 1 is done by 2x time.. but we will work more soon!!"}]...
|
Title: tashOS by @vrajsanghavi | Stardance
Devlog Title: tashOS by @vrajsanghavi | Stardance
Devlogs:
i am on this web os ,i knew i worked very low here but i tried my best writing every single world carefully and i have done this,specially text was failing everytime then i found a issue so i solved it!! part 1 is done by 2x time.. but we will work more soon!!
this time i obveously done background image and also a clock version for us!! very good…
FINALLY,I DONE IT… I COMPLETED MY FULLL PROJECT NOW ,I KNEW I AM VERY SLOW BUT I POLISHED IT WITH MY FULL OF SKILLS SO IT IS LIVE AT https://tashos.netlify.app and everything’s fine now we have 2 app windows ,i willl add more!!! sooooon!! so get updated keep learning and building!!!its midnight 12 but done
i have added many wallpapers and auto changing system,too. and i also added a terminal here(learning how to respond for that commands) and more!! i also added a loading page tutorial for users ,i am working to add it in settings,too. visit tashOS at https://tashos.netlify.app
finally, everything is looking done… i am shipping this project, you can use it daily!! at tashos.netlify.app
WORKED BIG ON IT !!! I HAVE TO SLEEP SCHOOLS TOMORROW EARLY MORINING ..I WILL EDIT THIS IN FEW HOURS
Ships:
i made this project with full of joy!! and i learned much new things like setting up time and more!!! i have created 2 apps with moving,dragable and closable windows.. i tried to make this tashOS og and it is!!! now i will update it when i unlock webOS2 so waiting for the review…. check this out, https://tashos.netlify.app/
I HAD MADE MORE THAN 3 CHANGES IN MY tashos[WebOS 2] .. i have added a terminal with basic commands!! i have also included a calculator in commands!! i have added multiple wallpapers here!!! i have added a settings so that you can add/remove website shortcuts!!(my favourite) i have added files and it can save any text you wannt here… and more!!!!! you can see a detailed description in README.md...
|
1792878789.6741495
|
1793742789.6741495
|
|
42834
|
Manual OS by @troksaroberts | Stardance
|
troksaroberts
|
2
|
34.0
|
308
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T21:46:33Z", "hours": 25.0, "multiplier": 12.58, "payout": 308, "blessing": "neutral", "text": "The idea is that to use apps and use basic OS functionality you have to install packages through console! To enable this “OS MODE” you need to choose “EVERYTHING MANUAL” in the lock screen! I am really proud of how comfy and functional OS became, how you can scale and scale it even more, and more. It was the right choice to think about project future in the beggining, and maybe overthink project architecture. To test project press “Try project” or press link . What will you see: Booting screen Lock screen, to continue press “Space” Input to enter your username (enter at least three characters) Choose what mode you want (everything preinstalled or everything manual) - for fast test you can choose everything preinstalled, but if you want to really suffer from idea in the begginning then chooose everything manual!", "repo": "https://github.com/RobertsRob/Manual_OS", "demo": "https://robertsrob.github.io/Manual_OS/"}, {"ship_num": 2, "ts": "2026-08-05T13:42:54Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a fully working WEB OS with draggable windows and multiple applications (trash bin - for decor, web browser - that accepts only urls and of course notepad). The thing that I am most proud of is funcional taskbar. To test my project just click “try project” and open apps by double clicking on desktop applications. BTW desktop icons are also draggable.", "repo": "https://github.com/RobertsRob/Manual_OS", "demo": "https://robertsrob.github.io/Manual_OS/"}]...
|
[{"post_id": 66201, "ts": "202 [{"post_id": 66201, "ts": "2026-09-11T21:29:15Z", "hours": 6.6028, "text": "Video game in my OS I added a functionality to the trash app. Now to clear “cache” in my OS, you have to play a game where you need to catapult trash to target. Controlls: Input ranges - vertical and horizontal trajectory Enter or SHOOT button - launch R - restart game after loss Also you can sometimes delete needed information for OS functionality and will be activated self destruction mode Game is written with a bit of math and html canvas)"}, {"post_id": 63836, "ts": "2026-09-07T20:12:56Z", "hours": 2.0031, "text": "Polished + Image Viewer Now you can open Images and ZOOM IN I also added a lot of content - text file and funny jokes even small puzzle ) You can also use basic search in File Explorer as well as going to specefic folder by typing it in path input."}, {"post_id": 63701, "ts": "2026-09-07T17:08:13Z", "hours": 3.4933, "text": "Update of the File Explorer In this addition i added more manuality to basic functions and huge amount of small fixes that enabled me to add new things. Some small updates: Added seconds to time Skip option for booting screent by pressing ESC Everything preinstalled is now a default so testers will be able to use system more easily Also as it is shown in the image now there is new look to File Exlorer and it can now open txt files in notepad, though some of functions like searching are not working yet. Images one of which is stored in Documents folder is opening as text in notepad showing link. Next update I will polish File Explorer and add Image Viewer"}, {"post_id": 53199, "ts": "2026-08-23T17:15:45Z", "hours": 3.0419, "text": "First steps of MANUALITY Toady I added two main thing and first is the taskbar update - was added decorative icon and time in right side (hh:mm:ss and dd:mm:yyyy) Also I added install command that shows animation of installation as well as changes in dictionary that package was installed. For now it doesnt work - system feels as everything preinstalled but next thing to do is to add restrictions to system usage without proper installations."}, {"post_id": 44858, "ts": "2026-08-10T21:54:02Z", "hours": 2.7164, "text": "More commands and boot screen I reworked app opening logic so now you can open an app with one terminal command, like notepad or web . Also now before lock screen booting screen can be seen. It shows ~350 lines of some made up text to imitate linux boot screen. It takes about 5.5 seconds to boot up."}, {"post_id": 43365, "ts": "2026-08-08T15:55:08Z", "hours": 3.2469, "text": "Lock screen and neofetch like command Today I added lock screen where you choose your username and whether you want to use this system in manual mode. Also I added command neofetch to show ManualOS logo in console. You can try current version using this link: https://robertsrob.github.io/Manual_OS/"}, {"post_id": 42950, "ts": "2026-08-07T22:46:48Z", "hours": 3.3981, "text": "Terminal Now that is the projects main part - terminal installs - manual part . User will have to install packages to do something - open apps, close apps, minimize apps - super MANUAL, so disk is not flooded with unnecessary packages. Today I added terminal and help command, with plans to expand amount of commands. Interesting part of implementation was color setup - I made terminal structure rework from initial idea. With this console structure I can easily write new colors to show in terminal. There is also easter egg)). Whats next: Command expansion and make them actually work Lock screen Manuality other fun stuff P.S. Manu testers may be fooled, but you can actually open multiple windows of the same app, as much as you want, just like in Linux or any other OS."}, {"post_id": 41018, "ts": "2026-08-04T22:25:15Z", "hours": 1.4872, "text": "Functional taskbar and notepad Now taskbar is not a decoration it is a functinable piece of software. You can choose app to open, choose whats app is on top of other and minimizing works. If you minimize app now pressing in the taskbar you can bring it back! Now thats pretty cool HUH? 😅 Also I added Notepad where you can write something, no functionaluty for now only textarea but looks goood. Also used backdrop-filter: blur(25px) to blur backgrounds, looks good to me."}, {"post_id": 40151, "ts": "2026-08-03T15:35:14Z", "hours": 1.6078, "text": "Window controll buttons Today I added options for users to maximize, minimize and close windows, also i added so windows now have adjustable priority and you can controll which windows are on top of others by clicking on them. Here is a video of functionality showcase:"}, {"post_id": 39705, "ts": "2026-08-02T20:46:36Z", "hours": 1.9425, "text": "Added windows and added browser application I added so when you double click on icon the window with app opens. Also browser was added. It is not google, funny thing google simply doesnt work in iframe. Also these windows are draggable from left side . You can write a url and press Enter , then site will be loaded. In exaples can be seen Wikipedia and my other project - Authentication template ) If you want to try current version you can visit this link: https://robertsrob.github.io/Manual_OS/"}, {"post_id": 39491, "ts": "2026-08-02T13:57:17Z", "hours": 3.7544, "text": "I started my Manual OS The idea is to make Web OS where nothing is installed and you have to install everything manually. There will be two options to use complete instalation or do manualy . Right now i am building main part then to split it and make users to install by parts everything (instalation is only in UI)"}]...
|
Title: Manual OS by @troksaroberts | Stardance
De Title: Manual OS by @troksaroberts | Stardance
Devlogs:
I started my Manual OS The idea is to make Web OS where nothing is installed and you have to install everything manually. There will be two options to use complete instalation or do manualy . Right now i am building main part then to split it and make users to install by parts everything (instalation is only in UI)
Added windows and added browser application I added so when you double click on icon the window with app opens. Also browser was added. It is not google, funny thing google simply doesnt work in iframe. Also these windows are draggable from left side . You can write a url and press Enter , then site will be loaded. In exaples can be seen Wikipedia and my other project - Authentication template ) If you want to try current version you can visit this link: https://robertsrob.github.io/Manual_OS/
Window controll buttons Today I added options for users to maximize, minimize and close windows, also i added so windows now have adjustable priority and you can controll which windows are on top of others by clicking on them. Here is a video of functionality showcase:
Functional taskbar and notepad Now taskbar is not a decoration it is a functinable piece of software. You can choose app to open, choose whats app is on top of other and minimizing works. If you minimize app now pressing in the taskbar you can bring it back! Now thats pretty cool HUH? 😅 Also I added Notepad where you can write something, no functionaluty for now only textarea but looks goood. Also used backdrop-filter: blur(25px) to blur backgrounds, looks good to me.
Terminal Now that is the projects main part - terminal installs - manual part . User will have to install packages to do something - open apps, close apps, minimize apps - super MANUAL, so disk is not flooded with unnecessary packages. Today I added terminal and help command, with plans to expand amount of commands. Interesting part of implementation was color setup - I made terminal structure rework from initial idea. With this console structure I can easily write new colors to show in terminal. There is also easter egg)). Whats next: Command expansion and make them actually work Lock screen Manuality other fun stuff P.S. Manu testers may be fooled, but you can actually open multiple windows of the same app, as much as you want, just like in Linux or any other OS.
Lock screen and neofetch like command Today I added lock screen where you choose your username and whether you want to use this system in manual mode. Also I added command neofetch to show ManualOS logo in console. You can try current version using this link: https://robertsrob.github.io/Manual_OS/
More commands and boot screen I reworked app opening logic so now you can open an app with one terminal command, like notepad or web . Also now before lock screen booting screen can be seen. It shows ~350 lines of some made up text to imitate linux boot screen. It takes about 5.5 seconds to boot up.
First steps of MANUALITY Toady I added two main thing and first is the taskbar update - was added decorative icon and time in right side (hh:mm:ss and dd:mm:yyyy) Also I added install command that shows animation of installation as well as changes in dictionary that package was installed. For now it doesnt work - system feels as everything preinstalled but next thing to do is to add restrictions to system usage without proper installations.
Update of the File Explorer In this addition i added more manuality to basic functions and huge amount of small fixes that enabled me to add new things. Some small updates: Added seconds to time Skip option for booting screent by pressing ESC Everything preinstalled is now a default so testers will be able to use system more easily Also as it is shown in the image now there is new look to File Exlorer and it can now open txt files in notepad, though some of functions like searching are not working yet. Images one of which is stored in Documents folder is opening as text in notepad showing link. Next update I will polish File Explorer and add Image Viewer
Polished + Image Viewer Now you can open Images and ZOOM IN I also added a lot of content - text file and funny jokes even small puzzle ) You can also use basic search in File Explorer as well as going to specefic folder by typing it in path input.
Video game in my OS I added a functionality to the trash app. Now to clear “cache” in my OS, you have to play a game where you need to catapult trash to target. Controlls: Input ranges - vertical and horizontal trajectory Enter or SHOOT button - launch R - restart game after loss Also you can sometimes delete needed information for OS functionality and will be activated self destruction mode Game is written with a bit of math and html canvas)
Ships:
I made a fully working WEB OS with draggable windows and multiple applications (trash bin - for decor, web browser - that accepts only urls and of course notepad). The thing that I am most proud of is funcional taskbar. To test my project just click “try project” and open apps by double clicking on desktop applications. BTW desktop icons are also draggable.
The idea is that to use apps and use basic OS functionality you have to install packages through console! To enable this “OS MODE” you need to choose “EVERYTHING MANUAL” in the lock screen! I am really proud of how comfy and functional OS became, how you can scale and scale it even more, and more. It was the right choice to think about project future in the beggining, and maybe overthink project architecture. To test project press “Try project” or press link . What will you see: Booting screen Lock screen, to continue press “Space” Input to enter your username (enter at least three characters) Choose what mode you want (everything preinstalled or everything manual) - for fast test you can choose everything preinstalled, but if you want to really suffer from idea in the begginning then chooose everything manual!...
|
1792850183.1781135
|
1792936583.1781135
|
|
42882
|
krip-os by @kripusek | Stardance
|
kripusek
|
2
|
4.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T23:12:34Z", "hours": 1.0, "multiplier": 2.3, "payout": 1, "blessing": "neutral", "text": "I have added a few functions like draggable desktop icons, a command line with a few apps in it, a settings page and clickable buttons of open apps on the task bar so you can pop them up on top. I have been working on them on my phone since I had to get somewhere today, so that’s neat I think.", "repo": "https://github.com/kripusek/krip-web-os", "demo": "https://kripusek.github.io/krip-web-os/"}, {"ship_num": 2, "ts": "2026-08-02T13:17:53Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made krip os, a webos thats based around me. it was pretty fun ngl since it was in html js and css, I feel like this enviroment suits me.", "repo": "https://github.com/kripusek/krip-web-os", "demo": "https://kripusek.github.io/krip-web-os/"}]...
|
[{"post_id": 39768, "ts": "202 [{"post_id": 39768, "ts": "2026-08-02T23:10:54Z", "hours": 0.7722, "text": "I have finished web os 2 I think."}, {"post_id": 39464, "ts": "2026-08-02T13:02:27Z", "hours": 0.3925, "text": "I think I have finished finished the project, I added doom and contact me to the webos"}, {"post_id": 39433, "ts": "2026-08-02T11:55:50Z", "hours": 0.2878, "text": "I have added a snake minigame that I worked on some time ago :D"}, {"post_id": 39426, "ts": "2026-08-02T11:38:22Z", "hours": 2.3397, "text": "I have finished the web os, I have realised rather late that I should have done more consistent dev logs but hey"}]...
|
Title: krip-os by @kripusek | Stardance
Devlogs:
Title: krip-os by @kripusek | Stardance
Devlogs:
I have finished the web os, I have realised rather late that I should have done more consistent dev logs but hey
I have added a snake minigame that I worked on some time ago :D
I think I have finished finished the project, I added doom and contact me to the webos
I have finished web os 2 I think.
Ships:
I have made krip os, a webos thats based around me. it was pretty fun ngl since it was in html js and css, I feel like this enviroment suits me.
I have added a few functions like draggable desktop icons, a command line with a few apps in it, a settings page and clickable buttons of open apps on the task bar so you can pop them up on top. I have been working on them on my phone since I had to get somewhere today, so that’s neat I think....
|
1792810534.948243
|
1792896934.948243
|
|
42891
|
Cookie-Website by @Vini | Stardance
|
Vini
|
2
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T05:19:01Z", "hours": 0.0, "multiplier": 1.48, "payout": 0, "blessing": "neutral", "text": "I made a simple website that has interactable buttons that you can click to go to different games. The hardest thing about this project was the rolling credits it was heavily annoying to learn how to animate with the three pillars. But I found a good tutorial online so its all good. Space huggers and stolen sword are from github repos. All of the other games are either me or my google classroom (One is embedded). Please go support space huggers @KilledByAPixle on github. PS. dont mind the aye-ayes", "repo": "https://github.com/wildevi26250-tech/Cookie-WebPage", "demo": "https://cookie-webpage-delta.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-03T07:40:32Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple website that has interactable buttons that you can click to go to different games. The hardest thing about this project was the rolling credits it was heavily annoying to learn how to animate with the three pillars. But I found a good tutorial online so its all good. Space huggers and stolen sword are from github repos. All of the other games are either me or my google classroom (One is embedded). Please go support space huggers @KilledByAPixle on github. PS. dont mind the aye-ayes", "repo": "https://github.com/wildevi26250-tech/Cookie-WebPage", "demo": "https://cookie-webpage-delta.vercel.app/"}]...
|
[{"post_id": 40448, "ts": "202 [{"post_id": 40448, "ts": "2026-08-03T23:29:16Z", "hours": 0.2919, "text": "Fixed Tenis not working Turns out it was a hosting issue"}, {"post_id": 39233, "ts": "2026-08-02T02:09:01Z", "hours": 0.7781, "text": "Features added Two new games Icons for the game nav buttons Pushed the changes to git Gonna keep adding games Keeping my NO AI POLCY (because AI is dumb)"}, {"post_id": 39192, "ts": "2026-08-02T00:00:11Z", "hours": 0.0972, "text": "Sooooooooooooo I made alot of progress on this site until I started a project for it The website is hosted on Netlify NO AI WAS USED (Because its dumb) Got some credits working (ROLLING) Got a bunch of java games on there I have embeded one game on it COOOOOOOOOKIE web icons And some drippy css Git hub repo working YIPPIE"}]...
|
Title: Cookie-Website by @Vini | Stardance
Devlog Title: Cookie-Website by @Vini | Stardance
Devlogs:
Sooooooooooooo I made alot of progress on this site until I started a project for it The website is hosted on Netlify NO AI WAS USED (Because its dumb) Got some credits working (ROLLING) Got a bunch of java games on there I have embeded one game on it COOOOOOOOOKIE web icons And some drippy css Git hub repo working YIPPIE
Features added Two new games Icons for the game nav buttons Pushed the changes to git Gonna keep adding games Keeping my NO AI POLCY (because AI is dumb)
Fixed Tenis not working Turns out it was a hosting issue
Ships:
I made a simple website that has interactable buttons that you can click to go to different games. The hardest thing about this project was the rolling credits it was heavily annoying to learn how to animate with the three pillars. But I found a good tutorial online so its all good. Space huggers and stolen sword are from github repos. All of the other games are either me or my google classroom (One is embedded). Please go support space huggers @KilledByAPixle on github. PS. dont mind the aye-ayes
I made a simple website that has interactable buttons that you can click to go to different games. The hardest thing about this project was the rolling credits it was heavily annoying to learn how to animate with the three pillars. But I found a good tutorial online so its all good. Space huggers and stolen sword are from github repos. All of the other games are either me or my google classroom (One is embedded). Please go support space huggers @KilledByAPixle on github. PS. dont mind the aye-ayes...
|
1792810543.4793956
|
1792896943.4793956
|
|
42904
|
My own site! by @Alan_X | Stardance
|
Alan_X
|
2
|
16.0
|
57
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T17:37:36Z", "hours": 9.0, "multiplier": 6.24, "payout": 57, "blessing": "neutral", "text": "Who are you? This is the question I want to cancel from your minds when you explore my site. The main aim is not to build a resume, but to feel closer to a stardancer you never met!", "repo": "https://github.com/onanaalan69-ctrl/Alan-personal-page", "demo": "https://alan-personal-page.vercel.app"}, {"ship_num": 2, "ts": "2026-08-18T06:38:26Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website to present myself, so that anyone going through it is able to know me better. It is made up of 3 distinct pages, each englobing a topic of my life I want to share. The most challenging part was for sure the CSS. Every beginner will agree with me there are some tags whose name are not 100% comprehensible, especially when you see their function after (here I think of the flex boxes, display and align function). Also, hosting a site was quite new to me. I remember having 14+ 404 errors with two different hosting apps, just because one of my pages was not named index. I spent hours trying to figure it out ! I am very proud of the website style. It perfectly represents me. The colours, the spiderman logo, the story telling and the content. All these hours of coding were worth seeing this creation of mine. To navigate throughout the site is pretty easy. Click on the vercel link and use the nav bar to go through the different sections.", "repo": "https://github.com/onanaalan69-ctrl/Alan-personal-page", "demo": "https://alan-personal-page.vercel.app"}]...
|
[{"post_id": 70722, "ts": "202 [{"post_id": 70722, "ts": "2026-09-19T17:31:58Z", "hours": 1.9069, "text": "There are different ways to know someone: you can know their name or their stats. But the best way is the one in which you can create a conversation with the person you know Today, I introduced a page that we must all consider when building something to present. I read a bunch of personal sites, but I can bearly have a conversation out of their projects with the people. Their center of interest is what can immediately pull a conversation, so I considered adding the preference.html page to be able to engage a conversation. I also mainly corrected the typos on my pages, and adjusted the README.md to fit the recent updates"}, {"post_id": 58804, "ts": "2026-08-31T12:00:37Z", "hours": 7.3, "text": "It’s more than just a website…it’s the easiest way someone can know me online After the first ship of this project, I decided to share the link to my website to some of my friends and people I met at the summer academy. One of my friends came to me and asked who I am ? This question was to tell me that the site did not tell who I was enough. In addition to that, I did not have any landing page, which is quite submerging. So I worked on the landing page to make it as a better introduction to the site than just diving in, and made the site more personal, so that someone could know me through this. I also: Introduced an animation to make the color theme of the home page change. The colors are variable and random according to a selection of mine, I updated the information in the “What’s up” page to fit my current situation, I corrected the typos in all the pages and introduced recent photographies in the “Project” page. As always, constructive feedback is always welcomed."}, {"post_id": 49300, "ts": "2026-08-18T01:18:06Z", "hours": 1.9869, "text": "Final Devlog before 1st ship For this last modification before the ship, I added another section that I named facts. It is all about why I joined the hack club and stardance community, and with what I learned, what I will do with that knowledge. I also updated the images unable to open on the browser and corrected grammatical and writting mistakes in the entire site. Most importantly, I completely changed my README.md, so as to be appropriate for shiping. I’m impatient to ship my first project, but I will do it when I wake at 6 in the morning. Wish me Good luck guys."}, {"post_id": 45998, "ts": "2026-08-12T20:54:46Z", "hours": 3.1411, "text": "#Devlog 3 The new pages I promised to share with you are already available guys! Checkout the Demo link. If I had to say something about the experience I will say it was very long to adjust my code into separate page - because before I had a single page for .css, .html and .js - But it’s so satisfying right now. Also I had to change my demo link. The one I had in vercel was just loading a 404, - and I did not even no why - so I changed to a github deployment. Notify me if during this demo testing you do not have access to the page. It’ll be quite unfortunate because I did put all of my love and experience into that."}, {"post_id": 45032, "ts": "2026-08-11T05:51:30Z", "hours": 1.3931, "text": "Brand New Section! Devlog #2 I shared my website with some of my friends, and they told me I should add a section specifically talking about my projects. So, it is what I am actually cooking. I also decided to add a section named “What’s up” that I will continuously update: I will try to keep the update tech-related and my encounters in the hackclub. I will share with you the latest updates I soon as I finish my summer academy this evening. Stay tuned"}, {"post_id": 40407, "ts": "2026-08-03T21:39:19Z", "hours": 0.7197, "text": "My personal web page. This activity is really a self-introspection, as we have to gather all we know on ourselves (which is not always that easy by the way) to create a page for anyone reading it to know you better. The first thing I thought of was the background to be my favorite color, and the profile picture my favotite hero. By this I i’m sure anyone can protray the type of person I’m from the value of my hero( hardwork, resilience, accountable, charismatic etc.) and the general traits of those having green as favorite color(calm, friendly, sociable, confident etc.). Then I expressed my artistic designs with the color choices. I see these choices that we may make subconsiouly the best way to know about someone"}]...
|
Title: My own site! by @Alan_X | Stardance
Devlog Title: My own site! by @Alan_X | Stardance
Devlogs:
My personal web page. This activity is really a self-introspection, as we have to gather all we know on ourselves (which is not always that easy by the way) to create a page for anyone reading it to know you better. The first thing I thought of was the background to be my favorite color, and the profile picture my favotite hero. By this I i’m sure anyone can protray the type of person I’m from the value of my hero( hardwork, resilience, accountable, charismatic etc.) and the general traits of those having green as favorite color(calm, friendly, sociable, confident etc.). Then I expressed my artistic designs with the color choices. I see these choices that we may make subconsiouly the best way to know about someone
Brand New Section! Devlog #2 I shared my website with some of my friends, and they told me I should add a section specifically talking about my projects. So, it is what I am actually cooking. I also decided to add a section named “What’s up” that I will continuously update: I will try to keep the update tech-related and my encounters in the hackclub. I will share with you the latest updates I soon as I finish my summer academy this evening. Stay tuned
#Devlog 3 The new pages I promised to share with you are already available guys! Checkout the Demo link. If I had to say something about the experience I will say it was very long to adjust my code into separate page - because before I had a single page for .css, .html and .js - But it’s so satisfying right now. Also I had to change my demo link. The one I had in vercel was just loading a 404, - and I did not even no why - so I changed to a github deployment. Notify me if during this demo testing you do not have access to the page. It’ll be quite unfortunate because I did put all of my love and experience into that.
Final Devlog before 1st ship For this last modification before the ship, I added another section that I named facts. It is all about why I joined the hack club and stardance community, and with what I learned, what I will do with that knowledge. I also updated the images unable to open on the browser and corrected grammatical and writting mistakes in the entire site. Most importantly, I completely changed my README.md, so as to be appropriate for shiping. I’m impatient to ship my first project, but I will do it when I wake at 6 in the morning. Wish me Good luck guys.
It’s more than just a website…it’s the easiest way someone can know me online After the first ship of this project, I decided to share the link to my website to some of my friends and people I met at the summer academy. One of my friends came to me and asked who I am ? This question was to tell me that the site did not tell who I was enough. In addition to that, I did not have any landing page, which is quite submerging. So I worked on the landing page to make it as a better introduction to the site than just diving in, and made the site more personal, so that someone could know me through this. I also: Introduced an animation to make the color theme of the home page change. The colors are variable and random according to a selection of mine, I updated the information in the “What’s up” page to fit my current situation, I corrected the typos in all the pages and introduced recent photographies in the “Project” page. As always, constructive feedback is always welcomed.
There are different ways to know someone: you can know their name or their stats. But the best way is the one in which you can create a conversation with the person you know Today, I introduced a page that we must all consider when building something to present. I read a bunch of personal sites, but I can bearly have a conversation out of their projects with the people. Their center of interest is what can immediately pull a conversation, so I considered adding the preference.html page to be able to engage a conversation. I also mainly corrected the typos on my pages, and adjusted the README.md to fit the recent updates
Ships:
I made a website to present myself, so that anyone going through it is able to know me better. It is made up of 3 distinct pages, each englobing a topic of my life I want to share. The most challenging part was for sure the CSS. Every beginner will agree with me there are some tags whose name are not 100% comprehensible, especially when you see their function after (here I think of the flex boxes, display and align function). Also, hosting a site was quite new to me. I remember having 14+ 404 errors with two different hosting apps, just because one of my pages was not named index. I spent hours trying to figure it out ! I am very proud of the website style. It perfectly represents me. The colours, the spiderman logo, the story telling and the content. All these hours of coding were worth seeing this creation of mine. To navigate throughout the site is pretty easy. Click on the vercel link and use the nav bar to go through the different sections.
Who are you? This is the question I want to cancel from your minds when you explore my site. The main aim is not to build a resume, but to feel closer to a stardancer you never met!...
|
1792838924.291632
|
1792925324.291632
|
|
43357
|
Obscure by @aamosm | Stardance
|
aamosm
|
2
|
5.0
|
60
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T08:31:47Z", "hours": 4.0, "multiplier": 15.47, "payout": 60, "blessing": "neutral", "text": "Obscure - Shipping A new tab page for finding things that aren’t always easy to find. It’s out … again. Obscure started as a simple new tab page. It now has: Multiple search engines Custom search engine dropdown Themes and custom accent colours Adjustable background blur and text length Clock and greeting controls NASA’s Astronomy Picture of the Day Local APOD caching Theme-matching favicon What’s next? The actual reason I made Obscure is still coming. I want people to be able to make their own search engines and have them discoverable through Obscure. That means YouTubers, students, Stardance hackers, or basically anyone making something interesting can have their own little search engine instead of everything having to go through the same few places. this is only the beginning. Try it. Break it. Tell me what sucks.", "repo": "https://github.com/aamosm/Obscure/", "demo": "https://aamosm.github.io/Obscure/"}, {"ship_num": 2, "ts": "2026-08-03T11:56:29Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Obscure is a customizable new tab page built around search and discovery. Right now it supports multiple search engines and displays NASA’s Astronomy Picture of the Day, but that’s only the starting point. The long-term goal is to let anyone create and share their own search engine. Whether it’s for a niche topic, a personal website, or a small community, Obscure aims to make discovering and using those search engines as simple as selecting them from a list while keeping the overall UI very minimal. Current Main Features : Search (Guide) NASA API (Guide) Implementation of different Search Engines Features to Add: More options for engine Better categorization Remove redundant engines that have shifted url (make more dynamic) Add themes (with NASA SPACE being one of the themes) Keyboard shortcuts Better customization", "repo": "https://github.com/aamosm/Obscure/", "demo": "https://aamosm.github.io/Obscure/"}]...
|
[{"post_id": 43835, "ts": "202 [{"post_id": 43835, "ts": "2026-08-09T08:18:39Z", "hours": 0.7078, "text": "Obscure - Devlog 4 Making it feel better This update was mostly about making Obscure nicer to actually use. I added a custom search engine dropdown that matches the current theme, along with controls for the background box and text length. The dropdown also got a few fixes after I found some problems with it not closing properly and text becoming hard to read. Small details The favicon now changes with the selected theme, so even the browser tab matches the page. I also added local caching for the APOD response, so the same day’s image doesn’t need to be fetched again every time the page is opened. What now I am probably going to work on my other projects unless I need to finish off tasks here. One glaringly obvious update I need to do is to update the weather API. Also the logging I made in the console straight up doxxes the api keys."}, {"post_id": 40276, "ts": "2026-08-03T18:15:28Z", "hours": 3.1458, "text": "Obscure - Devlog 3 Customisation This update was mostly about making Obscure feel more personal. The appearance settings are now fully wired up. Things like custom accent colours, blur, greeting, clock and theme switching all work properly instead of just being placeholders. Fixing the little things A lot of the work went into fixing issues that only showed up after actually using the page. I fixed theme colours, improved native control contrast, stopped APOD from randomly changing when switching image quality, fixed stale descriptions after failed requests and handled video APOD entries properly by falling back to their thumbnail. There were also a few small tweaks to make theme switching behave more naturally, like clearing custom accents when selecting a new theme."}, {"post_id": 40023, "ts": "2026-08-03T11:28:04Z", "hours": 0.2706, "text": "Obscure - Devlog 2 Search is working The new tab page now has a working search interface with support for multiple search engines. I’ll be adding more over time, especially community-made ones once that part of the project is ready. NASA APOD I also added NASA’s Astronomy Picture of the Day to the homepage. At first I used the high-resolution images, but they took noticeably longer to load. I switched to the standard image instead, which makes the page feel much more responsive without losing much quality. Small fixes There were a few setup issues along the way too. I fixed a GitHub Actions dependency problem and cleaned up a few things so deployments are a bit smoother."}, {"post_id": 40003, "ts": "2026-08-03T10:57:18Z", "hours": 0.3567, "text": "Obscure - Devlog 1 Getting started I started by following the guide, but as usual I ended up taking it in my own direction. For now, the project is a custom new tab page, but the long-term goal is much bigger. I want Obscure to support search engines created by other people, whether that’s YouTubers, fellow Stardance hackers or students. The idea came from FaceDev’s video where he built his own internet protocol. It wasn’t meant to replace the web, but to create a much smaller network where people could host their own websites. I want to bring a similar idea to Obscure by making it easy to discover and search through community-made search engines. Setting things up This project also gave me a chance to work with GitHub’s deployment workflow instead of the hosting setup I normally use. While setting everything up, I used a placeholder value for the API while wiring things together. Before adding the real key, I realised I’d forgotten to ignore the .env file. I fixed the .gitignore immediately, verified nothing sensitive had been committed, and only then added the actual credentials. It was a small mistake, but a good reminder to check the repository before introducing any secrets."}]...
|
Title: Obscure by @aamosm | Stardance
Devlogs:
Ob Title: Obscure by @aamosm | Stardance
Devlogs:
Obscure - Devlog 1 Getting started I started by following the guide, but as usual I ended up taking it in my own direction. For now, the project is a custom new tab page, but the long-term goal is much bigger. I want Obscure to support search engines created by other people, whether that’s YouTubers, fellow Stardance hackers or students. The idea came from FaceDev’s video where he built his own internet protocol. It wasn’t meant to replace the web, but to create a much smaller network where people could host their own websites. I want to bring a similar idea to Obscure by making it easy to discover and search through community-made search engines. Setting things up This project also gave me a chance to work with GitHub’s deployment workflow instead of the hosting setup I normally use. While setting everything up, I used a placeholder value for the API while wiring things together. Before adding the real key, I realised I’d forgotten to ignore the .env file. I fixed the .gitignore immediately, verified nothing sensitive had been committed, and only then added the actual credentials. It was a small mistake, but a good reminder to check the repository before introducing any secrets.
Obscure - Devlog 2 Search is working The new tab page now has a working search interface with support for multiple search engines. I’ll be adding more over time, especially community-made ones once that part of the project is ready. NASA APOD I also added NASA’s Astronomy Picture of the Day to the homepage. At first I used the high-resolution images, but they took noticeably longer to load. I switched to the standard image instead, which makes the page feel much more responsive without losing much quality. Small fixes There were a few setup issues along the way too. I fixed a GitHub Actions dependency problem and cleaned up a few things so deployments are a bit smoother.
Obscure - Devlog 3 Customisation This update was mostly about making Obscure feel more personal. The appearance settings are now fully wired up. Things like custom accent colours, blur, greeting, clock and theme switching all work properly instead of just being placeholders. Fixing the little things A lot of the work went into fixing issues that only showed up after actually using the page. I fixed theme colours, improved native control contrast, stopped APOD from randomly changing when switching image quality, fixed stale descriptions after failed requests and handled video APOD entries properly by falling back to their thumbnail. There were also a few small tweaks to make theme switching behave more naturally, like clearing custom accents when selecting a new theme.
Obscure - Devlog 4 Making it feel better This update was mostly about making Obscure nicer to actually use. I added a custom search engine dropdown that matches the current theme, along with controls for the background box and text length. The dropdown also got a few fixes after I found some problems with it not closing properly and text becoming hard to read. Small details The favicon now changes with the selected theme, so even the browser tab matches the page. I also added local caching for the APOD response, so the same day’s image doesn’t need to be fetched again every time the page is opened. What now I am probably going to work on my other projects unless I need to finish off tasks here. One glaringly obvious update I need to do is to update the weather API. Also the logging I made in the console straight up doxxes the api keys.
Ships:
Obscure is a customizable new tab page built around search and discovery. Right now it supports multiple search engines and displays NASA’s Astronomy Picture of the Day, but that’s only the starting point. The long-term goal is to let anyone create and share their own search engine. Whether it’s for a niche topic, a personal website, or a small community, Obscure aims to make discovering and using those search engines as simple as selecting them from a list while keeping the overall UI very minimal. Current Main Features : Search (Guide) NASA API (Guide) Implementation of different Search Engines Features to Add: More options for engine Better categorization Remove redundant engines that have shifted url (make more dynamic) Add themes (with NASA SPACE being one of the themes) Keyboard shortcuts Better customization
Obscure - Shipping A new tab page for finding things that aren’t always easy to find. It’s out … again. Obscure started as a simple new tab page. It now has: Multiple search engines Custom search engine dropdown Themes and custom accent colours Adjustable background blur and text length Clock and greeting controls NASA’s Astronomy Picture of the Day Local APOD caching Theme-matching favicon What’s next? The actual reason I made Obscure is still coming. I want people to be able to make their own search engines and have them discoverable through Obscure. That means YouTubers, students, Stardance hackers, or basically anyone making something interesting can have their own little search engine instead of everything having to go through the same few places. this is only the beginning. Try it. Break it. Tell me what sucks....
|
1792831960.5708098
|
1792918360.5708098
|
|
43459
|
Commerce OS by @Kartikey26 | Stardance
|
Kartikey26
|
2
|
38.0
|
374
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-21T09:16:57Z", "hours": 19.0, "multiplier": 9.17, "payout": 174, "blessing": "neutral", "text": "Made major changes in UI completely changed how the website looks also added some fun features like add test order add new feature just to test how things would work in the future further will work on the backend part", "repo": "https://github.com/kartikeynegi25/commerce-os", "demo": "https://kartikeynegi25.github.io/commerce-os"}, {"ship_num": 2, "ts": "2026-08-09T11:45:27Z", "hours": 19.0, "multiplier": 10.69, "payout": 200, "blessing": "neutral", "text": "Shipped Commerce OS! Built a full multi-page e-commerce dashboard platform using HTML, Tailwind CSS, and plain JavaScript with live search/filtering across pages. What I made: Dashboard overview with key KPI cards (Revenue, Orders, Bot Actions) Inbox & conversation threads with channel-tagged messages and status badges Orders management & detailed order pages (#1240, #1229) Products catalog, Calls & Call-Conversation view, Invoices, and Settings Challenges & Learning: Wrote custom JavaScript live search filters across both table views and link-card layouts. Designed clean, consistent Tailwind layouts across 8+ different template pages. AI Declaration: Used AI (Claude/ChatGPT) for initial layout scaffolding and syntax assistance. All project architecture, manual edits, component styling, and JS filtering logic were reviewed, customized, and implemented directly in VS Code. To test: Navigate through the sidebar links (Inbox, Orders, Products, Calls, Invoices, Settings). Use the live search bar on the inbox or orders page to filter items in real time. Live Demo: https://kartikeynegi25.github.io/commerce-os", "repo": "https://github.com/kartikeynegi25/commerce-os", "demo": "https://kartikeynegi25.github.io/commerce-os"}]...
|
[{"post_id": 51528, "ts": "202 [{"post_id": 51528, "ts": "2026-08-21T09:11:18Z", "hours": 2.4992, "text": "Okay so improved the Products page added option to add test order and also improved settings page and fixed few bugs like our little sun was coming over the notification bell in mobile view"}, {"post_id": 49067, "ts": "2026-08-17T17:40:33Z", "hours": 5.4081, "text": "The old UI was looking super dry and clunky, so I ended up spending most of today completely redoing the styling and making it actually fun to use.Went for a warm, clean palette (forest greens + light sky blue and a bright sun), fixed up the mobile sidebar, and made the whole layout feel cohesive instead of just random boxes on a screen.Along with the design overhaul, I also added two cool fun features: Quick Reply Macro Bar: In the inbox, you can now just click quick templates (like sending a 10% discount, sharing tracking, or saying you’re checking stock) to reply instantly without typing the same thing again and again. Simulate Incoming Order Button: Added a test order button in the orders tab that drops in a random simulated customer order in real-time so I can test how new orders look on the dashboard. Cleaned up all the messy JavaScript behind it too so the code is actually easy to read and work with. Feels way better to click around now!"}, {"post_id": 45188, "ts": "2026-08-11T14:43:30Z", "hours": 5.0839, "text": "Spent the day tearing down the old dashboard UI and rebuilding it from the ground up as the old one was not liked by some :( and after redesigning the design was getting cluttered with duplicate mobile navbars, inconsistent headers, and weird nested border boxes everywhere—so I fixed it across every single page. Also made sure that site is still fully responsive and interactive using CSS and JavaScript wrote new lines of code to make the site more impressive also now you can click on notification bell and the profile avatar too and do try the website and make some changes in settings to see it work !!"}, {"post_id": 44572, "ts": "2026-08-10T12:51:15Z", "hours": 6.0303, "text": "Quick update on the dashboard. Spent the last session turning static UI mockups into a working, stateful app that actually saves changes across pages. Here’s what got done: Sitewide Profile & Business Sync: Hooked up the Settings form to localStorage. Updating the owner name, business name, or email now instantly updates the navbar, sidebar, and profile.html across every page. Working Interactivity & Storage: Fixed order status toggles (Paid, Fulfilled) and inbox reply threads. Now you can also download invoice pdf [ though its not a real one ;) ]. Also created a business profile page. Website feels much more like a real web app now rather than a static prototype. Ready for review!"}, {"post_id": 43920, "ts": "2026-08-09T11:26:05Z", "hours": 2.5958, "text": "Fixed mobile responsiveness across all pages. Cleaned up Tailwind grid breaks, fixed text overflowing on smaller screens, and adjusted sidebar padding so it collapses cleanly on mobile. Prototype is officially done !!"}, {"post_id": 43240, "ts": "2026-08-08T11:54:30Z", "hours": 1.775, "text": "made a new customers page where each customer gets a profile also worked on responsiveness of the website to work on different devices"}, {"post_id": 42915, "ts": "2026-08-07T21:37:50Z", "hours": 3.6189, "text": "Added sample call-conversation, made invoices and a demo settings page shell. Almost done with all the UI templates for the platform—just need to check for the responsiveness of the page and make UI enhancement and polish everything."}, {"post_id": 41842, "ts": "2026-08-06T09:41:37Z", "hours": 4.1533, "text": "Added live search filtering across the site!! Using actual JavaScript instead of just Tailwind styling. Had to write two separate filter functions since the Inbox uses link cards while the other pages use tables anyway also built out product and calls page—need to add call-conversation and invoices next!"}, {"post_id": 41292, "ts": "2026-08-05T12:52:42Z", "hours": 2.0439, "text": "Built out the order details pages for orders #1240 and #1229. Got the customer info, order details, item breakdown, and status UI fully styled."}, {"post_id": 40889, "ts": "2026-08-04T18:09:01Z", "hours": 1.5731, "text": "Finished inbox-conversation and orders page. Built out the chat interface, fed sample data, and made orders table layout. Next step is wiring up the products page."}, {"post_id": 40620, "ts": "2026-08-04T08:48:48Z", "hours": 1.6886, "text": "Finished up inbox.html today. Added sample data, message list, status badges which the user will see while seeing the inbox of its business from multiple sources. Next will add some sample conversation and move on to orders section."}, {"post_id": 40145, "ts": "2026-08-03T15:28:57Z", "hours": 1.2211, "text": "Just finished the basic layout for Commerce OS. Built the main dashboard shell, navigation and sidebar using Tailwind CSS. Now moving on to the inbox section. Excited to start this new journey!"}]...
|
Title: Commerce OS by @Kartikey26 | Stardance
Dev Title: Commerce OS by @Kartikey26 | Stardance
Devlogs:
Just finished the basic layout for Commerce OS. Built the main dashboard shell, navigation and sidebar using Tailwind CSS. Now moving on to the inbox section. Excited to start this new journey!
Finished up inbox.html today. Added sample data, message list, status badges which the user will see while seeing the inbox of its business from multiple sources. Next will add some sample conversation and move on to orders section.
Finished inbox-conversation and orders page. Built out the chat interface, fed sample data, and made orders table layout. Next step is wiring up the products page.
Built out the order details pages for orders #1240 and #1229. Got the customer info, order details, item breakdown, and status UI fully styled.
Added live search filtering across the site!! Using actual JavaScript instead of just Tailwind styling. Had to write two separate filter functions since the Inbox uses link cards while the other pages use tables anyway also built out product and calls page—need to add call-conversation and invoices next!
Added sample call-conversation, made invoices and a demo settings page shell. Almost done with all the UI templates for the platform—just need to check for the responsiveness of the page and make UI enhancement and polish everything.
made a new customers page where each customer gets a profile also worked on responsiveness of the website to work on different devices
Fixed mobile responsiveness across all pages. Cleaned up Tailwind grid breaks, fixed text overflowing on smaller screens, and adjusted sidebar padding so it collapses cleanly on mobile. Prototype is officially done !!
Quick update on the dashboard. Spent the last session turning static UI mockups into a working, stateful app that actually saves changes across pages. Here’s what got done: Sitewide Profile & Business Sync: Hooked up the Settings form to localStorage. Updating the owner name, business name, or email now instantly updates the navbar, sidebar, and profile.html across every page. Working Interactivity & Storage: Fixed order status toggles (Paid, Fulfilled) and inbox reply threads. Now you can also download invoice pdf [ though its not a real one ;) ]. Also created a business profile page. Website feels much more like a real web app now rather than a static prototype. Ready for review!
Spent the day tearing down the old dashboard UI and rebuilding it from the ground up as the old one was not liked by some :( and after redesigning the design was getting cluttered with duplicate mobile navbars, inconsistent headers, and weird nested border boxes everywhere—so I fixed it across every single page. Also made sure that site is still fully responsive and interactive using CSS and JavaScript wrote new lines of code to make the site more impressive also now you can click on notification bell and the profile avatar too and do try the website and make some changes in settings to see it work !!
The old UI was looking super dry and clunky, so I ended up spending most of today completely redoing the styling and making it actually fun to use.Went for a warm, clean palette (forest greens + light sky blue and a bright sun), fixed up the mobile sidebar, and made the whole layout feel cohesive instead of just random boxes on a screen.Along with the design overhaul, I also added two cool fun features: Quick Reply Macro Bar: In the inbox, you can now just click quick templates (like sending a 10% discount, sharing tracking, or saying you’re checking stock) to reply instantly without typing the same thing again and again. Simulate Incoming Order Button: Added a test order button in the orders tab that drops in a random simulated customer order in real-time so I can test how new orders look on the dashboard. Cleaned up all the messy JavaScript behind it too so the code is actually easy to read and work with. Feels way better to click around now!
Okay so improved the Products page added option to add test order and also improved settings page and fixed few bugs like our little sun was coming over the notification bell in mobile view
Ships:
Shipped Commerce OS! Built a full multi-page e-commerce dashboard platform using HTML, Tailwind CSS, and plain JavaScript with live search/filtering across pages. What I made: Dashboard overview with key KPI cards (Revenue, Orders, Bot Actions) Inbox & conversation threads with channel-tagged messages and status badges Orders management & detailed order pages (#1240, #1229) Products catalog, Calls & Call-Conversation view, Invoices, and Settings Challenges & Learning: Wrote custom JavaScript live search filters across both table views and link-card layouts. Designed clean, consistent Tailwind layouts across 8+ different template pages. AI Declaration: Used AI (Claude/ChatGPT) for initial layout scaffolding and syntax assistance. All project architecture, manual edits, component styling, and JS filtering logic were reviewed, customized, and implemented directly in VS Code. To test: Navigate through the sidebar links (Inbox, Orders, Products, Calls, Invoices, Settings). Use the live search bar on the inbox or orders page to filter items in real time. Live Demo: https://kartikeynegi25.github.io/commerce-os
Made major changes in UI completely changed how the website looks also added some fun features like add test order add new feature just to test how things would work in the future further will work on the backend part...
|
1792824957.2953944
|
1792911357.2953944
|
|
43469
|
Iron Mario by @Lalith | Stardance
|
Lalith
|
2
|
57.0
|
740
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T17:21:14Z", "hours": 46.0, "multiplier": 16.47, "payout": 740, "blessing": "neutral", "text": "What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️", "repo": "https://github.com/Hustlenix/Iron-Mario", "demo": "https://hustlenix.github.io/Iron-Mario/"}, {"ship_num": 2, "ts": "2026-09-22T01:51:21Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What i have made is a simple hand made mario game, in my fav theme(Iron man), and the biggest challenege wasn’t coding the gamee, it was the asssests, as i had to hand draw all of them. I am proud that i could finish my rolemodel(iron man) themed project Try it out at: https://hustlenix.github.io/Iron-Mario/", "repo": "https://github.com/Hustlenix/Iron-Mario", "demo": "https://hustlenix.github.io/Iron-Mario/"}]...
|
[{"post_id": 80734, "ts": "202 [{"post_id": 80734, "ts": "2026-10-18T17:20:14Z", "hours": 5.2547, "text": "Final Devlog: Iron-Mario. What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️"}, {"post_id": 80318, "ts": "2026-10-17T08:47:56Z", "hours": 10.0194, "text": "The starting of the change:"}, {"post_id": 79851, "ts": "2026-10-15T16:48:50Z", "hours": 1.2397, "text": "Nah man, idk why but my ideas are many but my executions are none, because of that i change my ideas once in a while and lose my mind over it, now my idea is to recreate those old digital games like pong, tetris and stuff but with my pixl animation and a lil help from Chat JiBi-BiGi-GPT and make some money by running ads on it. first is to get my idea on to play, get audience and make money thats it! wish me luck"}, {"post_id": 79818, "ts": "2026-10-15T15:09:00Z", "hours": 1.4878, "text": "I really started working on what i said on my past devlog, which was changing the directory and after working on it for few hours, it is only showing 1.5 hr💔🥀 its okay man. anyways i have made only few assets, many more to go!!!!!!!!!!! here are the few which i made using aspertite and character genrator:"}, {"post_id": 79786, "ts": "2026-10-15T12:21:24Z", "hours": 3.0142, "text": "Hi guys, this is the turning point of my idea, where i change the whole ddirectory of my game. Iron mario isnt looking suitable for my amaizing pixl game so i am gonna name it: OnlyEducation, to bypass school desktop restrictions and you guys play my game! And my idea is to add as many nostalgic games as i could and make it a good gaming platform!"}, {"post_id": 78684, "ts": "2026-10-11T09:15:07Z", "hours": 2.99, "text": "As you can see, till now i was only using my MS paint and my time for asset genrations and stuff, which is painstackinginglt time taking and boring, but thanks to stardance, on my last ship they game me 10$ to spend in itch.io, i didnt use it much, but after buying few assets in it is is soooo easy to genrate assets. SHOUTOUT TO STARDANCE"}, {"post_id": 78045, "ts": "2026-10-09T10:45:03Z", "hours": 10.6569, "text": "Well, even thought i made soo many games, they lacked, clarity, focus, dopomine, and fun. if any one knows human game physology or smtg, please contact me. Like i dont know what i am doing, just adding 100 games in 10 hours isnt good, i gotta achive more than quantity. so i am tryna recreate old nostaliga games like subwaysurfers, temple run, agnry birds, and etc. If you have any game idea comment!!!!!!!!"}, {"post_id": 74434, "ts": "2026-09-27T11:33:45Z", "hours": 1.1883, "text": "Created my own version on dino-game based on mario and dinogame and iron man, les goooooo!"}, {"post_id": 74381, "ts": "2026-09-27T08:52:32Z", "hours": 6.3475, "text": "To make this a big, functional, production ready game i gotta scale it broder and bigger such that i get 1mil users and for that i am thinging of making my normal 7 game game into a 100 short mini games in one and make money through this!!!!!!"}, {"post_id": 73998, "ts": "2026-09-26T14:30:37Z", "hours": 3.4033, "text": "I am trying to make this website like a full on authentic game app and make money with this"}, {"post_id": 43836, "ts": "2026-08-09T08:24:02Z", "hours": 2.0347, "text": "I have this idea of replacing irom man instad of flappy bird and stuff and all of that"}, {"post_id": 43671, "ts": "2026-08-09T02:04:07Z", "hours": 6.4192, "text": "I’ve spent more than 6 hours coding, learning, building, and trial testing is it useually this hardbuilding a game? they said it will be easy😭✌🏻 please help me gand there are too many errors and stuff. and my creativity exeeded when they ased for 5 mini games, so i asked claude and it brainstromed and gave me few ideas now i am trying to add a flappy bird game in this, a classic mario game, a snake game, a simple plane shooting game, a tetris game, and that worlds first ping pong game."}, {"post_id": 41917, "ts": "2026-08-06T13:08:15Z", "hours": 0.3697, "text": "Ijust added a ending page, more like coding"}, {"post_id": 41902, "ts": "2026-08-06T12:24:45Z", "hours": 1.5389, "text": "I love you 3000"}, {"post_id": 41397, "ts": "2026-08-05T16:19:29Z", "hours": 0.9978, "text": "Starting of my very own Iron-Man themed game. Stay tuned gng"}]...
|
Title: Iron Mario by @Lalith | Stardance
Devlogs: Title: Iron Mario by @Lalith | Stardance
Devlogs:
Starting of my very own Iron-Man themed game. Stay tuned gng
I love you 3000
Ijust added a ending page, more like coding
I’ve spent more than 6 hours coding, learning, building, and trial testing is it useually this hardbuilding a game? they said it will be easy😭✌🏻 please help me gand there are too many errors and stuff. and my creativity exeeded when they ased for 5 mini games, so i asked claude and it brainstromed and gave me few ideas now i am trying to add a flappy bird game in this, a classic mario game, a snake game, a simple plane shooting game, a tetris game, and that worlds first ping pong game.
I have this idea of replacing irom man instad of flappy bird and stuff and all of that
I am trying to make this website like a full on authentic game app and make money with this
To make this a big, functional, production ready game i gotta scale it broder and bigger such that i get 1mil users and for that i am thinging of making my normal 7 game game into a 100 short mini games in one and make money through this!!!!!!
Created my own version on dino-game based on mario and dinogame and iron man, les goooooo!
Well, even thought i made soo many games, they lacked, clarity, focus, dopomine, and fun. if any one knows human game physology or smtg, please contact me. Like i dont know what i am doing, just adding 100 games in 10 hours isnt good, i gotta achive more than quantity. so i am tryna recreate old nostaliga games like subwaysurfers, temple run, agnry birds, and etc. If you have any game idea comment!!!!!!!!
As you can see, till now i was only using my MS paint and my time for asset genrations and stuff, which is painstackinginglt time taking and boring, but thanks to stardance, on my last ship they game me 10$ to spend in itch.io, i didnt use it much, but after buying few assets in it is is soooo easy to genrate assets. SHOUTOUT TO STARDANCE
Hi guys, this is the turning point of my idea, where i change the whole ddirectory of my game. Iron mario isnt looking suitable for my amaizing pixl game so i am gonna name it: OnlyEducation, to bypass school desktop restrictions and you guys play my game! And my idea is to add as many nostalgic games as i could and make it a good gaming platform!
I really started working on what i said on my past devlog, which was changing the directory and after working on it for few hours, it is only showing 1.5 hr💔🥀 its okay man. anyways i have made only few assets, many more to go!!!!!!!!!!! here are the few which i made using aspertite and character genrator:
Nah man, idk why but my ideas are many but my executions are none, because of that i change my ideas once in a while and lose my mind over it, now my idea is to recreate those old digital games like pong, tetris and stuff but with my pixl animation and a lil help from Chat JiBi-BiGi-GPT and make some money by running ads on it. first is to get my idea on to play, get audience and make money thats it! wish me luck
The starting of the change:
Final Devlog: Iron-Mario. What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️
Ships:
What i have made is a simple hand made mario game, in my fav theme(Iron man), and the biggest challenege wasn’t coding the gamee, it was the asssests, as i had to hand draw all of them. I am proud that i could finish my rolemodel(iron man) themed project Try it out at: https://hustlenix.github.io/Iron-Mario/
What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️...
|
1792853444.3103187
|
1792939844.3103187
|
|
43563
|
My very own WebOS by @Iv4e12 | Stardance
|
Iv4e12
|
2
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T12:32:34Z", "hours": 0.0, "multiplier": 2.66, "payout": 1, "blessing": "neutral", "text": "I added a calculator, task manager, minimizable windows, a lock screen (dw, there’s no password ;D) and a taskbar!", "repo": "https://github.com/Iv4e12/Stardance-WebOS", "demo": "https://iv4e12.github.io/Stardance-WebOS/"}, {"ship_num": 2, "ts": "2026-08-06T11:15:16Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a working WebOS. The most challenging part was probably debugging.", "repo": "https://github.com/Iv4e12/Stardance-WebOS", "demo": "https://iv4e12.github.io/Stardance-WebOS/"}]...
|
[{"post_id": 43250, "ts": "202 [{"post_id": 43250, "ts": "2026-08-08T12:29:49Z", "hours": 0.4633, "text": "Added a couple features for webos2!"}, {"post_id": 41848, "ts": "2026-08-06T10:02:54Z", "hours": 0.3044, "text": "Imma post it on GitHub and ship it now"}, {"post_id": 41843, "ts": "2026-08-06T09:43:07Z", "hours": 0.9833, "text": "I finished working on the website!"}, {"post_id": 41613, "ts": "2026-08-05T22:30:54Z", "hours": 0.25, "text": "Built the HTML!"}]...
|
Title: My very own WebOS by @Iv4e12 | Stardance
D Title: My very own WebOS by @Iv4e12 | Stardance
Devlogs:
Built the HTML!
I finished working on the website!
Imma post it on GitHub and ship it now
Added a couple features for webos2!
Ships:
I made a working WebOS. The most challenging part was probably debugging.
I added a calculator, task manager, minimizable windows, a lock screen (dw, there’s no password ;D) and a taskbar!...
|
1792838892.2527409
|
1792925292.2527409
|
|
43572
|
AKidsDream by @MrCode | Stardance
|
MrCode
|
2
|
190.61
|
2036
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T13:57:00Z", "hours": 107.0, "multiplier": 19.36, "payout": 1877, "blessing": "neutral", "text": "👾 AKidsDream~~(name work in progress)~~ , is a early version of a turn based strategy game , where you can controll multiple different units to win. 🤔 Why A Kid’s Dream? When I was a child, I created a small board game using paper and scissors. It was very complex, but still incredibly fun to play. 🏳️🏴Goal Its not just an attempt to make a game , its the challenge of creating modular , future proof system and to learn to clean code , using all my knoweledge of over the past 4 years of learning . (so even if i dont get rich with this game i did learn a lot xdd) What’s🆕 As this isn’t the first ship of the project, the project now contains: Mana💎 & a working card/hand systems Juicy new animations (as you may have seen with thecard drawing) more ℹ️nfo (who is playing and support for multiple local players) Hardships ( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///) Trying to code everything modular and clean takes time, which is valuable resource :( Also the progress feels much slower at the beginning (but i could reuse the modular ability system for the cards which made everything easier:)) As i have invested close to 200hourse, the project has grown so much that sometimes its hard to see how one system may break another , then its another 1 hour debugging", "repo": "https://github.com/MrCode200/AKidsDream", "demo": "https://github.com/MrCode200/AKidsDream/releases/tag/v0.2.0-pre-alpha.1"}, {"ship_num": 2, "ts": "2026-08-09T19:50:41Z", "hours": 72.0, "multiplier": 8.67, "payout": 159, "blessing": "neutral", "text": "👾 AKidsDream(name work in progress), is a early version of a turn based strategy game, where you can controll multiple different units to win. 🤔 Why A Kid’s Dream? When I was a child, I created a small board game using paper and scissors. It was very complex, but still incredibly fun to play. A Kid’s Dream 🌜is my attempt to recreate that experience. Not exactly as it was, but from the pieces that remain in my memory. It is a game inspired by childhood imagination, handmade rules, and the joy of turning simple ideas into an adventure. ⚔️ Currently the game is in very early alpha, basically a proof of concept. I would love support, about what you would like to see, Game Design tips and tricks and what a winning condition could be. (destroy objectives vs destory a unit(like a king 🤴)", "repo": "https://github.com/MrCode200/AKidsDream", "demo": "https://github.com/MrCode200/AKidsDream/releases/tag/v0.2.0-pre-alpha.1"}]...
|
[{"post_id": 75690, "ts": "202 [{"post_id": 75690, "ts": "2026-09-30T19:21:12Z", "hours": 11.6108, "text": "Devlog 16: Extensions, Plugins && MODSSSSS Yes, it has been time, for what has given success to most games EVER!!!!!! ➕MODS Hard as hell to implement, as you need to make sure that each coding dependencies are implemented correctly… Had to change hole game structure to be easily extendable/moddable (fun and hard ) But i have to say i am learning more which is awsome But still many bugs and logic to fix/implement lul…"}, {"post_id": 70733, "ts": "2026-09-19T17:44:42Z", "hours": 10.015, "text": "Devlog 15: The Power of Plugins 🔌 Turned the Tween System into a plugin :)) Now it is way easier to reuse animations everywhere 🎞️ Also finished all Card + Hand logic 🃏 and cleaned up lots of code + bugs along the way 😭 The project’s recent work includes a refactor of the ability/card systems plus deck and cardcasting functionality."}, {"post_id": 65311, "ts": "2026-09-10T11:39:01Z", "hours": 10.4142, "text": "Devlog 14: Is it SatisFeelingable enough ☺️ (Help Q&Q: what animation feels more satisfying ?:00) Added clean card animation (in not so clean code 😭😭) More information on who’s turn it is. with bumb up🆙 animations for the Q&Q see the videos <3 Next 🆙: Card Deck and card into effect animations (spawn animations if above works without coding problems, which i feel is a delusional hope🥲 )"}, {"post_id": 62821, "ts": "2026-09-06T10:50:51Z", "hours": 11.515, "text": "Devlog 13: 3rr0Rssss$s ❌ and ✅Results<> Completely rewrote ȩ̷̪̓̈́́́͗͝ŗ̵͔̥̜̹̬̭̯̏̆̽͂̈́̅̐͛̾͘ͅr̸͗̌͌̾̌̾̂́͜ö̷̪̰́͊̆͗̈́̿̏́̀̂r̶̨̮̹͎̹̫͑̅̂̽̾̎͌s , Now each method returns in its chain a Result<TValue, TError> Methods like Map,Bind,Tap etc. make it now super easy to process results and errors :))"}, {"post_id": 61536, "ts": "2026-09-04T14:30:32Z", "hours": 12.2986, "text": "Devlog 12: Cards and MORE Cards 🃏 I have added Cards which can now summon units Also needed to redo the ability validation as now the modular ability system came in handy. I was able to combine both the Ability System and the Cards , so that the cards can use them freely."}, {"post_id": 58885, "ts": "2026-08-31T13:41:36Z", "hours": 8.9453, "text": "Devlog 11: I Hereby SUMMON YOU! (#°Д°) Today we are adding CARDS , 🃏Cards contain MANA Portrait Health Duration (after how many rounds does the card play its effect ) One problem i am encountering is how to identify clicking vs draggin in godot 😵💫, but i believe i could use a workaround"}, {"post_id": 56779, "ts": "2026-08-28T17:55:17Z", "hours": 13.4456, "text": "Devlog 10: MOOORE ANIMATIONSS!!!! Added a TweenComponent🎞️, allowing quick *reactive* and configurabel way to add TWEENS Created AutoGenerated Scripts⚙️ (if you know Godot.SignalNames , in a way i created the same) And for some reason one of my scripts reset so i had to debug it completly from the beginning 😭, but somehow it just got better lol."}, {"post_id": 53811, "ts": "2026-08-24T14:46:01Z", "hours": 11.2481, "text": "Devlog 9: Soo can i remove it?:0 New modular UI animations and able to delete and see order of tiles selected 😃 Tween Component 🎞️ Allows Resources to animate specifics (loop, ping pong) on specific actions (ready, shown etc.) For multiselectable tiles, there is a new layer which shows when which tiles were selected. Allows also the deletion of tiles if still valid."}, {"post_id": 50525, "ts": "2026-08-19T18:26:55Z", "hours": 8.7558, "text": "Devlog 8: So thats how much more i can CUT you😈 100+ hours 🥳 Finally added a UI for Pool Points💯 (How often an ability can be cast) Pool Updates 💧 The pool shows Icon and Count/MaxCount , with custom ANIMATIONS when the count changes Blocking Manager 🫸 The new Blocking Manager keeps track of the game states and automatically, blocks specific ui. Very Dynamic ( •̀ ω •́ )✧ (using enums for options) Next UP: More juicy animations for the Pool count (showing diff, based on current selected tiles, and a crash animation (hopefully 😅, if i can figure that out xd ))"}, {"post_id": 47365, "ts": "2026-08-15T08:27:57Z", "hours": 4.3611, "text": "Devlog 8: Ahhh you, I hit ( ̄ε(# ̄)💥╰╮o( ̄皿 ̄///) Through the new ability System, was finally able to add hit flashes ! But it was such a pain to get the Shaders working 〒▽〒 , they were never firing once, but 3 - 4 times in one row which didn’t make sense for 1 SLAP. If you hit them hard enough they jitter 😱 … Future destination 🛣️ I could imagine updating the system to be reactive to the effect applied to each Unit (so more DMG => More BOOM💥) Also added finally animations (was time).🕺"}, {"post_id": 46304, "ts": "2026-08-13T13:09:07Z", "hours": 3.7408, "text": "Devlog 7: 🐦🔥 HUGE Ability CHANGES Finally finished the new ability system (just took like 14 HOuRs Xdd) The new system introducestwo ways of running abilities (🤫see video): ⛓️Sequential Runs all selected tiles one by one, and casts the effect 📦Batch Runs the effect on all selected tiles. Also Added Context so that Abilities/Effects can now communicate and influence each other : Cost = Base Cost + Selected Tiles ... Damage = Cost * Base Damage (infinite cycle of death 🩻) This will allow huge upgrades to make in a modular way complex abilities super simple and fast ."}, {"post_id": 45761, "ts": "2026-08-12T13:46:07Z", "hours": 11.2067, "text": "Devlog 6: Rebuilding the Ability System Completely restructured the ability system , allowing abilities to be either sequentially or in batches . Also improved the underlying patterns, making abilities easier to modify, reuse, and plug into the game.(see image) Currently implementing EffectTrigger , which allows Effects of abilities to happen on specific Frames or after specific Time etc."}, {"post_id": 44495, "ts": "2026-08-10T09:23:28Z", "hours": 1.1089, "text": "Devlog 5: Camera Movement & Board Centralization Added camera movement and board centralization It feels super smooth ( zooming and moving ) thanks to lerp (love that name xd) 🤫 Also auto centers dynamically based on BOARD SIZE (if you want you can fight your friends on 1000 x 1000 tiles lul)"}, {"post_id": 44174, "ts": "2026-08-09T19:13:05Z", "hours": 0.4558, "text": "Devlog 4: Pre-Alpha Release 🥳🥳 Pre-alpha release is out! ( under review shipping, follow to see when comes live ;)) Also fixed positioning of ability buttons 🔥"}, {"post_id": 44122, "ts": "2026-08-09T18:03:26Z", "hours": 6.4614, "text": "Devlog 3: Big Progress on Units & Turn Logic Made great progress… ( •̀ ω •́ )✧ Added unit sprites Implemented turn logic Overengineered like always, xd but if i every want to make a 2v2 or how many vs how many , it will work Good thing: it now supports local X vs X , which is great for testing. :)) Next up: cool animations hehehe."}, {"post_id": 40688, "ts": "2026-08-04T11:39:41Z", "hours": 1.4419, "text": "Devlog 2: A Super Compact, Dynamic Ability System Drag and drop your Patterns (Cross, etc.) and Tada👀, you’ve got a new ability.💪 Need a special effect? Just plug in one of: DamageEffect SpawnEffect MoveSelfEffect …and many more."}, {"post_id": 40390, "ts": "2026-08-03T21:11:26Z", "hours": 63.7325, "text": "Devlog 1: 50 hours in the bag, joined stardance now! Added Ability system and backend Teams Logic (nothing visual sadly yet…)"}]...
|
Title: AKidsDream by @MrCode | Stardance
Devlogs: Title: AKidsDream by @MrCode | Stardance
Devlogs:
Devlog 1: 50 hours in the bag, joined stardance now! Added Ability system and backend Teams Logic (nothing visual sadly yet…)
Devlog 2: A Super Compact, Dynamic Ability System Drag and drop your Patterns (Cross, etc.) and Tada👀, you’ve got a new ability.💪 Need a special effect? Just plug in one of: DamageEffect SpawnEffect MoveSelfEffect …and many more.
Devlog 3: Big Progress on Units & Turn Logic Made great progress… ( •̀ ω •́ )✧ Added unit sprites Implemented turn logic Overengineered like always, xd but if i every want to make a 2v2 or how many vs how many , it will work Good thing: it now supports local X vs X , which is great for testing. :)) Next up: cool animations hehehe.
Devlog 4: Pre-Alpha Release 🥳🥳 Pre-alpha release is out! ( under review shipping, follow to see when comes live ;)) Also fixed positioning of ability buttons 🔥
Devlog 5: Camera Movement & Board Centralization Added camera movement and board centralization It feels super smooth ( zooming and moving ) thanks to lerp (love that name xd) 🤫 Also auto centers dynamically based on BOARD SIZE (if you want you can fight your friends on 1000 x 1000 tiles lul)
Devlog 6: Rebuilding the Ability System Completely restructured the ability system , allowing abilities to be either sequentially or in batches . Also improved the underlying patterns, making abilities easier to modify, reuse, and plug into the game.(see image) Currently implementing EffectTrigger , which allows Effects of abilities to happen on specific Frames or after specific Time etc.
Devlog 7: 🐦🔥 HUGE Ability CHANGES Finally finished the new ability system (just took like 14 HOuRs Xdd) The new system introducestwo ways of running abilities (🤫see video): ⛓️Sequential Runs all selected tiles one by one, and casts the effect 📦Batch Runs the effect on all selected tiles. Also Added Context so that Abilities/Effects can now communicate and influence each other : Cost = Base Cost + Selected Tiles ... Damage = Cost * Base Damage (infinite cycle of death 🩻) This will allow huge upgrades to make in a modular way complex abilities super simple and fast .
Devlog 8: Ahhh you, I hit ( ̄ε(# ̄)💥╰╮o( ̄皿 ̄///) Through the new ability System, was finally able to add hit flashes ! But it was such a pain to get the Shaders working 〒▽〒 , they were never firing once, but 3 - 4 times in one row which didn’t make sense for 1 SLAP. If you hit them hard enough they jitter 😱 … Future destination 🛣️ I could imagine updating the system to be reactive to the effect applied to each Unit (so more DMG => More BOOM💥) Also added finally animations (was time).🕺
Devlog 8: So thats how much more i can CUT you😈 100+ hours 🥳 Finally added a UI for Pool Points💯 (How often an ability can be cast) Pool Updates 💧 The pool shows Icon and Count/MaxCount , with custom ANIMATIONS when the count changes Blocking Manager 🫸 The new Blocking Manager keeps track of the game states and automatically, blocks specific ui. Very Dynamic ( •̀ ω •́ )✧ (using enums for options) Next UP: More juicy animations for the Pool count (showing diff, based on current selected tiles, and a crash animation (hopefully 😅, if i can figure that out xd ))
Devlog 9: Soo can i remove it?:0 New modular UI animations and able to delete and see order of tiles selected 😃 Tween Component 🎞️ Allows Resources to animate specifics (loop, ping pong) on specific actions (ready, shown etc.) For multiselectable tiles, there is a new layer which shows when which tiles were selected. Allows also the deletion of tiles if still valid.
Devlog 10: MOOORE ANIMATIONSS!!!! Added a TweenComponent🎞️, allowing quick *reactive* and configurabel way to add TWEENS Created AutoGenerated Scripts⚙️ (if you know Godot.SignalNames , in a way i created the same) And for some reason one of my scripts reset so i had to debug it completly from the beginning 😭, but somehow it just got better lol.
Devlog 11: I Hereby SUMMON YOU! (#°Д°) Today we are adding CARDS , 🃏Cards contain MANA Portrait Health Duration (after how many rounds does the card play its effect ) One problem i am encountering is how to identify clicking vs draggin in godot 😵💫, but i believe i could use a workaround
Devlog 12: Cards and MORE Cards 🃏 I have added Cards which can now summon units Also needed to redo the ability validation as now the modular ability system came in handy. I was able to combine both the Ability System and the Cards , so that the cards can use them freely.
Devlog 13: 3rr0Rssss$s ❌ and ✅Results<> Completely rewrote ȩ̷̪̓̈́́́͗͝ŗ̵͔̥̜̹̬̭̯̏̆̽͂̈́̅̐͛̾͘ͅr̸͗̌͌̾̌̾̂́͜ö̷̪̰́͊̆͗̈́̿̏́̀̂r̶̨̮̹͎̹̫͑̅̂̽̾̎͌s , Now each method returns in its chain a Result<TValue, TError> Methods like Map,Bind,Tap etc. make it now super easy to process results and errors :))
Devlog 14: Is it SatisFeelingable enough ☺️ (Help Q&Q: what animation feels more satisfying ?:00) Added clean card animation (in not so clean code 😭😭) More information on who’s turn it is. with bumb up🆙 animations for the Q&Q see the videos <3 Next 🆙: Card Deck and card into effect animations (spawn animations if above works without coding problems, which i feel is a delusional hope🥲 )
Devlog 15: The Power of Plugins 🔌 Turned the Tween System into a plugin :)) Now it is way easier to reuse animations everywhere 🎞️ Also finished all Card + Hand logic 🃏 and cleaned up lots of code + bugs along the way 😭 The project’s recent work includes a refactor of the ability/card systems plus deck and cardcasting functionality.
Devlog 16: Extensions, Plugins && MODSSSSS Yes, it has been time, for what has given success to most games EVER!!!!!! ➕MODS Hard as hell to implement, as you need to make sure that each coding dependencies are implemented correctly… Had to change hole game structure to be easily extendable/moddable (fun and hard ) But i have to say i am learning more which is awsome But still many bugs and logic to fix/implement lul…
Ships:
👾 AKidsDream(name work in progress), is a early version of a turn based strategy game, where you can controll multiple different units to win. 🤔 Why A Kid’s Dream? When I was a child, I created a small board game using paper and scissors. It was very complex, but still incredibly fun to play. A Kid’s Dream 🌜is my attempt to recreate that experience. Not exactly as it was, but from the pieces that remain in my memory. It is a game inspired by childhood imagination, handmade rules, and the joy of turning simple ideas into an adventure. ⚔️ Currently the game is in very early alpha, basically a proof of concept. I would love support, about what you would like to see, Game Design tips and tricks and what a winning condition could be. (destroy objectives vs destory a unit(like a king 🤴)
👾 AKidsDream~~(name work in progress)~~ , is a early version of a turn based strategy game , where you can controll multiple different units to win. 🤔 Why A Kid’s Dream? When I was a child, I created a small board game using paper and scissors. It was very complex, but still incredibly fun to play. 🏳️🏴Goal Its not just an attempt to make a game , its the challenge of creating modular , future proof system and to learn to clean code , using all my knoweledge of over the past 4 years of learning . (so even if i dont get rich with this game i did learn a lot xdd) What’s🆕 As this isn’t the first ship of the project, the project now contains: Mana💎 & a working card/hand systems Juicy new animations (as you may have seen with thecard drawing) more ℹ️nfo (who is playing and support for multiple local players) Hardships ( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///) Trying to code everything modular and clean takes time, which is valuable resource :( Also the progress feels much slower at the beginning (but i could reuse the modular ability system for the cards which made everything easier:)) As i have invested close to 200hourse, the project has grown so much that sometimes its hard to see how one system may break another , then its another 1 hour debugging...
|
1792828401.6872187
|
1792914801.6872187
|
|
43589
|
TomType by @nokira | Stardance
|
nokira
|
2
|
10.0
|
143
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T11:02:03Z", "hours": 2.0, "multiplier": 7.29, "payout": 14, "blessing": "neutral", "text": "This is the fixed version of TomType. I tried listening to every single one of the reviews left on the first ship so here are the new features: Mutually exclusive time and word modes: Now you can only select the Time or the Word amount. If you select the time you will get infinite words and the game will finish when time runs out. If you select the Word amount, you will have unlimited time but a fixed amount of words. Mute sounds button: someone didn’t like the sounds playing so I decided to add a button to mute everything, hopefully this is enough :) Survival mode: someone suggested adding an unlimited time mode were you are limited by mistake so your objective is to type all the words selected by making less than 5 mistakes, or else the game ends. Split JS code: not really a feature but as someone correctly pointed out all the code was in one big file, so I split some minor code additions to other files.", "repo": "https://github.com/n0kira/TomType", "demo": "https://n0kira.github.io/TomType/"}, {"ship_num": 2, "ts": "2026-08-05T19:20:30Z", "hours": 8.0, "multiplier": 15.43, "payout": 129, "blessing": "neutral", "text": "This it TomType, a simple typing game inspired by MonkeyType. This was made just to improve my javascript skills. Here are all the features of this project: Multiple Word Categories: Practice typing with custom word packs Normal mode: errors are highlighted in red and you keep going. Hardcore mode: make 1 mistake and the test ends immediately. Time Modes: 15s, 30s, or 45s timers. Word Count Modes: 10, 25, or 50 words.", "repo": "https://github.com/n0kira/TomType", "demo": "https://n0kira.github.io/TomType/"}]...
|
[{"post_id": 46245, "ts": "202 [{"post_id": 46245, "ts": "2026-08-13T11:00:31Z", "hours": 1.9653, "text": "Devlog #5 Fixed everything (hopefully) Hiiii everyone!! 👋 Today I looked at all of the amazing reviews that were left on my first ship. I tried listening to every single one of them so here are the new features: Mutually exclusive time and word modes: Now you can only select the Time or the Word amount. If you select the time you will get infinite words and the game will finish when time runs out. If you select the Word amount, you will have unlimited time but a fixed amount of words. Mute sounds button: someone didn’t like the sounds playing so I decided to add a button to mute everything, hopefully this is enough :) Survival mode: someone suggested adding an unlimited time mode were you are limited by mistake so your objective is to type all the words selected by making less than 5 mistakes, or else the game ends. Split JS code: not really a feature but as someone correctly pointed out all the code was in one big file, so I split some minor code additions to other files. I hope this fixes everything you guys asked!! If not, leave a comment, I always read them :) I will ship this fixed version since I don’t really have any new feature to add since it is meant to be a bit minimal so without too much useless stuff. Thank you all so much for the honest reviews :)"}, {"post_id": 41501, "ts": "2026-08-05T19:03:20Z", "hours": 0.6875, "text": "Devlog #4 Sharing! Hii! Fortunately making the sharing option wasn’t too hard. I thought of different ideas and the one I liked more was to capture the lifetime stats using html-to-image which lets you “screenshot” an element of your Website and create a picture of it. In my case I just had to create an outer div that contained the Stats div and then just made a PNG when the Share button is clicked. Also, I added sounds for button, just a minor touch. I think I am actually shipping this project. I don’t want to make it too complicated or bloated with unrelated or useless stuff. Also because this was just to practice JavaScript a little more Byee!! :)"}, {"post_id": 41249, "ts": "2026-08-05T10:40:51Z", "hours": 1.0758, "text": "Devlog #3 Hardcore mode ☠️ Hii! Quick devlog. I just finished adding the hardcore mode, when enabling this, if you make any mistake your session ends, so you must have 100% accuracy to go through all the words. Also I added a little indicator to show which buttons are selected. Today I will do other stuff maybe, like the stats sharing! Thanks for reading! Byeee :D"}, {"post_id": 40973, "ts": "2026-08-04T21:01:32Z", "hours": 2.1428, "text": "Devlog #2 More Stats, and Dark Mode 🌙 Hi hi! I managed to add some smaller features: Accuracy, this will display both your lifetime accuracy between all typing sessions, and for the current one. Dark Mode, added a little button that lets you switch between dark and light mode. Streak, I still need to test and polish this but it should do the job for now, just complete one typing session each day and it goes up. Timer buttons, this was by far the easiest to add, just made some buttons like for the words selection but for time, so you can challenge yourself with less time or be more relaxed with more time. In the next days I will try to add buttons to change the amount of words generated for each section (quotes excluded) and maybe add a hardcore mode where with one mistake you end the session. Also wanted to add the possibility to like share lifetime stats, but only if it’s not too hard to do. Thanks for reading <3 Byeee!"}, {"post_id": 40706, "ts": "2026-08-04T12:12:26Z", "hours": 4.4753, "text": "Devlog #1 Typing game! Hello!! In the last few days I’ve been very inactive but today I decided to come back with a small and simple project just to keep my JavaScript skills and not lose all the progress I made in the last weeks. Soo I decided to make this… It’s a simple typing game, just like MonkeyType. You choose a category of words and you just type. The time limit is 35 seconds and in that time you either finish all the words or type as much as you can. At the top you will find the lifetime stats, so the average WPM which is calculated among all rounds, while at the bottom once you finish a round you will see the stats regarding that single session. Some features I will most likely add are accuracy, custom words and time amount and lastly interface sounds, like typing and clicking! Byeee!!"}]...
|
Title: TomType by @nokira | Stardance
Devlogs:
De Title: TomType by @nokira | Stardance
Devlogs:
Devlog #1 Typing game! Hello!! In the last few days I’ve been very inactive but today I decided to come back with a small and simple project just to keep my JavaScript skills and not lose all the progress I made in the last weeks. Soo I decided to make this… It’s a simple typing game, just like MonkeyType. You choose a category of words and you just type. The time limit is 35 seconds and in that time you either finish all the words or type as much as you can. At the top you will find the lifetime stats, so the average WPM which is calculated among all rounds, while at the bottom once you finish a round you will see the stats regarding that single session. Some features I will most likely add are accuracy, custom words and time amount and lastly interface sounds, like typing and clicking! Byeee!!
Devlog #2 More Stats, and Dark Mode 🌙 Hi hi! I managed to add some smaller features: Accuracy, this will display both your lifetime accuracy between all typing sessions, and for the current one. Dark Mode, added a little button that lets you switch between dark and light mode. Streak, I still need to test and polish this but it should do the job for now, just complete one typing session each day and it goes up. Timer buttons, this was by far the easiest to add, just made some buttons like for the words selection but for time, so you can challenge yourself with less time or be more relaxed with more time. In the next days I will try to add buttons to change the amount of words generated for each section (quotes excluded) and maybe add a hardcore mode where with one mistake you end the session. Also wanted to add the possibility to like share lifetime stats, but only if it’s not too hard to do. Thanks for reading <3 Byeee!
Devlog #3 Hardcore mode ☠️ Hii! Quick devlog. I just finished adding the hardcore mode, when enabling this, if you make any mistake your session ends, so you must have 100% accuracy to go through all the words. Also I added a little indicator to show which buttons are selected. Today I will do other stuff maybe, like the stats sharing! Thanks for reading! Byeee :D
Devlog #4 Sharing! Hii! Fortunately making the sharing option wasn’t too hard. I thought of different ideas and the one I liked more was to capture the lifetime stats using html-to-image which lets you “screenshot” an element of your Website and create a picture of it. In my case I just had to create an outer div that contained the Stats div and then just made a PNG when the Share button is clicked. Also, I added sounds for button, just a minor touch. I think I am actually shipping this project. I don’t want to make it too complicated or bloated with unrelated or useless stuff. Also because this was just to practice JavaScript a little more Byee!! :)
Devlog #5 Fixed everything (hopefully) Hiiii everyone!! 👋 Today I looked at all of the amazing reviews that were left on my first ship. I tried listening to every single one of them so here are the new features: Mutually exclusive time and word modes: Now you can only select the Time or the Word amount. If you select the time you will get infinite words and the game will finish when time runs out. If you select the Word amount, you will have unlimited time but a fixed amount of words. Mute sounds button: someone didn’t like the sounds playing so I decided to add a button to mute everything, hopefully this is enough :) Survival mode: someone suggested adding an unlimited time mode were you are limited by mistake so your objective is to type all the words selected by making less than 5 mistakes, or else the game ends. Split JS code: not really a feature but as someone correctly pointed out all the code was in one big file, so I split some minor code additions to other files. I hope this fixes everything you guys asked!! If not, leave a comment, I always read them :) I will ship this fixed version since I don’t really have any new feature to add since it is meant to be a bit minimal so without too much useless stuff. Thank you all so much for the honest reviews :)
Ships:
This it TomType, a simple typing game inspired by MonkeyType. This was made just to improve my javascript skills. Here are all the features of this project: Multiple Word Categories: Practice typing with custom word packs Normal mode: errors are highlighted in red and you keep going. Hardcore mode: make 1 mistake and the test ends immediately. Time Modes: 15s, 30s, or 45s timers. Word Count Modes: 10, 25, or 50 words.
This is the fixed version of TomType. I tried listening to every single one of the reviews left on the first ship so here are the new features: Mutually exclusive time and word modes: Now you can only select the Time or the Word amount. If you select the time you will get infinite words and the game will finish when time runs out. If you select the Word amount, you will have unlimited time but a fixed amount of words. Mute sounds button: someone didn’t like the sounds playing so I decided to add a button to mute everything, hopefully this is enough :) Survival mode: someone suggested adding an unlimited time mode were you are limited by mistake so your objective is to type all the words selected by making less than 5 mistakes, or else the game ends. Split JS code: not really a feature but as someone correctly pointed out all the code was in one big file, so I split some minor code additions to other files....
|
1792838898.3918872
|
1792925298.3918872
|
|
43624
|
ImtOS by @Imtiaz | Stardance
|
Imtiaz
|
2
|
11.0
|
58
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-25T20:26:46Z", "hours": 5.0, "multiplier": 11.6, "payout": 58, "blessing": "neutral", "text": "The condition says I have to add 3 new features, what if I did 6? Hey, It’s me, Imtiaz, shipping WebOS2 Mission’s work. I added 6 apps in ImtOS- Contact Guess the Number Game Tic Tao Toe Widgets Logbook Showcase Every app with its own designs and functions. Every log I have included in Readme file, check that out too. Project Link: https://imtua.github.io/ImtOS/ Project Repo: https://github.com/imtua/ImtOS Readme file: https://github.com/imtua/ImtOS/blob/main/README.md Message to the staff: If youre seeing this, can you plsplspls leave me a superstar :3", "repo": "https://github.com/imtua/ImtOS", "demo": "https://imtua.github.io/ImtOS/"}, {"ship_num": 2, "ts": "2026-08-04T22:08:18Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made an web operating system about myself that comes with a terminal, music player, gallery, draggable windows and A CALCULATOR (im glazing it yes) - made with HTML, CSS, JS and love <3", "repo": "https://github.com/imtua/ImtOS", "demo": "https://imtua.github.io/ImtOS/"}]...
|
[{"post_id": 54726, "ts": "202 [{"post_id": 54726, "ts": "2026-08-25T20:08:20Z", "hours": 0.75, "text": "here we go, two apps, time to ship."}, {"post_id": 54694, "ts": "2026-08-25T19:13:13Z", "hours": 1.0167, "text": "Now you can find me through my own made OS, lol"}, {"post_id": 54663, "ts": "2026-08-25T18:11:50Z", "hours": 0.6886, "text": "Added a Tic Tac Toe game in ImtOS!"}, {"post_id": 54067, "ts": "2026-08-24T20:42:20Z", "hours": 0.7167, "text": "Made an easy game."}, {"post_id": 54039, "ts": "2026-08-24T19:53:35Z", "hours": 1.8219, "text": "Yayy!! I’m on WebOS 2 Mission and today I created a widget for my ImtOS! Make sure to check it out."}, {"post_id": 41007, "ts": "2026-08-04T21:59:29Z", "hours": 0.7911, "text": "Done on the terminal, it has some easter eggs!"}, {"post_id": 40675, "ts": "2026-08-04T11:14:23Z", "hours": 1.235, "text": "Well, here we go with our media player. Actually it’s an MP3 player with some dedicated song (which are my favs :3). Now who would come to ImtOS and listen to this songs? ITS YOU!!! YOU WILL COME IN IMTOS AND LISTEN TO MY MASTERPIECE MUSIC TASTE. try it out, now!"}, {"post_id": 40627, "ts": "2026-08-04T09:24:14Z", "hours": 0.9783, "text": "This took way more than 55 Minutes, like collecting the photos and arranging them, designing the whole gallery. Whatever, here you go, now you can have a watch on the owner of ImtOS and his nice lovely photographys."}, {"post_id": 40522, "ts": "2026-08-04T03:25:22Z", "hours": 1.5647, "text": "This worked. Now, you may be thinking that why are you gonna use the calculator function in ImtOS when you have a calculator in your hand or calculator app in your device. This is a great question to think. So great even idk the answer. Whatever, use it or don’t, this feature is awesome (pls say yes)."}, {"post_id": 40478, "ts": "2026-08-04T01:19:21Z", "hours": 0.8072, "text": "Designed it, yayyyyy! Now, time to make the calculator."}, {"post_id": 40457, "ts": "2026-08-03T23:47:25Z", "hours": 0.3522, "text": "Created the windowManager.js file, coz that’s crucial for creating any windows in ImtOS."}, {"post_id": 40443, "ts": "2026-08-03T23:18:11Z", "hours": 0.3167, "text": "Just wrote the index.html file, in this OS, im gonna have 4 main features, they are Calculator Gallery Media Player Terminal Also added an atom icon which I designed myself, it will act as Application centre, in WebOS2 Mission, Ima add more features, so those will go here. I’m also keeping up with readme file, so that works as a devlog file too."}]...
|
Title: ImtOS by @Imtiaz | Stardance
Devlogs:
Just Title: ImtOS by @Imtiaz | Stardance
Devlogs:
Just wrote the index.html file, in this OS, im gonna have 4 main features, they are Calculator Gallery Media Player Terminal Also added an atom icon which I designed myself, it will act as Application centre, in WebOS2 Mission, Ima add more features, so those will go here. I’m also keeping up with readme file, so that works as a devlog file too.
Created the windowManager.js file, coz that’s crucial for creating any windows in ImtOS.
Designed it, yayyyyy! Now, time to make the calculator.
This worked. Now, you may be thinking that why are you gonna use the calculator function in ImtOS when you have a calculator in your hand or calculator app in your device. This is a great question to think. So great even idk the answer. Whatever, use it or don’t, this feature is awesome (pls say yes).
This took way more than 55 Minutes, like collecting the photos and arranging them, designing the whole gallery. Whatever, here you go, now you can have a watch on the owner of ImtOS and his nice lovely photographys.
Well, here we go with our media player. Actually it’s an MP3 player with some dedicated song (which are my favs :3). Now who would come to ImtOS and listen to this songs? ITS YOU!!! YOU WILL COME IN IMTOS AND LISTEN TO MY MASTERPIECE MUSIC TASTE. try it out, now!
Done on the terminal, it has some easter eggs!
Yayy!! I’m on WebOS 2 Mission and today I created a widget for my ImtOS! Make sure to check it out.
Made an easy game.
Added a Tic Tac Toe game in ImtOS!
Now you can find me through my own made OS, lol
here we go, two apps, time to ship.
Ships:
Made an web operating system about myself that comes with a terminal, music player, gallery, draggable windows and A CALCULATOR (im glazing it yes) - made with HTML, CSS, JS and love <3
The condition says I have to add 3 new features, what if I did 6? Hey, It’s me, Imtiaz, shipping WebOS2 Mission’s work. I added 6 apps in ImtOS- Contact Guess the Number Game Tic Tao Toe Widgets Logbook Showcase Every app with its own designs and functions. Every log I have included in Readme file, check that out too. Project Link: https://imtua.github.io/ImtOS/ Project Repo: https://github.com/imtua/ImtOS Readme file: https://github.com/imtua/ImtOS/blob/main/README.md Message to the staff: If youre seeing this, can you plsplspls leave me a superstar :3...
|
1792839032.5055895
|
1792925432.5055895
|
|
43631
|
SmiskiOS by @hannah_gu | Stardance
|
hannah_gu
|
2
|
10.0
|
24
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T03:47:18Z", "hours": 2.0, "multiplier": 12.19, "payout": 24, "blessing": "neutral", "text": "This is the updated version of SmiskiOS. The new features include a music player, flashcards, and wallpaper changer. All these features, along with the already created timer and quicknotes app allow students to optimize productivity and focus.", "repo": "https://github.com/hannnah-gu/SmiskiOS", "demo": "https://hannnah-gu.github.io/SmiskiOS/"}, {"ship_num": 2, "ts": "2026-08-07T22:29:57Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a custom Smiski-themed OS with draggable windows and 2 apps. The goal of this OS is to provide a focus platform for students to optimize study time. The two apps are a timer app to record study time and a notes app for to-do lists, class notes, or sudden ideas!", "repo": "https://github.com/hannnah-gu/SmiskiOS", "demo": "https://hannnah-gu.github.io/SmiskiOS/"}]...
|
[{"post_id": 46674, "ts": "202 [{"post_id": 46674, "ts": "2026-08-14T03:37:11Z", "hours": 0.5536, "text": "made the wallpaper customizable!!!"}, {"post_id": 46147, "ts": "2026-08-13T04:58:21Z", "hours": 0.6225, "text": "made flashcard app"}, {"post_id": 43632, "ts": "2026-08-09T00:24:27Z", "hours": 0.7847, "text": "i made a music app that plays instrumentals"}, {"post_id": 42502, "ts": "2026-08-07T08:55:17Z", "hours": 0.7661, "text": "made quick note app window"}, {"post_id": 41694, "ts": "2026-08-06T02:24:12Z", "hours": 2.2456, "text": "I MADE A TIMER APP"}, {"post_id": 41178, "ts": "2026-08-05T07:03:21Z", "hours": 0.4833, "text": "edited and resized things"}, {"post_id": 41165, "ts": "2026-08-05T06:16:07Z", "hours": 1.4603, "text": "Made all the images into draggable windows"}, {"post_id": 41113, "ts": "2026-08-05T03:22:03Z", "hours": 2.0169, "text": "Added side banners + working clock I moved everything into a css file to make all my elements easier to change as more things are added"}, {"post_id": 40488, "ts": "2026-08-04T01:39:32Z", "hours": 1.1531, "text": "Created the homepage of my OS including about me, and links to my github repo"}]...
|
Title: SmiskiOS by @hannah_gu | Stardance
Devlogs Title: SmiskiOS by @hannah_gu | Stardance
Devlogs:
Created the homepage of my OS including about me, and links to my github repo
Added side banners + working clock I moved everything into a css file to make all my elements easier to change as more things are added
Made all the images into draggable windows
edited and resized things
I MADE A TIMER APP
made quick note app window
i made a music app that plays instrumentals
made flashcard app
made the wallpaper customizable!!!
Ships:
I made a custom Smiski-themed OS with draggable windows and 2 apps. The goal of this OS is to provide a focus platform for students to optimize study time. The two apps are a timer app to record study time and a notes app for to-do lists, class notes, or sudden ideas!
This is the updated version of SmiskiOS. The new features include a music player, flashcards, and wallpaper changer. All these features, along with the already created timer and quicknotes app allow students to optimize productivity and focus....
|
1792839033.6985333
|
1792925433.6985333
|
|
43863
|
Lunaris 95 by @Dotdvn | Stardance
|
Dotdvn
|
2
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T11:40:12Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "|Ship #2| In this update, I focused on adding space themed apps in the old pc ui and fixing bugs. I also added a functional Mars weather app, improved the wallpaper system, and introduced Bennu, a little asteroid pet tat says space facts when we clic. Also i added more apps like Asteroid radar, Astronauts on space,Space newsand so many others,", "repo": "https://github.com/dotdvn/Lunaris-One", "demo": "https://lunaris-one-eosin.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-05T12:08:24Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "|Ship #1| Lunaris One is a browser-based desktop operating system built with HTML, CSS, and JavaScript. It features a desktop interface, draggable windows, a working browser, dynamic NASA APOD wallpapers, and a music app powered by the iTunes Search API.", "repo": "https://github.com/dotdvn/Lunaris-One", "demo": "https://lunaris-one-eosin.vercel.app/"}]...
|
[{"post_id": 48164, "ts": "202 [{"post_id": 48164, "ts": "2026-08-16T13:40:18Z", "hours": 1.3036, "text": "DevLoggggg #6 Started working on Lunaris 95 and built the frontend for the new Files app. More features coming soon!"}, {"post_id": 42518, "ts": "2026-08-07T09:58:08Z", "hours": 0.6058, "text": "DevLoggggggggg #5 Added more space theamed working apps."}, {"post_id": 42139, "ts": "2026-08-06T18:55:38Z", "hours": 0.8364, "text": "Devloggggggg #4 I fixed a bunch of bugs, cleaned up the UI, made the Weather app fully functional, and added a small desktop pet named Bennu that hangs around the desktop and gives random space facts when we click on it."}, {"post_id": 41250, "ts": "2026-08-05T10:47:56Z", "hours": 0.2667, "text": "DevLoggggggg #3 Made a simple signin page like windows."}, {"post_id": 41212, "ts": "2026-08-05T09:16:08Z", "hours": 0.4333, "text": "DevLoggggggggg #2 Worked on the desktop experience today. I redesigned the interface, improved the taskbar and desktop icons, and added a few more working apps. The overall layout feels cleaner and much closer to a real operating system now."}, {"post_id": 41196, "ts": "2026-08-05T08:19:59Z", "hours": 0.9853, "text": "DevLoggggggggg #1 Started building the foundation of Lunaris One today. I made a working browser inside the desktop window and built the wallpaper system, which now fetches the NASA APOD API so the desktop can display a new space themed wallpaper automatically."}]...
|
Title: Lunaris 95 by @Dotdvn | Stardance
Devlogs: Title: Lunaris 95 by @Dotdvn | Stardance
Devlogs:
DevLoggggggggg #1 Started building the foundation of Lunaris One today. I made a working browser inside the desktop window and built the wallpaper system, which now fetches the NASA APOD API so the desktop can display a new space themed wallpaper automatically.
DevLoggggggggg #2 Worked on the desktop experience today. I redesigned the interface, improved the taskbar and desktop icons, and added a few more working apps. The overall layout feels cleaner and much closer to a real operating system now.
DevLoggggggg #3 Made a simple signin page like windows.
Devloggggggg #4 I fixed a bunch of bugs, cleaned up the UI, made the Weather app fully functional, and added a small desktop pet named Bennu that hangs around the desktop and gives random space facts when we click on it.
DevLoggggggggg #5 Added more space theamed working apps.
DevLoggggg #6 Started working on Lunaris 95 and built the frontend for the new Files app. More features coming soon!
Ships:
|Ship #1| Lunaris One is a browser-based desktop operating system built with HTML, CSS, and JavaScript. It features a desktop interface, draggable windows, a working browser, dynamic NASA APOD wallpapers, and a music app powered by the iTunes Search API.
|Ship #2| In this update, I focused on adding space themed apps in the old pc ui and fixing bugs. I also added a functional Mars weather app, improved the wallpaper system, and introduced Bennu, a little asteroid pet tat says space facts when we clic. Also i added more apps like Asteroid radar, Astronauts on space,Space newsand so many others,...
|
1792846236.1259944
|
1792932636.1259944
|
|
43890
|
SarSynth by @manayp | Stardance
|
manayp
|
2
|
25.0
|
410
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-18T18:34:17Z", "hours": 8.0, "multiplier": 11.91, "payout": 101, "blessing": "neutral", "text": "This innovation is something that I am proud about in SarSynth since it combines both technology and Indian classical music. SarSynth turns your camera into a musical instrument with the ability to play swaras using hand gestures while using ragas, instruments, tanpura, among other concepts. Getting the gesture recognition and the playing of music using the system was what I enjoyed most in the process of creating SarSynth. SarSynth can recognize hand poses, translate them into notes, and even incorporate features such as different ragas, synthetic instruments, training games, and tuner. I had many mishaps and stuff because in this new update I focused on the TOOLS which was not needed but I just did it. But in the same time I honestly also learned some new things so for me personally it was a win-win situation even though a bit of time was wasted in bugs and other random mishaps. In general, I believe that SarSynth is a nice application since it incorporates Indian classical music in an interactive manner and in addition to learning a lot through this experience especially when trying to debug different systems. And I hope you guys liked it. If you guys have any suggestions or things to add lemme know in slack. Thank you and adios. Note: This update is for the tools only.", "repo": "https://github.com/manayparikh1/sarsynth", "demo": "https://golden-pudding-d83524.netlify.app/"}, {"ship_num": 2, "ts": "2026-08-10T19:35:04Z", "hours": 17.0, "multiplier": 18.38, "payout": 309, "blessing": "neutral", "text": "What have you created? Sargam Synth - an instrument of Indian music which you can play through gestures of your hands in front of a webcam. Left hand defines the swara depending on the number of fingers raised (1 = Sa, 2 = Re, etc. up to Ni), while right hand controls the volume, tone and ornamental variations. Sargam Synth includes 37 ragas and scales, eight synthetic instruments, like sitar and bansuri, tanpura drone and three training games. What was difficult? Developing reliable gesture recognition system - my initial prototype reacted to each frame from the webcam, so a lost frame cut the sound and any transition between the postures produced false notes. I solved this problem by making each finger press steady for 90 milliseconds before it is recognized and remembering the last known position of a hand when it is not currently recognized. The sound of sitar was the second difficulty because it is a synthetic oscillation simulating vibration of the string, not just the simple oscillator. What are you proud of? It’s properly tuned — when playing Ga in Yaman scale you actually hear 5/4 pure interval rather than somewhat different one a piano would provide you. And it even knows how to teach you — all swaras demonstrate their respective fingering on the screen, both hands show you fingers captured by the camera. Thus, if a pose is not recognized, you will immediately understand if it’s you or the tracker who fails to recognize. Overall it had been an amazing journey and its lowkey fun to use with a bit of practice and stuff (I added a guide below for fingerings just incase)… What should people know in order to try it? Allow the camera, and don’t forget about this: Left hand chooses the tone, right hand makes the sound appear — nothing plays until your right hand is raised. If your hands appear inverted, there is a Swap hand detection option in Settings menu that will correct it for you in one tap. No camera? Then press Continue without camera and play using clicks on the swaras or A S D F G H J keys.", "repo": "https://github.com/manayparikh1/sarsynth", "demo": "https://golden-pudding-d83524.netlify.app/"}]...
|
[{"post_id": 49025, "ts": "202 [{"post_id": 49025, "ts": "2026-08-17T16:48:32Z", "hours": 2.1342, "text": "So first of all yes I finished my readme. By finished I mean updated because I added tools. There are 6 distinct tools I created which are in indian style and it works pretty well. I also learned some new stuff from claude like I didnt know too. I learned some stuff in this long session like I never knew that if you set the opaqueness to 1.2 instead of 1 it will be dead code because apparently 1 and 1.1 is the same thing which to be honest is fairly the same. Lol I know this is kinda lame but for some reason it surprises me a lot. I also learned what npm run build does…according to claude it means it checks errors and stuff which personally for some reason I did not know that either… In my project theres some dead space in some areas of the tools pages but thats fine because tbh I was aiming for that because to show its simplicity and stuff lol. The biggest thing that stumped me though was the error in toolspage.tsx…. it says theres an error with the connection of the pages but I think its just a glitch because its all connected right with all the files in the right space so overall I just think thats an error or a glitch. Special thx to claude and vs code suggestions because they helped me learn stuff and made my life easier and possibly faster in some sorta of way so thx. Claude and vs code and github copilot also helped me push my files faster and more efficient so thx. Overall this is my last devlog and I had a great time making this and it went really well (at times lol) and if you guys like this make sure to possibly follow and like some of my devlogs and if you dont then contact me in slack if you have anything I should change or add or even fix lol. Thanks and adioss."}, {"post_id": 48563, "ts": "2026-08-17T00:23:54Z", "hours": 0.4247, "text": "So I did 115 ish lines for the tuner and claude did like 50-65 percent of it because mostly it was repeats of other stuff but also a bit of new stuff in it especailly the logical part of it. So this was actually my second last file so I juse gotta finish the CSS for everything and I am going to be done. Also I found out that the <ToolShell function that I created had glitches or idk something was happening but I fixed it and realized it was a spelling mistake lol. I spend 3 min on solving that so its fine… Ok so the tuner I was working on is basically going to do exactly what your thinking of its going to tune instruments or even your voice using cents which is a thing for tuners that shows its close or far. Overall its going veryy well so lets see if my css goes well or not adioss."}, {"post_id": 48515, "ts": "2026-08-16T22:12:19Z", "hours": 1.3925, "text": "So basically I am almost done… So all my files for the extra tools were supposed to be much more longer but because I do not wanna spend too much time on this project I shortened each file by 200 ish lines with the help of Claude and my wits. So I finished all the tools so far, but I just have like one more left. And I also have to do the CSS which I have to make so that will take some time. During this phase, I worked on improving the whole SarSynth interface, designing a dark theme with gold accents and creating the whole layer of UI elements which feels stable and high-performance. I defined the CSS variables for the whole interface, its colors, font styles, and panel styles, made the camera backdrop with mirrored video and vignette with smooth transition of opacity. Top bar design took much of my effort, as I designed the fields with labels, custom selects with gradients and arrows, hint texts, buttons with icons and Devanagari tanpura switch with activated and inactive states. After that, I added the pose list functionality with glyphs for melody and expression, mono-font labels and muted notes. Readout part and the layout as a whole received tuning of spacing and blur effect, and at the same time, I was solving various irritating problems such as proper placement of select-element arrows, right background for backdrop, and visual matching of components. Overall I believe I am 80 percent done the tools code and everything but that will all be resolved and established soo adios cya in my next log….."}, {"post_id": 47072, "ts": "2026-08-14T18:16:23Z", "hours": 1.8797, "text": "So I completed the TheoryReference.tsx and finally just now completed the TaalMetronome.tsx. I also researched various types of taals and beats for the metronome and I learned new things and concepts which include vibhag, sam, tali, and khali. And to be honest claude and chatgpt helped in coding chunks which just made my coding and stuff faster. So overall I had good enough progresss in the last 1-2 hours so yep. I completed the development of my fully cycle-based taal metronome today. In this project, I have FINALLY developed a system that would be based on the concepts of vibhag, sam, tali, and khali rather than the conventional method of bar-based counting. I created a complete set of taals that contain information about their vibhag structure, khali, bols, and notes. Then, I coded the system to dynamically create matra counts, accent patterns, and vibhag markers. The audio engine is now powered by an advanced Web Audio scheduler that allows pre-scheduling of clicks, takes care of subdivisions and accent playback so that the structure of taal is perceivable to the user via sound. I have also incorporated tap tempo with averaging and reset functionality with “const” placed in numerous lines which will not change anything. Special thanks to vs code because it gave me auto suggestions which auto fixed my code which actually helped me a lot because honestly I suck at typing fast lol. I also pushed many commits in github so its all active and ongoing. More will also have to be fixed though soo stay tuned and adiossssssssss. So overall I have good progress and I will see you in the next devlog adioss."}, {"post_id": 46108, "ts": "2026-08-13T03:01:22Z", "hours": 1.2167, "text": "After almost an hour I finally completed 2 files. I completed the ToolsPage.tsx fully and the ScaleFinder.tsx…. Now I havent really fully tested the toolspage one but the scalefinder one works (I tested it with onecompilor and it works great. So my first tool is finally completed and working now I just gotta keep going at it and finish a few more…So I am done for today and personally I got a good amount done. I am still running into a few errors in the ToolsPage.tsx but 100 percent thats because of the imports because currently I do not have some of the pages but it willl get fixed. And today I finished about 250-300 + lines of code and thanks to chatgpt and claude because they taught me a lot of things including blurb…honestly I am not that good at this coding language but I am still learning. Adiosss see u in the next devlog…"}, {"post_id": 46042, "ts": "2026-08-12T23:37:29Z", "hours": 1.4278, "text": "So this is my first devlog of the new ship and I thought a lot and wondered a lot of what else to add. And now I know. I am adding internal tools to it like a whole page which can be easily accessed. So far I have completed toolAudio.ts and it was about 130 ish lines of code and overall it works well. And yeah so I spent 50 minutes just writing 80 ish lines of code which is pretty not that bad but I slowed down because I changed my ideas mid writing… and also my github got reset or something somehow and alll my commit messages are gone so I have restarted with another repository with new commits. And also I made the most crap mistake ever so instead of making the folder in SRC I made it in localhistory which wasted SOO MUCH of my time. BUT I just copy pasted my code into the right place so overall its all good now. Ill see you guys later. Stay tuned for the upcoming tools. Thanks. ADIOSS"}, {"post_id": 44771, "ts": "2026-08-10T19:28:37Z", "hours": 0.7036, "text": "So in the past half and hour I did a lot and yes this is actually my final devlog this time. Ok so I finished the css around like 100-200 lines of code but it was light because the color scheme sorta connected with the theme anyway… I ran into a few alignment errors like it was blocking my whole screen but I fixed it so thats solved. I also updatted my readme about the games. Below I added a picture of my finger guide SarSynth it just shows how all your fingers should be aligned and for what and personally dha and ni is the hardest but with practice (like 5-10min) you can get used to it. I made it with Canva it took like 2 Minutes because the pictures I didnt really count towards my time just the making and alignments were counted. Overall thank you and goodbye."}, {"post_id": 44733, "ts": "2026-08-10T17:53:30Z", "hours": 1.1725, "text": "I fixed the Tanpura instrumental background track and now it works more properly because last time it was glitching even when I spammed it so it is fine now just a small JS error. I also finished the games logic its 3 simple games which you will come to know soon… In total it is about 250 lines of code which is fairly simple but the games are actually nice in my opinion. And soon I will be making a sort of guide on how to position your fingers for each note which includes Sa, Re, Ga, Ma, Pa, Dha, Ni, Sa. But tbh I have everything thats needed but it doesent hurt to give a bit of teaching because honestly even though I made it, it was pretty hard doing the dha and ni because my hands were keep forgetting the placement but after some time and practice I got it (10 min lol)… So lets see what happens next… Byee and ADioss"}, {"post_id": 44415, "ts": "2026-08-10T04:46:56Z", "hours": 0.6417, "text": "Ok so my README.md is done after like 1 ish hour in total. I incorporated as much as I could including a license in the bottom and honestly this is my first time not writing it raw and actually using hashtags and asterisks to make the text look better in the readme so it went well. I hosted it and was going to ship it. I showed it to my sibling and my feedback was “can you make it not that fun its kinda boring” so that obviously struck me inside considering the effort I put into this so what I did next was crazy. So as you know I was gonna ship it but instead I mapped out a way where I can add small games into it like GUESS THE RAGA and more which I will incorporate later. So sorry Guys I will need to add a bit more before I can ship it but I got this. Adioss."}, {"post_id": 44320, "ts": "2026-08-10T00:14:15Z", "hours": 0.3931, "text": "The front page was zoomed in a bit which was because of the css which I figured out after going through the CSS so that I fixed. Claude helped me a ton just now because I told it to make me 8 different panels in the front page which lead to a page and claude did that which was nice but for some reason it wrote 600 lines of css which is wild because there is not much that was added just colour and a bit of shadows but its fine because its just panels. OK then off hackatime I did my own little research and basically MY IDEA was to make a panel of each instrument that was incorporated in this project and write a 1 paragraph historical perspective of each instrument and overall it worked out pretty well but AGAIN a sizing issue occurred due to claude and I told claude 4 times to fix it but it could not for some reason And then I went in and figured it out lol it was the most funniest mistake…the css was on 2x zoom and my browser was also on 2x zoom for some reason. So yeahh… that has been solved now I also worked on my readme a bit like 2-3 sentences ish. So overall in these last 25 minutes I got through a lot of progress…"}, {"post_id": 44258, "ts": "2026-08-09T21:45:42Z", "hours": 0.7853, "text": "Over the past 45 Minutes or so I have been writing my readme and organizing some files. In all my other projects my readmes were always the worst part of my project but not anymore starting from now. I learned how to write readmes with more efficiency by adding # and * which basically makes text bigger and also bold or italic. So far I wrote the overview on what my project actually is and I have also wrote some of the philosophy and design goals which include data in jots. I also completed the tech stack and computer vision data which is in the same section as the design goals. Overall I am like 20 ish percent done the Readme and my folders are properly organized and I am done that section now."}, {"post_id": 44188, "ts": "2026-08-09T19:49:37Z", "hours": 1.6772, "text": "TODAY WAS CRAZY and this may be my last devlog I’ve spent today creating the entire visual backbone of the app, and now finally feel that the UI actually has some personality and doesn’t consist of random pieces. To start with, I defined a complete theme in :root – all golds, teals, ink shades, subdued overlays, panel colors, and two font stacks – so all the elements of the app draw colors from one consistent palette. Next, I created the layout guidelines for html, body and #root, and implemented the backdrop system – mirrored camera feed, vignette gradients, and stage layer below the canvas. Finally, I added the top bar styling, dropdowns, hint text, icon buttons, and tanpura toggle styling using the gold/teal accent language. I included the UI for the pose list, the readout section with Devanagari + monospace swara display, and the stat blocks with small capital letter labels. And now, I have the help and settings panels with blurred glass background, gold section headers, chips, toggles, and sliders. In addition, I designed the footer banner and the whole start overlay consisting of the brand logo, tagline, buttons, loading animation, error message, and legal disclaimer, so that the app can have a nice onboarding screen. Last but not least, I provided the full responsive layout for small screens so that UI elements will be reorganized on mobile devices properly. Overall, this stylesheet became the core of the application UI design. SO overall it works pretty well and its amazing and I made it indian because I am personally indian. So overall this is prolly note my last devlog but LETS SEE. Adioss."}, {"post_id": 43519, "ts": "2026-08-08T20:46:51Z", "hours": 0.9217, "text": "HII guys so heres what I did in the last hour… I spent a good amount of time was spent working on the design of the interface. Finally, I would say that now the interface looks like a finished product rather than some temporary solution. As the first step, I set up a complete theme via CSS variables in :root. In particular, there were colors for the background which should be dark, golden accents, teal expression color, ink text, muted overlays, as well as font stacks of Devanagari and monospace. All those settings in one place immediately gave the interface much better structure and increased convenience of further editing. Further, I adjusted the global layout to make the app take the full screen and have a nice dark mode design, fitting into the overall musical concept of the project. Then, I designed the camera backdrop including the mirrored video feed, vignette gradients, and stage layer. It provides the project with a moody and atmospheric design. After the backdrop was completed, I turned to designing the top bar which includes the design of fields, labels, dropdowns, hint text, and icon buttons. I added select styles with gold arrows, blurring effect, and transition on hover to make all of these elements responsive and clean. Then, I created the tanpura toggle button with its teal glow and devanagari title, which fits very well into the overall Indian classical theme. Finally, I added styles for the pose list and pose glyphs, which include small circles that represent poses, pose names, and subdued note labels. In short, this was the process that turned the plain UI into an actual design. And now I also tested it BUT ima keep it a surprise for yall so I guess stay tuned for the next devlog loll adioss. (I pasted a few of the theme colours in the code below…"}, {"post_id": 43411, "ts": "2026-08-08T17:10:30Z", "hours": 1.2394, "text": "So heres what happened… In the last hour Claude generated well over 600 lines of new code, covering roughly 70% of the work, and while it dramatically sped me up the alternative was that my entire project instantly threw errors because none of it was connected together yet. While trying to make some sense of the chaos it dawned on me I had an entirely abandoned folder within my project called Components that was full of React components – HelpPanel, Readout, SettingsPanel, StartOverlay, TopBar – that I’d previously created but never attached to anything, and the kicker was my project wasn’t even set up to buildReact. My package.json didn’t contain react or react-dom, tsconfig.json had no JSX support, and my main.tsx was just vanilla JS with a button, and a tag masquerading as a UI element. So I decide to just bite the bullet and hook up React to my project for real. I install React, ReactDOM, and the types for both. Add a vite plugin in a new vite.config.ts, update tsconfig.json’s jsx compiler option to “react-jsx”, write an actual App.tsx that owns the top-level application state (my Performer engine, configuration, the live snapshot of what’s playing, and the state of the camera module) and passing that down into all the components so that the top bar, readout, panels and start screen actually did things. I wire it into my existing drawScene() function via the canvas, I implement some keyboard shortcuts for notes(A-L), octave raises/lowers(Z/X) and tanpura playback(space). I also implement pointer support for playing notes via click and drag without a camera attached. Two things I spotted and removed was a React StrictMode wrap, which would immediately break AudioContext and my handtracking model by remounting them when they just shouldn’t. I also had an import mistmatch between App with braces and a default exported App. Lastly I added a real index.html with a where React mounts and styled the top bar, readout, panels, and start overlay with a whole new styles.css. I was able to clear down all of Claude’s errors, get TSC output zero errors(tsc –noEmit) and build."}, {"post_id": 42783, "ts": "2026-08-07T17:47:04Z", "hours": 1.4017, "text": "Today’s process of working on scene.ts has certainly been one of the most complex parts of my work, since this file involves practically every visual and interaction mechanism I have designed. The imports for degree poses, snapshots and hand tracking points have been implemented and the constants for melody and expression colors, Devanagari fonts, monospace labels and the whole hand skeleton map were defined. Also, the SceneLabel and SceneInput interfaces were implemented; these two mechanisms serve as a sort of backbone for all the information needed by the renderer, such as hands, poses, thresholds, reachable degrees, video size, etc. Then, the geometry helper methods such as roundRect() and ribbonGeometry() were implemented; these methods determine how the swara ribbon would be drawn and how every cell would scale based on window size. Lastly, the drawScene() method is now partially implemented; at the moment it takes care of projection from camera coordinates, drawing of the octaves ladder, ribbon itself, intensity meter and conditional drawings of both hands with landmarks, tone lean arcs, gamak waves and role tags. However, since this file is extremely large and complex, it results in numerous TypeScript errors such as undefined functions, type mismatches, unresolved references, and half-written helper methods like drawPoseGlyph(), which are used before the rest of the code is written. Some errors stem from hand tracking processing, some come from the ribbon rendering code, and some are generated by the math code responsible for resizing the video stream. At this point, the code has reached that chaotic state when the structure starts taking form while the compiler throws numerous errors due to the incomplete file. However, despite the chaos, I have managed to make the ribbon rendering code work, the octave ladder operational, and the hand skeleton drawing code properly working, which means that the visual layer is already being created. I am still working on the code, and hopefully, when more code will be written, many of the above errors will disappear automatically. But yeah overall I fixed them overtime so now I am gonna start the COMPONENTS section around 200+ lines will be written I hope unless an error occurs lets see!!!"}, {"post_id": 42683, "ts": "2026-08-07T15:15:51Z", "hours": 0.5711, "text": "So I was busy getting down deep into scene.ts, where I’m about half way done with the code necessary to render the hand tracking visual layer. Scene.ts is huge and highly interconnected, bringing in pose definition data, Devanagari/roman naming, ribbon geometry data, skeleton structuring, projector calculation, and all the UI controls to display swara, articulation, gamak, tone lean, and expression-hand behaviors. I got all the constants wired in, the skeleton mapping, the tip detection set, the margining mechanism, the complete SceneInput interface, and I began wiring up the drawScene() function pipeline responsible for the octave ladder, ribbon, intensity meter, and hands overlays. Despite having a good structural backbone in place, I’m encountering a crazy amount of errors – some from TypeScript whining about type mismatches, some from missing imports, and some because drawPoseGlyph() or some other functions aren’t written yet but referenced. There are just too many red lines at this point that I cannot tell which are legit obstacles, and which are only temporary noise from not-yet-written parts. However, the basic rendering code is coming together, the projector calculation works, and the skeleton hand-drawing process seems to be halfway there. I’m not finished coding yet, and so I’m hoping that once things come together, a lot of these errors will clear up as the file is completed. Right now, the code is quite a mess, but at least I’m getting somewhere, and the whole scene code system will become operational. So lets see how it goes see ya’ll later adioss."}, {"post_id": 42241, "ts": "2026-08-06T21:11:38Z", "hours": 1.6803, "text": "The day became one of those big pushes where each individual piece I worked on became part of a much bigger picture, and it truly seems that today marked one of the largest leaps forward in the entire process. Claude assisted me in my work throughout the day not only with small bugs but with several large problems standing in my way and thus allowed me to successfully stabilize the entire workflow. Once I managed to deal with the problems, I returned to main.tsx and properly fixed the rendering flow along with ensuring that the components were mounted correctly. The key accomplishment was managing to get the performer.ts file fully rendered and working, which is a great achievement considering that this particular file deals with handling the camera feed, recognizing finger positions, and turning those positions into musical gestures. The moment that it actually worked was a feeling of unlocking another level of the project altogether. My entire objective with this application is to create something where one hand can perform the Indian classical notes of sa, re, ga, ma, pa, dha, ni, sa using the finger position to do so, akin to the bansuri or sargam software, and at the same time having the other hand trigger background sounds such as the tanpura drone sound to produce the atmosphere of the Hindustani classical music. The achievement of making the logic of the camera recognize and respond to the gestures makes the entire idea into a reality. This session is definitely one of those milestones since with the main.tsx file sorted out, performer.tsx rendered successfully, and the gesture pipeline behaving the way I envisioned it, there is no stopping what I want to achieve next. And again claude helped soo much in giving big code blocks especially when there were large errors. SO overall great but it could go better because right now it looks like crap."}, {"post_id": 42004, "ts": "2026-08-06T15:28:18Z", "hours": 1.0119, "text": "Today, I ended up doing more backend setup than what I had expected to do today, in that, after executing the terminal commands to set up the project environment, there were created two files, namely package.json and tsconfig.json, totaling over a thousand lines of configurations. Although mostly being boilerplate, the creation of the two files marked a huge milestone for me in the sense that the project had now become a TypeScript-based one rather than the earlier looser one. After doing that, I then proceeded into the main codebase to modify main.tsx by refactoring the old code. However, my major achievement was the completion of hands.ts, which is one of the harder pieces of codes in the project, in that it deals with hand-tracking, gesture recognition, and all the movement-related logic in the project. I feel really satisfied in doing this file because it is one of those modules that would allow us to implement lots of other features in the future, and seeing the results of my hard work compile successfully after so much setup was truly satisfying. After implementing all the configurations, making changes in the main entry point file, and completing hands.ts, things went pretty well. Overall everything worked out well and I finally figured out the issue lol it was because I did not have these packages so thank you to Claude because it told me what to put in terminal."}, {"post_id": 41663, "ts": "2026-08-06T01:02:52Z", "hours": 2.8281, "text": "Today ended up being one of the most efficient, yet very chaotic coding sessions that I’ve had in a while, because I have managed to finish the entire audio file and the entire engine.ts file, which is essentially one of the key aspects of my entire project, and grew to become more than 700 lines long at the end. Even though I was able to get a lot done, the process was far from being easy, as I encountered some really stubborn errors that would stop the project from running entirely, which were mostly connected to some problems with main.ts file and the Vite configuration, which I did not even know was misconfigured and causing silent problems in the process. I spent far too much time on figuring out the real reasons for those errors until Claude helped me to finally get an idea of what’s really going on. In the process of debugging I found some duplicated code in the engine, which made me quite angry, since it resulted in wasting a lot of time chasing some bugs that occurred due to my mistake when copy-pasting code earlier. Now that I managed to get the engine running at last, I created a little localhost test where I play a sitar sound in order to make sure that the audio stream is functional in real life, and hearing the one little note played made me feel so relieved, knowing that the whole thing really works and not just some theory written in the folder. Now that I have finished all that, I am going to continue to work with hands.ts, which is the part responsible for detecting the hand movements and gestures, and I am excited to see what happens. I also wanna add more instruments which will not be hard but lets see btw I also added a tanpura soo lets see how that goes. See you guys in the next devlog lets see what happens next…Adiosss."}, {"post_id": 40974, "ts": "2026-08-04T21:01:59Z", "hours": 1.7672, "text": "Today was quite productive – more so than I anticipated at the start – and I finished with something on the order of 400-600 lines of code, most of which were devoted to implementing the entire music module in full with its poses.ts, ragas.ts, and swaras.ts, which I have put together in a clean and working fashion without any odd edge cases and inconsistencies. I think it was very satisfying to see that I had finally managed to put all of the pieces together into one coherent system. Next up was the JavaScript part of the audio pipeline which was much faster to implement than I anticipated because once I figured out the general architecture of it, I managed to do it pretty quickly. Claude helped me a little here and there with some hints and clarifications, but the actual implementation was relatively simple after all that. Today turned out to be one of those productive coding sessions where you just seem to get a lot done and end up with a very well-structured and organized system on your hands. So yeah overall I am like 15-20 percent done I think but its really based on how the rest goes especially the camera tracking my hands lets see."}]...
|
Title: SarSynth by @manayp | Stardance
Devlogs:
T Title: SarSynth by @manayp | Stardance
Devlogs:
Today was quite productive – more so than I anticipated at the start – and I finished with something on the order of 400-600 lines of code, most of which were devoted to implementing the entire music module in full with its poses.ts, ragas.ts, and swaras.ts, which I have put together in a clean and working fashion without any odd edge cases and inconsistencies. I think it was very satisfying to see that I had finally managed to put all of the pieces together into one coherent system. Next up was the JavaScript part of the audio pipeline which was much faster to implement than I anticipated because once I figured out the general architecture of it, I managed to do it pretty quickly. Claude helped me a little here and there with some hints and clarifications, but the actual implementation was relatively simple after all that. Today turned out to be one of those productive coding sessions where you just seem to get a lot done and end up with a very well-structured and organized system on your hands. So yeah overall I am like 15-20 percent done I think but its really based on how the rest goes especially the camera tracking my hands lets see.
Today ended up being one of the most efficient, yet very chaotic coding sessions that I’ve had in a while, because I have managed to finish the entire audio file and the entire engine.ts file, which is essentially one of the key aspects of my entire project, and grew to become more than 700 lines long at the end. Even though I was able to get a lot done, the process was far from being easy, as I encountered some really stubborn errors that would stop the project from running entirely, which were mostly connected to some problems with main.ts file and the Vite configuration, which I did not even know was misconfigured and causing silent problems in the process. I spent far too much time on figuring out the real reasons for those errors until Claude helped me to finally get an idea of what’s really going on. In the process of debugging I found some duplicated code in the engine, which made me quite angry, since it resulted in wasting a lot of time chasing some bugs that occurred due to my mistake when copy-pasting code earlier. Now that I managed to get the engine running at last, I created a little localhost test where I play a sitar sound in order to make sure that the audio stream is functional in real life, and hearing the one little note played made me feel so relieved, knowing that the whole thing really works and not just some theory written in the folder. Now that I have finished all that, I am going to continue to work with hands.ts, which is the part responsible for detecting the hand movements and gestures, and I am excited to see what happens. I also wanna add more instruments which will not be hard but lets see btw I also added a tanpura soo lets see how that goes. See you guys in the next devlog lets see what happens next…Adiosss.
Today, I ended up doing more backend setup than what I had expected to do today, in that, after executing the terminal commands to set up the project environment, there were created two files, namely package.json and tsconfig.json, totaling over a thousand lines of configurations. Although mostly being boilerplate, the creation of the two files marked a huge milestone for me in the sense that the project had now become a TypeScript-based one rather than the earlier looser one. After doing that, I then proceeded into the main codebase to modify main.tsx by refactoring the old code. However, my major achievement was the completion of hands.ts, which is one of the harder pieces of codes in the project, in that it deals with hand-tracking, gesture recognition, and all the movement-related logic in the project. I feel really satisfied in doing this file because it is one of those modules that would allow us to implement lots of other features in the future, and seeing the results of my hard work compile successfully after so much setup was truly satisfying. After implementing all the configurations, making changes in the main entry point file, and completing hands.ts, things went pretty well. Overall everything worked out well and I finally figured out the issue lol it was because I did not have these packages so thank you to Claude because it told me what to put in terminal.
The day became one of those big pushes where each individual piece I worked on became part of a much bigger picture, and it truly seems that today marked one of the largest leaps forward in the entire process. Claude assisted me in my work throughout the day not only with small bugs but with several large problems standing in my way and thus allowed me to successfully stabilize the entire workflow. Once I managed to deal with the problems, I returned to main.tsx and properly fixed the rendering flow along with ensuring that the components were mounted correctly. The key accomplishment was managing to get the performer.ts file fully rendered and working, which is a great achievement considering that this particular file deals with handling the camera feed, recognizing finger positions, and turning those positions into musical gestures. The moment that it actually worked was a feeling of unlocking another level of the project altogether. My entire objective with this application is to create something where one hand can perform the Indian classical notes of sa, re, ga, ma, pa, dha, ni, sa using the finger position to do so, akin to the bansuri or sargam software, and at the same time having the other hand trigger background sounds such as the tanpura drone sound to produce the atmosphere of the Hindustani classical music. The achievement of making the logic of the camera recognize and respond to the gestures makes the entire idea into a reality. This session is definitely one of those milestones since with the main.tsx file sorted out, performer.tsx rendered successfully, and the gesture pipeline behaving the way I envisioned it, there is no stopping what I want to achieve next. And again claude helped soo much in giving big code blocks especially when there were large errors. SO overall great but it could go better because right now it looks like crap.
So I was busy getting down deep into scene.ts, where I’m about half way done with the code necessary to render the hand tracking visual layer. Scene.ts is huge and highly interconnected, bringing in pose definition data, Devanagari/roman naming, ribbon geometry data, skeleton structuring, projector calculation, and all the UI controls to display swara, articulation, gamak, tone lean, and expression-hand behaviors. I got all the constants wired in, the skeleton mapping, the tip detection set, the margining mechanism, the complete SceneInput interface, and I began wiring up the drawScene() function pipeline responsible for the octave ladder, ribbon, intensity meter, and hands overlays. Despite having a good structural backbone in place, I’m encountering a crazy amount of errors – some from TypeScript whining about type mismatches, some from missing imports, and some because drawPoseGlyph() or some other functions aren’t written yet but referenced. There are just too many red lines at this point that I cannot tell which are legit obstacles, and which are only temporary noise from not-yet-written parts. However, the basic rendering code is coming together, the projector calculation works, and the skeleton hand-drawing process seems to be halfway there. I’m not finished coding yet, and so I’m hoping that once things come together, a lot of these errors will clear up as the file is completed. Right now, the code is quite a mess, but at least I’m getting somewhere, and the whole scene code system will become operational. So lets see how it goes see ya’ll later adioss.
Today’s process of working on scene.ts has certainly been one of the most complex parts of my work, since this file involves practically every visual and interaction mechanism I have designed. The imports for degree poses, snapshots and hand tracking points have been implemented and the constants for melody and expression colors, Devanagari fonts, monospace labels and the whole hand skeleton map were defined. Also, the SceneLabel and SceneInput interfaces were implemented; these two mechanisms serve as a sort of backbone for all the information needed by the renderer, such as hands, poses, thresholds, reachable degrees, video size, etc. Then, the geometry helper methods such as roundRect() and ribbonGeometry() were implemented; these methods determine how the swara ribbon would be drawn and how every cell would scale based on window size. Lastly, the drawScene() method is now partially implemented; at the moment it takes care of projection from camera coordinates, drawing of the octaves ladder, ribbon itself, intensity meter and conditional drawings of both hands with landmarks, tone lean arcs, gamak waves and role tags. However, since this file is extremely large and complex, it results in numerous TypeScript errors such as undefined functions, type mismatches, unresolved references, and half-written helper methods like drawPoseGlyph(), which are used before the rest of the code is written. Some errors stem from hand tracking processing, some come from the ribbon rendering code, and some are generated by the math code responsible for resizing the video stream. At this point, the code has reached that chaotic state when the structure starts taking form while the compiler throws numerous errors due to the incomplete file. However, despite the chaos, I have managed to make the ribbon rendering code work, the octave ladder operational, and the hand skeleton drawing code properly working, which means that the visual layer is already being created. I am still working on the code, and hopefully, when more code will be written, many of the above errors will disappear automatically. But yeah overall I fixed them overtime so now I am gonna start the COMPONENTS section around 200+ lines will be written I hope unless an error occurs lets see!!!
So heres what happened… In the last hour Claude generated well over 600 lines of new code, covering roughly 70% of the work, and while it dramatically sped me up the alternative was that my entire project instantly threw errors because none of it was connected together yet. While trying to make some sense of the chaos it dawned on me I had an entirely abandoned folder within my project called Components that was full of React components – HelpPanel, Readout, SettingsPanel, StartOverlay, TopBar – that I’d previously created but never attached to anything, and the kicker was my project wasn’t even set up to buildReact. My package.json didn’t contain react or react-dom, tsconfig.json had no JSX support, and my main.tsx was just vanilla JS with a button, and a tag masquerading as a UI element. So I decide to just bite the bullet and hook up React to my project for real. I install React, ReactDOM, and the types for both. Add a vite plugin in a new vite.config.ts, update tsconfig.json’s jsx compiler option to “react-jsx”, write an actual App.tsx that owns the top-level application state (my Performer engine, configuration, the live snapshot of what’s playing, and the state of the camera module) and passing that down into all the components so that the top bar, readout, panels and start screen actually did things. I wire it into my existing drawScene() function via the canvas, I implement some keyboard shortcuts for notes(A-L), octave raises/lowers(Z/X) and tanpura playback(space). I also implement pointer support for playing notes via click and drag without a camera attached. Two things I spotted and removed was a React StrictMode wrap, which would immediately break AudioContext and my handtracking model by remounting them when they just shouldn’t. I also had an import mistmatch between App with braces and a default exported App. Lastly I added a real index.html with a where React mounts and styled the top bar, readout, panels, and start overlay with a whole new styles.css. I was able to clear down all of Claude’s errors, get TSC output zero errors(tsc –noEmit) and build.
HII guys so heres what I did in the last hour… I spent a good amount of time was spent working on the design of the interface. Finally, I would say that now the interface looks like a finished product rather than some temporary solution. As the first step, I set up a complete theme via CSS variables in :root. In particular, there were colors for the background which should be dark, golden accents, teal expression color, ink text, muted overlays, as well as font stacks of Devanagari and monospace. All those settings in one place immediately gave the interface much better structure and increased convenience of further editing. Further, I adjusted the global layout to make the app take the full screen and have a nice dark mode design, fitting into the overall musical concept of the project. Then, I designed the camera backdrop including the mirrored video feed, vignette gradients, and stage layer. It provides the project with a moody and atmospheric design. After the backdrop was completed, I turned to designing the top bar which includes the design of fields, labels, dropdowns, hint text, and icon buttons. I added select styles with gold arrows, blurring effect, and transition on hover to make all of these elements responsive and clean. Then, I created the tanpura toggle button with its teal glow and devanagari title, which fits very well into the overall Indian classical theme. Finally, I added styles for the pose list and pose glyphs, which include small circles that represent poses, pose names, and subdued note labels. In short, this was the process that turned the plain UI into an actual design. And now I also tested it BUT ima keep it a surprise for yall so I guess stay tuned for the next devlog loll adioss. (I pasted a few of the theme colours in the code below…
TODAY WAS CRAZY and this may be my last devlog I’ve spent today creating the entire visual backbone of the app, and now finally feel that the UI actually has some personality and doesn’t consist of random pieces. To start with, I defined a complete theme in :root – all golds, teals, ink shades, subdued overlays, panel colors, and two font stacks – so all the elements of the app draw colors from one consistent palette. Next, I created the layout guidelines for html, body and #root, and implemented the backdrop system – mirrored camera feed, vignette gradients, and stage layer below the canvas. Finally, I added the top bar styling, dropdowns, hint text, icon buttons, and tanpura toggle styling using the gold/teal accent language. I included the UI for the pose list, the readout section with Devanagari + monospace swara display, and the stat blocks with small capital letter labels. And now, I have the help and settings panels with blurred glass background, gold section headers, chips, toggles, and sliders. In addition, I designed the footer banner and the whole start overlay consisting of the brand logo, tagline, buttons, loading animation, error message, and legal disclaimer, so that the app can have a nice onboarding screen. Last but not least, I provided the full responsive layout for small screens so that UI elements will be reorganized on mobile devices properly. Overall, this stylesheet became the core of the application UI design. SO overall it works pretty well and its amazing and I made it indian because I am personally indian. So overall this is prolly note my last devlog but LETS SEE. Adioss.
Over the past 45 Minutes or so I have been writing my readme and organizing some files. In all my other projects my readmes were always the worst part of my project but not anymore starting from now. I learned how to write readmes with more efficiency by adding # and * which basically makes text bigger and also bold or italic. So far I wrote the overview on what my project actually is and I have also wrote some of the philosophy and design goals which include data in jots. I also completed the tech stack and computer vision data which is in the same section as the design goals. Overall I am like 20 ish percent done the Readme and my folders are properly organized and I am done that section now.
The front page was zoomed in a bit which was because of the css which I figured out after going through the CSS so that I fixed. Claude helped me a ton just now because I told it to make me 8 different panels in the front page which lead to a page and claude did that which was nice but for some reason it wrote 600 lines of css which is wild because there is not much that was added just colour and a bit of shadows but its fine because its just panels. OK then off hackatime I did my own little research and basically MY IDEA was to make a panel of each instrument that was incorporated in this project and write a 1 paragraph historical perspective of each instrument and overall it worked out pretty well but AGAIN a sizing issue occurred due to claude and I told claude 4 times to fix it but it could not for some reason And then I went in and figured it out lol it was the most funniest mistake…the css was on 2x zoom and my browser was also on 2x zoom for some reason. So yeahh… that has been solved now I also worked on my readme a bit like 2-3 sentences ish. So overall in these last 25 minutes I got through a lot of progress…
Ok so my README.md is done after like 1 ish hour in total. I incorporated as much as I could including a license in the bottom and honestly this is my first time not writing it raw and actually using hashtags and asterisks to make the text look better in the readme so it went well. I hosted it and was going to ship it. I showed it to my sibling and my feedback was “can you make it not that fun its kinda boring” so that obviously struck me inside considering the effort I put into this so what I did next was crazy. So as you know I was gonna ship it but instead I mapped out a way where I can add small games into it like GUESS THE RAGA and more which I will incorporate later. So sorry Guys I will need to add a bit more before I can ship it but I got this. Adioss.
I fixed the Tanpura instrumental background track and now it works more properly because last time it was glitching even when I spammed it so it is fine now just a small JS error. I also finished the games logic its 3 simple games which you will come to know soon… In total it is about 250 lines of code which is fairly simple but the games are actually nice in my opinion. And soon I will be making a sort of guide on how to position your fingers for each note which includes Sa, Re, Ga, Ma, Pa, Dha, Ni, Sa. But tbh I have everything thats needed but it doesent hurt to give a bit of teaching because honestly even though I made it, it was pretty hard doing the dha and ni because my hands were keep forgetting the placement but after some time and practice I got it (10 min lol)… So lets see what happens next… Byee and ADioss
So in the past half and hour I did a lot and yes this is actually my final devlog this time. Ok so I finished the css around like 100-200 lines of code but it was light because the color scheme sorta connected with the theme anyway… I ran into a few alignment errors like it was blocking my whole screen but I fixed it so thats solved. I also updatted my readme about the games. Below I added a picture of my finger guide SarSynth it just shows how all your fingers should be aligned and for what and personally dha and ni is the hardest but with practice (like 5-10min) you can get used to it. I made it with Canva it took like 2 Minutes because the pictures I didnt really count towards my time just the making and alignments were counted. Overall thank you and goodbye.
So this is my first devlog of the new ship and I thought a lot and wondered a lot of what else to add. And now I know. I am adding internal tools to it like a whole page which can be easily accessed. So far I have completed toolAudio.ts and it was about 130 ish lines of code and overall it works well. And yeah so I spent 50 minutes just writing 80 ish lines of code which is pretty not that bad but I slowed down because I changed my ideas mid writing… and also my github got reset or something somehow and alll my commit messages are gone so I have restarted with another repository with new commits. And also I made the most crap mistake ever so instead of making the folder in SRC I made it in localhistory which wasted SOO MUCH of my time. BUT I just copy pasted my code into the right place so overall its all good now. Ill see you guys later. Stay tuned for the upcoming tools. Thanks. ADIOSS
After almost an hour I finally completed 2 files. I completed the ToolsPage.tsx fully and the ScaleFinder.tsx…. Now I havent really fully tested the toolspage one but the scalefinder one works (I tested it with onecompilor and it works great. So my first tool is finally completed and working now I just gotta keep going at it and finish a few more…So I am done for today and personally I got a good amount done. I am still running into a few errors in the ToolsPage.tsx but 100 percent thats because of the imports because currently I do not have some of the pages but it willl get fixed. And today I finished about 250-300 + lines of code and thanks to chatgpt and claude because they taught me a lot of things including blurb…honestly I am not that good at this coding language but I am still learning. Adiosss see u in the next devlog…
So I completed the TheoryReference.tsx and finally just now completed the TaalMetronome.tsx. I also researched various types of taals and beats for the metronome and I learned new things and concepts which include vibhag, sam, tali, and khali. And to be honest claude and chatgpt helped in coding chunks which just made my coding and stuff faster. So overall I had good enough progresss in the last 1-2 hours so yep. I completed the development of my fully cycle-based taal metronome today. In this project, I have FINALLY developed a system that would be based on the concepts of vibhag, sam, tali, and khali rather than the conventional method of bar-based counting. I created a complete set of taals that contain information about their vibhag structure, khali, bols, and notes. Then, I coded the system to dynamically create matra counts, accent patterns, and vibhag markers. The audio engine is now powered by an advanced Web Audio scheduler that allows pre-scheduling of clicks, takes care of subdivisions and accent playback so that the structure of taal is perceivable to the user via sound. I have also incorporated tap tempo with averaging and reset functionality with “const” placed in numerous lines which will not change anything. Special thanks to vs code because it gave me auto suggestions which auto fixed my code which actually helped me a lot because honestly I suck at typing fast lol. I also pushed many commits in github so its all active and ongoing. More will also have to be fixed though soo stay tuned and adiossssssssss. So overall I have good progress and I will see you in the next devlog adioss.
So basically I am almost done… So all my files for the extra tools were supposed to be much more longer but because I do not wanna spend too much time on this project I shortened each file by 200 ish lines with the help of Claude and my wits. So I finished all the tools so far, but I just have like one more left. And I also have to do the CSS which I have to make so that will take some time. During this phase, I worked on improving the whole SarSynth interface, designing a dark theme with gold accents and creating the whole layer of UI elements which feels stable and high-performance. I defined the CSS variables for the whole interface, its colors, font styles, and panel styles, made the camera backdrop with mirrored video and vignette with smooth transition of opacity. Top bar design took much of my effort, as I designed the fields with labels, custom selects with gradients and arrows, hint texts, buttons with icons and Devanagari tanpura switch with activated and inactive states. After that, I added the pose list functionality with glyphs for melody and expression, mono-font labels and muted notes. Readout part and the layout as a whole received tuning of spacing and blur effect, and at the same time, I was solving various irritating problems such as proper placement of select-element arrows, right background for backdrop, and visual matching of components. Overall I believe I am 80 percent done the tools code and everything but that will all be resolved and established soo adios cya in my next log…..
So I did 115 ish lines for the tuner and claude did like 50-65 percent of it because mostly it was repeats of other stuff but also a bit of new stuff in it especailly the logical part of it. So this was actually my second last file so I juse gotta finish the CSS for everything and I am going to be done. Also I found out that the <ToolShell function that I created had glitches or idk something was happening but I fixed it and realized it was a spelling mistake lol. I spend 3 min on solving that so its fine… Ok so the tuner I was working on is basically going to do exactly what your thinking of its going to tune instruments or even your voice using cents which is a thing for tuners that shows its close or far. Overall its going veryy well so lets see if my css goes well or not adioss.
So first of all yes I finished my readme. By finished I mean updated because I added tools. There are 6 distinct tools I created which are in indian style and it works pretty well. I also learned some new stuff from claude like I didnt know too. I learned some stuff in this long session like I never knew that if you set the opaqueness to 1.2 instead of 1 it will be dead code because apparently 1 and 1.1 is the same thing which to be honest is fairly the same. Lol I know this is kinda lame but for some reason it surprises me a lot. I also learned what npm run build does…according to claude it means it checks errors and stuff which personally for some reason I did not know that either… In my project theres some dead space in some areas of the tools pages but thats fine because tbh I was aiming for that because to show its simplicity and stuff lol. The biggest thing that stumped me though was the error in toolspage.tsx…. it says theres an error with the connection of the pages but I think its just a glitch because its all connected right with all the files in the right space so overall I just think thats an error or a glitch. Special thx to claude and vs code suggestions because they helped me learn stuff and made my life easier and possibly faster in some sorta of way so thx. Claude and vs code and github copilot also helped me push my files faster and more efficient so thx. Overall this is my last devlog and I had a great time making this and it went really well (at times lol) and if you guys like this make sure to possibly follow and like some of my devlogs and if you dont then contact me in slack if you have anything I should change or add or even fix lol. Thanks and adioss.
Ships:
What have you created? Sargam Synth - an instrument of Indian music which you can play through gestures of your hands in front of a webcam. Left hand defines the swara depending on the number of fingers raised (1 = Sa, 2 = Re, etc. up to Ni), while right hand controls the volume, tone and ornamental variations. Sargam Synth includes 37 ragas and scales, eight synthetic instruments, like sitar and bansuri, tanpura drone and three training games. What was difficult? Developing reliable gesture recognition system - my initial prototype reacted to each frame from the webcam, so a lost frame cut the sound and any transition between the postures produced false notes. I solved this problem by making each finger press steady for 90 milliseconds before it is recognized and remembering the last known position of a hand when it is not currently recognized. The sound of sitar was the second difficulty because it is a synthetic oscillation simulating vibration of the string, not just the simple oscillator. What are you proud of? It’s properly tuned — when playing Ga in Yaman scale you actually hear 5/4 pure interval rather than somewhat different one a piano would provide you. And it even knows how to teach you — all swaras demonstrate their respective fingering on the screen, both hands show you fingers captured by the camera. Thus, if a pose is not recognized, you will immediately understand if it’s you or the tracker who fails to recognize. Overall it had been an amazing journey and its lowkey fun to use with a bit of practice and stuff (I added a guide below for fingerings just incase)… What should people know in order to try it? Allow the camera, and don’t forget about this: Left hand chooses the tone, right hand makes the sound appear — nothing plays until your right hand is raised. If your hands appear inverted, there is a Swap hand detection option in Settings menu that will correct it for you in one tap. No camera? Then press Continue without camera and play using clicks on the swaras or A S D F G H J keys.
This innovation is something that I am proud about in SarSynth since it combines both technology and Indian classical music. SarSynth turns your camera into a musical instrument with the ability to play swaras using hand gestures while using ragas, instruments, tanpura, among other concepts. Getting the gesture recognition and the playing of music using the system was what I enjoyed most in the process of creating SarSynth. SarSynth can recognize hand poses, translate them into notes, and even incorporate features such as different ragas, synthetic instruments, training games, and tuner. I had many mishaps and stuff because in this new update I focused on the TOOLS which was not needed but I just did it. But in the same time I honestly also learned some new things so for me personally it was a win-win situation even though a bit of time was wasted in bugs and other random mishaps. In general, I believe that SarSynth is a nice application since it incorporates Indian classical music in an interactive manner and in addition to learning a lot through this experience especially when trying to debug different systems. And I hope you guys liked it. If you guys have any suggestions or things to add lemme know in slack. Thank you and adios. Note: This update is for the tools only....
|
1792838959.6573503
|
1792925359.6573503
|
|
44056
|
Eng-inuity by @antellij | Stardance
|
antellij
|
2
|
29.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-04T04:31:28Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Introducing Enginuity! The most accurate representation of the challenges involved with engineering (like not electrocuting yourself) in a fun (hopefully) warioware inspired game. Everything is lovely and nothing is wrong… but FAILURE is NOT tolerated Do you have what it takes to beat the 5 unique minigames?", "repo": "https://github.com/antelliJ/Eng-inuity-game", "demo": "https://o7m8.itch.io/enginuity"}, {"ship_num": 2, "ts": "2026-09-05T03:41:03Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Introducing Enginuity! The most accurate representation of the challenges involved with engineering (like not electrocuting yourself) in a fun (hopefully) warioware inspired game. Everything is lovely, joyous, and nothing is wrong… but FAILURE is NOT tolerated", "repo": "https://github.com/antelliJ/Eng-inuity-game", "demo": "https://o7m8.itch.io/enginuity"}]...
|
[{"post_id": 76551, "ts": "202 [{"post_id": 76551, "ts": "2026-10-03T22:20:43Z", "hours": 2.7369, "text": "Added a new minigame here you must accurately sort the objects to train the always watching AI. But you cannot get it wrong"}, {"post_id": 76032, "ts": "2026-10-02T03:46:07Z", "hours": 0.6378, "text": "I thought making something somewhat smooth with curves would be a little hard, but its really easy to slap on a lerp and everything works decently"}, {"post_id": 76021, "ts": "2026-10-02T02:51:07Z", "hours": 1.7353, "text": "Small things that add a lot The game doesn’t end! Once all the minigames are completed, you can continue but the time gets faster over time (up to a certain point so its not completely impossible). I haven’t gotten past 12, so I haven’t quite seen the max speed for long, so maybe it is not humanely possible at that max I also procedurally made sounds so the game feels just a little more lively"}, {"post_id": 75786, "ts": "2026-10-01T04:18:13Z", "hours": 4.9367, "text": "Wow I remembered this project exists! worked on actually making lives, and added a new minigame to connect pcb traces"}, {"post_id": 63835, "ts": "2026-09-07T20:11:17Z", "hours": 0.2639, "text": "Added some more things to the readme to prep it for launch"}, {"post_id": 63677, "ts": "2026-09-07T16:38:18Z", "hours": 4.3783, "text": "I added tips just before the start of the game to make it more clear what the objective of that particular level is. To make use of the assets I made a third minigame. I also added a system to basically cache all the particles at the start, since it takes a good second for it to load on the first run, especially on web. I think I’ll properly implement the lives system once more games are added."}, {"post_id": 61925, "ts": "2026-09-05T02:58:27Z", "hours": 1.4672, "text": "Cleaned up some of the minigames and made a fitting Readme for the github before shipping"}, {"post_id": 61780, "ts": "2026-09-04T21:07:29Z", "hours": 7.2142, "text": "I have no clue what I was talking about saying I was working on foundations, because I look around and all I see is garbage. Its been a while since I’ve worked on this, but I am really baffled by what I was trying to do in the code. At least I have art for placeholder stuff, and got to actually work on the ‘game loop’. Sometimes I am genuinely concerned with what I am even attempting to make, but maybe when it all comes together the absurd plot will at least be at home with the rest of the absurdity in the game."}, {"post_id": 42905, "ts": "2026-08-07T21:12:22Z", "hours": 4.9739, "text": "Devlog 0 I’ve just started work on my entry for the warioware mission since I’ve used godot before and have always enjoyed quickfire arcade-like games. With stardance being a platform of creating technological projects, I had the ingenious idea to theme the minigames on engineering life and challenges, spawning the idea of enginuity (see what I did there) From getting wisdom from a rubber duck, to not getting electrocuted, (among more minigames I have planned) I hope that the game may be interesting of course fun what I have so far I spent a lot of time trying to get the shaders to look how I wanted, and I still think there is some changes that would have to be made in the future I started some of the logic for inputs and a foundation for the theming. I also put in some temporary art Anyways, thanks for reading this, and I hope you have a wonderful rest of your day!"}]...
|
Title: Eng-inuity by @antellij | Stardance
Devlog Title: Eng-inuity by @antellij | Stardance
Devlogs:
Devlog 0 I’ve just started work on my entry for the warioware mission since I’ve used godot before and have always enjoyed quickfire arcade-like games. With stardance being a platform of creating technological projects, I had the ingenious idea to theme the minigames on engineering life and challenges, spawning the idea of enginuity (see what I did there) From getting wisdom from a rubber duck, to not getting electrocuted, (among more minigames I have planned) I hope that the game may be interesting of course fun what I have so far I spent a lot of time trying to get the shaders to look how I wanted, and I still think there is some changes that would have to be made in the future I started some of the logic for inputs and a foundation for the theming. I also put in some temporary art Anyways, thanks for reading this, and I hope you have a wonderful rest of your day!
I have no clue what I was talking about saying I was working on foundations, because I look around and all I see is garbage. Its been a while since I’ve worked on this, but I am really baffled by what I was trying to do in the code. At least I have art for placeholder stuff, and got to actually work on the ‘game loop’. Sometimes I am genuinely concerned with what I am even attempting to make, but maybe when it all comes together the absurd plot will at least be at home with the rest of the absurdity in the game.
Cleaned up some of the minigames and made a fitting Readme for the github before shipping
I added tips just before the start of the game to make it more clear what the objective of that particular level is. To make use of the assets I made a third minigame. I also added a system to basically cache all the particles at the start, since it takes a good second for it to load on the first run, especially on web. I think I’ll properly implement the lives system once more games are added.
Added some more things to the readme to prep it for launch
Wow I remembered this project exists! worked on actually making lives, and added a new minigame to connect pcb traces
Small things that add a lot The game doesn’t end! Once all the minigames are completed, you can continue but the time gets faster over time (up to a certain point so its not completely impossible). I haven’t gotten past 12, so I haven’t quite seen the max speed for long, so maybe it is not humanely possible at that max I also procedurally made sounds so the game feels just a little more lively
I thought making something somewhat smooth with curves would be a little hard, but its really easy to slap on a lerp and everything works decently
Added a new minigame here you must accurately sort the objects to train the always watching AI. But you cannot get it wrong
Ships:
Introducing Enginuity! The most accurate representation of the challenges involved with engineering (like not electrocuting yourself) in a fun (hopefully) warioware inspired game. Everything is lovely, joyous, and nothing is wrong… but FAILURE is NOT tolerated
Introducing Enginuity! The most accurate representation of the challenges involved with engineering (like not electrocuting yourself) in a fun (hopefully) warioware inspired game. Everything is lovely and nothing is wrong… but FAILURE is NOT tolerated Do you have what it takes to beat the 5 unique minigames?...
|
1792821010.3453827
|
1792907410.3453827
|
|
44219
|
Start page by @Zeti_1223 | Stardance
|
Zeti_1223
|
2
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T09:52:13Z", "hours": 1.0, "multiplier": 1.24, "payout": 1, "blessing": "neutral", "text": "Reworked the whole design", "repo": "https://github.com/zeti1223/Start-page", "demo": "https://zeti1223.github.io/Start-page/"}, {"ship_num": 2, "ts": "2026-08-05T20:09:09Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a paper like start page that uses Nasa picture of the day in the background, and it also has a settings menu, and there you can set the shortcuts, and the search engine. The most challenging thing was to implement the custom cursor.", "repo": "https://github.com/zeti1223/Start-page", "demo": "https://zeti1223.github.io/Start-page/"}]...
|
[{"post_id": 41834, "ts": "202 [{"post_id": 41834, "ts": "2026-08-06T09:18:05Z", "hours": 0.5, "text": "Reworked the design from scratch"}, {"post_id": 41409, "ts": "2026-08-05T16:29:37Z", "hours": 0.9386, "text": "Shortcuts and settings"}, {"post_id": 41366, "ts": "2026-08-05T15:14:08Z", "hours": 0.2586, "text": "Paper design (sorry hacakatime didn’t logged properly, you can see from git that I worked on this feature 30 min)"}, {"post_id": 41348, "ts": "2026-08-05T14:38:39Z", "hours": 0.2931, "text": "Started working with Nasa API"}]...
|
Title: Start page by @Zeti_1223 | Stardance
Devlo Title: Start page by @Zeti_1223 | Stardance
Devlogs:
Started working with Nasa API
Paper design (sorry hacakatime didn’t logged properly, you can see from git that I worked on this feature 30 min)
Shortcuts and settings
Reworked the design from scratch
Ships:
I built a paper like start page that uses Nasa picture of the day in the background, and it also has a settings menu, and there you can set the shortcuts, and the search engine. The most challenging thing was to implement the custom cursor.
Reworked the whole design...
|
1792820976.4535275
|
1792907376.4535275
|
|
44233
|
wayne's personal website by @wayne14 | Stardan wayne's personal website by @wayne14 | Stardance...
|
wayne14
|
2
|
8.0
|
20
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T10:45:26Z", "hours": 2.0, "multiplier": 9.85, "payout": 20, "blessing": "neutral", "text": "I finished my personal website by making it responsive and enhancing the design. The most challenging part was the CSS. I had this problem when the page starts scrolling horizontally as I shrink it. I tried everything (except AI): deleted different code blocks, rewrote different properties. Eventually, I found it: a simple align-items: center. Bruh…. Then everuthing worked fine, but I still wrote overflow-x:hidden just in case… I’m really proud of the end result - clean, modern, adaptive, funny, and personal. Test it by trying it on different devices and finding some quirky layouts on some device sizes (which shouldn’t exist hopefully).", "repo": "https://github.com/wayne-14e/Personal-Website", "demo": "https://wayne-personal-website.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-10T03:44:14Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a simple personal portfolio website using HTML, CSS, and some JS. The most challenging part was creating a custom grid in hobbies & interests section - 2 columns, 2 blocks in one row and another block takes two rows. At first, I looked at documentation, but didn’t find what i needed. There are so many grid properties! Eventually, I asked DeepSeek to show me an example of how to make it and adapted it to my project. I’m really proud of what I made. I think it’s very creative, especially the last section. I’m pretty sure whoever opens it will LOL! That’s exactly what my goal was - to tell about myself in a funny way. One thing I still need to work on is responsiveness, but the rest of the features are working and u can test them.", "repo": "https://github.com/wayne-14e/Personal-Website", "demo": "https://wayne-personal-website.vercel.app/"}]...
|
[{"post_id": 47414, "ts": "202 [{"post_id": 47414, "ts": "2026-08-15T10:31:05Z", "hours": 2.0008, "text": "Responsiveness: ON I made my personal portfolio website responsive, so u can now use it more comfortably on mobile or tablet devices. Also added some emojis to the design of the page and designed a logo in Figma."}, {"post_id": 43095, "ts": "2026-08-08T05:39:23Z", "hours": 1.9772, "text": "Finished desktop layout of my personal website. The last section is where I used some Java Script and it’s the funniest part of the website (increase volume when going to the last section….) only mobile responsiveness is left…"}, {"post_id": 41810, "ts": "2026-08-06T08:06:12Z", "hours": 4.3267, "text": "Almost done! I was really trying to make it personal, so I chose the theme of my favourite video game Minecraft and combined it with coding vibes. Hope u will enjoy it and we share some things in common. it’s not fully ready yet: there are only 2 sections and it’s not responsive, but it won’t take too long…"}]...
|
Title: wayne's personal website by @wayne14 | Title: wayne's personal website by @wayne14 | Stardance
Devlogs:
Almost done! I was really trying to make it personal, so I chose the theme of my favourite video game Minecraft and combined it with coding vibes. Hope u will enjoy it and we share some things in common. it’s not fully ready yet: there are only 2 sections and it’s not responsive, but it won’t take too long…
Finished desktop layout of my personal website. The last section is where I used some Java Script and it’s the funniest part of the website (increase volume when going to the last section….) only mobile responsiveness is left…
Responsiveness: ON I made my personal portfolio website responsive, so u can now use it more comfortably on mobile or tablet devices. Also added some emojis to the design of the page and designed a logo in Figma.
Ships:
I created a simple personal portfolio website using HTML, CSS, and some JS. The most challenging part was creating a custom grid in hobbies & interests section - 2 columns, 2 blocks in one row and another block takes two rows. At first, I looked at documentation, but didn’t find what i needed. There are so many grid properties! Eventually, I asked DeepSeek to show me an example of how to make it and adapted it to my project. I’m really proud of what I made. I think it’s very creative, especially the last section. I’m pretty sure whoever opens it will LOL! That’s exactly what my goal was - to tell about myself in a funny way. One thing I still need to work on is responsiveness, but the rest of the features are working and u can test them.
I finished my personal website by making it responsive and enhancing the design. The most challenging part was the CSS. I had this problem when the page starts scrolling horizontally as I shrink it. I tried everything (except AI): deleted different code blocks, rewrote different properties. Eventually, I found it: a simple align-items: center. Bruh…. Then everuthing worked fine, but I still wrote overflow-x:hidden just in case… I’m really proud of the end result - clean, modern, adaptive, funny, and personal. Test it by trying it on different devices and finding some quirky layouts on some device sizes (which shouldn’t exist hopefully)....
|
1792846441.57175
|
1792932841.57175
|
|
44314
|
Cami by @barfpile | Stardance
|
barfpile
|
2
|
35.49
|
530
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T22:22:29Z", "hours": 23.0, "multiplier": 17.33, "payout": 392, "blessing": "neutral", "text": "Welcome to Cami! It’s been a difficult 30 hour journey and I’m tryna get me Factorio to wrap up this awesome summer. :P Warning: The client is AI-Generated, it is not the project, simply a tool so you guys don’t have to make raw http requests with python. None of the rest of the project is AI-Generated.", "repo": "https://github.com/fries-git/Cami", "demo": "https://fries.hackclub.app/demo"}, {"ship_num": 2, "ts": "2026-08-11T05:46:34Z", "hours": 10.0, "multiplier": 14.13, "payout": 138, "blessing": "neutral", "text": "Cami is a full authentication backend. I made this for use in my own projects, and as a way to learn web stuff with flask. It was challenging just getting it all working. Combining Flask and TinyDB (things I’m not too familiar with) to make this come together. To use, register an account on the homepage, then click around and see what you can do! THE CLIENT USED IS AI: I do not know how to do frontend html work, and that is not the project. The project is the backend python.", "repo": "https://github.com/fries-git/Cami", "demo": "https://fries.hackclub.app/demo"}]...
|
[{"post_id": 76876, "ts": "202 [{"post_id": 76876, "ts": "2026-10-04T22:06:07Z", "hours": 1.0306, "text": "Fixes/Tweaks Might as well just get some time out here, I’ve literally been working on livechatting and misc fixes. I’ve been so stressed and tired and distracted I don’t remember working on this at all. I’ve moved primarily to working on Phantom, tryna get me a blahaj and balatroooooooo also its been 12 days please ship me my items 😭 Live Chatting Decentralized? Check Ability to change servername dynamically? Check Editing/Deleting messages? Check we’re so goated :)"}, {"post_id": 75357, "ts": "2026-09-29T20:49:47Z", "hours": 1.46, "text": "Well it was fun! (Its going for another week after i blow all my stardust.) Hello stardancers. Its 9-29-26. I’m not going to be able to make another ship and get it rated. Thank you everyone so much for the support on this project, and thanks for running Stardance! Mainly just working on live chatting, a decentralizable chatting service similar to discord, which will be picked up on phantom.hackclub.com. For anyone wondering what I got out of Stardance: 1 domain Outpost Badge (will make a project with that too!) Factorio Pico-8"}, {"post_id": 72426, "ts": "2026-09-22T22:21:17Z", "hours": 0.2506, "text": "AI generated a client so people can actually use it. Once again, I truthfully, have not used AI in this project for anything but front end, which I do not know how to do. Over the course of testing I have mainly used raw HTTP requests."}, {"post_id": 72420, "ts": "2026-09-22T22:02:45Z", "hours": 2.6606, "text": "A lot… I JUST BROKE 30 HOURS ON THIS PROJECT SERVER-SIDE CODING OMG!!! :D Well Cami has been rolling along reallllllllly quickly. Things I’ve added/worked on: Playlists/More Music Stuff Fixing up the post search api Remake of ws chat server Fries have been implemented Fries transfer is working Fries daily claiming is working So many fixes (many things didnt quite properly handle errors and so they have been fixed) Changes to your user info are being locked behind fries. (PFP Decor is locked but pfp, bio, and more will be locked, basically everything but password changes) Image/Music uploading will likely be locked behind fries, or you will have to pay fries to upgrade the amount of stuff you can store. More PFP Decor has been added to my personal instance but that doesnt affect here. Server logs are prettier. More info attached to the user queries. Thanks for reading and sticking with this shitshow of a project."}, {"post_id": 71293, "ts": "2026-09-20T16:11:07Z", "hours": 1.9511, "text": "Music Server/New Chat Server Hello! I’ve lately been working on a music server. Users can upload any sort of audio file, mp3, ogg, it should support mp4 but i haven’t tested, and it converts it to an ogg file. The ogg file has a roughly 75% file size to the original MP3 while keeping the same quality. I’ve also been working on things like metadata storage, playlists, and more. On top of music, I’ve started a full rework of the live chatting system. It’s been going well so far, but I’m changing up how it works a little. It’s going to be closer to IRC + DMs, there will be no locked channels, no way to create custom channels anymore. Hopefully I can also drag some more people in, and make it much simpler to use, and on top of this make it super easy to link to Discord and such. So yeah! It’s been going well, I’m still alive, I’m running out of time to ship… and uh yeah! Have fun coding!"}, {"post_id": 69922, "ts": "2026-09-18T02:21:37Z", "hours": 1.1539, "text": "Fixes, Simultaneous DB Editing, and JSONifying. Quick one since its like 11pm, I’ve been working on a lot of fixes. I, since the start of this project, haven’t closed DBs. Think about that. I am an intelligent human being. I’ve also been working on getting searching working (image) for the social api, and making sure everything works with that. On top of this, everything is still getting organized, and made to have very similar responses, so as a dev less work has to be done for you to support it. I also kinda started on a python library, but eh, we’ll see how it goes I suppose. Also have been working on some security, nothing commited, to try to make it harder to hack ig. Gn stardance! (im sick)"}, {"post_id": 68332, "ts": "2026-09-14T23:16:24Z", "hours": 0.4742, "text": "Multiplayer Im in the midst of making an extendable WS based multiplayer server, and figured I’d test it with a cool game somebody I know made! It’s a W.I.P. but works pretty well and everything server side is done lol."}, {"post_id": 66929, "ts": "2026-09-12T22:02:14Z", "hours": 0.4564, "text": "Im back Been working on the project a bit. Mainly just working on docs and helping people understand the API in a more sort of private environment. Should push a ship eventually, and its gonna be super awesome for everyone! :D Also maybe I did a devlog but i added timestamps to posts and stuff and made the total requests needed to do everything muuuuuuuch smaller, and made a smaller cache of data needed."}, {"post_id": 62232, "ts": "2026-09-05T14:31:16Z", "hours": 0.9633, "text": "LATEST UPDATES Auth Securely, Auth Silly <3 Normalizing Returns I’ve been doing a lot of work on simply normalizing some returns. Some of them were just slightly different like “The token is invalid” vs. “Invalid Token”, so those were condensed into “invalid token”, on top of this whenever i return a message i wrap it like: {\"cmd\":\"success\",\"message\":\"<original message>\" . On top of this I also went through and changed some of the codes. DB Fixes Next thing I need to fix is any DB access needs to be routed through the helper funcs and properly closed. If you change your name, half the project still thinks only the original exists, while the other half, the correct half, only sees the new name. The reason is I have broken the project up into like 5 python files, 2 of which are both trying to simultaneously access the DB. Which, in-case you were wondering, is not good. Less Requests Something else I’ve been working on to prevent clients having to make like 3 requests for one thing, and to prevent the server from having to handle those, is to whenever a message is saved to the DB say from the social endpoint, when I send it back down, I attach the username and display name to it. This takes >2 http requests, get the messages then the usernames and user info, down to just 1. (Until you grab user pfps, which should be just grabbed once and cached.) Because this is really all I did I like… don’t have pictures? So… Enjoy the little 88x31 I made Also this is probably the longest devlog I’ve ever made, but I’m bored, and since I just got 6 months of Spotify premium as a gift, I’m letting the weird AI DJ thing just play whatever it feels like. It does, however, keep going back to the dark ages of 2024. Let me forget that year of music listening…"}, {"post_id": 60382, "ts": "2026-09-02T17:53:50Z", "hours": 1.9931, "text": "Fixes and Usage Well hey! It’s been a hot minute right? Lately I have been working on a lot more fixes, mainly on things like the social endpoint, and the image endpoint. Not terribly visible portions right now, but majorly important! I also got a used RPI5 which is now hosting it. That means, no more Nest downtime issues resetting my code! Yay! Notable Changes: The social posting endpoint returns the whole message object instead of just the ID. Files have been reorganized to be much cleaner Tons of little crashes and issues have been cleaned up, there are still more. I’ve started in on beautifying the logs!"}, {"post_id": 55320, "ts": "2026-08-27T02:04:33Z", "hours": 0.3108, "text": "Quick Devlog for the reroll Started just adding more pfp decor, had some people make me some. Yippee! Quick update: that’s not mine and I didnt get permission to use it, its the one i had for testing first because I got it from somewhere else real easily. It has since been removed, in favor for other ones I do have permission to use."}, {"post_id": 54861, "ts": "2026-08-26T01:43:17Z", "hours": 0.7211, "text": "Fixes and Continuity So basically this was just fixing a lot of weird things. For example, this being the main thing, the pfps stored whenever a user uploads them, get stored as 128x128. But the empty pfp, was 256x256. On top of this in some websocket things i was using \"msg\":\"content\" or \"message\":\"content\" interchangeably, but this has since been normalized. In all its just been a productive time, I’ve added a bunch, started working on a python library, and just gotten ready for ship 2!"}, {"post_id": 53675, "ts": "2026-08-24T10:50:24Z", "hours": 0.9739, "text": "Fixes and new paint Pretty much everything I have worked on this devlog simply involves fixes. “Oh, I’m not handling invalid json on a route, oops!” Or: “Oh usernames can be >32 chars because i messed up my if statement.” (I learned this one when someone with the entire bee movie script as their name appeared on my users route.) While it was all fixes I worked on, on top of this, due to wanting to commit roughly once every hour to keep people updated, I rewrote the empty path so it looks better. Link still points to the github repo. Auth Securely, Auth Silly."}, {"post_id": 53089, "ts": "2026-08-23T14:50:20Z", "hours": 1.5633, "text": "PFP Decor / Display Names ALSO I HIT 20 HOURS These have been wip and were quite simple to implement, display name is just another value in the TINYDB database for users, and so is the profile decor. I got it from another app so I can’t really commit it because its not mine, however it works! There’s no way to set it yourself I just hand edited the DB. Also, users can now edit their username! I know that was a massive complaint in the first ship. Past that really all I changed was paths. Before i had paths like /getuser?user=fries which was dumb. I figured out how to, with flask, make it /user/fries and it gives the same information. Much cleaner."}, {"post_id": 50019, "ts": "2026-08-19T01:27:36Z", "hours": 2.4608, "text": "More Livechat and Currency Livechat: So I’ve done a lot more on livechat, you can create channels now (properly,) delete messages, almost have it so you can edit them, and typing indicators are almost done. Currency: I’ve started figuring out how users should get currency, and what it should go towards. Right now, the main idea is get it daily by posting/using livechat, then spend it on customization like user color, or upgrading max bio length."}, {"post_id": 49218, "ts": "2026-08-17T21:28:23Z", "hours": 0.6536, "text": "More public channels and locking!"}, {"post_id": 48867, "ts": "2026-08-17T13:00:31Z", "hours": 2.4442, "text": "Live Chat Fixed! I fully fixed and implemented the livechat. It supports the creation of channels with passwords, message history, joining channels, sending to channels you’ve joined. If all users leave the channel, unless its a keep-alive channel, mostly predefined channels with no passwords like general and off-topic, the database for message history gets wiped, and the channel is up for grabs again! I dont have any pictures really, I did it last night on a different PC, so enjoy an 88x31!"}, {"post_id": 48487, "ts": "2026-08-16T21:10:31Z", "hours": 0.4981, "text": "Live Chat Live chat is working in its most basic form! I did censor the usernames, solely because they used their real name lol. Color coding different users, the same person is censored with the same color across pics."}, {"post_id": 47555, "ts": "2026-08-15T15:07:11Z", "hours": 1.2475, "text": "GIFS Gifs have been added to the image api. (I can finally new line again!) Images you go: https://images.barfpile.dev/getimage/filename gifs you go: https://images.barfpile.dev/getgif/filename.gif (you can remove the .gif at the end and it will work fine everywhere but discord. You can also use getimage on a gif, but again, will work anywhere but discord.) (Attached gif was added by someone, idk who, while I was testing gifs lol. I am going to add basically metadata so you can get https://images.barfpile.dev/getmeta/filename and retrieve things like timestamp uploaded, filename, and who uploaded it.)"}, {"post_id": 47174, "ts": "2026-08-14T21:26:35Z", "hours": 1.8294, "text": "Images and livechat - I made an image api! You can upload infinite files, compressed to be 1/3 of their size ofc. Also started implementing live ws chatting with infinite channels that can be password locked. https://server/getimage?filename=testimage"}, {"post_id": 45027, "ts": "2026-08-11T05:44:27Z", "hours": 0.6342, "text": "Ship Time! I just added an AI test client, I am not disclosing this as AI usage in the project, as this really isnt the project, and is only meant so users (like me) with virtually 0 front end design knowledge, can just use this, now, in the web. THE CLIENT YOU SEE IS AI PLEASE DO NOT JUDGE AGAINST THIS AS NONE OF THE SERVER CODE (the true project) IS AI"}, {"post_id": 44750, "ts": "2026-08-10T18:39:05Z", "hours": 0.6975, "text": "PFPS Got a little sidetracked ya know just casually implemented pfps. no big deal. https://fries.hackclub.app/userpfp?user=fries"}, {"post_id": 44453, "ts": "2026-08-10T06:37:50Z", "hours": 0.6025, "text": "#SSE Approach - This took so long, its not done, and quite frankly I’m so tired. Why did I chose sse? Compatibility with old hardware and, like most of my projects, learning and goofing around. This has the added benefit of making this all exclusively http, and being able to get integrated into my system of endpoints i already have."}, {"post_id": 44433, "ts": "2026-08-10T05:52:03Z", "hours": 0.8692, "text": "Rewrites and Backtracking Really nothing has been done. I spent a decent chunk of time trying to work with WS and just toughing it out, but I couldn’t get done what I wanted to get done. So I’ve made the bold, stupid, late-night decision, to switch to using SSE for the live chat. Partially so it can be more integrated into my already made systems, however, mainly just because I wanna learn something new. Enjoy this picture of timestamps from me trying to learn Flask’s SSE."}, {"post_id": 44373, "ts": "2026-08-10T02:48:38Z", "hours": 0.325, "text": "quick one, added some more info to the live chat object, namely cmd and channel, this is in preparation for the channels system."}, {"post_id": 44359, "ts": "2026-08-10T02:05:52Z", "hours": 1.9847, "text": "Live Chat and More Worked on quite a bit this devlog. I finished up all the endpoints I would need, cleaned up the server code, made an init file to run it, and started on a live chatting system using websockets. It’s going to support an infinite amount of channels each able to be locked behind a password. However, except for maybe one general chat, no chat history is likely to be stored at this time, simply because infinite chats with no restrictions being stored, is going to eat through storage like mad. However for now it works. I was originally debating that each channel would basically have its own encryption, and then i realized… that’s dumb. I don’t need to do that, and here we are."}, {"post_id": 42866, "ts": "2026-08-07T20:28:48Z", "hours": 0.3258, "text": "Social I worked on the social endpoint, and the reason it says it only took 17 minutes, is I switched to Zed, realized it doesn’t have Hackatime support, and switched back when already basically done lol. I made a little slop coded tool before I actually attempt to make something, even though any sort of interface to use it isn’t part of the project really. Basically, its just a simple endpoint you can post to and get to post and read messages in a sort of twitter-esque environment."}, {"post_id": 42291, "ts": "2026-08-06T22:36:37Z", "hours": 0.345, "text": "Added a little thing telling you what port it was on, and then started it up! https://fries.hackclub.app/"}, {"post_id": 41943, "ts": "2026-08-06T14:02:19Z", "hours": 1.3444, "text": "It works! (Also I learned you can do markdown here) https://fries.hackclub.app/ Yesterday I did a good bit of work on actually making it work lol. I did a lot of work out and about just on GitHub’s website, so when I came back there was a lot needed to get everything working. Mainly when I refactored some of the code into functions in a different file, I completely broke the login. But a little more in-depth about Cami. When you post {\"username\":\"<str>\",\"password\":\"<str>\"} to either register or login, you get back a token. This token is based off your user-id and gets refreshed every time you login (also supposed to be after a day just unimplemented right now.) You then use this to authenticate with (the only commands that need it right now) /changepass or /updatebio. You can also, as shown in the image below, run /GET on /user?user=(username or user id). That’s pretty much the full run down honestly. Passwords are currently hashed with SHA256, although I need to find a better option as I was able to brute force reverse my 8 letter password on the web in <1 minute. :("}, {"post_id": 41495, "ts": "2026-08-05T18:53:11Z", "hours": 2.6375, "text": "Cami - Cami is a silly goofy authentication program for use in my other projects. It currently supports: POST/register - Registering an Account POST/login - Logging in to get a token POST/updatebio - Updating your bio GET/getuser - Getting user information from name or ID (returns fries [currency] bio and account #) I am currently working on: POST/changepass - Changing password Implementing this into a chat system that’s websocket based Adding little games and things This was all done with primarily Flask (for the server), hashlib (for hashing passwords), and tinydb (for storage). It is meant to be lightweight, easy to integrate into other systems, and a fun project in general!"}]...
|
Title: Cami by @barfpile | Stardance
Devlogs:
Cam Title: Cami by @barfpile | Stardance
Devlogs:
Cami - Cami is a silly goofy authentication program for use in my other projects. It currently supports: POST/register - Registering an Account POST/login - Logging in to get a token POST/updatebio - Updating your bio GET/getuser - Getting user information from name or ID (returns fries [currency] bio and account #) I am currently working on: POST/changepass - Changing password Implementing this into a chat system that’s websocket based Adding little games and things This was all done with primarily Flask (for the server), hashlib (for hashing passwords), and tinydb (for storage). It is meant to be lightweight, easy to integrate into other systems, and a fun project in general!
It works! (Also I learned you can do markdown here) https://fries.hackclub.app/ Yesterday I did a good bit of work on actually making it work lol. I did a lot of work out and about just on GitHub’s website, so when I came back there was a lot needed to get everything working. Mainly when I refactored some of the code into functions in a different file, I completely broke the login. But a little more in-depth about Cami. When you post {"username":"<str>","password":"<str>"} to either register or login, you get back a token. This token is based off your user-id and gets refreshed every time you login (also supposed to be after a day just unimplemented right now.) You then use this to authenticate with (the only commands that need it right now) /changepass or /updatebio. You can also, as shown in the image below, run /GET on /user?user=(username or user id). That’s pretty much the full run down honestly. Passwords are currently hashed with SHA256, although I need to find a better option as I was able to brute force reverse my 8 letter password on the web in <1 minute. :(
Added a little thing telling you what port it was on, and then started it up! https://fries.hackclub.app/
Social I worked on the social endpoint, and the reason it says it only took 17 minutes, is I switched to Zed, realized it doesn’t have Hackatime support, and switched back when already basically done lol. I made a little slop coded tool before I actually attempt to make something, even though any sort of interface to use it isn’t part of the project really. Basically, its just a simple endpoint you can post to and get to post and read messages in a sort of twitter-esque environment.
Live Chat and More Worked on quite a bit this devlog. I finished up all the endpoints I would need, cleaned up the server code, made an init file to run it, and started on a live chatting system using websockets. It’s going to support an infinite amount of channels each able to be locked behind a password. However, except for maybe one general chat, no chat history is likely to be stored at this time, simply because infinite chats with no restrictions being stored, is going to eat through storage like mad. However for now it works. I was originally debating that each channel would basically have its own encryption, and then i realized… that’s dumb. I don’t need to do that, and here we are.
quick one, added some more info to the live chat object, namely cmd and channel, this is in preparation for the channels system.
Rewrites and Backtracking Really nothing has been done. I spent a decent chunk of time trying to work with WS and just toughing it out, but I couldn’t get done what I wanted to get done. So I’ve made the bold, stupid, late-night decision, to switch to using SSE for the live chat. Partially so it can be more integrated into my already made systems, however, mainly just because I wanna learn something new. Enjoy this picture of timestamps from me trying to learn Flask’s SSE.
#SSE Approach - This took so long, its not done, and quite frankly I’m so tired. Why did I chose sse? Compatibility with old hardware and, like most of my projects, learning and goofing around. This has the added benefit of making this all exclusively http, and being able to get integrated into my system of endpoints i already have.
PFPS Got a little sidetracked ya know just casually implemented pfps. no big deal. https://fries.hackclub.app/userpfp?user=fries
Ship Time! I just added an AI test client, I am not disclosing this as AI usage in the project, as this really isnt the project, and is only meant so users (like me) with virtually 0 front end design knowledge, can just use this, now, in the web. THE CLIENT YOU SEE IS AI PLEASE DO NOT JUDGE AGAINST THIS AS NONE OF THE SERVER CODE (the true project) IS AI
Images and livechat - I made an image api! You can upload infinite files, compressed to be 1/3 of their size ofc. Also started implementing live ws chatting with infinite channels that can be password locked. https://server/getimage?filename=testimage
GIFS Gifs have been added to the image api. (I can finally new line again!) Images you go: https://images.barfpile.dev/getimage/filename gifs you go: https://images.barfpile.dev/getgif/filename.gif (you can remove the .gif at the end and it will work fine everywhere but discord. You can also use getimage on a gif, but again, will work anywhere but discord.) (Attached gif was added by someone, idk who, while I was testing gifs lol. I am going to add basically metadata so you can get https://images.barfpile.dev/getmeta/filename and retrieve things like timestamp uploaded, filename, and who uploaded it.)
Live Chat Live chat is working in its most basic form! I did censor the usernames, solely because they used their real name lol. Color coding different users, the same person is censored with the same color across pics.
Live Chat Fixed! I fully fixed and implemented the livechat. It supports the creation of channels with passwords, message history, joining channels, sending to channels you’ve joined. If all users leave the channel, unless its a keep-alive channel, mostly predefined channels with no passwords like general and off-topic, the database for message history gets wiped, and the channel is up for grabs again! I dont have any pictures really, I did it last night on a different PC, so enjoy an 88x31!
More public channels and locking!
More Livechat and Currency Livechat: So I’ve done a lot more on livechat, you can create channels now (properly,) delete messages, almost have it so you can edit them, and typing indicators are almost done. Currency: I’ve started figuring out how users should get currency, and what it should go towards. Right now, the main idea is get it daily by posting/using livechat, then spend it on customization like user color, or upgrading max bio length.
PFP Decor / Display Names ALSO I HIT 20 HOURS These have been wip and were quite simple to implement, display name is just another value in the TINYDB database for users, and so is the profile decor. I got it from another app so I can’t really commit it because its not mine, however it works! There’s no way to set it yourself I just hand edited the DB. Also, users can now edit their username! I know that was a massive complaint in the first ship. Past that really all I changed was paths. Before i had paths like /getuser?user=fries which was dumb. I figured out how to, with flask, make it /user/fries and it gives the same information. Much cleaner.
Fixes and new paint Pretty much everything I have worked on this devlog simply involves fixes. “Oh, I’m not handling invalid json on a route, oops!” Or: “Oh usernames can be >32 chars because i messed up my if statement.” (I learned this one when someone with the entire bee movie script as their name appeared on my users route.) While it was all fixes I worked on, on top of this, due to wanting to commit roughly once every hour to keep people updated, I rewrote the empty path so it looks better. Link still points to the github repo. Auth Securely, Auth Silly.
Fixes and Continuity So basically this was just fixing a lot of weird things. For example, this being the main thing, the pfps stored whenever a user uploads them, get stored as 128x128. But the empty pfp, was 256x256. On top of this in some websocket things i was using "msg":"content" or "message":"content" interchangeably, but this has since been normalized. In all its just been a productive time, I’ve added a bunch, started working on a python library, and just gotten ready for ship 2!
Quick Devlog for the reroll Started just adding more pfp decor, had some people make me some. Yippee! Quick update: that’s not mine and I didnt get permission to use it, its the one i had for testing first because I got it from somewhere else real easily. It has since been removed, in favor for other ones I do have permission to use.
Fixes and Usage Well hey! It’s been a hot minute right? Lately I have been working on a lot more fixes, mainly on things like the social endpoint, and the image endpoint. Not terribly visible portions right now, but majorly important! I also got a used RPI5 which is now hosting it. That means, no more Nest downtime issues resetting my code! Yay! Notable Changes: The social posting endpoint returns the whole message object instead of just the ID. Files have been reorganized to be much cleaner Tons of little crashes and issues have been cleaned up, there are still more. I’ve started in on beautifying the logs!
LATEST UPDATES Auth Securely, Auth Silly <3 Normalizing Returns I’ve been doing a lot of work on simply normalizing some returns. Some of them were just slightly different like “The token is invalid” vs. “Invalid Token”, so those were condensed into “invalid token”, on top of this whenever i return a message i wrap it like: {"cmd":"success","message":"<original message>" . On top of this I also went through and changed some of the codes. DB Fixes Next thing I need to fix is any DB access needs to be routed through the helper funcs and properly closed. If you change your name, half the project still thinks only the original exists, while the other half, the correct half, only sees the new name. The reason is I have broken the project up into like 5 python files, 2 of which are both trying to simultaneously access the DB. Which, in-case you were wondering, is not good. Less Requests Something else I’ve been working on to prevent clients having to make like 3 requests for one thing, and to prevent the server from having to handle those, is to whenever a message is saved to the DB say from the social endpoint, when I send it back down, I attach the username and display name to it. This takes >2 http requests, get the messages then the usernames and user info, down to just 1. (Until you grab user pfps, which should be just grabbed once and cached.) Because this is really all I did I like… don’t have pictures? So… Enjoy the little 88x31 I made Also this is probably the longest devlog I’ve ever made, but I’m bored, and since I just got 6 months of Spotify premium as a gift, I’m letting the weird AI DJ thing just play whatever it feels like. It does, however, keep going back to the dark ages of 2024. Let me forget that year of music listening…
Im back Been working on the project a bit. Mainly just working on docs and helping people understand the API in a more sort of private environment. Should push a ship eventually, and its gonna be super awesome for everyone! :D Also maybe I did a devlog but i added timestamps to posts and stuff and made the total requests needed to do everything muuuuuuuch smaller, and made a smaller cache of data needed.
Multiplayer Im in the midst of making an extendable WS based multiplayer server, and figured I’d test it with a cool game somebody I know made! It’s a W.I.P. but works pretty well and everything server side is done lol.
Fixes, Simultaneous DB Editing, and JSONifying. Quick one since its like 11pm, I’ve been working on a lot of fixes. I, since the start of this project, haven’t closed DBs. Think about that. I am an intelligent human being. I’ve also been working on getting searching working (image) for the social api, and making sure everything works with that. On top of this, everything is still getting organized, and made to have very similar responses, so as a dev less work has to be done for you to support it. I also kinda started on a python library, but eh, we’ll see how it goes I suppose. Also have been working on some security, nothing commited, to try to make it harder to hack ig. Gn stardance! (im sick)
Music Server/New Chat Server Hello! I’ve lately been working on a music server. Users can upload any sort of audio file, mp3, ogg, it should support mp4 but i haven’t tested, and it converts it to an ogg file. The ogg file has a roughly 75% file size to the original MP3 while keeping the same quality. I’ve also been working on things like metadata storage, playlists, and more. On top of music, I’ve started a full rework of the live chatting system. It’s been going well so far, but I’m changing up how it works a little. It’s going to be closer to IRC + DMs, there will be no locked channels, no way to create custom channels anymore. Hopefully I can also drag some more people in, and make it much simpler to use, and on top of this make it super easy to link to Discord and such. So yeah! It’s been going well, I’m still alive, I’m running out of time to ship… and uh yeah! Have fun coding!
A lot… I JUST BROKE 30 HOURS ON THIS PROJECT SERVER-SIDE CODING OMG!!! :D Well Cami has been rolling along reallllllllly quickly. Things I’ve added/worked on: Playlists/More Music Stuff Fixing up the post search api Remake of ws chat server Fries have been implemented Fries transfer is working Fries daily claiming is working So many fixes (many things didnt quite properly handle errors and so they have been fixed) Changes to your user info are being locked behind fries. (PFP Decor is locked but pfp, bio, and more will be locked, basically everything but password changes) Image/Music uploading will likely be locked behind fries, or you will have to pay fries to upgrade the amount of stuff you can store. More PFP Decor has been added to my personal instance but that doesnt affect here. Server logs are prettier. More info attached to the user queries. Thanks for reading and sticking with this shitshow of a project.
AI generated a client so people can actually use it. Once again, I truthfully, have not used AI in this project for anything but front end, which I do not know how to do. Over the course of testing I have mainly used raw HTTP requests.
Well it was fun! (Its going for another week after i blow all my stardust.) Hello stardancers. Its 9-29-26. I’m not going to be able to make another ship and get it rated. Thank you everyone so much for the support on this project, and thanks for running Stardance! Mainly just working on live chatting, a decentralizable chatting service similar to discord, which will be picked up on phantom.hackclub.com. For anyone wondering what I got out of Stardance: 1 domain Outpost Badge (will make a project with that too!) Factorio Pico-8
Fixes/Tweaks Might as well just get some time out here, I’ve literally been working on livechatting and misc fixes. I’ve been so stressed and tired and distracted I don’t remember working on this at all. I’ve moved primarily to working on Phantom, tryna get me a blahaj and balatroooooooo also its been 12 days please ship me my items 😭 Live Chatting Decentralized? Check Ability to change servername dynamically? Check Editing/Deleting messages? Check we’re so goated :)
Ships:
Cami is a full authentication backend. I made this for use in my own projects, and as a way to learn web stuff with flask. It was challenging just getting it all working. Combining Flask and TinyDB (things I’m not too familiar with) to make this come together. To use, register an account on the homepage, then click around and see what you can do! THE CLIENT USED IS AI: I do not know how to do frontend html work, and that is not the project. The project is the backend python.
Welcome to Cami! It’s been a difficult 30 hour journey and I’m tryna get me Factorio to wrap up this awesome summer. :P Warning: The client is AI-Generated, it is not the project, simply a tool so you guys don’t have to make raw http requests with python. None of the rest of the project is AI-Generated....
|
1792849953.8703825
|
1792936353.8703825
|
|
44345
|
learnova-v2 by @ranveergill | Stardance
|
ranveergill
|
2
|
27.0
|
259
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T04:12:17Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "active recall is usually regraded as one of the best study methods of all time, and here you can practice it indefinitely! also, if you believe that your a better debater than ai/someone you know, you can challenge that here too! live at learnova.software :)", "repo": "https://github.com/ranveerlabs/learnova-v2", "demo": "https://www.learnova.software/"}, {"ship_num": 2, "ts": "2026-08-24T09:26:40Z", "hours": 19.0, "multiplier": 13.46, "payout": 259, "blessing": "neutral", "text": "Are you smarter than AI, your friends, or alone? Learnova is a study tool that only counts it as learned once you can say it back with no help. Multiple choice, then fill in the blank, then rebuild the explanation from pieces, then explain it cold, in your own words, with nothing to lean on. Most study tools stop testing you the moment you can recognize the right answer. This one starts there. The new part is who you’re up against. Debate Mode puts you against an AI opponent that argues the other side of whatever you just explained, four speeches, then a real judge call scores who actually held their ground. Or skip the AI and go against a friend instead, live, same format, one shared link, no accounts. The room exists the moment two people are in it and nothing else. Built this week: live 1v1 debate, real time, no database, a room is just two people and a shared connection. Rewrote how the grading talks to you, since a screen that quietly claims you contradicted a source that was never there does real damage to someone trying to learn. Killed the rating system twice over, first for hiding how different a study run and a debate round actually are, then for existing at all when neither needed to accumulate into a score. Rebuilt the whole color palette off the actual logo instead of picking colors that looked fine. None of it is graded on vibes. The AI opponent isn’t told to be nice or mean, it’s told to actually argue, and the judge is a second, separate model call that never sees what the first one said about itself. The score is out of ten, not a made up elo number a language model invented on the spot, because a model asked to do arithmetic will hand you a plausible number whether or not the arithmetic happened. Live at learnova.software. Open source. Built with Claude Code, over about five weeks of actual work, dates and all in the README because a repo that predates its own hackathon submission should say so plainly. Try it against yourself first. Then a friend. Then, if you’re feeling something, the AI.", "repo": "https://github.com/ranveerlabs/learnova-v2", "demo": "https://www.learnova.software/"}]...
|
[{"post_id": 77995, "ts": "202 [{"post_id": 77995, "ts": "2026-10-09T04:10:10Z", "hours": 3.2511, "text": "no idea how i have this unlogged time lol"}, {"post_id": 63383, "ts": "2026-09-07T05:35:06Z", "hours": 0.5103, "text": "trimmed it down and tried to remove anything that could be potentially flagged as ai. i kinda think it looks better now, anyways running out of devlog content haha"}, {"post_id": 61640, "ts": "2026-09-04T17:09:45Z", "hours": 0.5211, "text": "recent rejection said round mode doesnt work i think it might have just been in an api rate limit thing as i wasnt able to find anything proving thats actually true"}, {"post_id": 60528, "ts": "2026-09-02T22:30:58Z", "hours": 0.2811, "text": "idk why i keep getting rejected for ai use my last rejection literally said “emojis in readme convey ai use”, ive never had any emojis in the readme ever. anyways devlogging cuz i wanna claim my 16 mins of skimming docs"}, {"post_id": 60017, "ts": "2026-09-02T03:38:18Z", "hours": 0.3928, "text": "claiming 23 minutes"}, {"post_id": 59412, "ts": "2026-09-01T07:12:15Z", "hours": 3.0644, "text": "everything is a window now whole app reskinned. every screen sits in a title bar and a paper body on a dark desktop, hard borders, no rounded corner left anywhere, 71 of those came out the token swap broke the landing immediately. –ink went #101010, –ground went #2b2b2b, and the headline sits straight on the ground, so LEARNOVA was black on near-black. wrapping screens in a window fixed it. i would have shipped that on the arithmetic two bugs turned out to be the same shape. the notes sheet had tape, punch holes and a pencil at -right-7, all deliberately outside the container, which nobody notices until a screen has a border. and the timer was a conic-gradient ring with a bg-ground disc punched out to make its hole, so once bg-ground became the desktop it drew a dark circle on a white toolbar /feed shipped. no CI on this repo, check-runs returns total_count: 0, so the build half is the deployments api. unauthenticated github is 60 an hour per ip and that ip is the whole deployment, so the answer sits on globalThis for 60 seconds the palette went round the houses. the title bar started as the blue off the reference screenshot, the only colour in the app from outside its own set, then charcoal which read as the old learnova, then mint, then cream warmed toward the star’s gold. i said the blue was gone twice before it actually was, cuz the first pass only moved the title bar and –accent-wash is what paints ::selection worst near miss: computeRoute(“/debate/live/QBTR”, {code:“QBTR”}) came back unmasked and i had most of a paragraph written abt room codes leaking to analytics. turnValueToRegExp wasnt in scope, so it hit the function’s own catch and handed the input straight back. with the helper in scope its /debate/live/[code] still emulated chrome on one machine. analytics loads but has never reported, that only happens off a deploy"}, {"post_id": 53640, "ts": "2026-08-24T09:20:45Z", "hours": 5.425, "text": "live rooms, and the rating that stopped existing live 1v1 debate shipped. two people, a four character code, no accounts the real decision was what a room even is. serverless functions dont share memory between instances, so a Map tracking whether a room exists lies abt half the time. host creates it on one instance, the guest’s join lands on another, and the guest gets told the room doesnt exist while the host is sat inside it. so nothing tracks existence any more. presence on an ably channel is the room two bugs that only turned up by testing it properly only the host’s browser calls the judge, so the ballot came back written entirely from the host’s side. both players read the host’s strengths and the host’s weaknesses in the second person. the judge writes both ballots now and mirror swaps them for the guest and a room was ending when the first person left instead of the last, which threw out whoever had stayed this reverses the last log, twice both elo modules got deleted. one number going up and down implies a round mode run and a debate round measure the same thing, and they dont. it became a plain record instead then the record got deleted too. a debate ends on its verdict and nothing counts up across rounds results were showing +1,380 of 2,280, a division you have to do in your head at the exact moment you want one answer. its a score out of ten now. anything above ten written by an older build gets dropped rather than converted, cuz converting needs a denominator that was never stored cut suggestion chips, which turned “name a topic” into “pick one of these”. three motions that typewrote themselves onto the debate note for no functional reason. /proof, which was a third way into a landing page arguing there are two. thirteen exported symbols nothing was calling and the “get the ballot” button. the eighth speech lands and the round goes to the judge on its own palette rebuilt off the logo. the dark ground is sampled straight out of the asset, and every neutral swapped for the grey at the same relative luminance, so the contrast ratios that were already tuned still hold. type warmed to the logo’s cream and the accent became the star’s gold two prompt bugs the voice instructions were teaching third person inside their own example. and the ballot voice used bare letters A and B, which now and then came out as “a flaw in A’s hanging out point” worst near miss of the session: the case insensitive fix for the letter A also matched the article “a”, and shipped “with they cheaper alternative” thru a live judge call before anybody caught it separate one, numbered lists were coming out as a single run-on line. fixed, and property tested against 200 random chunkings copy the unavailable message used to claim nothing youd typed had been lost, which this app has no way of knowing bigger one. every ai call was failing with a raw HTTP 402 on a student’s screen, telling them to retry something that was never going to work, cuz the shared key had run out of balance. it says plainly that retrying wont fix it now readme the status section had gone stale before, so it got corrected twice this session first pass: a full eight speech live debate across two real browsers, 1.6s to join, each speech reaching the other window in 423 to 1039ms, and a 15.2 second wait before a disconnect gets noticed, written down as measured rather than rounded down. the judge was stubbed that pass, the key had no balance second pass, once the key refilled: two real judge calls, two genuinely different ballots, no stray letters still open: a judge call made from inside a live room and mirrored to the guest has only ever been checked against a stub"}, {"post_id": 48684, "ts": "2026-08-17T06:00:05Z", "hours": 5.7667, "text": "debate mode, and the source that wasnt there biggest thing this session is a second mode. round mode’s ladder tops out at saying something in your own words. debate wants something else out of you, holding a position for four speeches while an opponent tries to take it off you. own route, rather than bolting a sixth round on the end the rating is arithmetic the judge hands back a winner, a margin and ten dimension scores. the elo change gets worked out from those in integer maths the model never sees. ask a model to update an elo directly and you get a number that looks like arithmetic, and you cant catch it going wrong cuz every value it gives you is plausible two tabs and they never mix. open debate is judged on whether the argument holds up. tournament prep gets judged against a tournament bar, where a dropped argument is conceded and 60 means mediocre rather than good for a beginner. format is required and never defaulted, a Public Forum ballot handed to somebody practising Lincoln-Douglas is worse than no ballot cuz theyll act on it tritoflex somebody ran a topic-only session on Tritoflex, a spray-on rubber roofing compound, and got told over and over that it was torch-applied. he caught it cuz he installs the stuff. anybody studying something new wouldnt have ask the model cold abt an obscure term and it comes back with a protein, an alpha helix, signal transduction, implicated in cancer. none of it true, none of it reading as invented, and it never once says it doesnt know the worst bit wasnt a missing disclaimer. on a topic-only round 4 the marking screen printed “Contradicts the source” under a heading reading “The notes”, in a session where the student pasted nothing and the server blanks every citation on the way out anyway. so somebody who wrote a true sentence got told they contradicted evidence that had never existed. it says “the model disagrees” now the header badge went from “AI-generated” to “AI, unchecked”. they typed the topic in themselves so they already know who wrote it. what they have no way to know is that nothing checked it. “AI” stays in the label cuz it outlives the moment, screenshots get shared and come back a week later runs leave something behind they used to die with the tab. honest enough abt the plumbing. but retrieval practice does its work thru spacing, and meeting a concept once, failing to explain it and never seeing it again is the half that only feels like studying the session already worked out the thing worth keeping, a map of which ideas you can recognise but cant say. computed it, showed it once, threw it away on the walk to the results. one standing per concept sticks around now and the front door leads with whats still unsaid the tests that tested nothing my first two boundary assertions both passed against the exact bugs they were written for. one compared trimmed pieces, and trimming erases the evidence, so it cant tell a mid-word cut from a clean one. the other ran on a sample that had collapsed to a single chunk, so there was no join left in it to get wrong only found out bcuz i reverted the fix to watch them fail and they sat there green status the green “strong” band is verified, which closes the open item from the last log. seen in a browser by somebody who knew the answers, rather than by a driver answering option 1 every time readme the privacy section had gone from cautious to false. “nothing is stored beyond the current session” stopped being true the moment runs started leaving a record behind. thats twice a claim in there has drifted while the product moved under it, so anything that stores something now drags a readme check into the same commit still no accounts. standings are per device and clearing site data wipes them"}, {"post_id": 43181, "ts": "2026-08-08T09:29:30Z", "hours": 4.9756, "text": "deleting the score biggest change this session was taking things out. round mode had points, a running total and a combo multiplier. all three gone!!! the argument lowk fell out as soon as i said it aloud. the number at the top of the results was the run time, and the quickest way thru a round is to answer everything wrong immediately. so the headline figure was paying you for the one behaviour the app exists to catch. points and combos were the same information twice over, worked out from how fast and how often you were right, then shown next to how fast and how often you were right whats there instead weights every answer by how little help it had. warm up counts once, round 1 three times, round 2 five, round 3 six, and saying a concept in your own words in round 4 is worth 150. speed isnt in the formula anywhere and two tests hold that down: the same answers given at wildly different speeds come out identical, and fast-and-wrong lands below slow-and-right it reads +615 of 2,120. a bare number says nothing when a short session and a long one have different ceilings round 3 the chip tray used to have wrong words mixed in, so the round was a hunt for what to avoid. now it holds the sentence’s own pieces and nothing else grading stopped being fussy abt list order. seven tests, four of them cases that still have to fail: “sugar traps light” for “light traps sugar”, a scrambled non-list, a missing chip, a changed verb round 4 cant be skipped any more. there was a “stop here and see the results” button sitting right in front of the only moment in the session with nothing on screen to lean on, which is where bailing is most tempting the interface stopped hiding the header used to empty itself during a round, on the theory that chrome at the edges competes with retrieval. thats true for one person at a desk. round mode gets passed round a room with several people reading one screen, so it stays up now locking the page to the viewport turned up two bugs. one of them clipped the verdict off the bottom on a short window, and the verdict is the line that tells you the answer the run clock was a nice one. it measured wall clock from the start of the run, so it counted loading and the between-round screens, and it disagreed with the time the results reported. header said 3:20 against a reported 1:08. built off the same splits the results use now the cold open prompt trimmed it after noticing it asked the model to write explanation lines nobody reads. a/b against the real proxy over 10 topics took median completion tokens from 397 to 266, abt 33%, on the one call every student sits and waits for setTimeout i overrode it in the harness to freeze auto-advance long enough to screenshot a verdict, and it swallowed the harness’s own sleeps. script hung and i captured the wrong state. keep a reference to the real function before you replace it status the assembled round is verified, which closes the open item from the last log. full ladder played end to end, in dev and against a production build"}, {"post_id": 41804, "ts": "2026-08-06T07:19:45Z", "hours": 3.1092, "text": "round mode, inspo is hackclub mail!!!! you type a topic and start guessing. five rounds, each one takes away more of the help: two options, four options, a sentence with the word missing, the same sentence in pieces you have to put back together, then nothing on screen at all and you just say it. the ladder runs recognise -> produce bcuz thats the direction the research points, retrieval beats rereading and producing beats picking anyway that part was already built. today was worse the scores were fake correct answers kept turning up in the first slot. felt wrong, so i wrote a script that generates questions thru the real route and counts where the answer actually lands warm up came back 5 of 5 at index 0. round 1 was 7 / 5 / 3 / 0 which means every score this app has ever shown anybody was inflated. you could do well without reading the question it was my own prompt doing it. every JSON example i handed the model had “answerIndex”: 0 sitting in it, so of course it learned that. placement happens on the server after generation now, for every format with ordered options, and that includes the chip tray, which had been shuffling in the browser where nothing could measure it 197 questions across four topics. chi-square under the 5% critical value on every format repeated questions are gone too. the dedupe compares what a question asks for rather than how its worded, so a rephrasing doesnt sneak past. when a topic runs dry the generator gets told to ask abt distinctions and consequences instead of drawing from the same pool twice three things a diff would never show drove headless chrome over all 21 presentations, cuz none of this is visible in code constellation’s stars stacked into a column. tailwind emits .relative after .absolute, and Pick set relative, so it beat the absolute that was being passed in doors swung 72 degrees, which turns the correct answer edge on at the exact moment you need to read it and a burst balloon faded to 0.25 opacity. so a wrong answer got softened by becoming unreadable. that one still bugs me, the marking is the one part that has to stay honest and it was quietly making the bad news harder to look at audio the generated pad sounded like fan noise. gone. its “8bit Dungeon Level” by Kevin MacLeod now, CC BY 4.0, credited in the app and in the repo on by default, the feel is half of why the mode works, and theres a mute for anyone sitting in a library autoplay turned into its own afternoon. no browser lets a page make noise before you touch it, so the track asks to play on mount, the rejection arms a listener, and your first click or keypress is what starts it testing that turned up a bug i had already talked myself out of. react batches state, so if the first thing you touched was the mute button, the listener fired while the value still read on, started the track, then paused it a frame later. a blip of music played at exactly the person switching it off. set synchronously now Two things from the test rig mattered more than the thing it was testing. element.click() doesnt grant user activation in chrome, so my first run looked like the whole feature was broken and was just the harness lying to me. and running chrome with a permissive autoplay flag meant the gesture fallback never fired once, so i was measuring nothing at all not done nobody has played the full ladder in a real browser yet. the presentations render, thats genuinely all i know. tomorrow"}]...
|
Title: learnova-v2 by @ranveergill | Stardance
De Title: learnova-v2 by @ranveergill | Stardance
Devlogs:
round mode, inspo is hackclub mail!!!! you type a topic and start guessing. five rounds, each one takes away more of the help: two options, four options, a sentence with the word missing, the same sentence in pieces you have to put back together, then nothing on screen at all and you just say it. the ladder runs recognise -> produce bcuz thats the direction the research points, retrieval beats rereading and producing beats picking anyway that part was already built. today was worse the scores were fake correct answers kept turning up in the first slot. felt wrong, so i wrote a script that generates questions thru the real route and counts where the answer actually lands warm up came back 5 of 5 at index 0. round 1 was 7 / 5 / 3 / 0 which means every score this app has ever shown anybody was inflated. you could do well without reading the question it was my own prompt doing it. every JSON example i handed the model had “answerIndex”: 0 sitting in it, so of course it learned that. placement happens on the server after generation now, for every format with ordered options, and that includes the chip tray, which had been shuffling in the browser where nothing could measure it 197 questions across four topics. chi-square under the 5% critical value on every format repeated questions are gone too. the dedupe compares what a question asks for rather than how its worded, so a rephrasing doesnt sneak past. when a topic runs dry the generator gets told to ask abt distinctions and consequences instead of drawing from the same pool twice three things a diff would never show drove headless chrome over all 21 presentations, cuz none of this is visible in code constellation’s stars stacked into a column. tailwind emits .relative after .absolute, and Pick set relative, so it beat the absolute that was being passed in doors swung 72 degrees, which turns the correct answer edge on at the exact moment you need to read it and a burst balloon faded to 0.25 opacity. so a wrong answer got softened by becoming unreadable. that one still bugs me, the marking is the one part that has to stay honest and it was quietly making the bad news harder to look at audio the generated pad sounded like fan noise. gone. its “8bit Dungeon Level” by Kevin MacLeod now, CC BY 4.0, credited in the app and in the repo on by default, the feel is half of why the mode works, and theres a mute for anyone sitting in a library autoplay turned into its own afternoon. no browser lets a page make noise before you touch it, so the track asks to play on mount, the rejection arms a listener, and your first click or keypress is what starts it testing that turned up a bug i had already talked myself out of. react batches state, so if the first thing you touched was the mute button, the listener fired while the value still read on, started the track, then paused it a frame later. a blip of music played at exactly the person switching it off. set synchronously now Two things from the test rig mattered more than the thing it was testing. element.click() doesnt grant user activation in chrome, so my first run looked like the whole feature was broken and was just the harness lying to me. and running chrome with a permissive autoplay flag meant the gesture fallback never fired once, so i was measuring nothing at all not done nobody has played the full ladder in a real browser yet. the presentations render, thats genuinely all i know. tomorrow
deleting the score biggest change this session was taking things out. round mode had points, a running total and a combo multiplier. all three gone!!! the argument lowk fell out as soon as i said it aloud. the number at the top of the results was the run time, and the quickest way thru a round is to answer everything wrong immediately. so the headline figure was paying you for the one behaviour the app exists to catch. points and combos were the same information twice over, worked out from how fast and how often you were right, then shown next to how fast and how often you were right whats there instead weights every answer by how little help it had. warm up counts once, round 1 three times, round 2 five, round 3 six, and saying a concept in your own words in round 4 is worth 150. speed isnt in the formula anywhere and two tests hold that down: the same answers given at wildly different speeds come out identical, and fast-and-wrong lands below slow-and-right it reads +615 of 2,120. a bare number says nothing when a short session and a long one have different ceilings round 3 the chip tray used to have wrong words mixed in, so the round was a hunt for what to avoid. now it holds the sentence’s own pieces and nothing else grading stopped being fussy abt list order. seven tests, four of them cases that still have to fail: “sugar traps light” for “light traps sugar”, a scrambled non-list, a missing chip, a changed verb round 4 cant be skipped any more. there was a “stop here and see the results” button sitting right in front of the only moment in the session with nothing on screen to lean on, which is where bailing is most tempting the interface stopped hiding the header used to empty itself during a round, on the theory that chrome at the edges competes with retrieval. thats true for one person at a desk. round mode gets passed round a room with several people reading one screen, so it stays up now locking the page to the viewport turned up two bugs. one of them clipped the verdict off the bottom on a short window, and the verdict is the line that tells you the answer the run clock was a nice one. it measured wall clock from the start of the run, so it counted loading and the between-round screens, and it disagreed with the time the results reported. header said 3:20 against a reported 1:08. built off the same splits the results use now the cold open prompt trimmed it after noticing it asked the model to write explanation lines nobody reads. a/b against the real proxy over 10 topics took median completion tokens from 397 to 266, abt 33%, on the one call every student sits and waits for setTimeout i overrode it in the harness to freeze auto-advance long enough to screenshot a verdict, and it swallowed the harness’s own sleeps. script hung and i captured the wrong state. keep a reference to the real function before you replace it status the assembled round is verified, which closes the open item from the last log. full ladder played end to end, in dev and against a production build
debate mode, and the source that wasnt there biggest thing this session is a second mode. round mode’s ladder tops out at saying something in your own words. debate wants something else out of you, holding a position for four speeches while an opponent tries to take it off you. own route, rather than bolting a sixth round on the end the rating is arithmetic the judge hands back a winner, a margin and ten dimension scores. the elo change gets worked out from those in integer maths the model never sees. ask a model to update an elo directly and you get a number that looks like arithmetic, and you cant catch it going wrong cuz every value it gives you is plausible two tabs and they never mix. open debate is judged on whether the argument holds up. tournament prep gets judged against a tournament bar, where a dropped argument is conceded and 60 means mediocre rather than good for a beginner. format is required and never defaulted, a Public Forum ballot handed to somebody practising Lincoln-Douglas is worse than no ballot cuz theyll act on it tritoflex somebody ran a topic-only session on Tritoflex, a spray-on rubber roofing compound, and got told over and over that it was torch-applied. he caught it cuz he installs the stuff. anybody studying something new wouldnt have ask the model cold abt an obscure term and it comes back with a protein, an alpha helix, signal transduction, implicated in cancer. none of it true, none of it reading as invented, and it never once says it doesnt know the worst bit wasnt a missing disclaimer. on a topic-only round 4 the marking screen printed “Contradicts the source” under a heading reading “The notes”, in a session where the student pasted nothing and the server blanks every citation on the way out anyway. so somebody who wrote a true sentence got told they contradicted evidence that had never existed. it says “the model disagrees” now the header badge went from “AI-generated” to “AI, unchecked”. they typed the topic in themselves so they already know who wrote it. what they have no way to know is that nothing checked it. “AI” stays in the label cuz it outlives the moment, screenshots get shared and come back a week later runs leave something behind they used to die with the tab. honest enough abt the plumbing. but retrieval practice does its work thru spacing, and meeting a concept once, failing to explain it and never seeing it again is the half that only feels like studying the session already worked out the thing worth keeping, a map of which ideas you can recognise but cant say. computed it, showed it once, threw it away on the walk to the results. one standing per concept sticks around now and the front door leads with whats still unsaid the tests that tested nothing my first two boundary assertions both passed against the exact bugs they were written for. one compared trimmed pieces, and trimming erases the evidence, so it cant tell a mid-word cut from a clean one. the other ran on a sample that had collapsed to a single chunk, so there was no join left in it to get wrong only found out bcuz i reverted the fix to watch them fail and they sat there green status the green “strong” band is verified, which closes the open item from the last log. seen in a browser by somebody who knew the answers, rather than by a driver answering option 1 every time readme the privacy section had gone from cautious to false. “nothing is stored beyond the current session” stopped being true the moment runs started leaving a record behind. thats twice a claim in there has drifted while the product moved under it, so anything that stores something now drags a readme check into the same commit still no accounts. standings are per device and clearing site data wipes them
live rooms, and the rating that stopped existing live 1v1 debate shipped. two people, a four character code, no accounts the real decision was what a room even is. serverless functions dont share memory between instances, so a Map tracking whether a room exists lies abt half the time. host creates it on one instance, the guest’s join lands on another, and the guest gets told the room doesnt exist while the host is sat inside it. so nothing tracks existence any more. presence on an ably channel is the room two bugs that only turned up by testing it properly only the host’s browser calls the judge, so the ballot came back written entirely from the host’s side. both players read the host’s strengths and the host’s weaknesses in the second person. the judge writes both ballots now and mirror swaps them for the guest and a room was ending when the first person left instead of the last, which threw out whoever had stayed this reverses the last log, twice both elo modules got deleted. one number going up and down implies a round mode run and a debate round measure the same thing, and they dont. it became a plain record instead then the record got deleted too. a debate ends on its verdict and nothing counts up across rounds results were showing +1,380 of 2,280, a division you have to do in your head at the exact moment you want one answer. its a score out of ten now. anything above ten written by an older build gets dropped rather than converted, cuz converting needs a denominator that was never stored cut suggestion chips, which turned “name a topic” into “pick one of these”. three motions that typewrote themselves onto the debate note for no functional reason. /proof, which was a third way into a landing page arguing there are two. thirteen exported symbols nothing was calling and the “get the ballot” button. the eighth speech lands and the round goes to the judge on its own palette rebuilt off the logo. the dark ground is sampled straight out of the asset, and every neutral swapped for the grey at the same relative luminance, so the contrast ratios that were already tuned still hold. type warmed to the logo’s cream and the accent became the star’s gold two prompt bugs the voice instructions were teaching third person inside their own example. and the ballot voice used bare letters A and B, which now and then came out as “a flaw in A’s hanging out point” worst near miss of the session: the case insensitive fix for the letter A also matched the article “a”, and shipped “with they cheaper alternative” thru a live judge call before anybody caught it separate one, numbered lists were coming out as a single run-on line. fixed, and property tested against 200 random chunkings copy the unavailable message used to claim nothing youd typed had been lost, which this app has no way of knowing bigger one. every ai call was failing with a raw HTTP 402 on a student’s screen, telling them to retry something that was never going to work, cuz the shared key had run out of balance. it says plainly that retrying wont fix it now readme the status section had gone stale before, so it got corrected twice this session first pass: a full eight speech live debate across two real browsers, 1.6s to join, each speech reaching the other window in 423 to 1039ms, and a 15.2 second wait before a disconnect gets noticed, written down as measured rather than rounded down. the judge was stubbed that pass, the key had no balance second pass, once the key refilled: two real judge calls, two genuinely different ballots, no stray letters still open: a judge call made from inside a live room and mirrored to the guest has only ever been checked against a stub
everything is a window now whole app reskinned. every screen sits in a title bar and a paper body on a dark desktop, hard borders, no rounded corner left anywhere, 71 of those came out the token swap broke the landing immediately. –ink went #101010, –ground went #2b2b2b, and the headline sits straight on the ground, so LEARNOVA was black on near-black. wrapping screens in a window fixed it. i would have shipped that on the arithmetic two bugs turned out to be the same shape. the notes sheet had tape, punch holes and a pencil at -right-7, all deliberately outside the container, which nobody notices until a screen has a border. and the timer was a conic-gradient ring with a bg-ground disc punched out to make its hole, so once bg-ground became the desktop it drew a dark circle on a white toolbar /feed shipped. no CI on this repo, check-runs returns total_count: 0, so the build half is the deployments api. unauthenticated github is 60 an hour per ip and that ip is the whole deployment, so the answer sits on globalThis for 60 seconds the palette went round the houses. the title bar started as the blue off the reference screenshot, the only colour in the app from outside its own set, then charcoal which read as the old learnova, then mint, then cream warmed toward the star’s gold. i said the blue was gone twice before it actually was, cuz the first pass only moved the title bar and –accent-wash is what paints ::selection worst near miss: computeRoute(“/debate/live/QBTR”, {code:“QBTR”}) came back unmasked and i had most of a paragraph written abt room codes leaking to analytics. turnValueToRegExp wasnt in scope, so it hit the function’s own catch and handed the input straight back. with the helper in scope its /debate/live/[code] still emulated chrome on one machine. analytics loads but has never reported, that only happens off a deploy
claiming 23 minutes
idk why i keep getting rejected for ai use my last rejection literally said “emojis in readme convey ai use”, ive never had any emojis in the readme ever. anyways devlogging cuz i wanna claim my 16 mins of skimming docs
recent rejection said round mode doesnt work i think it might have just been in an api rate limit thing as i wasnt able to find anything proving thats actually true
trimmed it down and tried to remove anything that could be potentially flagged as ai. i kinda think it looks better now, anyways running out of devlog content haha
no idea how i have this unlogged time lol
Ships:
Are you smarter than AI, your friends, or alone? Learnova is a study tool that only counts it as learned once you can say it back with no help. Multiple choice, then fill in the blank, then rebuild the explanation from pieces, then explain it cold, in your own words, with nothing to lean on. Most study tools stop testing you the moment you can recognize the right answer. This one starts there. The new part is who you’re up against. Debate Mode puts you against an AI opponent that argues the other side of whatever you just explained, four speeches, then a real judge call scores who actually held their ground. Or skip the AI and go against a friend instead, live, same format, one shared link, no accounts. The room exists the moment two people are in it and nothing else. Built this week: live 1v1 debate, real time, no database, a room is just two people and a shared connection. Rewrote how the grading talks to you, since a screen that quietly claims you contradicted a source that was never there does real damage to someone trying to learn. Killed the rating system twice over, first for hiding how different a study run and a debate round actually are, then for existing at all when neither needed to accumulate into a score. Rebuilt the whole color palette off the actual logo instead of picking colors that looked fine. None of it is graded on vibes. The AI opponent isn’t told to be nice or mean, it’s told to actually argue, and the judge is a second, separate model call that never sees what the first one said about itself. The score is out of ten, not a made up elo number a language model invented on the spot, because a model asked to do arithmetic will hand you a plausible number whether or not the arithmetic happened. Live at learnova.software. Open source. Built with Claude Code, over about five weeks of actual work, dates and all in the README because a repo that predates its own hackathon submission should say so plainly. Try it against yourself first. Then a friend. Then, if you’re feeling something, the AI.
active recall is usually regraded as one of the best study methods of all time, and here you can practice it indefinitely! also, if you believe that your a better debater than ai/someone you know, you can challenge that here too! live at learnova.software :)...
|
1792821108.2341006
|
1792907508.2341006
|
|
44357
|
Starforge by @lacorte | Stardance
|
lacorte
|
2
|
81.24
|
1116
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-24T15:29:30Z", "hours": 34.0, "multiplier": 18.98, "payout": 618, "blessing": "neutral", "text": "⭐ Starforge is a pixel art & animation studio that runs entirely in your browser. Open (starforge.lacorte.city)[https://starforge.lacorte.city] and draw, as of this ship, your drawing moves. Ship 2 is the Animation Update. Animate : a frame timeline where every frame carries its own duration in milliseconds. Add, reorder and duplicate frames, play the reel on the document’s own clock, and draw with onion skinning. Export : an animated GIF encoder written byte by byte, from the GIF89a header to the LZW dictionary resets. When your art has more than 256 colors, a hand-rolled median-cut quantizer folds it into a legal palette instead of refusing. The Export dialog plays the actual GIF before you download it, next to its true byte size. Spritesheets come out of the same door. Draw : mirror mode, switch on an axis and the editor paints the reflection live under your pencil. The Color Studio mixes any color in HSV, hex or per-channel RGBA. Trackpad zoom got tamed: wheel deltas accumulate into clean notches instead of stepping twenty-five times per glide. Keep your work : editable .starforge project files, and Portable PNG, a real image with the whole project embedded inside, so the file you post is also the file you keep editing. Autosave still catches every stroke, and even a crash screen can still export your drawing. Under the hood : 563 tests, zero dependencies in the core. The encoder is proven against ffmpeg that decodes my GIFs and every pixel comes back identical, including a noise frame built to overflow the LZW dictionary. Quantization is deterministic, same art to the same bytes, and folds ~10,000 colors into 256 in about 23ms. Where it’s going : next ship, the “multiplayer” in the tagline becomes real, a hand-rolled CRDT (last-writer-wins per cell, Lamport clocks) and shareable rooms. Works on your phone. Shortcuts follow Aseprite. Press ? in the editor.", "repo": "https://github.com/Gabriel-Lacorte/starforge", "demo": "https://starforge.lacorte.city/"}, {"ship_num": 2, "ts": "2026-08-10T01:15:34Z", "hours": 29.0, "multiplier": 17.82, "payout": 498, "blessing": "neutral", "text": "⭐ Starforge is a pixel art studio that runs entirely in your browser. Open starforge.lacorte.city and draw. This first ship is the whole editor core, built from scratch in TypeScript with zero dependencies in the core. Draw : pencil, eraser, line, rectangle and ellipse (outline or filled), and a bucket fill with per-channel tolerance and a contiguous/global switch. Rectangular selection that lifts the pixels and lets you drag them anywhere. Layers : add, duplicate, reorder, rename. Per-layer opacity, seven blend modes, visibility and lock. Keep your work : undo/redo across pixel strokes and structural edits alike, autosave in the browser, and PNG export If the editor ever crashes, the error screen still exports your drawing. Under the hood : 208 tests, including property tests that throw hundreds of random actions at the history and require a byte-identical document back. The renderer composites once per change, not once per layer: the cache key is two integers, and panning triggers zero recompositions. Flood fill, Bresenham lines, ellipse rasterizer, composito, all hand-rolled, no graphics libraries. Where it’s going : the “multiplayer” in the tagline is the arc: a hand-rolled CRDT (last-writer-wins per cell with Lamport clocks) and shareable rooms are the next major ships. Works on your phone. Shortcuts follow Aseprite. Press ? in the editor.", "repo": "https://github.com/Gabriel-Lacorte/starforge", "demo": "https://starforge.lacorte.city/"}]...
|
[{"post_id": 64302, "ts": "202 [{"post_id": 64302, "ts": "2026-09-08T16:20:23Z", "hours": 8.6656, "text": "⭐ Starforge is a pixel art & animation studio that runs in your browser. Last time the relay queue was in memory. Now it is a real wire using native WebSocket to talk with the relay I wrote by hand on node:http , handshake, framing, mask, fragmentation, ping/pong, close codes, all of it. Draw a horizontal stroke here, a vertical one there, and both canvases land on the same pixels. 900 pixels travel in 2,730 bytes. Raw it would be 7,200 (8 bytes per pixel: u16 x , u16 y , u32 color ). On the wire the cells sort by (y, x) , coordinates go as zigzag deltas, colors go as an index into a 1-entry table. That is 3.033 bytes per pixel, and every one of the 19 operation kinds round-trips byte-for-byte. The server does not trust a single byte, each op is validated with the same applyOperation the editor uses, on a clone. A bad op earns an ERROR and the connection stays open. Receipts: 662 unit tests green 23 Chromium E2E zero production dependencies Next: the ephemeral room becomes shareable rooms /r/<id>"}, {"post_id": 61840, "ts": "2026-09-04T23:16:43Z", "hours": 9.5767, "text": "⭐ Starforge is a pixel art & animation studio that runs in your browser. Since last week Starforge learned how to disagree without falling apart, and got more comfortable on tablets along the way. This is the first piece of multiplayer, two complete editors, two independent copies of the same drawing, and a queue between them. There is no server yet. I can draw in both editors, hold every message back, reverse their order, deliver one twice, and the documents still finish on the same pixels. Alongside that invisible foundation, community conversations pointed at five visible workflow breaks: the compact tablet layout only kicked in below 720 px, colours sat with layers and frames instead of the brush, palette authoring bounced between two dialogs, brush opacity used a tiny track while layer opacity had a fine large slider, and precise add/subtract selection hid behind keyboard modifiers touch users never see. All five are fixed in this pass. Receipts 633 green unit tests, with 4 ffmpeg cross four pinned seeds × 100 generated operations across three replicas, including pixel conflicts, scalar edits, palette replacement, layer/frame creation, deletion and ordering 20 Chromium E2E tests pass receiving and applying a 900-pixel patch averages about 0.49 ms on my development machine (2,034 patches/second in the recorded run) zero production dependencies in the core Next: the queue becomes a real wire, WebSocket handshake will be written by hand on node:http with the relay on a Raspberry Pi."}, {"post_id": 52640, "ts": "2026-08-22T21:36:24Z", "hours": 9.3367, "text": "⭐ Day 18 of building Starforge, a pixel art & animation studio that lives in your browser. That heart is only half real. I drew the left side and the editor drew the right side under my pencil, live. Mirror mode landed today, and I spent an embarrassing amount of time just watching the other half appear. Two more things came with it. The Export dialog now plays your actual GIF before you download it, next to its true size, same bytes as the download, so the dialog can’t lie to you. My greeting star comes out at 2.4 KB, using 125 of 256 colors. And the encoder learned to lose colors gracefully, which is my favorite thing I’ve built this week: How it works A GIF holds at most 256 colors. Until today, art with more colors hit a wall, an error message asking you to reduce your palette. I hated that message, so now the encoder runs median cut instead. Median cut, in human terms: pour every color in your drawing into one box. Find the box’s longest side, red, green or blue, whichever stretches widest, sort the colors along that side, and cut the box in half at the median. Repeat, always cutting the widest box you have left. After 255 cuts you hold 256 boxes, and each box’s average becomes one crayon in the final palette. Colors that sat close together end up sharing a crayon, which is exactly the kind of loss your eye forgives. The sneaky part is that the same drawing must produce the identical file every single time, so every sort breaks ties by the color’s own value and every average rounds the same way. There’s a test that encodes the same art twice and demands the bytes back, identical. Receipts 563 green tests ~10,000 colors in, 256 out, in about 23ms ffmpeg decodes the quantized file, and re-encoding what it hands back produces the identical bytes Last post I asked you to export a GIF and drop it in the comments. Nobody did :C, fair enough, the star was doing all the work. So today I made it personal: open starforge.lacorte.city , turn on mirror mode, and draw half a thing. The editor does the other half. Post what you get, I’ll feature my favorite in the next devlog :D. And a real question I can’t decide alone: diagonal axes or kaleidoscope. which should mirror mode learn first? Both are on the backlog. You can decide the order. (If you want to catch the next post, follow the project, that button actually notifies you. )"}, {"post_id": 51943, "ts": "2026-08-21T21:51:53Z", "hours": 5.2739, "text": "⭐ Starforge is a pixel art & animation studio that runs in your browser. The GIF above was drawn, animated and exported inside Starforge. Yesterday I said I was writing the GIF encoder by hand. It’s finished, and already sitting behind the Export button in the editor. How it works A GIF doesn’t store pixels. It stores a conversation between two sides that build the same notebook and never send it. The encoder walks the image. The first time it meets a run of pixels it spells the run out, then writes that run in a notebook next to a number. The next time the same run shows up, it sends the number instead of the pixels. The decoder reads those numbers and builds the identical notebook as it goes, which is why the notebook itself never travels, both sides derive it from the same stream. That’s LZW, and it’s lovely right up until you notice the decoder is permanently one entry behind. It can’t file a new run until it has read the code that comes after it. So when the notebook outgrows the current code width, the two sides widen at different moments, and the encoder has to wait one step longer than feels correct. Get that off-by-one wrong and the file is perfect for a few hundred bytes and then dissolves into confetti. That was my morning. Receipts 545 green tests I encoded with my code and decoded with ffmpeg . Every pixel came back identical 16 frames of 256×256 encode in 135ms Browsers quietly treat any GIF delay under 2 centiseconds as 10, so the encoder floors every frame there. Draw something at starforge.lacorte.city , export the GIF, and drop it in the comments! I’ll feature my favorites in the next devlog :D."}, {"post_id": 51700, "ts": "2026-08-21T15:01:44Z", "hours": 7.9314, "text": "⭐ Starforge is a pixel art & animation studio that runs in your browser. Yesterday I said those numbered cells at the bottom of the screenshot were today’s story. Here they are: every cell is a frame with its own duration in milliseconds, play runs the reel on the document’s own clock, and since today, the frame you’re drawing shows its neighbours behind it as ghosts. The star that greets you is a loop with 4 frames now, so you can already see the animation. Receipts : 527 green tests 3 recompositions parked with ghosts on three new end-to-end tests in a real browser Next : I’m writing a GIF encoder from scratch. By hand. :D"}, {"post_id": 51127, "ts": "2026-08-20T17:01:06Z", "hours": 11.9494, "text": "⭐ Starforge is a pixel art & animation studio that runs in your browser. The first ship reviews asked for three things: custom colors (two voters), a less twitchy zoom (one), and opening files (one). All three landed this week. The Color Studio mixes any color in HSV, hex or per-channel RGBA and drops it straight into your palette. The zoom got tamed (story below). And you can now save and open editable .starforge projects, including inside a Portable PNG, a real image with the whole project embedded in it, so the file you post is also the file you can keep editing. Wheel deltas lie about intent A Mac voter said the zoom flew. They were right, and the bug was pretty interesting (it also ate my whole morning). One click of a mouse wheel arrives as a single event of about 100px, but a trackpad glide arrives as dozens of tiny ~4px events. The old code stepped the zoom once per event: a mouse user got one clean step per click, a trackpad user got twenty-five. And I didn’t even know pinch was part of the bug until I read how Chrome handles it: a pinch is faked as ctrl+wheel, so it lands in the same handler too. The fix: accumulate to 100, then discard the remainder. Every event banks its delta. A step only fires when the bank crosses a notch, and turning around mid-glide resets the bank instead of cancelling a step you already saw. Receipts : 511 green tests an e2e that draws, reloads the page and exports in a real browser golden ink fixtures pinned by SHA256 Those numbered cells at the bottom of the screenshot are tomorrow’s story :D"}, {"post_id": 44328, "ts": "2026-08-10T00:30:52Z", "hours": 5.2836, "text": "⭐ Starforge is a pixel art editor that runs in your browser. No engine work today, since I focused on a more important point: Whoever opens starforge.lacorte.city from a feed post, leaves in about two minutes, with no instructions and usually a phone in their hand, so the whole day went into that first visit. You can start your own document now insted of only erasing the star, your drawings survives a reload, and on a phone the layer panel became a drawer. How it works Most web editors take your drawing with them when they break. This one doesn’t. When a component throws, an error boundary renders a screen where Export PNG still works, if the editor dies, you get the PNG out before you reload. Two reasons that’s possible. The document never lived inside the component that broke: it belongs to the DocumentSession, outside the render tree. And the export never goes through the editor, it composites the frame straight from the document. The thing that holds your art and the thing that failed are not the same thing. Receipts: 208 green tests draw, reload, auto-save a keys help menu for shortcuts and gestures zoom by button, fit in one click Tomorrow morning the first real ship goes out :D"}, {"post_id": 43584, "ts": "2026-08-08T22:37:35Z", "hours": 6.3333, "text": "⭐ Starforge is a pixel art editor that runs in your browser. Yesterday it could only draw in a single surface. Today the same old star is five stacked layers, carrying its own opacity, visibility and lock, plus a rule for how its colors blend with the layers below. How it works Compositing every layer on every frame can’t hold 60fps. At 256x256 with eight layers at 800% zoom that’s eight blits of 2048×2048 per frame, about 33 megapixels of work to show a picture that didn’t change. So the editor composites once per change into an offscreen canvas, and the screen just draws that one image. Rendering with no cost since that nothing changed. All with 169 green tests."}, {"post_id": 42960, "ts": "2026-08-07T23:09:15Z", "hours": 10.7408, "text": "⭐ Starfoge: A multiplayer pixel art & animation studio that runs in your browser. Day three, and it finally draws! The whole toolbox landed with six drawing tools and keyboard shortcuts already known by pixel artists. Yesterday’s 37 green tests are 117 today. Today i want to deep dive in one of the questions i had: why fast strokes come out dotted. The browser only tells the page where the mouse is once per screen frame (~60fps), but a hand can cross half the canvas between two of those reports and a quick zigzag would become a trail of separated dots. The fix comes in two layers: First , the browser actually keeps the positions it skipped and hands them back in a bundle with each event, so I ask for those in-between samples. Second , even those have gaps when the gesture is really fast, so between every pair of samples I draw a tiny line using Bresenham algorithm , the same grid walker my line tool uses, it steps from one pixel to a touching neighbor and can’t skip a cell by construction. So every stroke you see is secretly dozens of tiny straight lines, stitched end to end. Tomorrow i will start landing Layers to our studio. Thanks for reading and see you on the next devlog :D"}, {"post_id": 42013, "ts": "2026-08-06T15:42:02Z", "hours": 6.3106, "text": "⭐ Starforge is alive in the browser! This is day two building a multiplayer pixel art studio. So far the editor opens with a little star, and every pixel stays razor sharp at any zoom. With 37 green tests I already started coding the first drawing tools (pencil, eraser, bucket). The sharpness comes from a two stage blit with shared memory. A sprite’s pixels live in one Uint8Array wrapped in an ImageData view, using only one buffer for model and image bytes. Stage one pushes just the changed rectangle onto an offscreen canvas (1:1) which ignores scaling and smoothing so it never blurs. Stage two is a single draw image that stretches the offscreen canvas to the current zoom with the GPU doing the nearest-neighbor upscaling for free. When the pencil lands next ship, the bytes it writes are already the bytes the renderer reads."}]...
|
Title: Starforge by @lacorte | Stardance
Devlogs: Title: Starforge by @lacorte | Stardance
Devlogs:
⭐ Starforge is alive in the browser! This is day two building a multiplayer pixel art studio. So far the editor opens with a little star, and every pixel stays razor sharp at any zoom. With 37 green tests I already started coding the first drawing tools (pencil, eraser, bucket). The sharpness comes from a two stage blit with shared memory. A sprite’s pixels live in one Uint8Array wrapped in an ImageData view, using only one buffer for model and image bytes. Stage one pushes just the changed rectangle onto an offscreen canvas (1:1) which ignores scaling and smoothing so it never blurs. Stage two is a single draw image that stretches the offscreen canvas to the current zoom with the GPU doing the nearest-neighbor upscaling for free. When the pencil lands next ship, the bytes it writes are already the bytes the renderer reads.
⭐ Starfoge: A multiplayer pixel art & animation studio that runs in your browser. Day three, and it finally draws! The whole toolbox landed with six drawing tools and keyboard shortcuts already known by pixel artists. Yesterday’s 37 green tests are 117 today. Today i want to deep dive in one of the questions i had: why fast strokes come out dotted. The browser only tells the page where the mouse is once per screen frame (~60fps), but a hand can cross half the canvas between two of those reports and a quick zigzag would become a trail of separated dots. The fix comes in two layers: First , the browser actually keeps the positions it skipped and hands them back in a bundle with each event, so I ask for those in-between samples. Second , even those have gaps when the gesture is really fast, so between every pair of samples I draw a tiny line using Bresenham algorithm , the same grid walker my line tool uses, it steps from one pixel to a touching neighbor and can’t skip a cell by construction. So every stroke you see is secretly dozens of tiny straight lines, stitched end to end. Tomorrow i will start landing Layers to our studio. Thanks for reading and see you on the next devlog :D
⭐ Starforge is a pixel art editor that runs in your browser. Yesterday it could only draw in a single surface. Today the same old star is five stacked layers, carrying its own opacity, visibility and lock, plus a rule for how its colors blend with the layers below. How it works Compositing every layer on every frame can’t hold 60fps. At 256x256 with eight layers at 800% zoom that’s eight blits of 2048×2048 per frame, about 33 megapixels of work to show a picture that didn’t change. So the editor composites once per change into an offscreen canvas, and the screen just draws that one image. Rendering with no cost since that nothing changed. All with 169 green tests.
⭐ Starforge is a pixel art editor that runs in your browser. No engine work today, since I focused on a more important point: Whoever opens starforge.lacorte.city from a feed post, leaves in about two minutes, with no instructions and usually a phone in their hand, so the whole day went into that first visit. You can start your own document now insted of only erasing the star, your drawings survives a reload, and on a phone the layer panel became a drawer. How it works Most web editors take your drawing with them when they break. This one doesn’t. When a component throws, an error boundary renders a screen where Export PNG still works, if the editor dies, you get the PNG out before you reload. Two reasons that’s possible. The document never lived inside the component that broke: it belongs to the DocumentSession, outside the render tree. And the export never goes through the editor, it composites the frame straight from the document. The thing that holds your art and the thing that failed are not the same thing. Receipts: 208 green tests draw, reload, auto-save a keys help menu for shortcuts and gestures zoom by button, fit in one click Tomorrow morning the first real ship goes out :D
⭐ Starforge is a pixel art & animation studio that runs in your browser. The first ship reviews asked for three things: custom colors (two voters), a less twitchy zoom (one), and opening files (one). All three landed this week. The Color Studio mixes any color in HSV, hex or per-channel RGBA and drops it straight into your palette. The zoom got tamed (story below). And you can now save and open editable .starforge projects, including inside a Portable PNG, a real image with the whole project embedded in it, so the file you post is also the file you can keep editing. Wheel deltas lie about intent A Mac voter said the zoom flew. They were right, and the bug was pretty interesting (it also ate my whole morning). One click of a mouse wheel arrives as a single event of about 100px, but a trackpad glide arrives as dozens of tiny ~4px events. The old code stepped the zoom once per event: a mouse user got one clean step per click, a trackpad user got twenty-five. And I didn’t even know pinch was part of the bug until I read how Chrome handles it: a pinch is faked as ctrl+wheel, so it lands in the same handler too. The fix: accumulate to 100, then discard the remainder. Every event banks its delta. A step only fires when the bank crosses a notch, and turning around mid-glide resets the bank instead of cancelling a step you already saw. Receipts : 511 green tests an e2e that draws, reloads the page and exports in a real browser golden ink fixtures pinned by SHA256 Those numbered cells at the bottom of the screenshot are tomorrow’s story :D
⭐ Starforge is a pixel art & animation studio that runs in your browser. Yesterday I said those numbered cells at the bottom of the screenshot were today’s story. Here they are: every cell is a frame with its own duration in milliseconds, play runs the reel on the document’s own clock, and since today, the frame you’re drawing shows its neighbours behind it as ghosts. The star that greets you is a loop with 4 frames now, so you can already see the animation. Receipts : 527 green tests 3 recompositions parked with ghosts on three new end-to-end tests in a real browser Next : I’m writing a GIF encoder from scratch. By hand. :D
⭐ Starforge is a pixel art & animation studio that runs in your browser. The GIF above was drawn, animated and exported inside Starforge. Yesterday I said I was writing the GIF encoder by hand. It’s finished, and already sitting behind the Export button in the editor. How it works A GIF doesn’t store pixels. It stores a conversation between two sides that build the same notebook and never send it. The encoder walks the image. The first time it meets a run of pixels it spells the run out, then writes that run in a notebook next to a number. The next time the same run shows up, it sends the number instead of the pixels. The decoder reads those numbers and builds the identical notebook as it goes, which is why the notebook itself never travels, both sides derive it from the same stream. That’s LZW, and it’s lovely right up until you notice the decoder is permanently one entry behind. It can’t file a new run until it has read the code that comes after it. So when the notebook outgrows the current code width, the two sides widen at different moments, and the encoder has to wait one step longer than feels correct. Get that off-by-one wrong and the file is perfect for a few hundred bytes and then dissolves into confetti. That was my morning. Receipts 545 green tests I encoded with my code and decoded with ffmpeg . Every pixel came back identical 16 frames of 256×256 encode in 135ms Browsers quietly treat any GIF delay under 2 centiseconds as 10, so the encoder floors every frame there. Draw something at starforge.lacorte.city , export the GIF, and drop it in the comments! I’ll feature my favorites in the next devlog :D.
⭐ Day 18 of building Starforge, a pixel art & animation studio that lives in your browser. That heart is only half real. I drew the left side and the editor drew the right side under my pencil, live. Mirror mode landed today, and I spent an embarrassing amount of time just watching the other half appear. Two more things came with it. The Export dialog now plays your actual GIF before you download it, next to its true size, same bytes as the download, so the dialog can’t lie to you. My greeting star comes out at 2.4 KB, using 125 of 256 colors. And the encoder learned to lose colors gracefully, which is my favorite thing I’ve built this week: How it works A GIF holds at most 256 colors. Until today, art with more colors hit a wall, an error message asking you to reduce your palette. I hated that message, so now the encoder runs median cut instead. Median cut, in human terms: pour every color in your drawing into one box. Find the box’s longest side, red, green or blue, whichever stretches widest, sort the colors along that side, and cut the box in half at the median. Repeat, always cutting the widest box you have left. After 255 cuts you hold 256 boxes, and each box’s average becomes one crayon in the final palette. Colors that sat close together end up sharing a crayon, which is exactly the kind of loss your eye forgives. The sneaky part is that the same drawing must produce the identical file every single time, so every sort breaks ties by the color’s own value and every average rounds the same way. There’s a test that encodes the same art twice and demands the bytes back, identical. Receipts 563 green tests ~10,000 colors in, 256 out, in about 23ms ffmpeg decodes the quantized file, and re-encoding what it hands back produces the identical bytes Last post I asked you to export a GIF and drop it in the comments. Nobody did :C, fair enough, the star was doing all the work. So today I made it personal: open starforge.lacorte.city , turn on mirror mode, and draw half a thing. The editor does the other half. Post what you get, I’ll feature my favorite in the next devlog :D. And a real question I can’t decide alone: diagonal axes or kaleidoscope. which should mirror mode learn first? Both are on the backlog. You can decide the order. (If you want to catch the next post, follow the project, that button actually notifies you. )
⭐ Starforge is a pixel art & animation studio that runs in your browser. Since last week Starforge learned how to disagree without falling apart, and got more comfortable on tablets along the way. This is the first piece of multiplayer, two complete editors, two independent copies of the same drawing, and a queue between them. There is no server yet. I can draw in both editors, hold every message back, reverse their order, deliver one twice, and the documents still finish on the same pixels. Alongside that invisible foundation, community conversations pointed at five visible workflow breaks: the compact tablet layout only kicked in below 720 px, colours sat with layers and frames instead of the brush, palette authoring bounced between two dialogs, brush opacity used a tiny track while layer opacity had a fine large slider, and precise add/subtract selection hid behind keyboard modifiers touch users never see. All five are fixed in this pass. Receipts 633 green unit tests, with 4 ffmpeg cross four pinned seeds × 100 generated operations across three replicas, including pixel conflicts, scalar edits, palette replacement, layer/frame creation, deletion and ordering 20 Chromium E2E tests pass receiving and applying a 900-pixel patch averages about 0.49 ms on my development machine (2,034 patches/second in the recorded run) zero production dependencies in the core Next: the queue becomes a real wire, WebSocket handshake will be written by hand on node:http with the relay on a Raspberry Pi.
⭐ Starforge is a pixel art & animation studio that runs in your browser. Last time the relay queue was in memory. Now it is a real wire using native WebSocket to talk with the relay I wrote by hand on node:http , handshake, framing, mask, fragmentation, ping/pong, close codes, all of it. Draw a horizontal stroke here, a vertical one there, and both canvases land on the same pixels. 900 pixels travel in 2,730 bytes. Raw it would be 7,200 (8 bytes per pixel: u16 x , u16 y , u32 color ). On the wire the cells sort by (y, x) , coordinates go as zigzag deltas, colors go as an index into a 1-entry table. That is 3.033 bytes per pixel, and every one of the 19 operation kinds round-trips byte-for-byte. The server does not trust a single byte, each op is validated with the same applyOperation the editor uses, on a clone. A bad op earns an ERROR and the connection stays open. Receipts: 662 unit tests green 23 Chromium E2E zero production dependencies Next: the ephemeral room becomes shareable rooms /r/<id>
Ships:
⭐ Starforge is a pixel art studio that runs entirely in your browser. Open starforge.lacorte.city and draw. This first ship is the whole editor core, built from scratch in TypeScript with zero dependencies in the core. Draw : pencil, eraser, line, rectangle and ellipse (outline or filled), and a bucket fill with per-channel tolerance and a contiguous/global switch. Rectangular selection that lifts the pixels and lets you drag them anywhere. Layers : add, duplicate, reorder, rename. Per-layer opacity, seven blend modes, visibility and lock. Keep your work : undo/redo across pixel strokes and structural edits alike, autosave in the browser, and PNG export If the editor ever crashes, the error screen still exports your drawing. Under the hood : 208 tests, including property tests that throw hundreds of random actions at the history and require a byte-identical document back. The renderer composites once per change, not once per layer: the cache key is two integers, and panning triggers zero recompositions. Flood fill, Bresenham lines, ellipse rasterizer, composito, all hand-rolled, no graphics libraries. Where it’s going : the “multiplayer” in the tagline is the arc: a hand-rolled CRDT (last-writer-wins per cell with Lamport clocks) and shareable rooms are the next major ships. Works on your phone. Shortcuts follow Aseprite. Press ? in the editor.
⭐ Starforge is a pixel art & animation studio that runs entirely in your browser. Open (starforge.lacorte.city)[https://starforge.lacorte.city] and draw, as of this ship, your drawing moves. Ship 2 is the Animation Update. Animate : a frame timeline where every frame carries its own duration in milliseconds. Add, reorder and duplicate frames, play the reel on the document’s own clock, and draw with onion skinning. Export : an animated GIF encoder written byte by byte, from the GIF89a header to the LZW dictionary resets. When your art has more than 256 colors, a hand-rolled median-cut quantizer folds it into a legal palette instead of refusing. The Export dialog plays the actual GIF before you download it, next to its true byte size. Spritesheets come out of the same door. Draw : mirror mode, switch on an axis and the editor paints the reflection live under your pencil. The Color Studio mixes any color in HSV, hex or per-channel RGBA. Trackpad zoom got tamed: wheel deltas accumulate into clean notches instead of stepping twenty-five times per glide. Keep your work : editable .starforge project files, and Portable PNG, a real image with the whole project embedded inside, so the file you post is also the file you keep editing. Autosave still catches every stroke, and even a crash screen can still export your drawing. Under the hood : 563 tests, zero dependencies in the core. The encoder is proven against ffmpeg that decodes my GIFs and every pixel comes back identical, including a noise frame built to overflow the LZW dictionary. Quantization is deterministic, same art to the same bytes, and folds ~10,000 colors into 256 in about 23ms. Where it’s going : next ship, the “multiplayer” in the tagline becomes real, a hand-rolled CRDT (last-writer-wins per cell, Lamport clocks) and shareable rooms. Works on your phone. Shortcuts follow Aseprite. Press ? in the editor....
|
1792878732.4859972
|
1793742732.4859972
|
|
44461
|
donline!!! by @boredon | Stardance
|
boredon
|
2
|
12.0
|
14
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-12T09:17:42Z", "hours": 1.0, "multiplier": 14.45, "payout": 14, "blessing": "neutral", "text": "(reship so that it can go into rating!) I made a newspaper-themed personal website, with lots of info and lots of Tails. This is my first time ever making an actual website. I initially planned for it to be way simpler, but the idea of a newspaper as a website was irresistible and I had to pursue it. The most challenging part by far was figuring out how to format divs that would accommodate the hybrid spacing and style of traditional newspapers. I had to tinker a lot with flexboxes. On top of that, I also had to labour on making the website as responsive as possible on all screen sizes, which I achieved with clever decisions on the divs (definitely not just “width: 100%” on everything). I’m so glad with how everything turned out and I hope you guys will enjoy reading it as much as I enjoyed making it (sometimes, when it wasn’t bugging out)! Please give me feedback on stuff I should improve or add, as I will be updating this frequently even after it ships!", "repo": "https://github.com/Donald-Mutuku/the-caffeine-herald", "demo": "https://donald-mutuku.github.io/the-caffeine-herald/"}, {"ship_num": 2, "ts": "2026-08-10T22:17:32Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a newspaper-themed personal website, with lots of info and lots of Tails. This is my first time ever making an actual website. I initially planned for it to be way simpler, but the idea of a newspaper as a website was irresistible and I had to pursue it. The most challenging part by far was figuring out how to format divs that would accommodate the hybrid spacing and style of traditional newspapers. I had to tinker a lot with flexboxes. On top of that, I also had to labour on making the website as responsive as possible on all screen sizes, which I achieved with clever decisions on the divs (definitely not just “width: 100%” on everything). I’m so glad with how everything turned out and I hope you guys will enjoy reading it as much as I enjoyed making it (sometimes, when it wasn’t bugging out)! Please give me feedback on stuff I should improve or add, as I will be updating this frequently even after it ships!", "repo": "https://github.com/Donald-Mutuku/the-caffeine-herald", "demo": "https://donald-mutuku.github.io/the-caffeine-herald/"}]...
|
[{"post_id": 45657, "ts": "202 [{"post_id": 45657, "ts": "2026-08-12T09:14:08Z", "hours": 1.0033, "text": "icing on the cake: stickers!! i learnt a little bit of JavaScript today, especially focusing on mouse interactions, and i figured i’d apply it to my website. and what better way to do that than adding stickers! i was so sure they were gonna take 15 minutes tops but nope. for some reason, the stickers initially just vanished when you tried to grab them, and i spent about an hour trying to fix it, only to realize the problem was the sticker-container being set to position: relative; . that was literally it :// anyways, i think i’ll stop tinkering with this website for now, but i will add stickers, maybe copious amounts for all you sticker-loving maniacs. ok byebye! to-do: add more tails"}, {"post_id": 44847, "ts": "2026-08-10T21:35:37Z", "hours": 3.3286, "text": "day 4 of making my personal website: final commit! today was so packed oml. i might be ready to ship this already! there are so many changes i introduced today, including changing the header to a more readable “THE CAFFEINE HERALD” making a carousel for my artworks (day 2 me would be proud) adding 2 google docs embeds so that i can bless my viewers with my beautiful works of literature added a whole column of spotify embed widgets so that y’all can enjoy my atrocious music taste added a music recommendations article so that you can not only listen to, but read about my atrocious music taste added a projects section with, get this, actual projects! added images from my gallery because there was empty space lol i’ll yap a bit about my design choices: the orange accent is a call back to tails, who’s basically part of me atp the off-white background is meant to mimic old fading newspapers the terminal-like font (Iosevka Charon) is meant to contrast with the old design, so the result is a fresh combo of digital and analog media. anyways, i’m so proud of how this turned out and i can’t wait for you guys to be able to check it out. it’s all done (in only 11 hours!) and i’ll ship it later today. yayayayayay!"}, {"post_id": 43816, "ts": "2026-08-09T07:52:12Z", "hours": 2.7344, "text": "day 3 of making my personal website. i completely overhauled the design to match this newspaper aesthetic and i really love how it looks!! getting the columns right was def the most difficult part, but now that i got it down, i only need to add a couple of sections and i’ll be done! yay!"}, {"post_id": 42944, "ts": "2026-08-07T22:39:45Z", "hours": 0.9319, "text": "day third time’s a charm i spent WAYYYY too much time on Figma (pls add hackatime to figma 😭) drafting how i want my website to look, and i think I got something i like! i settled for a newspaper-layout style website when i realized there’s no better way to cram info onto a screen than by packing it in columns. i have so many idea planned for this, including interactive advertisements and maybe even a music widget, and i am so excited to see how it’ll turn out. for today tho, i only managed to make a neat little header for my newspaper, which definitely took a reasonable amount of time ( cough 55 minutes cough ). can’t wait to make the rest tomorrow!"}, {"post_id": 42794, "ts": "2026-08-07T18:08:03Z", "hours": 2.1894, "text": "day two of making my personal website! finished the about me section and moving on to the projects page… and i’m stuck again. i tried making a carousel for my images but it no-clipped out of the page. so i tried to lock them in a container, but now the carousel doesn’t move. so i got rid of the carousel and stacked the images, and now ALL of them clip out of the container. ended up giving up cuz it got too late, but i’ll fix it tomorrow promise 🙏 i’ve also finally decided that i’ll completely change the design of my website, and i got the perfect idea while reading a newspaper (subtle foreshadowing?? 👀👀👀) see y’all tomorrow :DD"}, {"post_id": 42192, "ts": "2026-08-06T20:07:52Z", "hours": 1.3586, "text": "and so it begins… day 1 of making my personal website and i am… so lost. i have not done html/css in quite a while, but i was way rustier than i expected and i spent WAY too long trying to figure out how to organize and format divs. (why does align-items:center; not always, you know, align items in the center??) i’m not too sure about where i’m going with the design, but it doesn’t look too bad honestly. by far my proudest achievement was figuring out how to make the bullet point lists all by myself . even if it’s like, what, 2 lines of code, i love how it looks and that it’s not AI. to-do: design the projects page (doesn’t exist rn) add more stuff to my home page add more tails (most important)"}]...
|
Title: donline!!! by @boredon | Stardance
Devlogs Title: donline!!! by @boredon | Stardance
Devlogs:
and so it begins… day 1 of making my personal website and i am… so lost. i have not done html/css in quite a while, but i was way rustier than i expected and i spent WAY too long trying to figure out how to organize and format divs. (why does align-items:center; not always, you know, align items in the center??) i’m not too sure about where i’m going with the design, but it doesn’t look too bad honestly. by far my proudest achievement was figuring out how to make the bullet point lists all by myself . even if it’s like, what, 2 lines of code, i love how it looks and that it’s not AI. to-do: design the projects page (doesn’t exist rn) add more stuff to my home page add more tails (most important)
day two of making my personal website! finished the about me section and moving on to the projects page… and i’m stuck again. i tried making a carousel for my images but it no-clipped out of the page. so i tried to lock them in a container, but now the carousel doesn’t move. so i got rid of the carousel and stacked the images, and now ALL of them clip out of the container. ended up giving up cuz it got too late, but i’ll fix it tomorrow promise 🙏 i’ve also finally decided that i’ll completely change the design of my website, and i got the perfect idea while reading a newspaper (subtle foreshadowing?? 👀👀👀) see y’all tomorrow :DD
day third time’s a charm i spent WAYYYY too much time on Figma (pls add hackatime to figma 😭) drafting how i want my website to look, and i think I got something i like! i settled for a newspaper-layout style website when i realized there’s no better way to cram info onto a screen than by packing it in columns. i have so many idea planned for this, including interactive advertisements and maybe even a music widget, and i am so excited to see how it’ll turn out. for today tho, i only managed to make a neat little header for my newspaper, which definitely took a reasonable amount of time ( cough 55 minutes cough ). can’t wait to make the rest tomorrow!
day 3 of making my personal website. i completely overhauled the design to match this newspaper aesthetic and i really love how it looks!! getting the columns right was def the most difficult part, but now that i got it down, i only need to add a couple of sections and i’ll be done! yay!
day 4 of making my personal website: final commit! today was so packed oml. i might be ready to ship this already! there are so many changes i introduced today, including changing the header to a more readable “THE CAFFEINE HERALD” making a carousel for my artworks (day 2 me would be proud) adding 2 google docs embeds so that i can bless my viewers with my beautiful works of literature added a whole column of spotify embed widgets so that y’all can enjoy my atrocious music taste added a music recommendations article so that you can not only listen to, but read about my atrocious music taste added a projects section with, get this, actual projects! added images from my gallery because there was empty space lol i’ll yap a bit about my design choices: the orange accent is a call back to tails, who’s basically part of me atp the off-white background is meant to mimic old fading newspapers the terminal-like font (Iosevka Charon) is meant to contrast with the old design, so the result is a fresh combo of digital and analog media. anyways, i’m so proud of how this turned out and i can’t wait for you guys to be able to check it out. it’s all done (in only 11 hours!) and i’ll ship it later today. yayayayayay!
icing on the cake: stickers!! i learnt a little bit of JavaScript today, especially focusing on mouse interactions, and i figured i’d apply it to my website. and what better way to do that than adding stickers! i was so sure they were gonna take 15 minutes tops but nope. for some reason, the stickers initially just vanished when you tried to grab them, and i spent about an hour trying to fix it, only to realize the problem was the sticker-container being set to position: relative; . that was literally it :// anyways, i think i’ll stop tinkering with this website for now, but i will add stickers, maybe copious amounts for all you sticker-loving maniacs. ok byebye! to-do: add more tails
Ships:
I made a newspaper-themed personal website, with lots of info and lots of Tails. This is my first time ever making an actual website. I initially planned for it to be way simpler, but the idea of a newspaper as a website was irresistible and I had to pursue it. The most challenging part by far was figuring out how to format divs that would accommodate the hybrid spacing and style of traditional newspapers. I had to tinker a lot with flexboxes. On top of that, I also had to labour on making the website as responsive as possible on all screen sizes, which I achieved with clever decisions on the divs (definitely not just “width: 100%” on everything). I’m so glad with how everything turned out and I hope you guys will enjoy reading it as much as I enjoyed making it (sometimes, when it wasn’t bugging out)! Please give me feedback on stuff I should improve or add, as I will be updating this frequently even after it ships!
(reship so that it can go into rating!) I made a newspaper-themed personal website, with lots of info and lots of Tails. This is my first time ever making an actual website. I initially planned for it to be way simpler, but the idea of a newspaper as a website was irresistible and I had to pursue it. The most challenging part by far was figuring out how to format divs that would accommodate the hybrid spacing and style of traditional newspapers. I had to tinker a lot with flexboxes. On top of that, I also had to labour on making the website as responsive as possible on all screen sizes, which I achieved with clever decisions on the divs (definitely not just “width: 100%” on everything). I’m so glad with how everything turned out and I hope you guys will enjoy reading it as much as I enjoyed making it (sometimes, when it wasn’t bugging out)! Please give me feedback on stuff I should improve or add, as I will be updating this frequently even after it ships!...
|
1792817730.841984
|
1792904130.841984
|
|
44462
|
Waaaaaaaaluigi Ware by @Vini | Stardance
|
Vini
|
2
|
21.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T20:51:18Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What I have made I made a completely functioning waluigi ware godot game The most challenging part The most challenging part of creating this was the last one getting all the collision hit boxes to work The thing I’m most proud of The thing I’m most proud of is the text when it tells you what to do the tweening by code was difficult so yes I got a tiny bit of help form AI TO EXPLAIN how it works NOT TO ctrl c ctrl v What you need to know to test my project This might be buggy but I hope you like it when you click to try to collect the onions in the clicker game you can click the onions with the text still there The text does not pause or stop the timer when the text is there please start the game please try to rate this good and I hope you like this", "repo": "https://github.com/wildevi26250-tech/Waaaaaaaaaario-Ware", "demo": "https://wildevi26250-tech.itch.io/waluigi-ware"}, {"ship_num": 2, "ts": "2026-08-11T05:23:32Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a pretty good game if I dont say so myself its quite good for a first time godot user I like it wuite much. (Wait that doesent english right). Anyways it works pretty well and im quite happy with.", "repo": "https://github.com/wildevi26250-tech/Waaaaaaaaaario-Ware", "demo": "https://wildevi26250-tech.itch.io/waluigi-ware"}]...
|
[{"post_id": 65848, "ts": "202 [{"post_id": 65848, "ts": "2026-09-11T08:14:19Z", "hours": 0.9197, "text": "Gonna ship tomorrow Did some final bug checking and fixing Added a restart if the monster gets to far it makes you lose a life yeah it’s really buggy and kind of crappy but I don’t care"}, {"post_id": 55402, "ts": "2026-08-27T06:35:35Z", "hours": 4.5886, "text": "Tremendous amounts of pain (Please help) I spent about 2 hours wanting to make a rhythm minigame gave up on that Then spent another hour trying to figure out collisions and sword attacks Worked it all out but by Jove it was annoying as hell"}, {"post_id": 51328, "ts": "2026-08-20T22:26:33Z", "hours": 4.3744, "text": "Added half of a Rhythm game This Rhythm minigame is very silly Working on getting some new art in there Thats most of whats been happening"}, {"post_id": 46744, "ts": "2026-08-14T06:52:35Z", "hours": 2.505, "text": "Fixed some basic issues Why the fudge was the timer behind the bricks turnsout all I needed to do is add a canvas layer as a parent made the game genrally better by adding text animations and stuff"}, {"post_id": 45019, "ts": "2026-08-11T04:58:01Z", "hours": 0.5347, "text": "Got everything ready for shipping Fixed some minor bugs like the screen not streatching properly Just some optimization and cleaning really"}, {"post_id": 43606, "ts": "2026-08-08T23:31:50Z", "hours": 3.6431, "text": "Added final Minigame & Clicker game Added block blast as final minigame Added the clicker minigame Added the win and lose screens Gonna ship soon"}, {"post_id": 43086, "ts": "2026-08-08T05:15:56Z", "hours": 2.3519, "text": "Finished first mini game Added fully walking waluigi with walk cycles He collects the garlics"}, {"post_id": 42850, "ts": "2026-08-07T19:52:28Z", "hours": 2.1681, "text": "Added title screen and half of first minigame Title screen and working buttons Pretty cookie concept Please try"}]...
|
Title: Waaaaaaaaluigi Ware by @Vini | Stardance
D Title: Waaaaaaaaluigi Ware by @Vini | Stardance
Devlogs:
Added title screen and half of first minigame Title screen and working buttons Pretty cookie concept Please try
Finished first mini game Added fully walking waluigi with walk cycles He collects the garlics
Added final Minigame & Clicker game Added block blast as final minigame Added the clicker minigame Added the win and lose screens Gonna ship soon
Got everything ready for shipping Fixed some minor bugs like the screen not streatching properly Just some optimization and cleaning really
Fixed some basic issues Why the fudge was the timer behind the bricks turnsout all I needed to do is add a canvas layer as a parent made the game genrally better by adding text animations and stuff
Added half of a Rhythm game This Rhythm minigame is very silly Working on getting some new art in there Thats most of whats been happening
Tremendous amounts of pain (Please help) I spent about 2 hours wanting to make a rhythm minigame gave up on that Then spent another hour trying to figure out collisions and sword attacks Worked it all out but by Jove it was annoying as hell
Gonna ship tomorrow Did some final bug checking and fixing Added a restart if the monster gets to far it makes you lose a life yeah it’s really buggy and kind of crappy but I don’t care
Ships:
I made a pretty good game if I dont say so myself its quite good for a first time godot user I like it wuite much. (Wait that doesent english right). Anyways it works pretty well and im quite happy with.
What I have made I made a completely functioning waluigi ware godot game The most challenging part The most challenging part of creating this was the last one getting all the collision hit boxes to work The thing I’m most proud of The thing I’m most proud of is the text when it tells you what to do the tweening by code was difficult so yes I got a tiny bit of help form AI TO EXPLAIN how it works NOT TO ctrl c ctrl v What you need to know to test my project This might be buggy but I hope you like it when you click to try to collect the onions in the clicker game you can click the onions with the text still there The text does not pause or stop the timer when the text is there please start the game please try to rate this good and I hope you like this...
|
1792817732.0007043
|
1792904132.0007043
|
|
44477
|
MeowGame! by @CharlieCatMeow | Stardance
|
CharlieCatMeow
|
2
|
34.0
|
431
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T15:23:00Z", "hours": 29.0, "multiplier": 14.72, "payout": 431, "blessing": "neutral", "text": "MeowGame MeowGame is a forest-themed WarioWare style game featuring 7 minigames! All art is drawn by me, it’s my first time doing this, so don’t expect it to look fabulous. The minigames: Platformer Clicking Game Fly through obstacles (Like Flappy Bird) Collect falling fruit Jump over spiky bushes Climb to the top (Kind of like Doodle Jump) Maneuver a raft There’s also a pause menu, just press the Esc key. If you’re stuck, the controls are shown during the intermission just before the game. It took me quite a while to get accustomed to everything, from the basic Godot UI to drawing the pixel art. I learned quite a lot throughout this whole process and am pretty happy about the result. Looking back, there are definitely things I would’ve done differently, but as my first step into game development this is pretty good I think. I redid a bunch of stuff on the way and kept changing stuff. it took me a while to get a unified theme going (forest and stuff) Also if you haven’t noticed, the character I drew is inspired from Sekiro. Drawing that character was the hardest, especially the walking animation.", "repo": "https://github.com/CharlieTheCatMeow/WarioWare-Game", "demo": "https://charliecatmeow.itch.io/meowgame"}, {"ship_num": 2, "ts": "2026-08-06T16:08:52Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "(Please read the README first) MeowGame! is a WarioWare inspired game with two minigames: A platformer and a clicker game. The difficulty is very easy please keep that in mind. The art is all drawn by hand so it may look a bit silly. Quite a fun experience creating my first game. I got a grasp of the basics of Godot now and am excited to further develog this game.", "repo": "https://github.com/CharlieTheCatMeow/WarioWare-Game", "demo": "https://charliecatmeow.itch.io/meowgame"}]...
|
[{"post_id": 66655, "ts": "202 [{"post_id": 66655, "ts": "2026-09-12T14:47:10Z", "hours": 2.9856, "text": "MeowGame Devlog #12 Even more fixes and small changes Some more decoration and visual stuff I added some bushes in the background of two minigames. I also adjusted the lighting a bit. Particle changes I changed the particles a bit. Some of them should be more noticable now. Pause menu update You can now find settings inside the pause menu. Audio fix I found out the volume that was being changed with the slider in the game settings wasn’t working probably, so I fixed that. Timer changes I changed the timers on some minigames so the game is a bit more balanced. Clicking sound There is now a sound when you click menu buttons because why not Timer visibility The timer wasn’t visible in one or two minigames, so that’s fixed too. README I also updated the README a bit in preperation for shipping. That should be all"}, {"post_id": 61577, "ts": "2026-09-04T15:36:35Z", "hours": 2.7022, "text": "MeowGame Devlog #11 More stuff Pause menu I added a pause menu. You can choose to return to the main menu now. Thanks to whoever gave me this idea. Some particles I added a few particles to some levels. The first minigame I changed it a bit and also added some lanterns Controls Controls for the next minigame are now visible during the intermission. Also added arrow keys and stuff back into the controls. Ambient sound I added ambient sound to all levels (I think)"}, {"post_id": 57420, "ts": "2026-08-29T15:43:02Z", "hours": 3.0892, "text": "MeowGame Devlog #10 (Wow a 10th devlog already) Normal maps and god rays God rays I found a shader for god rays online and decided to put them in my scenes. Very pretty things they are Normal Maps I found out that normal maps exist. I proceeded to add a normal map to almost every texture in the game. It isn’t a huge difference but it’s there and that’s cool."}, {"post_id": 52884, "ts": "2026-08-23T08:19:18Z", "hours": 2.0542, "text": "MeowGame Devlog #9 Some small stuff I did some performance improvements and added some particle effects. I added a falling leaves effect to the 4th minigame (I think) and added some wind particles to a few other minigames. I had to change the particles from GPUParticles2d to CPUParticles2d, otherwise the browser lags for some reason. I forgot what else I may have done that wasn’t there before."}, {"post_id": 48062, "ts": "2026-08-16T10:50:12Z", "hours": 7.5864, "text": "MeowGame! Devlog #8 It’s a long one, I got a bit carried away I changed some minigames so that it all fits one theme (forests and stuff) Changed the Pong minigame into a game where you have to collect fruit that falls from a tree. Also replaced the racing game with a minigame kinda like Geometry Dash. Changed the art on the flappy bird game to fit the forest theme more. More minigames! I added two more minigames (I think) A doodle jump game where you have to reach the top. A game where you have to maneuver a raft through obstacles Also did some minor quality of life improvements. That’s all :D"}, {"post_id": 44762, "ts": "2026-08-10T19:14:10Z", "hours": 2.2844, "text": "Let there be light MeowGame! Devlog #7 I started experimenting with lights. I recently found out that lights and stuff exist in 2d, so I experimented a bit. I added some lights and glow to my first platformer minigame. I also spent some time redrawing the player sprite. I wanted to have one that’s a bit more detailed to avoid a big difference in pixel size. That’s all :D"}, {"post_id": 43963, "ts": "2026-08-09T12:59:02Z", "hours": 3.2581, "text": "MeowGame! Devlog #6 Top down racing game I added a top down racing game, you have to complete one lap before the timer ends. I also experimented a bit with lighting and stuff. I don’t quite understand it yet but it looks fun."}, {"post_id": 43259, "ts": "2026-08-08T12:47:03Z", "hours": 2.4878, "text": "MeowGame! Devlog #5 I added a Pong game I added a simple pong minigame. There’s not much to say about that, it’s pretty self-explanatory. Also, particles I figured out how the particle system works and have implemented some in a few places. Sounds! I added a coin pickup sound. That’s all, cheers!"}, {"post_id": 42557, "ts": "2026-08-07T11:41:09Z", "hours": 2.8578, "text": "MeowGame! Devlog #4 Added a Flappy Bird game I added a space themed flappy bird game. This was my first time doing a bit of proper coding in GDscript, everything is still a bit weird for me. Redid some art. I updated the art for the platformer minigame, I hope it looks a bit better now."}, {"post_id": 42005, "ts": "2026-08-06T15:28:32Z", "hours": 1.1956, "text": "MeowGame! Devlog #3 Spent a bit of time on art and polishing the game. I added: Flasks as a life counter New Background ✨ Animated character for the platformer minigame Polished some small stuff Overall very enjoyable project, I hope my drawing skills aren’t too bad Will ship now."}, {"post_id": 41904, "ts": "2026-08-06T12:30:31Z", "hours": 3.0183, "text": "MeowGame! Devlog #2 Pretty much finished the guide now I added two minigames, a win screen and a lose screen. It got a lot easier after understanding the basics of how Godot works and I got through it fairly easily. I really enjoyed creating my own custom textures (first time doing this). Some of it is nightmare fuel though (I can’t draw cats) I’m still in the process of refining some stuff and hope I can get to the 5 hour requirement while doing so."}, {"post_id": 41814, "ts": "2026-08-06T08:17:58Z", "hours": 0.9336, "text": "MeowGame! Devlog #1 First Devlog of this project! Godot is completely new to me, so I used the first hour to follow the guide and get a grasp on the basics. I added a start menu and the level_scene as told by the guide. Looking forward to continue working on this project."}]...
|
Title: MeowGame! by @CharlieCatMeow | Stardance
D Title: MeowGame! by @CharlieCatMeow | Stardance
Devlogs:
MeowGame! Devlog #1 First Devlog of this project! Godot is completely new to me, so I used the first hour to follow the guide and get a grasp on the basics. I added a start menu and the level_scene as told by the guide. Looking forward to continue working on this project.
MeowGame! Devlog #2 Pretty much finished the guide now I added two minigames, a win screen and a lose screen. It got a lot easier after understanding the basics of how Godot works and I got through it fairly easily. I really enjoyed creating my own custom textures (first time doing this). Some of it is nightmare fuel though (I can’t draw cats) I’m still in the process of refining some stuff and hope I can get to the 5 hour requirement while doing so.
MeowGame! Devlog #3 Spent a bit of time on art and polishing the game. I added: Flasks as a life counter New Background ✨ Animated character for the platformer minigame Polished some small stuff Overall very enjoyable project, I hope my drawing skills aren’t too bad Will ship now.
MeowGame! Devlog #4 Added a Flappy Bird game I added a space themed flappy bird game. This was my first time doing a bit of proper coding in GDscript, everything is still a bit weird for me. Redid some art. I updated the art for the platformer minigame, I hope it looks a bit better now.
MeowGame! Devlog #5 I added a Pong game I added a simple pong minigame. There’s not much to say about that, it’s pretty self-explanatory. Also, particles I figured out how the particle system works and have implemented some in a few places. Sounds! I added a coin pickup sound. That’s all, cheers!
MeowGame! Devlog #6 Top down racing game I added a top down racing game, you have to complete one lap before the timer ends. I also experimented a bit with lighting and stuff. I don’t quite understand it yet but it looks fun.
Let there be light MeowGame! Devlog #7 I started experimenting with lights. I recently found out that lights and stuff exist in 2d, so I experimented a bit. I added some lights and glow to my first platformer minigame. I also spent some time redrawing the player sprite. I wanted to have one that’s a bit more detailed to avoid a big difference in pixel size. That’s all :D
MeowGame! Devlog #8 It’s a long one, I got a bit carried away I changed some minigames so that it all fits one theme (forests and stuff) Changed the Pong minigame into a game where you have to collect fruit that falls from a tree. Also replaced the racing game with a minigame kinda like Geometry Dash. Changed the art on the flappy bird game to fit the forest theme more. More minigames! I added two more minigames (I think) A doodle jump game where you have to reach the top. A game where you have to maneuver a raft through obstacles Also did some minor quality of life improvements. That’s all :D
MeowGame Devlog #9 Some small stuff I did some performance improvements and added some particle effects. I added a falling leaves effect to the 4th minigame (I think) and added some wind particles to a few other minigames. I had to change the particles from GPUParticles2d to CPUParticles2d, otherwise the browser lags for some reason. I forgot what else I may have done that wasn’t there before.
MeowGame Devlog #10 (Wow a 10th devlog already) Normal maps and god rays God rays I found a shader for god rays online and decided to put them in my scenes. Very pretty things they are Normal Maps I found out that normal maps exist. I proceeded to add a normal map to almost every texture in the game. It isn’t a huge difference but it’s there and that’s cool.
MeowGame Devlog #11 More stuff Pause menu I added a pause menu. You can choose to return to the main menu now. Thanks to whoever gave me this idea. Some particles I added a few particles to some levels. The first minigame I changed it a bit and also added some lanterns Controls Controls for the next minigame are now visible during the intermission. Also added arrow keys and stuff back into the controls. Ambient sound I added ambient sound to all levels (I think)
MeowGame Devlog #12 Even more fixes and small changes Some more decoration and visual stuff I added some bushes in the background of two minigames. I also adjusted the lighting a bit. Particle changes I changed the particles a bit. Some of them should be more noticable now. Pause menu update You can now find settings inside the pause menu. Audio fix I found out the volume that was being changed with the slider in the game settings wasn’t working probably, so I fixed that. Timer changes I changed the timers on some minigames so the game is a bit more balanced. Clicking sound There is now a sound when you click menu buttons because why not Timer visibility The timer wasn’t visible in one or two minigames, so that’s fixed too. README I also updated the README a bit in preperation for shipping. That should be all
Ships:
(Please read the README first) MeowGame! is a WarioWare inspired game with two minigames: A platformer and a clicker game. The difficulty is very easy please keep that in mind. The art is all drawn by hand so it may look a bit silly. Quite a fun experience creating my first game. I got a grasp of the basics of Godot now and am excited to further develog this game.
MeowGame MeowGame is a forest-themed WarioWare style game featuring 7 minigames! All art is drawn by me, it’s my first time doing this, so don’t expect it to look fabulous. The minigames: Platformer Clicking Game Fly through obstacles (Like Flappy Bird) Collect falling fruit Jump over spiky bushes Climb to the top (Kind of like Doodle Jump) Maneuver a raft There’s also a pause menu, just press the Esc key. If you’re stuck, the controls are shown during the intermission just before the game. It took me quite a while to get accustomed to everything, from the basic Godot UI to drawing the pixel art. I learned quite a lot throughout this whole process and am pretty happy about the result. Looking back, there are definitely things I would’ve done differently, but as my first step into game development this is pretty good I think. I redid a bunch of stuff on the way and kept changing stuff. it took me a while to get a unified theme going (forest and stuff) Also if you haven’t noticed, the character I drew is inspired from Sekiro. Drawing that character was the hardest, especially the walking animation....
|
1792828194.7039413
|
1792914594.7039413
|
|
44521
|
TRIANGULATOR by @velocity | Stardance
|
velocity
|
2
|
10.0
|
150
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-30T15:54:16Z", "hours": 2.0, "multiplier": 12.84, "payout": 36, "blessing": "neutral", "text": "This is my second ship. For my first ship, I had built a very barebones app with a lot of bugs and issues. It simply turned images into triangles, and there was a lot of room for improvement. For this ship, I tried to implement everything that the reviews had asked for. I added a gallery, expanded the README significantly, made my devlogs more detailed, and added clear instructions explaining what each parameter does. I’m very happy with how this project turned out, especially considering how much I improved it from my first ship. The only major improvement I would still like to make is getting the program to run locally. That would be a challenge because of the limited resources available in a browser, but it’s something I’d like to work toward in the future. Since I have a lot of pictures I am going to upload one of my favorite ones, a photo I processed about 3 hours into this project.", "repo": "https://github.com/Velocity918/Trianglator", "demo": "https://trianglator-kohl.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-13T09:23:10Z", "hours": 8.0, "multiplier": 14.13, "payout": 114, "blessing": "neutral", "text": "I have made a simple web app that takes in and image a turns it into triangles, hence the name Triangulator. I am very proud of the algorithm i have written myself for colour detection, placing points in backgrounds and finding midpoint of each triangle. This also helped me revisit some html and css. I would love for people to play around with my project and in the future I might make my project better. Something I still want to improve is time as vercel servers are slow, so the large number of calculations takes a lot of time.", "repo": "https://github.com/Velocity918/Trianglator", "demo": "https://trianglator-kohl.vercel.app/"}]...
|
[{"post_id": 58206, "ts": "202 [{"post_id": 58206, "ts": "2026-08-30T15:48:00Z", "hours": 1.0042, "text": "Final post for this project :< I have finally added a processing screen so you know when the images are actually processing. I have added a gallery of my favorite outputs yet. Added instruction on how to use the website and cleaned up the UI, Check out the website"}, {"post_id": 58079, "ts": "2026-08-30T12:59:44Z", "hours": 1.0003, "text": "I cleaned all the code, fixed a massive deployment error (sadly the time did not count). I significantly improved my README.md, Read my README ."}, {"post_id": 46448, "ts": "2026-08-13T17:39:14Z", "hours": 0.3603, "text": "Fixed my triangulator for transparent images"}, {"post_id": 46208, "ts": "2026-08-13T08:48:02Z", "hours": 0.6492, "text": "added customizability + deployed it so anyone can use it :)"}, {"post_id": 45040, "ts": "2026-08-11T08:51:30Z", "hours": 1.6856, "text": "turned into a web app (looks terrible)"}, {"post_id": 44596, "ts": "2026-08-10T13:51:09Z", "hours": 1.8664, "text": "improved backgrounds by adding points specifically to the background"}, {"post_id": 43156, "ts": "2026-08-08T08:27:59Z", "hours": 1.3475, "text": "Improved the colour accuracy using a meshes and polygons"}, {"post_id": 42034, "ts": "2026-08-06T16:18:25Z", "hours": 2.5136, "text": "Made the Bare bone structure of the program"}]...
|
Title: TRIANGULATOR by @velocity | Stardance
Devl Title: TRIANGULATOR by @velocity | Stardance
Devlogs:
Made the Bare bone structure of the program
Improved the colour accuracy using a meshes and polygons
improved backgrounds by adding points specifically to the background
turned into a web app (looks terrible)
added customizability + deployed it so anyone can use it :)
Fixed my triangulator for transparent images
I cleaned all the code, fixed a massive deployment error (sadly the time did not count). I significantly improved my README.md, Read my README .
Final post for this project :< I have finally added a processing screen so you know when the images are actually processing. I have added a gallery of my favorite outputs yet. Added instruction on how to use the website and cleaned up the UI, Check out the website
Ships:
I have made a simple web app that takes in and image a turns it into triangles, hence the name Triangulator. I am very proud of the algorithm i have written myself for colour detection, placing points in backgrounds and finding midpoint of each triangle. This also helped me revisit some html and css. I would love for people to play around with my project and in the future I might make my project better. Something I still want to improve is time as vercel servers are slow, so the large number of calculations takes a lot of time.
This is my second ship. For my first ship, I had built a very barebones app with a lot of bugs and issues. It simply turned images into triangles, and there was a lot of room for improvement. For this ship, I tried to implement everything that the reviews had asked for. I added a gallery, expanded the README significantly, made my devlogs more detailed, and added clear instructions explaining what each parameter does. I’m very happy with how this project turned out, especially considering how much I improved it from my first ship. The only major improvement I would still like to make is getting the program to run locally. That would be a challenge because of the limited resources available in a browser, but it’s something I’d like to work toward in the future. Since I have a lot of pictures I am going to upload one of my favorite ones, a photo I processed about 3 hours into this project....
|
1792820985.9207656
|
1792907385.9207656
|
|
44537
|
STEMNet.gr by @rosandrox | Stardance
|
rosandrox
|
2
|
72.0
|
1278
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T16:15:32Z", "hours": 52.0, "multiplier": 19.12, "payout": 987, "blessing": "neutral", "text": "STEMNet GREECE CAN YOU PLS STAR MY REPO AND GIMME STARS / I POORED A LOT OF EFFORT INTO IT Created by: Rosario Alexandros Morabito (prodevmod) . I built this as a CS50 final project that turned into a real world mission. PLS READ STEMNet was born out of a real struggle in Greece. Here, proper hands-on STEM education and local school clubs are hard to find, and getting your hands on basic electronics like an Arduino is a challenge you either rely on a single physical store in the whole country or buy online. But since parents often don’t trust internet shopping, young innovators get stuck. I wanted to fix this by building a cozy, peer to peer home where young Greek makers of the same age and passion can finally connect, share project feedback, and feel like they aren’t alone. Like I often times feel. Y develop it further The overwhelming amount of positive feedback I got from my previous shipping of the project and my friends who I cowardly showed it to because I was a bit scared they were going to make fun of me pushed me into expanding this with a React framework for the V1, but trust me, even more is coming. What’s Inside the Platform? The STEM Extra Vault: A handy resource library packed with everything students need to kickstart their independent journey into electronics and coding, making up for what traditional schools miss. Community Groups ( can also be used as School Clubs): Forum style discussion spaces where everyone can chat about their favorite topics. Students can even spin up their own groups to act as virtual versions of real world school clubs. Events & Future Webinars: A dedicated space tracking upcoming competitions, team meetups, and future online STEM teaching sessions that I plan to host once the user base grows. Self-Cleaning Notifications: A smart alert system that automatically wipes read notifications older than 30 days (with a cron job for FREE), keeping the interface clean so users never get overwhelmed by clutter. Built-in Safety & Sigma Profiles: BTS, the site keeps things secure with robust account verification thru session cookies and recapca, safe link-checking to keep malicious websites away thru nginx , customized user profiles with social and GitHub links, and easy account settings. I would realy want to see this project skyrocket! If you have any recomandations about how I can scale it or grow my userbase pls tell me!!!", "repo": "https://github.com/prodevmod/STEMNet.gr", "demo": "https://www.stemnet.app"}, {"ship_num": 2, "ts": "2026-08-09T22:25:15Z", "hours": 20.0, "multiplier": 14.46, "payout": 291, "blessing": "neutral", "text": "See video HERE(OLD VERSION OF SITE): https://youtu.be/QUGb-TlbM0Q . I built STEMNet.gr, a student-driven social hub and resource directory designed specifically for Greek students. It aims to bridge the gap for students who lack local access to STEM clubs, robotics, and academic mentorship. It’s a space to discover curated educational resources, post and find events, and build a community where students can learn from and support each other. Moving from a CS50 project to a production-ready application was a steep learning curve. I spent countless hours diving into Flask, Jinja, and database documentation to ensure the site is secure against SQL injections and unauthorized access. Balancing feature development—like AJAX for real-time interaction, mobile responsiveness, and a custom dark/light mode theme system—while ensuring the site remains fast and secure, was the biggest challenge. I am most proud of creating a self-sustaining, alumni-driven ecosystem. This isn’t just a directory; it’s a platform where students can give back by contributing events they’ve discovered, effectively filling the guidance gap for those starting their STEM journey. I’ve successfully migrated it to a faster, more robust server infrastructure, implemented a secure registration flow, and built a fully functional social graph (followers/following).", "repo": "https://github.com/prodevmod/STEMNet.gr", "demo": "https://www.stemnet.app"}]...
|
[{"post_id": 61591, "ts": "202 [{"post_id": 61591, "ts": "2026-09-04T16:02:16Z", "hours": 0.6472, "text": "GUYS I DID SOME FINAL TOUCHUPS! I AM READY TO SHIP! THE TOUCHUPS HAD TO DO WITH THE GROUPPOSTS CONTENT RENDERING!💀💀💀💀"}, {"post_id": 61454, "ts": "2026-09-04T11:53:33Z", "hours": 4.0161, "text": "I FINISHED ITTTT! So, I basically cleaned up the CSS as I told in the previous devlog. I also added category tags in every post, which was a feature of the HTML version but I had forgot to add it. Then, I also added a going and interesting interactions in events so that people may express where they would like to go from all the events. I also added the refactored edit and delete functions for events and groups, they weren’t working. I fixed the notifications cleanup which was previously not working, it was a cron job I added in the previous devlog. Also, in the profile page, I have now separated the person’s content into posts and replies, that way the UX is far better. Also, I made a crop image component so that the users can customize which part of the image they want in their PFP, and that is also good because now I don’t have to do the fitting anymore because once they have selected it, only the selected part of the icon is saved, so it becomes a lot more gestible for me. I am also adding content so that stemnet has lots of stuff, and further on I will be adding one or two more details and then shipping it. I really don’t think there is anything else to do, I really put a lot of hours into this, and yeah."}, {"post_id": 60704, "ts": "2026-09-03T08:14:23Z", "hours": 3.1347, "text": "Hello!!! Sooooo I Did a few things like: I added pagination for if and when I get a larger userbase the app/webapp won’t crash (Mostly for mobile users) by loading all posts at once. I added a few things in the backend to make expanding this app/webapp easier. I also added RSVP buttons for “Going” and “Interested” in EventDetails and Events pages to make them more interesting. Implemented handleRsvp function to manage user RSVP status and update counts. Adjusted comment reply button to display comment count. Updated requirements.txt to include Pillow and redis. Added a second cron job to cleanup old read notifications NEXT UP: Fixing the UI Add right image sizes in every page w/ content Fix the reversed colours thing"}, {"post_id": 60288, "ts": "2026-09-02T15:46:17Z", "hours": 2.7697, "text": "Today I worked on the cybersecurity aspect of my site btw :P ( I meant to write : but I did a typo P). I honestly was chilling doing nginx configuration and I also secured the recaptcha key. I also took heed of one of my comments and added an api for malicious domains plus I hardcoded some others. I also moved the sanatisation to the forms themselves (post, create group)"}, {"post_id": 59440, "ts": "2026-09-01T09:12:44Z", "hours": 2.9211, "text": "I did all of the following: I’m thinking to fix the change password, change email, and report a bug functions. Also, make it able to upload GIFs for content types because currently, although possible, it is not working. I don’t know why. I have to troubleshoot it. And to fix those verification tokens and redirection. Problems I ENCOUNTERED: I tried and tried times again to fix my redirecting script for half an hour antil my stupid a$$ realised the problem was that resend was injecting a tracker in the website to track if the email was clicked and I removed it resulting on verification links working. After searching up my content error on stack overflow I found out it was neither a supabase or python storing error but it was in fact a nginx framework error that needed one line to be solved:( UP NEXT I am currently running Pentests and rawlers to optimise my webapps cybersecurity and when done I ll prevent any vulenerabilities (I got dyslexia). Right after that I ll try to get a userbase by using lapse to record me addvertising my site!"}, {"post_id": 59016, "ts": "2026-08-31T16:28:57Z", "hours": 6.0711, "text": "SOOOOOOOO: Today I tried to make up for yesterday (I only did like 2 hrs) and here is what I did: So, I updated the navbar to have a settings page, which I was inspired to make because when trying to find an icon that represents stem extras and all the stem together and not just one kind of stem, a gear came to mind. But then I thought I should also make settings, so I put that aside for the time. And now I made the stem extras icon a more chemistry-looking bottle, and the gear I kept for the settings as I said I would. Everything is pretty much the same, except I made an edit and delete event buttons that were much needed because after all the test events I made, it was getting kind of sloppy and unprofessional because it was filled with gibberish. Same goes for the groups, so I did the exact same thing. Also, I made a table for the users to delete a post that many people have replied to by adding a soft delete function that basically checks if the post is deletable, and if it is not, it changes it to this post is no longer available, this post has been deleted. So, I then proceeded to make the settings page, which was very difficult and still I haven’t got over yet. So, I’ve made the appearance and delete account. I made the delete account button to work. It was kind of difficult so that I could secure it that there is no misuse of this button and hackers might mass delete accounts by hacking into them. I also made a report bug, change email, and change password tabs that although they technically or three work, they need some improvement, which I will make in the next devlog. I also made the appearance into something more modern and nice, which is like every other setting, an accordion dropdown that you press to switch to what mode you want. I’m trying to currently recreate the icon near the mode text so it’s a bit more fun, and I will do it in the next devlog. Logout works just fine. I’ve made custom emails and verification tokens for every single action. Also, They still need some work to be done. The verification tokens have made because they currently don’t redirect you back to a login page or something, so they feel empty and don’t work exactly as they are built to work as. Everything else is pretty much the same. I updated the content type so users can upload much larger files. For the next dev log, I’m thinking to fix the change password, change email, and report a bug functions. Also, make it able to upload GIFs for content types because currently, although possible, it is not working. I don’t know why. I have to troubleshoot it. And to fix those verification tokens and redirection."}, {"post_id": 57911, "ts": "2026-08-30T07:34:49Z", "hours": 1.1781, "text": "IT TOOK ME 1 HOUR BUT IT WAS WORH IT: LADIES AND GENTS THE NOTIFICATION ICON CHANGES TO INDICATE YOU HAVE NOTIFICATIONS I’ ll describe this session cuz it was so funny frfr: So like I got started wondering why the notification button in navbar doesnt update I then proceeded to delete the svg s I had and replace them with pc generated ones Then I proceeded to change the structure of both my app.py and navbar.jsx (visible in my commits) But I suddenly remembered I can debug with console logs which I have kept cuz y not To cut it short after debugging I saw in the console log a messoge that said and I quote index-D9jqm-wX.js:11 Navbar hasUnreadNotifications: undefined undefined and that was when I realised I had nowhere in the .jsx included the hasUnreadNotification boolean so there was no way of the client knowing what I was yapping abt in Navbar.jsx basically I was saying check if hasUnreadNotification is True I then used the find thingy of VSCode to add the argument to all the react pages Up Next: Have it tested by people give feedback. Activate global acces via Clouflare Automate deletion of old events with cron"}, {"post_id": 57539, "ts": "2026-08-29T18:28:38Z", "hours": 6.2389, "text": "BEFORE I START TAKE 5 mins of your time pls to test my webapp and suggest additions: SUGEST ON GITHUB https://github.com/prodevmod/STEMNet.gr/issues?q=is%3Aissu MY SITE: https://www.stemnet.app I Just finished the Issues I had made from playtestsing with my bros! These are the functional changes made: REPLY buttons worked flawelessly at every page of the site but it took me 2 hrs cause of how many different pathways were inside my webapp and I had to sort them out but guess what it finally took me 3 hrs because there was a PROBLEM with my code CAUSE I HAD to change the api/posts/post_id to api/post_id/posts but had forgotten to change the route and the method from POST to GET and lost 1 f-ing hour of my time searching for a single line of code. REGISTER page was easy I just had to remove some labels to make the UI mure user friendly, like honestly most changes were frontend based in this part so with my BIG brain and a litle of react documentation it was basically a peice of cake THE NOTIFICATIONS PART WAS THE MOST TIME CONSUMING BECAUSE IT TOOK ME 1 hour researching and 2 hours actually typing cause what was written (mostly frontend) was wrong and I had to create a new table for notifications. Ig I just didn’t know how to implement the notifications. Last part was RECAPTCHA V2 for more stable results it was very easy to do (took me 20 mins tops) Next: TESTING with MY bros Making notification icon full when user has unread notifications IMPLEMENT UR IDEAS"}, {"post_id": 56684, "ts": "2026-08-28T15:24:20Z", "hours": 3.0264, "text": "So, for the first half of this session, I was trying to debug the app and website deployment because the app deployment overrode the website deployment. And at some point, nothing worked. I then went ahead and play-tested my site with some friends, and we found some key issues that I have to fix, such as the fact that reply buttons are not functional in all pages, the register page has some unclear parts, while the notifications page doesn’t work at all. While testing, I found that a friend of mine couldn’t register, and so I tried to register too, but it wouldn’t let me because of the reCAPTCHA. So, that’s how I decided to remove reCAPTCHA v3 completely and apply reCAPTCHA v2, which I haven’t done yet. I also then went ahead and made some issues to my GitHub repository so I can keep track of what I need to change. I’m thinking of merging the two branches, although I’m not sure yet because I would like to have my main branch. I might rename my main branch and make default the react-version branch. I also made a mobile branch, but that’s only on the local git. And that’s all I did for this session. I’m thinking of expanding more on this idea and advertising it, and then also shipping it, but that’s for later on. I must first fix every mistake and then do some testing with relatives, friends, and if you want to, you can participate. And then I’m going to have to have them fill out a form so that I find out which are the weakest points of my UI and what functionalities I could add.Also app works now!!!"}, {"post_id": 56510, "ts": "2026-08-28T09:42:45Z", "hours": 0.6783, "text": "Small note: I made a deplyable app but because it is compiled with capacitor it needed a domain and I entered my websites domain so either the app will work fully and the web server ,ust close either only the frontent works!Actual mobile FOOTAGE(My pfp is so JOLLY):"}, {"post_id": 56450, "ts": "2026-08-28T06:51:35Z", "hours": 2.6586, "text": "SO the UI and most of backend is the same (IT WAS A PREEEEEETY BORING SESSION. Moreover in this session I just: (THE APP HAS LIGHT MODE TO, I JUST PREFER DARK) Cleaned up the CSS and .jsx files Polished and Tested Everything was fine Made the webapp’s logo Hated myself cuz I didn’t know how to deploy my site deployed my sit with hackclub nest server and nginx and gunicorn Playtested w/ some friends and gathered opinions What I Have yet to do: make polished/final UI deploy a mobile app version too Start advertising Contacting people interested in hosting my app Propose my idea to the greek government(I have veryyyyyyyyyyyy High Hopes I know) Follow me cuz this is just the start of this WEBAPP! PLEEEEEEEEEEAAAAAASE STAR MY REPO!"}, {"post_id": 55595, "ts": "2026-08-27T15:30:57Z", "hours": 6.9036, "text": "Ladies and Gents there was not in fact a 5% left… More like 50% … Soooooo: I implemented all the event functions and group functions to work as intended. Also, I made the post detail and the event detail. I made the create group, create post, and everything.I included every function of the previous version that was in HTML, so academic profiles for the registering, multimedia code sharing and links, events and groups featuring dedicated tracking for STEM-related events. Social interactions, the platform includes a standard follower-following network. Security and technical architecture, I built using Python Flask, so I didn’t need to change anything security-wise, so I just kept the old version that using SQLite. It then translated to PostgreSQL alongside Supabase for the cloud file storage, and I have added all the login rate limits so that there is no login brute force.This was my first time coding in react so I learned two distinct ways + css to code a frontend and 1 way to do the backend!"}, {"post_id": 55042, "ts": "2026-08-26T13:57:27Z", "hours": 5.2628, "text": "💀💀I AM EXHAUSTED I SEE ERRORS EVERYWHERE! However on the bright side 95% of the website is done for the react version and I am commiting my REACT V1 today!So, let’s see what changed in the React version. So, I added a logout icon that is created on spot as most icons because I removed mine but kept a few to make the site simpler and more easy to load, though I kept my like buttons and my reply buttons. I removed the image to be shown from the actual profile page so that more content fits into less space. The events are pretty much the same only that I added a footer box so that the user understands where the description starts and where the specifications end. I replaced the gem with a gear and I named the page StemNet Extras Education because it sounded more like the actual thing. The group is functioning every function of the group so nothing changed there. Notifications have a bit different way of functioning but it is the same logic. Pretty much everything is the same just in React with a bit better UI and UX.The basic reason why I didn’t do more devlogs and more analytical work is because the hackathon was down so I couldn’t log anything. And when hackathon came back up around 3 hours of work I had already done, I encountered ton of bugs. That’s why I’m exhausted right now. In fact, this is an edited devlog. In my normal devlog I didn’t upload anything because I was exhausted and wanted to take a break. The thread view or the post detail post works the same. I added a cute profile picture for anyone who hasn’t got one with their initial. Light mode and dark mode are better now. Before they were a bit choppy and in some places they didn’t work. New post is very organized. And most of the text is changing with force white and force black because for some reason all the CSS I wrote didn’t make sense to me. So I just added a force thing so I could label the things I want to turn what I want them to turn to."}, {"post_id": 54729, "ts": "2026-08-25T20:12:25Z", "hours": 3.5881, "text": "So one of the MANY reviewers sugested I build the application / website in react and so I have started doing that! I also drew stemnet logo! I ll cover that in the next devlog cause my lapse is still open IN CASE I wanna change it! However turns out react framework is relativly easy! But bcs I am kinda slow it took me 1 week of studying to start building! I redisigned the css to cover some of my needs and made the register login, index and custom error pages! I also found it easier to integrate my rate limit in a simple warning on the login screen! I am working on a seperate branch for better version control (I AM SO SMART IKR), first time actually using anything else than add push pull remote and satus commands for git ( I AM SO PROUD). Abt the actual project: The react framework is wayyyyyyyyyyyyyyyyyyy faster and leaves room for me to do silly things! I addaptes some things like integrating reply in posts directly (FREEDOM OF REACT) that couldn’t be implemented in html Imma do the rest of the app now I also fixed the images so that their shown in their proper aspect as I was suggested I dont also dont have much to document on as much of the work I did in python css and react was baxically boilerplate code found in documentation!"}, {"post_id": 48706, "ts": "2026-08-17T06:48:45Z", "hours": 0.6875, "text": "Guys when reviewing my project please make an account if you dont want to share your real info atleast use a fake email generator and login from the inbox cause rly all the dedication i ve put into this project is in that page after logging in."}, {"post_id": 45438, "ts": "2026-08-11T21:44:13Z", "hours": 1.8439, "text": "I cleaned up some things I added a login limit to avoid bruteforce and a custom html page for when the user exceeds the limit. I wrote the README.md from scratch cause I had used AI to make the process quicker. I added comments so anyone who might wants to do a PR isn’t deterred by the ammount of confusing jargon.Fixed some css issues and added more to the STEM EXTRA page. I also added a captcha v3 verificator to avoid having bots raid my platform…. PLEASE READ PREVIOUS DEVLOGS TO UNDERSTAND THE MISSSION"}, {"post_id": 44272, "ts": "2026-08-09T22:21:53Z", "hours": 0.5536, "text": "Just run last tests added more stem material!!!! With these devlog I want to gain your atention to spread the word to people you think will find it useful as it is primarly for greek students but the important part is that it is for students that do not have stem guidance and don’t know where to start from. With these project students not only gain guidance and benefit from the community but can contribute back into it (by posting about an upcoming event they heard about) creating a self sustaining alumni driven platform.Thank you for your attention!!! Enjoy my project!! Make sure to checkout the vid (old version) see progress!!! https://youtu.be/QUGb-TlbM0Q"}, {"post_id": 44235, "ts": "2026-08-09T21:07:37Z", "hours": 1.91, "text": "Okay, so I did the last cleanup, so my project is ready for shipping. In this session, I removed the feed button because it was unnecessary. The stemnet.gr logo takes you to the feed. I restricted the navigation feature icons only for the logged-in users. I forced the login prompt button to retain a clean white text background and properly structured the mobile and desktop navbar. I added hero card styling. I also added an extremely beneficial part of the site with all the extra academics a student can take. There I will upload different links and resources for Greek students to study STEM outside of the school curriculum. I think that’s a very good idea and very nice I created and thought of. And while testing the final product, I was headbanging to “So Lucky” by Twice and “Loser” by Tame Impala."}, {"post_id": 44082, "ts": "2026-08-09T16:36:46Z", "hours": 3.9775, "text": "I added the group chat section with search results in integration in search.html. Added the dedicated group chat ads section that queries matching groups. Feed discovery banner has some sponsored or featured group chats. Then I added the light and dark mode system with zero flash theme script. I embedded the synchronous script. I also added a dynamic navbar toggle so it will be more user-friendly and theme-aware UI that inverts the colors of non-visible UI depending on the theme."}, {"post_id": 43709, "ts": "2026-08-09T03:49:02Z", "hours": 2.4692, "text": "I’ve implemented a lot of cybersecurity measures, so SQL injection or mitigations won’t happen. I fixed the SQL search. Following and followers list .html didn’t work before, now it works flawlessly. I changed servers because the server I used was very slow. I am using Nest of Hacklab currently. Yeah, that’s all the changes for today, but it turned out pretty neat. Check out the video."}, {"post_id": 42907, "ts": "2026-08-07T21:14:20Z", "hours": 0.4639, "text": "I officially think the first version of my site is ready to be shipped. I fixed some last minute bugs. I added AJAX so that the user doesn’t have to always refresh the page to see their likes.For further informations visit the github repo. Alo I hosted it on nest so that the site would be faster. I also spent 4-5 Hours reading flask and jinja and json documentation to debug and apply cybersecurity measures. Youtube preview: https://www.youtube.com/watch?v=QUGb-TlbM0Q"}, {"post_id": 42764, "ts": "2026-08-07T17:16:02Z", "hours": 3.0769, "text": "Big coding session. I migrated the site to the Hacklab Nest because it gives me more potential and a larger and faster server. It will have many benefits. I finished the basic idea I had in mind for this site. Basically, it includes: A feed An event section A notification section A profile section, along with followers and following sections An affiliate links section in the profile page Posts that show up both in the feed and the logged-out section A search button to search for users and posts that might interest you A filter feature to search posts by category A new post button A log out button A login button A register button with registration verification provided by resend"}, {"post_id": 42275, "ts": "2026-08-06T22:07:18Z", "hours": 2.0411, "text": "I’m clocking off for the day. I think I finished the biggest part of the project. I improved my site’s cyber security from brute force SQL injections, remote post, delete, and edit. I added: a search page an event page a post page a feed page a profile page followers and following list a follow button a like button a comment to reply button where you basically post something replying to something else However I doubt the efficiency of this project and if it’s going to carry out as I want it. I really hope it does. Ideally I host it online with a custom domain. I have the eligibility to take one for free because I’m in the GitHub student pack. I don’t know if it’s really worth it. Take a look at my project and you tell me. I also added a profile picture. please comment your opinion: should I make it public or what? https://stemnet-gr.onrender.com/register"}, {"post_id": 42080, "ts": "2026-08-06T17:17:40Z", "hours": 2.225, "text": "I have made the web app applicable to a mobile app too so if you join from mobile, everything will be in a normal view and it will not be deformed. I worked on the profile. The followers and following are applicable, clickable, and you can see who you are following or who your followers are. I added links to GitHub and LinkedIn, which have their own personalized icons. All the rest have just a bug icon, a reference to all the bugs that have deterred many fellow coders. Next, I’m planning to create the full post and events mechanism because, on this site, you can add posts or events. Additionally, I will implement notifications, which is another functionality. After that, I will work on the verification of each user with an automated email and upload the first working STEMnet to GitHub, although I have a lot to work on."}, {"post_id": 41893, "ts": "2026-08-06T12:09:12Z", "hours": 3.3692, "text": "Before you see the progress I’ve made, I want you to know this project was made by me as the final project of my CS50 course. Not just to get over the course but to solve an actual problem you see in Greece we have very limited access to clubs and robotics in general. Imagine there is only one shop in the whole state that you can buy electronic components from. I managed to make an SQL database with all the users’ posts, likes, etc., information, a login page, a new post page, a profile page, and affiliate links for networking between students. I’m still working on cyber security. However we are clear of SQL injections so that’s good. The CSS is rather simple but working and I think I will keep it. I might add some shadows just to make it feel more interactive. The buttons are already interactive so that’s good."}]...
|
Title: STEMNet.gr by @rosandrox | Stardance
Devlo Title: STEMNet.gr by @rosandrox | Stardance
Devlogs:
Before you see the progress I’ve made, I want you to know this project was made by me as the final project of my CS50 course. Not just to get over the course but to solve an actual problem you see in Greece we have very limited access to clubs and robotics in general. Imagine there is only one shop in the whole state that you can buy electronic components from. I managed to make an SQL database with all the users’ posts, likes, etc., information, a login page, a new post page, a profile page, and affiliate links for networking between students. I’m still working on cyber security. However we are clear of SQL injections so that’s good. The CSS is rather simple but working and I think I will keep it. I might add some shadows just to make it feel more interactive. The buttons are already interactive so that’s good.
I have made the web app applicable to a mobile app too so if you join from mobile, everything will be in a normal view and it will not be deformed. I worked on the profile. The followers and following are applicable, clickable, and you can see who you are following or who your followers are. I added links to GitHub and LinkedIn, which have their own personalized icons. All the rest have just a bug icon, a reference to all the bugs that have deterred many fellow coders. Next, I’m planning to create the full post and events mechanism because, on this site, you can add posts or events. Additionally, I will implement notifications, which is another functionality. After that, I will work on the verification of each user with an automated email and upload the first working STEMnet to GitHub, although I have a lot to work on.
I’m clocking off for the day. I think I finished the biggest part of the project. I improved my site’s cyber security from brute force SQL injections, remote post, delete, and edit. I added: a search page an event page a post page a feed page a profile page followers and following list a follow button a like button a comment to reply button where you basically post something replying to something else However I doubt the efficiency of this project and if it’s going to carry out as I want it. I really hope it does. Ideally I host it online with a custom domain. I have the eligibility to take one for free because I’m in the GitHub student pack. I don’t know if it’s really worth it. Take a look at my project and you tell me. I also added a profile picture. please comment your opinion: should I make it public or what? https://stemnet-gr.onrender.com/register
Big coding session. I migrated the site to the Hacklab Nest because it gives me more potential and a larger and faster server. It will have many benefits. I finished the basic idea I had in mind for this site. Basically, it includes: A feed An event section A notification section A profile section, along with followers and following sections An affiliate links section in the profile page Posts that show up both in the feed and the logged-out section A search button to search for users and posts that might interest you A filter feature to search posts by category A new post button A log out button A login button A register button with registration verification provided by resend
I officially think the first version of my site is ready to be shipped. I fixed some last minute bugs. I added AJAX so that the user doesn’t have to always refresh the page to see their likes.For further informations visit the github repo. Alo I hosted it on nest so that the site would be faster. I also spent 4-5 Hours reading flask and jinja and json documentation to debug and apply cybersecurity measures. Youtube preview: https://www.youtube.com/watch?v=QUGb-TlbM0Q
I’ve implemented a lot of cybersecurity measures, so SQL injection or mitigations won’t happen. I fixed the SQL search. Following and followers list .html didn’t work before, now it works flawlessly. I changed servers because the server I used was very slow. I am using Nest of Hacklab currently. Yeah, that’s all the changes for today, but it turned out pretty neat. Check out the video.
I added the group chat section with search results in integration in search.html. Added the dedicated group chat ads section that queries matching groups. Feed discovery banner has some sponsored or featured group chats. Then I added the light and dark mode system with zero flash theme script. I embedded the synchronous script. I also added a dynamic navbar toggle so it will be more user-friendly and theme-aware UI that inverts the colors of non-visible UI depending on the theme.
Okay, so I did the last cleanup, so my project is ready for shipping. In this session, I removed the feed button because it was unnecessary. The stemnet.gr logo takes you to the feed. I restricted the navigation feature icons only for the logged-in users. I forced the login prompt button to retain a clean white text background and properly structured the mobile and desktop navbar. I added hero card styling. I also added an extremely beneficial part of the site with all the extra academics a student can take. There I will upload different links and resources for Greek students to study STEM outside of the school curriculum. I think that’s a very good idea and very nice I created and thought of. And while testing the final product, I was headbanging to “So Lucky” by Twice and “Loser” by Tame Impala.
Just run last tests added more stem material!!!! With these devlog I want to gain your atention to spread the word to people you think will find it useful as it is primarly for greek students but the important part is that it is for students that do not have stem guidance and don’t know where to start from. With these project students not only gain guidance and benefit from the community but can contribute back into it (by posting about an upcoming event they heard about) creating a self sustaining alumni driven platform.Thank you for your attention!!! Enjoy my project!! Make sure to checkout the vid (old version) see progress!!! https://youtu.be/QUGb-TlbM0Q
I cleaned up some things I added a login limit to avoid bruteforce and a custom html page for when the user exceeds the limit. I wrote the README.md from scratch cause I had used AI to make the process quicker. I added comments so anyone who might wants to do a PR isn’t deterred by the ammount of confusing jargon.Fixed some css issues and added more to the STEM EXTRA page. I also added a captcha v3 verificator to avoid having bots raid my platform…. PLEASE READ PREVIOUS DEVLOGS TO UNDERSTAND THE MISSSION
Guys when reviewing my project please make an account if you dont want to share your real info atleast use a fake email generator and login from the inbox cause rly all the dedication i ve put into this project is in that page after logging in.
So one of the MANY reviewers sugested I build the application / website in react and so I have started doing that! I also drew stemnet logo! I ll cover that in the next devlog cause my lapse is still open IN CASE I wanna change it! However turns out react framework is relativly easy! But bcs I am kinda slow it took me 1 week of studying to start building! I redisigned the css to cover some of my needs and made the register login, index and custom error pages! I also found it easier to integrate my rate limit in a simple warning on the login screen! I am working on a seperate branch for better version control (I AM SO SMART IKR), first time actually using anything else than add push pull remote and satus commands for git ( I AM SO PROUD). Abt the actual project: The react framework is wayyyyyyyyyyyyyyyyyyy faster and leaves room for me to do silly things! I addaptes some things like integrating reply in posts directly (FREEDOM OF REACT) that couldn’t be implemented in html Imma do the rest of the app now I also fixed the images so that their shown in their proper aspect as I was suggested I dont also dont have much to document on as much of the work I did in python css and react was baxically boilerplate code found in documentation!
💀💀I AM EXHAUSTED I SEE ERRORS EVERYWHERE! However on the bright side 95% of the website is done for the react version and I am commiting my REACT V1 today!So, let’s see what changed in the React version. So, I added a logout icon that is created on spot as most icons because I removed mine but kept a few to make the site simpler and more easy to load, though I kept my like buttons and my reply buttons. I removed the image to be shown from the actual profile page so that more content fits into less space. The events are pretty much the same only that I added a footer box so that the user understands where the description starts and where the specifications end. I replaced the gem with a gear and I named the page StemNet Extras Education because it sounded more like the actual thing. The group is functioning every function of the group so nothing changed there. Notifications have a bit different way of functioning but it is the same logic. Pretty much everything is the same just in React with a bit better UI and UX.The basic reason why I didn’t do more devlogs and more analytical work is because the hackathon was down so I couldn’t log anything. And when hackathon came back up around 3 hours of work I had already done, I encountered ton of bugs. That’s why I’m exhausted right now. In fact, this is an edited devlog. In my normal devlog I didn’t upload anything because I was exhausted and wanted to take a break. The thread view or the post detail post works the same. I added a cute profile picture for anyone who hasn’t got one with their initial. Light mode and dark mode are better now. Before they were a bit choppy and in some places they didn’t work. New post is very organized. And most of the text is changing with force white and force black because for some reason all the CSS I wrote didn’t make sense to me. So I just added a force thing so I could label the things I want to turn what I want them to turn to.
Ladies and Gents there was not in fact a 5% left… More like 50% … Soooooo: I implemented all the event functions and group functions to work as intended. Also, I made the post detail and the event detail. I made the create group, create post, and everything.I included every function of the previous version that was in HTML, so academic profiles for the registering, multimedia code sharing and links, events and groups featuring dedicated tracking for STEM-related events. Social interactions, the platform includes a standard follower-following network. Security and technical architecture, I built using Python Flask, so I didn’t need to change anything security-wise, so I just kept the old version that using SQLite. It then translated to PostgreSQL alongside Supabase for the cloud file storage, and I have added all the login rate limits so that there is no login brute force.This was my first time coding in react so I learned two distinct ways + css to code a frontend and 1 way to do the backend!
SO the UI and most of backend is the same (IT WAS A PREEEEEETY BORING SESSION. Moreover in this session I just: (THE APP HAS LIGHT MODE TO, I JUST PREFER DARK) Cleaned up the CSS and .jsx files Polished and Tested Everything was fine Made the webapp’s logo Hated myself cuz I didn’t know how to deploy my site deployed my sit with hackclub nest server and nginx and gunicorn Playtested w/ some friends and gathered opinions What I Have yet to do: make polished/final UI deploy a mobile app version too Start advertising Contacting people interested in hosting my app Propose my idea to the greek government(I have veryyyyyyyyyyyy High Hopes I know) Follow me cuz this is just the start of this WEBAPP! PLEEEEEEEEEEAAAAAASE STAR MY REPO!
Small note: I made a deplyable app but because it is compiled with capacitor it needed a domain and I entered my websites domain so either the app will work fully and the web server ,ust close either only the frontent works!Actual mobile FOOTAGE(My pfp is so JOLLY):
So, for the first half of this session, I was trying to debug the app and website deployment because the app deployment overrode the website deployment. And at some point, nothing worked. I then went ahead and play-tested my site with some friends, and we found some key issues that I have to fix, such as the fact that reply buttons are not functional in all pages, the register page has some unclear parts, while the notifications page doesn’t work at all. While testing, I found that a friend of mine couldn’t register, and so I tried to register too, but it wouldn’t let me because of the reCAPTCHA. So, that’s how I decided to remove reCAPTCHA v3 completely and apply reCAPTCHA v2, which I haven’t done yet. I also then went ahead and made some issues to my GitHub repository so I can keep track of what I need to change. I’m thinking of merging the two branches, although I’m not sure yet because I would like to have my main branch. I might rename my main branch and make default the react-version branch. I also made a mobile branch, but that’s only on the local git. And that’s all I did for this session. I’m thinking of expanding more on this idea and advertising it, and then also shipping it, but that’s for later on. I must first fix every mistake and then do some testing with relatives, friends, and if you want to, you can participate. And then I’m going to have to have them fill out a form so that I find out which are the weakest points of my UI and what functionalities I could add.Also app works now!!!
BEFORE I START TAKE 5 mins of your time pls to test my webapp and suggest additions: SUGEST ON GITHUB https://github.com/prodevmod/STEMNet.gr/issues?q=is%3Aissu MY SITE: https://www.stemnet.app I Just finished the Issues I had made from playtestsing with my bros! These are the functional changes made: REPLY buttons worked flawelessly at every page of the site but it took me 2 hrs cause of how many different pathways were inside my webapp and I had to sort them out but guess what it finally took me 3 hrs because there was a PROBLEM with my code CAUSE I HAD to change the api/posts/post_id to api/post_id/posts but had forgotten to change the route and the method from POST to GET and lost 1 f-ing hour of my time searching for a single line of code. REGISTER page was easy I just had to remove some labels to make the UI mure user friendly, like honestly most changes were frontend based in this part so with my BIG brain and a litle of react documentation it was basically a peice of cake THE NOTIFICATIONS PART WAS THE MOST TIME CONSUMING BECAUSE IT TOOK ME 1 hour researching and 2 hours actually typing cause what was written (mostly frontend) was wrong and I had to create a new table for notifications. Ig I just didn’t know how to implement the notifications. Last part was RECAPTCHA V2 for more stable results it was very easy to do (took me 20 mins tops) Next: TESTING with MY bros Making notification icon full when user has unread notifications IMPLEMENT UR IDEAS
IT TOOK ME 1 HOUR BUT IT WAS WORH IT: LADIES AND GENTS THE NOTIFICATION ICON CHANGES TO INDICATE YOU HAVE NOTIFICATIONS I’ ll describe this session cuz it was so funny frfr: So like I got started wondering why the notification button in navbar doesnt update I then proceeded to delete the svg s I had and replace them with pc generated ones Then I proceeded to change the structure of both my app.py and navbar.jsx (visible in my commits) But I suddenly remembered I can debug with console logs which I have kept cuz y not To cut it short after debugging I saw in the console log a messoge that said and I quote index-D9jqm-wX.js:11 Navbar hasUnreadNotifications: undefined undefined and that was when I realised I had nowhere in the .jsx included the hasUnreadNotification boolean so there was no way of the client knowing what I was yapping abt in Navbar.jsx basically I was saying check if hasUnreadNotification is True I then used the find thingy of VSCode to add the argument to all the react pages Up Next: Have it tested by people give feedback. Activate global acces via Clouflare Automate deletion of old events with cron
SOOOOOOOO: Today I tried to make up for yesterday (I only did like 2 hrs) and here is what I did: So, I updated the navbar to have a settings page, which I was inspired to make because when trying to find an icon that represents stem extras and all the stem together and not just one kind of stem, a gear came to mind. But then I thought I should also make settings, so I put that aside for the time. And now I made the stem extras icon a more chemistry-looking bottle, and the gear I kept for the settings as I said I would. Everything is pretty much the same, except I made an edit and delete event buttons that were much needed because after all the test events I made, it was getting kind of sloppy and unprofessional because it was filled with gibberish. Same goes for the groups, so I did the exact same thing. Also, I made a table for the users to delete a post that many people have replied to by adding a soft delete function that basically checks if the post is deletable, and if it is not, it changes it to this post is no longer available, this post has been deleted. So, I then proceeded to make the settings page, which was very difficult and still I haven’t got over yet. So, I’ve made the appearance and delete account. I made the delete account button to work. It was kind of difficult so that I could secure it that there is no misuse of this button and hackers might mass delete accounts by hacking into them. I also made a report bug, change email, and change password tabs that although they technically or three work, they need some improvement, which I will make in the next devlog. I also made the appearance into something more modern and nice, which is like every other setting, an accordion dropdown that you press to switch to what mode you want. I’m trying to currently recreate the icon near the mode text so it’s a bit more fun, and I will do it in the next devlog. Logout works just fine. I’ve made custom emails and verification tokens for every single action. Also, They still need some work to be done. The verification tokens have made because they currently don’t redirect you back to a login page or something, so they feel empty and don’t work exactly as they are built to work as. Everything else is pretty much the same. I updated the content type so users can upload much larger files. For the next dev log, I’m thinking to fix the change password, change email, and report a bug functions. Also, make it able to upload GIFs for content types because currently, although possible, it is not working. I don’t know why. I have to troubleshoot it. And to fix those verification tokens and redirection.
I did all of the following: I’m thinking to fix the change password, change email, and report a bug functions. Also, make it able to upload GIFs for content types because currently, although possible, it is not working. I don’t know why. I have to troubleshoot it. And to fix those verification tokens and redirection. Problems I ENCOUNTERED: I tried and tried times again to fix my redirecting script for half an hour antil my stupid a$$ realised the problem was that resend was injecting a tracker in the website to track if the email was clicked and I removed it resulting on verification links working. After searching up my content error on stack overflow I found out it was neither a supabase or python storing error but it was in fact a nginx framework error that needed one line to be solved:( UP NEXT I am currently running Pentests and rawlers to optimise my webapps cybersecurity and when done I ll prevent any vulenerabilities (I got dyslexia). Right after that I ll try to get a userbase by using lapse to record me addvertising my site!
Today I worked on the cybersecurity aspect of my site btw :P ( I meant to write : but I did a typo P). I honestly was chilling doing nginx configuration and I also secured the recaptcha key. I also took heed of one of my comments and added an api for malicious domains plus I hardcoded some others. I also moved the sanatisation to the forms themselves (post, create group)
Hello!!! Sooooo I Did a few things like: I added pagination for if and when I get a larger userbase the app/webapp won’t crash (Mostly for mobile users) by loading all posts at once. I added a few things in the backend to make expanding this app/webapp easier. I also added RSVP buttons for “Going” and “Interested” in EventDetails and Events pages to make them more interesting. Implemented handleRsvp function to manage user RSVP status and update counts. Adjusted comment reply button to display comment count. Updated requirements.txt to include Pillow and redis. Added a second cron job to cleanup old read notifications NEXT UP: Fixing the UI Add right image sizes in every page w/ content Fix the reversed colours thing
I FINISHED ITTTT! So, I basically cleaned up the CSS as I told in the previous devlog. I also added category tags in every post, which was a feature of the HTML version but I had forgot to add it. Then, I also added a going and interesting interactions in events so that people may express where they would like to go from all the events. I also added the refactored edit and delete functions for events and groups, they weren’t working. I fixed the notifications cleanup which was previously not working, it was a cron job I added in the previous devlog. Also, in the profile page, I have now separated the person’s content into posts and replies, that way the UX is far better. Also, I made a crop image component so that the users can customize which part of the image they want in their PFP, and that is also good because now I don’t have to do the fitting anymore because once they have selected it, only the selected part of the icon is saved, so it becomes a lot more gestible for me. I am also adding content so that stemnet has lots of stuff, and further on I will be adding one or two more details and then shipping it. I really don’t think there is anything else to do, I really put a lot of hours into this, and yeah.
GUYS I DID SOME FINAL TOUCHUPS! I AM READY TO SHIP! THE TOUCHUPS HAD TO DO WITH THE GROUPPOSTS CONTENT RENDERING!💀💀💀💀
Ships:
See video HERE(OLD VERSION OF SITE): https://youtu.be/QUGb-TlbM0Q . I built STEMNet.gr, a student-driven social hub and resource directory designed specifically for Greek students. It aims to bridge the gap for students who lack local access to STEM clubs, robotics, and academic mentorship. It’s a space to discover curated educational resources, post and find events, and build a community where students can learn from and support each other. Moving from a CS50 project to a production-ready application was a steep learning curve. I spent countless hours diving into Flask, Jinja, and database documentation to ensure the site is secure against SQL injections and unauthorized access. Balancing feature development—like AJAX for real-time interaction, mobile responsiveness, and a custom dark/light mode theme system—while ensuring the site remains fast and secure, was the biggest challenge. I am most proud of creating a self-sustaining, alumni-driven ecosystem. This isn’t just a directory; it’s a platform where students can give back by contributing events they’ve discovered, effectively filling the guidance gap for those starting their STEM journey. I’ve successfully migrated it to a faster, more robust server infrastructure, implemented a secure registration flow, and built a fully functional social graph (followers/following).
STEMNet GREECE CAN YOU PLS STAR MY REPO AND GIMME STARS / I POORED A LOT OF EFFORT INTO IT Created by: Rosario Alexandros Morabito (prodevmod) . I built this as a CS50 final project that turned into a real world mission. PLS READ STEMNet was born out of a real struggle in Greece. Here, proper hands-on STEM education and local school clubs are hard to find, and getting your hands on basic electronics like an Arduino is a challenge you either rely on a single physical store in the whole country or buy online. But since parents often don’t trust internet shopping, young innovators get stuck. I wanted to fix this by building a cozy, peer to peer home where young Greek makers of the same age and passion can finally connect, share project feedback, and feel like they aren’t alone. Like I often times feel. Y develop it further The overwhelming amount of positive feedback I got from my previous shipping of the project and my friends who I cowardly showed it to because I was a bit scared they were going to make fun of me pushed me into expanding this with a React framework for the V1, but trust me, even more is coming. What’s Inside the Platform? The STEM Extra Vault: A handy resource library packed with everything students need to kickstart their independent journey into electronics and coding, making up for what traditional schools miss. Community Groups ( can also be used as School Clubs): Forum style discussion spaces where everyone can chat about their favorite topics. Students can even spin up their own groups to act as virtual versions of real world school clubs. Events & Future Webinars: A dedicated space tracking upcoming competitions, team meetups, and future online STEM teaching sessions that I plan to host once the user base grows. Self-Cleaning Notifications: A smart alert system that automatically wipes read notifications older than 30 days (with a cron job for FREE), keeping the interface clean so users never get overwhelmed by clutter. Built-in Safety & Sigma Profiles: BTS, the site keeps things secure with robust account verification thru session cookies and recapca, safe link-checking to keep malicious websites away thru nginx , customized user profiles with social and GitHub links, and easy account settings. I would realy want to see this project skyrocket! If you have any recomandations about how I can scale it or grow my userbase pls tell me!!!...
|
1792820991.2575514
|
1792907391.2575514
|
|
44617
|
GeorgeOS by @GeorgeSun | Stardance
|
GeorgeSun
|
2
|
6.0
|
26
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-25T15:47:01Z", "hours": 3.0, "multiplier": 6.72, "payout": 26, "blessing": "neutral", "text": "I made GeorgeOS, an operating system that comes with numerous app which focuses on customizability. Some of the features include a lock screen, desktop, window manager, multi-desktop manager, widgets, and sound effects. The apps include a calculator, photos, paint, weather, camera, mail, Github, Holy Moly, LinkedIn, Youtube, Instagram, System Breach, profile creator, and customization. The most challenging part of this project was the camera app as it had the most sophisticated features such as taking pictures and videos and being able to download them from the web browser. I am most proud of the themes as all of the themes look very nice. You can explore my project right now by clicking the try project button!", "repo": "https://github.com/Geofoods/GeorgeOS", "demo": "https://geofoods.github.io/GeorgeOS/"}, {"ship_num": 2, "ts": "2026-08-12T15:48:48Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made GeorgeOS, an operating system that comes with numerous app which focuses on customizability. Some of the features include a lock screen, desktop, window manager, multi-desktop manager, and sound effects. The apps include a calculator, photos, paint, weather, camera, mail, Github, Holy Moly, LinkedIn, Youtube, Instagram, System Breach, and customization. The most challenging part of this project was the camera app as it had the most sophisticated features such as taking pictures and videos and being able to download them from the web browser. I am most proud of the themes as all of the themes look very nice. You can explore my project right now by clicking the try project button!", "repo": "https://github.com/Geofoods/GeorgeOS", "demo": "https://geofoods.github.io/GeorgeOS/"}]...
|
[{"post_id": 54530, "ts": "202 [{"post_id": 54530, "ts": "2026-08-25T15:38:33Z", "hours": 3.3408, "text": "I added multiple more features for Web OS 2 such as Widgets, light/dark mode, and profiles so that each user can work independently!"}, {"post_id": 45823, "ts": "2026-08-12T15:30:45Z", "hours": 0.3028, "text": "I have finished my personal OS with the ability to drag apps on the taskbar and drag them onto the desktop as well with it also working by clicking the icons on the taskbar"}, {"post_id": 45803, "ts": "2026-08-12T14:51:28Z", "hours": 0.7181, "text": "I added more customization options such as being able to change the icon and text size and also adding an animated space background that includes moving starts and a fading background"}, {"post_id": 44711, "ts": "2026-08-10T17:29:59Z", "hours": 2.2147, "text": "This is my first Devlog of my personal OS GeorgeOS! It has apps which link to all of my socials as well as some useful apps such as calculator, weather, and camera. The mail app can be used to send emails directly through me through an automated system. The UI is also heavily inspired by MacOS which is my favorite UI design with the liquid glass"}]...
|
Title: GeorgeOS by @GeorgeSun | Stardance
Devlogs Title: GeorgeOS by @GeorgeSun | Stardance
Devlogs:
This is my first Devlog of my personal OS GeorgeOS! It has apps which link to all of my socials as well as some useful apps such as calculator, weather, and camera. The mail app can be used to send emails directly through me through an automated system. The UI is also heavily inspired by MacOS which is my favorite UI design with the liquid glass
I added more customization options such as being able to change the icon and text size and also adding an animated space background that includes moving starts and a fading background
I have finished my personal OS with the ability to drag apps on the taskbar and drag them onto the desktop as well with it also working by clicking the icons on the taskbar
I added multiple more features for Web OS 2 such as Widgets, light/dark mode, and profiles so that each user can work independently!
Ships:
I made GeorgeOS, an operating system that comes with numerous app which focuses on customizability. Some of the features include a lock screen, desktop, window manager, multi-desktop manager, and sound effects. The apps include a calculator, photos, paint, weather, camera, mail, Github, Holy Moly, LinkedIn, Youtube, Instagram, System Breach, and customization. The most challenging part of this project was the camera app as it had the most sophisticated features such as taking pictures and videos and being able to download them from the web browser. I am most proud of the themes as all of the themes look very nice. You can explore my project right now by clicking the try project button!
I made GeorgeOS, an operating system that comes with numerous app which focuses on customizability. Some of the features include a lock screen, desktop, window manager, multi-desktop manager, widgets, and sound effects. The apps include a calculator, photos, paint, weather, camera, mail, Github, Holy Moly, LinkedIn, Youtube, Instagram, System Breach, profile creator, and customization. The most challenging part of this project was the camera app as it had the most sophisticated features such as taking pictures and videos and being able to download them from the web browser. I am most proud of the themes as all of the themes look very nice. You can explore my project right now by clicking the try project button!...
|
1792824507.077562
|
1792910907.077562
|
|
44682
|
andOS by @clumsy261 | Stardance
|
clumsy261
|
2
|
22.47
|
30
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-27T21:30:25Z", "hours": 13.0, "multiplier": 2.39, "payout": 30, "blessing": "neutral", "text": "Here is the newest version of my webOS! https://clumsy261.github.io/andOS/ Among the new features from the first part there are: -a new notes app -a new code editor app (for custom user scripts) -an actual app store for user made apps -resizeable windows (made easy by just using resizeElement(card) in any custom script) -ping pong app (vibe coded but made to be a proof of concept) -secret easter egg add (check out what the andOS name actually means) This was a really nice experience, now I really understand most html, css and js concepts (not many courses offer that). Hopefully this will get some attention and users will start building actual apps. :D (come to think of it it’s just a fancy server for testing web code)", "repo": "https://github.com/clumsy261/andOS", "demo": "https://clumsy261.github.io/andOS/"}, {"ship_num": 2, "ts": "2026-08-12T11:39:40Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a custom webOS using the guide offered by stardance. It was really simple, thinking back on it. I added a template for future apps and made it more efficient with file sorting. I’m planning on adding an actual window creator app, where a user can write any code they want to compile into the OS as an actual app.", "repo": "https://github.com/clumsy261/andOS", "demo": "https://clumsy261.github.io/andOS/"}]...
|
[{"post_id": 57544, "ts": "202 [{"post_id": 57544, "ts": "2026-08-29T18:35:49Z", "hours": 0.4653, "text": "I’ve looked at some post-use apps made by some users and fixed some bugs: if the icon is invalid it’s replaced by a default “gears” app doesn’t allow blank titles anymore - they get renamed “App ” if left blank Now I’m debating wether or not to manually remove junk apps - test blobs made by some users just for testing the platform"}, {"post_id": 56201, "ts": "2026-08-27T21:07:27Z", "hours": 1.3964, "text": "I just wrote a decent README so, It’s finished!!! :D (for the 17th time) The app store isn’t very rich right now, but I plan on adding more apps if users request any"}, {"post_id": 54728, "ts": "2026-08-25T20:11:46Z", "hours": 2.5144, "text": "First app is up! :D Made a ping-pong game (mostly ai slop) … BUT I KNOW how it works, had to make the game pause when hidden and resume when the window gets clicked."}, {"post_id": 53813, "ts": "2026-08-24T14:48:35Z", "hours": 3.6983, "text": "The hard part is done. AndOS now has a code editor, “compiler” and publisher ~ and all bugs that I knew of are gone :D"}, {"post_id": 53095, "ts": "2026-08-23T15:06:54Z", "hours": 0.8214, "text": "He he hell yeah It’s done. A working demo for the submitting apps is done, now any user can actually create their own app inside my webos (for real this time) I’ll add some user-friendly documentation soon on the prebuilt functions and more."}, {"post_id": 53051, "ts": "2026-08-23T13:22:57Z", "hours": 1.2092, "text": "I have succesfully made a custom script for custom apps. Now an entire window can be opened on my page with an object like this. I only need to add two things, one local interface to actually submit the code from a user, and then a public app store."}, {"post_id": 49774, "ts": "2026-08-18T18:14:30Z", "hours": 1.2, "text": "Today was a good day, I finished the notes app earlier (not sure it was today) aaaand implemented a new feature I wanted for some time. Now every day my os has a new background, the nasa apod background! I also added an info window that includes the name and info about the image. I got the idea from windows back when I had to use it without a license and this was the default."}, {"post_id": 48882, "ts": "2026-08-17T13:30:52Z", "hours": 1.0886, "text": "Completed the notes app! New feature: Apps can now be resized properly, since the resize function returns an event-target that can be used in the custom app script."}, {"post_id": 47371, "ts": "2026-08-15T08:40:00Z", "hours": 0.7733, "text": "I’ve implemented two new functions!! The resizeElement initializez a div in the bottom right corner of the window. It acts as a handle to resize the window. It has no practical use I can think of, aside from user experience. And then there is the overlay function, I forgot to put this in from the original guide but now this allows each app to be put in front of the others when interacted with."}, {"post_id": 45708, "ts": "2026-08-12T11:35:01Z", "hours": 1.7156, "text": "It’s officially done! There are still features I’d like to add later on, but for now this is a functional webOS. You can check out the latest demo right here: https://clumsy261.github.io/andOS/"}, {"post_id": 44168, "ts": "2026-08-09T18:59:33Z", "hours": 2.3583, "text": "Finally have a good demo for the weather app!!"}, {"post_id": 43950, "ts": "2026-08-09T12:23:04Z", "hours": 0.6453, "text": "Officially made a user-friendly (kinda) platform to add apps, I will now go on to some actual apps and I’m done"}, {"post_id": 43857, "ts": "2026-08-09T09:23:12Z", "hours": 1.0436, "text": "Finally made the apps fully modular, any js script can be made by anyone, I have to make a platform now to upload such scripts"}, {"post_id": 43459, "ts": "2026-08-08T18:38:44Z", "hours": 1.5206, "text": "Soooo I’m like halfway thru the guide (the interesting part of it), finally got everything working, I just want to make it more modular (I’ll explain later)"}, {"post_id": 42890, "ts": "2026-08-07T20:58:56Z", "hours": 1.7061, "text": "Finally made the moving tab work, I have a great plan for this. I’m thinking of changing the background daily, and to put a “find out more about this image tab”, that’s basically the apod api"}]...
|
Title: andOS by @clumsy261 | Stardance
Devlogs:
F Title: andOS by @clumsy261 | Stardance
Devlogs:
Finally made the moving tab work, I have a great plan for this. I’m thinking of changing the background daily, and to put a “find out more about this image tab”, that’s basically the apod api
Soooo I’m like halfway thru the guide (the interesting part of it), finally got everything working, I just want to make it more modular (I’ll explain later)
Finally made the apps fully modular, any js script can be made by anyone, I have to make a platform now to upload such scripts
Officially made a user-friendly (kinda) platform to add apps, I will now go on to some actual apps and I’m done
Finally have a good demo for the weather app!!
It’s officially done! There are still features I’d like to add later on, but for now this is a functional webOS. You can check out the latest demo right here: https://clumsy261.github.io/andOS/
I’ve implemented two new functions!! The resizeElement initializez a div in the bottom right corner of the window. It acts as a handle to resize the window. It has no practical use I can think of, aside from user experience. And then there is the overlay function, I forgot to put this in from the original guide but now this allows each app to be put in front of the others when interacted with.
Completed the notes app! New feature: Apps can now be resized properly, since the resize function returns an event-target that can be used in the custom app script.
Today was a good day, I finished the notes app earlier (not sure it was today) aaaand implemented a new feature I wanted for some time. Now every day my os has a new background, the nasa apod background! I also added an info window that includes the name and info about the image. I got the idea from windows back when I had to use it without a license and this was the default.
I have succesfully made a custom script for custom apps. Now an entire window can be opened on my page with an object like this. I only need to add two things, one local interface to actually submit the code from a user, and then a public app store.
He he hell yeah It’s done. A working demo for the submitting apps is done, now any user can actually create their own app inside my webos (for real this time) I’ll add some user-friendly documentation soon on the prebuilt functions and more.
The hard part is done. AndOS now has a code editor, “compiler” and publisher ~ and all bugs that I knew of are gone :D
First app is up! :D Made a ping-pong game (mostly ai slop) … BUT I KNOW how it works, had to make the game pause when hidden and resume when the window gets clicked.
I just wrote a decent README so, It’s finished!!! :D (for the 17th time) The app store isn’t very rich right now, but I plan on adding more apps if users request any
I’ve looked at some post-use apps made by some users and fixed some bugs: if the icon is invalid it’s replaced by a default “gears” app doesn’t allow blank titles anymore - they get renamed “App ” if left blank Now I’m debating wether or not to manually remove junk apps - test blobs made by some users just for testing the platform
Ships:
I made a custom webOS using the guide offered by stardance. It was really simple, thinking back on it. I added a template for future apps and made it more efficient with file sorting. I’m planning on adding an actual window creator app, where a user can write any code they want to compile into the OS as an actual app.
Here is the newest version of my webOS! https://clumsy261.github.io/andOS/ Among the new features from the first part there are: -a new notes app -a new code editor app (for custom user scripts) -an actual app store for user made apps -resizeable windows (made easy by just using resizeElement(card) in any custom script) -ping pong app (vibe coded but made to be a proof of concept) -secret easter egg add (check out what the andOS name actually means) This was a really nice experience, now I really understand most html, css and js concepts (not many courses offer that). Hopefully this will get some attention and users will start building actual apps. :D (come to think of it it’s just a fancy server for testing web code)...
|
1792824721.7291493
|
1792911121.7291493
|
|
44689
|
Inventory Management System by @Vedant_Daga | Star Inventory Management System by @Vedant_Daga | Stardance...
|
Vedant_Daga
|
2
|
10.0
|
115
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T04:02:26Z", "hours": 3.0, "multiplier": 8.87, "payout": 30, "blessing": "neutral", "text": "Inventory Management System an electronics parts inventory that tracks how many of each part you own, how many are in projects, and how many you can actually use. try it: https://inventory-system-manager.vercel.app sign up with any username and password. what it does projects hold parts. tear one down and say what happened to each: returned, soldered in, or broken. only the last two leave your inventory shopping list builds itself from what your builds asked for and couldn’t get every quantity change is logged. 10k and 10KΩ get caught as one resistor and merged fixed since last ship search matches every word, so “LCD display” works filter by tag, package and value without typing remove button sits inside the project table no more reloading to see new shopping list items shopping list exports to csv or text a real front page phone layout: buttons stack full width, tables scroll opt-in public roster test suite is back, 228 green how to test it sign up, parts > import, paste 10k resistor, 180, 10k, through-hole, passive new project, ask for more than you own, check the bench for the shortfall tear down, mark some soldered, submit, then reopen and watch it come back add 10K ohm and watch duplicates catch it", "repo": "https://github.com/DagaVedant/Inventory-Management-System", "demo": "https://inventory-system-manager.vercel.app/accounts/login/?next=/"}, {"ship_num": 2, "ts": "2026-08-24T15:08:02Z", "hours": 7.0, "multiplier": 12.82, "payout": 85, "blessing": "neutral", "text": "Inventory Management System its a electronics parts inventory that tracks how many of each part you own, how many are in projects, and how many you can actually use for a new project. try it: https://web-production-d6073.up.railway.app demo login: demo / stardancedemo what it is almost all of the other inventory tool assumes that once a part is used, it never comes back, which work for warehouses, not smaller projects start a project, it holds parts. tear it down, say what happened to each one: returned, soldered in, or broken only soldered and broken actually leave your inventory shopping list builds itself out of what your live builds asked for and couldn’t get every quantity change is logged with the balance it produced and the project that caused it 10k and 10KΩ are one resistor to me and two rows to a database. it catches those and merges them what was hard picking what to store. i store owned only, and compute held and available, so they can’t drift apart allocation used to refuse you if you were short. that meant a project could never be short, which meant the shopping list had nothing to build from. had to let it take what exists and record the rest making teardown undoable needed a whole extra field, because returned parts come from two different places and mixing them makes it unreversible fuzzy matching without being too fuzzy. 4.7k and 47k are different resistors so you can’t just strip punctuation tests found 4 bugs i thought were fine. 2 of them were failing silently what im proud of the ledger. every number on the site has a receipt, and there’s a command that recounts and tells you if it’s lying teardown being reversible. it was a one way door and that was scary to use how to test it log in as demo, go to bench open weather station , hit tear down, mark a few soldered and a few broken, submit watch owned drop, then hit reopen and watch it all come back bench again for the shopping list. 12 parts short across live builds click any part for its history table. every row says what changed and what it left behind parts > duplicates . 10k / 10KΩ and 470uF / 470 µF are sitting there as separate rows. merge one and watch the quantities add up or add a part called 10K ohm yourself and watch it get caught immediately", "repo": "https://github.com/DagaVedant/Inventory-Management-System", "demo": "https://inventory-system-manager.vercel.app/accounts/login/?next=/"}]...
|
[{"post_id": 64017, "ts": "202 [{"post_id": 64017, "ts": "2026-09-08T03:57:26Z", "hours": 1.7586, "text": "Devlog 4: Adding all the reviewer feedback went through every review from the last ship and fixed what was asked for. search : “LCD display” found nothing because the whole phrase had to match one field. now every word has to match somewhere. filters : tag, package and value dropdowns next to the search box, so you can cross-check values without typing. remove button : it sat outside the project table. it is inside the row now stale pages : you had to reload to see new shopping list items. that was the back button showing a cached page. fixed. shopping list export : download it as csv or plain text. front page : the root url used to bounce you to the login form. now it explains the idea and shows the bench. phones : below 600px the button rows stack full width, forms go one field per line, and wide tables scroll in their own box. roster : opt-in from settings. your bench goes on a public list with its part count, busiest tags and biggest stacks."}, {"post_id": 55213, "ts": "2026-08-26T19:30:38Z", "hours": 1.6142, "text": "Devlog 3 bug fixes getting all the ready to reship (reviewers pointed out a few things) not that many features will add tons more after feedback from this ship"}, {"post_id": 51947, "ts": "2026-08-21T22:01:35Z", "hours": 4.4806, "text": "ANYONE REVIEWING OR RATING, THE RAILWAY URL IS CLOSED AND I SWITCHED TO VERCEL. GO TO THE GITHUB OR THE PROJECT DETAILS Devlog 2 - Inventory Management System what changed the app tracks WHY a number moved now, not just what it is add stock, recount, teardown loss: all logged with a running balance a part’s page reads like a bank statement teardown can be undone (it was permanent before, on a 2 click button) shopping list that isnt tied to a project, for “im running low on 10ks” duplicate detection + merge. 10k, 10 K and 10kΩ are one resistor to a human and 3 rows to a database tags actually do smth now: click to filter, autocomplete, rename everywhere sortable columns, bench dashboard, paste-a-list import, rate limiting, backups bugs (the fun part save meeeeeeeee 🙏 ) making a part skipped the ledger completely. worked fine cuz the views covered it, which is how that survives until someone adds a 5th path deliveries read a stale number and left parts on the shopping list AFTER they arrived. silent, no error, nothing a literal backspace char got into a regex from shell escaping so it could never match. found it cuz 10kohms refused to fold into 10k named a flag --stdout and django remapped its own stdout kwarg onto it. backups looked fine and wrote to nowhere"}, {"post_id": 42237, "ts": "2026-08-06T21:06:01Z", "hours": 2.1522, "text": "Devlog 1 - Inventory Management System basically all of the sensors i own (A LOTTTTT) all live in one giant bin (ill send a pic of it in the next devlog trust). so recently, my dad fried me because i bought the same temperature sensor i bought like 3 weeks ago or smth (DHT22 for anyone intrested). basically what im building is a web app that acts like a inventory system for all my sensors. the thing that makes this diff from a spreadsheet or google docs is that this is SUPPOSED to be able to track ur parts are in use, soldered, broken, or available (not even close to there yet) the main reason i chose that type of system is because when i tried using a spreadsheet (ik, 1900s) it worked until i made more than 2 projects. with one project it works perfectly, but i have multiple projects at a time, each either on a perfboard or soldered down. and then some of them smoke, burn out, or even are faulty. the main thing about this app is that its going to be able to store what parts were used in ur project, and when u say u disassembled it, it will automatically move those parts back based on what you said — soldered, broken, reuseable . the empty app right now the app is literally empty. its just the Django admin page. i just spent some time getting everything linked like a new repo, railway app, postgres database, etc. i wanted to deploy everything rn rather than later cuz i dont want it to be a pain once i get to shipping this. it took like 2ish hours in total so not that bad, and basically none of it was using Django other than the admin page. the main problem i faced was ModuleNotFoundError: No module named '________' (shh i left it blank). i saved a new start command and a predeploy command so it works better. next four models, and figuring out the right formula to make sure that ur parts dont randomly start increasing — i tried creating a small POC algorithm and it went from having 2 DHT22’s to 5 DHT22’s after two fake projects."}]...
|
Title: Inventory Management System by @Vedant_Daga Title: Inventory Management System by @Vedant_Daga | Stardance
Devlogs:
Devlog 1 - Inventory Management System basically all of the sensors i own (A LOTTTTT) all live in one giant bin (ill send a pic of it in the next devlog trust). so recently, my dad fried me because i bought the same temperature sensor i bought like 3 weeks ago or smth (DHT22 for anyone intrested). basically what im building is a web app that acts like a inventory system for all my sensors. the thing that makes this diff from a spreadsheet or google docs is that this is SUPPOSED to be able to track ur parts are in use, soldered, broken, or available (not even close to there yet) the main reason i chose that type of system is because when i tried using a spreadsheet (ik, 1900s) it worked until i made more than 2 projects. with one project it works perfectly, but i have multiple projects at a time, each either on a perfboard or soldered down. and then some of them smoke, burn out, or even are faulty. the main thing about this app is that its going to be able to store what parts were used in ur project, and when u say u disassembled it, it will automatically move those parts back based on what you said — soldered, broken, reuseable . the empty app right now the app is literally empty. its just the Django admin page. i just spent some time getting everything linked like a new repo, railway app, postgres database, etc. i wanted to deploy everything rn rather than later cuz i dont want it to be a pain once i get to shipping this. it took like 2ish hours in total so not that bad, and basically none of it was using Django other than the admin page. the main problem i faced was ModuleNotFoundError: No module named '________' (shh i left it blank). i saved a new start command and a predeploy command so it works better. next four models, and figuring out the right formula to make sure that ur parts dont randomly start increasing — i tried creating a small POC algorithm and it went from having 2 DHT22’s to 5 DHT22’s after two fake projects.
ANYONE REVIEWING OR RATING, THE RAILWAY URL IS CLOSED AND I SWITCHED TO VERCEL. GO TO THE GITHUB OR THE PROJECT DETAILS Devlog 2 - Inventory Management System what changed the app tracks WHY a number moved now, not just what it is add stock, recount, teardown loss: all logged with a running balance a part’s page reads like a bank statement teardown can be undone (it was permanent before, on a 2 click button) shopping list that isnt tied to a project, for “im running low on 10ks” duplicate detection + merge. 10k, 10 K and 10kΩ are one resistor to a human and 3 rows to a database tags actually do smth now: click to filter, autocomplete, rename everywhere sortable columns, bench dashboard, paste-a-list import, rate limiting, backups bugs (the fun part save meeeeeeeee 🙏 ) making a part skipped the ledger completely. worked fine cuz the views covered it, which is how that survives until someone adds a 5th path deliveries read a stale number and left parts on the shopping list AFTER they arrived. silent, no error, nothing a literal backspace char got into a regex from shell escaping so it could never match. found it cuz 10kohms refused to fold into 10k named a flag --stdout and django remapped its own stdout kwarg onto it. backups looked fine and wrote to nowhere
Devlog 3 bug fixes getting all the ready to reship (reviewers pointed out a few things) not that many features will add tons more after feedback from this ship
Devlog 4: Adding all the reviewer feedback went through every review from the last ship and fixed what was asked for. search : “LCD display” found nothing because the whole phrase had to match one field. now every word has to match somewhere. filters : tag, package and value dropdowns next to the search box, so you can cross-check values without typing. remove button : it sat outside the project table. it is inside the row now stale pages : you had to reload to see new shopping list items. that was the back button showing a cached page. fixed. shopping list export : download it as csv or plain text. front page : the root url used to bounce you to the login form. now it explains the idea and shows the bench. phones : below 600px the button rows stack full width, forms go one field per line, and wide tables scroll in their own box. roster : opt-in from settings. your bench goes on a public list with its part count, busiest tags and biggest stacks.
Ships:
Inventory Management System its a electronics parts inventory that tracks how many of each part you own, how many are in projects, and how many you can actually use for a new project. try it: https://web-production-d6073.up.railway.app demo login: demo / stardancedemo what it is almost all of the other inventory tool assumes that once a part is used, it never comes back, which work for warehouses, not smaller projects start a project, it holds parts. tear it down, say what happened to each one: returned, soldered in, or broken only soldered and broken actually leave your inventory shopping list builds itself out of what your live builds asked for and couldn’t get every quantity change is logged with the balance it produced and the project that caused it 10k and 10KΩ are one resistor to me and two rows to a database. it catches those and merges them what was hard picking what to store. i store owned only, and compute held and available, so they can’t drift apart allocation used to refuse you if you were short. that meant a project could never be short, which meant the shopping list had nothing to build from. had to let it take what exists and record the rest making teardown undoable needed a whole extra field, because returned parts come from two different places and mixing them makes it unreversible fuzzy matching without being too fuzzy. 4.7k and 47k are different resistors so you can’t just strip punctuation tests found 4 bugs i thought were fine. 2 of them were failing silently what im proud of the ledger. every number on the site has a receipt, and there’s a command that recounts and tells you if it’s lying teardown being reversible. it was a one way door and that was scary to use how to test it log in as demo, go to bench open weather station , hit tear down, mark a few soldered and a few broken, submit watch owned drop, then hit reopen and watch it all come back bench again for the shopping list. 12 parts short across live builds click any part for its history table. every row says what changed and what it left behind parts > duplicates . 10k / 10KΩ and 470uF / 470 µF are sitting there as separate rows. merge one and watch the quantities add up or add a part called 10K ohm yourself and watch it get caught immediately
Inventory Management System an electronics parts inventory that tracks how many of each part you own, how many are in projects, and how many you can actually use. try it: https://inventory-system-manager.vercel.app sign up with any username and password. what it does projects hold parts. tear one down and say what happened to each: returned, soldered in, or broken. only the last two leave your inventory shopping list builds itself from what your builds asked for and couldn’t get every quantity change is logged. 10k and 10KΩ get caught as one resistor and merged fixed since last ship search matches every word, so “LCD display” works filter by tag, package and value without typing remove button sits inside the project table no more reloading to see new shopping list items shopping list exports to csv or text a real front page phone layout: buttons stack full width, tables scroll opt-in public roster test suite is back, 228 green how to test it sign up, parts > import, paste 10k resistor, 180, 10k, through-hole, passive new project, ask for more than you own, check the bench for the shortfall tear down, mark some soldered, submit, then reopen and watch it come back add 10K ohm and watch duplicates catch it...
|
1792828519.050389
|
1792914919.050389
|
|
44701
|
StudyBuddy by @Vedant_Daga | Stardance
|
Vedant_Daga
|
2
|
76.0
|
1064
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T03:35:26Z", "hours": 23.0, "multiplier": 18.54, "payout": 436, "blessing": "neutral", "text": "StudyBuddy - https://trystudybuddy.vercel.app fyi before u try it: reading runs on a free model with a shared daily cap, and ship day is way more traffic than a normal day. please use the sample worksheets wherever u can (they’re the first thing on the upload page, one click) and upload at most one of ur own pdfs for the next day or two. if the homepage says the free reads are used up, the samples still work. what it does upload a worksheet pdf. it reads every question off the page, tags each one by topic, and works out the answer key. u mark which ones u got wrong and it brings them back on an FSRS schedule (the algo anki uses). across every test u upload it turns “i got 12 wrong” into “ur bad at ratios”. what changed since last time runs on openrouter’s free tier instead of my gpu. not a proof of concept anymore one worksheet is ~4 requests instead of ~42. pages are read in groups the site says when the day’s free reads are running low. clear about the trial: 3 worksheets free, then still free, u just add questions by hand or plug in ur own key. what was hard free models reason before they answer and bill that against the output limit which ends up causing an error, but its really hard to figure out the embedding-only shortcut for sorting looked fine and was wrong a third of the time so fixed it", "repo": "https://github.com/DagaVedant/StudyBuddy", "demo": "https://trystudybuddy.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-19T19:30:17Z", "hours": 53.0, "multiplier": 12.7, "payout": 628, "blessing": "neutral", "text": "StudyBuddy Turn the worksheets you have already done into a record of what you actually know. Try it: https://trystudybuddy.vercel.app Code: https://github.com/DagaVedant/StudyBuddy What I made Upload a worksheet you already finished, as a PDF or photos. A vision model pulls out every question, its options and its answer key. You mark what you got wrong. That is the only input it needs. It sorts questions into 87 topics across SAT and competition maths. Then it ranks your weak areas and schedules revision using FSRS, the algorithm behind Anki. It also writes practice questions on your weak topics and exports misses to Blooket. Built on my own past papers: 387 real questions from 22 worksheets. What was challenging The models can run in four places: my GPU, your API key, your own Ollama, or not at all. A student with a GPU should never send homework to my server. A student with nothing should still get something. Topic tagging needs an embedding model that serverless hosting cannot run. So the shortlist is a pgvector query on the server and the vector is computed anywhere, including in your browser under WebAssembly. Worst bug was three characters: I stored the global fetch on a class field, which passes the object as the receiver. Node allows it, browsers throw Illegal invocation. Every test passed and the only runtime that mattered was broken. What I am proud of It does not lie to you. Weak topics are ranked by a Wilson lower bound, not a raw percentage, so two unlucky answers cannot fake a weakness. Model-written questions are kept out of your accuracy, so the ranking cannot feed the questions it generates. Every model response is schema-checked before it reaches the database. Generated practice is sifted against thirteen specific failure modes. When my GPU is off, the upload screen says so instead of spinning. 1,459 unit tests, 84 end to end, 293 commits. How to test it Sign in with Google, or an email and password. Upload any worksheet you have already done. A past paper works well. Check what it read. Each question sits beside the page image it came from. Mark what you missed, then open the dashboard. The free trial reads three worksheets on my own GPU. If it is off, your upload queues and the app tells you. To skip the wait, settings takes your own API key or connects to Ollama on your machine. guys i wish this was markdown compatible but its not so sorry", "repo": "https://github.com/DagaVedant/StudyBuddy", "demo": "https://trystudybuddy.vercel.app/"}]...
|
[{"post_id": 66334, "ts": "202 [{"post_id": 66334, "ts": "2026-09-12T03:21:31Z", "hours": 3.7986, "text": "Devlog 24: StudyBuddy so a lot of the feedback said “cool but it needs ur gpu on”. that made it seem like a PoC, so now its running on the free tier of openrouter. making the free tier work one request per question was never going to fit a daily cap. extraction now sends up to 10 pages / 25 questions per call, sorting and answer key go 10 questions at a time. ~4 requests per worksheet instead of ~42 the homepage and upload page count the day’s calls. 80% says busy, 100% stops reading and points u at the samples. samples upload page leads with the three samples as one-click cards; ur own pdf is the second option and says how much of the shared allowance is used. removed phone photo uploads (highly innaccurate on the free tier of models i have)"}, {"post_id": 61499, "ts": "2026-09-04T13:23:50Z", "hours": 0.4864, "text": "Devlog 23 - StudyBuddy i just had some minutes left on this so im just making the devlog still waiting for my ship to be approved (been waiting a few days) no big changes at all (waiting for feedback)"}, {"post_id": 57722, "ts": "2026-08-29T23:49:06Z", "hours": 0.3544, "text": "Devlog 22 - StudyBuddy fixed more bugs and rewrote code by hand"}, {"post_id": 56688, "ts": "2026-08-28T15:28:49Z", "hours": 3.3164, "text": "Devlog 21 - StudyBuddy patched even more bugs rewrote tons of my code (ai to human) cleaned up old files (a lot of old features were removed and reupdated) just more QoL fixes"}, {"post_id": 55293, "ts": "2026-08-27T01:04:56Z", "hours": 0.7281, "text": "Devlog 20 - StudyBuddy more bug fixes continous reships (they keep saying its too AI generated even after i rebuilt the UI) started working on the API key integration (like almost there rn) tons of dead code removal and code clean up added support for firefox too (now it works on edge, firefox, chrome, and prolly a ton others i just havent really tested it)"}, {"post_id": 55212, "ts": "2026-08-26T19:29:14Z", "hours": 2.0147, "text": "Devlog 19 - StudyBuddy even more bug fixes so i pushed a change, and that somehow broke the entire pipeline so i patched it no real content just fixes going to add API key integration soon (follow to see it happen)"}, {"post_id": 54267, "ts": "2026-08-25T04:59:03Z", "hours": 1.3939, "text": "Devlog 18 - StudyBuddy lowk not a lot of content in this one but like 1000000 different bugs popped up and reviewers are pointing it out so thank you smmm ( @blowupthenoobs ur the goat) fixed the trials having no limit other fixes just check my commits"}, {"post_id": 53477, "ts": "2026-08-24T01:28:48Z", "hours": 6.445, "text": "Devlog 17 - StudyBuddy (ah im losing track of these devlogs uh my ship keeps getting rejected for look to AI, and ive literally rebuilt everything, removed all teh ai generated thing. (im gonna ship again rn) made a logo cuz i thought it would look cool added a Terms of Services page cuz its risky cuz people could upload worksheets they dont have access for an i could be fried so i made them agree to that cleaned up more code fixed a few more bugs"}, {"post_id": 51966, "ts": "2026-08-21T23:14:31Z", "hours": 0.5383, "text": "Devlog 16 - StudyBuddy added some sample worksheets so you can try it out added the borders back to the buttons because i accidently removed them before"}, {"post_id": 51893, "ts": "2026-08-21T19:51:51Z", "hours": 0.3522, "text": "Devlog 15 more cleaninggggggg cleaned up repo, removed more dead logic and stuff instead of a css wallpaper, i added a image of lined paper to really give that school/learning feel asked ai to help me get the ui to look kinda fresh and add the pencil style heading"}, {"post_id": 51715, "ts": "2026-08-21T15:23:46Z", "hours": 3.1414, "text": "Devlog 14 shipwrights rejected the project so im fixing their things decided to clean up the code, get rid of old functions, and i also cleaned up the UI because no one really needs the heading and then what it means, like i think you know that topics means topics and doesnt need a whole sentence after that. cleaned up the repo, got rid of ai generated code fixed a 500 error when uploading worksheets, cuz something happened and some linux kernel wasnt compaitble with the library i was using wrapped up my last few fixes lowk not a lot of new features, rather like fixes"}, {"post_id": 51288, "ts": "2026-08-20T20:55:12Z", "hours": 0.9239, "text": "Devlog 13 - StudyBuddy update the ui to make it look liek sticky notes and lined paper"}, {"post_id": 50557, "ts": "2026-08-19T19:22:57Z", "hours": 1.2472, "text": "ANYONE RATING THIS PROJECT - THE VIDEO ON THE SHIP IS OUTDATED, THERE IS ALSO ANOTHER FEW DEVLOGS SO CHECK THAT OUT BEFORE JUDGING BECAUSE IT GIVES MORE INFO ABOUT THE BUILDING AND WHY THE CHANGED A LOT SORRYYYY ALSO USE THE SAMPLE WORKSHEETS I ATTACHED OR EASILY PARSEABLE WORKSHEETS. TEMPORAILY IVE CLOSED THE API KEY VERSION AS MOST PEOPLE DONT HAVE THEM. COMPLEX WORKSHEETS ARE TO BE USED ONLY WITH LARGE LLM Devlog 12 - StudyBuddy got everything ready to ship turns out that ollama needed some permissions so fixed that and added it to readme for people to set up, and other stuff like that shipping it in 5 mins 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉"}, {"post_id": 49640, "ts": "2026-08-18T15:06:19Z", "hours": 3.8678, "text": "Devlog 11 - StudyBuddy this is a short one got the google sign in to work added email verification and forgot ur password thing cleaned up the overall UI made the topic tree standardized cleaned up some of the extraction issues added ollama integration for everyone added practice question generation, topic overview, etc tested everything fully the attached image is the app after a ton of testing *"}, {"post_id": 48576, "ts": "2026-08-17T00:58:42Z", "hours": 5.8406, "text": "Devlog 10 - StudyBuddy mostly the same bug wearing different clothes: a screen that exists, that u can get to, that quietly does less than it says tier C was sitting in settings doing nothing save an ollama address and the app resolves u to a browser executor. that executor had nowhere to go, so ur worksheet just sat there looking queued it claims the job now and reads each page against localhost:11434 , posting back through the same queue my gpu posts through has to run in the browser cuz a server cant reach ur localhost, so the tab stays open. checkpointed per page tho, closing it resumes instead of restarting the paper a mark u mis-tapped was permanent tap through 40 of these and ur going to hit the wrong one eventually that one tap feeds the FSRS schedule, the topic accuracy, the weakness ranking and the blooket export only way back was deleting the worksheet and uploading it again, which costs u a trial credit. so the fix for a mistap was paying for it two defences that were never on WORKER_ALLOWED_IPS was optional and empty meant no restriction empty is the state every deployment starts in, so the normal outcome was a defence thats off that nobody ever decided to turn off refused now. * still allows any address but somebody has to type it untagged worksheets looked identical to broken ones tier B cant auto-classify, the embedding model needs a native runtime the serverless host doesnt have so ur questions saved fine and were reviewable fine, they just had no topic and nothing said why. reads exactly like it silently failed every tier that can come back untagged says so now nothing told u when a worksheet finished u uploaded and then u guessed. sat on the status page or came back later and hoped in-app bell that needs zero setup, plus web push for a tab u closed also “Review these now” now reviews those questions. the word had drifted onto three screens meaning three different things dashboard was missing three of its panels, and the trend arrow was specified ages ago and never computed taxonomy had no front door and the subject panel only went one level deep. Math > Geometry > Triangles walks now pagination was capping at the fiftieth worksheet and saying nothing about it the AI setup prompt showed up after ur trial ran out, which is the one moment it cant help u grouped scripts/ by what it does to ur data. inspect/ reads, repair/ writes behind a guard, benchmark/ measures 1285 tests green. playwright hasnt run yet and app/ moved a lot this time, so thats next"}, {"post_id": 47159, "ts": "2026-08-14T20:52:31Z", "hours": 5.0856, "text": "Devlog 9 - StudyBuddy the merge tool could double up a question number renumbering the survivor of a duplicate pair used Math.min of just those two rows, blind to the rest of the paper merging a phantom #5 into a real #9 could hand the paper a second #5, the exact thing the tool exists to prevent zero tests on a function that deletes rows. five now, including the repro $15/hour was losing its sign, not just $5 the math-stripper runs from one $ to the next, so “earns $15/hour and $18/hour” reads the slash as a fraction and eats both signs. same with $40 = $25 + $15 on the = i wrote this down once as “one weird case.” it’s the whole unit-rate and equation category fix checks the char after the closing $ : a digit means it’s opening the next price, not real math figure crops didnt need a new pipeline, just reusing one filed as “never produced,” which reads like crop, store, backfill the verify screen already computes a crop window from the bbox over the stored page image. review got wired to the same math, every old worksheet gets it free the real work was the guards: zero-area, inverted, off-page, or no recorded page size all have to degrade to nothing rather than to the wrong crop a fence i built to be un-escapable, wasnt the comment says a new tag can’t be added without going through the escaping. page-seam work added two by typing them directly a page whose OCR contains the literal closing tag closes the fence early, and everything after reads as instructions instead of data tag list exists once now, every fence built from it every worksheets.status write was a bare UPDATE no guard on the current value, so a stale job retry could drag an already-reviewed worksheet back to failed one transitionWorksheet(from, to) now, every write through it preview deploys were migrating the prod database guard only checked VERCEL_ENV === 'production' , but previews fire on every push against one shared DATABASE_URL two finishing together were racing through the migration folder 9 tests could go quiet and nobody would know one e2e file, 12 tests serial in a single tab, everything past “verify” depending on a question a drag gesture created three tests earlier a drag regression silently skipped 9 unrelated tests instead of failing them api fixture, split the file, broke the drag on purpose to prove it. held the question list rendered all 114 cards for a screen that edits one at a time deferred a while back: virtualizing editable rows risks one unmounting mid-edit only one card can ever be expanded, so the risk surface is exactly one row virtualizes past 40 now, open row pinned into the rendered range wherever scrolling goes. typed into one at 60 questions, scrolled thousands of px away, still there, still focused, still holding the edit also profile save had devlog 4’s router.refresh() remount bug login rate limit skipped Auth.js’s own credentials endpoint ollama worker had no startup timeout and just hung worksheet text leaked into console logs on schema rejections review screen shipped every page’s OCR text on page-1 load admin console got merge, tree edit, queue, usage doc-count drift (third time), and a false-positive LaTeX check flagging real set notation as broken math"}, {"post_id": 46100, "ts": "2026-08-13T02:23:56Z", "hours": 3.2192, "text": "Devlog 8 - StudyBuddy im too lazy to have a full write up for this (watched spiderman tdy IT WAS REALLY GOOD) for each topic that a user gets wrong, a seperate model (gpt-oss:20b, sorry if i miswrote the model) gives a walkthrough of the topic also added missed questions to the csv export added a AI answer key system if the worksheet doesnt have one."}, {"post_id": 45521, "ts": "2026-08-12T02:04:02Z", "hours": 3.0014, "text": "Devlog 7 - StudyBuddy the drag box was broken in the real app. for months u upload a worksheet, u draw a box around question 1, it fills in. thats the whole manual editor, thats the whole free tier. and it didnt work. click through the app to get there and nothing responds. reload and its fine. four previous commits went looking for this. the test had a 24 line comment explaining why it was probably a test problem. it was not. elementFromPoint(100, 28) -> HTML elementsFromPoint(100, 28) -> [HTML] thats the browser saying nothing is at this pixel , for every pixel on the page. the cause was 8 view transition animations, 6 stuck running forever . one that never finishes sits in the top layer and covers everything. and its a pseudo element so it shows up in no ancestor walk and no element stack, which is why every previous investigation contradicted itself. bisected on clean builds: next flag react component result on on broken off on broken on off clean off off clean so its react’s <ViewTransition> , not next. three lines of css. the drag test used to fake the mouse with dispatched events, now it uses a real one, which is the only thing that proves anything. gemini has never completed a single request 4 providers in settings. one says “has a free tier worth starting on”. zero successful calls, ever. every nullable field is anyOf: [{type:'x'}, {type:'null'}] gemini doesnt understand anyOf , so a filter strips keywords it rejects the filter dropped anyOf and left {} behind, while leaving the field in required a required field with no type = rejected request. every time funny part: the allowlist already had nullable in it, gemini’s own word for the same idea. someone knew. nothing connected them. the landing page was lying about 3 of its 4 topics theres a comment above them saying “kept honest on purpose: these are real taxonomy names” . Ratio & proportion - not real Linear equations - not real Reading inference - not real Vocabulary in context - real so the one claim the page made about its own honesty was the false one lol. theres a test now instead of a comment. tests found 2 bugs i wasnt looking for new Date(\"sometime in 2010\") returns jan 1 2010, cuz v8 scrapes a year out of almost anything. and it parses as local midnight while everything next to it is UTC. on a 13th birthday thats the whole question one route answered 404 to someone with no session. the client sends u to sign in on a 401 and brings u back after, so a tab that sat open till the session expired just ate what u typed the rest a reload could cost u a 114 question paper. markup saves nothing till every question is marked, so its a local draft now / , /signin , /signup are static html now. the topbar called auth() from the root layout, which made all 39 routes render per request the 23mb embedding model was getting fetched inside a background task on every cold start, and failing silently one commit recorded 32 renames and none of the code . the git add failed and i’d redirected the error away so i never saw it"}, {"post_id": 44852, "ts": "2026-08-10T21:45:18Z", "hours": 1.3739, "text": "Devlog 6 - StudyBuddy u can throw everything u got wrong into blooket now button on the dashboard for the whole account, and one per worksheet if u only want that paper it gives u a file, u upload it to blooket, u get a set of exactly the questions u missed wrong means ever wrong, not currently wrong. if u got it wrong on paper and then right in review, its still in there. thats the one u actually want to drill and it wouldve been weird to leave out blooket hands u an .xlsx template so everyone calls this an xlsx export, but its uploader only accepts csv. took a while to work out also its importer just silently imports nothing if the file is slightly off. no error, no warning, zero questions. three separate ways to trip that picking a subject barely did anything theres a dropdown on upload for what subject the worksheet is. it offers things like “Algebra 1” only the first bit of that was ever used, so picking Algebra 1 searched all of high school maths. exactly the same as picking “all of high school maths” the one control u have over how ur questions get sorted, doing basically nothing long papers were quietly losing questions to a limit the topic tagger takes questions 100 at a time. fine except it grabbed 100 in no particular order and then removed the ones already done, so on a 114 question paper 14 never got looked at, and which 14 was down to whatever the database felt like that day worse on a second pass: if 100 were already tagged it handed back an empty list, which reads as “nothing left to do”, and the rest never got tagged at all two screens counting the same paper differently the worksheets page filters out page junk like “CONTINUE TO THE NEXT PAGE” before counting. the dashboard didnt so the same worksheet was 25 questions on one screen and 26 on the other, and nothing tells u which one is lying the chart was lying about time the accuracy chart draws a bar per week. it was only making bars for weeks u actually did something in so 12 bars looked like 12 weeks in a row but werent. practise in march and again in june and u see two bars side by side like it was steady every week is a bar now, empty ones included, and it says which weeks its showing scrolling changed my settings without me touching anything the page range and question count boxes were number inputs, and number inputs treat the scroll wheel as a way to change the value so scrolling down the upload page with ur cursor over one of them silently rewrote which pages get read found a pile of other accessibility stuff while i was in there: buttons a bit too small to reliably hit on a phone, cards that vanish in high contrast mode, and a “skip to content” link that didnt actually skip anything also asking to see an explanation u already had was using up ur hourly limit for generating new ones the topic picker was built in a way that made screen readers think the list had nothing in it button labels were half Title Case and half sentence case, sometimes on the same screen"}, {"post_id": 44789, "ts": "2026-08-10T20:01:20Z", "hours": 1.8522, "text": "Devlog 5 - StudyBuddy “accept the remaining 114” checked none of them that button fires one save per question, and on my test paper thats 114 of them at once nothing read the answers back, so a save that failed looked exactly like one that worked the tick stayed on, u moved to the next screen, and it was never stored deleting a question said “Saved” and then didnt delete it delete waits a few seconds so u can undo it. it dropped the question from the list first and threw away whatever came back from the server so if it failed u got told it saved, and the question showed up in ur study queue later like nothing happened also there was no undo button anywhere. it was just a slow delete $5 was being eaten maths sometimes comes wrapped in dollar signs so i strip them off. money also comes wrapped in dollar signs “Sam has $5 and Ana has $12” was being read as “Sam has 5 and Ana has 12” checked a real saved question and yep. paper says $5, database said 5 if my worker died, ur worksheet said “queued” forever the machine that reads the pages runs at my house. if it fell over mid job, nothing anywhere ever marked that job as failed it just sat there, and the free credit it charged u never came back the topic tagging could fail without failing it needs a bit of software thats not always there on the server. when it wasnt, it came back with “no matches” which is a completely normal answer. so the job finished, every question was untagged, ur weak areas page was empty, and nothing anywhere was an error one i was told to do and didnt had a note to cap the page number by how many pages the worksheet has except if u upload pages 10 to 15 of a pdf thats six pages numbered 10 to 15, so that check refuses every single one of them capped the two things separately instead also the screen asking u to check questions against the page never showed the page finishing a review session stopped saying u finished it the AI could print its own error onto ur status page, which sometimes meant quoting ur own worksheet back at u the upload checked the image size by asking the browser instead of opening the image"}, {"post_id": 44684, "ts": "2026-08-10T16:42:14Z", "hours": 2.2806, "text": "Devlog 4 - StudyBuddy no new features today. just went hunting for stuff that was quietly broken, and there was way more of it than i expected the sign-in page could send u to a different website if someone handed u a link like /signin?next=someothersite.com , u would log in and then land on their page immediately after typing ur password, which is about the worst possible moment for that to happen this one went first there was no limit on login attempts i had limits on signing up and on uploading. somehow not on the actual password box so u could sit there and guess forever getting blocked now looks identical to just getting the password wrong. telling someone “too many attempts” quietly confirms the account exists file storage was writing into the void if one setting went missing it silently saved ur page images somewhere that doesnt survive on the server uploads said they worked. returned a success. images just gone nothing errored anywhere, which is why it sat there so long now it refuses to start up at all instead of pretending everything is fine i almost broke my whole test suite fixing something unrelated locked down two internal-only routes with what seemed like the obvious check except my tests run against a production build, so that check wouldve locked the tests out too caught it before it shipped, then wrote a test explaining it so future me doesnt helpfully undo it added security headers and instantly caught myself put them in report-only mode first so nothing could actually break about 40 seconds later it flagged a script that my own analytics loads the strict version wouldve blocked it in prod. i absolutely wouldve shipped that one fix i deleted instead of shipping had a note to add another check to the duplicate-question detector actually tested it against real papers first, and it turns out it can never trigger. the answers on a maths paper are just “4” and “9” and stuff, way too short for it to match on wouldve quietly made things worse all tests green at the end of it. onto the next pile"}, {"post_id": 44340, "ts": "2026-08-10T01:14:54Z", "hours": 6.0992, "text": "Devlog 3 - StudyBuddy wrote a script that reads each papers own answer key out of the source pdf and diffs it against my database. so the paper grades me instead of me grading myself. those 14 sheets scored 1 of 14 the first time i pointed it at them. tonight theyre 14 of 14 . barely any of it was the model. one paper stored 8 of its 15 questions. the model had read all 15 the log said dropped 6 unreadable question(s) . a count. no reason. it said that for two days made it print which field rejected the question and it told me on the first run: choices.0.label: Too big: expected string to have <=8 characters answer labels are capped at 8 chars, but the cap runs before the function that shortens them. that function only exists cuz the model returns A. 60 instead of A so the cap was checked against exactly the thing the transform was written to fix. coordinate geometry paper, every option reads A. (-2, 3) , ten chars, binned a count with no reason cant tell u “model returned garbage” from “ur schema is stricter than the paper” and those have opposite fixes also 44 duplicate-answer flags, every one wrong: -2 and 2 both normalised to 2 lol. on a maths paper the sign IS the question."}, {"post_id": 43025, "ts": "2026-08-08T02:19:09Z", "hours": 0.3111, "text": "if any of you guys wanna try this out here is the link: https://trystudybuddy.vercel.app/ YOOOOO WE GOT OUR FIRST FEW USERS i just checked before sleeping and yo we have 14 worksheets in the processing queue right now i wonder how much we had before THANK YOU GUYS"}, {"post_id": 42970, "ts": "2026-08-07T23:33:19Z", "hours": 5.2603, "text": "Devlog 2 - StudyBuddy HERE IS THE LINK TO TRY IT ( https://trystudybuddy.vercel.app/ ) left a pile of worksheets extracting overnight cuz i was sick of testing every fix against the same two papers. woke up to 9 worksheets, 713 questions, 353 pages everything below only shipped after i swept it over all of that first. rule i have now, after two earlier “fixes” that read perfectly and were wrong on real data a question that shipped reading ?rac{44}{11} i tell the model to write plain text. it writes LaTeX anyway sometimes that fails loudly. \\sqrt isnt a valid JSON escape so the response explodes and i lose a page. thats fine?? at least i know the other half is the problem. \\f is a form feed and \\t is a tab, both totally valid , so \\frac{44}{11} parses perfectly and quietly becomes a form feed followed by rac{44}{11} i had an AMC8 question in my database reading ?rac{44}{11} and nothing anywhere reported a problem fix has to run before the first parse , not in the catch block, cuz the version that actually hurts u never throws it doubles the backslash on letter runs JSON would misread, but only the six that collide (b f n r t u) and only when the run spells a real command. otherwise a real line break stops being a line break, which is a fun way to make things worse questions torn in half by the page break extraction reads one page at a time and never sees the page before or after. so a question ending at the bottom of page 3 with its answer choices at the top of page 4 is never whole in either request . five of them on the AMC8 paper one fix folds the halves back together. the other is for the worse case where the extractor returned nothing at all for the second half, cuz a bare block of answer choices isnt a question so the model just drops it. theyre still sitting in the next pages text layer tho, u just have to go get them sorting questions within a page needed its own module cuz the bounding boxes lie . question 4 came back with a top of 1428 and question 5 with 1379, so pure geometry puts them backwards AMC8 went from 19 of 25 questions having their answer choices to 24 of 25 , zero false positives across 348 SHSAT pages stuff that broke a worksheet told me it had 26 questions when the paper has 25 . the extra one was the axis labels off a diagram, and the SHSAT ones had rows that just said CONTINUE TO THE NEXT PAGE. dropped 23 rows, all page furniture then immediately shipped a followup bug where the card read “Questions 25” next to “Unchecked 26” cuz i filtered one count and forgot the other one lol tried just asking the model to return a carried answer block as half a question. produced zero of them and started relabelling stem-only questions as free response, which hides the damage from every check i have. reverted the landing page every animation was gated behind prefers-reduced-motion , which sounds responsible until u find out some managed windows installs ship with animation effects off by default . so the page whose whole job is showing the product working was showing a static screenshot the hero panel gets dealt onto the page like a card now. needs a perspective on the parent or the rotations collapse into a shear and it just looks like a slide the forgetting curve draws itself left to right. stroke-dashoffset does not work here , pathLength is silently ignored under vector-effect: non-scaling-stroke so the dash tiles across the path instead of spanning it once. and i need non-scaling-stroke or the line renders 9x too thick . used a page-coloured shutter instead next things: that one AMC8 question needs reading off the page image since the text layer doesnt have it. and theres a cheaper reduced-motion compromise i wrote down but havent built."}, {"post_id": 42187, "ts": "2026-08-06T20:02:11Z", "hours": 13.8281, "text": "Devlog 1 - StudyBuddy so ive been doing SHSAT practice tests for a while and the thing that always got me is that after i mark one, i have like 20 wrong answers and no idea what to actually do with that info . like ok i got 12 questions wrong, but am i bad at geometry or did i just misread three questions? no clue. so id end up redoing entire sections i was already fine at. basically what im building is a web app where u upload a worksheet or a practice test (pdf or even just a photo of the page) and it reads every question off it, figures out what topic each one is, and then after u mark which ones u got wrong it schedules them to come back later using FSRS (same spaced repetition algo anki uses). the thing that makes it diff from just writing ur mistakes in a notebook is that it tracks topics across every test u ever upload . one test says nothing. five tests and it can actually tell u “ur bad at ratios” with a straight face. the AI runs on my own laptop i did not want to pay for an api. so the vision model that reads the pages runs on my own rtx 5080 . it sits at home and asks the deployed site for jobs, and it only ever dials outward so theres no port open on my home network. if my laptops off, uploads just queue instead of dying. the part i was most wrong about i picked the model i was using (qwen2.5vl:7b) literally because it was the first one i pulled . thats the whole reason. so i finally benchmarked it properly, 9 models on a real 58 page shsat paper, 114 questions . the one i already had won?? the 27b model is 4x bigger, scored 6 points WORSE , and took 183 seconds per page vs 7.8 . id been assuming for weeks that upgrading would fix my accuracy problems lol. also the grading was free which i was way too happy about. every question number 1-114 shows up exactly once on the paper so the test just grades itself , i never labelled a single page by hand. the bug that was actually my fault so when i looked at WHICH questions got missed they werent random, they came in chunks . one model dropped 17 questions in a row . turns out every single miss on every model was a page that came back completely empty . not a wrong answer. nothing. and that was my bug not the models . an empty reply gives 0 questions and no error, so my checker (which only looked for gaps in question numbering) saw nothing wrong and the upload said success while a whole page just quietly disappeared . fixed with one retry at a slightly higher temperature cuz a model that decided to output nothing will decide that again if u ask it the exact same way. stuff that broke i wrote a check to catch questions that got cut off mid sentence (flag anything not ending in punctuation) and it flagged 25 out of 114 questions on a CLEAN run . all wrong. turns out shsat questions end with like “by” or “through” all the time and the answer choices finish the sentence. fixed it and it changed literally zero outcomes so the rule was doing nothing the whole time. also added rate limiting and instantly locked myself out of my own test suite , which signs up way more than 5 times an hour from localhost. also deleted my entire email system . u need a domain u own to send emails (spf/dkim records) and a free .vercel.app subdomain cant do that. so instead of buying a domain i deleted 274 lines and made google sign in the front door. next things: tier B uploads dont get topic tags yet, and theres one test failing on purpose cuz FSRS says a question u just got wrong is due in 1 minute but i think it should be due immediately. gotta pick one."}]...
|
Title: StudyBuddy by @Vedant_Daga | Stardance
Dev Title: StudyBuddy by @Vedant_Daga | Stardance
Devlogs:
Devlog 1 - StudyBuddy so ive been doing SHSAT practice tests for a while and the thing that always got me is that after i mark one, i have like 20 wrong answers and no idea what to actually do with that info . like ok i got 12 questions wrong, but am i bad at geometry or did i just misread three questions? no clue. so id end up redoing entire sections i was already fine at. basically what im building is a web app where u upload a worksheet or a practice test (pdf or even just a photo of the page) and it reads every question off it, figures out what topic each one is, and then after u mark which ones u got wrong it schedules them to come back later using FSRS (same spaced repetition algo anki uses). the thing that makes it diff from just writing ur mistakes in a notebook is that it tracks topics across every test u ever upload . one test says nothing. five tests and it can actually tell u “ur bad at ratios” with a straight face. the AI runs on my own laptop i did not want to pay for an api. so the vision model that reads the pages runs on my own rtx 5080 . it sits at home and asks the deployed site for jobs, and it only ever dials outward so theres no port open on my home network. if my laptops off, uploads just queue instead of dying. the part i was most wrong about i picked the model i was using (qwen2.5vl:7b) literally because it was the first one i pulled . thats the whole reason. so i finally benchmarked it properly, 9 models on a real 58 page shsat paper, 114 questions . the one i already had won?? the 27b model is 4x bigger, scored 6 points WORSE , and took 183 seconds per page vs 7.8 . id been assuming for weeks that upgrading would fix my accuracy problems lol. also the grading was free which i was way too happy about. every question number 1-114 shows up exactly once on the paper so the test just grades itself , i never labelled a single page by hand. the bug that was actually my fault so when i looked at WHICH questions got missed they werent random, they came in chunks . one model dropped 17 questions in a row . turns out every single miss on every model was a page that came back completely empty . not a wrong answer. nothing. and that was my bug not the models . an empty reply gives 0 questions and no error, so my checker (which only looked for gaps in question numbering) saw nothing wrong and the upload said success while a whole page just quietly disappeared . fixed with one retry at a slightly higher temperature cuz a model that decided to output nothing will decide that again if u ask it the exact same way. stuff that broke i wrote a check to catch questions that got cut off mid sentence (flag anything not ending in punctuation) and it flagged 25 out of 114 questions on a CLEAN run . all wrong. turns out shsat questions end with like “by” or “through” all the time and the answer choices finish the sentence. fixed it and it changed literally zero outcomes so the rule was doing nothing the whole time. also added rate limiting and instantly locked myself out of my own test suite , which signs up way more than 5 times an hour from localhost. also deleted my entire email system . u need a domain u own to send emails (spf/dkim records) and a free .vercel.app subdomain cant do that. so instead of buying a domain i deleted 274 lines and made google sign in the front door. next things: tier B uploads dont get topic tags yet, and theres one test failing on purpose cuz FSRS says a question u just got wrong is due in 1 minute but i think it should be due immediately. gotta pick one.
Devlog 2 - StudyBuddy HERE IS THE LINK TO TRY IT ( https://trystudybuddy.vercel.app/ ) left a pile of worksheets extracting overnight cuz i was sick of testing every fix against the same two papers. woke up to 9 worksheets, 713 questions, 353 pages everything below only shipped after i swept it over all of that first. rule i have now, after two earlier “fixes” that read perfectly and were wrong on real data a question that shipped reading ?rac{44}{11} i tell the model to write plain text. it writes LaTeX anyway sometimes that fails loudly. \sqrt isnt a valid JSON escape so the response explodes and i lose a page. thats fine?? at least i know the other half is the problem. \f is a form feed and \t is a tab, both totally valid , so \frac{44}{11} parses perfectly and quietly becomes a form feed followed by rac{44}{11} i had an AMC8 question in my database reading ?rac{44}{11} and nothing anywhere reported a problem fix has to run before the first parse , not in the catch block, cuz the version that actually hurts u never throws it doubles the backslash on letter runs JSON would misread, but only the six that collide (b f n r t u) and only when the run spells a real command. otherwise a real line break stops being a line break, which is a fun way to make things worse questions torn in half by the page break extraction reads one page at a time and never sees the page before or after. so a question ending at the bottom of page 3 with its answer choices at the top of page 4 is never whole in either request . five of them on the AMC8 paper one fix folds the halves back together. the other is for the worse case where the extractor returned nothing at all for the second half, cuz a bare block of answer choices isnt a question so the model just drops it. theyre still sitting in the next pages text layer tho, u just have to go get them sorting questions within a page needed its own module cuz the bounding boxes lie . question 4 came back with a top of 1428 and question 5 with 1379, so pure geometry puts them backwards AMC8 went from 19 of 25 questions having their answer choices to 24 of 25 , zero false positives across 348 SHSAT pages stuff that broke a worksheet told me it had 26 questions when the paper has 25 . the extra one was the axis labels off a diagram, and the SHSAT ones had rows that just said CONTINUE TO THE NEXT PAGE. dropped 23 rows, all page furniture then immediately shipped a followup bug where the card read “Questions 25” next to “Unchecked 26” cuz i filtered one count and forgot the other one lol tried just asking the model to return a carried answer block as half a question. produced zero of them and started relabelling stem-only questions as free response, which hides the damage from every check i have. reverted the landing page every animation was gated behind prefers-reduced-motion , which sounds responsible until u find out some managed windows installs ship with animation effects off by default . so the page whose whole job is showing the product working was showing a static screenshot the hero panel gets dealt onto the page like a card now. needs a perspective on the parent or the rotations collapse into a shear and it just looks like a slide the forgetting curve draws itself left to right. stroke-dashoffset does not work here , pathLength is silently ignored under vector-effect: non-scaling-stroke so the dash tiles across the path instead of spanning it once. and i need non-scaling-stroke or the line renders 9x too thick . used a page-coloured shutter instead next things: that one AMC8 question needs reading off the page image since the text layer doesnt have it. and theres a cheaper reduced-motion compromise i wrote down but havent built.
if any of you guys wanna try this out here is the link: https://trystudybuddy.vercel.app/ YOOOOO WE GOT OUR FIRST FEW USERS i just checked before sleeping and yo we have 14 worksheets in the processing queue right now i wonder how much we had before THANK YOU GUYS
Devlog 3 - StudyBuddy wrote a script that reads each papers own answer key out of the source pdf and diffs it against my database. so the paper grades me instead of me grading myself. those 14 sheets scored 1 of 14 the first time i pointed it at them. tonight theyre 14 of 14 . barely any of it was the model. one paper stored 8 of its 15 questions. the model had read all 15 the log said dropped 6 unreadable question(s) . a count. no reason. it said that for two days made it print which field rejected the question and it told me on the first run: choices.0.label: Too big: expected string to have <=8 characters answer labels are capped at 8 chars, but the cap runs before the function that shortens them. that function only exists cuz the model returns A. 60 instead of A so the cap was checked against exactly the thing the transform was written to fix. coordinate geometry paper, every option reads A. (-2, 3) , ten chars, binned a count with no reason cant tell u “model returned garbage” from “ur schema is stricter than the paper” and those have opposite fixes also 44 duplicate-answer flags, every one wrong: -2 and 2 both normalised to 2 lol. on a maths paper the sign IS the question.
Devlog 4 - StudyBuddy no new features today. just went hunting for stuff that was quietly broken, and there was way more of it than i expected the sign-in page could send u to a different website if someone handed u a link like /signin?next=someothersite.com , u would log in and then land on their page immediately after typing ur password, which is about the worst possible moment for that to happen this one went first there was no limit on login attempts i had limits on signing up and on uploading. somehow not on the actual password box so u could sit there and guess forever getting blocked now looks identical to just getting the password wrong. telling someone “too many attempts” quietly confirms the account exists file storage was writing into the void if one setting went missing it silently saved ur page images somewhere that doesnt survive on the server uploads said they worked. returned a success. images just gone nothing errored anywhere, which is why it sat there so long now it refuses to start up at all instead of pretending everything is fine i almost broke my whole test suite fixing something unrelated locked down two internal-only routes with what seemed like the obvious check except my tests run against a production build, so that check wouldve locked the tests out too caught it before it shipped, then wrote a test explaining it so future me doesnt helpfully undo it added security headers and instantly caught myself put them in report-only mode first so nothing could actually break about 40 seconds later it flagged a script that my own analytics loads the strict version wouldve blocked it in prod. i absolutely wouldve shipped that one fix i deleted instead of shipping had a note to add another check to the duplicate-question detector actually tested it against real papers first, and it turns out it can never trigger. the answers on a maths paper are just “4” and “9” and stuff, way too short for it to match on wouldve quietly made things worse all tests green at the end of it. onto the next pile
Devlog 5 - StudyBuddy “accept the remaining 114” checked none of them that button fires one save per question, and on my test paper thats 114 of them at once nothing read the answers back, so a save that failed looked exactly like one that worked the tick stayed on, u moved to the next screen, and it was never stored deleting a question said “Saved” and then didnt delete it delete waits a few seconds so u can undo it. it dropped the question from the list first and threw away whatever came back from the server so if it failed u got told it saved, and the question showed up in ur study queue later like nothing happened also there was no undo button anywhere. it was just a slow delete $5 was being eaten maths sometimes comes wrapped in dollar signs so i strip them off. money also comes wrapped in dollar signs “Sam has $5 and Ana has $12” was being read as “Sam has 5 and Ana has 12” checked a real saved question and yep. paper says $5, database said 5 if my worker died, ur worksheet said “queued” forever the machine that reads the pages runs at my house. if it fell over mid job, nothing anywhere ever marked that job as failed it just sat there, and the free credit it charged u never came back the topic tagging could fail without failing it needs a bit of software thats not always there on the server. when it wasnt, it came back with “no matches” which is a completely normal answer. so the job finished, every question was untagged, ur weak areas page was empty, and nothing anywhere was an error one i was told to do and didnt had a note to cap the page number by how many pages the worksheet has except if u upload pages 10 to 15 of a pdf thats six pages numbered 10 to 15, so that check refuses every single one of them capped the two things separately instead also the screen asking u to check questions against the page never showed the page finishing a review session stopped saying u finished it the AI could print its own error onto ur status page, which sometimes meant quoting ur own worksheet back at u the upload checked the image size by asking the browser instead of opening the image
Devlog 6 - StudyBuddy u can throw everything u got wrong into blooket now button on the dashboard for the whole account, and one per worksheet if u only want that paper it gives u a file, u upload it to blooket, u get a set of exactly the questions u missed wrong means ever wrong, not currently wrong. if u got it wrong on paper and then right in review, its still in there. thats the one u actually want to drill and it wouldve been weird to leave out blooket hands u an .xlsx template so everyone calls this an xlsx export, but its uploader only accepts csv. took a while to work out also its importer just silently imports nothing if the file is slightly off. no error, no warning, zero questions. three separate ways to trip that picking a subject barely did anything theres a dropdown on upload for what subject the worksheet is. it offers things like “Algebra 1” only the first bit of that was ever used, so picking Algebra 1 searched all of high school maths. exactly the same as picking “all of high school maths” the one control u have over how ur questions get sorted, doing basically nothing long papers were quietly losing questions to a limit the topic tagger takes questions 100 at a time. fine except it grabbed 100 in no particular order and then removed the ones already done, so on a 114 question paper 14 never got looked at, and which 14 was down to whatever the database felt like that day worse on a second pass: if 100 were already tagged it handed back an empty list, which reads as “nothing left to do”, and the rest never got tagged at all two screens counting the same paper differently the worksheets page filters out page junk like “CONTINUE TO THE NEXT PAGE” before counting. the dashboard didnt so the same worksheet was 25 questions on one screen and 26 on the other, and nothing tells u which one is lying the chart was lying about time the accuracy chart draws a bar per week. it was only making bars for weeks u actually did something in so 12 bars looked like 12 weeks in a row but werent. practise in march and again in june and u see two bars side by side like it was steady every week is a bar now, empty ones included, and it says which weeks its showing scrolling changed my settings without me touching anything the page range and question count boxes were number inputs, and number inputs treat the scroll wheel as a way to change the value so scrolling down the upload page with ur cursor over one of them silently rewrote which pages get read found a pile of other accessibility stuff while i was in there: buttons a bit too small to reliably hit on a phone, cards that vanish in high contrast mode, and a “skip to content” link that didnt actually skip anything also asking to see an explanation u already had was using up ur hourly limit for generating new ones the topic picker was built in a way that made screen readers think the list had nothing in it button labels were half Title Case and half sentence case, sometimes on the same screen
Devlog 7 - StudyBuddy the drag box was broken in the real app. for months u upload a worksheet, u draw a box around question 1, it fills in. thats the whole manual editor, thats the whole free tier. and it didnt work. click through the app to get there and nothing responds. reload and its fine. four previous commits went looking for this. the test had a 24 line comment explaining why it was probably a test problem. it was not. elementFromPoint(100, 28) -> HTML elementsFromPoint(100, 28) -> [HTML] thats the browser saying nothing is at this pixel , for every pixel on the page. the cause was 8 view transition animations, 6 stuck running forever . one that never finishes sits in the top layer and covers everything. and its a pseudo element so it shows up in no ancestor walk and no element stack, which is why every previous investigation contradicted itself. bisected on clean builds: next flag react component result on on broken off on broken on off clean off off clean so its react’s <ViewTransition> , not next. three lines of css. the drag test used to fake the mouse with dispatched events, now it uses a real one, which is the only thing that proves anything. gemini has never completed a single request 4 providers in settings. one says “has a free tier worth starting on”. zero successful calls, ever. every nullable field is anyOf: [{type:'x'}, {type:'null'}] gemini doesnt understand anyOf , so a filter strips keywords it rejects the filter dropped anyOf and left {} behind, while leaving the field in required a required field with no type = rejected request. every time funny part: the allowlist already had nullable in it, gemini’s own word for the same idea. someone knew. nothing connected them. the landing page was lying about 3 of its 4 topics theres a comment above them saying “kept honest on purpose: these are real taxonomy names” . Ratio & proportion - not real Linear equations - not real Reading inference - not real Vocabulary in context - real so the one claim the page made about its own honesty was the false one lol. theres a test now instead of a comment. tests found 2 bugs i wasnt looking for new Date("sometime in 2010") returns jan 1 2010, cuz v8 scrapes a year out of almost anything. and it parses as local midnight while everything next to it is UTC. on a 13th birthday thats the whole question one route answered 404 to someone with no session. the client sends u to sign in on a 401 and brings u back after, so a tab that sat open till the session expired just ate what u typed the rest a reload could cost u a 114 question paper. markup saves nothing till every question is marked, so its a local draft now / , /signin , /signup are static html now. the topbar called auth() from the root layout, which made all 39 routes render per request the 23mb embedding model was getting fetched inside a background task on every cold start, and failing silently one commit recorded 32 renames and none of the code . the git add failed and i’d redirected the error away so i never saw it
Devlog 8 - StudyBuddy im too lazy to have a full write up for this (watched spiderman tdy IT WAS REALLY GOOD) for each topic that a user gets wrong, a seperate model (gpt-oss:20b, sorry if i miswrote the model) gives a walkthrough of the topic also added missed questions to the csv export added a AI answer key system if the worksheet doesnt have one.
Devlog 9 - StudyBuddy the merge tool could double up a question number renumbering the survivor of a duplicate pair used Math.min of just those two rows, blind to the rest of the paper merging a phantom #5 into a real #9 could hand the paper a second #5, the exact thing the tool exists to prevent zero tests on a function that deletes rows. five now, including the repro $15/hour was losing its sign, not just $5 the math-stripper runs from one $ to the next, so “earns $15/hour and $18/hour” reads the slash as a fraction and eats both signs. same with $40 = $25 + $15 on the = i wrote this down once as “one weird case.” it’s the whole unit-rate and equation category fix checks the char after the closing $ : a digit means it’s opening the next price, not real math figure crops didnt need a new pipeline, just reusing one filed as “never produced,” which reads like crop, store, backfill the verify screen already computes a crop window from the bbox over the stored page image. review got wired to the same math, every old worksheet gets it free the real work was the guards: zero-area, inverted, off-page, or no recorded page size all have to degrade to nothing rather than to the wrong crop a fence i built to be un-escapable, wasnt the comment says a new tag can’t be added without going through the escaping. page-seam work added two by typing them directly a page whose OCR contains the literal closing tag closes the fence early, and everything after reads as instructions instead of data tag list exists once now, every fence built from it every worksheets.status write was a bare UPDATE no guard on the current value, so a stale job retry could drag an already-reviewed worksheet back to failed one transitionWorksheet(from, to) now, every write through it preview deploys were migrating the prod database guard only checked VERCEL_ENV === 'production' , but previews fire on every push against one shared DATABASE_URL two finishing together were racing through the migration folder 9 tests could go quiet and nobody would know one e2e file, 12 tests serial in a single tab, everything past “verify” depending on a question a drag gesture created three tests earlier a drag regression silently skipped 9 unrelated tests instead of failing them api fixture, split the file, broke the drag on purpose to prove it. held the question list rendered all 114 cards for a screen that edits one at a time deferred a while back: virtualizing editable rows risks one unmounting mid-edit only one card can ever be expanded, so the risk surface is exactly one row virtualizes past 40 now, open row pinned into the rendered range wherever scrolling goes. typed into one at 60 questions, scrolled thousands of px away, still there, still focused, still holding the edit also profile save had devlog 4’s router.refresh() remount bug login rate limit skipped Auth.js’s own credentials endpoint ollama worker had no startup timeout and just hung worksheet text leaked into console logs on schema rejections review screen shipped every page’s OCR text on page-1 load admin console got merge, tree edit, queue, usage doc-count drift (third time), and a false-positive LaTeX check flagging real set notation as broken math
Devlog 10 - StudyBuddy mostly the same bug wearing different clothes: a screen that exists, that u can get to, that quietly does less than it says tier C was sitting in settings doing nothing save an ollama address and the app resolves u to a browser executor. that executor had nowhere to go, so ur worksheet just sat there looking queued it claims the job now and reads each page against localhost:11434 , posting back through the same queue my gpu posts through has to run in the browser cuz a server cant reach ur localhost, so the tab stays open. checkpointed per page tho, closing it resumes instead of restarting the paper a mark u mis-tapped was permanent tap through 40 of these and ur going to hit the wrong one eventually that one tap feeds the FSRS schedule, the topic accuracy, the weakness ranking and the blooket export only way back was deleting the worksheet and uploading it again, which costs u a trial credit. so the fix for a mistap was paying for it two defences that were never on WORKER_ALLOWED_IPS was optional and empty meant no restriction empty is the state every deployment starts in, so the normal outcome was a defence thats off that nobody ever decided to turn off refused now. * still allows any address but somebody has to type it untagged worksheets looked identical to broken ones tier B cant auto-classify, the embedding model needs a native runtime the serverless host doesnt have so ur questions saved fine and were reviewable fine, they just had no topic and nothing said why. reads exactly like it silently failed every tier that can come back untagged says so now nothing told u when a worksheet finished u uploaded and then u guessed. sat on the status page or came back later and hoped in-app bell that needs zero setup, plus web push for a tab u closed also “Review these now” now reviews those questions. the word had drifted onto three screens meaning three different things dashboard was missing three of its panels, and the trend arrow was specified ages ago and never computed taxonomy had no front door and the subject panel only went one level deep. Math > Geometry > Triangles walks now pagination was capping at the fiftieth worksheet and saying nothing about it the AI setup prompt showed up after ur trial ran out, which is the one moment it cant help u grouped scripts/ by what it does to ur data. inspect/ reads, repair/ writes behind a guard, benchmark/ measures 1285 tests green. playwright hasnt run yet and app/ moved a lot this time, so thats next
Devlog 11 - StudyBuddy this is a short one got the google sign in to work added email verification and forgot ur password thing cleaned up the overall UI made the topic tree standardized cleaned up some of the extraction issues added ollama integration for everyone added practice question generation, topic overview, etc tested everything fully the attached image is the app after a ton of testing *
ANYONE RATING THIS PROJECT - THE VIDEO ON THE SHIP IS OUTDATED, THERE IS ALSO ANOTHER FEW DEVLOGS SO CHECK THAT OUT BEFORE JUDGING BECAUSE IT GIVES MORE INFO ABOUT THE BUILDING AND WHY THE CHANGED A LOT SORRYYYY ALSO USE THE SAMPLE WORKSHEETS I ATTACHED OR EASILY PARSEABLE WORKSHEETS. TEMPORAILY IVE CLOSED THE API KEY VERSION AS MOST PEOPLE DONT HAVE THEM. COMPLEX WORKSHEETS ARE TO BE USED ONLY WITH LARGE LLM Devlog 12 - StudyBuddy got everything ready to ship turns out that ollama needed some permissions so fixed that and added it to readme for people to set up, and other stuff like that shipping it in 5 mins 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉
Devlog 13 - StudyBuddy update the ui to make it look liek sticky notes and lined paper
Devlog 14 shipwrights rejected the project so im fixing their things decided to clean up the code, get rid of old functions, and i also cleaned up the UI because no one really needs the heading and then what it means, like i think you know that topics means topics and doesnt need a whole sentence after that. cleaned up the repo, got rid of ai generated code fixed a 500 error when uploading worksheets, cuz something happened and some linux kernel wasnt compaitble with the library i was using wrapped up my last few fixes lowk not a lot of new features, rather like fixes
Devlog 15 more cleaninggggggg cleaned up repo, removed more dead logic and stuff instead of a css wallpaper, i added a image of lined paper to really give that school/learning feel asked ai to help me get the ui to look kinda fresh and add the pencil style heading
Devlog 16 - StudyBuddy added some sample worksheets so you can try it out added the borders back to the buttons because i accidently removed them before
Devlog 17 - StudyBuddy (ah im losing track of these devlogs uh my ship keeps getting rejected for look to AI, and ive literally rebuilt everything, removed all teh ai generated thing. (im gonna ship again rn) made a logo cuz i thought it would look cool added a Terms of Services page cuz its risky cuz people could upload worksheets they dont have access for an i could be fried so i made them agree to that cleaned up more code fixed a few more bugs
Devlog 18 - StudyBuddy lowk not a lot of content in this one but like 1000000 different bugs popped up and reviewers are pointing it out so thank you smmm ( @blowupthenoobs ur the goat) fixed the trials having no limit other fixes just check my commits
Devlog 19 - StudyBuddy even more bug fixes so i pushed a change, and that somehow broke the entire pipeline so i patched it no real content just fixes going to add API key integration soon (follow to see it happen)
Devlog 20 - StudyBuddy more bug fixes continous reships (they keep saying its too AI generated even after i rebuilt the UI) started working on the API key integration (like almost there rn) tons of dead code removal and code clean up added support for firefox too (now it works on edge, firefox, chrome, and prolly a ton others i just havent really tested it)
Devlog 21 - StudyBuddy patched even more bugs rewrote tons of my code (ai to human) cleaned up old files (a lot of old features were removed and reupdated) just more QoL fixes
Devlog 22 - StudyBuddy fixed more bugs and rewrote code by hand
Devlog 23 - StudyBuddy i just had some minutes left on this so im just making the devlog still waiting for my ship to be approved (been waiting a few days) no big changes at all (waiting for feedback)
Devlog 24: StudyBuddy so a lot of the feedback said “cool but it needs ur gpu on”. that made it seem like a PoC, so now its running on the free tier of openrouter. making the free tier work one request per question was never going to fit a daily cap. extraction now sends up to 10 pages / 25 questions per call, sorting and answer key go 10 questions at a time. ~4 requests per worksheet instead of ~42 the homepage and upload page count the day’s calls. 80% says busy, 100% stops reading and points u at the samples. samples upload page leads with the three samples as one-click cards; ur own pdf is the second option and says how much of the shared allowance is used. removed phone photo uploads (highly innaccurate on the free tier of models i have)
Ships:
StudyBuddy Turn the worksheets you have already done into a record of what you actually know. Try it: https://trystudybuddy.vercel.app Code: https://github.com/DagaVedant/StudyBuddy What I made Upload a worksheet you already finished, as a PDF or photos. A vision model pulls out every question, its options and its answer key. You mark what you got wrong. That is the only input it needs. It sorts questions into 87 topics across SAT and competition maths. Then it ranks your weak areas and schedules revision using FSRS, the algorithm behind Anki. It also writes practice questions on your weak topics and exports misses to Blooket. Built on my own past papers: 387 real questions from 22 worksheets. What was challenging The models can run in four places: my GPU, your API key, your own Ollama, or not at all. A student with a GPU should never send homework to my server. A student with nothing should still get something. Topic tagging needs an embedding model that serverless hosting cannot run. So the shortlist is a pgvector query on the server and the vector is computed anywhere, including in your browser under WebAssembly. Worst bug was three characters: I stored the global fetch on a class field, which passes the object as the receiver. Node allows it, browsers throw Illegal invocation. Every test passed and the only runtime that mattered was broken. What I am proud of It does not lie to you. Weak topics are ranked by a Wilson lower bound, not a raw percentage, so two unlucky answers cannot fake a weakness. Model-written questions are kept out of your accuracy, so the ranking cannot feed the questions it generates. Every model response is schema-checked before it reaches the database. Generated practice is sifted against thirteen specific failure modes. When my GPU is off, the upload screen says so instead of spinning. 1,459 unit tests, 84 end to end, 293 commits. How to test it Sign in with Google, or an email and password. Upload any worksheet you have already done. A past paper works well. Check what it read. Each question sits beside the page image it came from. Mark what you missed, then open the dashboard. The free trial reads three worksheets on my own GPU. If it is off, your upload queues and the app tells you. To skip the wait, settings takes your own API key or connects to Ollama on your machine. guys i wish this was markdown compatible but its not so sorry
StudyBuddy - https://trystudybuddy.vercel.app fyi before u try it: reading runs on a free model with a shared daily cap, and ship day is way more traffic than a normal day. please use the sample worksheets wherever u can (they’re the first thing on the upload page, one click) and upload at most one of ur own pdfs for the next day or two. if the homepage says the free reads are used up, the samples still work. what it does upload a worksheet pdf. it reads every question off the page, tags each one by topic, and works out the answer key. u mark which ones u got wrong and it brings them back on an FSRS schedule (the algo anki uses). across every test u upload it turns “i got 12 wrong” into “ur bad at ratios”. what changed since last time runs on openrouter’s free tier instead of my gpu. not a proof of concept anymore one worksheet is ~4 requests instead of ~42. pages are read in groups the site says when the day’s free reads are running low. clear about the trial: 3 worksheets free, then still free, u just add questions by hand or plug in ur own key. what was hard free models reason before they answer and bill that against the output limit which ends up causing an error, but its really hard to figure out the embedding-only shortcut for sorting looked fine and was wrong a third of the time so fixed it...
|
1792810498.542455
|
1792896898.542455
|
|
44844
|
PanOS by @pancakse | Stardance
|
pancakse
|
2
|
4.0
|
6
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T03:07:21Z", "hours": 2.0, "multiplier": 2.67, "payout": 6, "blessing": "neutral", "text": "I’ve added a terminal, notepad, apps icons, apps show on the taskbar and a recycle bin!", "repo": "https://github.com/ItzPancakse/PanOS", "demo": "https://itzpancakse.github.io/PanOS/"}, {"ship_num": 2, "ts": "2026-08-08T07:41:55Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own webos themed after windows 9X. The javascript always sucks. Im proud of the fact i made a calculator app", "repo": "https://github.com/ItzPancakse/PanOS", "demo": "https://itzpancakse.github.io/PanOS/"}]...
|
[{"post_id": 44369, "ts": "202 [{"post_id": 44369, "ts": "2026-08-10T02:38:45Z", "hours": 0.3761, "text": "I added a recycle bin app and notepad"}, {"post_id": 44338, "ts": "2026-08-10T01:09:50Z", "hours": 1.9783, "text": "So ive made a literal terminal app (its kinda basic) but it works we have also added app icons!"}, {"post_id": 43103, "ts": "2026-08-08T05:57:15Z", "hours": 0.4744, "text": "I added a contacts app!"}, {"post_id": 43088, "ts": "2026-08-08T05:18:57Z", "hours": 0.8769, "text": "We added a calculator app and it works! We have also added a taskbar and start menu!"}, {"post_id": 42473, "ts": "2026-08-07T07:08:33Z", "hours": 0.5828, "text": "I got a dragable window and a about me"}]...
|
Title: PanOS by @pancakse | Stardance
Devlogs:
I Title: PanOS by @pancakse | Stardance
Devlogs:
I got a dragable window and a about me
We added a calculator app and it works! We have also added a taskbar and start menu!
I added a contacts app!
So ive made a literal terminal app (its kinda basic) but it works we have also added app icons!
I added a recycle bin app and notepad
Ships:
I made my own webos themed after windows 9X. The javascript always sucks. Im proud of the fact i made a calculator app
I’ve added a terminal, notepad, apps icons, apps show on the taskbar and a recycle bin!...
|
1792838899.534749
|
1792925299.534749
|
|
44874
|
About Me by @AkshatBansal | Stardance
|
|
2
|
1.51
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T06:38:55Z", "hours": 1.0, "multiplier": 1.16, "payout": 1, "blessing": "neutral", "text": "its not showing approved on my account pls check", "repo": "https://github.com/akshatbansaltech/about-me", "demo": "https://akshatbansaltech.github.io/about-me/"}, {"ship_num": 2, "ts": "2026-08-07T13:18:47Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made this website, quite a simple one actually. its just basic html + css and my personal design.", "repo": "https://github.com/akshatbansaltech/about-me", "demo": "https://akshatbansaltech.github.io/about-me/"}]...
|
[{"post_id": 57915, "ts": "202 [{"post_id": 57915, "ts": "2026-08-30T07:48:28Z", "hours": 0.5061, "text": "accc"}, {"post_id": 43121, "ts": "2026-08-08T06:37:58Z", "hours": 0.7075, "text": "workin quite good"}, {"post_id": 42517, "ts": "2026-08-07T09:57:41Z", "hours": 0.2589, "text": "Look good till now!"}]...
|
Title: About Me by @AkshatBansal | Stardance
Devl Title: About Me by @AkshatBansal | Stardance
Devlogs:
Look good till now!
workin quite good
accc
Ships:
I made this website, quite a simple one actually. its just basic html + css and my personal design.
its not showing approved on my account pls check...
|
1792839039.1596022
|
1792925439.1596022
|
|
45017
|
CYBER_OS by @Judith | Stardance
|
Judith
|
2
|
9.0
|
8
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-12T16:47:06Z", "hours": 1.0, "multiplier": 5.98, "payout": 8, "blessing": "neutral", "text": "Change background/wallpaper Change cursor color Added new app: browser", "repo": "https://github.com/zvythrox67/WebOS", "demo": "https://zvythrox67.github.io/WebOS/"}, {"ship_num": 2, "ts": "2026-08-08T23:07:46Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A Cyber Themed Operating System. I’m most proud of the theme and the cybergram app. My biggest challenge: The icons in the desktop wouldn’t open so I had to click on the start button (the star on the bottom left) and thenopen apps.", "repo": "https://github.com/zvythrox67/WebOS", "demo": "https://zvythrox67.github.io/WebOS/"}]...
|
[{"post_id": 45876, "ts": "202 [{"post_id": 45876, "ts": "2026-08-12T16:45:03Z", "hours": 0.2769, "text": "Added wallpaper changing and cursor style feature"}, {"post_id": 45865, "ts": "2026-08-12T16:25:11Z", "hours": 0.6628, "text": "Added a browser app."}, {"post_id": 44873, "ts": "2026-08-10T22:14:18Z", "hours": 0.4472, "text": "Fixed Bug: Wasn’t able to click on the desktop icons."}, {"post_id": 43596, "ts": "2026-08-08T23:05:14Z", "hours": 0.2994, "text": "Released!"}, {"post_id": 43582, "ts": "2026-08-08T22:29:07Z", "hours": 0.4947, "text": "finished with apps. Just need to fix some bugs and then I’ll be good to go!"}, {"post_id": 43550, "ts": "2026-08-08T21:38:33Z", "hours": 1.82, "text": "Currently working on making a photos/gallery app and a social media app replicating Insta. (yes I did get those pics from pinterest)"}, {"post_id": 43427, "ts": "2026-08-08T17:43:54Z", "hours": 1.4539, "text": "Updated the music app. dk which banner I should pick…"}, {"post_id": 43371, "ts": "2026-08-08T15:59:39Z", "hours": 2.8503, "text": "Finally completed my entire desktop window and added the apps. I still have to work on the design though. The apps I added: Terminal, Notes, Music, Calculator, Trash, Sketch, Gallery"}, {"post_id": 42887, "ts": "2026-08-07T20:54:28Z", "hours": 0.4511, "text": "Just finished the booting animation. dk if I should add a background animation while booting or would that be too much..?"}, {"post_id": 42857, "ts": "2026-08-07T20:08:31Z", "hours": 0.7875, "text": "Just finished the opening/booting screen for my WebOS. The theme is CyberPunk."}]...
|
Title: CYBER_OS by @Judith | Stardance
Devlogs:
J Title: CYBER_OS by @Judith | Stardance
Devlogs:
Just finished the opening/booting screen for my WebOS. The theme is CyberPunk.
Just finished the booting animation. dk if I should add a background animation while booting or would that be too much..?
Finally completed my entire desktop window and added the apps. I still have to work on the design though. The apps I added: Terminal, Notes, Music, Calculator, Trash, Sketch, Gallery
Updated the music app. dk which banner I should pick…
Currently working on making a photos/gallery app and a social media app replicating Insta. (yes I did get those pics from pinterest)
finished with apps. Just need to fix some bugs and then I’ll be good to go!
Released!
Fixed Bug: Wasn’t able to click on the desktop icons.
Added a browser app.
Added wallpaper changing and cursor style feature
Ships:
A Cyber Themed Operating System. I’m most proud of the theme and the cybergram app. My biggest challenge: The icons in the desktop wouldn’t open so I had to click on the start button (the star on the bottom left) and thenopen apps.
Change background/wallpaper Change cursor color Added new app: browser...
|
1792842724.4577258
|
1792929124.4577258
|
|
45076
|
skyStart by @skyFonix | Stardance
|
skyFonix
|
2
|
12.0
|
18
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T18:09:33Z", "hours": 6.0, "multiplier": 2.33, "payout": 18, "blessing": "neutral", "text": "I added a synchronization feature across multiple devices with a centralized backend!", "repo": "https://github.com/FonixPython/skyStart", "demo": "https://skystart.cigoria.eu"}, {"ship_num": 2, "ts": "2026-08-08T19:24:01Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a start page in React, with a customizable search engine optional background blur for the photos fetched from the APOD api from NASA an unlimited amount of shortcuts collapse-able sticky notes with synchronization across tabs and windows!", "repo": "https://github.com/FonixPython/skyStart", "demo": "https://skystart.cigoria.eu"}]...
|
[{"post_id": 63086, "ts": "202 [{"post_id": 63086, "ts": "2026-09-06T17:57:09Z", "hours": 3.8553, "text": "After quite a lot of work, syncing settings and notes between devices is finally done! It’s accomplished with generated uuid, that can be shared between clients!"}, {"post_id": 61766, "ts": "2026-09-04T20:37:16Z", "hours": 1.7011, "text": "Been a while! School started so I’ve been pretty busy with that ig. I wanted to continue working on the coffeeTracker, but I’m a bit bored of that currently so I decided to work a bit more on skystart. I’ve wanted to add syncs from the begging and even tried, but ultimately gave up on in. But I’m giving it another shot! Already moved the project to typescript and initialized PrismaORM with sqlite! Next up are the endpoints! This feature will be pretty useful for me!"}, {"post_id": 43544, "ts": "2026-08-08T21:31:43Z", "hours": 0.7861, "text": "Added snap to grid and middle click to add sticky notes!"}, {"post_id": 43423, "ts": "2026-08-08T17:31:36Z", "hours": 2.1342, "text": "Added collapseable sticky notes that have a relative position to the screen so they can’t move out of sight! Also added option for background blur! I think it’s pretty much finished I just need to deploy it!"}, {"post_id": 43333, "ts": "2026-08-08T15:10:15Z", "hours": 2.7244, "text": "Changes: I connected my site to the APOD api, for the background, but directly accessing the api every time, was slow, so I made a cache for it Added a settings panel, so now the search engine can be changed, along with the shortcuts!"}, {"post_id": 42715, "ts": "2026-08-07T15:56:23Z", "hours": 1.5472, "text": "searching and shortcuts work now, next is the wallpaper from apod and maybe better shortcut icons"}]...
|
Title: skyStart by @skyFonix | Stardance
Devlogs: Title: skyStart by @skyFonix | Stardance
Devlogs:
searching and shortcuts work now, next is the wallpaper from apod and maybe better shortcut icons
Changes: I connected my site to the APOD api, for the background, but directly accessing the api every time, was slow, so I made a cache for it Added a settings panel, so now the search engine can be changed, along with the shortcuts!
Added collapseable sticky notes that have a relative position to the screen so they can’t move out of sight! Also added option for background blur! I think it’s pretty much finished I just need to deploy it!
Added snap to grid and middle click to add sticky notes!
Been a while! School started so I’ve been pretty busy with that ig. I wanted to continue working on the coffeeTracker, but I’m a bit bored of that currently so I decided to work a bit more on skystart. I’ve wanted to add syncs from the begging and even tried, but ultimately gave up on in. But I’m giving it another shot! Already moved the project to typescript and initialized PrismaORM with sqlite! Next up are the endpoints! This feature will be pretty useful for me!
After quite a lot of work, syncing settings and notes between devices is finally done! It’s accomplished with generated uuid, that can be shared between clients!
Ships:
I made a start page in React, with a customizable search engine optional background blur for the photos fetched from the APOD api from NASA an unlimited amount of shortcuts collapse-able sticky notes with synchronization across tabs and windows!
I added a synchronization feature across multiple devices with a centralized backend!...
|
1792842794.342569
|
1792929194.342569
|
|
45451
|
Stupid website by @maxel347 | Stardance
|
maxel347
|
2
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T20:21:55Z", "hours": 1.0, "multiplier": 1.02, "payout": 1, "blessing": "neutral", "text": "What did I make ? A simple stupid Website that Finals works now a simple Place to Post my stuff", "repo": "https://github.com/Maxel347/stupid-website", "demo": "https://maxel347.github.io/stupid-website/"}, {"ship_num": 2, "ts": "2026-08-10T11:18:00Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a stupid and simple website its nothing special just a simple space for me", "repo": "https://github.com/Maxel347/stupid-website", "demo": "https://maxel347.github.io/stupid-website/"}]...
|
[{"post_id": 47139, "ts": "202 [{"post_id": 47139, "ts": "2026-08-14T20:19:14Z", "hours": 0.8042, "text": "Just fixes some Minor things"}, {"post_id": 44533, "ts": "2026-08-10T11:11:39Z", "hours": 0.6461, "text": "Projects page"}, {"post_id": 44502, "ts": "2026-08-10T09:41:31Z", "hours": 0.3981, "text": "Burger Menu PC/PHONE"}]...
|
Title: Stupid website by @maxel347 | Stardance
De Title: Stupid website by @maxel347 | Stardance
Devlogs:
Burger Menu PC/PHONE
Projects page
Just fixes some Minor things
Ships:
I made a stupid and simple website its nothing special just a simple space for me
What did I make ? A simple stupid Website that Finals works now a simple Place to Post my stuff...
|
1792846359.286213
|
1792932759.286213
|
|
45509
|
Atomic-Habitizer by @AFJ | Stardance
|
AFJ
|
2
|
35.61
|
214
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T12:34:17Z", "hours": 22.0, "multiplier": 9.13, "payout": 203, "blessing": "neutral", "text": "What i made? I made Atomic Habitizer(I read the book Atomic Habits recently 😅). A simple habit tracking dashboard that help users build consistency through daily tracking and streaks. It includes weekly habit tracking, individual streaks for each habit, a maximum streak accross all habits, a dynamic progress ring, habit categories, quick presets, and local data storage. The Most challenging part One of them was making the streak system. The other was the Progress ring it was an html svg design i saw in reddit but never knew how it worked till i worked on JS. The version one which was my very first ship and was very simple and humble project. I got many suggestion from reviewers So Im proud that I reached here. For Testing, You should add a few habits and click the days in the weekly tracker to mark them complete. You can check whether the streaks and progress calculations are working. Then You can try to edit and delete the habit which will show my cute custiom popovers You can check the quick presets are working or not Note that the progress ring is based on current day’s habit completion and number of habits", "repo": "https://github.com/AfshinJamseed/Atomic-Habitiser/tree/v2", "demo": "https://afshinjamseed.github.io/Atomic-Habitiser/"}, {"ship_num": 2, "ts": "2026-08-08T10:09:29Z", "hours": 8.0, "multiplier": 1.34, "payout": 11, "blessing": "neutral", "text": "I made a Habit Tracker, which you can track your own habits for a diciplined life.", "repo": "https://github.com/AfshinJamseed/Atomic-Habitiser/tree/v2", "demo": "https://afshinjamseed.github.io/Atomic-Habitiser/"}]...
|
[{"post_id": 59550, "ts": "202 [{"post_id": 59550, "ts": "2026-09-01T13:10:19Z", "hours": 4.3025, "text": "V3 I styled the sidebar: It was very hard. I brought my cousin via live share and we worked together The ring mechanism was the most confusing. The design here is my idea 😁blah blah blah…"}, {"post_id": 59417, "ts": "2026-09-01T07:22:57Z", "hours": 1.0011, "text": "Starting the new version based on the reviews. Now i am trying to make the name and the app match. I got a design for a web dashboard a classic one from the internet and redisigned it using pen and paper to fit this project"}, {"post_id": 53561, "ts": "2026-08-24T04:57:15Z", "hours": 0.305, "text": "Added a video and an image in the readme"}, {"post_id": 53003, "ts": "2026-08-23T12:00:25Z", "hours": 0.5925, "text": "Readme was completed Project is now live this will be last devlog of v2 Try out the project: https://afshinjamseed.github.io/Atomic-Habitiser/"}, {"post_id": 52957, "ts": "2026-08-23T10:34:50Z", "hours": 1.8392, "text": "The Streak Calculation Was the hardest part. I asked Chat gpt for the logic. Now Moving on to Readme."}, {"post_id": 52876, "ts": "2026-08-23T07:54:30Z", "hours": 2.6378, "text": "Pop ups and Presets are now perfected. The preset are easy only pushing in-build objects into the array. But the popups poped me they were tuff finally after some research i got the perfect custom popup logics for me"}, {"post_id": 52556, "ts": "2026-08-22T18:39:20Z", "hours": 2.3389, "text": "Making custom popups 🎇🎇"}, {"post_id": 51790, "ts": "2026-08-21T17:06:55Z", "hours": 0.3128, "text": "Locked the upcomming days"}, {"post_id": 51774, "ts": "2026-08-21T16:44:17Z", "hours": 2.3067, "text": "Basic Functions are Made interactive. Took a lot of ⌚."}, {"post_id": 51572, "ts": "2026-08-21T10:51:02Z", "hours": 1.5481, "text": "JAVA SCRIPT ❌ BUG SCRIPT ✅ 😂"}, {"post_id": 51480, "ts": "2026-08-21T06:40:29Z", "hours": 4.2794, "text": "whoof that was was hard"}, {"post_id": 49715, "ts": "2026-08-18T17:01:28Z", "hours": 1.345, "text": "Made a almost perfect card"}, {"post_id": 49555, "ts": "2026-08-18T13:04:18Z", "hours": 1.4981, "text": "The last reviewers told me to improve the UI so full of improving it"}, {"post_id": 49066, "ts": "2026-08-17T17:39:19Z", "hours": 0.8528, "text": "Top Section Designing was done"}, {"post_id": 48822, "ts": "2026-08-17T11:20:20Z", "hours": 0.7856, "text": "Got a better design designing is my weakness"}, {"post_id": 48797, "ts": "2026-08-17T10:31:59Z", "hours": 1.4922, "text": "I am no trying out some designs for my new version of Atomic Habitizer Please comment if you can see any. I am bad at designing"}, {"post_id": 48753, "ts": "2026-08-17T08:58:18Z", "hours": 0.4544, "text": "The first version was just an prototype now i am starting 2nd version of this project"}, {"post_id": 43192, "ts": "2026-08-08T09:58:53Z", "hours": 7.9069, "text": "Ready To Ship"}]...
|
Title: Atomic-Habitizer by @AFJ | Stardance
Devlo Title: Atomic-Habitizer by @AFJ | Stardance
Devlogs:
Ready To Ship
The first version was just an prototype now i am starting 2nd version of this project
I am no trying out some designs for my new version of Atomic Habitizer Please comment if you can see any. I am bad at designing
Got a better design designing is my weakness
Top Section Designing was done
The last reviewers told me to improve the UI so full of improving it
Made a almost perfect card
whoof that was was hard
JAVA SCRIPT ❌ BUG SCRIPT ✅ 😂
Basic Functions are Made interactive. Took a lot of ⌚.
Locked the upcomming days
Making custom popups 🎇🎇
Pop ups and Presets are now perfected. The preset are easy only pushing in-build objects into the array. But the popups poped me they were tuff finally after some research i got the perfect custom popup logics for me
The Streak Calculation Was the hardest part. I asked Chat gpt for the logic. Now Moving on to Readme.
Readme was completed Project is now live this will be last devlog of v2 Try out the project: https://afshinjamseed.github.io/Atomic-Habitiser/
Added a video and an image in the readme
Starting the new version based on the reviews. Now i am trying to make the name and the app match. I got a design for a web dashboard a classic one from the internet and redisigned it using pen and paper to fit this project
V3 I styled the sidebar: It was very hard. I brought my cousin via live share and we worked together The ring mechanism was the most confusing. The design here is my idea 😁blah blah blah…
Ships:
I made a Habit Tracker, which you can track your own habits for a diciplined life.
What i made? I made Atomic Habitizer(I read the book Atomic Habits recently 😅). A simple habit tracking dashboard that help users build consistency through daily tracking and streaks. It includes weekly habit tracking, individual streaks for each habit, a maximum streak accross all habits, a dynamic progress ring, habit categories, quick presets, and local data storage. The Most challenging part One of them was making the streak system. The other was the Progress ring it was an html svg design i saw in reddit but never knew how it worked till i worked on JS. The version one which was my very first ship and was very simple and humble project. I got many suggestion from reviewers So Im proud that I reached here. For Testing, You should add a few habits and click the days in the weekly tracker to mark them complete. You can check whether the streaks and progress calculations are working. Then You can try to edit and delete the habit which will show my cute custiom popovers You can check the quick presets are working or not Note that the progress ring is based on current day’s habit completion and number of habits...
|
1792875227.0075614
|
1793739227.0075614
|
|
45521
|
My Own Site! by @Mysterious-- | Stardance
|
Mysterious--
|
2
|
9.0
|
46
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-25T18:05:37Z", "hours": 4.0, "multiplier": 11.61, "payout": 46, "blessing": "neutral", "text": "I made a website showing my personal portfolio. It includes my achievements, my participation in different hackathons, my skills and my projects. The thing I felt challenging was styling the website and encountering the bugs. I’m proud of myself for making my personal portfolio website. People can explore diffrent sections of my portfolio, including my achievements, hackathons, skills and projects. They can also test the navigations, interact with the links and buttons and check how the website looks and works on different screen sizes.", "repo": "https://github.com/Shreyanshjainvip/My-Website/", "demo": "https://shreyanshweb.netlify.app/"}, {"ship_num": 2, "ts": "2026-08-09T11:53:19Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website showing my personal portfolio. It includes my achievements, my participation in different hackathons, my skills and my projects. The thing I felt challenging was styling the website and encountering the bugs. I’m proud of myself for making my personal portfolio website. People can explore diffrent sections of my portfolio, including my achievements, hackathons, skills and projects. They can also test the navigations, interact with the links and buttons and check how the website looks and works on different screen sizes.", "repo": "https://github.com/Shreyanshjainvip/My-Website/", "demo": "https://shreyanshweb.netlify.app/"}]...
|
[{"post_id": 54653, "ts": "202 [{"post_id": 54653, "ts": "2026-08-25T18:03:56Z", "hours": 3.6231, "text": "I improved and polished my personal portfolio website with several visual and interactive updates. I worked on the overall styling, layout, sections, spacing, contact area, images and responsiveness to give the website a more complete and consistent feel. I also added smoother scroll-reveal animations, a typing effect, animated statistics, active navigation feedback, a back-to-top button, a scroll progress bar, background/rain effects and custom cursor interactions. Along the way, I fixed bugs and broken elements from the earlier version and improved how my projects, skills, experience, achievements, journey and contact information are presented.Finally, I cleaned up parts of the HTML, CSS and JavaScript to make the website run more smoothly and feel more polished overall."}, {"post_id": 44130, "ts": "2026-08-09T18:11:35Z", "hours": 0.3003, "text": "Tomorrow’s Plan Quick update: I spent around 5h 6m on the project so far, and I also fixed the remaining bugs in about 20 minutes today. Tomorrow I want to focus on polishing the site rather than adding a ton of new features. I’ll work on improving the overall design, checking the mobile layout, cleaning up anything that feels inconsistent and making sure everything works properly before shipping. Goal for tomorrow: polish → test → ship 🚀"}, {"post_id": 43875, "ts": "2026-08-09T10:05:07Z", "hours": 4.8872, "text": "My Own Site is my personal portfolio and a place to document the things I build, test, experiment with and learn."}]...
|
Title: My Own Site! by @Mysterious-- | Stardance
Title: My Own Site! by @Mysterious-- | Stardance
Devlogs:
My Own Site is my personal portfolio and a place to document the things I build, test, experiment with and learn.
Tomorrow’s Plan Quick update: I spent around 5h 6m on the project so far, and I also fixed the remaining bugs in about 20 minutes today. Tomorrow I want to focus on polishing the site rather than adding a ton of new features. I’ll work on improving the overall design, checking the mobile layout, cleaning up anything that feels inconsistent and making sure everything works properly before shipping. Goal for tomorrow: polish → test → ship 🚀
I improved and polished my personal portfolio website with several visual and interactive updates. I worked on the overall styling, layout, sections, spacing, contact area, images and responsiveness to give the website a more complete and consistent feel. I also added smoother scroll-reveal animations, a typing effect, animated statistics, active navigation feedback, a back-to-top button, a scroll progress bar, background/rain effects and custom cursor interactions. Along the way, I fixed bugs and broken elements from the earlier version and improved how my projects, skills, experience, achievements, journey and contact information are presented.Finally, I cleaned up parts of the HTML, CSS and JavaScript to make the website run more smoothly and feel more polished overall.
Ships:
I made a website showing my personal portfolio. It includes my achievements, my participation in different hackathons, my skills and my projects. The thing I felt challenging was styling the website and encountering the bugs. I’m proud of myself for making my personal portfolio website. People can explore diffrent sections of my portfolio, including my achievements, hackathons, skills and projects. They can also test the navigations, interact with the links and buttons and check how the website looks and works on different screen sizes.
I made a website showing my personal portfolio. It includes my achievements, my participation in different hackathons, my skills and my projects. The thing I felt challenging was styling the website and encountering the bugs. I’m proud of myself for making my personal portfolio website. People can explore diffrent sections of my portfolio, including my achievements, hackathons, skills and projects. They can also test the navigations, interact with the links and buttons and check how the website looks and works on different screen sizes....
|
1792821237.9071648
|
1792907637.9071648
|
|
45657
|
BasbOSa by @sarahzoghly | Stardance
|
sarahzoghly
|
2
|
24.63
|
87
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T18:06:56Z", "hours": 12.0, "multiplier": 7.59, "payout": 87, "blessing": "neutral", "text": "That took so much time even though it might look simple, but I am new to web dev, and that is really a huge step from the first version of it. I added 2 other apps, a web search bar, a ticker, and a weather widget. That was too much fun to make, and I had fun making Basbousa into a character like I wanted.", "repo": "https://github.com/sarahzoghly/personal-OS", "demo": "https://sarahzoghly.github.io/personal-OS/"}, {"ship_num": 2, "ts": "2026-08-11T17:42:47Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "That one was harder than the personal website one but it was also fun to make and customize. I still plan to add some other stuff later.", "repo": "https://github.com/sarahzoghly/personal-OS", "demo": "https://sarahzoghly.github.io/personal-OS/"}]...
|
[{"post_id": 68667, "ts": "202 [{"post_id": 68667, "ts": "2026-09-15T14:32:00Z", "hours": 0.6322, "text": "I moved the taskbar to the bottom (bec it hide the apps sometimes), fixed its position and fixed Basbousa to the center too. I still have to adjust the other stuff on the screen so they look nice on all screen views."}, {"post_id": 68169, "ts": "2026-09-14T17:13:21Z", "hours": 1.2411, "text": "Final touchesss"}, {"post_id": 65506, "ts": "2026-09-10T18:17:42Z", "hours": 0.6358, "text": "Added a side window to put Basbousa (the cat) in when the game is being played. I just need to make the cat Gifs for the drawing and game apps and I think I am done"}, {"post_id": 64502, "ts": "2026-09-08T23:07:00Z", "hours": 0.5203, "text": "Added a ticker"}, {"post_id": 64489, "ts": "2026-09-08T22:27:36Z", "hours": 1.9558, "text": "Made a weather widget!"}, {"post_id": 63903, "ts": "2026-09-07T22:49:36Z", "hours": 0.58, "text": "addded a search bar, looks cool."}, {"post_id": 63874, "ts": "2026-09-07T21:30:35Z", "hours": 1.7106, "text": "That is kinda fun honestly even if I was really more optimistic about the ‘ai guesses the drawing’ thing than what I ended up with (which isn’t really an ai, it just chooses smth random to say from a list) but it works so that is good."}, {"post_id": 63148, "ts": "2026-09-06T19:49:03Z", "hours": 1.5339, "text": "Made a sketchpad! It works,u can draw on it now. I wanna make this app like Quick, Draw! thing, Basbousa (the cat) is supposed to guess what u r drawing. I will still figure out that part"}, {"post_id": 59236, "ts": "2026-08-31T22:16:46Z", "hours": 1.6856, "text": "Added a game! That is supposed to be a gaming app with different games in there, I added the first one (which is a demo for a game that I made). I still have to add “choose a game” and make the actual app interface."}, {"post_id": 45432, "ts": "2026-08-11T21:25:44Z", "hours": 1.6467, "text": "Fixed all the CSS bugs (or what I found anyway) that is how it looks in different screen views"}, {"post_id": 45298, "ts": "2026-08-11T17:40:45Z", "hours": 0.5931, "text": "changed the title and made the bg cat disappear when the info app is open"}, {"post_id": 45243, "ts": "2026-08-11T16:13:05Z", "hours": 3.2922, "text": "Finally made the first app! (or second if I am counting the info one), it is a simple chatbot with a cat that u can pet."}, {"post_id": 44935, "ts": "2026-08-11T00:54:38Z", "hours": 2.5547, "text": "Added the first app window (info), made it draggable and closeable."}, {"post_id": 44868, "ts": "2026-08-10T22:06:00Z", "hours": 1.8494, "text": "Added some stuff. Made the cat eyes move better, added a top bar with a logout button, and added a pop-up that I will still make work properly"}, {"post_id": 44077, "ts": "2026-08-09T16:28:32Z", "hours": 1.7697, "text": "Changed the welcome screen (still didn’t think about a name for the OS), added a cat with tracking eyes (Claude helped me with that) and made the OS bg."}, {"post_id": 43620, "ts": "2026-08-09T00:13:57Z", "hours": 1.7789, "text": "Made working button that switch to the OS. Most stuff r placeholders that I will change later."}]...
|
Title: BasbOSa by @sarahzoghly | Stardance
Devlog Title: BasbOSa by @sarahzoghly | Stardance
Devlogs:
Made working button that switch to the OS. Most stuff r placeholders that I will change later.
Changed the welcome screen (still didn’t think about a name for the OS), added a cat with tracking eyes (Claude helped me with that) and made the OS bg.
Added some stuff. Made the cat eyes move better, added a top bar with a logout button, and added a pop-up that I will still make work properly
Added the first app window (info), made it draggable and closeable.
Finally made the first app! (or second if I am counting the info one), it is a simple chatbot with a cat that u can pet.
changed the title and made the bg cat disappear when the info app is open
Fixed all the CSS bugs (or what I found anyway) that is how it looks in different screen views
Added a game! That is supposed to be a gaming app with different games in there, I added the first one (which is a demo for a game that I made). I still have to add “choose a game” and make the actual app interface.
Made a sketchpad! It works,u can draw on it now. I wanna make this app like Quick, Draw! thing, Basbousa (the cat) is supposed to guess what u r drawing. I will still figure out that part
That is kinda fun honestly even if I was really more optimistic about the ‘ai guesses the drawing’ thing than what I ended up with (which isn’t really an ai, it just chooses smth random to say from a list) but it works so that is good.
addded a search bar, looks cool.
Made a weather widget!
Added a ticker
Added a side window to put Basbousa (the cat) in when the game is being played. I just need to make the cat Gifs for the drawing and game apps and I think I am done
Final touchesss
I moved the taskbar to the bottom (bec it hide the apps sometimes), fixed its position and fixed Basbousa to the center too. I still have to adjust the other stuff on the screen so they look nice on all screen views.
Ships:
That one was harder than the personal website one but it was also fun to make and customize. I still plan to add some other stuff later.
That took so much time even though it might look simple, but I am new to web dev, and that is really a huge step from the first version of it. I added 2 other apps, a web search bar, a ticker, and a weather widget. That was too much fun to make, and I had fun making Basbousa into a character like I wanted....
|
1792813660.3768864
|
1792900060.3768864
|
|
45682
|
SolarTab by @GeorgeSun | Stardance
|
GeorgeSun
|
2
|
3.0
|
10
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T02:22:36Z", "hours": 1.0, "multiplier": 11.55, "payout": 10, "blessing": "neutral", "text": "I made SolarTab, a custom new tab page focused around NASA’s astronomy picture of the day. It has many features such as an ISS locator, recent space news, calendar, to-do list, weather, and recent searches. The most challenging part of this was making the widgets as some of them were like a project of their own. I am most proud of the UI as it is easily customizable and has a nice blurry transparency effect to it. You can try my project now using the Try project button below!", "repo": "https://github.com/Geofoods/SolarTab", "demo": "https://geofoods.github.io/SolarTab/"}, {"ship_num": 2, "ts": "2026-08-15T17:20:12Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made SolarTab, a custom new tab page focused around NASA’s astronomy picture of the day. It has many features such as an ISS locator, recent space news, calendar, to-do list, weather, and recent searches. The most challenging part of this was making the widgets as some of them were like a project of their own. I am most proud of the UI as it is easily customizable and has a nice blurry transparency effect to it. You can try my project now using the Try project button below!", "repo": "https://github.com/Geofoods/SolarTab", "demo": "https://geofoods.github.io/SolarTab/"}]...
|
[{"post_id": 48624, "ts": "202 [{"post_id": 48624, "ts": "2026-08-17T02:52:04Z", "hours": 0.6869, "text": "I fixed some bugs with dragging the widgets and the calendar app not being able to change the month"}, {"post_id": 47614, "ts": "2026-08-15T16:54:36Z", "hours": 0.2664, "text": "I made the spacing between elements match up and just made overall polishing changes such as moving the date to the center, a settings screen to customize dark/light mode and accent color."}, {"post_id": 47508, "ts": "2026-08-15T13:48:54Z", "hours": 1.1542, "text": "I added the icons to the search engine selection as well as the ability to add your own search engine as well. I also added quick links and the ability to edit, delete, and move them around. At the bottom, there is now also a title and description for the backgrond image which you can select which day as well. I added more widgets such as space news, recent searches, and ISS tracker where you can customize the location of these widgets"}, {"post_id": 46953, "ts": "2026-08-14T15:04:53Z", "hours": 0.2628, "text": "Added the date to the top left corner as well as a I’m feeling lucky button inspired from Google. I also added widgets that show the calendar, weather, and a todolist."}, {"post_id": 46383, "ts": "2026-08-13T15:40:01Z", "hours": 0.6458, "text": "I made the background picture be the astronomy picture of the day and also added a clock and added options to choose between what search engine you want and also the functionality of searching"}]...
|
Title: SolarTab by @GeorgeSun | Stardance
Devlogs Title: SolarTab by @GeorgeSun | Stardance
Devlogs:
I made the background picture be the astronomy picture of the day and also added a clock and added options to choose between what search engine you want and also the functionality of searching
Added the date to the top left corner as well as a I’m feeling lucky button inspired from Google. I also added widgets that show the calendar, weather, and a todolist.
I added the icons to the search engine selection as well as the ability to add your own search engine as well. I also added quick links and the ability to edit, delete, and move them around. At the bottom, there is now also a title and description for the backgrond image which you can select which day as well. I added more widgets such as space news, recent searches, and ISS tracker where you can customize the location of these widgets
I made the spacing between elements match up and just made overall polishing changes such as moving the date to the center, a settings screen to customize dark/light mode and accent color.
I fixed some bugs with dragging the widgets and the calendar app not being able to change the month
Ships:
I made SolarTab, a custom new tab page focused around NASA’s astronomy picture of the day. It has many features such as an ISS locator, recent space news, calendar, to-do list, weather, and recent searches. The most challenging part of this was making the widgets as some of them were like a project of their own. I am most proud of the UI as it is easily customizable and has a nice blurry transparency effect to it. You can try my project now using the Try project button below!
I made SolarTab, a custom new tab page focused around NASA’s astronomy picture of the day. It has many features such as an ISS locator, recent space news, calendar, to-do list, weather, and recent searches. The most challenging part of this was making the widgets as some of them were like a project of their own. I am most proud of the UI as it is easily customizable and has a nice blurry transparency effect to it. You can try my project now using the Try project button below!...
|
1792817512.1047332
|
1792903912.1047332
|
|
45689
|
AmateurBot by @amateur_tech_guy | Stardance
|
amateur_tech_guy
|
2
|
11.0
|
7
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T22:56:31Z", "hours": 2.0, "multiplier": 3.52, "payout": 7, "blessing": "neutral", "text": "AmateurBot is a fun little slack bot that you can play around with, it has all kinds of cool features, i recently just made the messages visible in chat just in case anyone wanted it. and i also think i opened the DMs, im not really sure if it works, im submitting this project to shipping to see what you guys think of it, pls leave a good review and be nice:)", "repo": "https://github.com/amateurtechguy/AmateurBot", "demo": "https://hackclub.slack.com/oauth?client_id=2210535565.11780344106421&scope=chat%3Awrite%2Ccommands%2Capp_mentions%3Aread%2Cchannels%3Ahistory&user_scope=&redirect_uri=&state=&granular_bot_scope=1&single_channel=0&install_redirect=oauth&tracked=1&user_default=0&original_team=T0266FRGM&team=1"}, {"ship_num": 2, "ts": "2026-08-11T00:07:55Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a slack bot in 3 days! Don’t get me wrong, it’s nothing special, very basic but it meets the requirements. I tried making his answers visible to everyone but I’m pretty sure one or two are only visible to you and I’m so sick of debugging that. After all it isn’t said in the requirements that the bot had to have visible answers for everyone. What I’m most proud of in this project, is my patience, I have no idea how I was THAT patient because there were bugs left and right but hey, at least I finished it!:D", "repo": "https://github.com/amateurtechguy/AmateurBot", "demo": "https://hackclub.slack.com/oauth?client_id=2210535565.11780344106421&scope=chat%3Awrite%2Ccommands%2Capp_mentions%3Aread%2Cchannels%3Ahistory&user_scope=&redirect_uri=&state=&granular_bot_scope=1&single_channel=0&install_redirect=oauth&tracked=1&user_default=0&original_team=T0266FRGM&team=1"}]...
|
[{"post_id": 68323, "ts": "202 [{"post_id": 68323, "ts": "2026-09-14T22:54:35Z", "hours": 1.9667, "text": "devlog #5: debugged the bot and now im about to ship it to see what people think:)"}, {"post_id": 44920, "ts": "2026-08-11T00:01:15Z", "hours": 2.9667, "text": "final devlog: AmateurBot is done:0 for now atleast, i gave it 9 awesome commands, and I lowkey had no experience or idea how the hell i was supposed to make it but i followed the guide lol, anyways the bot is only a slash command bot, he isnt a direct answer bot sooo like my apologies:< but i had fun learning how to make one thats for sure, it was frustrating but fun"}, {"post_id": 44755, "ts": "2026-08-10T19:01:06Z", "hours": 1.1439, "text": "Update!! still trying to fix some bugs but I fixed alot today! Im waiting for Nest’s approval so here’s this for now, can’t wait to finish this project!"}, {"post_id": 44640, "ts": "2026-08-10T15:22:02Z", "hours": 3.1681, "text": "devlog #2: I finally fixed some bugs on my own AGAIN, and I added a couple of commands, now all that’s left for me to do is to make the commands work, post it on github and also use nest to make the bot a 24/7 one"}, {"post_id": 44213, "ts": "2026-08-09T20:32:44Z", "hours": 1.725, "text": "devlog #1: Started on the bot coding and to be honest I didnt even get a chance to code anything today ive been fighting all day long with node and npm the commands are working in the worst way possible i mean at first they didnt even want to work and now they do but once i write node index.js in the terminal it gives me a slack installation error like what??? im so confused but ill look more into this tomorrow cause this beat me up today://"}]...
|
Title: AmateurBot by @amateur_tech_guy | Stardance Title: AmateurBot by @amateur_tech_guy | Stardance
Devlogs:
devlog #1: Started on the bot coding and to be honest I didnt even get a chance to code anything today ive been fighting all day long with node and npm the commands are working in the worst way possible i mean at first they didnt even want to work and now they do but once i write node index.js in the terminal it gives me a slack installation error like what??? im so confused but ill look more into this tomorrow cause this beat me up today://
devlog #2: I finally fixed some bugs on my own AGAIN, and I added a couple of commands, now all that’s left for me to do is to make the commands work, post it on github and also use nest to make the bot a 24/7 one
Update!! still trying to fix some bugs but I fixed alot today! Im waiting for Nest’s approval so here’s this for now, can’t wait to finish this project!
final devlog: AmateurBot is done:0 for now atleast, i gave it 9 awesome commands, and I lowkey had no experience or idea how the hell i was supposed to make it but i followed the guide lol, anyways the bot is only a slash command bot, he isnt a direct answer bot sooo like my apologies:< but i had fun learning how to make one thats for sure, it was frustrating but fun
devlog #5: debugged the bot and now im about to ship it to see what people think:)
Ships:
I made a slack bot in 3 days! Don’t get me wrong, it’s nothing special, very basic but it meets the requirements. I tried making his answers visible to everyone but I’m pretty sure one or two are only visible to you and I’m so sick of debugging that. After all it isn’t said in the requirements that the bot had to have visible answers for everyone. What I’m most proud of in this project, is my patience, I have no idea how I was THAT patient because there were bugs left and right but hey, at least I finished it!:D
AmateurBot is a fun little slack bot that you can play around with, it has all kinds of cool features, i recently just made the messages visible in chat just in case anyone wanted it. and i also think i opened the DMs, im not really sure if it works, im submitting this project to shipping to see what you guys think of it, pls leave a good review and be nice:)...
|
1792817514.4419458
|
1792903914.4419458
|
|
45734
|
LaserRay by @jonas_gaden | Stardance
|
jonas_gaden
|
2
|
21.32
|
249
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T22:09:15Z", "hours": 12.0, "multiplier": 11.1, "payout": 129, "blessing": "neutral", "text": "This update completely changes the way my game works. By introducing live service integration using Supabase everybody is now able to create, share and publish levels to every other player. While the content of the last ship was very limited, my app now has transformed into a platform, open for everyone to create new content within a few minutes. But only that would be not enough! That’s why i also added a brand new step-by-step interactive tutorial, to give everyone the ability to understand the game right of the start. Now all thats left for me to say: Have fun and please <3 give me a good score and let me know what to add next", "repo": "https://github.com/agentquackyt/LaserCircuit", "demo": "https://agentquackyt.github.io/LaserCircuit/"}, {"ship_num": 2, "ts": "2026-08-24T22:03:22Z", "hours": 9.0, "multiplier": 12.89, "payout": 120, "blessing": "neutral", "text": "LaserCircuit ist is clever out-of-the-box thinking game, made and optimized for mobile use. This version includes 12 level, handcrafted by myself, with various different difficulties. For some problems you will need to think out of the box, but you will figure it out. And you only need 6/9 to unlock Stage 2", "repo": "https://github.com/agentquackyt/LaserCircuit", "demo": "https://agentquackyt.github.io/LaserCircuit/"}]...
|
[{"post_id": 73602, "ts": "202 [{"post_id": 73602, "ts": "2026-09-25T13:39:28Z", "hours": 0.3169, "text": "I improved the tutorial flow, now saving the tutorial state"}, {"post_id": 73333, "ts": "2026-09-24T21:59:10Z", "hours": 2.5467, "text": "Final devlog This is the final devlog before shipping, packed with a load of new and improved features, including but not limited to: a new Tutorial, introducing you into the core features an updated UI to ensure the grid has always the aspect ratio 1/1 updated the symbols used on the game board to improve readability shareable links to community levels, like this one => “Traffic Jam” New levels And so much more …"}, {"post_id": 73068, "ts": "2026-09-24T09:52:51Z", "hours": 1.71, "text": "The discover community levels screen is now fully working, making this the first time the new live service intergration is fully finished. I will do another polishing devlog, where i will add a tutorial on how to play and refine my UI further"}, {"post_id": 72874, "ts": "2026-09-23T22:24:38Z", "hours": 1.2708, "text": "I improved the editor ui and added a few useful features and indicators. I also force reload the site now, should the user decide to log out (As the editor is only accessible when signed in). Next i will add the new table in the backend database and then build both the own level tab as well as the discover tab"}, {"post_id": 72791, "ts": "2026-09-23T18:59:51Z", "hours": 1.7267, "text": "I am now working on the first version of the community level editor. Currently it works more or less, but the live service integration is not done yet. I decided to separate the normal levels from the user levels (different database table) but its not wired in as of right now"}, {"post_id": 72576, "ts": "2026-09-23T08:31:51Z", "hours": 0.7675, "text": "I worked on improving my GUI, starting with the Discord login screen. I am quite happy with the outcome, and the visual look in general. Next i will start working on the level editor itself and an level discovery screen after that"}, {"post_id": 72430, "ts": "2026-09-22T22:46:53Z", "hours": 1.9322, "text": "I am currently working on implementing login via Discord for user generated levels. I am also introducing a more structured way for the app to work, however its a slow process. Atleast i got the basic version of the login with Discord working"}, {"post_id": 71951, "ts": "2026-09-21T20:45:42Z", "hours": 1.6481, "text": "I am currently migrating the level structure to a data-as-backend solution, coming from a static, file-based level system. This give me the ability quickly add new levels, modify and exchange old ones and add time-limited levels. I am also reviewing the option to create an level builder with sharable levels, but this is only an idea i might come back to in the future."}, {"post_id": 54101, "ts": "2026-08-24T22:00:25Z", "hours": 0.6958, "text": "I added many new levels as well as building a stable release version and setting up a new README file. This will be the final devlog before my first ship, i hope you like it"}, {"post_id": 54042, "ts": "2026-08-24T20:02:07Z", "hours": 0.8731, "text": "I added more levels as well as improving the completion UI. To improve the workflow, i added an editor to quickly develop new levels (i used the File System API for the first time, allowing me to edit files directly in the browser without handeling upload and download) https://lapse.hackclub.com/timelapse/-edas1fyH1rh"}, {"post_id": 53978, "ts": "2026-08-24T18:05:36Z", "hours": 1.2856, "text": "I added a new layout for the finish screen, brought the level title and id (calculated from “(id/3)+1”+.+”(id%3)+1”) to the game screen and overall improved the UI"}, {"post_id": 53650, "ts": "2026-08-24T09:44:17Z", "hours": 1.3772, "text": "after quite a good amount of pain, i finally figured out a way to save the highscores and create “sets” of 9 levels, which you need to complete 6/9 to unlock the next set. My next session will be to clean up the UI and optimize both for PC as well as mobile"}, {"post_id": 53610, "ts": "2026-08-24T07:51:30Z", "hours": 1.0131, "text": "I fixed a weird bug which was caused by using a false ctx.restore(); too much, which caused the beams to render in different colors, despite the game working properly. I also added a new piece: The Obstacle. this piece is exclusive to the level creator, the player can not modfiy nor delete the block, requiring a interesting challenge for some levels . Next i will be working on the level loader and will create a few levels"}, {"post_id": 52936, "ts": "2026-08-23T09:50:19Z", "hours": 2.2358, "text": "I implemented a first basic version of the LightRay Game i am working on. It now supports mirrors and splitters. I am now working on polishing as well as building a level loader (levels stored as json files, a custom level editor is planned)"}, {"post_id": 43587, "ts": "2026-08-08T22:43:51Z", "hours": 0.9517, "text": "I designed a very simple start page for my game template (and added a UIpatcher class, which handles interaction with the dom, especially spawning and removing buttons and changing text)"}, {"post_id": 43545, "ts": "2026-08-08T21:33:40Z", "hours": 0.8717, "text": "I started my project by setting up a reusable Github Template, which includes basic styling (e.g. buttons) as well as reusable code, such as a basic game engine for loading scenes, managing score and sound manager. (coming soon) For now i stuck with styling the buttons, which now have 5 different styles with a simple animation. Next i will build a level basic loader and a new framework for the UI. I will try to target both mobile and desktop for the app."}]...
|
Title: LaserRay by @jonas_gaden | Stardance
Devlo Title: LaserRay by @jonas_gaden | Stardance
Devlogs:
I started my project by setting up a reusable Github Template, which includes basic styling (e.g. buttons) as well as reusable code, such as a basic game engine for loading scenes, managing score and sound manager. (coming soon) For now i stuck with styling the buttons, which now have 5 different styles with a simple animation. Next i will build a level basic loader and a new framework for the UI. I will try to target both mobile and desktop for the app.
I designed a very simple start page for my game template (and added a UIpatcher class, which handles interaction with the dom, especially spawning and removing buttons and changing text)
I implemented a first basic version of the LightRay Game i am working on. It now supports mirrors and splitters. I am now working on polishing as well as building a level loader (levels stored as json files, a custom level editor is planned)
I fixed a weird bug which was caused by using a false ctx.restore(); too much, which caused the beams to render in different colors, despite the game working properly. I also added a new piece: The Obstacle. this piece is exclusive to the level creator, the player can not modfiy nor delete the block, requiring a interesting challenge for some levels . Next i will be working on the level loader and will create a few levels
after quite a good amount of pain, i finally figured out a way to save the highscores and create “sets” of 9 levels, which you need to complete 6/9 to unlock the next set. My next session will be to clean up the UI and optimize both for PC as well as mobile
I added a new layout for the finish screen, brought the level title and id (calculated from “(id/3)+1”+.+”(id%3)+1”) to the game screen and overall improved the UI
I added more levels as well as improving the completion UI. To improve the workflow, i added an editor to quickly develop new levels (i used the File System API for the first time, allowing me to edit files directly in the browser without handeling upload and download) https://lapse.hackclub.com/timelapse/-edas1fyH1rh
I added many new levels as well as building a stable release version and setting up a new README file. This will be the final devlog before my first ship, i hope you like it
I am currently migrating the level structure to a data-as-backend solution, coming from a static, file-based level system. This give me the ability quickly add new levels, modify and exchange old ones and add time-limited levels. I am also reviewing the option to create an level builder with sharable levels, but this is only an idea i might come back to in the future.
I am currently working on implementing login via Discord for user generated levels. I am also introducing a more structured way for the app to work, however its a slow process. Atleast i got the basic version of the login with Discord working
I worked on improving my GUI, starting with the Discord login screen. I am quite happy with the outcome, and the visual look in general. Next i will start working on the level editor itself and an level discovery screen after that
I am now working on the first version of the community level editor. Currently it works more or less, but the live service integration is not done yet. I decided to separate the normal levels from the user levels (different database table) but its not wired in as of right now
I improved the editor ui and added a few useful features and indicators. I also force reload the site now, should the user decide to log out (As the editor is only accessible when signed in). Next i will add the new table in the backend database and then build both the own level tab as well as the discover tab
The discover community levels screen is now fully working, making this the first time the new live service intergration is fully finished. I will do another polishing devlog, where i will add a tutorial on how to play and refine my UI further
Final devlog This is the final devlog before shipping, packed with a load of new and improved features, including but not limited to: a new Tutorial, introducing you into the core features an updated UI to ensure the grid has always the aspect ratio 1/1 updated the symbols used on the game board to improve readability shareable links to community levels, like this one => “Traffic Jam” New levels And so much more …
I improved the tutorial flow, now saving the tutorial state
Ships:
LaserCircuit ist is clever out-of-the-box thinking game, made and optimized for mobile use. This version includes 12 level, handcrafted by myself, with various different difficulties. For some problems you will need to think out of the box, but you will figure it out. And you only need 6/9 to unlock Stage 2
This update completely changes the way my game works. By introducing live service integration using Supabase everybody is now able to create, share and publish levels to every other player. While the content of the last ship was very limited, my app now has transformed into a platform, open for everyone to create new content within a few minutes. But only that would be not enough! That’s why i also added a brand new step-by-step interactive tutorial, to give everyone the ability to understand the game right of the start. Now all thats left for me to say: Have fun and please <3 give me a good score and let me know what to add next...
|
1792850081.5911274
|
1792936481.5911274
|