|
44244
|
Lost&Found by @yeagerist | Stardance
|
yeagerist
|
3
|
23.0
|
262
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T03:44:47Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is a tribute to my lost&found with a dead last ship with small update", "repo": "https://github.com/Aarjal/The_Bug", "demo": "https://the-bug.vercel.app/"}, {"ship_num": 2, "ts": "2026-09-25T10:20:33Z", "hours": 5.0, "multiplier": 11.08, "payout": 59, "blessing": "neutral", "text": "This is my second ship to my project lost&found with little css tweaks and UI/UX enhancements as per the reviews from first ship. This web app is basically a platform for people to perform actions regarding lost items. (either seek their lost item or post a found item) The basic workflow is : -Sign up with a random acc and post a lost item in feed -Sign up with a diff random acc and post a related found item in feed -The system will create a match between those two items and let you choose wat to do furthur with it. As per last ship reviews, One important suggestion i found was to include a demo video of whole workflow in my README and this time I’ve not missed that out dw. That might help yall a lot in this ship since signing in and our repeatedly is troublesome. Looking forward to hear from you guys. (Suggestions are immensely appreciated😋)", "repo": "https://github.com/Aarjal/The_Bug", "demo": "https://the-bug.vercel.app/"}, {"ship_num": 3, "ts": "2026-09-14T09:31:21Z", "hours": 16.0, "multiplier": 12.39, "payout": 203, "blessing": "neutral", "text": "I built Lost&Found mainly with the aim to make finding lost belongings a little less painful. Yes, it was a result of some disappointing personal experience. Instead of having to search through different media groups or hope someone sees your post, you can report a lost or found item here and let the system look for possible matches. The main part I’m proud of is the matching system. Lost and found posts are compared using things like category, description, location and dates to find possible matches, and users can get notified when one is found. I also added the usual stuff around it like authentication, notifications, resolving recovered cases, an admin dashboard, and as always a light/dark mode. It might seem quite like “Okay now how the hell am i supposed to use it then?” Here’s something important. A quick way to test it: create an account → make a Lost Item post → create another account →create a matching Found Item post with similar details → check the notifications/matches → if it’s the right item, you can resolve the case. (You can also try the flow the other way around by posting a found item first.) The backend is hosted through render and may take a LITTLE time to load but please be patient for a few seconds and the flow’s gonna go as mentioned above", "repo": "https://github.com/Aarjal/The_Bug", "demo": "https://the-bug.vercel.app/"}]...
|
[{"post_id": 80173, "ts": "202 [{"post_id": 80173, "ts": "2026-10-16T15:34:34Z", "hours": 1.5981, "text": "I got idea from some other open source web-app and added a new “Recent activity feature in my admin dashboard”. Here’s also the recent data of what ya’ll have been doing ><"}, {"post_id": 73264, "ts": "2026-09-24T18:16:20Z", "hours": 1.6661, "text": "Rewrote the READMe from sctrach and tuned up the CSS a bit cus they asked ¯ _ (ツ)_/¯"}, {"post_id": 70220, "ts": "2026-09-18T18:51:33Z", "hours": 0.8733, "text": "it seems the css wasnt responding well in feed page after the hosting. took me some time but i’ve fixed the code and it works as expected now :)"}, {"post_id": 68774, "ts": "2026-09-15T18:48:39Z", "hours": 0.4542, "text": "just improved the Readme a bit nothing much nothing more showed for review and now adjusted as per the recommendations. Now the next thing is finally the shipping of project Optimistic to hear your says on this😄😄"}, {"post_id": 68246, "ts": "2026-09-14T19:27:07Z", "hours": 2.3539, "text": "I spent some time cleaning up the frontend code and styles to make the app faster and easier to maintain. Split up bloated pages: Broke down massive files like Item Detail, Recovery Requests, Feed, and Navbar into smaller subcomponents (modals, media previews, contact info, filters). Now editing one UI block won’t risk breaking the whole page. Fixed React state quirks: Switched Feed categories to derive directly with useMemo to skip extra re-renders, fixed initial edit form state, and added cleanup guards on API calls so navigating away doesn’t trigger memory leak warnings. Cleaned up the CSS: Replaced duplicated skeleton loaders and empty-state styles across 5 files with shared rules in index.css. Swapped hardcoded colors and overlays across all stylesheets for theme tokens so dark and light modes behave properly everywhere."}, {"post_id": 67507, "ts": "2026-09-13T17:04:49Z", "hours": 1.1086, "text": "Finally got the main workflow of Lost&Found working! The posting flow and matching system are connected now, so users can actually post lost or found items and the backend can go through the matching logic to find possible matches. I also finished up the remaining bits around resolving cases, notifications, and the other backend connections. I’ve now made the project deployable too. The frontend is hosted on Vercel and the backend is running on Render, and I’ve connected the two so the live app can actually communicate with the backend. There are obviously still things I can improve later, but for now the main workflow is working properly and the project is finally ready to ship."}, {"post_id": 66169, "ts": "2026-09-11T20:27:49Z", "hours": 1.7531, "text": "Been working on connecting the rest of the backend now. I got the resolving part done so when someone gets their item back, they can mark the case as resolved and it gets taken out of the active feed instead of sitting there like it’s still available. I also worked on the privacy policy agreement during signup, making sure that gets properly handled instead of just being a checkbox that does nothing. Apart from that I’ve connected the remaining reports, notifications, matching and user posts so they all actually talk to the backend properly. Most of the main stuff is pretty much done now, just a few small things left to fix and test. After that it should finally be ready to ship. Next devlog is basically going to be getting everything ready for deployment😋"}, {"post_id": 66062, "ts": "2026-09-11T17:05:13Z", "hours": 2.1011, "text": "FINALLLLYY I’ve worked on the matching system. This is what the whole app was all about tbh. The backend compares lost and found posts instead of just showing everything as a possible match. It looks at things like the item category, description/details, location, and dates, so a lost wallet and a found wallet in a completely different place or with an impossible date won’t just get treated the same. I’m also working on the backend logic that calculates these matches and sends the relevant results back to the frontend. A certain kinda post and match is successfully tested and its GREEN > < but there’s still some testing to do with different combinations of posts and I’m not confident about it yet :’("}, {"post_id": 65444, "ts": "2026-09-10T16:08:19Z", "hours": 0.9175, "text": "I’ve started working more on the backend! This time I focused on the lost and found reporting system, making sure the reports actually get sent through the API and saved properly in MongoDB. Each report is linked to the user who created it, along with things like the category, description, location, date, and image info. I also added some validation so the backend doesn’t just accept whatever the frontend sends. There were a few annoying little issues between the form, authentication, API and database, but I’ve got the main flow working now."}, {"post_id": 64928, "ts": "2026-09-09T17:25:26Z", "hours": 1.2067, "text": "This time I worked on adding light and dark mode. Previously the button was just sitting there doing nothing. Now the app can adapt to the user’s system theme instead of forcing them to pick one manually. If someone has their device set to dark mode, Lost&Found can follow that preference, while still giving them the option to switch between light and dark mode themselves. Still doing some small tweaks here and there, but this might be the final goodbye to frontend now"}, {"post_id": 64676, "ts": "2026-09-09T08:28:09Z", "hours": 1.2125, "text": "Today I worked on the admin dashboard. The idea behind it is to give me a simple overview of what’s happening across the platform instead of having to dig through individual reports. It includes stats for total lost reports, found reports, resolved cases, recovery rate, average resolution time, and the most common item categories. It doesn’t look the best but works for now.."}, {"post_id": 64320, "ts": "2026-09-08T16:38:23Z", "hours": 1.1492, "text": "Okay the progress is I made a few changes and improvements across the app to make the main user flow feel more complete. Up untill now was just the frontend part. I’ve also started working on the backend side of things, connecting the frontend features with the actual application logic and getting the necessary API functionality in place. There’s still quite a bit to connect and test, but the project is gradually moving from just having separate features to having everything work together as one proper application."}, {"post_id": 50954, "ts": "2026-08-20T12:54:52Z", "hours": 0.9122, "text": "I spent this session working on more of the Lost&Found frontend. I worked on the news feed, the UI for reporting both lost and found items, and the notifications frontend. One thing I also noticed with Stardance: when I linked my other Hackatime projects (i was working on separate directories for client and server side) to this project, their tracked time got added to the time shown on my previous devlog. My first devlog originally showed around 1 hour, but after linking those projects it changed to 6h . It didn’t work like that previously on Flavortown. Other than that, the frontend is coming together and I’m getting closer to having the main Lost → Match → Notification flow fully connected."}, {"post_id": 41398, "ts": "2026-08-05T16:21:00Z", "hours": 6.0625, "text": "I’m working on a web-app which I’ve named ‘Lost&Found’. As the name suggests, it’s a community help oriented, supportive, efficient and easy to use application which people can hop onto to search for their lost belongings. The idea is to create match between lost items and found items based on their descriptions and filters to finally get a confidence match score of whether the item is actually the one the user is looking for ( basically checking if lost-item = found-item ) For now, the actual countable work i’ve done is created a few icons for the web_app and finalised on one which is followed by same favicon."}]...
|
Title: Lost&Found by @yeagerist | Stardance
D Title: Lost&Found by @yeagerist | Stardance
Devlogs:
I’m working on a web-app which I’ve named ‘Lost&Found’. As the name suggests, it’s a community help oriented, supportive, efficient and easy to use application which people can hop onto to search for their lost belongings. The idea is to create match between lost items and found items based on their descriptions and filters to finally get a confidence match score of whether the item is actually the one the user is looking for ( basically checking if lost-item = found-item ) For now, the actual countable work i’ve done is created a few icons for the web_app and finalised on one which is followed by same favicon.
I spent this session working on more of the Lost&Found frontend. I worked on the news feed, the UI for reporting both lost and found items, and the notifications frontend. One thing I also noticed with Stardance: when I linked my other Hackatime projects (i was working on separate directories for client and server side) to this project, their tracked time got added to the time shown on my previous devlog. My first devlog originally showed around 1 hour, but after linking those projects it changed to 6h . It didn’t work like that previously on Flavortown. Other than that, the frontend is coming together and I’m getting closer to having the main Lost → Match → Notification flow fully connected.
Okay the progress is I made a few changes and improvements across the app to make the main user flow feel more complete. Up untill now was just the frontend part. I’ve also started working on the backend side of things, connecting the frontend features with the actual application logic and getting the necessary API functionality in place. There’s still quite a bit to connect and test, but the project is gradually moving from just having separate features to having everything work together as one proper application.
Today I worked on the admin dashboard. The idea behind it is to give me a simple overview of what’s happening across the platform instead of having to dig through individual reports. It includes stats for total lost reports, found reports, resolved cases, recovery rate, average resolution time, and the most common item categories. It doesn’t look the best but works for now..
This time I worked on adding light and dark mode. Previously the button was just sitting there doing nothing. Now the app can adapt to the user’s system theme instead of forcing them to pick one manually. If someone has their device set to dark mode, Lost&Found can follow that preference, while still giving them the option to switch between light and dark mode themselves. Still doing some small tweaks here and there, but this might be the final goodbye to frontend now
I’ve started working more on the backend! This time I focused on the lost and found reporting system, making sure the reports actually get sent through the API and saved properly in MongoDB. Each report is linked to the user who created it, along with things like the category, description, location, date, and image info. I also added some validation so the backend doesn’t just accept whatever the frontend sends. There were a few annoying little issues between the form, authentication, API and database, but I’ve got the main flow working now.
FINALLLLYY I’ve worked on the matching system. This is what the whole app was all about tbh. The backend compares lost and found posts instead of just showing everything as a possible match. It looks at things like the item category, description/details, location, and dates, so a lost wallet and a found wallet in a completely different place or with an impossible date won’t just get treated the same. I’m also working on the backend logic that calculates these matches and sends the relevant results back to the frontend. A certain kinda post and match is successfully tested and its GREEN > < but there’s still some testing to do with different combinations of posts and I’m not confident about it yet :’(
Been working on connecting the rest of the backend now. I got the resolving part done so when someone gets their item back, they can mark the case as resolved and it gets taken out of the active feed instead of sitting there like it’s still available. I also worked on the privacy policy agreement during signup, making sure that gets properly handled instead of just being a checkbox that does nothing. Apart from that I’ve connected the remaining reports, notifications, matching and user posts so they all actually talk to the backend properly. Most of the main stuff is pretty much done now, just a few small things left to fix and test. After that it should finally be ready to ship. Next devlog is basically going to be getting everything ready for deployment😋
Finally got the main workflow of Lost&Found working! The posting flow and matching system are connected now, so users can actually post lost or found items and the backend can go through the matching logic to find possible matches. I also finished up the remaining bits around resolving cases, notifications, and the other backend connections. I’ve now made the project deployable too. The frontend is hosted on Vercel and the backend is running on Render, and I’ve connected the two so the live app can actually communicate with the backend. There are obviously still things I can improve later, but for now the main workflow is working properly and the project is finally ready to ship.
I spent some time cleaning up the frontend code and styles to make the app faster and easier to maintain. Split up bloated pages: Broke down massive files like Item Detail, Recovery Requests, Feed, and Navbar into smaller subcomponents (modals, media previews, contact info, filters). Now editing one UI block won’t risk breaking the whole page. Fixed React state quirks: Switched Feed categories to derive directly with useMemo to skip extra re-renders, fixed initial edit form state, and added cleanup guards on API calls so navigating away doesn’t trigger memory leak warnings. Cleaned up the CSS: Replaced duplicated skeleton loaders and empty-state styles across 5 files with shared rules in index.css. Swapped hardcoded colors and overlays across all stylesheets for theme tokens so dark and light modes behave properly everywhere.
just improved the Readme a bit nothing much nothing more showed for review and now adjusted as per the recommendations. Now the next thing is finally the shipping of project Optimistic to hear your says on this😄😄
it seems the css wasnt responding well in feed page after the hosting. took me some time but i’ve fixed the code and it works as expected now :)
Rewrote the READMe from sctrach and tuned up the CSS a bit cus they asked ¯ _ (ツ)_/¯
I got idea from some other open source web-app and added a new “Recent activity feature in my admin dashboard”. Here’s also the recent data of what ya’ll have been doing ><
Ships:
I built Lost&Found mainly with the aim to make finding lost belongings a little less painful. Yes, it was a result of some disappointing personal experience. Instead of having to search through different media groups or hope someone sees your post, you can report a lost or found item here and let the system look for possible matches. The main part I’m proud of is the matching system. Lost and found posts are compared using things like category, description, location and dates to find possible matches, and users can get notified when one is found. I also added the usual stuff around it like authentication, notifications, resolving recovered cases, an admin dashboard, and as always a light/dark mode. It might seem quite like “Okay now how the hell am i supposed to use it then?” Here’s something important. A quick way to test it: create an account → make a Lost Item post → create another account →create a matching Found Item post with similar details → check the notifications/matches → if it’s the right item, you can resolve the case. (You can also try the flow the other way around by posting a found item first.) The backend is hosted through render and may take a LITTLE time to load but please be patient for a few seconds and the flow’s gonna go as mentioned above
This is my second ship to my project lost&found with little css tweaks and UI/UX enhancements as per the reviews from first ship. This web app is basically a platform for people to perform actions regarding lost items. (either seek their lost item or post a found item) The basic workflow is : -Sign up with a random acc and post a lost item in feed -Sign up with a diff random acc and post a related found item in feed -The system will create a match between those two items and let you choose wat to do furthur with it. As per last ship reviews, One important suggestion i found was to include a demo video of whole workflow in my README and this time I’ve not missed that out dw. That might help yall a lot in this ship since signing in and our repeatedly is troublesome. Looking forward to hear from you guys. (Suggestions are immensely appreciated😋)
this is a tribute to my lost&found with a dead last ship with small update...
|
1793004660.6351345
|
1793091060.6351345
|
|
44729
|
LMIC-MC-BOT by @Nahida4479 | Stardance
|
Nahida4479
|
1
|
20.0
|
262
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-19T00:58:20Z", "hours": 20.0, "multiplier": 12.84, "payout": 262, "blessing": "neutral", "text": "I make a Mineflayer-based Minecraft bot integrated with an LLM API (Groq, Gemini, HackClub). General chat replies are grounded in the bot’s real inventory and surroundings, so it won’t claim to have items it doesn’t actually have The bot can Kills nearby monsters (protects the player from them) Follows the player and breaks blocks Delivers gathered resources directly to the player who requested them Auto-equips the best armor set available whenever it picks up new gear Example commands LMIC-MC-BOT collect 10 oak_log LMIC-MC-BOT attack zombie LMIC-MC-BOT give me 5 dirt LMIC-MC-BOT fight me The biggest challenge in this project for me was fine-tuning the bot’s movement. A detailed guide on how to test the bot can be found on my GitHub.", "repo": "https://github.com/Nahida4479/LMIN-MC-BOT", "demo": "https://github.com/Nahida4479/LMIC-MC-BOT/releases/tag/1.0.0"}]...
|
[{"post_id": 49971, "ts": "202 [{"post_id": 49971, "ts": "2026-08-18T23:52:38Z", "hours": 5.0206, "text": "Devlog8 New Bot no longer gets permanently stuck — it detects when it’s not moving and tries to dig through, jump, or step around the obstacle Bot walks around other players instead of freezing when blocked by them Bot pauses its current task to fight nearby hostile mobs, then goes back to what it was doing Bot auto-equips the best armor set when it picks up new gear New “give item” command (e.g. “give me 5 dirt”) Bot now delivers collected items straight to the player who asked for them AI now knows the bot’s real inventory and surroundings, so it stops making up fake answers Bot retries gathering blocks instead of giving up after one failed attempt Reconnects system wait longer Bot follows closer to the player Added MIT License Removed Old gather system that stopped completely after a single mistake Old unstick system that barely moved the bot"}, {"post_id": 48510, "ts": "2026-08-16T21:59:57Z", "hours": 2.7583, "text": "Devlog7 Update README.md Fix break block issues Add new debug system"}, {"post_id": 46021, "ts": "2026-08-12T22:18:22Z", "hours": 1.1903, "text": "Devlog6 Attempt to improve bot movement Add fight me command"}, {"post_id": 45487, "ts": "2026-08-12T00:37:15Z", "hours": 3.4675, "text": "Devlog5 New Multi-language support (EN and PL) Limit AI response length Add mineflayer-collectblock Debug system for bot inventory, position, and errors Player following system (bot stays near the player) AI response system using JSON Block-breaking system triggered when a player mentions the bot’s username in chat (video) Custom AI prompt Removed Old “look” command (replaced by the player following system)"}, {"post_id": 44927, "ts": "2026-08-11T00:18:36Z", "hours": 1.8486, "text": "Devlog4 Update README.md Add a test Minecraft server to the GitHub repository for bot testing Add mineflayer-pathfinder for bot movement/navigation Fix reconnect issues"}, {"post_id": 44322, "ts": "2026-08-10T00:16:35Z", "hours": 1.9556, "text": "Devlog3 AI improvements Connect AI system to in-game chat, so the bot responds when mentioned Add conversation history (up to 20 messages, stored in memory) Other changes Update README.md"}, {"post_id": 43569, "ts": "2026-08-08T21:57:45Z", "hours": 2.6289, "text": "Devlog2 Add new AI providers: Gemini Groq HackClub Add new AI models: gemini-2.5-flash gemini-2.5-flash-lite llama-3.3-70b-instruct llama-3.1-8b-instant gpt-oss-120b gpt-oss-20b qwen3.6-27b Other changes: Add requirements to README.md Add function to test AI model availability Create list of available AI providers"}, {"post_id": 42948, "ts": "2026-08-07T22:44:30Z", "hours": 1.4972, "text": "Devlog1 Bot join and leave systems with errors logs. MineflayerViewer system on user selected port. Add and update README.md."}]...
|
Title: LMIC-MC-BOT by @Nahida4479 | Stardance
Dev Title: LMIC-MC-BOT by @Nahida4479 | Stardance
Devlogs:
Devlog1 Bot join and leave systems with errors logs. MineflayerViewer system on user selected port. Add and update README.md.
Devlog2 Add new AI providers: Gemini Groq HackClub Add new AI models: gemini-2.5-flash gemini-2.5-flash-lite llama-3.3-70b-instruct llama-3.1-8b-instant gpt-oss-120b gpt-oss-20b qwen3.6-27b Other changes: Add requirements to README.md Add function to test AI model availability Create list of available AI providers
Devlog3 AI improvements Connect AI system to in-game chat, so the bot responds when mentioned Add conversation history (up to 20 messages, stored in memory) Other changes Update README.md
Devlog4 Update README.md Add a test Minecraft server to the GitHub repository for bot testing Add mineflayer-pathfinder for bot movement/navigation Fix reconnect issues
Devlog5 New Multi-language support (EN and PL) Limit AI response length Add mineflayer-collectblock Debug system for bot inventory, position, and errors Player following system (bot stays near the player) AI response system using JSON Block-breaking system triggered when a player mentions the bot’s username in chat (video) Custom AI prompt Removed Old “look” command (replaced by the player following system)
Devlog6 Attempt to improve bot movement Add fight me command
Devlog7 Update README.md Fix break block issues Add new debug system
Devlog8 New Bot no longer gets permanently stuck — it detects when it’s not moving and tries to dig through, jump, or step around the obstacle Bot walks around other players instead of freezing when blocked by them Bot pauses its current task to fight nearby hostile mobs, then goes back to what it was doing Bot auto-equips the best armor set when it picks up new gear New “give item” command (e.g. “give me 5 dirt”) Bot now delivers collected items straight to the player who asked for them AI now knows the bot’s real inventory and surroundings, so it stops making up fake answers Bot retries gathering blocks instead of giving up after one failed attempt Reconnects system wait longer Bot follows closer to the player Added MIT License Removed Old gather system that stopped completely after a single mistake Old unstick system that barely moved the bot
Ships:
I make a Mineflayer-based Minecraft bot integrated with an LLM API (Groq, Gemini, HackClub). General chat replies are grounded in the bot’s real inventory and surroundings, so it won’t claim to have items it doesn’t actually have The bot can Kills nearby monsters (protects the player from them) Follows the player and breaks blocks Delivers gathered resources directly to the player who requested them Auto-equips the best armor set available whenever it picks up new gear Example commands LMIC-MC-BOT collect 10 oak_log LMIC-MC-BOT attack zombie LMIC-MC-BOT give me 5 dirt LMIC-MC-BOT fight me The biggest challenge in this project for me was fine-tuning the bot’s movement. A detailed guide on how to test the bot can be found on my GitHub....
|
1792961547.6392667
|
1793047947.6392667
|
|
54404
|
SatTrack by @evanssidhu | Stardance
|
evanssidhu
|
1
|
16.0
|
262
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T04:06:08Z", "hours": 16.0, "multiplier": 16.01, "payout": 262, "blessing": "neutral", "text": "SatTrack A minimalistic 3D Satellite viewer. I made a 3D Satellite Tracker! It took a fair bit of time but was overall a fun project that taught me a lot about just how many satellites there really are and just how fast they orbit earth, which honestly really suprised me. The reason why I made this is because after I made my flight tracker map I wondered why not make one for satellites as well, but on a globe. After all they are just as if not even more cool and fascinating. Anyways, here are the project features. This can all be found in the projects README as well. Features 3D Globe View - Feel free to traverse freely around the globe to find any satellite in orbit. 3D Satellite Models - View a 3D Model of the ISS or currently tracked satellite. Day/Night Line - Easily see which satellites are visible in daylight or shrouded in night. 16000+ Satellites - View from a list of over 16000 satellites, including the ISS, Starlink, Weather, Research and more satellites. Updates are roughly every 3s. Satellite Search - Looking for a satellite in particular? Simply search for it using the searchbar. Accurate TLE Data - TLE data is updated every 24 hours, ensuring the satellite paths will always be accurate and up to date. HUD-Style View - View information for any satellite by simply clicking on it. Information includes position, altitude, orbital period, and more. Tracking-Style View - Lock a satellite to your screen or simply explore its past and future path to follow its journey. Anyways, thank you for reading and I really hope you enjoy this project just as much as I do.", "repo": "https://github.com/es1228/SatTrack", "demo": "https://es1228.github.io/SatTrack/"}]...
|
[{"post_id": 61272, "ts": "202 [{"post_id": 61272, "ts": "2026-09-04T03:52:13Z", "hours": 0.5089, "text": "Devlog 8 - Deployment + GitHub Actions The first version of SatTrack has now been deployed to github pages! I had to setup github actions for the first time to automate fetching TLE data and committing to the repo and publishing the site after. Thankfully this was quite simple and did not take all too long despite a couple failed deployments initially. Anyways I am now going to ship the first version of the project and outline more information there. Thank you for reading and I hope you enjoy using my project."}, {"post_id": 61165, "ts": "2026-09-03T23:05:43Z", "hours": 3.0567, "text": "Devlog 7 - Tracking HUD + Other Tracking Improvements Added a few polishing changes related to tracking, and now all the features are complete. A couple things were added here, a HUD style display that shows some simple information relating to the satellite (location, altitude, period, classification, etc.,). I also modified tracking slightly so you can remove the bound and keep the overlay while still freely exploring. I am going to ship this project very soon, i’ll try to get it done today but if I cant i’ll ship it tomorrow. All that is left is to change the TLE data from static to live (in respect of the api limits) and then just pushing to github pages. Anyways, thank you again for reading and I hope you’ll enjoy my project."}, {"post_id": 60638, "ts": "2026-09-03T03:44:28Z", "hours": 2.9825, "text": "Devlog 6 - Satellite Search + QOL Changes Another day another feature added! This time I added a search function to automatically go to any satellite that is looked up. I also added a couple quality of life changes, mostly regarding satellite paths and tracking. The satellite paths now only show if the satellite is actively being tracked, and now expand to a range 1h in the past (solid line) to 1h in the future (dashed line). I also decided to make the paths blue to contrast with the green of the satellites. Lastly I also added the option to zoom in-out while tracking and unlock button to unfocus the screen from the satellite. From here on out most of the updates will be small as I intend to get this shipped rather soon since most of the features are already pretty much complete. Anyways thank you for reading and stay tuned for the next update/ship shortly."}, {"post_id": 59989, "ts": "2026-09-02T02:26:36Z", "hours": 2.3686, "text": "Devlog 5 - 3D ISS Model + Satellite Tracking A custom 3D model for the ISS has been added, alongside a basic satellite tracking implementation. I decided that the site should have more life rather than just thousands of green dots, so I made the ISS easily identifyable by giving it a custom model. I want to expand this to more satellites, but I don’t think my pc will like thousands of 3d objects, so maybe only a few satellites will have it and others like the 11000+ starlink ones will not. Also on that note I tried using a highly detailed ISS model and that turned out to be a really bad idea. Who could’ve guessed the integrated gpu on my laptop really does not like thousands of polygons being rendered at once. Oh yeah I also added a basic satellite tracking mode where you can click a satellite and automatically follow its journey. Next I will probably add an overlay to give you information on that satellite. Anyways, thank you for reading and I’ll post more updates shortly."}, {"post_id": 59200, "ts": "2026-08-31T21:10:02Z", "hours": 2.5978, "text": "Devlog 4 Another pretty big feature added in this devlog, you can now see every satellite in orbit! I had a bit of trouble with this feature, and originally I tried to add the 3d dots and paths like the other satellites but this causes major performance issues with over 16000 satellites in orbit. I also tried offloading calculations to a web worker, but that also had some performance issues as well. In the end I decided to resort to using the particles api that react-globe.gl has and it works exceptionally well, and even allows for a relatively quick refresh rate while still keeping the site relatively smooth."}, {"post_id": 58554, "ts": "2026-08-31T00:19:02Z", "hours": 1.7147, "text": "Devlog 3 Another update today! This time I added paths to each satellite so we can visualize the future positions of where a satellite will be, which can be accurate for a while based on how high up the satellite is. I also added the CALSPHERE 1 and CALSPHERE 2 alongside the ISS in the demo to visualize multiple satellites."}, {"post_id": 58379, "ts": "2026-08-30T19:50:57Z", "hours": 1.5669, "text": "Devlog 2 I’m back to working on this project again, sorry for the delay in development. In this devlog I have added live tracking of the ISS to the globe by fetching the TLE data (which in simple terms is a multi line file that gives mathematical data relating to a satellites position, rotation, motion, and other relevant properties). Thankfully I did not have to deal with most of that vector math and delegated it to the satellite.js library which gave the essential positions like latitude, longitude, and height. Another great thing about TLE data is that it is fairly accurate for a while and can easily show live position updates by passing in the current time every second. Anyways, I’ll end the rambling here with a picture of the the ISS on the globe (Side note: I did not realize just how fast the ISS is, it apparently travels 28000 km/h and it is very noticable over a few minutes)."}, {"post_id": 54930, "ts": "2026-08-26T05:03:36Z", "hours": 1.5686, "text": "Devlog 1 Hello everybody! I have decided to start work on a new project called SatTrack , which, as the name implies, is a satellite tracker. I have actually seen a couple satellite trackers created here, but they have all seem to have either been abandoned or deleted, which is a shame because those concepts had a really cool concept in my opinion. Anyways, I added the 3d globe using react-globe.gl, and also used the example documentation to create a day/night ternimator. Unfortunately react-globe.gl does not support 3d terrain so I am considering switching to react-map-gl and maplibre."}]...
|
Title: SatTrack by @evanssidhu | Stardance
Devlog Title: SatTrack by @evanssidhu | Stardance
Devlogs:
Devlog 1 Hello everybody! I have decided to start work on a new project called SatTrack , which, as the name implies, is a satellite tracker. I have actually seen a couple satellite trackers created here, but they have all seem to have either been abandoned or deleted, which is a shame because those concepts had a really cool concept in my opinion. Anyways, I added the 3d globe using react-globe.gl, and also used the example documentation to create a day/night ternimator. Unfortunately react-globe.gl does not support 3d terrain so I am considering switching to react-map-gl and maplibre.
Devlog 2 I’m back to working on this project again, sorry for the delay in development. In this devlog I have added live tracking of the ISS to the globe by fetching the TLE data (which in simple terms is a multi line file that gives mathematical data relating to a satellites position, rotation, motion, and other relevant properties). Thankfully I did not have to deal with most of that vector math and delegated it to the satellite.js library which gave the essential positions like latitude, longitude, and height. Another great thing about TLE data is that it is fairly accurate for a while and can easily show live position updates by passing in the current time every second. Anyways, I’ll end the rambling here with a picture of the the ISS on the globe (Side note: I did not realize just how fast the ISS is, it apparently travels 28000 km/h and it is very noticable over a few minutes).
Devlog 3 Another update today! This time I added paths to each satellite so we can visualize the future positions of where a satellite will be, which can be accurate for a while based on how high up the satellite is. I also added the CALSPHERE 1 and CALSPHERE 2 alongside the ISS in the demo to visualize multiple satellites.
Devlog 4 Another pretty big feature added in this devlog, you can now see every satellite in orbit! I had a bit of trouble with this feature, and originally I tried to add the 3d dots and paths like the other satellites but this causes major performance issues with over 16000 satellites in orbit. I also tried offloading calculations to a web worker, but that also had some performance issues as well. In the end I decided to resort to using the particles api that react-globe.gl has and it works exceptionally well, and even allows for a relatively quick refresh rate while still keeping the site relatively smooth.
Devlog 5 - 3D ISS Model + Satellite Tracking A custom 3D model for the ISS has been added, alongside a basic satellite tracking implementation. I decided that the site should have more life rather than just thousands of green dots, so I made the ISS easily identifyable by giving it a custom model. I want to expand this to more satellites, but I don’t think my pc will like thousands of 3d objects, so maybe only a few satellites will have it and others like the 11000+ starlink ones will not. Also on that note I tried using a highly detailed ISS model and that turned out to be a really bad idea. Who could’ve guessed the integrated gpu on my laptop really does not like thousands of polygons being rendered at once. Oh yeah I also added a basic satellite tracking mode where you can click a satellite and automatically follow its journey. Next I will probably add an overlay to give you information on that satellite. Anyways, thank you for reading and I’ll post more updates shortly.
Devlog 6 - Satellite Search + QOL Changes Another day another feature added! This time I added a search function to automatically go to any satellite that is looked up. I also added a couple quality of life changes, mostly regarding satellite paths and tracking. The satellite paths now only show if the satellite is actively being tracked, and now expand to a range 1h in the past (solid line) to 1h in the future (dashed line). I also decided to make the paths blue to contrast with the green of the satellites. Lastly I also added the option to zoom in-out while tracking and unlock button to unfocus the screen from the satellite. From here on out most of the updates will be small as I intend to get this shipped rather soon since most of the features are already pretty much complete. Anyways thank you for reading and stay tuned for the next update/ship shortly.
Devlog 7 - Tracking HUD + Other Tracking Improvements Added a few polishing changes related to tracking, and now all the features are complete. A couple things were added here, a HUD style display that shows some simple information relating to the satellite (location, altitude, period, classification, etc.,). I also modified tracking slightly so you can remove the bound and keep the overlay while still freely exploring. I am going to ship this project very soon, i’ll try to get it done today but if I cant i’ll ship it tomorrow. All that is left is to change the TLE data from static to live (in respect of the api limits) and then just pushing to github pages. Anyways, thank you again for reading and I hope you’ll enjoy my project.
Devlog 8 - Deployment + GitHub Actions The first version of SatTrack has now been deployed to github pages! I had to setup github actions for the first time to automate fetching TLE data and committing to the repo and publishing the site after. Thankfully this was quite simple and did not take all too long despite a couple failed deployments initially. Anyways I am now going to ship the first version of the project and outline more information there. Thank you for reading and I hope you enjoy using my project.
Ships:
SatTrack A minimalistic 3D Satellite viewer. I made a 3D Satellite Tracker! It took a fair bit of time but was overall a fun project that taught me a lot about just how many satellites there really are and just how fast they orbit earth, which honestly really suprised me. The reason why I made this is because after I made my flight tracker map I wondered why not make one for satellites as well, but on a globe. After all they are just as if not even more cool and fascinating. Anyways, here are the project features. This can all be found in the projects README as well. Features 3D Globe View - Feel free to traverse freely around the globe to find any satellite in orbit. 3D Satellite Models - View a 3D Model of the ISS or currently tracked satellite. Day/Night Line - Easily see which satellites are visible in daylight or shrouded in night. 16000+ Satellites - View from a list of over 16000 satellites, including the ISS, Starlink, Weather, Research and more satellites. Updates are roughly every 3s. Satellite Search - Looking for a satellite in particular? Simply search for it using the searchbar. Accurate TLE Data - TLE data is updated every 24 hours, ensuring the satellite paths will always be accurate and up to date. HUD-Style View - View information for any satellite by simply clicking on it. Information includes position, altitude, orbital period, and more. Tracking-Style View - Lock a satellite to your screen or simply explore its past and future path to follow its journey. Anyways, thank you for reading and I really hope you enjoy this project just as much as I do....
|
1792968973.625124
|
1793055373.625124
|
|
66335
|
3D AIM TRAINER by @brijeshkumar724282 | Stardance
|
brijeshkumar724282
|
2
|
37.52
|
262
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T08:00:07Z", "hours": 15.0, "multiplier": 15.47, "payout": 229, "blessing": "neutral", "text": "I have made a Web based AIM TRAINER written in html, CSS, JS and THREE.js. IT HAS 4 GAMEMODES FOR NOW: GRIDSHOT, SIXSHOT, PRECISION, AND TRACKING. The most challenging part was every mode has to be written the same code again and again when adding a new gamemode. So I had to move it all into one shared core code, Now adding new modes is easier. I am really proud of developing the shared core code. when I made it, It actually made my work easier. It’s now scalable and i can add add many gamemodes easier than before. Before it i had to write the same code again and again probably 400+ lines now cutdown to less than 100 (tracking.js is an exception) To test my game, A person needs a mouse to aim and shoot.", "repo": "https://github.com/brijeshkumar724282-beep/web-Aim-Trainer", "demo": "https://brijeshkumar724282-beep.github.io/web-Aim-Trainer/"}, {"ship_num": 2, "ts": "2026-10-09T04:29:04Z", "hours": 17.0, "multiplier": 1.97, "payout": 33, "blessing": "neutral", "text": "I made a 3D web based Aim trainer in html, css, JS and three.js. Few of the most challenging parts were funny, adjusting the texture packs evenly among all the walls, adjusting the lightning to make it look right and The aiming mechanism, I was getting tilting issues in the starting, its fixed now. I am proud of the menu animation and making 2 modes work well. They just need to know how to click and move their mouse! its so simple.", "repo": "https://github.com/brijeshkumar724282-beep/web-Aim-Trainer", "demo": "https://brijeshkumar724282-beep.github.io/web-Aim-Trainer/"}]...
|
[{"post_id": 82613, "ts": "202 [{"post_id": 82613, "ts": "2026-10-25T12:51:42Z", "hours": 5.515, "text": "MY 3D AIM TRAINER’S LATERST PROGRESS This time i have added a new gamemode “REACTION MODE”, 1 target spawns with a 1.2 seconds window, faster hits give more points, slower ones give lesser points, and the target respawns somewhere else. I was mainly working on supabase backend to add global leaderboard support. Then I also started working on login webpage and login.js, I also tuned the room lightning a little to give it a better look."}, {"post_id": 80909, "ts": "2026-10-19T07:00:48Z", "hours": 5.1058, "text": "REBUILT AND MADE THE GAME SCALABLE AND ADDED NEW MORE 2 GAME MODES , So basically each gamemode used to have everything built inside it. So if i ever wanted to add a new game mode, I will have to write the same code again and again, So I put the core parts they all shared into one place, So its easier to add new game modes now. ROOM, AIMING SYSTEM, TIMER, etc are built once and used by all of them, SO this made speeds up adding new game modes. I have added 2 new Modes : 1. TRACKING MODE, 2. PRECISION MODE. I have also changed the UI of The menu a little bit. The ROOM is Rebuilt too because the old one was way too flat looking for my game. Now I have also added Best score feature for each mode, i have used Local storage for storing your best score. Also added an sfx whenever you switch modes in the menu which gives life to the menu selection."}, {"post_id": 80380, "ts": "2026-10-17T13:48:48Z", "hours": 4.53, "text": "Finished the menu and most of the review feedback , Since the last post, I have been working mainly on the Menu and a few things : 1. The menu is now in a good shape too. 2.Added a settings popup where you could change sensitivity from. 3.removed the browser alert for results and made a dedicated page for results. 4.Added background music, So actually I used AI to generate the bgm. 5.Made a favicon and added an MIT License."}, {"post_id": 79717, "ts": "2026-10-15T06:21:39Z", "hours": 5.1894, "text": "REBUILDING AND FIXING EVERYTHING. After reading the reviews, I came to a conclusion that My game was hanging on most people’s device, it was more because of uncapped fps as of i think. here are a few things that I did: 1. I removed all the texture packs (made the game heavy and also caused lag for some people). 2. Using whitish color design (Flat colours) and added Grid helper. 3. Made the targets Blue colored and glossy looking. 4. I have already rebuilding the menu, the old one killed the whole gaming vibe (old one was kinda luxury lmao)."}, {"post_id": 77991, "ts": "2026-10-09T04:05:41Z", "hours": 5.2161, "text": "The enviroment and textures are in good shape now, It look right in the game!! The main work that I did since the last time file structuring and organizing files in folders, and removing the code that was crashing my game, and also solved few bugs, like screen freezing. menu.html is now index.html, added features to select and play different game modes using from menu. Only Gridshot and Sixshot are live for v1. I will ship this project v1. I am looking forward to add more game modes and make a seperate page for results."}, {"post_id": 75810, "ts": "2026-10-01T07:09:56Z", "hours": 3.6597, "text": "I have been working on the room and textures. I cant give proper finishing to the textures, they dont look good, so I skipped it for now. I am working on the Menu/Game mode selector. I have implemented smooth scroll to select animation using gsap, and its pretty smooth."}, {"post_id": 75513, "ts": "2026-09-30T10:22:58Z", "hours": 3.9586, "text": "spent most of my time working on the enviroment, the room i mean and optimizing the game a little. So i added 1 boxes each sides to add depth, etc. I had to adjust the sun light and the roof that wasted most of my time. The shadows were pixelated too much so I tried blurring them a little to smooth them out, also added score and accuracy system. I might work on the UI too."}, {"post_id": 74783, "ts": "2026-09-28T07:35:12Z", "hours": 3.9172, "text": "##Devlog 1, BUILDING A WEB BASED AIM TRAINER WRITTEN IN HTML, CSS AND JS I am building a broswer/web based Aim trainer for competitive games, like aimlabs but entirely written in HTML, CSS, JS and THREE.js.My primary goal was to match the aiming feel of competitive games like Valorant. Because three.js uses vertical field of vieww by default, i had to implement a dynamic conversion formula that would lock the horizontal FOV to 103. I also mapped shooter mouse sensitivity scaled directly into radian angle increaments per mouse count, to make the flick distances fell well and authentic. for handling movements, I integrated the pointer lock API for raw mouse input that will feel just like any competitive game. I fixed a bug that made the camera tilt sideways and also stopped the screen from flipping upside down when looking up and all. also added a \"+\" crosshair in the middle. Also built a training room with walls, roofs and floor, and also a little depth. added realisitc sunlight shadow casting. For testing, I built a 4x3 grid system that keeps three targets active. clicking mouse triggers center screen raycast to detect hits, free up occupied slots, etc. And also added fps counter and removed the fps cap restrictions. The target and aiming system is working fine and its fully responsive."}]...
|
Title: 3D AIM TRAINER by @brijeshkumar724282 | Sta Title: 3D AIM TRAINER by @brijeshkumar724282 | Stardance
Devlogs:
##Devlog 1, BUILDING A WEB BASED AIM TRAINER WRITTEN IN HTML, CSS AND JS I am building a broswer/web based Aim trainer for competitive games, like aimlabs but entirely written in HTML, CSS, JS and THREE.js.My primary goal was to match the aiming feel of competitive games like Valorant. Because three.js uses vertical field of vieww by default, i had to implement a dynamic conversion formula that would lock the horizontal FOV to 103. I also mapped shooter mouse sensitivity scaled directly into radian angle increaments per mouse count, to make the flick distances fell well and authentic. for handling movements, I integrated the pointer lock API for raw mouse input that will feel just like any competitive game. I fixed a bug that made the camera tilt sideways and also stopped the screen from flipping upside down when looking up and all. also added a "+" crosshair in the middle. Also built a training room with walls, roofs and floor, and also a little depth. added realisitc sunlight shadow casting. For testing, I built a 4x3 grid system that keeps three targets active. clicking mouse triggers center screen raycast to detect hits, free up occupied slots, etc. And also added fps counter and removed the fps cap restrictions. The target and aiming system is working fine and its fully responsive.
spent most of my time working on the enviroment, the room i mean and optimizing the game a little. So i added 1 boxes each sides to add depth, etc. I had to adjust the sun light and the roof that wasted most of my time. The shadows were pixelated too much so I tried blurring them a little to smooth them out, also added score and accuracy system. I might work on the UI too.
I have been working on the room and textures. I cant give proper finishing to the textures, they dont look good, so I skipped it for now. I am working on the Menu/Game mode selector. I have implemented smooth scroll to select animation using gsap, and its pretty smooth.
The enviroment and textures are in good shape now, It look right in the game!! The main work that I did since the last time file structuring and organizing files in folders, and removing the code that was crashing my game, and also solved few bugs, like screen freezing. menu.html is now index.html, added features to select and play different game modes using from menu. Only Gridshot and Sixshot are live for v1. I will ship this project v1. I am looking forward to add more game modes and make a seperate page for results.
REBUILDING AND FIXING EVERYTHING. After reading the reviews, I came to a conclusion that My game was hanging on most people’s device, it was more because of uncapped fps as of i think. here are a few things that I did: 1. I removed all the texture packs (made the game heavy and also caused lag for some people). 2. Using whitish color design (Flat colours) and added Grid helper. 3. Made the targets Blue colored and glossy looking. 4. I have already rebuilding the menu, the old one killed the whole gaming vibe (old one was kinda luxury lmao).
Finished the menu and most of the review feedback , Since the last post, I have been working mainly on the Menu and a few things : 1. The menu is now in a good shape too. 2.Added a settings popup where you could change sensitivity from. 3.removed the browser alert for results and made a dedicated page for results. 4.Added background music, So actually I used AI to generate the bgm. 5.Made a favicon and added an MIT License.
REBUILT AND MADE THE GAME SCALABLE AND ADDED NEW MORE 2 GAME MODES , So basically each gamemode used to have everything built inside it. So if i ever wanted to add a new game mode, I will have to write the same code again and again, So I put the core parts they all shared into one place, So its easier to add new game modes now. ROOM, AIMING SYSTEM, TIMER, etc are built once and used by all of them, SO this made speeds up adding new game modes. I have added 2 new Modes : 1. TRACKING MODE, 2. PRECISION MODE. I have also changed the UI of The menu a little bit. The ROOM is Rebuilt too because the old one was way too flat looking for my game. Now I have also added Best score feature for each mode, i have used Local storage for storing your best score. Also added an sfx whenever you switch modes in the menu which gives life to the menu selection.
MY 3D AIM TRAINER’S LATERST PROGRESS This time i have added a new gamemode “REACTION MODE”, 1 target spawns with a 1.2 seconds window, faster hits give more points, slower ones give lesser points, and the target respawns somewhere else. I was mainly working on supabase backend to add global leaderboard support. Then I also started working on login webpage and login.js, I also tuned the room lightning a little to give it a better look.
Ships:
I made a 3D web based Aim trainer in html, css, JS and three.js. Few of the most challenging parts were funny, adjusting the texture packs evenly among all the walls, adjusting the lightning to make it look right and The aiming mechanism, I was getting tilting issues in the starting, its fixed now. I am proud of the menu animation and making 2 modes work well. They just need to know how to click and move their mouse! its so simple.
I have made a Web based AIM TRAINER written in html, CSS, JS and THREE.js. IT HAS 4 GAMEMODES FOR NOW: GRIDSHOT, SIXSHOT, PRECISION, AND TRACKING. The most challenging part was every mode has to be written the same code again and again when adding a new gamemode. So I had to move it all into one shared core code, Now adding new modes is easier. I am really proud of developing the shared core code. when I made it, It actually made my work easier. It’s now scalable and i can add add many gamemodes easier than before. Before it i had to write the same code again and again probably 400+ lines now cutdown to less than 100 (tracking.js is an exception) To test my game, A person needs a mouse to aim and shoot....
|
1792965251.7760308
|
1793051651.7760308
|
|
28065
|
EPIKOS by @smollcoin | Stardance
|
smollcoin
|
2
|
45.0
|
261
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-22T13:04:30Z", "hours": 23.0, "multiplier": 11.36, "payout": 261, "blessing": "neutral", "text": "EPIKOS final final final IT’s an epik high themed web OS! Epik High is a korean hiphop trio. now with more apps: calendar, music player, guide, terminal, a countdown. and i added some small animations. youch 45 hours that’s all! i had fun with this project. yes it took a lot of time because i had to learn new framework but i think im pretty proficient in vue now… vue > react i still struggle ALOT encapsulating the data into composables and i definitely still need more practice… thanks for reading! tmi but my favourite songs from them are: ‘Home is far away’ and ‘People Scare Me’ from the We’ve done something wonderful album. Hehe you can go check it out!", "repo": "https://github.com/smollcoin/EpikOS", "demo": "https://epik-os.vercel.app/"}, {"ship_num": 2, "ts": "2026-07-09T15:26:46Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "E-P-I-K I am so Epik High pilled now so I made a Epik High themed OS. It’s my first time using Vue I love it so much, more than React (teehee) One small thing that I am proud of is implementing dark and light theme mode because I can never seem to get it right but this time I did it sheesh. There are still a few features that are not done yet and I will work on it #soon Hope you enjoyed it as much as I did !!!!", "repo": "https://github.com/smollcoin/EpikOS", "demo": "https://epik-os.vercel.app/"}]...
|
[{"post_id": 32939, "ts": "202 [{"post_id": 32939, "ts": "2026-07-22T12:48:37Z", "hours": 3.5181, "text": "probably the final devlog i did some small animations!! i saw a youtube video about framer motion and i decided to try it… i like its declarative approach and usage of animation props!! so yum i also made a context manager i think thats so cool too i made a guide app for people who may need more guidance in navigating the app i added skip and next buttons for my music web player yup!"}, {"post_id": 32215, "ts": "2026-07-21T07:43:10Z", "hours": 3.5453, "text": "ok made a calendar and a countdown to the next epikcase youtube drop… apps now can be resized in every direction!!!! that was challenging for me. i don’t know it was just hard to figure it out thank god theres no rotate function or else it would probbly be impossible to calculate im gonna put in animations and sound effects now… maybe a loading screen too"}, {"post_id": 31272, "ts": "2026-07-19T15:29:50Z", "hours": 4.4642, "text": "i would love to put a video but i keep getting bad gatway error due to my slow internet connection but i styled it and added a few more epik high albums! and theres even a cute gif when its in a loading state because i did not want to confuse users. i also did a bit of restructuring and divided them into smaller components…"}, {"post_id": 30000, "ts": "2026-07-17T07:23:08Z", "hours": 8.3589, "text": "what ive done logic for the music player when i first started this i thought it wouldn’t take long but it did… and i haven’t finished styling yet so it looks really bad… so why it took so long was at first i tried searching up to use spotify, but realised only premium members can select track so never mind… then i considered storing all the songs in a file storage server but i felt bad downloading the songs so i explored other options… so i went to search up how other WebOS does their music player and the ariana grande one used the youtube API so i looked into it… thanks it worked!! ok so after it worked, i tried to separate them into composable and smaller components because it got too messy on one file and that’s where i spent so much time on this… now im gonna style this better…"}, {"post_id": 27175, "ts": "2026-07-12T14:31:06Z", "hours": 3.1792, "text": "yay updates: terminal app with 9 commands and good formatting!! you can upload custom wallpapers now!! i now know how to use the pre html tag… wow. also its my first time trying to setup a terminal like app that includes cycling pass through past commands and displaying output histrory correctly. there’s like a bug that doesn’t automatically scroll down towards the bottom and that makes me sad because i can’t fix it but other than that i think its good hehe"}, {"post_id": 25301, "ts": "2026-07-09T14:47:50Z", "hours": 3.1089, "text": "i am so happy what has changed: settings app with dark and light mode and can change background new start screen new cursor i feel so delighted when the dark/light mode thing worked because embarrassingly i have never successfully implemented one before"}, {"post_id": 24008, "ts": "2026-07-07T09:09:58Z", "hours": 3.1794, "text": "dang i lost my streak but yes i made notes app using tiptap package gallery app but its more of a scroll thing enjoy i will work on a start screen and then… maybe one more app…"}, {"post_id": 21235, "ts": "2026-07-03T02:12:55Z", "hours": 3.3536, "text": "i built a browser app with two tabs! and the links are their stuff on another page! i also showed icons on the desktop using grid css because I may want to make them organizable in the future…"}, {"post_id": 20137, "ts": "2026-07-01T17:57:02Z", "hours": 4.4075, "text": "ok it really is coming together (very slowly) things i did: desktop now renders open/maximized windows on screen dynamic modal positioning for search and calendar fullscreen toggle adjust wallpaper images (lowkey the hardest part i can’t seem to find any good high quality landscape pics and i am too lazy to edit one) i was so happy when the windows appeared i can’t believe that i could do this !! now i need to list out the icons on the screen and make all the APPS!!!"}, {"post_id": 19321, "ts": "2026-06-30T16:31:09Z", "hours": 2.7989, "text": "things i did: rewrote useDrag logic to use the useAppsState file and limit dragging only in the viewport wrote useResize logic (only can resize one way because i suck at it and im not motivated to do this) define useAppState, wrote function to modify for useAppState i think i have it figured out… it should be in a global AppsState kinda thing. At first i tried separating them into app info and the state of it eg. open closed, size position etc but i got confused so even though its not good practice i just… smashed them all together i feel im getting impatient / losing motivation for this project but i don’t know… this is so random but v-bind is so insane as a beginner vue developer omgomgomgomgo-"}, {"post_id": 19070, "ts": "2026-06-30T08:19:51Z", "hours": 5.0222, "text": "gang i wrote so much but there’s an error so it didnt get sent im gonna cry. not very epik yet but give it like 10 more hours i did: styling finding images making windows draggable designing bottom dock but it still can’t work yet challenges: sigh im a little rusty in programming in general not sure where to put the app state and what information so i struggled hard with that unfamilarity with vue"}]...
|
Title: EPIKOS by @smollcoin | Stardance
Devlogs:
Title: EPIKOS by @smollcoin | Stardance
Devlogs:
gang i wrote so much but there’s an error so it didnt get sent im gonna cry. not very epik yet but give it like 10 more hours i did: styling finding images making windows draggable designing bottom dock but it still can’t work yet challenges: sigh im a little rusty in programming in general not sure where to put the app state and what information so i struggled hard with that unfamilarity with vue
things i did: rewrote useDrag logic to use the useAppsState file and limit dragging only in the viewport wrote useResize logic (only can resize one way because i suck at it and im not motivated to do this) define useAppState, wrote function to modify for useAppState i think i have it figured out… it should be in a global AppsState kinda thing. At first i tried separating them into app info and the state of it eg. open closed, size position etc but i got confused so even though its not good practice i just… smashed them all together i feel im getting impatient / losing motivation for this project but i don’t know… this is so random but v-bind is so insane as a beginner vue developer omgomgomgomgo-
ok it really is coming together (very slowly) things i did: desktop now renders open/maximized windows on screen dynamic modal positioning for search and calendar fullscreen toggle adjust wallpaper images (lowkey the hardest part i can’t seem to find any good high quality landscape pics and i am too lazy to edit one) i was so happy when the windows appeared i can’t believe that i could do this !! now i need to list out the icons on the screen and make all the APPS!!!
i built a browser app with two tabs! and the links are their stuff on another page! i also showed icons on the desktop using grid css because I may want to make them organizable in the future…
dang i lost my streak but yes i made notes app using tiptap package gallery app but its more of a scroll thing enjoy i will work on a start screen and then… maybe one more app…
i am so happy what has changed: settings app with dark and light mode and can change background new start screen new cursor i feel so delighted when the dark/light mode thing worked because embarrassingly i have never successfully implemented one before
yay updates: terminal app with 9 commands and good formatting!! you can upload custom wallpapers now!! i now know how to use the pre html tag… wow. also its my first time trying to setup a terminal like app that includes cycling pass through past commands and displaying output histrory correctly. there’s like a bug that doesn’t automatically scroll down towards the bottom and that makes me sad because i can’t fix it but other than that i think its good hehe
what ive done logic for the music player when i first started this i thought it wouldn’t take long but it did… and i haven’t finished styling yet so it looks really bad… so why it took so long was at first i tried searching up to use spotify, but realised only premium members can select track so never mind… then i considered storing all the songs in a file storage server but i felt bad downloading the songs so i explored other options… so i went to search up how other WebOS does their music player and the ariana grande one used the youtube API so i looked into it… thanks it worked!! ok so after it worked, i tried to separate them into composable and smaller components because it got too messy on one file and that’s where i spent so much time on this… now im gonna style this better…
i would love to put a video but i keep getting bad gatway error due to my slow internet connection but i styled it and added a few more epik high albums! and theres even a cute gif when its in a loading state because i did not want to confuse users. i also did a bit of restructuring and divided them into smaller components…
ok made a calendar and a countdown to the next epikcase youtube drop… apps now can be resized in every direction!!!! that was challenging for me. i don’t know it was just hard to figure it out thank god theres no rotate function or else it would probbly be impossible to calculate im gonna put in animations and sound effects now… maybe a loading screen too
probably the final devlog i did some small animations!! i saw a youtube video about framer motion and i decided to try it… i like its declarative approach and usage of animation props!! so yum i also made a context manager i think thats so cool too i made a guide app for people who may need more guidance in navigating the app i added skip and next buttons for my music web player yup!
Ships:
E-P-I-K I am so Epik High pilled now so I made a Epik High themed OS. It’s my first time using Vue I love it so much, more than React (teehee) One small thing that I am proud of is implementing dark and light theme mode because I can never seem to get it right but this time I did it sheesh. There are still a few features that are not done yet and I will work on it #soon Hope you enjoyed it as much as I did !!!!
EPIKOS final final final IT’s an epik high themed web OS! Epik High is a korean hiphop trio. now with more apps: calendar, music player, guide, terminal, a countdown. and i added some small animations. youch 45 hours that’s all! i had fun with this project. yes it took a lot of time because i had to learn new framework but i think im pretty proficient in vue now… vue > react i still struggle ALOT encapsulating the data into composables and i definitely still need more practice… thanks for reading! tmi but my favourite songs from them are: ‘Home is far away’ and ‘People Scare Me’ from the We’ve done something wonderful album. Hehe you can go check it out!...
|
1792990108.6235929
|
1793076508.6235929
|
|
28285
|
Late for Work by @lionclaws78956 | Stardance
|
lionclaws78956
|
1
|
19.0
|
259
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T14:25:43Z", "hours": 19.0, "multiplier": 13.9, "payout": 259, "blessing": "neutral", "text": "I have created a platformer where time constantly slows down, requiring you to pick up items to stay awake. It was made entirely in Godot, using GDScript and GDShader for all of the coding required. There were some movement issues, however it was all eventually able to be fixed in the end. The process took a long time, with many bugs coming when I’m trying to make a simple feature, but I’m proud of the end result with 4 different levels you can play on, each getting progressively harder. There are 2 different difficulties you can play on, since normal mode seemed a little too difficult for the average player. Credits: the music was made by MFCC on Pixabay and the Background was made by cityvector91 on Creative Fabrica. I hope you enjoy.", "repo": "https://github.com/Varun-Ganeshkumar/Late-For-Work", "demo": "https://lionclaws.itch.io/late-for-work"}]...
|
[{"post_id": 30327, "ts": "202 [{"post_id": 30327, "ts": "2026-07-17T19:51:10Z", "hours": 3.5667, "text": "#Everything is finished! Game is uploaded onto itch.io, and more mechanics have been added other than the levels. Everything added since the last devlog: Choice of difficulty Ability to go back to menu after death A total of 4 playable levels “Bonus” content after beating the game on any difficulty For the last time this project, more details below. 1. Difficulty chooser I’ve added an easy mode and a normal mode, with the easy mode having the rate of time slowing far less than the rate in normal mode. In both modes, the difficulty of platforming is the exact same. Easy mode will only give you more time to complete it, but the game is meant to be fast paced. The start button will also not appear until you choose a difficulty. 2. Ability to go back to main menu Originally, before this, there was no way to go back to the main menu after you clicked start. Since I added a difficulty menu, I wanted people to go back if they were deeply struggling and died many times, causing me to add that button. However, I decided to delete the options button on the menu since I wanted to finish this project as soon as possible. 3. The levels and bonus content This was actually the easiest part, as it required no technical parts, and I just had to play the game to see how difficult it would be for the average player. After finishing the four levels (with some having some unique gimmicks), when you start back in the first level you will have infinite items and infinite jumps just because you played it. No more goals to add for the future! I really enjoyed this project, and I’m ready for more games in the future. You can play it now on itch.io and the repository is there with the project. The game is finally over, and I hope you enjoy."}, {"post_id": 29665, "ts": "2026-07-16T18:50:37Z", "hours": 3.8186, "text": "Last devlog before shipping this project. Added music, a life system, and changed how death from time running out works. What I’ve done since last devlog: Added background music that plays throughout levels Pauses when dying or needing to restart Added a life system starting with 3 lives If you lose these lives, you start all the way from level one again Converted level one into a tutorial If you’ve seen the other devlogs, you probably know that I’ve been putting that last task on a devlog every single time, and I’ve only finished it now. As always, more detail on the big tasks below. 1. The background music I used some more royalty free music, this time being from pixabay with the artist being MFCC. I’m really thankful these are here, as they allow me to finish the project quicker with nicer details. This part didn’t take too long, with the main part being converting the audio player into a global part for Godot and writing a script to make it play. This did require adding around 3 more variables into the global script, however. 2. The life system If you’ve seen the other devlogs, you probably don’t remember me adding this as a goal. This is because it wasn’t, and I just wanted to make it for some reason. What it does is that if you fall into the void or run out of time, you lose a life and get sent back to the beginning of the level. If you lose all 3, you are presented with a big button saying try again, and you get sent back to level 1. This took most of my time, as there were many bugs that appeared attempting to make this work how I wanted it to. My final goals: Finish creating the levels Upload the game and finish the repository Possibly make a victory screen with benefits for winning These last goals seem to be the easiest, however I do say that every single time and they do not get easier. These don’t really require code, and I believe this will take around 2 hours max, depending how I’m feeling. This will be the last devlog, no matter how long it takes as there isn’t much more to report with tasks and it would get a little much talking about half of an unfinished task. See you guys at shipment."}, {"post_id": 28905, "ts": "2026-07-15T14:41:41Z", "hours": 2.5422, "text": "I’ve currently finished adding the dynamic background, added animations for the different items, and adjusted the time mechanic along with the vignette to make it feel more balanced. Next devlog should be the last. Exact things that were finished: Added a background that moves slower than the camera Credits to cityvector91 for the royalty free background Gave more designs for the items (specifically the level end) Added animations towards the items to make them look more alive Edited the time mechanic to end the game quicker along with the vignette Added extra comments to the code I’m not going to go too in depth with these, but I will mention the important parts. 1. The dynamic background I mentioned last time that I wasn’t able to finish this last time, but it was actually simpler than I thought. After going in with a fresh mind, I was able to finish it, and now it moves slightly slower than the player to show how it really is a city far away. I’m not changing the platforms, however. Those seem fine. 2. New designs and animations These usually take the longest amount of time, since I’m not the greatest at art, but I made a stopwatch and that was pretty simple. I would attach it, but I don’t know how to put multiple images in, so the image is how everything actually looks in production. I also made the coffee item and next level item move up and down using AnimationPlayer, making everything seem much smoother. ##The last goals: Add music and sound effects Think about what to do with the adrenaline item and possible sprites Finish making the game in general I really don’t want to do this as it is the most boring part of the entire process I really hope that this will be the second to last devlog before I upload the game. The remaining goals seem so simple, and I’m thinking of putting all the credits in the description or just replace the options button with a credits button. Either way, hopefully the rest will be finished in less than 3 hours. See you guys next devlog."}, {"post_id": 24766, "ts": "2026-07-08T15:33:19Z", "hours": 3.0886, "text": "Currently made a HUD and revamped many of the designs! COMPLETED TASKS: Made a functioning HUD that appears on start Added animations for jumping, idling, and running There was another task that I attempted to do, but eventually scratched (more on 3.) 1. Making the functional HUD This was actually one of the easier parts of the entire game, and I was able to finish the basics in around 30 minutes, but then spent around another 30 minutes making it look slightly nice. I only need to add something for the options button (maybe add a credits button as well for outside music and possibly art) and a background and the HUD will be fully complete. 2. Making animations (the hard part) I am not an artist by any means, so it took a long time attempting to make something that I thought would look good. Worst part about that is that I wasn’t working directly in the program to work on those so I lost around 90 minutes that went unlogged. i did make some designs that I do like, so I think animations are overall done! 3. Background attempt I really wanted to make a scrolling background or something similar, with a city scape that moved when the player moved. I was, unfortunately, unable to do this after around 30 minutes of trial and error, so I scratched the idea and will probably make a static background instead. I wanted to just get this devlog out there and focus on creating other tasks instead since it has been 3 hours unlogged, and I wanted to just get something done so I can list out future tasks that I will follow. TASKS FOR THE FUTURE: Revamp level 1/make it into a tutorial Also need to finish making the other levels Most likely the final step Add a working background Add options Add music and credits Design other final sprite I did believe that this wouldn’t take too long after finishing the last devlog, but it turns out that it may take longer than I wanted it to. The music, sprite design, and options will be the easiest as they don’t require code, so the part that I’m most worried about is the background. Again. Hopefully the next devlog will be the last one."}, {"post_id": 20780, "ts": "2026-07-02T14:01:19Z", "hours": 4.5703, "text": "I’ve finished the two goals I wanted to do in the last devlog. After 4 and a half hours that felt way too long. The two goals I’ve discussed last devlog were: Adding the visual that changes when the character gets tired The visual below is the inverse, when the character has a lot of adrenaline and is going faster than normal Fixing the coyote time and double jump bug The first one took around an hour, which made sense since I never learned shaders before making it for the border. The second one, however, took 3 hours and 30 minutes and I still don’t really know how I solved it. (Sorry for so much bold text, it’s the only way to separate paragraphs that I know) 1. The Visual/Vignette Overall, the main problem wasn’t with the visual, but with making the visual a smooth transition from dark to light. When using an item, I wanted it to transition from black to white smoothly rather than being instantaneous. The main problem was using a while loop. While loops can be helpful, however they run during a single frame in the function I was attempting to use in Godot. It also crashed my program. If you ever need to make a transition like this, I would recommend against a while loop because of what happened, unless you’re stubborn and don’t know much about other loops like me. I put the loop within a separate function with a timer in it to fix this problem, and it works great now! I think that’s all I’ll do for that, and that is also theoretically the hardest part of the entire game since I needed to learn many things for that. It still took a lot less time compared to 2. The Double Jump Bug This was very strange and was there since I had implemented coyote time into the game. For those unaware with game design, coyote time is extra walking time when moving off of a platform, making jumps more lenient and making it feel less like the game is unfair when failing a jump. The problem was when jumping during this small coyote time, it would make an ultra jump and prevent the player from using their double jump. This was super unintentional and made the game much more difficult when testing out the level. It took a very long time, but I added an extra timer, completely revamped my system with double jump (changing it from a boolean to an integer that counts the number of jumps you took), and added ANOTHER boolean that would help count when double jumps were used. It took a long time, with so much trial and error, but I was finally able to figure it out after around 3 days of thinking and attempting. I had to take many breaks in between because of how frustrated I was with this. For now, I’m happy it’s finally completed, and I will no longer touch this code in fear something will break again unless it’s absolutely necessary. My Remaining Goals: Make a background and get visuals for the items Revamp design of main character Make a main menu Add a death screen and make level 1 harder/change it into a tutorial Overall, I doubt these goals will take over 5 hours combined unless something else comes up. These issues took a long time, and I believe the next longest thing will be the art as I am not that great with art if you couldn’t tell with the screenshots. I may decide to add cutscenes in order to learn more about Godot, but that depends how long the other goals take. See you in the next devlog, and I hope it will come out sooner than this one."}, {"post_id": 18569, "ts": "2026-06-29T19:21:31Z", "hours": 1.035, "text": "I’m continuing a platformer with a time mechanic that I started during Summer of Making! The main mechanic constantly slows down time, and your (sleepy) main character has to collect items that will keep them awake, such as coffee and pure adrenaline for some reason. Currently, I have: One level built Coffee item designed and working The HUD that counts how many of an item you have (I worked mostly on this today) Adrenaline item with no design but still works The killzone, which is necessary for almost every platformer Everything except for the HUD was made before this year, and I mostly just tested the game again. The image below shows the HUD in the top left corner, and, although it’s not shown, it does work but doesn’t reset when you fall off. There needs to be a better way or better visual for the game over, since it isn’t really that great currently. MY GOALS FOR THE FUTURE: Make a visual to show the character getting tired Edges would progressively get darker and darker as time goes on until it fades to black Fix the Coyote time and Double Jump bug When coyote time is active, jumping uses both double jump and regular jump to make a mega jump which is very much not intended Design the adrenaline sprite and redesign the character Main character design is currently a placeholder Finish making the 4(ish) remaining levels Make the main menu These are ranked from highest to lowest in terms of priority, but now that I’m looking at all these goals together it doesn’t seem like it will take as long as I originally thought. Hopefully I will spend around 2 to 3 hours the next day coding, and I’ll make another devlog discussing what I’ve accomplished. My main goal for tomorrow is to fix the first two goals that I’ve put down."}]...
|
Title: Late for Work by @lionclaws78956 | Stardanc Title: Late for Work by @lionclaws78956 | Stardance
Devlogs:
I’m continuing a platformer with a time mechanic that I started during Summer of Making! The main mechanic constantly slows down time, and your (sleepy) main character has to collect items that will keep them awake, such as coffee and pure adrenaline for some reason. Currently, I have: One level built Coffee item designed and working The HUD that counts how many of an item you have (I worked mostly on this today) Adrenaline item with no design but still works The killzone, which is necessary for almost every platformer Everything except for the HUD was made before this year, and I mostly just tested the game again. The image below shows the HUD in the top left corner, and, although it’s not shown, it does work but doesn’t reset when you fall off. There needs to be a better way or better visual for the game over, since it isn’t really that great currently. MY GOALS FOR THE FUTURE: Make a visual to show the character getting tired Edges would progressively get darker and darker as time goes on until it fades to black Fix the Coyote time and Double Jump bug When coyote time is active, jumping uses both double jump and regular jump to make a mega jump which is very much not intended Design the adrenaline sprite and redesign the character Main character design is currently a placeholder Finish making the 4(ish) remaining levels Make the main menu These are ranked from highest to lowest in terms of priority, but now that I’m looking at all these goals together it doesn’t seem like it will take as long as I originally thought. Hopefully I will spend around 2 to 3 hours the next day coding, and I’ll make another devlog discussing what I’ve accomplished. My main goal for tomorrow is to fix the first two goals that I’ve put down.
I’ve finished the two goals I wanted to do in the last devlog. After 4 and a half hours that felt way too long. The two goals I’ve discussed last devlog were: Adding the visual that changes when the character gets tired The visual below is the inverse, when the character has a lot of adrenaline and is going faster than normal Fixing the coyote time and double jump bug The first one took around an hour, which made sense since I never learned shaders before making it for the border. The second one, however, took 3 hours and 30 minutes and I still don’t really know how I solved it. (Sorry for so much bold text, it’s the only way to separate paragraphs that I know) 1. The Visual/Vignette Overall, the main problem wasn’t with the visual, but with making the visual a smooth transition from dark to light. When using an item, I wanted it to transition from black to white smoothly rather than being instantaneous. The main problem was using a while loop. While loops can be helpful, however they run during a single frame in the function I was attempting to use in Godot. It also crashed my program. If you ever need to make a transition like this, I would recommend against a while loop because of what happened, unless you’re stubborn and don’t know much about other loops like me. I put the loop within a separate function with a timer in it to fix this problem, and it works great now! I think that’s all I’ll do for that, and that is also theoretically the hardest part of the entire game since I needed to learn many things for that. It still took a lot less time compared to 2. The Double Jump Bug This was very strange and was there since I had implemented coyote time into the game. For those unaware with game design, coyote time is extra walking time when moving off of a platform, making jumps more lenient and making it feel less like the game is unfair when failing a jump. The problem was when jumping during this small coyote time, it would make an ultra jump and prevent the player from using their double jump. This was super unintentional and made the game much more difficult when testing out the level. It took a very long time, but I added an extra timer, completely revamped my system with double jump (changing it from a boolean to an integer that counts the number of jumps you took), and added ANOTHER boolean that would help count when double jumps were used. It took a long time, with so much trial and error, but I was finally able to figure it out after around 3 days of thinking and attempting. I had to take many breaks in between because of how frustrated I was with this. For now, I’m happy it’s finally completed, and I will no longer touch this code in fear something will break again unless it’s absolutely necessary. My Remaining Goals: Make a background and get visuals for the items Revamp design of main character Make a main menu Add a death screen and make level 1 harder/change it into a tutorial Overall, I doubt these goals will take over 5 hours combined unless something else comes up. These issues took a long time, and I believe the next longest thing will be the art as I am not that great with art if you couldn’t tell with the screenshots. I may decide to add cutscenes in order to learn more about Godot, but that depends how long the other goals take. See you in the next devlog, and I hope it will come out sooner than this one.
Currently made a HUD and revamped many of the designs! COMPLETED TASKS: Made a functioning HUD that appears on start Added animations for jumping, idling, and running There was another task that I attempted to do, but eventually scratched (more on 3.) 1. Making the functional HUD This was actually one of the easier parts of the entire game, and I was able to finish the basics in around 30 minutes, but then spent around another 30 minutes making it look slightly nice. I only need to add something for the options button (maybe add a credits button as well for outside music and possibly art) and a background and the HUD will be fully complete. 2. Making animations (the hard part) I am not an artist by any means, so it took a long time attempting to make something that I thought would look good. Worst part about that is that I wasn’t working directly in the program to work on those so I lost around 90 minutes that went unlogged. i did make some designs that I do like, so I think animations are overall done! 3. Background attempt I really wanted to make a scrolling background or something similar, with a city scape that moved when the player moved. I was, unfortunately, unable to do this after around 30 minutes of trial and error, so I scratched the idea and will probably make a static background instead. I wanted to just get this devlog out there and focus on creating other tasks instead since it has been 3 hours unlogged, and I wanted to just get something done so I can list out future tasks that I will follow. TASKS FOR THE FUTURE: Revamp level 1/make it into a tutorial Also need to finish making the other levels Most likely the final step Add a working background Add options Add music and credits Design other final sprite I did believe that this wouldn’t take too long after finishing the last devlog, but it turns out that it may take longer than I wanted it to. The music, sprite design, and options will be the easiest as they don’t require code, so the part that I’m most worried about is the background. Again. Hopefully the next devlog will be the last one.
I’ve currently finished adding the dynamic background, added animations for the different items, and adjusted the time mechanic along with the vignette to make it feel more balanced. Next devlog should be the last. Exact things that were finished: Added a background that moves slower than the camera Credits to cityvector91 for the royalty free background Gave more designs for the items (specifically the level end) Added animations towards the items to make them look more alive Edited the time mechanic to end the game quicker along with the vignette Added extra comments to the code I’m not going to go too in depth with these, but I will mention the important parts. 1. The dynamic background I mentioned last time that I wasn’t able to finish this last time, but it was actually simpler than I thought. After going in with a fresh mind, I was able to finish it, and now it moves slightly slower than the player to show how it really is a city far away. I’m not changing the platforms, however. Those seem fine. 2. New designs and animations These usually take the longest amount of time, since I’m not the greatest at art, but I made a stopwatch and that was pretty simple. I would attach it, but I don’t know how to put multiple images in, so the image is how everything actually looks in production. I also made the coffee item and next level item move up and down using AnimationPlayer, making everything seem much smoother. ##The last goals: Add music and sound effects Think about what to do with the adrenaline item and possible sprites Finish making the game in general I really don’t want to do this as it is the most boring part of the entire process I really hope that this will be the second to last devlog before I upload the game. The remaining goals seem so simple, and I’m thinking of putting all the credits in the description or just replace the options button with a credits button. Either way, hopefully the rest will be finished in less than 3 hours. See you guys next devlog.
Last devlog before shipping this project. Added music, a life system, and changed how death from time running out works. What I’ve done since last devlog: Added background music that plays throughout levels Pauses when dying or needing to restart Added a life system starting with 3 lives If you lose these lives, you start all the way from level one again Converted level one into a tutorial If you’ve seen the other devlogs, you probably know that I’ve been putting that last task on a devlog every single time, and I’ve only finished it now. As always, more detail on the big tasks below. 1. The background music I used some more royalty free music, this time being from pixabay with the artist being MFCC. I’m really thankful these are here, as they allow me to finish the project quicker with nicer details. This part didn’t take too long, with the main part being converting the audio player into a global part for Godot and writing a script to make it play. This did require adding around 3 more variables into the global script, however. 2. The life system If you’ve seen the other devlogs, you probably don’t remember me adding this as a goal. This is because it wasn’t, and I just wanted to make it for some reason. What it does is that if you fall into the void or run out of time, you lose a life and get sent back to the beginning of the level. If you lose all 3, you are presented with a big button saying try again, and you get sent back to level 1. This took most of my time, as there were many bugs that appeared attempting to make this work how I wanted it to. My final goals: Finish creating the levels Upload the game and finish the repository Possibly make a victory screen with benefits for winning These last goals seem to be the easiest, however I do say that every single time and they do not get easier. These don’t really require code, and I believe this will take around 2 hours max, depending how I’m feeling. This will be the last devlog, no matter how long it takes as there isn’t much more to report with tasks and it would get a little much talking about half of an unfinished task. See you guys at shipment.
#Everything is finished! Game is uploaded onto itch.io, and more mechanics have been added other than the levels. Everything added since the last devlog: Choice of difficulty Ability to go back to menu after death A total of 4 playable levels “Bonus” content after beating the game on any difficulty For the last time this project, more details below. 1. Difficulty chooser I’ve added an easy mode and a normal mode, with the easy mode having the rate of time slowing far less than the rate in normal mode. In both modes, the difficulty of platforming is the exact same. Easy mode will only give you more time to complete it, but the game is meant to be fast paced. The start button will also not appear until you choose a difficulty. 2. Ability to go back to main menu Originally, before this, there was no way to go back to the main menu after you clicked start. Since I added a difficulty menu, I wanted people to go back if they were deeply struggling and died many times, causing me to add that button. However, I decided to delete the options button on the menu since I wanted to finish this project as soon as possible. 3. The levels and bonus content This was actually the easiest part, as it required no technical parts, and I just had to play the game to see how difficult it would be for the average player. After finishing the four levels (with some having some unique gimmicks), when you start back in the first level you will have infinite items and infinite jumps just because you played it. No more goals to add for the future! I really enjoyed this project, and I’m ready for more games in the future. You can play it now on itch.io and the repository is there with the project. The game is finally over, and I hope you enjoy.
Ships:
I have created a platformer where time constantly slows down, requiring you to pick up items to stay awake. It was made entirely in Godot, using GDScript and GDShader for all of the coding required. There were some movement issues, however it was all eventually able to be fixed in the end. The process took a long time, with many bugs coming when I’m trying to make a simple feature, but I’m proud of the end result with 4 different levels you can play on, each getting progressively harder. There are 2 different difficulties you can play on, since normal mode seemed a little too difficult for the average player. Credits: the music was made by MFCC on Pixabay and the Background was made by cityvector91 on Creative Fabrica. I hope you enjoy....
|
1792982932.175062
|
1793069332.175062
|
|
41227
|
I2 Sequencer by @KibbTheFox | Stardance
|
KibbTheFox
|
1
|
18.0
|
259
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T02:16:44Z", "hours": 18.0, "multiplier": 14.59, "payout": 259, "blessing": "neutral", "text": "The I2S is a music sequencer that ranges 8 octaves (C2-C9), has up to 32 steps, MIDI + keyboard input, full ASDR controls, custom sound uploading, and a dual mode. It is available on Mac + Windows. I love making music and music gear so I thought it would be fun to code a music-related program! I’ve made one other similar music program known as the K1 Monophonic Sampler. This project took a shorter amount of time than I expected. It makes sense though, as it isn’t my first coding project. I still struggled with motivation though, especially after losing my sticky streak. Also fitting in time to work on this and school at the same time was hard. I was still able to manage and now ship this!!!", "repo": "https://github.com/kibbthefox/I2-Sequencer", "demo": "https://github.com/kibbthefox/I2-Sequencer/releases/tag/v1.0"}]...
|
[{"post_id": 67027, "ts": "202 [{"post_id": 67027, "ts": "2026-09-13T02:09:30Z", "hours": 0.9803, "text": "Sequencer Devlog 14 - LAST DEVLOG!!! RELEASE!!!! Added a second button for uploading sound in Dual Mode Added finishing README touches Now everything is finished!!! Time to ship :D"}, {"post_id": 66937, "ts": "2026-09-12T22:13:22Z", "hours": 2.1942, "text": "Sequencer Devlog 13: DUAL MODE!!! You can now have two sequences running at once with up to 16 steps!!! Was such a pain to code I need to add like one more thing and then TIME TO SHIP!!!"}, {"post_id": 66244, "ts": "2026-09-11T23:21:39Z", "hours": 0.6317, "text": "Sequencer Devlog 12 added gay mode :3c new beta"}, {"post_id": 65751, "ts": "2026-09-11T03:12:30Z", "hours": 0.8267, "text": "Sequencer Devlog 11 Added sound file uploading ONE MORE FEATURE TILL I FINISH!! (and one other small thing)"}, {"post_id": 63875, "ts": "2026-09-07T21:33:33Z", "hours": 0.9958, "text": "Sequencer Devlog 10 :D Added 16 more steps for a total of 32!!!! Also added more stuff to the readme"}, {"post_id": 63153, "ts": "2026-09-06T20:01:48Z", "hours": 1.2136, "text": "Sequencer Devlog 9!!! Another beta release !! Added full ADSR Had a lot of the framework and math for ASDR done already from my other project, K1 Monophonic Sampler. I also added a shorter pause before starting. 2 more additions to the software before it is complete!!! (Maybe 3)"}, {"post_id": 63020, "ts": "2026-09-06T16:13:13Z", "hours": 1.2881, "text": "Sequencer Devlog 8 Set up knob code Fixed bug with keyboard pitch Optimized code (specifically with displays) Added MIDI keyboard display"}, {"post_id": 61922, "ts": "2026-09-05T02:52:29Z", "hours": 1.6839, "text": "Sequencer Devlog 7: Beta 3 !!!! Added: Speed Modifier Visual Octave control Better Step count control Removed paragraph I’ve been on a roll with updates!!!!! I can’t wait until I finish this project! The features to add list dwindles each day >:3 Next ASDR or a cool dual mode is going to be added!! Stayed tuned."}, {"post_id": 61201, "ts": "2026-09-04T00:46:15Z", "hours": 1.0906, "text": "Sequencer Devlog 6: Beta 2 :D Github link!!!! Added ability to change the amount of steps in a sequence"}, {"post_id": 60610, "ts": "2026-09-03T02:08:29Z", "hours": 1.1831, "text": "Sequencer Devlog 5 Added title Added note displays Remade play/stop UI Next I add bpm/time signatures :D"}, {"post_id": 59287, "ts": "2026-09-01T00:12:46Z", "hours": 1.2714, "text": "Sequencer Devlog 4 Released my first demo of my music sequencer! Added: ReadMe update Shows notes being played Fixed note input Added more octaves to the keyboard input Gonna work on some tidy graphics now and polish features + add some cool stuff"}, {"post_id": 56987, "ts": "2026-08-29T01:28:52Z", "hours": 1.9394, "text": "Sequencer Devlog 3 Lots of adding mor basis for future coding. Added very bad/broken keyboard input Added very broken note assigning to the sequence. Added Sequence actually playing, but at a fixed rate."}, {"post_id": 36839, "ts": "2026-07-29T04:53:36Z", "hours": 1.475, "text": "Sequencer Devlog 2 I did some work tonight, and added some more code systems to my sequencer project! I added MIDI connection and a way to assign notes to sequence steps. My hope for my next devlog is to add keyboard input or add visual elements because it is still impossible to use the program </3 Also I said in the last devlog that I might be inactive for a bit, but it turns out I forgot I actually have a few more days until that happens!! I can probably make 2 or 3 more devlogs until then."}, {"post_id": 36651, "ts": "2026-07-28T21:12:25Z", "hours": 0.9844, "text": "Sequencer Devlog 1 This is my music sequencer project! I’ve made base code and buttons to add onto later with different systems. Things to add: ASDR Normal Sequencer functions Dual Sequencer BPM Time signatures Uploadable files? or Selectable sounds I have to go on vacation so the next devlog might be a while later </3 (Or I could squeeze one more in)"}]...
|
Title: I2 Sequencer by @KibbTheFox | Stardance
De Title: I2 Sequencer by @KibbTheFox | Stardance
Devlogs:
Sequencer Devlog 1 This is my music sequencer project! I’ve made base code and buttons to add onto later with different systems. Things to add: ASDR Normal Sequencer functions Dual Sequencer BPM Time signatures Uploadable files? or Selectable sounds I have to go on vacation so the next devlog might be a while later </3 (Or I could squeeze one more in)
Sequencer Devlog 2 I did some work tonight, and added some more code systems to my sequencer project! I added MIDI connection and a way to assign notes to sequence steps. My hope for my next devlog is to add keyboard input or add visual elements because it is still impossible to use the program </3 Also I said in the last devlog that I might be inactive for a bit, but it turns out I forgot I actually have a few more days until that happens!! I can probably make 2 or 3 more devlogs until then.
Sequencer Devlog 3 Lots of adding mor basis for future coding. Added very bad/broken keyboard input Added very broken note assigning to the sequence. Added Sequence actually playing, but at a fixed rate.
Sequencer Devlog 4 Released my first demo of my music sequencer! Added: ReadMe update Shows notes being played Fixed note input Added more octaves to the keyboard input Gonna work on some tidy graphics now and polish features + add some cool stuff
Sequencer Devlog 5 Added title Added note displays Remade play/stop UI Next I add bpm/time signatures :D
Sequencer Devlog 6: Beta 2 :D Github link!!!! Added ability to change the amount of steps in a sequence
Sequencer Devlog 7: Beta 3 !!!! Added: Speed Modifier Visual Octave control Better Step count control Removed paragraph I’ve been on a roll with updates!!!!! I can’t wait until I finish this project! The features to add list dwindles each day >:3 Next ASDR or a cool dual mode is going to be added!! Stayed tuned.
Sequencer Devlog 8 Set up knob code Fixed bug with keyboard pitch Optimized code (specifically with displays) Added MIDI keyboard display
Sequencer Devlog 9!!! Another beta release !! Added full ADSR Had a lot of the framework and math for ASDR done already from my other project, K1 Monophonic Sampler. I also added a shorter pause before starting. 2 more additions to the software before it is complete!!! (Maybe 3)
Sequencer Devlog 10 :D Added 16 more steps for a total of 32!!!! Also added more stuff to the readme
Sequencer Devlog 11 Added sound file uploading ONE MORE FEATURE TILL I FINISH!! (and one other small thing)
Sequencer Devlog 12 added gay mode :3c new beta
Sequencer Devlog 13: DUAL MODE!!! You can now have two sequences running at once with up to 16 steps!!! Was such a pain to code I need to add like one more thing and then TIME TO SHIP!!!
Sequencer Devlog 14 - LAST DEVLOG!!! RELEASE!!!! Added a second button for uploading sound in Dual Mode Added finishing README touches Now everything is finished!!! Time to ship :D
Ships:
The I2S is a music sequencer that ranges 8 octaves (C2-C9), has up to 32 steps, MIDI + keyboard input, full ASDR controls, custom sound uploading, and a dual mode. It is available on Mac + Windows. I love making music and music gear so I thought it would be fun to code a music-related program! I’ve made one other similar music program known as the K1 Monophonic Sampler. This project took a shorter amount of time than I expected. It makes sense though, as it isn’t my first coding project. I still struggled with motivation though, especially after losing my sticky streak. Also fitting in time to work on this and school at the same time was hard. I was still able to manage and now ship this!!!...
|
1793008201.188807
|
1793094601.188807
|
|
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 :)...
|
1792972066.3415432
|
1793058466.3415432
|
|
27823
|
el4scloud by @el4s | Stardance
|
el4s
|
1
|
17.0
|
258
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T18:40:00Z", "hours": 17.0, "multiplier": 16.61, "payout": 258, "blessing": "neutral", "text": "I built HobbyCloud, the free cloud for teens! I’m working on offering web hosting soon, and maybe even VPS hosting. Register an account and stay tuned!", "repo": "https://github.com/EliasL-git/el4scloud", "demo": "https://cloud.el4s.dev"}]...
|
[{"post_id": 23638, "ts": "202 [{"post_id": 23638, "ts": "2026-07-06T18:33:30Z", "hours": 1.4336, "text": "Added banned_domains table + admin page to ban email domains — bans a domain, terminates all users with that domain, sends a termination email explaining they used a blacklisted domain- Created components/emails/banned-domain-termination.tsx email template- Added admin Broadcasts feature — form to send an email to all users, logged in broadcasts table- Added lib/zip.ts — lightweight ZIP creation using raw DEFLATE (no npm deps needed)- Added /api/admin/users/[userId]/export — admin can download a user’s account.json + all files as a zip- Built fraud detection engine ( lib/fraud-detection.ts , app/actions/fraud.ts ): - Duplicate IP detection on registration (+15/+30 score) - Upload velocity spikes (+10/+20 score) - Storage abuse (80%+ full, mostly tiny files, +25 score) - Auto-suspends at 80+ score- Admin Fraud Detection page with score leaderboard, drill-down flag viewer, clear flags + unsuspend button- Fixed scripts (migrate.mjs, check-health.mjs, reset-password.mjs) to handle both 'email' and 'credential' providerId values after registration was updated to use 'credential'"}, {"post_id": 22321, "ts": "2026-07-04T18:44:28Z", "hours": 1.3336, "text": "Fixed admin sidebar navigation — clicking tabs actually switches views now, not just overview- Added reset modal with granular checkboxes (storage, verification, introduction) instead of a single button- Removed Access Codes feature entirely (sidebar, actions, schema)- Created suspension enforcement system: assertNotSuspended() / isSuspended() guards across AI chat, files, API keys, webhooks, and proxy routes- Added unsuspendUser() admin action with button in admin users table- Fixed webhook test delivery — was calling fireWebhook() which silently dropped test events; now calls deliver() directly. Same fix in admin and API route.- Changed webhook payloads to Discord embed format with color-coded events and “Hobbycloud” as bot name- Stripped PII (names, emails, filenames, share tokens, API key prefixes, ticket subjects) from all webhook payloads- Removed “Need more storage?” footer from dashboard shell- Added ticket categories + subcategories with shared hierarchy constants, database migration, subcategory selectors, admin category filtering- Redesigned ticket creation UI — dedicated full-page form with visual category cards (icons!), auto-priority based on category/subcategory- Priority now auto-adjusts: Feature Request/General → low, Abuse/DMCA → urgent, Account recovery → high, etc."}, {"post_id": 21692, "ts": "2026-07-03T19:39:21Z", "hours": 1.0167, "text": "Moved back to Resend because Mailcow + Amazon SES wasn’t working due to issues with Amazon SES.Flagged files are now stored by their hash in our database. This significantly speeds up reviews, as ClamAV no longer has to rescan the same files repeatedly. Also started working on stats + made webhooks semi working!"}, {"post_id": 21652, "ts": "2026-07-03T18:36:46Z", "hours": 1.8836, "text": "Started to implement webhooks! For users and for admins! this way you can be alerted over discord or slack for stuff regarding your account!!!"}, {"post_id": 20981, "ts": "2026-07-02T18:37:17Z", "hours": 1.7503, "text": "offering free AI now! i have 200$ to burn since DO stopped offering github EDU a week ago :("}, {"post_id": 20155, "ts": "2026-07-01T18:15:07Z", "hours": 2.5169, "text": "im planing on offering more services so!! i made service isolation i will soon implement free web hosting and eventually compute!"}, {"post_id": 18582, "ts": "2026-06-29T19:31:34Z", "hours": 2.8, "text": "Made it use tabed navigation, implemented identity verification!"}, {"post_id": 17833, "ts": "2026-06-28T19:34:32Z", "hours": 3.8231, "text": "Built file uploading + virus scanning of uploaded files! doing my vbest to make it prod ready soon!"}]...
|
Title: el4scloud by @el4s | Stardance
Devlogs:
Bu Title: el4scloud by @el4s | Stardance
Devlogs:
Built file uploading + virus scanning of uploaded files! doing my vbest to make it prod ready soon!
Made it use tabed navigation, implemented identity verification!
im planing on offering more services so!! i made service isolation i will soon implement free web hosting and eventually compute!
offering free AI now! i have 200$ to burn since DO stopped offering github EDU a week ago :(
Started to implement webhooks! For users and for admins! this way you can be alerted over discord or slack for stuff regarding your account!!!
Moved back to Resend because Mailcow + Amazon SES wasn’t working due to issues with Amazon SES.Flagged files are now stored by their hash in our database. This significantly speeds up reviews, as ClamAV no longer has to rescan the same files repeatedly. Also started working on stats + made webhooks semi working!
Fixed admin sidebar navigation — clicking tabs actually switches views now, not just overview- Added reset modal with granular checkboxes (storage, verification, introduction) instead of a single button- Removed Access Codes feature entirely (sidebar, actions, schema)- Created suspension enforcement system: assertNotSuspended() / isSuspended() guards across AI chat, files, API keys, webhooks, and proxy routes- Added unsuspendUser() admin action with button in admin users table- Fixed webhook test delivery — was calling fireWebhook() which silently dropped test events; now calls deliver() directly. Same fix in admin and API route.- Changed webhook payloads to Discord embed format with color-coded events and “Hobbycloud” as bot name- Stripped PII (names, emails, filenames, share tokens, API key prefixes, ticket subjects) from all webhook payloads- Removed “Need more storage?” footer from dashboard shell- Added ticket categories + subcategories with shared hierarchy constants, database migration, subcategory selectors, admin category filtering- Redesigned ticket creation UI — dedicated full-page form with visual category cards (icons!), auto-priority based on category/subcategory- Priority now auto-adjusts: Feature Request/General → low, Abuse/DMCA → urgent, Account recovery → high, etc.
Added banned_domains table + admin page to ban email domains — bans a domain, terminates all users with that domain, sends a termination email explaining they used a blacklisted domain- Created components/emails/banned-domain-termination.tsx email template- Added admin Broadcasts feature — form to send an email to all users, logged in broadcasts table- Added lib/zip.ts — lightweight ZIP creation using raw DEFLATE (no npm deps needed)- Added /api/admin/users/[userId]/export — admin can download a user’s account.json + all files as a zip- Built fraud detection engine ( lib/fraud-detection.ts , app/actions/fraud.ts ): - Duplicate IP detection on registration (+15/+30 score) - Upload velocity spikes (+10/+20 score) - Storage abuse (80%+ full, mostly tiny files, +25 score) - Auto-suspends at 80+ score- Admin Fraud Detection page with score leaderboard, drill-down flag viewer, clear flags + unsuspend button- Fixed scripts (migrate.mjs, check-health.mjs, reset-password.mjs) to handle both 'email' and 'credential' providerId values after registration was updated to use 'credential'
Ships:
I built HobbyCloud, the free cloud for teens! I’m working on offering web hosting soon, and maybe even VPS hosting. Register an account and stay tuned!...
|
1793001128.6463134
|
1793087528.6463134
|
|
34704
|
Simple Switching by @DoMax | Stardance
|
DoMax
|
1
|
27.0
|
258
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-17T18:57:58Z", "hours": 27.0, "multiplier": 7.89, "payout": 258, "blessing": "neutral", "text": "Simple Switching as probably every Chrome user’s dream! Have you ever tried scrolling through latest tabs using Ctrl+Tab? That’s right, you can’t! After all these years Google refuses to implement it, leaving community developing workarounds. This extension isn’t much special or different by itself. All it does is allows switching through latest tabs on a shortcut press. The special thing is a LINUX-ONLY software that installs this extension. Why is it so special? Because it not only installs software, but also provisions an override for Chrome’s default Ctrl+Tab shortcut, something that was almost impossible with other providers without manual fiddling. While the installer supports Chrome, Chrome Canary, Chromium, Brave and Vivaldi IN THEORY (has configs for those browsers), only Google family has been tested on Fedora, other distros and browsers MAY fail, though should not. The installer also lets users uninstall the extension leaving minimal traces of Simple Switching! I really hope someone finds this project useful. And if not, it still was a fun time developing!", "repo": "https://github.com/domasles/simple-switching", "demo": "https://github.com/domasles/simple-switching/releases/latest"}]...
|
[{"post_id": 49113, "ts": "202 [{"post_id": 49113, "ts": "2026-08-17T18:54:34Z", "hours": 1.0206, "text": "Last devlog before shipping! Final changes Before pushing any major update I tend to test all the things myself to ensure that user-facing compatibility is pristine. However, when I went on and tried engaging one of the main features of my installer - parallel installs, I began to face a problem - the extension wasn’t installing! My guess is that Google family of browsers (Chromium, Chrome and Chrome Canary) have some protection or sandboxing, and trying to initiate an install across multiple browsers is disallowed deep inside Chrome’s code. Another possibility is that my code is broken or the server that runs locally to install the extension isn’t configured properly. This is probably more likely, as I could’ve overlooked things. Either way, the easiest fix for that was to disallow concurrent installs and only let users select one browser at a time to install the extension for. This works surprisingly consistently, as I wasn’t able to encounter any issues. Thanks for anyone who keeps an eye on this project. It was more of a pain than actually something useful, but I don’t regret my efforts. Stay creative, stay open source !"}, {"post_id": 44892, "ts": "2026-08-10T22:53:39Z", "hours": 10.2661, "text": "Linux it is… How this project turned out to be Linux-only While testing how builds worked and preparing this project for a release, I came to the realization that if I’m promising a cross-platform product, I should test it on all platforms first. I’m a Linux person, so when it all worked on my local machine, I didn’t bother much. Turns out - that was a huge mistake! Chrome-based browsers on Windows and macOS tend to block custom policy installed extensions due to security reasons. For that to work, a machine must be enrolled to a real management framework - Active Directory or similar. Linux is excluded due to no standard tool existing and the fact that not everyone using a Linux machine might have root access. What did I do to resolve this? First of all, I panicked, as any normal human being would. My first thought was to ensure a manual installation flow on Windows/macOS by letting users install the extension through development mode. However, the thing that disallowed me from implementing such approach was incompatibility between browser Preferences file schemas (at least when I went to check, it seemed this way). Not knowing how to ensure a working build quickly, my solution was to only support Linux systems. Can I still install the extension on my non-Linux machine? Yes! If your browser is built on Chromium (the architecture that powers Chrome, Brave and more), you can, and there are still instructions on how to get the builds working on all platforms for the extension itself. However, you should be aware of such things: You will get the default Alt+Q shortcut provisioned instead of Ctrl+Tab override (unless you decided to edit the BrowserInstall/Profile/Preferences file after installation (replace BrowserInstall with your browser’s data directory and Profile with your profile name ( Default by default)). You are taking management into your own hands without any official support from me. Are there more updates planned? Not really. I set up this project for shipping with custom branding and subtle tweaks within extension code, as well as a fully working provisioning framework for Linux users, and I’ll go create something new now! This was never intended to be production-ready, but instead serve as a tool for making Chrome more usable than it currently is. Even if you see a struggle, try to do everything in your will to overcome it, even if it means cutting corners is necessary!"}, {"post_id": 37244, "ts": "2026-07-29T20:02:26Z", "hours": 9.3439, "text": "Suit up! A graphical way of installation was just implemented! After quite some time of research and rest from constant development, I finally found out how the extension should be installed, removed, and provisioned for human usage. The installer is still in very early stages of development, and I believe that some bugs still exist, despite my best efforts of testing various scenarios of installation (for now, it’s still fully proven to be working on Linux, with no guarantee of Windows or macOS functionality). So let me tell you what I achieved. The offline installation framework This installer fully works offline, provided you have a built and signed extension ready. About its inner mechanisms Chromium-based browsers (like Chrome, Edge, Brave and more) expect the extensions to be installed through one of these ways: An extension store, provided in browser’s configs (for Chrome the default is Chrome Web Store, other browsers often implement their own) Enterprise policies with force-install capabilities Through default startup install list I chose the second option. It’s the only one that reliably lets me achieve one thing - locally hosted extension installation. Why policies? Well, Chromium-based browsers expect an update.xml file hosted through http, alongside the extension.crx file, which is signed using some private RSA key. I wanted local hosting for security reasons (so the user has more control of what happens on their pc rather than downloading something from the internet (more on that later)). Only way I can get true local installation is through those policies, as limitations apply using other methods. How the installer’s lifetime goes First of all, after user chooses desired browser profiles, it closes selected browsers, if any are open, hosts the installation server, deploys the policies, opens the browsers up briefly (installation can’t be performed in a closed browser), closes them again and provisions the shortcut (as one of this project’s goals was to integrate natively with Chromium’s Ctrl+Tab shortcut for switching tabs). After all that, all selected compatible browsers should have the extension installed. Uninstalling simply makes sure to remove any provisioned files (extension itself and the policies). What limitations it has? Enterprise policies prevent the user disabling or uninstalling the extension through browser’s UI tools. It’s treated as “managed by organization” A “Managed by organization” label appears. It does not limit the functionality of the browser, but can be irritating If you don’t trust this software and the things it does (system file and registry changes, root access requirements and more) can feel a bit unsafe. On the other hand, the source is open and can be inspected by anyone at any time, altered or forked to fit your needs! Next steps? Well, the extension will still need some sort of way getting on your PC, so I’m thinking about these 2 methods: Making installer download it from the latest GitHub release Adding a –local-path= flag for custom, local builds and providing a script for auto-packaging the extension yourself Also, I need to think about how the extension should be updated, but that’s for the future. Thanks for reading, I’ll update you with the newest updates soon!"}, {"post_id": 29653, "ts": "2026-07-16T18:34:46Z", "hours": 3.9392, "text": "Storytime! I feel like every project I make I face a similar set of limitations. So, let’s make a recap of the first stage of this project! Very lucky unlucky day As usual, I’m facing API issues. I enjoy making app extensions less and less due to restrictive rules they enforce. To make it clear, initially I had a specific set of plans at which my extension would excel compared to others: No timeout logic, instead handling tab switching based on specific key inputs (this will be important later) Save/load tab history from storage for access after restoring tabs Unlimited tab history Indication of the tab that will be switched Ctrl+Tab override However, only one of those I was able to accomplish, with another one planned for the second stage of this project: Unlimited tab history Ctrl+Tab (planned for later) Spending a lot of time, I at least made sure the extension functions well, with no memory termination and with each window having its own tab access history. Why other things failed? Well at first, Manifest V3 greatly reduced the amount of stuff that can be accessed by Chrome’s API. On top of that, chrome:// pages can’t be anyhow monitored or modified due to essential safety. This posed many issues, one of which was the inability to detect the press of a modifier key, so I had to go one of two ways: Build an OS-level keylogger which communicates with the extension through an open bridge, but I turned it down because: It’s a threat to security Python on the host computer is required (in order for me to retain a single codebase for each platform) Or just resort back to carefully adjusted keypress timeouts I chose the second option. I spent a whole day trying to save and load tab history, but the problem is that Chrome: Doesn’t expose any method to etch the data to a saved session Figuring out when history should be loaded, when saved to disk, and how to conect fast RAM with slow disk I/O is a true pain due to asynchronous nature Chrome is built on And, any tab indication falls short because Chrome doesn’t have any API to reliably highlight tabs without selecting them. Next steps? Next thing I will most likely do is make the provisioning system that overrides Ctrl+Tab shortcut and installs the extension automatically. The extension itself is memory safe and very useful as is. I don’t plan to update it anyhow besides changing the current branding."}, {"post_id": 28852, "ts": "2026-07-15T12:18:57Z", "hours": 2.1114, "text": "The bitter truth What I wasn’t able to accomplish Due to Chrome’s very restrictive API, there are things that will not be implemented as promised. Things such as: Holding modifier key freezing the queue (instead, I resorted to using timeouts) Indication of what will be the tab switched Not all hope is lost! Having said the limitations of Chrome’s API, I was able to fulfill these things: Unlimited tab queue (or at least enough for any normal usage, I haven’t pushed the extension to the limits of RAM usage) Intuitive usage (timeout seems appropriate, and the extension works) Clean and modern development flow What’s left to implement before moving to provisioning? Before I start coding the Python applet that would provision this extension, I want to also solve these problems: Implement restoring tab order upon closing and reopening the browser Adding any newly added tab to the top of the queue Fiddle around with timings to find what’s the best for intuitive usage that doesn’t get in the way"}, {"post_id": 28236, "ts": "2026-07-14T11:41:21Z", "hours": 0.8058, "text": "A new project begins! What’s it about? I’m sick of not being able to switch recent tabs in most of Chrome-based browsers! And the problem with the existing extensions is that they don’t memorize more than 5 tabs, and use a timing-based system, which requires very fast shortcut tapping. I’m on a mission to change this. How will this extension differ from others? On top of my goals of making an unlimited tab queue and fix the timing issues, the extension will be 100% free and open source, also I don’t plan to release it on any extension store, because I have a different install method in mind. How will I install it then? I want to make a beautiful Python CLI or GUI wrapper that installs and provisions the extension. Things like: Ctrl+Tab shortcut setup Installation Information on what will be changed inside the system Will all be shown and handled by the installation app Stay tuned! If I succeed it will be a very nice extension for everyone and every machine!"}]...
|
Title: Simple Switching by @DoMax | Stardance
Dev Title: Simple Switching by @DoMax | Stardance
Devlogs:
A new project begins! What’s it about? I’m sick of not being able to switch recent tabs in most of Chrome-based browsers! And the problem with the existing extensions is that they don’t memorize more than 5 tabs, and use a timing-based system, which requires very fast shortcut tapping. I’m on a mission to change this. How will this extension differ from others? On top of my goals of making an unlimited tab queue and fix the timing issues, the extension will be 100% free and open source, also I don’t plan to release it on any extension store, because I have a different install method in mind. How will I install it then? I want to make a beautiful Python CLI or GUI wrapper that installs and provisions the extension. Things like: Ctrl+Tab shortcut setup Installation Information on what will be changed inside the system Will all be shown and handled by the installation app Stay tuned! If I succeed it will be a very nice extension for everyone and every machine!
The bitter truth What I wasn’t able to accomplish Due to Chrome’s very restrictive API, there are things that will not be implemented as promised. Things such as: Holding modifier key freezing the queue (instead, I resorted to using timeouts) Indication of what will be the tab switched Not all hope is lost! Having said the limitations of Chrome’s API, I was able to fulfill these things: Unlimited tab queue (or at least enough for any normal usage, I haven’t pushed the extension to the limits of RAM usage) Intuitive usage (timeout seems appropriate, and the extension works) Clean and modern development flow What’s left to implement before moving to provisioning? Before I start coding the Python applet that would provision this extension, I want to also solve these problems: Implement restoring tab order upon closing and reopening the browser Adding any newly added tab to the top of the queue Fiddle around with timings to find what’s the best for intuitive usage that doesn’t get in the way
Storytime! I feel like every project I make I face a similar set of limitations. So, let’s make a recap of the first stage of this project! Very lucky unlucky day As usual, I’m facing API issues. I enjoy making app extensions less and less due to restrictive rules they enforce. To make it clear, initially I had a specific set of plans at which my extension would excel compared to others: No timeout logic, instead handling tab switching based on specific key inputs (this will be important later) Save/load tab history from storage for access after restoring tabs Unlimited tab history Indication of the tab that will be switched Ctrl+Tab override However, only one of those I was able to accomplish, with another one planned for the second stage of this project: Unlimited tab history Ctrl+Tab (planned for later) Spending a lot of time, I at least made sure the extension functions well, with no memory termination and with each window having its own tab access history. Why other things failed? Well at first, Manifest V3 greatly reduced the amount of stuff that can be accessed by Chrome’s API. On top of that, chrome:// pages can’t be anyhow monitored or modified due to essential safety. This posed many issues, one of which was the inability to detect the press of a modifier key, so I had to go one of two ways: Build an OS-level keylogger which communicates with the extension through an open bridge, but I turned it down because: It’s a threat to security Python on the host computer is required (in order for me to retain a single codebase for each platform) Or just resort back to carefully adjusted keypress timeouts I chose the second option. I spent a whole day trying to save and load tab history, but the problem is that Chrome: Doesn’t expose any method to etch the data to a saved session Figuring out when history should be loaded, when saved to disk, and how to conect fast RAM with slow disk I/O is a true pain due to asynchronous nature Chrome is built on And, any tab indication falls short because Chrome doesn’t have any API to reliably highlight tabs without selecting them. Next steps? Next thing I will most likely do is make the provisioning system that overrides Ctrl+Tab shortcut and installs the extension automatically. The extension itself is memory safe and very useful as is. I don’t plan to update it anyhow besides changing the current branding.
Suit up! A graphical way of installation was just implemented! After quite some time of research and rest from constant development, I finally found out how the extension should be installed, removed, and provisioned for human usage. The installer is still in very early stages of development, and I believe that some bugs still exist, despite my best efforts of testing various scenarios of installation (for now, it’s still fully proven to be working on Linux, with no guarantee of Windows or macOS functionality). So let me tell you what I achieved. The offline installation framework This installer fully works offline, provided you have a built and signed extension ready. About its inner mechanisms Chromium-based browsers (like Chrome, Edge, Brave and more) expect the extensions to be installed through one of these ways: An extension store, provided in browser’s configs (for Chrome the default is Chrome Web Store, other browsers often implement their own) Enterprise policies with force-install capabilities Through default startup install list I chose the second option. It’s the only one that reliably lets me achieve one thing - locally hosted extension installation. Why policies? Well, Chromium-based browsers expect an update.xml file hosted through http, alongside the extension.crx file, which is signed using some private RSA key. I wanted local hosting for security reasons (so the user has more control of what happens on their pc rather than downloading something from the internet (more on that later)). Only way I can get true local installation is through those policies, as limitations apply using other methods. How the installer’s lifetime goes First of all, after user chooses desired browser profiles, it closes selected browsers, if any are open, hosts the installation server, deploys the policies, opens the browsers up briefly (installation can’t be performed in a closed browser), closes them again and provisions the shortcut (as one of this project’s goals was to integrate natively with Chromium’s Ctrl+Tab shortcut for switching tabs). After all that, all selected compatible browsers should have the extension installed. Uninstalling simply makes sure to remove any provisioned files (extension itself and the policies). What limitations it has? Enterprise policies prevent the user disabling or uninstalling the extension through browser’s UI tools. It’s treated as “managed by organization” A “Managed by organization” label appears. It does not limit the functionality of the browser, but can be irritating If you don’t trust this software and the things it does (system file and registry changes, root access requirements and more) can feel a bit unsafe. On the other hand, the source is open and can be inspected by anyone at any time, altered or forked to fit your needs! Next steps? Well, the extension will still need some sort of way getting on your PC, so I’m thinking about these 2 methods: Making installer download it from the latest GitHub release Adding a –local-path= flag for custom, local builds and providing a script for auto-packaging the extension yourself Also, I need to think about how the extension should be updated, but that’s for the future. Thanks for reading, I’ll update you with the newest updates soon!
Linux it is… How this project turned out to be Linux-only While testing how builds worked and preparing this project for a release, I came to the realization that if I’m promising a cross-platform product, I should test it on all platforms first. I’m a Linux person, so when it all worked on my local machine, I didn’t bother much. Turns out - that was a huge mistake! Chrome-based browsers on Windows and macOS tend to block custom policy installed extensions due to security reasons. For that to work, a machine must be enrolled to a real management framework - Active Directory or similar. Linux is excluded due to no standard tool existing and the fact that not everyone using a Linux machine might have root access. What did I do to resolve this? First of all, I panicked, as any normal human being would. My first thought was to ensure a manual installation flow on Windows/macOS by letting users install the extension through development mode. However, the thing that disallowed me from implementing such approach was incompatibility between browser Preferences file schemas (at least when I went to check, it seemed this way). Not knowing how to ensure a working build quickly, my solution was to only support Linux systems. Can I still install the extension on my non-Linux machine? Yes! If your browser is built on Chromium (the architecture that powers Chrome, Brave and more), you can, and there are still instructions on how to get the builds working on all platforms for the extension itself. However, you should be aware of such things: You will get the default Alt+Q shortcut provisioned instead of Ctrl+Tab override (unless you decided to edit the BrowserInstall/Profile/Preferences file after installation (replace BrowserInstall with your browser’s data directory and Profile with your profile name ( Default by default)). You are taking management into your own hands without any official support from me. Are there more updates planned? Not really. I set up this project for shipping with custom branding and subtle tweaks within extension code, as well as a fully working provisioning framework for Linux users, and I’ll go create something new now! This was never intended to be production-ready, but instead serve as a tool for making Chrome more usable than it currently is. Even if you see a struggle, try to do everything in your will to overcome it, even if it means cutting corners is necessary!
Last devlog before shipping! Final changes Before pushing any major update I tend to test all the things myself to ensure that user-facing compatibility is pristine. However, when I went on and tried engaging one of the main features of my installer - parallel installs, I began to face a problem - the extension wasn’t installing! My guess is that Google family of browsers (Chromium, Chrome and Chrome Canary) have some protection or sandboxing, and trying to initiate an install across multiple browsers is disallowed deep inside Chrome’s code. Another possibility is that my code is broken or the server that runs locally to install the extension isn’t configured properly. This is probably more likely, as I could’ve overlooked things. Either way, the easiest fix for that was to disallow concurrent installs and only let users select one browser at a time to install the extension for. This works surprisingly consistently, as I wasn’t able to encounter any issues. Thanks for anyone who keeps an eye on this project. It was more of a pain than actually something useful, but I don’t regret my efforts. Stay creative, stay open source !
Ships:
Simple Switching as probably every Chrome user’s dream! Have you ever tried scrolling through latest tabs using Ctrl+Tab? That’s right, you can’t! After all these years Google refuses to implement it, leaving community developing workarounds. This extension isn’t much special or different by itself. All it does is allows switching through latest tabs on a shortcut press. The special thing is a LINUX-ONLY software that installs this extension. Why is it so special? Because it not only installs software, but also provisions an override for Chrome’s default Ctrl+Tab shortcut, something that was almost impossible with other providers without manual fiddling. While the installer supports Chrome, Chrome Canary, Chromium, Brave and Vivaldi IN THEORY (has configs for those browsers), only Google family has been tested on Fedora, other distros and browsers MAY fail, though should not. The installer also lets users uninstall the extension leaving minimal traces of Simple Switching! I really hope someone finds this project useful. And if not, it still was a fun time developing!...
|
1792990250.5108914
|
1793076650.5108914
|
|
28931
|
ploot by @yay | Stardance
|
yay
|
1
|
21.0
|
257
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T04:44:39Z", "hours": 21.0, "multiplier": 12.18, "payout": 257, "blessing": "neutral", "text": "this is ploot, an ai powered planner that helps you allocate time to your tasks. you drag your availability on the calendar, write down your tasks in the rich text editor, then it gives you an editable calendar that you can export to a real calendar app(.ics format)! this was my first time making an app like this, so i used a bit of ai in the debugging process, especially for small things that i didn’t notice. there were a lot of challenges, but some of the especially annoying ones were the models returning errors, having signup errors, and timezone mismatches. what i really like about this is that its actually usable in my daily life :D its not something i make and then leave to rot, and is really useful for my indecisiveness. things to note beforehand: its passwordless and uses magic link login, is very slow in loading events(so pls be patient), and the generated schedules are not saved into a database or anything so once you refresh the page they’re gone. also (this probably wont happen) but you might get ratelimited", "repo": "https://github.com/nxzeh727/ploot", "demo": "https://ploot1.vercel.app"}]...
|
[{"post_id": 74296, "ts": "202 [{"post_id": 74296, "ts": "2026-09-27T04:18:39Z", "hours": 4.8806, "text": "ploot devlog #3 :D i added a modifications section so that you can modify your schedule to how you would want it to be. i also changed the ai models so that it would be better and cleaned up remaining bugs. its almost ready to ship! :D"}, {"post_id": 62279, "ts": "2026-09-05T15:58:02Z", "hours": 6.3167, "text": "devlog #2 :D i fixed the ui :D and also got rid of a bunch of bugs related to scheduling and signup/login i also added a dashboard but theres nothing in it so far there are still some problems though, since the ai doesn’t generate schedules half the time. after this, i mostly plan on adding a modification part for the schedule, a place to save the calendar and check it, and some stuff in the dashboard. :D I’m also planning on upgrading the text place into a proper todo-list thanks for reading :D"}, {"post_id": 42754, "ts": "2026-08-07T17:03:52Z", "hours": 9.8656, "text": "ploot devlog #1: so far, I’ve added a lot of things: the basic funciton(a calendar where you select the times available, a somewhat formatted editor where you can put what you need to do for that day, and an AI schedule generated from these pieces of information). i also created authentication(using maigc link only). initially, i stored the events and resulting schedule in a json, but i changed the inputs and put them into a database, and then converted the resulting schedule into .ics format so you can download it. as of right now, its a bit ugly, but that will be fixed in the future!"}]...
|
Title: ploot by @yay | Stardance
Devlogs:
ploot d Title: ploot by @yay | Stardance
Devlogs:
ploot devlog #1: so far, I’ve added a lot of things: the basic funciton(a calendar where you select the times available, a somewhat formatted editor where you can put what you need to do for that day, and an AI schedule generated from these pieces of information). i also created authentication(using maigc link only). initially, i stored the events and resulting schedule in a json, but i changed the inputs and put them into a database, and then converted the resulting schedule into .ics format so you can download it. as of right now, its a bit ugly, but that will be fixed in the future!
devlog #2 :D i fixed the ui :D and also got rid of a bunch of bugs related to scheduling and signup/login i also added a dashboard but theres nothing in it so far there are still some problems though, since the ai doesn’t generate schedules half the time. after this, i mostly plan on adding a modification part for the schedule, a place to save the calendar and check it, and some stuff in the dashboard. :D I’m also planning on upgrading the text place into a proper todo-list thanks for reading :D
ploot devlog #3 :D i added a modifications section so that you can modify your schedule to how you would want it to be. i also changed the ai models so that it would be better and cleaned up remaining bugs. its almost ready to ship! :D
Ships:
this is ploot, an ai powered planner that helps you allocate time to your tasks. you drag your availability on the calendar, write down your tasks in the rich text editor, then it gives you an editable calendar that you can export to a real calendar app(.ics format)! this was my first time making an app like this, so i used a bit of ai in the debugging process, especially for small things that i didn’t notice. there were a lot of challenges, but some of the especially annoying ones were the models returning errors, having signup errors, and timezone mismatches. what i really like about this is that its actually usable in my daily life :D its not something i make and then leave to rot, and is really useful for my indecisiveness. things to note beforehand: its passwordless and uses magic link login, is very slow in loading events(so pls be patient), and the generated schedules are not saved into a database or anything so once you refresh the page they’re gone. also (this probably wont happen) but you might get ratelimited...
|
1793004752.7198625
|
1793091152.7198625
|
|
32564
|
Orbitune by @tlevi | Stardance
|
tlevi
|
1
|
15.0
|
257
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T11:19:28Z", "hours": 15.0, "multiplier": 17.35, "payout": 257, "blessing": "neutral", "text": "Orbitune turns gravity into music. Click to create a star, and a body begins orbiting it. Each completed orbit plays a note — the star’s position sets the pitch. Add and move stars to conduct a solar system that composes in real time!", "repo": "https://github.com/TLevi74/orbitune", "demo": "https://tlevi74.github.io/orbitune"}]...
|
[{"post_id": 25875, "ts": "202 [{"post_id": 25875, "ts": "2026-07-10T11:16:58Z", "hours": 1.1306, "text": "Phase 4: It’s Done! (Animations, Bug Fixes, & README) What I Added: Orbitune is officially complete! I focused on adding extra visuals whenever sounds play, removing the last bugs, cleaning up the UI, and writing the readme documentation. How I Coded It: Sound Animations: I thought just having a basic ring was kind of boring, so I added more animations to the canvas. Now, whenever a planet finishes an orbit and plays a note, a wave expands. And I now spawn some extra glowing trails. No More Prespawned Stars Bug: There was a bug where stars would automatically spawn in right when the page loaded. Now the sky start totally empty and clean, waiting for your first tap. Toolbar Layout Fix: On smaller screens or when the browser window was resized, the text labels under the bottom buttons were clipping out of their borders. I adjusted the absolute positioning and added a few fixes. Now the text wraps and shrinks perfectly. Documentation: I wrote a detailed README.md file. It lists out all the features, explains how the gravitational integration works, documents. The project is completely finished, running, and looks amazing!"}, {"post_id": 25353, "ts": "2026-07-09T16:19:40Z", "hours": 6.0814, "text": "Phase 3: Space FX, The Gravity Grid, & Adding Sound (Web Audio API) What I Added: The canvas looked super basic with just plain circles, so I spent this phase making it look like an actual sandbox. Plus, I finally hooked up the Web Audio API so the simulation isn’t completely silent and can actually play music based on the orbits! How I Coded It: The Synthesizer & Scales: I set up a pentatonic scale array based around a 220Hz note. I coded it so that whenever a star is placed, its base pitch is determined by how high up it is on the screen (the Y-axis). For the actual sound, I combined a sine wave and a triangle wave and gave them a quick exponential volume drop so they fade out smoothly. Making It Play: I didn’t want sounds firing constantly, so I wrote code to track the planet’s angle relative to the star it’s orbiting. Every single frame, it calculates the change in angle and if it moved a full rotation it triggers a tone. I also used the planet’s X-position to adjust the stereos so you can hear the note move left or right in your headphone depending on where the orbit finished. Visual Polish: Along with the music shockwaves, I added a background with floating clouds and random stars so the screen has depth. I also coded a particle system from scratch so you get an awesome burst of sparks whenever a planet crashes into a star. Now I need to polish everything, add animations, and the project is ready for shipping!"}, {"post_id": 24761, "ts": "2026-07-08T15:26:53Z", "hours": 3.7217, "text": "The Gravity Grid, Way More Orbits, & Bottom Buttons What I Added: I wanted to make the physics actually look cool, so I coded a visible gravity grid that connects the stars. I also upgraded the code to support multiple orbits at the same time and added a bottom control toolbar so you don’t have to reload the page to change settings. How I Coded It: The Spacetime Grid: I wrote a function that loops through rows on the canvas. For every single point, it checks how far away it is from each star and calculates a vector to pull the grid line closer to the mass. It looks sick because the lines warp around the stars. Upgraded Physics: I rewrote the integration loop so it can handle a ton of planets and multiple stars all pulling on each other at once. It figures out which star has the strongest gravitational pull on a planet and tracks its angle around it to reset and handle smooth transitions if it gets yanked away by a bigger star. Bottom Toolbar: I put together a HTML/CSS toolbar at the bottom. I coded buttons to toggle the grid on/off and turn on light trails (trailsEnabled) so the planets leave glowing streaks behind them as they fly around. Up Next: Music FINALLY!"}, {"post_id": 24645, "ts": "2026-07-08T11:24:53Z", "hours": 3.9019, "text": "Building Orbitune What is Orbitune? Orbitune is a browser based musical instrument that uses a 2D orbital physics engine to translate the gravitational interactions into real-time ambient music. Phase 1: Core Orbital Physics & Canvas Setup I started working on the project: I created the HTML Canvas environment handling responsive viewport scaling. Built a 2D Euler integration loop to run the orbital physics engine. Core Logic: Implemented Newton’s law of universal gravitation with a distance softening factor to prevent infinite forces during tight encounters. Defined the parent attractors (suns) and orbiting particles (planets), coding a collision system where planets merge into suns to dynamically increase their mass and physical radius over time."}]...
|
Title: Orbitune by @tlevi | Stardance
Devlogs:
Bu Title: Orbitune by @tlevi | Stardance
Devlogs:
Building Orbitune What is Orbitune? Orbitune is a browser based musical instrument that uses a 2D orbital physics engine to translate the gravitational interactions into real-time ambient music. Phase 1: Core Orbital Physics & Canvas Setup I started working on the project: I created the HTML Canvas environment handling responsive viewport scaling. Built a 2D Euler integration loop to run the orbital physics engine. Core Logic: Implemented Newton’s law of universal gravitation with a distance softening factor to prevent infinite forces during tight encounters. Defined the parent attractors (suns) and orbiting particles (planets), coding a collision system where planets merge into suns to dynamically increase their mass and physical radius over time.
The Gravity Grid, Way More Orbits, & Bottom Buttons What I Added: I wanted to make the physics actually look cool, so I coded a visible gravity grid that connects the stars. I also upgraded the code to support multiple orbits at the same time and added a bottom control toolbar so you don’t have to reload the page to change settings. How I Coded It: The Spacetime Grid: I wrote a function that loops through rows on the canvas. For every single point, it checks how far away it is from each star and calculates a vector to pull the grid line closer to the mass. It looks sick because the lines warp around the stars. Upgraded Physics: I rewrote the integration loop so it can handle a ton of planets and multiple stars all pulling on each other at once. It figures out which star has the strongest gravitational pull on a planet and tracks its angle around it to reset and handle smooth transitions if it gets yanked away by a bigger star. Bottom Toolbar: I put together a HTML/CSS toolbar at the bottom. I coded buttons to toggle the grid on/off and turn on light trails (trailsEnabled) so the planets leave glowing streaks behind them as they fly around. Up Next: Music FINALLY!
Phase 3: Space FX, The Gravity Grid, & Adding Sound (Web Audio API) What I Added: The canvas looked super basic with just plain circles, so I spent this phase making it look like an actual sandbox. Plus, I finally hooked up the Web Audio API so the simulation isn’t completely silent and can actually play music based on the orbits! How I Coded It: The Synthesizer & Scales: I set up a pentatonic scale array based around a 220Hz note. I coded it so that whenever a star is placed, its base pitch is determined by how high up it is on the screen (the Y-axis). For the actual sound, I combined a sine wave and a triangle wave and gave them a quick exponential volume drop so they fade out smoothly. Making It Play: I didn’t want sounds firing constantly, so I wrote code to track the planet’s angle relative to the star it’s orbiting. Every single frame, it calculates the change in angle and if it moved a full rotation it triggers a tone. I also used the planet’s X-position to adjust the stereos so you can hear the note move left or right in your headphone depending on where the orbit finished. Visual Polish: Along with the music shockwaves, I added a background with floating clouds and random stars so the screen has depth. I also coded a particle system from scratch so you get an awesome burst of sparks whenever a planet crashes into a star. Now I need to polish everything, add animations, and the project is ready for shipping!
Phase 4: It’s Done! (Animations, Bug Fixes, & README) What I Added: Orbitune is officially complete! I focused on adding extra visuals whenever sounds play, removing the last bugs, cleaning up the UI, and writing the readme documentation. How I Coded It: Sound Animations: I thought just having a basic ring was kind of boring, so I added more animations to the canvas. Now, whenever a planet finishes an orbit and plays a note, a wave expands. And I now spawn some extra glowing trails. No More Prespawned Stars Bug: There was a bug where stars would automatically spawn in right when the page loaded. Now the sky start totally empty and clean, waiting for your first tap. Toolbar Layout Fix: On smaller screens or when the browser window was resized, the text labels under the bottom buttons were clipping out of their borders. I adjusted the absolute positioning and added a few fixes. Now the text wraps and shrinks perfectly. Documentation: I wrote a detailed README.md file. It lists out all the features, explains how the gravitational integration works, documents. The project is completely finished, running, and looks amazing!
Ships:
Orbitune turns gravity into music. Click to create a star, and a body begins orbiting it. Each completed orbit plays a note — the star’s position sets the pitch. Add and move stars to conduct a solar system that composes in real time!...
|
1792979692.5430303
|
1793066092.5430303
|
|
32578
|
Pen Plotter by @mgiv | Stardance
|
mgiv
|
1
|
58.26
|
257
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T21:10:40Z", "hours": 54.0, "multiplier": 5.0, "payout": 257, "blessing": "neutral", "text": "Pen plotter - Ship 1 Introduction This is a pen plotter I’ve been making over the past few weeks. It uses NEMA 17 stepper motors, timing belts, 3d printed parts and an esp32. I’ve got it to draw images of my cat, Onyx, as well as some fractals and space filling curves. I created a simple G-code language called P-Code that runs the machine. Most of the processing is split between the pc, where it processes the images and turns them into the P-Code, and the ESP32, which draws lines from the P-Code. I also added some other features, such as end switches for toolhead homing, which was very difficult to do before, and also an emergency stop button for when things went wrong. Design At first, I created a very simple x-axis only prototype, and I thought I learnt enough from that to attempt a corexy design. Quite quickly though, I realised that corexy was a mistake. See instead of using a separate belt system for the X and Y axis, this uses 2 belt systems on both the X and Y axis. This is good because the motors are stationary, and a motor doesn’t have to ride on the Y axis, but it makes things 10x more complicated. After a while I gave up and used a gantry system instead. I also used timing belts instead of the string I used on the first prototype, which wasn’t nearly precise enough. I made quite a few mistakes, which resulted in me having to reprint a part. The area of the plotter is about 15000 x 16000 steps, which translates into around 190x200mm, which I’m very pleased with. There are still a lot of problems with the design, such as: Some screwholes are impossible to reach It’s a pain to tension the belt The pen up/down mechanism causes a lot of wiggle It’s very hard to get the belt around the motor on the x axis The motor almost doesn’t fit in the hole on the x axis It’s impossible to make the rods on the Y axis parallel without building a full frame, which is slightly outside of the budget for this project, so I had to leave one corner unscrewed to allow for some play The double motor system is great but it makes moving the carriage manually very difficult The 2 motors can get out of sync meaning one side is slightly further along the Y axis from the other. The cable sometimes gets caught, skipping steps at best, or at worst breaking something There are a lot of loose connections on the breadboard, I’ll get a custom pcb at some point As you can see, I ran into a huge amount of issues. But that didn’t stop me, as you can see. Software I used Micropython on ESP32 for this, which was a good choice because it would have taken me 10x longer if I used ESP-IDF for it, which is the official C SDK. At first, it could only draw horizontal, vertical and diagonal lines, not lines at an angle, because both motors travelled at the same speed. Because of this I implemented Bresenham’s line algorithm, and also learnt how to use the @micropython .native decorator which makes code run much faster. The 5000 steps per second speed I was aiming for wouldn’t be realistic without native. Other than the demo of the hilbert curves, there’s a number of demos linked in the readme of the Github repo. Next, I hope to implement SVG reading, so I can draw many more things, as I won’t have to write custom code to draw something new.", "repo": "https://github.com/mgiv/pen-plotter", "demo": ""}]...
|
[{"post_id": 31809, "ts": "202 [{"post_id": 31809, "ts": "2026-07-20T14:22:40Z", "hours": 4.2589, "text": "Pen Plotter - Devlog 8 I’ve been working on drawing SVGs. The trick here is to combine everything into one single path in inkscape and also approximate curves and ellipses etc to lines. I’ve also fixed a lot of strange bugs, one of which was caused by a timer overflow, which happens after 9 minutes in micropython. This caused a crash, but now it’s fixed. I also updated the acceleration routine, and now it only activates when the pen is up. I’ll start working on version 2 soon which will fix a lot of the precision issues I’ve had with this version, and also be far more capable."}, {"post_id": 30357, "ts": "2026-07-17T20:43:25Z", "hours": 5.4864, "text": "Pen Plotter - Devlog 7. I’ve been working on drawing sierpinski triangles and hilbert curves as well as drawing images with canny edge detection."}, {"post_id": 29232, "ts": "2026-07-16T00:36:24Z", "hours": 10.2814, "text": "Pen Plotter - Devlog 6. I’ve been working more on the gantry system, and I got my first prototype up and running. I used steel rods, NEMA 17 stepper motors, and timing belts for this. Other than that it’s almost all 3d printed. I designed a couple of parts badly, mainly forgetting to put a hole into one of the motor parts, so that the shaft wouldn’t fit. Other than that, it worked surprisingly well. The first few images I drew were of my cat, Onyx, and I used the system I described in a previous devlog where it converts the image into lines. I’ll also need to try canny edge detection, as that would probably work quite well, but I’ll need to work more on the plotter’s software because it can only draw horizontal, vertical, and diagonal lines at the moment. I’ll also work on converting svgs, and also text possibly"}, {"post_id": 28437, "ts": "2026-07-14T17:54:08Z", "hours": 8.4247, "text": "Pen Plotter - Devlog 5 I’ve been working on a gantry system. Not sure if I mentioned it on the last devlog, but corexy is very very painful to design. I scrapped that after a while and started work on a much more basic gantry design. As I’m writing this, the parts for that system are printing, so I’ll update this once I have a basic prototype up and running. I’ve also been working on canny edge detection for the images, which finds the edges in an image and turns them into contours that I can draw on the machine. I used python opencv and recycled a lot of code from the previous line-based approach. I’ll try out both using lines and contours for drawing images, and I’ll see which works better. I suspect that the lines will look much better, but I’m certain they’ll take ages to draw. Both these methods still output my custom p-code language which will be used on the pen plotter Next up, I’ll assemble the basic prototype and try to get it working. While I’m waiting for the parts to print, which will take about another 3 hours, I’ll look into possibly using sine waves to draw things, and changing the amplitude, and also a method using zig zag lines which have variable spacing Oh, and I also worked on a bit of hardware, because the new system uses an extra stepper motor I had to wire up 2 motors in series which is way easier than using another driver and more precise also"}, {"post_id": 27765, "ts": "2026-07-13T16:39:19Z", "hours": 5.2189, "text": "Pen plotter - devlog 4 I’ve been taking a break from cad, and instead working on converting images to toolpaths for the future plotter. The first method I tried was using lines. For each pixel there is a block 10x10 steps wide, and if the image is very dark in that region, it’ll draw 10 lines in there, if it’s brighter it might only draw 5. I also developed my own g-code like language called p-code, where there are only a few commands: MOVE X Y, PEN UP/DOWN, HOME, and SPEED (in steps per second). I turned the images into a series of p-code commands. Since the pen plotter isn’t finished yet (and to be honest won’t be for a while), I made a simple interpreter and displayed the images using a matplotlib LineCollection. In the future I’ll be exploring other methods of making images display, such as: Dots of variable spacing Sine waves of variable amplitude Zig Zag lines of variable density (but constant height) Converting SVG images into paths Finding outlines in images and drawing them, possibly using something like canny edge detection"}, {"post_id": 27265, "ts": "2026-07-12T17:55:03Z", "hours": 12.0139, "text": "Pen plotter - devlog 3 CoreXY system For some strange reason, I decided to scrap the old version with the single x axis, and the string drive. Instead, I’m going for a CoreXY system with fancy timing belts. After 10 hours of wrangling with Fusion and trying to get a functional design, I’m starting to slightly regret it, and I almost wish that I just went with a generic gantry system or even a bed slinger I posted this devlog because I’m up to the 10 hour limit, and I need to post or else my time won’t count. By chance it happens that I’m just about finished the first prototype of the CoreXY system, and just need to wait a couple days until the parts arrive. It uses timing belts and idlers, NEMA 17 stepper motors, and a single SG90 servo motor, plus a bunch of parts I’ll 3D print myself. What next? I’ve had so many issues with this project: The CAD is a complete mess and I’ll almost certainly have to remake it using a better method I still don’t know if the CoreXY will even work, I’ll need to wait and see I don’t know if the screws are strong enough to hold it onto the baseplate There’s probably a number of parts with clearance issues and the carriage probably won’t run properly So next I’ll work on making the first prototype and after that, if it works I’ll take a break from CAD to work on some software for it, and get it to draw things. If it doesn’t work… I guess back to CAD."}, {"post_id": 25597, "ts": "2026-07-09T23:18:13Z", "hours": 8.7156, "text": "Devlog 2 - X axis done. Taking lessons from the last devlog, I completely reworked the pulley system at the end. I also fixed the print settings for the spools, but had other issues. But in the end I managed to achieve an amazing result, which draws dashed lines. It uses a servo motor to move the pen up and down and a stepper using what is sort of a capstan drive, however heavily modified. For some reason I decided after this to completely redesign the whole thing into a corexy plotter instead, I think it was a terrible decision but let’s see how we do in 10 hours… One problem I had is that the pen holder is very very wobbly, either I’ll just tighten the tolerances or maybe change it so that the servo is attached directly. Another is the servo mount - as you can see I had to break some of it off to mount the servo as I didn’t account for the wires."}, {"post_id": 24925, "ts": "2026-07-08T20:03:34Z", "hours": 3.6436, "text": "Pen plotter - first devlog. I had issues with lookout that meant that I lost about 3 hours of recorded time, but now I have very simple prototype. I did a little programming on the esp32, but this was mostly just writing a test program and setting up the environment. There are a number of issues with the current prototype: one of the holes on the carriage is smaller than the other, the stepper didn’t fit in the holder, the thing attaching the thread to the carriage snapped the thread, the spool at the end was too loose, and the spools had terrible print quality. There are an number of other issues that I’ll just ignore for now, and fix later."}]...
|
Title: Pen Plotter by @mgiv | Stardance
Devlogs:
Title: Pen Plotter by @mgiv | Stardance
Devlogs:
Pen plotter - first devlog. I had issues with lookout that meant that I lost about 3 hours of recorded time, but now I have very simple prototype. I did a little programming on the esp32, but this was mostly just writing a test program and setting up the environment. There are a number of issues with the current prototype: one of the holes on the carriage is smaller than the other, the stepper didn’t fit in the holder, the thing attaching the thread to the carriage snapped the thread, the spool at the end was too loose, and the spools had terrible print quality. There are an number of other issues that I’ll just ignore for now, and fix later.
Devlog 2 - X axis done. Taking lessons from the last devlog, I completely reworked the pulley system at the end. I also fixed the print settings for the spools, but had other issues. But in the end I managed to achieve an amazing result, which draws dashed lines. It uses a servo motor to move the pen up and down and a stepper using what is sort of a capstan drive, however heavily modified. For some reason I decided after this to completely redesign the whole thing into a corexy plotter instead, I think it was a terrible decision but let’s see how we do in 10 hours… One problem I had is that the pen holder is very very wobbly, either I’ll just tighten the tolerances or maybe change it so that the servo is attached directly. Another is the servo mount - as you can see I had to break some of it off to mount the servo as I didn’t account for the wires.
Pen plotter - devlog 3 CoreXY system For some strange reason, I decided to scrap the old version with the single x axis, and the string drive. Instead, I’m going for a CoreXY system with fancy timing belts. After 10 hours of wrangling with Fusion and trying to get a functional design, I’m starting to slightly regret it, and I almost wish that I just went with a generic gantry system or even a bed slinger I posted this devlog because I’m up to the 10 hour limit, and I need to post or else my time won’t count. By chance it happens that I’m just about finished the first prototype of the CoreXY system, and just need to wait a couple days until the parts arrive. It uses timing belts and idlers, NEMA 17 stepper motors, and a single SG90 servo motor, plus a bunch of parts I’ll 3D print myself. What next? I’ve had so many issues with this project: The CAD is a complete mess and I’ll almost certainly have to remake it using a better method I still don’t know if the CoreXY will even work, I’ll need to wait and see I don’t know if the screws are strong enough to hold it onto the baseplate There’s probably a number of parts with clearance issues and the carriage probably won’t run properly So next I’ll work on making the first prototype and after that, if it works I’ll take a break from CAD to work on some software for it, and get it to draw things. If it doesn’t work… I guess back to CAD.
Pen plotter - devlog 4 I’ve been taking a break from cad, and instead working on converting images to toolpaths for the future plotter. The first method I tried was using lines. For each pixel there is a block 10x10 steps wide, and if the image is very dark in that region, it’ll draw 10 lines in there, if it’s brighter it might only draw 5. I also developed my own g-code like language called p-code, where there are only a few commands: MOVE X Y, PEN UP/DOWN, HOME, and SPEED (in steps per second). I turned the images into a series of p-code commands. Since the pen plotter isn’t finished yet (and to be honest won’t be for a while), I made a simple interpreter and displayed the images using a matplotlib LineCollection. In the future I’ll be exploring other methods of making images display, such as: Dots of variable spacing Sine waves of variable amplitude Zig Zag lines of variable density (but constant height) Converting SVG images into paths Finding outlines in images and drawing them, possibly using something like canny edge detection
Pen Plotter - Devlog 5 I’ve been working on a gantry system. Not sure if I mentioned it on the last devlog, but corexy is very very painful to design. I scrapped that after a while and started work on a much more basic gantry design. As I’m writing this, the parts for that system are printing, so I’ll update this once I have a basic prototype up and running. I’ve also been working on canny edge detection for the images, which finds the edges in an image and turns them into contours that I can draw on the machine. I used python opencv and recycled a lot of code from the previous line-based approach. I’ll try out both using lines and contours for drawing images, and I’ll see which works better. I suspect that the lines will look much better, but I’m certain they’ll take ages to draw. Both these methods still output my custom p-code language which will be used on the pen plotter Next up, I’ll assemble the basic prototype and try to get it working. While I’m waiting for the parts to print, which will take about another 3 hours, I’ll look into possibly using sine waves to draw things, and changing the amplitude, and also a method using zig zag lines which have variable spacing Oh, and I also worked on a bit of hardware, because the new system uses an extra stepper motor I had to wire up 2 motors in series which is way easier than using another driver and more precise also
Pen Plotter - Devlog 6. I’ve been working more on the gantry system, and I got my first prototype up and running. I used steel rods, NEMA 17 stepper motors, and timing belts for this. Other than that it’s almost all 3d printed. I designed a couple of parts badly, mainly forgetting to put a hole into one of the motor parts, so that the shaft wouldn’t fit. Other than that, it worked surprisingly well. The first few images I drew were of my cat, Onyx, and I used the system I described in a previous devlog where it converts the image into lines. I’ll also need to try canny edge detection, as that would probably work quite well, but I’ll need to work more on the plotter’s software because it can only draw horizontal, vertical, and diagonal lines at the moment. I’ll also work on converting svgs, and also text possibly
Pen Plotter - Devlog 7. I’ve been working on drawing sierpinski triangles and hilbert curves as well as drawing images with canny edge detection.
Pen Plotter - Devlog 8 I’ve been working on drawing SVGs. The trick here is to combine everything into one single path in inkscape and also approximate curves and ellipses etc to lines. I’ve also fixed a lot of strange bugs, one of which was caused by a timer overflow, which happens after 9 minutes in micropython. This caused a crash, but now it’s fixed. I also updated the acceleration routine, and now it only activates when the pen is up. I’ll start working on version 2 soon which will fix a lot of the precision issues I’ve had with this version, and also be far more capable.
Ships:
Pen plotter - Ship 1 Introduction This is a pen plotter I’ve been making over the past few weeks. It uses NEMA 17 stepper motors, timing belts, 3d printed parts and an esp32. I’ve got it to draw images of my cat, Onyx, as well as some fractals and space filling curves. I created a simple G-code language called P-Code that runs the machine. Most of the processing is split between the pc, where it processes the images and turns them into the P-Code, and the ESP32, which draws lines from the P-Code. I also added some other features, such as end switches for toolhead homing, which was very difficult to do before, and also an emergency stop button for when things went wrong. Design At first, I created a very simple x-axis only prototype, and I thought I learnt enough from that to attempt a corexy design. Quite quickly though, I realised that corexy was a mistake. See instead of using a separate belt system for the X and Y axis, this uses 2 belt systems on both the X and Y axis. This is good because the motors are stationary, and a motor doesn’t have to ride on the Y axis, but it makes things 10x more complicated. After a while I gave up and used a gantry system instead. I also used timing belts instead of the string I used on the first prototype, which wasn’t nearly precise enough. I made quite a few mistakes, which resulted in me having to reprint a part. The area of the plotter is about 15000 x 16000 steps, which translates into around 190x200mm, which I’m very pleased with. There are still a lot of problems with the design, such as: Some screwholes are impossible to reach It’s a pain to tension the belt The pen up/down mechanism causes a lot of wiggle It’s very hard to get the belt around the motor on the x axis The motor almost doesn’t fit in the hole on the x axis It’s impossible to make the rods on the Y axis parallel without building a full frame, which is slightly outside of the budget for this project, so I had to leave one corner unscrewed to allow for some play The double motor system is great but it makes moving the carriage manually very difficult The 2 motors can get out of sync meaning one side is slightly further along the Y axis from the other. The cable sometimes gets caught, skipping steps at best, or at worst breaking something There are a lot of loose connections on the breadboard, I’ll get a custom pcb at some point As you can see, I ran into a huge amount of issues. But that didn’t stop me, as you can see. Software I used Micropython on ESP32 for this, which was a good choice because it would have taken me 10x longer if I used ESP-IDF for it, which is the official C SDK. At first, it could only draw horizontal, vertical and diagonal lines, not lines at an angle, because both motors travelled at the same speed. Because of this I implemented Bresenham’s line algorithm, and also learnt how to use the @micropython .native decorator which makes code run much faster. The 5000 steps per second speed I was aiming for wouldn’t be realistic without native. Other than the demo of the hilbert curves, there’s a number of demos linked in the readme of the Github repo. Next, I hope to implement SVG reading, so I can draw many more things, as I won’t have to write custom code to draw something new....
|
1792986872.5670252
|
1793073272.5670252
|
|
33221
|
Fluxer Bot by @ERR0RW0LF | Stardance
|
ERR0RW0LF
|
1
|
18.4
|
257
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T13:14:44Z", "hours": 18.0, "multiplier": 14.27, "payout": 257, "blessing": "neutral", "text": "Tool Bot This is a bot with a lot of different tools. It was written using the fluxer.py lib. How to try it: Use the Try project link it should redirect you to fluxer. If you don’t have an account you can create a temporary one there. After that you most likely need to open the link again. Then just join. Help: Here are the available commands: Admin Tools /clear Clears messages in the current channel. /clear_channel Does the same as /clear /gen_channel_history <message_count (optional, default=10-50)> Generates fake channel history for testing. /get_data <guild|channel|user|users> Looks up information about a guild, channel, or user. Bad Apple /bad_apple Plays the Bad Apple ASCII animation in the channel. Hak5 Tools /disable_hak5_products /enable_hak5_products /get_raw_full_price_product_history /price_history <product_url> Get the price history of a Hak5 product and display it as a graph generated using matplotlib. /subscribe_hak5_updates /unsubscribe_hak5_updates /update_hak5_product_list [force] [update] Updates the Hak5 product list from the discovered product sitemap. Help /help Displays this help message. Linux Like Tools /base64 -d ## decode | /base64 ## encode Encodes or decodes a string using Base64. /base64_file -d ## decode | /base64 ## encode Encodes or decodes a file using Base64 and a similar syntax to Linux. /base85 -d ## decode | /base85 ## encode Encodes or decodes a string using Base85. /file_profile Tries to find as much information about a file as possible. /internet_checksum /man Displays the man page of a selected command Onboarding /markdown Shows a help message for formatting Markdown Ping /ping Responds with ‘Pong!’ and adds a ping pong emoji reaction. Tic Tac Toe /tic_tac_toe @friend Play a game of Tic Tac Toe with a friend.", "repo": "https://github.com/ERR0RW0LF/Fluxer_Custom_Bots", "demo": "https://fluxer.gg/chLftCM1"}]...
|
[{"post_id": 44713, "ts": "202 [{"post_id": 44713, "ts": "2026-08-10T17:31:28Z", "hours": 0.4044, "text": "Fixed the /man command. I forgot to change some stuff when modifying some functions form the /help command. But now it’s fixed."}, {"post_id": 44300, "ts": "2026-08-09T23:24:07Z", "hours": 6.2278, "text": "So yes this took me for ever. I added a /tic_tac_toe command. It detects if someone one and if there is a draw, also only the current player can make a move. Also I added some Man pages for the /clear_channel and /gen_channel_history commands."}, {"post_id": 39780, "ts": "2026-08-02T23:38:21Z", "hours": 1.8317, "text": "For this devlog I only changed some stuff and didn’t add that much. What changed and got added: Changed to postgres for handling stuff related to the hak5_products the product list now auto updates every hour servers only need to opt in for products using the /enable_hak5_products command and can disable it using the /disable_hak5_products users can subscribe to get up notified if a new product is added the sitemap_products.xml is now automatically getting fetched from the sitemap.xml That should be everything that I added and changed. I’m still putting of writing the man pages for all commands. If you have any ideas for this project, I would love to here them."}, {"post_id": 39146, "ts": "2026-08-01T21:20:18Z", "hours": 2.1433, "text": "Added a lot since the last Devlog. What’s new: The _bot command can now only be used by the account which id is specified in the .env file of the bot Created a Dockerfile and an example docker compose file added the /internet_checksum command to calculate the checksum for an udp header (was learning for an exam) added a /base84 command (maybe useful for CTFs)"}, {"post_id": 26369, "ts": "2026-07-11T03:38:14Z", "hours": 3.1567, "text": "Added 2 new commands and fixed some stuff. The new commands are: /file_profile which displays different information about files like there hashes or there file extension. I also added a /man command which gets the information about commands added by cogs, so mostly all commands except for /_bot , and displays the more detailed information to only one command in contrast to the /help command. What I fixed: Locked the /_bot command to only be able to be used by admins. This is still not completely save for publicly hosting this bot so that anyone can invite it to there server. Also fixed some things I forgot or not correctly changed when moving the code for the /update_hak5_product_list command to a cog. Also made the command now able to support multiple servers at the same time using the same bot. Next up: Write the man pages for all my commands and to improve that command"}, {"post_id": 25697, "ts": "2026-07-10T03:45:30Z", "hours": 2.9836, "text": "Added the new command /base64_file which allows the decoding of base64 directly to a file. This files extension gets determent based on the magic number in it. The command also allows the conversion of files into base64. ———————————————————————————————————————– Added hot reloading to the cogs as it’s called in the lib I’m using. cogs allow the loading of commands from other files. To reload you now can use the command /_bot reload ———————————————————————————————————————– Also added cheat sheets for markdown using the /markdown command. Then a user can select between markdown for GitHub, Fluxer or both."}, {"post_id": 25613, "ts": "2026-07-10T00:04:17Z", "hours": 1.6811, "text": "Worked on a lot of stuff before I joined Stardance. But the first thing i added after joining was a base64 command similar to the one found in Linux. I now have implemented these commands: /clear_channel , /gen_channel_history (generates fake history for testing), /get_data , /bad_apple , /update_hak5_product_list (better way to view there stuff then going throughthe sitemap manually), /help , /base64 and /ping"}]...
|
Title: Fluxer Bot by @ERR0RW0LF | Stardance
Devlo Title: Fluxer Bot by @ERR0RW0LF | Stardance
Devlogs:
Worked on a lot of stuff before I joined Stardance. But the first thing i added after joining was a base64 command similar to the one found in Linux. I now have implemented these commands: /clear_channel , /gen_channel_history (generates fake history for testing), /get_data , /bad_apple , /update_hak5_product_list (better way to view there stuff then going throughthe sitemap manually), /help , /base64 and /ping
Added the new command /base64_file which allows the decoding of base64 directly to a file. This files extension gets determent based on the magic number in it. The command also allows the conversion of files into base64. ———————————————————————————————————————– Added hot reloading to the cogs as it’s called in the lib I’m using. cogs allow the loading of commands from other files. To reload you now can use the command /_bot reload ———————————————————————————————————————– Also added cheat sheets for markdown using the /markdown command. Then a user can select between markdown for GitHub, Fluxer or both.
Added 2 new commands and fixed some stuff. The new commands are: /file_profile which displays different information about files like there hashes or there file extension. I also added a /man command which gets the information about commands added by cogs, so mostly all commands except for /_bot , and displays the more detailed information to only one command in contrast to the /help command. What I fixed: Locked the /_bot command to only be able to be used by admins. This is still not completely save for publicly hosting this bot so that anyone can invite it to there server. Also fixed some things I forgot or not correctly changed when moving the code for the /update_hak5_product_list command to a cog. Also made the command now able to support multiple servers at the same time using the same bot. Next up: Write the man pages for all my commands and to improve that command
Added a lot since the last Devlog. What’s new: The _bot command can now only be used by the account which id is specified in the .env file of the bot Created a Dockerfile and an example docker compose file added the /internet_checksum command to calculate the checksum for an udp header (was learning for an exam) added a /base84 command (maybe useful for CTFs)
For this devlog I only changed some stuff and didn’t add that much. What changed and got added: Changed to postgres for handling stuff related to the hak5_products the product list now auto updates every hour servers only need to opt in for products using the /enable_hak5_products command and can disable it using the /disable_hak5_products users can subscribe to get up notified if a new product is added the sitemap_products.xml is now automatically getting fetched from the sitemap.xml That should be everything that I added and changed. I’m still putting of writing the man pages for all commands. If you have any ideas for this project, I would love to here them.
So yes this took me for ever. I added a /tic_tac_toe command. It detects if someone one and if there is a draw, also only the current player can make a move. Also I added some Man pages for the /clear_channel and /gen_channel_history commands.
Fixed the /man command. I forgot to change some stuff when modifying some functions form the /help command. But now it’s fixed.
Ships:
Tool Bot This is a bot with a lot of different tools. It was written using the fluxer.py lib. How to try it: Use the Try project link it should redirect you to fluxer. If you don’t have an account you can create a temporary one there. After that you most likely need to open the link again. Then just join. Help: Here are the available commands: Admin Tools /clear Clears messages in the current channel. /clear_channel Does the same as /clear /gen_channel_history <message_count (optional, default=10-50)> Generates fake channel history for testing. /get_data <guild|channel|user|users> Looks up information about a guild, channel, or user. Bad Apple /bad_apple Plays the Bad Apple ASCII animation in the channel. Hak5 Tools /disable_hak5_products /enable_hak5_products /get_raw_full_price_product_history /price_history <product_url> Get the price history of a Hak5 product and display it as a graph generated using matplotlib. /subscribe_hak5_updates /unsubscribe_hak5_updates /update_hak5_product_list [force] [update] Updates the Hak5 product list from the discovered product sitemap. Help /help Displays this help message. Linux Like Tools /base64 -d ## decode | /base64 ## encode Encodes or decodes a string using Base64. /base64_file -d ## decode | /base64 ## encode Encodes or decodes a file using Base64 and a similar syntax to Linux. /base85 -d ## decode | /base85 ## encode Encodes or decodes a string using Base85. /file_profile Tries to find as much information about a file as possible. /internet_checksum /man Displays the man page of a selected command Onboarding /markdown Shows a help message for formatting Markdown Ping /ping Responds with ‘Pong!’ and adds a ping pong emoji reaction. Tic Tac Toe /tic_tac_toe @friend Play a game of Tic Tac Toe with a friend....
|
1792986847.481825
|
1793073247.481825
|
|
18811
|
Frutiger OS by @ondy | Stardance
|
ondy
|
2
|
33.0
|
256
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T19:00:33Z", "hours": 23.0, "multiplier": 11.03, "payout": 256, "blessing": "neutral", "text": "A web-based operating system based on the infamous Frutiger Aero aesthetic of the mid 00s to early 10s. The reason i made this is that im big fan of this era and skeuomorphism, which i feel got killed by minimalism. some of the cool features: -working desktop environment(dragging apps, selection box, time, taskbar, window management…) -nostalgic boot animation and login -old stylized browser with nostalgic websites -og paint and notes programs -the nostalgic frutiger music player skins we all liked(i wasnt alive back then lol) -parody xbox app where you can play some of the popular games from back then I dont know what else to write here if you are interested check out the github readme.", "repo": "https://github.com/0ndyy/frutiger-os", "demo": "https://0ndyy.github.io/frutiger-os/"}, {"ship_num": 2, "ts": "2026-07-08T21:33:08Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Web based OS inspired by the Frutiger Aero aesthetic during 10s. I really enjoyed tweaking the CSS values to get the aesthetic just right, it was really fun and i implemented modular system for easy creation of new apps/elements, so i am planning on expanding this inti WebOS 2. If you want you can try it out here - https://0ndyy.github.io/frutiger-os/", "repo": "https://github.com/0ndyy/frutiger-os", "demo": "https://0ndyy.github.io/frutiger-os/"}]...
|
[{"post_id": 75315, "ts": "202 [{"post_id": 75315, "ts": "2026-09-29T18:52:06Z", "hours": 2.4547, "text": "Frutiger OS(Hexagons) Frutiger Aero/y2k aesthetic inspired OS devlog 8(final) This is going to be the final devlog before finally shipping this thing, its been great and i learnt a lot especially how to actually get div where i want it😭 Since ast devlog i added some cool new desktop behaviour, web browser and boot animation, you can check it out all in the final video…"}, {"post_id": 75001, "ts": "2026-09-28T20:19:43Z", "hours": 3.3958, "text": "Frutiger OS(Hexagons) Frutiger Aero/y2k aesthetic inspired OS devlog 7 I finally made the most fun part, games yall. Its basically a parody of xbox, i know some of the games are newer and not from the frutiger era but it still fun to mess around with. The games are saved as .swf files and run through ruffle."}, {"post_id": 73315, "ts": "2026-09-24T20:51:13Z", "hours": 4.4122, "text": "Frutiger OS (Hexagons) Frutiger Aero/y2k aesthetic inspired OS devlog 6 For the past couple weeks i havent made much progress since i have been busy with life n stuff, but atleast i managed to make another music player skin. I feel like this one really fits with the whole aquatic/frutiger aero style - what do you think? Some of the time was also spent on making a new games app - stay tuned, hopefully i can finish this in time😭😭 As always, you can try the live demo on the github linked under the project or here - https://github.com/0ndyy/frutiger-os/tree/main"}, {"post_id": 45429, "ts": "2026-08-11T21:19:13Z", "hours": 4.8044, "text": "Frutiger OS (Hexagons) Frutiger Aero/y2k aesthetic inspired OS devlog 5 For the past week i have been working on bringing the og windows media player skins into my os. It was quite a hassle, but eventually i managed to get a modular system working where i can add more skins in the future(stay tuned). For those who want to know how i pulled this off: there is a website - https://wmpskinsarchive.neocities.org/ with all the og skins in their original .wmz format. As it turns out the .wmz is basically just renamed .zip containing all the assets, although the assets are a mess - there is like 30+ images in .bmp format, some scripts, and magenta masks so you have to manually assemble it in photoshop remove the masks and get it to look good. Then you have to play for a while with your css file to correctly position and scale all of the buttons n stuff and thats it. I dont recommend anyone trying this shi😭 note: the reason some of the songs sound weird is because i used bitmap version not to mess with copyright scanning bots"}, {"post_id": 42582, "ts": "2026-08-07T12:24:29Z", "hours": 4.4, "text": "Frutiger OS (Hexagons) Frutiger Aero/y2k aesthetic inspired OS devlog 4 I kinda forgot that im supposted to posts devlogs here, but long story short a lot new things happen since last devlog. I created a new logo, you can actually see it in the background, its a knock off of the old windows logo but HEXAGON, because hexagons are the bestagons. I made(found) a paint app, i actually didnt code the whole thing it uses a cool project called JSPaint, check it out - https://jspaint.app/ Which fits the aesthetic i was going for really well."}, {"post_id": 26894, "ts": "2026-07-11T22:57:53Z", "hours": 3.4314, "text": "Frutiger OS Frutiger Aero/y2k aesthetic inspired OS devlog 3 Today i created a windows 7 inspired working Control Panel app, you can currently -change wallpaper -disable some elements(menubar, taskbar, icons) I really enjoyed tuning some of the CSS components especially buttons and switches(since i implemented the modular system for the main windows in the last devlog) Im stil trying to submit my ship for WebOS 1 but they still wont accept it😭🙏. Appparently it looks like every othe AI slop and has no personality, i really dont understand how could they say something like this, anyway wish me luck."}, {"post_id": 25996, "ts": "2026-07-10T15:28:36Z", "hours": 0.2947, "text": "After first failed ship i realised i completelt forgot about me README.md. Im not too sure why its needed since this project cant be voted yet but its good to start earlt righ? You can check it out here - https://github.com/0ndyy/frutiger-os/blob/main/README.md"}, {"post_id": 24983, "ts": "2026-07-08T21:28:27Z", "hours": 2.0272, "text": "Frutiger OS Frutiger Aero/y2k aesthetic inspired OS devlog 2 My most recent addition was the taskbar, its heavily inspired by windows 7 era and i find it kind of sleek, it was actually way easier to implement than i originally thought. I also created a new settings/control panel app which was pretty quick using the css classes made in last devlog. If you wanna try it out, its avalible at - https://0ndyy.github.io/frutiger-os/"}, {"post_id": 21062, "ts": "2026-07-02T20:50:37Z", "hours": 3.1067, "text": "Frutiger OS Frutiger Aero/y2k aesthetic inspired OS devlog 1 In this devlog i developen my first proper app, its basically a simple notepad, i developed my own system for app creation in css so i can easily add different sizes of windows, sidebars, topbars, buttons exct. and reuse them all. Its still a little rought around the edges and i might need to start handling the performance issue, since the css blur is pretty resource intensive, but we will see what happens."}, {"post_id": 16585, "ts": "2026-06-26T23:36:04Z", "hours": 4.7756, "text": "Frutiger OS Frutiger Aero/y2k aesthetic inspired OS devlog 0 I implemented the basic steps from the tutorial, though since i didnt like some of the solutions i designed a lot of things to be more modular and future proof, let the video speak for itself. Its been quite fun so far, especially playing with the different css elements of the frutiger aesthetic."}]...
|
Title: Frutiger OS by @ondy | Stardance
Devlogs:
Title: Frutiger OS by @ondy | Stardance
Devlogs:
Frutiger OS Frutiger Aero/y2k aesthetic inspired OS devlog 0 I implemented the basic steps from the tutorial, though since i didnt like some of the solutions i designed a lot of things to be more modular and future proof, let the video speak for itself. Its been quite fun so far, especially playing with the different css elements of the frutiger aesthetic.
Frutiger OS Frutiger Aero/y2k aesthetic inspired OS devlog 1 In this devlog i developen my first proper app, its basically a simple notepad, i developed my own system for app creation in css so i can easily add different sizes of windows, sidebars, topbars, buttons exct. and reuse them all. Its still a little rought around the edges and i might need to start handling the performance issue, since the css blur is pretty resource intensive, but we will see what happens.
Frutiger OS Frutiger Aero/y2k aesthetic inspired OS devlog 2 My most recent addition was the taskbar, its heavily inspired by windows 7 era and i find it kind of sleek, it was actually way easier to implement than i originally thought. I also created a new settings/control panel app which was pretty quick using the css classes made in last devlog. If you wanna try it out, its avalible at - https://0ndyy.github.io/frutiger-os/
After first failed ship i realised i completelt forgot about me README.md. Im not too sure why its needed since this project cant be voted yet but its good to start earlt righ? You can check it out here - https://github.com/0ndyy/frutiger-os/blob/main/README.md
Frutiger OS Frutiger Aero/y2k aesthetic inspired OS devlog 3 Today i created a windows 7 inspired working Control Panel app, you can currently -change wallpaper -disable some elements(menubar, taskbar, icons) I really enjoyed tuning some of the CSS components especially buttons and switches(since i implemented the modular system for the main windows in the last devlog) Im stil trying to submit my ship for WebOS 1 but they still wont accept it😭🙏. Appparently it looks like every othe AI slop and has no personality, i really dont understand how could they say something like this, anyway wish me luck.
Frutiger OS (Hexagons) Frutiger Aero/y2k aesthetic inspired OS devlog 4 I kinda forgot that im supposted to posts devlogs here, but long story short a lot new things happen since last devlog. I created a new logo, you can actually see it in the background, its a knock off of the old windows logo but HEXAGON, because hexagons are the bestagons. I made(found) a paint app, i actually didnt code the whole thing it uses a cool project called JSPaint, check it out - https://jspaint.app/ Which fits the aesthetic i was going for really well.
Frutiger OS (Hexagons) Frutiger Aero/y2k aesthetic inspired OS devlog 5 For the past week i have been working on bringing the og windows media player skins into my os. It was quite a hassle, but eventually i managed to get a modular system working where i can add more skins in the future(stay tuned). For those who want to know how i pulled this off: there is a website - https://wmpskinsarchive.neocities.org/ with all the og skins in their original .wmz format. As it turns out the .wmz is basically just renamed .zip containing all the assets, although the assets are a mess - there is like 30+ images in .bmp format, some scripts, and magenta masks so you have to manually assemble it in photoshop remove the masks and get it to look good. Then you have to play for a while with your css file to correctly position and scale all of the buttons n stuff and thats it. I dont recommend anyone trying this shi😭 note: the reason some of the songs sound weird is because i used bitmap version not to mess with copyright scanning bots
Frutiger OS (Hexagons) Frutiger Aero/y2k aesthetic inspired OS devlog 6 For the past couple weeks i havent made much progress since i have been busy with life n stuff, but atleast i managed to make another music player skin. I feel like this one really fits with the whole aquatic/frutiger aero style - what do you think? Some of the time was also spent on making a new games app - stay tuned, hopefully i can finish this in time😭😭 As always, you can try the live demo on the github linked under the project or here - https://github.com/0ndyy/frutiger-os/tree/main
Frutiger OS(Hexagons) Frutiger Aero/y2k aesthetic inspired OS devlog 7 I finally made the most fun part, games yall. Its basically a parody of xbox, i know some of the games are newer and not from the frutiger era but it still fun to mess around with. The games are saved as .swf files and run through ruffle.
Frutiger OS(Hexagons) Frutiger Aero/y2k aesthetic inspired OS devlog 8(final) This is going to be the final devlog before finally shipping this thing, its been great and i learnt a lot especially how to actually get div where i want it😭 Since ast devlog i added some cool new desktop behaviour, web browser and boot animation, you can check it out all in the final video…
Ships:
Web based OS inspired by the Frutiger Aero aesthetic during 10s. I really enjoyed tweaking the CSS values to get the aesthetic just right, it was really fun and i implemented modular system for easy creation of new apps/elements, so i am planning on expanding this inti WebOS 2. If you want you can try it out here - https://0ndyy.github.io/frutiger-os/
A web-based operating system based on the infamous Frutiger Aero aesthetic of the mid 00s to early 10s. The reason i made this is that im big fan of this era and skeuomorphism, which i feel got killed by minimalism. some of the cool features: -working desktop environment(dragging apps, selection box, time, taskbar, window management…) -nostalgic boot animation and login -old stylized browser with nostalgic websites -og paint and notes programs -the nostalgic frutiger music player skins we all liked(i wasnt alive back then lol) -parody xbox app where you can play some of the popular games from back then I dont know what else to write here if you are interested check out the github readme....
|
1792990450.0550685
|
1793076850.0550685
|
|
40782
|
Ephemeral by @Nicormu | Stardance
|
Nicormu
|
1
|
81.05
|
256
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T02:22:42Z", "hours": 51.0, "multiplier": 7.0, "payout": 256, "blessing": "neutral", "text": "By now, I have finished implementing the mine generation. The mine is generated randomly, with the walls and floors receiving decorations that are also randomized according to the seed. The itch.io page is decorated and working. I had some trouble setting the correct width and height between Unity and itch.io, so I had to ask a partner who is currently traveling for help JAKSJASJK. The first scene of the game is also working. The Play and Exit buttons are functional, with the Exit button having a confirmation prompt to prevent accidental exits. One of the hardest things I have worked on so far has been the Rule Tiles and Unity’s animation system. What a headache it was to solve all the visual bugs I encountered along the way. Right now I have a problem with the void tiles (I think the problem is the spritesheet AJKAJKSJ) The game is still in a very, very early stage . Right now, there are no actual obstacles—only rocks that appear at dead ends. Their positions are currently hard-coded because I mainly wanted to test how the rock assets looked in the game. There is also already some enemy code implemented, but I have not worked on the enemy sprites yet. Therefore, there are no enemies, no obstacles; only the map changes every time you enter a new run One of the biggest things I have learned from this project is that drawing is soooooooo hard… and/or I absolutely suck at drawing.", "repo": "https://github.com/Nicormu/Ephemeral", "demo": "https://nicormu.itch.io/ephemeral"}]...
|
[{"post_id": 58548, "ts": "202 [{"post_id": 58548, "ts": "2026-08-30T23:57:10Z", "hours": 5.7664, "text": "Hi everyonee, I definitely hate animating and drawing, it does not fully convince me. However, I think I am finally done with the bat animations and sprites. Now they have their death animation, and it is already in the game. Also, I have been working on a new player sprite sheet because the look it has right now does not have the same vibe as the game, so I decided to change it. However, it’s been harder than I thought. On the other hand, I cleaned some UI scripts and improved the animation handlers in order to solve the problems I had with the bats."}, {"post_id": 54172, "ts": "2026-08-25T01:08:27Z", "hours": 5.6592, "text": "Hi everybody! I have been working and have made various room variations. Also, improved the bat sprites to determine whether it is a passive bat, melee bat, or range bat. Talking about this last one, I made more sprites to make its attack animation smoother. The last things to mention are that I fixed a bug with the doors that a friend of mine saw yesterday. I was like “But that didn’t happen to meeeee” and I think I already solved it. Moreover, the reset is also smoother, and finally, my friend that help me with sprites came back to work and started the slimes. Hope you likeeee"}, {"post_id": 52031, "ts": "2026-08-22T02:11:50Z", "hours": 6.0342, "text": "Hi everyoneeeee, I have finally finished with the bat enemies. All the enemies are in the game right now; however, they only spawn one time per room. Sorry for that. The animation part was a headache. I had to change some logic behind the player to properly detect the damage from the melee bat. Now it has two colliders: one on the root that is a trigger and detects enemy damage, and the other one inside the player’s child named “Visual,” which makes the player not move through the walls. This was also added to the creation of the enemies. In these days, I will focus on creating the new variations for ALLLLLLL the rooms. If I can, and my abilities allow me to, I will also change the player sprites. Btw, during this process, enemies and obstacles could be added :D"}, {"post_id": 50034, "ts": "2026-08-19T02:00:47Z", "hours": 2.4189, "text": "My first enemyyyyyyyyyy Hi everyone, I changed the wall generator (it was also a problem inside the Dungeon Wall Builder), and now, no matter what happens or what I do, the room will always be a rectangle :D The new feature is that I have been working on the bat enemies, and I’m going to make a total of three different bats. One will be passive but will follow the player at a slow speed; another will follow the player more quickly and will deal heart damage; and the last one will attack from a distance. I forgot to tell you that the visual part of the hearts has been added, and they will react when the player receives damage from falling through the void. By now, there is no death screen jaksjksjakj. Hope you like the sprites! It’s been very hard, and Unity’s Animator is known by me as my Achilles’ heel."}, {"post_id": 49278, "ts": "2026-08-18T00:03:29Z", "hours": 3.6475, "text": "Hi everybody! I have some good and bad news. Good news: I solved the problem of the void assets spawning in the void. At first, I thought it was a Rule Tile problem, but it turned out to be a code issue in my Dungeon Wall Builder script. Bad news: There’s a new problem :D It seems that either the Dungeon Wall Builder or the Rule Tile is making the walls disappear when a void tile is placed next to them. I’ll be working on fixing that, as well as adding new obstacles, fire, and enemies to make the game more playable."}, {"post_id": 47841, "ts": "2026-08-16T01:51:58Z", "hours": 6.5231, "text": "Hi everybody, I have been working on making the menu more visually appealing by changing the button panels, adding a title, adding an exit animation, and changing the fonts used for the game. I hope you like it By now, I have been lazy and have not started with the settings, therefore, the button does not work, so don’t use it :p I have been making some changes in the way floors and walls behave to add the void. However, the rules are really stressing me out. The void is now looking like a combination between upper walls and side walls. I don’t know how to config the rulessssssss In the code, I erased some things that were not necessary, such as the corridors in the dungeon manager and similar scripts that were in charge of the dungeon generation"}, {"post_id": 43655, "ts": "2026-08-09T01:31:17Z", "hours": 1.1764, "text": "Here is a look at how the Itch.io page looks. I changed the banner because I didn’t like the previous one. I also added an exit animation. It is missing the settings and other ideas. Thrust the process 😉"}, {"post_id": 43437, "ts": "2026-08-08T17:53:20Z", "hours": 8.7825, "text": "Hi everybodyyyyyyy The game now has its own itch.io By now, there is so much gameplay missing, I will be working on. If you have any ideas or comments, pls tell me :D"}, {"post_id": 41717, "ts": "2026-08-06T03:04:07Z", "hours": 4.4644, "text": "I have been working on the Banner for the game (I’m sure I will change it jkajskaj). Also, my friend told me that the colors used for the game were boring and too grey, so I decided to change them. On the other hand, I improved the placement of the doors and the minimap with its corresponding transition"}, {"post_id": 39808, "ts": "2026-08-03T01:28:11Z", "hours": 2.9711, "text": "Does anyone know what is happening here? The animation is not working, and I don’t know why. The animation is like frozen. If someone knows what it could be, tell me pls"}, {"post_id": 38573, "ts": "2026-08-01T01:39:57Z", "hours": 2.05, "text": "Now we have minimappppppppppppppp I’m not completely in love with the result, I didn’t know how to make the asset look nice to the viewer. I think an animation in the minimap when crossing a door would be nice. I also made small changes in the color and size of the decoration to make it more noticeable."}, {"post_id": 37995, "ts": "2026-07-31T02:53:37Z", "hours": 4.8167, "text": "Hi everyone!!! I improved the transition between the rooms and the animation of each door to be fully open. I also started with the decorations for the walls, but they seem to be veryyyyyyy small JAKSJAJSA I also improved a very long script I had and divided it into shorter ones to make changes easier and make the code understandable. Hope you like my journey :D"}, {"post_id": 36174, "ts": "2026-07-28T02:57:02Z", "hours": 2.295, "text": "Finally, I make it workkkkkkk The dungeon generation is workinngggggg It took me a little too much time, but I have done it, and I’m very proud of myself. Now I have to continue on this journey :D"}, {"post_id": 36064, "ts": "2026-07-27T22:17:53Z", "hours": 24.4097, "text": "This is sad :c But I don’t care; I hope all of you are fine, and I want to present the game I’m working on with a friend. The game is called Ephemeral, and I would like it to be a Roughlite like The Binding of Isaac or Enter the Gungeon. By now, I am working on the generation of the dungeon, and it has been very difficult. Any suggestions you have would be very helpful :D"}]...
|
Title: Ephemeral by @Nicormu | Stardance
Devlogs: Title: Ephemeral by @Nicormu | Stardance
Devlogs:
This is sad :c But I don’t care; I hope all of you are fine, and I want to present the game I’m working on with a friend. The game is called Ephemeral, and I would like it to be a Roughlite like The Binding of Isaac or Enter the Gungeon. By now, I am working on the generation of the dungeon, and it has been very difficult. Any suggestions you have would be very helpful :D
Finally, I make it workkkkkkk The dungeon generation is workinngggggg It took me a little too much time, but I have done it, and I’m very proud of myself. Now I have to continue on this journey :D
Hi everyone!!! I improved the transition between the rooms and the animation of each door to be fully open. I also started with the decorations for the walls, but they seem to be veryyyyyyy small JAKSJAJSA I also improved a very long script I had and divided it into shorter ones to make changes easier and make the code understandable. Hope you like my journey :D
Now we have minimappppppppppppppp I’m not completely in love with the result, I didn’t know how to make the asset look nice to the viewer. I think an animation in the minimap when crossing a door would be nice. I also made small changes in the color and size of the decoration to make it more noticeable.
Does anyone know what is happening here? The animation is not working, and I don’t know why. The animation is like frozen. If someone knows what it could be, tell me pls
I have been working on the Banner for the game (I’m sure I will change it jkajskaj). Also, my friend told me that the colors used for the game were boring and too grey, so I decided to change them. On the other hand, I improved the placement of the doors and the minimap with its corresponding transition
Hi everybodyyyyyyy The game now has its own itch.io By now, there is so much gameplay missing, I will be working on. If you have any ideas or comments, pls tell me :D
Here is a look at how the Itch.io page looks. I changed the banner because I didn’t like the previous one. I also added an exit animation. It is missing the settings and other ideas. Thrust the process 😉
Hi everybody, I have been working on making the menu more visually appealing by changing the button panels, adding a title, adding an exit animation, and changing the fonts used for the game. I hope you like it By now, I have been lazy and have not started with the settings, therefore, the button does not work, so don’t use it :p I have been making some changes in the way floors and walls behave to add the void. However, the rules are really stressing me out. The void is now looking like a combination between upper walls and side walls. I don’t know how to config the rulessssssss In the code, I erased some things that were not necessary, such as the corridors in the dungeon manager and similar scripts that were in charge of the dungeon generation
Hi everybody! I have some good and bad news. Good news: I solved the problem of the void assets spawning in the void. At first, I thought it was a Rule Tile problem, but it turned out to be a code issue in my Dungeon Wall Builder script. Bad news: There’s a new problem :D It seems that either the Dungeon Wall Builder or the Rule Tile is making the walls disappear when a void tile is placed next to them. I’ll be working on fixing that, as well as adding new obstacles, fire, and enemies to make the game more playable.
My first enemyyyyyyyyyy Hi everyone, I changed the wall generator (it was also a problem inside the Dungeon Wall Builder), and now, no matter what happens or what I do, the room will always be a rectangle :D The new feature is that I have been working on the bat enemies, and I’m going to make a total of three different bats. One will be passive but will follow the player at a slow speed; another will follow the player more quickly and will deal heart damage; and the last one will attack from a distance. I forgot to tell you that the visual part of the hearts has been added, and they will react when the player receives damage from falling through the void. By now, there is no death screen jaksjksjakj. Hope you like the sprites! It’s been very hard, and Unity’s Animator is known by me as my Achilles’ heel.
Hi everyoneeeee, I have finally finished with the bat enemies. All the enemies are in the game right now; however, they only spawn one time per room. Sorry for that. The animation part was a headache. I had to change some logic behind the player to properly detect the damage from the melee bat. Now it has two colliders: one on the root that is a trigger and detects enemy damage, and the other one inside the player’s child named “Visual,” which makes the player not move through the walls. This was also added to the creation of the enemies. In these days, I will focus on creating the new variations for ALLLLLLL the rooms. If I can, and my abilities allow me to, I will also change the player sprites. Btw, during this process, enemies and obstacles could be added :D
Hi everybody! I have been working and have made various room variations. Also, improved the bat sprites to determine whether it is a passive bat, melee bat, or range bat. Talking about this last one, I made more sprites to make its attack animation smoother. The last things to mention are that I fixed a bug with the doors that a friend of mine saw yesterday. I was like “But that didn’t happen to meeeee” and I think I already solved it. Moreover, the reset is also smoother, and finally, my friend that help me with sprites came back to work and started the slimes. Hope you likeeee
Hi everyonee, I definitely hate animating and drawing, it does not fully convince me. However, I think I am finally done with the bat animations and sprites. Now they have their death animation, and it is already in the game. Also, I have been working on a new player sprite sheet because the look it has right now does not have the same vibe as the game, so I decided to change it. However, it’s been harder than I thought. On the other hand, I cleaned some UI scripts and improved the animation handlers in order to solve the problems I had with the bats.
Ships:
By now, I have finished implementing the mine generation. The mine is generated randomly, with the walls and floors receiving decorations that are also randomized according to the seed. The itch.io page is decorated and working. I had some trouble setting the correct width and height between Unity and itch.io, so I had to ask a partner who is currently traveling for help JAKSJASJK. The first scene of the game is also working. The Play and Exit buttons are functional, with the Exit button having a confirmation prompt to prevent accidental exits. One of the hardest things I have worked on so far has been the Rule Tiles and Unity’s animation system. What a headache it was to solve all the visual bugs I encountered along the way. Right now I have a problem with the void tiles (I think the problem is the spritesheet AJKAJKSJ) The game is still in a very, very early stage . Right now, there are no actual obstacles—only rocks that appear at dead ends. Their positions are currently hard-coded because I mainly wanted to test how the rock assets looked in the game. There is also already some enemy code implemented, but I have not worked on the enemy sprites yet. Therefore, there are no enemies, no obstacles; only the map changes every time you enter a new run One of the biggest things I have learned from this project is that drawing is soooooooo hard… and/or I absolutely suck at drawing....
|
1792972202.608199
|
1793058602.608199
|
|
26903
|
Salt and pepper mod by @Fiskerz | Stardance
|
Fiskerz
|
1
|
19.0
|
253
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T10:52:19Z", "hours": 19.0, "multiplier": 13.36, "payout": 253, "blessing": "neutral", "text": "What the heck am I looking at? This is a simple minecraft mod that adds salt and pepper. That is the core idea of this whole mod. Salt and pepper are new ingredients you can find in the wild, with salt in its rock form (as an ore) and pepper as a plant in jungle, that generates similar to a cocoa pod. You can use both of these to season your food , which will increase the food’s saturation and the nutrition value by a bit. You can also stack these two together to get a decent bonus in that foods stat. This mod also adds shakers , which work just as their real-life version. You can make an empty shaker and then fill it up with salt, or pepper. All that’s left for you to do is just hold the shaker and right click any food in your inventory to season it. Salt Found as an ore (or rarely even deepslate form) underground Breaking the ore gives you raw rock salt Raw rock salt can be smelted into a dry and fine form, that you can use on any food item Can be put into a shaker to season your food Also can be crafted into a block if you need to flex on your friends for whatever reason Pepper Found as a plant in the jungle and generates similar as a cocoa pod Upon breaking you get seeds to grow more and/or green peppercorns The seeds can be planted on a jungle tree and have three different growth stages, each with a unique texture Green peppercorns need to be “boiled” first, which you can do by putting a cauldron filled with water over a campfire and right clicking, or if you have farmer’s delight installed you can use the cooking pot to boil them there. In both cases you get blanched peppercorns Blanched peppercorns can be smelted in a furnace to get black peppercorns Black peppercorns need to be broken down into the fine powder, which you can do in your inventory’s crafting, which will give you ground pepper Ground pepper can be used on any food item to season it directly, or put into a shaker Shakers Can be made with glass and an iron nugget Can be filled with salt, or ground pepper, each filling it by 8 uses Has a maximum of 64 uses and can be refilled anytime If enough uses are left it can season any stack of food at once (you have 56 uses left and use it on a stack of 45 steaks, then it will season all of the 45 steaks) Versions The mod is available for Neoforge, Fabric and Forge. Forge is only on version 1.20.1 (versions 1.20.2-1.20.6 should work as well, but I cannot guarantee their functionality as the mod was not intentionally built for them) Fabric has versions: 1.20.1 (once again 1.20.2-6 should work too, but it is not intended and untested), 1.21.1 & 26.1-26.1.2 Neoforge has: 1.21.1 & 26.1.2 . Downloads CurseForge Modrinth - (still under review) The Github Repo of this project Testing / checking out for yourself To test this mod out, all you have to do is download the file for any minecraft version of your liking (although I reccomend Neoforge 1.21.1, as all features are 100% guaranteed to work there) and hop into the game! If you want to check it out deeper you can also download farmer’s delight (or the refabricated version for fabric) and use the compatibility feature I added - boiling green peppercorns in the cooking pot instead of building the cauldron abomination. If you are unsure about anything be sure to check out this mod’s wiki I made here , it’s even in the mod’s github repo!", "repo": "https://github.com/Catmaster543/Salt-pepper", "demo": "https://www.curseforge.com/minecraft/mc-mods/salt-pepper"}]...
|
[{"post_id": 44525, "ts": "202 [{"post_id": 44525, "ts": "2026-08-10T10:50:56Z", "hours": 1.2456, "text": "Made the github wiki pages for the mod + final touches before ship! Devlog #8 - last before the ship Even though I wanted to ship the project already I still felt that there were some inconsistencies, so I went ahead and made a wiki on the projects github page. I also prepared for shipping and I think there’s nothing stopping me now from shipping! Seeing this for the first time? This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, since this project is about to hit its end, thx!"}, {"post_id": 44141, "ts": "2026-08-09T18:19:58Z", "hours": 4.7103, "text": "Ported the mod to Forge and Fabric 1.20.1 + prep for ship! Devlog #7 - most likely final I kept my promise and ported the mod to Forge 1.20.1 and Fabric 1.20.1. The Forge port went smoothly, but by the time I reached the Fabric port multiple things I have messed up in the past surfaced, thus I had to fix a lot of these issues. A majority has been with the github repository, as I named tags the same as branches and that messed quite some things up. But now all of that is fixed and I no longer have to worry about it. The last thing remaining is to ship. So the next post will be a ship. So long story short: Ported to Forge 1.20.1 Ported to Fabric 1.20.1 Fixed up tags in the github repo Fixed up gradle daemons not launching correctly after a branch switch Uploaded the new versions to CurseForge and Modrinth Updated the README files accross branches as some were incorrect Other smaller fixes and patches Seeing this for the first time? This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, since this project is about to hit its end, thx!"}, {"post_id": 43455, "ts": "2026-08-08T18:34:27Z", "hours": 4.4047, "text": "Ported the mod to Neoforge 26.1.2 and all Fabric 26.1.x versions! Devlog #6 Just as I promised last time (or maybe not last time, but the one before that) I spent my time porting this mod to: Neoforge 26.1.2 Fabric 26.1, 26.1.1 & 26.1.2 The reason why fabric has all of the 26.1.x version is pretty simple really - compared to neoforge it didn’t change things that would make a huge difference in the mod’s code. Outside this I also completed the project’s info , the mod got approved on Curseforge (you can check out and maybe even download please? the mod here . I am yet waiting for Modrinth to approve the project, but I am sure they’ll do so one day. I also uploaded all of the releases to github and learned alongside with it how to manage releases on github, so 2 birds, one stone (or however it goes :p). And that’s it for this devlog, next time will likely be the last devlog of this project, as the last thing I plan on doing is porting the project to Forge and Fabric 1.20.1. Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this mod is not a very big project. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!"}, {"post_id": 42143, "ts": "2026-08-06T19:03:03Z", "hours": 1.3833, "text": "Designed the mod icon and set up the mod pages on modrinth and curseforge! Devlog #5 This time around I finally made the icon for the mod; it’s simple but I think it gets the job done. I also set up the project pages on both of the most used mod platforms for minecraft; Curseforge and Modrinth . I think it should provide a way for far more people to get to see this project. Alongside setting up the pages I built the first two working versions , one for Neoforge 1.21.1 and Fabric 1.21.1. And outside these I think that’s it for this devlog. Next time I’ll be making a port for other game versions and also finally forge. Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the third devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!"}, {"post_id": 42037, "ts": "2026-08-06T16:22:23Z", "hours": 1.7336, "text": "Ported the mod to fabric! Devlog #4 So as I promised last time, I’ve now ported the mod to fabric, for now only 1.21.1, but I’ll be sure to port it to other versions later and most importantly forge as well. I think that’s about it for this devlog as I haven’t really done anything else. Seeing this for the first time? This mod is designed to be lightweight, simple and mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, thx!"}, {"post_id": 41479, "ts": "2026-08-05T18:20:04Z", "hours": 1.5053, "text": "Added the shakers! Devlog #3 I added the shakers which you can easily use from your inventory by just right-clicking any food item. You can refill them using either salt, or pepper by once-again right clicking them with that item. They can last up to 64 times and each salt/pepper added adds 8 uses in, thus making it a pretty damn good value. I think it’s a very good Qol addition and should make using these just a little bit more enjoyable. The banner for this project got an update, since three new items got added. I also renamed the main branch on github to match what’s gonna follow and outside that I’ve done some research on porting possibilites for other versions/loaders, but more on that in the next one! Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the third devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!"}, {"post_id": 40902, "ts": "2026-08-04T18:41:10Z", "hours": 1.9603, "text": "Redesigned a mojority of the textures! Devlog #2 So as the title suggests I pretty much just retextured a majority of the things , since they were just using the placeholder textures. In my opinion the new textures are a million time better, but if you have any suggestions on how to improve them further feel free to suggest it! Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the second devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!"}, {"post_id": 40644, "ts": "2026-08-04T10:14:50Z", "hours": 1.9653, "text": "Added salt and pepper! (aka. the mods mainframe) Devlog #1 As of this devlog I added a majority of the function-wise things for the mod. So far you can: Find salt in its rock form underground, generating naturally Find pepper as a wild plant in the jungle, inspired by cocoa beans Proccess salt into its fine/powder form Proccess pepper into its boiled form by putting it into a cauldron above a campfire Proccess the boiled pepper further into its dryed form, achieved by cooking boiled pepper in a furnace Last proccessing is the dryed pepper into its fine/powdery form Last but not least, use salt or pepper on any food item to enhance it a little bit So far all textures in the screenshots are just cheap placeholders, all will be replaced in the next one!"}]...
|
Title: Salt and pepper mod by @Fiskerz | Stardance Title: Salt and pepper mod by @Fiskerz | Stardance
Devlogs:
Added salt and pepper! (aka. the mods mainframe) Devlog #1 As of this devlog I added a majority of the function-wise things for the mod. So far you can: Find salt in its rock form underground, generating naturally Find pepper as a wild plant in the jungle, inspired by cocoa beans Proccess salt into its fine/powder form Proccess pepper into its boiled form by putting it into a cauldron above a campfire Proccess the boiled pepper further into its dryed form, achieved by cooking boiled pepper in a furnace Last proccessing is the dryed pepper into its fine/powdery form Last but not least, use salt or pepper on any food item to enhance it a little bit So far all textures in the screenshots are just cheap placeholders, all will be replaced in the next one!
Redesigned a mojority of the textures! Devlog #2 So as the title suggests I pretty much just retextured a majority of the things , since they were just using the placeholder textures. In my opinion the new textures are a million time better, but if you have any suggestions on how to improve them further feel free to suggest it! Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the second devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!
Added the shakers! Devlog #3 I added the shakers which you can easily use from your inventory by just right-clicking any food item. You can refill them using either salt, or pepper by once-again right clicking them with that item. They can last up to 64 times and each salt/pepper added adds 8 uses in, thus making it a pretty damn good value. I think it’s a very good Qol addition and should make using these just a little bit more enjoyable. The banner for this project got an update, since three new items got added. I also renamed the main branch on github to match what’s gonna follow and outside that I’ve done some research on porting possibilites for other versions/loaders, but more on that in the next one! Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the third devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!
Ported the mod to fabric! Devlog #4 So as I promised last time, I’ve now ported the mod to fabric, for now only 1.21.1, but I’ll be sure to port it to other versions later and most importantly forge as well. I think that’s about it for this devlog as I haven’t really done anything else. Seeing this for the first time? This mod is designed to be lightweight, simple and mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, thx!
Designed the mod icon and set up the mod pages on modrinth and curseforge! Devlog #5 This time around I finally made the icon for the mod; it’s simple but I think it gets the job done. I also set up the project pages on both of the most used mod platforms for minecraft; Curseforge and Modrinth . I think it should provide a way for far more people to get to see this project. Alongside setting up the pages I built the first two working versions , one for Neoforge 1.21.1 and Fabric 1.21.1. And outside these I think that’s it for this devlog. Next time I’ll be making a port for other game versions and also finally forge. Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the third devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!
Ported the mod to Neoforge 26.1.2 and all Fabric 26.1.x versions! Devlog #6 Just as I promised last time (or maybe not last time, but the one before that) I spent my time porting this mod to: Neoforge 26.1.2 Fabric 26.1, 26.1.1 & 26.1.2 The reason why fabric has all of the 26.1.x version is pretty simple really - compared to neoforge it didn’t change things that would make a huge difference in the mod’s code. Outside this I also completed the project’s info , the mod got approved on Curseforge (you can check out and maybe even download please? the mod here . I am yet waiting for Modrinth to approve the project, but I am sure they’ll do so one day. I also uploaded all of the releases to github and learned alongside with it how to manage releases on github, so 2 birds, one stone (or however it goes :p). And that’s it for this devlog, next time will likely be the last devlog of this project, as the last thing I plan on doing is porting the project to Forge and Fabric 1.20.1. Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this mod is not a very big project. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!
Ported the mod to Forge and Fabric 1.20.1 + prep for ship! Devlog #7 - most likely final I kept my promise and ported the mod to Forge 1.20.1 and Fabric 1.20.1. The Forge port went smoothly, but by the time I reached the Fabric port multiple things I have messed up in the past surfaced, thus I had to fix a lot of these issues. A majority has been with the github repository, as I named tags the same as branches and that messed quite some things up. But now all of that is fixed and I no longer have to worry about it. The last thing remaining is to ship. So the next post will be a ship. So long story short: Ported to Forge 1.20.1 Ported to Fabric 1.20.1 Fixed up tags in the github repo Fixed up gradle daemons not launching correctly after a branch switch Uploaded the new versions to CurseForge and Modrinth Updated the README files accross branches as some were incorrect Other smaller fixes and patches Seeing this for the first time? This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, since this project is about to hit its end, thx!
Made the github wiki pages for the mod + final touches before ship! Devlog #8 - last before the ship Even though I wanted to ship the project already I still felt that there were some inconsistencies, so I went ahead and made a wiki on the projects github page. I also prepared for shipping and I think there’s nothing stopping me now from shipping! Seeing this for the first time? This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, since this project is about to hit its end, thx!
Ships:
What the heck am I looking at? This is a simple minecraft mod that adds salt and pepper. That is the core idea of this whole mod. Salt and pepper are new ingredients you can find in the wild, with salt in its rock form (as an ore) and pepper as a plant in jungle, that generates similar to a cocoa pod. You can use both of these to season your food , which will increase the food’s saturation and the nutrition value by a bit. You can also stack these two together to get a decent bonus in that foods stat. This mod also adds shakers , which work just as their real-life version. You can make an empty shaker and then fill it up with salt, or pepper. All that’s left for you to do is just hold the shaker and right click any food in your inventory to season it. Salt Found as an ore (or rarely even deepslate form) underground Breaking the ore gives you raw rock salt Raw rock salt can be smelted into a dry and fine form, that you can use on any food item Can be put into a shaker to season your food Also can be crafted into a block if you need to flex on your friends for whatever reason Pepper Found as a plant in the jungle and generates similar as a cocoa pod Upon breaking you get seeds to grow more and/or green peppercorns The seeds can be planted on a jungle tree and have three different growth stages, each with a unique texture Green peppercorns need to be “boiled” first, which you can do by putting a cauldron filled with water over a campfire and right clicking, or if you have farmer’s delight installed you can use the cooking pot to boil them there. In both cases you get blanched peppercorns Blanched peppercorns can be smelted in a furnace to get black peppercorns Black peppercorns need to be broken down into the fine powder, which you can do in your inventory’s crafting, which will give you ground pepper Ground pepper can be used on any food item to season it directly, or put into a shaker Shakers Can be made with glass and an iron nugget Can be filled with salt, or ground pepper, each filling it by 8 uses Has a maximum of 64 uses and can be refilled anytime If enough uses are left it can season any stack of food at once (you have 56 uses left and use it on a stack of 45 steaks, then it will season all of the 45 steaks) Versions The mod is available for Neoforge, Fabric and Forge. Forge is only on version 1.20.1 (versions 1.20.2-1.20.6 should work as well, but I cannot guarantee their functionality as the mod was not intentionally built for them) Fabric has versions: 1.20.1 (once again 1.20.2-6 should work too, but it is not intended and untested), 1.21.1 & 26.1-26.1.2 Neoforge has: 1.21.1 & 26.1.2 . Downloads CurseForge Modrinth - (still under review) The Github Repo of this project Testing / checking out for yourself To test this mod out, all you have to do is download the file for any minecraft version of your liking (although I reccomend Neoforge 1.21.1, as all features are 100% guaranteed to work there) and hop into the game! If you want to check it out deeper you can also download farmer’s delight (or the refabricated version for fabric) and use the compatibility feature I added - boiling green peppercorns in the cooking pot instead of building the cauldron abomination. If you are unsure about anything be sure to check out this mod’s wiki I made here , it’s even in the mod’s github repo!...
|
1792990056.3097694
|
1793076456.3097694
|
|
49748
|
Portfolio Website by @DaintyDust | Stardance
|
DaintyDust
|
3
|
48.0
|
253
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T00:20:00Z", "hours": 3.0, "multiplier": 14.51, "payout": 44, "blessing": "neutral", "text": "In the reviews on my previous ships, people gave me alot of feedback on things that were missing or bugged, So i fixed most of them this update. First people asked for a for a fill tool. Secondly a few people pointed out that in a low grid size the paint page was really laggy. Lastly people mentioned that the mobile version was pretty bad. Try out the paint page at: https://daintydust.dev/paint Check out the site at: https://daintydust.dev", "repo": "https://github.com/DaintyDust/DaintyDust.github.io", "demo": "https://daintydust.dev/paint"}, {"ship_num": 2, "ts": "2026-09-30T21:13:00Z", "hours": 12.0, "multiplier": 7.38, "payout": 86, "blessing": "neutral", "text": "I added a sandbox page so people can play around with the text and pixel colors since alot of reviews like that! you can access it at https://daintydust.dev/sandbox (or press “ctrl+/” on any page to popup the commands menu But I didn’t find that enough, i wanted more. So a friend of mine suggested making a kind of paint program where you can draw pixels, shapes and text!", "repo": "https://github.com/DaintyDust/DaintyDust.github.io", "demo": "https://daintydust.dev/paint"}, {"ship_num": 3, "ts": "2026-09-23T21:00:04Z", "hours": 33.0, "multiplier": 5.24, "payout": 123, "blessing": "neutral", "text": "I made a portfolio website to show of my projects. I made the site using react + mantine because mantine UI makes it really easy to add and create components. In the beginning it was pretty challenging because i never created a site in react or with mantine before. So i had to learn all of those from the beginning A friend of mine recommended mantine UI, because it has really nice looking UI components, its free and its opensource! Since i updated my already existing site and rewriting it in react + mantine. I already had a stylesheet to style my website. So i could easily reuse that. Visit the site at: https://daintydust.dev View my portfolio at: https://daintydust.dev/portfolio", "repo": "https://github.com/DaintyDust/DaintyDust.github.io", "demo": "https://daintydust.dev/paint"}]...
|
[{"post_id": 76263, "ts": "202 [{"post_id": 76263, "ts": "2026-10-02T23:36:35Z", "hours": 0.6783, "text": "Added proper mobile support by changing some css selectors"}, {"post_id": 76241, "ts": "2026-10-02T20:26:50Z", "hours": 1.1919, "text": "Fixed the lag on small grid sizes by rebuilding the paint rendering by doing these changes: Drawings are now cached on an offscreen canvas and rendered via a single drawImage() call every frame instead of running 30,000+ fillRect() calls per second. Grouped pixels by color to avoid expensive canvas context switching. maybe still needs some work, but its already alot faster for things like text rendering"}, {"post_id": 75990, "ts": "2026-10-01T21:36:37Z", "hours": 1.1967, "text": "I added a fill tool, this was pretty hard to do since there are some complicated calculations that needed to be made. So for the really hard calculations i used forms online and a bit of AI"}, {"post_id": 75720, "ts": "2026-09-30T21:05:46Z", "hours": 3.6944, "text": "added a text tool to my paint page, you can now add text in different sizes. this was pretty easy to do since i already had a system to display text on my homepage, so i reused most stuff for that also added a tech stack to my portfolio, so others can see what languages i can program in. and I fix a bug where the electrons wouldn’t follow the grid when changing the grid size."}, {"post_id": 75381, "ts": "2026-09-29T21:49:13Z", "hours": 6.2064, "text": "Added a page to paint the pixels. https://daintydust.dev/paint you can use tools like: pencil, brush, rectangle, circle, eraser. or change the brush size or grid size. At first i thought it was pretty easy since i already had a working grid system that could display text. But after alot of trial and error i managed to add the first pen tool. After that was done it was pretty easy adding the other tools"}, {"post_id": 74645, "ts": "2026-09-27T20:44:28Z", "hours": 1.8028, "text": "Added a sandbox page so you can play around with the text and colors and stuff. you can also do this by pressing “ctrl + /” on any page. Also added a projects widget so you can easily go to my portfolio from the homepage"}, {"post_id": 72841, "ts": "2026-09-23T20:58:33Z", "hours": 0.8103, "text": "I updated the readme so i can ship my website!"}, {"post_id": 72784, "ts": "2026-09-23T18:49:33Z", "hours": 5.9961, "text": "added a portfolio page to display all the projects that i’ve worked on! I use multiple mantine packages to make the UI creation much easier. for example for the carousel, image compare and lightbox"}, {"post_id": 67646, "ts": "2026-09-13T20:04:53Z", "hours": 2.1081, "text": "added a page to display all my roblox accounts. it fetches the avatars, usernames and group info from the roblox api based on a list of userid’s."}, {"post_id": 63851, "ts": "2026-09-07T20:39:53Z", "hours": 4.6256, "text": "The site was still pretty laggy on lower end devices. So i reduces the amount of electrons for lower end devices. I also rewrote the whole UI with the mantine UI library. because of this i didn’t have to write my own widget dragging system."}, {"post_id": 48241, "ts": "2026-08-16T15:23:22Z", "hours": 19.7219, "text": "Previously my site was really laggy. my pc used 2gb of ram and 90% GPU (on a 3070 😭) on my site alone. This is why i wanted to rewrite the site. my old site just used basic html/css, thats also another reason i wanted to rewrite my site Since i wanted to learn create a site in react a chose that. Changes: Rewrote and redesigned my site in react. Add secret menu to change the text and colors of the site. Added possibility to add more languages"}]...
|
Title: Portfolio Website by @DaintyDust | Stardanc Title: Portfolio Website by @DaintyDust | Stardance
Devlogs:
Previously my site was really laggy. my pc used 2gb of ram and 90% GPU (on a 3070 😭) on my site alone. This is why i wanted to rewrite the site. my old site just used basic html/css, thats also another reason i wanted to rewrite my site Since i wanted to learn create a site in react a chose that. Changes: Rewrote and redesigned my site in react. Add secret menu to change the text and colors of the site. Added possibility to add more languages
The site was still pretty laggy on lower end devices. So i reduces the amount of electrons for lower end devices. I also rewrote the whole UI with the mantine UI library. because of this i didn’t have to write my own widget dragging system.
added a page to display all my roblox accounts. it fetches the avatars, usernames and group info from the roblox api based on a list of userid’s.
added a portfolio page to display all the projects that i’ve worked on! I use multiple mantine packages to make the UI creation much easier. for example for the carousel, image compare and lightbox
I updated the readme so i can ship my website!
Added a sandbox page so you can play around with the text and colors and stuff. you can also do this by pressing “ctrl + /” on any page. Also added a projects widget so you can easily go to my portfolio from the homepage
Added a page to paint the pixels. https://daintydust.dev/paint you can use tools like: pencil, brush, rectangle, circle, eraser. or change the brush size or grid size. At first i thought it was pretty easy since i already had a working grid system that could display text. But after alot of trial and error i managed to add the first pen tool. After that was done it was pretty easy adding the other tools
added a text tool to my paint page, you can now add text in different sizes. this was pretty easy to do since i already had a system to display text on my homepage, so i reused most stuff for that also added a tech stack to my portfolio, so others can see what languages i can program in. and I fix a bug where the electrons wouldn’t follow the grid when changing the grid size.
I added a fill tool, this was pretty hard to do since there are some complicated calculations that needed to be made. So for the really hard calculations i used forms online and a bit of AI
Fixed the lag on small grid sizes by rebuilding the paint rendering by doing these changes: Drawings are now cached on an offscreen canvas and rendered via a single drawImage() call every frame instead of running 30,000+ fillRect() calls per second. Grouped pixels by color to avoid expensive canvas context switching. maybe still needs some work, but its already alot faster for things like text rendering
Added proper mobile support by changing some css selectors
Ships:
I made a portfolio website to show of my projects. I made the site using react + mantine because mantine UI makes it really easy to add and create components. In the beginning it was pretty challenging because i never created a site in react or with mantine before. So i had to learn all of those from the beginning A friend of mine recommended mantine UI, because it has really nice looking UI components, its free and its opensource! Since i updated my already existing site and rewriting it in react + mantine. I already had a stylesheet to style my website. So i could easily reuse that. Visit the site at: https://daintydust.dev View my portfolio at: https://daintydust.dev/portfolio
I added a sandbox page so people can play around with the text and pixel colors since alot of reviews like that! you can access it at https://daintydust.dev/sandbox (or press “ctrl+/” on any page to popup the commands menu But I didn’t find that enough, i wanted more. So a friend of mine suggested making a kind of paint program where you can draw pixels, shapes and text!
In the reviews on my previous ships, people gave me alot of feedback on things that were missing or bugged, So i fixed most of them this update. First people asked for a for a fill tool. Secondly a few people pointed out that in a low grid size the paint page was really laggy. Lastly people mentioned that the mobile version was pretty bad. Try out the paint page at: https://daintydust.dev/paint Check out the site at: https://daintydust.dev...
|
1793004703.3474944
|
1793091103.3474944
|
|
33555
|
Rural Coders Society by @-Sophie- | Stardance
|
-Sophie-
|
1
|
12.0
|
252
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T18:58:04Z", "hours": 12.0, "multiplier": 17.99, "payout": 252, "blessing": "neutral", "text": "I made a revamped webpage for Rural Coders Society, a fiscally sponsored project under Hack Club! This was my first time using full blown React for an actual project, so there was a huge learning curve. But I’m really proud with how it turned out! Challenges: Using external libraries like NumberFlow and SplideJS for the first time (lots of documentation to read D:) Gauging what I should make a component and what I should just put on the page Making the card system modular (esp for different amounts of content and such) and streamlining the process of adding cards to the website Using useState for the first (practical) time to make a navbar :0 What I’m proud of: I’m proud that I overcame these challenges despite it being discouraging at times How I was able successfully integrate external libraries and troubleshoot through card issues and being stubborn to not use AI to debug (it was tempting but I know I wouldn’t learn) Using TailwindCSS for the first time and it’s actually so good I don’t think I can return to regular CSS anymore I’m glad I was able to reference other sites on the web and somewhat replicate it with react and tailwind with my own creativity on my own page Using and understanding how to use react routes and Link elements You can check the page out at www.ruralcoderssociety.org ! Thanks for reading :))))", "repo": "https://github.com/gwak-amole/ruralcoderssociety", "demo": "https://www.ruralcoderssociety.org/"}]...
|
[{"post_id": 71368, "ts": "202 [{"post_id": 71368, "ts": "2026-09-20T18:18:33Z", "hours": 1.7058, "text": "FINISHED THE SITE!! I added mobile compatibility The site was looking really good until someone looked on it on their phone or something other than a desktop, so this was the final element to ship it! No more fixed widths The fixed widths, I found, were the culprit for all the breaking when the website was viewed in other dimensions, so I made use of sm:some property and md:some property and lg:some property in tailwind and also w-full and max-w-some number to make the cards flexible depending on the dimensions it’s viewed from NAVBAR I’m really proud of this because I used useState for the first time on an actual website to create the hamburger navigation thing. It opens like a set of links if you click it and the text changes from a three-line hamburger thing to an x. useState is actually amazing so many use cases Challenges The main challenge was just tweaking what text/font sizes should go with sm/md/lg displays–just a lot of trial and error Another challenge was making the hamburger opening look good because the background was only coloring to the height of the navbar,, I realized that I needed to move the appearing navigation outside of the navbar and it worked wonders Future additions Just if the nonprofit gets more metrics or after outreach initiatives it’s apparent we’re missing some important content. but it’s done and I’m going to ship this!!"}, {"post_id": 66091, "ts": "2026-09-11T17:49:29Z", "hours": 1.1672, "text": "Finished About Me Page + program page struggles Finished the about me! It’ s a simple about me page; I got inspiration from other NPO about me pages online! Program Page work in progress I’m trying to use the same components across two pages for information cards on the programs we do, but the cards need to be two different heights. I’ve been hacking at this for a while but I’m going to rest before I try resolving this problem again :’))))) (as you can see the images go off the cards for this second component. I want each card to be a standardized height but differ across pages. gl to me in the future lol) Future additions After I finish adjusting these card heights, my website will be finished! I just need to hook it to our website domain and replace our outdated website!! yayyy"}, {"post_id": 59083, "ts": "2026-08-31T18:09:12Z", "hours": 2.5033, "text": "Added project carousel! React component I used React to make a reusable image carousel thing where you can pass an array of photos as an argument and it will put it into the the SplideJS slides Used SplideJS again Added a featured projects carousel that has some cool projects that our Code Without Borders Bootcamp participants made!! Added arrows to the carousel too Tailwind Added a gradient background for aesthetic purposes :) Challenges I generally had a hard time figuring out how to style the features component–it was really looking rough to start with but we landed on something 😭 I think the gradient helped a lot Additional information I also tweaked styling for the rest of the webpage I added some join buttons and linked the donation page Updated the impact numbers Future additions About to add the proper join form and also get started on the about us page :D"}, {"post_id": 29809, "ts": "2026-07-16T23:01:41Z", "hours": 1.1256, "text": "Added footer + more I added a footer to the home page to make it feel more complete Number animations now the number statistics animate when you scroll upon them. so i attached a video to show u what that looks like. I used the NumberFlow React library–it was pretty intuitive itself but then i had to use useState, useEffect, and useRef hooks and understand how to use those and how to defer the useEffect until the window detects it 😭 😭 u can do it with the native .getBoundingClientRect tho and u have to do it to an element you want to be the trigger, in my case i made the card the trigger, so if it shows then the animation will happen. and then make sure it’s less than window.innerHeight and element’s position.bottom must be greater than 0, which means that the element is below the top edge of ur screen holy yap but this is how i teach myself bc that was something new for me 😭"}, {"post_id": 28588, "ts": "2026-07-14T22:37:09Z", "hours": 0.6417, "text": "Added card types and prop types to specify the kind of card design you want I added different card types, and so now you can switch between them. So CardGrid is extra reusable LOL This is through capitalized variables that I just learned! I could work logic between choosing components using a capitalized variable (yk the one that uses PascalCase)"}, {"post_id": 28564, "ts": "2026-07-14T21:53:38Z", "hours": 0.3922, "text": "Reworked some card grid component logic I heard it’s better to create an array of the props rather than an array of the cards, so after struggling a bit I got to do it the conventional way with array mapping! Not entirely sure what the individual mapping keys are for but I will look more deeply into that. It says online that you have to keep keys stable so that React knows which item you’re referencing but don’t totally understand why it would need to know that lol"}, {"post_id": 28551, "ts": "2026-07-14T21:28:11Z", "hours": 0.8739, "text": "Card Component + Card Grid Both are reusable! Card Component I create InfoCard.jsx component which makes these light blue cards. I used props for the first time, so you can pass in an argument making these components completely reusable across the platform! Card Grid I created an array of cards and then passed them through the Card Grid. I made it so that the cols prop you pass in leads to the amount of columns created with Tailwind CSS by assigning 1 to “grid-col-1” etc etc in an object and then using that for part of the Tailwind CSS for the Card Grid. super simple logic but im still proud nevertheless LOL"}, {"post_id": 26415, "ts": "2026-07-11T06:05:56Z", "hours": 1.3447, "text": "I implemented Splide JS into the website so it could create this photo gallery carousel!! i’m so proud of it! and the syntax for Splide was surprisingly easy and intuitive–I followed a tutorial on Medium to understand how to use it. The home page is already looking more polished."}, {"post_id": 26386, "ts": "2026-07-11T04:30:11Z", "hours": 1.0606, "text": "Added a hero to the website. It’s currently a placeholder, I’m working on a swiping photo gallery as the hero. I also styled everything with tailwind-css because I’m trying to get used to it."}, {"post_id": 26290, "ts": "2026-07-11T00:20:44Z", "hours": 0.8678, "text": "Why is react so painful? anyhow I made a router without styling yet with react-router-dom and so yeah that’s progress :’). I’m getting used to the react-router-dom way of things and having to configure main.jsx and stuff it’s so painful LOL"}]...
|
Title: Rural Coders Society by @-Sophie- | Stardan Title: Rural Coders Society by @-Sophie- | Stardance
Devlogs:
Why is react so painful? anyhow I made a router without styling yet with react-router-dom and so yeah that’s progress :’). I’m getting used to the react-router-dom way of things and having to configure main.jsx and stuff it’s so painful LOL
Added a hero to the website. It’s currently a placeholder, I’m working on a swiping photo gallery as the hero. I also styled everything with tailwind-css because I’m trying to get used to it.
I implemented Splide JS into the website so it could create this photo gallery carousel!! i’m so proud of it! and the syntax for Splide was surprisingly easy and intuitive–I followed a tutorial on Medium to understand how to use it. The home page is already looking more polished.
Card Component + Card Grid Both are reusable! Card Component I create InfoCard.jsx component which makes these light blue cards. I used props for the first time, so you can pass in an argument making these components completely reusable across the platform! Card Grid I created an array of cards and then passed them through the Card Grid. I made it so that the cols prop you pass in leads to the amount of columns created with Tailwind CSS by assigning 1 to “grid-col-1” etc etc in an object and then using that for part of the Tailwind CSS for the Card Grid. super simple logic but im still proud nevertheless LOL
Reworked some card grid component logic I heard it’s better to create an array of the props rather than an array of the cards, so after struggling a bit I got to do it the conventional way with array mapping! Not entirely sure what the individual mapping keys are for but I will look more deeply into that. It says online that you have to keep keys stable so that React knows which item you’re referencing but don’t totally understand why it would need to know that lol
Added card types and prop types to specify the kind of card design you want I added different card types, and so now you can switch between them. So CardGrid is extra reusable LOL This is through capitalized variables that I just learned! I could work logic between choosing components using a capitalized variable (yk the one that uses PascalCase)
Added footer + more I added a footer to the home page to make it feel more complete Number animations now the number statistics animate when you scroll upon them. so i attached a video to show u what that looks like. I used the NumberFlow React library–it was pretty intuitive itself but then i had to use useState, useEffect, and useRef hooks and understand how to use those and how to defer the useEffect until the window detects it 😭 😭 u can do it with the native .getBoundingClientRect tho and u have to do it to an element you want to be the trigger, in my case i made the card the trigger, so if it shows then the animation will happen. and then make sure it’s less than window.innerHeight and element’s position.bottom must be greater than 0, which means that the element is below the top edge of ur screen holy yap but this is how i teach myself bc that was something new for me 😭
Added project carousel! React component I used React to make a reusable image carousel thing where you can pass an array of photos as an argument and it will put it into the the SplideJS slides Used SplideJS again Added a featured projects carousel that has some cool projects that our Code Without Borders Bootcamp participants made!! Added arrows to the carousel too Tailwind Added a gradient background for aesthetic purposes :) Challenges I generally had a hard time figuring out how to style the features component–it was really looking rough to start with but we landed on something 😭 I think the gradient helped a lot Additional information I also tweaked styling for the rest of the webpage I added some join buttons and linked the donation page Updated the impact numbers Future additions About to add the proper join form and also get started on the about us page :D
Finished About Me Page + program page struggles Finished the about me! It’ s a simple about me page; I got inspiration from other NPO about me pages online! Program Page work in progress I’m trying to use the same components across two pages for information cards on the programs we do, but the cards need to be two different heights. I’ve been hacking at this for a while but I’m going to rest before I try resolving this problem again :’))))) (as you can see the images go off the cards for this second component. I want each card to be a standardized height but differ across pages. gl to me in the future lol) Future additions After I finish adjusting these card heights, my website will be finished! I just need to hook it to our website domain and replace our outdated website!! yayyy
FINISHED THE SITE!! I added mobile compatibility The site was looking really good until someone looked on it on their phone or something other than a desktop, so this was the final element to ship it! No more fixed widths The fixed widths, I found, were the culprit for all the breaking when the website was viewed in other dimensions, so I made use of sm:some property and md:some property and lg:some property in tailwind and also w-full and max-w-some number to make the cards flexible depending on the dimensions it’s viewed from NAVBAR I’m really proud of this because I used useState for the first time on an actual website to create the hamburger navigation thing. It opens like a set of links if you click it and the text changes from a three-line hamburger thing to an x. useState is actually amazing so many use cases Challenges The main challenge was just tweaking what text/font sizes should go with sm/md/lg displays–just a lot of trial and error Another challenge was making the hamburger opening look good because the background was only coloring to the height of the navbar,, I realized that I needed to move the appearing navigation outside of the navbar and it worked wonders Future additions Just if the nonprofit gets more metrics or after outreach initiatives it’s apparent we’re missing some important content. but it’s done and I’m going to ship this!!
Ships:
I made a revamped webpage for Rural Coders Society, a fiscally sponsored project under Hack Club! This was my first time using full blown React for an actual project, so there was a huge learning curve. But I’m really proud with how it turned out! Challenges: Using external libraries like NumberFlow and SplideJS for the first time (lots of documentation to read D:) Gauging what I should make a component and what I should just put on the page Making the card system modular (esp for different amounts of content and such) and streamlining the process of adding cards to the website Using useState for the first (practical) time to make a navbar :0 What I’m proud of: I’m proud that I overcame these challenges despite it being discouraging at times How I was able successfully integrate external libraries and troubleshoot through card issues and being stubborn to not use AI to debug (it was tempting but I know I wouldn’t learn) Using TailwindCSS for the first time and it’s actually so good I don’t think I can return to regular CSS anymore I’m glad I was able to reference other sites on the web and somewhat replicate it with react and tailwind with my own creativity on my own page Using and understanding how to use react routes and Link elements You can check the page out at www.ruralcoderssociety.org ! Thanks for reading :))))...
|
1793004745.956177
|
1793091145.956177
|
|
38277
|
personal website v4 by @lilyy | Stardance
|
lilyy
|
2
|
22.0
|
252
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T08:36:00Z", "hours": 6.0, "multiplier": 7.57, "payout": 47, "blessing": "neutral", "text": "i made my website! it looks soo cute aaa,, in this ship i did the following: added captcha to messaging added ratelimiting to messaging put the cute custom cursors :3 commented the code a bit added dark mode", "repo": "https://github.com/itzmetanjim/itzmetanjim.github.io", "demo": "https://pages.tanjim.org/"}, {"ship_num": 2, "ts": "2026-08-04T16:57:22Z", "hours": 16.0, "multiplier": 12.47, "payout": 205, "blessing": "neutral", "text": "i made my website yay!", "repo": "https://github.com/itzmetanjim/itzmetanjim.github.io", "demo": "https://pages.tanjim.org/"}]...
|
[{"post_id": 60711, "ts": "202 [{"post_id": 60711, "ts": "2026-09-03T08:33:23Z", "hours": 0.6447, "text": "minor fixes and comments make the code easier to read! and also fix a slight bug in the captcha where it didnt reset when i sent a message so i needed to reload to send 2 messages commits since the last devlog 631e93b comment backend.py 01a280d comment notifier-macos.sh 5016741 comment lilyterm.sh ec83a24 make captcha reset on msg send"}, {"post_id": 60699, "ts": "2026-09-03T07:47:47Z", "hours": 0.8411, "text": "add captcha now bots can’t spam my messages commits since the last devlog 0c9c468 make it a little taller d6a262a fix transition colors da01c9a fix height of hrrect d2685a4 document captcha and make api key bypass ratelimit 9ebb297 add captcha"}, {"post_id": 60676, "ts": "2026-09-03T06:08:51Z", "hours": 0.6397, "text": "add ratelimits this prevents spamming messages, its a server side limit of 6 messages per 2 minutes. and you also can’t send an empty message anymore (both client-side and server-side restriction). commits since last devlog 5a74570 make it reject empty messages 207b3a6 add ratelimiting"}, {"post_id": 59607, "ts": "2026-09-01T14:55:52Z", "hours": 0.7311, "text": "add dark mode! you can click this button in the corner for dark mode now! yayayay commits since last devlog 3044340 uhh weird css specificity fix ee4291e finish dark mode! 3a2ea3d add dark mode colors"}, {"post_id": 59389, "ts": "2026-09-01T05:26:29Z", "hours": 0.7094, "text": "made the custom cursor logic better it used to sometimes show the text cursor when it was not supposed to and it did not show the hand cursor on the projects link buttons commits since last devlog 13c5a44 make custom cursors work better 29cd012 make readme use the jpg; jpg is faster than png b329790 new preview 2d56412 add backend shebang a985bc5 fix readme bb65dca fix custom cursor a bit 39561cb document licensing stuf"}, {"post_id": 52977, "ts": "2026-08-23T11:00:19Z", "hours": 2.2378, "text": "add a custom pink scrollbar and cursor!! they look so cuteeeee commits since last devlog ffea3e3 inline custom cursor SVGs 4549d01 add pink custom cursors!! 0bc7f83 add cute pink scrollbars :3 1d03792 Revert “comment notifier-macos.sh, sob its trash code” 3abd8da comment notifier-macos.sh, sob its trash code e9ab376 aa 756f09e seo 321727f WHO IS SPAMMING MY API"}, {"post_id": 41731, "ts": "2026-08-06T04:00:41Z", "hours": 0.4597, "text": "add a readme and fix it in india i added the README and then a friend from india told me that apparently the website doesnt work in india so i actually travelled all the way to the border and managed to connect to an indian cell tower and verified that it did not work then i fixed it, i proxied the messages API through nest and added pages.tanjim.org which doesnt go through VPS now its all good."}, {"post_id": 40681, "ts": "2026-08-04T11:28:12Z", "hours": 0.6206, "text": "completed the message feature by implementing email now its done! i used agentmail for this (“coolton” is what i named the agentmail inbox, i reused an inbox i used for an older project), it works now! now when someone sends a message, all of these happen: i recieve an email (immediately) i recieve a notification on my macbook with a sound(if its locked/sleeping then i recieve the notification when i come back and unlock), i recieve an alert on my terminal when i open it commits since the last devlog c536541 fix mobile responsiveness issue 16ecb20 make it email me when a message is sent"}, {"post_id": 40608, "ts": "2026-08-04T08:20:43Z", "hours": 0.7086, "text": "made the notifier now it will also notify me with a sound when any message comes! if my mac is locked/i am away then it will wait until it unlocks then notify me for my messages automatically, it will also show the priority. one limitation, it uses a flag on the server to store if it has already notified for a given message so it will not notify me twice, but because nothing is stored in the client (my macbook) it will cause problems if i make it notify on multiple devices. if i do that i have to either make the notified flag be an array for each client or i can make each client store its own flag but regardless it works now, all that’s left is email commits since the last devlog d16aca6 make the notifier script b4b7089 Make it only alert on interactive shells"}, {"post_id": 40536, "ts": "2026-08-04T05:04:30Z", "hours": 1.8658, "text": "made the terminal integration! it notifies me on my terminal when i have messages and implements a lily cli command that i can use to manage the messages. it supports these commands lily messages [filter] : [filter] is optional, it can be one of read unread notified unnotified or something like .id==5 or .id>=2 . shows the messages matching the filter. lily mark <type> <value> <start> [end] : <type> is read or notified , <value> is a boolean, it changes the read or notified value of a message. when [end] isn’t given it defaults to <start> . lily read <start> [end] : aliases to lily mark read true <start> [end] lily readall : marks everything as read lily delete <start> [end] deletes messages based on IDs. commits since the last devlog ed99296 add lilyterm.sh terminal integration edcb0f8 timestamp! a696a4a forwarding stuff 99cecd5 increase hrrect blur radius"}, {"post_id": 39268, "ts": "2026-08-02T04:10:28Z", "hours": 0.5681, "text": "integrated the website to the API! now it works! go to tanjim.org and send me a message! i still need to set up the notifier and terminal stuff and email etc etc but it now works and is deployed! commits since the last devlog i made these commits in the last 3 devlogs but i wasnt able to put it then because it hadn’t been pushed (if i pushed then the site would be in a nonfunctional intermediary state) ac5925b gitignore memory json 07657ec add the X-Forwarded-For header on the IP field 6872d5a integrate it 98b4cd8 cors stuff"}, {"post_id": 38896, "ts": "2026-08-01T14:02:46Z", "hours": 3.0544, "text": "made the rest API for this and a web UI for me to manage the messages this API will be called when someone sends a message. remaining: use js magic to integrate this into the website so message sending works the rest of the stuff, mail,terminal integration,and notifier"}, {"post_id": 38249, "ts": "2026-07-31T15:29:43Z", "hours": 2.2378, "text": "made the ui for the new message button i made a message button and added some smoooooooth transitions for it like the email button and made the ui stuff for it, next things left to do in this api: make a rest API for this that will be called and will store all the messages mail: use the gmail/agentmail/smth else api to email the msg to me terminal integration: something to source in my bashrc that alerts me when i open the terminal notif service: notifies me in my macbook when a message comes maybe a captcha?"}, {"post_id": 32918, "ts": "2026-07-22T11:48:33Z", "hours": 7.3533, "text": "Made the basic parts of the site i made the frontend part of the site, here is what i did first i made the template indext.html (see 2nd screenshot) , the template has blocks like this <!--!BEGIN AWARD--> <div class= \"award\" > <h3> [[result]] </h3> <p> [[event]] </p> <p class= \"faded\" > [[details]] </p> </div> <!--!END AWARD--> ... ... <!--!BEGIN PROJECT--> <div class= \"project\" > <h3> [[title]] </h3> <p> [[description]] </h3> <div class= \"links\" > <!--!BEGIN LINKS--> <a href= \"[[url]]\" target= \"_blank\" > [[label]] </a> <!--!END LINKS--> </div> </div> <!--!END PROJECT--> then i made a script run.py that takes in indext.html awards.json projects.json then repeats and substitutes the AWARD , PROJECT , LINKS blocks and removes the content of the TEMPLATE NOTICE block to generate index.html (its a custom handrolled script no frameworks) then i made a fastapi script serve.py to preview any template changes live, it hosts a webserver on port 8000 and generates index.html on the fly using run.py whenever i request it so i don’t have to type the command 1000 times. i added some logic to run.py that inlines all CSS, JS and fonts to reduce everything to one request, then minifies it into an optimized bundle, so it’s now larping vite/webpack i made a GH action that automatically deploys the GitHub Pages site by running run.py on GitHub servers FINALLY now its deployed yippee!!!!"}]...
|
Title: personal website v4 by @lilyy | Stardance
Title: personal website v4 by @lilyy | Stardance
Devlogs:
Made the basic parts of the site i made the frontend part of the site, here is what i did first i made the template indext.html (see 2nd screenshot) , the template has blocks like this <!--!BEGIN AWARD--> <div class= "award" > <h3> [[result]] </h3> <p> [[event]] </p> <p class= "faded" > [[details]] </p> </div> <!--!END AWARD--> ... ... <!--!BEGIN PROJECT--> <div class= "project" > <h3> [[title]] </h3> <p> [[description]] </h3> <div class= "links" > <!--!BEGIN LINKS--> <a href= "[[url]]" target= "_blank" > [[label]] </a> <!--!END LINKS--> </div> </div> <!--!END PROJECT--> then i made a script run.py that takes in indext.html awards.json projects.json then repeats and substitutes the AWARD , PROJECT , LINKS blocks and removes the content of the TEMPLATE NOTICE block to generate index.html (its a custom handrolled script no frameworks) then i made a fastapi script serve.py to preview any template changes live, it hosts a webserver on port 8000 and generates index.html on the fly using run.py whenever i request it so i don’t have to type the command 1000 times. i added some logic to run.py that inlines all CSS, JS and fonts to reduce everything to one request, then minifies it into an optimized bundle, so it’s now larping vite/webpack i made a GH action that automatically deploys the GitHub Pages site by running run.py on GitHub servers FINALLY now its deployed yippee!!!!
made the ui for the new message button i made a message button and added some smoooooooth transitions for it like the email button and made the ui stuff for it, next things left to do in this api: make a rest API for this that will be called and will store all the messages mail: use the gmail/agentmail/smth else api to email the msg to me terminal integration: something to source in my bashrc that alerts me when i open the terminal notif service: notifies me in my macbook when a message comes maybe a captcha?
made the rest API for this and a web UI for me to manage the messages this API will be called when someone sends a message. remaining: use js magic to integrate this into the website so message sending works the rest of the stuff, mail,terminal integration,and notifier
integrated the website to the API! now it works! go to tanjim.org and send me a message! i still need to set up the notifier and terminal stuff and email etc etc but it now works and is deployed! commits since the last devlog i made these commits in the last 3 devlogs but i wasnt able to put it then because it hadn’t been pushed (if i pushed then the site would be in a nonfunctional intermediary state) ac5925b gitignore memory json 07657ec add the X-Forwarded-For header on the IP field 6872d5a integrate it 98b4cd8 cors stuff
made the terminal integration! it notifies me on my terminal when i have messages and implements a lily cli command that i can use to manage the messages. it supports these commands lily messages [filter] : [filter] is optional, it can be one of read unread notified unnotified or something like .id==5 or .id>=2 . shows the messages matching the filter. lily mark <type> <value> <start> [end] : <type> is read or notified , <value> is a boolean, it changes the read or notified value of a message. when [end] isn’t given it defaults to <start> . lily read <start> [end] : aliases to lily mark read true <start> [end] lily readall : marks everything as read lily delete <start> [end] deletes messages based on IDs. commits since the last devlog ed99296 add lilyterm.sh terminal integration edcb0f8 timestamp! a696a4a forwarding stuff 99cecd5 increase hrrect blur radius
made the notifier now it will also notify me with a sound when any message comes! if my mac is locked/i am away then it will wait until it unlocks then notify me for my messages automatically, it will also show the priority. one limitation, it uses a flag on the server to store if it has already notified for a given message so it will not notify me twice, but because nothing is stored in the client (my macbook) it will cause problems if i make it notify on multiple devices. if i do that i have to either make the notified flag be an array for each client or i can make each client store its own flag but regardless it works now, all that’s left is email commits since the last devlog d16aca6 make the notifier script b4b7089 Make it only alert on interactive shells
completed the message feature by implementing email now its done! i used agentmail for this (“coolton” is what i named the agentmail inbox, i reused an inbox i used for an older project), it works now! now when someone sends a message, all of these happen: i recieve an email (immediately) i recieve a notification on my macbook with a sound(if its locked/sleeping then i recieve the notification when i come back and unlock), i recieve an alert on my terminal when i open it commits since the last devlog c536541 fix mobile responsiveness issue 16ecb20 make it email me when a message is sent
add a readme and fix it in india i added the README and then a friend from india told me that apparently the website doesnt work in india so i actually travelled all the way to the border and managed to connect to an indian cell tower and verified that it did not work then i fixed it, i proxied the messages API through nest and added pages.tanjim.org which doesnt go through VPS now its all good.
add a custom pink scrollbar and cursor!! they look so cuteeeee commits since last devlog ffea3e3 inline custom cursor SVGs 4549d01 add pink custom cursors!! 0bc7f83 add cute pink scrollbars :3 1d03792 Revert “comment notifier-macos.sh, sob its trash code” 3abd8da comment notifier-macos.sh, sob its trash code e9ab376 aa 756f09e seo 321727f WHO IS SPAMMING MY API
made the custom cursor logic better it used to sometimes show the text cursor when it was not supposed to and it did not show the hand cursor on the projects link buttons commits since last devlog 13c5a44 make custom cursors work better 29cd012 make readme use the jpg; jpg is faster than png b329790 new preview 2d56412 add backend shebang a985bc5 fix readme bb65dca fix custom cursor a bit 39561cb document licensing stuf
add dark mode! you can click this button in the corner for dark mode now! yayayay commits since last devlog 3044340 uhh weird css specificity fix ee4291e finish dark mode! 3a2ea3d add dark mode colors
add ratelimits this prevents spamming messages, its a server side limit of 6 messages per 2 minutes. and you also can’t send an empty message anymore (both client-side and server-side restriction). commits since last devlog 5a74570 make it reject empty messages 207b3a6 add ratelimiting
add captcha now bots can’t spam my messages commits since the last devlog 0c9c468 make it a little taller d6a262a fix transition colors da01c9a fix height of hrrect d2685a4 document captcha and make api key bypass ratelimit 9ebb297 add captcha
minor fixes and comments make the code easier to read! and also fix a slight bug in the captcha where it didnt reset when i sent a message so i needed to reload to send 2 messages commits since the last devlog 631e93b comment backend.py 01a280d comment notifier-macos.sh 5016741 comment lilyterm.sh ec83a24 make captcha reset on msg send
Ships:
i made my website yay!
i made my website! it looks soo cute aaa,, in this ship i did the following: added captcha to messaging added ratelimiting to messaging put the cute custom cursors :3 commented the code a bit added dark mode...
|
1792983197.5359354
|
1793069597.5359354
|
|
69200
|
PDFTools by @itzdeep2 | Stardance
|
itzdeep2
|
4
|
23.0
|
252
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-23T13:57:40Z", "hours": 10.0, "multiplier": 10.9, "payout": 106, "blessing": "neutral", "text": "🚢 Shipped: PDFTools & OpenDesign (100% Client-Side Privacy Suite) — I just launched PDFTools, a completely offline, browser-based utility suite featuring the OpenDesign Studio for visual canvas editing and document signing, along with local PDF merging, splitting, OCR text extraction, structure compression, and client-side format conversion. The core philosophy here is zero-knowledge privacy: not a single byte ever leaves your machine, ensuring sensitive documents are never uploaded to remote third-party servers. While certain experimental features like large media transcoding and heavy AI background removal push browser memory limits and may not function as seamlessly as they would on dedicated cloud farms, relying strictly on client-side WebAssembly was an intentional, non-negotiable architectural decision to protect your data sovereignty and guarantee absolute privacy.", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 2, "ts": "2026-10-18T17:20:17Z", "hours": 8.0, "multiplier": 15.48, "payout": 123, "blessing": "neutral", "text": "this ship is not a major change but somebody said the most people think about something is the attention to detail/ the small thing and changes..!! still i tried my best to add the details i can add, everything i know that feels missing. some may recomend me that add some images but the actual problem is i want to make the site as light weight as i can so i used emojis instead of images..!! and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 3, "ts": "2026-10-13T15:36:01Z", "hours": 3.0, "multiplier": 4.22, "payout": 16, "blessing": "neutral", "text": "I made PDFTools to do basic PDF tasks in one place. You can merge and split PDFs, convert them to images, add text, and use OCR to read text from images. The hardest part was getting the different tools to work properly in the browser. I’m proud that the files are processed on the user’s device instead of being uploaded to my server. I also added separate pages and emoji buttons to make it easier to use. You can try it using the project link!", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}, {"ship_num": 4, "ts": "2026-10-12T14:18:16Z", "hours": 2.0, "multiplier": 2.82, "payout": 7, "blessing": "neutral", "text": "Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed.", "repo": "https://github.com/itzdeep2/PDFTools", "demo": "https://allpdfmultitools.netlify.app/"}]...
|
[{"post_id": 82017, "ts": "202 [{"post_id": 82017, "ts": "2026-10-23T13:55:08Z", "hours": 2.3939, "text": "fixed all the errors and things which i could still many thing to go Remember that this is a all offine local tool some of the function is not working as intended (as some of the processing require large servers) { using server would ruin the project as it is made by keeping privacy in mind} still tried to fix…!!"}, {"post_id": 81747, "ts": "2026-10-22T10:30:09Z", "hours": 2.49, "text": "The open design and remove bg has some bugs so its currently not working i am trying to fix it…… and added a new feature rotate pdf and also universal convert only works with images/pdfs files not videos i will implement the video feature soon so stay tuned…!!!!"}, {"post_id": 81508, "ts": "2026-10-21T15:11:08Z", "hours": 2.1814, "text": "added remove background and clean audio (noise remover) but its not working i am trying to fix it but i am not getting much time as i am working somewhere else so pls don’t mind the delay..!!"}, {"post_id": 81427, "ts": "2026-10-21T07:21:04Z", "hours": 0.8461, "text": "Add the universal convert it will auto detect the file uploaded and ask the format accordingly which we want to convert…!!! Still its Pending because the download function is not working so i have to fix it… STAY TUNED…!!!"}, {"post_id": 81221, "ts": "2026-10-20T10:49:54Z", "hours": 1.855, "text": "added different colour themes and also added a universal convert which is currently in progress…!!! stay tuned..!!"}, {"post_id": 80733, "ts": "2026-10-18T17:18:34Z", "hours": 1.5733, "text": "added a opendesign like canva still i dont wanna higlight it as its under construction and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)"}, {"post_id": 80663, "ts": "2026-10-18T13:05:08Z", "hours": 0.6958, "text": "the most usable thing and the most difficult and challenging thing is to add the all direction resize pull tabs (before it can be done only using the bottom right tab) many things i had to delete and more than 100+ insertation to add and also thanks to AI for sorting out the confusing thing and helping me add the all direction resize tab without confusing the script.js which direction the user is pulling…!!!"}, {"post_id": 80651, "ts": "2026-10-18T12:09:11Z", "hours": 2.2322, "text": "tbh really frustrated with the edit pdf option rest everything didn’t took so much time. but this is causing so much error and i have to add a remove many things thanks to my computer teacher who helped a lot to edit and improve the design like the whitout had a border which i removed and also the delete option disappeared real quick so i had to fix it…!! hope you like it many more changes and features to add i am thinking to add a canva type thing locally so stay tuned…!!!!"}, {"post_id": 80355, "ts": "2026-10-17T11:51:43Z", "hours": 3.4286, "text": "in edit pdf i have added different fonts and,size and colour..!!! also added whiteout which you can whiteout anything you don’t want and also added the image adding but there is some changes to make like image crop option and size option rest everything good…!!! but still sign option is not working so i am trying to add it. REMEMBER THIS IS A LOCAL TOOL (RUNS ON YOUR BROWSER) YOUR DATA NEVER LEAVES YOU DEVICE. everything is processed in your browser so it might have some bugs depending on your device specs i am trying to fix it but i need help if anybody can help pls dm me..!!! if any more suggesstion you have pls comment"}, {"post_id": 79332, "ts": "2026-10-13T15:27:28Z", "hours": 3.0969, "text": "As many of the people in review has told about my flaws and what i can improve, i want to thank them for this honest review. I added the interactive buttons with emoji and also added indivisual pages for every action. some of you also compared my project to ILovePdf for them i want to say that in my project everything stays in your device everything is processed in your browser unlike this companies which upload your pdf to server. it gives some advantages to my project ie. safe, private, secure, fast."}, {"post_id": 78789, "ts": "2026-10-11T16:39:18Z", "hours": 2.0847, "text": "Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed."}]...
|
Title: PDFTools by @itzdeep2 | Stardance
Devlogs: Title: PDFTools by @itzdeep2 | Stardance
Devlogs:
Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed.
As many of the people in review has told about my flaws and what i can improve, i want to thank them for this honest review. I added the interactive buttons with emoji and also added indivisual pages for every action. some of you also compared my project to ILovePdf for them i want to say that in my project everything stays in your device everything is processed in your browser unlike this companies which upload your pdf to server. it gives some advantages to my project ie. safe, private, secure, fast.
in edit pdf i have added different fonts and,size and colour..!!! also added whiteout which you can whiteout anything you don’t want and also added the image adding but there is some changes to make like image crop option and size option rest everything good…!!! but still sign option is not working so i am trying to add it. REMEMBER THIS IS A LOCAL TOOL (RUNS ON YOUR BROWSER) YOUR DATA NEVER LEAVES YOU DEVICE. everything is processed in your browser so it might have some bugs depending on your device specs i am trying to fix it but i need help if anybody can help pls dm me..!!! if any more suggesstion you have pls comment
tbh really frustrated with the edit pdf option rest everything didn’t took so much time. but this is causing so much error and i have to add a remove many things thanks to my computer teacher who helped a lot to edit and improve the design like the whitout had a border which i removed and also the delete option disappeared real quick so i had to fix it…!! hope you like it many more changes and features to add i am thinking to add a canva type thing locally so stay tuned…!!!!
the most usable thing and the most difficult and challenging thing is to add the all direction resize pull tabs (before it can be done only using the bottom right tab) many things i had to delete and more than 100+ insertation to add and also thanks to AI for sorting out the confusing thing and helping me add the all direction resize tab without confusing the script.js which direction the user is pulling…!!!
added a opendesign like canva still i dont wanna higlight it as its under construction and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)
added different colour themes and also added a universal convert which is currently in progress…!!! stay tuned..!!
Add the universal convert it will auto detect the file uploaded and ask the format accordingly which we want to convert…!!! Still its Pending because the download function is not working so i have to fix it… STAY TUNED…!!!
added remove background and clean audio (noise remover) but its not working i am trying to fix it but i am not getting much time as i am working somewhere else so pls don’t mind the delay..!!
The open design and remove bg has some bugs so its currently not working i am trying to fix it…… and added a new feature rotate pdf and also universal convert only works with images/pdfs files not videos i will implement the video feature soon so stay tuned…!!!!
fixed all the errors and things which i could still many thing to go Remember that this is a all offine local tool some of the function is not working as intended (as some of the processing require large servers) { using server would ruin the project as it is made by keeping privacy in mind} still tried to fix…!!
Ships:
Built a simple PDF toolkit that runs entirely in the browser! It can merge PDFs, extract pages, convert them to JPG, add text, read text from images using OCR, and more. I used JavaScript with pdf-lib, PDF.js, and Tesseract.js. No backend or file uploads to a server needed.
I made PDFTools to do basic PDF tasks in one place. You can merge and split PDFs, convert them to images, add text, and use OCR to read text from images. The hardest part was getting the different tools to work properly in the browser. I’m proud that the files are processed on the user’s device instead of being uploaded to my server. I also added separate pages and emoji buttons to make it easier to use. You can try it using the project link!
this ship is not a major change but somebody said the most people think about something is the attention to detail/ the small thing and changes..!! still i tried my best to add the details i can add, everything i know that feels missing. some may recomend me that add some images but the actual problem is i want to make the site as light weight as i can so i used emojis instead of images..!! and many more things to add and still processing…!!! still if you have any openion you can give so i can make it better..!! (PLS NOTE this feature not working as intended as its under progress)
🚢 Shipped: PDFTools & OpenDesign (100% Client-Side Privacy Suite) — I just launched PDFTools, a completely offline, browser-based utility suite featuring the OpenDesign Studio for visual canvas editing and document signing, along with local PDF merging, splitting, OCR text extraction, structure compression, and client-side format conversion. The core philosophy here is zero-knowledge privacy: not a single byte ever leaves your machine, ensuring sensitive documents are never uploaded to remote third-party servers. While certain experimental features like large media transcoding and heavy AI background removal push browser memory limits and may not function as seamlessly as they would on dedicated cloud farms, relying strictly on client-side WebAssembly was an intentional, non-negotiable architectural decision to protect your data sovereignty and guarantee absolute privacy....
|
1792968471.8612309
|
1793054871.8612309
|
|
7489
|
Weather app by @jupeme6 | Stardance
|
jupeme6
|
2
|
21.0
|
251
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T03:15:38Z", "hours": 7.0, "multiplier": 14.13, "payout": 93, "blessing": "neutral", "text": "What did you make? A weather app that lets you search the current weather of any city and get a 5-day forecast. Each search shows temperature, humidity, wind speed, feels-like, and a description, with a GIF background that matches the weather condition (sun, rain, snow, storm, etc.). Built in four betas: basic lookup, glassmorphism redesign with weather GIFs, 5-day forecast with a temperature chart drawn on canvas, and the final version with geolocation, favorites, PWA support, plus a settings panel with language (ES/EN) and units (Celsius/Fahrenheit) toggles added in response to reviewer feedback. The app is installable on desktop and mobile, works offline, and uses OpenWeatherMap + Giphy APIs. What was challenging? Two bugs almost broke me. My editor’s autocomplete kept rewriting value to ariaValueMax , which silently broke the search button in two projects. Later, when I tried to extend my mostrarClima function by saving the old one and redefining it, I caused infinite recursion because of JavaScript hoisting. Fix was to use a function expression instead. Also, the Giphy search API returned random GIFs that didn’t represent the weather (got a dancing water drop for London), so I picked one fixed GIF per weather type by hand and hardcoded the URLs. The internationalization had a sneaky bug too. The language toggle translated the main UI but left the forecast section in Spanish because that code was hardcoded from an earlier beta. Had to re-query the API with the correct lang parameter and re-translate the forecast cards, the canvas day labels, and the legend separately. What are you proud of? The temperature chart is drawn with vanilla canvas, no Chart.js, just moveTo/lineTo/arc. About 60 lines of code, exactly the result I wanted. Also the weather GIF backgrounds: each weather type has a fixed GIF picked by hand, so it feels like you’re actually looking at the sky of that city. And the whole thing works as an installable PWA with offline support, plus now supports English and Fahrenheit for international users. What should people know so they can test your project? Open the demo URL and type a city name (Madrid, London, Tokyo, New York). You’ll see the current weather with a matching GIF background, plus a 5-day forecast with a temperature chart below. Click the gear icon in the top right to open settings and switch between Spanish / English and Celsius / Fahrenheit. Click the star next to the city name to add it to favorites. Click “My location” to get weather for your actual coordinates. On Chrome you can install the app from the address bar icon. Live demo: https://notjuangamer10.github.io/weather-app/ Source: https://github.com/notjuangamer10/weather-app", "repo": "https://github.com/NOTJuangamer10/weather-app", "demo": "https://notjuangamer10.github.io/weather-app/"}, {"ship_num": 2, "ts": "2026-08-01T12:18:21Z", "hours": 14.0, "multiplier": 11.24, "payout": 158, "blessing": "neutral", "text": "What did you make? A weather app that lets you search the current weather of any city and get a 5-day forecast. Each search shows temperature, humidity, wind speed, feels-like, and a description, with a GIF background that matches the weather condition (sun, rain, snow, storm, etc.). Built in four betas: basic lookup, glassmorphism redesign with weather GIFs, 5-day forecast with a temperature chart drawn on canvas, and the final version with geolocation, favorites and PWA support. The app is installable on desktop and mobile, works offline, and uses OpenWeatherMap + Giphy APIs. What was challenging? Two bugs almost broke me. My editor’s autocomplete kept rewriting value to ariaValueMax , which silently broke the search button in two projects. Later, when I tried to extend my mostrarClima function by saving the old one and redefining it, I caused infinite recursion because of JavaScript hoisting - function declarations get hoisted, so I was saving the new function instead of the old one. Fix was to use a function expression instead. Also, the Giphy search API returned random GIFs that didn’t represent the weather (got a dancing water drop for London), so I picked one fixed GIF per weather type by hand and hardcoded the URLs. What are you proud of? The temperature chart is drawn with vanilla canvas - no Chart.js, just moveTo/lineTo/arc. About 60 lines of code, exactly the result I wanted. Also the weather GIF backgrounds: instead of a static gradient or random GIFs, each weather type has a fixed GIF picked by hand, so it feels like you’re actually looking at the sky of that city. And the whole thing works as an installable PWA with offline support. What should people know so they can test your project? Open the demo URL and type a city name (Madrid, London, Tokyo, New York). You’ll see the current weather with a matching GIF background, plus a 5-day forecast with a temperature chart below. Click the star next to the city name to add it to favorites — they show up as chips and persist across reloads. Click “My location” to get weather for your actual coordinates (browser will ask for permission). On Chrome you can install the app from the address bar icon, after that it opens in its own window and works offline. Live demo: https://notjuangamer10.github.io/weather-app/ Source: https://github.com/notjuangamer10/weather-app", "repo": "https://github.com/NOTJuangamer10/weather-app", "demo": "https://notjuangamer10.github.io/weather-app/"}]...
|
[{"post_id": 43697, "ts": "202 [{"post_id": 43697, "ts": "2026-08-09T03:14:25Z", "hours": 6.5617, "text": "Small patch for the Weather App based on reviewer feedback. Three fixes. First, the language toggle now actually translates the full UI. Before, switching to English left several strings in Spanish: the forecast heading, the day labels in both the cards and the canvas chart, the “highs / lows” legend, and most embarrassingly, the weather description itself (“algo de nubes” instead of “scattered clouds”). The issue was that the forecast code was hardcoded in Spanish. Now it queries the OpenWeatherMap API with the correct lang parameter, and re-translates the forecast cards, the canvas labels, and the legend when the language changes. Second, the units toggle (Celsius / Fahrenheit) was already working but now also converts wind speed from km/h to mph when Fahrenheit is selected, which makes sense for imperial users. Third, the welcome state is in place. First-time visitors now see a pulsing sun icon and a short prompt instead of a blank page with just a search bar. Thanks to everyone who tested and left feedback. Three reviewers asked for multi-language support and one asked for unit conversion, so those were the top requested features."}, {"post_id": 38538, "ts": "2026-08-01T00:07:24Z", "hours": 3.4889, "text": "Beta 4, the final version of the Weather App, is up. Three new things: Geolocation: there’s a “My location” button next to the search bar that uses the browser’s geolocation API to get your coordinates, then queries OpenWeatherMap by lat/lon instead of city name. Useful when you don’t know the exact city name or just want your local weather fast. Favorites: each result has a star icon next to the city name. Click it to add the city to your favorites, which show up as chips below the search bar. Click a chip to search that city again, click the × to remove it. Favorites are stored in localStorage so they survive reloads. PWA: added a manifest and a service worker, so the app is now installable on desktop and mobile. Once installed it opens in its own window without the browser chrome, and the service worker caches the main files so it works offline too. Also changed the font from system-ui to Space Grotesk. The default sans-serif felt a bit generic, Space Grotesk gives it more character, especially on the big temperature numbers. This is the last beta for this project. Calling Weather App done."}, {"post_id": 37533, "ts": "2026-07-30T10:47:19Z", "hours": 3.8489, "text": "Beta 3 of the Weather App is up. Now after the current weather you get a 5-day forecast with the day name, weather icon and max/min temperature for each day!!!(kinda usefull i know), plus a small chart below showing the max (red) and min (blue) temperatures across the week. The chart is drawn on a canvas with vanilla JS, no Chart.js or any library, just moveto/lineTo/arc. The tricky part was the forecast API. It returns a data point every 3 hours, so I had to filter and group them by day, taking the actual max and min of all the 3-hour readings inside each day. Otherwise the “max” was just the temperature at a random hour, not the real daily high. I also had to redefine my existing mostrarClima function to also trigger the forecast fetch - I kept the old function in a variable and called it inside the new one, so the GIF background logic I had before still runs. Took me a while to figure that pattern out. Next version will probably be the last: geolocation + favorites + installable PWA. But i don`t really know if geolocation is a good idea Update:Hit a nasty bug in this version: every search returned “city not found” even for Madrid, (which definitely works). Turns out the pattern I used to extend mostrarClima (saving the old function and redefining it) caused an infinite recursion because of JavaScript hoisting -function declarations get hoisted to the top, so when I saved “the old function” I was actually saving the new one, which then called itself forever. Changed function mostrarClima() to mostrarClima = function() (function expression instead of declaration) and it fixed it. Took me way too long to figure out."}, {"post_id": 36722, "ts": "2026-07-28T23:22:38Z", "hours": 4.1825, "text": "Beta 2 of the Weather App is up. The UI got a real redesign: the background is now a GIF that matches the weather condition based on the info that OpenWeathermap gave me: a sunny sky for clear weather, falling rain for rainy cities, snow for cold ones, lightning for storms, etc. Cards use glassmorphism (frosted glass) so the GIF shows through while the text stays readable, with a dark overlay to keep contrast. Originally I called the Giphy API on every search and got a random GIF, but the results were inconsistent, for example, once I searched London and got a dancing water drop instead of actual rain. So I picked one fixed GIF per weather type by hand and hardcoded them. Now it feels like you’re actually looking at the sky of that city, same view every time. Next version will add a 5-day forecast below the current weather."}, {"post_id": 36048, "ts": "2026-07-27T21:28:29Z", "hours": 2.5794, "text": "First version of my Weather App is up. You type a city name, hit Search, and it pulls temperature, humidity, wind, feels-like and a short description from OpenWeatherMap. UI is intentionally plain cuz I wanted to make sure the API actually works before making it pretty. Fought my editor’s autocomplete again: it kept rewriting value to ariaValueMax , which silently broke the search button. Same bug as in my last project, should really disable that suggestion. Also took me a while to get the .then / .catch / .finally chain right, especially handling 404 when the city doesn’t exist without crashing the page. Next version will be a proper redesign. Right now it works but it’s ugly."}]...
|
Title: Weather app by @jupeme6 | Stardance
Devlog Title: Weather app by @jupeme6 | Stardance
Devlogs:
First version of my Weather App is up. You type a city name, hit Search, and it pulls temperature, humidity, wind, feels-like and a short description from OpenWeatherMap. UI is intentionally plain cuz I wanted to make sure the API actually works before making it pretty. Fought my editor’s autocomplete again: it kept rewriting value to ariaValueMax , which silently broke the search button. Same bug as in my last project, should really disable that suggestion. Also took me a while to get the .then / .catch / .finally chain right, especially handling 404 when the city doesn’t exist without crashing the page. Next version will be a proper redesign. Right now it works but it’s ugly.
Beta 2 of the Weather App is up. The UI got a real redesign: the background is now a GIF that matches the weather condition based on the info that OpenWeathermap gave me: a sunny sky for clear weather, falling rain for rainy cities, snow for cold ones, lightning for storms, etc. Cards use glassmorphism (frosted glass) so the GIF shows through while the text stays readable, with a dark overlay to keep contrast. Originally I called the Giphy API on every search and got a random GIF, but the results were inconsistent, for example, once I searched London and got a dancing water drop instead of actual rain. So I picked one fixed GIF per weather type by hand and hardcoded them. Now it feels like you’re actually looking at the sky of that city, same view every time. Next version will add a 5-day forecast below the current weather.
Beta 3 of the Weather App is up. Now after the current weather you get a 5-day forecast with the day name, weather icon and max/min temperature for each day!!!(kinda usefull i know), plus a small chart below showing the max (red) and min (blue) temperatures across the week. The chart is drawn on a canvas with vanilla JS, no Chart.js or any library, just moveto/lineTo/arc. The tricky part was the forecast API. It returns a data point every 3 hours, so I had to filter and group them by day, taking the actual max and min of all the 3-hour readings inside each day. Otherwise the “max” was just the temperature at a random hour, not the real daily high. I also had to redefine my existing mostrarClima function to also trigger the forecast fetch - I kept the old function in a variable and called it inside the new one, so the GIF background logic I had before still runs. Took me a while to figure that pattern out. Next version will probably be the last: geolocation + favorites + installable PWA. But i don`t really know if geolocation is a good idea Update:Hit a nasty bug in this version: every search returned “city not found” even for Madrid, (which definitely works). Turns out the pattern I used to extend mostrarClima (saving the old function and redefining it) caused an infinite recursion because of JavaScript hoisting -function declarations get hoisted to the top, so when I saved “the old function” I was actually saving the new one, which then called itself forever. Changed function mostrarClima() to mostrarClima = function() (function expression instead of declaration) and it fixed it. Took me way too long to figure out.
Beta 4, the final version of the Weather App, is up. Three new things: Geolocation: there’s a “My location” button next to the search bar that uses the browser’s geolocation API to get your coordinates, then queries OpenWeatherMap by lat/lon instead of city name. Useful when you don’t know the exact city name or just want your local weather fast. Favorites: each result has a star icon next to the city name. Click it to add the city to your favorites, which show up as chips below the search bar. Click a chip to search that city again, click the × to remove it. Favorites are stored in localStorage so they survive reloads. PWA: added a manifest and a service worker, so the app is now installable on desktop and mobile. Once installed it opens in its own window without the browser chrome, and the service worker caches the main files so it works offline too. Also changed the font from system-ui to Space Grotesk. The default sans-serif felt a bit generic, Space Grotesk gives it more character, especially on the big temperature numbers. This is the last beta for this project. Calling Weather App done.
Small patch for the Weather App based on reviewer feedback. Three fixes. First, the language toggle now actually translates the full UI. Before, switching to English left several strings in Spanish: the forecast heading, the day labels in both the cards and the canvas chart, the “highs / lows” legend, and most embarrassingly, the weather description itself (“algo de nubes” instead of “scattered clouds”). The issue was that the forecast code was hardcoded in Spanish. Now it queries the OpenWeatherMap API with the correct lang parameter, and re-translates the forecast cards, the canvas labels, and the legend when the language changes. Second, the units toggle (Celsius / Fahrenheit) was already working but now also converts wind speed from km/h to mph when Fahrenheit is selected, which makes sense for imperial users. Third, the welcome state is in place. First-time visitors now see a pulsing sun icon and a short prompt instead of a blank page with just a search bar. Thanks to everyone who tested and left feedback. Three reviewers asked for multi-language support and one asked for unit conversion, so those were the top requested features.
Ships:
What did you make? A weather app that lets you search the current weather of any city and get a 5-day forecast. Each search shows temperature, humidity, wind speed, feels-like, and a description, with a GIF background that matches the weather condition (sun, rain, snow, storm, etc.). Built in four betas: basic lookup, glassmorphism redesign with weather GIFs, 5-day forecast with a temperature chart drawn on canvas, and the final version with geolocation, favorites and PWA support. The app is installable on desktop and mobile, works offline, and uses OpenWeatherMap + Giphy APIs. What was challenging? Two bugs almost broke me. My editor’s autocomplete kept rewriting value to ariaValueMax , which silently broke the search button in two projects. Later, when I tried to extend my mostrarClima function by saving the old one and redefining it, I caused infinite recursion because of JavaScript hoisting - function declarations get hoisted, so I was saving the new function instead of the old one. Fix was to use a function expression instead. Also, the Giphy search API returned random GIFs that didn’t represent the weather (got a dancing water drop for London), so I picked one fixed GIF per weather type by hand and hardcoded the URLs. What are you proud of? The temperature chart is drawn with vanilla canvas - no Chart.js, just moveTo/lineTo/arc. About 60 lines of code, exactly the result I wanted. Also the weather GIF backgrounds: instead of a static gradient or random GIFs, each weather type has a fixed GIF picked by hand, so it feels like you’re actually looking at the sky of that city. And the whole thing works as an installable PWA with offline support. What should people know so they can test your project? Open the demo URL and type a city name (Madrid, London, Tokyo, New York). You’ll see the current weather with a matching GIF background, plus a 5-day forecast with a temperature chart below. Click the star next to the city name to add it to favorites — they show up as chips and persist across reloads. Click “My location” to get weather for your actual coordinates (browser will ask for permission). On Chrome you can install the app from the address bar icon, after that it opens in its own window and works offline. Live demo: https://notjuangamer10.github.io/weather-app/ Source: https://github.com/notjuangamer10/weather-app
What did you make? A weather app that lets you search the current weather of any city and get a 5-day forecast. Each search shows temperature, humidity, wind speed, feels-like, and a description, with a GIF background that matches the weather condition (sun, rain, snow, storm, etc.). Built in four betas: basic lookup, glassmorphism redesign with weather GIFs, 5-day forecast with a temperature chart drawn on canvas, and the final version with geolocation, favorites, PWA support, plus a settings panel with language (ES/EN) and units (Celsius/Fahrenheit) toggles added in response to reviewer feedback. The app is installable on desktop and mobile, works offline, and uses OpenWeatherMap + Giphy APIs. What was challenging? Two bugs almost broke me. My editor’s autocomplete kept rewriting value to ariaValueMax , which silently broke the search button in two projects. Later, when I tried to extend my mostrarClima function by saving the old one and redefining it, I caused infinite recursion because of JavaScript hoisting. Fix was to use a function expression instead. Also, the Giphy search API returned random GIFs that didn’t represent the weather (got a dancing water drop for London), so I picked one fixed GIF per weather type by hand and hardcoded the URLs. The internationalization had a sneaky bug too. The language toggle translated the main UI but left the forecast section in Spanish because that code was hardcoded from an earlier beta. Had to re-query the API with the correct lang parameter and re-translate the forecast cards, the canvas day labels, and the legend separately. What are you proud of? The temperature chart is drawn with vanilla canvas, no Chart.js, just moveTo/lineTo/arc. About 60 lines of code, exactly the result I wanted. Also the weather GIF backgrounds: each weather type has a fixed GIF picked by hand, so it feels like you’re actually looking at the sky of that city. And the whole thing works as an installable PWA with offline support, plus now supports English and Fahrenheit for international users. What should people know so they can test your project? Open the demo URL and type a city name (Madrid, London, Tokyo, New York). You’ll see the current weather with a matching GIF background, plus a 5-day forecast with a temperature chart below. Click the gear icon in the top right to open settings and switch between Spanish / English and Celsius / Fahrenheit. Click the star next to the city name to add it to favorites. Click “My location” to get weather for your actual coordinates. On Chrome you can install the app from the address bar icon. Live demo: https://notjuangamer10.github.io/weather-app/ Source: https://github.com/notjuangamer10/weather-app...
|
1792878681.3015943
|
1793742681.3015943
|
|
33104
|
Ray Tracer by @Karlito | Stardance
|
Karlito
|
1
|
20.0
|
250
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T16:26:05Z", "hours": 20.0, "multiplier": 13.44, "payout": 250, "blessing": "neutral", "text": "Hello Hello Hello. I have made a Ray Tracer. I have mainly followed the Ray Tracing in a Weekend book. I have finished it and than added a few features on my own such as multithreading or triangles. Please have a look at the readme for more information!", "repo": "https://github.com/Karlito05/Ray-Tracer", "demo": "https://github.com/Karlito05/Ray-Tracer/releases/tag/latest"}]...
|
[{"post_id": 44068, "ts": "202 [{"post_id": 44068, "ts": "2026-08-09T16:12:06Z", "hours": 4.6331, "text": "Devlog 3 - The last one (most likely) Hello! I have added support for triangles. And when you have triangles you can render anything (in theory) in practice anything above like a 1000 triangles is not really able to render :( Sadly it’s very unoptimized… Maybe in the future. But for the time being This will have to do! Anyway, Enjoy this final blender monkey <3 Her name is Suzanne btw :)"}, {"post_id": 31489, "ts": "2026-07-19T22:07:25Z", "hours": 0.5311, "text": "Just a quick update. It turned out that I didn’t use any compiler optimizations when testing the renderer. With them the renderer is even faster. I need to do further testing on how faster, but in the meantime you can enjoy this render that took a whopping 4,500 seconds to render! Each pixel is made of 2500 samples and the ray bounce depth is set to 50."}, {"post_id": 31295, "ts": "2026-07-19T16:16:42Z", "hours": 3.415, "text": "Devlog 2 - Defocus Blur and Multithreading!! This will be quite a short one… Defocus blur So basically this works by “randomizing” the camera’s origin point. So now, when you want, it could be a small disk on which rays will originate randomly! This “defocuses” (adds a depth of field) effect to the image. Multithreading This was a very simple change. I basically just split the work (by scanlines) between multiple threads. Right now you have to hard code it into the code but I promise that I will make a UI for the RayTracer some day. Or at least a CLI. The performance gains are significant. On my CPU (Ryzen 7 9800x3d) was the render almost 5x faster. For how simple this change was, its a massive jump. I have also linted the code with clang tidy so it follows modern conventions and google’s rules. Also I’m a bit tired of all the balls already. So next I will look into model loading!"}, {"post_id": 27713, "ts": "2026-07-13T14:45:55Z", "hours": 11.3775, "text": "Devlog 1 - Hello! Hi people! I’ve been getting bored making my LMU Telemetry app, so I started experimenting with ray tracing, and its so fun. You can’t imagine how refreshing is working on a new project! The camera The first thing I have implemented was the camera. In retrospect it wasn’t even that hard, but let me tell you, it was a pain. Mainly because I had no prior experience with vector math. So I had to learn how to do dot products and cross products and then wrap my head around how the camera functions. Its pretty simple: there is a point in space which is the origin of the camera called the eye . In front of this eye is the viewport . The depth of the viewport is defined by the desired FOV. On this viewport, we need to know which way is right (to positive x in ppm coordinates) and which way is “down” (to positive y in ppm coordinates) so we create 2 vectors in these directions. Then we need to know where the actual pixels are, therefore we find where pixel 00 lives and the deltaX and deltaY to the next pixel and iterate over all those pixels and do the raytracing stuff, which is sending out rays through each pixel and checking what they hit! Defining a sphere After sorting out the camera, I have implemented the sphere! Sphere is possibly the simplest shape for ray tracing, because it has a simple formula: x^2 + y^2 + z^ = r^2 where (x,y,z) is the center of the sphere and r is the radius. Materials Next we need to give our sphere some material to know what color should the ray have and how should it reflect. I have implemented 2 materials: lambertian, metal, and dielectric. Lambertian is basically a diffuse material. The rays scatter in almost random directions and therefore no reflections can be seen. Metal is basically a mirror, and dielectric is glass. Antialiasing I antialias the renders by basically torturing the computer! Instead of sending one ray in the dead center of the pixel, I send multiple rays with small random offsets and average them out. And that’s basically it! I might have forgotten something but that’s probably fine. I have followed the RayTracing in a weekend book and will continue with the next of the triology."}]...
|
Title: Ray Tracer by @Karlito | Stardance
Devlogs Title: Ray Tracer by @Karlito | Stardance
Devlogs:
Devlog 1 - Hello! Hi people! I’ve been getting bored making my LMU Telemetry app, so I started experimenting with ray tracing, and its so fun. You can’t imagine how refreshing is working on a new project! The camera The first thing I have implemented was the camera. In retrospect it wasn’t even that hard, but let me tell you, it was a pain. Mainly because I had no prior experience with vector math. So I had to learn how to do dot products and cross products and then wrap my head around how the camera functions. Its pretty simple: there is a point in space which is the origin of the camera called the eye . In front of this eye is the viewport . The depth of the viewport is defined by the desired FOV. On this viewport, we need to know which way is right (to positive x in ppm coordinates) and which way is “down” (to positive y in ppm coordinates) so we create 2 vectors in these directions. Then we need to know where the actual pixels are, therefore we find where pixel 00 lives and the deltaX and deltaY to the next pixel and iterate over all those pixels and do the raytracing stuff, which is sending out rays through each pixel and checking what they hit! Defining a sphere After sorting out the camera, I have implemented the sphere! Sphere is possibly the simplest shape for ray tracing, because it has a simple formula: x^2 + y^2 + z^ = r^2 where (x,y,z) is the center of the sphere and r is the radius. Materials Next we need to give our sphere some material to know what color should the ray have and how should it reflect. I have implemented 2 materials: lambertian, metal, and dielectric. Lambertian is basically a diffuse material. The rays scatter in almost random directions and therefore no reflections can be seen. Metal is basically a mirror, and dielectric is glass. Antialiasing I antialias the renders by basically torturing the computer! Instead of sending one ray in the dead center of the pixel, I send multiple rays with small random offsets and average them out. And that’s basically it! I might have forgotten something but that’s probably fine. I have followed the RayTracing in a weekend book and will continue with the next of the triology.
Devlog 2 - Defocus Blur and Multithreading!! This will be quite a short one… Defocus blur So basically this works by “randomizing” the camera’s origin point. So now, when you want, it could be a small disk on which rays will originate randomly! This “defocuses” (adds a depth of field) effect to the image. Multithreading This was a very simple change. I basically just split the work (by scanlines) between multiple threads. Right now you have to hard code it into the code but I promise that I will make a UI for the RayTracer some day. Or at least a CLI. The performance gains are significant. On my CPU (Ryzen 7 9800x3d) was the render almost 5x faster. For how simple this change was, its a massive jump. I have also linted the code with clang tidy so it follows modern conventions and google’s rules. Also I’m a bit tired of all the balls already. So next I will look into model loading!
Just a quick update. It turned out that I didn’t use any compiler optimizations when testing the renderer. With them the renderer is even faster. I need to do further testing on how faster, but in the meantime you can enjoy this render that took a whopping 4,500 seconds to render! Each pixel is made of 2500 samples and the ray bounce depth is set to 50.
Devlog 3 - The last one (most likely) Hello! I have added support for triangles. And when you have triangles you can render anything (in theory) in practice anything above like a 1000 triangles is not really able to render :( Sadly it’s very unoptimized… Maybe in the future. But for the time being This will have to do! Anyway, Enjoy this final blender monkey <3 Her name is Suzanne btw :)
Ships:
Hello Hello Hello. I have made a Ray Tracer. I have mainly followed the Ray Tracing in a Weekend book. I have finished it and than added a few features on my own such as multithreading or triangles. Please have a look at the readme for more information!...
|
1792979271.041577
|
1793065671.041577
|
|
35821
|
Decode Your Career Pathway by @TejalK | Stardance
|
TejalK
|
2
|
29.0
|
250
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-18T20:10:44Z", "hours": 24.0, "multiplier": 17.5, "payout": 209, "blessing": "neutral", "text": "The original version was a single big JavaScript file that handled everything - data, scoring, drawing, and clicks - on a fixed-size canvas. The upgrade splits that into clean, focused files: one for data, one for scoring, one for layout and responsive sizing, others for the quiz flow, results, sharing, comparing with friends, live job listings, and university rankings. It also adds polish like smooth transitions, progress saving, keyboard support, and a proper test harness, turning a working prototype into a much more flexible and feature-rich app.", "repo": "https://github.com/TejalK10-hash/Decode-your-Career-Pathway", "demo": "https://tubular-puppy-efbca7.netlify.app/"}, {"ship_num": 2, "ts": "2026-07-26T19:05:41Z", "hours": 5.0, "multiplier": 15.64, "payout": 41, "blessing": "neutral", "text": "I made Decode Your Career Pathway, a five-question quiz that matches users to one of 24 careers based on their subjects, interests, motivations, and personality, then shows them the degree path, specializations, and top universities for that field. The trickiest part was building the scoring system - balancing the weights so that answers across five different questions (one of them multi-select) combined fairly without any single career always floating to the top. Getting the scroll and screen-transition logic clean (quiz → results → detail view) took some trial and error too. I’m proudest of the detail screen, where each result breaks down into subjects to focus on, a degree to aim for, minors, and real universities - it feels like actual advice rather than just a random result. To test it: go through all five questions (you can go back and change answers), hit Finish to see your top 5 matches ranked by score, then click “View Details” on any card to see the full breakdown, and try scrolling the results list since it’s capped to stop right at the last card.", "repo": "https://github.com/TejalK10-hash/Decode-your-Career-Pathway", "demo": "https://tubular-puppy-efbca7.netlify.app/"}]...
|
[{"post_id": 49858, "ts": "202 [{"post_id": 49858, "ts": "2026-08-18T20:09:16Z", "hours": 1.9683, "text": "Added a step where the quiz asks which country you’re from and whether you want live job listings for your country or the existing Canadian data. If you opt in, it pulls live results for your country; if not (or if there’s nothing available), it falls back to the built-in Canadian dataset. Makes the quiz useful beyond a Canada-only audience without losing the reliable baseline for users who skip it. Also cleaned up a handful of small bugs along the way."}, {"post_id": 49356, "ts": "2026-08-18T04:13:48Z", "hours": 5.7775, "text": "TODAY’S WORK : API Integration - Indeed’s job API turned out to be sales-gated with no self-serve access, so pivoted to Adzuna (free, self-serve). Wired up live job postings per career on the detail screen, with caching and graceful loading/error states. Also added a country-selection step before the quiz so postings can be localized, plus fixed a couple of rendering bugs that came with it. Share Result - Added a “Share Result” button that generates a downloadable PNG summary card and copies a shareable link. Answers are encoded straight into the URL, so results travel with zero backend. Compare with a Friend - New stretch feature built on the share-link encoding. Paste a friend’s link, we decode and recompute their results, then show a side-by-side comparison with overlapping matches highlighted."}, {"post_id": 48567, "ts": "2026-08-17T00:36:55Z", "hours": 5.3172, "text": "Big polish day. Replaced hardcoded pixel positions with a percentage-based layout and made the canvas actually resize instead of being stuck at 1520×730. Added keyboard navigation (arrows + Enter) and in-memory progress persistence with a “resume quiz?” prompt so closing the tab doesn’t wipe everything."}, {"post_id": 47767, "ts": "2026-08-15T22:24:16Z", "hours": 5.3658, "text": "Wired yesterday’s scoring work into the detail screen - you now see a confidence badge and a line like “You matched because you value Impact + chose Science” instead of just a bare result. Also wrote day-in-the-life blurbs for all 24 careers and added a related-careers section (Software Engineer -> Data Scientist, etc.) so the quiz doesn’t dead-end at your top match."}, {"post_id": 47228, "ts": "2026-08-15T00:31:47Z", "hours": 5.4089, "text": "Split the quiz out of one giant file into data.js, quiz.js, scoring.js, render.js, with a basic test harness for calculateResults(). Then fixed the actual scoring bug: careers used to win on being consistently “meh” across every question instead of nailing a couple of perfect matches. Added a bonus for 3/3 scores on 2+ questions, confidence labels (“Strong Match” / “Worth Exploring”), and tracking for which questions drove each career’s score."}, {"post_id": 35382, "ts": "2026-07-26T19:01:56Z", "hours": 2.01, "text": "Built out the results screen (ranked cards with match score, salary, outlook) and a detail view for digging into one career fully - subjects, degree, specializations, and top universities."}, {"post_id": 34773, "ts": "2026-07-25T19:18:23Z", "hours": 1.0375, "text": "Wired up the actual quiz - question progression, single vs. multi-select handling, and a scoring function that totals weighted points per career and sorts for the top 5 matches. Also added a university lookup table mapped by field, so the results screen can suggest real schools per career."}, {"post_id": 34731, "ts": "2026-07-25T18:03:33Z", "hours": 1.1372, "text": "Before touching any UI, put together the career list - 24 careers across Medicine, Technology, Business, Engineering, Law, Education, and a few others. Each one has salary range, outlook, recommended subjects, degree, and specializations. Then built a scoring table: every career gets weighted values across all 5 quiz questions, so answers aren’t just matched to one “type” - they add up across multiple signals (subjects, interests, motivation, study length, work style)."}, {"post_id": 29275, "ts": "2026-07-16T02:50:26Z", "hours": 0.9867, "text": "Started this because I kept noticing how scattered career research actually is — subject requirements in one place, degree info in another, salary data somewhere else, university rankings somewhere else entirely. Wanted something that pulls all of that into one quick interactive tool instead of 10 open tabs. Plan: a short quiz (5 questions) that scores your answers against a list of careers, then shows your top matches with everything you’d need to know — subjects to focus on now, degree to aim for, and where to study it."}]...
|
Title: Decode Your Career Pathway by @TejalK | Sta Title: Decode Your Career Pathway by @TejalK | Stardance
Devlogs:
Started this because I kept noticing how scattered career research actually is — subject requirements in one place, degree info in another, salary data somewhere else, university rankings somewhere else entirely. Wanted something that pulls all of that into one quick interactive tool instead of 10 open tabs. Plan: a short quiz (5 questions) that scores your answers against a list of careers, then shows your top matches with everything you’d need to know — subjects to focus on now, degree to aim for, and where to study it.
Before touching any UI, put together the career list - 24 careers across Medicine, Technology, Business, Engineering, Law, Education, and a few others. Each one has salary range, outlook, recommended subjects, degree, and specializations. Then built a scoring table: every career gets weighted values across all 5 quiz questions, so answers aren’t just matched to one “type” - they add up across multiple signals (subjects, interests, motivation, study length, work style).
Wired up the actual quiz - question progression, single vs. multi-select handling, and a scoring function that totals weighted points per career and sorts for the top 5 matches. Also added a university lookup table mapped by field, so the results screen can suggest real schools per career.
Built out the results screen (ranked cards with match score, salary, outlook) and a detail view for digging into one career fully - subjects, degree, specializations, and top universities.
Split the quiz out of one giant file into data.js, quiz.js, scoring.js, render.js, with a basic test harness for calculateResults(). Then fixed the actual scoring bug: careers used to win on being consistently “meh” across every question instead of nailing a couple of perfect matches. Added a bonus for 3/3 scores on 2+ questions, confidence labels (“Strong Match” / “Worth Exploring”), and tracking for which questions drove each career’s score.
Wired yesterday’s scoring work into the detail screen - you now see a confidence badge and a line like “You matched because you value Impact + chose Science” instead of just a bare result. Also wrote day-in-the-life blurbs for all 24 careers and added a related-careers section (Software Engineer -> Data Scientist, etc.) so the quiz doesn’t dead-end at your top match.
Big polish day. Replaced hardcoded pixel positions with a percentage-based layout and made the canvas actually resize instead of being stuck at 1520×730. Added keyboard navigation (arrows + Enter) and in-memory progress persistence with a “resume quiz?” prompt so closing the tab doesn’t wipe everything.
TODAY’S WORK : API Integration - Indeed’s job API turned out to be sales-gated with no self-serve access, so pivoted to Adzuna (free, self-serve). Wired up live job postings per career on the detail screen, with caching and graceful loading/error states. Also added a country-selection step before the quiz so postings can be localized, plus fixed a couple of rendering bugs that came with it. Share Result - Added a “Share Result” button that generates a downloadable PNG summary card and copies a shareable link. Answers are encoded straight into the URL, so results travel with zero backend. Compare with a Friend - New stretch feature built on the share-link encoding. Paste a friend’s link, we decode and recompute their results, then show a side-by-side comparison with overlapping matches highlighted.
Added a step where the quiz asks which country you’re from and whether you want live job listings for your country or the existing Canadian data. If you opt in, it pulls live results for your country; if not (or if there’s nothing available), it falls back to the built-in Canadian dataset. Makes the quiz useful beyond a Canada-only audience without losing the reliable baseline for users who skip it. Also cleaned up a handful of small bugs along the way.
Ships:
I made Decode Your Career Pathway, a five-question quiz that matches users to one of 24 careers based on their subjects, interests, motivations, and personality, then shows them the degree path, specializations, and top universities for that field. The trickiest part was building the scoring system - balancing the weights so that answers across five different questions (one of them multi-select) combined fairly without any single career always floating to the top. Getting the scroll and screen-transition logic clean (quiz → results → detail view) took some trial and error too. I’m proudest of the detail screen, where each result breaks down into subjects to focus on, a degree to aim for, minors, and real universities - it feels like actual advice rather than just a random result. To test it: go through all five questions (you can go back and change answers), hit Finish to see your top 5 matches ranked by score, then click “View Details” on any card to see the full breakdown, and try scrolling the results list since it’s capped to stop right at the last card.
The original version was a single big JavaScript file that handled everything - data, scoring, drawing, and clicks - on a fixed-size canvas. The upgrade splits that into clean, focused files: one for data, one for scoring, one for layout and responsive sizing, others for the quiz flow, results, sharing, comparing with friends, live job listings, and university rankings. It also adds polish like smooth transitions, progress saving, keyboard support, and a proper test harness, turning a working prototype into a much more flexible and feature-rich app....
|
1792878668.6985564
|
1793742668.6985564
|
|
52767
|
Aviation Trivia by @nurofenracealasigripa | Starda Aviation Trivia by @nurofenracealasigripa | Stardance...
|
nurofenracealasigripa
|
1
|
16.0
|
250
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T14:01:03Z", "hours": 16.0, "multiplier": 15.86, "payout": 250, "blessing": "neutral", "text": "Aviation trivia is a cozy quiz game that has questions about aviation. I was made ebtierly in vs code with c++ and SFML. Features: -A simple user interface that can be understood by everyone -Chill music to help you relax -The game keeps track of games played, no of right and wrong answers and rate of right answers -You can chose if you want the intro or not -How to play guide -40+ questions -Chose how many questions do you want to have To have a succesfull instalation please refer to the github readme All art is made by me in piskel For feedback acces this link: https://docs.google.com/forms/d/e/1FAIpQLSd_PYRWfn150R5Bi3gj90nlJ-TgKZuzrlvwGKAd-GypAZUxvg/viewform?usp=header Here is a video of some gameplay: https://youtu.be/YEtsLT6En9I I hope you enjoy the game Note: this is only v1.0.0 so there will be future updates. If you have any ideas for something for the game please leave the in the feedback form.", "repo": "https://github.com/stoicaandrei-blip/Aviation-Trivia", "demo": "https://github.com/stoicaandrei-blip/Aviation-Trivia/releases/tag/V1.0.0"}]...
|
[{"post_id": 63530, "ts": "202 [{"post_id": 63530, "ts": "2026-09-07T13:19:48Z", "hours": 0.6086, "text": "Devlog 15: I finished the first version of the game. I added some chill music and a reset button. I will prepare the game for release now :]"}, {"post_id": 63507, "ts": "2026-09-07T12:25:22Z", "hours": 2.2594, "text": "Devlog 15: I added a feature that lets you pick how many questions you want: between 1 and 25. I also added the settings page which right now let’s you only toggle a button that makes the game skip the intro. I also dont’t think i will be able to finish the game and polish it before stardance ends. I don’t think i will do the advancements page or the SFX for the buttons. I will add them with some more questions but later. Right now i will add music, finish the Settings page, add a button to reset the stats."}, {"post_id": 61470, "ts": "2026-09-04T12:26:59Z", "hours": 1.1767, "text": "Devlog 14: I added all the commands that you can input in the terminal of the game. i wanted to use cin, but the game would freeze. I did some research and found out i needed to use multiple CPU threads. after i found out how to do that i just needed to add all commands to the game. Also, now when a file is missing the game also tells you the name of the file.Next i will probably add settings or some more questions :]"}, {"post_id": 60789, "ts": "2026-09-03T11:48:49Z", "hours": 1.0572, "text": "devlog 13: I finally finished the how to play menu. I wrote it thinking about the final game some some things that i wrote about are not yet implemented. it has 6 sections: buttons, playing, customizing, settings, achievments and commands. I dindn’t manage to add 50 questions but now we have 11 instead of 3. there was a minor bug where if you pressed an arrow to navigate the how to play section it would jump some of them. The fix was putting else if insted of just if. Next i will add a feature letting you pick how many questions you have in the quiz: between 1-25. And i will work on the terminal commands i want to add :]"}, {"post_id": 60376, "ts": "2026-09-02T17:49:15Z", "hours": 1.5639, "text": "Devlog 12: i worked a bit more on the more menu. i added a credits button that takes you to a menu where you can see where are all credits. there is also an how to play button that takes you to a menu where you can see an in dept guide about everything in the game. But due to the font spritesheet not having some things it sound kinda rudimentary. I wrote only the first section of the guide. next i will finish the guide and add 50 questions. I also made it so that every x button closes the game and there are now arrows to navigate the menus. :]"}, {"post_id": 59765, "ts": "2026-09-01T18:11:51Z", "hours": 1.1528, "text": "Devlog 11: i added a couple of things . First of all, now the x button on the right closes the game in whichever part of the game you are. i added an arrow in the left that returns to the last menu. Next i made it so that the variables for the stats page update correctly and are saved. I also started working on the more button that takes you to a menu in which you currently have 2 buttons - feedback and more games - which do exactly waht they sound like. next i will try to finish the more menu and work on reformating the score display + a reset stats button. :]"}, {"post_id": 59533, "ts": "2026-09-01T12:21:37Z", "hours": 0.6633, "text": "Devlog 10: I started working on the menus. first of all i removed the airplane from the quiz part of the game. The i added a stats menu that displays numebr of right and wrong answers, games played and the rate at which you make right choices. right now it is just a menu and it can read from a file with the stats. next i will need to make it so that the game updates the variables every time you play."}, {"post_id": 58923, "ts": "2026-08-31T14:20:51Z", "hours": 0.5006, "text": "Devlog 9: firstly there was a bug where if you pressed on the upper side of the play button the game would kinda glitch because you would also click on the bottom selection box of the quiz. i tried adding a timer but didn’t since i already knew i needed to move the question more to the middle so i just did that. Next i made it so that the background is the same as for the menu but i will probably change it evantually. Since the font is black and the background is dark, some things wouldn’s be so visible, so this is what i did: for the question i added a strip that runs across the screen and i like how it turned out and for the score i just moved it to the left where it is more visible. Next i will change the quiz’s background and i should really start working on the menu. i also need to think about other background for the other menus. Any idea is appreciated :]"}, {"post_id": 58880, "ts": "2026-08-31T13:36:54Z", "hours": 0.4594, "text": "Devlog 8: For this one i just rearanged the menu buttons from the middle to the down-left. I also spent quite some time painting the background image. Side note : something i don’t like about stardance is that for software projects it only counts the time spent coding. For this image i spent like an hour making it but only the 2 minutes spent adding it counted which drives me crazy. Whatever, next i will start working on the other menus :]"}, {"post_id": 56760, "ts": "2026-08-28T17:25:04Z", "hours": 1.0386, "text": "Devlog 7: I finished the quiz part of the game! Now the game shuffles the question order. After you give your answer the game waits 3 seconds and the procedes to the next question. First i didn’t shuffle the question order, but when i wanted to add that i forgot to clear a vector and to update a variable which led to some time spent debugging. I also made it so that the exit button becomes highlighted when you hover over it. next i will work on the art and the menus. :]"}, {"post_id": 56611, "ts": "2026-08-28T13:08:24Z", "hours": 0.9617, "text": "Devlog 6: I started working on the quiz game itself. I added 4 boxes where the answers will be. If you hover the mouse over them they become highlighted. When pressing on one of the, if the answer is correct, the box becomes green. If you press the wrong one it becomes red and the right one becomes green. There was a bug where after you already selected something you could select more boxes. Next, i will add more questions and a score counter."}, {"post_id": 55545, "ts": "2026-08-27T13:53:43Z", "hours": 0.7539, "text": "Devlog 5: I made a spritesheet for the custom font and it works. i also made the play button functional and it currently displays only the first question when you click on it. There is a problem tho: the answers never get reshuffled after each round. Also there was a problem with the font because each letter is 5x5 but M was 6x5. It took me a bit to realise. Next i will work in the quiz part !"}, {"post_id": 55502, "ts": "2026-08-27T12:03:36Z", "hours": 0.415, "text": "Before i start with the devlog, i have a problem : yestarday morning i saw that where it would normally say the time logged it said couldn’t load time. I checked hackatime and it had a problem with the server - whatever. The part that bugs me happend later when the servers came back up and i could make a devlog. I wrote it, posted it, but when i went to check it it didn’t exist. When i went back to the home page it said AGAIN that it couldn’t load time spent coding. I went to check hackatime and i saw that it logged time correctly. For the rest of the day i couldn’t make any devlog which made me lose my streak. i don’t know if this happened to anybody else, but it was annoying. Whatever, let’s start with what happened. Devlog 4: i have drawn some of the buttons neccesary and added a close one that closes the game. In my other games the exit button was rectangular, but for this one i chose to make it round since it takes less space and looks a bit better in my opinion. Next i will make a custom font spritesheet and make the quiz part of the game. :]"}, {"post_id": 55182, "ts": "2026-08-26T18:03:37Z", "hours": 0.99, "text": "Devlog 3: I started working on the intro, which is some text fading to black.I had an issue where the screen would go from white to black instantlly, but a minor tweak to the code fixed it. I also added the more button and drawn some other ones. Next, i will focus on macking the gam itself and then the menus. ;]"}, {"post_id": 53624, "ts": "2026-08-24T08:36:49Z", "hours": 0.7069, "text": "Devlog 2: First i transformed the file that handles question loading into a header file to keep things organized. Then i started adding graphics to the game but there was an issue: the screen was white when it needed to look like in the video - it turned out it was because of a function that was interfering with the screen. Now there is a temporary background and i added a button to see how it would look. Next i will add an intro and work on some art :] Also, the video shows the button changing when you hover the mouse over it"}, {"post_id": 53012, "ts": "2026-08-23T12:13:40Z", "hours": 1.4308, "text": "Devlog 1: I started working on a trivia game that has questions about aviation. It will have graphics, but right now i just finished the question adding system: Basically there is a txt file that is structured like this: total number of questions Question1|Correct answe|Wrong answer|wrong answer|wrong answer|number of points … The code reads the number of questions and then adds each thing to it’s own vector for storage. I made it so that the answers to the question would be shuffled each time. There was also a bug where the code wouldn’t read the whole question but only the first word- it turns out you have to use getline. Next i will start Working on some art for the game!"}]...
|
Title: Aviation Trivia by @nurofenracealasigripa | Title: Aviation Trivia by @nurofenracealasigripa | Stardance
Devlogs:
Devlog 1: I started working on a trivia game that has questions about aviation. It will have graphics, but right now i just finished the question adding system: Basically there is a txt file that is structured like this: total number of questions Question1|Correct answe|Wrong answer|wrong answer|wrong answer|number of points … The code reads the number of questions and then adds each thing to it’s own vector for storage. I made it so that the answers to the question would be shuffled each time. There was also a bug where the code wouldn’t read the whole question but only the first word- it turns out you have to use getline. Next i will start Working on some art for the game!
Devlog 2: First i transformed the file that handles question loading into a header file to keep things organized. Then i started adding graphics to the game but there was an issue: the screen was white when it needed to look like in the video - it turned out it was because of a function that was interfering with the screen. Now there is a temporary background and i added a button to see how it would look. Next i will add an intro and work on some art :] Also, the video shows the button changing when you hover the mouse over it
Devlog 3: I started working on the intro, which is some text fading to black.I had an issue where the screen would go from white to black instantlly, but a minor tweak to the code fixed it. I also added the more button and drawn some other ones. Next, i will focus on macking the gam itself and then the menus. ;]
Before i start with the devlog, i have a problem : yestarday morning i saw that where it would normally say the time logged it said couldn’t load time. I checked hackatime and it had a problem with the server - whatever. The part that bugs me happend later when the servers came back up and i could make a devlog. I wrote it, posted it, but when i went to check it it didn’t exist. When i went back to the home page it said AGAIN that it couldn’t load time spent coding. I went to check hackatime and i saw that it logged time correctly. For the rest of the day i couldn’t make any devlog which made me lose my streak. i don’t know if this happened to anybody else, but it was annoying. Whatever, let’s start with what happened. Devlog 4: i have drawn some of the buttons neccesary and added a close one that closes the game. In my other games the exit button was rectangular, but for this one i chose to make it round since it takes less space and looks a bit better in my opinion. Next i will make a custom font spritesheet and make the quiz part of the game. :]
Devlog 5: I made a spritesheet for the custom font and it works. i also made the play button functional and it currently displays only the first question when you click on it. There is a problem tho: the answers never get reshuffled after each round. Also there was a problem with the font because each letter is 5x5 but M was 6x5. It took me a bit to realise. Next i will work in the quiz part !
Devlog 6: I started working on the quiz game itself. I added 4 boxes where the answers will be. If you hover the mouse over them they become highlighted. When pressing on one of the, if the answer is correct, the box becomes green. If you press the wrong one it becomes red and the right one becomes green. There was a bug where after you already selected something you could select more boxes. Next, i will add more questions and a score counter.
Devlog 7: I finished the quiz part of the game! Now the game shuffles the question order. After you give your answer the game waits 3 seconds and the procedes to the next question. First i didn’t shuffle the question order, but when i wanted to add that i forgot to clear a vector and to update a variable which led to some time spent debugging. I also made it so that the exit button becomes highlighted when you hover over it. next i will work on the art and the menus. :]
Devlog 8: For this one i just rearanged the menu buttons from the middle to the down-left. I also spent quite some time painting the background image. Side note : something i don’t like about stardance is that for software projects it only counts the time spent coding. For this image i spent like an hour making it but only the 2 minutes spent adding it counted which drives me crazy. Whatever, next i will start working on the other menus :]
Devlog 9: firstly there was a bug where if you pressed on the upper side of the play button the game would kinda glitch because you would also click on the bottom selection box of the quiz. i tried adding a timer but didn’t since i already knew i needed to move the question more to the middle so i just did that. Next i made it so that the background is the same as for the menu but i will probably change it evantually. Since the font is black and the background is dark, some things wouldn’s be so visible, so this is what i did: for the question i added a strip that runs across the screen and i like how it turned out and for the score i just moved it to the left where it is more visible. Next i will change the quiz’s background and i should really start working on the menu. i also need to think about other background for the other menus. Any idea is appreciated :]
Devlog 10: I started working on the menus. first of all i removed the airplane from the quiz part of the game. The i added a stats menu that displays numebr of right and wrong answers, games played and the rate at which you make right choices. right now it is just a menu and it can read from a file with the stats. next i will need to make it so that the game updates the variables every time you play.
Devlog 11: i added a couple of things . First of all, now the x button on the right closes the game in whichever part of the game you are. i added an arrow in the left that returns to the last menu. Next i made it so that the variables for the stats page update correctly and are saved. I also started working on the more button that takes you to a menu in which you currently have 2 buttons - feedback and more games - which do exactly waht they sound like. next i will try to finish the more menu and work on reformating the score display + a reset stats button. :]
Devlog 12: i worked a bit more on the more menu. i added a credits button that takes you to a menu where you can see where are all credits. there is also an how to play button that takes you to a menu where you can see an in dept guide about everything in the game. But due to the font spritesheet not having some things it sound kinda rudimentary. I wrote only the first section of the guide. next i will finish the guide and add 50 questions. I also made it so that every x button closes the game and there are now arrows to navigate the menus. :]
devlog 13: I finally finished the how to play menu. I wrote it thinking about the final game some some things that i wrote about are not yet implemented. it has 6 sections: buttons, playing, customizing, settings, achievments and commands. I dindn’t manage to add 50 questions but now we have 11 instead of 3. there was a minor bug where if you pressed an arrow to navigate the how to play section it would jump some of them. The fix was putting else if insted of just if. Next i will add a feature letting you pick how many questions you have in the quiz: between 1-25. And i will work on the terminal commands i want to add :]
Devlog 14: I added all the commands that you can input in the terminal of the game. i wanted to use cin, but the game would freeze. I did some research and found out i needed to use multiple CPU threads. after i found out how to do that i just needed to add all commands to the game. Also, now when a file is missing the game also tells you the name of the file.Next i will probably add settings or some more questions :]
Devlog 15: I added a feature that lets you pick how many questions you want: between 1 and 25. I also added the settings page which right now let’s you only toggle a button that makes the game skip the intro. I also dont’t think i will be able to finish the game and polish it before stardance ends. I don’t think i will do the advancements page or the SFX for the buttons. I will add them with some more questions but later. Right now i will add music, finish the Settings page, add a button to reset the stats.
Devlog 15: I finished the first version of the game. I added some chill music and a reset button. I will prepare the game for release now :]
Ships:
Aviation trivia is a cozy quiz game that has questions about aviation. I was made ebtierly in vs code with c++ and SFML. Features: -A simple user interface that can be understood by everyone -Chill music to help you relax -The game keeps track of games played, no of right and wrong answers and rate of right answers -You can chose if you want the intro or not -How to play guide -40+ questions -Chose how many questions do you want to have To have a succesfull instalation please refer to the github readme All art is made by me in piskel For feedback acces this link: https://docs.google.com/forms/d/e/1FAIpQLSd_PYRWfn150R5Bi3gj90nlJ-TgKZuzrlvwGKAd-GypAZUxvg/viewform?usp=header Here is a video of some gameplay: https://youtu.be/YEtsLT6En9I I hope you enjoy the game Note: this is only v1.0.0 so there will be future updates. If you have any ideas for something for the game please leave the in the feedback form....
|
1792878607.1965184
|
1793742607.1965184
|
|
5447
|
gos by @Lxsh-S | Stardance
|
Lxsh-S
|
2
|
19.0
|
249
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T10:01:49Z", "hours": 13.0, "multiplier": 16.41, "payout": 207, "blessing": "neutral", "text": "SHIP 2 This maybe long but read it please :) I’ve improved gos by reading the reviews on the first ship and some little things that I’ve added my self New features I have made gos to make a .gos folder in the home directory of the user where he/she/they can store their custom templates using gosadd in the folder usr_Templates I have added the gosadd command that uses -a flag with the folder name that you want to turn as a template. It simply stores the whole content of the folder and saves them under .gos/usr_Templates is the home directory I have a added the gosget command that uses two flags: -p as the project name and the -e , where you give the template name that was stored in usr_Templates . It fetches the template from that folder and pastes it in the current directory with the name that you have entered i n -p I have added a --list flag that shows all premade project structures I have added gosdir that is a mkdir like command for making new directories. it user -m flag and the folder name of the new folder READ THE README.md under “After Installation” section to find a way to make this commands shorter and more easy and faster to type , you’ll have to change things in .bashrc Support Gos works just fine on mac and linux and also wsl on windows but on windows you may lack the alias feature to make the commands shorter Things you need to know!! A lil knowledge about Linux and configuration script for shells like .bashrc will help you if you dont know about it. It’ll be fine for other users(– ppl who say ‘i use arch btw’) If your not able to figure out things or it dosen’t workout for you because it feels a little complicated then you can skip the project or use AI to help you with initialization Things I found challenging I’ve always felt challenging to make this simple project also simple to use for other users thats the reason we are using alias for now as it helps shorten the command( Very helpful is you downloaded the package form the AUR) What im proud of I’m proud of the thing that i didn’t quit while making this project or burnout because the largest part of my day goes to my intermidiate clg ( 11hrs and 30 mins , also adding the traveling time) because my parents thing a school that works for more time will teach me more things lol I wanna work on big projects that are complex and fun but im not able to most of the times How I wanna improve I wanna improve my understanding about code and problem solving skills so that I’ll be able to work on those big and complex projects THANKS FOR READING, LOVE Y”ALL = )", "repo": "https://github.com/lxsh-S/gos", "demo": "https://github.com/lxsh-S/gos/releases/"}, {"ship_num": 2, "ts": "2026-07-12T21:04:20Z", "hours": 6.0, "multiplier": 7.56, "payout": 42, "blessing": "neutral", "text": "Intro This is “gos” a CLi tool that helps you strucutre your projects. This is still in it’s bare bones phase but feels a lil complete for a small hobby project Challenging part The parts I have found challenging are to understand where and how to handle errors. I’ve still not fixed some of them. Not sure To use and try this project you must have installed go on your system And as i work with linux i dont think this will be able to be used in windows pc’s. Dont know about wsl tho. Installation Note :- Need go to be installed go install github.com/lxsh-S/gos@latest", "repo": "https://github.com/lxsh-S/gos", "demo": "https://github.com/lxsh-S/gos/releases/"}]...
|
[{"post_id": 38329, "ts": "202 [{"post_id": 38329, "ts": "2026-07-31T17:34:00Z", "hours": 2.1214, "text": "GOS DEVLOG 13 On the last devlog I had gos making .gos folder in the homedirectory of the user where it stores custom templates made by the user What I have got new I have added two new features: gosadd gosget -[ gosadd ] We use the this command to add any folder as a template that we can later use with a different command We have got a -a flag to add to folder. Although we wont be using this flags because I have got a way to make it easier and faster to type in the terminal and have given the solution in README.md in [After installation] -[ goget ] We use this command to fetch the copied folder from .gos/usr_Templates to the current directory we are on “gosget” uses two flags: – -p –> We use this to give in the new name of the template folder that will be saved in the current directory – -e –> We use this to get the correct template that we have stored Both -p and -e default values are an empty string so passing a value in necessary for it to work"}, {"post_id": 36142, "ts": "2026-07-28T01:27:23Z", "hours": 0.7653, "text": "GOS DEVLOG 12 I’ve made it so that when you run the newest version 0.9.1 which I havent released yet. It automatically creates a .gos folder in the user’s home directory and it’ll be the place where is store custom templates made by the user I still dont know I’ve to figure out how do we walk through the current directory and store in the usr_Templates and somehow copy paste it when the user requests that specific template Other I still haven’t worked on the project properly due to my school. I currently have 9 hrs to figure out how we are going to move forward = )"}, {"post_id": 35787, "ts": "2026-07-27T13:15:45Z", "hours": 0.5697, "text": "GOS DEVLOG 11 I’ve read the reviews by you guys and have found out that: Gos needs to have a way so that the user is able add their own templates Few ppl also said that initializing a git repo when making a project will be very helpful One review was about some bugs that he face in the tool I dont know what he had faced because the version that I had shipped was 0.6.5 and I’m currently working on 0.9.0 . If anyone did face them too can you please tell me? One guy asked me why did I name Gos as gos so for you: The name Gos can be broken down like this : D Gos \"Go\" --> The language 'Golang' \"s\" --> from 'Structure' The first name that I had thought for was Gostruc . But it felt too big to type in the terminal when compared to mkdir and tree I’m also thinking about adding a tree like command in this project. Can you guys tell if I should do that ? I really appretiate your reviews guys and I’ll be working on improving this project. Hoping that it stays a little relevant :( – Bye"}, {"post_id": 33962, "ts": "2026-07-24T10:09:42Z", "hours": 1.3428, "text": "GOS DEVLOG 10 I’ve added mkdir thingy to the project but it feels so useless lol = ) Idk where Im gonna take this project now lets see – byeee"}, {"post_id": 31758, "ts": "2026-07-20T12:22:46Z", "hours": 1.0733, "text": "GOS DEVLOG 9 Updates I’ve added files support for Typescript Now all three languages have proper boiler plates for their different Project types In the latest version of Gos 0.8.5 What I want to change As I’m not a pro 10x developer or something most of my code is repeated and I don’t know why but it doesn’t feel that right to me. So I’ll be thinking of a different approach for sometime Things I wanna add I’m thinking about gos should also initialize a Git repository when a user creates a project I’m also thinking about adding JavaScript and C support to Gos I wanna make adding new languages to the project a little easier if i don’t get too lazy to do that I also wanna integrate default unix command like mkdir , tree to Gos. So that it feels more functional and less useless – byee :)"}, {"post_id": 31637, "ts": "2026-07-20T06:15:41Z", "hours": 3.2819, "text": "GOS DEVLOG 8 Updates I’ve added files to the project structure in Golang and Cpp I’ve done it using Templates in templates/ dir I’ve embeded the files into the binary using embed in Go I’ve fixed the AUR problems and now it works perfectly Now there is a proper boilerplate for each project type in both the languages now Next Plan I’ll be adding files to Typescript project strucutres next How to Update Gos To update gos: - yay -S gos-bin Then when it asks Packages to Clean Build select All by typing A and Install it It’ll be updated to the latest version ###Other things Lol, when i used embed now it decreased the binary size from 2.24 mb to 1.09 mb I’ve also added v0.6.5.md for the voters of Ship#1 although I have asked a reviewer if I can scrap that Ship and just make a new ship from the new versions of Gos. Les see what happens –Bye"}, {"post_id": 30884, "ts": "2026-07-18T21:05:51Z", "hours": 1.2344, "text": "GOS DEVLOG 7 Features I have finnay got the CD workflow working with the help of some research the old google way but as it was taking too much time I again tried using claude and it helped me do the work very quick! I also added a --list flag to see the project structure types for all the languages supported buy gofie. Issues I faced One of the dumbest issues were that I was not updating .SRCINFO with the new PKGBUILD . Got that running easily And other issue also happened with the url of my project as I had changed the name from [Gostruc] to [Gos] before linking it here the remote was set to the old url till now which was causing some error 128 with github actions What I have learnt I have learnt to work with github actions and goreleaser to automate the deployment of my little project Gos . Although I still get confused seeing the automation process becuase im not very well into it : Note Although Gos is available on the AUR (Arch User Repository) but I’ll never most likely recommend people using that way to install in on their systems cuz it will most of the times download the old version of gos ( Ofc it dosent happen all the time but ig there is a delay in my CD workflow) I recommend using Go to download it (Atleast for now, i’m working for AUR :)) – byee"}, {"post_id": 30192, "ts": "2026-07-17T15:49:56Z", "hours": 1.315, "text": "GOS DEVLOG #6 (Lol im sorry im not good at devlogs :)) Yesterday I finnaly uploaded my package to the AUR (Arch User Repository) You can download it by running:- yay -S gos-bin I’m now going to work on a CD for the project because man this deployment is very tiring (Im new and a noob) :)"}, {"post_id": 29026, "ts": "2026-07-15T17:53:32Z", "hours": 1.145, "text": "GOS DEVLOG-5 I’ve added CI with a lil help from google and Claude CD will be pretty useful when I push to a package manager I’ve also wrote a proper quickstart and file and also added file strucutre to README.md"}, {"post_id": 27354, "ts": "2026-07-12T20:56:28Z", "hours": 0.3706, "text": "Gos I have worked on fixing some bugs but had managed to make it even worse so had to scrap that idea and jsut post a demo TL;DR of [gos] as of today A simple CLI project that can be used for project structuring It supports project strucutres for 3 languages as of now: Typescript Golang C++ byee :)"}, {"post_id": 25871, "ts": "2026-07-10T11:01:44Z", "hours": 0.7628, "text": "Finnaly!! Fixed that annoying issue of projects with wrong types but still having standard strucutre Nothing much –byee :) Ohh wait How I fixed it The issue was because i used switch cases butt never returned any error from the project blueprint After returningg an error and normally handling it in create folder As this type of errors can also occur in language flag too I have fixed it by making the default switch as an error"}, {"post_id": 24605, "ts": "2026-07-08T10:05:03Z", "hours": 2.5669, "text": "Gos I have been working on this project for 4 days today But because this is a simple project I have not experienced much new things (I don’t have enough time to build large projects because of my school and exams; If I do I think I’m gonna burnout :)) Updates I have added support for different languages (cpp, go, typescript) Also, added project structure types in each language: Go -> API, Web and Standard project types TypeScript -> API, NextJS, Library and Standard project types Cpp -> App/Game, Library and Standard project types This project till now has helped me: Learn how ‘go install’ works as I faced problems with how it’s cache works Learn the use of tags in github Signing out…. – lxsh-S"}, {"post_id": 22795, "ts": "2026-07-05T11:39:38Z", "hours": 1.9053, "text": "Mann I lovee building CLI’s!! Maybe because i’m too lazy to go into web dev or smtg Anyways, This is gos whose function is build a project structure with one command. Currently it only builds a proper folder structure for Go projects. I’m looking forward to add other type too There’s not much to say because it’s a simple and easy project but i’m building this because i’ll be using it too Man..it’s getting harder for me to manage my 11th, gym and coding. Hope I don’t have another burnout"}]...
|
Title: gos by @Lxsh-S | Stardance
Devlogs:
Mann I Title: gos by @Lxsh-S | Stardance
Devlogs:
Mann I lovee building CLI’s!! Maybe because i’m too lazy to go into web dev or smtg Anyways, This is gos whose function is build a project structure with one command. Currently it only builds a proper folder structure for Go projects. I’m looking forward to add other type too There’s not much to say because it’s a simple and easy project but i’m building this because i’ll be using it too Man..it’s getting harder for me to manage my 11th, gym and coding. Hope I don’t have another burnout
Gos I have been working on this project for 4 days today But because this is a simple project I have not experienced much new things (I don’t have enough time to build large projects because of my school and exams; If I do I think I’m gonna burnout :)) Updates I have added support for different languages (cpp, go, typescript) Also, added project structure types in each language: Go -> API, Web and Standard project types TypeScript -> API, NextJS, Library and Standard project types Cpp -> App/Game, Library and Standard project types This project till now has helped me: Learn how ‘go install’ works as I faced problems with how it’s cache works Learn the use of tags in github Signing out…. – lxsh-S
Finnaly!! Fixed that annoying issue of projects with wrong types but still having standard strucutre Nothing much –byee :) Ohh wait How I fixed it The issue was because i used switch cases butt never returned any error from the project blueprint After returningg an error and normally handling it in create folder As this type of errors can also occur in language flag too I have fixed it by making the default switch as an error
Gos I have worked on fixing some bugs but had managed to make it even worse so had to scrap that idea and jsut post a demo TL;DR of [gos] as of today A simple CLI project that can be used for project structuring It supports project strucutres for 3 languages as of now: Typescript Golang C++ byee :)
GOS DEVLOG-5 I’ve added CI with a lil help from google and Claude CD will be pretty useful when I push to a package manager I’ve also wrote a proper quickstart and file and also added file strucutre to README.md
GOS DEVLOG #6 (Lol im sorry im not good at devlogs :)) Yesterday I finnaly uploaded my package to the AUR (Arch User Repository) You can download it by running:- yay -S gos-bin I’m now going to work on a CD for the project because man this deployment is very tiring (Im new and a noob) :)
GOS DEVLOG 7 Features I have finnay got the CD workflow working with the help of some research the old google way but as it was taking too much time I again tried using claude and it helped me do the work very quick! I also added a --list flag to see the project structure types for all the languages supported buy gofie. Issues I faced One of the dumbest issues were that I was not updating .SRCINFO with the new PKGBUILD . Got that running easily And other issue also happened with the url of my project as I had changed the name from [Gostruc] to [Gos] before linking it here the remote was set to the old url till now which was causing some error 128 with github actions What I have learnt I have learnt to work with github actions and goreleaser to automate the deployment of my little project Gos . Although I still get confused seeing the automation process becuase im not very well into it : Note Although Gos is available on the AUR (Arch User Repository) but I’ll never most likely recommend people using that way to install in on their systems cuz it will most of the times download the old version of gos ( Ofc it dosent happen all the time but ig there is a delay in my CD workflow) I recommend using Go to download it (Atleast for now, i’m working for AUR :)) – byee
GOS DEVLOG 8 Updates I’ve added files to the project structure in Golang and Cpp I’ve done it using Templates in templates/ dir I’ve embeded the files into the binary using embed in Go I’ve fixed the AUR problems and now it works perfectly Now there is a proper boilerplate for each project type in both the languages now Next Plan I’ll be adding files to Typescript project strucutres next How to Update Gos To update gos: - yay -S gos-bin Then when it asks Packages to Clean Build select All by typing A and Install it It’ll be updated to the latest version ###Other things Lol, when i used embed now it decreased the binary size from 2.24 mb to 1.09 mb I’ve also added v0.6.5.md for the voters of Ship#1 although I have asked a reviewer if I can scrap that Ship and just make a new ship from the new versions of Gos. Les see what happens –Bye
GOS DEVLOG 9 Updates I’ve added files support for Typescript Now all three languages have proper boiler plates for their different Project types In the latest version of Gos 0.8.5 What I want to change As I’m not a pro 10x developer or something most of my code is repeated and I don’t know why but it doesn’t feel that right to me. So I’ll be thinking of a different approach for sometime Things I wanna add I’m thinking about gos should also initialize a Git repository when a user creates a project I’m also thinking about adding JavaScript and C support to Gos I wanna make adding new languages to the project a little easier if i don’t get too lazy to do that I also wanna integrate default unix command like mkdir , tree to Gos. So that it feels more functional and less useless – byee :)
GOS DEVLOG 10 I’ve added mkdir thingy to the project but it feels so useless lol = ) Idk where Im gonna take this project now lets see – byeee
GOS DEVLOG 11 I’ve read the reviews by you guys and have found out that: Gos needs to have a way so that the user is able add their own templates Few ppl also said that initializing a git repo when making a project will be very helpful One review was about some bugs that he face in the tool I dont know what he had faced because the version that I had shipped was 0.6.5 and I’m currently working on 0.9.0 . If anyone did face them too can you please tell me? One guy asked me why did I name Gos as gos so for you: The name Gos can be broken down like this : D Gos "Go" --> The language 'Golang' "s" --> from 'Structure' The first name that I had thought for was Gostruc . But it felt too big to type in the terminal when compared to mkdir and tree I’m also thinking about adding a tree like command in this project. Can you guys tell if I should do that ? I really appretiate your reviews guys and I’ll be working on improving this project. Hoping that it stays a little relevant :( – Bye
GOS DEVLOG 12 I’ve made it so that when you run the newest version 0.9.1 which I havent released yet. It automatically creates a .gos folder in the user’s home directory and it’ll be the place where is store custom templates made by the user I still dont know I’ve to figure out how do we walk through the current directory and store in the usr_Templates and somehow copy paste it when the user requests that specific template Other I still haven’t worked on the project properly due to my school. I currently have 9 hrs to figure out how we are going to move forward = )
GOS DEVLOG 13 On the last devlog I had gos making .gos folder in the homedirectory of the user where it stores custom templates made by the user What I have got new I have added two new features: gosadd gosget -[ gosadd ] We use the this command to add any folder as a template that we can later use with a different command We have got a -a flag to add to folder. Although we wont be using this flags because I have got a way to make it easier and faster to type in the terminal and have given the solution in README.md in [After installation] -[ goget ] We use this command to fetch the copied folder from .gos/usr_Templates to the current directory we are on “gosget” uses two flags: – -p –> We use this to give in the new name of the template folder that will be saved in the current directory – -e –> We use this to get the correct template that we have stored Both -p and -e default values are an empty string so passing a value in necessary for it to work
Ships:
Intro This is “gos” a CLi tool that helps you strucutre your projects. This is still in it’s bare bones phase but feels a lil complete for a small hobby project Challenging part The parts I have found challenging are to understand where and how to handle errors. I’ve still not fixed some of them. Not sure To use and try this project you must have installed go on your system And as i work with linux i dont think this will be able to be used in windows pc’s. Dont know about wsl tho. Installation Note :- Need go to be installed go install github.com/lxsh-S/gos@latest
SHIP 2 This maybe long but read it please :) I’ve improved gos by reading the reviews on the first ship and some little things that I’ve added my self New features I have made gos to make a .gos folder in the home directory of the user where he/she/they can store their custom templates using gosadd in the folder usr_Templates I have added the gosadd command that uses -a flag with the folder name that you want to turn as a template. It simply stores the whole content of the folder and saves them under .gos/usr_Templates is the home directory I have a added the gosget command that uses two flags: -p as the project name and the -e , where you give the template name that was stored in usr_Templates . It fetches the template from that folder and pastes it in the current directory with the name that you have entered i n -p I have added a --list flag that shows all premade project structures I have added gosdir that is a mkdir like command for making new directories. it user -m flag and the folder name of the new folder READ THE README.md under “After Installation” section to find a way to make this commands shorter and more easy and faster to type , you’ll have to change things in .bashrc Support Gos works just fine on mac and linux and also wsl on windows but on windows you may lack the alias feature to make the commands shorter Things you need to know!! A lil knowledge about Linux and configuration script for shells like .bashrc will help you if you dont know about it. It’ll be fine for other users(– ppl who say ‘i use arch btw’) If your not able to figure out things or it dosen’t workout for you because it feels a little complicated then you can skip the project or use AI to help you with initialization Things I found challenging I’ve always felt challenging to make this simple project also simple to use for other users thats the reason we are using alias for now as it helps shorten the command( Very helpful is you downloaded the package form the AUR) What im proud of I’m proud of the thing that i didn’t quit while making this project or burnout because the largest part of my day goes to my intermidiate clg ( 11hrs and 30 mins , also adding the traveling time) because my parents thing a school that works for more time will teach me more things lol I wanna work on big projects that are complex and fun but im not able to most of the times How I wanna improve I wanna improve my understanding about code and problem solving skills so that I’ll be able to work on those big and complex projects THANKS FOR READING, LOVE Y”ALL = )...
|
1792968772.045888
|
1793055172.045888
|
|
19605
|
Snail by @baker | Stardance
|
baker
|
1
|
17.0
|
249
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T12:40:37Z", "hours": 17.0, "multiplier": 14.34, "payout": 249, "blessing": "neutral", "text": "Made it into an app SnailChase.dmg", "repo": "https://github.com/Hamdan772/Snail-Game", "demo": "https://github.com/Hamdan772/Snail-Game/releases/tag/v3.1.0"}]...
|
[{"post_id": 14366, "ts": "202 [{"post_id": 14366, "ts": "2026-06-23T14:02:51Z", "hours": 3.0, "text": "done with everything. made leaderboard work. redid the dashboard (minor changes) improved snail follow logic and made the game downloadable. also did this"}, {"post_id": 14170, "ts": "2026-06-23T04:58:38Z", "hours": 1.0, "text": "WooHOo basically done with the follow logic. making the ranked leaderboard. old screenshots I know"}, {"post_id": 14131, "ts": "2026-06-23T03:33:04Z", "hours": 5.0, "text": "Connected the whole dashboard together. Added follow logic and timer."}, {"post_id": 13580, "ts": "2026-06-22T07:27:14Z", "hours": 2.0, "text": "added a menu to choose the snail skin and also made the dashboard"}, {"post_id": 13525, "ts": "2026-06-22T04:20:09Z", "hours": 1.0, "text": "Got two snails and added it to the app. started working on follow logic. I like these snails 🐌"}, {"post_id": 13183, "ts": "2026-06-21T16:04:32Z", "hours": 1.0, "text": "WOHOHO. added features and another snail. features include (and not limited to) a startup menu and another snail. my for app made in swift also."}, {"post_id": 12513, "ts": "2026-06-20T13:12:01Z", "hours": 1.0, "text": "Found assets and started working on code. 🐌"}]...
|
Title: Snail by @baker | Stardance
Devlogs:
Found Title: Snail by @baker | Stardance
Devlogs:
Found assets and started working on code. 🐌
WOHOHO. added features and another snail. features include (and not limited to) a startup menu and another snail. my for app made in swift also.
Got two snails and added it to the app. started working on follow logic. I like these snails 🐌
added a menu to choose the snail skin and also made the dashboard
Connected the whole dashboard together. Added follow logic and timer.
WooHOo basically done with the follow logic. making the ranked leaderboard. old screenshots I know
done with everything. made leaderboard work. redid the dashboard (minor changes) improved snail follow logic and made the game downloadable. also did this
Ships:
Made it into an app SnailChase.dmg...
|
1792878750.8648767
|
1793742750.8648767
|
|
23049
|
My Personal Website by @michellee | Stardance
|
michellee
|
1
|
23.0
|
249
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T02:58:17Z", "hours": 23.0, "multiplier": 10.76, "payout": 249, "blessing": "neutral", "text": "This is my portfolio website! It is something basic, but at least you can get to know me. It’s my first project, and I learned a lot throughout the time, and I will learn more", "repo": "https://github.com/michelleebe/portfolio", "demo": "https://michelleebe.github.io/portfolio/index.html"}]...
|
[{"post_id": 18901, "ts": "202 [{"post_id": 18901, "ts": "2026-06-30T02:55:56Z", "hours": 2.8878, "text": "Im finally finished, it is shorter than what it was initially meant to be, but I am fine with it. I removed the skills page. I didn’t really think I needed it, and decided to add some photos on the about me page because it looked empty, and maybe people would feel more connected in a sense. For my first project, I think it’s not too bad???"}, {"post_id": 16048, "ts": "2026-06-26T02:24:54Z", "hours": 6.5203, "text": "I didn’t finish my projects page or my about me page fully. There are some things that I would still like to add, but I think you guys might understand the theme a little more now because im from New York and yk like the train theme and everything. But yeah, Im one page away from being done with my first projectt!!!"}, {"post_id": 14789, "ts": "2026-06-24T01:00:28Z", "hours": 4.9992, "text": "I completely changed the concept of my home page, and I like it much better now!! I had a certain concept in mind, but it can be up for interpretation, honestly."}, {"post_id": 14003, "ts": "2026-06-22T23:45:08Z", "hours": 8.7817, "text": "This is my very first experience with coding, and after A LOT of trial and error im somewhat satisfied with the home page of my portfolio website. Im just getting the hang of it but I will probably change this whole thing to fit my vibe a little better."}]...
|
Title: My Personal Website by @michellee | Stardan Title: My Personal Website by @michellee | Stardance
Devlogs:
This is my very first experience with coding, and after A LOT of trial and error im somewhat satisfied with the home page of my portfolio website. Im just getting the hang of it but I will probably change this whole thing to fit my vibe a little better.
I completely changed the concept of my home page, and I like it much better now!! I had a certain concept in mind, but it can be up for interpretation, honestly.
I didn’t finish my projects page or my about me page fully. There are some things that I would still like to add, but I think you guys might understand the theme a little more now because im from New York and yk like the train theme and everything. But yeah, Im one page away from being done with my first projectt!!!
Im finally finished, it is shorter than what it was initially meant to be, but I am fine with it. I removed the skills page. I didn’t really think I needed it, and decided to add some photos on the about me page because it looked empty, and maybe people would feel more connected in a sense. For my first project, I think it’s not too bad???
Ships:
This is my portfolio website! It is something basic, but at least you can get to know me. It’s my first project, and I learned a lot throughout the time, and I will learn more...
|
1792975778.074406
|
1793062178.074406
|
|
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...
|
1793000998.3099036
|
1793087398.3099036
|
|
18206
|
Lume Tufte by @ethmarks | Stardance
|
ethmarks
|
1
|
15.0
|
246
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T01:30:57Z", "hours": 15.0, "multiplier": 16.18, "payout": 246, "blessing": "neutral", "text": "This is a theme for the Lume static site generator based on Tufte CSS . To try the Tufte theme, visit the demo page: https://ethmarks.github.io/lume_tufte/ . I submitted this PR to the official Lume theme registry to add the Tufte theme, which was accepted. It has its own page on the official Lume site: https://lume.land/theme/tufte/ I used several optimization tricks, such as statically analyzing the content of each page at build time to infer which font files to preload, to maximize performance, accessibility, best practices, and SEO. Because of this, the theme earns perfect 100s on Google Lighthouse , which the official Lighthouse documentation describes as “extremely challenging to achieve and not expected” . I wrote 5000+ words of documentation across the README and demo articles. I wrote Lume CMS config for every aspect of the theme to allow for no-code content management.", "repo": "https://github.com/ethmarks/lume_tufte", "demo": "https://ethmarks.github.io/lume_tufte/"}]...
|
[{"post_id": 10827, "ts": "202 [{"post_id": 10827, "ts": "2026-06-17T19:27:41Z", "hours": 3.2611, "text": "1.0.0 Unless I think of more stuff to add, this is probably my last devlog before shipping. Lume Theme Registry A few hours ago, the PR that I created last devlog was merged into the official Lume theme registry, so you can now install my theme with a single command using Lume init, and it now has its own dedicated page on the official Lume website: https://lume.land/theme/tufte/ . README I added a How it Works section that explains how the Lume theme architecture works behind-the-scenes (spoiler: it’s just remote files) and explains what each of the 18 included plugins do. I updated the quickstart to use the Lume init command. I added a Showcase section that lists the sites that use this theme. It seemed kind of weird to exclusively list the Tufte theme site itself, so I also switched one of my documentation sites to use the Tufte theme. I added a shields.io badge to the top of the README that links to the theme’s page on the Lume website. shields.io relies on simple-icons for its logos, but simple-icons doesn’t have the Lume logo for some reason, so had to Base64-encode an SVG of the Lume logo in order to get the badge to work. Next steps I’m not going to ship this project juuuuust yet in case I think of any missing features that I ought to add, but I probably will soon."}, {"post_id": 10144, "ts": "2026-06-16T19:07:43Z", "hours": 0.5644, "text": "Theme Registry PR I just created a PR to add my theme to the official theme registry for Lume: https://github.com/lumeland/themes/pull/10 . Why If my theme isn’t in the official registry, the best way for users install it is to clone my entire repo, which is silly, bad for separation of concerns, and just generally worse for UX. git clone https://github.com/ethmarks/lume_tufte.git cd lume_tufte deno task serve But if I get my theme into the theme registry, users can install it using the official Lume init command, which is much better in every way: deno run -A https://lume.land/init.ts --theme = tufte Conclusion From my interactions with him in the past, the Lume maintainer (Oscar) seems like an extremely nice dude who seems to respond fairly quickly, so I shouldn’t have to wait too long before he either accepts my PR or suggests changes that I can go implement. Meanwhile, I’ll probably continue working on the README."}, {"post_id": 9742, "ts": "2026-06-16T05:10:31Z", "hours": 6.5114, "text": "README, optimizations, and more Since my last devlog: I wrote the README. I optimized the theme until it earned perfect 100s in every category on Lighthouse on every page. I added a light mode. I added support for tables of contents. I added RSS feed generation. I rewrote one of the demo blog posts. I added styles for HTML tables Link to the diff between last devlog and this one Optimization Most of the work I did today is pretty self-explanatory from my little summary, but the optimization work probably merits elaboration. So while I was writing the README, I had the idea to include the Lighthouse scores. When I checked, they were 100/100/100/92 on mobile and 92/100/100/92 on desktop. “100s on Lighthouse in some fields” doesn’t sound nearly as nice as “100s on Lighthouse in every field”, so I decided to start optimizing. Lighthouse told me that the SEO problem was a lack of descriptions, and the desktop performance problem was excessive network requests and chained network requests. SEO problem I fixed the lack of descriptions by adding descriptions. Simple as that. I wrote descriptions for all of the existing pages, added a description field to the CMS config, and added a mention of it in the usage guide. The network requests and chained requests were a bit trickier to solve. Performance problems The cause of the excessive network requests was that, even though the homepage didn’t use the KaTeX or Nueglow styles, they were still being imported. I solved that with a per-page check that runs at build time. Each page only imports the Nueglow stylesheet if it contains code blocks, and it only imports the KaTeX stylesheet if the page contains math blocks. Here’s a link to the relevant section of code . I think that it’s a pretty clever solution because it selectively removes the unnecessary CSS requests without using client-side JS or anything like that. I used a similar approach to solve the chained requests. What was happening is that in order to download the woff2 files, the browser first had to download the CSS files, so it took twice as long because they couldn’t be downloaded in parallel. Font preloads are the way to solve this. The only problem is that if I preload too many font files, the browser will have download font files even if they aren’t used on the page. But if I preload too few, then the network requests are still chained. My solution was to have it check which font files each page needs and selectively preload only those font files. Here’s the relevant code if you want to see my implementation. Again, this solves the problem of unnecessary requests and chained requests without adding any client-side JS. I’m glad that Lume and Vento are such powerful tools that I can easily do programmatic optimizations like this. Next Steps I think that the next thing I should do is submit my theme to the official Lume theme repo. That way I can simplify the installation process down to one command."}, {"post_id": 8924, "ts": "2026-06-14T20:55:26Z", "hours": 5.1553, "text": "Hi there! This is a project I’ve been working on for the past week. It’s a theme for Lume SSG based on Tufte CSS. Btw, I did the majority of the work before I started using Hackatime, so I’ve been working on it for a lot longer than 5 hours. I’m just going to briefly tell you about everything that I did before I started tracking with Hackatime. I looked through the Lume source code to figure out how the poorly-documented theme APIs work. I copied the tufte.css file into the project. Then I downloaded the font .tff files, compressed them into .woff2 files, and wrote css font-face rules for them. I made some Vento layouts. I created, styled, and wrote the logic for the site header. I wrote the blog post and blog index layouts and created the BlogList component. I started installing Lume plugins like KaTeX and Nueglow. I started writing the “Using this theme” post. I created the tufte-sections and tufte-notes plugins for markdown-it. I began heavily tweaking and customizing tufte.css. I transcribed every word of the TufteCSS homepage from HTML to Markdown. I started configuring LumeCMS. Most of what I’ve done since then (what’s reflected in the 5 hours I’ve logged with this devlog) has been a lot of writing, mainly in the Using this theme post. I’ve also been adjusting the LumeCMS config a lot. I think that the next thing that I’ll do is write the README. Thanks for reading!"}]...
|
Title: Lume Tufte by @ethmarks | Stardance
Devlog Title: Lume Tufte by @ethmarks | Stardance
Devlogs:
Hi there! This is a project I’ve been working on for the past week. It’s a theme for Lume SSG based on Tufte CSS. Btw, I did the majority of the work before I started using Hackatime, so I’ve been working on it for a lot longer than 5 hours. I’m just going to briefly tell you about everything that I did before I started tracking with Hackatime. I looked through the Lume source code to figure out how the poorly-documented theme APIs work. I copied the tufte.css file into the project. Then I downloaded the font .tff files, compressed them into .woff2 files, and wrote css font-face rules for them. I made some Vento layouts. I created, styled, and wrote the logic for the site header. I wrote the blog post and blog index layouts and created the BlogList component. I started installing Lume plugins like KaTeX and Nueglow. I started writing the “Using this theme” post. I created the tufte-sections and tufte-notes plugins for markdown-it. I began heavily tweaking and customizing tufte.css. I transcribed every word of the TufteCSS homepage from HTML to Markdown. I started configuring LumeCMS. Most of what I’ve done since then (what’s reflected in the 5 hours I’ve logged with this devlog) has been a lot of writing, mainly in the Using this theme post. I’ve also been adjusting the LumeCMS config a lot. I think that the next thing that I’ll do is write the README. Thanks for reading!
README, optimizations, and more Since my last devlog: I wrote the README. I optimized the theme until it earned perfect 100s in every category on Lighthouse on every page. I added a light mode. I added support for tables of contents. I added RSS feed generation. I rewrote one of the demo blog posts. I added styles for HTML tables Link to the diff between last devlog and this one Optimization Most of the work I did today is pretty self-explanatory from my little summary, but the optimization work probably merits elaboration. So while I was writing the README, I had the idea to include the Lighthouse scores. When I checked, they were 100/100/100/92 on mobile and 92/100/100/92 on desktop. “100s on Lighthouse in some fields” doesn’t sound nearly as nice as “100s on Lighthouse in every field”, so I decided to start optimizing. Lighthouse told me that the SEO problem was a lack of descriptions, and the desktop performance problem was excessive network requests and chained network requests. SEO problem I fixed the lack of descriptions by adding descriptions. Simple as that. I wrote descriptions for all of the existing pages, added a description field to the CMS config, and added a mention of it in the usage guide. The network requests and chained requests were a bit trickier to solve. Performance problems The cause of the excessive network requests was that, even though the homepage didn’t use the KaTeX or Nueglow styles, they were still being imported. I solved that with a per-page check that runs at build time. Each page only imports the Nueglow stylesheet if it contains code blocks, and it only imports the KaTeX stylesheet if the page contains math blocks. Here’s a link to the relevant section of code . I think that it’s a pretty clever solution because it selectively removes the unnecessary CSS requests without using client-side JS or anything like that. I used a similar approach to solve the chained requests. What was happening is that in order to download the woff2 files, the browser first had to download the CSS files, so it took twice as long because they couldn’t be downloaded in parallel. Font preloads are the way to solve this. The only problem is that if I preload too many font files, the browser will have download font files even if they aren’t used on the page. But if I preload too few, then the network requests are still chained. My solution was to have it check which font files each page needs and selectively preload only those font files. Here’s the relevant code if you want to see my implementation. Again, this solves the problem of unnecessary requests and chained requests without adding any client-side JS. I’m glad that Lume and Vento are such powerful tools that I can easily do programmatic optimizations like this. Next Steps I think that the next thing I should do is submit my theme to the official Lume theme repo. That way I can simplify the installation process down to one command.
Theme Registry PR I just created a PR to add my theme to the official theme registry for Lume: https://github.com/lumeland/themes/pull/10 . Why If my theme isn’t in the official registry, the best way for users install it is to clone my entire repo, which is silly, bad for separation of concerns, and just generally worse for UX. git clone https://github.com/ethmarks/lume_tufte.git cd lume_tufte deno task serve But if I get my theme into the theme registry, users can install it using the official Lume init command, which is much better in every way: deno run -A https://lume.land/init.ts --theme = tufte Conclusion From my interactions with him in the past, the Lume maintainer (Oscar) seems like an extremely nice dude who seems to respond fairly quickly, so I shouldn’t have to wait too long before he either accepts my PR or suggests changes that I can go implement. Meanwhile, I’ll probably continue working on the README.
1.0.0 Unless I think of more stuff to add, this is probably my last devlog before shipping. Lume Theme Registry A few hours ago, the PR that I created last devlog was merged into the official Lume theme registry, so you can now install my theme with a single command using Lume init, and it now has its own dedicated page on the official Lume website: https://lume.land/theme/tufte/ . README I added a How it Works section that explains how the Lume theme architecture works behind-the-scenes (spoiler: it’s just remote files) and explains what each of the 18 included plugins do. I updated the quickstart to use the Lume init command. I added a Showcase section that lists the sites that use this theme. It seemed kind of weird to exclusively list the Tufte theme site itself, so I also switched one of my documentation sites to use the Tufte theme. I added a shields.io badge to the top of the README that links to the theme’s page on the Lume website. shields.io relies on simple-icons for its logos, but simple-icons doesn’t have the Lume logo for some reason, so had to Base64-encode an SVG of the Lume logo in order to get the badge to work. Next steps I’m not going to ship this project juuuuust yet in case I think of any missing features that I ought to add, but I probably will soon.
Ships:
This is a theme for the Lume static site generator based on Tufte CSS . To try the Tufte theme, visit the demo page: https://ethmarks.github.io/lume_tufte/ . I submitted this PR to the official Lume theme registry to add the Tufte theme, which was accepted. It has its own page on the official Lume site: https://lume.land/theme/tufte/ I used several optimization tricks, such as statically analyzing the content of each page at build time to infer which font files to preload, to maximize performance, accessibility, best practices, and SEO. Because of this, the theme earns perfect 100s on Google Lighthouse , which the official Lighthouse documentation describes as “extremely challenging to achieve and not expected” . I wrote 5000+ words of documentation across the README and demo articles. I wrote Lume CMS config for every aspect of the theme to allow for no-code content management....
|
1792975705.9435375
|
1793062105.9435375
|
|
38958
|
TEMPO SURGE by @marygoat | Stardance
|
marygoat
|
3
|
21.0
|
246
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T20:03:49Z", "hours": 6.0, "multiplier": 12.39, "payout": 84, "blessing": "neutral", "text": "Tempo Surge A WarioWare like game where you have to complete minigames without losing lives to win! Controls WASD / Arrow keys to move Space / W / Up arrow to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Q E on the bongos A B C D E F G for the memorization minigame Features 8 fast-paced minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Swap Pieces - Swap the xylophone keys into place Click parallel buttons - String the harp as soon as you can Press keyboard numbers - Press the trumpet keys in the right order NEW ONES SINCE LAST SHIP: Memorization - Press the right letters in the right order of the notes that appear Press keyboard letters - Press the correct bongo in the right order All art assets used in game were made by me :) Hope you have fun playing Tempo Surge! AI USAGE: I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like.", "repo": "https://github.com/awesomesauce4646/wario-ware-game", "demo": "https://marygoat.itch.io/tempo-surge"}, {"ship_num": 2, "ts": "2026-08-13T07:10:48Z", "hours": 9.0, "multiplier": 17.96, "payout": 162, "blessing": "neutral", "text": "Tempo Surge, A WarioWare like game where you have to complete minigames without losing lives to win! It was pretty challenging coming up with minigame ideas that were creative and original, while also making sense for the music theme I had going on! I am really proud of my new minigames, I think they’re pretty engaging. I am also proud that I made the game a bit more polished and nicer to look at. To play, press try project down below and press run, or go to: https://marygoat.itch.io/tempo-surge to play! Controls WASD / Arrow keys to move Space to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Features 6 fast-paced minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Swap Pieces - Swap the xylophone keys into place Click parallel buttons - String the harp as soon as you can Press keyboard numbers - Press the trumpet keys in the right order Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. Tempo Surge was also made in order to learn Godot and to learn how to make games and art. All art assets used in game were made by me :) More minigames might be added in the future, but the game seems to be in a good spot for now! Hope you have fun playing Tempo Surge! AI Usage I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like.", "repo": "https://github.com/awesomesauce4646/wario-ware-game", "demo": "https://marygoat.itch.io/tempo-surge"}, {"ship_num": 3, "ts": "2026-07-27T11:43:14Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Tempo Surge A game inspired off of WarioWare, where you must complete many minigames to win! Controls: WASD / Arrow keys to move Space to jump Mouse click to interact with things Features 3 fast minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. All art assets used in game were made by me. I will probably add more things in the game, as well as redesign some things that I didn’t really like but didn’t want to spend more time drawing. Hope you have fun playing Tempo Surge!", "repo": "https://github.com/awesomesauce4646/wario-ware-game", "demo": "https://marygoat.itch.io/tempo-surge"}]...
|
[{"post_id": 72779, "ts": "202 [{"post_id": 72779, "ts": "2026-09-23T18:47:30Z", "hours": 1.225, "text": "TEMPO SURGE DEVLOG: #17 MINIGAME 8: MEMORIZATION! okay, TECHNICALLY this is now the seventh minigame, i have swapped this minigame with the bongos so that the trumpet minigame and bongo minigame wouldnt be back to back, since i thought that was too similar of a mechanic to go back and forth. i have made a minigame where you must memorize the notes that are shown on the screen! you have one second to see em, then you must use your keyboard to type out what the notes were! it was finnicky trying to get each step to work, since it must be in order. you cant just press gadc and go through. after i got that to work, i had to overwrite the scenes so that their names would change. if i didnt overwrite, the level scene would not put the right level. think ima ship! also W stardance for getting extended!"}, {"post_id": 66205, "ts": "2026-09-11T21:42:40Z", "hours": 1.4608, "text": "TEMPO SURGE DEVLOG: #16 MINIGAME 7: BONGOS?! i have made a seventh minigame! it is really similar to my sixth minigame though, so i’ll probably switch this minigame to be one of the later minigames instead of being right after the sixth one, which is pressing down the trumpet keys in the way its highlighted. it was hard trying to reuse the sixth minigames code and convert it to a slightly different style for the bongos, but it worked out!"}, {"post_id": 63293, "ts": "2026-09-07T01:23:45Z", "hours": 1.7128, "text": "TEMPO SURGE DEVLOG: #16 MORE INSTRUCTIONS + TRANSITION EFFECT i have completed the remaining instruction pop ups that were missing from the rest of the minigames, and also added a fade-in / fade-out transition effect! its pretty basic and i dont know how to feel about it, but its there! it was really hard figuring out why everything went pitch black, and i thought i had lost all of my progress for a second lol. i figured out that the node being a canvaslayer caused it to go pitch black, so i modified it so itd only work when it had to transition scenes and stuff. im not sure what else to add… but i want to keep working on it. maybe a new minigame?"}, {"post_id": 57826, "ts": "2026-08-30T04:05:49Z", "hours": 1.245, "text": "TEMPO SURGE DEVLOG: #15 INSTRUCTIONS POP-UP alrighty, so after looking at my feedback, i decided to start with the instructions before a minigame. i have added a simple instruction box, with a button with the text “start” for whenever the player is ready to play. it was a bit difficult knowing how to tie in the button and make it so you can’t move the guitar while in the instructions page, but I found a good enough solution by adding a barrier that disappears on click. excited to improve this project!"}, {"post_id": 46170, "ts": "2026-08-13T06:16:45Z", "hours": 1.3028, "text": "redesigned entire game! i have made all of my assets into the pixel art style, and i think im ready to ship?? it took me a long time having to go over each asset and making the edges look crisp without any fuzzy pixels. i have six working minigames! i was wanting to add more, but… no ideas are coming to me and i also want to work on other projects! i can always just ship again lol. this has been SUCH a fun project to work on, and i have learned a lot about godot and art in the process of making this! i hope this brings you as much fun as it brought me!"}, {"post_id": 45620, "ts": "2026-08-12T07:08:56Z", "hours": 0.5292, "text": "redesign! ive redesigned the timer screen to have that pixelated art style, and i have also added instructions too all of my minigames just incase it was unclear on what you were supposed to be doing. i have also tweaked my sixth minigame so that when you play all four notes, you can have some time to spam some notes for fun, disabling the green highlights. the font has also changed to a pixeled one :)"}, {"post_id": 45036, "ts": "2026-08-11T06:13:36Z", "hours": 2.2761, "text": "trumpet playing! sixth minigame done! wowzies… ts took me a bit. this is the sixth minigame i have come up with, where you have to press on the selected keys with your keyboards to play the note. i really like how this turned out, but it took a bit to figure out how i wanted to make this. i went with the press down to play way since it made the most sense on how a trumpet works, and i thought itd be cool to have a functioning trumpet to play with in this minigame! it took me some problem solving to figure out how i wanted to layout the if functions for when two / one key(s) were pressed, but i managed in the end! :D (the fingerings ARENT correct for you trumpet enthusiasts…. i picked two notes that had NO fingerings… so i had to make sum up. sorry!)"}, {"post_id": 44375, "ts": "2026-08-10T02:50:09Z", "hours": 0.8714, "text": "string the harp… done??? okay im REALLY proud of this one. i have tried doing some proper pixel art… and i think its lowkey fire?? :D i wanna try to pixelate the whole game if possible now.. but that might take forever. ive designed the minigame, where you have to click the gray rectangles on the harp to string it. you must click buttons that are across form each other, otherwise it won’t work. this has to be my favorite minigame even though the script really didnt take that long, just a few booleans going from false to true."}, {"post_id": 44343, "ts": "2026-08-10T01:21:51Z", "hours": 0.3914, "text": "fifth minigame: string the harp! i came up with a minigame where you have to string a harp by clicking on two buttons. i might do more buttons later, but i have put only two buttons in for simplicity. i came up with this yesterday late at night so i was overthinking on how to do this… but really, all you gotta do is have two buttons and make a line appear once true, and repeat if you want more strings. i think this will be a nice addition, since harps need to be strung and such. i chose a harp cause… why not? its a pretty cool instrument! no visuals yet… but i will be making some soon :D i THOUGHT of making it a drag from one point to another… but uhhh thats a bit out of my skill level right now. i have searched it up but i got no clear answer or guide, but i might come back if i figure it out!"}, {"post_id": 43852, "ts": "2026-08-09T09:16:21Z", "hours": 1.0772, "text": "fourth minigame done! this took a lot of time thinking and figuring out how to do this… i was thinking it could be a drag and drop system but i found that too complicated, so then i thought of swapping the positions. i had to use some math to find the center of each piece and so that theyd be centered when swapped, and added a slight highlight to see what youre doing better. i used ai to help me figure out how to debug my swapping system, since it was taking a long time and i was getting pretty frustrated."}, {"post_id": 43754, "ts": "2026-08-09T05:30:03Z", "hours": 1.1892, "text": "minigame 4 start! came up with an idea for my fourth minigame! what i have in mind is that it’ll be a puzzle, where you have to put the xylophone parts in descending order, aka largest piece left to smallest piece right. im not sure how to script this though, so ill have to do some googling ! i am pretty excited for this last minigame though, and im planning on redesigning my third minigames background cause i think i chose some really ugly colors lol."}, {"post_id": 43675, "ts": "2026-08-09T02:28:00Z", "hours": 1.3725, "text": "adding options screen, music! i am starting to make the options scene, since it wasnt actually functional and only has a guitar png… but now i will make it so it toggles the music on and off! i have also added music to the game that loops, a retro game vibe. i have also made the third minigame more obvious, adding a “SPAM” text so that the user knows you have to spam click, as well as making the first minigame easier by adding more time since the only way you could beat it is if you had a perfect run, which could get frustrating."}, {"post_id": 35741, "ts": "2026-07-27T11:38:30Z", "hours": 0.3611, "text": "itch.io page up! the game is functional, so i have decided to export it to itch.io. exporting it was a bit tricky since i didn’t have web downloaded, but i was able to export it into the itch.io page and now it’s runnable! i think i’m going to ship it now, and keep working on it even after i have shipped. making all the assets and programming the minigames to work has been fun!"}, {"post_id": 35654, "ts": "2026-07-27T07:21:59Z", "hours": 1.6461, "text": "third minigame done! i have finished up my third minigame, where you have to press up or down depending if you’re sharp or flat (music tuning terms). i have also made a losing screen and winning screen. it was tricky figuring out what type of minigame i should make, but then i remembered that to play instruments, you gotta tune to sound good! i used the second minigame clicker script to help guide me on how to make this third minigame, with some googling. i think this project has gone way better than i expected, and im excited for when i ship it!"}, {"post_id": 35082, "ts": "2026-07-26T09:01:34Z", "hours": 0.5214, "text": "clicker minigame! finished up the clicker minigame scene, going onto the win / lose screens now. i was able to put in the scripts so that once clicked, the music note will disappear and will count towards if the player won the minigame or not. it was a bit funky trying to put in the script and connecting the signals properly, but i managed to do it! i like how the game is going so far, i have learned a lot about godot :)"}, {"post_id": 34487, "ts": "2026-07-25T07:51:13Z", "hours": 1.2006, "text": "finally added guitar picks :) designed some funky guitar picks that are collectable once the guitar player collides with it. i also programmed an animation so they float. i really like how the guitar picks contrast a lot, making them easy to see. i struggled a lot with figuring out why my script couldn’t find the timer node, since i (thought i) had followed the guide exactly. my mistake was that i didn’t label the text (which had to be named timer so the script could find it), so “timer” never actually existed. i consulted claude a bit to help me debug this issue. this helped me learn how to debug script problems and a good reminder to check what things are named so far, this has been pretty fun! my godot DID randomly crash, which freaked me out so much, but nothing was lost! remember to ctrl + s!"}, {"post_id": 34430, "ts": "2026-07-25T04:08:27Z", "hours": 1.8572, "text": "started on my first minigame! it got some platforms, and the player is able to jump on each one of them. it was hard placing each platform in a good height where the player could jump on it with ease, while also making an engaging parkour setup where it had some sort of challenge that was fun to play through. i learned a lot about how different shapes for collisions worked, like how the oval collision that i chose for my player allows it to climb up the edges of each platform, which i thought was a nice feature!"}, {"post_id": 33872, "ts": "2026-07-24T04:24:23Z", "hours": 0.4897, "text": "started a warioware inspired game! so far, i have a format for a main menu done and the buttons lead to different scenes. the trickiest part was trying to set godot up with github, and also the tracking time plugin. i had to put the super wakatime addons inside the project folder manually to fix it. once i got that figured out and working, things have been simple. the guide has been a huge help on starting this!"}]...
|
Title: TEMPO SURGE by @marygoat | Stardance
Devlo Title: TEMPO SURGE by @marygoat | Stardance
Devlogs:
started a warioware inspired game! so far, i have a format for a main menu done and the buttons lead to different scenes. the trickiest part was trying to set godot up with github, and also the tracking time plugin. i had to put the super wakatime addons inside the project folder manually to fix it. once i got that figured out and working, things have been simple. the guide has been a huge help on starting this!
started on my first minigame! it got some platforms, and the player is able to jump on each one of them. it was hard placing each platform in a good height where the player could jump on it with ease, while also making an engaging parkour setup where it had some sort of challenge that was fun to play through. i learned a lot about how different shapes for collisions worked, like how the oval collision that i chose for my player allows it to climb up the edges of each platform, which i thought was a nice feature!
finally added guitar picks :) designed some funky guitar picks that are collectable once the guitar player collides with it. i also programmed an animation so they float. i really like how the guitar picks contrast a lot, making them easy to see. i struggled a lot with figuring out why my script couldn’t find the timer node, since i (thought i) had followed the guide exactly. my mistake was that i didn’t label the text (which had to be named timer so the script could find it), so “timer” never actually existed. i consulted claude a bit to help me debug this issue. this helped me learn how to debug script problems and a good reminder to check what things are named so far, this has been pretty fun! my godot DID randomly crash, which freaked me out so much, but nothing was lost! remember to ctrl + s!
clicker minigame! finished up the clicker minigame scene, going onto the win / lose screens now. i was able to put in the scripts so that once clicked, the music note will disappear and will count towards if the player won the minigame or not. it was a bit funky trying to put in the script and connecting the signals properly, but i managed to do it! i like how the game is going so far, i have learned a lot about godot :)
third minigame done! i have finished up my third minigame, where you have to press up or down depending if you’re sharp or flat (music tuning terms). i have also made a losing screen and winning screen. it was tricky figuring out what type of minigame i should make, but then i remembered that to play instruments, you gotta tune to sound good! i used the second minigame clicker script to help guide me on how to make this third minigame, with some googling. i think this project has gone way better than i expected, and im excited for when i ship it!
itch.io page up! the game is functional, so i have decided to export it to itch.io. exporting it was a bit tricky since i didn’t have web downloaded, but i was able to export it into the itch.io page and now it’s runnable! i think i’m going to ship it now, and keep working on it even after i have shipped. making all the assets and programming the minigames to work has been fun!
adding options screen, music! i am starting to make the options scene, since it wasnt actually functional and only has a guitar png… but now i will make it so it toggles the music on and off! i have also added music to the game that loops, a retro game vibe. i have also made the third minigame more obvious, adding a “SPAM” text so that the user knows you have to spam click, as well as making the first minigame easier by adding more time since the only way you could beat it is if you had a perfect run, which could get frustrating.
minigame 4 start! came up with an idea for my fourth minigame! what i have in mind is that it’ll be a puzzle, where you have to put the xylophone parts in descending order, aka largest piece left to smallest piece right. im not sure how to script this though, so ill have to do some googling ! i am pretty excited for this last minigame though, and im planning on redesigning my third minigames background cause i think i chose some really ugly colors lol.
fourth minigame done! this took a lot of time thinking and figuring out how to do this… i was thinking it could be a drag and drop system but i found that too complicated, so then i thought of swapping the positions. i had to use some math to find the center of each piece and so that theyd be centered when swapped, and added a slight highlight to see what youre doing better. i used ai to help me figure out how to debug my swapping system, since it was taking a long time and i was getting pretty frustrated.
fifth minigame: string the harp! i came up with a minigame where you have to string a harp by clicking on two buttons. i might do more buttons later, but i have put only two buttons in for simplicity. i came up with this yesterday late at night so i was overthinking on how to do this… but really, all you gotta do is have two buttons and make a line appear once true, and repeat if you want more strings. i think this will be a nice addition, since harps need to be strung and such. i chose a harp cause… why not? its a pretty cool instrument! no visuals yet… but i will be making some soon :D i THOUGHT of making it a drag from one point to another… but uhhh thats a bit out of my skill level right now. i have searched it up but i got no clear answer or guide, but i might come back if i figure it out!
string the harp… done??? okay im REALLY proud of this one. i have tried doing some proper pixel art… and i think its lowkey fire?? :D i wanna try to pixelate the whole game if possible now.. but that might take forever. ive designed the minigame, where you have to click the gray rectangles on the harp to string it. you must click buttons that are across form each other, otherwise it won’t work. this has to be my favorite minigame even though the script really didnt take that long, just a few booleans going from false to true.
trumpet playing! sixth minigame done! wowzies… ts took me a bit. this is the sixth minigame i have come up with, where you have to press on the selected keys with your keyboards to play the note. i really like how this turned out, but it took a bit to figure out how i wanted to make this. i went with the press down to play way since it made the most sense on how a trumpet works, and i thought itd be cool to have a functioning trumpet to play with in this minigame! it took me some problem solving to figure out how i wanted to layout the if functions for when two / one key(s) were pressed, but i managed in the end! :D (the fingerings ARENT correct for you trumpet enthusiasts…. i picked two notes that had NO fingerings… so i had to make sum up. sorry!)
redesign! ive redesigned the timer screen to have that pixelated art style, and i have also added instructions too all of my minigames just incase it was unclear on what you were supposed to be doing. i have also tweaked my sixth minigame so that when you play all four notes, you can have some time to spam some notes for fun, disabling the green highlights. the font has also changed to a pixeled one :)
redesigned entire game! i have made all of my assets into the pixel art style, and i think im ready to ship?? it took me a long time having to go over each asset and making the edges look crisp without any fuzzy pixels. i have six working minigames! i was wanting to add more, but… no ideas are coming to me and i also want to work on other projects! i can always just ship again lol. this has been SUCH a fun project to work on, and i have learned a lot about godot and art in the process of making this! i hope this brings you as much fun as it brought me!
TEMPO SURGE DEVLOG: #15 INSTRUCTIONS POP-UP alrighty, so after looking at my feedback, i decided to start with the instructions before a minigame. i have added a simple instruction box, with a button with the text “start” for whenever the player is ready to play. it was a bit difficult knowing how to tie in the button and make it so you can’t move the guitar while in the instructions page, but I found a good enough solution by adding a barrier that disappears on click. excited to improve this project!
TEMPO SURGE DEVLOG: #16 MORE INSTRUCTIONS + TRANSITION EFFECT i have completed the remaining instruction pop ups that were missing from the rest of the minigames, and also added a fade-in / fade-out transition effect! its pretty basic and i dont know how to feel about it, but its there! it was really hard figuring out why everything went pitch black, and i thought i had lost all of my progress for a second lol. i figured out that the node being a canvaslayer caused it to go pitch black, so i modified it so itd only work when it had to transition scenes and stuff. im not sure what else to add… but i want to keep working on it. maybe a new minigame?
TEMPO SURGE DEVLOG: #16 MINIGAME 7: BONGOS?! i have made a seventh minigame! it is really similar to my sixth minigame though, so i’ll probably switch this minigame to be one of the later minigames instead of being right after the sixth one, which is pressing down the trumpet keys in the way its highlighted. it was hard trying to reuse the sixth minigames code and convert it to a slightly different style for the bongos, but it worked out!
TEMPO SURGE DEVLOG: #17 MINIGAME 8: MEMORIZATION! okay, TECHNICALLY this is now the seventh minigame, i have swapped this minigame with the bongos so that the trumpet minigame and bongo minigame wouldnt be back to back, since i thought that was too similar of a mechanic to go back and forth. i have made a minigame where you must memorize the notes that are shown on the screen! you have one second to see em, then you must use your keyboard to type out what the notes were! it was finnicky trying to get each step to work, since it must be in order. you cant just press gadc and go through. after i got that to work, i had to overwrite the scenes so that their names would change. if i didnt overwrite, the level scene would not put the right level. think ima ship! also W stardance for getting extended!
Ships:
Tempo Surge A game inspired off of WarioWare, where you must complete many minigames to win! Controls: WASD / Arrow keys to move Space to jump Mouse click to interact with things Features 3 fast minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. All art assets used in game were made by me. I will probably add more things in the game, as well as redesign some things that I didn’t really like but didn’t want to spend more time drawing. Hope you have fun playing Tempo Surge!
Tempo Surge, A WarioWare like game where you have to complete minigames without losing lives to win! It was pretty challenging coming up with minigame ideas that were creative and original, while also making sense for the music theme I had going on! I am really proud of my new minigames, I think they’re pretty engaging. I am also proud that I made the game a bit more polished and nicer to look at. To play, press try project down below and press run, or go to: https://marygoat.itch.io/tempo-surge to play! Controls WASD / Arrow keys to move Space to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Features 6 fast-paced minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Swap Pieces - Swap the xylophone keys into place Click parallel buttons - String the harp as soon as you can Press keyboard numbers - Press the trumpet keys in the right order Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. Tempo Surge was also made in order to learn Godot and to learn how to make games and art. All art assets used in game were made by me :) More minigames might be added in the future, but the game seems to be in a good spot for now! Hope you have fun playing Tempo Surge! AI Usage I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like.
Tempo Surge A WarioWare like game where you have to complete minigames without losing lives to win! Controls WASD / Arrow keys to move Space / W / Up arrow to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Q E on the bongos A B C D E F G for the memorization minigame Features 8 fast-paced minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Swap Pieces - Swap the xylophone keys into place Click parallel buttons - String the harp as soon as you can Press keyboard numbers - Press the trumpet keys in the right order NEW ONES SINCE LAST SHIP: Memorization - Press the right letters in the right order of the notes that appear Press keyboard letters - Press the correct bongo in the right order All art assets used in game were made by me :) Hope you have fun playing Tempo Surge! AI USAGE: I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like....
|
1792986604.5431008
|
1793073004.5431008
|
|
50563
|
Bday gift by @mabu | Stardance
|
mabu
|
4
|
33.0
|
246
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T16:51:40Z", "hours": 12.0, "multiplier": 5.54, "payout": 65, "blessing": "neutral", "text": "Virtual Gift Card and Memory Box [IMP PLS TRY USING THE VOICE MODE TO UNLOCK THE GIFT U CAN SAY “BESTFRIEND “OF THE BDAY GIFT AND “I LOVE U”FOR THE REST GIFTS AND ALSO TRY OUT THE ESTEREGG TYPE THE WORD “MAGIC “OUT IN THE SAMPLE GIFT PAGE ANYWHERE AND A SECRET GIFT WILL POPUP] Hey everyone! Mabu here. For anyone who always forgets to buy physical gifts for birthdays, anniversaries, or special moment I built the ultimate customizable digital gift card website What it features: (All this stuff can be customised and some of these are optional stuff) Four Card Types: Birthday, Anniversary, Ask Out, and Love Notes. Unlocking: unlock the gift with a password (default is bestfriend or I LOVE U) u can type the word or click on the mic button and speak the word out u can even change the word to a phrase so u can make ur frined say something to open his/her gift Timed Delivery: Set a countdown timer so the recipient can’t open the surprise until the actual special occasion arrives Memories: U can add 6 custom photos, record or upload a voice message, attach an opening video intro, or drop in a funny meme to prank them or u can add a handwritten letter so they can read it U can even make them type some word like special word anywere in the page just open the page and type the word magic and u can get a esteregg gift U can make a short quiz for them to unlock a scratch off message Would love to hear your feedback on the new stuff gl and bye Mabu out. (and pls pray for me that my exam goes good its in a week so i wont be able to work on this that much sorry!!)", "repo": "https://github.com/mabu100/gift-", "demo": "https://mabu100.github.io/gift-/"}, {"ship_num": 2, "ts": "2026-08-29T17:53:31Z", "hours": 11.0, "multiplier": 10.38, "payout": 116, "blessing": "neutral", "text": "Hello everyone, [password for bday card is bestfriend and other cards is I LOVE u ] I always forget to buy gifts for my friends and loved ones on special occasions. Because of this, I decided to create the ultimate digital gift card that people can save and cherish for a long time. This website features four types of virtual cards:Birthday cards Anniversary card Ask out card Love notes When you open the website, you select the card you want. You must enter a password to open it. **The password for the birthday card is “bestfriend” and the password for the other three cards is “I LOVE U”. ** After entering the password, you will see a sample card.At the top of the page, you can customize your own card and download it. You can set a timer and send the card to your friend right before their birthday. To make the card special, you can add cool photos, write a sweet message inside a digital scratch off section, or even add a funny meme. If you want to make it the perfect gift, you can add a video that plays at the very start so your friend always remembers it I hope you like this idea and find it useful for daily life. It allows your friends to keep your gift forever and remember good memories. It is also perfect for sending to a boyfriend, girlfriend, or a friend who lives in another country. I look forward to reading your feedback. Thank you, Mabu out.", "repo": "https://github.com/mabu100/gift-", "demo": "https://mabu100.github.io/gift-/"}, {"ship_num": 3, "ts": "2026-08-23T16:54:15Z", "hours": 6.0, "multiplier": 9.35, "payout": 53, "blessing": "neutral", "text": "[Note the password is bestfriend] Did u forget ur friends bday??? DONT WORRY WHEN MABU IS HERE I made a customizable gift card that u can download as a PDF and send to ur friend. U can add pics and write a sweet message for ur friend New features: U can now add 6 pics and write a custom sweet message, and u can even change the password, but don’t forget to give ur freind the hint to the password so he/she will be able to open it And there is new confetti that blasts when u enter the password. In the end, there is a special surprise ur friend can blow out the candles and make a wish I hope u guys like it and i cant wait to read the feedback so i can improve this", "repo": "https://github.com/mabu100/gift-", "demo": "https://mabu100.github.io/gift-/"}, {"ship_num": 4, "ts": "2026-08-18T10:14:53Z", "hours": 4.0, "multiplier": 3.16, "payout": 12, "blessing": "neutral", "text": "I always forget to get my friends a gift so i made a virtual gift for my friends i am sure he will like it. It does not look very good rn but later on i am going to make it even better and its going to blow ur mind off", "repo": "https://github.com/mabu100/gift-", "demo": "https://mabu100.github.io/gift-/"}]...
|
[{"post_id": 60254, "ts": "202 [{"post_id": 60254, "ts": "2026-09-02T14:49:24Z", "hours": 1.0333, "text": "Guys i tried out all the new stuff and old stuff to make sure it worked well and then i fixed some bugs i found and will ship by tom morning or later cause i have a exam tom sorry for the wait"}, {"post_id": 60205, "ts": "2026-09-02T13:07:58Z", "hours": 2.5494, "text": "Hi guys, I added a cool feature that I am sure all of you guys will love. Now you can make your friend say a stupid phrase to unlock the gift. This is going to be so cool and funny. Just think about it your friend needs to say something stupid to unlock the gift. You can customize the phrase in the customization option. I hope you guys like this idea, took a while to think about it. GL and bye!"}, {"post_id": 59842, "ts": "2026-09-01T20:21:37Z", "hours": 2.5661, "text": "HI guys I’ve added an exciting new feature to the gift card page: gift givers can now include an optional ‘magic word’ that recipients use to unlock a secret surprise But i am sure most ppl wont use this feature thats what i feel and i would love to hear if u guys like the feature But if u use this feature give the gift recipient a hint if they dont find it then just tell them Sorry guys its not a very good feature i am still thinking abt new stuff to add Thats all for today alr bye guys gl"}, {"post_id": 59148, "ts": "2026-08-31T19:32:45Z", "hours": 4.4072, "text": "Hi guys! I added a new feature where you can upload a custom handwritten letter or drawing, or you can get creative and prank the person receiving the card by adding a meme to it. Imagine the person opening it and finding a stupid meme it is going to be so funny! You can also add a custom voice message for them. You can even record this on the website, so you can directly upload it for your convenience. (Note: All these features are optional. If you want to make your card better for your friend or loved one, you can use these features on the customization page.) Thats it for today guys i hope u like these new stuff THANK U GUYS MBAU OUT AND GL"}, {"post_id": 58416, "ts": "2026-08-30T20:32:36Z", "hours": 1.1239, "text": "hi guys I improved a old scratch off card now to unlock the scratch off card the pesron need to ans a question and if he/she gets it correct he will be able to scratch it off and see whats written I am currently think abt more and cool stuff to add so u guys need to wait for a bit before i ship it again. Alr thats all from today gn and bye guys gl WITH LOVE MABU.."}, {"post_id": 57492, "ts": "2026-08-29T17:32:15Z", "hours": 2.5439, "text": "Hi everyone I added this new feature where u can make the card before the occasion and set a timer so u can share the gift with ur friend and he/she will be able to open it when the timer ends I hope the feature will u be useful and i hope u guys like it Thats all for today thank u guys and gl!!!"}, {"post_id": 56854, "ts": "2026-08-28T20:10:39Z", "hours": 5.2619, "text": "HI guys Today’s focus was on enhancing user customization and adding interactive New Card Menu: I built a new menu where users can see and choose all the different types of cards they want to customize Video System: Now, when a user opens a card a video plays first before the card shows up Scratch Message: I created a hidden message feature the receiver has to scratch the screen to reveal a sweet secret message And now the customization option will be on top so when u first open u will be shown a sample and then u can customize it. Thats it for today will try to add some more new stuff and make it better and useful for u guys GL everyone."}, {"post_id": 55752, "ts": "2026-08-27T18:52:22Z", "hours": 3.3942, "text": "Hi everyone I am working on this idea where u can use the card in many ways like bday, anniversary, proposal and love note and i want to add more to this idea Currently my plan is to make it like each occasion the card will have different interactive buttons. Once i am happy with how it looks i will ship it"}, {"post_id": 53178, "ts": "2026-08-23T16:49:52Z", "hours": 5.6611, "text": "HI guys mabu here!! Based on the previous ship i decide to change and make it look better so that u can acc use this in real life ik the previous version was bad and not worth giving ur friend so yea we made it look very good and we added confetti, make a wish button , and there is a new background petal effect i hope u guys will like it and we made the customization more ez and simple u can add ur own pic make it personal by adding the persons name and u can write a sweet message for them I HOPE U GUYS WILL LIKE THIS!!"}, {"post_id": 49462, "ts": "2026-08-18T10:03:54Z", "hours": 1.7719, "text": "I made a birthday gift card that u can send to ur friend u can customize the message and add pics"}, {"post_id": 49397, "ts": "2026-08-18T06:20:55Z", "hours": 0.6364, "text": "I added pics so that your friend can cherish the good memories"}, {"post_id": 49376, "ts": "2026-08-18T05:07:21Z", "hours": 0.8164, "text": "Enter a password and the person u send this gift will get this sweet message"}, {"post_id": 49175, "ts": "2026-08-17T20:18:54Z", "hours": 0.5028, "text": "I am working on a virtual bday gift that u can send to your friend"}]...
|
Title: Bday gift by @mabu | Stardance
Devlogs:
I Title: Bday gift by @mabu | Stardance
Devlogs:
I am working on a virtual bday gift that u can send to your friend
Enter a password and the person u send this gift will get this sweet message
I added pics so that your friend can cherish the good memories
I made a birthday gift card that u can send to ur friend u can customize the message and add pics
HI guys mabu here!! Based on the previous ship i decide to change and make it look better so that u can acc use this in real life ik the previous version was bad and not worth giving ur friend so yea we made it look very good and we added confetti, make a wish button , and there is a new background petal effect i hope u guys will like it and we made the customization more ez and simple u can add ur own pic make it personal by adding the persons name and u can write a sweet message for them I HOPE U GUYS WILL LIKE THIS!!
Hi everyone I am working on this idea where u can use the card in many ways like bday, anniversary, proposal and love note and i want to add more to this idea Currently my plan is to make it like each occasion the card will have different interactive buttons. Once i am happy with how it looks i will ship it
HI guys Today’s focus was on enhancing user customization and adding interactive New Card Menu: I built a new menu where users can see and choose all the different types of cards they want to customize Video System: Now, when a user opens a card a video plays first before the card shows up Scratch Message: I created a hidden message feature the receiver has to scratch the screen to reveal a sweet secret message And now the customization option will be on top so when u first open u will be shown a sample and then u can customize it. Thats it for today will try to add some more new stuff and make it better and useful for u guys GL everyone.
Hi everyone I added this new feature where u can make the card before the occasion and set a timer so u can share the gift with ur friend and he/she will be able to open it when the timer ends I hope the feature will u be useful and i hope u guys like it Thats all for today thank u guys and gl!!!
hi guys I improved a old scratch off card now to unlock the scratch off card the pesron need to ans a question and if he/she gets it correct he will be able to scratch it off and see whats written I am currently think abt more and cool stuff to add so u guys need to wait for a bit before i ship it again. Alr thats all from today gn and bye guys gl WITH LOVE MABU..
Hi guys! I added a new feature where you can upload a custom handwritten letter or drawing, or you can get creative and prank the person receiving the card by adding a meme to it. Imagine the person opening it and finding a stupid meme it is going to be so funny! You can also add a custom voice message for them. You can even record this on the website, so you can directly upload it for your convenience. (Note: All these features are optional. If you want to make your card better for your friend or loved one, you can use these features on the customization page.) Thats it for today guys i hope u like these new stuff THANK U GUYS MBAU OUT AND GL
HI guys I’ve added an exciting new feature to the gift card page: gift givers can now include an optional ‘magic word’ that recipients use to unlock a secret surprise But i am sure most ppl wont use this feature thats what i feel and i would love to hear if u guys like the feature But if u use this feature give the gift recipient a hint if they dont find it then just tell them Sorry guys its not a very good feature i am still thinking abt new stuff to add Thats all for today alr bye guys gl
Hi guys, I added a cool feature that I am sure all of you guys will love. Now you can make your friend say a stupid phrase to unlock the gift. This is going to be so cool and funny. Just think about it your friend needs to say something stupid to unlock the gift. You can customize the phrase in the customization option. I hope you guys like this idea, took a while to think about it. GL and bye!
Guys i tried out all the new stuff and old stuff to make sure it worked well and then i fixed some bugs i found and will ship by tom morning or later cause i have a exam tom sorry for the wait
Ships:
I always forget to get my friends a gift so i made a virtual gift for my friends i am sure he will like it. It does not look very good rn but later on i am going to make it even better and its going to blow ur mind off
[Note the password is bestfriend] Did u forget ur friends bday??? DONT WORRY WHEN MABU IS HERE I made a customizable gift card that u can download as a PDF and send to ur friend. U can add pics and write a sweet message for ur friend New features: U can now add 6 pics and write a custom sweet message, and u can even change the password, but don’t forget to give ur freind the hint to the password so he/she will be able to open it And there is new confetti that blasts when u enter the password. In the end, there is a special surprise ur friend can blow out the candles and make a wish I hope u guys like it and i cant wait to read the feedback so i can improve this
Hello everyone, [password for bday card is bestfriend and other cards is I LOVE u ] I always forget to buy gifts for my friends and loved ones on special occasions. Because of this, I decided to create the ultimate digital gift card that people can save and cherish for a long time. This website features four types of virtual cards:Birthday cards Anniversary card Ask out card Love notes When you open the website, you select the card you want. You must enter a password to open it. **The password for the birthday card is “bestfriend” and the password for the other three cards is “I LOVE U”. ** After entering the password, you will see a sample card.At the top of the page, you can customize your own card and download it. You can set a timer and send the card to your friend right before their birthday. To make the card special, you can add cool photos, write a sweet message inside a digital scratch off section, or even add a funny meme. If you want to make it the perfect gift, you can add a video that plays at the very start so your friend always remembers it I hope you like this idea and find it useful for daily life. It allows your friends to keep your gift forever and remember good memories. It is also perfect for sending to a boyfriend, girlfriend, or a friend who lives in another country. I look forward to reading your feedback. Thank you, Mabu out.
Virtual Gift Card and Memory Box [IMP PLS TRY USING THE VOICE MODE TO UNLOCK THE GIFT U CAN SAY “BESTFRIEND “OF THE BDAY GIFT AND “I LOVE U”FOR THE REST GIFTS AND ALSO TRY OUT THE ESTEREGG TYPE THE WORD “MAGIC “OUT IN THE SAMPLE GIFT PAGE ANYWHERE AND A SECRET GIFT WILL POPUP] Hey everyone! Mabu here. For anyone who always forgets to buy physical gifts for birthdays, anniversaries, or special moment I built the ultimate customizable digital gift card website What it features: (All this stuff can be customised and some of these are optional stuff) Four Card Types: Birthday, Anniversary, Ask Out, and Love Notes. Unlocking: unlock the gift with a password (default is bestfriend or I LOVE U) u can type the word or click on the mic button and speak the word out u can even change the word to a phrase so u can make ur frined say something to open his/her gift Timed Delivery: Set a countdown timer so the recipient can’t open the surprise until the actual special occasion arrives Memories: U can add 6 custom photos, record or upload a voice message, attach an opening video intro, or drop in a funny meme to prank them or u can add a handwritten letter so they can read it U can even make them type some word like special word anywere in the page just open the page and type the word magic and u can get a esteregg gift U can make a short quiz for them to unlock a scratch off message Would love to hear your feedback on the new stuff gl and bye Mabu out. (and pls pray for me that my exam goes good its in a week so i wont be able to work on this that much sorry!!)...
|
1792878634.3851852
|
1793742634.3851852
|
|
21003
|
Iss tracker by @huncikoma | Stardance
|
huncikoma
|
1
|
21.0
|
245
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T16:56:38Z", "hours": 21.0, "multiplier": 11.84, "payout": 245, "blessing": "neutral", "text": "I make a real-time ISS tracker with a 3D globe. It shows the station’s live position, altitude, speed and whether it’s sunlit — plus it predicts when the ISS will be visible with the naked eye from your location in the next 6 days. It also shows who’s currently aboard. All the orbital math (SGP4) runs locally with satellite.js, the 3D globe is globe.gl. What was challenging?-Pretty much everything — this is my first web project ever. I’m a Python guy, so I had to learn the whole thing from the ground up: HTML, CSS, JavaScript, all of it. None of this existed in my toolbox before this project. The hardest part by far was the pass prediction: look angles, ECI to ECF conversion, checking if the ISS is sunlit while your sky is dark. Actual orbital mechanics. I used AI as a tutor along the way, but I made sure I understood every part instead of just pasting code. I am proud of that the pass prediction actually works — three conditions lining up (ISS above 10°, sun 6° below your horizon, station still in sunlight) and it tells you exactly when to look up. Also the “mission control” design, built from scratch with CSS variables. And honestly: that as a Python-only dev I had to learn an entirely new stack for this, and it actually came together. From barely knowing what a div is to this, in a few weeks. To test it: Just run start.bat (it starts a small Python webserver and opens the app) — or open the demo URL. Click “Use my location” or type coordinates manually, and the visible passes table fills in. Try the Follow/Rotate camera modes and the Day/Night texture toggle too. Details in the README.", "repo": "https://github.com/huncikoma-code/Iss-tracker", "demo": "https://huncikoma-code.github.io/Iss-tracker/"}]...
|
[{"post_id": 26009, "ts": "202 [{"post_id": 26009, "ts": "2026-07-10T16:00:47Z", "hours": 4.5603, "text": "Devlog #10 — Crew, startup & it’s doneLast pieces today.Crew section first. Pulls from the Open Notify API — who’s on the ISS right now. Had to route it through a CORS proxy because the API is http-only and browsers block that from an https page. Filters for ISS crew specifically, falls back to everyone in space if the filter comes up empty. If the API dies, shows a graceful “unavailable” message instead of breaking.Then the startup section — the part that boots everything. Load saved observer location, fetch TLE, fetch crew, then the intervals: tick() every second, orbit path refresh every minute, fresh TLE every 2 hours, crew every 6 hours. Everything on its own schedule.Finally made it actually easy to run. Wrote a small Python server file that spins up a local webserver — this is where my Python comfort zone finally got to shine in this project. Plus a start.bat that launches the server and opens the app in the browser in one double-click. And a README so anyone can figure out how to run it.That’s it. The tracker is done. Live position, 3D globe, pass predictions, crew list, one-click startup. Started this barely knowing what a div was."}, {"post_id": 25798, "ts": "2026-07-10T08:19:42Z", "hours": 2.5208, "text": "Devlog #9 — Pass predictionThe part I was most scared of. Also the coolest.computePasses() steps through the next 6 days in 30-second jumps, calculates the ISS position at each step, and converts it to look angles from your location. Elevation above 10° = pass starts. Drops below = pass ends.The visibility check is the fun part. You can only see the ISS with your own eyes if three things line up: it’s above 10°, the sun is 6°+ below your horizon , but the ISS up there is still catching sunlight. Basically a sunlit object against a dark sky. That’s what you’re actually seeing.Also finished the geolocation button, the reverse geocoding for your city name, and the pass table — time, duration, max elevation, compass direction. Visible passes get an orange dot.Deepest I’ve been in over my head this whole project. But piece by piece, it makes sense now."}, {"post_id": 25208, "ts": "2026-07-09T09:57:40Z", "hours": 3.0786, "text": "Devlog #8 — TLE age, observer location & localStorageShort but important session.First, finished off the tick() function. Added TLE age display — shows how old the orbital data is. Under an hour it shows minutes, over an hour it shows decimal hours. Small detail but useful, stale TLE data means inaccurate position.Then observer location. This took a bit of thinking. The app needs to know where you are to predict ISS passes — so setObserver() takes lat/lng, validates it (no infinite values, lat within ±90, lng within ±180), converts to radians for the math, and stores it.The localStorage part was new territory for me. Never used it before. Basically the browser remembers your location between sessions — so next time you open the app it loads your saved coordinates automatically via loadObserver(). One line to save, one line to load, JSON in between. Actually really simple once I understood it.The observer marker gets placed on the globe too — same system as the ISS marker but sits almost on the surface (altFrac: 0.005).Input fields update to show the saved coordinates. The location display shows hemisphere format — 47.50° N, 19.04° E style — then “loading…” underneath while it reverse geocodes the place name.Coordinates, radians, localStorage, marker placement — a lot of small things that all had to connect correctly. Felt good when it clicked."}, {"post_id": 24115, "ts": "2026-07-07T14:07:26Z", "hours": 3.0858, "text": "Devlog #7 — Camera, live updates & the tick loopThis session was the one where it started actually feeling alive.Camera controls first. Three modes — follow, rotate, free. “Follow” mode smoothly pans the globe to the ISS position every 2.4 seconds with a 900ms animation. Feels really clean, like the camera is actually tracking something. “Rotate” just spins the globe on its own. “Free” is hands-off, user controls everything. Also wired up the day/night texture toggle — one click switches between the blue marble and the night lights texture.Found a bug: setStatus() is missing a space — “led” + cls produces “ledlive” instead of “led live”. The LED will never change color because the class name is wrong. One character fix.Then the tick() function. This is the heartbeat of the whole app. Runs on an interval, calls stateAt(now), updates the marker position, updates all the telemetry readouts — lat, lng, altitude, speed, orbital period, illumination. Everything live."}, {"post_id": 21368, "ts": "2026-07-03T08:20:22Z", "hours": 0.9267, "text": "Devlog #6 — Markers, orbit track & resizeShort session today but got a few important things done.Set the globe’s starting view — looking down at lat: 20, lng: 0 from altitude 2.4. Basically a nice “overview of Earth” angle when the page loads. Auto-rotate speed set to 0.45, slow and smooth. Small detail but it makes the whole thing feel alive even before any data loads.Then the markers. Two functions — makeIssEl() and makeObsEl() — each just creates a div with the right CSS class and inner HTML. The ISS gets the orange ring, the observer gets a “You” label. Simple.Found two HTML typos in there while writing this. makeIssEl() has </div missing the closing >. makeObsEl() is missing the opening < on the dot div — ‘div class=“dot”>’ instead of ‘’. Both will silently break the markers in the browser. Need to fix those.The orbit track was interesting. It loops from -25 minutes to +70 minutes around now, samples a position every 1.5 minutes, builds a path array. So you see where the ISS came from and where it’s going. Past 25 minutes, future 70. Felt like a very “Python” approach — just loop, collect, feed into the renderer.Also wired up resize handling. Globe redraws to fill its container whenever the window size changes. One listener, one function."}, {"post_id": 16304, "ts": "2026-06-26T15:08:45Z", "hours": 1.685, "text": "Devlog #5 — The JavaScript begins. It’s a lot.Okay. JavaScript. Here we go.Started wiring up the actual logic today. First thing: fetching the TLE data — basically the orbital parameters that tell satellite.js where the ISS is. Hitting the wheretheiss.at API, parsing the two lines, feeding them into satellite.twoline2satrec(). If it fails, the LED goes red. If it works, green. Simple.Then stateAt() — takes a date, runs the SGP4 propagation, converts ECI coordinates to geodetic (lat/lng/altitude). That’s the core of the whole tracker. One function, does a lot.Also wrote sun position math from scratch. Like actual astronomy math — Julian dates, ecliptic longitude, Earth’s axial tilt. Did not expect to be doing orbital mechanics today. The issSunlit() function checks if the ISS is in Earth’s shadow using a dot product. Python brain kicked in here, vector math felt familiar at least.Then the globe. globe.gl is actually pretty nice to work with. Night texture, bump map, atmosphere, star background. Hooked up the HTML markers for the ISS and observer position.Found a few bugs while writing this. Typo in a texture URL — hree-globe instead of three-globe, and earh-blue-marble instead of earth-blue-marble. Also a missing closing parenthesis somewhere in the globe chain that’s going to cause a syntax error. Classic late night coding stuff.JavaScript is definitely harder than HTML and CSS. But the Python background helps more than I expected — the logic side of it feels familiar, just different syntax.I changed my mind about the design and I changed to blue."}, {"post_id": 15006, "ts": "2026-06-24T11:55:00Z", "hours": 1.1847, "text": "Devlog #4 — Location, passes, crew & wrapping up the HTMLFinished the HTML structure today. Three more sections in the sidebar.Observer location first. Two inputs — lat/lon manually, or a “Use my location” button that’ll hit the browser geolocation API. Placeholder values are Budapest coordinates (47.4979, 19.0402) — yeah, I’m Hungarian, felt right, but I live in Romania because of the Trianon.Then the visible passes section. Right now just shows an empty state: “Set an observer location to predict naked-eye visible passes.” There’s a checkbox for showing all passes, not just visible ones. The actual pass prediction math is going to be the hardest part I think. satellite.js can do it but I haven’t figured out that part yet.Crew section is there too. Pulls from Open Notify API — basically just a list of who’s up there right now. Placeholder shows “Loading…” for now.Also noticed a bug writing this: three of the globe control buttons (Rotate, Orbit, Day) all have id=“c-follow”. Duplicate IDs. JavaScript is going to have a bad time with that. Need to fix before I wire anything up.Footer has the data sources listed — wheretheiss.at for live position, satellite.js for the SGP4 math, Open Notify for crew. Felt important to credit them properly.HTML’s basically done. Next session is the scary part — the JavaScript.Honestly, as a beginner with HTML and CSS, I think I actually get it now. I’m not just copy-pasting; I truly understand why things go where they do. Grid, flexbox, CSS variables, pseudo-elements—these were concepts that looked like alien syntax a week ago. AI helped a lot with that. It didn’t do the work for me, but it explained what each part actually does while we built it. I didn’t expect to learn this much so quickly, and I’m very happy for this."}, {"post_id": 14370, "ts": "2026-06-23T14:06:50Z", "hours": 1.1667, "text": "Devlog #3 — Globe markers & the telemetry panelGot the globe section wired up today. The ISS marker is a small orange ring with a dot in the middle — like a crosshair. Took a while to get the centering right with translate(-50%, -50%), kept jumping to weird positions on the globe. CSS ::after pseudo-element for the inner dot. Didn’t know that trick before, actually pretty clean.Also built out the telemetry panel. Latitude, longitude, altitude, orbital speed, orbital period, illumination — all sitting in those readout rows from last session. Right now they just show - as placeholders. Next step is hooking them up to live data so they actually update.One thing I noticed: the status LED up in the header is set to warn (orange) by default — because while the app is still loading TLE data, it shouldn’t show green. Small UX detail but it matters. Green means live, orange means loading, red means something broke.Also added the observer marker for the user’s location on the globe. Different color from the ISS marker — white tag instead of orange — so it’s clear which is which at a glance.Starting to look like an actual mission control dashboard. Not bad for someone who barely knew what CSS grid was two weeks ago."}, {"post_id": 13088, "ts": "2026-06-21T12:50:05Z", "hours": 1.6939, "text": "Devlog #2. Building the sidebar consoleI spent this session working on the sidebar panel. The layout is like a “mission control”. A console on the left and a globe on the right. I used CSS grid to achieve this. The console has a fixed width of 392px and the rest of the space goes to the globe.I built the console piece by piece. First I added a header with a status light. It’s green when live orange when theres a warning and red when theres an error. It’s basic. It gets the job done.Then I added rows to show data. I styled them like telemetry data with a key-value pair format. I used a number format called tabular-nums. This keeps the digits lined up properly when they update.I also added some toggle buttons, location input fields and a table to predict when the ISS will be visible from a location. I tried to use a monospace font for the data and a regular sans font, for the labels. This makes it feel like an instrument panel and less like a website.While writing this I found a typo bug. I had written –line-2 in my root variables. Used var(–line2) in a couple of places. It took me a while to notice why some borders weren’t showing up. It was a mistake.Next I need to hook up ISS position data. I want to wire the readout rows to show numbers instead of placeholders."}, {"post_id": 11934, "ts": "2026-06-19T13:58:09Z", "hours": 0.7636, "text": "I started my ISS Orbital Tracker project. The goal is to create a 3D globe that shows the ISS in real-time as it orbits the planet. For the orbital calculations, I’m using satellite.js, which handles the SGP4 math. For the 3D globe, I’m using globe.gl with WebGL working in the background.Honestly, HTML and frontend work aren’t my strong points. I feel most comfortable with Python. However, “learn web development” has been on my summer to-do list for a long time. Stardance seemed like the perfect opportunity to finally jump in.I began with some help from AI, and I won’t pretend otherwise. However, I’m not just copying and pasting what it produces. I review every line and ask, “Why does this work like that?” I’m making all the decisions myself regarding structure and design. The AI acts more like a tutor beside me than someone doing my work. I want to control this project, not just watch it develop.So far, I’ve set up the basics. The HTML structure is complete. The scripts for satellite.js and globe.gl are loaded and connected. I’ve also created a full color system using CSS variables like –bg and –accent. I’m aiming for that dark “mission control” vibe, similar to the energy in a NASA control room, but within a browser tab.Next, I need to pull the ISS’s live position and display it on the globe. That’s the exciting part"}]...
|
Title: Iss tracker by @huncikoma | Stardance
Devl Title: Iss tracker by @huncikoma | Stardance
Devlogs:
I started my ISS Orbital Tracker project. The goal is to create a 3D globe that shows the ISS in real-time as it orbits the planet. For the orbital calculations, I’m using satellite.js, which handles the SGP4 math. For the 3D globe, I’m using globe.gl with WebGL working in the background.Honestly, HTML and frontend work aren’t my strong points. I feel most comfortable with Python. However, “learn web development” has been on my summer to-do list for a long time. Stardance seemed like the perfect opportunity to finally jump in.I began with some help from AI, and I won’t pretend otherwise. However, I’m not just copying and pasting what it produces. I review every line and ask, “Why does this work like that?” I’m making all the decisions myself regarding structure and design. The AI acts more like a tutor beside me than someone doing my work. I want to control this project, not just watch it develop.So far, I’ve set up the basics. The HTML structure is complete. The scripts for satellite.js and globe.gl are loaded and connected. I’ve also created a full color system using CSS variables like –bg and –accent. I’m aiming for that dark “mission control” vibe, similar to the energy in a NASA control room, but within a browser tab.Next, I need to pull the ISS’s live position and display it on the globe. That’s the exciting part
Devlog #2. Building the sidebar consoleI spent this session working on the sidebar panel. The layout is like a “mission control”. A console on the left and a globe on the right. I used CSS grid to achieve this. The console has a fixed width of 392px and the rest of the space goes to the globe.I built the console piece by piece. First I added a header with a status light. It’s green when live orange when theres a warning and red when theres an error. It’s basic. It gets the job done.Then I added rows to show data. I styled them like telemetry data with a key-value pair format. I used a number format called tabular-nums. This keeps the digits lined up properly when they update.I also added some toggle buttons, location input fields and a table to predict when the ISS will be visible from a location. I tried to use a monospace font for the data and a regular sans font, for the labels. This makes it feel like an instrument panel and less like a website.While writing this I found a typo bug. I had written –line-2 in my root variables. Used var(–line2) in a couple of places. It took me a while to notice why some borders weren’t showing up. It was a mistake.Next I need to hook up ISS position data. I want to wire the readout rows to show numbers instead of placeholders.
Devlog #3 — Globe markers & the telemetry panelGot the globe section wired up today. The ISS marker is a small orange ring with a dot in the middle — like a crosshair. Took a while to get the centering right with translate(-50%, -50%), kept jumping to weird positions on the globe. CSS ::after pseudo-element for the inner dot. Didn’t know that trick before, actually pretty clean.Also built out the telemetry panel. Latitude, longitude, altitude, orbital speed, orbital period, illumination — all sitting in those readout rows from last session. Right now they just show - as placeholders. Next step is hooking them up to live data so they actually update.One thing I noticed: the status LED up in the header is set to warn (orange) by default — because while the app is still loading TLE data, it shouldn’t show green. Small UX detail but it matters. Green means live, orange means loading, red means something broke.Also added the observer marker for the user’s location on the globe. Different color from the ISS marker — white tag instead of orange — so it’s clear which is which at a glance.Starting to look like an actual mission control dashboard. Not bad for someone who barely knew what CSS grid was two weeks ago.
Devlog #4 — Location, passes, crew & wrapping up the HTMLFinished the HTML structure today. Three more sections in the sidebar.Observer location first. Two inputs — lat/lon manually, or a “Use my location” button that’ll hit the browser geolocation API. Placeholder values are Budapest coordinates (47.4979, 19.0402) — yeah, I’m Hungarian, felt right, but I live in Romania because of the Trianon.Then the visible passes section. Right now just shows an empty state: “Set an observer location to predict naked-eye visible passes.” There’s a checkbox for showing all passes, not just visible ones. The actual pass prediction math is going to be the hardest part I think. satellite.js can do it but I haven’t figured out that part yet.Crew section is there too. Pulls from Open Notify API — basically just a list of who’s up there right now. Placeholder shows “Loading…” for now.Also noticed a bug writing this: three of the globe control buttons (Rotate, Orbit, Day) all have id=“c-follow”. Duplicate IDs. JavaScript is going to have a bad time with that. Need to fix before I wire anything up.Footer has the data sources listed — wheretheiss.at for live position, satellite.js for the SGP4 math, Open Notify for crew. Felt important to credit them properly.HTML’s basically done. Next session is the scary part — the JavaScript.Honestly, as a beginner with HTML and CSS, I think I actually get it now. I’m not just copy-pasting; I truly understand why things go where they do. Grid, flexbox, CSS variables, pseudo-elements—these were concepts that looked like alien syntax a week ago. AI helped a lot with that. It didn’t do the work for me, but it explained what each part actually does while we built it. I didn’t expect to learn this much so quickly, and I’m very happy for this.
Devlog #5 — The JavaScript begins. It’s a lot.Okay. JavaScript. Here we go.Started wiring up the actual logic today. First thing: fetching the TLE data — basically the orbital parameters that tell satellite.js where the ISS is. Hitting the wheretheiss.at API, parsing the two lines, feeding them into satellite.twoline2satrec(). If it fails, the LED goes red. If it works, green. Simple.Then stateAt() — takes a date, runs the SGP4 propagation, converts ECI coordinates to geodetic (lat/lng/altitude). That’s the core of the whole tracker. One function, does a lot.Also wrote sun position math from scratch. Like actual astronomy math — Julian dates, ecliptic longitude, Earth’s axial tilt. Did not expect to be doing orbital mechanics today. The issSunlit() function checks if the ISS is in Earth’s shadow using a dot product. Python brain kicked in here, vector math felt familiar at least.Then the globe. globe.gl is actually pretty nice to work with. Night texture, bump map, atmosphere, star background. Hooked up the HTML markers for the ISS and observer position.Found a few bugs while writing this. Typo in a texture URL — hree-globe instead of three-globe, and earh-blue-marble instead of earth-blue-marble. Also a missing closing parenthesis somewhere in the globe chain that’s going to cause a syntax error. Classic late night coding stuff.JavaScript is definitely harder than HTML and CSS. But the Python background helps more than I expected — the logic side of it feels familiar, just different syntax.I changed my mind about the design and I changed to blue.
Devlog #6 — Markers, orbit track & resizeShort session today but got a few important things done.Set the globe’s starting view — looking down at lat: 20, lng: 0 from altitude 2.4. Basically a nice “overview of Earth” angle when the page loads. Auto-rotate speed set to 0.45, slow and smooth. Small detail but it makes the whole thing feel alive even before any data loads.Then the markers. Two functions — makeIssEl() and makeObsEl() — each just creates a div with the right CSS class and inner HTML. The ISS gets the orange ring, the observer gets a “You” label. Simple.Found two HTML typos in there while writing this. makeIssEl() has </div missing the closing >. makeObsEl() is missing the opening < on the dot div — ‘div class=“dot”>’ instead of ‘’. Both will silently break the markers in the browser. Need to fix those.The orbit track was interesting. It loops from -25 minutes to +70 minutes around now, samples a position every 1.5 minutes, builds a path array. So you see where the ISS came from and where it’s going. Past 25 minutes, future 70. Felt like a very “Python” approach — just loop, collect, feed into the renderer.Also wired up resize handling. Globe redraws to fill its container whenever the window size changes. One listener, one function.
Devlog #7 — Camera, live updates & the tick loopThis session was the one where it started actually feeling alive.Camera controls first. Three modes — follow, rotate, free. “Follow” mode smoothly pans the globe to the ISS position every 2.4 seconds with a 900ms animation. Feels really clean, like the camera is actually tracking something. “Rotate” just spins the globe on its own. “Free” is hands-off, user controls everything. Also wired up the day/night texture toggle — one click switches between the blue marble and the night lights texture.Found a bug: setStatus() is missing a space — “led” + cls produces “ledlive” instead of “led live”. The LED will never change color because the class name is wrong. One character fix.Then the tick() function. This is the heartbeat of the whole app. Runs on an interval, calls stateAt(now), updates the marker position, updates all the telemetry readouts — lat, lng, altitude, speed, orbital period, illumination. Everything live.
Devlog #8 — TLE age, observer location & localStorageShort but important session.First, finished off the tick() function. Added TLE age display — shows how old the orbital data is. Under an hour it shows minutes, over an hour it shows decimal hours. Small detail but useful, stale TLE data means inaccurate position.Then observer location. This took a bit of thinking. The app needs to know where you are to predict ISS passes — so setObserver() takes lat/lng, validates it (no infinite values, lat within ±90, lng within ±180), converts to radians for the math, and stores it.The localStorage part was new territory for me. Never used it before. Basically the browser remembers your location between sessions — so next time you open the app it loads your saved coordinates automatically via loadObserver(). One line to save, one line to load, JSON in between. Actually really simple once I understood it.The observer marker gets placed on the globe too — same system as the ISS marker but sits almost on the surface (altFrac: 0.005).Input fields update to show the saved coordinates. The location display shows hemisphere format — 47.50° N, 19.04° E style — then “loading…” underneath while it reverse geocodes the place name.Coordinates, radians, localStorage, marker placement — a lot of small things that all had to connect correctly. Felt good when it clicked.
Devlog #9 — Pass predictionThe part I was most scared of. Also the coolest.computePasses() steps through the next 6 days in 30-second jumps, calculates the ISS position at each step, and converts it to look angles from your location. Elevation above 10° = pass starts. Drops below = pass ends.The visibility check is the fun part. You can only see the ISS with your own eyes if three things line up: it’s above 10°, the sun is 6°+ below your horizon , but the ISS up there is still catching sunlight. Basically a sunlit object against a dark sky. That’s what you’re actually seeing.Also finished the geolocation button, the reverse geocoding for your city name, and the pass table — time, duration, max elevation, compass direction. Visible passes get an orange dot.Deepest I’ve been in over my head this whole project. But piece by piece, it makes sense now.
Devlog #10 — Crew, startup & it’s doneLast pieces today.Crew section first. Pulls from the Open Notify API — who’s on the ISS right now. Had to route it through a CORS proxy because the API is http-only and browsers block that from an https page. Filters for ISS crew specifically, falls back to everyone in space if the filter comes up empty. If the API dies, shows a graceful “unavailable” message instead of breaking.Then the startup section — the part that boots everything. Load saved observer location, fetch TLE, fetch crew, then the intervals: tick() every second, orbit path refresh every minute, fresh TLE every 2 hours, crew every 6 hours. Everything on its own schedule.Finally made it actually easy to run. Wrote a small Python server file that spins up a local webserver — this is where my Python comfort zone finally got to shine in this project. Plus a start.bat that launches the server and opens the app in the browser in one double-click. And a README so anyone can figure out how to run it.That’s it. The tracker is done. Live position, 3D globe, pass predictions, crew list, one-click startup. Started this barely knowing what a div was.
Ships:
I make a real-time ISS tracker with a 3D globe. It shows the station’s live position, altitude, speed and whether it’s sunlit — plus it predicts when the ISS will be visible with the naked eye from your location in the next 6 days. It also shows who’s currently aboard. All the orbital math (SGP4) runs locally with satellite.js, the 3D globe is globe.gl. What was challenging?-Pretty much everything — this is my first web project ever. I’m a Python guy, so I had to learn the whole thing from the ground up: HTML, CSS, JavaScript, all of it. None of this existed in my toolbox before this project. The hardest part by far was the pass prediction: look angles, ECI to ECF conversion, checking if the ISS is sunlit while your sky is dark. Actual orbital mechanics. I used AI as a tutor along the way, but I made sure I understood every part instead of just pasting code. I am proud of that the pass prediction actually works — three conditions lining up (ISS above 10°, sun 6° below your horizon, station still in sunlight) and it tells you exactly when to look up. Also the “mission control” design, built from scratch with CSS variables. And honestly: that as a Python-only dev I had to learn an entirely new stack for this, and it actually came together. From barely knowing what a div is to this, in a few weeks. To test it: Just run start.bat (it starts a small Python webserver and opens the app) — or open the demo URL. Click “Use my location” or type coordinates manually, and the visible passes table fills in. Try the Follow/Rotate camera modes and the Day/Night texture toggle too. Details in the README....
|
1792878675.2463546
|
1793742675.2463546
|
|
42677
|
An Image To ASCII Art Converter by @jassi_dev | St An Image To ASCII Art Converter by @jassi_dev | Stardance...
|
jassi_dev
|
3
|
22.0
|
245
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T14:57:42Z", "hours": 3.0, "multiplier": 11.08, "payout": 31, "blessing": "neutral", "text": "JASCII, a super simple and bloat free image to ascii converter in which the ascii converter is low level so that the program can run FAST! also your data does not get sent to a random database!!! i added new stuff like an updated and much much cleaner readme which explains everything now! an option to get much cooler ui because WHY NOT!!!! people asked for it so i served 🛐 anyways hope you enjoy it, please rate it and check it out!!!!", "repo": "https://github.com/jassi-dev404/J.A.S.C.I.I", "demo": "https://jascii.jassi.dev"}, {"ship_num": 2, "ts": "2026-08-13T08:44:49Z", "hours": 11.0, "multiplier": 9.56, "payout": 102, "blessing": "neutral", "text": "hi!!! it seems you are going to rate my project so please do, anyways this is J.A.S.C.I.I an image A.S.C.I.I program which does not send your images to some random data center!!! its a project written mostly by yours truly with some llm code and contributions from other people, i say the more forks the better! anyways so this time i have fixed all the issues which reported to me which were the following: make size customisable make it visible where to reset add copy button (for coloured mode too) better dev logs (yea sorri lol 😭) add download button anyways they have been added to J.A.S.C.I.I and heres the programming process i went through making this project! first of all making ascii images in the first place, ofc i am not that smart to know the theory of making ascii images because how can a person convert an image into ascii???? but then i watched “Coding Challenge 166: ASCII Text Images” by The Coding Train which made it click! that video did program in js so i could not just steal the code (my program (the ascii part) is written in C but yea. after a while of tinkering a finished a base version of jascii which was hardcoded and cli only but it did have some issues because of no saturation (the images would have tons of artifacts) after taking help on discord and other places (thanks sophie) i finally compiled my program to web assembly and jascii.jassi.dev was born i started adding more stuff like saturation and colors to the website and finally shipped after getting everyones feed back the current website was done!! i really love this project so please check out it’s github and source code too, i put my heart and soul into it 🥹 (sorri for yapping too much)", "repo": "https://github.com/jassi-dev404/J.A.S.C.I.I", "demo": "https://jascii.jassi.dev"}, {"ship_num": 3, "ts": "2026-08-06T07:20:57Z", "hours": 8.0, "multiplier": 14.67, "payout": 112, "blessing": "neutral", "text": "I made an Image to ASCII art converter from scratch and used C for the Conversion and used web technologies from front end. its a cool project, please check it out", "repo": "https://github.com/jassi-dev404/J.A.S.C.I.I", "demo": "https://jascii.jassi.dev"}]...
|
[{"post_id": 72690, "ts": "202 [{"post_id": 72690, "ts": "2026-09-23T14:52:42Z", "hours": 2.7625, "text": "tons of ui stuff!!! ok ok OK first of all i updated the readme by alot and made it much cleaner, second of all the cooler ui is even better now and has a scrollbar which is themed!!! also the cool ui literally has auto color change which is great!!!"}, {"post_id": 45936, "ts": "2026-08-12T18:43:12Z", "hours": 2.7306, "text": "HUGE UPDATE! ok ok tons of stuff added first of all test.sh was deleted since useless but heres the changes: made size customisable from the website made it visible what is clickable and what is not added copy and download button (which were done with the help of an llm) PLEASE go check it out this update took alot of time, here some kewl images made with it"}, {"post_id": 45702, "ts": "2026-08-12T11:15:37Z", "hours": 1.7886, "text": "jassi here, I checked all of your ratings on my ship and I am happy that people liked my project alot but like all things it was not perfect BUT it helped me find out the issues and which i have to fix which were the following: make size customisable make it visible where to reset add copy button (for coloured mode too) better dev logs add download button add option to change terminal color and text colour now i will add these features but for now this is the features i added: now you can change size, enable or disable colour and add file location using an argument which has the following format: ./ascii <color (1 for yes, 0 for no)> size such as: ./ascii img/img.png 1 150 i hope you all can keep checking up on the project!"}, {"post_id": 44597, "ts": "2026-08-10T13:51:26Z", "hours": 5.4731, "text": "i added colours and high resolution mode! yes it is very cool go check it out!"}, {"post_id": 42235, "ts": "2026-08-06T21:01:29Z", "hours": 0.6836, "text": "build.sh and almost the entire project is perfect now! A reintroduction to jascii: This is a program which takes in image input (specifically png, jpeg and jpg) and converts it into ascii art which can be copied to anywhere you want! Your image gets converted in your browser only and does NOT go to any data center! The Image To ASCII art converter was written in C but compiled to WASM so that it can be used in a website! for running this program locally all you need to the is run the build.sh file in a system which has bash installed (linux & macOS have it and windows can use git-bash) Anyways heres my readme and some examples! The Code Also Has Tons Of Comments So That Anyone Can Use/Understand It! Its Meant To Have A Simplistic Bloat Free And Ad Free Layout. Please Contact Me If Any Questions :)"}, {"post_id": 41802, "ts": "2026-08-06T07:18:54Z", "hours": 1.7422, "text": "Saturation makes so much difference"}, {"post_id": 39973, "ts": "2026-08-03T09:52:47Z", "hours": 5.9228, "text": "The ASCII Converter Works Now!!!!"}]...
|
Title: An Image To ASCII Art Converter by @jassi_d Title: An Image To ASCII Art Converter by @jassi_dev | Stardance
Devlogs:
The ASCII Converter Works Now!!!!
Saturation makes so much difference
build.sh and almost the entire project is perfect now! A reintroduction to jascii: This is a program which takes in image input (specifically png, jpeg and jpg) and converts it into ascii art which can be copied to anywhere you want! Your image gets converted in your browser only and does NOT go to any data center! The Image To ASCII art converter was written in C but compiled to WASM so that it can be used in a website! for running this program locally all you need to the is run the build.sh file in a system which has bash installed (linux & macOS have it and windows can use git-bash) Anyways heres my readme and some examples! The Code Also Has Tons Of Comments So That Anyone Can Use/Understand It! Its Meant To Have A Simplistic Bloat Free And Ad Free Layout. Please Contact Me If Any Questions :)
i added colours and high resolution mode! yes it is very cool go check it out!
jassi here, I checked all of your ratings on my ship and I am happy that people liked my project alot but like all things it was not perfect BUT it helped me find out the issues and which i have to fix which were the following: make size customisable make it visible where to reset add copy button (for coloured mode too) better dev logs add download button add option to change terminal color and text colour now i will add these features but for now this is the features i added: now you can change size, enable or disable colour and add file location using an argument which has the following format: ./ascii <color (1 for yes, 0 for no)> size such as: ./ascii img/img.png 1 150 i hope you all can keep checking up on the project!
HUGE UPDATE! ok ok tons of stuff added first of all test.sh was deleted since useless but heres the changes: made size customisable from the website made it visible what is clickable and what is not added copy and download button (which were done with the help of an llm) PLEASE go check it out this update took alot of time, here some kewl images made with it
tons of ui stuff!!! ok ok OK first of all i updated the readme by alot and made it much cleaner, second of all the cooler ui is even better now and has a scrollbar which is themed!!! also the cool ui literally has auto color change which is great!!!
Ships:
I made an Image to ASCII art converter from scratch and used C for the Conversion and used web technologies from front end. its a cool project, please check it out
hi!!! it seems you are going to rate my project so please do, anyways this is J.A.S.C.I.I an image A.S.C.I.I program which does not send your images to some random data center!!! its a project written mostly by yours truly with some llm code and contributions from other people, i say the more forks the better! anyways so this time i have fixed all the issues which reported to me which were the following: make size customisable make it visible where to reset add copy button (for coloured mode too) better dev logs (yea sorri lol 😭) add download button anyways they have been added to J.A.S.C.I.I and heres the programming process i went through making this project! first of all making ascii images in the first place, ofc i am not that smart to know the theory of making ascii images because how can a person convert an image into ascii???? but then i watched “Coding Challenge 166: ASCII Text Images” by The Coding Train which made it click! that video did program in js so i could not just steal the code (my program (the ascii part) is written in C but yea. after a while of tinkering a finished a base version of jascii which was hardcoded and cli only but it did have some issues because of no saturation (the images would have tons of artifacts) after taking help on discord and other places (thanks sophie) i finally compiled my program to web assembly and jascii.jassi.dev was born i started adding more stuff like saturation and colors to the website and finally shipped after getting everyones feed back the current website was done!! i really love this project so please check out it’s github and source code too, i put my heart and soul into it 🥹 (sorri for yapping too much)
JASCII, a super simple and bloat free image to ascii converter in which the ascii converter is low level so that the program can run FAST! also your data does not get sent to a random database!!! i added new stuff like an updated and much much cleaner readme which explains everything now! an option to get much cooler ui because WHY NOT!!!! people asked for it so i served 🛐 anyways hope you enjoy it, please rate it and check it out!!!!...
|
1792997380.9363334
|
1793083780.9363334
|
|
7886
|
VisualSort by @alessandro_09 | Stardance
|
alessandro_09
|
1
|
28.89
|
244
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T14:30:29Z", "hours": 28.0, "multiplier": 8.62, "payout": 244, "blessing": "neutral", "text": "I made a C++ software based on Raylib and Raygui to visualize how sorting algorithms work! Working on this project was a bit challenging for me as I never code something like this and by using external libraries! Another challenging thing was implementing the sorting algortihms since I didn’t find a way to implement them with their original code! I’m proud of what I’ve made and I’m happy to have learned a lot of new things and new ways to code! One thing people should know is that unfortunately this software is for Windows only and not for Linux or MacOS. I don’t know how to compile code for those platforms but I’ll learn how to do it!", "repo": "https://github.com/fireslash88/VisualSort", "demo": "https://github.com/fireslash88/VisualSort/releases/tag/v1.1"}]...
|
[{"post_id": 64517, "ts": "202 [{"post_id": 64517, "ts": "2026-09-08T23:55:28Z", "hours": 0.8856, "text": "Thanks to everyone! Hey there, it’s been a while! My project got approved and I got my payout, yay! I’ve been absent for quite a while because of summer holidays and other than that I just played games with my friends.. Lol Anyway, I’m finally back and ready to make another project! This time, the project I want to make is REAALLY hard.. And I don’t think I’ll ever manage to get it done. But who cares right? I mean, this is what programming is all about… Making things to improve yourself even if they’re hard! And you can even have fun in the meanwhile! (while suffering too, but those are details.. shh) I genuinely hope I’ll be able to make a good project even if I don’t have enough time.. I should have made this project sooner.. Better late than never… I’ll make the first devlog of the project tomorrow (or later, since for me it’s currently 1:49AM) and I won’t reveal much! But if you go check out my profile you can see for yourself what’s about! For last, I want to thank everyone that rated my project and gave me so much feedback! I don’t know if I’ll work on this project again since it was just something to prepare myself for other projects and ideas of mine but I’ll think about it.. Thanks for everything and hope to see y’all on my other project! I know that it’s nothing and probably bad compared to some big projects I checked out here on Stardance, and honestly I’m amazed by what teenagers can do at this age.. Genuinely, some people are crazy and I admire them so much and I hope one day, even if it’s late compared to them, I’ll be able to create projects like theirs! Love you all! (screenshot of a silly cat since I don’t have anything to show)"}, {"post_id": 42645, "ts": "2026-08-07T14:11:42Z", "hours": 0.4114, "text": "Uhh.. Okay.. I might have forgotten to add some things… I forgot to add the colors to the Merge sort and then to add the platform matrix on the GitHub README… Well it was quick… I mean, as of now the software is only for Windows as I don’t know at all how to compile for other platforms.. But don’t worry.. If I choose to work on one of the two project I mentioned in the previous devlog, I’ll definitely try to add Linux support! Okay.. now this is the last devlog. for real. Byee!"}, {"post_id": 42637, "ts": "2026-08-07T13:43:12Z", "hours": 0.3981, "text": "Day 10 - Final devlog! And just like I said.. There we go.. This is going to be my last devlog before shipping! I’ve updated the readme of the repo with instructions on how to compile the program and should be good to ship! Now I just have to make the release on GitHub and change the project info and ship it! It’s not a big project, I know. And the code is probably the worst thing ever lol. But at least I’m happy that I started to work on making random and fun projects like this to learn how to code better! It’s been fun and it was nice to learn all of these things! After shipping I’ll definitely start working on 2 new projects! I won’t say anything cause I’m not sure if I’ll be able to do one of them since it’s pretty hard.. but who knows. Anyway.. Thanks for everything and see you in another project!"}, {"post_id": 42351, "ts": "2026-08-07T01:06:33Z", "hours": 5.5756, "text": "Day 9 - Getting ready to ship! And once again… there we are after another week! Unfortunately I love procrastinating and playing games with my friends so I’m working on these project less… ops. Anyway let’s talk about the new changes! New GUI Layout! I gave the GUI a quick rework to make it a bit prettier. It’s not a work of art, I know. But it’s still something cmon.. At least it’s better than the previous one… Descriptions! I added a box on the GUI to show a quick and easy to understand (I hope) description of the algorithm that the user is using! It’s quick and easy to understand since this software is supposed to help people who had some problems learning these algorithms! Yeah… So, I decided to not include the Quick Sort since I don’t know how to add it… It’s pretty hard and after trying for a bit I decided to drop it directly together with the feature of comparing algorithms. It was a bit difficult… Fixes and last things before shipping! While working, I encountered some bugs and immediately fixed them. Now the software has some more checks so that people can’t press the “Sort” button while already sorting and can’t switch algorithm while sorting! So now, I just have to finish writing the README with all the instructions on how to compile the project and it’s ready to ship! I should be able to do it by tomorrow! Thanks for everything and see you in the next, and probably last, devlog!"}, {"post_id": 38246, "ts": "2026-07-31T15:24:13Z", "hours": 2.9597, "text": "Day 8 - Yay, new algorithm! There we are after another week.. it’s gonna be quick since I didn’t change many things. New sorting algorith, merge sort! yay! After reworking the entire code to use vectors, I managed to add the merge sort algorithm! I had to use some AI because after making the basic implementation, it just kept crashing the program. The problem was that the function that merged everything had recursions in it, and since my way of visualizing this sorting algorithms is step-by-step, it would cause calling the function too many times until it crashed. Anyway, after fixing with ChatGPT now it works well and it shouldn’t have any problem! Next thing I’ll work on is: Quick sort, so at least I have 5 algorithms for shipping Add a way to show a quick description of the algorithm Add a way to compare the algorithms (I’m not sure I’ll add it though as I have no idea what to compare) Cleaning up some code Work more on the animations while sorting (they’re kinda ugly but I have no idea how to make them better) Here’s a quick screenshot of the merge algorithm working!"}, {"post_id": 33677, "ts": "2026-07-23T19:52:47Z", "hours": 3.2572, "text": "Day 7 - A lot of changes And there we are! After about.. a week from the last devlog and I’ve made some changes since then! Vectors! Yay! Now the entire code uses vectors instead of arrays! At first I used arrays cause it was the only thing I knew, but I read some guides about vectors and I refactored the entire code to use them instead! After doing this, I can easily implement merge sort and quick sort! Problems While reworking the code, I had quite some problems with the selection sort and insertion sort since it crashed the program when I tried to sort the values. I tried everything, but once I found the problems, I didn’t know how to fix them. So unfortunately, I had to use ChatGPT to help me fix them since I really didn’t know how. (Every change I made with AI it’s tagged with the prefix //AI: in the comments of the code.) I didn’t want to use AI cause I want to learn these things by myself and without any help of AI, after all I’m still learning and I said at first that this project it’s just a way for me to practice. But I guess it’s fine to get help from time to time, I just need to not do it often and try by myself first! That’s all for this devlog and see you in another devlog! (Yeah, the screenshot is the same as the previous one since I didn’t change anything graphically, lol)"}, {"post_id": 30334, "ts": "2026-07-17T20:07:30Z", "hours": 1.2111, "text": "Day 6 - I don’t know what to put… Hey there, this is going to be another quick devlog.. I usually post devlogs as I make commits so, everytime I commit something to the repo I make a devlog and say what I did, lol Anyway.. there we go. Statistics!! Yayyy! I’ve finally added statistics! So now, every time you finish sorting a range of values, it shows how many comparisons and swaps the algorithm performed and how many array accesses it made! It wasn’t hard to implement but for now it works only for bubble sort and selection sort! (I was lazy and didn’t want to add it yesterday lol). And still isn’t quite complete.. cause I don’t know for what reason but if I compare the statistics with a normal implementation of the algorithm, my Selection sort appears to do one cycle more than it needs too.. So I have to check that out. Other things After adding the statistics I just cleaned up some code, added some comments so people can actually understand what everything does and then added a quick button to show/hide the text under the rectangles with a limit. The limit is there so that you can still see the text of the rectangles without them overlapping on each other."}, {"post_id": 29742, "ts": "2026-07-16T20:42:50Z", "hours": 1.4253, "text": "Day 5 - New algorithm Hey there and there we are in another devlog! This is going to be quite short but whatever. New algorithm I added a new algorithm, the Insertion sort! I tested it multiple times and I managed to get it to work in about an hour. Then, I even fixed a bug where sometimes a value would disappear.. (I didn’t put a “=” , lol) What’s next? Next thing is going to be to add simple stats about the algorithm. Like I said in the previous devlog it’s going to be: Comparisons Swaps Array accesses Another thing I’ll work on is to add a way to show/hide the actual value of a rectangle. It will have a limit, cause when you decide to widen the quantity of values, they don’t have enough space to see the text of the value clearly. Next algorithms I won’t focus on them for now since I already implemented some starting algorithms. I first want to polish some code (It’s going to be bad anyway) and add these little features first.. The reason? Well, I wanted to add Quick sort and Merge sort but they’re quite hard to create in the style I need.. and I noticed that they might need vectors to work.. and they haven’t teached me vectors at school… So first, I need to understand how vectors work in C++, THEN I’ll add Merge sort and Quick sort (Or I’ll just ignore them and ship the project anyway. I’ll definitely add them after shipping though) (Oh yeah, I also need to fix how the rectangle change color when the sorting is active. It’s a bit rough now.. I need to make it better.) Anyway see you in another devlog and thank you!"}, {"post_id": 28400, "ts": "2026-07-14T17:11:54Z", "hours": 4.7039, "text": "Day 4 - A lot of changes So.. It’s been a while.. (again) Unfortunately I started doing other personal things and forgot about this project but I still kept doing small fixes. In fact, I had a 12 day streak but unfortunately I lost it lol. Anyway.. yesterday I finally locked in again and finished what I needed to do! New algorithm! I finally added the Selection sort algorithm! It was a bit harder compared to the bubble sort cause I had some problems while porting it in this new style. Another reason is because of all the refactoring I did of the main code that I’m just about to introduce! ## Splitting files! Like I said in the beginning, this project is a way for me to get better at coding, learn sorting algorithms and even learn new approaches into coding that I haven’t learned at school! For this reason, I decided to learn more about header files and how to split the code on multiple files instead of having just one big .cpp file! As of now, the structure look like this! VisualSort/ ├── images/ │ └── image1.png ├── src/ │ ├── algorithms/ │ │ ├── bubbleSort.h │ │ └── selectionSort.h │ ├── main.cpp │ └── main.h ├── .gitignore ├── CMakeLists.txt └── README.md So now I have the main.h for all the variables needed for the sorting algorithms and the main GUI to function. Then, I have a folder called algorithms where I have all the header files of the algorithms I implemented! (I know that I should make a .h and .cpp file and that the header is only for declaration but I didn’t want to add more files since it’s a simple project). Speed slider! Now, I even added a slider bar to let the user choose the speed of the sorting algorithm! The slider changes the seconds of the delay between every step of the algorithm and it goes from a minimum of 0.1 sec (fastest) and a maximum of 2.0 (slowest). Next features… After all of this I think I’m gonna add atleast 1 or 2 new algorithms, a box to show a quick description of the algorithm and then some stats about the like: Array accesses Comparisons performed Swaps performed (Of course the data will be equal to a normal implementation of the algorithm and not according to my way of implementation.) Something first.. If you ask why I took 4h 36min to implement ONLY these features it’s because I’m not really quick at coding and everytime I tried to implement the Selection sort I always had problems.. and other than that I even had to refactor all the code to divide it into files unfortunately. Anyway, that’s all and see you in the next devlog! Hoping that it will be soon. If I lock in it should be tomorrow maybe or I don’t know. Before saying goodbye, here’s a quick screenshot of how the software looks now!"}, {"post_id": 24276, "ts": "2026-07-07T18:55:22Z", "hours": 4.4075, "text": "Day 3 - Getting somewhere! It’s been a while since my last devlog. Since then, I spent all the time working on the delay between each swap of rectangles. I know that it sounds silly but I really didn’t know how to do it.. But now, I managed to solve it and now it works! What was the problem? The problem was that, to start the sorting algorithm, I would press a button and it would call the sorting function. But.. once it starts, it does everything in ONE frame, instead of waiting for the delay I set. So once I understood my mistake, I rewrote the algorithm in the exact same way but in a step-by-step style, without using any kind of loops. Now, thanks to this new approach, I managed to add a delay between the swaps! Thanks to this, I even managed to add a simple animation when the sorting is completed! Next features The next features that I’m working to add is: More algorithms (of course), but to add them I wanna do something special.. Since this project is a way for me to learn to code better.. I’ll add the other algorithms and the bubble sort in other files and I’ll call the actual functions inside the main.cpp. So they’ll become something like libraries. This is a way to maintain the code clean and even a way for me to learn how to connect multiple files between them! A display box to show a quick description of how the algorithm works and even the pros and cons! (I don’t know if I can but I’ll try). A way to compare stats of the sorting algorithms A slider to choose the speed of the sorting algorithm Then I don’t know.. I thought of something else but I forgot.. lol. Anyway thanks for reading this new devlog and see you onto the next one! Here’s finally a quick video demonstration of the software in function!"}, {"post_id": 20478, "ts": "2026-07-02T02:33:37Z", "hours": 3.1392, "text": "Day 2 - GUI and the first algorithm Hey there! This is the second devlog of my project. I wanted to make it yesterday but I was busy, lol. Yayyy GUI! Anyway, I started implementing a reallyyy rough (I mean really rough) draft of the GUI of the software! Of course, since I’m using the Raylib library, for the GUI I’m using the Raygui library! It was a bit hard to understand at first because of all the types of GUI available, but thanks to the tools offered by raysan5 (aka the creator of Raylib), I managed to find what I needed! (Raysan5 is the real goat, y’all should definitely check him out and all of his work. Especially the raylib library if you want to code a game in the most spartan and raw way possible! Trust me, it’s a real piece of art this library.) Of course, once I’m satisfied of how the code is and after implementing all the features I had in mind, I’ll improve the GUI. That’s mainly because I want to focus first on cleaning the code, optimize it, add the algoritms I want and every feature that I had in mind. Only by then I’ll work on the GUI again, as of now, the positions of the controls on screen are random cause I still need to test them after all! First algorithm! After talking about the GUI, let’s talk about algoritms!The first one I implemented it’s the bubble sort! Quite easy to implement and it works well! Next time, I’ll try to add something else but I doubt cause I still need to do some things first, then I’ll work on adding as many algoritms as possible. I’m going crazy. Of course, when the software starts sorting, I’d like to add some kind of delay to see the rectangles swap places… I though it was easy.. Well.. It isn’t. I spent 1h 30mins just to try and this damn delay and it still doesn’t work. It’s a pain. I hate this. But I should be close to get it right.. Or at least that’s what I hope.. And of course, I shall use no AI to help me in this task and suffer through it. I need to learn on how to overtake this difficulties, so NO Ai and just raw searching on Google, checking out other people’s codes to see if I can apply something to my case, check examples by raylib and the docs, reddit’s posts and anything else that is available, except AI. Anyway, thanks for everything and see you in another devlog! (Yes I know, the screenshot is still useless but once I add this damn delay I’ll try and a quick timelapse of the software working)"}, {"post_id": 18926, "ts": "2026-06-30T03:16:59Z", "hours": 0.8125, "text": "Day 1 - Starting! The Idea Hey y’all! I’m starting this new project about a C++ software that makes it able to visualize sorting algorithms! As of now, I don’t know how many algorithms I’ll add, but I’ll try to add as many algoritms as I can. Why? During this year of high school we started learning C++ and we even got a quick look at Sorting algorithms. I’ve always been curious about them and always wanted to learn more about it but, I couldn’t notice the fact that they were hard to understand, especially for my classmates. But after I helped them personally by making them visualize on paper how the algorithm worked, they seemed to understand better. So, I decided to make a software to visualize them automatically through software! What I’ll use To create this software I’ll use CLion as IDE and C++ as the programming language. To make the GUI and everything I’ll use the Raylib library! It’s a really nice library that I started learning some time ago. I started by remaking Pong by myself without any help and now, I wanted to step up a bit and use it in a more complicated project! See you! This was pretty much everything. I already started writing some code but it isn’t much. I just made the basics and they already need some fixing. This is a quick screenshot of the project as of now. I’ll definitely fix it up tomorrow. Anyway, thanks for everything and see you in another Devlog!"}]...
|
Title: VisualSort by @alessandro_09 | Stardance
D Title: VisualSort by @alessandro_09 | Stardance
Devlogs:
Day 1 - Starting! The Idea Hey y’all! I’m starting this new project about a C++ software that makes it able to visualize sorting algorithms! As of now, I don’t know how many algorithms I’ll add, but I’ll try to add as many algoritms as I can. Why? During this year of high school we started learning C++ and we even got a quick look at Sorting algorithms. I’ve always been curious about them and always wanted to learn more about it but, I couldn’t notice the fact that they were hard to understand, especially for my classmates. But after I helped them personally by making them visualize on paper how the algorithm worked, they seemed to understand better. So, I decided to make a software to visualize them automatically through software! What I’ll use To create this software I’ll use CLion as IDE and C++ as the programming language. To make the GUI and everything I’ll use the Raylib library! It’s a really nice library that I started learning some time ago. I started by remaking Pong by myself without any help and now, I wanted to step up a bit and use it in a more complicated project! See you! This was pretty much everything. I already started writing some code but it isn’t much. I just made the basics and they already need some fixing. This is a quick screenshot of the project as of now. I’ll definitely fix it up tomorrow. Anyway, thanks for everything and see you in another Devlog!
Day 2 - GUI and the first algorithm Hey there! This is the second devlog of my project. I wanted to make it yesterday but I was busy, lol. Yayyy GUI! Anyway, I started implementing a reallyyy rough (I mean really rough) draft of the GUI of the software! Of course, since I’m using the Raylib library, for the GUI I’m using the Raygui library! It was a bit hard to understand at first because of all the types of GUI available, but thanks to the tools offered by raysan5 (aka the creator of Raylib), I managed to find what I needed! (Raysan5 is the real goat, y’all should definitely check him out and all of his work. Especially the raylib library if you want to code a game in the most spartan and raw way possible! Trust me, it’s a real piece of art this library.) Of course, once I’m satisfied of how the code is and after implementing all the features I had in mind, I’ll improve the GUI. That’s mainly because I want to focus first on cleaning the code, optimize it, add the algoritms I want and every feature that I had in mind. Only by then I’ll work on the GUI again, as of now, the positions of the controls on screen are random cause I still need to test them after all! First algorithm! After talking about the GUI, let’s talk about algoritms!The first one I implemented it’s the bubble sort! Quite easy to implement and it works well! Next time, I’ll try to add something else but I doubt cause I still need to do some things first, then I’ll work on adding as many algoritms as possible. I’m going crazy. Of course, when the software starts sorting, I’d like to add some kind of delay to see the rectangles swap places… I though it was easy.. Well.. It isn’t. I spent 1h 30mins just to try and this damn delay and it still doesn’t work. It’s a pain. I hate this. But I should be close to get it right.. Or at least that’s what I hope.. And of course, I shall use no AI to help me in this task and suffer through it. I need to learn on how to overtake this difficulties, so NO Ai and just raw searching on Google, checking out other people’s codes to see if I can apply something to my case, check examples by raylib and the docs, reddit’s posts and anything else that is available, except AI. Anyway, thanks for everything and see you in another devlog! (Yes I know, the screenshot is still useless but once I add this damn delay I’ll try and a quick timelapse of the software working)
Day 3 - Getting somewhere! It’s been a while since my last devlog. Since then, I spent all the time working on the delay between each swap of rectangles. I know that it sounds silly but I really didn’t know how to do it.. But now, I managed to solve it and now it works! What was the problem? The problem was that, to start the sorting algorithm, I would press a button and it would call the sorting function. But.. once it starts, it does everything in ONE frame, instead of waiting for the delay I set. So once I understood my mistake, I rewrote the algorithm in the exact same way but in a step-by-step style, without using any kind of loops. Now, thanks to this new approach, I managed to add a delay between the swaps! Thanks to this, I even managed to add a simple animation when the sorting is completed! Next features The next features that I’m working to add is: More algorithms (of course), but to add them I wanna do something special.. Since this project is a way for me to learn to code better.. I’ll add the other algorithms and the bubble sort in other files and I’ll call the actual functions inside the main.cpp. So they’ll become something like libraries. This is a way to maintain the code clean and even a way for me to learn how to connect multiple files between them! A display box to show a quick description of how the algorithm works and even the pros and cons! (I don’t know if I can but I’ll try). A way to compare stats of the sorting algorithms A slider to choose the speed of the sorting algorithm Then I don’t know.. I thought of something else but I forgot.. lol. Anyway thanks for reading this new devlog and see you onto the next one! Here’s finally a quick video demonstration of the software in function!
Day 4 - A lot of changes So.. It’s been a while.. (again) Unfortunately I started doing other personal things and forgot about this project but I still kept doing small fixes. In fact, I had a 12 day streak but unfortunately I lost it lol. Anyway.. yesterday I finally locked in again and finished what I needed to do! New algorithm! I finally added the Selection sort algorithm! It was a bit harder compared to the bubble sort cause I had some problems while porting it in this new style. Another reason is because of all the refactoring I did of the main code that I’m just about to introduce! ## Splitting files! Like I said in the beginning, this project is a way for me to get better at coding, learn sorting algorithms and even learn new approaches into coding that I haven’t learned at school! For this reason, I decided to learn more about header files and how to split the code on multiple files instead of having just one big .cpp file! As of now, the structure look like this! VisualSort/ ├── images/ │ └── image1.png ├── src/ │ ├── algorithms/ │ │ ├── bubbleSort.h │ │ └── selectionSort.h │ ├── main.cpp │ └── main.h ├── .gitignore ├── CMakeLists.txt └── README.md So now I have the main.h for all the variables needed for the sorting algorithms and the main GUI to function. Then, I have a folder called algorithms where I have all the header files of the algorithms I implemented! (I know that I should make a .h and .cpp file and that the header is only for declaration but I didn’t want to add more files since it’s a simple project). Speed slider! Now, I even added a slider bar to let the user choose the speed of the sorting algorithm! The slider changes the seconds of the delay between every step of the algorithm and it goes from a minimum of 0.1 sec (fastest) and a maximum of 2.0 (slowest). Next features… After all of this I think I’m gonna add atleast 1 or 2 new algorithms, a box to show a quick description of the algorithm and then some stats about the like: Array accesses Comparisons performed Swaps performed (Of course the data will be equal to a normal implementation of the algorithm and not according to my way of implementation.) Something first.. If you ask why I took 4h 36min to implement ONLY these features it’s because I’m not really quick at coding and everytime I tried to implement the Selection sort I always had problems.. and other than that I even had to refactor all the code to divide it into files unfortunately. Anyway, that’s all and see you in the next devlog! Hoping that it will be soon. If I lock in it should be tomorrow maybe or I don’t know. Before saying goodbye, here’s a quick screenshot of how the software looks now!
Day 5 - New algorithm Hey there and there we are in another devlog! This is going to be quite short but whatever. New algorithm I added a new algorithm, the Insertion sort! I tested it multiple times and I managed to get it to work in about an hour. Then, I even fixed a bug where sometimes a value would disappear.. (I didn’t put a “=” , lol) What’s next? Next thing is going to be to add simple stats about the algorithm. Like I said in the previous devlog it’s going to be: Comparisons Swaps Array accesses Another thing I’ll work on is to add a way to show/hide the actual value of a rectangle. It will have a limit, cause when you decide to widen the quantity of values, they don’t have enough space to see the text of the value clearly. Next algorithms I won’t focus on them for now since I already implemented some starting algorithms. I first want to polish some code (It’s going to be bad anyway) and add these little features first.. The reason? Well, I wanted to add Quick sort and Merge sort but they’re quite hard to create in the style I need.. and I noticed that they might need vectors to work.. and they haven’t teached me vectors at school… So first, I need to understand how vectors work in C++, THEN I’ll add Merge sort and Quick sort (Or I’ll just ignore them and ship the project anyway. I’ll definitely add them after shipping though) (Oh yeah, I also need to fix how the rectangle change color when the sorting is active. It’s a bit rough now.. I need to make it better.) Anyway see you in another devlog and thank you!
Day 6 - I don’t know what to put… Hey there, this is going to be another quick devlog.. I usually post devlogs as I make commits so, everytime I commit something to the repo I make a devlog and say what I did, lol Anyway.. there we go. Statistics!! Yayyy! I’ve finally added statistics! So now, every time you finish sorting a range of values, it shows how many comparisons and swaps the algorithm performed and how many array accesses it made! It wasn’t hard to implement but for now it works only for bubble sort and selection sort! (I was lazy and didn’t want to add it yesterday lol). And still isn’t quite complete.. cause I don’t know for what reason but if I compare the statistics with a normal implementation of the algorithm, my Selection sort appears to do one cycle more than it needs too.. So I have to check that out. Other things After adding the statistics I just cleaned up some code, added some comments so people can actually understand what everything does and then added a quick button to show/hide the text under the rectangles with a limit. The limit is there so that you can still see the text of the rectangles without them overlapping on each other.
Day 7 - A lot of changes And there we are! After about.. a week from the last devlog and I’ve made some changes since then! Vectors! Yay! Now the entire code uses vectors instead of arrays! At first I used arrays cause it was the only thing I knew, but I read some guides about vectors and I refactored the entire code to use them instead! After doing this, I can easily implement merge sort and quick sort! Problems While reworking the code, I had quite some problems with the selection sort and insertion sort since it crashed the program when I tried to sort the values. I tried everything, but once I found the problems, I didn’t know how to fix them. So unfortunately, I had to use ChatGPT to help me fix them since I really didn’t know how. (Every change I made with AI it’s tagged with the prefix //AI: in the comments of the code.) I didn’t want to use AI cause I want to learn these things by myself and without any help of AI, after all I’m still learning and I said at first that this project it’s just a way for me to practice. But I guess it’s fine to get help from time to time, I just need to not do it often and try by myself first! That’s all for this devlog and see you in another devlog! (Yeah, the screenshot is the same as the previous one since I didn’t change anything graphically, lol)
Day 8 - Yay, new algorithm! There we are after another week.. it’s gonna be quick since I didn’t change many things. New sorting algorith, merge sort! yay! After reworking the entire code to use vectors, I managed to add the merge sort algorithm! I had to use some AI because after making the basic implementation, it just kept crashing the program. The problem was that the function that merged everything had recursions in it, and since my way of visualizing this sorting algorithms is step-by-step, it would cause calling the function too many times until it crashed. Anyway, after fixing with ChatGPT now it works well and it shouldn’t have any problem! Next thing I’ll work on is: Quick sort, so at least I have 5 algorithms for shipping Add a way to show a quick description of the algorithm Add a way to compare the algorithms (I’m not sure I’ll add it though as I have no idea what to compare) Cleaning up some code Work more on the animations while sorting (they’re kinda ugly but I have no idea how to make them better) Here’s a quick screenshot of the merge algorithm working!
Day 9 - Getting ready to ship! And once again… there we are after another week! Unfortunately I love procrastinating and playing games with my friends so I’m working on these project less… ops. Anyway let’s talk about the new changes! New GUI Layout! I gave the GUI a quick rework to make it a bit prettier. It’s not a work of art, I know. But it’s still something cmon.. At least it’s better than the previous one… Descriptions! I added a box on the GUI to show a quick and easy to understand (I hope) description of the algorithm that the user is using! It’s quick and easy to understand since this software is supposed to help people who had some problems learning these algorithms! Yeah… So, I decided to not include the Quick Sort since I don’t know how to add it… It’s pretty hard and after trying for a bit I decided to drop it directly together with the feature of comparing algorithms. It was a bit difficult… Fixes and last things before shipping! While working, I encountered some bugs and immediately fixed them. Now the software has some more checks so that people can’t press the “Sort” button while already sorting and can’t switch algorithm while sorting! So now, I just have to finish writing the README with all the instructions on how to compile the project and it’s ready to ship! I should be able to do it by tomorrow! Thanks for everything and see you in the next, and probably last, devlog!
Day 10 - Final devlog! And just like I said.. There we go.. This is going to be my last devlog before shipping! I’ve updated the readme of the repo with instructions on how to compile the program and should be good to ship! Now I just have to make the release on GitHub and change the project info and ship it! It’s not a big project, I know. And the code is probably the worst thing ever lol. But at least I’m happy that I started to work on making random and fun projects like this to learn how to code better! It’s been fun and it was nice to learn all of these things! After shipping I’ll definitely start working on 2 new projects! I won’t say anything cause I’m not sure if I’ll be able to do one of them since it’s pretty hard.. but who knows. Anyway.. Thanks for everything and see you in another project!
Uhh.. Okay.. I might have forgotten to add some things… I forgot to add the colors to the Merge sort and then to add the platform matrix on the GitHub README… Well it was quick… I mean, as of now the software is only for Windows as I don’t know at all how to compile for other platforms.. But don’t worry.. If I choose to work on one of the two project I mentioned in the previous devlog, I’ll definitely try to add Linux support! Okay.. now this is the last devlog. for real. Byee!
Thanks to everyone! Hey there, it’s been a while! My project got approved and I got my payout, yay! I’ve been absent for quite a while because of summer holidays and other than that I just played games with my friends.. Lol Anyway, I’m finally back and ready to make another project! This time, the project I want to make is REAALLY hard.. And I don’t think I’ll ever manage to get it done. But who cares right? I mean, this is what programming is all about… Making things to improve yourself even if they’re hard! And you can even have fun in the meanwhile! (while suffering too, but those are details.. shh) I genuinely hope I’ll be able to make a good project even if I don’t have enough time.. I should have made this project sooner.. Better late than never… I’ll make the first devlog of the project tomorrow (or later, since for me it’s currently 1:49AM) and I won’t reveal much! But if you go check out my profile you can see for yourself what’s about! For last, I want to thank everyone that rated my project and gave me so much feedback! I don’t know if I’ll work on this project again since it was just something to prepare myself for other projects and ideas of mine but I’ll think about it.. Thanks for everything and hope to see y’all on my other project! I know that it’s nothing and probably bad compared to some big projects I checked out here on Stardance, and honestly I’m amazed by what teenagers can do at this age.. Genuinely, some people are crazy and I admire them so much and I hope one day, even if it’s late compared to them, I’ll be able to create projects like theirs! Love you all! (screenshot of a silly cat since I don’t have anything to show)
Ships:
I made a C++ software based on Raylib and Raygui to visualize how sorting algorithms work! Working on this project was a bit challenging for me as I never code something like this and by using external libraries! Another challenging thing was implementing the sorting algortihms since I didn’t find a way to implement them with their original code! I’m proud of what I’ve made and I’m happy to have learned a lot of new things and new ways to code! One thing people should know is that unfortunately this software is for Windows only and not for Linux or MacOS. I don’t know how to compile code for those platforms but I’ll learn how to do it!...
|
1792968897.278562
|
1793055297.278562
|
|
3140
|
禅文 Zenwen by @dylank | Stardance
|
dylank
|
1
|
21.0
|
243
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T00:49:03Z", "hours": 21.0, "multiplier": 11.65, "payout": 243, "blessing": "neutral", "text": "🏯 禅文 Zenwen Ship #1 Learning Chinese is hard, Zenwen makes it easier. Use the live page here: Zenwen Demo Bear in mind, it’s a demo, so no data is saved. As soon as you reload it’ll be lost. More info on running locally here: Main Repository What even is 禅文 Zenwen? Zenwen is an app to help you learn Chinese, and other languages if you wish. As of this ship, Zenwen is a vocab system designed to work for just about any need a user wants, while simple and easy to use. What was challenging First and foremost, learning Flutter was challenging. Dart is simple enough, but Flutter was something I had never seen before. The second challenge was figuring out an efficient data structure to store the many things users can create. This was challenging because I had to figure out how to store many decks with many vocab, while also being able to sort through them, search them, delete data, and access them quickly. Why I am proud! What makes me proud is that I learned an entire new framework and a lot about data storage that I had previously never touched. Learning this unlocks a whole world of coding opportunities that I’m excited to explore! Another thing I’m proud about is that I’ve learned how to debug better. I have learned how to use print functions usefully as well as things I previously didn’t know would cause errors.", "repo": "https://github.com/RandoWhoCodes/Zenwen/", "demo": "https://randowhocodes.github.io/Zenwen_Demo/"}]...
|
[{"post_id": 21193, "ts": "202 [{"post_id": 21193, "ts": "2026-07-03T00:20:20Z", "hours": 0.4414, "text": "🏯 禅文 Zenwen Day 11: SHIIIIIIIP!!!! Finally! Zenwen is shipped for the first time! (but expect lots more to come) Live demo here: Zenwen Demo , bear in mind all data is temporary and will be lost if you refresh. QoL Improvements Learning languages is no longer tedious. Handle everything you need in 1 place without complications. Supports every language! There are 3 things you can add when creating vocab: character, pronunciation, meaning. This means you could translate Egyptian hieroglyphics to Hindi as a French speaker if you really wanted to. Search for decks, and vocab! Forgot what deck some vocab is in, or just have way too many decks? No worries, just search for it! My Dictionary, all your vocab in 1 place! Simply want to see how much vocab you have or are just skimming through what you know? This is the perfect feature for you. 🐉 Chinese word of the day: 进步: progress, to make progress Pronounced: jìnbù Example: “我有了一点进步”, “I have made a little progress”"}, {"post_id": 20482, "ts": "2026-07-02T02:45:29Z", "hours": 0.7764, "text": "🏯 禅文 Zenwen Day 10: EVERYTHING WORKS!!! Finally! What I did during these 44 minutes Long story short, there was an indexing error when a search result wasn’t found. It was supposed to give a message like “no results matched your search”, but instead, it gave a big scary red screen saying “index is supposed to be less than 1: 1”. I had no clue what was wrong. Took a while to figure it out. Turns out I was stupid and trying to do widget.myDictionary.length when I was supposed to do widget.myDictionary[\"vocab\"].length . What’s coming next Ship! Everything is ready. Expect a ship tomorrow if I can set up the demo correctly! 🀄 Chinese word of the day Word: 买 Pronounced: mǎi Example: “我买了筷子。“ - “I bought chopsticks.”"}, {"post_id": 16117, "ts": "2026-06-26T06:28:13Z", "hours": 0.8953, "text": "🏯 Zenwen Day 9: everything works! Well, for now, at least. Overall, pretty quick and easy day. Simple bug fixes, simple feature expansions. What I did Fixed logic for when it was searching through My Dictionary for Strings that match the search Switched some 0s to 1s and stuff so it wouldn’t make duplicate search results or have indexing errors Added a search bar to the edit deck page so now you can search from every screen! What this means I’m almost ready to ship! Project works well enough to be tested, GitHub is up to date with commits. All I need to do is make the README and get a live web demo up and running! 🀄 Chinese word of the day 绿茶 (lǜ chá): Green Tea 我喜欢喝绿茶! I like drinking green tea!"}, {"post_id": 13968, "ts": "2026-06-22T22:33:18Z", "hours": 2.3914, "text": "🏯 禅文 Zenwen Day 8, SEARCH BAR WORKS (mostly)!!!! Learning Chinese is hard. Zenwen makes it easier. Create infinite decks and vocab and find them easily! Apparently Expanded() widgets can only go in certain other widgets, so I was stuck solving bugs for nearly 45 minutes. Sometimes I question why I like coding. The logic for searching vocab is broken, but that was just me being dumb. Should be easy enough to fix. Will need to do heavy optimizing after I ship because I wrote it in probably the least efficient way possible, but it’s fine for now. Chinese word of the day: 飞机 (fēi jī) Means “airplane” ”这是飞机” = “this is an airplane”"}, {"post_id": 12895, "ts": "2026-06-21T03:44:53Z", "hours": 3.4953, "text": "🏯 禅文 Zenwen Day 6 & 7 (I swear that isn’t on purpose) TL;DR Finished My Dictionary; now there’s a master list of all your vocab! Great for if you want to see your progress or just forget a word. Starded working on a search bar! Worked on making my computer less laggy (no time logged for this) The Search Bar What’s the point in being able to make a bunch of decks and vocab if it takes too long to find them? Exactly, there is none. Today I started working on adding a search bar to the header of the app. Surprisingly, the logic behind it is pretty simple. Just iterate through the Maps and Lists . If an item matches your search, add it to a results Map . What I Learned You know those simple, boring headers at the top of basically every app? That’s what us Flutter devs call an AppBar . Apparently, AppBars have multiple parts: leading title (already knew about this one) trailing actions bottom The bottom is what I use for the search bar. Essentially, the bottom is an extension of widgets that are below the title. In order to make it work, you need to give the Scaffold (the parent of the AppBar ) specific details about the extension so that it renders properly. Specifically the height, which can’t be dynamic. 🀄 Since you made it this far Chinese word of the day: 吗 (pronounced “ma”) used to turn a statement into a yes or no question 你喜欢茶: You like tea. 你喜欢茶 吗 : Do you like tea?"}, {"post_id": 11430, "ts": "2026-06-18T18:14:30Z", "hours": 2.6472, "text": "🏯 禅文 Zenwen Day 5: documenting & my favorite feature! (and fixing 1028 issues with my computer) ⌚ TL;DR I added lots of comments to the code so that future me & other people can easily understand the code. Also started adding a cool feature called My Dictionary. 📝 Adding comments (finally) Wanna know something I never do? Add comments. Well at least not until today. Today I spent most of my time doing a well needed cleanup of the codebase, adding comments and making it readable to future me and other people. Since flutter can quickly start looking like a random jumble of widgets, adding these comments really helped me understand exactly what everything is doing and will help others understand as well. 📕 My Dictionary, my favorite feature! I also started working on adding a major QoL improvement, a deck that contains all the vocab you’ve created. Have you ever had a word on the tip of your tongue but just can’t quite remember it? That’s no longer a problem. With My Dictionary, you can open it up and quickly search up that word in just 3 clicks. You can also see how much vocab you have created, which feels amazing when you see how much you’ve learned! 🪲 1028 issues with my computer Don’t ask. I don’t have any answers for you. I checked Lenovo Vantage and now it finally makes sense why my computer struggled to run the file explorer. After a few hours of a well needed scan and fix by Lenovo Smart Performance, my computer now runs (mostly) smoothly once again."}, {"post_id": 10470, "ts": "2026-06-17T06:26:24Z", "hours": 2.2861, "text": "🏯 禅文 Zenwen - Devlog 4️⃣ 👋 你好! Zenwen is an app to help people learn Chinese. As someone with a 970 day Duolingo streak, I know what us language learners need. ⌚ TL;DR HIT THE 10 HOUR MARK 🎉 Today I made the vocab page and made it so you can delete decks. I also polished up the graphics a bit. 📕 What I Learned Today I learned lots of useful things! I learned about some new styling for Material() widgets, along with 4 new widgets: Stack() IntrinsicHeight() Expanded() Padding() Also learned how to make if else statements in ListView.builders! 🗣️ In depth summary Today’s main objective was making the vocab page. To do this I used a simple ListView.builder to iterate through the vocab lists. One issue I had was the layout of the vocab. I wanted an equally spaced horizontal layout with a delete button floating at the right. This was a problem because I only knew about the Row() widget. In order to get the layout I wanted, I had to learn about Stack() and IntrinsicHeight() and Padding() and Expanded(). Another thing I ran into was that it crashed when I deleted all the decks or all the vocab. In order to fix this I learned about if else statements to create different widgets based on the conditions! 👣 Next Steps I’m almost ready to ship! I still have to make a few things though: a master vocab deck, and ideally a search bar. If the search bar goes well then I can also add filters for the decks if I decide it’s worth it."}, {"post_id": 9750, "ts": "2026-06-16T05:30:36Z", "hours": 2.9556, "text": "🏯 禅文 Zenwen - Devlog 3️⃣ 你好! Zenwen is an app to help people ACTUALLY learn languages. As someone with a 970 day Duolingo streak, I know what us learners need. The first thing I’m making for the app is vocab decks, and I’m almost ready to ship this! Today was focused on displaying the actual vocab in the decks as well as being able to add new vocab. Learned a lot about how to handle inputs in Flutter. This morning I realized my button layout wasn’t very convenient for users, so I had to rearrange it, which forced me to learn about InkWell, which will help me learn a lot moving forward."}, {"post_id": 9005, "ts": "2026-06-15T00:43:06Z", "hours": 1.8233, "text": "🏯 禅文 Zenwen - Devlog 2️⃣ 你好! Zenwen is an app I’m making with Flutter to help people ACRUALLY learn languages. As someone with a 970 day Duolingo streak, I know what us language learners need to actually be successful. Made a lot of progress today! I developed a basic display of vocab decks, which includes: title, description, practice button, edit button. Also made a way to create new vocab decks, by clicking the button at the bottom right. You can’t view or add vocab yet, that’s hopefully coming tomorrow. The UI is pretty bare bones right now. I’m focused on functionality before I make it look good. As for bugs I encountered, the entire app crashed when I switched from using a stateless widget to a stateful widget. Quickly discovered this was me being stupid because I forgot to restart the app. Apparently hot reload doesn’t like big changes between stateless and stateful."}, {"post_id": 8526, "ts": "2026-06-14T05:35:36Z", "hours": 3.3131, "text": "🏯 禅文 Zenwen - Devlog 1️⃣ Zenwen is (will be) an app to help people ACTUALLY learn languages like Chinese. As someone with a 960 day Duolingo streak, I know exactly what us language learners need. My first ship will be a tool for making and studying vocab decks to seamlessly fit in with your day. Today was a short but productive. The app is basically just a blank screen on the front end, but the systems are falling into place in the code. Today I developed the system for storing vocab decks. Now it should be fairly easy to add flashcards and other study tools. The first hour or so of the day was spent fixing VSCode because lots of things were breaking. It said my phone was connected, but it wouldn’t show up. The Flutter extension also stopped working. Changed the name from Zhenwen to Zenwen. Zhenwen has religious cultural meanings, so I want to respect that. 真文 means “true text”, which has meanings in Taoism. 禅文 (technically chánwén) essentially means “peaceful language”. For your entertainment here is a screenshot of a stupid bug that confused me for 30 minutes. 99k pixel overflow. Can’t wait to see what the next week will bring and watch this app come to life!"}]...
|
Title: 禅文 Zenwen by @dylank | Stardance
Devlogs:
Title: 禅文 Zenwen by @dylank | Stardance
Devlogs:
🏯 禅文 Zenwen - Devlog 1️⃣ Zenwen is (will be) an app to help people ACTUALLY learn languages like Chinese. As someone with a 960 day Duolingo streak, I know exactly what us language learners need. My first ship will be a tool for making and studying vocab decks to seamlessly fit in with your day. Today was a short but productive. The app is basically just a blank screen on the front end, but the systems are falling into place in the code. Today I developed the system for storing vocab decks. Now it should be fairly easy to add flashcards and other study tools. The first hour or so of the day was spent fixing VSCode because lots of things were breaking. It said my phone was connected, but it wouldn’t show up. The Flutter extension also stopped working. Changed the name from Zhenwen to Zenwen. Zhenwen has religious cultural meanings, so I want to respect that. 真文 means “true text”, which has meanings in Taoism. 禅文 (technically chánwén) essentially means “peaceful language”. For your entertainment here is a screenshot of a stupid bug that confused me for 30 minutes. 99k pixel overflow. Can’t wait to see what the next week will bring and watch this app come to life!
🏯 禅文 Zenwen - Devlog 2️⃣ 你好! Zenwen is an app I’m making with Flutter to help people ACRUALLY learn languages. As someone with a 970 day Duolingo streak, I know what us language learners need to actually be successful. Made a lot of progress today! I developed a basic display of vocab decks, which includes: title, description, practice button, edit button. Also made a way to create new vocab decks, by clicking the button at the bottom right. You can’t view or add vocab yet, that’s hopefully coming tomorrow. The UI is pretty bare bones right now. I’m focused on functionality before I make it look good. As for bugs I encountered, the entire app crashed when I switched from using a stateless widget to a stateful widget. Quickly discovered this was me being stupid because I forgot to restart the app. Apparently hot reload doesn’t like big changes between stateless and stateful.
🏯 禅文 Zenwen - Devlog 3️⃣ 你好! Zenwen is an app to help people ACTUALLY learn languages. As someone with a 970 day Duolingo streak, I know what us learners need. The first thing I’m making for the app is vocab decks, and I’m almost ready to ship this! Today was focused on displaying the actual vocab in the decks as well as being able to add new vocab. Learned a lot about how to handle inputs in Flutter. This morning I realized my button layout wasn’t very convenient for users, so I had to rearrange it, which forced me to learn about InkWell, which will help me learn a lot moving forward.
🏯 禅文 Zenwen - Devlog 4️⃣ 👋 你好! Zenwen is an app to help people learn Chinese. As someone with a 970 day Duolingo streak, I know what us language learners need. ⌚ TL;DR HIT THE 10 HOUR MARK 🎉 Today I made the vocab page and made it so you can delete decks. I also polished up the graphics a bit. 📕 What I Learned Today I learned lots of useful things! I learned about some new styling for Material() widgets, along with 4 new widgets: Stack() IntrinsicHeight() Expanded() Padding() Also learned how to make if else statements in ListView.builders! 🗣️ In depth summary Today’s main objective was making the vocab page. To do this I used a simple ListView.builder to iterate through the vocab lists. One issue I had was the layout of the vocab. I wanted an equally spaced horizontal layout with a delete button floating at the right. This was a problem because I only knew about the Row() widget. In order to get the layout I wanted, I had to learn about Stack() and IntrinsicHeight() and Padding() and Expanded(). Another thing I ran into was that it crashed when I deleted all the decks or all the vocab. In order to fix this I learned about if else statements to create different widgets based on the conditions! 👣 Next Steps I’m almost ready to ship! I still have to make a few things though: a master vocab deck, and ideally a search bar. If the search bar goes well then I can also add filters for the decks if I decide it’s worth it.
🏯 禅文 Zenwen Day 5: documenting & my favorite feature! (and fixing 1028 issues with my computer) ⌚ TL;DR I added lots of comments to the code so that future me & other people can easily understand the code. Also started adding a cool feature called My Dictionary. 📝 Adding comments (finally) Wanna know something I never do? Add comments. Well at least not until today. Today I spent most of my time doing a well needed cleanup of the codebase, adding comments and making it readable to future me and other people. Since flutter can quickly start looking like a random jumble of widgets, adding these comments really helped me understand exactly what everything is doing and will help others understand as well. 📕 My Dictionary, my favorite feature! I also started working on adding a major QoL improvement, a deck that contains all the vocab you’ve created. Have you ever had a word on the tip of your tongue but just can’t quite remember it? That’s no longer a problem. With My Dictionary, you can open it up and quickly search up that word in just 3 clicks. You can also see how much vocab you have created, which feels amazing when you see how much you’ve learned! 🪲 1028 issues with my computer Don’t ask. I don’t have any answers for you. I checked Lenovo Vantage and now it finally makes sense why my computer struggled to run the file explorer. After a few hours of a well needed scan and fix by Lenovo Smart Performance, my computer now runs (mostly) smoothly once again.
🏯 禅文 Zenwen Day 6 & 7 (I swear that isn’t on purpose) TL;DR Finished My Dictionary; now there’s a master list of all your vocab! Great for if you want to see your progress or just forget a word. Starded working on a search bar! Worked on making my computer less laggy (no time logged for this) The Search Bar What’s the point in being able to make a bunch of decks and vocab if it takes too long to find them? Exactly, there is none. Today I started working on adding a search bar to the header of the app. Surprisingly, the logic behind it is pretty simple. Just iterate through the Maps and Lists . If an item matches your search, add it to a results Map . What I Learned You know those simple, boring headers at the top of basically every app? That’s what us Flutter devs call an AppBar . Apparently, AppBars have multiple parts: leading title (already knew about this one) trailing actions bottom The bottom is what I use for the search bar. Essentially, the bottom is an extension of widgets that are below the title. In order to make it work, you need to give the Scaffold (the parent of the AppBar ) specific details about the extension so that it renders properly. Specifically the height, which can’t be dynamic. 🀄 Since you made it this far Chinese word of the day: 吗 (pronounced “ma”) used to turn a statement into a yes or no question 你喜欢茶: You like tea. 你喜欢茶 吗 : Do you like tea?
🏯 禅文 Zenwen Day 8, SEARCH BAR WORKS (mostly)!!!! Learning Chinese is hard. Zenwen makes it easier. Create infinite decks and vocab and find them easily! Apparently Expanded() widgets can only go in certain other widgets, so I was stuck solving bugs for nearly 45 minutes. Sometimes I question why I like coding. The logic for searching vocab is broken, but that was just me being dumb. Should be easy enough to fix. Will need to do heavy optimizing after I ship because I wrote it in probably the least efficient way possible, but it’s fine for now. Chinese word of the day: 飞机 (fēi jī) Means “airplane” ”这是飞机” = “this is an airplane”
🏯 Zenwen Day 9: everything works! Well, for now, at least. Overall, pretty quick and easy day. Simple bug fixes, simple feature expansions. What I did Fixed logic for when it was searching through My Dictionary for Strings that match the search Switched some 0s to 1s and stuff so it wouldn’t make duplicate search results or have indexing errors Added a search bar to the edit deck page so now you can search from every screen! What this means I’m almost ready to ship! Project works well enough to be tested, GitHub is up to date with commits. All I need to do is make the README and get a live web demo up and running! 🀄 Chinese word of the day 绿茶 (lǜ chá): Green Tea 我喜欢喝绿茶! I like drinking green tea!
🏯 禅文 Zenwen Day 10: EVERYTHING WORKS!!! Finally! What I did during these 44 minutes Long story short, there was an indexing error when a search result wasn’t found. It was supposed to give a message like “no results matched your search”, but instead, it gave a big scary red screen saying “index is supposed to be less than 1: 1”. I had no clue what was wrong. Took a while to figure it out. Turns out I was stupid and trying to do widget.myDictionary.length when I was supposed to do widget.myDictionary["vocab"].length . What’s coming next Ship! Everything is ready. Expect a ship tomorrow if I can set up the demo correctly! 🀄 Chinese word of the day Word: 买 Pronounced: mǎi Example: “我买了筷子。“ - “I bought chopsticks.”
🏯 禅文 Zenwen Day 11: SHIIIIIIIP!!!! Finally! Zenwen is shipped for the first time! (but expect lots more to come) Live demo here: Zenwen Demo , bear in mind all data is temporary and will be lost if you refresh. QoL Improvements Learning languages is no longer tedious. Handle everything you need in 1 place without complications. Supports every language! There are 3 things you can add when creating vocab: character, pronunciation, meaning. This means you could translate Egyptian hieroglyphics to Hindi as a French speaker if you really wanted to. Search for decks, and vocab! Forgot what deck some vocab is in, or just have way too many decks? No worries, just search for it! My Dictionary, all your vocab in 1 place! Simply want to see how much vocab you have or are just skimming through what you know? This is the perfect feature for you. 🐉 Chinese word of the day: 进步: progress, to make progress Pronounced: jìnbù Example: “我有了一点进步”, “I have made a little progress”
Ships:
🏯 禅文 Zenwen Ship #1 Learning Chinese is hard, Zenwen makes it easier. Use the live page here: Zenwen Demo Bear in mind, it’s a demo, so no data is saved. As soon as you reload it’ll be lost. More info on running locally here: Main Repository What even is 禅文 Zenwen? Zenwen is an app to help you learn Chinese, and other languages if you wish. As of this ship, Zenwen is a vocab system designed to work for just about any need a user wants, while simple and easy to use. What was challenging First and foremost, learning Flutter was challenging. Dart is simple enough, but Flutter was something I had never seen before. The second challenge was figuring out an efficient data structure to store the many things users can create. This was challenging because I had to figure out how to store many decks with many vocab, while also being able to sort through them, search them, delete data, and access them quickly. Why I am proud! What makes me proud is that I learned an entire new framework and a lot about data storage that I had previously never touched. Learning this unlocks a whole world of coding opportunities that I’m excited to explore! Another thing I’m proud about is that I’ve learned how to debug better. I have learned how to use print functions usefully as well as things I previously didn’t know would cause errors....
|
1792986545.5278752
|
1793072945.5278752
|
|
22654
|
Umbra by @urged-st | Stardance
|
urged-st
|
1
|
19.0
|
243
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T19:00:39Z", "hours": 19.0, "multiplier": 12.73, "payout": 243, "blessing": "neutral", "text": "umbra is a browser-based exoplanet transit simulator. you get a star, a planet on an adjustable orbit, and a live light curve that dips every time the planet crosses in front of the star. sliders control planet size, orbit radius, orbit speed and eccentricity, and there’s a set of presets so you can jump straight to different planet types (hot jupiter, super-earth, earth-like, etc) without tuning everything by hand. getting the orbit itself right was very hard. circular orbits are easy, but real planets have eccentric ones, which means solving kepler’s equation to work out where the planet actually is at any given moment. did that with newton-raphson, a handful of iterations converges fast enough to run every frame without lagging. have fun!", "repo": "https://github.com/urged-st/Umbra", "demo": "https://umbra-sim.vercel.app"}]...
|
[{"post_id": 27915, "ts": "202 [{"post_id": 27915, "ts": "2026-07-13T20:51:32Z", "hours": 3.1261, "text": "Umbra — Adding Some Chaos (On Purpose) Real telescopes don’t hand you a perfect light curve, they hand you a noisy mess with a signal buried in it, so I added a noise toggle to make Umbra actually look like real data instead of a simple ahh textbook diagram Used a Box-Muller transform to turn two uniform randoms into a proper gaussian sample, tuned roughly to TESS-scale scatter so it’s not comically noisy, just enough to make the dip look like something you’d actually have to squint at New “N” button sits next to the reset one, goes amber when it’s on, same button family as everything else up there The bit I actually spent time thinking about, which was that the noise only touches what gets drawn on the graph, not the underlying flux value. Transit detection, transit counting, period measurement, and the stats panel all still read the clean number I wanted it this way on purpose, in real analysis you don’t just throw the noise away, you fit the curve through it, so having Umbra’s detection stay accurate underneath a noisy-looking graph felt like the more honest way to represent that, rather than making the sim itself worse at its job just for realism points lol"}, {"post_id": 27093, "ts": "2026-07-12T10:56:00Z", "hours": 2.3894, "text": "Umbra - Making the Dip Actually Mean Something Kepler solved the “where the heck is the planet” issue, but I still had a “how much light does it actually block” issue, and the answer wasn’t as simple as I first thought My first instinct was just measuring the distance between planet and star centres and eyeballing a dim amount from that, which is wrong the second the planet is anything other than fully in or fully out What you actually need is the overlap area between two circles, so I built circleOverlapArea() using the proper lens equation, it takes the centre distance plus both radii and works out the exact overlapping region This is what gives you the sloped ingress and egress on the light curve instead of a dip that just snaps to a flat bottom, which is a lot closer to what a real transit looks like Also added depth ordering off the back of this, since I needed to know when the planet’s on the near side of the orbit vs the far side so it draws in front of or behind the star correctly (sin of the eccentric anomaly tells you which side you’re on, handy) Once the flux number was actually trustworthy, I edited the instrumentation to go with it: fixed the stats panel (radius ratio, current flux, transit depth, max depth, eccentricity, transit count, measured period) rising-edge detection so it counts transits and times the period itself, rather than me just reading it off the speed slider fixed the light curve graph itself, plotting flux over time with gridlines so you can actually see the dip shape as it happens Genuinely didn’t expect the geometry bit to be the harder half of this session, Kepler felt like the scary one going in but the overlap maths turned out to be the fiddlier of the two! I also distributed all my code into separate files as for some reason I put it all inline in one html file and I got some reviews about file structure on my other projects, so didn’t want to repeat that lol"}, {"post_id": 26213, "ts": "2026-07-10T21:36:46Z", "hours": 4.0325, "text": "Umbra — Kepler’s Equation Nearly Broke Me So remember in the first devlog when I said I spent 2+ hours just getting the orbit right? Turns out “right” was still wrong, the planet was moving at constant angular speed the whole time, which is basically not how orbits work Real orbits speed up near the star and slow down far away (thanks Kepler), so I had to actually solve Kepler’s equation properly instead of faking it Problem is M = E − e·sin(E) has no closed-form solution for E, you can’t just rearrange and solve for it like a normal equation, which I did not know going in and briefly panicked about Ended up using Newton-Raphson to solve it numerically, feels very full circle after doing the same kind of thing for my EPQ (orbital sim for near-Earth objects), except this time it’s converging in like 5 iterations instead of me validating against JPL Horizons for weeks lol The difference is honestly crazy to look at now, the planet visibly rips through periapsis and crawls through apoapsis instead of just gliding round at one speed the whole way, which is exactly what real eccentric orbits do Pretty happy with this 4 hours cause it means I now have actual physics rather than some fake thing only added for the visuals. below are some snippets from the solvers but not the full code of course"}, {"post_id": 15548, "ts": "2026-06-25T08:42:15Z", "hours": 5.0658, "text": "Umbra - Major Update! Ok, I’ll admit I wasn’t too consistent with devlogging as I was with my other projects, so I’ll keep this detailed for that storytelling rating So I started by adding the four sliders - the planet radius, orbit radius, speed, and eccentricity. The eccentricity one was probably the most interesting to build because I didn’t want it to just go from 0 to max in one direction, I made it signed so zero sits in the middle of the slider and you can push the elongation either way. Felt much more intuitive to use. I also had to add a clamp so the orbit can’t intersect the star — without it you could drag the eccentricity up until the planet was literally passing through the star which looked awful. It recalculates the safe maximum every frame based on whatever the other sliders are at, and goes amber with a little “(max)” label if you’re hitting the ceiling. Then I added presets (as always lol): Hot Jupiter, Super-Earth, Earth-like, Eccentric Giant, Grazing Transit, as a dropdown that snaps all the sliders at once. Wanted a way to show off what different orbit types actually look like on the light curve without the user having to dial everything in manually. Each preset fires a little toast notification from the top of the screen with a one-liner about what makes that orbit interesting, which I’m pretty happy with. Last thing was the reset button — just a ↺ in the top right that puts everything back to defaults and clears the graph. Small thing but its actually really useful when you’ve been toying around with this all day 😭, saves me a bit of sanity. If you want more on what I did and why I did it feel free to check out https://instagram.com/urged.st where I post video devlogs!"}, {"post_id": 12699, "ts": "2026-06-20T18:55:31Z", "hours": 4.6267, "text": "Umbra Begins Alright, we’re really hitting the ground running with this one. Started yesterday and I’m already 4 hours deep (my goal is 10hrs minimum for each simulator) Added the heavy UI now so I don’t have to write paragraphs later (wasn’t too bad lol, same styling as the other two sims) Added an orbiting planet (yes I spent two hours + on the planet and getting its orbit right…)"}]...
|
Title: Umbra by @urged-st | Stardance
Devlogs:
Um Title: Umbra by @urged-st | Stardance
Devlogs:
Umbra Begins Alright, we’re really hitting the ground running with this one. Started yesterday and I’m already 4 hours deep (my goal is 10hrs minimum for each simulator) Added the heavy UI now so I don’t have to write paragraphs later (wasn’t too bad lol, same styling as the other two sims) Added an orbiting planet (yes I spent two hours + on the planet and getting its orbit right…)
Umbra - Major Update! Ok, I’ll admit I wasn’t too consistent with devlogging as I was with my other projects, so I’ll keep this detailed for that storytelling rating So I started by adding the four sliders - the planet radius, orbit radius, speed, and eccentricity. The eccentricity one was probably the most interesting to build because I didn’t want it to just go from 0 to max in one direction, I made it signed so zero sits in the middle of the slider and you can push the elongation either way. Felt much more intuitive to use. I also had to add a clamp so the orbit can’t intersect the star — without it you could drag the eccentricity up until the planet was literally passing through the star which looked awful. It recalculates the safe maximum every frame based on whatever the other sliders are at, and goes amber with a little “(max)” label if you’re hitting the ceiling. Then I added presets (as always lol): Hot Jupiter, Super-Earth, Earth-like, Eccentric Giant, Grazing Transit, as a dropdown that snaps all the sliders at once. Wanted a way to show off what different orbit types actually look like on the light curve without the user having to dial everything in manually. Each preset fires a little toast notification from the top of the screen with a one-liner about what makes that orbit interesting, which I’m pretty happy with. Last thing was the reset button — just a ↺ in the top right that puts everything back to defaults and clears the graph. Small thing but its actually really useful when you’ve been toying around with this all day 😭, saves me a bit of sanity. If you want more on what I did and why I did it feel free to check out https://instagram.com/urged.st where I post video devlogs!
Umbra — Kepler’s Equation Nearly Broke Me So remember in the first devlog when I said I spent 2+ hours just getting the orbit right? Turns out “right” was still wrong, the planet was moving at constant angular speed the whole time, which is basically not how orbits work Real orbits speed up near the star and slow down far away (thanks Kepler), so I had to actually solve Kepler’s equation properly instead of faking it Problem is M = E − e·sin(E) has no closed-form solution for E, you can’t just rearrange and solve for it like a normal equation, which I did not know going in and briefly panicked about Ended up using Newton-Raphson to solve it numerically, feels very full circle after doing the same kind of thing for my EPQ (orbital sim for near-Earth objects), except this time it’s converging in like 5 iterations instead of me validating against JPL Horizons for weeks lol The difference is honestly crazy to look at now, the planet visibly rips through periapsis and crawls through apoapsis instead of just gliding round at one speed the whole way, which is exactly what real eccentric orbits do Pretty happy with this 4 hours cause it means I now have actual physics rather than some fake thing only added for the visuals. below are some snippets from the solvers but not the full code of course
Umbra - Making the Dip Actually Mean Something Kepler solved the “where the heck is the planet” issue, but I still had a “how much light does it actually block” issue, and the answer wasn’t as simple as I first thought My first instinct was just measuring the distance between planet and star centres and eyeballing a dim amount from that, which is wrong the second the planet is anything other than fully in or fully out What you actually need is the overlap area between two circles, so I built circleOverlapArea() using the proper lens equation, it takes the centre distance plus both radii and works out the exact overlapping region This is what gives you the sloped ingress and egress on the light curve instead of a dip that just snaps to a flat bottom, which is a lot closer to what a real transit looks like Also added depth ordering off the back of this, since I needed to know when the planet’s on the near side of the orbit vs the far side so it draws in front of or behind the star correctly (sin of the eccentric anomaly tells you which side you’re on, handy) Once the flux number was actually trustworthy, I edited the instrumentation to go with it: fixed the stats panel (radius ratio, current flux, transit depth, max depth, eccentricity, transit count, measured period) rising-edge detection so it counts transits and times the period itself, rather than me just reading it off the speed slider fixed the light curve graph itself, plotting flux over time with gridlines so you can actually see the dip shape as it happens Genuinely didn’t expect the geometry bit to be the harder half of this session, Kepler felt like the scary one going in but the overlap maths turned out to be the fiddlier of the two! I also distributed all my code into separate files as for some reason I put it all inline in one html file and I got some reviews about file structure on my other projects, so didn’t want to repeat that lol
Umbra — Adding Some Chaos (On Purpose) Real telescopes don’t hand you a perfect light curve, they hand you a noisy mess with a signal buried in it, so I added a noise toggle to make Umbra actually look like real data instead of a simple ahh textbook diagram Used a Box-Muller transform to turn two uniform randoms into a proper gaussian sample, tuned roughly to TESS-scale scatter so it’s not comically noisy, just enough to make the dip look like something you’d actually have to squint at New “N” button sits next to the reset one, goes amber when it’s on, same button family as everything else up there The bit I actually spent time thinking about, which was that the noise only touches what gets drawn on the graph, not the underlying flux value. Transit detection, transit counting, period measurement, and the stats panel all still read the clean number I wanted it this way on purpose, in real analysis you don’t just throw the noise away, you fit the curve through it, so having Umbra’s detection stay accurate underneath a noisy-looking graph felt like the more honest way to represent that, rather than making the sim itself worse at its job just for realism points lol
Ships:
umbra is a browser-based exoplanet transit simulator. you get a star, a planet on an adjustable orbit, and a live light curve that dips every time the planet crosses in front of the star. sliders control planet size, orbit radius, orbit speed and eccentricity, and there’s a set of presets so you can jump straight to different planet types (hot jupiter, super-earth, earth-like, etc) without tuning everything by hand. getting the orbit itself right was very hard. circular orbits are easy, but real planets have eccentric ones, which means solving kepler’s equation to work out where the planet actually is at any given moment. did that with newton-raphson, a handful of iterations converges fast enough to run every frame without lagging. have fun!...
|
1792878740.9890122
|
1793742740.9890122
|
|
25344
|
Volleystats by @sqnder_ | Stardance
|
sqnder_
|
1
|
21.88
|
243
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T10:04:52Z", "hours": 18.0, "multiplier": 13.36, "payout": 243, "blessing": "neutral", "text": "I finished the app, for more details read the readme :P. It’s an app to view belgian volleyball data, because the current alternative (volleyscores.be) is a website and heavily relates on js, which makes it harder to navigate.", "repo": "https://github.com/sqnder0/volleystats/tree/master", "demo": "https://github.com/sqnder0/volleystats/releases"}]...
|
[{"post_id": 67859, "ts": "202 [{"post_id": 67859, "ts": "2026-09-14T04:20:56Z", "hours": 3.8753, "text": "Uhh okay so a lot happened the last couple days, let’s see if I remember it all. Club detail pages now render instantly from data the backend was already sending me, instead of firing off a fetch per team just to show one line. Added a filter on the home feed so you can pick a single favorite team when you’ve got a few, and match reminders, a notification 2h before your favorite teams play. Also found out my “cancel all notifications” call was silently wiping out those reminders every time daily summaries rescheduled. Fixed that. Shipped club favoriting, result notifications, win and loss coloring on match cards, and a set scores bottom sheet you can share. Also fixed a really annoying race condition where pull to refresh on club pages looked like it worked but was actually serving stale data. Then I paused feature work and finally added tests and CI, since somehow none existed until now. Consolidated the team and club caching into one thing instead of two almost identical copies, and put all my error logging behind one helper. Also found an embarrassing bug where none of the settings toggles responded when you tapped the switch itself, only when you tapped the text next to it. Last thing, I wired up Firebase Crashlytics. New Firebase project, uncaught errors now get reported automatically, tested it end to end on my phone and watched a fake error show up in the console with the right stack trace. No more finding out about crashes by accident."}, {"post_id": 43870, "ts": "2026-08-09T10:01:24Z", "hours": 0.97, "text": "Did some last bugfixes, wrote a readme and built the release apk"}, {"post_id": 41838, "ts": "2026-08-06T09:27:00Z", "hours": 6.1883, "text": "Uhh Appearently I forgot to log : (. Ok so I’ve been doing a lot but like a lot lot, first off all, the app is now almost ready. It now fetches all it’s data dynamically from my other project volleyscoresapi. I added some features, you can now sync matches with your calendar, get notifications for matches that are happening today. Change the app to a light mode. I created an app icon and a banner. I worked a little on caching for faster startup and I think it’s ready for production."}, {"post_id": 16349, "ts": "2026-06-26T16:29:48Z", "hours": 4.9703, "text": "What have I been doing the last 5 hours, well that’s actually a pretty good question. Let’s see how good my memory still works. (I recommend opening the video in a new tab) First off I added some new models: TeamModel GameModel After that, I had to fix my pages because I now had to fetch data to build these models via my api (checkout volleyscoresapi). Then I noticed some bugs in my api so I also fixed those. Short after I battled with some edge cases where suffixes, that sabotage the lookup of the team. Eventually I lost my patience waiting for models to load so I added a caching system for teams and clubs. Lastly I had to fix some issues where the matchdata of a team wasn’t correctly rendered. Now everything related to search works, I also have models so I don’t have to rely on static data. Next up I’ll be completely revamping the home page so that that also works dynamically, with a cache/ storage system to store your favorite teams."}, {"post_id": 15735, "ts": "2026-06-25T16:33:24Z", "hours": 1.6883, "text": "I made the search page now dynamically fetch club data. You can now easily look up a club and fetch it’s data. Next up is the team data. I’ll probably be creating a custom TeamModel for the ease of use."}, {"post_id": 15498, "ts": "2026-06-25T06:00:23Z", "hours": 4.4025, "text": "Wel uhm maybe I should have devlogged more. I created an app to view all belgian volleybal matches clubs etc… Currently only the search function uses the api I created (volleyscoresapi) and is also available in stardance. I think that this video would suffice what I’ve been doing the past 4h and 24mins."}]...
|
Title: Volleystats by @sqnder_ | Stardance
Devlog Title: Volleystats by @sqnder_ | Stardance
Devlogs:
Wel uhm maybe I should have devlogged more. I created an app to view all belgian volleybal matches clubs etc… Currently only the search function uses the api I created (volleyscoresapi) and is also available in stardance. I think that this video would suffice what I’ve been doing the past 4h and 24mins.
I made the search page now dynamically fetch club data. You can now easily look up a club and fetch it’s data. Next up is the team data. I’ll probably be creating a custom TeamModel for the ease of use.
What have I been doing the last 5 hours, well that’s actually a pretty good question. Let’s see how good my memory still works. (I recommend opening the video in a new tab) First off I added some new models: TeamModel GameModel After that, I had to fix my pages because I now had to fetch data to build these models via my api (checkout volleyscoresapi). Then I noticed some bugs in my api so I also fixed those. Short after I battled with some edge cases where suffixes, that sabotage the lookup of the team. Eventually I lost my patience waiting for models to load so I added a caching system for teams and clubs. Lastly I had to fix some issues where the matchdata of a team wasn’t correctly rendered. Now everything related to search works, I also have models so I don’t have to rely on static data. Next up I’ll be completely revamping the home page so that that also works dynamically, with a cache/ storage system to store your favorite teams.
Uhh Appearently I forgot to log : (. Ok so I’ve been doing a lot but like a lot lot, first off all, the app is now almost ready. It now fetches all it’s data dynamically from my other project volleyscoresapi. I added some features, you can now sync matches with your calendar, get notifications for matches that are happening today. Change the app to a light mode. I created an app icon and a banner. I worked a little on caching for faster startup and I think it’s ready for production.
Did some last bugfixes, wrote a readme and built the release apk
Uhh okay so a lot happened the last couple days, let’s see if I remember it all. Club detail pages now render instantly from data the backend was already sending me, instead of firing off a fetch per team just to show one line. Added a filter on the home feed so you can pick a single favorite team when you’ve got a few, and match reminders, a notification 2h before your favorite teams play. Also found out my “cancel all notifications” call was silently wiping out those reminders every time daily summaries rescheduled. Fixed that. Shipped club favoriting, result notifications, win and loss coloring on match cards, and a set scores bottom sheet you can share. Also fixed a really annoying race condition where pull to refresh on club pages looked like it worked but was actually serving stale data. Then I paused feature work and finally added tests and CI, since somehow none existed until now. Consolidated the team and club caching into one thing instead of two almost identical copies, and put all my error logging behind one helper. Also found an embarrassing bug where none of the settings toggles responded when you tapped the switch itself, only when you tapped the text next to it. Last thing, I wired up Firebase Crashlytics. New Firebase project, uncaught errors now get reported automatically, tested it end to end on my phone and watched a fake error show up in the console with the right stack trace. No more finding out about crashes by accident.
Ships:
I finished the app, for more details read the readme :P. It’s an app to view belgian volleyball data, because the current alternative (volleyscores.be) is a website and heavily relates on js, which makes it harder to navigate....
|
1792986830.5201247
|
1793073230.5201247
|
|
2537
|
JADE by @justin_m_baratta | Stardance
|
justin_m_baratta
|
1
|
25.0
|
242
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-12T23:44:30Z", "hours": 25.0, "multiplier": 11.58, "payout": 242, "blessing": "neutral", "text": "I made JADE, a Siri/Alexa like desktop assistant that uses an rpi + agents to listen to and execute requests. If you say the wakeword “JADE”, then a request like “What’s the weather today?”, it will process the audio into text using the mini mic on the rpi and a speech-to-text engine, send it to an agent (whose tools are filtered with an embedding model then passed to it) and speak the response using the speaker connected to a mini-amp on the raspberry pi. It was difficult learning how to work with a raspberrypi, because this was my first time doing anything with an rpi. I had to teach myself how to solder, and connect wires to a breadboard to the raspberrypi. I’m proud of the work I’ve accomplished in this project, and it has taught me a lot about how to use a raspberrypi and work with agents!", "repo": "https://github.com/Justino4631/JADE", "demo": "https://youtube.com/shorts/tLxb-KHST4U?feature=share"}]...
|
[{"post_id": 43061, "ts": "202 [{"post_id": 43061, "ts": "2026-08-08T03:54:12Z", "hours": 13.9811, "text": "JADE pretty much complete! Its been a while since the last devlog, I know. I’ve been really busy these past couple weeks of summer and have not been able to post, though I was able to work on JADE a little bit every day until its pretty much as done as it is now. To start, the pipeline of JADE is finished, tested, and functional. For hardware, using a mini microphone, mini amp, mini speaker, a breadboard, and lots of jumper wires, I was able to make my first “hardware project” connected to a raspberry pi. The pipeline of waiting for a wakeword (“JADE”), then activating once hearing the wakeword and using a speech to text engine to process audio (all using the microphone), then sending the request to an agent, which will output a message that will be played using text to speech on the mini speaker, all works! Some things I tweaked were, for one, the agentic architecture. Originally, I had a global agent that controlled 5 sub-agents that specialized in specific tasks (e.g. calendar agent, weather agent, etc…) but ended up switching to a one-agent structure that uses an embedding model beforehand to filter for the 5 most relevant tools before passing the query and appropriate tools to the agent. I did this because running multiple agents using the strands API on a raspberrypi is extremely computationally intensive and makes the pi reboot itself. Additionally, the slack tools and slack agent were deleted because they were too complicated and did not fit into the scope of this small project. The calendar tools were also refactored to interface with Google Calendar. All in all, the pipeline works, and this was a great project wherein I learned how to write code and set up a raspberry pi, use agents, and use audio I/O, all which definitely improved my abilities as a programmer. Expect a ship soon!"}, {"post_id": 17275, "ts": "2026-06-28T00:14:53Z", "hours": 2.6511, "text": "Updates on JADE! So! A lot of stuff has happened since the last devlog. I went to Boston last week which is why I wasn’t able to do too much, but I’ve done a lot with the actual hardware component the last couple days… I finished the first iteration of my tools. I have five mini-agents that control tools on the weather, web, calendar, writing (journals, notes, todos), and slack. These are controlled by a kind of global agent. Basically, it takes in the query from the user and selects one of the mini-agents to use, which will then select the tool to use. This was a kind of experiment to see how well agents would interface and control other agents, but it worked well from my testing! I was able to solder pins onto a mini-amplifier, connect a speaker to it, and connect that to my raspberry pi 4 using jumper cables. I wrote a test of the microphone in python and it makes noise! However, I think I must’ve messed up the soldering or something because the audio quality is pretty bad… I started on the Alexa/Siri-like component of the project by training an openwakeword wake-word model on the word “Jade” and am experimenting with having it work better in noisier environments. It does detect when I say “Jade”, which is awesome! Once I solder my mini-microphone and connect it to the pi, I should be able to run the full pipeline. Here are my next steps: Finish “Jade” Wake Word Model + test Train or implement speech to text model, test connection with global agent Connect + test microphone to see if speech to text and wake word run on rpi from mic Fix speaker or solder new speaker and test audio Connect agent response to speaker and test full pipeline"}, {"post_id": 8954, "ts": "2026-06-14T21:55:22Z", "hours": 2.2292, "text": "Writing tools complete- the agent is able to make, edit, and delete todo lists, notes and journals! Mostly tested so far. On the hardware side, I finished soldering everything so I am now able to connect amplifier and speaker to the pi, though not the microphone bc i dont have anough jumpers :( . will start writing software on the pi for connecting and using the speaker and amp."}, {"post_id": 6458, "ts": "2026-06-10T21:21:49Z", "hours": 2.2139, "text": "Finished slack agent/slackbot + tested. Able to read messages from channels and DMs, write and send messages in channels and DMs, reply to threads, get latest messages, search for a keyword."}, {"post_id": 3804, "ts": "2026-06-06T21:07:40Z", "hours": 1.7192, "text": "Web Tools class done + tested! Agent is able to search for a definition (webster dictionary), topic (wikipedia), current news headlines (news API), stock prices (yfinance) and summarize results!"}, {"post_id": 2428, "ts": "2026-06-04T22:07:52Z", "hours": 0.7111, "text": "Weather class completed + tested- agent able to tell current weather conditions and forecasts"}, {"post_id": 2347, "ts": "2026-06-04T19:52:43Z", "hours": 1.3569, "text": "Calendar class for my desktop assistant. Uses Strands API to create classes and methods whose tools the agent that connects to the rpi can use. This first class/tool the global agent can use is finished, a basic calendar to keep track of important stuff."}]...
|
Title: JADE by @justin_m_baratta | Stardance
Devl Title: JADE by @justin_m_baratta | Stardance
Devlogs:
Calendar class for my desktop assistant. Uses Strands API to create classes and methods whose tools the agent that connects to the rpi can use. This first class/tool the global agent can use is finished, a basic calendar to keep track of important stuff.
Weather class completed + tested- agent able to tell current weather conditions and forecasts
Web Tools class done + tested! Agent is able to search for a definition (webster dictionary), topic (wikipedia), current news headlines (news API), stock prices (yfinance) and summarize results!
Finished slack agent/slackbot + tested. Able to read messages from channels and DMs, write and send messages in channels and DMs, reply to threads, get latest messages, search for a keyword.
Writing tools complete- the agent is able to make, edit, and delete todo lists, notes and journals! Mostly tested so far. On the hardware side, I finished soldering everything so I am now able to connect amplifier and speaker to the pi, though not the microphone bc i dont have anough jumpers :( . will start writing software on the pi for connecting and using the speaker and amp.
Updates on JADE! So! A lot of stuff has happened since the last devlog. I went to Boston last week which is why I wasn’t able to do too much, but I’ve done a lot with the actual hardware component the last couple days… I finished the first iteration of my tools. I have five mini-agents that control tools on the weather, web, calendar, writing (journals, notes, todos), and slack. These are controlled by a kind of global agent. Basically, it takes in the query from the user and selects one of the mini-agents to use, which will then select the tool to use. This was a kind of experiment to see how well agents would interface and control other agents, but it worked well from my testing! I was able to solder pins onto a mini-amplifier, connect a speaker to it, and connect that to my raspberry pi 4 using jumper cables. I wrote a test of the microphone in python and it makes noise! However, I think I must’ve messed up the soldering or something because the audio quality is pretty bad… I started on the Alexa/Siri-like component of the project by training an openwakeword wake-word model on the word “Jade” and am experimenting with having it work better in noisier environments. It does detect when I say “Jade”, which is awesome! Once I solder my mini-microphone and connect it to the pi, I should be able to run the full pipeline. Here are my next steps: Finish “Jade” Wake Word Model + test Train or implement speech to text model, test connection with global agent Connect + test microphone to see if speech to text and wake word run on rpi from mic Fix speaker or solder new speaker and test audio Connect agent response to speaker and test full pipeline
JADE pretty much complete! Its been a while since the last devlog, I know. I’ve been really busy these past couple weeks of summer and have not been able to post, though I was able to work on JADE a little bit every day until its pretty much as done as it is now. To start, the pipeline of JADE is finished, tested, and functional. For hardware, using a mini microphone, mini amp, mini speaker, a breadboard, and lots of jumper wires, I was able to make my first “hardware project” connected to a raspberry pi. The pipeline of waiting for a wakeword (“JADE”), then activating once hearing the wakeword and using a speech to text engine to process audio (all using the microphone), then sending the request to an agent, which will output a message that will be played using text to speech on the mini speaker, all works! Some things I tweaked were, for one, the agentic architecture. Originally, I had a global agent that controlled 5 sub-agents that specialized in specific tasks (e.g. calendar agent, weather agent, etc…) but ended up switching to a one-agent structure that uses an embedding model beforehand to filter for the 5 most relevant tools before passing the query and appropriate tools to the agent. I did this because running multiple agents using the strands API on a raspberrypi is extremely computationally intensive and makes the pi reboot itself. Additionally, the slack tools and slack agent were deleted because they were too complicated and did not fit into the scope of this small project. The calendar tools were also refactored to interface with Google Calendar. All in all, the pipeline works, and this was a great project wherein I learned how to write code and set up a raspberry pi, use agents, and use audio I/O, all which definitely improved my abilities as a programmer. Expect a ship soon!
Ships:
I made JADE, a Siri/Alexa like desktop assistant that uses an rpi + agents to listen to and execute requests. If you say the wakeword “JADE”, then a request like “What’s the weather today?”, it will process the audio into text using the mini mic on the rpi and a speech-to-text engine, send it to an agent (whose tools are filtered with an embedding model then passed to it) and speak the response using the speaker connected to a mini-amp on the raspberry pi. It was difficult learning how to work with a raspberrypi, because this was my first time doing anything with an rpi. I had to teach myself how to solder, and connect wires to a breadboard to the raspberrypi. I’m proud of the work I’ve accomplished in this project, and it has taught me a lot about how to use a raspberrypi and work with agents!...
|
1792979310.969031
|
1793065710.969031
|
|
38168
|
Mars Descent Simulator by @aarush_kakade | Stardan Mars Descent Simulator by @aarush_kakade | Stardance...
|
aarush_kakade
|
1
|
19.0
|
242
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-27T11:05:33Z", "hours": 19.0, "multiplier": 12.61, "payout": 242, "blessing": "neutral", "text": "The project has officially reached a shippable state. The core gameplay loop is now complete, the game is playable from start to finish, and the main experience is in place. What began as a rough prototype has turned into something that feels like a real game, and I’m happy with the progress so far. There is still more work to do, but that work is now focused on refinement rather than building the game from scratch. The next steps are to continue debugging, balance the gameplay, fix any remaining faults, and polish the final experience so it feels smoother and more complete. The foundation is done, and now it’s all about making sure everything works well together. This stage feels important because the project is no longer just an experiment or a test build. It has a beginning, a middle, and an end, and the player can now fully experience the game as intended. From here, the remaining improvements are about quality, stability, and presentation.", "repo": "https://github.com/aarushkakade/Mars-Descent-Simulator", "demo": "https://aarushkakade.github.io/Mars-Descent-Simulator/"}]...
|
[{"post_id": 35722, "ts": "202 [{"post_id": 35722, "ts": "2026-07-27T10:39:15Z", "hours": 5.0, "text": "I’ve finally reached the point where the game feels ready. It’s playable, the core systems are working, and it now has enough structure that I can confidently present it as a finished project rather than just an experiment. I still want to keep fixing bugs, improving small details, and removing faults, and AI has been really useful as a coding assistant for debugging and problem-solving during that part of the process. The game is ready — now it’s all about polishing, debugging, and making the final version more stable and refined with the help of AI where needed."}, {"post_id": 35157, "ts": "2026-07-26T12:18:26Z", "hours": 7.0, "text": "I’ve started tightening up the prototype. The lander now feels a bit more controllable, and I’ve added a rough landing check so I can finally test whether the game is actually fun or just falling apart."}, {"post_id": 34800, "ts": "2026-07-25T19:55:09Z", "hours": 4.0, "text": "I’ve moved past the blank page stage and now have a basic lander that falls under gravity, responds to controls, and can actually interact with the ground. It’s still very rough, but I finally have the first playable version of the landing loop."}, {"post_id": 34493, "ts": "2026-07-25T08:05:21Z", "hours": 1.0, "text": "Hey everyone, welcome to the first devlog for my Mars Descent Simulator.I wanted to make a game that captures the tension of landing on Mars — balancing gravity, thrust, fuel, heat, and control as you try to touch down safely. I’m setting up the basic lander and getting gravity working. Right now it’s still very rough — the movement is simple, the visuals are placeholder, and I’m only just beginning to test how the landing should work."}]...
|
Title: Mars Descent Simulator by @aarush_kakade | Title: Mars Descent Simulator by @aarush_kakade | Stardance
Devlogs:
Hey everyone, welcome to the first devlog for my Mars Descent Simulator.I wanted to make a game that captures the tension of landing on Mars — balancing gravity, thrust, fuel, heat, and control as you try to touch down safely. I’m setting up the basic lander and getting gravity working. Right now it’s still very rough — the movement is simple, the visuals are placeholder, and I’m only just beginning to test how the landing should work.
I’ve moved past the blank page stage and now have a basic lander that falls under gravity, responds to controls, and can actually interact with the ground. It’s still very rough, but I finally have the first playable version of the landing loop.
I’ve started tightening up the prototype. The lander now feels a bit more controllable, and I’ve added a rough landing check so I can finally test whether the game is actually fun or just falling apart.
I’ve finally reached the point where the game feels ready. It’s playable, the core systems are working, and it now has enough structure that I can confidently present it as a finished project rather than just an experiment. I still want to keep fixing bugs, improving small details, and removing faults, and AI has been really useful as a coding assistant for debugging and problem-solving during that part of the process. The game is ready — now it’s all about polishing, debugging, and making the final version more stable and refined with the help of AI where needed.
Ships:
The project has officially reached a shippable state. The core gameplay loop is now complete, the game is playable from start to finish, and the main experience is in place. What began as a rough prototype has turned into something that feels like a real game, and I’m happy with the progress so far. There is still more work to do, but that work is now focused on refinement rather than building the game from scratch. The next steps are to continue debugging, balance the gameplay, fix any remaining faults, and polish the final experience so it feels smoother and more complete. The foundation is done, and now it’s all about making sure everything works well together. This stage feels important because the project is no longer just an experiment or a test build. It has a beginning, a middle, and an end, and the player can now fully experience the game as intended. From here, the remaining improvements are about quality, stability, and presentation....
|
1792882032.0494094
|
1793746032.0494094
|
|
61635
|
15919ify+ by @sox123 | Stardance
|
sox123
|
2
|
24.17
|
242
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T18:12:52Z", "hours": 12.0, "multiplier": 9.68, "payout": 117, "blessing": "neutral", "text": "15919ify+ An open-source web utility designed to take in text in 7 Bit ISO 15919 format and transcode it into various Indic Scripts. While built with a modular architecture capable of scaling to multiple languages, it currently only has support for Malayalam, Tamil, Odia and Kannada (not fully ironed out), but has a lot of scripts added with bugs being fixed according to speaker. Current Malayalam setup is made taking huge liberties like introducing various character combinations not in the current standard (ie, chillu letters). Features Scans input strings character-by-character, intelligently grouping multi-character consonant and vowel clusters (up to 3-character keys) Dictionary based mapping system covering all letters and symbols in Malayalam, Tamil, Kannada, Telugu, Devenagari, Odia, Bengali-Asamiya, Gurumukhi, Gujarati, Kaithi (dead script btw), Sinhala, Tibetan, Saurashtra. The challenges The ISO 15919 standard was kinda dumb to start on, because it did not have a native way to express the “Chillu” letters found only in Malayalam, and thus, I had to add to the standard in order to even make Malayalam usable. I’m in India, so school already started in June, and so I had to do it all within the very little time I have (Boards..) Changes since last ship Added many more scripts and made some well supported. Reworked most of the code, so that it is actually modular Added dev guides, so people can actually implement it Relicensed from GPL3 to MIT, so that people can use it in prod without GPL3’ing the whole project Prerequisites before trying it out I suggest checking out the Github repo for typing instructions, beacause most of this is a weird concept so it might be better if you have an idea of how to even do anything. Also, I don’t think most of y’all know these Indic Scripts, so this is defenitely niche, but pretty helpful, becuase all generic tools I tried for the task were pretty bad with Malayalam’s specificity, and also the fact that there is NO tool currently that takes in any form of 15919 and gives a transliteration for Any non-Devanagiri language;", "repo": "https://github.com/Jimvel-src/15919ify", "demo": "https://sox.nekoweb.org/15919.html"}, {"ship_num": 2, "ts": "2026-09-28T12:28:21Z", "hours": 11.0, "multiplier": 11.03, "payout": 125, "blessing": "neutral", "text": "15919ify+ An open-source web utility designed to take in text in 7 Bit ISO 15919 format and transcode it into various Indic Scripts. While built with a modular architecture capable of scaling to multiple languages, it currently only has support for Malayalam, Tamil and Kannada (not fully ironed out). Current Malayalam setup is made taking huge liberties like introducing various character combinations not in the current standard (ie, chillu letters). Features Scans input strings character-by-character, intelligently grouping multi-character consonant and vowel clusters (up to 3-character keys) Dictionary based mapping system covering all letters and symbols in Malayalam, Tamil & Kannada The challenges The ISO 15919 standard was kinda dumb to start on, because it did not have a native way to express the “Chillu” letters found only in Malayalam, and thus, I had to add to the standard in order to even make Malayalam usable. I’m in India, so school already started in June, and so I had to do it all within the very little time I have (Boards..) Prerequisites before trying it out I suggest checking out the Github repo for typing instructions, beacause most of this is a weird concept so it might be better if you have an idea of how to even do anything. Also, I don’t think most of y’all know these Indic Scripts, so this is defenitely niche, but pretty helpful, becuase all generic tools I tried for the task were pretty bad with Malayalam’s specificity, and also the fact that there is NO tool currently that takes in any form of 15919 and gives a transliteration for Any non-Devanagiri language;", "repo": "https://github.com/Jimvel-src/15919ify", "demo": "https://sox.nekoweb.org/15919.html"}]...
|
[{"post_id": 81968, "ts": "202 [{"post_id": 81968, "ts": "2026-10-23T07:35:53Z", "hours": 0.5181, "text": "Just added more of the lanaguage typing instructions MDs, linked them up to the main MD. Also, I found many bugs in the mappings, which i fixed. (Gujarati had chandrabindu mapped as t N and not t M, Bengali-Asamiya had more bugs like the uhh Letter II was used inplace of symbol II accidentally, and some devanagari mappings were not removed.)."}, {"post_id": 81304, "ts": "2026-10-20T19:17:24Z", "hours": 0.6564, "text": "Fixed copy, now can copy without adding “c” to the input. FAQs yall been asking on the rating Do you know all these scripts? Uh, no, not most of them. I know Malayalam (native), Devaagari, English (learnt in school), Tamil and Kannada because I like to learn stuff when i go on tours (im a nerd lol), and i learnt many scripts along this project. I didnt have to “conform” most of the stuf, because most Indic languages are pretty similar, and also because UNICODE and other organisations have already done the work on mappings, so i just had to implement that only. Occcasionally, I did ask forum posts on these langauge speakers, to fix any bugs and add features. Is it a translator? No , it is not a translator. It is a trans literator , it does not convert meanings, it converts sounds. Do not expect everything you type in to be a meaningful output. Often times, it is butchered, because the standard is pretty dumb, and no one ever uses it. Why does it convert everything Vide previous Question. So, most of everything gets transliterated, except when the sound DOESNT exist in the script, when it just ommits it entirely. Since sounds are converted, almost everything is processed. What is this even used for. Interational transliteration based on an International standard. Albeit it is quite stupid, and as a mallu, i feel it is very undeveloped. Only reason i devoloped this is because nobody made anything, and it was a fun project. Why not add more scripts / langauges Well, this project is based on the standard ISO 15919, which is limited to around 10 scripts, and i might have added more, because i trusted the wikipedia table too much. Not only do i not have any time, i also dont need to do something that isnt actually useful. Why does this tool add a virama at the end? Im sorry yall had to add the “a” at the end manually, but this is a slight limitation. Adding inherent virama might break someother langauges, and also other vowel signs. But i will try to see what I can do. What is the arrow thingy in the corner Manual refersh button so that you can manually click it to force a rerender. This is now pretty obsolete, but has existed, so idc."}, {"post_id": 81050, "ts": "2026-10-19T17:39:25Z", "hours": 1.1714, "text": "Rewrote the README so that its actually usable for anybody implementing it. And I think all the features are done on this project, the only thing remaining is to iron out bugs, if any, and to maintain this repo based on issues from speakers"}, {"post_id": 80369, "ts": "2026-10-17T12:54:19Z", "hours": 1.5278, "text": "Added tibetan and sinhala and fixed many syntax errors i made while eepy. I also took the Descision to not do Thai and Nashtaliq for reasons of * thai has funny vowels not compatible perfectly with the current parser and would require a rewrite, *Nashtaliq already has many implementations and standards >I was busy with School so slight delay."}, {"post_id": 78363, "ts": "2026-10-10T15:44:18Z", "hours": 0.5742, "text": "Today was quite unenventful and i was busy with school works, So, i just added Gujarati and Gurumukhi. The Next few are actually a bit tricky being Sinhala, Thai and Tibetan. Thai is very very complicated for me to get my head around (trust me, i tried), Sinhala just has too many letters (and therefore tokens, whcih i will add). Tibetan is also on the same level as thai, due to the phonetic change or sum shi that happened long ago, causing a difference in the written vs the spoken langauge."}, {"post_id": 78125, "ts": "2026-10-09T17:07:49Z", "hours": 1.51, "text": "So, I finally got to fixing a ton of bugs and also added Kaithi (almost dead script) and Saurashatra (not commonly used), and also a QOL onto the example html where you can now refresh without causing text to be entered. Very Much advise to check up, because last version, I had Malayalam’s virama swapped with the anuswara. Should be fixed now. Also updated the Odia’s autoAnu to be true, based on the research i did from natives."}, {"post_id": 77095, "ts": "2026-10-05T16:57:18Z", "hours": 0.365, "text": "Split Asamiya and Bangla into two seperate scripts, because I dont wanna cause another riot that Unicode had to face. (ie, Letter “ra” is different in the two langauges, but share the same script (the asamiya Ra was added to Unicode as an extension, which the natives didnt like. In my token based system, one would’ve been forced to be the main, so i split them up.)"}, {"post_id": 77071, "ts": "2026-10-05T15:31:32Z", "hours": 0.8778, "text": "Added Bangla-Asamiya script. The main challenge was that the 15919 standard was actually wrong on some parts. So I had to use CharMap on a native font, and I also had to cross reference the unicode block. But I did get it done. TIL: the anuswara maps to Ng in this script and not the sanksrit “-m” or “-n”, so there was that confusion."}, {"post_id": 76451, "ts": "2026-10-03T15:48:32Z", "hours": 1.2714, "text": "So, I did Yet Another Refactor, now net -201 (+46, -251) lines in the 15919.js file after adding Odia. Odia is not a language I know too well, so I put up a post on an Odia subreddit to get info. So, will update as soon as get info. also updated the MD’s. From Now on, all the remaining lanaguges i do not have much knowledge in, and thus will take longer for an actual version, cuz i will have to do polls."}, {"post_id": 76174, "ts": "2026-10-02T16:06:26Z", "hours": 1.6156, "text": "Added Devanagari support to the thing. Also, I had forgotten to add the MD for Telugu, so that is here as well, along with Devanagari MD. I also made imports by pkgmans easier.. Side note: I wish I could add the time required to add these induvidual files to main, but ill prolly get a reply of just use CLI git. And most of this stuff is just maintainer chores. Like I have to add and update the hosted ‘try it out’ page, otherwise it would’nt be good"}, {"post_id": 75868, "ts": "2026-10-01T12:38:30Z", "hours": 1.8589, "text": "So, I think I want to publish this npm or other JS pkgman’s, so that others can use it Easier. So I decided to make the whole project less dependant on the HTML and also took the repeated if’s out. Now it should be much better accessable in a console."}, {"post_id": 75818, "ts": "2026-10-01T07:50:40Z", "hours": 0.5394, "text": "Due to popular demand during last ship, i decided that I would split the whole js file into the main logic file 15919.js and the dictonaries file dicts.js"}, {"post_id": 75583, "ts": "2026-09-30T14:12:09Z", "hours": 0.5403, "text": "Added an experimental QoL feature, that adds an Anuswara and replaces the regular ‘m’ char when a word is ended with a space, punctuation or a newline (/n)"}, {"post_id": 75165, "ts": "2026-09-29T10:59:05Z", "hours": 0.2714, "text": "I haven’t used Ai for the Css or the Html. I have only used AI for js, especially only in the Dicts. The reason i got Kannada and Tamil done so quickly is because Tamil is just Malayalam but debloated (no chillu, so many less letters) and Kannada is just Malalayalam but only a slight bit of debloating (no chillu). The reason that the github html doesnt match the css in repo, is because the Html in the repo is made deliberately empty due it only being an EXAMPLE!! It is not a finalised product. Also, the CSS is only in the repo because good practice. And, you can check the whole repo for the HISTORY of the CSS file. I did use the w3schools demos a lot to understand exactly how I can use flexboxes, and prevent broken errors. If you wanted to, you could download the HTML file I used in the Hosting, and that matches the CSS, because I made it literally in my home directory."}, {"post_id": 74831, "ts": "2026-09-28T12:07:43Z", "hours": 0.7611, "text": "finalised everything for the shipping"}, {"post_id": 74737, "ts": "2026-09-28T03:07:29Z", "hours": 0.3892, "text": "attempt at learning kannada logic"}, {"post_id": 74323, "ts": "2026-09-27T05:28:36Z", "hours": 1.4225, "text": "added a ton of shi"}, {"post_id": 72636, "ts": "2026-09-23T12:29:39Z", "hours": 0.5022, "text": "Rewrote CSS and added fonts, icons to make site look better."}, {"post_id": 72296, "ts": "2026-09-22T16:33:29Z", "hours": 1.3769, "text": "cooked up a good enough css for the site."}, {"post_id": 72236, "ts": "2026-09-22T14:42:46Z", "hours": 0.9306, "text": "update readme to add instructions."}, {"post_id": 71060, "ts": "2026-09-20T07:58:10Z", "hours": 0.7111, "text": "Added proper chillu support, and fixed example html bugs."}, {"post_id": 70675, "ts": "2026-09-19T15:56:05Z", "hours": 2.1819, "text": "Fixed major errors, Made a no-css example page for js implementation, and added almost all characters. Still need to fix conjucted characters (കൂട്ടക്ഷരങ്ങൾ, [kuu.t.tak.sara;n;na.l])."}, {"post_id": 69682, "ts": "2026-09-17T16:00:09Z", "hours": 1.0994, "text": "made the tokens to malayalam converter. Also, side note, i dont think i have the time to make this multilangauge, but i will try."}, {"post_id": 67192, "ts": "2026-09-13T07:55:46Z", "hours": 1.2806, "text": "Rewrite most of the stuff, it was stupid."}, {"post_id": 67133, "ts": "2026-09-13T06:09:19Z", "hours": 0.6619, "text": "Start of the code, setting up dicts"}]...
|
Title: 15919ify+ by @sox123 | Stardance
Devlogs:
Title: 15919ify+ by @sox123 | Stardance
Devlogs:
Start of the code, setting up dicts
Rewrite most of the stuff, it was stupid.
made the tokens to malayalam converter. Also, side note, i dont think i have the time to make this multilangauge, but i will try.
Fixed major errors, Made a no-css example page for js implementation, and added almost all characters. Still need to fix conjucted characters (കൂട്ടക്ഷരങ്ങൾ, [kuu.t.tak.sara;n;na.l]).
Added proper chillu support, and fixed example html bugs.
update readme to add instructions.
cooked up a good enough css for the site.
Rewrote CSS and added fonts, icons to make site look better.
added a ton of shi
attempt at learning kannada logic
finalised everything for the shipping
I haven’t used Ai for the Css or the Html. I have only used AI for js, especially only in the Dicts. The reason i got Kannada and Tamil done so quickly is because Tamil is just Malayalam but debloated (no chillu, so many less letters) and Kannada is just Malalayalam but only a slight bit of debloating (no chillu). The reason that the github html doesnt match the css in repo, is because the Html in the repo is made deliberately empty due it only being an EXAMPLE!! It is not a finalised product. Also, the CSS is only in the repo because good practice. And, you can check the whole repo for the HISTORY of the CSS file. I did use the w3schools demos a lot to understand exactly how I can use flexboxes, and prevent broken errors. If you wanted to, you could download the HTML file I used in the Hosting, and that matches the CSS, because I made it literally in my home directory.
Added an experimental QoL feature, that adds an Anuswara and replaces the regular ‘m’ char when a word is ended with a space, punctuation or a newline (/n)
Due to popular demand during last ship, i decided that I would split the whole js file into the main logic file 15919.js and the dictonaries file dicts.js
So, I think I want to publish this npm or other JS pkgman’s, so that others can use it Easier. So I decided to make the whole project less dependant on the HTML and also took the repeated if’s out. Now it should be much better accessable in a console.
Added Devanagari support to the thing. Also, I had forgotten to add the MD for Telugu, so that is here as well, along with Devanagari MD. I also made imports by pkgmans easier.. Side note: I wish I could add the time required to add these induvidual files to main, but ill prolly get a reply of just use CLI git. And most of this stuff is just maintainer chores. Like I have to add and update the hosted ‘try it out’ page, otherwise it would’nt be good
So, I did Yet Another Refactor, now net -201 (+46, -251) lines in the 15919.js file after adding Odia. Odia is not a language I know too well, so I put up a post on an Odia subreddit to get info. So, will update as soon as get info. also updated the MD’s. From Now on, all the remaining lanaguges i do not have much knowledge in, and thus will take longer for an actual version, cuz i will have to do polls.
Added Bangla-Asamiya script. The main challenge was that the 15919 standard was actually wrong on some parts. So I had to use CharMap on a native font, and I also had to cross reference the unicode block. But I did get it done. TIL: the anuswara maps to Ng in this script and not the sanksrit “-m” or “-n”, so there was that confusion.
Split Asamiya and Bangla into two seperate scripts, because I dont wanna cause another riot that Unicode had to face. (ie, Letter “ra” is different in the two langauges, but share the same script (the asamiya Ra was added to Unicode as an extension, which the natives didnt like. In my token based system, one would’ve been forced to be the main, so i split them up.)
So, I finally got to fixing a ton of bugs and also added Kaithi (almost dead script) and Saurashatra (not commonly used), and also a QOL onto the example html where you can now refresh without causing text to be entered. Very Much advise to check up, because last version, I had Malayalam’s virama swapped with the anuswara. Should be fixed now. Also updated the Odia’s autoAnu to be true, based on the research i did from natives.
Today was quite unenventful and i was busy with school works, So, i just added Gujarati and Gurumukhi. The Next few are actually a bit tricky being Sinhala, Thai and Tibetan. Thai is very very complicated for me to get my head around (trust me, i tried), Sinhala just has too many letters (and therefore tokens, whcih i will add). Tibetan is also on the same level as thai, due to the phonetic change or sum shi that happened long ago, causing a difference in the written vs the spoken langauge.
Added tibetan and sinhala and fixed many syntax errors i made while eepy. I also took the Descision to not do Thai and Nashtaliq for reasons of * thai has funny vowels not compatible perfectly with the current parser and would require a rewrite, *Nashtaliq already has many implementations and standards >I was busy with School so slight delay.
Rewrote the README so that its actually usable for anybody implementing it. And I think all the features are done on this project, the only thing remaining is to iron out bugs, if any, and to maintain this repo based on issues from speakers
Fixed copy, now can copy without adding “c” to the input. FAQs yall been asking on the rating Do you know all these scripts? Uh, no, not most of them. I know Malayalam (native), Devaagari, English (learnt in school), Tamil and Kannada because I like to learn stuff when i go on tours (im a nerd lol), and i learnt many scripts along this project. I didnt have to “conform” most of the stuf, because most Indic languages are pretty similar, and also because UNICODE and other organisations have already done the work on mappings, so i just had to implement that only. Occcasionally, I did ask forum posts on these langauge speakers, to fix any bugs and add features. Is it a translator? No , it is not a translator. It is a trans literator , it does not convert meanings, it converts sounds. Do not expect everything you type in to be a meaningful output. Often times, it is butchered, because the standard is pretty dumb, and no one ever uses it. Why does it convert everything Vide previous Question. So, most of everything gets transliterated, except when the sound DOESNT exist in the script, when it just ommits it entirely. Since sounds are converted, almost everything is processed. What is this even used for. Interational transliteration based on an International standard. Albeit it is quite stupid, and as a mallu, i feel it is very undeveloped. Only reason i devoloped this is because nobody made anything, and it was a fun project. Why not add more scripts / langauges Well, this project is based on the standard ISO 15919, which is limited to around 10 scripts, and i might have added more, because i trusted the wikipedia table too much. Not only do i not have any time, i also dont need to do something that isnt actually useful. Why does this tool add a virama at the end? Im sorry yall had to add the “a” at the end manually, but this is a slight limitation. Adding inherent virama might break someother langauges, and also other vowel signs. But i will try to see what I can do. What is the arrow thingy in the corner Manual refersh button so that you can manually click it to force a rerender. This is now pretty obsolete, but has existed, so idc.
Just added more of the lanaguage typing instructions MDs, linked them up to the main MD. Also, I found many bugs in the mappings, which i fixed. (Gujarati had chandrabindu mapped as t N and not t M, Bengali-Asamiya had more bugs like the uhh Letter II was used inplace of symbol II accidentally, and some devanagari mappings were not removed.).
Ships:
15919ify+ An open-source web utility designed to take in text in 7 Bit ISO 15919 format and transcode it into various Indic Scripts. While built with a modular architecture capable of scaling to multiple languages, it currently only has support for Malayalam, Tamil and Kannada (not fully ironed out). Current Malayalam setup is made taking huge liberties like introducing various character combinations not in the current standard (ie, chillu letters). Features Scans input strings character-by-character, intelligently grouping multi-character consonant and vowel clusters (up to 3-character keys) Dictionary based mapping system covering all letters and symbols in Malayalam, Tamil & Kannada The challenges The ISO 15919 standard was kinda dumb to start on, because it did not have a native way to express the “Chillu” letters found only in Malayalam, and thus, I had to add to the standard in order to even make Malayalam usable. I’m in India, so school already started in June, and so I had to do it all within the very little time I have (Boards..) Prerequisites before trying it out I suggest checking out the Github repo for typing instructions, beacause most of this is a weird concept so it might be better if you have an idea of how to even do anything. Also, I don’t think most of y’all know these Indic Scripts, so this is defenitely niche, but pretty helpful, becuase all generic tools I tried for the task were pretty bad with Malayalam’s specificity, and also the fact that there is NO tool currently that takes in any form of 15919 and gives a transliteration for Any non-Devanagiri language;
15919ify+ An open-source web utility designed to take in text in 7 Bit ISO 15919 format and transcode it into various Indic Scripts. While built with a modular architecture capable of scaling to multiple languages, it currently only has support for Malayalam, Tamil, Odia and Kannada (not fully ironed out), but has a lot of scripts added with bugs being fixed according to speaker. Current Malayalam setup is made taking huge liberties like introducing various character combinations not in the current standard (ie, chillu letters). Features Scans input strings character-by-character, intelligently grouping multi-character consonant and vowel clusters (up to 3-character keys) Dictionary based mapping system covering all letters and symbols in Malayalam, Tamil, Kannada, Telugu, Devenagari, Odia, Bengali-Asamiya, Gurumukhi, Gujarati, Kaithi (dead script btw), Sinhala, Tibetan, Saurashtra. The challenges The ISO 15919 standard was kinda dumb to start on, because it did not have a native way to express the “Chillu” letters found only in Malayalam, and thus, I had to add to the standard in order to even make Malayalam usable. I’m in India, so school already started in June, and so I had to do it all within the very little time I have (Boards..) Changes since last ship Added many more scripts and made some well supported. Reworked most of the code, so that it is actually modular Added dev guides, so people can actually implement it Relicensed from GPL3 to MIT, so that people can use it in prod without GPL3’ing the whole project Prerequisites before trying it out I suggest checking out the Github repo for typing instructions, beacause most of this is a weird concept so it might be better if you have an idea of how to even do anything. Also, I don’t think most of y’all know these Indic Scripts, so this is defenitely niche, but pretty helpful, becuase all generic tools I tried for the task were pretty bad with Malayalam’s specificity, and also the fact that there is NO tool currently that takes in any form of 15919 and gives a transliteration for Any non-Devanagiri language;...
|
1792964834.4323614
|
1793051234.4323614
|
|
15018
|
Graphing Calulator by @Murple | Stardance
|
Murple
|
1
|
18.0
|
241
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T17:04:10Z", "hours": 18.0, "multiplier": 17.21, "payout": 241, "blessing": "neutral", "text": "I made a math hub with different tools such as a 2D and 3D grapher, a vector field plotter, and a symbolic calculator. The project started off as just a way to revise my math and make it real by being able to visualize it, but it quickly grew into a comprehensive toolset for exploring both single and multivariable calculus.The 2D graphing section allows users to plot multiple functions at once while calculating specific metrics like arc length and the average value of a function between two bounds. Moving into higher dimensions, the 3D plotter visualizes complex multivariable surfaces, handles partial derivatives, and evaluates the Hessian matrix to locate and classify critical points into local maxima, minima, or saddle points. For exact algebraic computations, the symbolic calculator operates as a computer algebra system capable of resolving standard derivatives, limits, antiderivatives, and complex iterated double or triple integrals. Finally, the vector field visualizer displays dynamic quiver plots and features analytical tools to evaluate curl, divergence, and line integrals for work and flux based on custom parametric inputs in terms of t", "repo": "https://github.com/JustMurple/Graphing-Calc", "demo": "https://graphing-calc-wnveuhsecezfexqp3annxz.streamlit.app/"}]...
|
[{"post_id": 9305, "ts": "2026 [{"post_id": 9305, "ts": "2026-06-15T16:57:22Z", "hours": 13.9633, "text": "A lot has happen after my first devlog! I’ve decided to split up my work in different sections. The first one, the graphing calculator, is the one I was working on in the first devlog. Since then I’ve added the possibility of plotting multiple functions and the computation of arclength and averege between two x values a and b. The second section I made was the 3D plotter, similarly to the 2D one it comes with the “multiple functions at once” feature. In the analysis tools it has the computation of partial derivatives and critical points. The third section is a symbolic calculator with whom you can evaluate iterated integrals, limits, derivatives, expressions and antiderivatives. Last but not list the forth section is the 2D vector field visualizer, it takes the field’s components as inputs and plots them using plotly’s create quiver tool. The section also comes with a curl and divergence evaluator as well as a work and flux integral calculator that requires the user to input x’s and y’s parametrization in the variable t. As a personal note I wanted to add the fact that I really enjoyed making this, it’s my first full scale CS project and it was a nice way to revise what I studied in calculus."}, {"post_id": 6158, "ts": "2026-06-10T11:08:28Z", "hours": 4.0356, "text": "I’m currently working on a graphing calculator that includes tools such as finding the derivative of the functions and solving for the rationals zeros. My main goal is to have a place where I could visualize the things commonly taught in calculus 1-3 to better understand them and to get a grasp onto python and the it’s use in STEM fields."}]...
|
Title: Graphing Calulator by @Murple | Stardance
Title: Graphing Calulator by @Murple | Stardance
Devlogs:
I’m currently working on a graphing calculator that includes tools such as finding the derivative of the functions and solving for the rationals zeros. My main goal is to have a place where I could visualize the things commonly taught in calculus 1-3 to better understand them and to get a grasp onto python and the it’s use in STEM fields.
A lot has happen after my first devlog! I’ve decided to split up my work in different sections. The first one, the graphing calculator, is the one I was working on in the first devlog. Since then I’ve added the possibility of plotting multiple functions and the computation of arclength and averege between two x values a and b. The second section I made was the 3D plotter, similarly to the 2D one it comes with the “multiple functions at once” feature. In the analysis tools it has the computation of partial derivatives and critical points. The third section is a symbolic calculator with whom you can evaluate iterated integrals, limits, derivatives, expressions and antiderivatives. Last but not list the forth section is the 2D vector field visualizer, it takes the field’s components as inputs and plots them using plotly’s create quiver tool. The section also comes with a curl and divergence evaluator as well as a work and flux integral calculator that requires the user to input x’s and y’s parametrization in the variable t. As a personal note I wanted to add the fact that I really enjoyed making this, it’s my first full scale CS project and it was a nice way to revise what I studied in calculus.
Ships:
I made a math hub with different tools such as a 2D and 3D grapher, a vector field plotter, and a symbolic calculator. The project started off as just a way to revise my math and make it real by being able to visualize it, but it quickly grew into a comprehensive toolset for exploring both single and multivariable calculus.The 2D graphing section allows users to plot multiple functions at once while calculating specific metrics like arc length and the average value of a function between two bounds. Moving into higher dimensions, the 3D plotter visualizes complex multivariable surfaces, handles partial derivatives, and evaluates the Hessian matrix to locate and classify critical points into local maxima, minima, or saddle points. For exact algebraic computations, the symbolic calculator operates as a computer algebra system capable of resolving standard derivatives, limits, antiderivatives, and complex iterated double or triple integrals. Finally, the vector field visualizer displays dynamic quiver plots and features analytical tools to evaluate curl, divergence, and line integrals for work and flux based on custom parametric inputs in terms of t...
|
1792972606.3124125
|
1793059006.3124125
|
|
41831
|
Personal Website by @satr14 | Stardance
|
satr14
|
2
|
16.1
|
241
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T07:40:40Z", "hours": 3.0, "multiplier": 19.84, "payout": 66, "blessing": "neutral", "text": "this should have fixes from last ship’s suggestions as well as a extra background elements and animations to make the site look alive", "repo": "https://git.satr14.my.id/satr14/5th-site-expanded", "demo": "https://satr14.my.id/"}, {"ship_num": 2, "ts": "2026-09-05T02:50:59Z", "hours": 12.0, "multiplier": 14.97, "payout": 175, "blessing": "neutral", "text": "V5. IS OUT this was mainly challenging as school dumps work after work on me, but i ended up working on it in my spare time whenever i find it. new pages: /projects: contains orgs and repos /guestbook: github discussion powered /random: shows discord status and games i play", "repo": "https://git.satr14.my.id/satr14/5th-site-expanded", "demo": "https://satr14.my.id/"}]...
|
[{"post_id": 70141, "ts": "202 [{"post_id": 70141, "ts": "2026-09-18T15:29:20Z", "hours": 1.0961, "text": "i was supposed to work on smthin else, but saw my friend do this so i decided to implement it on my own site! it took this long mainly because its a very new feature and not really documented. luckily, my friend gave me docs (which will be merged upstream) and i was able to implement this early :D. regardless it was still pretty buggy added discord embed component info using same data as the main site content https://github.com/discord/discord-api-docs/blob/20b7c0d2a7c30fd455d3e8f6e58c8ab42eeb2849/developers/link-previews/component-embeds.mdx early docs if yall wanna try it"}, {"post_id": 67173, "ts": "2026-09-13T07:38:58Z", "hours": 0.6531, "text": "smol update but i randomly had a thought last night before sleeping to add this so im adding it :D added rolling titles in the background based of the roles i put in"}, {"post_id": 65941, "ts": "2026-09-11T12:40:49Z", "hours": 0.9083, "text": "i believe this shouldve been more time, because wakatime randomly stopped tracking time which shouldve been like 15-25 mins but whatever. now that its the weekend, im gonna cram as much hours i can get as this is still exam week. added background elements: idle rotating stars! made the stars turn into arrows when hovering over interactive elements / links added svelte page transitions for the conditional/fetching elements tweaked music player progress bar added a credit section for assets used and design inspiration changed timezone text display for same timezone offsets moved code duplication for styles and transitions to classes and central lib functions"}, {"post_id": 64054, "ts": "2026-09-08T05:45:02Z", "hours": 1.7758, "text": "aight i have an exam tomorrow so prob not the best time to be working, but whatever. im gonna add some finishing details from now on as well as improve based of last ship’s feedback changed hackclub role (im organizing haven in my city :D) added more audios to be randomly played made song playback persist between pages keep player notif open showing playback bar and play/pause button tweak pages gaps and paddings displayed webring name instead of “info?” changed main quote hehe"}, {"post_id": 60871, "ts": "2026-09-03T14:53:46Z", "hours": 1.855, "text": "exams are coming soon but i really need these hours. anyways, all pages should be completed by now. im gonna deploy and ship soon added discord status via lanyard api and npm package added games played via lizardbyte’s free igdb api proxy tweaked page transition to be shorter and use 1 global variable removed unused WIP component tweaked timezone info text remove timezone info card element 9 commits in total"}, {"post_id": 58137, "ts": "2026-08-30T14:25:57Z", "hours": 1.0158, "text": "im not joking when i say im burnt out from school. the only thing thats keeping me driving for coding is stardance and the certificate (prob the shop items too but the cert is more important for me). anyways i didnt have much energy this past week but i tried and well ig i managed to do somethin extra padding fixes for main site add a random page (not yet live) and todo list for what i wanna add later install svelte-lanyard for discord status fetching add extra library functions for timezone information remove unused lib function add timezone information to random page fix tab size in a file"}, {"post_id": 49588, "ts": "2026-08-18T14:00:45Z", "hours": 0.4336, "text": "short devlog because exam tomorrow but I CANT LET MY HACKATIME STREAK DIE AGAIN removed debug line left in prod from last devlog add a favicon of my cat :3 rename communities to organizations in change one of the roles to normal hackclub members add description field to orgs add org display in projects page removed blog link from main page (and prob the actual page soon) in favor of smthin else"}, {"post_id": 48953, "ts": "2026-08-17T15:06:13Z", "hours": 1.8106, "text": "finished with another project so i might as well finish this one remove located in line because i already disclose that in my bio fix curl special display to only if fecth / fix easter egg (background text) font display add vite, zed, nvim, cf, and claude skills and remove bash implemented projects page fix typescript errors with page props data spacing tweaks with main homepage animate skill icon hover resize skill icons and text to smaller size add heatmap to projects page moved heatmap url to index.ts lib tweaked card class styles to remove ugly border and add a nice shadow"}, {"post_id": 45190, "ts": "2026-08-11T14:45:36Z", "hours": 1.6867, "text": "this is longer than expected but oh well. i was too tired to work on any real projects because its a school night (yes indonesia doesnt have long summer breaks 😭) so back onto personal site i guess update personal information fields: description, skills, and roles update skill display to use icons from simpleicons cdn added hover to show skill name functionality added devops eng to roles because someone said i had devops skills from another project fix background z index overlap clarity for timezone refresh local timezone display every second remove card effect for transparent display on the guestbook havent worked on project showcase nor blog posts pages yet because i need to finish my blog first and figure out how to get git repos from forgejo api"}, {"post_id": 37466, "ts": "2026-07-30T07:17:24Z", "hours": 4.8781, "text": "admittedly working on existing projects is much easier than starting from scratch. ill be working on my personal website whenever i get burnt out from other stuff (especially chess programming) anyways i didnt really remember much on what i did because i thought i wouldnt end up working for hours and didnt think it wouldve been worth it to submit for stardance. well turns out i accumulated a lot of hours logged but no memory on what i did so heres my best recall on what i did: added dotted background grid slimmer card body made a card class for a more unified design added support for more than 1 webrings tweaked webring design and functions replaced links with website pages made a WIP component for empty pages made 3 pages: guestbook, posts, and project showcase click to copy curl command added hackatime heatmap"}]...
|
Title: Personal Website by @satr14 | Stardance
De Title: Personal Website by @satr14 | Stardance
Devlogs:
admittedly working on existing projects is much easier than starting from scratch. ill be working on my personal website whenever i get burnt out from other stuff (especially chess programming) anyways i didnt really remember much on what i did because i thought i wouldnt end up working for hours and didnt think it wouldve been worth it to submit for stardance. well turns out i accumulated a lot of hours logged but no memory on what i did so heres my best recall on what i did: added dotted background grid slimmer card body made a card class for a more unified design added support for more than 1 webrings tweaked webring design and functions replaced links with website pages made a WIP component for empty pages made 3 pages: guestbook, posts, and project showcase click to copy curl command added hackatime heatmap
this is longer than expected but oh well. i was too tired to work on any real projects because its a school night (yes indonesia doesnt have long summer breaks 😭) so back onto personal site i guess update personal information fields: description, skills, and roles update skill display to use icons from simpleicons cdn added hover to show skill name functionality added devops eng to roles because someone said i had devops skills from another project fix background z index overlap clarity for timezone refresh local timezone display every second remove card effect for transparent display on the guestbook havent worked on project showcase nor blog posts pages yet because i need to finish my blog first and figure out how to get git repos from forgejo api
finished with another project so i might as well finish this one remove located in line because i already disclose that in my bio fix curl special display to only if fecth / fix easter egg (background text) font display add vite, zed, nvim, cf, and claude skills and remove bash implemented projects page fix typescript errors with page props data spacing tweaks with main homepage animate skill icon hover resize skill icons and text to smaller size add heatmap to projects page moved heatmap url to index.ts lib tweaked card class styles to remove ugly border and add a nice shadow
short devlog because exam tomorrow but I CANT LET MY HACKATIME STREAK DIE AGAIN removed debug line left in prod from last devlog add a favicon of my cat :3 rename communities to organizations in change one of the roles to normal hackclub members add description field to orgs add org display in projects page removed blog link from main page (and prob the actual page soon) in favor of smthin else
im not joking when i say im burnt out from school. the only thing thats keeping me driving for coding is stardance and the certificate (prob the shop items too but the cert is more important for me). anyways i didnt have much energy this past week but i tried and well ig i managed to do somethin extra padding fixes for main site add a random page (not yet live) and todo list for what i wanna add later install svelte-lanyard for discord status fetching add extra library functions for timezone information remove unused lib function add timezone information to random page fix tab size in a file
exams are coming soon but i really need these hours. anyways, all pages should be completed by now. im gonna deploy and ship soon added discord status via lanyard api and npm package added games played via lizardbyte’s free igdb api proxy tweaked page transition to be shorter and use 1 global variable removed unused WIP component tweaked timezone info text remove timezone info card element 9 commits in total
aight i have an exam tomorrow so prob not the best time to be working, but whatever. im gonna add some finishing details from now on as well as improve based of last ship’s feedback changed hackclub role (im organizing haven in my city :D) added more audios to be randomly played made song playback persist between pages keep player notif open showing playback bar and play/pause button tweak pages gaps and paddings displayed webring name instead of “info?” changed main quote hehe
i believe this shouldve been more time, because wakatime randomly stopped tracking time which shouldve been like 15-25 mins but whatever. now that its the weekend, im gonna cram as much hours i can get as this is still exam week. added background elements: idle rotating stars! made the stars turn into arrows when hovering over interactive elements / links added svelte page transitions for the conditional/fetching elements tweaked music player progress bar added a credit section for assets used and design inspiration changed timezone text display for same timezone offsets moved code duplication for styles and transitions to classes and central lib functions
smol update but i randomly had a thought last night before sleeping to add this so im adding it :D added rolling titles in the background based of the roles i put in
i was supposed to work on smthin else, but saw my friend do this so i decided to implement it on my own site! it took this long mainly because its a very new feature and not really documented. luckily, my friend gave me docs (which will be merged upstream) and i was able to implement this early :D. regardless it was still pretty buggy added discord embed component info using same data as the main site content https://github.com/discord/discord-api-docs/blob/20b7c0d2a7c30fd455d3e8f6e58c8ab42eeb2849/developers/link-previews/component-embeds.mdx early docs if yall wanna try it
Ships:
V5. IS OUT this was mainly challenging as school dumps work after work on me, but i ended up working on it in my spare time whenever i find it. new pages: /projects: contains orgs and repos /guestbook: github discussion powered /random: shows discord status and games i play
this should have fixes from last ship’s suggestions as well as a extra background elements and animations to make the site look alive...
|
1793004438.0008316
|
1793090838.0008316
|
|
18007
|
MorbidVisuals by @naver | Stardance
|
naver
|
2
|
15.0
|
239
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T13:50:26Z", "hours": 5.0, "multiplier": 13.87, "payout": 68, "blessing": "neutral", "text": "Updated the project to include a touch designer like blur mask using convex hull’s and gaussian blur also added a new drawing system that is a heck of a lot better than the old one", "repo": "https://github.com/20Cuneyt10/MorbidVisuals", "demo": "https://20cuneyt10.github.io/MorbidVisuals/"}, {"ship_num": 2, "ts": "2026-06-17T17:07:09Z", "hours": 10.0, "multiplier": 16.63, "payout": 171, "blessing": "neutral", "text": "I made a MediaPipe guide that gets the newly used tasks function instead of what nearly all other tutorials do (get the old function which isn’t supported anymore) wrote some scripts to use the 21 Hand Landmarks that we get through MediaPipe’s hand_landmark.task to write 4 scripts (from basic to complex)meddled with some math used a formula that i actually learned in school, turned the whole python scripts into one Web Assembly(with AI) html so i can offload the work onto the users pc then published it using githup pages in the making of this i ventured countless websites but main ones were googles original documents about the new .task function", "repo": "https://github.com/20Cuneyt10/MorbidVisuals", "demo": "https://20cuneyt10.github.io/MorbidVisuals/"}]...
|
[{"post_id": 53061, "ts": "202 [{"post_id": 53061, "ts": "2026-08-23T13:49:19Z", "hours": 1.135, "text": "Added the readme for the blur stuff and had AI help me on the WASM for the blur stuff all on the website with a flip camera keybind"}, {"post_id": 21154, "ts": "2026-07-02T23:18:22Z", "hours": 2.1069, "text": "Added a new drawing system took a bit to work it out but finally after switching to the normal python lists it was like a breeze. There are still some gimmicks i would like to fix in the near future, but as i just stated “in the near future”. Go to my GitHub to check this script or my other scripts about MediaPipe.👋"}, {"post_id": 20802, "ts": "2026-07-02T14:36:16Z", "hours": 1.6783, "text": "Working on new versions that utilize both hands. Also looking into other OpenCV functions like .GaussianBlur and .Canny. It took quite a bit to do the hand thing on the new .tasks() but after figuring that out it all went smoothly. Go check out my other code pieces about MediaPipe on my Github. 👋"}, {"post_id": 10636, "ts": "2026-06-17T14:23:48Z", "hours": 0.8308, "text": "Nearly finished with pushing the demo to the web .Not gonna lie I used AI to turn my code to WebAssembly for the demo since im not that good at html"}, {"post_id": 10591, "ts": "2026-06-17T12:34:29Z", "hours": 0.8283, "text": "Finished up the README looking up how to deploy this right now might use webassembly but ı dont know"}, {"post_id": 10565, "ts": "2026-06-17T11:19:03Z", "hours": 1.2558, "text": "Finishing up another script this one was a tad harder than the others because i decided to also rotate the square whilst making it bigger then added a square within the square using a formula that ı actually learned in school. Looking into how to actually deploy these (even tough this project and its repo has become a study more than a project)"}, {"post_id": 8682, "ts": "2026-06-14T12:49:44Z", "hours": 3.0156, "text": "Continuing the work on the new drawing system using visual input whilst also working on a sound level control script having some issues with it but nearly finished will push the full version to my github."}, {"post_id": 8349, "ts": "2026-06-13T21:32:08Z", "hours": 0.9811, "text": "Actively working on a new and improved drawing system that will use outside variables to draw on other places got it half working but still has some polishing to do and is nowhere near what i wanted to do may ask AI where i went wrong but im trying to use it as little as possible on this project didn’t add to README.md yet ,will try to add drawing polygons and arcs the next time."}, {"post_id": 8261, "ts": "2026-06-13T19:05:19Z", "hours": 1.66, "text": "Finished another script utilizing the results function even more and using it to draw lines and circles when pinched. Added to the repo and the README.md go check it out at my Github.👋"}, {"post_id": 8090, "ts": "2026-06-13T14:42:29Z", "hours": 1.73, "text": "Just finished the first python script and the README. about it. It’s a basic script for displaying hand landmarks in webcam footage. It is rather a simple script because I simply want to learn and test the waters before I sink too deep that I can’t swim back up .👋"}]...
|
Title: MorbidVisuals by @naver | Stardance
Devlog Title: MorbidVisuals by @naver | Stardance
Devlogs:
Just finished the first python script and the README. about it. It’s a basic script for displaying hand landmarks in webcam footage. It is rather a simple script because I simply want to learn and test the waters before I sink too deep that I can’t swim back up .👋
Finished another script utilizing the results function even more and using it to draw lines and circles when pinched. Added to the repo and the README.md go check it out at my Github.👋
Actively working on a new and improved drawing system that will use outside variables to draw on other places got it half working but still has some polishing to do and is nowhere near what i wanted to do may ask AI where i went wrong but im trying to use it as little as possible on this project didn’t add to README.md yet ,will try to add drawing polygons and arcs the next time.
Continuing the work on the new drawing system using visual input whilst also working on a sound level control script having some issues with it but nearly finished will push the full version to my github.
Finishing up another script this one was a tad harder than the others because i decided to also rotate the square whilst making it bigger then added a square within the square using a formula that ı actually learned in school. Looking into how to actually deploy these (even tough this project and its repo has become a study more than a project)
Finished up the README looking up how to deploy this right now might use webassembly but ı dont know
Nearly finished with pushing the demo to the web .Not gonna lie I used AI to turn my code to WebAssembly for the demo since im not that good at html
Working on new versions that utilize both hands. Also looking into other OpenCV functions like .GaussianBlur and .Canny. It took quite a bit to do the hand thing on the new .tasks() but after figuring that out it all went smoothly. Go check out my other code pieces about MediaPipe on my Github. 👋
Added a new drawing system took a bit to work it out but finally after switching to the normal python lists it was like a breeze. There are still some gimmicks i would like to fix in the near future, but as i just stated “in the near future”. Go to my GitHub to check this script or my other scripts about MediaPipe.👋
Added the readme for the blur stuff and had AI help me on the WASM for the blur stuff all on the website with a flip camera keybind
Ships:
I made a MediaPipe guide that gets the newly used tasks function instead of what nearly all other tutorials do (get the old function which isn’t supported anymore) wrote some scripts to use the 21 Hand Landmarks that we get through MediaPipe’s hand_landmark.task to write 4 scripts (from basic to complex)meddled with some math used a formula that i actually learned in school, turned the whole python scripts into one Web Assembly(with AI) html so i can offload the work onto the users pc then published it using githup pages in the making of this i ventured countless websites but main ones were googles original documents about the new .task function
Updated the project to include a touch designer like blur mask using convex hull’s and gaussian blur also added a new drawing system that is a heck of a lot better than the old one...
|
1792979749.81134
|
1793066149.81134
|
|
65272
|
TrollBound>_< by @akshay369 | Stardance
|
akshay369
|
2
|
34.0
|
239
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-07T08:36:29Z", "hours": 22.0, "multiplier": 11.01, "payout": 239, "blessing": "neutral", "text": "READ THIS !! ––––––––––– Guys I finally Completed the TROLLBOUND. This ship included more levels, sound effects, persistent storage and many more. Each level is unique and most of the levels cannot be completed in the first try and that’s makes this game an another experience. You think “I figured out the game”, the game says : “No you didn’t figured it out fully”. That makes this game unique. As said this game is inspired from the famous game Level Devil. I spend hours to make each level , and to make each level unique, I have to research a lot, how to make things work like that. That mean I have put a lot of effort into this. So I expect nice ratings and reviews from you guys, please do not disappoint me because I spend 33 hours for this project , guys. AI USAGE I used AI only for learning things and how to make things work like when the player into ceiling, we need to reverse the gravity, For that things I seek help from AI(Concept only, all code is written by me). And of course for debugging when I am stuck with a bug. Thankyou. Hope you like this project.", "repo": "https://github.com/akshaykpillai369-max/trollbound", "demo": "https://akshay369.itch.io/trollbound"}, {"ship_num": 2, "ts": "2026-09-29T04:45:54Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Trollbound. It is a short, trap-filled 2D game inspired from the famous game “LEVEL DEVIL”. The objective is simple, reach the door. But the levels does not allow you to reach it simply. There are traps in every step, so stay alert. Sometimes, it seems like game have bugs, but it does’nt. They are just traps😏. The challenging part is ofcourse making assets , it is very hard to make assets. I am proud that I able to make this game in Godot. It takes more than usual around 12 hours just for 2 levels. So try this game. And try not to get fooled, lol😂", "repo": "https://github.com/akshaykpillai369-max/trollbound", "demo": "https://akshay369.itch.io/trollbound"}]...
|
[{"post_id": 77500, "ts": "202 [{"post_id": 77500, "ts": "2026-10-07T08:04:40Z", "hours": 2.2375, "text": "Guys, Trollbound is completed. Level 12 is also done. Thanks to the peers who commented, liked and supported me in this project. Now I am gonna ship this . Have a Nice day guys."}, {"post_id": 77475, "ts": "2026-10-07T04:42:48Z", "hours": 1.8331, "text": "Level 11 added! Easy level, right?"}, {"post_id": 77265, "ts": "2026-10-06T11:02:54Z", "hours": 2.3942, "text": "Level 10 competed, as said in the previous devlog, this is very hard because there is trap in each step, so take every step carefully otherwise you gonna die😂😂"}, {"post_id": 77236, "ts": "2026-10-06T07:05:02Z", "hours": 1.4597, "text": "Level 9 is done. It is kinda easy guys. But level 10 gonna be a banger😏."}, {"post_id": 77066, "ts": "2026-10-05T15:12:00Z", "hours": 0.8311, "text": "Level 8 is done now guys. It is little harder than the level 7."}, {"post_id": 77007, "ts": "2026-10-05T10:45:59Z", "hours": 0.3469, "text": "Started working on level 8"}, {"post_id": 77003, "ts": "2026-10-05T10:19:30Z", "hours": 1.0689, "text": "Now completed level 7. This is pretty easy game as compared to previous. Enjoy it😂"}, {"post_id": 76967, "ts": "2026-10-05T07:15:56Z", "hours": 1.8803, "text": "Now completed Level 6. Guys, honestly, planning each level is so hard because we have to add something new in each level and think from the user side. So what I am saying is if you have any types of traps in mind, please share it in the comments"}, {"post_id": 76937, "ts": "2026-10-05T04:06:23Z", "hours": 0.8161, "text": "Now I added some improvements to the gameplay, now in the winscreen or death screen , you able to go to main menu. The major feature now added is persistent gameplay that is now your gameplay progress will survive the restart. Guys, I had a qn does a button that redirects to level selection menu is needed in the death/win screen. Or this main menu is enough . please share your thoughts about this in the comments. That’s all for this devlog. See you in the next one ^_^"}, {"post_id": 76918, "ts": "2026-10-05T02:30:31Z", "hours": 0.3289, "text": "When testing the all levels. I find a weird thing. In level 5 there is actually two ways to win. One is easy and one is hard. Instead of fixing that, I am gonna say, guys it’s a director brilliance, lol 😂😂"}, {"post_id": 76766, "ts": "2026-10-04T15:03:34Z", "hours": 2.1922, "text": "Level 5 is done. It takes me a lot of time to complete the level 5 compared to previous because it is more complex that other level, but the gameplay is simple actually once we figure it out😂😂. The gravity changing is the complex part. I am not explaining because it may affect your experience with game."}, {"post_id": 76663, "ts": "2026-10-04T09:25:52Z", "hours": 1.1242, "text": "Now added level selection, pause menu, and pause button"}, {"post_id": 76611, "ts": "2026-10-04T05:12:07Z", "hours": 1.5197, "text": "Level 4 is completed. I am pretty sure if you play level 4, then you are going to be mad💯😂 because it is that much tricky. I am damn sure you are going to curse me after playing the level 4😂."}, {"post_id": 76590, "ts": "2026-10-04T02:47:48Z", "hours": 0.2706, "text": "Now added death sound, door opening sound, jump(already sound is there), platform drop sound and much more…."}, {"post_id": 76379, "ts": "2026-10-03T10:45:40Z", "hours": 1.2008, "text": "Guys Now added settings in the main menu and added main menu music and level music. Here is the quick demo. In the demo video there is echo. Please forgive me for that"}, {"post_id": 76310, "ts": "2026-10-03T04:52:29Z", "hours": 1.8542, "text": "Level 3 is completed. I am not gonna add demo because of spoiler. If you guys want solution to each level, I can add a solution folder in github. So if you guys want that, please let me know in the comments. Next thing I want to add is sound effects, that is really gonna make trollbound to next level and give better experience"}, {"post_id": 76281, "ts": "2026-10-03T02:20:45Z", "hours": 0.3953, "text": "Now I start working on the level 3 .Here a teaser"}, {"post_id": 75105, "ts": "2026-09-29T04:39:47Z", "hours": 2.8861, "text": "Level 2 completed. Now I am going to ship this. I did not gonna add the demo of level 2 because it becomes spoiler😏 and affect your experience with the game😂"}, {"post_id": 74882, "ts": "2026-09-28T14:31:06Z", "hours": 1.9617, "text": "Hurray after these much time, level 1 is officially completed🎉🎉. Also changed the ground to a solid colour otherwise tarps can be easily detected😏"}, {"post_id": 74807, "ts": "2026-09-28T10:01:20Z", "hours": 0.7886, "text": "I changed the player, and added proper animations"}, {"post_id": 74796, "ts": "2026-09-28T08:56:37Z", "hours": 0.8386, "text": "Now added ground and spike assets"}, {"post_id": 74773, "ts": "2026-09-28T06:41:04Z", "hours": 1.1864, "text": "Making the assets is a very tedious task , it is such a headache, but we need to make it. Now I am making the player and ground assets. Finally get one . Now next is spike , then ground, oh this is a lot. see you guys :):"}, {"post_id": 74501, "ts": "2026-09-27T15:03:45Z", "hours": 1.8475, "text": "Oh , it has been a long session. I found this video on youtube: https://www.youtube.com/watch?v=LOhfqjmasi0&t=769s . In that he organized the file as assets on asset folder , levels on levels folder, scripts on its own folder like that and I tried to implement that. Now all the links are broken that is now on clicking on the play button is not working, I have to fix it. Before fixing that I made the door and its animation. It took me a while to get the perfect door framesheet because the godot sliced wrongly every time. So it took me most of my time. I will fix the broken links tomorrow. That’s all for this devlog. Happy coding stay healthy❤️"}, {"post_id": 74426, "ts": "2026-09-27T11:15:11Z", "hours": 0.6883, "text": "Added background image and added an animation to the text. I get the animation from the youtube video link: https://www.youtube.com/watch?v=DiOD3K5vR0w I added this because some may say this is AI. I do not wanna hear that. And guys, I really forget to commit these because we are doing all these stuff in godot, there is no terminal and we forget . Okay so that’s all for this devlog. Let me commit the changes"}, {"post_id": 74399, "ts": "2026-09-27T10:06:26Z", "hours": 0.7792, "text": "Now added a spike to kill the player and a welcome screen."}, {"post_id": 74386, "ts": "2026-09-27T09:12:53Z", "hours": 0.5392, "text": "I am planning to make a Level devil inspired Game- TrollBound. And this is going to be fun. So Sit Back , Relax and Enjoy the show(Just BroCode things, I love him)😂"}]...
|
Title: TrollBound>_< by @akshay369 | Stardan Title: TrollBound>_< by @akshay369 | Stardance
Devlogs:
I am planning to make a Level devil inspired Game- TrollBound. And this is going to be fun. So Sit Back , Relax and Enjoy the show(Just BroCode things, I love him)😂
Now added a spike to kill the player and a welcome screen.
Added background image and added an animation to the text. I get the animation from the youtube video link: https://www.youtube.com/watch?v=DiOD3K5vR0w I added this because some may say this is AI. I do not wanna hear that. And guys, I really forget to commit these because we are doing all these stuff in godot, there is no terminal and we forget . Okay so that’s all for this devlog. Let me commit the changes
Oh , it has been a long session. I found this video on youtube: https://www.youtube.com/watch?v=LOhfqjmasi0&t=769s . In that he organized the file as assets on asset folder , levels on levels folder, scripts on its own folder like that and I tried to implement that. Now all the links are broken that is now on clicking on the play button is not working, I have to fix it. Before fixing that I made the door and its animation. It took me a while to get the perfect door framesheet because the godot sliced wrongly every time. So it took me most of my time. I will fix the broken links tomorrow. That’s all for this devlog. Happy coding stay healthy❤️
Making the assets is a very tedious task , it is such a headache, but we need to make it. Now I am making the player and ground assets. Finally get one . Now next is spike , then ground, oh this is a lot. see you guys :):
Now added ground and spike assets
I changed the player, and added proper animations
Hurray after these much time, level 1 is officially completed🎉🎉. Also changed the ground to a solid colour otherwise tarps can be easily detected😏
Level 2 completed. Now I am going to ship this. I did not gonna add the demo of level 2 because it becomes spoiler😏 and affect your experience with the game😂
Now I start working on the level 3 .Here a teaser
Level 3 is completed. I am not gonna add demo because of spoiler. If you guys want solution to each level, I can add a solution folder in github. So if you guys want that, please let me know in the comments. Next thing I want to add is sound effects, that is really gonna make trollbound to next level and give better experience
Guys Now added settings in the main menu and added main menu music and level music. Here is the quick demo. In the demo video there is echo. Please forgive me for that
Now added death sound, door opening sound, jump(already sound is there), platform drop sound and much more….
Level 4 is completed. I am pretty sure if you play level 4, then you are going to be mad💯😂 because it is that much tricky. I am damn sure you are going to curse me after playing the level 4😂.
Now added level selection, pause menu, and pause button
Level 5 is done. It takes me a lot of time to complete the level 5 compared to previous because it is more complex that other level, but the gameplay is simple actually once we figure it out😂😂. The gravity changing is the complex part. I am not explaining because it may affect your experience with game.
When testing the all levels. I find a weird thing. In level 5 there is actually two ways to win. One is easy and one is hard. Instead of fixing that, I am gonna say, guys it’s a director brilliance, lol 😂😂
Now I added some improvements to the gameplay, now in the winscreen or death screen , you able to go to main menu. The major feature now added is persistent gameplay that is now your gameplay progress will survive the restart. Guys, I had a qn does a button that redirects to level selection menu is needed in the death/win screen. Or this main menu is enough . please share your thoughts about this in the comments. That’s all for this devlog. See you in the next one ^_^
Now completed Level 6. Guys, honestly, planning each level is so hard because we have to add something new in each level and think from the user side. So what I am saying is if you have any types of traps in mind, please share it in the comments
Now completed level 7. This is pretty easy game as compared to previous. Enjoy it😂
Started working on level 8
Level 8 is done now guys. It is little harder than the level 7.
Level 9 is done. It is kinda easy guys. But level 10 gonna be a banger😏.
Level 10 competed, as said in the previous devlog, this is very hard because there is trap in each step, so take every step carefully otherwise you gonna die😂😂
Level 11 added! Easy level, right?
Guys, Trollbound is completed. Level 12 is also done. Thanks to the peers who commented, liked and supported me in this project. Now I am gonna ship this . Have a Nice day guys.
Ships:
I made Trollbound. It is a short, trap-filled 2D game inspired from the famous game “LEVEL DEVIL”. The objective is simple, reach the door. But the levels does not allow you to reach it simply. There are traps in every step, so stay alert. Sometimes, it seems like game have bugs, but it does’nt. They are just traps😏. The challenging part is ofcourse making assets , it is very hard to make assets. I am proud that I able to make this game in Godot. It takes more than usual around 12 hours just for 2 levels. So try this game. And try not to get fooled, lol😂
READ THIS !! ––––––––––– Guys I finally Completed the TROLLBOUND. This ship included more levels, sound effects, persistent storage and many more. Each level is unique and most of the levels cannot be completed in the first try and that’s makes this game an another experience. You think “I figured out the game”, the game says : “No you didn’t figured it out fully”. That makes this game unique. As said this game is inspired from the famous game Level Devil. I spend hours to make each level , and to make each level unique, I have to research a lot, how to make things work like that. That mean I have put a lot of effort into this. So I expect nice ratings and reviews from you guys, please do not disappoint me because I spend 33 hours for this project , guys. AI USAGE I used AI only for learning things and how to make things work like when the player into ceiling, we need to reverse the gravity, For that things I seek help from AI(Concept only, all code is written by me). And of course for debugging when I am stuck with a bug. Thankyou. Hope you like this project....
|
1792965157.7520683
|
1793051557.7520683
|
|
65433
|
Mechanics by @Imtiaz | Stardance
|
Imtiaz
|
2
|
17.0
|
239
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T19:20:23Z", "hours": 6.0, "multiplier": 13.49, "payout": 97, "blessing": "neutral", "text": "Added the recommended features asked by the voters. The features are- Phone Version: This works with phone now. Customizations of Metrics: You can change the metrics. Blue Indicators. Add buttons to move around Added 6 more mechanism Elastic Pendulum Bead on Rotating Hoop Coupled Spring Mass Chain Spherical Pendulum Kapitza Pendulum Symmetric Spinning Top WARNING: DONT EVEN TRY TO CHANGE A SINGLE METRICS OF ROLLING DISK PENDULUM, IT MIGHT CRASH YOUR COMPUTER, PROBABLY MAKE IT A BOMB!!!!!!!!!!!!!!!! check it out: https://mechanics.help/ can i get a super star now :D", "repo": "https://github.com/imtua/mechanics", "demo": "http://mechanics.help/"}, {"ship_num": 2, "ts": "2026-09-27T08:40:54Z", "hours": 11.0, "multiplier": 11.07, "payout": 142, "blessing": "neutral", "text": "Mechanics is a mechanic system simulator where you can simulate 6 of the most misunderstood mechanisms. It uses Lagrangian mechanics and Range-Kutta Methods. It also has its own library “Mechmaths”, that is actually made from scratch. It includes these mechanics- Simple Pendulum Double Pendulum Swinging Atwood Machine Cart and Pendulum Disk on Slope Rolling Disk Pendulum Go check this project out:- mechanics.help/ Video:- https://drive.google.com/file/d/1aHDGZiOuu2YE2afhuuUHdZ_UGJXLaKM6/view?usp=sharing", "repo": "https://github.com/imtua/mechanics", "demo": "http://mechanics.help/"}]...
|
[{"post_id": 75687, "ts": "202 [{"post_id": 75687, "ts": "2026-09-30T19:15:24Z", "hours": 0.2639, "text": "SHIPPING INCOMING!!!!!!!!!!"}, {"post_id": 75681, "ts": "2026-09-30T18:57:35Z", "hours": 1.6517, "text": "Worked on the mechsimulator.js file. and now you can: i. set peremeters for the simulation e.g. weight of the disk, gravity value etc. ii. go back to home with the top button iii. get the updated phone version iv. blue or green highlights."}, {"post_id": 75372, "ts": "2026-09-29T21:29:26Z", "hours": 0.3014, "text": "well, we added elastic pendulum. next up coming is bead on rotating hoop."}, {"post_id": 75367, "ts": "2026-09-29T21:08:21Z", "hours": 3.7542, "text": "My first version advanced the solver once per frame with dt = 1/60. For stiff or fast systems, that step was too coarse and the energy drifted or blew up. So, I split each frame into 20 substeps of dt / steps (about 1/1200 s each). Each simulation can override the count with custom_steps, so lightweight systems stay cheap and touchy ones get more precision. Here we go, our new simulation_runner.py."}, {"post_id": 74377, "ts": "2026-09-27T08:34:14Z", "hours": 0.5819, "text": "Done on the readme files. Done on everything."}, {"post_id": 74345, "ts": "2026-09-27T06:42:39Z", "hours": 0.2892, "text": "done on the mechanisms description"}, {"post_id": 74342, "ts": "2026-09-27T06:25:08Z", "hours": 0.8078, "text": "well, the rolling disk pendulum mechanism was the hardest part and absolutely nailed it."}, {"post_id": 74279, "ts": "2026-09-27T03:39:07Z", "hours": 0.6497, "text": "Added cart and pendulum and disk on slope, they’re working fine as they should have."}, {"post_id": 74262, "ts": "2026-09-27T02:56:18Z", "hours": 0.475, "text": "Added swinging atwood machine and a button under the UI that says learn how mechmaths work that takes you to mechanics.help/mechmaths."}, {"post_id": 74187, "ts": "2026-09-26T21:34:41Z", "hours": 0.7189, "text": "adding double pendulum and some more metrics was easy."}, {"post_id": 74165, "ts": "2026-09-26T20:21:13Z", "hours": 1.0497, "text": "this is lowkey a big win. now, single pendulum works only. I bought a domain for mechanics and that’s mechanics.help mechanics.help - homepage mechanics.help/pend - single pendulum mechanics.help/mechmaths - how mechmath lib works"}, {"post_id": 73977, "ts": "2026-09-26T13:18:16Z", "hours": 0.7103, "text": "An overall document of how mechmaths work. https://github.com/imtua/mechanics/blob/main/mechmaths/README.md"}, {"post_id": 73927, "ts": "2026-09-26T10:50:34Z", "hours": 0.5217, "text": "Well, the engine.py and the init .py was lwk easier than the deriv.py."}, {"post_id": 73920, "ts": "2026-09-26T10:06:17Z", "hours": 0.9003, "text": "deriv.py done."}, {"post_id": 73715, "ts": "2026-09-25T19:30:05Z", "hours": 1.0847, "text": "did make the system.py and partial deriv.py of mechmaths. I’m sleepy, gotta sleep"}, {"post_id": 73284, "ts": "2026-09-24T19:10:51Z", "hours": 0.9972, "text": "Pendulum coming soon!!"}, {"post_id": 73147, "ts": "2026-09-24T14:13:57Z", "hours": 1.8406, "text": "Worked on the frontend, now the actual algorithms."}]...
|
Title: Mechanics by @Imtiaz | Stardance
Devlogs:
Title: Mechanics by @Imtiaz | Stardance
Devlogs:
Worked on the frontend, now the actual algorithms.
Pendulum coming soon!!
did make the system.py and partial deriv.py of mechmaths. I’m sleepy, gotta sleep
deriv.py done.
Well, the engine.py and the init .py was lwk easier than the deriv.py.
An overall document of how mechmaths work. https://github.com/imtua/mechanics/blob/main/mechmaths/README.md
this is lowkey a big win. now, single pendulum works only. I bought a domain for mechanics and that’s mechanics.help mechanics.help - homepage mechanics.help/pend - single pendulum mechanics.help/mechmaths - how mechmath lib works
adding double pendulum and some more metrics was easy.
Added swinging atwood machine and a button under the UI that says learn how mechmaths work that takes you to mechanics.help/mechmaths.
Added cart and pendulum and disk on slope, they’re working fine as they should have.
well, the rolling disk pendulum mechanism was the hardest part and absolutely nailed it.
done on the mechanisms description
Done on the readme files. Done on everything.
My first version advanced the solver once per frame with dt = 1/60. For stiff or fast systems, that step was too coarse and the energy drifted or blew up. So, I split each frame into 20 substeps of dt / steps (about 1/1200 s each). Each simulation can override the count with custom_steps, so lightweight systems stay cheap and touchy ones get more precision. Here we go, our new simulation_runner.py.
well, we added elastic pendulum. next up coming is bead on rotating hoop.
Worked on the mechsimulator.js file. and now you can: i. set peremeters for the simulation e.g. weight of the disk, gravity value etc. ii. go back to home with the top button iii. get the updated phone version iv. blue or green highlights.
SHIPPING INCOMING!!!!!!!!!!
Ships:
Mechanics is a mechanic system simulator where you can simulate 6 of the most misunderstood mechanisms. It uses Lagrangian mechanics and Range-Kutta Methods. It also has its own library “Mechmaths”, that is actually made from scratch. It includes these mechanics- Simple Pendulum Double Pendulum Swinging Atwood Machine Cart and Pendulum Disk on Slope Rolling Disk Pendulum Go check this project out:- mechanics.help/ Video:- https://drive.google.com/file/d/1aHDGZiOuu2YE2afhuuUHdZ_UGJXLaKM6/view?usp=sharing
Added the recommended features asked by the voters. The features are- Phone Version: This works with phone now. Customizations of Metrics: You can change the metrics. Blue Indicators. Add buttons to move around Added 6 more mechanism Elastic Pendulum Bead on Rotating Hoop Coupled Spring Mass Chain Spherical Pendulum Kapitza Pendulum Symmetric Spinning Top WARNING: DONT EVEN TRY TO CHANGE A SINGLE METRICS OF ROLLING DISK PENDULUM, IT MIGHT CRASH YOUR COMPUTER, PROBABLY MAKE IT A BOMB!!!!!!!!!!!!!!!! check it out: https://mechanics.help/ can i get a super star now :D...
|
1792965168.1027005
|
1793051568.1027005
|
|
32567
|
Marine Odyssey by @Kartik_B | Stardance
|
Kartik_B
|
2
|
33.0
|
238
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T05:21:53Z", "hours": 5.0, "multiplier": 4.25, "payout": 20, "blessing": "neutral", "text": "I have made an endless underwater themed submarine game. You have to survive as long as you can. There are threats like shark, starfish, titan and sea mines. Two types of controls in pc and joystick controls in mobile. Also, the game is now fully zero AI used game. I have just added the android support to the games.", "repo": "https://github.com/K-BIDDOLIYA/Marine-Odyssey", "demo": "https://kartik-biddoliya.itch.io/marine-odyssey"}, {"ship_num": 2, "ts": "2026-08-17T07:58:36Z", "hours": 28.0, "multiplier": 7.94, "payout": 218, "blessing": "neutral", "text": "This is Marine Odyssey Ans underwater submarine game where you have to survive as long as you can. There can be Sharks, Titan, Starfish and Sea mines. The danger will increase with time. You have two controller modes, Cursor mode and WASD/arrow. You can also luckily pick a health boost. Beware, the Titan is really mad at you.", "repo": "https://github.com/K-BIDDOLIYA/Marine-Odyssey", "demo": "https://kartik-biddoliya.itch.io/marine-odyssey"}]...
|
[{"post_id": 70515, "ts": "202 [{"post_id": 70515, "ts": "2026-09-19T09:39:53Z", "hours": 2.5186, "text": "I just added the android version for marine odyssey. Some final tests still remain…"}, {"post_id": 55445, "ts": "2026-08-27T09:08:08Z", "hours": 2.0872, "text": "Last devlog I have fixed all the issues that were pointed out in the first ship. I have tried my best to write most of the code by myself and only 1 sprite is ai generated cause i couldn’t find that anywhere. But still its less than 30% AI."}, {"post_id": 48722, "ts": "2026-08-17T07:45:44Z", "hours": 2.3597, "text": "🌊 Marine Odyssey — It’s Finished!"}, {"post_id": 48167, "ts": "2026-08-16T13:42:40Z", "hours": 5.1744, "text": "Marine Odyssey Devlog - #10 Update - I have added the Home scene, it deisplays the running game scene in background (without submarine). I have added some more sprites and most importantly, Audio and BGM. I added two types of controller mode also, Cursor and WASD. Next up, im making the health boost and and some more collectable stuff. Then, Ship it!"}, {"post_id": 45707, "ts": "2026-08-12T11:34:17Z", "hours": 3.1664, "text": "I added a bunch of sprites for: Background, starfish, sea mines, corals, submarine. Also, improved a lot of game play features. But still, the homw scene remains untouched till now. I’ll start working for that also. For now, please suggest me any ui improvements needed. (i have used ai to generate bg and coral sprites)"}, {"post_id": 42461, "ts": "2026-08-07T06:43:55Z", "hours": 1.8383, "text": "Marine Odyssey - Devlog #8 Today, I : Added bg sprite. Added shark sprite. Improved the game play. Fixed some code. Upgraded damage system."}, {"post_id": 41879, "ts": "2026-08-06T11:24:51Z", "hours": 6.1014, "text": "Marine Odyssey - Devlog #7 I almost forgot to devlog for some days. Here’s what is have done: Completed Titan hand. Completed Starfish. Completed Seamines. Completed sharks. Some game ui. No Sprites till now, No home scene, no audio."}, {"post_id": 29448, "ts": "2026-07-16T12:16:31Z", "hours": 1.875, "text": "Marine Odyssey - Devlog #6 There were MANY small tweaks and fixes to do in the game and in the event. I just: Fixed tentacle rotation. Added camera shake. Fixed submarine movement. Fixed Dark effect. Adjusted timings. Debugged some code. The Marine Odyssey is 20% completed. Still no UI, audio, buttons etc. One more thing, please give me some ideas of what can i add besides Kraken, Sharks and Starfish swarm. Or any feature you have in mind that will look good."}, {"post_id": 28878, "ts": "2026-07-15T13:35:47Z", "hours": 1.7692, "text": "Marine Odyssey - Devlog #5 Phew…!! It was a long day fighting errors and adjusting stuff. What i did is to implement the full Kraken. The old codes had soo many errors and structural issues and was incomplete. So, i had to replace almost everything and also upgraded the gameplan Some features are still missing though, that i’ll add later. And yeah, i still haven’t added the sprites and UI, just working on the gameplay."}, {"post_id": 28212, "ts": "2026-07-14T11:09:26Z", "hours": 1.1769, "text": "Marine Odyssey - Devlog #4 Been focusing on gameplay systems instead of visuals lately. The shark encounters are now working, with coral hiding fully integrated into the core gameplay loop. After some playtesting, I scrapped one of my original enemy ideas because it just wasn’t as interesting and started building a Kraken event instead. The Kraken is turning into one of the game’s biggest moments. Instead of permanent obstacles, giant tentacles will strike from beneath the seabed, forcing quick reactions and precise movement. I’ve also finished setting up the event system that controls the warnings, ocean darkening, cooldowns, and attack sequence. The tentacle system is now being rebuilt to use movement rather than scaling, which should make the final animations look much more natural once the real art is added. Still sticking with placeholder shapes for now. Getting the mechanics right before worrying about the visuals has been the best decision so far."}, {"post_id": 27682, "ts": "2026-07-13T13:51:33Z", "hours": 1.5522, "text": "Marine Odyssey - Devlog #3 Made a lot of progress today. The coral system is now in place, including hiding zones that the submarine can use to avoid sharks. I also got the first enemy working—sharks now patrol the ocean, chase the player when spotted, and lose interest if you disappear into the coral. I spent some time cleaning up the game’s structure too, fixing early issues with the camera, movement, and world scale so everything feels much more open. I also scrapped one of my original enemy ideas and replaced it with a Secret event that’s going to be a full event instead of just another obstacle. Still using placeholder shapes for everything. Focusing on making the gameplay fun first before moving on to art and polish."}, {"post_id": 27018, "ts": "2026-07-12T05:09:38Z", "hours": 1.8144, "text": "Marine Odyssey - Devlog #2 Made some solid progress on the submarine game today. I finished the core movement systems, added an endless scrolling ocean, and reworked the camera so it follows the submarine vertically while the world keeps moving forward. I also cleaned up a few early design decisions to make the ocean feel much larger and easier to build on later. Started working on the coral system as well. The coral foreground now loops endlessly with the environment, and I’m laying the groundwork for hiding mechanics that’ll be used to avoid predators later on. Still using placeholder shapes—gameplay first, art later. I’m really excited to complete this game and show it to you all!!!"}, {"post_id": 25344, "ts": "2026-07-09T16:05:18Z", "hours": 0.68, "text": "Marine Odyssey - Devlog #1 Just started off this underwater submarine game. I went through a lot of ideas following the arcady style 2D game and landed on this game idea. Wait to see the whole game reveal itself"}]...
|
Title: Marine Odyssey by @Kartik_B | Stardance
De Title: Marine Odyssey by @Kartik_B | Stardance
Devlogs:
Marine Odyssey - Devlog #1 Just started off this underwater submarine game. I went through a lot of ideas following the arcady style 2D game and landed on this game idea. Wait to see the whole game reveal itself
Marine Odyssey - Devlog #2 Made some solid progress on the submarine game today. I finished the core movement systems, added an endless scrolling ocean, and reworked the camera so it follows the submarine vertically while the world keeps moving forward. I also cleaned up a few early design decisions to make the ocean feel much larger and easier to build on later. Started working on the coral system as well. The coral foreground now loops endlessly with the environment, and I’m laying the groundwork for hiding mechanics that’ll be used to avoid predators later on. Still using placeholder shapes—gameplay first, art later. I’m really excited to complete this game and show it to you all!!!
Marine Odyssey - Devlog #3 Made a lot of progress today. The coral system is now in place, including hiding zones that the submarine can use to avoid sharks. I also got the first enemy working—sharks now patrol the ocean, chase the player when spotted, and lose interest if you disappear into the coral. I spent some time cleaning up the game’s structure too, fixing early issues with the camera, movement, and world scale so everything feels much more open. I also scrapped one of my original enemy ideas and replaced it with a Secret event that’s going to be a full event instead of just another obstacle. Still using placeholder shapes for everything. Focusing on making the gameplay fun first before moving on to art and polish.
Marine Odyssey - Devlog #4 Been focusing on gameplay systems instead of visuals lately. The shark encounters are now working, with coral hiding fully integrated into the core gameplay loop. After some playtesting, I scrapped one of my original enemy ideas because it just wasn’t as interesting and started building a Kraken event instead. The Kraken is turning into one of the game’s biggest moments. Instead of permanent obstacles, giant tentacles will strike from beneath the seabed, forcing quick reactions and precise movement. I’ve also finished setting up the event system that controls the warnings, ocean darkening, cooldowns, and attack sequence. The tentacle system is now being rebuilt to use movement rather than scaling, which should make the final animations look much more natural once the real art is added. Still sticking with placeholder shapes for now. Getting the mechanics right before worrying about the visuals has been the best decision so far.
Marine Odyssey - Devlog #5 Phew…!! It was a long day fighting errors and adjusting stuff. What i did is to implement the full Kraken. The old codes had soo many errors and structural issues and was incomplete. So, i had to replace almost everything and also upgraded the gameplan Some features are still missing though, that i’ll add later. And yeah, i still haven’t added the sprites and UI, just working on the gameplay.
Marine Odyssey - Devlog #6 There were MANY small tweaks and fixes to do in the game and in the event. I just: Fixed tentacle rotation. Added camera shake. Fixed submarine movement. Fixed Dark effect. Adjusted timings. Debugged some code. The Marine Odyssey is 20% completed. Still no UI, audio, buttons etc. One more thing, please give me some ideas of what can i add besides Kraken, Sharks and Starfish swarm. Or any feature you have in mind that will look good.
Marine Odyssey - Devlog #7 I almost forgot to devlog for some days. Here’s what is have done: Completed Titan hand. Completed Starfish. Completed Seamines. Completed sharks. Some game ui. No Sprites till now, No home scene, no audio.
Marine Odyssey - Devlog #8 Today, I : Added bg sprite. Added shark sprite. Improved the game play. Fixed some code. Upgraded damage system.
I added a bunch of sprites for: Background, starfish, sea mines, corals, submarine. Also, improved a lot of game play features. But still, the homw scene remains untouched till now. I’ll start working for that also. For now, please suggest me any ui improvements needed. (i have used ai to generate bg and coral sprites)
Marine Odyssey Devlog - #10 Update - I have added the Home scene, it deisplays the running game scene in background (without submarine). I have added some more sprites and most importantly, Audio and BGM. I added two types of controller mode also, Cursor and WASD. Next up, im making the health boost and and some more collectable stuff. Then, Ship it!
🌊 Marine Odyssey — It’s Finished!
Last devlog I have fixed all the issues that were pointed out in the first ship. I have tried my best to write most of the code by myself and only 1 sprite is ai generated cause i couldn’t find that anywhere. But still its less than 30% AI.
I just added the android version for marine odyssey. Some final tests still remain…
Ships:
This is Marine Odyssey Ans underwater submarine game where you have to survive as long as you can. There can be Sharks, Titan, Starfish and Sea mines. The danger will increase with time. You have two controller modes, Cursor mode and WASD/arrow. You can also luckily pick a health boost. Beware, the Titan is really mad at you.
I have made an endless underwater themed submarine game. You have to survive as long as you can. There are threats like shark, starfish, titan and sea mines. Two types of controls in pc and joystick controls in mobile. Also, the game is now fully zero AI used game. I have just added the android support to the games....
|
1792986696.8130991
|
1793073096.8130991
|
|
37077
|
SolWisp + SWIDE by @AuraMonster | Stardance
|
AuraMonster
|
1
|
16.0
|
238
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T18:19:19Z", "hours": 16.0, "multiplier": 14.96, "payout": 238, "blessing": "neutral", "text": "This is SolWisp and SWIDE. SolWisp is a coding language made by me that is supposed to be a very close representation of the english language in code. SWIDE is the IDE that holds SolWisp and handles all the errors, inputs, and outputs.", "repo": "https://github.com/mdmutahhar24-pixel/SWIDE", "demo": "https://github.com/mdmutahhar24-pixel/SWIDE/releases"}]...
|
[{"post_id": 47625, "ts": "202 [{"post_id": 47625, "ts": "2026-08-15T17:12:12Z", "hours": 1.9711, "text": "Fifth and Final Devlog for SolWisp + SWIDE (See More Info) More Info: This ship is going to be V0.1.0 of SolWisp and SWIDE. Most IDEs and Coding Languages start off small, so that is what I am doing. The docs will be a separate project, hence it is going to contain ton of information about SolWisp and SWIDE. Until then, the functions you want to see are going to be on my GitHub repository for this project. New Features: Error Handling Error Styling"}, {"post_id": 45552, "ts": "2026-08-12T03:42:35Z", "hours": 2.7622, "text": "Fourth Devlog for SolWisp + SWIDE New Features: IDE now Dark Themed IDE now made and has file editing (save/open/etc.) IDE has now syntax coloring IDE has a custom console IDE has a separate console just for inputs Changes: Interpreter turned from the Java Console into the IDE FUTURE commands/syntax: If/Otherwise (else if)/Else declareFunction (function) Graphics (maybe scrapped, maybe added in future, maybe added on release)"}, {"post_id": 44228, "ts": "2026-08-09T20:59:51Z", "hours": 4.2069, "text": "Third Devlog for SolWisp + SWIDE Here we go again… Just like my other projects I had to restart this one as well. What Changed due to restart? Primary language turned from Python to Java Now mostly build on raw Java (Except for graphics of course) Language was simplified Current Commands: Say/Ex: Say Hi/Args: (Say < Text >)/Similar to Print from Python Integer/Ex: Integer x = 0/Args: (Integer < VarName > = < Value >)/basic variable String/Ex: String x = hi/Args: (String < VarName > = < Value >)/basic variable Boolean/Ex: Boolean x = true/Args: (Boolean < VarName > = < Value >)/basic Variable Float/Ex: Float x = 5.232/ Args: (Float < VarName > = < Value >)/basic variable Input/Ex: String a. Input Hi! How are you? into a/Args: (Input < Prompt > into < VarName >)/Text Input In Progress: IDE Multi-line commands (Functions/If/loops/etc.)"}, {"post_id": 32101, "ts": "2026-07-21T01:04:41Z", "hours": 2.7469, "text": "Second Devlog for SolWisp + SWIDE In Progress: Syntax checker Upgrading from beginner project to a higher level project (I am learning as I code) New Features: None List of current commands: say(text, x, y) rectangle(x, y, width, height, (fill: optional) , (border: optional) ) circle(x, y, radius, (fill: optional) , (border: optional) ellipse(x, y, width, height, (fill: optional) , (border: optional) )"}, {"post_id": 31354, "ts": "2026-07-19T17:55:55Z", "hours": 4.2294, "text": "First Devlog for SolWisp + SWIDE What is SolWisp? SolWisp is a programming language made by me so that it easier for many coders. What is SWIDE? SWIDE is the custom IDE that is meant to host the SolWisp coding language Additional Information: Both SolWisp and SWIDE are coded in Python using Qt and PySide6. This is technically a two-in-one project, but I couldn’t separate these two projects. New Features: Explorer added Right click menu added and changes based on what you are clicking on New file feature added New Folder feature added Open Folder Feature added Save file feature added keep same folder open feature added Say function added (equivalent to print in python) (If you have any suggestions for any commands, please comment them) below is a demo of my project (Run was not working this time)"}]...
|
Title: SolWisp + SWIDE by @AuraMonster | Stardance Title: SolWisp + SWIDE by @AuraMonster | Stardance
Devlogs:
First Devlog for SolWisp + SWIDE What is SolWisp? SolWisp is a programming language made by me so that it easier for many coders. What is SWIDE? SWIDE is the custom IDE that is meant to host the SolWisp coding language Additional Information: Both SolWisp and SWIDE are coded in Python using Qt and PySide6. This is technically a two-in-one project, but I couldn’t separate these two projects. New Features: Explorer added Right click menu added and changes based on what you are clicking on New file feature added New Folder feature added Open Folder Feature added Save file feature added keep same folder open feature added Say function added (equivalent to print in python) (If you have any suggestions for any commands, please comment them) below is a demo of my project (Run was not working this time)
Second Devlog for SolWisp + SWIDE In Progress: Syntax checker Upgrading from beginner project to a higher level project (I am learning as I code) New Features: None List of current commands: say(text, x, y) rectangle(x, y, width, height, (fill: optional) , (border: optional) ) circle(x, y, radius, (fill: optional) , (border: optional) ellipse(x, y, width, height, (fill: optional) , (border: optional) )
Third Devlog for SolWisp + SWIDE Here we go again… Just like my other projects I had to restart this one as well. What Changed due to restart? Primary language turned from Python to Java Now mostly build on raw Java (Except for graphics of course) Language was simplified Current Commands: Say/Ex: Say Hi/Args: (Say < Text >)/Similar to Print from Python Integer/Ex: Integer x = 0/Args: (Integer < VarName > = < Value >)/basic variable String/Ex: String x = hi/Args: (String < VarName > = < Value >)/basic variable Boolean/Ex: Boolean x = true/Args: (Boolean < VarName > = < Value >)/basic Variable Float/Ex: Float x = 5.232/ Args: (Float < VarName > = < Value >)/basic variable Input/Ex: String a. Input Hi! How are you? into a/Args: (Input < Prompt > into < VarName >)/Text Input In Progress: IDE Multi-line commands (Functions/If/loops/etc.)
Fourth Devlog for SolWisp + SWIDE New Features: IDE now Dark Themed IDE now made and has file editing (save/open/etc.) IDE has now syntax coloring IDE has a custom console IDE has a separate console just for inputs Changes: Interpreter turned from the Java Console into the IDE FUTURE commands/syntax: If/Otherwise (else if)/Else declareFunction (function) Graphics (maybe scrapped, maybe added in future, maybe added on release)
Fifth and Final Devlog for SolWisp + SWIDE (See More Info) More Info: This ship is going to be V0.1.0 of SolWisp and SWIDE. Most IDEs and Coding Languages start off small, so that is what I am doing. The docs will be a separate project, hence it is going to contain ton of information about SolWisp and SWIDE. Until then, the functions you want to see are going to be on my GitHub repository for this project. New Features: Error Handling Error Styling
Ships:
This is SolWisp and SWIDE. SolWisp is a coding language made by me that is supposed to be a very close representation of the english language in code. SWIDE is the IDE that holds SolWisp and handles all the errors, inputs, and outputs....
|
1792993731.5659878
|
1793080131.5659878
|
|
24683
|
Bad Apple!! but it runs on your screen by @aloyak Bad Apple!! but it runs on your screen by @aloyak | Stardance...
|
aloyak
|
1
|
14.0
|
236
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-30T18:12:29Z", "hours": 14.0, "multiplier": 16.39, "payout": 236, "blessing": "neutral", "text": "I made a postprocessing layer that runs on top of your screen in real time. I’ve used it to create my own version of the Bad Apple videoclip, but this tool is a lot more powerful!! It gives you access to fast video decoding, a screen buffer and the huge potential of GLSL shaders to allow you to create any effect you want while still keeping the input layer active! Built on pure C and its currently only available on Linux (only supports X11 backend as thats what is used to manually create the screen buffer, maybe ill add wayland in the future) Hope you like it!!", "repo": "https://github.com/aloyak/badapple", "demo": "https://github.com/aloyak/badapple/releases/tag/0.5"}]...
|
[{"post_id": 37645, "ts": "202 [{"post_id": 37645, "ts": "2026-07-30T15:11:19Z", "hours": 2.1592, "text": "BAD APPLE!! (NOW PUBLISHED) the video is published on youtube!!!!! Check it out: https://youtu.be/a1_1RXaRt74 . Please go like it so it get viral! What was done? I’ve improved the performance by only collecting each window information’s only when they are marked as changed, this improved performance so much that i was able to run some games while using it Added a simple command line argument parser for quick settings and path changes Ive also added some cool C math optimizations like approximating a division by 255 with a cool bit shift trick! (i felt like a genius programmer) What needs to be improved There’s a couple things that still run in the CPU that could be pretty much moved to the GPU if they cause a bottle neck, maybe in the future?? Need to make sure that new/closed or resized windows are accounted and properly updated, this is the next step, ive tried already but this adds a lot of lag and i didnt like how it was looking, but maybe now ill try again! PD: PLEASE go watch the final version: https://youtu.be/a1_1RXaRt74 Btw, im probably gonna be shipping shortly, maybe after next devlog?"}, {"post_id": 36952, "ts": "2026-07-29T11:26:31Z", "hours": 3.3367, "text": "BAD APPLE!! This is the first decent version! I still need to fix a couple things but finally using your computer with this on wont give you an epileptic attack. Note that what you see in the video is very simple, this program i made is a lot more powerful (this is not only for bad apple videos but a general postprocessing realtime layer on your screen!!) New stuff! Completely moved the project from GLFW to SDL3! Fixed the feeding loop bug: refactored the capturer so instead of taking a screenshot every frame it now loops with X11’s backend through all the windows and reconstructs the screen buffer manually (this took a lot of docs reading time), the result is really good but has limitations that i will list below Appart from the effect you see, ive also coded 2 other shaders that also use this video Published the github repo and added both a license and a readme file Current limitations This only works on Linux with X11 backend, if you use wayland, windows or mac this should not work at all, adding support to new platforms would be interesting, but before i need to fix the next issue The current system that reads all windows and stitches them together to form a screen buffer doesnt take into consideration new or closed windows and doesnt update their position or resizing… this will probably be the next thing to do but ill have to check how the performances doing. Of course i will be making a video for youtube to showcase this, this was the main goal of the project either way lmao"}, {"post_id": 36606, "ts": "2026-07-28T20:29:11Z", "hours": 3.6217, "text": "BAD APPLE!! the demo video contains flashing colors!! Huge progress!!!!! i made this work finally! well not quite yet but ive finally have something to show you Theres still some issues you can clearly see but i do know why this is happening Why it currently looks broken? In order to get the screen buffer i need to use X11 (currently, maybe ill port it to use other different APIs) which means that this is pretty much like taking a screenshot every frame but very fast because its the GPU. The problem is that we are re-feeding the previous output to the new one, so it breaks the original colors over time What have i done X11 based system to retrieve the screen’s image and pass it to the shader as another texture! Performance was improved a bit although it generally doesnt really matter (maybe it will when using videos over 1080p, havent tried tho) Fixed A SINGLE memory leak, woops Next steps! Port the project to SDL3, i always start my projects with GLFW and always forget how much i dislike GLFW, it has so many tools and features missing that SDL has, so ill probably port it to it, it shouldnt be very hard"}, {"post_id": 36312, "ts": "2026-07-28T10:55:26Z", "hours": 2.6367, "text": "BAD APPLE!! I’ve been adding the basic OpenGL implementations for a very simple texture and shader “classes” (theres no such thing as a class in C of course). This works kind of like a refresher course for me as I already though I was proficent enough with opengl, maybe once i ship this i might try to re do this but using vulkan instead. What have i added? The shader class, which reads the glsl source files (not pre-compiled) and compiles them in real time, not very fancy right now A texture class that updates in real time to what frame was given by the video section, correctly set to linear color correction and uses rgb24 Now i will add a super simple quad implementation where the shader will render to, on top of the screen buffer What i still need to figure out I dont think that OpenGL can get the screen buffer with the pixel colors of whats behind the screen, even when the glfw window is entirely transparent, I’ll do some more research to see what to do I’ve thought that this program might actually be a lot more useful that what im currently making it look. In the end you can quickly change the glsl shader to have completely different results and also upload any kind of video you want… PD: the window you see in the video is green just so you can see it at all, but in the final version it will be completely transparent"}, {"post_id": 36050, "ts": "2026-07-27T21:48:03Z", "hours": 2.6347, "text": "Bad Apple!! Hey!!! I’m making this quick project that i though would be fun to try and have a bit of a rest from my main project, and i think it started nicely! What is this project? I’m making one of those fun version for the original Bad Apple! music videoclip that got viral long ago (original: https://www.youtube.com/watch?v=FtutLA63Cp8 ). I want it to be very original, at least I dont think it has been done already… I cant really tell you what the video is about yet, but I can tell you that im building it with pure C and openGL… What have i done so far? Project setup: create a basic cmake project that uses glad and glfw to create a special window and render basic stuff on top of it Added a video reader that gets each frame of the video at the correct time based on the time elapsed I started this project making it run in CUDA, but I had a better idea. Then i decided to go with the graphics programming route: i thought about using vulkan but its way too hard to setup for such a small project, even worse considering im using C, not C++. I will have to learn vulkan at some point tho note: the video is the base for the whole program"}]...
|
Title: Bad Apple!! but it runs on your screen by @ Title: Bad Apple!! but it runs on your screen by @aloyak | Stardance
Devlogs:
Bad Apple!! Hey!!! I’m making this quick project that i though would be fun to try and have a bit of a rest from my main project, and i think it started nicely! What is this project? I’m making one of those fun version for the original Bad Apple! music videoclip that got viral long ago (original: https://www.youtube.com/watch?v=FtutLA63Cp8 ). I want it to be very original, at least I dont think it has been done already… I cant really tell you what the video is about yet, but I can tell you that im building it with pure C and openGL… What have i done so far? Project setup: create a basic cmake project that uses glad and glfw to create a special window and render basic stuff on top of it Added a video reader that gets each frame of the video at the correct time based on the time elapsed I started this project making it run in CUDA, but I had a better idea. Then i decided to go with the graphics programming route: i thought about using vulkan but its way too hard to setup for such a small project, even worse considering im using C, not C++. I will have to learn vulkan at some point tho note: the video is the base for the whole program
BAD APPLE!! I’ve been adding the basic OpenGL implementations for a very simple texture and shader “classes” (theres no such thing as a class in C of course). This works kind of like a refresher course for me as I already though I was proficent enough with opengl, maybe once i ship this i might try to re do this but using vulkan instead. What have i added? The shader class, which reads the glsl source files (not pre-compiled) and compiles them in real time, not very fancy right now A texture class that updates in real time to what frame was given by the video section, correctly set to linear color correction and uses rgb24 Now i will add a super simple quad implementation where the shader will render to, on top of the screen buffer What i still need to figure out I dont think that OpenGL can get the screen buffer with the pixel colors of whats behind the screen, even when the glfw window is entirely transparent, I’ll do some more research to see what to do I’ve thought that this program might actually be a lot more useful that what im currently making it look. In the end you can quickly change the glsl shader to have completely different results and also upload any kind of video you want… PD: the window you see in the video is green just so you can see it at all, but in the final version it will be completely transparent
BAD APPLE!! the demo video contains flashing colors!! Huge progress!!!!! i made this work finally! well not quite yet but ive finally have something to show you Theres still some issues you can clearly see but i do know why this is happening Why it currently looks broken? In order to get the screen buffer i need to use X11 (currently, maybe ill port it to use other different APIs) which means that this is pretty much like taking a screenshot every frame but very fast because its the GPU. The problem is that we are re-feeding the previous output to the new one, so it breaks the original colors over time What have i done X11 based system to retrieve the screen’s image and pass it to the shader as another texture! Performance was improved a bit although it generally doesnt really matter (maybe it will when using videos over 1080p, havent tried tho) Fixed A SINGLE memory leak, woops Next steps! Port the project to SDL3, i always start my projects with GLFW and always forget how much i dislike GLFW, it has so many tools and features missing that SDL has, so ill probably port it to it, it shouldnt be very hard
BAD APPLE!! This is the first decent version! I still need to fix a couple things but finally using your computer with this on wont give you an epileptic attack. Note that what you see in the video is very simple, this program i made is a lot more powerful (this is not only for bad apple videos but a general postprocessing realtime layer on your screen!!) New stuff! Completely moved the project from GLFW to SDL3! Fixed the feeding loop bug: refactored the capturer so instead of taking a screenshot every frame it now loops with X11’s backend through all the windows and reconstructs the screen buffer manually (this took a lot of docs reading time), the result is really good but has limitations that i will list below Appart from the effect you see, ive also coded 2 other shaders that also use this video Published the github repo and added both a license and a readme file Current limitations This only works on Linux with X11 backend, if you use wayland, windows or mac this should not work at all, adding support to new platforms would be interesting, but before i need to fix the next issue The current system that reads all windows and stitches them together to form a screen buffer doesnt take into consideration new or closed windows and doesnt update their position or resizing… this will probably be the next thing to do but ill have to check how the performances doing. Of course i will be making a video for youtube to showcase this, this was the main goal of the project either way lmao
BAD APPLE!! (NOW PUBLISHED) the video is published on youtube!!!!! Check it out: https://youtu.be/a1_1RXaRt74 . Please go like it so it get viral! What was done? I’ve improved the performance by only collecting each window information’s only when they are marked as changed, this improved performance so much that i was able to run some games while using it Added a simple command line argument parser for quick settings and path changes Ive also added some cool C math optimizations like approximating a division by 255 with a cool bit shift trick! (i felt like a genius programmer) What needs to be improved There’s a couple things that still run in the CPU that could be pretty much moved to the GPU if they cause a bottle neck, maybe in the future?? Need to make sure that new/closed or resized windows are accounted and properly updated, this is the next step, ive tried already but this adds a lot of lag and i didnt like how it was looking, but maybe now ill try again! PD: PLEASE go watch the final version: https://youtu.be/a1_1RXaRt74 Btw, im probably gonna be shipping shortly, maybe after next devlog?
Ships:
I made a postprocessing layer that runs on top of your screen in real time. I’ve used it to create my own version of the Bad Apple videoclip, but this tool is a lot more powerful!! It gives you access to fast video decoding, a screen buffer and the huge potential of GLSL shaders to allow you to create any effect you want while still keeping the input layer active! Built on pure C and its currently only available on Linux (only supports X11 backend as thats what is used to manually create the screen buffer, maybe ill add wayland in the future) Hope you like it!!...
|
1792972593.7874198
|
1793058993.7874198
|
|
42543
|
UwUConverter by @CherryMG | Stardance
|
CherryMG
|
1
|
94.31
|
236
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-03T20:42:34Z", "hours": 12.0, "multiplier": 19.47, "payout": 236, "blessing": "neutral", "text": "How UwUConverter meets the criteria Clear quality-of-life improvement UwUConverter makes file conversion much faster by adding conversion options directly to the Windows right-click menu. Instead of opening a website or separate program, users can right-click a file and choose an output format. Working and usable project The project is already functional and packaged with a Windows installer and uninstaller. It supports video, audio, images, RAW files, documents, and spreadsheets. Effort and thoughtful execution I built the conversion system, format-specific context menus, Windows Registry integration, icon installation, packaged executable, installer, uninstall cleanup, README, license, and automated GitHub builds. Clear problem being solved Most file converters require extra software, uploads, ads, or several manual steps. UwUConverter keeps the process local, private, and available directly in File Explorer. Minimum 3 hours spent The project took well over three hours as you may see due to testing formats, codecs, document libraries, packaging, Registry commands, installer behavior, and release automation. Three out of many major QoL improvements Right-click conversion Convert files without opening another program. Many formats in one tool Supports common media, image, document, and spreadsheet formats. Local and private Files stay on the user’s computer instead of being uploaded. Current release UwUConverter supports formats including MP4, MKV, WebM, MP3, WAV, FLAC, OPUS, PNG, JPG, PDF, DOCX, ODT, TXT, XLSX, XLS, ODS, CSV, and TSV. It also includes a Windows installer, uninstaller, automatic context-menu setup, command-line support, and GitHub release builds. This is only the first ship This is only the first ship. I will add: A GUI More extensions Settings and presets Compression options Video, audio, and image quality controls Batch conversion Better progress information Safer output naming Better format compatibility detection Improved document and spreadsheet support Linux support", "repo": "https://github.com/CherryMakesGames/uwuconverter", "demo": "https://github.com/CherryMakesGames/UwUConverter/releases"}]...
|
[{"post_id": 51924, "ts": "202 [{"post_id": 51924, "ts": "2026-08-21T20:56:53Z", "hours": 2.2078, "text": "Update 22 Modern Context Menu works now! I am going to work on making a better installer and more functionality related to archives"}, {"post_id": 51696, "ts": "2026-08-21T14:55:10Z", "hours": 8.8081, "text": "Update 21 I am about to finish the release as I realized the issue with windows comes with the weird way of creating app certificates and “trusting” them."}, {"post_id": 49845, "ts": "2026-08-18T19:56:43Z", "hours": 5.4158, "text": "Update 20 You know how Windows 11 has this new modern context menu? Yeah! I forgot about that because like any normal person I use the extended one as default:) I now found out that the tool in fact does not show up on the modern context menu, and that is because windows decided to make that a fancy shmancy system which I will let google overview explain: The modern context menu uses a different mechanism: an IExplorerCommand COM shell extension registered through package identity, usually via an MSIX/sparse package. So after reading through all the blabber and a lot of forum posts, I realize! I am fucked! I need to learn how to wrap up some small .dll that will do all the exposing of things to the modern menu. Please, can you all quit windows and go to linux instead so I don’t have to fuck with this?"}, {"post_id": 49235, "ts": "2026-08-17T22:09:57Z", "hours": 0.6669, "text": "Why does this cost money, let me publish my god damn extension"}, {"post_id": 49128, "ts": "2026-08-17T19:21:13Z", "hours": 7.5067, "text": "Update 19 Now, I can finally place my hand on your shoulder, and say I managed to “sort of” get the new feature working! The feature being, browser integration. Now, you may ask yourself, Cherry, what the fuck do you mean browser integration, what are you doing in my house? And to these I say, hear me out, and don’t worry about it. This has been suggested to me and long story short it is a feature that will detect the web browsers that are on your device and allow you to install a connection between them and the app via native messaging so as to be able to for example, right click any image in google images, whether a png, ico or webp, select “UwUConverter Download” and then select from the dropdown of fileformats to download as. This is to furthermore decrease the hassle in daily life file downloads. I plan to also just add a “quick download button” which will download the image as a png no matter what, and an option to set a filename before downloading."}, {"post_id": 47802, "ts": "2026-08-16T00:27:08Z", "hours": 8.6306, "text": "Update 18 I’m mostly writing this update so soon due to devlog limits. I am currently working on implementing browser integration via a browser extension that connects to the application via native messaging allowing you to download files directly in the format you want instead of that pescy .webp or .ico. The reason why I am doing this not “just as an extension” is the fact that this way you can already utilize the tool that you likely already have downloaded (UwUConverter) and support filetypes that are not natively supported by the browser view as that would be a limitation if I had done it without native messaging. I hope to push this soon!"}, {"post_id": 47027, "ts": "2026-08-14T16:54:17Z", "hours": 3.1928, "text": "Update 17 I added batch conversion without requiring to use the entire folder. It took surprisingly a long time to get working with filtering “accidental misselections” like having images and videos together for conversion."}, {"post_id": 46457, "ts": "2026-08-13T17:54:18Z", "hours": 9.1389, "text": "Update 16 I was about to yell and scream and say fuck this project however I finally got an autoupdater working along with support for right click decompression on linux. Added archive decompression to linux Added archive decompression to windows Added cli archive management including compression Added an autoupdater, and manual updates with cli Fixed multiple minor issues related to document conversion Fixed minor issue relating to cli archive management Fixed ssl errors Fixed install errors with certain network types New release avalaible on github in a few minutes Enjoy the product of my suffering:))"}, {"post_id": 45090, "ts": "2026-08-11T11:12:48Z", "hours": 3.2989, "text": "Update 15 Added full support for extraction of compressed archives in rclick menu."}, {"post_id": 44247, "ts": "2026-08-09T21:32:49Z", "hours": 4.1947, "text": "Update 14 I have added 7-zip support for the cli version of the tool, it comes bundled in with the project in their lightweight cli free to use for commercial use version. What is funny, I will not be able to support compressing into rar because: “the actual RAR compression/creation algorithm is controlled by RARLAB. Their license explicitly says the RAR compression algorithm is proprietary and may not be recreated from the UnRAR/WinRAR code without permission” It is such bullshit but okay ig, if that’s needed lol Luckily, I have never ran into someone willingly using .rar. Create + extract/list/test now supports: 7z zip tar gzip / gz bzip2 / bz2 xz wim Extraction/list/test additionally supports: rar cab iso arj lzh lzma rpm dmg xar"}, {"post_id": 43985, "ts": "2026-08-09T13:56:51Z", "hours": 7.2667, "text": "Update 13 Added early 3D model conversion support for OBJ, STL, PLY, and GLB, including CLI and batch conversion. One issue I ran into was that 3D formats don’t all represent the same information. Converting something like a GLB scene to STL can’t preserve materials, textures, object hierarchy, animations, etc. STL is basically just mesh geometry. For now, UwUConverter merges multi-object scenes when exporting to simpler single-mesh formats like STL/PLY and accepts that some scene data will be lost. I am also in the process of expanding the cli system for 7-zip integration with the goal of replacing winrar:)"}, {"post_id": 43332, "ts": "2026-08-08T15:09:27Z", "hours": 6.0364, "text": "Update 12 I am preparing to expand this project massively so I have created a cli version workin both on windows and linux which aims to: Give more freedom with conversion Allow the app to be used in professional workflows Simplify batch image processing And allow for more configuration Potentially implement this as an API"}, {"post_id": 42553, "ts": "2026-08-07T11:34:56Z", "hours": 0.9842, "text": "Update 11 As some people requested, I added .tif and .tiff file formats, it was very simple, just a small pillow library connection."}, {"post_id": 42322, "ts": "2026-08-07T00:08:16Z", "hours": 4.9922, "text": "Update 10 After a lot of struggle, I managed to make batch converting file folders possible. It is not yet multithreaded, however it will be in the future. Since batch conversion might require more arguments, pressing the Convert with UwUConverter button in the rclick menu opens a small UI that gives you a list of possible options. Furthermore, I plan to implement compressing to zips, decompressing etc. soon. Either way, what changed is: Added batch file conversion with custom settings including: File Format, if you are to Replace/Place new files beside/create a new folder, and Which category you convert from (also if you want logs) Fixed Linux issues, rclick menu was not resetting after updates. Created a UI for Batch Conversion."}, {"post_id": 41346, "ts": "2026-08-05T14:35:30Z", "hours": 6.5417, "text": "Update 9 Linux Was Not Just Another Build After getting the Windows version into a much better state, I started working on Linux support. I originally thought this would mostly mean running PyInstaller on Linux and uploading another executable. The actual problem was the right-click menu. On Windows, UwUConverter uses Registry entries to add actions to File Explorer. Linux does not have one equivalent system. The desktop matters, but the file manager matters even more, and different file managers expect completely different integrations. Nautilus, Nemo, and Caja can use executable scripts placed in their own script folders. Dolphin uses KDE service-menu .desktop files instead. Because of that, I could not simply replace winreg and call Linux support finished. The first job was stopping Linux from importing the Windows-only Registry code. I added a platform layer that selects make_key.py on Windows and linux_menu.py on Linux. The next thign was recreating the existing menu structure without maintaining a completely separate Linux conversion list. The Linux integration now reads the same file_types.py definitions and generates the correct scripts or Dolphin service menus from them. Nautilus, Nemo, and Caja were relatively straightforward once the script generator worked. Dolphin needed separate MIME-type mappings, executable .desktop files, KDE-specific submenu fields, and its own installation folder. Compression also caused more trouble than expected. My first presets used fixed quality values, so different options sometimes produced almost identical files. Some videos even became larger after compression because the original was already more efficiently encoded. I changed the system to offer: Lossless optimization Compress by 25% Compress by 50% Compress by 75% The percentage modes aim for a target size based on the source file. Video compression now estimates a bitrate from the source duration and size, while image compression searches for a suitable quality or palette level. What changed Added experimental Linux builds Added a platform-specific menu layer Added Nautilus support for GNOME Added Nemo support for Cinnamon Added Caja support for MATE Added Dolphin service menus for KDE Plasma Added lossless, 25%, 50%, and 75% compression options Expanded the README with Linux instructions Current state Windows is still the main and most tested version. It has the Inno Setup installer, automatic context-menu registration, and uninstall cleanup. Linux can now be built with PyInstaller and can generate integrations for Nautilus, Nemo, Caja, and Dolphin. The next step is testing it on Ubuntu, Linux Mint, Fedora, Arch-based systems such as CachyOS, and multiple desktop environments."}, {"post_id": 40751, "ts": "2026-08-04T14:13:14Z", "hours": 2.2033, "text": "Update 8 This update started because the right-click menu was getting crowded, and compression was one of the biggest missing features. While adding it, I ended up cleaning up a lot more than expected, reorganizing the menus, splitting parts of the converter into separate modules, and making the project easier to maintain. Something I did not mention earlier is that UwUConverter now has a full Windows installer built with Inno Setup. It installs the application into a permanent folder, registers the right-click menu, and includes proper uninstall support. Added four compression options: lossless, 25%, 50%, and 75% Reorganized the right-click menu into clearer conversion and compression categories Improved the README structure and readability Split more of the converter into separate modules Improved the installation and release process"}, {"post_id": 40507, "ts": "2026-08-04T02:50:33Z", "hours": 0.7094, "text": "Update 8 I am trying to get compressing files to work but atp I will have to spend an hour making an actual filetree instead of all in one python file"}, {"post_id": 40442, "ts": "2026-08-03T23:16:53Z", "hours": 0.5164, "text": "What is this project?"}, {"post_id": 40340, "ts": "2026-08-03T19:42:26Z", "hours": 3.7503, "text": "Update 7 Added support for a lot of types of data related to documents etc. .docx .txt .odt .pdf (for documents and sheets) .csv .ods .tsv .xls .xlsx"}, {"post_id": 39736, "ts": "2026-08-02T21:56:00Z", "hours": 0.9539, "text": "Update 6 First Pre-Release of UwUConverter Small summary I have wanted to learn how to do a proper github action automation and well, I’ve got it done! That means now I will periodically release versions of this app now:)"}, {"post_id": 39698, "ts": "2026-08-02T20:42:10Z", "hours": 2.4986, "text": "Update 5 To UwUConverter I added integration of a lot more file formats and conversions Added support for audio formats as .ogg .mp3 .wav .flac Allowed conversion from video to audio Added the ability to convert image formats as .png .jpg .jpeg .webp .ico Added the ability to convert from image to PDF"}, {"post_id": 39497, "ts": "2026-08-02T14:23:15Z", "hours": 0.3783, "text": "Update 4 UwU"}, {"post_id": 39482, "ts": "2026-08-02T13:38:10Z", "hours": 2.0897, "text": "Update 3 The new feature File converters have been added for: .mp4 .mov .kmv .webm .avi All work correctly now, and relatively fast except .webm, but let’s be real, who in their right mind uses .webm."}, {"post_id": 38974, "ts": "2026-08-01T16:24:13Z", "hours": 1.4639, "text": "Update 1 I’ve got some of my first file conversions working Completed my system for attaching path Started my ffmpeg (pyav to be specific) system"}, {"post_id": 38547, "ts": "2026-08-01T00:42:00Z", "hours": 1.0081, "text": "Update 0 Took me an hour to figure out 40 lines of code… I started on my system for creating regedit attachments so when I rclick my file proper conversions show up."}]...
|
Title: UwUConverter by @CherryMG | Stardance
Devl Title: UwUConverter by @CherryMG | Stardance
Devlogs:
Update 0 Took me an hour to figure out 40 lines of code… I started on my system for creating regedit attachments so when I rclick my file proper conversions show up.
Update 1 I’ve got some of my first file conversions working Completed my system for attaching path Started my ffmpeg (pyav to be specific) system
Update 3 The new feature File converters have been added for: .mp4 .mov .kmv .webm .avi All work correctly now, and relatively fast except .webm, but let’s be real, who in their right mind uses .webm.
Update 4 UwU
Update 5 To UwUConverter I added integration of a lot more file formats and conversions Added support for audio formats as .ogg .mp3 .wav .flac Allowed conversion from video to audio Added the ability to convert image formats as .png .jpg .jpeg .webp .ico Added the ability to convert from image to PDF
Update 6 First Pre-Release of UwUConverter Small summary I have wanted to learn how to do a proper github action automation and well, I’ve got it done! That means now I will periodically release versions of this app now:)
Update 7 Added support for a lot of types of data related to documents etc. .docx .txt .odt .pdf (for documents and sheets) .csv .ods .tsv .xls .xlsx
What is this project?
Update 8 I am trying to get compressing files to work but atp I will have to spend an hour making an actual filetree instead of all in one python file
Update 8 This update started because the right-click menu was getting crowded, and compression was one of the biggest missing features. While adding it, I ended up cleaning up a lot more than expected, reorganizing the menus, splitting parts of the converter into separate modules, and making the project easier to maintain. Something I did not mention earlier is that UwUConverter now has a full Windows installer built with Inno Setup. It installs the application into a permanent folder, registers the right-click menu, and includes proper uninstall support. Added four compression options: lossless, 25%, 50%, and 75% Reorganized the right-click menu into clearer conversion and compression categories Improved the README structure and readability Split more of the converter into separate modules Improved the installation and release process
Update 9 Linux Was Not Just Another Build After getting the Windows version into a much better state, I started working on Linux support. I originally thought this would mostly mean running PyInstaller on Linux and uploading another executable. The actual problem was the right-click menu. On Windows, UwUConverter uses Registry entries to add actions to File Explorer. Linux does not have one equivalent system. The desktop matters, but the file manager matters even more, and different file managers expect completely different integrations. Nautilus, Nemo, and Caja can use executable scripts placed in their own script folders. Dolphin uses KDE service-menu .desktop files instead. Because of that, I could not simply replace winreg and call Linux support finished. The first job was stopping Linux from importing the Windows-only Registry code. I added a platform layer that selects make_key.py on Windows and linux_menu.py on Linux. The next thign was recreating the existing menu structure without maintaining a completely separate Linux conversion list. The Linux integration now reads the same file_types.py definitions and generates the correct scripts or Dolphin service menus from them. Nautilus, Nemo, and Caja were relatively straightforward once the script generator worked. Dolphin needed separate MIME-type mappings, executable .desktop files, KDE-specific submenu fields, and its own installation folder. Compression also caused more trouble than expected. My first presets used fixed quality values, so different options sometimes produced almost identical files. Some videos even became larger after compression because the original was already more efficiently encoded. I changed the system to offer: Lossless optimization Compress by 25% Compress by 50% Compress by 75% The percentage modes aim for a target size based on the source file. Video compression now estimates a bitrate from the source duration and size, while image compression searches for a suitable quality or palette level. What changed Added experimental Linux builds Added a platform-specific menu layer Added Nautilus support for GNOME Added Nemo support for Cinnamon Added Caja support for MATE Added Dolphin service menus for KDE Plasma Added lossless, 25%, 50%, and 75% compression options Expanded the README with Linux instructions Current state Windows is still the main and most tested version. It has the Inno Setup installer, automatic context-menu registration, and uninstall cleanup. Linux can now be built with PyInstaller and can generate integrations for Nautilus, Nemo, Caja, and Dolphin. The next step is testing it on Ubuntu, Linux Mint, Fedora, Arch-based systems such as CachyOS, and multiple desktop environments.
Update 10 After a lot of struggle, I managed to make batch converting file folders possible. It is not yet multithreaded, however it will be in the future. Since batch conversion might require more arguments, pressing the Convert with UwUConverter button in the rclick menu opens a small UI that gives you a list of possible options. Furthermore, I plan to implement compressing to zips, decompressing etc. soon. Either way, what changed is: Added batch file conversion with custom settings including: File Format, if you are to Replace/Place new files beside/create a new folder, and Which category you convert from (also if you want logs) Fixed Linux issues, rclick menu was not resetting after updates. Created a UI for Batch Conversion.
Update 11 As some people requested, I added .tif and .tiff file formats, it was very simple, just a small pillow library connection.
Update 12 I am preparing to expand this project massively so I have created a cli version workin both on windows and linux which aims to: Give more freedom with conversion Allow the app to be used in professional workflows Simplify batch image processing And allow for more configuration Potentially implement this as an API
Update 13 Added early 3D model conversion support for OBJ, STL, PLY, and GLB, including CLI and batch conversion. One issue I ran into was that 3D formats don’t all represent the same information. Converting something like a GLB scene to STL can’t preserve materials, textures, object hierarchy, animations, etc. STL is basically just mesh geometry. For now, UwUConverter merges multi-object scenes when exporting to simpler single-mesh formats like STL/PLY and accepts that some scene data will be lost. I am also in the process of expanding the cli system for 7-zip integration with the goal of replacing winrar:)
Update 14 I have added 7-zip support for the cli version of the tool, it comes bundled in with the project in their lightweight cli free to use for commercial use version. What is funny, I will not be able to support compressing into rar because: “the actual RAR compression/creation algorithm is controlled by RARLAB. Their license explicitly says the RAR compression algorithm is proprietary and may not be recreated from the UnRAR/WinRAR code without permission” It is such bullshit but okay ig, if that’s needed lol Luckily, I have never ran into someone willingly using .rar. Create + extract/list/test now supports: 7z zip tar gzip / gz bzip2 / bz2 xz wim Extraction/list/test additionally supports: rar cab iso arj lzh lzma rpm dmg xar
Update 15 Added full support for extraction of compressed archives in rclick menu.
Update 16 I was about to yell and scream and say fuck this project however I finally got an autoupdater working along with support for right click decompression on linux. Added archive decompression to linux Added archive decompression to windows Added cli archive management including compression Added an autoupdater, and manual updates with cli Fixed multiple minor issues related to document conversion Fixed minor issue relating to cli archive management Fixed ssl errors Fixed install errors with certain network types New release avalaible on github in a few minutes Enjoy the product of my suffering:))
Update 17 I added batch conversion without requiring to use the entire folder. It took surprisingly a long time to get working with filtering “accidental misselections” like having images and videos together for conversion.
Update 18 I’m mostly writing this update so soon due to devlog limits. I am currently working on implementing browser integration via a browser extension that connects to the application via native messaging allowing you to download files directly in the format you want instead of that pescy .webp or .ico. The reason why I am doing this not “just as an extension” is the fact that this way you can already utilize the tool that you likely already have downloaded (UwUConverter) and support filetypes that are not natively supported by the browser view as that would be a limitation if I had done it without native messaging. I hope to push this soon!
Update 19 Now, I can finally place my hand on your shoulder, and say I managed to “sort of” get the new feature working! The feature being, browser integration. Now, you may ask yourself, Cherry, what the fuck do you mean browser integration, what are you doing in my house? And to these I say, hear me out, and don’t worry about it. This has been suggested to me and long story short it is a feature that will detect the web browsers that are on your device and allow you to install a connection between them and the app via native messaging so as to be able to for example, right click any image in google images, whether a png, ico or webp, select “UwUConverter Download” and then select from the dropdown of fileformats to download as. This is to furthermore decrease the hassle in daily life file downloads. I plan to also just add a “quick download button” which will download the image as a png no matter what, and an option to set a filename before downloading.
Why does this cost money, let me publish my god damn extension
Update 20 You know how Windows 11 has this new modern context menu? Yeah! I forgot about that because like any normal person I use the extended one as default:) I now found out that the tool in fact does not show up on the modern context menu, and that is because windows decided to make that a fancy shmancy system which I will let google overview explain: The modern context menu uses a different mechanism: an IExplorerCommand COM shell extension registered through package identity, usually via an MSIX/sparse package. So after reading through all the blabber and a lot of forum posts, I realize! I am fucked! I need to learn how to wrap up some small .dll that will do all the exposing of things to the modern menu. Please, can you all quit windows and go to linux instead so I don’t have to fuck with this?
Update 21 I am about to finish the release as I realized the issue with windows comes with the weird way of creating app certificates and “trusting” them.
Update 22 Modern Context Menu works now! I am going to work on making a better installer and more functionality related to archives
Ships:
How UwUConverter meets the criteria Clear quality-of-life improvement UwUConverter makes file conversion much faster by adding conversion options directly to the Windows right-click menu. Instead of opening a website or separate program, users can right-click a file and choose an output format. Working and usable project The project is already functional and packaged with a Windows installer and uninstaller. It supports video, audio, images, RAW files, documents, and spreadsheets. Effort and thoughtful execution I built the conversion system, format-specific context menus, Windows Registry integration, icon installation, packaged executable, installer, uninstall cleanup, README, license, and automated GitHub builds. Clear problem being solved Most file converters require extra software, uploads, ads, or several manual steps. UwUConverter keeps the process local, private, and available directly in File Explorer. Minimum 3 hours spent The project took well over three hours as you may see due to testing formats, codecs, document libraries, packaging, Registry commands, installer behavior, and release automation. Three out of many major QoL improvements Right-click conversion Convert files without opening another program. Many formats in one tool Supports common media, image, document, and spreadsheet formats. Local and private Files stay on the user’s computer instead of being uploaded. Current release UwUConverter supports formats including MP4, MKV, WebM, MP3, WAV, FLAC, OPUS, PNG, JPG, PDF, DOCX, ODT, TXT, XLSX, XLS, ODS, CSV, and TSV. It also includes a Windows installer, uninstaller, automatic context-menu setup, command-line support, and GitHub release builds. This is only the first ship This is only the first ship. I will add: A GUI More extensions Settings and presets Compression options Video, audio, and image quality controls Batch conversion Better progress information Safer output naming Better format compatibility detection Improved document and spreadsheet support Linux support...
|
1792878778.9386644
|
1793742778.9386644
|