|
23222
|
Climate Shield by @HackerDpro | Stardance
|
HackerDpro
|
3
|
55.0
|
452
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T13:30:29Z", "hours": 26.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Dear voters, I made “CLIMATE SHIELD”, an interactive dashboard with real-time natural disasters (focussed mostly on fires) from NASA API’s being shown. Why: I made this project because I was surprised by hearing so much fire incidents on the news, I liked the idea of being able to see all fires and data in one place and easy-to-read. I also liked the idea of using NASA data for my project, as this Stardance challenge is sponsored by NASA. During the process of creating this project, I learn a lot about how to use API’s and merge multiple APIs into one dashboard. The difference between this and the previous ship I got lots of ideas and inspirations from the previous ship. So I did my best to implement them all into this ship, some examples: A canvas tutorial that explains the basics from my page to new users. You can replay it in the TELEMETRY page! Added more sources, this way some areas that weren’t covered before have also data (although I have done my best to only use free API’s, that means that it may not contain ALL the data there currently is). In my previous ship I added another way of seeing the world (if you click on the “RECON” buttons), now it is also a map you can select as standard-view. There was a bug that I can’t explain this short (you can see more info about it in my devlogs), but I mostly fixed it! I hope you have a great day, and thanks for voting!!!", "repo": "https://github.com/HackerDpro/climate-shield", "demo": "https://climate-shield.netlify.app/"}, {"ship_num": 2, "ts": "2026-10-08T20:49:50Z", "hours": 25.0, "multiplier": 15.5, "payout": 385, "blessing": "neutral", "text": "I made a web page with NASA live data (API’s) to track natural problems around the world. CLIMATE SHIELD! I am proud of it being one of my biggest projects. I got the idea of doing this by seeing in the news all the wildfires happening right now, it was perfect timing as I was searching for ideas of what I could make for Startdance. Even though I knew there are already bunch of other sites that do this and may be 100x better than mine I just thought thta I woudl be so proud if I were able to make one myself. To be honest I did use AI, maybe a little bit too much some times. But I tried my best to participate as much as I can on the project, I know that AI shouldn’t be doing this for me. I learnt about all the back end things and API’s (I was frontend dev before but had low experience of back end, so this learnt me much too). So dear reviewer, I hope you like, enjoy and support my project as much as I do, have fun reviewing all the parts of it. If even like this my project would dissapoint you, I’d be glad to be able to get a feedback so I can make it even better! P.S. I appear to sometimes still have problems with the backend, it is hosted on the hack club Nest servers that should run 24/7 but I sometimes have connection errors with it so if the backend data doesn’t show directly after reloading the site please don’t check my project as failed, I am doing my best to make it work! Oh and yeah, I ma sorry for this looking so unstructurised but I didn’t really know how this be represented to you, if I maybe should write this the same layout as a README or a DEVBLOG", "repo": "https://github.com/HackerDpro/climate-shield", "demo": "https://climate-shield.netlify.app/"}, {"ship_num": 3, "ts": "2026-06-21T19:03:22Z", "hours": 4.0, "multiplier": 17.74, "payout": 67, "blessing": "neutral", "text": "I built Climate Shield, an AI-enhanced dashboard for global wildfire prediction. What I made: A high-performance Command Center that tracks 6,000+ real-time wildfire events. It integrates NASA satellite data with Open-Meteo elevation and OpenWeatherMap metrics to predict fire spread behaviors based on terrain and wind vectors. What was challenging: Scaling! Rendering 6k+ fires crashed my browser initially. I solved this by migrating the map engine to HTML5 Canvas for instant performance. I also had to implement an ‘on-demand’ API fetching strategy to bypass rate limits while maintaining deep-dive analytics. What I’m proud of: The ‘Terrain AI.’ By calculating elevation data in real-time, the dashboard now identifies ‘Critical Uphill Alignment’ a major factor in wildfire spread, and generates a 24-hour linear projection for dangerous outbreaks. How to test: Visit the Live Dashboard. ( https://climate-shield.netlify.app/ ) Toggle between Tactical (full data), Orbital (map focus), and Telemetry (deep analytics) modes. Click any fire marker to view specific wind, elevation, and hazard score data. Have fun discovering all the data.", "repo": "https://github.com/HackerDpro/climate-shield", "demo": "https://climate-shield.netlify.app/"}]...
|
[{"post_id": 79522, "ts": "202 [{"post_id": 79522, "ts": "2026-10-14T13:05:26Z", "hours": 6.2528, "text": "ALL BUGS SOLVED (I think) This is my last devlog before 3rd ship! It was hard but I think I have done everything my 2nd ship’s voters told me to, I am exited to see what my 3rd ship’s voters will think of my project. I am happy with how my project turned out (Although I always like people giving me ideas and inspirations for future features and more)!"}, {"post_id": 79467, "ts": "2026-10-14T05:10:56Z", "hours": 8.4911, "text": "8 hours later = BUG FIXED After 8 hours of coding later and some frustrations: I finally fixed the annoying bug that I had (more info of the bug is to be seen in my previous devlogs). I am making my final changes before shipping, fixing a new smaller bug I found recently “NASA FIRMS data not loading”. After making all these changes: the bug fix, tutorial implementation, adding new sources and merging them, … I expect my 3rd ship to be soon!!!"}, {"post_id": 78883, "ts": "2026-10-11T21:15:19Z", "hours": 5.4208, "text": "More progress with merging Today I’ve mostly made progress with the codes to merge multiple API’s into the same details pup-up. I also did my best on finding a solution for the bug that has been happening when a fire pop-up shows and it touches the top of the page and dissapears. My only solution right now is to minimize the page (“ctrl” + “-”). Come back to see tomorrow’s devlog!"}, {"post_id": 78459, "ts": "2026-10-10T20:51:07Z", "hours": 6.0917, "text": "POST-SHIP PROGRESS I’ve been working on satisfying the reviews I got from my last shipment’s voters. I have been making a tutorial for first-timers on my page, it will show the basics of how to navigate and use my Climate-Shield project, a replay will be availble in the “TELEMETRY” tab. (view picture below). I am doing my best on fixing a very annoying bug that makes the details from a fire show for a split second and dissapear. It has been hard to fix that bug for now… I am working on adding more resources so I don’t only rely on 1 API but multiple (some may have more data than others). The difficult part has been trying to merge same fires from different api’s in one fire (to not have duplicates). These are my main issues I am working on right now, tomorrow I’ll continue, have a good day!"}, {"post_id": 77931, "ts": "2026-10-08T20:33:39Z", "hours": 7.9175, "text": "After coming back to Climate Shield I found that the backend (hack club Nest) had stopped, so the dashboard could no longer load its data. I got it running again (with PM2 and systemd), then replaced the map that suddenly was asking for an API key with another one (Esri tiles). When the fires still seemed missing, I checked the live data and found 7,130 valid reports. On the new map, the markers were just too small and hard to see, so I made them bigger and with a dark outline. I then tested the Netlify page with the API and saw that everything worked. I also updated the README and wrote my use of AI assistance (I am not sure if I would’ve been able to revive the project without it)."}, {"post_id": 22753, "ts": "2026-07-05T10:28:33Z", "hours": 2.4594, "text": "I have been a bit quiet lately, here is what is happening: I am on holidays with my family in Spain, this is what is keeping my time limited. I also don’t have a desktop here so that makes working and coding a bit more difficult (I work on a 14” schoollaptop). I am working on a very big update, about adding satelite cams and nearby webcams to visualize fires and maybe other things. This is a bit harder than expected but I expect it to be done in some hours, this would be the special update for celebrating my 25 or 30 hours in total coding time. I am also trying to make the feedback recieved from the shipping true, removing some bugs users found, … If you are reading this maybe you would like to try it out, I really appreciate feedback because it helps me improve what I don’t see. https://climate-shield.netlify.app/"}, {"post_id": 16198, "ts": "2026-06-26T10:01:54Z", "hours": 8.3156, "text": "Changing to a real server & a new TACTICAL UI Added a new Dropdown menu to the TACTICAL page to filter threats by layers and fully changed the backend to the Hack Club Nest server! The biggest friction this week was dealing with my old Render backend constantly going to sleep, which made the web app feel broken to new users. I finally set up my FastAPI app with PM2 so it stays awake 24/7. On the frontend, I built a sleek new dropdown to change between Earthquakes, Floods, Storms, and Volcanoes. The hard part was getting the map layers to play nicely together, toggling the new NASA API’s kept overwriting my core 6,000+ wildfire array! I had to rewrite the logic to separate the Leaflet layers so the map can stays fast and doesn’t wipe your data when you switch views. Right now, I am still trying to fix some bugs and improving the CO2 graph, I am also planning on updating my README.md to explain the new features (better). THANK YOU FOR READING! (I am almost at 20 hours of coding omg, I may need to add a special feature for when it happens. Any ideas or improvements are really appreciated!)"}, {"post_id": 15016, "ts": "2026-06-24T12:13:11Z", "hours": 0.7833, "text": "I hit 10 hours of coding! Here is what i lately changed: I just made a clock in the Tactical page (who doesn’t need a clock). I changed the font-family to Roboto. And I also changed the colors and some styling to feel more personal (I got much comments saying that I used AI so I am currently rewriting the most of the css to feel more like me)."}, {"post_id": 14306, "ts": "2026-06-23T11:47:37Z", "hours": 1.7369, "text": "Lastly I’ve remade the whole (first section) of the README.md, no more AI is used in it. I have made some improvement on the Orbital to be able to display the extra sensors too (btw extra sensors is a new feature too, read the README.md to learn more about it). I also made a costum favicon. Right now I am gathering API’s for more data and info comming soon, and also trying to categorize the things better so my site doesn’t look too messy (to new users)."}, {"post_id": 13910, "ts": "2026-06-22T20:14:16Z", "hours": 3.6611, "text": "Here is a summary of what I added on Day 3: Orbital Engine: Implemented a 3D WebGL globe with hardware-accelerated solar shading and physical height-mapped thermal pillars. Predictive “Pre-Crime” Scanning: Created a sector-based scan that analyzes soil moisture and weather data to calculate ignition probability for any empty landmass. Tactical Evacuation Routing: Integrated the Open Source Routing Machine (OSRM) to automatically generate safe civilian escape paths based on wind direction and terrain. Multi-Hazard Sensor Array: Added specialized monitoring layers for Mudslides (soil hydrophobicity), Cyclones (SST anomalies), Volcanic Ash (stratospheric tracking), and Seismic Activity (USGS lithospheric data). Raw Radiometry Engine: Added the ability to ingest NASA MODAPS CSV data to measure physical fire intensity in Megawatts (FRP), rather than just visual location. Performance Engineering: Optimized massive dataset rendering by offloading complex physics calculations to background CPU Web Workers to ensure zero UI lag. More info in https://github.com/HackerDpro/climate-shield"}, {"post_id": 13270, "ts": "2026-06-21T18:44:58Z", "hours": 2.8814, "text": "Read the README.dm for a full resume but here is a shortened version of my day 2: I’ve hit a major milestone in the development of Climate Shield. Scaling a dashboard to handle 6,000+ live wildfire events while maintaining a responsive user interface required a total re-architecture of my data pipeline. Technical Challenges & Solutions: Performance Scaling: To prevent browser crashes, I migrated from standard map markers to an HTML5 Canvas rendering engine. This allows for thousands of data points to load near-instantly without lag. API Intelligence: To handle 6,000+ potential weather requests without triggering rate limits, I implemented an “on-demand” fetching model. Wind vectors and elevation-based terrain analytics now trigger only when a user interacts with a specific fire, ensuring the dashboard remains fast and efficient. Terrain-Aware Analytics: I integrated elevation data to model fire spread. The engine now calculates whether a fire is on a “Critical Uphill Alignment”—a major factor in real-world wildfire behavior—providing a 24-hour linear projection for the most dangerous incidents. Dashboard Evolution: I’ve evolved the UI into a true Command Center with three distinct view modes:Tactical: The default full-dashboard view.Orbital: A map-focused mode for spatial tracking. Telemetry: A high-level data engine featuring carbon flux calculations, predictive risk averages, and hazard distribution matrices. This transition from a simple map to a multi-layered predictive engine has significantly improved the tool’s utility. Whether it’s tracking global CO2 trajectories or specific uphill fire spread, Climate Shield is now a high-performance asset for wildfire visualization."}, {"post_id": 13006, "ts": "2026-06-21T08:24:12Z", "hours": 0.9553, "text": "Spent our first session setting up the entire architecture for Climate Shield. Instead of just building a static map, we built a live data bridge. We successfully connected a Python backend engine using FastAPI to NASA’s live EONET satellite network, pulling in over 6,000 active global wildfires! To bypass cloud firewalls and handle messy data, we engineered a custom data-cleaning filter. Then, we linked the coordinates to the OpenWeatherMap API to calculate real-time wind speed and direction. Right now, the frontend map isn’t just displaying fire locations—it is actively rendering dynamic Risk Vectors (yellow trajectory lines) showing exactly where the wind is driving the fire spread. Next up: building the AI hazard scoring system!"}]...
|
Title: Climate Shield by @HackerDpro | Stardance
Title: Climate Shield by @HackerDpro | Stardance
Devlogs:
Spent our first session setting up the entire architecture for Climate Shield. Instead of just building a static map, we built a live data bridge. We successfully connected a Python backend engine using FastAPI to NASA’s live EONET satellite network, pulling in over 6,000 active global wildfires! To bypass cloud firewalls and handle messy data, we engineered a custom data-cleaning filter. Then, we linked the coordinates to the OpenWeatherMap API to calculate real-time wind speed and direction. Right now, the frontend map isn’t just displaying fire locations—it is actively rendering dynamic Risk Vectors (yellow trajectory lines) showing exactly where the wind is driving the fire spread. Next up: building the AI hazard scoring system!
Read the README.dm for a full resume but here is a shortened version of my day 2: I’ve hit a major milestone in the development of Climate Shield. Scaling a dashboard to handle 6,000+ live wildfire events while maintaining a responsive user interface required a total re-architecture of my data pipeline. Technical Challenges & Solutions: Performance Scaling: To prevent browser crashes, I migrated from standard map markers to an HTML5 Canvas rendering engine. This allows for thousands of data points to load near-instantly without lag. API Intelligence: To handle 6,000+ potential weather requests without triggering rate limits, I implemented an “on-demand” fetching model. Wind vectors and elevation-based terrain analytics now trigger only when a user interacts with a specific fire, ensuring the dashboard remains fast and efficient. Terrain-Aware Analytics: I integrated elevation data to model fire spread. The engine now calculates whether a fire is on a “Critical Uphill Alignment”—a major factor in real-world wildfire behavior—providing a 24-hour linear projection for the most dangerous incidents. Dashboard Evolution: I’ve evolved the UI into a true Command Center with three distinct view modes:Tactical: The default full-dashboard view.Orbital: A map-focused mode for spatial tracking. Telemetry: A high-level data engine featuring carbon flux calculations, predictive risk averages, and hazard distribution matrices. This transition from a simple map to a multi-layered predictive engine has significantly improved the tool’s utility. Whether it’s tracking global CO2 trajectories or specific uphill fire spread, Climate Shield is now a high-performance asset for wildfire visualization.
Here is a summary of what I added on Day 3: Orbital Engine: Implemented a 3D WebGL globe with hardware-accelerated solar shading and physical height-mapped thermal pillars. Predictive “Pre-Crime” Scanning: Created a sector-based scan that analyzes soil moisture and weather data to calculate ignition probability for any empty landmass. Tactical Evacuation Routing: Integrated the Open Source Routing Machine (OSRM) to automatically generate safe civilian escape paths based on wind direction and terrain. Multi-Hazard Sensor Array: Added specialized monitoring layers for Mudslides (soil hydrophobicity), Cyclones (SST anomalies), Volcanic Ash (stratospheric tracking), and Seismic Activity (USGS lithospheric data). Raw Radiometry Engine: Added the ability to ingest NASA MODAPS CSV data to measure physical fire intensity in Megawatts (FRP), rather than just visual location. Performance Engineering: Optimized massive dataset rendering by offloading complex physics calculations to background CPU Web Workers to ensure zero UI lag. More info in https://github.com/HackerDpro/climate-shield
Lastly I’ve remade the whole (first section) of the README.md, no more AI is used in it. I have made some improvement on the Orbital to be able to display the extra sensors too (btw extra sensors is a new feature too, read the README.md to learn more about it). I also made a costum favicon. Right now I am gathering API’s for more data and info comming soon, and also trying to categorize the things better so my site doesn’t look too messy (to new users).
I hit 10 hours of coding! Here is what i lately changed: I just made a clock in the Tactical page (who doesn’t need a clock). I changed the font-family to Roboto. And I also changed the colors and some styling to feel more personal (I got much comments saying that I used AI so I am currently rewriting the most of the css to feel more like me).
Changing to a real server & a new TACTICAL UI Added a new Dropdown menu to the TACTICAL page to filter threats by layers and fully changed the backend to the Hack Club Nest server! The biggest friction this week was dealing with my old Render backend constantly going to sleep, which made the web app feel broken to new users. I finally set up my FastAPI app with PM2 so it stays awake 24/7. On the frontend, I built a sleek new dropdown to change between Earthquakes, Floods, Storms, and Volcanoes. The hard part was getting the map layers to play nicely together, toggling the new NASA API’s kept overwriting my core 6,000+ wildfire array! I had to rewrite the logic to separate the Leaflet layers so the map can stays fast and doesn’t wipe your data when you switch views. Right now, I am still trying to fix some bugs and improving the CO2 graph, I am also planning on updating my README.md to explain the new features (better). THANK YOU FOR READING! (I am almost at 20 hours of coding omg, I may need to add a special feature for when it happens. Any ideas or improvements are really appreciated!)
I have been a bit quiet lately, here is what is happening: I am on holidays with my family in Spain, this is what is keeping my time limited. I also don’t have a desktop here so that makes working and coding a bit more difficult (I work on a 14” schoollaptop). I am working on a very big update, about adding satelite cams and nearby webcams to visualize fires and maybe other things. This is a bit harder than expected but I expect it to be done in some hours, this would be the special update for celebrating my 25 or 30 hours in total coding time. I am also trying to make the feedback recieved from the shipping true, removing some bugs users found, … If you are reading this maybe you would like to try it out, I really appreciate feedback because it helps me improve what I don’t see. https://climate-shield.netlify.app/
After coming back to Climate Shield I found that the backend (hack club Nest) had stopped, so the dashboard could no longer load its data. I got it running again (with PM2 and systemd), then replaced the map that suddenly was asking for an API key with another one (Esri tiles). When the fires still seemed missing, I checked the live data and found 7,130 valid reports. On the new map, the markers were just too small and hard to see, so I made them bigger and with a dark outline. I then tested the Netlify page with the API and saw that everything worked. I also updated the README and wrote my use of AI assistance (I am not sure if I would’ve been able to revive the project without it).
POST-SHIP PROGRESS I’ve been working on satisfying the reviews I got from my last shipment’s voters. I have been making a tutorial for first-timers on my page, it will show the basics of how to navigate and use my Climate-Shield project, a replay will be availble in the “TELEMETRY” tab. (view picture below). I am doing my best on fixing a very annoying bug that makes the details from a fire show for a split second and dissapear. It has been hard to fix that bug for now… I am working on adding more resources so I don’t only rely on 1 API but multiple (some may have more data than others). The difficult part has been trying to merge same fires from different api’s in one fire (to not have duplicates). These are my main issues I am working on right now, tomorrow I’ll continue, have a good day!
More progress with merging Today I’ve mostly made progress with the codes to merge multiple API’s into the same details pup-up. I also did my best on finding a solution for the bug that has been happening when a fire pop-up shows and it touches the top of the page and dissapears. My only solution right now is to minimize the page (“ctrl” + “-”). Come back to see tomorrow’s devlog!
8 hours later = BUG FIXED After 8 hours of coding later and some frustrations: I finally fixed the annoying bug that I had (more info of the bug is to be seen in my previous devlogs). I am making my final changes before shipping, fixing a new smaller bug I found recently “NASA FIRMS data not loading”. After making all these changes: the bug fix, tutorial implementation, adding new sources and merging them, … I expect my 3rd ship to be soon!!!
ALL BUGS SOLVED (I think) This is my last devlog before 3rd ship! It was hard but I think I have done everything my 2nd ship’s voters told me to, I am exited to see what my 3rd ship’s voters will think of my project. I am happy with how my project turned out (Although I always like people giving me ideas and inspirations for future features and more)!
Ships:
I built Climate Shield, an AI-enhanced dashboard for global wildfire prediction. What I made: A high-performance Command Center that tracks 6,000+ real-time wildfire events. It integrates NASA satellite data with Open-Meteo elevation and OpenWeatherMap metrics to predict fire spread behaviors based on terrain and wind vectors. What was challenging: Scaling! Rendering 6k+ fires crashed my browser initially. I solved this by migrating the map engine to HTML5 Canvas for instant performance. I also had to implement an ‘on-demand’ API fetching strategy to bypass rate limits while maintaining deep-dive analytics. What I’m proud of: The ‘Terrain AI.’ By calculating elevation data in real-time, the dashboard now identifies ‘Critical Uphill Alignment’ a major factor in wildfire spread, and generates a 24-hour linear projection for dangerous outbreaks. How to test: Visit the Live Dashboard. ( https://climate-shield.netlify.app/ ) Toggle between Tactical (full data), Orbital (map focus), and Telemetry (deep analytics) modes. Click any fire marker to view specific wind, elevation, and hazard score data. Have fun discovering all the data.
I made a web page with NASA live data (API’s) to track natural problems around the world. CLIMATE SHIELD! I am proud of it being one of my biggest projects. I got the idea of doing this by seeing in the news all the wildfires happening right now, it was perfect timing as I was searching for ideas of what I could make for Startdance. Even though I knew there are already bunch of other sites that do this and may be 100x better than mine I just thought thta I woudl be so proud if I were able to make one myself. To be honest I did use AI, maybe a little bit too much some times. But I tried my best to participate as much as I can on the project, I know that AI shouldn’t be doing this for me. I learnt about all the back end things and API’s (I was frontend dev before but had low experience of back end, so this learnt me much too). So dear reviewer, I hope you like, enjoy and support my project as much as I do, have fun reviewing all the parts of it. If even like this my project would dissapoint you, I’d be glad to be able to get a feedback so I can make it even better! P.S. I appear to sometimes still have problems with the backend, it is hosted on the hack club Nest servers that should run 24/7 but I sometimes have connection errors with it so if the backend data doesn’t show directly after reloading the site please don’t check my project as failed, I am doing my best to make it work! Oh and yeah, I ma sorry for this looking so unstructurised but I didn’t really know how this be represented to you, if I maybe should write this the same layout as a README or a DEVBLOG
Dear voters, I made “CLIMATE SHIELD”, an interactive dashboard with real-time natural disasters (focussed mostly on fires) from NASA API’s being shown. Why: I made this project because I was surprised by hearing so much fire incidents on the news, I liked the idea of being able to see all fires and data in one place and easy-to-read. I also liked the idea of using NASA data for my project, as this Stardance challenge is sponsored by NASA. During the process of creating this project, I learn a lot about how to use API’s and merge multiple APIs into one dashboard. The difference between this and the previous ship I got lots of ideas and inspirations from the previous ship. So I did my best to implement them all into this ship, some examples: A canvas tutorial that explains the basics from my page to new users. You can replay it in the TELEMETRY page! Added more sources, this way some areas that weren’t covered before have also data (although I have done my best to only use free API’s, that means that it may not contain ALL the data there currently is). In my previous ship I added another way of seeing the world (if you click on the “RECON” buttons), now it is also a map you can select as standard-view. There was a bug that I can’t explain this short (you can see more info about it in my devlogs), but I mostly fixed it! I hope you have a great day, and thanks for voting!!!...
|
1792084771.3176944
|
1792948771.3176944
|
|
23919
|
Caveman OS by @colgation | Stardance
|
colgation
|
3
|
19.0
|
110
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T10:17:54Z", "hours": 3.0, "multiplier": 8.67, "payout": 29, "blessing": "neutral", "text": "I made an easter egg hunting game, disguised as a WebOS. A few achievements are easy to get, but some require deep thinking. If you get stuck, don’t worry! I’ve gone through the process of making a Youtube video and detailed instructions in the README on how to get each easter egg. Alongside this, I used three.js to create my very own 3d mammoth. Check it out at https://194500-cpu.github.io/CavemanOS/", "repo": "https://github.com/194500-cpu/CavemanOS", "demo": "https://194500-cpu.github.io/CavemanOS/"}, {"ship_num": 2, "ts": "2026-07-19T09:22:51Z", "hours": 6.0, "multiplier": 14.63, "payout": 81, "blessing": "neutral", "text": "Caveman Web OS is an Easter egg hunting game disguised as a prehistoric computer operating system. At first, it looks like a simple WebOS with draggable windows and applications. However, different buttons, messages and interactions can reveal hidden achievements. Players can use the Easter Egg Tracker to see what they have discovered and receive clues about secrets they have not found yet. In case anyone is struggling, here is a video of me completing all the achievements: https://www.youtube.com/watch?v=Ed1CFRDi-0Q Live Website https://194500-cpu.github.io/CavemanOS/ Features Draggable application windows Desktop-style navigation bar and dock Live date and time display Campfire messaging app Realtime messages using Supabase Easter Egg Tracker Hidden achievements Caveman AI called Bob Random dialogue and hints from Bob Secret phrases and puzzle-based interactions Special ending screens Achievement visuals that change after discovery Custom prehistoric interface and artwork *Sweet Alert 2 for beautiful alerts How It Works The WebOS interface is made from HTML elements styled as movable application windows. Challenges Making Windows Draggable I had to calculate the movement of the mouse and update each window’s position while preventing windows from being dragged completely outside the screen. Window Layering When multiple applications are open, the selected window needs to move in front of the others. I implemented this by increasing each selected window’s z-index. Realtime Campfire Messages I connected the project to Supabase so messages could be saved and displayed to different visitors. I also used Supabase realtime updates so new messages could appear without manually refreshing the page. Designing Easter Eggs The achievements needed to be hidden but still possible to discover. I tried to create clues that gradually lead players toward an answer instead of revealing the solution immediately. Deploying With GitHub Pages I learned how GitHub Pages serves the project from the docs folder. I also encountered Git merge conflicts while moving files and learned how local development can behave differently from a deployed website. What I Learned During this project, I learned more about: JavaScript event listeners DOM manipulation Functions and application state Asynchronous JavaScript Supabase databases Realtime database subscriptions CSS positioning CSS transitions Draggable interfaces z-index and window layering Responsive layouts Git commits Merge conflicts GitHub Pages deployment Debugging differences between local and deployed websites Future Improvements", "repo": "https://github.com/194500-cpu/CavemanOS", "demo": "https://194500-cpu.github.io/CavemanOS/"}, {"ship_num": 3, "ts": "2026-06-26T07:06:38Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a easter egg hunter hidden as a WebOS. It has visible tracker for achievments, a connected “Campfire” app that uses a database to store messages, and included closable and draggable windows. Interested? Check it out!", "repo": "https://github.com/194500-cpu/CavemanOS", "demo": "https://194500-cpu.github.io/CavemanOS/"}]...
|
[{"post_id": 70531, "ts": "202 [{"post_id": 70531, "ts": "2026-09-19T10:15:19Z", "hours": 0.2575, "text": "Final changes, made a video to showcase achievements as well as notes in the README. I also polished some text and spellchecked with a dictionary ;)."}, {"post_id": 68771, "ts": "2026-09-15T18:43:39Z", "hours": 0.2833, "text": "Looking to ship soon, today I fixed some bugs like sweet alert glitching out, made the alert only dissappear if ok is pressed."}, {"post_id": 61888, "ts": "2026-09-05T01:45:25Z", "hours": 0.7886, "text": "New easter egg to make mammoth RGB!"}, {"post_id": 60475, "ts": "2026-09-02T20:27:05Z", "hours": 0.4058, "text": "Each hour, Bob has something different to say. For example if it is 12 ’o clock, he might say: LUNCH TIME Alongside this, I have added a QOL change, so pressing enter key will now send a message in the Campfire App!"}, {"post_id": 60458, "ts": "2026-09-02T19:57:10Z", "hours": 1.0381, "text": "Made a 3d Wireframe Mammoth that tracks your mouse with its head! It took ages to set up Three js and create the shape, so don’t be scared by its simplicity!"}, {"post_id": 31130, "ts": "2026-07-19T09:05:06Z", "hours": 0.3431, "text": "I added SweetAlert 2, meaning all of the alerts on my website will be delivered in stylish fashion!"}, {"post_id": 31124, "ts": "2026-07-19T08:42:15Z", "hours": 0.2725, "text": "WOW git was much more confusing than I thought. I really took me a while to find out how to push my changes, as I was constantly met with an error that my branches were out of sync. I tried all sort of stuff, but it turns out my folder name being wrong was the problem."}, {"post_id": 31106, "ts": "2026-07-19T07:33:16Z", "hours": 1.2628, "text": "Today, I made a secret cutscene for one of my achievements. It can be found through clues given by “Bob” in my AI assistant app (Abysmal Intelligence.) Here’s a preview:"}, {"post_id": 27424, "ts": "2026-07-12T23:52:31Z", "hours": 0.6711, "text": "I would not give him that."}, {"post_id": 27395, "ts": "2026-07-12T22:34:22Z", "hours": 2.9828, "text": "Bug fixing! Lots of easter eggs coming up and a ui revamp! Also lets be civil in the campfire…"}, {"post_id": 16131, "ts": "2026-06-26T07:03:56Z", "hours": 0.6164, "text": "Final improvements!"}, {"post_id": 16103, "ts": "2026-06-26T05:55:20Z", "hours": 1.6675, "text": "Connected my Campfire app to a database, so now it can store stuff. COMMUNICATION!"}, {"post_id": 14946, "ts": "2026-06-24T08:59:52Z", "hours": 0.5161, "text": "Any suggestions on making easter eggs? As always, have a wonderful day :)"}, {"post_id": 14934, "ts": "2026-06-24T08:26:44Z", "hours": 1.0069, "text": "Fixed Z-indexing and cleaned up my code to be more neat"}, {"post_id": 14920, "ts": "2026-06-24T07:00:55Z", "hours": 0.6353, "text": "if (element.offsetLeft + element.offsetWidth - currentX < window.innerWidth && element.offsetLeft - currentX > 0 && element.offsetTop - currentY > 0 && element.offsetTop + element.offsetHeight - currentY < innerHeight) { element.style.top = (element.offsetTop - currentY) + “px”; element.style.left = (element.offsetLeft - currentX) + “px”; } TLDR: The window cannot be moved outside of the screen. (this prevents windows from becoming unclosable)"}, {"post_id": 14822, "ts": "2026-06-24T02:15:36Z", "hours": 0.6667, "text": "Variables are storing text input"}, {"post_id": 14732, "ts": "2026-06-23T22:53:11Z", "hours": 0.2619, "text": "Welcome screen is done! Plan to decorate it, but I think now I can just start making secrets."}, {"post_id": 14719, "ts": "2026-06-23T22:31:53Z", "hours": 0.6644, "text": "Welcome screen (in progress), lots of JS fixes, layout fixes and cool website!"}, {"post_id": 14289, "ts": "2026-06-23T10:51:11Z", "hours": 1.0186, "text": "Some bug fixing needed for hide/show feature, but still very cool to have a closable and draggable window!"}, {"post_id": 14038, "ts": "2026-06-23T00:40:14Z", "hours": 1.8167, "text": "What could this icon be used for? It took me like 10 minutes to make (shoutout vectorpea)."}, {"post_id": 13607, "ts": "2026-06-22T09:40:09Z", "hours": 0.3728, "text": "Added time to my website - First lines of JavaScript!"}, {"post_id": 13596, "ts": "2026-06-22T08:48:41Z", "hours": 0.3236, "text": "I really want someone to give me suggestions, no really any feature you think would be fun to have :) Many thanks and happy coding. Also quick update, the wallpaper has been changed."}, {"post_id": 13588, "ts": "2026-06-22T08:09:18Z", "hours": 0.4236, "text": "Started development!!! (btw is this image copyright xd)"}]...
|
Title: Caveman OS by @colgation | Stardance
Devlo Title: Caveman OS by @colgation | Stardance
Devlogs:
Started development!!! (btw is this image copyright xd)
I really want someone to give me suggestions, no really any feature you think would be fun to have :) Many thanks and happy coding. Also quick update, the wallpaper has been changed.
Added time to my website - First lines of JavaScript!
What could this icon be used for? It took me like 10 minutes to make (shoutout vectorpea).
Some bug fixing needed for hide/show feature, but still very cool to have a closable and draggable window!
Welcome screen (in progress), lots of JS fixes, layout fixes and cool website!
Welcome screen is done! Plan to decorate it, but I think now I can just start making secrets.
Variables are storing text input
if (element.offsetLeft + element.offsetWidth - currentX < window.innerWidth && element.offsetLeft - currentX > 0 && element.offsetTop - currentY > 0 && element.offsetTop + element.offsetHeight - currentY < innerHeight) { element.style.top = (element.offsetTop - currentY) + “px”; element.style.left = (element.offsetLeft - currentX) + “px”; } TLDR: The window cannot be moved outside of the screen. (this prevents windows from becoming unclosable)
Fixed Z-indexing and cleaned up my code to be more neat
Any suggestions on making easter eggs? As always, have a wonderful day :)
Connected my Campfire app to a database, so now it can store stuff. COMMUNICATION!
Final improvements!
Bug fixing! Lots of easter eggs coming up and a ui revamp! Also lets be civil in the campfire…
I would not give him that.
Today, I made a secret cutscene for one of my achievements. It can be found through clues given by “Bob” in my AI assistant app (Abysmal Intelligence.) Here’s a preview:
WOW git was much more confusing than I thought. I really took me a while to find out how to push my changes, as I was constantly met with an error that my branches were out of sync. I tried all sort of stuff, but it turns out my folder name being wrong was the problem.
I added SweetAlert 2, meaning all of the alerts on my website will be delivered in stylish fashion!
Made a 3d Wireframe Mammoth that tracks your mouse with its head! It took ages to set up Three js and create the shape, so don’t be scared by its simplicity!
Each hour, Bob has something different to say. For example if it is 12 ’o clock, he might say: LUNCH TIME Alongside this, I have added a QOL change, so pressing enter key will now send a message in the Campfire App!
New easter egg to make mammoth RGB!
Looking to ship soon, today I fixed some bugs like sweet alert glitching out, made the alert only dissappear if ok is pressed.
Final changes, made a video to showcase achievements as well as notes in the README. I also polished some text and spellchecked with a dictionary ;).
Ships:
I made a easter egg hunter hidden as a WebOS. It has visible tracker for achievments, a connected “Campfire” app that uses a database to store messages, and included closable and draggable windows. Interested? Check it out!
Caveman Web OS is an Easter egg hunting game disguised as a prehistoric computer operating system. At first, it looks like a simple WebOS with draggable windows and applications. However, different buttons, messages and interactions can reveal hidden achievements. Players can use the Easter Egg Tracker to see what they have discovered and receive clues about secrets they have not found yet. In case anyone is struggling, here is a video of me completing all the achievements: https://www.youtube.com/watch?v=Ed1CFRDi-0Q Live Website https://194500-cpu.github.io/CavemanOS/ Features Draggable application windows Desktop-style navigation bar and dock Live date and time display Campfire messaging app Realtime messages using Supabase Easter Egg Tracker Hidden achievements Caveman AI called Bob Random dialogue and hints from Bob Secret phrases and puzzle-based interactions Special ending screens Achievement visuals that change after discovery Custom prehistoric interface and artwork *Sweet Alert 2 for beautiful alerts How It Works The WebOS interface is made from HTML elements styled as movable application windows. Challenges Making Windows Draggable I had to calculate the movement of the mouse and update each window’s position while preventing windows from being dragged completely outside the screen. Window Layering When multiple applications are open, the selected window needs to move in front of the others. I implemented this by increasing each selected window’s z-index. Realtime Campfire Messages I connected the project to Supabase so messages could be saved and displayed to different visitors. I also used Supabase realtime updates so new messages could appear without manually refreshing the page. Designing Easter Eggs The achievements needed to be hidden but still possible to discover. I tried to create clues that gradually lead players toward an answer instead of revealing the solution immediately. Deploying With GitHub Pages I learned how GitHub Pages serves the project from the docs folder. I also encountered Git merge conflicts while moving files and learned how local development can behave differently from a deployed website. What I Learned During this project, I learned more about: JavaScript event listeners DOM manipulation Functions and application state Asynchronous JavaScript Supabase databases Realtime database subscriptions CSS positioning CSS transitions Draggable interfaces z-index and window layering Responsive layouts Git commits Merge conflicts GitHub Pages deployment Debugging differences between local and deployed websites Future Improvements
I made an easter egg hunting game, disguised as a WebOS. A few achievements are easy to get, but some require deep thinking. If you get stuck, don’t worry! I’ve gone through the process of making a Youtube video and detailed instructions in the README on how to get each easter egg. Alongside this, I used three.js to create my very own 3d mammoth. Check it out at https://194500-cpu.github.io/CavemanOS/...
|
1792979521.4829404
|
1793065921.4829404
|
|
24030
|
My very own WebOS by @naman0410 | Stardance
|
naman0410
|
3
|
4.0
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T10:17:59Z", "hours": 0.0, "multiplier": 1.69, "payout": 0, "blessing": "neutral", "text": "DesiCinema OS is a simple web application inspired by a desktop operating system, designed to help users explore popular Indian comedy movies in a fun and interactive way. Instead of displaying a traditional movie list, the project uses draggable windows and a desktop-like interface to make browsing films more engaging. The application includes a random movie picker, genre-based filtering, and a celebrity recommendation section that suggests movies associated with selected actors. It also features a live clock and a clean interface built entirely with HTML, CSS, and vanilla JavaScript. This project was created to practice front-end development concepts such as DOM manipulation, event handling, responsive layouts, and interactive UI design while experimenting with a different approach to presenting movie recommendations. It demonstrates how a simple dataset can be turned into an enjoyable user experience using core web technologies.", "repo": "https://github.com/modinaman099/WebOScreation", "demo": "https://web-o-screation-8chh.vercel.app/"}, {"ship_num": 2, "ts": "2026-07-01T09:33:14Z", "hours": 1.0, "multiplier": 4.94, "payout": 5, "blessing": "neutral", "text": "DesiCinema OS is a simple web application inspired by a desktop operating system, designed to help users explore popular Indian comedy movies in a fun and interactive way. Instead of displaying a traditional movie list, the project uses draggable windows and a desktop-like interface to make browsing films more engaging. The application includes a random movie picker, genre-based filtering, and a celebrity recommendation section that suggests movies associated with selected actors. It also features a live clock and a clean interface built entirely with HTML, CSS, and vanilla JavaScript. This project was created to practice front-end development concepts such as DOM manipulation, event handling, responsive layouts, and interactive UI design while experimenting with a different approach to presenting movie recommendations. It demonstrates how a simple dataset can be turned into an enjoyable user experience using core web technologies.", "repo": "https://github.com/modinaman099/WebOScreation", "demo": "https://web-o-screation-8chh.vercel.app/"}, {"ship_num": 3, "ts": "2026-06-23T16:01:52Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a WebOS for movies helping people find movies based on genre", "repo": "https://github.com/modinaman099/WebOScreation", "demo": "https://web-o-screation-8chh.vercel.app/"}]...
|
[{"post_id": 20682, "ts": "202 [{"post_id": 20682, "ts": "2026-07-02T10:33:34Z", "hours": 0.0, "text": "Updated the UI interface abit . Debugged the code and cleaned it"}, {"post_id": 18254, "ts": "2026-06-29T10:28:27Z", "hours": 1.0, "text": "I have updated my code . Worked on the CSS , Java part . I have also added a new features of getting suggestion by selecting your favourite celebs . It will suggest you one of the best movies of those actors ."}, {"post_id": 14335, "ts": "2026-06-23T13:04:51Z", "hours": 0.0, "text": "I have almost completed my WebOS for movies . It has a roulette kind of suggestion page . It also allow you to distinguish between movies based on their genre"}, {"post_id": 14274, "ts": "2026-06-23T10:02:14Z", "hours": 1.0, "text": "i have made the basic interface for the os of best m"}, {"post_id": 13924, "ts": "2026-06-22T20:39:05Z", "hours": 0.0, "text": "im making a kind of webOS list of best indian cinema comedies"}]...
|
Title: My very own WebOS by @naman0410 | Stardance Title: My very own WebOS by @naman0410 | Stardance
Devlogs:
im making a kind of webOS list of best indian cinema comedies
i have made the basic interface for the os of best m
I have almost completed my WebOS for movies . It has a roulette kind of suggestion page . It also allow you to distinguish between movies based on their genre
I have updated my code . Worked on the CSS , Java part . I have also added a new features of getting suggestion by selecting your favourite celebs . It will suggest you one of the best movies of those actors .
Updated the UI interface abit . Debugged the code and cleaned it
Ships:
I have made a WebOS for movies helping people find movies based on genre
DesiCinema OS is a simple web application inspired by a desktop operating system, designed to help users explore popular Indian comedy movies in a fun and interactive way. Instead of displaying a traditional movie list, the project uses draggable windows and a desktop-like interface to make browsing films more engaging. The application includes a random movie picker, genre-based filtering, and a celebrity recommendation section that suggests movies associated with selected actors. It also features a live clock and a clean interface built entirely with HTML, CSS, and vanilla JavaScript. This project was created to practice front-end development concepts such as DOM manipulation, event handling, responsive layouts, and interactive UI design while experimenting with a different approach to presenting movie recommendations. It demonstrates how a simple dataset can be turned into an enjoyable user experience using core web technologies.
DesiCinema OS is a simple web application inspired by a desktop operating system, designed to help users explore popular Indian comedy movies in a fun and interactive way. Instead of displaying a traditional movie list, the project uses draggable windows and a desktop-like interface to make browsing films more engaging. The application includes a random movie picker, genre-based filtering, and a celebrity recommendation section that suggests movies associated with selected actors. It also features a live clock and a clean interface built entirely with HTML, CSS, and vanilla JavaScript. This project was created to practice front-end development concepts such as DOM manipulation, event handling, responsive layouts, and interactive UI design while experimenting with a different approach to presenting movie recommendations. It demonstrates how a simple dataset can be turned into an enjoyable user experience using core web technologies....
|
1792878819.520542
|
1793742819.520542
|
|
24319
|
PixelOS by @Pixeleyesd | Stardance
|
Pixeleyesd
|
3
|
10.0
|
26
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T09:36:09Z", "hours": 3.0, "multiplier": 6.58, "payout": 21, "blessing": "neutral", "text": "My WebOS 2 version of PixelOS now includes: ALL NEW FEATURES: DOS Emulator, DOS to your heart’s content! Terminal app, written in python, some cool easter eggs there! and HALF LIFE, FULLY PLAYABLE IN BROWSER :) (I iframed an existing project, just to be clear) Old Features: DOOM, Notepad, Contacts, Weather", "repo": "https://github.com/Pixeleyesd/PixelOS", "demo": "https://github.pixeleyesd.dpdns.org/PixelOS/"}, {"ship_num": 2, "ts": "2026-06-25T05:13:51Z", "hours": 1.0, "multiplier": 7.23, "payout": 5, "blessing": "neutral", "text": "I made a WebOS with fully draggable windows and functioning apps such as doom. This version is fully bugfixed now.", "repo": "https://github.com/Pixeleyesd/PixelOS", "demo": "https://github.pixeleyesd.dpdns.org/PixelOS/"}, {"ship_num": 3, "ts": "2026-06-24T00:06:21Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a fully functional WebOS with draggable windows and cool custom apps. Also theres DOOM. It works, too.", "repo": "https://github.com/Pixeleyesd/PixelOS", "demo": "https://github.pixeleyesd.dpdns.org/PixelOS/"}]...
|
[{"post_id": 26482, "ts": "202 [{"post_id": 26482, "ts": "2026-07-11T09:31:19Z", "hours": 1.7444, "text": "I iframed in the half life browser project into my webOS, so now you can play half-life in browser, IN PIXEL OS NO LESS. YAYAYYY ——————————————————I finished my terminal python script, with commands like cat, ls, lsusb, etc. I refuse to admit the amount of time I spent on this wildly inefficient and buggy code, but here we are. It has a few easter eggs (try “ls -a” and try “ls /HomeworkFolder/”) and I’m READY TO SHIPPP :)"}, {"post_id": 24411, "ts": "2026-07-07T23:11:39Z", "hours": 0.6208, "text": "I fixed terminal and DOS Emulator breaking keyboard attachment."}, {"post_id": 23976, "ts": "2026-07-07T06:54:11Z", "hours": 0.9378, "text": "I’ve added a DOS emulator, and a “terminal” which is really incomplete (which is really just a python script, using pyodide) there is a known bug where once you open doom or the DOS emulator the terminal won’t let you attach to it. I’m trying to fix that now."}, {"post_id": 15479, "ts": "2026-06-25T05:12:38Z", "hours": 0.7328, "text": "I fixed the bug where PixelNotes won’t let you type in any of the entry boxes after opening the DOSBOX running DOOM, as it agressively forces the keyboard to attach to the DOSBOX, meaning you can’t interact with anything else in the website with your keyboard. Now when DOOM is open / closed the PixelNotes app will work regardless. The layering of the windows now also applies to the drag box, meaning that when the drag box is selected or dragged, it counts as that window being focused. This was necessary for the notes app to function properly."}, {"post_id": 14748, "ts": "2026-06-23T23:23:50Z", "hours": 1.0217, "text": "I made a few more apps: PixelContacts (to help people get in contact with me) and DOOM, which is an embedded DOSBOX running the zip file [email protected] its pretty cool overall :) My next step is to do WebOS 2 to “customise further” :D"}, {"post_id": 14693, "ts": "2026-06-23T21:43:11Z", "hours": 1.3217, "text": "I made the notes app work, as well as the window layering. There was an issue where you could drag anywhere in a window, disabling interactions in that window, which I also got around to fixing. The notes save to local storage as well, which means they get saved even after reload. :)"}, {"post_id": 14224, "ts": "2026-06-23T07:21:49Z", "hours": 2.3772, "text": "Hello there! Quick devlog update: I just finished making windows able to be moved and able to be closed with that red square at the top right of the window. I’m now making the PixelNotes app. (The clock also works properly if I didn’t mention before :3)"}, {"post_id": 14082, "ts": "2026-06-23T02:05:08Z", "hours": 0.8647, "text": "I made the WebOS recognisable as an OS. The top bar uses blur + monochrome."}, {"post_id": 14023, "ts": "2026-06-23T00:21:10Z", "hours": 0.3536, "text": "I made a simple webpage, ready to turn it into a WebOS."}]...
|
Title: PixelOS by @Pixeleyesd | Stardance
Devlogs Title: PixelOS by @Pixeleyesd | Stardance
Devlogs:
I made a simple webpage, ready to turn it into a WebOS.
I made the WebOS recognisable as an OS. The top bar uses blur + monochrome.
Hello there! Quick devlog update: I just finished making windows able to be moved and able to be closed with that red square at the top right of the window. I’m now making the PixelNotes app. (The clock also works properly if I didn’t mention before :3)
I made the notes app work, as well as the window layering. There was an issue where you could drag anywhere in a window, disabling interactions in that window, which I also got around to fixing. The notes save to local storage as well, which means they get saved even after reload. :)
I made a few more apps: PixelContacts (to help people get in contact with me) and DOOM, which is an embedded DOSBOX running the zip file [email protected] its pretty cool overall :) My next step is to do WebOS 2 to “customise further” :D
I fixed the bug where PixelNotes won’t let you type in any of the entry boxes after opening the DOSBOX running DOOM, as it agressively forces the keyboard to attach to the DOSBOX, meaning you can’t interact with anything else in the website with your keyboard. Now when DOOM is open / closed the PixelNotes app will work regardless. The layering of the windows now also applies to the drag box, meaning that when the drag box is selected or dragged, it counts as that window being focused. This was necessary for the notes app to function properly.
I’ve added a DOS emulator, and a “terminal” which is really incomplete (which is really just a python script, using pyodide) there is a known bug where once you open doom or the DOS emulator the terminal won’t let you attach to it. I’m trying to fix that now.
I fixed terminal and DOS Emulator breaking keyboard attachment.
I iframed in the half life browser project into my webOS, so now you can play half-life in browser, IN PIXEL OS NO LESS. YAYAYYY ——————————————————I finished my terminal python script, with commands like cat, ls, lsusb, etc. I refuse to admit the amount of time I spent on this wildly inefficient and buggy code, but here we are. It has a few easter eggs (try “ls -a” and try “ls /HomeworkFolder/”) and I’m READY TO SHIPPP :)
Ships:
I made a fully functional WebOS with draggable windows and cool custom apps. Also theres DOOM. It works, too.
I made a WebOS with fully draggable windows and functioning apps such as doom. This version is fully bugfixed now.
My WebOS 2 version of PixelOS now includes: ALL NEW FEATURES: DOS Emulator, DOS to your heart’s content! Terminal app, written in python, some cool easter eggs there! and HALF LIFE, FULLY PLAYABLE IN BROWSER :) (I iframed an existing project, just to be clear) Old Features: DOOM, Notepad, Contacts, Weather...
|
1792820916.7674453
|
1793684916.7674453
|
|
24652
|
Portfolio by @Ak_45 | Stardance
|
|
3
|
55.67
|
335
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T11:19:33Z", "hours": 35.0, "multiplier": 17.19, "payout": 305, "blessing": "neutral", "text": "I have polished my portfolio and added a room entering animation and a room (based on my room) and added interactive objects like a gaming mouse (turns RGB), a lamp (lights control), a clock (chimes when interacted with), headphones (plays lo-fi beats to enjoy), a chair, a bush,the window, and a microcontroller. To enter the portfolio, click on the laptop, and for full interaction, click on the laptop and fully interact with the portfolio. Click on the hamburger menu (3 horizontal lines), and for activating the Easter egg, type ‘akshith’ after reaching the bottom (full imersion/hamburger mode only)", "repo": "https://github.com/Akshithsurya/Portfolio_", "demo": "https://akshith-surya-portfolio-ak.netlify.app/"}, {"ship_num": 2, "ts": "2026-07-13T14:47:30Z", "hours": 3.0, "multiplier": 16.46, "payout": 21, "blessing": "neutral", "text": "I’ve built a sci-fi, terminal-style portfolio website that is a “mission dossier” of my journey in space science, hardware, and machine learning. Instead of a resume, it has interactive sections such as “Mission Logs” (projects), “Capabilities” (tech stack), and “Active Transmissions” (current focus). The main problem was crafting a UI that felt like a real aerospace control terminal and classified dossier but was still responsive and performant. I also had to structure the data carefully so that the hover cards for “Mission Records” and “Credentials” could be rendered dynamically without weighing down the page. I am really proud of the overall aesthetic and the narrative flow; it is not just a list of my skills but tells the story of a 15 year old aspiring astrophysicist from Kerala. I’m also proud to have tied my real world milestones like being a NASA Space Apps Global Nominee (Team RC_Real Coding) and my ISRO achievements into this cohesive “classified” theme. Testing & exploring: Scroll the 6 “Mission” sections or use the top nav. Hover over the Mission Records and Credentials cards for verified information. Easter Egg – Scroll to the very bottom of the page (Contact / Footer section) and then type akshith on your keyboard to unlock the Easter Egg! :D (also the solar map works it is time acurate so no quick movement)", "repo": "https://github.com/Akshithsurya/Portfolio_", "demo": "https://akshith-surya-portfolio-ak.netlify.app/"}, {"ship_num": 3, "ts": "2026-07-07T12:08:14Z", "hours": 2.0, "multiplier": 4.57, "payout": 9, "blessing": "neutral", "text": "What I made: My personal portfolio site — a single-file, deep-space-themed site built to represent my work in astrophysics, AI, and hardware to evaluators and collaborators. It runs a canvas starfield, a constellation-following cursor, and orbiting exoplanet animations and pulls live data from my GitHub ( @Akshithsurya ) so the projects section stays current without manual updates. What was challenging: Getting the animations to feel alive without tanking performance. I had several separate requestAnimationFrame loops running at once early on, which caused visible lag on scroll. I consolidated them into a single scheduler, dropped a full-viewport SVG grain overlay that was expensive to render, removed backdrop-filter blur during scroll events, and added content-visibility:auto to keep off-screen sections from being painted. The site went through several visual identity passes before landing on the current cosmic direction. What I’m proud of: It’s a single HTML file — no framework, no build step — that still holds a coherent, deliberate aesthetic and runs smoothly on modest hardware, which matters given the site’s audience. How to test it: Visit the live link, scroll through the sections, and try moving the cursor near the starfield to see the constellation effect. The GitHub activity should reflect my actual repositories in real time.", "repo": "https://github.com/Akshithsurya/Portfolio_", "demo": "https://akshith-surya-portfolio-ak.netlify.app/"}]...
|
[{"post_id": 48103, "ts": "202 [{"post_id": 48103, "ts": "2026-08-16T12:05:58Z", "hours": 8.6519, "text": "Added so that you can walk through the room, but it is not fully decorated yet ;). If you have any opinions, share them with me"}, {"post_id": 46786, "ts": "2026-08-14T09:14:07Z", "hours": 7.0197, "text": "Tried to add weather control; it worked at first, but I messed up, and it won’t load :("}, {"post_id": 44608, "ts": "2026-08-10T14:27:22Z", "hours": 9.6306, "text": "made the website way more optimized and decided to make the next.JS has some actual functions that made the textures and lighting also deployed this version: https://akshith-surya-portfolio-ak.netlify.app/ & https://akshith-surya-portfolio.vercel.app/"}, {"post_id": 43756, "ts": "2026-08-09T05:36:45Z", "hours": 8.8464, "text": "I have fixed the clock and made all the objects have better texture and added fabric texture to the windows, which made the lighting feel more realistic and made the portfolio match the room."}, {"post_id": 42772, "ts": "2026-08-07T17:30:43Z", "hours": 8.0769, "text": "Made all the items interactable, but I still can’t figure out what to do with the drawer, and the clock has gone mad :( and added lofi beats when the headphones are interacted with."}, {"post_id": 41887, "ts": "2026-08-06T11:59:00Z", "hours": 8.8603, "text": "making the entire website 3D and putting it all inside my room with a cozy aesthetic and different ways to look at my portfolio."}, {"post_id": 27708, "ts": "2026-07-13T14:34:38Z", "hours": 1.6222, "text": "Finally did what I wanted to; no one can call it bad."}, {"post_id": 27164, "ts": "2026-07-12T14:08:59Z", "hours": 0.5894, "text": "Adding easter eggs to my portfolio try ME"}, {"post_id": 25914, "ts": "2026-07-10T12:31:52Z", "hours": 0.4067, "text": "Adding sun in the background as a reference to my name"}, {"post_id": 24073, "ts": "2026-07-07T12:06:59Z", "hours": 2.0625, "text": "REAdy for liftoff: https://akshith-surya-portfolio-ak.netlify.app/"}]...
|
Title: Portfolio by @Ak_45 | Stardance
Devlogs:
R Title: Portfolio by @Ak_45 | Stardance
Devlogs:
REAdy for liftoff: https://akshith-surya-portfolio-ak.netlify.app/
Adding sun in the background as a reference to my name
Adding easter eggs to my portfolio try ME
Finally did what I wanted to; no one can call it bad.
making the entire website 3D and putting it all inside my room with a cozy aesthetic and different ways to look at my portfolio.
Made all the items interactable, but I still can’t figure out what to do with the drawer, and the clock has gone mad :( and added lofi beats when the headphones are interacted with.
I have fixed the clock and made all the objects have better texture and added fabric texture to the windows, which made the lighting feel more realistic and made the portfolio match the room.
made the website way more optimized and decided to make the next.JS has some actual functions that made the textures and lighting also deployed this version: https://akshith-surya-portfolio-ak.netlify.app/ & https://akshith-surya-portfolio.vercel.app/
Tried to add weather control; it worked at first, but I messed up, and it won’t load :(
Added so that you can walk through the room, but it is not fully decorated yet ;). If you have any opinions, share them with me
Ships:
What I made: My personal portfolio site — a single-file, deep-space-themed site built to represent my work in astrophysics, AI, and hardware to evaluators and collaborators. It runs a canvas starfield, a constellation-following cursor, and orbiting exoplanet animations and pulls live data from my GitHub ( @Akshithsurya ) so the projects section stays current without manual updates. What was challenging: Getting the animations to feel alive without tanking performance. I had several separate requestAnimationFrame loops running at once early on, which caused visible lag on scroll. I consolidated them into a single scheduler, dropped a full-viewport SVG grain overlay that was expensive to render, removed backdrop-filter blur during scroll events, and added content-visibility:auto to keep off-screen sections from being painted. The site went through several visual identity passes before landing on the current cosmic direction. What I’m proud of: It’s a single HTML file — no framework, no build step — that still holds a coherent, deliberate aesthetic and runs smoothly on modest hardware, which matters given the site’s audience. How to test it: Visit the live link, scroll through the sections, and try moving the cursor near the starfield to see the constellation effect. The GitHub activity should reflect my actual repositories in real time.
I’ve built a sci-fi, terminal-style portfolio website that is a “mission dossier” of my journey in space science, hardware, and machine learning. Instead of a resume, it has interactive sections such as “Mission Logs” (projects), “Capabilities” (tech stack), and “Active Transmissions” (current focus). The main problem was crafting a UI that felt like a real aerospace control terminal and classified dossier but was still responsive and performant. I also had to structure the data carefully so that the hover cards for “Mission Records” and “Credentials” could be rendered dynamically without weighing down the page. I am really proud of the overall aesthetic and the narrative flow; it is not just a list of my skills but tells the story of a 15 year old aspiring astrophysicist from Kerala. I’m also proud to have tied my real world milestones like being a NASA Space Apps Global Nominee (Team RC_Real Coding) and my ISRO achievements into this cohesive “classified” theme. Testing & exploring: Scroll the 6 “Mission” sections or use the top nav. Hover over the Mission Records and Credentials cards for verified information. Easter Egg – Scroll to the very bottom of the page (Contact / Footer section) and then type akshith on your keyboard to unlock the Easter Egg! :D (also the solar map works it is time acurate so no quick movement)
I have polished my portfolio and added a room entering animation and a room (based on my room) and added interactive objects like a gaming mouse (turns RGB), a lamp (lights control), a clock (chimes when interacted with), headphones (plays lo-fi beats to enjoy), a chair, a bush,the window, and a microcontroller. To enter the portfolio, click on the laptop, and for full interaction, click on the laptop and fully interact with the portfolio. Click on the hamburger menu (3 horizontal lines), and for activating the Easter egg, type ‘akshith’ after reaching the bottom (full imersion/hamburger mode only)...
|
1792997721.9822905
|
1793084121.9822905
|
|
24998
|
RenanG_OS by @renanfartes | Stardance
|
renanfartes
|
3
|
10.0
|
36
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T20:22:06Z", "hours": 4.0, "multiplier": 9.18, "payout": 33, "blessing": "neutral", "text": "I made my very own Web OS. I learned how to work with branches, handle remote settings and some parsing logic. The app includes multiple draggable windows, a terminal with 2 simple commands, a calculator, some notes and a change background function so you can upload your image! None AI Used for coding. I used only to understand the w3schools code for making HTML windows draggable, but none code was wreitten by it!", "repo": "https://github.com/Renan-G-projec/RenanG_OS", "demo": "https://renang-os.netlify.app/"}, {"ship_num": 2, "ts": "2026-06-26T23:20:17Z", "hours": 1.0, "multiplier": 3.34, "payout": 3, "blessing": "neutral", "text": "My personal WebOS project. I created it to learn more about DOM manipulation, Navigator features and some other really cool stuff, such as dragabble logic and image saving in base64. There’s a Hacker Notes app, custom background and stardance info.", "repo": "https://github.com/Renan-G-projec/RenanG_OS", "demo": "https://renang-os.netlify.app/"}, {"ship_num": 3, "ts": "2026-06-25T16:48:50Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my first and custom WEBOS! Is simple. I learned a lot about DOM manipulation and stuff.", "repo": "https://github.com/Renan-G-projec/RenanG_OS", "demo": "https://renang-os.netlify.app/"}]...
|
[{"post_id": 22192, "ts": "202 [{"post_id": 22192, "ts": "2026-07-04T15:10:20Z", "hours": 1.2736, "text": "Devlog #10 TERMINAL LOOP! FInally i added the logic to loop the terminal. Now it Receives an input. When Enter is pressed, the terminal engine parses it, and then executes. After, the terminal prints the OS string. Since there isn’t any terminal logic or so, the function just returns a plain old string. But using a getter function allows me to refactor easily later. Commands: help and clear implemented."}, {"post_id": 21197, "ts": "2026-07-03T00:26:39Z", "hours": 0.3878, "text": "Devlog #09 Terminal Scaffolded! I simply just added the icon and added some style to the new window. It is translucid now and i plan in making a feature to disable transparency Later. The inputs of the terminal are correctly placed, but none functionality yet. (yeah, jetbrains mono as default XD)"}, {"post_id": 20876, "ts": "2026-07-02T16:24:29Z", "hours": 0.7408, "text": "Devlog #08 Calculator finished! I added the functionality with error treatment (infinity and NaN handling), a custom font and i added the apps icons. I also fixed a relative path problem with the default background. Also i learned how to delete a branch after merging it. It’s simple, but as i said before i never worked really with git branching. :p"}, {"post_id": 20387, "ts": "2026-07-01T23:32:42Z", "hours": 0.745, "text": "Devlog #07 Working on a calculator! I added the window, some reaaaly basic style and i fixed a lot of small details that i didn’t see (as all windows having the name of the OS, etc) None functionality had been implemented by now. I also created a branch for this feature. Is simple, but turns out i never really worked with branches in the past. XD"}, {"post_id": 20351, "ts": "2026-07-01T22:35:10Z", "hours": 0.4819, "text": "Devlog #06 As some reviews said, the windows were struggling when the mouse was above the viewport! So i fixed it making the os viewport relative and the position being always positive (with Math.max()) I was making a weird calc and then realised i could use this function. lol I also improved the organization and renamed a little files"}, {"post_id": 16574, "ts": "2026-06-26T23:15:09Z", "hours": 0.9628, "text": "Devlog #05 Now there’s custom backgrounds! I added a window where the user can input a image file and upload it to set the background. I learned how to handle file input events and File objects in Javascript."}, {"post_id": 15738, "ts": "2026-06-25T16:45:11Z", "hours": 0.9431, "text": "Devlog #04 DEPLOYED! The basic features are now working. I’ve added a stardance info app!"}, {"post_id": 15693, "ts": "2026-06-25T14:50:35Z", "hours": 0.7431, "text": "Devlog #03 I’ve styled the OS Top-Bar, the app-launcher, made the hacker notes app and windows are now scrollable. Everything just works fine. I also made some code improvements such as splitting the css logic into new files."}, {"post_id": 15350, "ts": "2026-06-24T23:19:45Z", "hours": 1.5461, "text": "Devlog #02 I made the clock of my webOs, the grab function and the windows and the close/open functions. I also corrected some overflow bugs (the window was stretching the page when pushed downwards)."}, {"post_id": 14816, "ts": "2026-06-24T01:53:06Z", "hours": 1.45, "text": "Devlog #01 yeeep First devlog of my webOS! I’ve found interesting to make this mission. Is a veryy saturated project but i think i can make something at least presentable. By the time i’ve just scaffolded the initial style classes and the initial content. Is nott draggable yet. I plan to refactor the web page to vue in a really distant future"}]...
|
Title: RenanG_OS by @renanfartes | Stardance
Devl Title: RenanG_OS by @renanfartes | Stardance
Devlogs:
Devlog #01 yeeep First devlog of my webOS! I’ve found interesting to make this mission. Is a veryy saturated project but i think i can make something at least presentable. By the time i’ve just scaffolded the initial style classes and the initial content. Is nott draggable yet. I plan to refactor the web page to vue in a really distant future
Devlog #02 I made the clock of my webOs, the grab function and the windows and the close/open functions. I also corrected some overflow bugs (the window was stretching the page when pushed downwards).
Devlog #03 I’ve styled the OS Top-Bar, the app-launcher, made the hacker notes app and windows are now scrollable. Everything just works fine. I also made some code improvements such as splitting the css logic into new files.
Devlog #04 DEPLOYED! The basic features are now working. I’ve added a stardance info app!
Devlog #05 Now there’s custom backgrounds! I added a window where the user can input a image file and upload it to set the background. I learned how to handle file input events and File objects in Javascript.
Devlog #06 As some reviews said, the windows were struggling when the mouse was above the viewport! So i fixed it making the os viewport relative and the position being always positive (with Math.max()) I was making a weird calc and then realised i could use this function. lol I also improved the organization and renamed a little files
Devlog #07 Working on a calculator! I added the window, some reaaaly basic style and i fixed a lot of small details that i didn’t see (as all windows having the name of the OS, etc) None functionality had been implemented by now. I also created a branch for this feature. Is simple, but turns out i never really worked with branches in the past. XD
Devlog #08 Calculator finished! I added the functionality with error treatment (infinity and NaN handling), a custom font and i added the apps icons. I also fixed a relative path problem with the default background. Also i learned how to delete a branch after merging it. It’s simple, but as i said before i never worked really with git branching. :p
Devlog #09 Terminal Scaffolded! I simply just added the icon and added some style to the new window. It is translucid now and i plan in making a feature to disable transparency Later. The inputs of the terminal are correctly placed, but none functionality yet. (yeah, jetbrains mono as default XD)
Devlog #10 TERMINAL LOOP! FInally i added the logic to loop the terminal. Now it Receives an input. When Enter is pressed, the terminal engine parses it, and then executes. After, the terminal prints the OS string. Since there isn’t any terminal logic or so, the function just returns a plain old string. But using a getter function allows me to refactor easily later. Commands: help and clear implemented.
Ships:
I made my first and custom WEBOS! Is simple. I learned a lot about DOM manipulation and stuff.
My personal WebOS project. I created it to learn more about DOM manipulation, Navigator features and some other really cool stuff, such as dragabble logic and image saving in base64. There’s a Hacker Notes app, custom background and stardance info.
I made my very own Web OS. I learned how to work with branches, handle remote settings and some parsing logic. The app includes multiple draggable windows, a terminal with 2 simple commands, a calculator, some notes and a change background function so you can upload your image! None AI Used for coding. I used only to understand the w3schools code for making HTML windows draggable, but none code was wreitten by it!...
|
1792979798.5865607
|
1793066198.5865607
|
|
25109
|
Into the cosmos by @tejaswa | Stardance
|
tejaswa
|
3
|
124.31
|
2584
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T04:20:51Z", "hours": 54.0, "multiplier": 19.58, "payout": 1259, "blessing": "neutral", "text": "INTO THE COSMOS This is the game i have designed with inspiration from Spaceflight sim and Kerbal Space program, i wanted to capture the total freedom of roaming in space without the stress of designing a space vehicle for hours just for it to crash into a million pieces. I wanted to make a chill relaxing game that people can come back home after a long day of work to, boot it up and have fun just roaming the eternal space without stressing out. Im quiet proud of how im capturing this vision of mine and im very happy with what im making. Heres some information of what i added this ship: I’ve basically been adding a bunch of systems that I’ve wanted in the game for a while, and the game is starting to feel a lot more like an actual sandbox now. First thing, I finally added electricity. This is probably one of the systems I’m most interested in because now I can actually start making more things depend on power instead of everything magically working forever. This also gives me a lot more stuff I can do with spacecraft and bases in the future. I also added scraps and scrap refining. You can now collect scraps while exploring and actually do something with them instead of them just being random useless objects. I’ve also added the material processing system around this, so scraps can be refined into materials that can actually be used to build useful buildings. This is going to become a much bigger system later on. ROVERS ARE FINALLY HERE You can now actually drive around on planets instead of just landing there and leaving. I really wanted this because the planets were starting to feel a little pointless once you landed on them. Now you can actually get out there and explore the surface properly. I’ve also added planet properties. Planets now have their own properties which means I can start making different planets actually matter instead of them just being randomly generated balls you land on. There’s a lot I can do with this later, especially with resources and exploration. I also did a pretty big overhaul on the visuals. The ambiance shaders have been improved and I’ve added a bunch of new stuff to make the planets and space itself look better. black holes now also have a hidden easter egg…. Ive also given every planet a beautiful atmosphere And yes. Mudfish I don’t know why. They’re still stupid. They just walk around on planets doing absolutely nothing useful. But honestly the universe felt too empty without them so I’m keeping them. A lot of this update was also spent doing optimization because some of the newer systems were starting to get pretty heavy. I’ve been going through different parts of the game and trying to make everything run better without completely murdering the visuals. Overall this update is probably one of the biggest changes to the game so far. And I still have a stupid amount of things I want to add. https://www.youtube.com/watch?v=ZZg3blASmgc This is the link to the youtube video if you dont have time to review the game PLEASE check it out and rate the project I read and appreciate every single one of you reviewing this game, please be as informative as you can be as this is one of the biggest games ive worked on till now, thx and have fun playing the game", "repo": "https://github.com/tejaswa4692/IntoTheCosmos", "demo": "https://tejaswa7692.itch.io/into-the-cosmos"}, {"ship_num": 2, "ts": "2026-07-08T12:04:25Z", "hours": 46.0, "multiplier": 19.75, "payout": 1084, "blessing": "neutral", "text": "Into the Cosmos Join Boney on a journey across the endless cosmos, where every horizon hides another world waiting to be discovered. Launch into the unknown, weave between glowing nebulae, drift past impossible black holes, and set foot on planets no one has ever seen before. Build observatories to mark your path through the stars, refuel your rocket, deploy satellites into orbit, and keep pushing farther into the infinite. And when the day is finally over, come relax with Boney and lose yourself among the stars for a while. I’ve always loved games like Kerbal Space Program and Spaceflight Simulator, but I wanted something where you could jump straight into flying without spending hours designing the perfect rocket first. The result is a sandbox space game built around realistic orbital mechanics, exploration, and simply enjoying the journey. The universe is procedurally generated, meaning there is always another unique planet waiting somewhere beyond the next launch. Every expedition can take you somewhere completely new, and every observatory you build becomes another milestone in your adventure. Satellites aren’t just for show either. Launch them into orbit, revisit them later, and use them as your eyes in the sky while you continue expanding your reach across the universe. If you’re new to orbital mechanics, don’t worry. The game includes detailed instructions, an optional on-screen keybind guide, and a full in-game settings menu that lets you tweak graphics and performance to match your hardware. Whether you’re playing on a high-end gaming PC or something much more modest, I spent a lot of time optimizing the project so as many people as possible could enjoy it smoothly. There is one place, however, that lies farther than anywhere you were ever meant to reach. Most people will never find it. Those who do usually don’t come back with an explanation. I call it The Farlands. Whether it’s a bug, a feature, or something else entirely is for you to decide. I built this game in Godot 4.6.2, spending countless hours refining the physics, procedural generation, shaders, rendering, UI, and gameplay systems. Every optimization, every visual effect, and every mechanic was added with one goal in mind: making space feel like a place you can get lost in for hours without realizing where the time went. So fuel up, trust your trajectory, and see just how far Boney can go. If you decide to give the game a try, I’d really appreciate a detailed review afterwards. The feedback I received on my last project genuinely helped shape this game into what it is today, and I’d love to hear what you think could be improved, what you enjoyed, and what you’d like to see added next. If you enjoy the project, consider starring the GitHub repository and liking the YouTube video. It really helps more people discover the game and motivates me to keep building and improving it. So fuel up, trust your trajectory, and see just how far Boney can go.", "repo": "https://github.com/tejaswa4692/IntoTheCosmos", "demo": "https://tejaswa7692.itch.io/into-the-cosmos"}, {"ship_num": 3, "ts": "2026-06-30T14:45:22Z", "hours": 14.0, "multiplier": 17.81, "payout": 241, "blessing": "neutral", "text": "I made Into the Cosmos, a realistic 3D spaceflight sandbox inspired by Kerbal Space Program and Spaceflight Simulator. The game lets players jump straight into the mission and experience realistic orbital rather than spend hours designing the rocket just for it to fail when launching. This is a relaxing and fun game where players can just sit back and enjoy the physics and thrill of sending rockets to space. The biggest challenge was making somewhat realistic physics with enjoyable gameplay. Getting the gravity, RCS controls, and spacecraft handling to feel both snappy and fun to play with without absolutely broken, writing so many lines of code, and deciding on how im gonna be approaching some problems was quiet fun, i have a lot of fun designing it, i used to go to bed thinking what ill be adding to the game tommrow. I’m most proud of achieving the relaxing experience I originally envisioned. Im quiet glad i was able to fianlly have a direction towards my game and have an idea of what i wanted. And the gameplay is quiet fun aswell, i found myself “playtesting” my games just having fun slamming the rocket into planets, doing interplanetary missions. Setting satellite in different planets To test the project, I recommend reading the in-game controls and instructions first. They explain the basics of reaching orbit and make the experience much more enjoyable.", "repo": "https://github.com/tejaswa4692/IntoTheCosmos", "demo": "https://tejaswa7692.itch.io/into-the-cosmos"}]...
|
[{"post_id": 54490, "ts": "202 [{"post_id": 54490, "ts": "2026-08-25T14:44:08Z", "hours": 0.6006, "text": "SHOUT OUT TO @253_Mathilde_IYKYK For starters i made a lil script so that if a rocket is in the SOI of a planet and then it scans near it by pressing F it shows all the necessary details about the planet, currently they are obvious details but i will work on making them useful. I have a few ideas of what i can do with it Now to the important part @253_Mathilde_IYKYK recommended me to add a song they like SO I ADDED IT TO THE GAME Hope yall like it :) (Sorry for not including video idk why stardance was bugging and throwing error when i was tryna upload a video)"}, {"post_id": 53590, "ts": "2026-08-24T06:27:00Z", "hours": 1.7239, "text": "BOOMBOX!!1! , macondo marketing team too good Last night i spent unhealthy amount of time watching ig posts of macondo on hackclub ig, I lowk feel insane amount of fomo and i wanted to go so bad The songs they used in the marketing reels are still stuck in my head So as any reasonable person would, I added a boombox in my game with with my fav songs from the reels they made @zach PLES FLY ME IN NEXT IRL HC EVENT PLES IM BROKE"}, {"post_id": 51670, "ts": "2026-08-21T14:03:35Z", "hours": 1.3228, "text": "IM RICH!!11!! 2080 sd and top 10 in multi I got all positive reviews from yall and i apprciate every single one of u for rating my project. I have finally added scrap mines to the game, i had already made the 3d model for them i just thought they didnt fit in the game but since im adding automation and electricity to the game i think this would be a great addition. Currently they produce 10 scraps, copper, iron per 10 seconds so 1/ sec i will later randomize this and give them weights, im js too lazy cuz of this clg n shi istg Good thing is tho tmr im going home That does mean my work on hardware projects will start again That being said i need you to give me more recommendation for the game, the reviews didn’t give me any ideas or unique views what i could add to my game."}, {"post_id": 49072, "ts": "2026-08-17T17:51:03Z", "hours": 2.0336, "text": "In these 2 hours i have lost all my sanity But finally the factorio like supply/demand electricity mesh finally works First i thought of using recursion to spread the electricity through every single tower But then i ran into a problem where towers interconnected so to fix that i passed a self parameter that didnt seem to help. Then i decided to make towers only connect once (which was a disaster and brought its own set of bugs) and that to tremendously failed So finally i decided upon a global mesh chain architecture where all the nodes in a chain have similar looking list, and whenever an appliance is connected to it the chain just iterates through its connected devices, This in turn brings the time complexity down to O(n) and makes everything a whole lot more efficient. Finally this is done Currently only the tesla charger works with this new logic, later i will add other electric appliances to this mesh network aswell and give them watt draw Few things to keep in mind, Currently 1 generator makes 50kW and one vehicle charger consumes 40W, If the demand isnt satisfied every node in mesh rejects the connection until the demand IS satisfied I know this might feel stupid for some people but this is only done as a feature so you dont overload the electronics in space"}, {"post_id": 48779, "ts": "2026-08-17T09:55:49Z", "hours": 2.4833, "text": "TESLA SUPER CHARGING So for starters i forgot to tell yall that i DIDNT get slimed by senior my clg department helped me and scared tf outta bro and i got to fight bro too And in this update i added set battery capacity to rovers They use supercapacitors to store charge so that means they can be charged and discharged for eternity Then i added charging stations to the game and made them use power grid electricity. I think players might abuse electricity by only placing 1 generator to power an entire city so i will be implementing complex wattage draw logic like they have in factorio to get some supply/demand action rolling. Then i worked on implementing save game in the game and i failed terribly (this will be a hurdle for later) I spent like solid half an hour trying to implement it just for my save file to be completely empty Idk whats going wrong but i will eventually figure it out. For now tho i will be working on factorio like supply/demand logic for electricity wish me luck"}, {"post_id": 48283, "ts": "2026-08-16T16:23:11Z", "hours": 2.1503, "text": "Some really cool additions For starters today i implemented a little list at bottom of the screen that can be used to store the coordinates of player rn Yall might be wondering what tis could be used for, But i have something really cool cooking up in my head lets hope i am able to express it properly. EXPRESSING MY LOVE OF YAGI ANTENNAS I ADDED A YAGI ANTENNA TO THE GAME!1!!! It has a search feature that looks around for strongest signal and then does nothing But in future i will be making a whole mechanic out of this. Then i made a little web release it butchered the visuals i worked hard on. Its okay tho cuz i added a warning label like last time on that release too. Linked the web release as playable link for the game I want YOU to tell me what should i add to this game as im running into a roadblock where i dont know what i could add for the electrical update for the game that would actually be a useful addition, Comment down below to drop your ideas the best one will make it into the game"}, {"post_id": 47469, "ts": "2026-08-15T12:12:27Z", "hours": 4.2428, "text": "YAYAYAYAYAYA 3RD SHIP INCOMING In the first 2 hours i logged i worked on making the 3d models as refined as possible and made them look good by referring to astroneer as someone commented on my game Also made multiple 3d models for the electric pole and finally used the one that sat right with me. Made a new 3d model for generator and upgrade station aswell In the next 2 hours i made minor tweaks and fixed satellite bugs along with updating the help menu with newer control code, also was thinking of implementing a scrap mine but dropped that idea (maybe later ships) Then i added a little keytip marker near the refinery and chest of observatory to aid the player. Added a bunch of sounds to the electronics of the game and now it sounds a whole lot better (also reduced the main music) FINALLY TIME TO SHIP Thnx to all of the support on this proj i wont disappoint yall at all with future ships"}, {"post_id": 46499, "ts": "2026-08-13T19:09:37Z", "hours": 1.13, "text": "I was aiming for 3 hours today but i lowk got in a fight with a senior in my clg and bro is threatening me to slime me tmr it might be wraps for me gng Putting the sliming part aside, today i made the 3D models for a generator concept (or actual thing) i found online of what they use in space. The i did sm audio editing to have a whrrrrrrrrrrrr looped sound effect and it was quiet easy to make a whrrrrrrrrrr loop, easier than i imagined. Then i added another sound and layered both ontop of each other and now it genuinely sounds kinda peak After that i made the electricity spread across all the electric poles, heres the code for that if body.is_in_group(\"tower\"): towers_closest.append(body) create_lines(body.location_to_connect_wire_to) if has_electricity_running: body.has_electricity_running = true elif body.is_in_group(\"electrical_appliance\"): if body.connected == false: towers_closest.append(body) create_lines(body.location_to_connect_wire_to) body.connected = true if body.is_in_group(\"generator\"): has_electricity_running = true for i in towers_closest: if i.is_in_group(\"tower\"): i.has_electricity_running = true I might lowk be taking AI’s job in writing bad code, they should make a me gpt in which i reply with shit code that DOES work. I also visualized the flow of electricity by hiding/showing a random cylindrical mesh that shows if it has elec flowing through it. Tmr ill be redoing ALL the icons cuz currently they look straight dookey, and also fixing the UI, then if i have time give observatory and everything an electric connection and make them so they dont work without it. This was all i worked on today, yall pray for me lets hope i dont get slimed tmr ."}, {"post_id": 45792, "ts": "2026-08-12T14:42:25Z", "hours": 6.0336, "text": "LETS GO IM FINALLY UNBANNED Unban stuff aside, time to explain the devlog even tho being unbanned feels great and i have insane amount of motivation to work on my proj now In past idk however weeks ive been working on 2 major things, first is that ive finally listened to the last ship reviewers and added upgrades for rocket, with custom 3d models for each rocket tier. currently it uses a separate key to open close the menu which is bad but ill fix later Also only the rockets fuel attribute is updated when you upgrade a rocket so ill fix that too. Also after the ban i was working on electronics update for my game, i have implemented electric poles, 50Kv Generators for now, i am going towards direction of factorio im afraid, but i dont wnana make it very grind-y so ill keep that in mind (hopefully) For future i will be adding better UI/UX its currently embarrassingly bad rn (even tho my degree is Computer science and Design) So yeah that will need a massive revamp Also id like to give a shout out to water #Freewater #heaintdonunwrong"}, {"post_id": 40560, "ts": "2026-08-04T06:09:37Z", "hours": 1.4125, "text": "After getting falsely accused for fraud for using the godot wakatime extension and getting a heart attack I have finally added little homes for these skinny dookeys I hate, HATE behavior trees with every cell in my body I hate to admit but i did take help of claude chat to help me set this shi up, it was js the free version tho so we good. I added so like normally it ran away from player if it sensed one near, but now if the player is close by and it has a home near it runs to that and hides in the home, and if player is far enough it emerges back out. Ill move on to adding more entities now rather than polishing these dudes, i think from the final game i wont even keep them in cuz how ugly and weird they are Aye free me bro i aint do nothing wrong, fix the wakatime extension fr"}, {"post_id": 39489, "ts": "2026-08-02T13:55:59Z", "hours": 1.7764, "text": "REALLY NICE ADDITIONS Ive finally added some life to the game. I have added these weird mudfishes inspired by those weird furless cats. These mud fishes aren’t stupid tho, i ___have implemented a proper behavior tree to them, Each one of them has their own set of actions. Normally like minecraft mobs they roam around look around the world, but if a player is near their vicinity, they RUN away from the player protecting them. Currently i have no clue what ill use them for, but one thing is for sure that they have really nice skin I wonder what will happen to it in the near future Really happy by this addition tbh, the world was getting kinda lonely, this was important, in next updates ill be adding colonies of these things mounds and their homes, along with their baby variant."}, {"post_id": 38887, "ts": "2026-08-01T13:38:58Z", "hours": 1.4058, "text": "Man i hate making 3D models Not my best work yet, but refinery is done, After several iterations, getting inspo from pinterest and then ditching it and drawing one in back of the class, im finally set on a design, it looks pretty good as of rn. (its not) I fixed a bug where the text was glitching out when i tried to craft scraps, and now it works as it should. The logic is perfect for how it should act in game and im hoping i dont have to touch it again in future to fix it. That being said ofcourse ill be making the 3D model better, But for now i just wanna focus on programming stuff and making the loop right. We can always make it prettier later . Im unfortunately still not home and i still have to survive in this godforsaken room, but hopefully ill be home soon as ill get my appli signed to go home, And then ill be working on both this and the plane together"}, {"post_id": 37473, "ts": "2026-07-30T07:46:37Z", "hours": 4.0967, "text": "Finally a devlog after several days of straight struggle For starters ill tell yall why it took me so long I lowk changed places and i live alone in a room now, i had to shift and living conditions here are absolute hell I somehow survive without going wild due to all the bs ive been facing recently. My productivity has taken a severe hit, a feature like this took me way too much time to complete than it should’ve. That being said i did wander off in different directions cuz i was lowk clueless which direction i should take this game (i still havent decided ) In this devlog i added advanced material processing and advanced materials to the game, with a minecraft furnace like cooking mechanics, i made the logic quiet efficient and refined, its not my best work but it can always be better later. I js hope this eternal torture ends and i finally get to have better living conditions. istg ive been boiled alive, breathing is a struggle in this place Ill keep serving yall with most banger updates so keep me followed, this game is gonna be the next big thing lowk Now i will be makig the 3d model for refinery, before this i made a failure ahh model in whcih i js made a complete simithing room inside a space bubble 😭 Gotta make something better than that so time to lock in"}, {"post_id": 35113, "ts": "2026-07-26T10:39:31Z", "hours": 2.3589, "text": "OKAYAYAYAYAYA UPDATE TIME I have graves implemented in the game now, after careful consideration about which direction i wanna take my game towards, i think graves would be a nice addition without disrespecting the procedural nature of the game. I want to make this game very lore heavy while being fully open world and giving the remote in players hands. I dont wnana confine them with thick story plot, or tedious tasks. Nor do i wanna make the game absolutely boring and pointless. The “Rot” i talk about is a cosmic disease the players universe is going through, unexplainable things are happening, weird inter dimensional gates are popping up at random places, everything is near extension. Im not sure about the role of player in all this tho, i will figure something out tho, i wont disappoint yall thats my promise. Also i worked a bit more on a weird bug where items were being placed not where the raycast was supposed to hit. Also I will be removing the inventory system entirely and just rely on blueprint building aspect lmk if yall think thats a good idea Also shout out to hackclub for getting me so much stuff i really love every single one of yall ❤️ Also progress on this game will go back to high now as i wont be home to work on my plen."}, {"post_id": 32900, "ts": "2026-07-22T11:12:22Z", "hours": 2.2856, "text": "OKAKAKAYAYAY some more cool additions for exploration aspect for the gam I added an arrow that points towards a set direction, which also changes its with respect to how far the rocket is from that point Also I FINALLY FIXED THE WATER WALKING SOUND ISSUE!!!1!!! Turns out it was quiet easy, i was just too stupid and over complicating it, a simple rewrite fixed everything. For next update i will be adding findable clues, maps, coordinates left out to rot by a “past explorer” that you find across the universe, this is gonna require a bit of time and skill but i can deliver that easy with some time Again progress is a bit slow cuz im actively working on my biggest endurance aircraft but i will keep tis game updated nonetheless, and in future u might even find it on steam who knows"}, {"post_id": 31916, "ts": "2026-07-20T18:18:16Z", "hours": 1.595, "text": "AYEEEYEYYE UPDATE ON THE PEAKEST GAME Made a really smart decision and got rid of the ugly hotbar like menu to place items, now da gam has a nice build menu in which most of the time was spent in making my code more cleaner. But it works now, it looks way more clean and immersive. Instead of relying on hardcoded information for items, i finally made a global that can handle all of that, idk why i didnt do that earlier. About the sound engine, i genuinely hate it a lot, i will be redoing it from scratch and figure out wtf is wrong with it Sorry for slow progress, i dont have much time till im at home so im tryna maximise the time i spend on my rc plen, ples follow it aswell"}, {"post_id": 30554, "ts": "2026-07-18T07:09:50Z", "hours": 1.0953, "text": "Oh i did manage to fix the water walking loop a lil more, its not perfect, but i dont understand whats going on. so ill just work on that later Anyways thats that, big changes i made are that now to place observatories or rovers you need to have a specific amount of scrap on you, i will be turning this into a full fledged build menu so its more appealing, and i will have this menu as a quick hotbar to place blueprints of items. I find this gameloop satisfying as it takes away the management hassle and this game is supposed to be relaxing. And bro how long IS the queue my bambu is STILL not shipped Sorry for slow updates on this project, currently working my ass off irl on the UAV project of mine as i have a deadline to finish it. If i did manage to get a good rep towards this proj, ill be taking the reviewers advice and hosting this game on steam. That developer grant might come in handy ngl"}, {"post_id": 29586, "ts": "2026-07-16T16:53:16Z", "hours": 3.3417, "text": "AYEEEEEE DEVLOG TIME So today i redid the observatory 3d model, gave it some clean nasa textures, its not upto my standards but its getting there, also fixed that stupid atmosphere bug now everything looks insanely better. Added a planet to the launch screen to flex aswell, i think it looks awesome there. Oh and also i tried to add water walking sound but am failing miserably but worry not as i will be reworking the soundengine too later Taking a moment to give a shout out to my followers who motivated me to work on tis more also HM all the reviewers who gave incredibly nice feedback"}, {"post_id": 28757, "ts": "2026-07-15T07:07:48Z", "hours": 3.0931, "text": "HOLEE SHIT, ADDED INSANE STUFF TO MY GAME IT LOOKS SO BEAUTIFUL NOW, I CANT BELIVE IT So, for starters, since yesterday I have been learning shaders. I fixed that shitty atmosphere shader that I translated from someone else’s shader to Godot. I had to make a lot of changes to it to get it working properly for my game. ALSO I MADE A SICK ASS WATER SHADER FOR PLANETS TO HAVE. Then I REWROTE THE PLANET GENERATION SCRIPT. Now each planet has unique properties like: Ambient temperature Water availability Air density, which determines water availability too I also tried adding comets and comet trails to the game, but failed tremendously. Oh, and also, dont go near the black hole. OH AND I GOT MY PAYOUT, AND I GOT THE BAMBULAB A1 MINI. THIS DAY JUST KEEPS GETTING BETTER"}, {"post_id": 27829, "ts": "2026-07-13T18:30:42Z", "hours": 3.1256, "text": "Devlog #idk Didn’t get a ton of new content added today, but I spent most of the time cleaning up annoying bugs and polishing the game. The biggest fix was the rocket explosion system. There was a bug where the rocket would slam into the ground at over 300 m/s … and just refuse to explode. I rewrote the logic, and it’s finally behaving properly. I also started modeling the mothership . It honestly looks like absolute dookey right now, but it’ll do as a placeholder. 3D modeling definitely isn’t my strongest skill, so I’m calling this version “good enough” for now. On the graphics side, I added a proper atmosphere around the planets, which makes them look much better. I also experimented with chromatic aberration , but it didn’t really fit the style of the game, so I ended up removing it. Huge thanks to @aloyak for the inspiration and some really helpful rendering tips. He showed me a much better way to increase the render distance without killing performance, so I’ll be implementing those improvements tomorrow. Also… I earned 1085 Stardust on my second ship. Not bad."}, {"post_id": 27157, "ts": "2026-07-12T13:40:03Z", "hours": 4.2947, "text": "OKAY so really cool changes First of all i fixed major inside stuff, instead of having 350 lines of gd script files in which i had to sift through to find the function i need, and then get overwhelmed later, i made everything modular, All the functions are Nodes in the scene that hold scripts. These scripts hold the functions that were earlier stored in the main .gd file, so now everything is a lot less cluttered and makes my life easier. I also did the same for the rocket scene as it was getting cluttered too. I added chests to the game where you can store items in (dont mind the invisible hotbar), They will be locations to store your items which will be scattered inside of observatories, im also thinking of redoing observatories as this model now looks ugly, and i think this has a lot more potential. Oh and also i have decided upon how im gonna make the player create an observatory, you land on a planet, collect scraps, them build an observatory, and then everything in observatory would cost the player X amount of scraps, also abandoned motherships will also provide the player upgrades for rocket. I got 3 ratings which im thrilled about, but also kinda sad because the reviewers prolly playing the itch release of the game and not the actual one but eh i think its fine, as long as my game is peak. Next ill be working on making an actual 3d model for the mothership"}, {"post_id": 26683, "ts": "2026-07-11T16:52:12Z", "hours": 2.1936, "text": "Designed the actual model for the rover, im pretty happy with how it turned out, i think ill keep it. tweaked the settings for the rover to get it just right, the only problem im facing is that due to the curvature of the planet, rover js flys off n start orbiting at high speed, i gotta add down force to tis i think. I removed the inventory cuz it was too wonky, i think ill have a hotbar and a backpack like peak, i think thatll be more immersive than having a stupid inventory. (this is totally not because i went rabid trying to implement it)"}, {"post_id": 26423, "ts": "2026-07-11T06:30:37Z", "hours": 2.1986, "text": "So i changed the Help UI of the game, made it look a lil better than that roblox ahh UI, Added mother stations to the game where u can get rocket upgrades, im slowly trying to figure out the game loop, itll be that you are a lonely astronaut in eternal void of space, your kind has been extinct, these ships are abandoned u can repair them and get a specific upgrade from each of them. Also i made the web version available too, its been 3 days and ive been sitting at 0 ratings just demotivated the hell out of me, the quality of graphics and gameplay is butchered but i had made that clear in the itch page, lets hope people rate it now"}, {"post_id": 25881, "ts": "2026-07-10T11:24:42Z", "hours": 5.6075, "text": "Working on making the game loop more fun, Im thinking ill be taking the game towards single player base building story mode type of game, I made a web version cuz i had 0 reviews after 2 days, the web version isnt good at all but its make do, I added rovers to the game now too its insanely fun driving them around the planet and having fun, i will be adding more stuff to the game, inventory system turns out is way harder than i expected so ill do that later. Enjoy this clip of the game"}, {"post_id": 25202, "ts": "2026-07-09T09:33:14Z", "hours": 2.2953, "text": "Made major game optimizations, Am adding a proper inventory system with crafting, I have designed inventory with crafting in past for my cooking game shouldn’t be that hard, But doing it in preexisting is a bit of a challenge. I have implemented a simple hotbar and item system in the game, I also used Godots IK nodes to control the bones, and god damm was it useful, this might come in handy in future. Switch to this camera does make it look a lot better"}, {"post_id": 24651, "ts": "2026-07-08T11:38:24Z", "hours": 0.5031, "text": "Okay just fixed another tiny bug, im glad i checked it, when i select the satellite for an observatory, the UI doesn’t open again, so it made it impossible to refuel, i fixed that by giving an option to control satellite now. I think im set for the ship now, i reccomplied the binaries, the readme is ready to, along with the latest youtube video https://youtu.be/RQmEh_rwnzQ"}, {"post_id": 24598, "ts": "2026-07-08T09:44:34Z", "hours": 4.72, "text": "Final devlog before ship. I have polished the UI, remade the boney 3d model, Fixed observatory logic, made other tiny gamebreaking improvements, Also i have fixed animations for boney, added a jump animation. Major change is 3rd Person camera now, which makes the whole experince even more immersive. I have playtested it several times, im kinda nervous and hoping it works perfectly as it is on my machine."}, {"post_id": 24288, "ts": "2026-07-07T19:13:44Z", "hours": 4.7478, "text": "Getting the project production-ready. I’ve finally added local storage for the settings menu, so your graphics and gameplay preferences now persist between sessions instead of resetting every time you launch the game. A lot of people mentioned in the last devlog that they couldn’t figure out the controls, so I added a “Show Keybinds” toggle in the settings menu (press ESC to open it). It displays the controls on-screen whenever you need them. I also found a pretty game-breaking bug, so I’m documenting it here for future me: If you’re mounted in the rocket, enable Show Keybinds, and then hit Apply, the player can no longer unmount from the rocket. I’ll be fixing that later. I spent some time messing around with Godot’s built-in graphics settings and realized I’d completely forgotten to enable anti-aliasing. Turning it on made a huge difference, the game looks so much cleaner now. As you can see, I’ve also added a fuel gauge for the rocket. It helps sell the whole “claiming and exploring planets” vibe. I also changed observatories so each planet can only have one. Another gameplay change is that you now have to visit an observatory to dock a satellite onto your rocket instead of doing it anywhere. Finally, I changed how world persistence works. If your rocket crashes and you reset the game, any observatories you’ve already built will still be there instead of disappearing."}, {"post_id": 24002, "ts": "2026-07-07T08:55:54Z", "hours": 4.1525, "text": "Today i have just started refining the 2/3 stage gameplay i made it so you cant just spam sattelites wherever you want, but instead you have to get them docked on your rocket at the research center. I made the ugly loading screen a little better, i will fix it even more by designing custom graphics for it I revamped the 3d model for the research facility, it has interior and the infamous meme toilet where little boneys take a dookie in unison. (This will be a feature in 3/3 version of the game) Currently i have fixed some more gamebreaking bug where the ui just straight up didnt work, turns out it was due to my own stupidity of forgetting to hide an transparent panel in the scene tree."}, {"post_id": 23577, "ts": "2026-07-06T16:46:05Z", "hours": 4.7711, "text": "SO, Im now starting to add everything people complained about or found annoying in my first ship, Someone pointed out i had made the help but the help i made didnt tell what keybinds to use, so i have designed a dynamically UI screen to add guide for button keypress, it was a bit of a tedious job but its done now. Since i understand that not everyone has a good computer, (I have an RTX4050 with Ryzen 7 AMD Ryzen 7 7435HS CPU with 24 gigs of ram so i cant rely on my laptop to be an average computer) but i know not everyone has these specs so i took the time to code more settings in the settings section, now i can select the major factors of FPS drop in this game. Also i redid the noise the planets used, the noise textures is used before if you see from earlier videos looks very choppy, unrealistic and creative, now it looks a LOT better. Currently i haven’t added keybinds UI for the rocket, which ill add later, I will be making a ship soon after fixing more bugs that i delayed for later."}, {"post_id": 23362, "ts": "2026-07-06T09:04:28Z", "hours": 7.4369, "text": "Finally the biggest change ever yet, this took me HOURS of rewriting debugging fixing weird glitches, tried to even recompile Godot at one point, But its done, A truly frame efficient infinite procedural planet generation with randomness and seed integrated in it, this took so much of my sanity, so many broken hairs, but finally i am able to perfectly get it working at 144fps and around 11ms average frame time. I also optimized the rock generation even more to take advantage of godots multi threading capabilities to take the load off the main thread to generate the chunks for rocks. Current limitations of this architecture are not the architecture but the godot engine itself, as it uses 16 bit floats to keep track of transform, so if you’re like 100,000 units away from your home planet you start facing very weird glitches, I personally think im gonna keep this glitch in the game as i have no idea how these glitches will affect the gameplay, its like minecraft farlands, i want to see how the world generation breaks, and i dont want to stop the player from experiencing that aswell. Its not that idk how to fix this, if i recompile godot to use double instead of float i can extend the range of the farlands way beyond that, but its just the matter of personal preference. I have quiet insane ideas and directions for this project now that ive came so far, its kinda funny how all this became what it is just because i wanted to control a rocket in space."}, {"post_id": 22728, "ts": "2026-07-05T09:44:51Z", "hours": 4.8342, "text": "ABSOLUTELY INSANE ADDITIONS FOR MY GAME THIS TIME. First of all my first ship was finally reviewed so i read all the reviews and made a mental note of all of them, they were all positive and im very happy people resonate with my project so i appreciate everyone who wrote a very thoughtful review for me i thank you all a lot. Now in the technical part of the game: I finally fixed my nebula raymarched shader, now it actually has volume and you can go inside it and it looks absolutely ethereal. Reviews told me that they would love it if the planets had more details, so details i added, i made a VERY efficient chunking pipeline to scatter debries, and whatever i want on the planet mesh, i am being able to have the whole planet populated with no noticeable drop to performance. I made the script in a way that its a module, so in case if i ever want a planet with vegetation or trees, i can just drop the 3d obj file for that mesh and boom ill have a proper chunk based scatter for that mesh. I tested the chunks using debug cubes and it works perfectly as it should. I also added spacewalking to the game, you can genuinely just float in the space and enjoy the view from the outside, this was quiet easy but its an addition that i shouldve added a long time ago. Also ive finally added randomly generated textures for planet surfaces, these dont look AS realistic rn, but im sure after changing a few parameters and adding proper debrie 3d models, it’ll look absolutely astonishing. From the reviews i read that i didn’t add any help for what keys to use and genuinely thats on me im too stupid so in future ship ill 100% fix that Also ive added a feature where you can currently place observatories on planets and use them to control the satellites, This is just for now as for future ill make the player do stuff on the planet first to have their base setup, I dont wanna complicate it too much as this is supposed to be a relaxing game, but i think this much is necessary. Ive also 3d modeled a tiny astronaut along with his animations and im calling the player boney, i have decided on boney’s lore yet but i can assure yall one thing, it will be insanely deep, and there will be clues for it all around the game, you just have to notice it. I also have massively optimised the star spawning shader, i am able to have 10s of thousands stars on the screen without having any frame drops at all, i used GPU instancing for this and this is genuinely black magic, I also used GPU bill boarding to help aid the performance even more. Removed the unnecessary calculations and now the sky is denser than ever. I also herd people wanted me to make a web release for it as the download process was quiet tedious, but i think 2 devlogs ago you can see me in godots compatibility mode, it BUTCHERED the visuals completely so i dont think i can bring myself to do that after spending so much time writing complex shaders. TODO: Add wormholes, infinite planet generation, coordinate system."}, {"post_id": 22073, "ts": "2026-07-04T10:05:33Z", "hours": 5.02, "text": "Okay this devogg im glad to announce i have successfully fixed that bug in last devlog which i told yall about, this devlog i added a lot of visual eye candy changes, and a few more functional changes. For starters i added a settings menu and a homepage so users with low end devices can change the settings accordingly, these settings will obviously be updated as the game updates. Secondly, ive added GPU instanced particles all around the player to give to the eyecandy factor of the game. Thirdly i added black holes and their custom ray marched shader to them, they also have the stretch effect of light when u go near them like how they describe “spaghettification” in encyclopedias. I also added ray marched nebula in aswell, they currently dont serve a specific purpose apart from the eyecandy factor, but to be fair not everything has to have a purpose as this is just a relaxing chill game. I also changed the music to a different royalty free music, i was genuinely so tired of listening to that track on loop it was driving me crazy."}, {"post_id": 21430, "ts": "2026-07-03T11:40:44Z", "hours": 5.1097, "text": "I have genuinely lost hairs, sanity and life, i have this insanely annoying gamebreaking bug. Currently if the world has more than 1 active gravity source, the satellite doesnt perfectly orbit the planet it should be orbiting, after a while it looses velocity and crashes, this is absolutely gamebreaking as the main concept of the game is gravity. I have tried so many fixes, managed to break the game multiple times, but in the end i think i have a clue of whats going on, when i introduced SOI for each planet, the orbit was still terminating with a crash on the planet, i had made it so that if the body is outside the sphere of influence,it sets the gravity influence from that planet to 0, but even if im in my own sphere, i still somehow crash, i initially thought that the other planets might be attracting the satellite, but i think its the floating point calculations that are messing the orbit up, currently i have no clue how ill fix it but ik ill figure something out. If you guys have any idea what it could be please comment i lowk need all the ideas i can get Anyways i fixed the satellite observatory logic, refined it a bit more, ran tests, tried to implement multiplayer but stopped cuz other bugs got overwhelming. I think ill focus more on designing a nice clean UI now rather than bug fix, which ill do later, cuz they do say “make it exist first, make it perfect later”."}, {"post_id": 20673, "ts": "2026-07-02T10:15:08Z", "hours": 4.4403, "text": "Devlog 8 of my epic space game: Following the trend of making a relaxing space sim game with multiplayer, i added quiet a lot of stuff this devlog, i first of all laid a foundation for future, redid all the buggy code, made all the functions future proof, and then i added observatories, proper satellite controller, and made the satellites be able to control with their respective observatory, now the player can spawn satellites, send them to space or go on a mission, come land back and control the sattelite they have sent to the space. In future ill be adding dynamic and unique planets that will be randomly generated eveytime you log into the game."}, {"post_id": 19227, "ts": "2026-06-30T14:21:37Z", "hours": 0.8425, "text": "DEVLOG 7 OF INTO THE COSMOS This devlog i made some really important additions of a help menu for newer players, i find this quiet important as making an orbit around the planet is quiet hard, so i handdrew some quick informative help guide that can help you quickstart. Also finally ready for my ship #1, i have setup the readme, and made a release for this project, Also uploaded a lil youtube video cuz the guide said so."}, {"post_id": 18501, "ts": "2026-06-29T17:48:37Z", "hours": 1.6342, "text": "Devlog 6 of my epic space game: This update i added quiet a bunch of stuff i was excited to add. First of all major addition, A Satellite, you can carry it from your rocket, take it it in your low planetary orbit and release it in there, itll keep orbiting the planet if you made your orbit right. RCS and thrust with VFX for the satellite this was essential as real life satellites also have this feature and im trying to nail reality as much as i can with this project Finally a better camera, now camera can switch between 2 registered entities, and the selected entity will only be controlled by the camera so thats pretty neat. In the video i showcase the rocket, the satellite, satellite boosters and rcs, landing the rocket, rendezvous with the satellite back again (not really but eh lets just call it that) For future im planning to add redocking (its gonna be very hard to do it in game tho), the game is actually quiet hard its not as simple to create orbits, if the user doesnt have the knowledge of how orbits are made then itll be quiet hard for them to understand that, so for the final release ill also be making a little tutorial. The video is 1.5x btw"}, {"post_id": 18150, "ts": "2026-06-29T05:15:37Z", "hours": 2.8544, "text": "Devlog 5 of my epic space travel game: Finally added more stuff i was delaying to add RCS thrusters effects, now rcs thrusters also have a thrust cone like the main booster Really nice explpsion vfx, now the explosion doesnt look like a low effort particle, its multilayered particles now with sound effects Balanced the game a bit as currently landing was quiet hard, so i fixed that Game is coming together really well, personally i spend a lot of time playing it myself so i know its a banger project, Moving forward i will be adding satellites, save states, fuel system, multi stage rockets, production level graphics to the game. (not posting video as they dont do as well)"}, {"post_id": 17045, "ts": "2026-06-27T17:51:18Z", "hours": 2.4083, "text": "Devlog for my awesome space game, so today i remade the 3d model for the rocket which i was dreading to do but finally got it off, the insane part is that i added a really nice vfx trail instead of kiddie looking particle trail for the rocket, this one looks like an actual thruster and the real deal. Also added music this time around, i tried to add thruster sound but that wasnt working so left that for some other day. tommrow i think ill add proper 3d models for planets and make a replica mini solar system (not ours) The vfx look so sick tho i cant have enough of them"}, {"post_id": 16377, "ts": "2026-06-26T17:33:15Z", "hours": 1.7225, "text": "KSP style sandbox game: Okay so a lot happened since last time, firstly i switched to arch linux as my daily os, and in the game i added planets, RCS, realistic gravity. a planet is a datatype that has information of the mass and gravity scale of that planet, and it can attract the rocket object, also the cool part is you can have multiple planets and create really creative orbits around them, its almost like were actually in spacec Added RCS thrusters as landing on planets was impossible without it, rcs uses shift + wasdqe keys to move in all 3 axis, this makes it very playable but not extremely easy, in the video you can see i still haven’t got the total hang of it yet myself, but ik ill do. Ik i was gonna make a playable release today but due to me wiping windows thats gotta wait a while before it actually happens, For future plans i think ill add a proper environment that replicates space, have enhanced 3d models with HD textures, rcs particles and stuff, also an actual level to play around in."}, {"post_id": 15657, "ts": "2026-06-25T13:49:03Z", "hours": 2.7311, "text": "Okay game is coming along quiet awesome, i managed to make a proper 3d model this time, it has textures and an ugly ass nose cone which ill fix later, currently i made more quality of life changes, made the rocket more snappier, and made it so you can revive, added a lil bit of juice by adding explosion particles and revamped thrust particles as well. Somehow managed to break the entire camera script, but that was soon fixed too so the game is coming along quiet good. For the direction aspect, i currently think flying the rocket around the map is quiet fun ngl, watching me maneuver the landscape by trying to not hit anything in process, also added a moon map and made it similar to the moon by downloading the hightmap data and texture data from actual nasa, but i gave up on that cuz the low res one was trash and high res hightmap was like a bajillion gigabytes and aint nobody gonna download this game if its that big. I played around with different gravity settings and realised flying the rocket is quiet easy if youre on moon compared to earth (duh). So IF (big if) i add levels to it, this might be a hint of what theyll be, again i dont like level system as theyre not fun and u get tired of it soon, i might add multiplayer capabilities later with a python webserver running on the server machine so you can battle with your friends too, possibilities are endless, and ill serve yall good with this one. Like this project and follow me, in the next devlog ill release exe file for this project."}, {"post_id": 14983, "ts": "2026-06-24T10:25:23Z", "hours": 1.3406, "text": "Making an awesome godot game in which you control a rocket ship and you can basically do anything with it, currently i havent decided the direction i wanna take this game towards, i might make it into a demolition sandbox type game, a space exploration game, or a movement type game where you have to reach the destination, like that one cool math game. till now ive achieved Rigid body rocket with its yaw and pitch controls An animated rocket 3d model A test scene with kennys prototype textures A particle style thrust system In next devlog i might add sounds, explosions, and gasoline"}]...
|
Title: Into the cosmos by @tejaswa | Stardance
De Title: Into the cosmos by @tejaswa | Stardance
Devlogs:
Making an awesome godot game in which you control a rocket ship and you can basically do anything with it, currently i havent decided the direction i wanna take this game towards, i might make it into a demolition sandbox type game, a space exploration game, or a movement type game where you have to reach the destination, like that one cool math game. till now ive achieved Rigid body rocket with its yaw and pitch controls An animated rocket 3d model A test scene with kennys prototype textures A particle style thrust system In next devlog i might add sounds, explosions, and gasoline
Okay game is coming along quiet awesome, i managed to make a proper 3d model this time, it has textures and an ugly ass nose cone which ill fix later, currently i made more quality of life changes, made the rocket more snappier, and made it so you can revive, added a lil bit of juice by adding explosion particles and revamped thrust particles as well. Somehow managed to break the entire camera script, but that was soon fixed too so the game is coming along quiet good. For the direction aspect, i currently think flying the rocket around the map is quiet fun ngl, watching me maneuver the landscape by trying to not hit anything in process, also added a moon map and made it similar to the moon by downloading the hightmap data and texture data from actual nasa, but i gave up on that cuz the low res one was trash and high res hightmap was like a bajillion gigabytes and aint nobody gonna download this game if its that big. I played around with different gravity settings and realised flying the rocket is quiet easy if youre on moon compared to earth (duh). So IF (big if) i add levels to it, this might be a hint of what theyll be, again i dont like level system as theyre not fun and u get tired of it soon, i might add multiplayer capabilities later with a python webserver running on the server machine so you can battle with your friends too, possibilities are endless, and ill serve yall good with this one. Like this project and follow me, in the next devlog ill release exe file for this project.
KSP style sandbox game: Okay so a lot happened since last time, firstly i switched to arch linux as my daily os, and in the game i added planets, RCS, realistic gravity. a planet is a datatype that has information of the mass and gravity scale of that planet, and it can attract the rocket object, also the cool part is you can have multiple planets and create really creative orbits around them, its almost like were actually in spacec Added RCS thrusters as landing on planets was impossible without it, rcs uses shift + wasdqe keys to move in all 3 axis, this makes it very playable but not extremely easy, in the video you can see i still haven’t got the total hang of it yet myself, but ik ill do. Ik i was gonna make a playable release today but due to me wiping windows thats gotta wait a while before it actually happens, For future plans i think ill add a proper environment that replicates space, have enhanced 3d models with HD textures, rcs particles and stuff, also an actual level to play around in.
Devlog for my awesome space game, so today i remade the 3d model for the rocket which i was dreading to do but finally got it off, the insane part is that i added a really nice vfx trail instead of kiddie looking particle trail for the rocket, this one looks like an actual thruster and the real deal. Also added music this time around, i tried to add thruster sound but that wasnt working so left that for some other day. tommrow i think ill add proper 3d models for planets and make a replica mini solar system (not ours) The vfx look so sick tho i cant have enough of them
Devlog 5 of my epic space travel game: Finally added more stuff i was delaying to add RCS thrusters effects, now rcs thrusters also have a thrust cone like the main booster Really nice explpsion vfx, now the explosion doesnt look like a low effort particle, its multilayered particles now with sound effects Balanced the game a bit as currently landing was quiet hard, so i fixed that Game is coming together really well, personally i spend a lot of time playing it myself so i know its a banger project, Moving forward i will be adding satellites, save states, fuel system, multi stage rockets, production level graphics to the game. (not posting video as they dont do as well)
Devlog 6 of my epic space game: This update i added quiet a bunch of stuff i was excited to add. First of all major addition, A Satellite, you can carry it from your rocket, take it it in your low planetary orbit and release it in there, itll keep orbiting the planet if you made your orbit right. RCS and thrust with VFX for the satellite this was essential as real life satellites also have this feature and im trying to nail reality as much as i can with this project Finally a better camera, now camera can switch between 2 registered entities, and the selected entity will only be controlled by the camera so thats pretty neat. In the video i showcase the rocket, the satellite, satellite boosters and rcs, landing the rocket, rendezvous with the satellite back again (not really but eh lets just call it that) For future im planning to add redocking (its gonna be very hard to do it in game tho), the game is actually quiet hard its not as simple to create orbits, if the user doesnt have the knowledge of how orbits are made then itll be quiet hard for them to understand that, so for the final release ill also be making a little tutorial. The video is 1.5x btw
DEVLOG 7 OF INTO THE COSMOS This devlog i made some really important additions of a help menu for newer players, i find this quiet important as making an orbit around the planet is quiet hard, so i handdrew some quick informative help guide that can help you quickstart. Also finally ready for my ship #1, i have setup the readme, and made a release for this project, Also uploaded a lil youtube video cuz the guide said so.
Devlog 8 of my epic space game: Following the trend of making a relaxing space sim game with multiplayer, i added quiet a lot of stuff this devlog, i first of all laid a foundation for future, redid all the buggy code, made all the functions future proof, and then i added observatories, proper satellite controller, and made the satellites be able to control with their respective observatory, now the player can spawn satellites, send them to space or go on a mission, come land back and control the sattelite they have sent to the space. In future ill be adding dynamic and unique planets that will be randomly generated eveytime you log into the game.
I have genuinely lost hairs, sanity and life, i have this insanely annoying gamebreaking bug. Currently if the world has more than 1 active gravity source, the satellite doesnt perfectly orbit the planet it should be orbiting, after a while it looses velocity and crashes, this is absolutely gamebreaking as the main concept of the game is gravity. I have tried so many fixes, managed to break the game multiple times, but in the end i think i have a clue of whats going on, when i introduced SOI for each planet, the orbit was still terminating with a crash on the planet, i had made it so that if the body is outside the sphere of influence,it sets the gravity influence from that planet to 0, but even if im in my own sphere, i still somehow crash, i initially thought that the other planets might be attracting the satellite, but i think its the floating point calculations that are messing the orbit up, currently i have no clue how ill fix it but ik ill figure something out. If you guys have any idea what it could be please comment i lowk need all the ideas i can get Anyways i fixed the satellite observatory logic, refined it a bit more, ran tests, tried to implement multiplayer but stopped cuz other bugs got overwhelming. I think ill focus more on designing a nice clean UI now rather than bug fix, which ill do later, cuz they do say “make it exist first, make it perfect later”.
Okay this devogg im glad to announce i have successfully fixed that bug in last devlog which i told yall about, this devlog i added a lot of visual eye candy changes, and a few more functional changes. For starters i added a settings menu and a homepage so users with low end devices can change the settings accordingly, these settings will obviously be updated as the game updates. Secondly, ive added GPU instanced particles all around the player to give to the eyecandy factor of the game. Thirdly i added black holes and their custom ray marched shader to them, they also have the stretch effect of light when u go near them like how they describe “spaghettification” in encyclopedias. I also added ray marched nebula in aswell, they currently dont serve a specific purpose apart from the eyecandy factor, but to be fair not everything has to have a purpose as this is just a relaxing chill game. I also changed the music to a different royalty free music, i was genuinely so tired of listening to that track on loop it was driving me crazy.
ABSOLUTELY INSANE ADDITIONS FOR MY GAME THIS TIME. First of all my first ship was finally reviewed so i read all the reviews and made a mental note of all of them, they were all positive and im very happy people resonate with my project so i appreciate everyone who wrote a very thoughtful review for me i thank you all a lot. Now in the technical part of the game: I finally fixed my nebula raymarched shader, now it actually has volume and you can go inside it and it looks absolutely ethereal. Reviews told me that they would love it if the planets had more details, so details i added, i made a VERY efficient chunking pipeline to scatter debries, and whatever i want on the planet mesh, i am being able to have the whole planet populated with no noticeable drop to performance. I made the script in a way that its a module, so in case if i ever want a planet with vegetation or trees, i can just drop the 3d obj file for that mesh and boom ill have a proper chunk based scatter for that mesh. I tested the chunks using debug cubes and it works perfectly as it should. I also added spacewalking to the game, you can genuinely just float in the space and enjoy the view from the outside, this was quiet easy but its an addition that i shouldve added a long time ago. Also ive finally added randomly generated textures for planet surfaces, these dont look AS realistic rn, but im sure after changing a few parameters and adding proper debrie 3d models, it’ll look absolutely astonishing. From the reviews i read that i didn’t add any help for what keys to use and genuinely thats on me im too stupid so in future ship ill 100% fix that Also ive added a feature where you can currently place observatories on planets and use them to control the satellites, This is just for now as for future ill make the player do stuff on the planet first to have their base setup, I dont wanna complicate it too much as this is supposed to be a relaxing game, but i think this much is necessary. Ive also 3d modeled a tiny astronaut along with his animations and im calling the player boney, i have decided on boney’s lore yet but i can assure yall one thing, it will be insanely deep, and there will be clues for it all around the game, you just have to notice it. I also have massively optimised the star spawning shader, i am able to have 10s of thousands stars on the screen without having any frame drops at all, i used GPU instancing for this and this is genuinely black magic, I also used GPU bill boarding to help aid the performance even more. Removed the unnecessary calculations and now the sky is denser than ever. I also herd people wanted me to make a web release for it as the download process was quiet tedious, but i think 2 devlogs ago you can see me in godots compatibility mode, it BUTCHERED the visuals completely so i dont think i can bring myself to do that after spending so much time writing complex shaders. TODO: Add wormholes, infinite planet generation, coordinate system.
Finally the biggest change ever yet, this took me HOURS of rewriting debugging fixing weird glitches, tried to even recompile Godot at one point, But its done, A truly frame efficient infinite procedural planet generation with randomness and seed integrated in it, this took so much of my sanity, so many broken hairs, but finally i am able to perfectly get it working at 144fps and around 11ms average frame time. I also optimized the rock generation even more to take advantage of godots multi threading capabilities to take the load off the main thread to generate the chunks for rocks. Current limitations of this architecture are not the architecture but the godot engine itself, as it uses 16 bit floats to keep track of transform, so if you’re like 100,000 units away from your home planet you start facing very weird glitches, I personally think im gonna keep this glitch in the game as i have no idea how these glitches will affect the gameplay, its like minecraft farlands, i want to see how the world generation breaks, and i dont want to stop the player from experiencing that aswell. Its not that idk how to fix this, if i recompile godot to use double instead of float i can extend the range of the farlands way beyond that, but its just the matter of personal preference. I have quiet insane ideas and directions for this project now that ive came so far, its kinda funny how all this became what it is just because i wanted to control a rocket in space.
SO, Im now starting to add everything people complained about or found annoying in my first ship, Someone pointed out i had made the help but the help i made didnt tell what keybinds to use, so i have designed a dynamically UI screen to add guide for button keypress, it was a bit of a tedious job but its done now. Since i understand that not everyone has a good computer, (I have an RTX4050 with Ryzen 7 AMD Ryzen 7 7435HS CPU with 24 gigs of ram so i cant rely on my laptop to be an average computer) but i know not everyone has these specs so i took the time to code more settings in the settings section, now i can select the major factors of FPS drop in this game. Also i redid the noise the planets used, the noise textures is used before if you see from earlier videos looks very choppy, unrealistic and creative, now it looks a LOT better. Currently i haven’t added keybinds UI for the rocket, which ill add later, I will be making a ship soon after fixing more bugs that i delayed for later.
Today i have just started refining the 2/3 stage gameplay i made it so you cant just spam sattelites wherever you want, but instead you have to get them docked on your rocket at the research center. I made the ugly loading screen a little better, i will fix it even more by designing custom graphics for it I revamped the 3d model for the research facility, it has interior and the infamous meme toilet where little boneys take a dookie in unison. (This will be a feature in 3/3 version of the game) Currently i have fixed some more gamebreaking bug where the ui just straight up didnt work, turns out it was due to my own stupidity of forgetting to hide an transparent panel in the scene tree.
Getting the project production-ready. I’ve finally added local storage for the settings menu, so your graphics and gameplay preferences now persist between sessions instead of resetting every time you launch the game. A lot of people mentioned in the last devlog that they couldn’t figure out the controls, so I added a “Show Keybinds” toggle in the settings menu (press ESC to open it). It displays the controls on-screen whenever you need them. I also found a pretty game-breaking bug, so I’m documenting it here for future me: If you’re mounted in the rocket, enable Show Keybinds, and then hit Apply, the player can no longer unmount from the rocket. I’ll be fixing that later. I spent some time messing around with Godot’s built-in graphics settings and realized I’d completely forgotten to enable anti-aliasing. Turning it on made a huge difference, the game looks so much cleaner now. As you can see, I’ve also added a fuel gauge for the rocket. It helps sell the whole “claiming and exploring planets” vibe. I also changed observatories so each planet can only have one. Another gameplay change is that you now have to visit an observatory to dock a satellite onto your rocket instead of doing it anywhere. Finally, I changed how world persistence works. If your rocket crashes and you reset the game, any observatories you’ve already built will still be there instead of disappearing.
Final devlog before ship. I have polished the UI, remade the boney 3d model, Fixed observatory logic, made other tiny gamebreaking improvements, Also i have fixed animations for boney, added a jump animation. Major change is 3rd Person camera now, which makes the whole experince even more immersive. I have playtested it several times, im kinda nervous and hoping it works perfectly as it is on my machine.
Okay just fixed another tiny bug, im glad i checked it, when i select the satellite for an observatory, the UI doesn’t open again, so it made it impossible to refuel, i fixed that by giving an option to control satellite now. I think im set for the ship now, i reccomplied the binaries, the readme is ready to, along with the latest youtube video https://youtu.be/RQmEh_rwnzQ
Made major game optimizations, Am adding a proper inventory system with crafting, I have designed inventory with crafting in past for my cooking game shouldn’t be that hard, But doing it in preexisting is a bit of a challenge. I have implemented a simple hotbar and item system in the game, I also used Godots IK nodes to control the bones, and god damm was it useful, this might come in handy in future. Switch to this camera does make it look a lot better
Working on making the game loop more fun, Im thinking ill be taking the game towards single player base building story mode type of game, I made a web version cuz i had 0 reviews after 2 days, the web version isnt good at all but its make do, I added rovers to the game now too its insanely fun driving them around the planet and having fun, i will be adding more stuff to the game, inventory system turns out is way harder than i expected so ill do that later. Enjoy this clip of the game
So i changed the Help UI of the game, made it look a lil better than that roblox ahh UI, Added mother stations to the game where u can get rocket upgrades, im slowly trying to figure out the game loop, itll be that you are a lonely astronaut in eternal void of space, your kind has been extinct, these ships are abandoned u can repair them and get a specific upgrade from each of them. Also i made the web version available too, its been 3 days and ive been sitting at 0 ratings just demotivated the hell out of me, the quality of graphics and gameplay is butchered but i had made that clear in the itch page, lets hope people rate it now
Designed the actual model for the rover, im pretty happy with how it turned out, i think ill keep it. tweaked the settings for the rover to get it just right, the only problem im facing is that due to the curvature of the planet, rover js flys off n start orbiting at high speed, i gotta add down force to tis i think. I removed the inventory cuz it was too wonky, i think ill have a hotbar and a backpack like peak, i think thatll be more immersive than having a stupid inventory. (this is totally not because i went rabid trying to implement it)
OKAY so really cool changes First of all i fixed major inside stuff, instead of having 350 lines of gd script files in which i had to sift through to find the function i need, and then get overwhelmed later, i made everything modular, All the functions are Nodes in the scene that hold scripts. These scripts hold the functions that were earlier stored in the main .gd file, so now everything is a lot less cluttered and makes my life easier. I also did the same for the rocket scene as it was getting cluttered too. I added chests to the game where you can store items in (dont mind the invisible hotbar), They will be locations to store your items which will be scattered inside of observatories, im also thinking of redoing observatories as this model now looks ugly, and i think this has a lot more potential. Oh and also i have decided upon how im gonna make the player create an observatory, you land on a planet, collect scraps, them build an observatory, and then everything in observatory would cost the player X amount of scraps, also abandoned motherships will also provide the player upgrades for rocket. I got 3 ratings which im thrilled about, but also kinda sad because the reviewers prolly playing the itch release of the game and not the actual one but eh i think its fine, as long as my game is peak. Next ill be working on making an actual 3d model for the mothership
Devlog #idk Didn’t get a ton of new content added today, but I spent most of the time cleaning up annoying bugs and polishing the game. The biggest fix was the rocket explosion system. There was a bug where the rocket would slam into the ground at over 300 m/s … and just refuse to explode. I rewrote the logic, and it’s finally behaving properly. I also started modeling the mothership . It honestly looks like absolute dookey right now, but it’ll do as a placeholder. 3D modeling definitely isn’t my strongest skill, so I’m calling this version “good enough” for now. On the graphics side, I added a proper atmosphere around the planets, which makes them look much better. I also experimented with chromatic aberration , but it didn’t really fit the style of the game, so I ended up removing it. Huge thanks to @aloyak for the inspiration and some really helpful rendering tips. He showed me a much better way to increase the render distance without killing performance, so I’ll be implementing those improvements tomorrow. Also… I earned 1085 Stardust on my second ship. Not bad.
HOLEE SHIT, ADDED INSANE STUFF TO MY GAME IT LOOKS SO BEAUTIFUL NOW, I CANT BELIVE IT So, for starters, since yesterday I have been learning shaders. I fixed that shitty atmosphere shader that I translated from someone else’s shader to Godot. I had to make a lot of changes to it to get it working properly for my game. ALSO I MADE A SICK ASS WATER SHADER FOR PLANETS TO HAVE. Then I REWROTE THE PLANET GENERATION SCRIPT. Now each planet has unique properties like: Ambient temperature Water availability Air density, which determines water availability too I also tried adding comets and comet trails to the game, but failed tremendously. Oh, and also, dont go near the black hole. OH AND I GOT MY PAYOUT, AND I GOT THE BAMBULAB A1 MINI. THIS DAY JUST KEEPS GETTING BETTER
AYEEEEEE DEVLOG TIME So today i redid the observatory 3d model, gave it some clean nasa textures, its not upto my standards but its getting there, also fixed that stupid atmosphere bug now everything looks insanely better. Added a planet to the launch screen to flex aswell, i think it looks awesome there. Oh and also i tried to add water walking sound but am failing miserably but worry not as i will be reworking the soundengine too later Taking a moment to give a shout out to my followers who motivated me to work on tis more also HM all the reviewers who gave incredibly nice feedback
Oh i did manage to fix the water walking loop a lil more, its not perfect, but i dont understand whats going on. so ill just work on that later Anyways thats that, big changes i made are that now to place observatories or rovers you need to have a specific amount of scrap on you, i will be turning this into a full fledged build menu so its more appealing, and i will have this menu as a quick hotbar to place blueprints of items. I find this gameloop satisfying as it takes away the management hassle and this game is supposed to be relaxing. And bro how long IS the queue my bambu is STILL not shipped Sorry for slow updates on this project, currently working my ass off irl on the UAV project of mine as i have a deadline to finish it. If i did manage to get a good rep towards this proj, ill be taking the reviewers advice and hosting this game on steam. That developer grant might come in handy ngl
AYEEEYEYYE UPDATE ON THE PEAKEST GAME Made a really smart decision and got rid of the ugly hotbar like menu to place items, now da gam has a nice build menu in which most of the time was spent in making my code more cleaner. But it works now, it looks way more clean and immersive. Instead of relying on hardcoded information for items, i finally made a global that can handle all of that, idk why i didnt do that earlier. About the sound engine, i genuinely hate it a lot, i will be redoing it from scratch and figure out wtf is wrong with it Sorry for slow progress, i dont have much time till im at home so im tryna maximise the time i spend on my rc plen, ples follow it aswell
OKAKAKAYAYAY some more cool additions for exploration aspect for the gam I added an arrow that points towards a set direction, which also changes its with respect to how far the rocket is from that point Also I FINALLY FIXED THE WATER WALKING SOUND ISSUE!!!1!!! Turns out it was quiet easy, i was just too stupid and over complicating it, a simple rewrite fixed everything. For next update i will be adding findable clues, maps, coordinates left out to rot by a “past explorer” that you find across the universe, this is gonna require a bit of time and skill but i can deliver that easy with some time Again progress is a bit slow cuz im actively working on my biggest endurance aircraft but i will keep tis game updated nonetheless, and in future u might even find it on steam who knows
OKAYAYAYAYAYA UPDATE TIME I have graves implemented in the game now, after careful consideration about which direction i wanna take my game towards, i think graves would be a nice addition without disrespecting the procedural nature of the game. I want to make this game very lore heavy while being fully open world and giving the remote in players hands. I dont wnana confine them with thick story plot, or tedious tasks. Nor do i wanna make the game absolutely boring and pointless. The “Rot” i talk about is a cosmic disease the players universe is going through, unexplainable things are happening, weird inter dimensional gates are popping up at random places, everything is near extension. Im not sure about the role of player in all this tho, i will figure something out tho, i wont disappoint yall thats my promise. Also i worked a bit more on a weird bug where items were being placed not where the raycast was supposed to hit. Also I will be removing the inventory system entirely and just rely on blueprint building aspect lmk if yall think thats a good idea Also shout out to hackclub for getting me so much stuff i really love every single one of yall ❤️ Also progress on this game will go back to high now as i wont be home to work on my plen.
Finally a devlog after several days of straight struggle For starters ill tell yall why it took me so long I lowk changed places and i live alone in a room now, i had to shift and living conditions here are absolute hell I somehow survive without going wild due to all the bs ive been facing recently. My productivity has taken a severe hit, a feature like this took me way too much time to complete than it should’ve. That being said i did wander off in different directions cuz i was lowk clueless which direction i should take this game (i still havent decided ) In this devlog i added advanced material processing and advanced materials to the game, with a minecraft furnace like cooking mechanics, i made the logic quiet efficient and refined, its not my best work but it can always be better later. I js hope this eternal torture ends and i finally get to have better living conditions. istg ive been boiled alive, breathing is a struggle in this place Ill keep serving yall with most banger updates so keep me followed, this game is gonna be the next big thing lowk Now i will be makig the 3d model for refinery, before this i made a failure ahh model in whcih i js made a complete simithing room inside a space bubble 😭 Gotta make something better than that so time to lock in
Man i hate making 3D models Not my best work yet, but refinery is done, After several iterations, getting inspo from pinterest and then ditching it and drawing one in back of the class, im finally set on a design, it looks pretty good as of rn. (its not) I fixed a bug where the text was glitching out when i tried to craft scraps, and now it works as it should. The logic is perfect for how it should act in game and im hoping i dont have to touch it again in future to fix it. That being said ofcourse ill be making the 3D model better, But for now i just wanna focus on programming stuff and making the loop right. We can always make it prettier later . Im unfortunately still not home and i still have to survive in this godforsaken room, but hopefully ill be home soon as ill get my appli signed to go home, And then ill be working on both this and the plane together
REALLY NICE ADDITIONS Ive finally added some life to the game. I have added these weird mudfishes inspired by those weird furless cats. These mud fishes aren’t stupid tho, i ___have implemented a proper behavior tree to them, Each one of them has their own set of actions. Normally like minecraft mobs they roam around look around the world, but if a player is near their vicinity, they RUN away from the player protecting them. Currently i have no clue what ill use them for, but one thing is for sure that they have really nice skin I wonder what will happen to it in the near future Really happy by this addition tbh, the world was getting kinda lonely, this was important, in next updates ill be adding colonies of these things mounds and their homes, along with their baby variant.
After getting falsely accused for fraud for using the godot wakatime extension and getting a heart attack I have finally added little homes for these skinny dookeys I hate, HATE behavior trees with every cell in my body I hate to admit but i did take help of claude chat to help me set this shi up, it was js the free version tho so we good. I added so like normally it ran away from player if it sensed one near, but now if the player is close by and it has a home near it runs to that and hides in the home, and if player is far enough it emerges back out. Ill move on to adding more entities now rather than polishing these dudes, i think from the final game i wont even keep them in cuz how ugly and weird they are Aye free me bro i aint do nothing wrong, fix the wakatime extension fr
LETS GO IM FINALLY UNBANNED Unban stuff aside, time to explain the devlog even tho being unbanned feels great and i have insane amount of motivation to work on my proj now In past idk however weeks ive been working on 2 major things, first is that ive finally listened to the last ship reviewers and added upgrades for rocket, with custom 3d models for each rocket tier. currently it uses a separate key to open close the menu which is bad but ill fix later Also only the rockets fuel attribute is updated when you upgrade a rocket so ill fix that too. Also after the ban i was working on electronics update for my game, i have implemented electric poles, 50Kv Generators for now, i am going towards direction of factorio im afraid, but i dont wnana make it very grind-y so ill keep that in mind (hopefully) For future i will be adding better UI/UX its currently embarrassingly bad rn (even tho my degree is Computer science and Design) So yeah that will need a massive revamp Also id like to give a shout out to water #Freewater #heaintdonunwrong
I was aiming for 3 hours today but i lowk got in a fight with a senior in my clg and bro is threatening me to slime me tmr it might be wraps for me gng Putting the sliming part aside, today i made the 3D models for a generator concept (or actual thing) i found online of what they use in space. The i did sm audio editing to have a whrrrrrrrrrrrr looped sound effect and it was quiet easy to make a whrrrrrrrrrr loop, easier than i imagined. Then i added another sound and layered both ontop of each other and now it genuinely sounds kinda peak After that i made the electricity spread across all the electric poles, heres the code for that if body.is_in_group("tower"): towers_closest.append(body) create_lines(body.location_to_connect_wire_to) if has_electricity_running: body.has_electricity_running = true elif body.is_in_group("electrical_appliance"): if body.connected == false: towers_closest.append(body) create_lines(body.location_to_connect_wire_to) body.connected = true if body.is_in_group("generator"): has_electricity_running = true for i in towers_closest: if i.is_in_group("tower"): i.has_electricity_running = true I might lowk be taking AI’s job in writing bad code, they should make a me gpt in which i reply with shit code that DOES work. I also visualized the flow of electricity by hiding/showing a random cylindrical mesh that shows if it has elec flowing through it. Tmr ill be redoing ALL the icons cuz currently they look straight dookey, and also fixing the UI, then if i have time give observatory and everything an electric connection and make them so they dont work without it. This was all i worked on today, yall pray for me lets hope i dont get slimed tmr .
YAYAYAYAYAYA 3RD SHIP INCOMING In the first 2 hours i logged i worked on making the 3d models as refined as possible and made them look good by referring to astroneer as someone commented on my game Also made multiple 3d models for the electric pole and finally used the one that sat right with me. Made a new 3d model for generator and upgrade station aswell In the next 2 hours i made minor tweaks and fixed satellite bugs along with updating the help menu with newer control code, also was thinking of implementing a scrap mine but dropped that idea (maybe later ships) Then i added a little keytip marker near the refinery and chest of observatory to aid the player. Added a bunch of sounds to the electronics of the game and now it sounds a whole lot better (also reduced the main music) FINALLY TIME TO SHIP Thnx to all of the support on this proj i wont disappoint yall at all with future ships
Some really cool additions For starters today i implemented a little list at bottom of the screen that can be used to store the coordinates of player rn Yall might be wondering what tis could be used for, But i have something really cool cooking up in my head lets hope i am able to express it properly. EXPRESSING MY LOVE OF YAGI ANTENNAS I ADDED A YAGI ANTENNA TO THE GAME!1!!! It has a search feature that looks around for strongest signal and then does nothing But in future i will be making a whole mechanic out of this. Then i made a little web release it butchered the visuals i worked hard on. Its okay tho cuz i added a warning label like last time on that release too. Linked the web release as playable link for the game I want YOU to tell me what should i add to this game as im running into a roadblock where i dont know what i could add for the electrical update for the game that would actually be a useful addition, Comment down below to drop your ideas the best one will make it into the game
TESLA SUPER CHARGING So for starters i forgot to tell yall that i DIDNT get slimed by senior my clg department helped me and scared tf outta bro and i got to fight bro too And in this update i added set battery capacity to rovers They use supercapacitors to store charge so that means they can be charged and discharged for eternity Then i added charging stations to the game and made them use power grid electricity. I think players might abuse electricity by only placing 1 generator to power an entire city so i will be implementing complex wattage draw logic like they have in factorio to get some supply/demand action rolling. Then i worked on implementing save game in the game and i failed terribly (this will be a hurdle for later) I spent like solid half an hour trying to implement it just for my save file to be completely empty Idk whats going wrong but i will eventually figure it out. For now tho i will be working on factorio like supply/demand logic for electricity wish me luck
In these 2 hours i have lost all my sanity But finally the factorio like supply/demand electricity mesh finally works First i thought of using recursion to spread the electricity through every single tower But then i ran into a problem where towers interconnected so to fix that i passed a self parameter that didnt seem to help. Then i decided to make towers only connect once (which was a disaster and brought its own set of bugs) and that to tremendously failed So finally i decided upon a global mesh chain architecture where all the nodes in a chain have similar looking list, and whenever an appliance is connected to it the chain just iterates through its connected devices, This in turn brings the time complexity down to O(n) and makes everything a whole lot more efficient. Finally this is done Currently only the tesla charger works with this new logic, later i will add other electric appliances to this mesh network aswell and give them watt draw Few things to keep in mind, Currently 1 generator makes 50kW and one vehicle charger consumes 40W, If the demand isnt satisfied every node in mesh rejects the connection until the demand IS satisfied I know this might feel stupid for some people but this is only done as a feature so you dont overload the electronics in space
IM RICH!!11!! 2080 sd and top 10 in multi I got all positive reviews from yall and i apprciate every single one of u for rating my project. I have finally added scrap mines to the game, i had already made the 3d model for them i just thought they didnt fit in the game but since im adding automation and electricity to the game i think this would be a great addition. Currently they produce 10 scraps, copper, iron per 10 seconds so 1/ sec i will later randomize this and give them weights, im js too lazy cuz of this clg n shi istg Good thing is tho tmr im going home That does mean my work on hardware projects will start again That being said i need you to give me more recommendation for the game, the reviews didn’t give me any ideas or unique views what i could add to my game.
BOOMBOX!!1! , macondo marketing team too good Last night i spent unhealthy amount of time watching ig posts of macondo on hackclub ig, I lowk feel insane amount of fomo and i wanted to go so bad The songs they used in the marketing reels are still stuck in my head So as any reasonable person would, I added a boombox in my game with with my fav songs from the reels they made @zach PLES FLY ME IN NEXT IRL HC EVENT PLES IM BROKE
SHOUT OUT TO @253_Mathilde_IYKYK For starters i made a lil script so that if a rocket is in the SOI of a planet and then it scans near it by pressing F it shows all the necessary details about the planet, currently they are obvious details but i will work on making them useful. I have a few ideas of what i can do with it Now to the important part @253_Mathilde_IYKYK recommended me to add a song they like SO I ADDED IT TO THE GAME Hope yall like it :) (Sorry for not including video idk why stardance was bugging and throwing error when i was tryna upload a video)
Ships:
I made Into the Cosmos, a realistic 3D spaceflight sandbox inspired by Kerbal Space Program and Spaceflight Simulator. The game lets players jump straight into the mission and experience realistic orbital rather than spend hours designing the rocket just for it to fail when launching. This is a relaxing and fun game where players can just sit back and enjoy the physics and thrill of sending rockets to space. The biggest challenge was making somewhat realistic physics with enjoyable gameplay. Getting the gravity, RCS controls, and spacecraft handling to feel both snappy and fun to play with without absolutely broken, writing so many lines of code, and deciding on how im gonna be approaching some problems was quiet fun, i have a lot of fun designing it, i used to go to bed thinking what ill be adding to the game tommrow. I’m most proud of achieving the relaxing experience I originally envisioned. Im quiet glad i was able to fianlly have a direction towards my game and have an idea of what i wanted. And the gameplay is quiet fun aswell, i found myself “playtesting” my games just having fun slamming the rocket into planets, doing interplanetary missions. Setting satellite in different planets To test the project, I recommend reading the in-game controls and instructions first. They explain the basics of reaching orbit and make the experience much more enjoyable.
Into the Cosmos Join Boney on a journey across the endless cosmos, where every horizon hides another world waiting to be discovered. Launch into the unknown, weave between glowing nebulae, drift past impossible black holes, and set foot on planets no one has ever seen before. Build observatories to mark your path through the stars, refuel your rocket, deploy satellites into orbit, and keep pushing farther into the infinite. And when the day is finally over, come relax with Boney and lose yourself among the stars for a while. I’ve always loved games like Kerbal Space Program and Spaceflight Simulator, but I wanted something where you could jump straight into flying without spending hours designing the perfect rocket first. The result is a sandbox space game built around realistic orbital mechanics, exploration, and simply enjoying the journey. The universe is procedurally generated, meaning there is always another unique planet waiting somewhere beyond the next launch. Every expedition can take you somewhere completely new, and every observatory you build becomes another milestone in your adventure. Satellites aren’t just for show either. Launch them into orbit, revisit them later, and use them as your eyes in the sky while you continue expanding your reach across the universe. If you’re new to orbital mechanics, don’t worry. The game includes detailed instructions, an optional on-screen keybind guide, and a full in-game settings menu that lets you tweak graphics and performance to match your hardware. Whether you’re playing on a high-end gaming PC or something much more modest, I spent a lot of time optimizing the project so as many people as possible could enjoy it smoothly. There is one place, however, that lies farther than anywhere you were ever meant to reach. Most people will never find it. Those who do usually don’t come back with an explanation. I call it The Farlands. Whether it’s a bug, a feature, or something else entirely is for you to decide. I built this game in Godot 4.6.2, spending countless hours refining the physics, procedural generation, shaders, rendering, UI, and gameplay systems. Every optimization, every visual effect, and every mechanic was added with one goal in mind: making space feel like a place you can get lost in for hours without realizing where the time went. So fuel up, trust your trajectory, and see just how far Boney can go. If you decide to give the game a try, I’d really appreciate a detailed review afterwards. The feedback I received on my last project genuinely helped shape this game into what it is today, and I’d love to hear what you think could be improved, what you enjoyed, and what you’d like to see added next. If you enjoy the project, consider starring the GitHub repository and liking the YouTube video. It really helps more people discover the game and motivates me to keep building and improving it. So fuel up, trust your trajectory, and see just how far Boney can go.
INTO THE COSMOS This is the game i have designed with inspiration from Spaceflight sim and Kerbal Space program, i wanted to capture the total freedom of roaming in space without the stress of designing a space vehicle for hours just for it to crash into a million pieces. I wanted to make a chill relaxing game that people can come back home after a long day of work to, boot it up and have fun just roaming the eternal space without stressing out. Im quiet proud of how im capturing this vision of mine and im very happy with what im making. Heres some information of what i added this ship: I’ve basically been adding a bunch of systems that I’ve wanted in the game for a while, and the game is starting to feel a lot more like an actual sandbox now. First thing, I finally added electricity. This is probably one of the systems I’m most interested in because now I can actually start making more things depend on power instead of everything magically working forever. This also gives me a lot more stuff I can do with spacecraft and bases in the future. I also added scraps and scrap refining. You can now collect scraps while exploring and actually do something with them instead of them just being random useless objects. I’ve also added the material processing system around this, so scraps can be refined into materials that can actually be used to build useful buildings. This is going to become a much bigger system later on. ROVERS ARE FINALLY HERE You can now actually drive around on planets instead of just landing there and leaving. I really wanted this because the planets were starting to feel a little pointless once you landed on them. Now you can actually get out there and explore the surface properly. I’ve also added planet properties. Planets now have their own properties which means I can start making different planets actually matter instead of them just being randomly generated balls you land on. There’s a lot I can do with this later, especially with resources and exploration. I also did a pretty big overhaul on the visuals. The ambiance shaders have been improved and I’ve added a bunch of new stuff to make the planets and space itself look better. black holes now also have a hidden easter egg…. Ive also given every planet a beautiful atmosphere And yes. Mudfish I don’t know why. They’re still stupid. They just walk around on planets doing absolutely nothing useful. But honestly the universe felt too empty without them so I’m keeping them. A lot of this update was also spent doing optimization because some of the newer systems were starting to get pretty heavy. I’ve been going through different parts of the game and trying to make everything run better without completely murdering the visuals. Overall this update is probably one of the biggest changes to the game so far. And I still have a stupid amount of things I want to add. https://www.youtube.com/watch?v=ZZg3blASmgc This is the link to the youtube video if you dont have time to review the game PLEASE check it out and rate the project I read and appreciate every single one of you reviewing this game, please be as informative as you can be as this is one of the biggest games ive worked on till now, thx and have fun playing the game...
|
1792850006.8012064
|
1792936406.8012064
|
|
25644
|
rlbuddy by @kmdw | Stardance
|
kmdw
|
3
|
185.95
|
2643
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T00:20:30Z", "hours": 40.0, "multiplier": 18.76, "payout": 740, "blessing": "neutral", "text": "I made rlbuddy, a rocket league companion app! This is the third ship so far. The big features this time are the asset swapper and Linux support, but I think that the feature I’m most proud of this time is the asset swapper! It inserts the appearance of one item into the file of another, meaning by swapping out assets for others you can make your car look however you like! (Client-side only, of course). I learned a lot about byte-level manipulation and working with raw data streams and encryption/decryption in Rust, and I can read hex (relatively) well now! It’s also great because I think this combined with the doorstop experiment from a while ago gives me a nice base to try some reverse-engineering challenges in the future. I also worked a lot on performance this time, such as tuning loop times/ui fps caps and minimizing ram usage (I achieved around an 80% reduction here!) There are a crap ton more features added than that (totaling almost 100 commits), but I’m pretty sure you’re not supposed to have massive feature-dumps on the ship text. So the full list is on the latest github release! In the image, you can see I have a white fennec. In reality, I don’t actually have a tw trim, and the equipped decal isn’t compatible with the fennec either. But, using the power of asset swapping, I can get a beautiful all-white car. Neat!", "repo": "https://github.com/Kalilamodow/rlbuddy", "demo": "https://github.com/Kalilamodow/rlbuddy/releases/latest/"}, {"ship_num": 2, "ts": "2026-09-07T20:33:21Z", "hours": 27.0, "multiplier": 16.74, "payout": 457, "blessing": "neutral", "text": "rlbutddy is a feature-rich companion for Rocket League, and v1.2 is out. There’s been some big architectural changes meaning it’s faster and bug-free-er, as well as big new features! New!!! Avatars! Now you can see people’s profile pictures even when you’re not on their platform. Custom map loader! You can import maps from a ZIP or download them straight from Bakkesplugins! Gamepad overlay! Show your controls while playing, to show off your bindings or get some help with your speedflips. I think I’ve definitely improved at Rust since the last release. Just in terms of the amount of mistakes I make, I feel like it’s way more smooth sailing than before. For example, I was able to (mostly) write not-so-buggy code and “run the borrow checker in my head” without needing to cargo check a million times, and clippy tends to have a lot less suggestions for me. Pretty great!", "repo": "https://github.com/Kalilamodow/rlbuddy", "demo": "https://github.com/Kalilamodow/rlbuddy/releases/latest/"}, {"ship_num": 3, "ts": "2026-08-25T22:08:36Z", "hours": 109.0, "multiplier": 17.59, "payout": 1446, "blessing": "neutral", "text": "rlbuddy is a feature-filled companion for Rocket League! It shows the skill of everyone in your lobby and has tons of toggleable widgets and features to make your life a lot easier, from Discord integration to music control. This is my first non-tiny Rust project, and I think it was really great! I’ve learned a lot such as proper state management and the ins and outs of Rust’s syntax. You can give it a try by heading to the Github releases section. If you play Rocket League, I hope you use it!", "repo": "https://github.com/Kalilamodow/rlbuddy", "demo": "https://github.com/Kalilamodow/rlbuddy/releases/latest/"}]...
|
[{"post_id": 80191, "ts": "202 [{"post_id": 80191, "ts": "2026-10-16T17:13:05Z", "hours": 3.4819, "text": "more small improvements. i gave the session stats widget an actual service as well which speeds things up a lot since its not recalculating statistics every single frame. the swapper also uses the backup file if one is available and it no longer accepts duplicate custom maps"}, {"post_id": 77292, "ts": "2026-10-06T13:38:54Z", "hours": 0.4772, "text": "A few fixes here and there. Some refactors, caching externally loaded playlists in savedata, and fixing a deadlock when clearing the items cache. And for some reason the decal option was missing from the items list picker."}, {"post_id": 75881, "ts": "2026-10-01T13:48:20Z", "hours": 5.9928, "text": "I made a standalone web-based swapper for the people who don’t want to download an entire app. A lot of people had broken packages after the last update but didn’t want to install a dedicated program just for a few swaps. So, I used the asset swapper backend of rlbuddy to make this thingamabob which runs entirely in the browser! First, I had to find out how to actually share rlbuddy’s asset swapper with other projects. Turns out Cargo has a cool thing called workspaces where you can have multiple crates in the same repo! So I moved the dedicated UPK/AES etc. stuff into a new crate and added it as a dependency in regular rlbuddy. Then, I whipped up a small wasm-compatible eframe app with the template, and included the new crate as a dependency. I made a big state machine of the steps meaning it’s impossible to have an invalid state, which is really nice. The only problem was that Rust’s ownership system isn’t smart enough to deal with it, so the code is a bit repetitive in places but it’s definitely worth it. The WASM restrictions were super annoying, mainly do to with filesystem access and requiring async. I ended up using the egui-async crate and spilling Binds all over the place within the state machine. I couldn’t even figure out how to get the actual swap procedure to run in a different thread. I also spent like 30 minutes debugging why in the world asset swapping was just broken. Even when I verified the same binary data were going in to the Upk object in the webapp and rlbuddy, for some reason the output upk was just different. Turns out I used chosen_replacement.name instead of chosen_replacement.package.name() . Isn’t that great? Anyways, it works fine now and I’m planning on posting it on r/RocketLeagueMods and possible r/RocketLeague."}, {"post_id": 74679, "ts": "2026-09-27T23:46:54Z", "hours": 3.0297, "text": "Not much in terms of super-cool stuff this time. Highlights are: make sure dynamic playlist loading uses the latest cache file (and also fix its loading on normal people’s rocket league installs) loading the cache file on another thread so it doesnt freeze the whole app for a second on the first lazy lock access searching for items in the item swapper moved the error handling of the map loader to anyhow So no ultra-exciting things to talk about. anyhow is really cool though, it really simplifies error handling everywhere in the app, and I’m a big fan of its bail! macro. I’m also using Cow a lot more. Moo!"}, {"post_id": 73444, "ts": "2026-09-25T03:22:46Z", "hours": 4.635, "text": "I got licensee version 34 (encrypted payloads too) to swap finally! Okay, so this was awesome. Rocket League’s been having a bunch of updates lately, which breaks the packages of people trying to get free stuff. So, in a Reddit thread, I ended up dishing out a bunch of swapped asset files for people in this situation. There’s a new boost which everybody wanted really bad since it was really rare (but they decided to make it unlockable at rocket pass lv99 so it doesn’t even matter anymore), and it was UNSWAPPABLE for three reasons: it was encrypted specially i hadnt encountered specially encrypted packages meaning their handling was wrong aes keys werent out for it yet (or so I thought) I’ll start with 3. I had written a tool which looks in the games cache for AES keys, and dumped them, and it worked great. What I didn’t expect is the filename to change between versions. So, I was super confused since yesterday since the AES key for the boost was just… missing. Thankfully, the geniuses at the RLMM discord got it and helped me figure out that the file I was reading from was just outdated. Great! Anyways, not too big of a deal, just a big delay. Now it’s time for the real challenge: figuring out how the hell to handle this type of package. First, I did some research. The twelve bytes of padding in files with licensee version >=33 before the summary are actually a nonce/aes iv, not just padding. Then, the header is encrypted with AES-CTR with the twelve first bytes of the iv just being the nonce. And the compressed chunks are encrypted too here: each one is also AES-CTRed with their own nonces in FCompressedChunkInfo. Thing is, I don’t have an implementation to really go off anymore, meaning there’s a lot more trial and error. For the original implementation, there were one or two existing asset swappers (though they were vibecoded meaning more of a puzzle to figure out what they’re even doing), but this time I was mostly relying on emii’s fork of UEViewer. Anyways, after spending a while figuring out what exactly I had to masquerade (payload, key, swap nonces) I finally got it to work!"}, {"post_id": 72491, "ts": "2026-09-23T02:26:44Z", "hours": 1.8381, "text": "rlbuddy now loads additional playlists straight from the game’s cached webconfig, instead of hardcoding them all! This means that the list of playlists will basically never go out of date. There are actually quite a few services which rely on game files (eg. auto stats api setup, custom maps, asset swapper). So, the first thing I did was to refactor it so make all of these load from the same global value. Then, for playlists, I made it read from a specific file in the game’s http cache directory which contains a bunch of configuration. Then, it parses it into a JSON object, grabs all the values with Class PlaylistSettings_TA, and then extracts the title and playlist id! There are still a bunch of built-in Playlists, since those have internal things like going from a casual playlist type to its respective competitive one or having the hard-coded list of singleplayer playlists. But, all the other ones, like ltms are dynamically loaded. Yay!"}, {"post_id": 72027, "ts": "2026-09-22T00:56:20Z", "hours": 3.9097, "text": "I made a ton of improvements to the asset swapper! And fixed a bug with the music player which is cool technically, so I’ll start with that. The player uses the GSMTC api, which is async, but egui doesn’t really like async. So, I made it so that every time you wanted to run some command on the current session, it would start up a new thread. This was less than ideal for a few reasons: terrible performance race conditions could happen just… in Windows itself The main problem was 2: for example, if you skipped a replay too fast, the Play command from the end of the replay might actually reach Windows before the Pause command from the replay start, leaving your music paused. So instead, it starts one dedicated worker thread which has a channel which receives a Box<dyn FnOnce(Session)> , and executes at most one command every 50ms (only one command per loop, fixed loop time of 50ms). It’s really interesting because you actually end up sending a closure through a channel, which feels funny but when you really think about it it’s just ownership semantics. But, that’s working great now! On to swapper improvements! First, I moved most of the swapper module to anyhow handling (it’s heaven!), and I also modernized the upk api a bit since it was basically dragged directly from the proof-of-concept repo, meaning it was not really application-ready. Also, it previously looked at the game’s webcache to decode the AES keys for header decryption, but now it uses the wonderful Toga-Files repository along with a really nice caching layer for it to load items and their associated API keys. Having access to the actual item data is also way better since you don’t have to manually type in a package name which is kinda weird for any normal person. Now, you can select it from a dropdown instead! I love UX."}, {"post_id": 71420, "ts": "2026-09-20T19:51:05Z", "hours": 4.5228, "text": "rlbuddy now has item swapping! Basically, making one item appear like another to use items you don’t actually own. These hours were spent on a few different things. Firstly, I optimized the thing a bunch! There were a few places that were pretty slow since the original repo was mainly for testing. For example instead of decrypting the entire header and rechecking it to find the right key, it only loads the first 4 blocks and attempts to decrypt the first FString. If it fails, that means the AES key isn’t valid. Also, I improved the error handling with anyhow. It actually makes it so much easier to deal with things and was pretty useful when debugging the move over to the actual app. Now I’m just going to work on polishing the panel UI a bit more, since it’s still kind of ugly."}, {"post_id": 70888, "ts": "2026-09-19T23:20:36Z", "hours": 2.1058, "text": "Apparently there are a bunch of different AES keys rocket league uses, not just one. You can get a list of them from the psynet config url, and then do some weird crc stuff to change them from “content keys” to aes keys. I discovered the rocket league mapmaking discord today and I’m blown away by the amount of information on there, and also apparently my whole thing about the unknown bytes when licensee version > 32 was straight up wrong, which is funny. Anyways it works for all items now, which is great. I’m gonna work on actually putting it in rlbuddy now, hopefully that goes well"}, {"post_id": 69896, "ts": "2026-09-18T01:01:05Z", "hours": 0.9667, "text": "IT WORKS WHEN THE HEADER EXPANDS NOW YAYAYYAYAYAYYAYAYYAYAYAY I’m gonna be honest, the problem might just have been that my testing package was corrupted. I was debugging my deserialization logic, which I thought might have some parsing issue near the header extraction, and noticed that once the encrypted region deserializer’s Cursor reached the end of the region, it was actually FARTHER than the package summary’s total_header_size - by 6 bytes! That’s pretty bad, and I don’t know how something like that even happened. Anyways, I repaired the game and brought over the shiny new upk and… it worked. I’m pretty sure that I only accidentally did this while tidying up my workspace a few hours ago, but if this has genuinely been the thing holding me back for the past few days - I also finally made the poc code public, at https://github.com/kalilamodow/rl-upk-testing/"}, {"post_id": 69850, "ts": "2026-09-17T22:15:40Z", "hours": 1.67, "text": "IT SWAPPED IT SWAPPED IT SWAPPED AHAHAHHAHAHAHHAHAHAHAHHA FINALLY Okay now I gotta make it work for other pairs of boosts. If WHEN that works, I’ll actually put it in rlbuddy. I removed all the code relating to changing offsets to try to give myself a minimal workspace to tinker in, with as little side effects as possible. So, all the current code does is 1. open them 2. replace the name table entries and package guid. Surprisingly simple. Once I make it a bit more generic, I can extend it to support more swaps. If I’m really unable to get it to work for more combinations, I’ll probably end up just publishing the poc repo and not adding swapping to rlbuddy at all. This is a great motivation boost, though. I was honestly dreading coming home to work on it today because I was done with failing over and over, and considering giving up."}, {"post_id": 68661, "ts": "2026-09-15T14:25:29Z", "hours": 2.6667, "text": "I got a name swap! It doesn’t work properly, but I’m glad the game didn’t crash. These hours have been by far the most frustrating because the only way to test is against the real game since it’s really picky, but the game takes like 30 seconds to start, and if it crashes, it gives a cryptic error log, and if it freezes, it doesn’t give any log at all. I spent most of the time messing with moving different offset values forward and backwards, and ended up reverting to a simpler version with no overwriting when the header size changes just to test things. So far, I’ve mostly gleaned that name renaming is possible, but only up to a point. If the name grows too much, the game crashes, and if the name shrinks too much, the game freezes. Additionally, for some reason, total_header_size changes by the padded header size instead of the encrypted header size, which I still don’t understand. It’s seriously weird. I serialize each name properly, and yet the game reads it wrong. This game really does need a new codebase. When UE6 comes out, either the game’s gonna be so good it doesn’t need mods, or it’ll be relatively easily moddable. Or neither, which is the most probable based on Epic Games’ track record. Anyways, enjoy the beautiful screenshot."}, {"post_id": 68281, "ts": "2026-09-14T20:49:26Z", "hours": 3.1181, "text": "I figured out what comes after export tables! And it took way too long, since I DISCOVERED IT MYSELF! At least, as far as I know. I couldn’t find any information online about this portion of the header, so it was basically luck that I noticed a pattern. Before, I was just copying everything after the export table and pasting them back in afterwards, but as you can guess, that stopped working if I adjusted anything within the encrypted region. Compressed chunk info is a known part, and I figured out the AES padding pretty easily, so most of the time was spent trying to figure out what in the world those 24 bytes were. The first four bytes in the compressed chunk info are how many chunks they are. Here, in the Bubbles boost package, there are two (little endian), with 24 bytes of ???. And in Flamethrower, there are three, with 36 bytes of ???. I noticed that the ??? was always n chunks * 12 bytes (actually, it’s lucky that I didn’t test any which ended up having 0, otherwise I probably wouldn’t have figured it out). Since this probably had something to do with chunks, I made a guess that each chunk had some extra data stored in this array, 12 bytes of info per chunk. Using HxD’s highlight-bytes-and-get-the-decimal-value feature, I noticed a pattern where the first 8 bytes looked like an i64 offset and the last 4 looked like an i32 size, which the compressed chunk infos were also like for their matching counterparts. So, I deserialized it as [i64; i32] * n chunks and was able to read it better. These additional chunk infos seem to kinda sorta match up to uncompressed header offsets, but I don’t really understand what they are (and they’re marked as such in the code, lol). So, with that working (and some fiddling with broken serialization of TArrays which I’m surprised I didn’t catch earlier), I now understood the ENTIRE package header! Hooray! Let’s look at another example. body_grain_SF, the Fennec, has 4 chunks. Guess how many bytes of ??? it has. That’s right, zero! For some reason, a few packages just don’t have those things. After going through a bunch of them, I found that if licensee version was 32, there was no ???. But if it was 33, there WAS ???. I basically just added an if statement and it was fixed. I’m going to try to work on figuring out the padding in between the package summary and the start of the name table, but if I can’t, I suppose I’ll finally get to actually doing package swapping. Later!"}, {"post_id": 67059, "ts": "2026-09-13T03:19:34Z", "hours": 2.9378, "text": "I JUST DESERIALIZED AND RESERIALIZED A UPK. OMAIGOD IM SO HAPPY. my brain is so tired. Alright so the payload still doesn’t get transferred but that’s pretty simple, it’s just Vec::extend. What a challenge! Deserialization actually ended up being the easy part, which is opposite of what I expected from starting the project. It went (relatively) fast since there are a few existing implementations which I could kinda just “borrow” structure parsing from. But, mine is unique in that it almost completely reserializes the package itself. I might’ve been able to “borrow” reserialization, but the impl I’ve been looking at is STRAIGHT ai slop and it’s more annoying to read that than to just do it myself. It was useful though, so I have to respect it. The first problem: basically, the first byte of an FString determines how many parts it has, NOT how many bytes it has. Which wasn’t a problem for parsing, since I had some word-based helpers which worked so I didn’t think much about it. But, when reserializing, I made two mistakes: 1. forgot to add the null terminator (which shouldn’t even be necessary) and 2. I accidentally put the wrong offset. I have no clue why there’s a null terminator for FStrings. The format is [n chars][the char bytes], meaning it should already be known how long the string is. Pretty stupid, but whatever. Anyways, when reserializing you’re supposed to include the null terminator in the string length marker. So, my logic was that I should offset it by two since unicode characters are two bytes. Bleh! I should’ve only incremented by one, since it’s in terms of utf16 chars rather than bytes. Yay, that worked! I don’t know how to summarize the next problem, so I’ll explain the reasoning. The package header is file summary + tables + something else (we’ll get to that later). Anyways, there’s some mysterious padding in between the summary and tables. Parsing, it’s easy to skip over because the summary includes the tables start offset ( name_offset , the name table is the first one). But when reserializing, you gotta keep those offsets intact. Well, I’m not totally sure if you actually have to keep them, but just for the sake of simplicity I tried to (which ended up adding more complexity, which I’ll see if I can remove now). So, I serialize/push the summary to the big Vec. Then, I make a new Vec and serialize the name table at (name_offset - summary_size), since the new Vec has to be encrypted and then appended to the big Vec. I do the same thing for imports/exports (placing the table at import/export _table_offset - summary_size ). Oh no! Since name_table_offset isn’t equal to summary_size, there’s some padding in between, which is expected. HOWEVER! The previous logic would skip over it in the table Vec creation, meaning the table Vec would have some 0-padding at the start. This padding needs to be in the SUMMARY part instead, and the name_offset should basically be the ZERO of the tables Vec! I doubt I would’ve been able to solve this part without the beautiful tool HxD . It’s really easy to use and is always helpful when I’m figgling around with binary. So, it does some more math, calculates the spacing, adds it to the big vec, and removes it from the tables Vec. Then, it re-encrypts the tables Vec and pushes it onto the big Vec! Okay, now that’s done. NOPE! There’s a mysterious structure for some reason at the end of the real table part? Yep, it’s that something else I said we’ll get to. I actually still have no idea what it is. From some research, I gathered it must be the dependencies table, but it’s really poorly documented. So, I ended up just cutting the bytes out from after the export table to the end of the tables part, and “pasting” it back before re-encryption. I do hope this devlog was readable. Now I’ll get to including the actual package payload and hopefully simplifying reserialization offsets. See you soon!"}, {"post_id": 66867, "ts": "2026-09-12T20:09:08Z", "hours": 2.0211, "text": "I’ve been putting this off for a while, but I’ve finally decided I’m going to add asset swapping. There’re a few existing implementations, so I’m reading those as well as some pdfs about the upk format. So basically credit to this document and this implementation . All it can do for now is parse the file summary. The implementation wasn’t too bad since I had Google as well as the C# implementation I just talked about. I basically have trait Deserializable : Sized { fn deserialize ( reader : & mut impl Read ) -> AnyResult < Self > ; } Then implement that for the various parts (eg. FGuid , a generic TArray ). Then, I use byteorder to read out numbers into each struct. For example, #[derive(Debug)] struct FCompressedChunkInfo { uncompressed_offset : i64 , uncompressed_size : i32 , compressed_offset : i64 , compressed_size : i32 , } impl Deserializable for FCompressedChunkInfo { fn deserialize ( reader : & mut impl Read ) -> AnyResult < Self > { Ok ( Self { uncompressed_offset : reader .read_i64 :: < LittleEndian > () ? , uncompressed_size : reader .read_i32 :: < LittleEndian > () ? , compressed_offset : reader .read_i64 :: < LittleEndian > () ? , compressed_size : reader .read_i32 :: < LittleEndian > () ? , }) } } I originally prototyped it in Python and then moved to Rust once I got tired of python’s byte shenanigans."}, {"post_id": 66219, "ts": "2026-09-11T22:03:11Z", "hours": 2.5883, "text": "I did lots of performance improvements and also IT WORKS ON LINUX NOW!!! Let’s talk about performance first. Anyways, it has been using around 4% and 220MB of ram, which isn’t really what you’d expect from an overlay! So, I used things like DHAT to profile the memory, and noticed that fonts were doing some shenanigans. So I removed egui_system_fonts and loaded directly from C:\\Windows\\Fonts\\segoeui.ttf and RAM usage dropped to 30mb. That was what the previous devlog was about. I then changed the default logic update rate from 10ms (100/s) to 65ms (15/s approx). This reduced idle cpu usage to under 0.2%. But, doing anything with the UI would spike it to 4%, which is still pretty bad. So, I used a method I found in an egui issue thread where I’d count the frametime since the last render, then sleep until the target frametime was finished. For example, if the frame rendered in 2ms but I want 16ms frametime, it would sleep for 14ms. That way, I could limit how often the UI rendered! This made it stay under around 1% CPU forever! Okay, Linux time! Rust is mostly cross-platform, so support was mostly dealing with dumbass design decisions. Since Music relies on GSMTC, I had to feature-gate the entire thing (as well as the windows/windows-future crates) behind cfg(windows) :( I also had to fix Linux font loading (since like I said earlier, it’s hardcoded to segoe ui). So I install fontdb on Linux and search for some popular fonts from there to load instead. Finally, I fixed up the storage paths since it could only load from AppData. I also made it use AppData\\Local vs. AppData\\Roaming instead of putting everything in Roaming. I first got it working through WSL! ! It took some messing with my GPU drivers but I got it to render. Now was the real challenge: getting it to build on an ACTUAL Linux machine. I had an old, basically broken Surface Pro 3 that I had put Debian+GNOME on for shits and giggles a few months ago. The perfect target! The main problem was getting Rocket League to even launch. I set up Legendary (goated launcher btw, check it out ) and tried to run it. I installed Wine, got Wine Mono, and it failed with a weird cryptic error about the CreateWindow function. The obvious solution to a graphical error: disable EAC. Yay, it launched! Then to get it to build. First I had to fix some filepaths since Linux is case-sensitive (nerds) while I don’t care about case on Windows. Then, rust-lld gave some weird error about simd or something which I didn’t care about. I just ran cargo clean and rebuilt it and it worked fine. Then to run, and it actually worked first try! It’s cool because I went into it expecting to debug a million socket errors, but it actuallly connected and ran. Awesome sauce! Now Linux users can use rlbuddy. More minions to contr- I mean cool users! Cya in the next one! ;) If you check out the rl perf overlay in the screenshot, you’ll be able to guess why this is the laptop I decided to put Linux on."}, {"post_id": 65417, "ts": "2026-09-10T15:25:20Z", "hours": 0.8867, "text": "I’ve been debugging high memory for the past month or so. It was egui_system_fonts. Why would fonts take 170mb of ram????????????????????????????????? help!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I hate external dependencies!!!!!!!!!!!!!!!!!!!!11 I owe my life to DHAT now. go star https://github.com/nnethercote/dhat-rs"}, {"post_id": 65067, "ts": "2026-09-09T22:28:11Z", "hours": 1.5, "text": "More gamepad overlay buttons!!! Yay!!! In not-so-awesomely-exciting news, I also added a table of contents to the readme (as well as a generator for it). The script’s in Python (I’m sorry for not using Rust) meaning the repository is now 0.5% Python. Takeover incoming? I overcomplicated the script a lot, but it’s really easy to read. There are three whole comments, aka 6% of lines in the whole file! It’s not technically interesting in the slightest. I was thinking of building a tree-like structure before outputting the string, but realized I can just use the header level (h1 vs h2 vs h3 etc) as the amount of spaces / 2. I also refactored it not to use magic PanelId s for the default panel list. I kinda rushed that part when I made it, I’ll be honest. But now each Panel can implement fn open_by_default(&self) -> bool (returns false by default) and if it does it keeps it open when savedata doesn’t exist yet. I don’t get how an entire hour n 27 minutes was spent on like 7 not-even-that-big commits. At least it was a good use of my math class. We reviewed limits for some reason (which everyone should already know for one because they took the prereqs?), and the teacher managed to extend her lecture for the ENTIRE class time. rlbuddy development saving the day, I guess (just like it will in your rocket league games btw, so you should download it)"}, {"post_id": 64822, "ts": "2026-09-09T14:32:38Z", "hours": 1.4469, "text": "I’ve mostly been working on smaller features, improvements, and bugfixes. A cool one I did is fixing weird glitchy movement with the gamepad overlay window! Basically, the window needs to persist its position across disabling it/enabling it. And egui is immediate mode. So, every time it rendered the viewport, it would both set and get its position. So, moving it would update the current position, but because of the weird interop between setting the position in a ViewportBuilder and getting it from the viewport info, it would glitch back and forth, especially when my laptop is lagging. I fixed it by only calling the ViewportBuilder ‘s “ with_position ” method when the overlay had just been enabled ( !was_enabled && currently_enabled ). That way, it only sets it once externally, and lets it move freely while it’s open. Then, while it’s moving, it continues to update the saved position. And upon closing and then reopening it, it sets it again (but only once!) Relatively simple fix but it’s kind of funny. I mainly noticed it when I added a feature that would auto-unmaximize the overlay when the user maximizes it, and it would go crazy and fly around the screen. Very fun! I also fixed a pretty old bug where it would incorrectly detect the local player. Basically, the stats api doesn’t actually tell you who the local player is. So, we have to guess based on who the camera is targeting right now. Usually, it’s on the local player, but during goal replays or spectating a bot when joining a casual game, it would be improperly set at the start and then stay like that. So, I made sure that it always updated as long as the match is 1. in progress 2. not in a replay. It also fixes a thing with inconsistent match toasts, since the toasts only fire if the scoring player is the local player (and if it thinks the wrong player is the local player, everything’s messed up). I’m planning on revamping hotkeys next, to allow you to bind to any controller button and even do custom quickchats in-game. Later!"}, {"post_id": 63368, "ts": "2026-09-07T04:36:35Z", "hours": 1.4131, "text": "Time formatting doesn’t suck anymore! I made the implementation way better so I could make it support stuff even past weeks, like months and years. The new implementation added around 60 lines, but it’s for a good cause. The previous implementation used a match statement with duplicated logic that only supported seconds, minutes, and hours, using a pluralize function and inline if-statements everywhere. If it were sent to any rational code-reviewer, they would likely have a heart attack. Now it’s a bit more complex but less complicated. You have TimeUnit s which format the unit themselves and TimePart s which format a value + a unit. Then, just use some math to build a Vec and format it into a string. Boom! Beautiful, well-formed time formatting. To soak in the new beauty, I added days n weeks. I just had to add 14 lines! The previous one would have probably needed a bunch of stupid magic numbers and weird chains everywhere to accomplish the same thing. Okay, I’m done using your time on reading a way-too-long write-up about fixing a crappy implementation that shouldn’t have been there in the first place. I’m gonna ship right after posting this. If you get it, make sure to give it 10 stars in everything 😉. Haha, jk. Well, not really. Cya later."}, {"post_id": 62559, "ts": "2026-09-06T00:29:40Z", "hours": 1.8697, "text": "Had to remove the tracker.gg widget :( unfortunately they don’t allow scraping and what I had wasn’t allowed anyways. Things that used to open the player info widget now just open tracker in a browser."}, {"post_id": 60965, "ts": "2026-09-03T17:23:52Z", "hours": 2.9253, "text": "I finished the big refactor! I pushed around 25 commits to GitHub at once. I’m really gonna enjoy adding the next feature, basking in how much easier it is ;) Apparently, I never made a service for session stats, so it currently can’t persist its one setting. Actually, writing this I realized that the setting isn’t actually used, so I can delete it. That’s great. After finally kicking out all the annoying legacy panel code, I remembered that I never re-implemented the positioning or its related persistence code for the new panel system. The persistence system was reworked too, something that I don’t think really got included in the previous devlog. Each service can implement save , and there are generic helper methods in a common module for saving/loading serde structs to a file in the app data directory. The actual app now uses this method as well instead of doing all the pathing logic itself, so the persistence module is pretty small and could honestly be moved into app.rs. For new positioning, I store a list of open panels. Weirdly enough, it’s actually a lot easier than adding a position/is_open field to every AppPanel. So, I run the name through a Hasher to make a u64 which is easier to clone/copy and stuff and made a newtype around a PanelId. That way I could reuse the code from the previous paneling system to swap/manage open PanelIds, then just use find on the AppPanel vec to find the corresponding widget. Also, I never mentioned it but I’ve been trying RustRover for the past few devlogs. It’s a lot more stable than Zed, but I sorta miss its snappiness and minimalism. If I end up finding an annoying bug in RustRover, I’ll probably switch back. However, it’s been quite a few days and I don’t think I’ve found a single one. JetBrains is truly awesome at tooling. See ya next time. Probably will do my next ship soon :)"}, {"post_id": 60552, "ts": "2026-09-02T23:31:23Z", "hours": 3.3072, "text": "I’m MASSIVELY refactoring rlbuddy! This, I think is the second (and hopefully the final) major refactor to the codebase. So, basically the current architecture is split into services and widgets. Each service has an update method, which does its stuff (draining subscribers, processing commands, etc). Since egui is immediate mode, this architecture works unlike callbacks/event-based which I actually tried to implement but couldn’t. Every widget is just implements egui::Widget, that holds some state handles (Rc) and command senders (Sender), usually just one for its respective service. Services are alive for the lifetime of the app, while widgets are the openable panels you see. Widgets display the data from service state, and talk back to it by mutating shared state or sending commands. I think music control has been the best for me to wrap my head around to decide about changes, so I’ll explain it with that. Music control had a controller, a service, and a widget file. The controller was a thread pool manager (if you can call the questionable implementation that) around Windows’ GSMTC API to give a single-thread api for it (since the app is basically single-threaded). Then, the service is always alive, syncing a state struct between the controller and its own state handle. Finally, the widget is optionally there as a panel, with next/previous/pause buttons which send commands and the ui which reads service state to display. It also has a mutable service state reference for settings (the “pause during anthems” button). The god object RlbuddyApp struct stores all of this stuff. So it has a music_control_service, music_control_widget, stats_api_service, all of those fields, which kinda sucked. On top of that, I had to maintain an enum of every panel, which was enumerated for the “open panel” popup and to render each one if it’s open. you might think “hey… isn’t that a self referential struct? how does music_control_widget store a reference to music_control_service?” Well, music_control_widget internally only has fields for the music_control_service’s state handles which are Rc/Arcs. So it only needs a reference to the service for it’s Widget::new function lifetime, all is well. Although it doesn’t look horrible, it was HELL to do anything. For example, refactoring the gilrs service out of hotkey and adding the gamepad overlay probably involved just as much fiddling around with Rcs in RlbuddyApp as adding the actual feature. So, I decided to move to a new architecture: services + features! And, after thinking about it for around 8 hours (i slept), I decided on something a bit different. Services + panels! Yeah, basically the same as services + widgets, but I was gonna implement it GOOD this time, and make design decisions that wouldn’t bite me in the ass later on. I wrote my first traits - Service, which requires update and optionally save , and Panel , which requires name() -> &'static str and ui (same as egui::Widget: :ui). Then, I’d change how components are registered: instead of keeping every service and widget as a field in RlBuddyApp, I’d make a Vec<Box<dyn Service/Panel» for each, and loop through it. I spent about an hour trying to get Panels to automatically implement ui by requiring egui::Widget as a supertrait, which doesn’t work since widgets are stateful (need &self). So, I tried to require &mut Self to implement egui::Widget, but apparently something to do with type erasure doesn’t let that work with dynamic dispatch which was needed for the Vec<Box> thing. I’ve moved a few features to the new architecture, but I’m still in the process of finishing up. Additionally, it has to work side-by-side with existing crappy monster-Panel-enum architecture, which sucks to maintain. Okay, once again, I had to strip down a ton of detail (and my terrible wording but wtv) cause I hit like 5000 characters b4 realizing. See ya! May the Stardance gods increase devlog limits :)"}, {"post_id": 59926, "ts": "2026-09-01T23:19:29Z", "hours": 2.5164, "text": "rlbuddy has a gamepad overlay now so that you can show off your awesome bindings! Don’t even bother figuring out mine. It’s kinda starting to become hellish to add new widgets/services, but I’m almost done for the next ship so I doubt I’ll refactor just yet [edit: im doing a super refactor now hehe]. I made the overlay with the raw egui::Painter rather than actual controls (since it would be pretty hard to make a controller out of Buttons or something). I also prefer to avoid embedding static assets, otherwise I might have made an actual one in MS Paint or something. I also can’t seem to find a good egui version. I’ve been on 0.34 almost the whole time, which works well but doesn’t support transparency in extra viewports. But, 0.35/0.36 broke external viewports. So, until then, we get an opaque gamepad overlay :( but the main app is still transparent, so it’s not horrible. Rolled an 8 and a 9 on the Stardance rng today! I’m so proud of myself."}, {"post_id": 59228, "ts": "2026-08-31T21:59:04Z", "hours": 0.4561, "text": "I moved the mmr server to alpine linux! Before, it was regular raspberry pi os lite on the Pi. But, it was behaving strangely, randomly rebooting and things, so I decided to try installing Alpine. The lightweight distro has been on my radar for a while now, but this was my first time ever actually trying it. I imaged it normally with the raspberry pi imager, and put it on the pi, did setup-alpine, and all was well. But, I put in the wrong wifi password at first, which broke everything else. I tried changing the wifi config and doing something with wpa_supplicant (thanks google ai overview), but nothing fixed it so I ended up doing a fresh install. This time, I put in the right password and everything went great. I set up ssh, node, pm2, etc. and moved the server files onto the pi through sftp. Then, I got it running over my local network and set up authentication. So, it was time to set up the Cloudflare tunnel again. I followed this neat guide , changing values as needed (for example, my pi is aarch64, but the guide was x64, so I spent a while figuring out why the pi kept giving elf errors). It took a really long time to set up the openrc startup script because 1. cloudflare rotates the setup token relatively frequently and 2. I accidentally put 2 –token arguments. And since I was using vi, I didn’t even notice and kept trying to figure out why cloudflared crashed on startup. But I eventually found out and removed the duplicate and it worked! Then I finished setting up pm2 and put the pi in its home next to the router, and mmr.kmdw.dev is back up exposing your lobby’s skills. See you in the next one! Yes I know part of the token is in the image but it’s used already so it doesn’t matter"}, {"post_id": 56962, "ts": "2026-08-29T00:27:50Z", "hours": 9.075, "text": "rlbuddy can load custom maps now! Either you can download them and then import from a zip, or you can download them from bakkesplugins straight from the app! Importing it from a file is relatively easy. I checked the code for Lethamyr’s custom map loader to see what exactly it did, and for Lethamyr maps it: extracted the zip into a temp dir read info.json, .udk, and preview.jpg copied those into its own saved map directory I knew Rust, being a low-level language would let me not have to extract the zip fully first. Additionally, Bakkesplugins maps don’t contain info.json or preview.jpg, they only contain a udk file, so I had to make sure it would work with that. So, the import code I wrote basically: enumerates files in the zip extracts info.json (if found) into a struct copies *.upk into the target directory copies *.jpg into the target directory/preview.jpg if it exists It worked great. I made a really cool looking widget with stupid manual layouting behind it for map selection. First, it would add the preview image (or a black background if none). Then, it would get the screen rect of the image, and draw a semitransparent black background onto it (for contrast). Finally, it drew the actual contents in that screen rect. So, I got pretty-looking tiles with preview image backgrounds! I also added a progress bar for import status. I benchmarked each main part of the import process and found that decompressing/extracting the upk file took around 2 seconds, for which the ui thread would be totally frozen (big nono)! So, I moved the work onto another thread, and also made it decompress/load in 100 total chunks, updating a progress bar each time. I then moved on to the map downloader. Bakkesplugins doesn’t have an API, so it relies on scraping the website. I didn’t actually use any external crates for gathering information, though. I wrote a parser which takes a list of rules, each with a start and end search string, and looks for each of them in sequence till it fails to find a rule. I tried to make it completely zero-copy, but something it needed was to turn an [Option; N] into a Option<[T; N]> if every element was Some , but the only way I could figure out how to do that was with an iterator. It’s still really fast though. So, it parses search results, including map titles and urls straight out of the html string without needing an HTML parser or regex library. Once it was able to load results from the search page, I went to sleep and came back today. Now I had to get it to actually download the ZIP files and preview images, and import them straight into the app. It first has to download/parse the plugin info page since the ZIP url isn’t available in the search results. Then, it requests the ZIP. I had some trouble with this, since I wanted to show a progress bar for the download status. I first tried a function from this gist , but it didn’t work. So, I made my own which used the same chunking strategy as the import status loader. Turns out, ureq blocks requests once they hit 10MB by default, which was probably why the gist version didn’t work. But, mine was faster anyways, so I kept it. It’s even cooler since I made it myself. Then, I wired up a couple more commands to let it import straight from archive bytes instead of from a file path, and it finally loaded! Once that worked, I made it pass along the map title, author, and description as well. Then, I extended it to parse out the thumbnail image url and download that, then pass that along to the importer as well. Anyways, that was super fun. I would add a lot more detail, but Stardance limits devlogs to 4000 characters and I’m approaching scarily close to that. I’m planning on just polishing the downloader interface a bit more, and then I’ll do some bugfixes for the next release. See ya!"}, {"post_id": 55430, "ts": "2026-08-27T08:04:57Z", "hours": 3.0236, "text": "rlbuddy now can show people’s avatars cross-platform! It uses a web api I put on Cloudflare Workers which uses platform-specific requests to get avatar urls (see the previous devlog), which the app just fetches and renders. The http part was pretty easy, since I already have wrappers for cached HTTP apis, so I just had to define types for that and hook it up. But, once it was time to display, I ran into a weird problem where egui said there was no image loader installed for jpegs! Even using all_loaders + default didn’t work. Turns out, I have to actually include image as a separate crate and enable all the filetype features I want in there. Once I got it to load, it was time to mess with styling again. egui is really annoying with images, so I spent a while trying to get them to size right first. The default avatar used while they’re loading or for Epic/Switch players is from Fandom, like the rank icons. However, even though the icon is 90x90 pixels, the webp is 128x128 pixels, it just has a bunch of transparent padding. So, I initially messed with egui to do some weird ui allocation and calculation to get it to render right. But, turns out I didn’t have to do all of that. All I had to do was allocate a 28x28 space (the target size), scale that up by the 128/90 ratio, then paint the image onto the new size. Worked great. Then, I got to fight with grid layouts again. For some reason, wrapping the avatar and player details in a horizontal totally exploded all the layouting. So, I ended up making avatar and details separate columns. But, since the “player” header text is a bit larger than the icon width, there was too much padding between the avatar and the player details. So, I did more messing around with egui manual layouting, and ended up allocating a 24x(body text height + 2) space for the header, which would give it the default spacing. Then, I’d copy the Rect, shift the left bound over by 12 pixels, then paint the header onto there. That way, the header is left aligned with the avatar and the avatar + details look like they’re in the same column, even though it’s actually a bunch of stupid manual layout magic behind the scenes."}, {"post_id": 55160, "ts": "2026-08-26T17:10:01Z", "hours": 2.6972, "text": "Made an avatars api for Steam, PSN, and Xbox (Epic doesn’t support profile pictures and I have no clue what goes on in Nintendo-land, even Tracker doesn’t show theirs). It’s on Cloudflare Workers instead of my pi since it’s basically just api integration. I totally overcomplicated finding out how to get Steam profile pictures. Like, it’s insane how easy it actually is. A few weeks ago, I got an old version of Steam Rocket League and decompiled it, trying to look for where it fetched avatars from. After some experimentation and debugging, I learned that when Psyonix builds Rocket League, they give it something that implements OnlineSubsystem for whatever the target platform is. So, Steam gets the Steamworks OnlineSubsystem, Epic gets the EOSOnlineSubsystem, and so forth. And the game doesn’t need to know implementation details, just that it implements OnlineSubsystem, I think the term for that is dynamic dispatch in programming languages. Anyways, once I learned that Rocket League doesn’t do any avatar handling itself, I looked at the Steamworks SDK. Basically, it routes the avatar request through the open Steam client. So after some experimentation, I got it to fetch profile pictures with C++ and the Spacewars test game. But, that obviously wouldn’t work on a server, since the Steam client can’t really run on a Worker. So, I tried to use the Steam Web API. I got an API key, but when I tried, it said I was forbidden. According to the documentation, the GetPlayerSummaries endpoint was at partner.steam-api.com, which was only for publishers. About a week later, so yesterday, I had the genius idea to use api.steampowered.com (the public API domain) instead of partner.steam-api.com. Just swapping them out. And it worked. So, I now had a way to get Steam avatar urls. Xbox and PSN were actually really easy. Xbox has an undocumented API at https://peoplehub-public.xboxlive.com/people/gt(GAMERTAG) which returns json containing the avatar uri, and I used the psn-api package with a new PlayStation account to get PSN profile pictures. Then, I just put all of them in a Worker. So, rlbuddy will be able to show avatars soon enough!"}, {"post_id": 54013, "ts": "2026-08-24T19:11:04Z", "hours": 4.6756, "text": "Recently I was going through game archives and came across the BepInEx tool, which is basically a code injection framework for Unity games. I was really curious as to how it actually launched when the game launched, and found that they use a tool called Unity Doorstop, which adds winhttp.dll to the game’s binary directory. So, when the game tries to use things from winhttp, it goes to the new winhttp.dll instead of the system32 winhttp.dll. From there, the custom dll just forwards all the function calls. However, the custom dll is modified so that on its first interaction, it launches whatever Doorstop is configured to launch, and the mods can be loaded. That’s at least as far as I understood, but it made sense, and I thought, “what if I could launch rlbuddy automatically like this?” So, first, I tried to test it with a custom executable and library. I created a basic executable and DLL in C, and got the executable to load and run some code from the DLL. Then, I created another DLL, and got it to “impersonate” the original DLL. So, I’d rename the first dll to something like “mylibrary_original.dll”, rename the faker dll to “mylibrary.dll”, and the original executable would call the original, but it goes through the faker instead. And it worked! I had successfully created an actual doorstop-like faker. Now it was time to actually try this on Rocket League. So, I did a dumpbin /import on RocketLeague.exe, and found a few good targets - IPHLPAPI.dll, a system dll for networking stuff, and xinput1_3.dll, one shipped with the game for talking to controllers. RocketLeague.exe only imported two functions from each of them, meaning my fake interface wouldn’t have to be too big. So, first I tried to spoof IPHLPAPI.dll. The code was pretty simple, just a couple of global objects to hold the function. So, when the game loaded the DLL, it loaded the fake DLL. Then, when it tried to call some function in the DLL, such as GetAdaptersAddresses, the fake DLL would be the actual receiver, it would log something to a file, and then it would call the REAL GetAdaptersAddresses by dynamically loading the system IPHLPAPI.dll and return it. And… it worked! I opened Rocket League and the log file was created and had the log “GetAdaptersAddresses called!” Then, I launched it with anticheat enabled, and EAC immediately shut it down. I guess that was to be expected, but it was pretty annoying. So, I decided to try one more time, this time with xinput1_3.dll. This was more interesting because it was lazy loaded, and functions were imported by ordinals (2 = XInputGetState, 3 = XInputSetState), so I thought something might be different. So, I modified the original faker to be xinput1_3, replacing the function names and definitions. Since Rocket League imported them by ordinal instead of just the function name, I had to create a .def file as well, and define the ordinals there. Then, I did the same surgery on the binary folder, and after a few small mistake fixes, it worked! But, I still hadn’t tried with EAC enabled. So I launched it with anticheat, and it gave me a different error this time - that it couldn’t determine xinput1_3.dll’s file version. That was a different error! I opened the original xinput1_3.dll’s file properties, and it had copyright, file version, product version, and a couple other random things that were missing in my faker DLL. So I made a .rc file and compiled it together with the faker DLL. Then, most of the properties matched up. So, I tried it, and it seemingly worked! And then EAC said that it couldn’t verify the file again. In the end, I didn’t manage to get it working. I should’ve expected EAC to block me from the beginning, but it was pretty fun, and if I ever want to do something similar with a game without anti-cheat, I can do that now! rlbuddy is pretty closed to being released though, I just want to polish a few things and make sure the docs are fleshed out."}, {"post_id": 51407, "ts": "2026-08-21T02:54:11Z", "hours": 1.5947, "text": "rlbuddy doesn’t use the default eframe persistence feature for savedata anymore, which is pretty cool. There were a few reasons for this: It was kind of unnecessary, since eframe uses ron and it was storing a bunch of extra widget data which didn’t really fit with the app model anyway It took up extra dependencies (removing the feature shaved off like 10) There’s a bug where if the app crashed, it would erase all savedata, which, as you can imagine, was quite annoying especially since I actually use the app along with developing it, meaning if the app crashed in development it would delete all my actual match data. It’s easier to externally modify, so if in development I want to mess with some values it’s a lot easier. Anyways, actually getting the data directory was pretty interesting. I’ve basically decided to only support Windows, since the music player relies on Windows APIs anyways and I don’t think the Stats API even works on Linux. Initially, I checked out the source code for the dirs and directories crates, which led me to the dirs-sys crate (which actually isn’t even on crates.io). It used unsafe raw Win32 SHGetKnownFolderPath with the Roaming folder guid. However, since I was already using the windows-rs crate, I tried to find the WinRT equivalent. I ended up enabling the Storage_Search feature to use the API which would let me get it. Of course, this also didn’t work, because of something to do with how Windows apps are supposed to be registered. So, I ended up just grabbing the APPDATA environment variable and using that, then joining rlbuddy\\data.json to it. It’s pretty underwhelming, but it more than gets the job done. Now, whenever the app panics, I won’t lose all of my settings anymore! Pretty nice. Anyways, that’s what mainly got accomplished. I also tried to set up a GitHub Action to build it and make a release, but I kept hitting errors so I gave up and decided to upload a release next time I get the urge to actually update the GitHub repository. There’s also a few fixes, like the window title which has actually had a typo since refactors from around a month ago, and adding a missing ! which broke toasts when in training. Overall, only an hour or so was tracked, but a heck of a lot got done. See you all next time!"}, {"post_id": 49990, "ts": "2026-08-19T00:44:44Z", "hours": 1.4564, "text": "I added a small toast notification that activates when you score in training, like bakkesmod used to add it to text chat. It also activates when you hit the crossbar so you can feel even more remorseful that your beautiful musty didn’t go in :) I actually got the program to segfault while making it. egui’s external viewport api is kinda funky… there are two modes, immediate and deferred, and immediate is supposed to be easier to use. However, when I tried to use immediate mode, it panicked saying that the egui backend was implemented incorrectly. So I switched to deferred, and it gave me the segfault. There were 3 things I had to do: I stored all active toasts in a Vec, and render them in the external viewport every frame. When one should disappear, it uses Vec::retain to remove old ones. However, this doesn’t do any cleanup, meaning the viewport would go bonkers and crash the application. So, I had to close the viewport first. Calling ui.ctx() from the viewport made a segfault, probably my fault but I couldn’t figure out how to resolve it so I ended up just sending Viewport::Close from the main loop. Even if I sent Viewport::Close from the main loop, it still gave the weird error. So, I resolved it by adding a small delay from after it should close, which is when it sends the Viewport::Close command, and when it’s actually removed from the Vec of toasts. Well, I did all that, and it was working, but there was a really weird bug where it would lag the whole system while opening/closing. So, I switched from immediate to deferred viewport mode, and it stopped happening! I hit my first powerful airdribble musty with it on, it was around 105kph, and a total fluke. I wish I had gotten it on recording."}, {"post_id": 49200, "ts": "2026-08-17T21:06:45Z", "hours": 9.2278, "text": "I replaced the Spotify integration with a generic one that uses the Windows GSMTC api, meaning it’s way snappier, since it’s not making network requests every time it wants new data! The only reason it needs data is to fetch playback info, and it’s easy to do that since the windows crate gives a bunch of event listeners, meaning I also don’t need to poll anymore. Unfortunately, the integration from browsers etc. is kind of buggy so thumbnail loading is relatively inconsistent, but by adding some caching and timeouts it works flawlessly :) I also redid the UI since the old one was frankly quite ugly. Since the playback listener doesn’t update that frequently for progressbar changes, I also made it fake progress when music is playing and the ui updates, that way even if the latest data is stale, it still looks like the progress bar is moving. I’m now working on better session stats, I’ll probably end up replacing the all-time stat tracker with more in-depth session-only ones"}, {"post_id": 46652, "ts": "2026-08-14T02:03:01Z", "hours": 4.1664, "text": "rlbuddy finally has an MMR graph! I’m planning on adding more stat displays soon, like W/L, goals for/against, saves, etc. but this is a really big milestone since it’s a feature that a lot of players actually use (I basically only play casual so it’s not really for me 😅). Anyways, this also required me to rearchitect how matches are stored, and now there are two representations: a session match, which contains lots of information about it like detailed player skill information, and a stripped match, which is minimal and stores very little because it actually gets saved to disk! So, match history also gets saved now! This also opens up the doorway to a Deja-Vu-like thing which tells you if you’ve played with someone before and when! It uses the egui_plot library to show the graph. Funnily enough, basically every default option for a displayed plot was the opposite for this, and so the plot builder ended up using almost every method. Also, once again, hackatime is wrong because Zed likes to uninstall extensions randomly :("}, {"post_id": 42417, "ts": "2026-08-07T03:32:05Z", "hours": 2.1161, "text": "The Stats API finally provides the actual playlist id, so rlbuddy isn’t limited to guessing between 1v1/2v2/3v3/4v4 anymore! This brings in some cool extra features like displaying the rank each player is in for the given playlist as well as even better Discord presence! I looked through BakkesMod as well as some psynet endpoints to grab the list of playlist ids to associate with each actual playlist. There isn’t really an image to go with this, so here’s the monster enum of playlists :)"}, {"post_id": 40468, "ts": "2026-08-04T00:47:59Z", "hours": 2.2011, "text": "I rewrote the API admin page with Svelte! Before, it was a quick-and-dirty raw html/css/js solution, but now it should be a lot less annoying to work on. I improved authorization a lot, now instead of adding the pw query parameter for every request you put in a password once and it actually uses the Authorization header. Unfortunately, the browser EventSource doesn’t support headers except for in cookies, meaning I had to use the custom eventsource library for bootstrapping since the bootstrap API uses SSE. There’s basically a whole Vite project in src/webadmin, with its own tsconfig.json and everything. Because of the way it’s set up, development needs Vite running in build watch mode which builds to where the main app serves it out of. It makes deployment a lot easier, though. I didn’t really add any actual features to it, except for a log filter. However, it should be way easier to add more features in the future, like a api tester!"}, {"post_id": 38450, "ts": "2026-07-31T20:22:49Z", "hours": 6.755, "text": "rlbuddy has player lookup now, so you can check for smurfs without needing to boot up a heavy browser while playing. Unfortunately, this has to get its information from TRN because it’s the only source of this information, the rocket league apis don’t provide it. There’s some cool refactors behind the scenes, though. I generalized almost all HTTP requests into its own struct, so it removed like 200 lines of boilerplate code into a single generic module. It automatically handles caching, using new threads, ignoring if there’s already an inflight request, loading states, and automatic serde_json deserialization. The Epic id, uncensorer, ranks, and new TRN apis all use it now! Also, the button to open in TRN from the player list opens the player info dialog instead (though if you need to, you can open in TRN from there)."}, {"post_id": 34762, "ts": "2026-07-25T19:02:58Z", "hours": 1.9536, "text": "Note: I’ve actually had way more hours than it says, but I reinstalled windows and forgot to set up hackatime again so all that’s gone :( mmr-api-v2 finally has an admin page, so I don’t have to ssh into my pi just to check some debug information anymore! It is kind of developer-oriented but I think it looks and works well enough for what it is for. In the actual rlbuddy app, there are some cool new features! Facilitated by lots of refactors, of course (turns out, the matches service was bigger than the actual rocket league service, so I finally separated them). Spotify integration now has a previous button as well as a skip-to-song-in-current-playlist button. Match history was a feature that I’ve kind of ignored, so I gave it a much needed touch-up so its easier to view and browse. A pretty cool thing is that that’s been added a rocket-league-playerid-to-epic-games-id translation endpoint. This means that you can see Switch players’ TRN profiles through their linked Epic account, since TRN doesn’t let you check based on Switch name alone. Finally, there are some small quality of life improvements, like less deadlocks, better anthem pausing, and the open panel list persisting."}, {"post_id": 30390, "ts": "2026-07-17T21:27:26Z", "hours": 3.8292, "text": "Turns out, for spotify integration, I can’t actually let other people use my spotify development mode app. It’s limited to 5 users which I have to invite by email. And to get a quota extension, I need 250,000 existing monthy active users, which I’m slightly short of (by about 249,999). So, I changed the login flow so that each user has to make their own Spotify app, and log in using the client ID from there. I didn’t change the current PKCE flow since that didn’t really need to be changed, but setup unfortunately takes a little more work now. Also, it has transparency now."}, {"post_id": 28659, "ts": "2026-07-15T01:29:51Z", "hours": 13.4597, "text": "It’s been a week since the last devlog, and lots has changed! 1. new architecture! The code was getting pretty messy since I had kept adding new features without really doing major refactors. So, I finally took it upon myself to actually organize everything and come up with a proper architecture. Each feature has its own module, containing services and widgets. Services have all the state, for example the Spotify service stores the current song and settings and the Rocket League module exposes a Matches service for the current match and past matches, which the match and past match widgets actually show. Services all have update functions which get called every 10ms. There are two ways for services to talk to the rest of the app: events and state. State is straightforward, it’s usually just an Rc with a custom generic struct I made to manage whether the widget can read/write to it. Events are enums which the update method returns, and can get passed to other update methods. For example, the Stats API service doesn’t have its own widget, it only connects to the stats api and returns match events which other features can use, like Spotify using replay start/end events to play/pause music. 2. new ui! The dashboard part isn’t as ugly as it was before, and has actual cards for every panel instead of just having horizontal lines in between. Even though it sounds pretty small, it’s actually huge for the prettiness of the app! Along with this, the behaviour of managing panels also changed. There’s an actual close button, and instead of having one button per panel at the bottom, there’s a small picker to open/close them. Also, you can also move them up and down now 3. Automatic stats api setup This is a pretty small feature. It lets you select the path to the rocket league executable, detects whether it’s already enabled, and turns it on if it’s disabled. It does this by just replacing a line in the stats api configuration. 4. mmr api v2 doesnt explode There were a few bugs which would make the API disconnect randomly, but they’ve been ironed out. This also made it so the app doesn’t have to deal with failure behaviour and can just keep asking until the API responds."}, {"post_id": 23975, "ts": "2026-07-07T06:51:05Z", "hours": 8.1119, "text": "rlbuddy now has a little bit of Spotify support! Although it looks like a just few elements and a button, theres a lot going on behind the scenes. I’m not embedding an entire webview to run the web playback SDK this time, so it just uses the Web API to keep resource usage nice and low. Since it’s a native app, it has to jump through some hurdles to authorize, using the PKCE extension version since the client secret can’t be stored securely. It uses the webbrowser crate to open the Spotify auth page, and starts a tiny little oneshot HTTP server on a raw TCPListener. The redirect is set to the HTTP server, and then as soon as it receives the request, it sends a simple HTML page and continues. From there, it receives the authorization code and can continue as normal :) Other than that, it’s just normal REST api interaction. I did learn a ton about thread safety (I hit so many deadlocks), because unlike the stats api, for example, which just sits in a different thread and hurls events over a channel, it actually has to work with the user. It’s also able to pause during goal replays, and that was pretty annoying to structure. Eventually, I decided to just use a channel where the stats api could send replay start/end events through the match widget. Looking back on it, the solution was extremely simple 😅 I am planning to add a bit more, like shuffle/repeat controls as well as a previous track button, but this feature turned out pretty nicely!"}, {"post_id": 22551, "ts": "2026-07-05T02:19:55Z", "hours": 3.7678, "text": "rlbuddy can now show Rich Presence in Discord, so now all your friends can see you destroying your opponents ;)"}, {"post_id": 21165, "ts": "2026-07-02T23:37:22Z", "hours": 12.7792, "text": "rlbuddy has had major ui overhauls to shift it more towards an actual overlay rather than just an app that displays ranks. there are new features like a settings menu as well as major architectural overhauls, with more coming soon!"}, {"post_id": 16053, "ts": "2026-06-26T02:45:17Z", "hours": 2.3483, "text": "Got it working as an actual overlay!! Right now it just displays ranks, though"}, {"post_id": 15855, "ts": "2026-06-25T19:39:34Z", "hours": 30.4556, "text": "I got a stable MMR/ranks api working!! https://github.com/Kalilamodow/mmr-api-v2 Basically, it’s an http server that opens a websocket to the actual rocket league game api in the background and spoofs a real client connection. The socket only stays active for 5 seconds at a time though so I don’t kill psyonix’s servers. That way, rlbuddy can get ranks without getting blocked by tracker network! I originally tried to do it on Cloudflare, but the workers outbound websocket didn’t work since you can’t send custom headers with them. I ended up having to use my old raspberry pi and set up a homeserver behind Cloudflare tunnels, and I’m actually planning on moving the rest of my stuff that used to be on a VPS onto the pi."}]...
|
Title: rlbuddy by @kmdw | Stardance
Devlogs:
I go Title: rlbuddy by @kmdw | Stardance
Devlogs:
I got a stable MMR/ranks api working!! https://github.com/Kalilamodow/mmr-api-v2 Basically, it’s an http server that opens a websocket to the actual rocket league game api in the background and spoofs a real client connection. The socket only stays active for 5 seconds at a time though so I don’t kill psyonix’s servers. That way, rlbuddy can get ranks without getting blocked by tracker network! I originally tried to do it on Cloudflare, but the workers outbound websocket didn’t work since you can’t send custom headers with them. I ended up having to use my old raspberry pi and set up a homeserver behind Cloudflare tunnels, and I’m actually planning on moving the rest of my stuff that used to be on a VPS onto the pi.
Got it working as an actual overlay!! Right now it just displays ranks, though
rlbuddy has had major ui overhauls to shift it more towards an actual overlay rather than just an app that displays ranks. there are new features like a settings menu as well as major architectural overhauls, with more coming soon!
rlbuddy can now show Rich Presence in Discord, so now all your friends can see you destroying your opponents ;)
rlbuddy now has a little bit of Spotify support! Although it looks like a just few elements and a button, theres a lot going on behind the scenes. I’m not embedding an entire webview to run the web playback SDK this time, so it just uses the Web API to keep resource usage nice and low. Since it’s a native app, it has to jump through some hurdles to authorize, using the PKCE extension version since the client secret can’t be stored securely. It uses the webbrowser crate to open the Spotify auth page, and starts a tiny little oneshot HTTP server on a raw TCPListener. The redirect is set to the HTTP server, and then as soon as it receives the request, it sends a simple HTML page and continues. From there, it receives the authorization code and can continue as normal :) Other than that, it’s just normal REST api interaction. I did learn a ton about thread safety (I hit so many deadlocks), because unlike the stats api, for example, which just sits in a different thread and hurls events over a channel, it actually has to work with the user. It’s also able to pause during goal replays, and that was pretty annoying to structure. Eventually, I decided to just use a channel where the stats api could send replay start/end events through the match widget. Looking back on it, the solution was extremely simple 😅 I am planning to add a bit more, like shuffle/repeat controls as well as a previous track button, but this feature turned out pretty nicely!
It’s been a week since the last devlog, and lots has changed! 1. new architecture! The code was getting pretty messy since I had kept adding new features without really doing major refactors. So, I finally took it upon myself to actually organize everything and come up with a proper architecture. Each feature has its own module, containing services and widgets. Services have all the state, for example the Spotify service stores the current song and settings and the Rocket League module exposes a Matches service for the current match and past matches, which the match and past match widgets actually show. Services all have update functions which get called every 10ms. There are two ways for services to talk to the rest of the app: events and state. State is straightforward, it’s usually just an Rc with a custom generic struct I made to manage whether the widget can read/write to it. Events are enums which the update method returns, and can get passed to other update methods. For example, the Stats API service doesn’t have its own widget, it only connects to the stats api and returns match events which other features can use, like Spotify using replay start/end events to play/pause music. 2. new ui! The dashboard part isn’t as ugly as it was before, and has actual cards for every panel instead of just having horizontal lines in between. Even though it sounds pretty small, it’s actually huge for the prettiness of the app! Along with this, the behaviour of managing panels also changed. There’s an actual close button, and instead of having one button per panel at the bottom, there’s a small picker to open/close them. Also, you can also move them up and down now 3. Automatic stats api setup This is a pretty small feature. It lets you select the path to the rocket league executable, detects whether it’s already enabled, and turns it on if it’s disabled. It does this by just replacing a line in the stats api configuration. 4. mmr api v2 doesnt explode There were a few bugs which would make the API disconnect randomly, but they’ve been ironed out. This also made it so the app doesn’t have to deal with failure behaviour and can just keep asking until the API responds.
Turns out, for spotify integration, I can’t actually let other people use my spotify development mode app. It’s limited to 5 users which I have to invite by email. And to get a quota extension, I need 250,000 existing monthy active users, which I’m slightly short of (by about 249,999). So, I changed the login flow so that each user has to make their own Spotify app, and log in using the client ID from there. I didn’t change the current PKCE flow since that didn’t really need to be changed, but setup unfortunately takes a little more work now. Also, it has transparency now.
Note: I’ve actually had way more hours than it says, but I reinstalled windows and forgot to set up hackatime again so all that’s gone :( mmr-api-v2 finally has an admin page, so I don’t have to ssh into my pi just to check some debug information anymore! It is kind of developer-oriented but I think it looks and works well enough for what it is for. In the actual rlbuddy app, there are some cool new features! Facilitated by lots of refactors, of course (turns out, the matches service was bigger than the actual rocket league service, so I finally separated them). Spotify integration now has a previous button as well as a skip-to-song-in-current-playlist button. Match history was a feature that I’ve kind of ignored, so I gave it a much needed touch-up so its easier to view and browse. A pretty cool thing is that that’s been added a rocket-league-playerid-to-epic-games-id translation endpoint. This means that you can see Switch players’ TRN profiles through their linked Epic account, since TRN doesn’t let you check based on Switch name alone. Finally, there are some small quality of life improvements, like less deadlocks, better anthem pausing, and the open panel list persisting.
rlbuddy has player lookup now, so you can check for smurfs without needing to boot up a heavy browser while playing. Unfortunately, this has to get its information from TRN because it’s the only source of this information, the rocket league apis don’t provide it. There’s some cool refactors behind the scenes, though. I generalized almost all HTTP requests into its own struct, so it removed like 200 lines of boilerplate code into a single generic module. It automatically handles caching, using new threads, ignoring if there’s already an inflight request, loading states, and automatic serde_json deserialization. The Epic id, uncensorer, ranks, and new TRN apis all use it now! Also, the button to open in TRN from the player list opens the player info dialog instead (though if you need to, you can open in TRN from there).
I rewrote the API admin page with Svelte! Before, it was a quick-and-dirty raw html/css/js solution, but now it should be a lot less annoying to work on. I improved authorization a lot, now instead of adding the pw query parameter for every request you put in a password once and it actually uses the Authorization header. Unfortunately, the browser EventSource doesn’t support headers except for in cookies, meaning I had to use the custom eventsource library for bootstrapping since the bootstrap API uses SSE. There’s basically a whole Vite project in src/webadmin, with its own tsconfig.json and everything. Because of the way it’s set up, development needs Vite running in build watch mode which builds to where the main app serves it out of. It makes deployment a lot easier, though. I didn’t really add any actual features to it, except for a log filter. However, it should be way easier to add more features in the future, like a api tester!
The Stats API finally provides the actual playlist id, so rlbuddy isn’t limited to guessing between 1v1/2v2/3v3/4v4 anymore! This brings in some cool extra features like displaying the rank each player is in for the given playlist as well as even better Discord presence! I looked through BakkesMod as well as some psynet endpoints to grab the list of playlist ids to associate with each actual playlist. There isn’t really an image to go with this, so here’s the monster enum of playlists :)
rlbuddy finally has an MMR graph! I’m planning on adding more stat displays soon, like W/L, goals for/against, saves, etc. but this is a really big milestone since it’s a feature that a lot of players actually use (I basically only play casual so it’s not really for me 😅). Anyways, this also required me to rearchitect how matches are stored, and now there are two representations: a session match, which contains lots of information about it like detailed player skill information, and a stripped match, which is minimal and stores very little because it actually gets saved to disk! So, match history also gets saved now! This also opens up the doorway to a Deja-Vu-like thing which tells you if you’ve played with someone before and when! It uses the egui_plot library to show the graph. Funnily enough, basically every default option for a displayed plot was the opposite for this, and so the plot builder ended up using almost every method. Also, once again, hackatime is wrong because Zed likes to uninstall extensions randomly :(
I replaced the Spotify integration with a generic one that uses the Windows GSMTC api, meaning it’s way snappier, since it’s not making network requests every time it wants new data! The only reason it needs data is to fetch playback info, and it’s easy to do that since the windows crate gives a bunch of event listeners, meaning I also don’t need to poll anymore. Unfortunately, the integration from browsers etc. is kind of buggy so thumbnail loading is relatively inconsistent, but by adding some caching and timeouts it works flawlessly :) I also redid the UI since the old one was frankly quite ugly. Since the playback listener doesn’t update that frequently for progressbar changes, I also made it fake progress when music is playing and the ui updates, that way even if the latest data is stale, it still looks like the progress bar is moving. I’m now working on better session stats, I’ll probably end up replacing the all-time stat tracker with more in-depth session-only ones
I added a small toast notification that activates when you score in training, like bakkesmod used to add it to text chat. It also activates when you hit the crossbar so you can feel even more remorseful that your beautiful musty didn’t go in :) I actually got the program to segfault while making it. egui’s external viewport api is kinda funky… there are two modes, immediate and deferred, and immediate is supposed to be easier to use. However, when I tried to use immediate mode, it panicked saying that the egui backend was implemented incorrectly. So I switched to deferred, and it gave me the segfault. There were 3 things I had to do: I stored all active toasts in a Vec, and render them in the external viewport every frame. When one should disappear, it uses Vec::retain to remove old ones. However, this doesn’t do any cleanup, meaning the viewport would go bonkers and crash the application. So, I had to close the viewport first. Calling ui.ctx() from the viewport made a segfault, probably my fault but I couldn’t figure out how to resolve it so I ended up just sending Viewport::Close from the main loop. Even if I sent Viewport::Close from the main loop, it still gave the weird error. So, I resolved it by adding a small delay from after it should close, which is when it sends the Viewport::Close command, and when it’s actually removed from the Vec of toasts. Well, I did all that, and it was working, but there was a really weird bug where it would lag the whole system while opening/closing. So, I switched from immediate to deferred viewport mode, and it stopped happening! I hit my first powerful airdribble musty with it on, it was around 105kph, and a total fluke. I wish I had gotten it on recording.
rlbuddy doesn’t use the default eframe persistence feature for savedata anymore, which is pretty cool. There were a few reasons for this: It was kind of unnecessary, since eframe uses ron and it was storing a bunch of extra widget data which didn’t really fit with the app model anyway It took up extra dependencies (removing the feature shaved off like 10) There’s a bug where if the app crashed, it would erase all savedata, which, as you can imagine, was quite annoying especially since I actually use the app along with developing it, meaning if the app crashed in development it would delete all my actual match data. It’s easier to externally modify, so if in development I want to mess with some values it’s a lot easier. Anyways, actually getting the data directory was pretty interesting. I’ve basically decided to only support Windows, since the music player relies on Windows APIs anyways and I don’t think the Stats API even works on Linux. Initially, I checked out the source code for the dirs and directories crates, which led me to the dirs-sys crate (which actually isn’t even on crates.io). It used unsafe raw Win32 SHGetKnownFolderPath with the Roaming folder guid. However, since I was already using the windows-rs crate, I tried to find the WinRT equivalent. I ended up enabling the Storage_Search feature to use the API which would let me get it. Of course, this also didn’t work, because of something to do with how Windows apps are supposed to be registered. So, I ended up just grabbing the APPDATA environment variable and using that, then joining rlbuddy\data.json to it. It’s pretty underwhelming, but it more than gets the job done. Now, whenever the app panics, I won’t lose all of my settings anymore! Pretty nice. Anyways, that’s what mainly got accomplished. I also tried to set up a GitHub Action to build it and make a release, but I kept hitting errors so I gave up and decided to upload a release next time I get the urge to actually update the GitHub repository. There’s also a few fixes, like the window title which has actually had a typo since refactors from around a month ago, and adding a missing ! which broke toasts when in training. Overall, only an hour or so was tracked, but a heck of a lot got done. See you all next time!
Recently I was going through game archives and came across the BepInEx tool, which is basically a code injection framework for Unity games. I was really curious as to how it actually launched when the game launched, and found that they use a tool called Unity Doorstop, which adds winhttp.dll to the game’s binary directory. So, when the game tries to use things from winhttp, it goes to the new winhttp.dll instead of the system32 winhttp.dll. From there, the custom dll just forwards all the function calls. However, the custom dll is modified so that on its first interaction, it launches whatever Doorstop is configured to launch, and the mods can be loaded. That’s at least as far as I understood, but it made sense, and I thought, “what if I could launch rlbuddy automatically like this?” So, first, I tried to test it with a custom executable and library. I created a basic executable and DLL in C, and got the executable to load and run some code from the DLL. Then, I created another DLL, and got it to “impersonate” the original DLL. So, I’d rename the first dll to something like “mylibrary_original.dll”, rename the faker dll to “mylibrary.dll”, and the original executable would call the original, but it goes through the faker instead. And it worked! I had successfully created an actual doorstop-like faker. Now it was time to actually try this on Rocket League. So, I did a dumpbin /import on RocketLeague.exe, and found a few good targets - IPHLPAPI.dll, a system dll for networking stuff, and xinput1_3.dll, one shipped with the game for talking to controllers. RocketLeague.exe only imported two functions from each of them, meaning my fake interface wouldn’t have to be too big. So, first I tried to spoof IPHLPAPI.dll. The code was pretty simple, just a couple of global objects to hold the function. So, when the game loaded the DLL, it loaded the fake DLL. Then, when it tried to call some function in the DLL, such as GetAdaptersAddresses, the fake DLL would be the actual receiver, it would log something to a file, and then it would call the REAL GetAdaptersAddresses by dynamically loading the system IPHLPAPI.dll and return it. And… it worked! I opened Rocket League and the log file was created and had the log “GetAdaptersAddresses called!” Then, I launched it with anticheat enabled, and EAC immediately shut it down. I guess that was to be expected, but it was pretty annoying. So, I decided to try one more time, this time with xinput1_3.dll. This was more interesting because it was lazy loaded, and functions were imported by ordinals (2 = XInputGetState, 3 = XInputSetState), so I thought something might be different. So, I modified the original faker to be xinput1_3, replacing the function names and definitions. Since Rocket League imported them by ordinal instead of just the function name, I had to create a .def file as well, and define the ordinals there. Then, I did the same surgery on the binary folder, and after a few small mistake fixes, it worked! But, I still hadn’t tried with EAC enabled. So I launched it with anticheat, and it gave me a different error this time - that it couldn’t determine xinput1_3.dll’s file version. That was a different error! I opened the original xinput1_3.dll’s file properties, and it had copyright, file version, product version, and a couple other random things that were missing in my faker DLL. So I made a .rc file and compiled it together with the faker DLL. Then, most of the properties matched up. So, I tried it, and it seemingly worked! And then EAC said that it couldn’t verify the file again. In the end, I didn’t manage to get it working. I should’ve expected EAC to block me from the beginning, but it was pretty fun, and if I ever want to do something similar with a game without anti-cheat, I can do that now! rlbuddy is pretty closed to being released though, I just want to polish a few things and make sure the docs are fleshed out.
Made an avatars api for Steam, PSN, and Xbox (Epic doesn’t support profile pictures and I have no clue what goes on in Nintendo-land, even Tracker doesn’t show theirs). It’s on Cloudflare Workers instead of my pi since it’s basically just api integration. I totally overcomplicated finding out how to get Steam profile pictures. Like, it’s insane how easy it actually is. A few weeks ago, I got an old version of Steam Rocket League and decompiled it, trying to look for where it fetched avatars from. After some experimentation and debugging, I learned that when Psyonix builds Rocket League, they give it something that implements OnlineSubsystem for whatever the target platform is. So, Steam gets the Steamworks OnlineSubsystem, Epic gets the EOSOnlineSubsystem, and so forth. And the game doesn’t need to know implementation details, just that it implements OnlineSubsystem, I think the term for that is dynamic dispatch in programming languages. Anyways, once I learned that Rocket League doesn’t do any avatar handling itself, I looked at the Steamworks SDK. Basically, it routes the avatar request through the open Steam client. So after some experimentation, I got it to fetch profile pictures with C++ and the Spacewars test game. But, that obviously wouldn’t work on a server, since the Steam client can’t really run on a Worker. So, I tried to use the Steam Web API. I got an API key, but when I tried, it said I was forbidden. According to the documentation, the GetPlayerSummaries endpoint was at partner.steam-api.com, which was only for publishers. About a week later, so yesterday, I had the genius idea to use api.steampowered.com (the public API domain) instead of partner.steam-api.com. Just swapping them out. And it worked. So, I now had a way to get Steam avatar urls. Xbox and PSN were actually really easy. Xbox has an undocumented API at https://peoplehub-public.xboxlive.com/people/gt(GAMERTAG) which returns json containing the avatar uri, and I used the psn-api package with a new PlayStation account to get PSN profile pictures. Then, I just put all of them in a Worker. So, rlbuddy will be able to show avatars soon enough!
rlbuddy now can show people’s avatars cross-platform! It uses a web api I put on Cloudflare Workers which uses platform-specific requests to get avatar urls (see the previous devlog), which the app just fetches and renders. The http part was pretty easy, since I already have wrappers for cached HTTP apis, so I just had to define types for that and hook it up. But, once it was time to display, I ran into a weird problem where egui said there was no image loader installed for jpegs! Even using all_loaders + default didn’t work. Turns out, I have to actually include image as a separate crate and enable all the filetype features I want in there. Once I got it to load, it was time to mess with styling again. egui is really annoying with images, so I spent a while trying to get them to size right first. The default avatar used while they’re loading or for Epic/Switch players is from Fandom, like the rank icons. However, even though the icon is 90x90 pixels, the webp is 128x128 pixels, it just has a bunch of transparent padding. So, I initially messed with egui to do some weird ui allocation and calculation to get it to render right. But, turns out I didn’t have to do all of that. All I had to do was allocate a 28x28 space (the target size), scale that up by the 128/90 ratio, then paint the image onto the new size. Worked great. Then, I got to fight with grid layouts again. For some reason, wrapping the avatar and player details in a horizontal totally exploded all the layouting. So, I ended up making avatar and details separate columns. But, since the “player” header text is a bit larger than the icon width, there was too much padding between the avatar and the player details. So, I did more messing around with egui manual layouting, and ended up allocating a 24x(body text height + 2) space for the header, which would give it the default spacing. Then, I’d copy the Rect, shift the left bound over by 12 pixels, then paint the header onto there. That way, the header is left aligned with the avatar and the avatar + details look like they’re in the same column, even though it’s actually a bunch of stupid manual layout magic behind the scenes.
rlbuddy can load custom maps now! Either you can download them and then import from a zip, or you can download them from bakkesplugins straight from the app! Importing it from a file is relatively easy. I checked the code for Lethamyr’s custom map loader to see what exactly it did, and for Lethamyr maps it: extracted the zip into a temp dir read info.json, .udk, and preview.jpg copied those into its own saved map directory I knew Rust, being a low-level language would let me not have to extract the zip fully first. Additionally, Bakkesplugins maps don’t contain info.json or preview.jpg, they only contain a udk file, so I had to make sure it would work with that. So, the import code I wrote basically: enumerates files in the zip extracts info.json (if found) into a struct copies *.upk into the target directory copies *.jpg into the target directory/preview.jpg if it exists It worked great. I made a really cool looking widget with stupid manual layouting behind it for map selection. First, it would add the preview image (or a black background if none). Then, it would get the screen rect of the image, and draw a semitransparent black background onto it (for contrast). Finally, it drew the actual contents in that screen rect. So, I got pretty-looking tiles with preview image backgrounds! I also added a progress bar for import status. I benchmarked each main part of the import process and found that decompressing/extracting the upk file took around 2 seconds, for which the ui thread would be totally frozen (big nono)! So, I moved the work onto another thread, and also made it decompress/load in 100 total chunks, updating a progress bar each time. I then moved on to the map downloader. Bakkesplugins doesn’t have an API, so it relies on scraping the website. I didn’t actually use any external crates for gathering information, though. I wrote a parser which takes a list of rules, each with a start and end search string, and looks for each of them in sequence till it fails to find a rule. I tried to make it completely zero-copy, but something it needed was to turn an [Option; N] into a Option<[T; N]> if every element was Some , but the only way I could figure out how to do that was with an iterator. It’s still really fast though. So, it parses search results, including map titles and urls straight out of the html string without needing an HTML parser or regex library. Once it was able to load results from the search page, I went to sleep and came back today. Now I had to get it to actually download the ZIP files and preview images, and import them straight into the app. It first has to download/parse the plugin info page since the ZIP url isn’t available in the search results. Then, it requests the ZIP. I had some trouble with this, since I wanted to show a progress bar for the download status. I first tried a function from this gist , but it didn’t work. So, I made my own which used the same chunking strategy as the import status loader. Turns out, ureq blocks requests once they hit 10MB by default, which was probably why the gist version didn’t work. But, mine was faster anyways, so I kept it. It’s even cooler since I made it myself. Then, I wired up a couple more commands to let it import straight from archive bytes instead of from a file path, and it finally loaded! Once that worked, I made it pass along the map title, author, and description as well. Then, I extended it to parse out the thumbnail image url and download that, then pass that along to the importer as well. Anyways, that was super fun. I would add a lot more detail, but Stardance limits devlogs to 4000 characters and I’m approaching scarily close to that. I’m planning on just polishing the downloader interface a bit more, and then I’ll do some bugfixes for the next release. See ya!
I moved the mmr server to alpine linux! Before, it was regular raspberry pi os lite on the Pi. But, it was behaving strangely, randomly rebooting and things, so I decided to try installing Alpine. The lightweight distro has been on my radar for a while now, but this was my first time ever actually trying it. I imaged it normally with the raspberry pi imager, and put it on the pi, did setup-alpine, and all was well. But, I put in the wrong wifi password at first, which broke everything else. I tried changing the wifi config and doing something with wpa_supplicant (thanks google ai overview), but nothing fixed it so I ended up doing a fresh install. This time, I put in the right password and everything went great. I set up ssh, node, pm2, etc. and moved the server files onto the pi through sftp. Then, I got it running over my local network and set up authentication. So, it was time to set up the Cloudflare tunnel again. I followed this neat guide , changing values as needed (for example, my pi is aarch64, but the guide was x64, so I spent a while figuring out why the pi kept giving elf errors). It took a really long time to set up the openrc startup script because 1. cloudflare rotates the setup token relatively frequently and 2. I accidentally put 2 –token arguments. And since I was using vi, I didn’t even notice and kept trying to figure out why cloudflared crashed on startup. But I eventually found out and removed the duplicate and it worked! Then I finished setting up pm2 and put the pi in its home next to the router, and mmr.kmdw.dev is back up exposing your lobby’s skills. See you in the next one! Yes I know part of the token is in the image but it’s used already so it doesn’t matter
rlbuddy has a gamepad overlay now so that you can show off your awesome bindings! Don’t even bother figuring out mine. It’s kinda starting to become hellish to add new widgets/services, but I’m almost done for the next ship so I doubt I’ll refactor just yet [edit: im doing a super refactor now hehe]. I made the overlay with the raw egui::Painter rather than actual controls (since it would be pretty hard to make a controller out of Buttons or something). I also prefer to avoid embedding static assets, otherwise I might have made an actual one in MS Paint or something. I also can’t seem to find a good egui version. I’ve been on 0.34 almost the whole time, which works well but doesn’t support transparency in extra viewports. But, 0.35/0.36 broke external viewports. So, until then, we get an opaque gamepad overlay :( but the main app is still transparent, so it’s not horrible. Rolled an 8 and a 9 on the Stardance rng today! I’m so proud of myself.
I’m MASSIVELY refactoring rlbuddy! This, I think is the second (and hopefully the final) major refactor to the codebase. So, basically the current architecture is split into services and widgets. Each service has an update method, which does its stuff (draining subscribers, processing commands, etc). Since egui is immediate mode, this architecture works unlike callbacks/event-based which I actually tried to implement but couldn’t. Every widget is just implements egui::Widget, that holds some state handles (Rc) and command senders (Sender), usually just one for its respective service. Services are alive for the lifetime of the app, while widgets are the openable panels you see. Widgets display the data from service state, and talk back to it by mutating shared state or sending commands. I think music control has been the best for me to wrap my head around to decide about changes, so I’ll explain it with that. Music control had a controller, a service, and a widget file. The controller was a thread pool manager (if you can call the questionable implementation that) around Windows’ GSMTC API to give a single-thread api for it (since the app is basically single-threaded). Then, the service is always alive, syncing a state struct between the controller and its own state handle. Finally, the widget is optionally there as a panel, with next/previous/pause buttons which send commands and the ui which reads service state to display. It also has a mutable service state reference for settings (the “pause during anthems” button). The god object RlbuddyApp struct stores all of this stuff. So it has a music_control_service, music_control_widget, stats_api_service, all of those fields, which kinda sucked. On top of that, I had to maintain an enum of every panel, which was enumerated for the “open panel” popup and to render each one if it’s open. you might think “hey… isn’t that a self referential struct? how does music_control_widget store a reference to music_control_service?” Well, music_control_widget internally only has fields for the music_control_service’s state handles which are Rc/Arcs. So it only needs a reference to the service for it’s Widget::new function lifetime, all is well. Although it doesn’t look horrible, it was HELL to do anything. For example, refactoring the gilrs service out of hotkey and adding the gamepad overlay probably involved just as much fiddling around with Rcs in RlbuddyApp as adding the actual feature. So, I decided to move to a new architecture: services + features! And, after thinking about it for around 8 hours (i slept), I decided on something a bit different. Services + panels! Yeah, basically the same as services + widgets, but I was gonna implement it GOOD this time, and make design decisions that wouldn’t bite me in the ass later on. I wrote my first traits - Service, which requires update and optionally save , and Panel , which requires name() -> &'static str and ui (same as egui::Widget: :ui). Then, I’d change how components are registered: instead of keeping every service and widget as a field in RlBuddyApp, I’d make a Vec<Box<dyn Service/Panel» for each, and loop through it. I spent about an hour trying to get Panels to automatically implement ui by requiring egui::Widget as a supertrait, which doesn’t work since widgets are stateful (need &self). So, I tried to require &mut Self to implement egui::Widget, but apparently something to do with type erasure doesn’t let that work with dynamic dispatch which was needed for the Vec<Box> thing. I’ve moved a few features to the new architecture, but I’m still in the process of finishing up. Additionally, it has to work side-by-side with existing crappy monster-Panel-enum architecture, which sucks to maintain. Okay, once again, I had to strip down a ton of detail (and my terrible wording but wtv) cause I hit like 5000 characters b4 realizing. See ya! May the Stardance gods increase devlog limits :)
I finished the big refactor! I pushed around 25 commits to GitHub at once. I’m really gonna enjoy adding the next feature, basking in how much easier it is ;) Apparently, I never made a service for session stats, so it currently can’t persist its one setting. Actually, writing this I realized that the setting isn’t actually used, so I can delete it. That’s great. After finally kicking out all the annoying legacy panel code, I remembered that I never re-implemented the positioning or its related persistence code for the new panel system. The persistence system was reworked too, something that I don’t think really got included in the previous devlog. Each service can implement save , and there are generic helper methods in a common module for saving/loading serde structs to a file in the app data directory. The actual app now uses this method as well instead of doing all the pathing logic itself, so the persistence module is pretty small and could honestly be moved into app.rs. For new positioning, I store a list of open panels. Weirdly enough, it’s actually a lot easier than adding a position/is_open field to every AppPanel. So, I run the name through a Hasher to make a u64 which is easier to clone/copy and stuff and made a newtype around a PanelId. That way I could reuse the code from the previous paneling system to swap/manage open PanelIds, then just use find on the AppPanel vec to find the corresponding widget. Also, I never mentioned it but I’ve been trying RustRover for the past few devlogs. It’s a lot more stable than Zed, but I sorta miss its snappiness and minimalism. If I end up finding an annoying bug in RustRover, I’ll probably switch back. However, it’s been quite a few days and I don’t think I’ve found a single one. JetBrains is truly awesome at tooling. See ya next time. Probably will do my next ship soon :)
Had to remove the tracker.gg widget :( unfortunately they don’t allow scraping and what I had wasn’t allowed anyways. Things that used to open the player info widget now just open tracker in a browser.
Time formatting doesn’t suck anymore! I made the implementation way better so I could make it support stuff even past weeks, like months and years. The new implementation added around 60 lines, but it’s for a good cause. The previous implementation used a match statement with duplicated logic that only supported seconds, minutes, and hours, using a pluralize function and inline if-statements everywhere. If it were sent to any rational code-reviewer, they would likely have a heart attack. Now it’s a bit more complex but less complicated. You have TimeUnit s which format the unit themselves and TimePart s which format a value + a unit. Then, just use some math to build a Vec and format it into a string. Boom! Beautiful, well-formed time formatting. To soak in the new beauty, I added days n weeks. I just had to add 14 lines! The previous one would have probably needed a bunch of stupid magic numbers and weird chains everywhere to accomplish the same thing. Okay, I’m done using your time on reading a way-too-long write-up about fixing a crappy implementation that shouldn’t have been there in the first place. I’m gonna ship right after posting this. If you get it, make sure to give it 10 stars in everything 😉. Haha, jk. Well, not really. Cya later.
I’ve mostly been working on smaller features, improvements, and bugfixes. A cool one I did is fixing weird glitchy movement with the gamepad overlay window! Basically, the window needs to persist its position across disabling it/enabling it. And egui is immediate mode. So, every time it rendered the viewport, it would both set and get its position. So, moving it would update the current position, but because of the weird interop between setting the position in a ViewportBuilder and getting it from the viewport info, it would glitch back and forth, especially when my laptop is lagging. I fixed it by only calling the ViewportBuilder ‘s “ with_position ” method when the overlay had just been enabled ( !was_enabled && currently_enabled ). That way, it only sets it once externally, and lets it move freely while it’s open. Then, while it’s moving, it continues to update the saved position. And upon closing and then reopening it, it sets it again (but only once!) Relatively simple fix but it’s kind of funny. I mainly noticed it when I added a feature that would auto-unmaximize the overlay when the user maximizes it, and it would go crazy and fly around the screen. Very fun! I also fixed a pretty old bug where it would incorrectly detect the local player. Basically, the stats api doesn’t actually tell you who the local player is. So, we have to guess based on who the camera is targeting right now. Usually, it’s on the local player, but during goal replays or spectating a bot when joining a casual game, it would be improperly set at the start and then stay like that. So, I made sure that it always updated as long as the match is 1. in progress 2. not in a replay. It also fixes a thing with inconsistent match toasts, since the toasts only fire if the scoring player is the local player (and if it thinks the wrong player is the local player, everything’s messed up). I’m planning on revamping hotkeys next, to allow you to bind to any controller button and even do custom quickchats in-game. Later!
More gamepad overlay buttons!!! Yay!!! In not-so-awesomely-exciting news, I also added a table of contents to the readme (as well as a generator for it). The script’s in Python (I’m sorry for not using Rust) meaning the repository is now 0.5% Python. Takeover incoming? I overcomplicated the script a lot, but it’s really easy to read. There are three whole comments, aka 6% of lines in the whole file! It’s not technically interesting in the slightest. I was thinking of building a tree-like structure before outputting the string, but realized I can just use the header level (h1 vs h2 vs h3 etc) as the amount of spaces / 2. I also refactored it not to use magic PanelId s for the default panel list. I kinda rushed that part when I made it, I’ll be honest. But now each Panel can implement fn open_by_default(&self) -> bool (returns false by default) and if it does it keeps it open when savedata doesn’t exist yet. I don’t get how an entire hour n 27 minutes was spent on like 7 not-even-that-big commits. At least it was a good use of my math class. We reviewed limits for some reason (which everyone should already know for one because they took the prereqs?), and the teacher managed to extend her lecture for the ENTIRE class time. rlbuddy development saving the day, I guess (just like it will in your rocket league games btw, so you should download it)
I’ve been debugging high memory for the past month or so. It was egui_system_fonts. Why would fonts take 170mb of ram????????????????????????????????? help!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I hate external dependencies!!!!!!!!!!!!!!!!!!!!11 I owe my life to DHAT now. go star https://github.com/nnethercote/dhat-rs
I did lots of performance improvements and also IT WORKS ON LINUX NOW!!! Let’s talk about performance first. Anyways, it has been using around 4% and 220MB of ram, which isn’t really what you’d expect from an overlay! So, I used things like DHAT to profile the memory, and noticed that fonts were doing some shenanigans. So I removed egui_system_fonts and loaded directly from C:\Windows\Fonts\segoeui.ttf and RAM usage dropped to 30mb. That was what the previous devlog was about. I then changed the default logic update rate from 10ms (100/s) to 65ms (15/s approx). This reduced idle cpu usage to under 0.2%. But, doing anything with the UI would spike it to 4%, which is still pretty bad. So, I used a method I found in an egui issue thread where I’d count the frametime since the last render, then sleep until the target frametime was finished. For example, if the frame rendered in 2ms but I want 16ms frametime, it would sleep for 14ms. That way, I could limit how often the UI rendered! This made it stay under around 1% CPU forever! Okay, Linux time! Rust is mostly cross-platform, so support was mostly dealing with dumbass design decisions. Since Music relies on GSMTC, I had to feature-gate the entire thing (as well as the windows/windows-future crates) behind cfg(windows) :( I also had to fix Linux font loading (since like I said earlier, it’s hardcoded to segoe ui). So I install fontdb on Linux and search for some popular fonts from there to load instead. Finally, I fixed up the storage paths since it could only load from AppData. I also made it use AppData\Local vs. AppData\Roaming instead of putting everything in Roaming. I first got it working through WSL! ! It took some messing with my GPU drivers but I got it to render. Now was the real challenge: getting it to build on an ACTUAL Linux machine. I had an old, basically broken Surface Pro 3 that I had put Debian+GNOME on for shits and giggles a few months ago. The perfect target! The main problem was getting Rocket League to even launch. I set up Legendary (goated launcher btw, check it out ) and tried to run it. I installed Wine, got Wine Mono, and it failed with a weird cryptic error about the CreateWindow function. The obvious solution to a graphical error: disable EAC. Yay, it launched! Then to get it to build. First I had to fix some filepaths since Linux is case-sensitive (nerds) while I don’t care about case on Windows. Then, rust-lld gave some weird error about simd or something which I didn’t care about. I just ran cargo clean and rebuilt it and it worked fine. Then to run, and it actually worked first try! It’s cool because I went into it expecting to debug a million socket errors, but it actuallly connected and ran. Awesome sauce! Now Linux users can use rlbuddy. More minions to contr- I mean cool users! Cya in the next one! ;) If you check out the rl perf overlay in the screenshot, you’ll be able to guess why this is the laptop I decided to put Linux on.
I’ve been putting this off for a while, but I’ve finally decided I’m going to add asset swapping. There’re a few existing implementations, so I’m reading those as well as some pdfs about the upk format. So basically credit to this document and this implementation . All it can do for now is parse the file summary. The implementation wasn’t too bad since I had Google as well as the C# implementation I just talked about. I basically have trait Deserializable : Sized { fn deserialize ( reader : & mut impl Read ) -> AnyResult < Self > ; } Then implement that for the various parts (eg. FGuid , a generic TArray ). Then, I use byteorder to read out numbers into each struct. For example, #[derive(Debug)] struct FCompressedChunkInfo { uncompressed_offset : i64 , uncompressed_size : i32 , compressed_offset : i64 , compressed_size : i32 , } impl Deserializable for FCompressedChunkInfo { fn deserialize ( reader : & mut impl Read ) -> AnyResult < Self > { Ok ( Self { uncompressed_offset : reader .read_i64 :: < LittleEndian > () ? , uncompressed_size : reader .read_i32 :: < LittleEndian > () ? , compressed_offset : reader .read_i64 :: < LittleEndian > () ? , compressed_size : reader .read_i32 :: < LittleEndian > () ? , }) } } I originally prototyped it in Python and then moved to Rust once I got tired of python’s byte shenanigans.
I JUST DESERIALIZED AND RESERIALIZED A UPK. OMAIGOD IM SO HAPPY. my brain is so tired. Alright so the payload still doesn’t get transferred but that’s pretty simple, it’s just Vec::extend. What a challenge! Deserialization actually ended up being the easy part, which is opposite of what I expected from starting the project. It went (relatively) fast since there are a few existing implementations which I could kinda just “borrow” structure parsing from. But, mine is unique in that it almost completely reserializes the package itself. I might’ve been able to “borrow” reserialization, but the impl I’ve been looking at is STRAIGHT ai slop and it’s more annoying to read that than to just do it myself. It was useful though, so I have to respect it. The first problem: basically, the first byte of an FString determines how many parts it has, NOT how many bytes it has. Which wasn’t a problem for parsing, since I had some word-based helpers which worked so I didn’t think much about it. But, when reserializing, I made two mistakes: 1. forgot to add the null terminator (which shouldn’t even be necessary) and 2. I accidentally put the wrong offset. I have no clue why there’s a null terminator for FStrings. The format is [n chars][the char bytes], meaning it should already be known how long the string is. Pretty stupid, but whatever. Anyways, when reserializing you’re supposed to include the null terminator in the string length marker. So, my logic was that I should offset it by two since unicode characters are two bytes. Bleh! I should’ve only incremented by one, since it’s in terms of utf16 chars rather than bytes. Yay, that worked! I don’t know how to summarize the next problem, so I’ll explain the reasoning. The package header is file summary + tables + something else (we’ll get to that later). Anyways, there’s some mysterious padding in between the summary and tables. Parsing, it’s easy to skip over because the summary includes the tables start offset ( name_offset , the name table is the first one). But when reserializing, you gotta keep those offsets intact. Well, I’m not totally sure if you actually have to keep them, but just for the sake of simplicity I tried to (which ended up adding more complexity, which I’ll see if I can remove now). So, I serialize/push the summary to the big Vec. Then, I make a new Vec and serialize the name table at (name_offset - summary_size), since the new Vec has to be encrypted and then appended to the big Vec. I do the same thing for imports/exports (placing the table at import/export _table_offset - summary_size ). Oh no! Since name_table_offset isn’t equal to summary_size, there’s some padding in between, which is expected. HOWEVER! The previous logic would skip over it in the table Vec creation, meaning the table Vec would have some 0-padding at the start. This padding needs to be in the SUMMARY part instead, and the name_offset should basically be the ZERO of the tables Vec! I doubt I would’ve been able to solve this part without the beautiful tool HxD . It’s really easy to use and is always helpful when I’m figgling around with binary. So, it does some more math, calculates the spacing, adds it to the big vec, and removes it from the tables Vec. Then, it re-encrypts the tables Vec and pushes it onto the big Vec! Okay, now that’s done. NOPE! There’s a mysterious structure for some reason at the end of the real table part? Yep, it’s that something else I said we’ll get to. I actually still have no idea what it is. From some research, I gathered it must be the dependencies table, but it’s really poorly documented. So, I ended up just cutting the bytes out from after the export table to the end of the tables part, and “pasting” it back before re-encryption. I do hope this devlog was readable. Now I’ll get to including the actual package payload and hopefully simplifying reserialization offsets. See you soon!
I figured out what comes after export tables! And it took way too long, since I DISCOVERED IT MYSELF! At least, as far as I know. I couldn’t find any information online about this portion of the header, so it was basically luck that I noticed a pattern. Before, I was just copying everything after the export table and pasting them back in afterwards, but as you can guess, that stopped working if I adjusted anything within the encrypted region. Compressed chunk info is a known part, and I figured out the AES padding pretty easily, so most of the time was spent trying to figure out what in the world those 24 bytes were. The first four bytes in the compressed chunk info are how many chunks they are. Here, in the Bubbles boost package, there are two (little endian), with 24 bytes of ???. And in Flamethrower, there are three, with 36 bytes of ???. I noticed that the ??? was always n chunks * 12 bytes (actually, it’s lucky that I didn’t test any which ended up having 0, otherwise I probably wouldn’t have figured it out). Since this probably had something to do with chunks, I made a guess that each chunk had some extra data stored in this array, 12 bytes of info per chunk. Using HxD’s highlight-bytes-and-get-the-decimal-value feature, I noticed a pattern where the first 8 bytes looked like an i64 offset and the last 4 looked like an i32 size, which the compressed chunk infos were also like for their matching counterparts. So, I deserialized it as [i64; i32] * n chunks and was able to read it better. These additional chunk infos seem to kinda sorta match up to uncompressed header offsets, but I don’t really understand what they are (and they’re marked as such in the code, lol). So, with that working (and some fiddling with broken serialization of TArrays which I’m surprised I didn’t catch earlier), I now understood the ENTIRE package header! Hooray! Let’s look at another example. body_grain_SF, the Fennec, has 4 chunks. Guess how many bytes of ??? it has. That’s right, zero! For some reason, a few packages just don’t have those things. After going through a bunch of them, I found that if licensee version was 32, there was no ???. But if it was 33, there WAS ???. I basically just added an if statement and it was fixed. I’m going to try to work on figuring out the padding in between the package summary and the start of the name table, but if I can’t, I suppose I’ll finally get to actually doing package swapping. Later!
I got a name swap! It doesn’t work properly, but I’m glad the game didn’t crash. These hours have been by far the most frustrating because the only way to test is against the real game since it’s really picky, but the game takes like 30 seconds to start, and if it crashes, it gives a cryptic error log, and if it freezes, it doesn’t give any log at all. I spent most of the time messing with moving different offset values forward and backwards, and ended up reverting to a simpler version with no overwriting when the header size changes just to test things. So far, I’ve mostly gleaned that name renaming is possible, but only up to a point. If the name grows too much, the game crashes, and if the name shrinks too much, the game freezes. Additionally, for some reason, total_header_size changes by the padded header size instead of the encrypted header size, which I still don’t understand. It’s seriously weird. I serialize each name properly, and yet the game reads it wrong. This game really does need a new codebase. When UE6 comes out, either the game’s gonna be so good it doesn’t need mods, or it’ll be relatively easily moddable. Or neither, which is the most probable based on Epic Games’ track record. Anyways, enjoy the beautiful screenshot.
IT SWAPPED IT SWAPPED IT SWAPPED AHAHAHHAHAHAHHAHAHAHAHHA FINALLY Okay now I gotta make it work for other pairs of boosts. If WHEN that works, I’ll actually put it in rlbuddy. I removed all the code relating to changing offsets to try to give myself a minimal workspace to tinker in, with as little side effects as possible. So, all the current code does is 1. open them 2. replace the name table entries and package guid. Surprisingly simple. Once I make it a bit more generic, I can extend it to support more swaps. If I’m really unable to get it to work for more combinations, I’ll probably end up just publishing the poc repo and not adding swapping to rlbuddy at all. This is a great motivation boost, though. I was honestly dreading coming home to work on it today because I was done with failing over and over, and considering giving up.
IT WORKS WHEN THE HEADER EXPANDS NOW YAYAYYAYAYAYYAYAYYAYAYAY I’m gonna be honest, the problem might just have been that my testing package was corrupted. I was debugging my deserialization logic, which I thought might have some parsing issue near the header extraction, and noticed that once the encrypted region deserializer’s Cursor reached the end of the region, it was actually FARTHER than the package summary’s total_header_size - by 6 bytes! That’s pretty bad, and I don’t know how something like that even happened. Anyways, I repaired the game and brought over the shiny new upk and… it worked. I’m pretty sure that I only accidentally did this while tidying up my workspace a few hours ago, but if this has genuinely been the thing holding me back for the past few days - I also finally made the poc code public, at https://github.com/kalilamodow/rl-upk-testing/
Apparently there are a bunch of different AES keys rocket league uses, not just one. You can get a list of them from the psynet config url, and then do some weird crc stuff to change them from “content keys” to aes keys. I discovered the rocket league mapmaking discord today and I’m blown away by the amount of information on there, and also apparently my whole thing about the unknown bytes when licensee version > 32 was straight up wrong, which is funny. Anyways it works for all items now, which is great. I’m gonna work on actually putting it in rlbuddy now, hopefully that goes well
rlbuddy now has item swapping! Basically, making one item appear like another to use items you don’t actually own. These hours were spent on a few different things. Firstly, I optimized the thing a bunch! There were a few places that were pretty slow since the original repo was mainly for testing. For example instead of decrypting the entire header and rechecking it to find the right key, it only loads the first 4 blocks and attempts to decrypt the first FString. If it fails, that means the AES key isn’t valid. Also, I improved the error handling with anyhow. It actually makes it so much easier to deal with things and was pretty useful when debugging the move over to the actual app. Now I’m just going to work on polishing the panel UI a bit more, since it’s still kind of ugly.
I made a ton of improvements to the asset swapper! And fixed a bug with the music player which is cool technically, so I’ll start with that. The player uses the GSMTC api, which is async, but egui doesn’t really like async. So, I made it so that every time you wanted to run some command on the current session, it would start up a new thread. This was less than ideal for a few reasons: terrible performance race conditions could happen just… in Windows itself The main problem was 2: for example, if you skipped a replay too fast, the Play command from the end of the replay might actually reach Windows before the Pause command from the replay start, leaving your music paused. So instead, it starts one dedicated worker thread which has a channel which receives a Box<dyn FnOnce(Session)> , and executes at most one command every 50ms (only one command per loop, fixed loop time of 50ms). It’s really interesting because you actually end up sending a closure through a channel, which feels funny but when you really think about it it’s just ownership semantics. But, that’s working great now! On to swapper improvements! First, I moved most of the swapper module to anyhow handling (it’s heaven!), and I also modernized the upk api a bit since it was basically dragged directly from the proof-of-concept repo, meaning it was not really application-ready. Also, it previously looked at the game’s webcache to decode the AES keys for header decryption, but now it uses the wonderful Toga-Files repository along with a really nice caching layer for it to load items and their associated API keys. Having access to the actual item data is also way better since you don’t have to manually type in a package name which is kinda weird for any normal person. Now, you can select it from a dropdown instead! I love UX.
rlbuddy now loads additional playlists straight from the game’s cached webconfig, instead of hardcoding them all! This means that the list of playlists will basically never go out of date. There are actually quite a few services which rely on game files (eg. auto stats api setup, custom maps, asset swapper). So, the first thing I did was to refactor it so make all of these load from the same global value. Then, for playlists, I made it read from a specific file in the game’s http cache directory which contains a bunch of configuration. Then, it parses it into a JSON object, grabs all the values with Class PlaylistSettings_TA, and then extracts the title and playlist id! There are still a bunch of built-in Playlists, since those have internal things like going from a casual playlist type to its respective competitive one or having the hard-coded list of singleplayer playlists. But, all the other ones, like ltms are dynamically loaded. Yay!
I got licensee version 34 (encrypted payloads too) to swap finally! Okay, so this was awesome. Rocket League’s been having a bunch of updates lately, which breaks the packages of people trying to get free stuff. So, in a Reddit thread, I ended up dishing out a bunch of swapped asset files for people in this situation. There’s a new boost which everybody wanted really bad since it was really rare (but they decided to make it unlockable at rocket pass lv99 so it doesn’t even matter anymore), and it was UNSWAPPABLE for three reasons: it was encrypted specially i hadnt encountered specially encrypted packages meaning their handling was wrong aes keys werent out for it yet (or so I thought) I’ll start with 3. I had written a tool which looks in the games cache for AES keys, and dumped them, and it worked great. What I didn’t expect is the filename to change between versions. So, I was super confused since yesterday since the AES key for the boost was just… missing. Thankfully, the geniuses at the RLMM discord got it and helped me figure out that the file I was reading from was just outdated. Great! Anyways, not too big of a deal, just a big delay. Now it’s time for the real challenge: figuring out how the hell to handle this type of package. First, I did some research. The twelve bytes of padding in files with licensee version >=33 before the summary are actually a nonce/aes iv, not just padding. Then, the header is encrypted with AES-CTR with the twelve first bytes of the iv just being the nonce. And the compressed chunks are encrypted too here: each one is also AES-CTRed with their own nonces in FCompressedChunkInfo. Thing is, I don’t have an implementation to really go off anymore, meaning there’s a lot more trial and error. For the original implementation, there were one or two existing asset swappers (though they were vibecoded meaning more of a puzzle to figure out what they’re even doing), but this time I was mostly relying on emii’s fork of UEViewer. Anyways, after spending a while figuring out what exactly I had to masquerade (payload, key, swap nonces) I finally got it to work!
Not much in terms of super-cool stuff this time. Highlights are: make sure dynamic playlist loading uses the latest cache file (and also fix its loading on normal people’s rocket league installs) loading the cache file on another thread so it doesnt freeze the whole app for a second on the first lazy lock access searching for items in the item swapper moved the error handling of the map loader to anyhow So no ultra-exciting things to talk about. anyhow is really cool though, it really simplifies error handling everywhere in the app, and I’m a big fan of its bail! macro. I’m also using Cow a lot more. Moo!
I made a standalone web-based swapper for the people who don’t want to download an entire app. A lot of people had broken packages after the last update but didn’t want to install a dedicated program just for a few swaps. So, I used the asset swapper backend of rlbuddy to make this thingamabob which runs entirely in the browser! First, I had to find out how to actually share rlbuddy’s asset swapper with other projects. Turns out Cargo has a cool thing called workspaces where you can have multiple crates in the same repo! So I moved the dedicated UPK/AES etc. stuff into a new crate and added it as a dependency in regular rlbuddy. Then, I whipped up a small wasm-compatible eframe app with the template, and included the new crate as a dependency. I made a big state machine of the steps meaning it’s impossible to have an invalid state, which is really nice. The only problem was that Rust’s ownership system isn’t smart enough to deal with it, so the code is a bit repetitive in places but it’s definitely worth it. The WASM restrictions were super annoying, mainly do to with filesystem access and requiring async. I ended up using the egui-async crate and spilling Binds all over the place within the state machine. I couldn’t even figure out how to get the actual swap procedure to run in a different thread. I also spent like 30 minutes debugging why in the world asset swapping was just broken. Even when I verified the same binary data were going in to the Upk object in the webapp and rlbuddy, for some reason the output upk was just different. Turns out I used chosen_replacement.name instead of chosen_replacement.package.name() . Isn’t that great? Anyways, it works fine now and I’m planning on posting it on r/RocketLeagueMods and possible r/RocketLeague.
A few fixes here and there. Some refactors, caching externally loaded playlists in savedata, and fixing a deadlock when clearing the items cache. And for some reason the decal option was missing from the items list picker.
more small improvements. i gave the session stats widget an actual service as well which speeds things up a lot since its not recalculating statistics every single frame. the swapper also uses the backup file if one is available and it no longer accepts duplicate custom maps
Ships:
rlbuddy is a feature-filled companion for Rocket League! It shows the skill of everyone in your lobby and has tons of toggleable widgets and features to make your life a lot easier, from Discord integration to music control. This is my first non-tiny Rust project, and I think it was really great! I’ve learned a lot such as proper state management and the ins and outs of Rust’s syntax. You can give it a try by heading to the Github releases section. If you play Rocket League, I hope you use it!
rlbutddy is a feature-rich companion for Rocket League, and v1.2 is out. There’s been some big architectural changes meaning it’s faster and bug-free-er, as well as big new features! New!!! Avatars! Now you can see people’s profile pictures even when you’re not on their platform. Custom map loader! You can import maps from a ZIP or download them straight from Bakkesplugins! Gamepad overlay! Show your controls while playing, to show off your bindings or get some help with your speedflips. I think I’ve definitely improved at Rust since the last release. Just in terms of the amount of mistakes I make, I feel like it’s way more smooth sailing than before. For example, I was able to (mostly) write not-so-buggy code and “run the borrow checker in my head” without needing to cargo check a million times, and clippy tends to have a lot less suggestions for me. Pretty great!
I made rlbuddy, a rocket league companion app! This is the third ship so far. The big features this time are the asset swapper and Linux support, but I think that the feature I’m most proud of this time is the asset swapper! It inserts the appearance of one item into the file of another, meaning by swapping out assets for others you can make your car look however you like! (Client-side only, of course). I learned a lot about byte-level manipulation and working with raw data streams and encryption/decryption in Rust, and I can read hex (relatively) well now! It’s also great because I think this combined with the doorstop experiment from a while ago gives me a nice base to try some reverse-engineering challenges in the future. I also worked a lot on performance this time, such as tuning loop times/ui fps caps and minimizing ram usage (I achieved around an 80% reduction here!) There are a crap ton more features added than that (totaling almost 100 commits), but I’m pretty sure you’re not supposed to have massive feature-dumps on the ship text. So the full list is on the latest github release! In the image, you can see I have a white fennec. In reality, I don’t actually have a tw trim, and the equipped decal isn’t compatible with the fennec either. But, using the power of asset swapping, I can get a beautiful all-white car. Neat!...
|
1792975657.752514
|
1793062057.752514
|
|
26334
|
Pom-2 OS by @oxy | Stardance
|
oxy
|
3
|
8.0
|
86
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-03T12:22:18Z", "hours": 6.0, "multiplier": 13.65, "payout": 83, "blessing": "neutral", "text": "So i added the mandachord, the calendar and alsoa drawing app, you can look thru my devlogs for more info but yeah, i thouroughly enjoyed doing these updates and i think this is where im comfortable leaving PomOS, im really proud of what ive made and maybe ill add like one easter egg or sum, anyways i really hope you guys all like it but yeah whoever is reading this, thank you so much for your time, have a great rest of your day and or night <3 with love. -oxy", "repo": "https://github.com/oxy-2/Pom-2-OS", "demo": "https://pom-2-os.vercel.app/"}, {"ship_num": 2, "ts": "2026-06-30T06:19:24Z", "hours": 0.0, "multiplier": 9.51, "payout": 3, "blessing": "neutral", "text": "okay so the first time i tried to ship i messed up so im doing it again, so this project was made by me i use antigravity and so alot of code is ai i wont deny that but i did try to make everything look pretty and in general im very happy with how things came out, on my WebOS there is a pong game, a notes app that can save stuff, a welcome screen, a functional terminal, a music app with two songs from warframe, a gallery with some images, a settings app, but yeah feel free to just try out the project for yourself, oh yeah and you should be able to use the site on mobile and the pong game u just drag the like thing up and down and also i have system and song sound separate, also there are a bunch of sound effects from warframe that are used with the like Pom-2 computers that i used for this project, i really hope you like it. with love, oxy <3", "repo": "https://github.com/oxy-2/Pom-2-OS", "demo": "https://pom-2-os.vercel.app/"}, {"ship_num": 3, "ts": "2026-06-30T04:58:52Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is Pom-2 OS", "repo": "https://github.com/oxy-2/Pom-2-OS", "demo": "https://pom-2-os.vercel.app/"}]...
|
[{"post_id": 40044, "ts": "202 [{"post_id": 40044, "ts": "2026-08-03T12:19:06Z", "hours": 0.3147, "text": "I MADE THE MANDACHORDDDDDDDD, i spent a while today doing it but its done fully like its a midi kinda and its like octavias one in warframe i really like it i did themeing and a bunch of stuff i really like it and im very very proud of it, i really hope you guys like it too and with this i should be qualified for WebOS2 and get MORE STICKERRS and maybe some stardust, ill buy a teeshirt or a pin or a, a something yeah, anyways lots of love and i hope you have a very great rest of your day / night <3 -oxy"}, {"post_id": 40033, "ts": "2026-08-03T11:51:07Z", "hours": 4.8514, "text": "hi eberynyan i spent some time doing a bunch of things so i made like a calendar app cuz i really wanna get webos2 done for STICKERRSSSS and also for the sake of having it done cuz id be happy, anyways so the other day i actually recived the free stickers in the mail so like im really happy with that, the next dev log ill post will be recorded with lookout cuz i far prefer it cuz when i work its not just i nan ide and lapse lets you like add to any project not just hardware ones, i think idk, but yeah thats so awesome, i really hope thats not like unintended and im getting extra hours in a bad way, if i am my apologies also lil secret im writing this the same day as the next devlog just before i finish the lapse im writing today cuz the other day it legit didnt work, but yea im so happy, YAYAYA also the next devlogs app is really cool but uh so is the calendar its got like seasons like warframe and also events, u can add them, see my events like birthdays in my life and a bunch of things, HAVE A GREAT DAY OR NIGHT IF YOU READ MY DEVLOGS THEN THANK YOU, IT MEANS THE WORLD TO ME <333"}, {"post_id": 22317, "ts": "2026-07-04T18:38:17Z", "hours": 0.9344, "text": "MASSSIVE MASSIVE UPDATES PEOPLE, so i have added like so much and a bunch of polish, check the new readme for everything but in short i added every suggestion i got on the like ship review and i did a bunch of other stuff too, theres still code for a calculator but i aint basic and decided last second to visually remove it but i belive u can still summon it thru terminal, fun little easter egg for yalls ig lol, also idk when stardance will decide this is complete for the webos1 quest but yeah i love this and love working on it and hope you all do too, if youre new please check the readme ofc . . With love, oxy <3"}, {"post_id": 19025, "ts": "2026-06-30T06:05:22Z", "hours": 0.3208, "text": "i rekon this will be the final update i made it in big part cuz i messed up the ship and didnt add anything in text there T-T, anyways i added pong for this one, and a sound to the terminal when u recive the response to a command, i think its come together all quite nicely and im happy with my work, if you want to see all the files they are over on github at: https://github.com/oxy-2/Pom-2-OS and the app is on this site: pom-2-os.vercel.app and uh im not sure what more to put here, i hope you all like it and have a great rest of your day or night <3"}, {"post_id": 18993, "ts": "2026-06-30T04:58:24Z", "hours": 0.3392, "text": "final devlog its done now ive added a settings app, resizable draggable windows, better notes, propper fetch typing sounds, the list goes on IM GOING TO SHIP IT NOW YIPPIE, i hope everyone likes it :)"}, {"post_id": 18748, "ts": "2026-06-29T22:47:44Z", "hours": 0.7481, "text": "okay this as is from my phone ikr it’s not great but yeah lots of changes first of all way more functionality in the notes app, also the terminal app is super cool and works now with a little art for the fetch I’m working on fixing up a bunch of bugs lol mainly the notes app is fucked and the fetch command in the terminal, the next like next thing I wanna add before shipping is a little tutorial in the notes app for people to follow and a clock on the main screen, I’m really happy so far with how things are going, the new music app is awesome and Im very happy with the like little music notification popup which is cute, a fix for the gallery was also made so now I have the ability to open multiple images, tommorw I will wake up at 4am so I can put down the final touches and finally ship this baby, oh yeah also this is fully hosted on vercel now, Ik it says I didn’t spend much time in ide so far but I spend most my time in my browser debugging and doing lots of stuff there, I hope you guys like the project, apologies for the bugs and yeah, have a great night or day everyone <3 (edit from the next day i just realised it cut the screen shot lmao T-T)"}, {"post_id": 16328, "ts": "2026-06-26T15:54:15Z", "hours": 1.0217, "text": "A little start for our little project so i got the repo up, i got bagel who’s my friend working on this with me to install github and an ide and i implemented a whole bunch of features with little draggable windows, sounds, cookies and like a lil welcome creen, i still need to add like alot alot more but this is a good start and yes at this moment in time its like ai that i used to make most of this as i lowk came home from a tiring day andjust wanted to get started, tho i dont use ai for most of my projects and all the design and ways things work are overseen by us, rn i wanna add like a functional terminal and the welcome screen slides in after cookie screen instead of appearing, alot more apps etc, id be happy for all and any feedback and im so happy to be working with the stardance challenge :D anways have a great day / night every one <3 (check out our demo here) https://pom-2-os.vercel.app/"}]...
|
Title: Pom-2 OS by @oxy | Stardance
Devlogs:
A li Title: Pom-2 OS by @oxy | Stardance
Devlogs:
A little start for our little project so i got the repo up, i got bagel who’s my friend working on this with me to install github and an ide and i implemented a whole bunch of features with little draggable windows, sounds, cookies and like a lil welcome creen, i still need to add like alot alot more but this is a good start and yes at this moment in time its like ai that i used to make most of this as i lowk came home from a tiring day andjust wanted to get started, tho i dont use ai for most of my projects and all the design and ways things work are overseen by us, rn i wanna add like a functional terminal and the welcome screen slides in after cookie screen instead of appearing, alot more apps etc, id be happy for all and any feedback and im so happy to be working with the stardance challenge :D anways have a great day / night every one <3 (check out our demo here) https://pom-2-os.vercel.app/
okay this as is from my phone ikr it’s not great but yeah lots of changes first of all way more functionality in the notes app, also the terminal app is super cool and works now with a little art for the fetch I’m working on fixing up a bunch of bugs lol mainly the notes app is fucked and the fetch command in the terminal, the next like next thing I wanna add before shipping is a little tutorial in the notes app for people to follow and a clock on the main screen, I’m really happy so far with how things are going, the new music app is awesome and Im very happy with the like little music notification popup which is cute, a fix for the gallery was also made so now I have the ability to open multiple images, tommorw I will wake up at 4am so I can put down the final touches and finally ship this baby, oh yeah also this is fully hosted on vercel now, Ik it says I didn’t spend much time in ide so far but I spend most my time in my browser debugging and doing lots of stuff there, I hope you guys like the project, apologies for the bugs and yeah, have a great night or day everyone <3 (edit from the next day i just realised it cut the screen shot lmao T-T)
final devlog its done now ive added a settings app, resizable draggable windows, better notes, propper fetch typing sounds, the list goes on IM GOING TO SHIP IT NOW YIPPIE, i hope everyone likes it :)
i rekon this will be the final update i made it in big part cuz i messed up the ship and didnt add anything in text there T-T, anyways i added pong for this one, and a sound to the terminal when u recive the response to a command, i think its come together all quite nicely and im happy with my work, if you want to see all the files they are over on github at: https://github.com/oxy-2/Pom-2-OS and the app is on this site: pom-2-os.vercel.app and uh im not sure what more to put here, i hope you all like it and have a great rest of your day or night <3
MASSSIVE MASSIVE UPDATES PEOPLE, so i have added like so much and a bunch of polish, check the new readme for everything but in short i added every suggestion i got on the like ship review and i did a bunch of other stuff too, theres still code for a calculator but i aint basic and decided last second to visually remove it but i belive u can still summon it thru terminal, fun little easter egg for yalls ig lol, also idk when stardance will decide this is complete for the webos1 quest but yeah i love this and love working on it and hope you all do too, if youre new please check the readme ofc . . With love, oxy <3
hi eberynyan i spent some time doing a bunch of things so i made like a calendar app cuz i really wanna get webos2 done for STICKERRSSSS and also for the sake of having it done cuz id be happy, anyways so the other day i actually recived the free stickers in the mail so like im really happy with that, the next dev log ill post will be recorded with lookout cuz i far prefer it cuz when i work its not just i nan ide and lapse lets you like add to any project not just hardware ones, i think idk, but yeah thats so awesome, i really hope thats not like unintended and im getting extra hours in a bad way, if i am my apologies also lil secret im writing this the same day as the next devlog just before i finish the lapse im writing today cuz the other day it legit didnt work, but yea im so happy, YAYAYA also the next devlogs app is really cool but uh so is the calendar its got like seasons like warframe and also events, u can add them, see my events like birthdays in my life and a bunch of things, HAVE A GREAT DAY OR NIGHT IF YOU READ MY DEVLOGS THEN THANK YOU, IT MEANS THE WORLD TO ME <333
I MADE THE MANDACHORDDDDDDDD, i spent a while today doing it but its done fully like its a midi kinda and its like octavias one in warframe i really like it i did themeing and a bunch of stuff i really like it and im very very proud of it, i really hope you guys like it too and with this i should be qualified for WebOS2 and get MORE STICKERRS and maybe some stardust, ill buy a teeshirt or a pin or a, a something yeah, anyways lots of love and i hope you have a very great rest of your day / night <3 -oxy
Ships:
This is Pom-2 OS
okay so the first time i tried to ship i messed up so im doing it again, so this project was made by me i use antigravity and so alot of code is ai i wont deny that but i did try to make everything look pretty and in general im very happy with how things came out, on my WebOS there is a pong game, a notes app that can save stuff, a welcome screen, a functional terminal, a music app with two songs from warframe, a gallery with some images, a settings app, but yeah feel free to just try out the project for yourself, oh yeah and you should be able to use the site on mobile and the pong game u just drag the like thing up and down and also i have system and song sound separate, also there are a bunch of sound effects from warframe that are used with the like Pom-2 computers that i used for this project, i really hope you like it. with love, oxy <3
So i added the mandachord, the calendar and alsoa drawing app, you can look thru my devlogs for more info but yeah, i thouroughly enjoyed doing these updates and i think this is where im comfortable leaving PomOS, im really proud of what ive made and maybe ill add like one easter egg or sum, anyways i really hope you guys all like it but yeah whoever is reading this, thank you so much for your time, have a great rest of your day and or night <3 with love. -oxy...
|
1792979252.6508079
|
1793065652.6508079
|
|
26335
|
My very own WebOS by @Heer | Stardance
|
Heer
|
3
|
25.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T08:01:28Z", "hours": 23.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Heer’s WebOS 🍒 Heer’s WebOS is my first WebOS project, created using HTML, CSS, and JavaScript. When I first started, I didn’t have a particular theme or design in mind. I began by building the basic desktop layout with a topbar, background, dock, and windows, and as I experimented with different colours and styles, I slowly came up with the idea of making everything cherry-themed. I then developed different applications such as Cherry Terminal, Cherry Paint, Cherry Music, Calculator, Screentime, Notes, and the Welcome Window. Each app was given its own functionality while keeping the same soft pink, rounded Cherry aesthetic. I added features like draggable windows, buttons, timers, music controls, calculator operations, pixel painting, and saving notes and drawings using localStorage. As the project grew, I focused on making each part feel connected and creating a consistent experience across the entire WebOS. I experimented with layouts, colours, animations, window designs, and interactive features to make the desktop feel more like a real operating system while still keeping my own style throughout. I also organised the project into separate HTML, CSS, and JavaScript files and deployed it using GitHub Pages. Overall, this project has been a learning process from the very beginning. I started without even knowing what the final design would be, and slowly turned a simple WebOS idea into a complete cherry-themed desktop that feels personal to me. I hope y’all like it!🫶🏻", "repo": "https://github.com/heerrpatel8-bit/My-First-WebOS", "demo": "https://heerrpatel8-bit.github.io/My-First-WebOS/"}, {"ship_num": 2, "ts": "2026-07-05T07:10:20Z", "hours": 1.0, "multiplier": 1.1, "payout": 1, "blessing": "neutral", "text": "I made a Cherry-inspired WebOS. I have always loved cherries so I thought why not make it a lil my way? I had shipped this project before however a few apps were not working very well so I thought of making some more changes. I am an absolute newbie so I am pretty sure there must be more faults but I have tried my best and I hope you guys like it! :D", "repo": "https://github.com/heerrpatel8-bit/My-First-WebOS", "demo": "https://heerrpatel8-bit.github.io/My-First-WebOS/"}, {"ship_num": 3, "ts": "2026-06-28T06:04:08Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a WebOS for the first time. It’s cherry themed because I love cherries. It’s not very advanced however I have tried my best. Hope you guys like it!", "repo": "https://github.com/heerrpatel8-bit/My-First-WebOS", "demo": "https://heerrpatel8-bit.github.io/My-First-WebOS/"}]...
|
[{"post_id": 43145, "ts": "202 [{"post_id": 43145, "ts": "2026-08-08T07:50:53Z", "hours": 0.0, "text": "WebOS Devlog 15 ✨ Work Done: Redesigned the Welcome Window to match the Cherry Paint aesthetic. Added a soft pink gradient header with a rounded close button. Updated the window background, typography, and button styling. Added a small cherry decoration to match the overall WebOS theme. Adjusted the spacing between the header, content, and bottom of the window. Changes Made: Reduced the unnecessary gaps inside the window. Made the window shorter and more compact. Improved the overall alignment and proportions. Kept the existing dock unchanged. I will ship it soon!!! 🫶🏻"}, {"post_id": 42709, "ts": "2026-08-07T15:42:49Z", "hours": 3.0, "text": "WebOS Devlog 14 ✨ Work Done: Built the Cherry Notes app. Created the notes window layout with a header, close button, toolbar, editor, and saved notes section. Added features for creating new notes, saving notes, deleting notes, and viewing saved notes. Implemented note loading so previously saved notes appear automatically when opening the app. Added drag functionality so the Notes window can be moved around like other Cherry WebOS apps. Challenges: Debugging issues caused by mismatched HTML classes and CSS selectors. Making sure all buttons were correctly connected to their JavaScript functions. Ensuring the Notes window works consistently with the other draggable WebOS apps. Progress: The Notes app structure and functionality are complete. Users can create, edit, save, and delete notes. Saved notes are displayed in the sidebar and can be reopened. The app now matches the Cherry WebOS style with rounded windows, pink gradients, and a soft interface design. I can’t believe I have almost finished my project. It was super fun to make my WebOS. I will add some final touches before I ship it! I hope it turns out super cool!! 🫶🏻"}, {"post_id": 42104, "ts": "2026-08-06T17:49:50Z", "hours": 2.0, "text": "WebOS Devlog 13 ✨ Work Done: Designed and developed the Cherry Screentime application. Built a functional timer with Start, Pause, and Reset controls. Created a compact window that matches the overall CherryOS aesthetic. Styled the app using the same design language as the Calculator and Pixel Paint, including the gradient header, rounded corners, and cherry-themed color palette. Implemented draggable window functionality and integrated the app into the desktop. Challenges: The window header title wrapped onto two lines due to the compact window width. The title alignment appeared off-center because of a CSS transform issue ( translateX instead of translate ). Fine-tuning the colors, spacing, and sizing to ensure the Screentime app blended seamlessly with the other CherryOS applications. Progress: Successfully completed and polished the Cherry Screentime app. Achieved a consistent visual style across all existing CherryOS applications. CherryOS now includes Welcome Window , Terminal , Cherry Paint , Music Player , Calculator , and Cherry Screentime , bringing the desktop closer to a complete and cohesive experience. 6 apps down, just 1 more to goo! Stay tuned!!! 🫶🏻"}, {"post_id": 41411, "ts": "2026-08-05T16:33:31Z", "hours": 2.0, "text": "WebOS Devlog 12 ✨ Work Done: Completed the design and functionality integration of the Calculator app in CherryOS. Connected calculator buttons with JavaScript click events. Added functionality for numbers, operators, clear button, percentage, and equals button. Fixed the calculator display so it updates correctly when buttons are pressed. Tested different calculations to ensure the calculator works smoothly. Integrated the calculator window with the existing WebOS window system (open, close, and drag functionality). Challenges: The calculator UI was working, but button clicks were not updating the display. Debugged the JavaScript event listener responsible for handling calculator inputs. Found a typo in the dataset property that prevented buttons from reading their values. Verified that the HTML data-value attributes were correctly connected after fixing the JavaScript issue. Progress: Calculator app is now fully functional and stable. CherryOS now has a working calculator alongside other completed apps. 5 apps down, 2 more to gooo! Stay tuned!!!🫶🏻"}, {"post_id": 40225, "ts": "2026-08-03T17:01:42Z", "hours": 3.0, "text": "WebOS Devlog 11 ✨ Work Done: Designed the layout of the CherryOS Music Player window. Added sections for album artwork, song details, playback controls, and progress tracking. Created a structured song system with details like title, artist, audio file, and cover image. Styled the player to match the CherryOS desktop aesthetic. Challenges: Maintaining consistency with the overall CherryOS design. Creating a clean interface while fitting all required controls. Progress: The Music Player has developed into a more complete desktop-style application. The interface now blends with the rest of the WebOS environment. Stay Tuned!! 🫶🏻"}, {"post_id": 38675, "ts": "2026-08-01T05:47:11Z", "hours": 1.0, "text": "WebOS Devlog 10 ✨ Work Done: Continued development of the Pixel Art application for CherryOS. Built the interactive drawing grid and implemented painting, eraser, color picker, and clear canvas functionality. Added a custom save dialog and began implementing local storage so drawings can be saved and reopened later. Challenges: Faced several JavaScript conflicts that temporarily broke the opening, closing, and dragging functionality of multiple windows. Spent time debugging UI layout issues, including oversized toolbar buttons, canvas scaling, and window proportions. Ran into issues with the save system and modal positioning before getting the core functionality working correctly. Progress: Pixel Art is now mostly functional, with drawing, saving, loading, dragging, and window controls in place. Stay tuned!!! 🫶🏻"}, {"post_id": 38348, "ts": "2026-07-31T18:08:54Z", "hours": 3.0, "text": "WebOS Devlog 9 ✨ Started development of the Pixel Art app for my WebOS. Designed the app window to match the existing cherry-inspired interface. Adjusted the layout and resized the window to better fit the desktop aesthetic. Fixed HTML structure issues that were preventing elements from displaying correctly. Next: Implement the interactive drawing grid, color picker, eraser, clear canvas, and save/load functionality. Stay tuned!!! 🫶🏻"}, {"post_id": 37778, "ts": "2026-07-30T18:15:21Z", "hours": 1.0, "text": "WebOS Devlog 8 ✨ Work Done: Added interactivity to the Cherry Terminal by implementing functional commands. Improved the overall user experience by making the terminal draggable across the desktop. Fixed multiple bugs affecting window behavior and terminal functionality. Challenges: Faced issues with JavaScript event handling while implementing the drag feature. Spent time debugging conflicting event listeners and ensuring all terminal features worked together smoothly. Progress: Successfully transformed the terminal from a static design into a functional desktop application. Completed the foundation for future WebOS apps, making it easier to implement similar draggable windows across the project. 2 apps done, 5 more to gooo! 🫶🏻"}, {"post_id": 37142, "ts": "2026-07-29T17:07:09Z", "hours": 0.0, "text": "WebOS Devlog 7 ✨ Work Done: Added working commands (help, clear, date, time, echo, calc, fortune, about). Fixed terminal bugs and ensured command execution works correctly. Further improvements and additional features are planned. Challenges: Debugging JavaScript errors to get terminal commands working. Maintaining the cherry-inspired design while adding functionality. Progress: Designed and integrated the Cherry Terminal into the WebOS. Successfully implemented and tested basic terminal commands."}, {"post_id": 36487, "ts": "2026-07-28T16:57:16Z", "hours": 1.0, "text": "WebOS Devlog 6 ✨ Work Done: Completed the visual design and structure of the Cherry Terminal. Styled the terminal window to align with the overall WebOS aesthetic. Added design elements such as a custom header, window controls, and terminal prompt. JavaScript functionality is currently in progress ; the next step is implementing interactive commands and terminal behaviour. Planning additional visual enhancements and animations to make the terminal feel more polished and immersive. Challenges: Designing a terminal that matched the soft cherry aesthetic of the WebOS while still looking like a functional terminal. Balancing visual appeal with usability to ensure the interface remained clean and easy to navigate. Progress: Finalized the overall layout of the Cherry Terminal window. Designed a soft cherry-themed interface with a pastel header and dark terminal workspace for better contrast. Chose a clean monospace font and refined the colour palette to maintain consistency with the desktop design. Planned the command input area and overall user interface for an interactive terminal experience. 🫶🏻"}, {"post_id": 35865, "ts": "2026-07-27T16:08:50Z", "hours": 1.0, "text": "WebOS Devlog 5 💫 Work Done: Removed the concept of large app cards from the design. Redesigned the navigation flow so apps will launch directly from the home screen dock. Researched cherry-inspired dock designs and began planning the implementation for the next development session. Challenges: The apps section looked disconnected from the home screen, making the overall UI feel inconsistent. Needed to redesign the layout without losing the existing app functionality. Progress: Decided to replace the separate apps section with a floating dock integrated into the home page. Finalized the list of apps for the dock: Personal Info, Terminal, Pixel Colour, Music, Calculator, Screentime, and Notetaker. Planned a cherry-inspired dock to create a more cohesive desktop experience."}, {"post_id": 32883, "ts": "2026-07-22T10:28:18Z", "hours": 0.0, "text": "WebOS Devlog 4 ✨ Debugging My WebOS Project Today I continued working on my WebOS project and focused mainly on debugging and identifying issues in the current build. Work Done: Tested the project to understand which features were working and which ones were causing problems. Started using browser developer tools to inspect the project and look for possible errors. Checked the HTML, CSS, and JavaScript structure since the entire project is currently contained in a single file. Investigated issues with app interactions and screens not opening as expected. Began tracing possible JavaScript problems related to buttons, events, and element connections. Challenges: Some features are still not responding correctly, and I am still working to locate the exact cause. Debugging a large single-file project makes it harder to locate specific issues quickly. Understanding browser console errors and developer tools is taking time, but it is helping narrow down the problems. Next Steps: Continue analyzing JavaScript errors and fixing broken interactions. Test each application and feature separately. Improve the project structure to make future debugging easier. The project is still under development, but each debugging session is helping me understand the system better and move closer to a stable version."}, {"post_id": 22673, "ts": "2026-07-05T07:07:08Z", "hours": 0.0, "text": "WebOS DEVLOG 3: Finished working with my apps. Gonna make a few more changes and then im done!!"}, {"post_id": 22136, "ts": "2026-07-04T13:11:17Z", "hours": 0.0, "text": "WebOS DEVLOG 2: Almost finished the entire project. I do need to make a few more changes but im pretty sure it will be finished in an hour or so!!"}, {"post_id": 16896, "ts": "2026-06-27T13:04:10Z", "hours": 0.0, "text": "I am currently working on a WebOS. This is my first time coding so I will try my best to make it as good as I possibly can. I have almost finished working on my home page."}]...
|
Title: My very own WebOS by @Heer | Stardance
Dev Title: My very own WebOS by @Heer | Stardance
Devlogs:
I am currently working on a WebOS. This is my first time coding so I will try my best to make it as good as I possibly can. I have almost finished working on my home page.
WebOS DEVLOG 2: Almost finished the entire project. I do need to make a few more changes but im pretty sure it will be finished in an hour or so!!
WebOS DEVLOG 3: Finished working with my apps. Gonna make a few more changes and then im done!!
WebOS Devlog 4 ✨ Debugging My WebOS Project Today I continued working on my WebOS project and focused mainly on debugging and identifying issues in the current build. Work Done: Tested the project to understand which features were working and which ones were causing problems. Started using browser developer tools to inspect the project and look for possible errors. Checked the HTML, CSS, and JavaScript structure since the entire project is currently contained in a single file. Investigated issues with app interactions and screens not opening as expected. Began tracing possible JavaScript problems related to buttons, events, and element connections. Challenges: Some features are still not responding correctly, and I am still working to locate the exact cause. Debugging a large single-file project makes it harder to locate specific issues quickly. Understanding browser console errors and developer tools is taking time, but it is helping narrow down the problems. Next Steps: Continue analyzing JavaScript errors and fixing broken interactions. Test each application and feature separately. Improve the project structure to make future debugging easier. The project is still under development, but each debugging session is helping me understand the system better and move closer to a stable version.
WebOS Devlog 5 💫 Work Done: Removed the concept of large app cards from the design. Redesigned the navigation flow so apps will launch directly from the home screen dock. Researched cherry-inspired dock designs and began planning the implementation for the next development session. Challenges: The apps section looked disconnected from the home screen, making the overall UI feel inconsistent. Needed to redesign the layout without losing the existing app functionality. Progress: Decided to replace the separate apps section with a floating dock integrated into the home page. Finalized the list of apps for the dock: Personal Info, Terminal, Pixel Colour, Music, Calculator, Screentime, and Notetaker. Planned a cherry-inspired dock to create a more cohesive desktop experience.
WebOS Devlog 6 ✨ Work Done: Completed the visual design and structure of the Cherry Terminal. Styled the terminal window to align with the overall WebOS aesthetic. Added design elements such as a custom header, window controls, and terminal prompt. JavaScript functionality is currently in progress ; the next step is implementing interactive commands and terminal behaviour. Planning additional visual enhancements and animations to make the terminal feel more polished and immersive. Challenges: Designing a terminal that matched the soft cherry aesthetic of the WebOS while still looking like a functional terminal. Balancing visual appeal with usability to ensure the interface remained clean and easy to navigate. Progress: Finalized the overall layout of the Cherry Terminal window. Designed a soft cherry-themed interface with a pastel header and dark terminal workspace for better contrast. Chose a clean monospace font and refined the colour palette to maintain consistency with the desktop design. Planned the command input area and overall user interface for an interactive terminal experience. 🫶🏻
WebOS Devlog 7 ✨ Work Done: Added working commands (help, clear, date, time, echo, calc, fortune, about). Fixed terminal bugs and ensured command execution works correctly. Further improvements and additional features are planned. Challenges: Debugging JavaScript errors to get terminal commands working. Maintaining the cherry-inspired design while adding functionality. Progress: Designed and integrated the Cherry Terminal into the WebOS. Successfully implemented and tested basic terminal commands.
WebOS Devlog 8 ✨ Work Done: Added interactivity to the Cherry Terminal by implementing functional commands. Improved the overall user experience by making the terminal draggable across the desktop. Fixed multiple bugs affecting window behavior and terminal functionality. Challenges: Faced issues with JavaScript event handling while implementing the drag feature. Spent time debugging conflicting event listeners and ensuring all terminal features worked together smoothly. Progress: Successfully transformed the terminal from a static design into a functional desktop application. Completed the foundation for future WebOS apps, making it easier to implement similar draggable windows across the project. 2 apps done, 5 more to gooo! 🫶🏻
WebOS Devlog 9 ✨ Started development of the Pixel Art app for my WebOS. Designed the app window to match the existing cherry-inspired interface. Adjusted the layout and resized the window to better fit the desktop aesthetic. Fixed HTML structure issues that were preventing elements from displaying correctly. Next: Implement the interactive drawing grid, color picker, eraser, clear canvas, and save/load functionality. Stay tuned!!! 🫶🏻
WebOS Devlog 10 ✨ Work Done: Continued development of the Pixel Art application for CherryOS. Built the interactive drawing grid and implemented painting, eraser, color picker, and clear canvas functionality. Added a custom save dialog and began implementing local storage so drawings can be saved and reopened later. Challenges: Faced several JavaScript conflicts that temporarily broke the opening, closing, and dragging functionality of multiple windows. Spent time debugging UI layout issues, including oversized toolbar buttons, canvas scaling, and window proportions. Ran into issues with the save system and modal positioning before getting the core functionality working correctly. Progress: Pixel Art is now mostly functional, with drawing, saving, loading, dragging, and window controls in place. Stay tuned!!! 🫶🏻
WebOS Devlog 11 ✨ Work Done: Designed the layout of the CherryOS Music Player window. Added sections for album artwork, song details, playback controls, and progress tracking. Created a structured song system with details like title, artist, audio file, and cover image. Styled the player to match the CherryOS desktop aesthetic. Challenges: Maintaining consistency with the overall CherryOS design. Creating a clean interface while fitting all required controls. Progress: The Music Player has developed into a more complete desktop-style application. The interface now blends with the rest of the WebOS environment. Stay Tuned!! 🫶🏻
WebOS Devlog 12 ✨ Work Done: Completed the design and functionality integration of the Calculator app in CherryOS. Connected calculator buttons with JavaScript click events. Added functionality for numbers, operators, clear button, percentage, and equals button. Fixed the calculator display so it updates correctly when buttons are pressed. Tested different calculations to ensure the calculator works smoothly. Integrated the calculator window with the existing WebOS window system (open, close, and drag functionality). Challenges: The calculator UI was working, but button clicks were not updating the display. Debugged the JavaScript event listener responsible for handling calculator inputs. Found a typo in the dataset property that prevented buttons from reading their values. Verified that the HTML data-value attributes were correctly connected after fixing the JavaScript issue. Progress: Calculator app is now fully functional and stable. CherryOS now has a working calculator alongside other completed apps. 5 apps down, 2 more to gooo! Stay tuned!!!🫶🏻
WebOS Devlog 13 ✨ Work Done: Designed and developed the Cherry Screentime application. Built a functional timer with Start, Pause, and Reset controls. Created a compact window that matches the overall CherryOS aesthetic. Styled the app using the same design language as the Calculator and Pixel Paint, including the gradient header, rounded corners, and cherry-themed color palette. Implemented draggable window functionality and integrated the app into the desktop. Challenges: The window header title wrapped onto two lines due to the compact window width. The title alignment appeared off-center because of a CSS transform issue ( translateX instead of translate ). Fine-tuning the colors, spacing, and sizing to ensure the Screentime app blended seamlessly with the other CherryOS applications. Progress: Successfully completed and polished the Cherry Screentime app. Achieved a consistent visual style across all existing CherryOS applications. CherryOS now includes Welcome Window , Terminal , Cherry Paint , Music Player , Calculator , and Cherry Screentime , bringing the desktop closer to a complete and cohesive experience. 6 apps down, just 1 more to goo! Stay tuned!!! 🫶🏻
WebOS Devlog 14 ✨ Work Done: Built the Cherry Notes app. Created the notes window layout with a header, close button, toolbar, editor, and saved notes section. Added features for creating new notes, saving notes, deleting notes, and viewing saved notes. Implemented note loading so previously saved notes appear automatically when opening the app. Added drag functionality so the Notes window can be moved around like other Cherry WebOS apps. Challenges: Debugging issues caused by mismatched HTML classes and CSS selectors. Making sure all buttons were correctly connected to their JavaScript functions. Ensuring the Notes window works consistently with the other draggable WebOS apps. Progress: The Notes app structure and functionality are complete. Users can create, edit, save, and delete notes. Saved notes are displayed in the sidebar and can be reopened. The app now matches the Cherry WebOS style with rounded windows, pink gradients, and a soft interface design. I can’t believe I have almost finished my project. It was super fun to make my WebOS. I will add some final touches before I ship it! I hope it turns out super cool!! 🫶🏻
WebOS Devlog 15 ✨ Work Done: Redesigned the Welcome Window to match the Cherry Paint aesthetic. Added a soft pink gradient header with a rounded close button. Updated the window background, typography, and button styling. Added a small cherry decoration to match the overall WebOS theme. Adjusted the spacing between the header, content, and bottom of the window. Changes Made: Reduced the unnecessary gaps inside the window. Made the window shorter and more compact. Improved the overall alignment and proportions. Kept the existing dock unchanged. I will ship it soon!!! 🫶🏻
Ships:
I have made a WebOS for the first time. It’s cherry themed because I love cherries. It’s not very advanced however I have tried my best. Hope you guys like it!
I made a Cherry-inspired WebOS. I have always loved cherries so I thought why not make it a lil my way? I had shipped this project before however a few apps were not working very well so I thought of making some more changes. I am an absolute newbie so I am pretty sure there must be more faults but I have tried my best and I hope you guys like it! :D
Heer’s WebOS 🍒 Heer’s WebOS is my first WebOS project, created using HTML, CSS, and JavaScript. When I first started, I didn’t have a particular theme or design in mind. I began by building the basic desktop layout with a topbar, background, dock, and windows, and as I experimented with different colours and styles, I slowly came up with the idea of making everything cherry-themed. I then developed different applications such as Cherry Terminal, Cherry Paint, Cherry Music, Calculator, Screentime, Notes, and the Welcome Window. Each app was given its own functionality while keeping the same soft pink, rounded Cherry aesthetic. I added features like draggable windows, buttons, timers, music controls, calculator operations, pixel painting, and saving notes and drawings using localStorage. As the project grew, I focused on making each part feel connected and creating a consistent experience across the entire WebOS. I experimented with layouts, colours, animations, window designs, and interactive features to make the desktop feel more like a real operating system while still keeping my own style throughout. I also organised the project into separate HTML, CSS, and JavaScript files and deployed it using GitHub Pages. Overall, this project has been a learning process from the very beginning. I started without even knowing what the final design would be, and slowly turned a simple WebOS idea into a complete cherry-themed desktop that feels personal to me. I hope y’all like it!🫶🏻...
|
1792882081.6731634
|
1793746081.6731634
|
|
26729
|
just tell me what to do by @justrivaan | Stardance
|
justrivaan
|
3
|
48.0
|
944
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-26T07:11:51Z", "hours": 29.0, "multiplier": 18.85, "payout": 647, "blessing": "blessed", "text": "Hello, this is the final devlog for my project, i believe that the website, for its sole purpose is now totally finished. ‘just tell me what to do’ is a website i have developed for a huge problem in real life, decision making. You have to choose a time duration (the time u have on hand), and you msut choose how you are feeling (emotion), and then type out a brain dump. This input gives you an output that helps you come to a decision about your problem. There are also modes for the responses, these modes change the way the AI responds to you. There is a mode recommendation feature where if the AI believes that your brain dump is better suitable for another mode, then it recommends you to swap to that mode instead. I have really enjoyed working on this site. There were many bugs along the way, but in the end it all worked out!", "repo": "https://github.com/officiallyrivaan/just-tell-me-what-to-do", "demo": "https://just-tell-me-what-to-do.vercel.app"}, {"ship_num": 2, "ts": "2026-07-05T02:06:39Z", "hours": 15.0, "multiplier": 17.79, "payout": 226, "blessing": "neutral", "text": "The second ship of just tell me what to do! Alright, first, here’s a quick summary on what just tell me what to do is. An AI powered tool, where you choose your time on hand, then you choose how you are feeling, and then finally dump your thoughts. This gives you the next step, the next step may help to come to a more precise decision, or it maybe just to cheer you up. I went through WAY too many difficulties during this making, i tried making user accounts, but that didnt work out, and a lot more was tried… Now the HUGE update! Modes have been added to the AI, You get to choose how the AI behaves with you! There are six new modes, (the details for them are in the previous devlog) selecting the right mode can u help you for the next step much more effectively! I am really proud of my progress so far, its been insane how much work has been put into this project, and im hoping to continue this further!", "repo": "https://github.com/officiallyrivaan/just-tell-me-what-to-do", "demo": "https://just-tell-me-what-to-do.vercel.app"}, {"ship_num": 3, "ts": "2026-06-28T14:40:38Z", "hours": 4.0, "multiplier": 19.11, "payout": 71, "blessing": "neutral", "text": "As I thought about ideas, I found myself constantly thinking about the problem that everyone deals with but never considers: choosing what to do next. From procrastination to boredom or from being indecisive to having too many options to pick from, making small decisions can end up taking more time than one would expect. And that is how just tell me what to do came to life. The app poses a set of questions to users and based on their answers, makes an AI-suggested recommendation to do something specific next. Those questions include the amount of free time users have, their current state, and any limits they may have. My intention was not to create a new planning tool but rather to help remove the obstacle in making the first step and continue without additional delays. Development was definitely far from being a straight road ahead. More often than not, my time was used to solve bugs rather than implementing new features. They included different behavior between AI models, unexpected failure of my API key, and an annoying UI bug when the to-do pile overlayed with its own popup. The aspect which I am most proud of is the very idea itself. This is the problem that I myself faced, and many other people, I presume, must have had their experiences as well. Rather than just creating another productivity app, I have wanted to make something that would be practical for someone’s daily routine. Even if the app will help save just a few minutes, it would already mean a lot. Moreover, this project gave me an opportunity to practice debugging and using the API of an AI. Each of the problems that I managed to solve added to my knowledge, and at the end of the project, I knew a lot more about frontend and using an AI in the project. All in all, just tell me what to do has turned out to be one of those projects which was very easy at first but proved to be rather challenging in practice. I am glad that I made it till the end despite all the bugs and came up with something practical.", "repo": "https://github.com/officiallyrivaan/just-tell-me-what-to-do", "demo": "https://just-tell-me-what-to-do.vercel.app"}]...
|
[{"post_id": 32255, "ts": "202 [{"post_id": 32255, "ts": "2026-07-21T09:39:08Z", "hours": 8.0, "text": "bugs finally fixed!!! (some) alright, im back now, i had taken a short break. i fixed the liquid glass bugs, and it is finally good enough! Im fine tuning the mode recommendation feature, to make it accurate now."}, {"post_id": 28171, "ts": "2026-07-14T09:28:38Z", "hours": 3.0, "text": "okay, this devlog is gonna be a short one, since i just wanted to keep yall updated on whats up. basically, ive been facing bugs on the liquid glass topbar, i might scratch the idea entirely, not sure, and now im facing bugs on the mode recommendation…"}, {"post_id": 26365, "ts": "2026-07-11T03:30:41Z", "hours": 7.0, "text": "i worked a lot on the backend already so now i decided to work on the frontend. im developing a liquid glass component for the topbar, its not ready yet, trust me making it is a PAIN. im also almost done with the mode recommendations! im pretty sure by tommorow, or today, all of these updates will be out!"}, {"post_id": 25821, "ts": "2026-07-10T09:05:02Z", "hours": 8.0, "text": "its me again! i was on a grind, and i spent 8 hours refining the mode-specific responses, i did not change much else. next up, im planning on adding mode recommendations. this update looks at your brain dump, and suggests if there is a better mode for this input."}, {"post_id": 22538, "ts": "2026-07-05T01:56:46Z", "hours": 12.0, "text": "okay, honestly that grind was insane. 12 hours of work, i toughed it out. anyways, now to the project. alright, so a super cool update, now theres modes to the ai, like personalities that u think will best suit you. 6 modes have been added, just decide - the defualt, vent - ai is a calm listener and gives u small gentle steps, roast me - straight forward, friend-like attitude that shows you the total truth in a blunt way, hype me up - high energy, gets you pumped up u for the next step, talk it through - thinks alongside with you, and provides clarity, and finally break it down - treats your brain dumb as a task list, and is more analytical. These are the new modes, and ive made a change mode button on the tool page. This may be my final devlog before the ship! Insane update, im excited to see how this turns out!"}, {"post_id": 21998, "ts": "2026-07-04T07:06:10Z", "hours": 2.0, "text": "INSANE UPDATEEEEE! alright now ive added 2 new pages instead of 1 long scroll through page. Personally, the scroll through is really generic, and feels unfinished. One page is for “the tool,” (the ai suggester on waht to do) the other is called “my patterns” this gives u an analysis on your mood trends, productive hours etc. Im not sure if im planning to keep this feature since it feels kind of pointless. I also have added a pomodoro timer, where u get 25 minutes to complete your activity, its totally optional. In addition to that i added a share button, so u can copy it and put it into your notes, or screenshot it and send it to people! anyways, thats it for now. stay tuned for the next one!"}, {"post_id": 21581, "ts": "2026-07-03T16:42:41Z", "hours": 0.0, "text": "wsp guys! im back to working on this project, i made a few css changes over the week, nothing much really, i would want yall to suggest me some features that i can implement in the website! feel free to comment, really helps out!"}, {"post_id": 17610, "ts": "2026-06-28T14:11:26Z", "hours": 1.0, "text": "FINAL DEVLOGGGGGG, I encountered way too many bugs deleting my .env file. it was PAINFUL. Finally fixed and im gonna ship the project!!!!!!! Huge new feature added, i call it the to-do pile. Your last 5 actions show up on it, and a button thats clickable saying “did it,” as soon as you click it, the action dissappears from the to-do pile! Its been really fun working on this site!"}, {"post_id": 17569, "ts": "2026-06-28T12:29:28Z", "hours": 1.0, "text": "FINISHED BUG FIXING!!!! That took way too long. Devlog #2. Alright so now i’ve fixed the major prompting issue, you can finally talk to the ai without it bringing up additional math pass rates. 😅 I figured i’d host it on OnRender since im used to it. Added environment variables instead of the .env since its not testing anymore. Rebuilt the UI slightly. Worked on it all day. Theres a share option now, which copies the text instantly (incase you want to put it on your notes/to-do-list) Hoping i face no major bugs, please check out the site and let me know if theres bugs! (you can drop a comment or wtv) Added some nice translucent/glassy ui aswell. Not sure what’s next but lets see!"}, {"post_id": 17450, "ts": "2026-06-28T07:27:43Z", "hours": 0.0, "text": "First Devlog, i thought of one of the biggest problems in daily life, decision making. Im sure every one of us has faced this ATLEAST once, if not hundreds and thousands of times. On average, roughly 2.5 hours is spent on indecisiveness by humans, may it be micro decisions or important decisions. This led me to making, “just tell me what to do,” a website thats AI-Powered and helps you get your thoughts straight and come to a decision. I’ve made the first version, its not being hosted anywhere yet due to major bugs, but hopefully by my second devlog i will have started hosting it."}]...
|
Title: just tell me what to do by @justrivaan | St Title: just tell me what to do by @justrivaan | Stardance
Devlogs:
First Devlog, i thought of one of the biggest problems in daily life, decision making. Im sure every one of us has faced this ATLEAST once, if not hundreds and thousands of times. On average, roughly 2.5 hours is spent on indecisiveness by humans, may it be micro decisions or important decisions. This led me to making, “just tell me what to do,” a website thats AI-Powered and helps you get your thoughts straight and come to a decision. I’ve made the first version, its not being hosted anywhere yet due to major bugs, but hopefully by my second devlog i will have started hosting it.
FINISHED BUG FIXING!!!! That took way too long. Devlog #2. Alright so now i’ve fixed the major prompting issue, you can finally talk to the ai without it bringing up additional math pass rates. 😅 I figured i’d host it on OnRender since im used to it. Added environment variables instead of the .env since its not testing anymore. Rebuilt the UI slightly. Worked on it all day. Theres a share option now, which copies the text instantly (incase you want to put it on your notes/to-do-list) Hoping i face no major bugs, please check out the site and let me know if theres bugs! (you can drop a comment or wtv) Added some nice translucent/glassy ui aswell. Not sure what’s next but lets see!
FINAL DEVLOGGGGGG, I encountered way too many bugs deleting my .env file. it was PAINFUL. Finally fixed and im gonna ship the project!!!!!!! Huge new feature added, i call it the to-do pile. Your last 5 actions show up on it, and a button thats clickable saying “did it,” as soon as you click it, the action dissappears from the to-do pile! Its been really fun working on this site!
wsp guys! im back to working on this project, i made a few css changes over the week, nothing much really, i would want yall to suggest me some features that i can implement in the website! feel free to comment, really helps out!
INSANE UPDATEEEEE! alright now ive added 2 new pages instead of 1 long scroll through page. Personally, the scroll through is really generic, and feels unfinished. One page is for “the tool,” (the ai suggester on waht to do) the other is called “my patterns” this gives u an analysis on your mood trends, productive hours etc. Im not sure if im planning to keep this feature since it feels kind of pointless. I also have added a pomodoro timer, where u get 25 minutes to complete your activity, its totally optional. In addition to that i added a share button, so u can copy it and put it into your notes, or screenshot it and send it to people! anyways, thats it for now. stay tuned for the next one!
okay, honestly that grind was insane. 12 hours of work, i toughed it out. anyways, now to the project. alright, so a super cool update, now theres modes to the ai, like personalities that u think will best suit you. 6 modes have been added, just decide - the defualt, vent - ai is a calm listener and gives u small gentle steps, roast me - straight forward, friend-like attitude that shows you the total truth in a blunt way, hype me up - high energy, gets you pumped up u for the next step, talk it through - thinks alongside with you, and provides clarity, and finally break it down - treats your brain dumb as a task list, and is more analytical. These are the new modes, and ive made a change mode button on the tool page. This may be my final devlog before the ship! Insane update, im excited to see how this turns out!
its me again! i was on a grind, and i spent 8 hours refining the mode-specific responses, i did not change much else. next up, im planning on adding mode recommendations. this update looks at your brain dump, and suggests if there is a better mode for this input.
i worked a lot on the backend already so now i decided to work on the frontend. im developing a liquid glass component for the topbar, its not ready yet, trust me making it is a PAIN. im also almost done with the mode recommendations! im pretty sure by tommorow, or today, all of these updates will be out!
okay, this devlog is gonna be a short one, since i just wanted to keep yall updated on whats up. basically, ive been facing bugs on the liquid glass topbar, i might scratch the idea entirely, not sure, and now im facing bugs on the mode recommendation…
bugs finally fixed!!! (some) alright, im back now, i had taken a short break. i fixed the liquid glass bugs, and it is finally good enough! Im fine tuning the mode recommendation feature, to make it accurate now.
Ships:
As I thought about ideas, I found myself constantly thinking about the problem that everyone deals with but never considers: choosing what to do next. From procrastination to boredom or from being indecisive to having too many options to pick from, making small decisions can end up taking more time than one would expect. And that is how just tell me what to do came to life. The app poses a set of questions to users and based on their answers, makes an AI-suggested recommendation to do something specific next. Those questions include the amount of free time users have, their current state, and any limits they may have. My intention was not to create a new planning tool but rather to help remove the obstacle in making the first step and continue without additional delays. Development was definitely far from being a straight road ahead. More often than not, my time was used to solve bugs rather than implementing new features. They included different behavior between AI models, unexpected failure of my API key, and an annoying UI bug when the to-do pile overlayed with its own popup. The aspect which I am most proud of is the very idea itself. This is the problem that I myself faced, and many other people, I presume, must have had their experiences as well. Rather than just creating another productivity app, I have wanted to make something that would be practical for someone’s daily routine. Even if the app will help save just a few minutes, it would already mean a lot. Moreover, this project gave me an opportunity to practice debugging and using the API of an AI. Each of the problems that I managed to solve added to my knowledge, and at the end of the project, I knew a lot more about frontend and using an AI in the project. All in all, just tell me what to do has turned out to be one of those projects which was very easy at first but proved to be rather challenging in practice. I am glad that I made it till the end despite all the bugs and came up with something practical.
The second ship of just tell me what to do! Alright, first, here’s a quick summary on what just tell me what to do is. An AI powered tool, where you choose your time on hand, then you choose how you are feeling, and then finally dump your thoughts. This gives you the next step, the next step may help to come to a more precise decision, or it maybe just to cheer you up. I went through WAY too many difficulties during this making, i tried making user accounts, but that didnt work out, and a lot more was tried… Now the HUGE update! Modes have been added to the AI, You get to choose how the AI behaves with you! There are six new modes, (the details for them are in the previous devlog) selecting the right mode can u help you for the next step much more effectively! I am really proud of my progress so far, its been insane how much work has been put into this project, and im hoping to continue this further!
Hello, this is the final devlog for my project, i believe that the website, for its sole purpose is now totally finished. ‘just tell me what to do’ is a website i have developed for a huge problem in real life, decision making. You have to choose a time duration (the time u have on hand), and you msut choose how you are feeling (emotion), and then type out a brain dump. This input gives you an output that helps you come to a decision about your problem. There are also modes for the responses, these modes change the way the AI responds to you. There is a mode recommendation feature where if the AI believes that your brain dump is better suitable for another mode, then it recommends you to swap to that mode instead. I have really enjoyed working on this site. There were many bugs along the way, but in the end it all worked out!...
|
1792878860.1476197
|
1793742860.1476197
|
|
26769
|
Led Matrix display from WS2812B led strip by @Zeti Led Matrix display from WS2812B led strip by @Zeti_1223 | Stardance...
|
Zeti_1223
|
3
|
16.0
|
86
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T14:43:55Z", "hours": 2.0, "multiplier": 9.79, "payout": 9, "blessing": "neutral", "text": "The project is 100% Done. Things that I did since the last ship: fixed the animation sending added 3 new animations fixed little dark mode issues fixed some typo", "repo": "https://github.com/zeti1223/LED-Matrix-Disp", "demo": "https://led.cigoria.eu/"}, {"ship_num": 2, "ts": "2026-07-24T19:17:35Z", "hours": 2.0, "multiplier": 14.72, "payout": 36, "blessing": "neutral", "text": "Created a new Marketplace system, with ratings, and stats. Light and Dark mode implementation. Import animations from any GIF. https://youtu.be/nikMZGicXPA", "repo": "https://github.com/zeti1223/LED-Matrix-Disp", "demo": "https://led.cigoria.eu/"}, {"ship_num": 3, "ts": "2026-07-02T17:08:00Z", "hours": 12.0, "multiplier": 3.53, "payout": 41, "blessing": "neutral", "text": "Now it’s working and 95% done! Only sending custom animations is not working properly.", "repo": "https://github.com/zeti1223/LED-Matrix-Disp", "demo": "https://led.cigoria.eu/"}]...
|
[{"post_id": 40237, "ts": "202 [{"post_id": 40237, "ts": "2026-08-03T17:13:06Z", "hours": 1.1069, "text": "Fixed animation sending (Finally) and created 4 new animations: Fire Twinkle Waves Spiral And fixed a readme typo"}, {"post_id": 35647, "ts": "2026-07-27T07:01:07Z", "hours": 0.6603, "text": "Design fixes and Documentation fixes"}, {"post_id": 34166, "ts": "2026-07-24T17:58:18Z", "hours": 0.9511, "text": "Import from GIF"}, {"post_id": 33959, "ts": "2026-07-24T09:58:59Z", "hours": 1.0236, "text": "Working on Light mode"}, {"post_id": 31778, "ts": "2026-07-20T13:17:15Z", "hours": 0.5175, "text": "https://youtu.be/nikMZGicXPA"}, {"post_id": 20907, "ts": "2026-07-02T17:05:21Z", "hours": 0.7775, "text": "New main menu"}, {"post_id": 20081, "ts": "2026-07-01T16:30:02Z", "hours": 0.3544, "text": "Manual Led control mode"}, {"post_id": 19949, "ts": "2026-07-01T12:18:39Z", "hours": 3.5486, "text": "Marketplace"}, {"post_id": 19247, "ts": "2026-06-30T14:43:27Z", "hours": 3.4344, "text": "New patterns and a custom mode"}, {"post_id": 18536, "ts": "2026-06-29T18:33:03Z", "hours": 3.1742, "text": "I switched to Web UI"}, {"post_id": 16784, "ts": "2026-06-27T07:51:51Z", "hours": 0.5303, "text": "Better UI"}]...
|
Title: Led Matrix display from WS2812B led strip b Title: Led Matrix display from WS2812B led strip by @Zeti_1223 | Stardance
Devlogs:
Better UI
I switched to Web UI
New patterns and a custom mode
Marketplace
Manual Led control mode
New main menu
https://youtu.be/nikMZGicXPA
Working on Light mode
Import from GIF
Design fixes and Documentation fixes
Fixed animation sending (Finally) and created 4 new animations: Fire Twinkle Waves Spiral And fixed a readme typo
Ships:
Now it’s working and 95% done! Only sending custom animations is not working properly.
Created a new Marketplace system, with ratings, and stats. Light and Dark mode implementation. Import animations from any GIF. https://youtu.be/nikMZGicXPA
The project is 100% Done. Things that I did since the last ship: fixed the animation sending added 3 new animations fixed little dark mode issues fixed some typo...
|
1792968935.3576226
|
1793055335.3576226
|
|
26883
|
Rifted Rush by @splice | Stardance
|
splice
|
3
|
29.0
|
334
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T14:33:48Z", "hours": 6.0, "multiplier": 12.21, "payout": 74, "blessing": "neutral", "text": "This is the second finished update for Rifted-Rush! KEYBOARD + MOUSE ONLY! if you’re mobile im sorry but pls skip What has been added: ONE new minigame: Star Drag (drag the star along) Practice mode - Get better at the minigames you’re the worst at🥲 - accessed by completing the tutorial then clicking the rift on the home screen WASD Support!! (arrow keys are still usable) IMPROVED difficulty scaling - now accessible to those who aren’t the best at games 🥹 COMPETITVE score mechanics - try this game with your friends too and see who can get the highest score! One last thing, like last time if you don’t get 5000 score in freeplay you have to give me max ratings again 🥹 (jk just vote honestly!!) playable link: https://spliceydice.itch.io/rifted-rush github repo link: https://github.com/spliceydice/Rifted-Rush", "repo": "https://github.com/spliceydice/Rifted-Rush", "demo": "https://spliceydice.itch.io/rifted-rush"}, {"ship_num": 2, "ts": "2026-08-29T20:02:50Z", "hours": 17.0, "multiplier": 15.0, "payout": 260, "blessing": "neutral", "text": "This is the finished (WarioWare-style) game called Rifted-Rush. KEYBOARD + MOUSE ONLY! if you’re mobile im sorry but pls skip What has been added/changed: TWO new minigames: protecting and dodging (i’m bad at names 🥹) much better, updated visuals to fit a space theme (including fonts) freeplay mode, endless minigames with difficulty scaling score mechanics which update based on time left feel free to skip the tutorial to access freeplay mode immediately also, just a little note if you cant get at least 2500 score in freeplay you have to give me max rating :) (just kidding just vote based on what YOU think of the game)", "repo": "https://github.com/spliceydice/Rifted-Rush", "demo": "https://spliceydice.itch.io/rifted-rush"}, {"ship_num": 3, "ts": "2026-07-25T12:34:20Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made (for now) a demo of a WarioWare game and what it will entail when fully developed.", "repo": "https://github.com/spliceydice/Rifted-Rush", "demo": "https://spliceydice.itch.io/rifted-rush"}]...
|
[{"post_id": 76427, "ts": "202 [{"post_id": 76427, "ts": "2026-10-03T14:21:26Z", "hours": 3.1144, "text": "** Devlog 8 ** - The End ** hi guys, as i’ve said way too many times in the past, this time is truly the end. These GCSE Mocks are not to be messed with 🥹 Practice Mode I finally added a mode where you can practice the minigames you struggle the most at over and over again. It also scales up in difficulty much faster for convenience. I had to create a variable which holds which minigame needs to be repeated then linked it to the timer screen so whenever this variable ever has a value above 0, it repeats the desired minigame. Unfortunately, there won’t be a score mechanic for this mode as I deem it not too useful. This mode can only be accessed after completing the tutorial and clicking on the rift on the title screen. Controls Added WASD support, tbh it was easier than I originally thought it would be. I have kept arrow key support in game though for whoever that still wants to use that 🤔🤔🤔. General Bug Fixes Fixed minigame 3 shield clipping off screen Fixed some text not being displayed properly Changed visuals to match new controls Asset finding LUCKILY, I didn’t need to traverse the internet in its entirety this time as my goat shiroze had a wonderful background for my practice mode scene The End… I would ask for suggestions but this is where development truly ends forever 💔💔 I need to lock in for these GCSES!!! Instead of me doing you suggestions, this time around I want YOU guys to continue the project as that would probably be the best thing I could hear. 🥹🥹 well, like always: check out the repo 🥹: https://github.com/spliceydice/Rifted-Rush https://spliceydice.itch.io/rifted-rush"}, {"post_id": 70717, "ts": "2026-09-19T17:25:28Z", "hours": 2.91, "text": "** Devlog 7 ** Hi guys, yes I’m back somehow while school is on. I decided that I should continue this project just a little longer because an extra six hours wouldn’t hurt. NEW MINIGAME!!!! I kept it simple this time where the objective is to drag a star across a designated path. I had to use Path2D and PathFollow nodes for this but tbh the PathFollow node was probably easier to use than I expected. Also made the star a seperate scene for easier management for direct changes to the sprite while leaving other elements intact (can this guy PLEASE stop waffling to make his devlog look longer and more detailed). preview attached Scaling I settled on making the game super easy at the start but then ramping up the scaling rate quite heavily. This lets the game be more accessible to everyone while still providing a challenge. As a result however, all new scores will be heavily inflated since I decided to leave the score system as it is. Asset finding Let’s be fr there’s nothing I really need to say about this. It was horrible like always and the hours don’t even count 💔💔. The Future I plan to add mobile support soon potentially, that minigame practice thing through the rift that I mentioned like three devlogs ago and also I need to polish up the repository and README. It’s a short list as I only plan to do three more hours on this project so expect one more devlog! Anyways, if you have any suggestions, please let me know and as always, check out the repo 🥹: https://github.com/spliceydice/Rifted-Rush https://spliceydice.itch.io/rifted-rush"}, {"post_id": 57584, "ts": "2026-08-29T19:36:11Z", "hours": 4.0942, "text": "**Devlog 6 ** Hi guys, unfortunately, I will be ending development for rifted rush here due to gcses being just around the corner 💔. I’d love to work on this project more especially when I’m only six hours away from the certificate but I have to get my priorities straight ifykwim. Anyway, let’s get into what I added: Scoreee Finally, I added a way to track your score and points are given based on each half a second left and there’s also a base completion amount. The extra points from beating minigames quickly causes the player (my friends so far) to just panic (which is good ofc). Clicking minigame I added a random position spawning mechanic for these buttons although they tend to clump still for no apparent reason. I don’t know if its simply how the rng works or there’s a bug. Display Resolution So um I didn’t realise during the whole development of this game, I was using a 1152 x 648 res 💀. Thankfully, it’s the same aspect ratio as 1920 x 1080 so I was able to scale it via Godot’s native settings. although, the quality is a bit rough in some places… New ending screen Originally, I was using the same lose screen upon death in free-play mode as the tutorial. So, I changed it because the core loop of a Wario-ware style game is to play until you die so it shouldn’t really count as losing. Instead, I made a new scene where your score is displayed. Some minor things updated scaling formula AGAINN cleaned up some unused files from github/ the directory you won’t be able to reach 5000 score because you’re not good enough mwhahahaha (neither am I) play your own music while playing - i’m too lazy to search for music 🥲🥲 The End Well, this is the end. I’ll be honest I’ve had lots of fun in the hack club/stardance program. I really hope to be able to participate in hack club’s next flagship summer program. I’ll have way more time then and make sure to remember me because I’ll be making some absolute bangers. Anyway, like always, check out my repo: https://github.com/spliceydice/Rifted-Rush and try and get a higher score than me! https://spliceydice.itch.io/rifted-rush"}, {"post_id": 53207, "ts": "2026-08-23T17:27:13Z", "hours": 2.6569, "text": "** Devlog 5 ** Hi guys, as you may be able to tell yes the devlogs are a bit more frequent mainly because I’m trying to finish this before school. and this is NOT my last devlog lol New minigame Added a survival type minigame where small fireballs spawn from all directions and you have to dodge them all. Required heavy tweaking because it was way too difficult to find the right balance between easy and hard. Freeplay Mode Essentially the main mode where you play until you lose all of your lives. May add a life recovery feature in the future. Also, prevented from minigames repeating right after itself. code attached Difficulty Scaling Made each game harder dependent on the number of minigames you have completed in that session. Overall, much wasn’t changed but a lot changed at the same time too if that makes sense. I’m hoping to add a scoring mechanic in the future and one new minigame and a boss fight that appears occasionally. Thanks for reading, Check out my repo!: https://github.com/spliceydice/Rifted-Rush"}, {"post_id": 51069, "ts": "2026-08-20T15:35:30Z", "hours": 4.8581, "text": "** Devlog #4 ** Hi guys, almost five hours since my last devlog and I made only one extra minigame 🥲🥲🥲 Finding assets again 😡😡😡😡 To be honest, it wasn’t that bad thanks to @nyk_nck (on itch.io so ignore the link). I was able to get most of my assets from them and I must say they worked well together. New minigame Basically, this new minigame is one where fireballs are launched at you from random directions and using a and d, you rotate your shield to protect the moon and if you fail you lose a life. On the surface it looks simple but it’s lowk quite complex. ##Code itself Coding that game wasn’t that hard thanks to claude a little bit but it was mostly me. I had to create a fireball spawner, then logic for the fireball itself, then I had to create scripts for the shield to destroy the fireballs and then I had to attach scripts to the moon so it detects when its hit so you lose a life. It was very worth it though. What next? I plan to add a fourth minigame along with some bg music (its quite quiet rn) and then add that freeplay mode! That will probably be my last ship though because for me year 11 is about to start and I need to lock in. anyways, thanks for reading check out my repo!: https://github.com/spliceydice/Rifted-Rush"}, {"post_id": 46967, "ts": "2026-08-14T15:32:51Z", "hours": 5.6922, "text": "** Devlog #3 ** Hi guys, So, it’s been a very very very long time since my last devlog. Anyways, as I promised previously there has been a massive visual overhaul and it actually looks promising 🥹🥹🥹🥹. Asset finding I’ll be honest, finding assets was the worst experience of my whole life 😭. But after hours of searching JUST for backgrounds (those hours don’t get logged btw ✌️) I actually found some pretty decent ones. All of them are from Shiroze btw on itch.io so all credits to her! I also needed some assets for controls (I’ll talk about that later) but those were relatively easy to find. I also needed a graphic of a pixelated rift which I’ll be honest doesn’t even look that good but I needed something to fill the space on the title screen. I imported a font too. Importing assets I imported them 👍👍 Implementing the assets For the backgrounds, it was pretty quick and easy you just replace the file on the node that you already created from the guide. Then changing the fonts for text was quick however when using pixel art assets including the font you have to make sure you manually set the texturing filter to nearest to make sure your fonts/assets actually look good. AS for the controls I was talking about earlier, I implemented those into the loading screens prior to the following minigame that needs those controls. I’ll be honest I had to ask gemini how to create a fading effect but I got the hang of it myself in the end. ALSO, I changed the character sprite for the platformer and changed the minigame slightly itself. Things idk where to put I added the base of a settings screen (no settings yet) I want to credit Shiroze again for most of the assets! I’ll attach what some of the scenes look like. Also, I renamed the game to rifted rush because… it sounds cool idk 😭. What’s Next? Hopefully, using my grant for itch.io, I’m going to find some nice background music for the game as a whole because it’s too quiet right now. Additionally, I plan to add two new minigames and a freeplay mode (will be the main mode after tutorial) where you can try to get a high score! I’m also going to add a secret on the tittle screen soon where you can practice individual minigames themselves. Thanks for reading! As always reply w/ any suggestions and check out my repo! https://github.com/spliceydice/Rifted-Rush"}, {"post_id": 34538, "ts": "2026-07-25T10:36:23Z", "hours": 3.3081, "text": "**Devlog #2 ** Hi guys, I’ve continued my development of the game and it is essentially finished. Scenes Recently, I’ve completed the death and done screens and they are simply placeholders at the moment. In the near future, I plan to do an overhaul on all visuals in the game as well as rewrite some text because it seems quite clunky. Scripting I’ve gotten the hang of the language Godot uses partially due to experience but the internet too. It feels like python but just a bit more advaced. What next? I plan to ship the base game as is and after will drop a major update where new minigames, bossfights, visuals (space themed) and sfx are added. Overall, it will be a quality/content update. That’s all I have to say for now. Please leave any suggestions especially on visuals! Check out my github repo! https://github.com/spliceydice/WarioWareGame"}, {"post_id": 32320, "ts": "2026-07-21T12:43:31Z", "hours": 3.0414, "text": "** Devlog #1 ** Hi guys, I’ve started to work on a WarioWare Game and its been really fun but its been difficult too. Initialising everything When I first started, Github and installing time loggers was really complicated for me and it took me way longer to start than it should have😭😭. However, I watched some tutorials on YouTube and it really helped. Actually coding Godot was really new to me and took me some time to figure out. At the start, I ended up setting each node as a child to each other and debugging that was genuine horror 💀💀. I basically had to restart but I caught it early so it was fine. The guide helped significantly (as it should) but it was quite ambiguous at times. So far, I’ve implemented timers and life mechanics and have just started to implement the minigames. It was really fun to add my own personality into the game by embedding my interests into it. For example, I changed some textures like the garlic lives to mc textures. So, What Next? I hope to continue adding minigames and go beyond the guide. I plan for this to be my main project that I work through and add more features like leaderboard mechanics as time goes on. That’s all I have to say for now. Check out my github repo and feel free to leave any suggestions! https://github.com/spliceydice/WarioWareGame"}]...
|
Title: Rifted Rush by @splice | Stardance
Devlogs Title: Rifted Rush by @splice | Stardance
Devlogs:
** Devlog #1 ** Hi guys, I’ve started to work on a WarioWare Game and its been really fun but its been difficult too. Initialising everything When I first started, Github and installing time loggers was really complicated for me and it took me way longer to start than it should have😭😭. However, I watched some tutorials on YouTube and it really helped. Actually coding Godot was really new to me and took me some time to figure out. At the start, I ended up setting each node as a child to each other and debugging that was genuine horror 💀💀. I basically had to restart but I caught it early so it was fine. The guide helped significantly (as it should) but it was quite ambiguous at times. So far, I’ve implemented timers and life mechanics and have just started to implement the minigames. It was really fun to add my own personality into the game by embedding my interests into it. For example, I changed some textures like the garlic lives to mc textures. So, What Next? I hope to continue adding minigames and go beyond the guide. I plan for this to be my main project that I work through and add more features like leaderboard mechanics as time goes on. That’s all I have to say for now. Check out my github repo and feel free to leave any suggestions! https://github.com/spliceydice/WarioWareGame
**Devlog #2 ** Hi guys, I’ve continued my development of the game and it is essentially finished. Scenes Recently, I’ve completed the death and done screens and they are simply placeholders at the moment. In the near future, I plan to do an overhaul on all visuals in the game as well as rewrite some text because it seems quite clunky. Scripting I’ve gotten the hang of the language Godot uses partially due to experience but the internet too. It feels like python but just a bit more advaced. What next? I plan to ship the base game as is and after will drop a major update where new minigames, bossfights, visuals (space themed) and sfx are added. Overall, it will be a quality/content update. That’s all I have to say for now. Please leave any suggestions especially on visuals! Check out my github repo! https://github.com/spliceydice/WarioWareGame
** Devlog #3 ** Hi guys, So, it’s been a very very very long time since my last devlog. Anyways, as I promised previously there has been a massive visual overhaul and it actually looks promising 🥹🥹🥹🥹. Asset finding I’ll be honest, finding assets was the worst experience of my whole life 😭. But after hours of searching JUST for backgrounds (those hours don’t get logged btw ✌️) I actually found some pretty decent ones. All of them are from Shiroze btw on itch.io so all credits to her! I also needed some assets for controls (I’ll talk about that later) but those were relatively easy to find. I also needed a graphic of a pixelated rift which I’ll be honest doesn’t even look that good but I needed something to fill the space on the title screen. I imported a font too. Importing assets I imported them 👍👍 Implementing the assets For the backgrounds, it was pretty quick and easy you just replace the file on the node that you already created from the guide. Then changing the fonts for text was quick however when using pixel art assets including the font you have to make sure you manually set the texturing filter to nearest to make sure your fonts/assets actually look good. AS for the controls I was talking about earlier, I implemented those into the loading screens prior to the following minigame that needs those controls. I’ll be honest I had to ask gemini how to create a fading effect but I got the hang of it myself in the end. ALSO, I changed the character sprite for the platformer and changed the minigame slightly itself. Things idk where to put I added the base of a settings screen (no settings yet) I want to credit Shiroze again for most of the assets! I’ll attach what some of the scenes look like. Also, I renamed the game to rifted rush because… it sounds cool idk 😭. What’s Next? Hopefully, using my grant for itch.io, I’m going to find some nice background music for the game as a whole because it’s too quiet right now. Additionally, I plan to add two new minigames and a freeplay mode (will be the main mode after tutorial) where you can try to get a high score! I’m also going to add a secret on the tittle screen soon where you can practice individual minigames themselves. Thanks for reading! As always reply w/ any suggestions and check out my repo! https://github.com/spliceydice/Rifted-Rush
** Devlog #4 ** Hi guys, almost five hours since my last devlog and I made only one extra minigame 🥲🥲🥲 Finding assets again 😡😡😡😡 To be honest, it wasn’t that bad thanks to @nyk_nck (on itch.io so ignore the link). I was able to get most of my assets from them and I must say they worked well together. New minigame Basically, this new minigame is one where fireballs are launched at you from random directions and using a and d, you rotate your shield to protect the moon and if you fail you lose a life. On the surface it looks simple but it’s lowk quite complex. ##Code itself Coding that game wasn’t that hard thanks to claude a little bit but it was mostly me. I had to create a fireball spawner, then logic for the fireball itself, then I had to create scripts for the shield to destroy the fireballs and then I had to attach scripts to the moon so it detects when its hit so you lose a life. It was very worth it though. What next? I plan to add a fourth minigame along with some bg music (its quite quiet rn) and then add that freeplay mode! That will probably be my last ship though because for me year 11 is about to start and I need to lock in. anyways, thanks for reading check out my repo!: https://github.com/spliceydice/Rifted-Rush
** Devlog 5 ** Hi guys, as you may be able to tell yes the devlogs are a bit more frequent mainly because I’m trying to finish this before school. and this is NOT my last devlog lol New minigame Added a survival type minigame where small fireballs spawn from all directions and you have to dodge them all. Required heavy tweaking because it was way too difficult to find the right balance between easy and hard. Freeplay Mode Essentially the main mode where you play until you lose all of your lives. May add a life recovery feature in the future. Also, prevented from minigames repeating right after itself. code attached Difficulty Scaling Made each game harder dependent on the number of minigames you have completed in that session. Overall, much wasn’t changed but a lot changed at the same time too if that makes sense. I’m hoping to add a scoring mechanic in the future and one new minigame and a boss fight that appears occasionally. Thanks for reading, Check out my repo!: https://github.com/spliceydice/Rifted-Rush
**Devlog 6 ** Hi guys, unfortunately, I will be ending development for rifted rush here due to gcses being just around the corner 💔. I’d love to work on this project more especially when I’m only six hours away from the certificate but I have to get my priorities straight ifykwim. Anyway, let’s get into what I added: Scoreee Finally, I added a way to track your score and points are given based on each half a second left and there’s also a base completion amount. The extra points from beating minigames quickly causes the player (my friends so far) to just panic (which is good ofc). Clicking minigame I added a random position spawning mechanic for these buttons although they tend to clump still for no apparent reason. I don’t know if its simply how the rng works or there’s a bug. Display Resolution So um I didn’t realise during the whole development of this game, I was using a 1152 x 648 res 💀. Thankfully, it’s the same aspect ratio as 1920 x 1080 so I was able to scale it via Godot’s native settings. although, the quality is a bit rough in some places… New ending screen Originally, I was using the same lose screen upon death in free-play mode as the tutorial. So, I changed it because the core loop of a Wario-ware style game is to play until you die so it shouldn’t really count as losing. Instead, I made a new scene where your score is displayed. Some minor things updated scaling formula AGAINN cleaned up some unused files from github/ the directory you won’t be able to reach 5000 score because you’re not good enough mwhahahaha (neither am I) play your own music while playing - i’m too lazy to search for music 🥲🥲 The End Well, this is the end. I’ll be honest I’ve had lots of fun in the hack club/stardance program. I really hope to be able to participate in hack club’s next flagship summer program. I’ll have way more time then and make sure to remember me because I’ll be making some absolute bangers. Anyway, like always, check out my repo: https://github.com/spliceydice/Rifted-Rush and try and get a higher score than me! https://spliceydice.itch.io/rifted-rush
** Devlog 7 ** Hi guys, yes I’m back somehow while school is on. I decided that I should continue this project just a little longer because an extra six hours wouldn’t hurt. NEW MINIGAME!!!! I kept it simple this time where the objective is to drag a star across a designated path. I had to use Path2D and PathFollow nodes for this but tbh the PathFollow node was probably easier to use than I expected. Also made the star a seperate scene for easier management for direct changes to the sprite while leaving other elements intact (can this guy PLEASE stop waffling to make his devlog look longer and more detailed). preview attached Scaling I settled on making the game super easy at the start but then ramping up the scaling rate quite heavily. This lets the game be more accessible to everyone while still providing a challenge. As a result however, all new scores will be heavily inflated since I decided to leave the score system as it is. Asset finding Let’s be fr there’s nothing I really need to say about this. It was horrible like always and the hours don’t even count 💔💔. The Future I plan to add mobile support soon potentially, that minigame practice thing through the rift that I mentioned like three devlogs ago and also I need to polish up the repository and README. It’s a short list as I only plan to do three more hours on this project so expect one more devlog! Anyways, if you have any suggestions, please let me know and as always, check out the repo 🥹: https://github.com/spliceydice/Rifted-Rush https://spliceydice.itch.io/rifted-rush
** Devlog 8 ** - The End ** hi guys, as i’ve said way too many times in the past, this time is truly the end. These GCSE Mocks are not to be messed with 🥹 Practice Mode I finally added a mode where you can practice the minigames you struggle the most at over and over again. It also scales up in difficulty much faster for convenience. I had to create a variable which holds which minigame needs to be repeated then linked it to the timer screen so whenever this variable ever has a value above 0, it repeats the desired minigame. Unfortunately, there won’t be a score mechanic for this mode as I deem it not too useful. This mode can only be accessed after completing the tutorial and clicking on the rift on the title screen. Controls Added WASD support, tbh it was easier than I originally thought it would be. I have kept arrow key support in game though for whoever that still wants to use that 🤔🤔🤔. General Bug Fixes Fixed minigame 3 shield clipping off screen Fixed some text not being displayed properly Changed visuals to match new controls Asset finding LUCKILY, I didn’t need to traverse the internet in its entirety this time as my goat shiroze had a wonderful background for my practice mode scene The End… I would ask for suggestions but this is where development truly ends forever 💔💔 I need to lock in for these GCSES!!! Instead of me doing you suggestions, this time around I want YOU guys to continue the project as that would probably be the best thing I could hear. 🥹🥹 well, like always: check out the repo 🥹: https://github.com/spliceydice/Rifted-Rush https://spliceydice.itch.io/rifted-rush
Ships:
I made (for now) a demo of a WarioWare game and what it will entail when fully developed.
This is the finished (WarioWare-style) game called Rifted-Rush. KEYBOARD + MOUSE ONLY! if you’re mobile im sorry but pls skip What has been added/changed: TWO new minigames: protecting and dodging (i’m bad at names 🥹) much better, updated visuals to fit a space theme (including fonts) freeplay mode, endless minigames with difficulty scaling score mechanics which update based on time left feel free to skip the tutorial to access freeplay mode immediately also, just a little note if you cant get at least 2500 score in freeplay you have to give me max rating :) (just kidding just vote based on what YOU think of the game)
This is the second finished update for Rifted-Rush! KEYBOARD + MOUSE ONLY! if you’re mobile im sorry but pls skip What has been added: ONE new minigame: Star Drag (drag the star along) Practice mode - Get better at the minigames you’re the worst at🥲 - accessed by completing the tutorial then clicking the rift on the home screen WASD Support!! (arrow keys are still usable) IMPROVED difficulty scaling - now accessible to those who aren’t the best at games 🥹 COMPETITVE score mechanics - try this game with your friends too and see who can get the highest score! One last thing, like last time if you don’t get 5000 score in freeplay you have to give me max ratings again 🥹 (jk just vote honestly!!) playable link: https://spliceydice.itch.io/rifted-rush github repo link: https://github.com/spliceydice/Rifted-Rush...
|
1792979593.3456016
|
1793065993.3456016
|
|
27454
|
MacWall - Website by @foundrceo | Stardance
|
foundrceo
|
3
|
116.0
|
1090
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T12:01:12Z", "hours": 18.0, "multiplier": 18.8, "payout": 331, "blessing": "neutral", "text": "Redesigned the homepage and site UI New hero, navbar, category strip and License pop-up. Features shown as rows, an Apple-style footer, and new 404 and error pages. New app icon everywhere (favicons, email logo) and a new social share image. New hero app video in 1080p, slowed down. Redesigned pricing page that says “one-time payment”. Install guide with animations, shown after you download. New help center with topic cards, search, and help inside the ⌘K command menu. Moved the whole site from Vercel to Cloudflare Workers macwall.app now runs on Cloudflare; Vercel is kept only as a backup. I connected the domains, moved the scheduled jobs (cron) over, set up caching for the landing pages, and fixed visitor country/IP detection on Cloudflare. Before the move I cut Vercel costs: videos served from R2, longer caching, lighter images, smaller 404 pages. Phone visitors On a phone, “Send to my Mac” emails you the download link instead of downloading a Mac file. “Set on Mac” opens the app directly through a macwall:// link. Wallpaper gallery and search traffic 45 wallpaper collections, more detailed wallpaper pages, and guides written to answer questions directly. Gallery sorted by most liked, with a “Download free” button and a sticky bar at the bottom. Faster loading: static gallery pages, lighter images, and full-size wallpaper files no longer served.", "repo": "https://github.com/foundrceo/MacWall-Web", "demo": "https://macwall.app/"}, {"ship_num": 2, "ts": "2026-09-16T07:40:26Z", "hours": 55.0, "multiplier": 10.94, "payout": 556, "blessing": "neutral", "text": "I just updated the entire ui ux of my website to make it 100x better and get better conversions update all the files and components name also to a professional / enterprise level", "repo": "https://github.com/foundrceo/MacWall-Web", "demo": "https://macwall.app/"}, {"ship_num": 3, "ts": "2026-07-24T10:16:41Z", "hours": 43.0, "multiplier": 9.79, "payout": 203, "blessing": "neutral", "text": "what did you make? macwall.app - the website for my macos live wallpaper app. download the free app buy pro with stripe and activate with a deep link. also pricing blog submit wallpapers and affiliates. what was challenging? getting checkout right. stripe → license email → macwall://activate had a lot of edge cases. india pricing and the reel refund flow took a few rewrites. keeping price copy in sync with real stripe prices was annoying. what are you proud of? it is live and people can actually use it. one click download one click checkout and the app unlocks. the site feels like a real product not a template. what should people know so they can test? open https://macwall.app hit download for macos (or grab the dmg on the github release). you need macos 26. browse pricing if you want to see permanent annual and reel refund. free try works without paying.", "repo": "https://github.com/foundrceo/MacWall-Web", "demo": "https://macwall.app/"}]...
|
[{"post_id": 80623, "ts": "202 [{"post_id": 80623, "ts": "2026-10-18T10:19:19Z", "hours": 10.7622, "text": "Just Shipped a major update in the ui ux overall application."}, {"post_id": 74829, "ts": "2026-09-28T12:06:55Z", "hours": 3.3728, "text": "raised macwall pricing recently and the response has actually been really good traffic is growing a lot too now around 59k visitors and 128k page views been testing pricing changes and polishing the site while watching how people respond to it"}, {"post_id": 72557, "ts": "2026-09-23T06:44:37Z", "hours": 2.4158, "text": "Update: v4.0.3Sep 18, 2026"}, {"post_id": 69630, "ts": "2026-09-17T13:22:36Z", "hours": 1.8347, "text": "mihi"}, {"post_id": 69026, "ts": "2026-09-16T07:39:04Z", "hours": 8.0711, "text": "Updated Entire Website UI/UX to 100x better :)"}, {"post_id": 64279, "ts": "2026-09-08T15:39:49Z", "hours": 0.9261, "text": "Fixes - Older free installs are treated the same as an ended trial: wallpapers stay paused until you unlock Pro."}, {"post_id": 62817, "ts": "2026-09-06T10:44:52Z", "hours": 6.8814, "text": "Improvements Public changelog page synced with shipping updates. Align the site catalog with the nine app categories. Allow timed unique conversion codes at checkout and in recovery mail."}, {"post_id": 43780, "ts": "2026-08-09T06:37:47Z", "hours": 10.1469, "text": "Improvements- Overhaul marketing copy, pricing UX, and hero assets for conversion. Fixes - Fix checkout recovery mail for failed and abandoned payments."}, {"post_id": 41147, "ts": "2026-08-05T05:28:58Z", "hours": 9.2678, "text": "New features - Public wallpaper gallery with search, SEO, and app deep links. Improvements - Clearer pricing cards, benefits, and upgrade prompts. Fixes - Fix blank wallpaper player caused by expired ISR signed URLs. Fix gallery Back wiping Show more and jumping to the footer."}, {"post_id": 39858, "ts": "2026-08-03T03:47:19Z", "hours": 13.9444, "text": "Highlights MacWall 3.0 — a redesigned Home with Liquid Glass chrome and a cleaner everyday workflow. Heart any wallpaper to bookmark it in Library Favorites without downloading. Save wallpapers to your Library, then auto-cycle them as a slideshow. New features Home rebuilt around Top Charts and Categories for faster browsing. Spotlight-style search to find wallpapers instantly (⌘K / ⌘F). One Add Wallpaper flow for private Library imports and community submissions. Save-only Library actions — keep a wallpaper without setting it on the desktop. Auto-cycle slideshow through saved Library wallpapers. Open wallpapers from macwall.app share links directly in the app. Pro+ licenses now support 10, 15, or 20 Macs. New features - Home rebuilt around Top Charts and Categories for faster browsing. Discord community invite pointed at the new server link. Improvements Liquid Glass navigation, Cause brand type, and tighter Home composition. Pro unlock sheet with glass chrome and smooth open / close motion. Escape closes overlays reliably — no blue focus ring around the window. Native Settings sidebar Forms and simpler window chrome. App icon refreshed to match macwall.app. Instagram handle updated to @macwallapp_ . Discord community invite pointed at the new server link. Highlights - MacWall 3.0 — a redesigned Home with Liquid Glass chrome and a cleaner everyday workflow. Heart any wallpaper to bookmark it in Library Favorites without downloading. Save wallpapers to your Library, then auto-cycle them as a slideshow. Spotlight-style search to find wallpapers instantly (⌘K / ⌘F). Save-only Library actions — keep a wallpaper without setting it on the desktop. Auto-cycle slideshow through saved Library wallpapers. Open wallpapers from macwall.app share links directly in the app. Improvements - Liquid Glass navigation, Cause brand type, and tighter Home composition. Favorites correctly appear in Library without a silent full download. Stronger app lifecycle, liveness, and desktop wallpaper stability. Smoother Live Support handoff with fewer stuck tickets. Fixes More reliable native wallpaper apply, repair, and extension playback. Favorites correctly appear in Library without a silent full download. Stronger app lifecycle, liveness, and desktop wallpaper stability. Smoother Live Support handoff with fewer stuck tickets. Fixes - More reliable native wallpaper apply, repair, and extension playback."}, {"post_id": 35582, "ts": "2026-07-27T03:37:07Z", "hours": 2.1853, "text": "MacWall updates after June 1, 2026"}, {"post_id": 34484, "ts": "2026-07-25T07:47:03Z", "hours": 3.4406, "text": "Working on MacWall.app :)"}, {"post_id": 33965, "ts": "2026-07-24T10:14:34Z", "hours": 0.7647, "text": "I built MacWall because I wanted live wallpapers on Mac that feel native not an Electron wrapper eating battery. The Swift app is the product. This repo is the storefront: marketing, Stripe checkout, license activation, downloads, blog, community submit, and admin tools."}, {"post_id": 33944, "ts": "2026-07-24T08:38:07Z", "hours": 14.6167, "text": "shipped pricing model today let’s go visit for free live wallpapers for your mac 💻 macwall.app get your one now !"}, {"post_id": 17445, "ts": "2026-06-28T07:04:17Z", "hours": 27.6111, "text": "live wallpaper for macos download the app now"}]...
|
Title: MacWall - Website by @foundrceo | Stardance Title: MacWall - Website by @foundrceo | Stardance
Devlogs:
live wallpaper for macos download the app now
shipped pricing model today let’s go visit for free live wallpapers for your mac 💻 macwall.app get your one now !
I built MacWall because I wanted live wallpapers on Mac that feel native not an Electron wrapper eating battery. The Swift app is the product. This repo is the storefront: marketing, Stripe checkout, license activation, downloads, blog, community submit, and admin tools.
Working on MacWall.app :)
MacWall updates after June 1, 2026
Highlights MacWall 3.0 — a redesigned Home with Liquid Glass chrome and a cleaner everyday workflow. Heart any wallpaper to bookmark it in Library Favorites without downloading. Save wallpapers to your Library, then auto-cycle them as a slideshow. New features Home rebuilt around Top Charts and Categories for faster browsing. Spotlight-style search to find wallpapers instantly (⌘K / ⌘F). One Add Wallpaper flow for private Library imports and community submissions. Save-only Library actions — keep a wallpaper without setting it on the desktop. Auto-cycle slideshow through saved Library wallpapers. Open wallpapers from macwall.app share links directly in the app. Pro+ licenses now support 10, 15, or 20 Macs. New features - Home rebuilt around Top Charts and Categories for faster browsing. Discord community invite pointed at the new server link. Improvements Liquid Glass navigation, Cause brand type, and tighter Home composition. Pro unlock sheet with glass chrome and smooth open / close motion. Escape closes overlays reliably — no blue focus ring around the window. Native Settings sidebar Forms and simpler window chrome. App icon refreshed to match macwall.app. Instagram handle updated to @macwallapp_ . Discord community invite pointed at the new server link. Highlights - MacWall 3.0 — a redesigned Home with Liquid Glass chrome and a cleaner everyday workflow. Heart any wallpaper to bookmark it in Library Favorites without downloading. Save wallpapers to your Library, then auto-cycle them as a slideshow. Spotlight-style search to find wallpapers instantly (⌘K / ⌘F). Save-only Library actions — keep a wallpaper without setting it on the desktop. Auto-cycle slideshow through saved Library wallpapers. Open wallpapers from macwall.app share links directly in the app. Improvements - Liquid Glass navigation, Cause brand type, and tighter Home composition. Favorites correctly appear in Library without a silent full download. Stronger app lifecycle, liveness, and desktop wallpaper stability. Smoother Live Support handoff with fewer stuck tickets. Fixes More reliable native wallpaper apply, repair, and extension playback. Favorites correctly appear in Library without a silent full download. Stronger app lifecycle, liveness, and desktop wallpaper stability. Smoother Live Support handoff with fewer stuck tickets. Fixes - More reliable native wallpaper apply, repair, and extension playback.
New features - Public wallpaper gallery with search, SEO, and app deep links. Improvements - Clearer pricing cards, benefits, and upgrade prompts. Fixes - Fix blank wallpaper player caused by expired ISR signed URLs. Fix gallery Back wiping Show more and jumping to the footer.
Improvements- Overhaul marketing copy, pricing UX, and hero assets for conversion. Fixes - Fix checkout recovery mail for failed and abandoned payments.
Improvements Public changelog page synced with shipping updates. Align the site catalog with the nine app categories. Allow timed unique conversion codes at checkout and in recovery mail.
Fixes - Older free installs are treated the same as an ended trial: wallpapers stay paused until you unlock Pro.
Updated Entire Website UI/UX to 100x better :)
mihi
Update: v4.0.3Sep 18, 2026
raised macwall pricing recently and the response has actually been really good traffic is growing a lot too now around 59k visitors and 128k page views been testing pricing changes and polishing the site while watching how people respond to it
Just Shipped a major update in the ui ux overall application.
Ships:
what did you make? macwall.app - the website for my macos live wallpaper app. download the free app buy pro with stripe and activate with a deep link. also pricing blog submit wallpapers and affiliates. what was challenging? getting checkout right. stripe → license email → macwall://activate had a lot of edge cases. india pricing and the reel refund flow took a few rewrites. keeping price copy in sync with real stripe prices was annoying. what are you proud of? it is live and people can actually use it. one click download one click checkout and the app unlocks. the site feels like a real product not a template. what should people know so they can test? open https://macwall.app hit download for macos (or grab the dmg on the github release). you need macos 26. browse pricing if you want to see permanent annual and reel refund. free try works without paying.
I just updated the entire ui ux of my website to make it 100x better and get better conversions update all the files and components name also to a professional / enterprise level
Redesigned the homepage and site UI New hero, navbar, category strip and License pop-up. Features shown as rows, an Apple-style footer, and new 404 and error pages. New app icon everywhere (favicons, email logo) and a new social share image. New hero app video in 1080p, slowed down. Redesigned pricing page that says “one-time payment”. Install guide with animations, shown after you download. New help center with topic cards, search, and help inside the ⌘K command menu. Moved the whole site from Vercel to Cloudflare Workers macwall.app now runs on Cloudflare; Vercel is kept only as a backup. I connected the domains, moved the scheduled jobs (cron) over, set up caching for the landing pages, and fixed visitor country/IP detection on Cloudflare. Before the move I cut Vercel costs: videos served from R2, longer caching, lighter images, smaller 404 pages. Phone visitors On a phone, “Send to my Mac” emails you the download link instead of downloading a Mac file. “Set on Mac” opens the app directly through a macwall:// link. Wallpaper gallery and search traffic 45 wallpaper collections, more detailed wallpaper pages, and guides written to answer questions directly. Gallery sorted by most liked, with a “Download free” button and a sticky bar at the bottom. Faster loading: static gallery pages, lighter images, and full-size wallpaper files no longer served....
|
1792994075.7772334
|
1793080475.7772334
|
|
27559
|
y-lead-website by @Venkatesh | Stardance
|
Venkatesh
|
3
|
14.0
|
120
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T11:30:26Z", "hours": 4.0, "multiplier": 12.85, "payout": 52, "blessing": "neutral", "text": "LIVE AT: https://y-lead-2026.vercel.app/ I made a website for one of my school’s events called Y.LEAD which is a 4 day leadership camp for my juniors. As part of the organising committee, I took the opportunity to create a nice website for both participants and facilitators to access information like the days schedule, certain activity materials, photos taken during the event, event teasers/storyline videos etc… When designing the website, I aimed it to be user centric by follow conventional navigation and UX. Additionally, I came up with a palette and then started creating the different pages of the website trying to make everything feel fresh and aesthetically pleasing. Some elements following this philosophy: animated timeline graphic instead of a google sheet, todo list or calendar component depth effect with animations in the landing page ability to search cheers for participants during the event animated hero for theme page embeds instead of plain links to the external resources glowing effect behind images some challenges I faced was ensuring the website was responsive on practically any screen size. I specially made a vertical poster for the landing page just for mobile and different layouts for mobile and larger screens. Additionally, another challenge was slow loading speeds for images, that would ruin the landing page especially when I first started out, luckily the fix was quite straightforward. I converted all the images to avif format and set it to a lower quality on low res screen as there wont be a big visible difference, reserving a max res of 2k for larger screens like 1440p. All in all, I would say this is one of the projects in which i had the most fun building, I got to learn even more about responsive web design, UX, performance optimisation and even got to experience how it’s like to program a website with tight deadlines and an actual production target. Even though theres only 14 hours logged on stardance, I have spent around 40-50 hours painstakingly coding most of this website by myself, AI was mostly sparingly only for debugging and refactoring some parts of the code or generating boilerplate. With that I have finally finished this project start to end!", "repo": "https://github.com/vensah-dev/y-lead-2026", "demo": "https://y-lead-2026.vercel.app/"}, {"ship_num": 2, "ts": "2026-07-06T04:51:10Z", "hours": 8.0, "multiplier": 5.61, "payout": 44, "blessing": "neutral", "text": "Bug fixes, extra features and even more content and redirects for participants to use.", "repo": "https://github.com/vensah-dev/y-lead-2026", "demo": "https://y-lead-2026.vercel.app/"}, {"ship_num": 3, "ts": "2026-06-29T10:50:12Z", "hours": 2.0, "multiplier": 11.9, "payout": 24, "blessing": "neutral", "text": "I made a website for one of my school’s events called Y.LEAD. The website serves as a common platform for participants and facilitators to access information like timeline, the different events, participant documents (soon to be added), overview, credit for people involved", "repo": "https://github.com/vensah-dev/y-lead-2026", "demo": "https://y-lead-2026.vercel.app/"}]...
|
[{"post_id": 26458, "ts": "202 [{"post_id": 26458, "ts": "2026-07-11T08:27:33Z", "hours": 4.0617, "text": "final devlog: added a resources page where all the videos, worksheets and documents can be accessed from. items are all embeds instead of plain lists of links to boost interaction. The resources use a bit of a bento grid with the most important one taking a full width size and the rest half width with padding. All content has been added finally, all animations intact, the embeds have a custom bg glow based on the initial embed content. the embed may be slow to load on mobile, which i will fix in a future update if ever needed as i will be moving to focus on other projects."}, {"post_id": 21388, "ts": "2026-07-03T09:30:04Z", "hours": 7.8192, "text": "Bug fixes extra features and even more content and redirects for participants to use: fixed padding inconsistencies on mobile changed content and info about panelists to be more accurate changed formatting of bios added in more info on locations of learning journeys added in a better text hiearchy for the blocks of text added glowing images for most uses"}, {"post_id": 18256, "ts": "2026-06-29T10:36:25Z", "hours": 1.5339, "text": "https://y-lead-2026.vercel.app/ page for organising committee credits and acknowledgements. Can now be accessed via a button that redirected to /about/organising-committee. /about may be used for other stuff like this as well like certain event details and etc… Current at /about/organising-committee there ar pictures of each comm and they’re heads and members, the images are all have been converted into avif for faster loading times"}, {"post_id": 17681, "ts": "2026-06-28T16:08:19Z", "hours": 0.4858, "text": "https://y-lead-2026.vercel.app/ I’ve been working on a website for a local school event. Written in TSX using the Next JS framework. This devlog includes only the bug and UI inconsistency fixes for the theme and about pages."}]...
|
Title: y-lead-website by @Venkatesh | Stardance
D Title: y-lead-website by @Venkatesh | Stardance
Devlogs:
https://y-lead-2026.vercel.app/ I’ve been working on a website for a local school event. Written in TSX using the Next JS framework. This devlog includes only the bug and UI inconsistency fixes for the theme and about pages.
https://y-lead-2026.vercel.app/ page for organising committee credits and acknowledgements. Can now be accessed via a button that redirected to /about/organising-committee. /about may be used for other stuff like this as well like certain event details and etc… Current at /about/organising-committee there ar pictures of each comm and they’re heads and members, the images are all have been converted into avif for faster loading times
Bug fixes extra features and even more content and redirects for participants to use: fixed padding inconsistencies on mobile changed content and info about panelists to be more accurate changed formatting of bios added in more info on locations of learning journeys added in a better text hiearchy for the blocks of text added glowing images for most uses
final devlog: added a resources page where all the videos, worksheets and documents can be accessed from. items are all embeds instead of plain lists of links to boost interaction. The resources use a bit of a bento grid with the most important one taking a full width size and the rest half width with padding. All content has been added finally, all animations intact, the embeds have a custom bg glow based on the initial embed content. the embed may be slow to load on mobile, which i will fix in a future update if ever needed as i will be moving to focus on other projects.
Ships:
I made a website for one of my school’s events called Y.LEAD. The website serves as a common platform for participants and facilitators to access information like timeline, the different events, participant documents (soon to be added), overview, credit for people involved
Bug fixes, extra features and even more content and redirects for participants to use.
LIVE AT: https://y-lead-2026.vercel.app/ I made a website for one of my school’s events called Y.LEAD which is a 4 day leadership camp for my juniors. As part of the organising committee, I took the opportunity to create a nice website for both participants and facilitators to access information like the days schedule, certain activity materials, photos taken during the event, event teasers/storyline videos etc… When designing the website, I aimed it to be user centric by follow conventional navigation and UX. Additionally, I came up with a palette and then started creating the different pages of the website trying to make everything feel fresh and aesthetically pleasing. Some elements following this philosophy: animated timeline graphic instead of a google sheet, todo list or calendar component depth effect with animations in the landing page ability to search cheers for participants during the event animated hero for theme page embeds instead of plain links to the external resources glowing effect behind images some challenges I faced was ensuring the website was responsive on practically any screen size. I specially made a vertical poster for the landing page just for mobile and different layouts for mobile and larger screens. Additionally, another challenge was slow loading speeds for images, that would ruin the landing page especially when I first started out, luckily the fix was quite straightforward. I converted all the images to avif format and set it to a lower quality on low res screen as there wont be a big visible difference, reserving a max res of 2k for larger screens like 1440p. All in all, I would say this is one of the projects in which i had the most fun building, I got to learn even more about responsive web design, UX, performance optimisation and even got to experience how it’s like to program a website with tight deadlines and an actual production target. Even though theres only 14 hours logged on stardance, I have spent around 40-50 hours painstakingly coding most of this website by myself, AI was mostly sparingly only for debugging and refactoring some parts of the code or generating boilerplate. With that I have finally finished this project start to end!...
|
1792997712.7793732
|
1793084112.7793732
|
|
28317
|
MyPersonalSite by @rosandrox | Stardance
|
rosandrox
|
3
|
34.8
|
334
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-25T04:40:43Z", "hours": 17.0, "multiplier": 18.05, "payout": 305, "blessing": "neutral", "text": "I removed the Stats cause they felt too much and didnt work properly! bout my project ALL the artwork/code/UI design was made by me (+1 for no AI) Even tho I have made other versions of this site in the past I think this one describes me best Hub opens/closes w/ H Music can be muted by top left button click the big caracter behind my name or drag the walking kiddo at the bottom of the screen The pages and sections are: index.html -> Hero,About me,Skills,Qualifications,My Artsy Side, Contact Me, Leave a review! projects.html -> A selection screen of all my projects linked to a github repo blog.html->blog1,blog2 PLSSS READ MY BLOGS You might notice blogs have the least ammount of extra stuff cause I want the user to be 100% focused on my written form of ART. THE SITE IS TOO MUCH CAUSE I AM TOO MUCH Every last addition describes a feature of me PLS VOTE AT LEAST 7/10 I HAVE PUT MY WHOLE HEART INTO THIS PERSONAL PAGE (literarly)", "repo": "https://github.com/prodevmod/RosarioAlexMorabito_site", "demo": "https://rosarioalex.me"}, {"ship_num": 2, "ts": "2026-08-09T03:12:06Z", "hours": 9.0, "multiplier": 3.34, "payout": 29, "blessing": "neutral", "text": "Visit my portfolio. I’m really excited. I put a lot of work into it. I researched a lot to find the specific CSS for frontend, like the donut chart and everything. It was pretty fun. I look forward to creating more projects like this. Please support me. Feel free to point out any improvements you would make.", "repo": "https://github.com/prodevmod/RosarioAlexMorabito_site", "demo": "https://rosarioalex.me"}, {"ship_num": 3, "ts": "2026-06-30T18:59:53Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I used HTML, CSS and JS. The repo is public but I submited everything at once because of working on it localy and It has a readme with contents and what I learned plus a small description of the site.The site is fully deployed with github pages as the guide suggested. I have in total 6 sections and 4 extra css and js features the guide didn’t cover. My css is custom, you’ll notice the stardance and hackclub words are in the color of the hackclub logo.Didn’t use AI, I am part of the boycott chatgpt group.", "repo": "https://github.com/prodevmod/RosarioAlexMorabito_site", "demo": "https://rosarioalex.me"}]...
|
[{"post_id": 66599, "ts": "202 [{"post_id": 66599, "ts": "2026-09-12T13:26:01Z", "hours": 1.7994, "text": "Hello just a lil fix here! Nothing I can actualy work with to write a qualitative devlog! Basically because I was told TOO many times the sizing was messed up on laptops I changed every size metric on my site to rem so it is scalable and remains asthetiacly appealing across all browsers… Thats all… I got the 3D printer I wanted as a prize for my projects and I am so jolly that is y I log less! me:"}, {"post_id": 54073, "ts": "2026-08-24T20:55:58Z", "hours": 0.8375, "text": "GUYS I DID IT! SO my last addition was: A listening to widget just cuz music is such a big part of my personality (it was a headache to implement, I ended up usin last.fm). As a final summary Before shipping here are all the features: BG music I MADE (no AI slop point +1) + a mute/unmute button A hub interface HUD for the most important parts of my personal page Sections: MyName, AboutMe,Skills,Achievements,Dev Stats,MyArtsySide,ContactMe,Visitor Log, A projects page , A blogs page w/ 2 blogs) Interactive UI: click arround😉😉 The content on my page is TOO MUCH, TRUST ME I KNOW BUT it is a PERSONAL SITE after all and I believe it represents me best. It is way better than using UI palletes I found on Instagram. Also mind u all the artwork and UI is hand painted and I think I did preety good plus no mean water jugging UI, EVEN THO I drank 5L in one day so I am basically replacing AI (Yeah!) Pls star my repo or support me if u can and want. ADMIT IT. this is the coolest website known to man 💀💀. I am off to polish the rest, see you on shipping!"}, {"post_id": 54025, "ts": "2026-08-24T19:33:47Z", "hours": 1.2986, "text": "I polished up some things and added stats section cuz Y NOT?LOWK TS is peak! When I mma gonna get super Project? This Might be the finest work of art the frontend word has ever seen!Like PROVE ME WRONG!BTW for the devlog I was about to post an AI slop gif saying peak but my pattern recognition kicked in and I found a human made (I hope it is) Akso PLS MAKE this NO. 1 on the explore page 😭😭💀💀 More about the session : My mom bought me a bathroom duck from the supermarket(Thx mom) I used a github readme activity/commit graph for my github stats The Leetcode and codedex are hardcoded I have NOT found an API yet or any stat form… My next project might be creating a dev stats api if you’d like that idea like and comment “banana” below Also can you guys pls follow me and star my github repos Sry for yapping I didn’t have much to say on the session itself (MY HTML slop Bores me)"}, {"post_id": 53823, "ts": "2026-08-24T14:56:54Z", "hours": 1.2544, "text": "I made a mute button for the music to achieve the best UX! JUST LOOK AT IT! No outline for the red line cause IT WOULDNT BE COOL!I also made t so you cant have it open on a small screen with a mice waning! And LAST BUT CERTAINLY NOT LEAST I made an oppinion logger for anyone to share their opinion abt my site,me,my projects and my so called art!"}, {"post_id": 53762, "ts": "2026-08-24T13:21:30Z", "hours": 3.3086, "text": "I cleanedup the css cause it was a mess and I replaced the white boring div card with my pixelated fun super cool yellow version: This WAS NOT as eay as it seems. I was stuck for a WHOLE HOUR trying to figute out why it is still overflowing after all the padding I added… So after adding some borders, sprinkling in some exceptions and hating myself for not understanding css grids earlier I made it! YAY! I think this is one of my finak devlogs on this project cause literally what more could you ask for?! Btw this is me after realising it was not a padding problem but a background clip and origin problem!"}, {"post_id": 53585, "ts": "2026-08-24T06:01:53Z", "hours": 1.2492, "text": "Drew all network links: https://lapse.hackclub.com/timelapse/tVeIk_5bqSzo and fixed them to 50 by 50 with css. Now I am off to the github repository selector where I basically need to draw one arrow and flip it upside down once so it will be very easy! Then I don’t know what else I could! However I am very happy by how it has turned out cause it expresses me better than any previous version!"}, {"post_id": 53550, "ts": "2026-08-24T04:37:18Z", "hours": 0.4533, "text": "I added a my artsy side section in which you can click a polaroid photo and get teleported to my creation. I am thinking of adding custo contact links and game selector controls skip previous and play and then implement them in this site! I also updated the bg music to all the pages of my site except blogs cause thay gotta be read in seriousness. second screenshot is hover animation!"}, {"post_id": 53389, "ts": "2026-08-23T22:24:44Z", "hours": 3.4939, "text": "I spent 3 hrs to make my own music track ro bg music to my personal website and I had to learn sonic pi from ground up so I can show it in my personal site as a coding achievement and I think it is rly solid if you want to mute it u can mute the whole page."}, {"post_id": 50995, "ts": "2026-08-20T14:14:22Z", "hours": 0.6897, "text": "Fixed some sizing issues and text overflow! I added some more details!Previous devlog mostly describes this!"}, {"post_id": 50970, "ts": "2026-08-20T13:23:46Z", "hours": 0.8006, "text": "This site I finally feel is something that represents me + it has a better UX/UI overall! It is quite Neet SO here is what I added: EVERYTHING changed Here is WHAT CHANGED New Landing page features pixelart I made 2 types of content bgs: one for serius staff blank white 👌👌 and one for more silly and myself stuff pixelated letter paper Ig or smth (it is just yellowish and has black outline like wow) H for a very cool menu/hub inspired by playstation mid game dropdown activated by the ps button. SCROLL DOWN prompt to signify there is more to see I was told the colour pallete was not optimal to say the least so now it is much simpler paler and themed altho there are some hints from the previous one (i love purple) Now the screen is actually snap screen so 2 categories won’t overlap Replaced Spotify copycat w/ a game selection menu where more info are only available by tapping the middle button (github icon) Plus a small pixelated version of me gliding on your screen"}, {"post_id": 50932, "ts": "2026-08-20T12:20:59Z", "hours": 3.5392, "text": "Brooooooooooooooo! I rebranded again! Now it is the best version yet! It is a retro game console super mario inspired site. Most work was doing the css it was DREADFULL tbh. now I am designing the images!!"}, {"post_id": 43672, "ts": "2026-08-09T02:04:49Z", "hours": 5.3856, "text": "I started from zero. I started from zero, but not really, because now I had all the foundations I needed to create a perfect, full-on, very good app that represents me and is my personal website. So I started with the same boilerplate code for all three HTML files. Then I added icons from Auto Icons pack in Figma package that GitHub gave me. Thank you, GitHub, for giving me the chance to subscribing to your GitHub Developer Student Pack. I also created a nice embedded JS script in the projects.html that finds repositories, public repositories on my GitHub and stores them as projects. That’s very easier, more easier than what I have done previously, type everything manually onto the HTML, hard-coded, essentially. I’m very pleased with the result. It took me around four hours plus two hours for debugging and searching CSS designs.Also the color pallete i took from a ui optimization instagram post"}, {"post_id": 33731, "ts": "2026-07-23T21:26:58Z", "hours": 3.4397, "text": "I changed most of the site. I added in the Javascript, 100 lines of Javascript. I basically created a more soul casing and flashy portfolio, if you will, that I certainly liked. Here is a small example. You can go see it. Everything is uploaded."}, {"post_id": 19414, "ts": "2026-06-30T18:45:19Z", "hours": 7.3906, "text": "So I started off like the guide suggests by making a title for the page and a description of this site and its purpose. Subsequently, I made the Header (top navigation bar) and added only the About Me, Portfolio, and Contact Me links and sections.And then ADDED 3 EXTRA SECTIONS A STARDANCE ONE, A SITE DESCRIPTION ONE and A BLOGS SECTION. I ALSO MADE A CURSOR HIGHLIGHT with javascript and A LIVE TAB where anyone can see WHAT I AM ON CURRENTLY. ALSO I ADDED A DROPDOWN FOR BETTER APEARANCE ON THE NAV BAR."}]...
|
Title: MyPersonalSite by @rosandrox | Stardance
D Title: MyPersonalSite by @rosandrox | Stardance
Devlogs:
So I started off like the guide suggests by making a title for the page and a description of this site and its purpose. Subsequently, I made the Header (top navigation bar) and added only the About Me, Portfolio, and Contact Me links and sections.And then ADDED 3 EXTRA SECTIONS A STARDANCE ONE, A SITE DESCRIPTION ONE and A BLOGS SECTION. I ALSO MADE A CURSOR HIGHLIGHT with javascript and A LIVE TAB where anyone can see WHAT I AM ON CURRENTLY. ALSO I ADDED A DROPDOWN FOR BETTER APEARANCE ON THE NAV BAR.
I changed most of the site. I added in the Javascript, 100 lines of Javascript. I basically created a more soul casing and flashy portfolio, if you will, that I certainly liked. Here is a small example. You can go see it. Everything is uploaded.
I started from zero. I started from zero, but not really, because now I had all the foundations I needed to create a perfect, full-on, very good app that represents me and is my personal website. So I started with the same boilerplate code for all three HTML files. Then I added icons from Auto Icons pack in Figma package that GitHub gave me. Thank you, GitHub, for giving me the chance to subscribing to your GitHub Developer Student Pack. I also created a nice embedded JS script in the projects.html that finds repositories, public repositories on my GitHub and stores them as projects. That’s very easier, more easier than what I have done previously, type everything manually onto the HTML, hard-coded, essentially. I’m very pleased with the result. It took me around four hours plus two hours for debugging and searching CSS designs.Also the color pallete i took from a ui optimization instagram post
Brooooooooooooooo! I rebranded again! Now it is the best version yet! It is a retro game console super mario inspired site. Most work was doing the css it was DREADFULL tbh. now I am designing the images!!
This site I finally feel is something that represents me + it has a better UX/UI overall! It is quite Neet SO here is what I added: EVERYTHING changed Here is WHAT CHANGED New Landing page features pixelart I made 2 types of content bgs: one for serius staff blank white 👌👌 and one for more silly and myself stuff pixelated letter paper Ig or smth (it is just yellowish and has black outline like wow) H for a very cool menu/hub inspired by playstation mid game dropdown activated by the ps button. SCROLL DOWN prompt to signify there is more to see I was told the colour pallete was not optimal to say the least so now it is much simpler paler and themed altho there are some hints from the previous one (i love purple) Now the screen is actually snap screen so 2 categories won’t overlap Replaced Spotify copycat w/ a game selection menu where more info are only available by tapping the middle button (github icon) Plus a small pixelated version of me gliding on your screen
Fixed some sizing issues and text overflow! I added some more details!Previous devlog mostly describes this!
I spent 3 hrs to make my own music track ro bg music to my personal website and I had to learn sonic pi from ground up so I can show it in my personal site as a coding achievement and I think it is rly solid if you want to mute it u can mute the whole page.
I added a my artsy side section in which you can click a polaroid photo and get teleported to my creation. I am thinking of adding custo contact links and game selector controls skip previous and play and then implement them in this site! I also updated the bg music to all the pages of my site except blogs cause thay gotta be read in seriousness. second screenshot is hover animation!
Drew all network links: https://lapse.hackclub.com/timelapse/tVeIk_5bqSzo and fixed them to 50 by 50 with css. Now I am off to the github repository selector where I basically need to draw one arrow and flip it upside down once so it will be very easy! Then I don’t know what else I could! However I am very happy by how it has turned out cause it expresses me better than any previous version!
I cleanedup the css cause it was a mess and I replaced the white boring div card with my pixelated fun super cool yellow version: This WAS NOT as eay as it seems. I was stuck for a WHOLE HOUR trying to figute out why it is still overflowing after all the padding I added… So after adding some borders, sprinkling in some exceptions and hating myself for not understanding css grids earlier I made it! YAY! I think this is one of my finak devlogs on this project cause literally what more could you ask for?! Btw this is me after realising it was not a padding problem but a background clip and origin problem!
I made a mute button for the music to achieve the best UX! JUST LOOK AT IT! No outline for the red line cause IT WOULDNT BE COOL!I also made t so you cant have it open on a small screen with a mice waning! And LAST BUT CERTAINLY NOT LEAST I made an oppinion logger for anyone to share their opinion abt my site,me,my projects and my so called art!
I polished up some things and added stats section cuz Y NOT?LOWK TS is peak! When I mma gonna get super Project? This Might be the finest work of art the frontend word has ever seen!Like PROVE ME WRONG!BTW for the devlog I was about to post an AI slop gif saying peak but my pattern recognition kicked in and I found a human made (I hope it is) Akso PLS MAKE this NO. 1 on the explore page 😭😭💀💀 More about the session : My mom bought me a bathroom duck from the supermarket(Thx mom) I used a github readme activity/commit graph for my github stats The Leetcode and codedex are hardcoded I have NOT found an API yet or any stat form… My next project might be creating a dev stats api if you’d like that idea like and comment “banana” below Also can you guys pls follow me and star my github repos Sry for yapping I didn’t have much to say on the session itself (MY HTML slop Bores me)
GUYS I DID IT! SO my last addition was: A listening to widget just cuz music is such a big part of my personality (it was a headache to implement, I ended up usin last.fm). As a final summary Before shipping here are all the features: BG music I MADE (no AI slop point +1) + a mute/unmute button A hub interface HUD for the most important parts of my personal page Sections: MyName, AboutMe,Skills,Achievements,Dev Stats,MyArtsySide,ContactMe,Visitor Log, A projects page , A blogs page w/ 2 blogs) Interactive UI: click arround😉😉 The content on my page is TOO MUCH, TRUST ME I KNOW BUT it is a PERSONAL SITE after all and I believe it represents me best. It is way better than using UI palletes I found on Instagram. Also mind u all the artwork and UI is hand painted and I think I did preety good plus no mean water jugging UI, EVEN THO I drank 5L in one day so I am basically replacing AI (Yeah!) Pls star my repo or support me if u can and want. ADMIT IT. this is the coolest website known to man 💀💀. I am off to polish the rest, see you on shipping!
Hello just a lil fix here! Nothing I can actualy work with to write a qualitative devlog! Basically because I was told TOO many times the sizing was messed up on laptops I changed every size metric on my site to rem so it is scalable and remains asthetiacly appealing across all browsers… Thats all… I got the 3D printer I wanted as a prize for my projects and I am so jolly that is y I log less! me:
Ships:
I used HTML, CSS and JS. The repo is public but I submited everything at once because of working on it localy and It has a readme with contents and what I learned plus a small description of the site.The site is fully deployed with github pages as the guide suggested. I have in total 6 sections and 4 extra css and js features the guide didn’t cover. My css is custom, you’ll notice the stardance and hackclub words are in the color of the hackclub logo.Didn’t use AI, I am part of the boycott chatgpt group.
Visit my portfolio. I’m really excited. I put a lot of work into it. I researched a lot to find the specific CSS for frontend, like the donut chart and everything. It was pretty fun. I look forward to creating more projects like this. Please support me. Feel free to point out any improvements you would make.
I removed the Stats cause they felt too much and didnt work properly! bout my project ALL the artwork/code/UI design was made by me (+1 for no AI) Even tho I have made other versions of this site in the past I think this one describes me best Hub opens/closes w/ H Music can be muted by top left button click the big caracter behind my name or drag the walking kiddo at the bottom of the screen The pages and sections are: index.html -> Hero,About me,Skills,Qualifications,My Artsy Side, Contact Me, Leave a review! projects.html -> A selection screen of all my projects linked to a github repo blog.html->blog1,blog2 PLSSS READ MY BLOGS You might notice blogs have the least ammount of extra stuff cause I want the user to be 100% focused on my written form of ART. THE SITE IS TOO MUCH CAUSE I AM TOO MUCH Every last addition describes a feature of me PLS VOTE AT LEAST 7/10 I HAVE PUT MY WHOLE HEART INTO THIS PERSONAL PAGE (literarly)...
|
1792994128.3727648
|
1793080528.3727648
|
|
28749
|
WaldOS© 3.0 by @Waldewort | Stardance
|
Waldewort
|
3
|
121.0
|
900
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-17T11:57:36Z", "hours": 64.0, "multiplier": 13.36, "payout": 0, "blessing": "neutral", "text": "🎉Release of the WaldOS© 3.0🎉 Yipppppie, here are all new features: Animation when you start the WaldOS© 3.0 The completely new startmenu and minimization of the Apps The VoiceAI, starts by pressing on the starring under the title and can be monitored in the settings 🤖. The WaldAI, a groq based Ai witch can answer your question (not that good, but it´s okay) The Waldracer, a game in qhich you can drive infinte in a cool world. Thanks to slowroads to make this free 🏎️! The WaldClock, a timer and clock (wow!) The Wal(D)-OS, you can create your own TO-DO Pins with date and time. Waldtravel, a app you can calculate the CO2 and energy needed for different Vehicles and Routes Waldollution, you can see how long different things need to get composed in nature The Waldeye, with different livestreams of nature and animals The WaldWeather, a whater app! Waldience, you can create naturesounds to chill more 🌳. Thanks for testing the WaldOS© 3.0 and your likes ♥️, comments 💬 and the good rating 🥰😉 !", "repo": "https://github.com/Waldewort/WaldOS", "demo": "https://waldewort.github.io/WaldOS/"}, {"ship_num": 2, "ts": "2026-09-18T21:39:19Z", "hours": 17.0, "multiplier": 18.03, "payout": 302, "blessing": "neutral", "text": "🎉 The WaldOS© 2.0 has officelly launched 🎉 Welcome to the WaldOS© 2.0 🥳! The WaldOS© 2.0 is a update of the WaldOS© and brings with it two new Apps, a completely new Background ✨witch is fully customisable and new Icons 📱! The WaldOS© 2.0 is a very elaborate project in witch I tried to use as many AI as possible so please remember this in the rating! What’s Inside the WaldOS©? 📝 Notes & 🌙 Mooncalendar: Write down ideas and check your calendar persistent session saving. (Pro tip: Try clicking on the clock! ⏰) 🎺 Trumpet Learn: Learn brass fingerings step-by-step—huge credit to my coding colleague #Dasher2801 for building this! 📽️ Waldiverse & 🔍 WaldSearch: Stream longform YouTube content or search exclusively for pure Wikipedia articles. 🗺️ Waldlas: OpenStreetMap integration with route planning and session-saved emoji pins worldwide. 🧮 WaldCalc & 🌌 WaldSky: Solve equations or gaze at real-time constellations flying across your screen. ⚙️ Settings App: Fully customize your background universe! Adjust colors, star density, and speeds (watch out, potato PCs 🥔). ⚠️I only tested the WaldOS© 2.0 on a FHD (1080p) or higher monitor so lower resolution may cause window rendering issues⚠️ Thanks for reading and your interests in the WaldOS© 2.0 ♥️. Thanks for your feedback and like and I hope for a good rating 😉!", "repo": "https://github.com/Waldewort/WaldOS", "demo": "https://waldewort.github.io/WaldOS/"}, {"ship_num": 3, "ts": "2026-09-05T13:59:35Z", "hours": 40.0, "multiplier": 14.98, "payout": 598, "blessing": "neutral", "text": "Welcome to the WaldOS©! The WaldOS© is a Webbased operating system by #Waldewort. It already has the most important features like: A Notebook screen which saves your notes for the next session A Trumpetfingeringlearning screen made by my coding college #Dasher2801 For all the ones who only want to watch longform YouTube content the Waldiverse, a YouTube application The WaldSearch, a Wikipedia based Searchmachine which outputs you only Wikipedia articles The Waldlas, a openstreetmaps based map version with Searchmodus and the possibility to make emoji Pins all over the world witch also saves over sessions and a route planer to plan your next vacation (We as coder won´t need this XD ) It´s important during coding to not forget to eat so theres the Mooncalendar, opens by pressing on the date is presize and custumisable Notes are possible witch saves over your sessions !!!Try out what happens when you press on the clock!!! Please only try it on desktop and you need at least a FHD Monitor that the windows aren´t too big! One day there will be a mobile version! But the WaldOS© is still in process and a lot more Apps will come, with even more features and better Style. Please remember that I needed 40 hours to code this caused by coding it BY MYSELF and not AI, so also the design is not the best but at least not a AI Design like on 95% of the projects here! Thanks for reading and your interest in WaldSearch© and for the good rating :))", "repo": "https://github.com/Waldewort/WaldOS", "demo": "https://waldewort.github.io/WaldOS/"}]...
|
[{"post_id": 80338, "ts": "202 [{"post_id": 80338, "ts": "2026-10-17T10:05:31Z", "hours": 9.5719, "text": "🥳The last features before the WaldOS© 3.0🥳 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Devlog 17 The new apps: The WaldEye: A cool app you can watch cute animal livestreams in! Of course only animals in pure nature so it can be you can´t see an animal for hours, but that´s nature. Since now I included four live streams of different animals ( also cute ones, like squirrels) The Waldollution: Another app that shows you how long trash need to get composed if it´s thrown into nature! Finally introducing the WaldWeather app: Automatically shows you the Weather on your location, but you can also search for places and save them to the bar on top to have easy access to them. If you maximize the window you get extra detailed information and a 7 day forecast (that´s maybe right XD) Also I fixed some bugs in the WaldTravel app! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Here you can try the WaldOS 2.0 for your own: https://waldewort.github.io/WaldOS/ Today I will launch the WaldOS 3.0 so follow to don´t miss something! Thanks for reading and the like and comment :))"}, {"post_id": 79807, "ts": "2026-10-15T14:09:25Z", "hours": 9.6897, "text": "🌳More Waldclimate Apps for the WaldOS© 2.0🌳 “´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´´”´”´”´”´”´” Devlog 16 One new app and one in progress: The Waldollution, a app which shows you how long different objects need to get composed in nature if they get thrown away not regular. Work in progress for a really cool app with cats and polar bears ( and lot of cool other animals 😉), but more in the next Devlog 🤫 Bug fixing for the Control Center and some performance tests. Also I improved the Waldtravel animations a bit “´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´´”´”´”´”´”´” Test the WaldOS© 2.0 by your own: https://waldewort.github.io/WaldOS/ That´s it, the release of WaldOS© 3.0 will be soon, follow to don´t miss it! Thanks for reading and the like and follow 🙃"}, {"post_id": 79021, "ts": "2026-10-12T11:54:43Z", "hours": 9.4014, "text": "🎉We celebrate the pass of the 100 hours mark of the WaldOS© 2.0 🎉 (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: Devlog 16 One new feature and one revolutional app for the celebration 😲: The WaldOS has got it´s own control center . Now you open apps in this center and then they are shown in the taskbar like in all other real operating systems! Also you can now minimize apps or close them complete. The new App: Introducing the WaldTravel! The WaldTravel is a tool you can plan your next trip more climate nutral and you can explore how much CO2 is expelled with different Vehicles! Short realtalk: This app is very important to me to show all the world how to reduce greenhouse gases and help with climate protection ♥️🌳! This is the most important topic for our (the stardance) generation and the following ones and I think stardance is a good way to show this importance to more people. Thank you 🥰 The app is very interactive and shows the importance of this topic in an easy and good to understand way with visualization! Also I fixed again some bugs and smoothed the WaldOS© 2.0 expierience more 🥱! (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: Try the WaldOS© 2.0 for your own: https://waldewort.github.io/WaldOS/ Thank you so much for reading this more serios Devlog and sharing it and give it a like 🙃! Write down in the comments if you want more of such apps with a important topic."}, {"post_id": 78288, "ts": "2026-10-10T09:37:52Z", "hours": 9.0592, "text": "🤖Full Voice Assistant in the WaldOS© 2.0🤖 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Devlog 15 Trying is better than … this: https://waldewort.github.io/WaldOS/ The first accessibility feature is full working now 🤖🎉 The VoiceAI is now completely integrated in the WaldOS© 2.0 without a App needed. Just press the starring right under the title and talk to the VoiceAI! Also then there is a cool animation 🙃 The VoiceAI can now complete tasks in the apps like setting a timer or write down notes for you 😯 In the Settings App you can controll the VoiceAI and also read the user manuell to get to know how the VoiceAI works excactly. What changed else: Nothing 😢 But right now I´m working on a big new feature witch revoluts the opening process of the Apps in the WaldOS© 2.0, so stay tuned 😉 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - You wanna try the WaldOS© 2.0 ? Here you can 🥳: https://waldewort.github.io/WaldOS/ I´m glad you´ve readen this Devlog and thank you soo much for the like and comment and the good rating for the WaldOS© 3.0 (which is comming soon🤫)"}, {"post_id": 76453, "ts": "2026-10-03T16:04:27Z", "hours": 8.8867, "text": "🎉🗣️The Waldasist beta version is out now in the WaldOS© 2.0🗣️🎉 ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^ Devlog 14 The biggest new feature in the history of the WaldOS© 2.0 has launched its beta version 🥳! The Waldasist is a integrated voice assistant in the WaldOS© 2.0. You can easyly activate it by pressing on the circle of stars right under the title. Now you can say the name of the App and it opens by magic. Also you can say maximize and then the name of the app and close apps by saying close and the app name. I´m right now working on a voice assist even in the apps themself but that´s not that easy! What changed too: Just a bit buggfixing in the Waldracer and WaldAi 😢 ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^ Stay tuned to don´t miss the next ship and that you can try WaldOS© 3.0 (holy moly😯). Next week I´m in holiday so I won´t post anything! Thanks for the like, follow and the commi 🙃"}, {"post_id": 74464, "ts": "2026-09-27T13:08:04Z", "hours": 8.9736, "text": "💫Animations for the WaldOS© 2.0 💫 </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </> Devlog 13 You know the sentence 😂: https://waldewort.github.io/WaldOS/ A lot of cool new things for all with shortend attentionspan: A legendary starting animation in which … ahh no, just watch the video or visit: https://waldewort.github.io/WaldOS/ by your own! (but watch out it´s epic 😯) A new app with mathematical generated ambience sounds to learn or chill. Google Gemini helped me with this cause the generating of sounds is mindblowing complex. Thank you Gemini XD (But I made all around by my own and I think it´s a good app anyways! ) (I just recognized I still don´t have an app icon, but fixed till next time! ) A bit of bugfixing and testing with different thinks (stay tuned 😉) </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </> Try the WaldOS© 2.0 for your own: https://waldewort.github.io/WaldOS/ What comes next ? I don´t know, right now I´m producing content for the Virality Bonus for this follow https://www.instagram.com/waldewort/ on Instagram, thank you! Thanks for reading, your time, the like and the comment :)))"}, {"post_id": 72793, "ts": "2026-09-23T19:05:01Z", "hours": 8.5556, "text": "⏰🏎️🤖 The WaldOS© 2.0 got 3 new apps! :.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.: Devlog 12 Trying is better than reading: https://github.com/Waldewort/WaldOS The 3 new apps: A clock, alarm and stopwatch app to not forget the time! Very simple done! (yippie 🥳) The thing most of the people wanted: An integrated WaldAI 🤖😲: Using an free croq API I created the WaldAI. It´s using the gpt oss 120b modell by openai and is a bit stupid but for normal questions it´s okay (just don´t ask things witch are newer than 2024 😉😂) A very simple integrated game: The Waldracer! It´s the game slowroads by topograph.io and now it´s in the WaldOS© 2.0 as a standalone game thanks to the open source of their game: https://slowroads.io 🎉 Things that are also new but no app: A little staranimation is now greeting you when entering the WaldOS© 2.0 :.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.: That was it already, thanks for reading and the like and comment :) Try it for your own: https://github.com/Waldewort/WaldOS See you soon 🙃"}, {"post_id": 70280, "ts": "2026-09-18T21:18:32Z", "hours": 2.1525, "text": "2️⃣.0️⃣Release of the WaldOS© 2.0 is now🥳🥳🥳2️⃣.0️⃣ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Devlog 11 What has changed ? Bugfixes on the WaldSky and Waldlas and perfomance optimization (99% of work) Title has changed to WaldOS© 2.0 (1% of work 😂) A new ReadME (more exciting and readable) Uhm not more, but now version 2.0 is ready to launch 🥳🥳🥳 So celebrate with me the second launch in 3️⃣Three 2️⃣Two 1️⃣One Nowwww!!!! 🎉🎆✨ https://waldewort.github.io/WaldOS/ yippie! Try it your self 🙃 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thanks for reading, the like and comment and the good rating 😉"}, {"post_id": 69775, "ts": "2026-09-17T19:23:30Z", "hours": 5.5242, "text": "2️⃣.0️⃣The Launch of the WaldOS© 2.0 is happening in the next days! 2️⃣.0️⃣ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Devlog 10 (I think) Trying is better than reading: https://waldewort.github.io/WaldOS/ All the new stuff: 1. First time ever I really did what I said in last Devlog: Introducing the own creatable and saveable Universum function in the settings app (yesss, fully customiseable - other than apple XD) Two new Apps (Wow I was productive 😁): The WaldCalc, a … Calculator (stunning 😲) And the… WaldSky, a App you can watch the real stars flying over sky. You can let you show real constellations and the names of them 💫. You can set in a time and place so you know where to have to look with your Crush during night to see the Ursa Minor ( Just joking, we are coder, not touching grass (or girls 😜(just joking again😂)) 😢). New Icon design: Gemini cooked with the new Icons, I just inserted them (took anyways like one hour) A little Copyright sentence under the title to prevent abuse 😲 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This was it actually, I´m going to ship tomorror or one day after this (sorry to all native speaker hehe) Try the WaldOS© for your own: https://waldewort.github.io/WaldOS/ Thanks for reading and all the support and the comment and like ♥️!"}, {"post_id": 67416, "ts": "2026-09-13T14:48:56Z", "hours": 5.2639, "text": "🥳The final design of the WaldOS© is finished!🥳 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Devlog 9 Try it out instead of reading (I know you 😜): https://waldewort.github.io/WaldOS/ What is new: The new glassy design with the new header is now applied on all Apps (sadly looks bit like apple :( ) A new App has launched: The settings (wow how exciting XD) -The background is now fully costummizable with the settings app. -You can choose of 6 different Presets for Colouring -You can create your own colouring -You can set the speed and digit of stars and how far constellations are forming (watch out for your potato PC - Graphical intensive 😉) -You can Rename the main title in the middle of the WebOS! Bugfixes 2.3 on Waldiverse and Waldlas First performance fix and improvement (no fun 😢) That will come next? A save for your own presets ( cool idea! ) Idk see what comes in my mind next! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- You wanna try the WaldOS©: https://waldewort.github.io/WaldOS/ I hope you have fun and thanks for the reading and the like and comment 🙃"}, {"post_id": 64382, "ts": "2026-09-08T18:24:53Z", "hours": 3.8128, "text": "💫Finale Design for the WaldOS©💫 — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — Devlog 8 What´s new: Interactive Background! The cursor forms star constellations and in the middle is a subtle WaldOS© title. Randomly some little shooting stars flying over the screen (some cute little ones💫) I´m worikng on a new App design for every app witch fits way better in the style (but need soo long time😢) — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — Here you can try out the WaldOS©: https://waldewort.github.io/WaldOS/ Thanks for reading this and your like and comment :)"}, {"post_id": 62151, "ts": "2026-09-05T12:26:21Z", "hours": 8.9528, "text": "🥳The final Version 1.0 of The WaldOS©🥳 : ) : ) : ) : ) : ) : ) :) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) Devlog 7 Lunch of the WaldOS© Version 1.0 today❗ Thinks changed since last time: The best App has launched, The Waldlas: A Openstreetmaps based maps app with a lot of functions: Your current location and the WaldOS© Headquarter are fixed on the map as a pin. You can klick anywhere on the map and pin a emoji with text to the map to don´t ever forget where this good restaurant was ( because we all forget always 😢, but not anymore 🥳) A searchbar makes it possible to find any location within milliseconds (for all the bad geographie students 😉) And a FULLY USEABLE ROUTESEARCH SIDEBAR (wow!), just type in two locations and it will find the fastest route for cars! Again a new design! I removed the background and now theres something like a glassy optic ( I know a bit mainstream but I didn´t know what else 😢) Bugfixes 1.3 for the Waldiverse and the Waldsearch I don´t know it´s too much happend XD : ) : ) : ) : ) : ) : ) :) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) If you want to try it out before the launch in some hours: https://waldewort.github.io/WaldOS/ I hope you like the new features and give a good ranking 🙃 cause I made sooo much and nearly all by my self, different than others! Thanks for reading and leaving a like and a comment! See you soon 👋"}, {"post_id": 55209, "ts": "2026-08-26T19:18:22Z", "hours": 7.9508, "text": "❗Completely new Design for WaldOS© ❗ .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. Devlog 6! First, the Website to explore it to your own😉: https://waldewort.github.io/WaldOS/ If you more like to read about the new features, here it comes: Now the WaldOS has an fullscreenmode to make it feel like a real Operating System (That´s so cool!) Other things I added: Togglemode for the appicons to close them by pressing again on them A new App has launched (yippie): A calender to write in all your import dates to ship the next project for stardance XD The Taskbar border is gone now the Border is the sun 🤯 The Waldiverse and Waldsearch became their own Icons and a big remake: The Waldiverse (YouTube) experience is now way smoother and easier to handle The Waldsearch has now a own Wikipedia Screen in the WaldOS 😱 which opens by choosing an article and makes the expierience of WaldOS© sooo immersive (befor you was kicked out to your browser 🙄) The design is a bit updated and some datails like backgroundcolors changed (some uninteresting stuff XD ) .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. After adding the next app (hints in the Video 😶) I´m gonna ship Version 1.0 of The WaldOS© Stay excited there will come even more afterwards! Thanks for reading, now it´s on you to try the WaldOS for your own 🥳: https://waldewort.github.io/WaldOS/ Now as an real WebOS (yeah:))) ) Have fun and remember to like and leave a follow 🤗"}, {"post_id": 47552, "ts": "2026-08-15T15:04:42Z", "hours": 9.0628, "text": "❗Biggest Update ever for the WaldOS ❗ ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., Devlog 5 All the new features: Better WaldVideo App: Thanks to the google cloud YouTube DATA API v3 now you can search directly in the window and then watch your favorite Videos ( yesss, that´s soo cool :)) The WaldSearch: A Wikipedia Action API make it possible to search all you want to know and then get the matching Wikipedia Pages to read (Only the best information for you all XD ) New App in building: I´m building up an complete own app in the WaldOS without any iframes or APIs, the release of this will be next time (you have to have a bit patience, it will be soo cool. I promise :))) ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., Thanks for reading, now you can try all of this for your own: https://github.com/Waldewort/WaldOS (The YouTube will sadly not work cause you need a server to run on, I do it on a python server, so if you wanna try this you have to wait till the ship sadly :( Have fun and thanks for the like <3"}, {"post_id": 40709, "ts": "2026-08-04T12:27:28Z", "hours": 7.8767, "text": "❗NEW FEATURES FOR THE WALDOS© ❗ Devlog 4 ! New things I added: A new taskbar for a better overview Maximizable Windows ( Now you can see something 🤯💻) A notes Window with enough space to write down all notes about your own stardance project :) YouTube as a Window (Yippie, sadly you have to paste the Video-URL in, but changes will come :)) Onklick move to top on all Windows You can try it for your own and have a lot of fun: https://github.com/Waldewort/WaldOS Thanks for the like and follow ❤️, next time there will come new apps and better YouTube :)))"}, {"post_id": 35815, "ts": "2026-07-27T14:26:23Z", "hours": 4.1792, "text": "BIG UPDATE for the WaldOS©!!! (Devlog 3) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - __ Things I updated since last time in Part-3: Movabale Windows (Yeah :))) Openable Windows Closable Windows New stile 💫 A own CSS - File for the stile (Now it´s ordered 👌) An inscreen of an other project as a window 🎺 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Next time I will add real content and a searching Machine 💻🌍"}, {"post_id": 20055, "ts": "2026-07-01T15:46:08Z", "hours": 1.6544, "text": "DEVLOG 2 .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. My WaldOS is doing a big progress! I´ve added a couple of new thiongs in part 2. - A aqua translucent Top Bar where all the underpages will get linked - A background of vacation in Michigan to make the OS more beautiful - Circeled all the edges and outlined all boxes - Centered the main Box .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. I´m still hyped to work on this project and will build up a cool OS - the WaldOS© (just jocking with the copyright XD) -´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´- I hope you have a good day :) You have to follow to don´t miss anything XD"}, {"post_id": 19174, "ts": "2026-06-30T13:13:14Z", "hours": 0.2708, "text": "Just finished the first part of the tutorial! I´ve once learned HTML in school like in sixth class or so and now all the memories come back and it´s a lot of fun to program in HTML (although the WaldOS© looks like garbage XD). But I´m hyped to build it better and spend way more time in this cool project which I can still use after the Stardance Challenge!"}]...
|
Title: WaldOS© 3.0 by @Waldewort | Stardance
Devl Title: WaldOS© 3.0 by @Waldewort | Stardance
Devlogs:
Just finished the first part of the tutorial! I´ve once learned HTML in school like in sixth class or so and now all the memories come back and it´s a lot of fun to program in HTML (although the WaldOS© looks like garbage XD). But I´m hyped to build it better and spend way more time in this cool project which I can still use after the Stardance Challenge!
DEVLOG 2 .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. My WaldOS is doing a big progress! I´ve added a couple of new thiongs in part 2. - A aqua translucent Top Bar where all the underpages will get linked - A background of vacation in Michigan to make the OS more beautiful - Circeled all the edges and outlined all boxes - Centered the main Box .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. I´m still hyped to work on this project and will build up a cool OS - the WaldOS© (just jocking with the copyright XD) -´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´-´- I hope you have a good day :) You have to follow to don´t miss anything XD
BIG UPDATE for the WaldOS©!!! (Devlog 3) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - __ Things I updated since last time in Part-3: Movabale Windows (Yeah :))) Openable Windows Closable Windows New stile 💫 A own CSS - File for the stile (Now it´s ordered 👌) An inscreen of an other project as a window 🎺 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Next time I will add real content and a searching Machine 💻🌍
❗NEW FEATURES FOR THE WALDOS© ❗ Devlog 4 ! New things I added: A new taskbar for a better overview Maximizable Windows ( Now you can see something 🤯💻) A notes Window with enough space to write down all notes about your own stardance project :) YouTube as a Window (Yippie, sadly you have to paste the Video-URL in, but changes will come :)) Onklick move to top on all Windows You can try it for your own and have a lot of fun: https://github.com/Waldewort/WaldOS Thanks for the like and follow ❤️, next time there will come new apps and better YouTube :)))
❗Biggest Update ever for the WaldOS ❗ ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., Devlog 5 All the new features: Better WaldVideo App: Thanks to the google cloud YouTube DATA API v3 now you can search directly in the window and then watch your favorite Videos ( yesss, that´s soo cool :)) The WaldSearch: A Wikipedia Action API make it possible to search all you want to know and then get the matching Wikipedia Pages to read (Only the best information for you all XD ) New App in building: I´m building up an complete own app in the WaldOS without any iframes or APIs, the release of this will be next time (you have to have a bit patience, it will be soo cool. I promise :))) ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., Thanks for reading, now you can try all of this for your own: https://github.com/Waldewort/WaldOS (The YouTube will sadly not work cause you need a server to run on, I do it on a python server, so if you wanna try this you have to wait till the ship sadly :( Have fun and thanks for the like <3
❗Completely new Design for WaldOS© ❗ .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. Devlog 6! First, the Website to explore it to your own😉: https://waldewort.github.io/WaldOS/ If you more like to read about the new features, here it comes: Now the WaldOS has an fullscreenmode to make it feel like a real Operating System (That´s so cool!) Other things I added: Togglemode for the appicons to close them by pressing again on them A new App has launched (yippie): A calender to write in all your import dates to ship the next project for stardance XD The Taskbar border is gone now the Border is the sun 🤯 The Waldiverse and Waldsearch became their own Icons and a big remake: The Waldiverse (YouTube) experience is now way smoother and easier to handle The Waldsearch has now a own Wikipedia Screen in the WaldOS 😱 which opens by choosing an article and makes the expierience of WaldOS© sooo immersive (befor you was kicked out to your browser 🙄) The design is a bit updated and some datails like backgroundcolors changed (some uninteresting stuff XD ) .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. After adding the next app (hints in the Video 😶) I´m gonna ship Version 1.0 of The WaldOS© Stay excited there will come even more afterwards! Thanks for reading, now it´s on you to try the WaldOS for your own 🥳: https://waldewort.github.io/WaldOS/ Now as an real WebOS (yeah:))) ) Have fun and remember to like and leave a follow 🤗
🥳The final Version 1.0 of The WaldOS©🥳 : ) : ) : ) : ) : ) : ) :) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) Devlog 7 Lunch of the WaldOS© Version 1.0 today❗ Thinks changed since last time: The best App has launched, The Waldlas: A Openstreetmaps based maps app with a lot of functions: Your current location and the WaldOS© Headquarter are fixed on the map as a pin. You can klick anywhere on the map and pin a emoji with text to the map to don´t ever forget where this good restaurant was ( because we all forget always 😢, but not anymore 🥳) A searchbar makes it possible to find any location within milliseconds (for all the bad geographie students 😉) And a FULLY USEABLE ROUTESEARCH SIDEBAR (wow!), just type in two locations and it will find the fastest route for cars! Again a new design! I removed the background and now theres something like a glassy optic ( I know a bit mainstream but I didn´t know what else 😢) Bugfixes 1.3 for the Waldiverse and the Waldsearch I don´t know it´s too much happend XD : ) : ) : ) : ) : ) : ) :) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) : ) If you want to try it out before the launch in some hours: https://waldewort.github.io/WaldOS/ I hope you like the new features and give a good ranking 🙃 cause I made sooo much and nearly all by my self, different than others! Thanks for reading and leaving a like and a comment! See you soon 👋
💫Finale Design for the WaldOS©💫 — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — Devlog 8 What´s new: Interactive Background! The cursor forms star constellations and in the middle is a subtle WaldOS© title. Randomly some little shooting stars flying over the screen (some cute little ones💫) I´m worikng on a new App design for every app witch fits way better in the style (but need soo long time😢) — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — Here you can try out the WaldOS©: https://waldewort.github.io/WaldOS/ Thanks for reading this and your like and comment :)
🥳The final design of the WaldOS© is finished!🥳 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Devlog 9 Try it out instead of reading (I know you 😜): https://waldewort.github.io/WaldOS/ What is new: The new glassy design with the new header is now applied on all Apps (sadly looks bit like apple :( ) A new App has launched: The settings (wow how exciting XD) -The background is now fully costummizable with the settings app. -You can choose of 6 different Presets for Colouring -You can create your own colouring -You can set the speed and digit of stars and how far constellations are forming (watch out for your potato PC - Graphical intensive 😉) -You can Rename the main title in the middle of the WebOS! Bugfixes 2.3 on Waldiverse and Waldlas First performance fix and improvement (no fun 😢) That will come next? A save for your own presets ( cool idea! ) Idk see what comes in my mind next! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- You wanna try the WaldOS©: https://waldewort.github.io/WaldOS/ I hope you have fun and thanks for the reading and the like and comment 🙃
2️⃣.0️⃣The Launch of the WaldOS© 2.0 is happening in the next days! 2️⃣.0️⃣ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Devlog 10 (I think) Trying is better than reading: https://waldewort.github.io/WaldOS/ All the new stuff: 1. First time ever I really did what I said in last Devlog: Introducing the own creatable and saveable Universum function in the settings app (yesss, fully customiseable - other than apple XD) Two new Apps (Wow I was productive 😁): The WaldCalc, a … Calculator (stunning 😲) And the… WaldSky, a App you can watch the real stars flying over sky. You can let you show real constellations and the names of them 💫. You can set in a time and place so you know where to have to look with your Crush during night to see the Ursa Minor ( Just joking, we are coder, not touching grass (or girls 😜(just joking again😂)) 😢). New Icon design: Gemini cooked with the new Icons, I just inserted them (took anyways like one hour) A little Copyright sentence under the title to prevent abuse 😲 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This was it actually, I´m going to ship tomorror or one day after this (sorry to all native speaker hehe) Try the WaldOS© for your own: https://waldewort.github.io/WaldOS/ Thanks for reading and all the support and the comment and like ♥️!
2️⃣.0️⃣Release of the WaldOS© 2.0 is now🥳🥳🥳2️⃣.0️⃣ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Devlog 11 What has changed ? Bugfixes on the WaldSky and Waldlas and perfomance optimization (99% of work) Title has changed to WaldOS© 2.0 (1% of work 😂) A new ReadME (more exciting and readable) Uhm not more, but now version 2.0 is ready to launch 🥳🥳🥳 So celebrate with me the second launch in 3️⃣Three 2️⃣Two 1️⃣One Nowwww!!!! 🎉🎆✨ https://waldewort.github.io/WaldOS/ yippie! Try it your self 🙃 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thanks for reading, the like and comment and the good rating 😉
⏰🏎️🤖 The WaldOS© 2.0 got 3 new apps! :.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.: Devlog 12 Trying is better than reading: https://github.com/Waldewort/WaldOS The 3 new apps: A clock, alarm and stopwatch app to not forget the time! Very simple done! (yippie 🥳) The thing most of the people wanted: An integrated WaldAI 🤖😲: Using an free croq API I created the WaldAI. It´s using the gpt oss 120b modell by openai and is a bit stupid but for normal questions it´s okay (just don´t ask things witch are newer than 2024 😉😂) A very simple integrated game: The Waldracer! It´s the game slowroads by topograph.io and now it´s in the WaldOS© 2.0 as a standalone game thanks to the open source of their game: https://slowroads.io 🎉 Things that are also new but no app: A little staranimation is now greeting you when entering the WaldOS© 2.0 :.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.: That was it already, thanks for reading and the like and comment :) Try it for your own: https://github.com/Waldewort/WaldOS See you soon 🙃
💫Animations for the WaldOS© 2.0 💫 </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </> Devlog 13 You know the sentence 😂: https://waldewort.github.io/WaldOS/ A lot of cool new things for all with shortend attentionspan: A legendary starting animation in which … ahh no, just watch the video or visit: https://waldewort.github.io/WaldOS/ by your own! (but watch out it´s epic 😯) A new app with mathematical generated ambience sounds to learn or chill. Google Gemini helped me with this cause the generating of sounds is mindblowing complex. Thank you Gemini XD (But I made all around by my own and I think it´s a good app anyways! ) (I just recognized I still don´t have an app icon, but fixed till next time! ) A bit of bugfixing and testing with different thinks (stay tuned 😉) </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </>< > </> Try the WaldOS© 2.0 for your own: https://waldewort.github.io/WaldOS/ What comes next ? I don´t know, right now I´m producing content for the Virality Bonus for this follow https://www.instagram.com/waldewort/ on Instagram, thank you! Thanks for reading, your time, the like and the comment :)))
🎉🗣️The Waldasist beta version is out now in the WaldOS© 2.0🗣️🎉 ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^ Devlog 14 The biggest new feature in the history of the WaldOS© 2.0 has launched its beta version 🥳! The Waldasist is a integrated voice assistant in the WaldOS© 2.0. You can easyly activate it by pressing on the circle of stars right under the title. Now you can say the name of the App and it opens by magic. Also you can say maximize and then the name of the app and close apps by saying close and the app name. I´m right now working on a voice assist even in the apps themself but that´s not that easy! What changed too: Just a bit buggfixing in the Waldracer and WaldAi 😢 ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^ Stay tuned to don´t miss the next ship and that you can try WaldOS© 3.0 (holy moly😯). Next week I´m in holiday so I won´t post anything! Thanks for the like, follow and the commi 🙃
🤖Full Voice Assistant in the WaldOS© 2.0🤖 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Devlog 15 Trying is better than … this: https://waldewort.github.io/WaldOS/ The first accessibility feature is full working now 🤖🎉 The VoiceAI is now completely integrated in the WaldOS© 2.0 without a App needed. Just press the starring right under the title and talk to the VoiceAI! Also then there is a cool animation 🙃 The VoiceAI can now complete tasks in the apps like setting a timer or write down notes for you 😯 In the Settings App you can controll the VoiceAI and also read the user manuell to get to know how the VoiceAI works excactly. What changed else: Nothing 😢 But right now I´m working on a big new feature witch revoluts the opening process of the Apps in the WaldOS© 2.0, so stay tuned 😉 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - You wanna try the WaldOS© 2.0 ? Here you can 🥳: https://waldewort.github.io/WaldOS/ I´m glad you´ve readen this Devlog and thank you soo much for the like and comment and the good rating for the WaldOS© 3.0 (which is comming soon🤫)
🎉We celebrate the pass of the 100 hours mark of the WaldOS© 2.0 🎉 (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: Devlog 16 One new feature and one revolutional app for the celebration 😲: The WaldOS has got it´s own control center . Now you open apps in this center and then they are shown in the taskbar like in all other real operating systems! Also you can now minimize apps or close them complete. The new App: Introducing the WaldTravel! The WaldTravel is a tool you can plan your next trip more climate nutral and you can explore how much CO2 is expelled with different Vehicles! Short realtalk: This app is very important to me to show all the world how to reduce greenhouse gases and help with climate protection ♥️🌳! This is the most important topic for our (the stardance) generation and the following ones and I think stardance is a good way to show this importance to more people. Thank you 🥰 The app is very interactive and shows the importance of this topic in an easy and good to understand way with visualization! Also I fixed again some bugs and smoothed the WaldOS© 2.0 expierience more 🥱! (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: Try the WaldOS© 2.0 for your own: https://waldewort.github.io/WaldOS/ Thank you so much for reading this more serios Devlog and sharing it and give it a like 🙃! Write down in the comments if you want more of such apps with a important topic.
🌳More Waldclimate Apps for the WaldOS© 2.0🌳 “´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´´”´”´”´”´”´” Devlog 16 One new app and one in progress: The Waldollution, a app which shows you how long different objects need to get composed in nature if they get thrown away not regular. Work in progress for a really cool app with cats and polar bears ( and lot of cool other animals 😉), but more in the next Devlog 🤫 Bug fixing for the Control Center and some performance tests. Also I improved the Waldtravel animations a bit “´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´”´´”´”´”´”´”´” Test the WaldOS© 2.0 by your own: https://waldewort.github.io/WaldOS/ That´s it, the release of WaldOS© 3.0 will be soon, follow to don´t miss it! Thanks for reading and the like and follow 🙃
🥳The last features before the WaldOS© 3.0🥳 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Devlog 17 The new apps: The WaldEye: A cool app you can watch cute animal livestreams in! Of course only animals in pure nature so it can be you can´t see an animal for hours, but that´s nature. Since now I included four live streams of different animals ( also cute ones, like squirrels) The Waldollution: Another app that shows you how long trash need to get composed if it´s thrown into nature! Finally introducing the WaldWeather app: Automatically shows you the Weather on your location, but you can also search for places and save them to the bar on top to have easy access to them. If you maximize the window you get extra detailed information and a 7 day forecast (that´s maybe right XD) Also I fixed some bugs in the WaldTravel app! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Here you can try the WaldOS 2.0 for your own: https://waldewort.github.io/WaldOS/ Today I will launch the WaldOS 3.0 so follow to don´t miss something! Thanks for reading and the like and comment :))
Ships:
Welcome to the WaldOS©! The WaldOS© is a Webbased operating system by #Waldewort. It already has the most important features like: A Notebook screen which saves your notes for the next session A Trumpetfingeringlearning screen made by my coding college #Dasher2801 For all the ones who only want to watch longform YouTube content the Waldiverse, a YouTube application The WaldSearch, a Wikipedia based Searchmachine which outputs you only Wikipedia articles The Waldlas, a openstreetmaps based map version with Searchmodus and the possibility to make emoji Pins all over the world witch also saves over sessions and a route planer to plan your next vacation (We as coder won´t need this XD ) It´s important during coding to not forget to eat so theres the Mooncalendar, opens by pressing on the date is presize and custumisable Notes are possible witch saves over your sessions !!!Try out what happens when you press on the clock!!! Please only try it on desktop and you need at least a FHD Monitor that the windows aren´t too big! One day there will be a mobile version! But the WaldOS© is still in process and a lot more Apps will come, with even more features and better Style. Please remember that I needed 40 hours to code this caused by coding it BY MYSELF and not AI, so also the design is not the best but at least not a AI Design like on 95% of the projects here! Thanks for reading and your interest in WaldSearch© and for the good rating :))
🎉 The WaldOS© 2.0 has officelly launched 🎉 Welcome to the WaldOS© 2.0 🥳! The WaldOS© 2.0 is a update of the WaldOS© and brings with it two new Apps, a completely new Background ✨witch is fully customisable and new Icons 📱! The WaldOS© 2.0 is a very elaborate project in witch I tried to use as many AI as possible so please remember this in the rating! What’s Inside the WaldOS©? 📝 Notes & 🌙 Mooncalendar: Write down ideas and check your calendar persistent session saving. (Pro tip: Try clicking on the clock! ⏰) 🎺 Trumpet Learn: Learn brass fingerings step-by-step—huge credit to my coding colleague #Dasher2801 for building this! 📽️ Waldiverse & 🔍 WaldSearch: Stream longform YouTube content or search exclusively for pure Wikipedia articles. 🗺️ Waldlas: OpenStreetMap integration with route planning and session-saved emoji pins worldwide. 🧮 WaldCalc & 🌌 WaldSky: Solve equations or gaze at real-time constellations flying across your screen. ⚙️ Settings App: Fully customize your background universe! Adjust colors, star density, and speeds (watch out, potato PCs 🥔). ⚠️I only tested the WaldOS© 2.0 on a FHD (1080p) or higher monitor so lower resolution may cause window rendering issues⚠️ Thanks for reading and your interests in the WaldOS© 2.0 ♥️. Thanks for your feedback and like and I hope for a good rating 😉!
🎉Release of the WaldOS© 3.0🎉 Yipppppie, here are all new features: Animation when you start the WaldOS© 3.0 The completely new startmenu and minimization of the Apps The VoiceAI, starts by pressing on the starring under the title and can be monitored in the settings 🤖. The WaldAI, a groq based Ai witch can answer your question (not that good, but it´s okay) The Waldracer, a game in qhich you can drive infinte in a cool world. Thanks to slowroads to make this free 🏎️! The WaldClock, a timer and clock (wow!) The Wal(D)-OS, you can create your own TO-DO Pins with date and time. Waldtravel, a app you can calculate the CO2 and energy needed for different Vehicles and Routes Waldollution, you can see how long different things need to get composed in nature The Waldeye, with different livestreams of nature and animals The WaldWeather, a whater app! Waldience, you can create naturesounds to chill more 🌳. Thanks for testing the WaldOS© 3.0 and your likes ♥️, comments 💬 and the good rating 🥰😉 !...
|
1792817554.6616461
|
1793681554.6616461
|
|
29066
|
My own site! by @hyp | Stardance
|
hyp
|
3
|
5.0
|
12
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T03:36:08Z", "hours": 1.0, "multiplier": 2.43, "payout": 2, "blessing": "neutral", "text": "a lot of the information is in the devlog i just posted, but here’s a recap: added warning to remind people to be mindful about what they type in the feedback box added some responsiveness for different screen sizes added three social links at the bottom of the about page moved the light mod button on the home page from the middle to the top right so it doesn’t seem like it takes you to another page (suggested by somebody) added more information about myself, like age and stuff like that 1 thing i wanted to point out is: GENUINELY BE MINDFUL OF WHAT UR TYPING IN THE FEEDBACK BOX CUZ I HAD TO DELETE SOME STUFF(i might even have to add some sort of filter later on) anyways hope you enjoy my project!", "repo": "https://github.com/hypigel/hypigel", "demo": "https://sd.hypigel.net/"}, {"ship_num": 2, "ts": "2026-07-02T02:57:20Z", "hours": 3.0, "multiplier": 3.92, "payout": 10, "blessing": "neutral", "text": "i did some major updates to the website, including a new and improved theme, a click counter, and a cool feedback thing(make sure to send me feedback if u see this!)", "repo": "https://github.com/hypigel/hypigel", "demo": "https://sd.hypigel.net/"}, {"ship_num": 3, "ts": "2026-07-01T00:47:40Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just started working on my very own portfolio website. I added a dark mode/light mode switch, and an about me button that goes to an about me page. I’m currently working on how the about me page looks, and I’m looking to add button animations, interactive elements in the background, and more.", "repo": "https://github.com/hypigel/hypigel", "demo": "https://sd.hypigel.net/"}]...
|
[{"post_id": 28081, "ts": "202 [{"post_id": 28081, "ts": "2026-07-14T03:32:01Z", "hours": 0.9306, "text": "hello! ngl i took a little break from this project but im back and i made a few updates based on the feedback i got from you guys. this devlog will be pretty short since this was just a polishing update. the most significant changes include a new display for feedback, more information about me, and some social links at the bottom. so yea this update is pretty small, but hopefully the website feels a lot better to use!"}, {"post_id": 20485, "ts": "2026-07-02T02:50:42Z", "hours": 2.5419, "text": "devlog #2 - cleaning up the design i spent this one on the vibe. i gave the whole site a soft gradient background and cleaned up light/dark mode so both actually look good instead of just “not broken.” i also added a ray of light that follows your cursor, it’s pointless but i love subtle details. the biggest obstacle was buttons. i learned to build a custom 3d push button from josh comeau’s guide , and also picked up a bunch of other cool tricks from his site along the way. i took a little break from frontend and decided to hook up supabase to record one-word feedback from visitors. right now it shows up in a little box, but as more people send feedback, it won’t fit. i’m most likely going to do an infinite scrolling headline type thing because it would probably be the most compact and it’ll look amazing. more updates soon! (i might even add some games who knows)"}, {"post_id": 19623, "ts": "2026-07-01T00:11:59Z", "hours": 0.8356, "text": "Devlog 1: I just started working on my very own portfolio website. I added a dark mode/light mode switch, and an about me button that goes to an about me page. I’m currently working on how the about me page looks, and I’m looking to add button animations, interactive elements in the background, and more. Later on, I will be adding things like a widget that shows what music I am currently listening to, and something to link my socials."}]...
|
Title: My own site! by @hyp | Stardance
Devlogs:
Title: My own site! by @hyp | Stardance
Devlogs:
Devlog 1: I just started working on my very own portfolio website. I added a dark mode/light mode switch, and an about me button that goes to an about me page. I’m currently working on how the about me page looks, and I’m looking to add button animations, interactive elements in the background, and more. Later on, I will be adding things like a widget that shows what music I am currently listening to, and something to link my socials.
devlog #2 - cleaning up the design i spent this one on the vibe. i gave the whole site a soft gradient background and cleaned up light/dark mode so both actually look good instead of just “not broken.” i also added a ray of light that follows your cursor, it’s pointless but i love subtle details. the biggest obstacle was buttons. i learned to build a custom 3d push button from josh comeau’s guide , and also picked up a bunch of other cool tricks from his site along the way. i took a little break from frontend and decided to hook up supabase to record one-word feedback from visitors. right now it shows up in a little box, but as more people send feedback, it won’t fit. i’m most likely going to do an infinite scrolling headline type thing because it would probably be the most compact and it’ll look amazing. more updates soon! (i might even add some games who knows)
hello! ngl i took a little break from this project but im back and i made a few updates based on the feedback i got from you guys. this devlog will be pretty short since this was just a polishing update. the most significant changes include a new display for feedback, more information about me, and some social links at the bottom. so yea this update is pretty small, but hopefully the website feels a lot better to use!
Ships:
I just started working on my very own portfolio website. I added a dark mode/light mode switch, and an about me button that goes to an about me page. I’m currently working on how the about me page looks, and I’m looking to add button animations, interactive elements in the background, and more.
i did some major updates to the website, including a new and improved theme, a click counter, and a cool feedback thing(make sure to send me feedback if u see this!)
a lot of the information is in the devlog i just posted, but here’s a recap: added warning to remind people to be mindful about what they type in the feedback box added some responsiveness for different screen sizes added three social links at the bottom of the about page moved the light mod button on the home page from the middle to the top right so it doesn’t seem like it takes you to another page (suggested by somebody) added more information about myself, like age and stuff like that 1 thing i wanted to point out is: GENUINELY BE MINDFUL OF WHAT UR TYPING IN THE FEEDBACK BOX CUZ I HAD TO DELETE SOME STUFF(i might even have to add some sort of filter later on) anyways hope you enjoy my project!...
|
1792975811.2422905
|
1793062211.2422905
|
|
29325
|
SUWasi by @S_U_Wasi | Stardance
|
S_U_Wasi
|
3
|
22.0
|
48
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T18:21:46Z", "hours": 8.0, "multiplier": 3.26, "payout": 26, "blessing": "neutral", "text": "This is my portfolio website. This is my portfolio as well as website. This website contains, my educational background, projects, Articles, contacts, timeline, currently working projects. Since this is written in pure HTML, CSS and JS, there is no mentionable problems. I faced some problems with embed code, fonts (Because I want to use local fonts, which result font changes from device to device). On what I am proud of from this Website is this is my 2nd and 1st successful portfolio. In previous months I tried to create one but those are not built according to what I was expecting. But now If I think that was because that time I was entirely dependent on AI. For on this project, I first planed on paper then worked on raw materials and integrate AI brick by brick. This result to the creation of a website exactly how I want. I really wanted to use three.js in my website to customise it with visuals. But using that JS causes my site to slow down. but I want to make the website as fast as I can. Because I think protfolio should be fast readable. That is why I tried my best with HTML, CSS and JS Thank You.", "repo": "https://github.com/MDSUWasi/SUWasi", "demo": "https://mdsuwasi.github.io/SUWasi/"}, {"ship_num": 2, "ts": "2026-07-03T16:48:42Z", "hours": 9.0, "multiplier": 2.33, "payout": 22, "blessing": "neutral", "text": "I have updated my site to new. Previously everything was just like a structure only. Now, I have updated them. How I have used AI is fully described in the AI Deceleration section. In brief about AI use: “I have used AI for solving problems and trying tweaks before coming to one conclusion. I used for making my site smooth because it was having friction”. And nothing more than that. AI is just for help (How to do? and Why?) and All other things are done by me. What’s new: Added Sub-pages Structural change (One row view at the main page) Place-holders for upcoming changes. In the next update I will update the site with most real and accurate data (since this is my portfolio).", "repo": "https://github.com/MDSUWasi/SUWasi", "demo": "https://mdsuwasi.github.io/SUWasi/"}, {"ship_num": 3, "ts": "2026-07-02T12:48:13Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my Personal and Portfolio Website. Currently it is in its initial form. Since it is my personal website, I am going to continuously update the site and have no intention of discontinuation. And It is my personal website that is why I have designed everything. But I also have taken help from AI. Here is the full description: The design is uniquely mine. (I have edited the entire CS all by myself and HTML too). No one command AI is used. 2.5. No AI generated one-click website built. I used AI for solving specific issues, solving problem (Bug is also fixed by myself, AI is used to identify and find how to solve). I took help during JS (But maximum portion of the JS came from my previous projects). I used very little AI, but designed, edited, planned, structured and write all by myself. And finally I have my personal site. The site right now may not be in its better condition but I will try my best to make it better.", "repo": "https://github.com/MDSUWasi/SUWasi", "demo": "https://mdsuwasi.github.io/SUWasi/"}]...
|
[{"post_id": 39977, "ts": "202 [{"post_id": 39977, "ts": "2026-08-03T10:05:06Z", "hours": 2.8936, "text": "New Updates and Announcement Today my site got new update with some fix (Only source level updates, that is why there is less visual changes). New Updates: The history timeline got new structure. The site have 2 view mode now. The site is now fast/ smooth. On August 10, I will release a Major Update where I will update the site with latest data, visuals and Proof (Since it is my portfolio, I can't just clam) , Structural improvements etc etc. Upcoming Updates include: Proof of what I claim on site. Total story on how I created this site and how I used AI (I will write in both project’s AI deceleration section and README ). I will add how the site’s Analytic work directly in to the Home page of my site (So, that the analytic is transparent to all and those who visit can know it.) Add Stats on the home page. And More."}, {"post_id": 28334, "ts": "2026-07-14T14:57:17Z", "hours": 0.7792, "text": "I have updated my website. Here is what’s new, Written robots.txt for search engines to find my site. Written a separate 404 error page to show up during error. Added a privacy-first analytic tool for my sites."}, {"post_id": 28138, "ts": "2026-07-14T07:29:19Z", "hours": 4.3553, "text": "I have upgraded my website with real data, look and sub-pages. I introduced some new look and position. Currently it is a stable release But still now it is under development."}, {"post_id": 21578, "ts": "2026-07-03T16:37:33Z", "hours": 5.5011, "text": "I have just deployed the second version of my site. New Update: Added sub-pages (almost all sub-pages are online now except 2) In the next Upcoming Update I will update my site with real and accurate data."}, {"post_id": 21315, "ts": "2026-07-03T05:32:57Z", "hours": 3.1192, "text": "Recently, I worked on Interface , Visuals , Very little Animations and some sub-pages Currently my site have, View my Work sub pages (Will be updated with real data soon). Contact sub pages (CSS will be completed soon) Article Sub page is complete (Soon will be updated with my real articles) About Me section complete (little tweaks are coming soon) Time-line (Currently under development) All new updates are not deployed in GitHub repository or page/site. I may deploy it after completing the above 5."}, {"post_id": 20811, "ts": "2026-07-02T14:53:26Z", "hours": 0.8478, "text": "New Update (Upcoming Currently in test not deployed) Added animation (Few animations) Changing from from all in one site to modular structure but keeping the At a glance view."}, {"post_id": 20678, "ts": "2026-07-02T10:30:16Z", "hours": 1.1033, "text": "Finally I got a starting structure for my personal portfolio website. It is a starting point ( I will update it continuously )."}, {"post_id": 20619, "ts": "2026-07-02T08:14:40Z", "hours": 1.7694, "text": "Main page is complete. Now working on subpages."}, {"post_id": 20566, "ts": "2026-07-02T05:40:51Z", "hours": 0.3683, "text": "Working on the main html is done and now working on css"}, {"post_id": 20554, "ts": "2026-07-02T05:11:13Z", "hours": 1.4975, "text": "I have designed the structure initially on paper and currently writing the source code."}]...
|
Title: SUWasi by @S_U_Wasi | Stardance
Devlogs:
I Title: SUWasi by @S_U_Wasi | Stardance
Devlogs:
I have designed the structure initially on paper and currently writing the source code.
Working on the main html is done and now working on css
Main page is complete. Now working on subpages.
Finally I got a starting structure for my personal portfolio website. It is a starting point ( I will update it continuously ).
New Update (Upcoming Currently in test not deployed) Added animation (Few animations) Changing from from all in one site to modular structure but keeping the At a glance view.
Recently, I worked on Interface , Visuals , Very little Animations and some sub-pages Currently my site have, View my Work sub pages (Will be updated with real data soon). Contact sub pages (CSS will be completed soon) Article Sub page is complete (Soon will be updated with my real articles) About Me section complete (little tweaks are coming soon) Time-line (Currently under development) All new updates are not deployed in GitHub repository or page/site. I may deploy it after completing the above 5.
I have just deployed the second version of my site. New Update: Added sub-pages (almost all sub-pages are online now except 2) In the next Upcoming Update I will update my site with real and accurate data.
I have upgraded my website with real data, look and sub-pages. I introduced some new look and position. Currently it is a stable release But still now it is under development.
I have updated my website. Here is what’s new, Written robots.txt for search engines to find my site. Written a separate 404 error page to show up during error. Added a privacy-first analytic tool for my sites.
New Updates and Announcement Today my site got new update with some fix (Only source level updates, that is why there is less visual changes). New Updates: The history timeline got new structure. The site have 2 view mode now. The site is now fast/ smooth. On August 10, I will release a Major Update where I will update the site with latest data, visuals and Proof (Since it is my portfolio, I can't just clam) , Structural improvements etc etc. Upcoming Updates include: Proof of what I claim on site. Total story on how I created this site and how I used AI (I will write in both project’s AI deceleration section and README ). I will add how the site’s Analytic work directly in to the Home page of my site (So, that the analytic is transparent to all and those who visit can know it.) Add Stats on the home page. And More.
Ships:
This is my Personal and Portfolio Website. Currently it is in its initial form. Since it is my personal website, I am going to continuously update the site and have no intention of discontinuation. And It is my personal website that is why I have designed everything. But I also have taken help from AI. Here is the full description: The design is uniquely mine. (I have edited the entire CS all by myself and HTML too). No one command AI is used. 2.5. No AI generated one-click website built. I used AI for solving specific issues, solving problem (Bug is also fixed by myself, AI is used to identify and find how to solve). I took help during JS (But maximum portion of the JS came from my previous projects). I used very little AI, but designed, edited, planned, structured and write all by myself. And finally I have my personal site. The site right now may not be in its better condition but I will try my best to make it better.
I have updated my site to new. Previously everything was just like a structure only. Now, I have updated them. How I have used AI is fully described in the AI Deceleration section. In brief about AI use: “I have used AI for solving problems and trying tweaks before coming to one conclusion. I used for making my site smooth because it was having friction”. And nothing more than that. AI is just for help (How to do? and Why?) and All other things are done by me. What’s new: Added Sub-pages Structural change (One row view at the main page) Place-holders for upcoming changes. In the next update I will update the site with most real and accurate data (since this is my portfolio).
This is my portfolio website. This is my portfolio as well as website. This website contains, my educational background, projects, Articles, contacts, timeline, currently working projects. Since this is written in pure HTML, CSS and JS, there is no mentionable problems. I faced some problems with embed code, fonts (Because I want to use local fonts, which result font changes from device to device). On what I am proud of from this Website is this is my 2nd and 1st successful portfolio. In previous months I tried to create one but those are not built according to what I was expecting. But now If I think that was because that time I was entirely dependent on AI. For on this project, I first planed on paper then worked on raw materials and integrate AI brick by brick. This result to the creation of a website exactly how I want. I really wanted to use three.js in my website to customise it with visuals. But using that JS causes my site to slow down. but I want to make the website as fast as I can. Because I think protfolio should be fast readable. That is why I tried my best with HTML, CSS and JS Thank You....
|
1792976188.1636744
|
1793062588.1636744
|
|
29599
|
Holy Moley by @GeorgeSun | Stardance
|
GeorgeSun
|
3
|
96.74
|
1613
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-07T23:43:28Z", "hours": 65.0, "multiplier": 19.59, "payout": 1513, "blessing": "neutral", "text": "Me and my friends made a game about a little mole that fights demons! There are 14 different levels, an inventory system, main menu, health system, map/quick travel system, shop system, and four different items. There are also two bossfights that multiple different attacks and are quite challenging. The most challenging part about this was making the enemy pathfinding as there were many bugs and glitches during the creation process. I am most proud of how polished the game is because the game feels very reactive and fun to play. There has been many changes since the last ship which I feel make the game a lot more complete such as the mole village where there are NPC moles for you to talk to. The game has side quests for you to accomplish now which give you exclusive unlocks that help you along your adventure. Click try project below to play on web or on PC!", "repo": "https://github.com/Geofoods/Holy-Moly", "demo": "https://bryanjietang-boop.itch.io/holy-moly"}, {"ship_num": 2, "ts": "2026-09-03T22:02:25Z", "hours": 2.0, "multiplier": 12.89, "payout": 24, "blessing": "neutral", "text": "Me and my friends made a game about a little mole that fights demons! There are nine different levels, inventory system, main menu, health system, and many different intricate systems such as the parry system! The most challenging part about this was making the enemy pathfinding as there were many bugs and glitches during the creation process. I am most proud of how polished the game is because the game feels very reactive and fun to play. I am also proud of the fact that this is now available on mobile and can be played on Andriod and Iphone! (although not available on the app store. You can play my project with the demo link! The Android version is downloadable, you just have to give it permissions. IOS needs an apple developer license however so it will take a while.", "repo": "https://github.com/Geofoods/Holy-Moly", "demo": "https://bryanjietang-boop.itch.io/holy-moly"}, {"ship_num": 3, "ts": "2026-07-10T14:24:37Z", "hours": 12.0, "multiplier": 12.93, "payout": 76, "blessing": "neutral", "text": "Me and my friends made a game about a little mole that fights demons! There are nine different levels, inventory system, main menu, health system, and many different intricate systems such as the parry system! The most challenging part about this was making the enemy pathfinding as there were many bugs and glitches during the creation process. I am most proud of how polished the game is because the game feels very reactive and fun to play. You can play my project with the demo link!", "repo": "https://github.com/Geofoods/Holy-Moly", "demo": "https://bryanjietang-boop.itch.io/holy-moly"}]...
|
[{"post_id": 82122, "ts": "202 [{"post_id": 82122, "ts": "2026-10-24T00:29:19Z", "hours": 9.1569, "text": "I created a level editor so that everyone can make their own levels. You can create blocks, enemies, checkpoints, chests, items, decorations, and spawnpoints! You can even change the background, music, and VFX! After you have created your level, you can upload your levels to the public server so that everyone can play your level. You can also sort levels by date, likes, downloads, and keywords!"}, {"post_id": 80043, "ts": "2026-10-16T01:49:13Z", "hours": 8.5842, "text": "I polished the map menu to be more consistent to the rest of the menus in the game. I also added more selection to the shop where now you can also sell things in the shop. There are also two new weapons which is the miner’s pickaxe and the wizard’s staff which is the first ranged weapon. I also am currently working on a multiplayer battle mode."}, {"post_id": 77696, "ts": "2026-10-07T23:19:00Z", "hours": 3.3469, "text": "I made my final bugfixes and a few optimizations for web, I think you guys will really enjoy the game!"}, {"post_id": 77189, "ts": "2026-10-06T00:18:02Z", "hours": 10.3744, "text": "This will probably be the final devlog as the game is super close to being finished! I added houses that the mole can enter and also added an extra phase to the corrupted snail boss. There are also new quests for you to partipate in and there are more points for you to quick travel from. I also added in some more music and sound effects and more polishing. You can also now save and erase game data"}, {"post_id": 75730, "ts": "2026-09-30T21:36:11Z", "hours": 9.2133, "text": "I created a new boss called the corrupted snail which will be the final boss and also reworked the corrupted heart as well. I also added some extra story and dialogue and added a new map with quick travel so that you can travel from mole village to the shopkeeper"}, {"post_id": 73767, "ts": "2026-09-25T21:55:35Z", "hours": 7.4275, "text": "I added extra polishing to the arena such as a new enemy spawning animation, and reworked the hornets which is the new enemy that dashes into you. I also added some story and dialogue."}, {"post_id": 72415, "ts": "2026-09-22T21:35:48Z", "hours": 10.3656, "text": "I changed the colours to make the visuals more aesthetic. I also added mole village where you can talk to other moles. I also revamped the tutorial so that the player learns the controls better"}, {"post_id": 70715, "ts": "2026-09-19T17:16:05Z", "hours": 8.8269, "text": "There are now new enemies such as hornets and I have been working on a lot of new levels for my open world 2d platformer called Holy Moly!"}, {"post_id": 69410, "ts": "2026-09-17T00:24:37Z", "hours": 7.6839, "text": "I want to make this an Open World 2D Platformer Game so I have it so that you can travel between levels freely without select screen. I also changed the lighting and added various QOL features"}, {"post_id": 68317, "ts": "2026-09-14T22:37:20Z", "hours": 5.8411, "text": "Made a new shop UI, cave system, and a dynamic camera. I also changed the block breaking physics so that the dirt particles have physics and also added ranged weapons and a grappling hook"}, {"post_id": 64521, "ts": "2026-09-09T00:01:03Z", "hours": 2.0364, "text": "I created a world system where are the levels are connected and also added a damage indicator when hitting enemies and how much damage you inflicted. I also tweaked the combat system so now there is an aerial attack when you attack in the air which is faster than ground attacking"}, {"post_id": 52028, "ts": "2026-08-22T02:07:00Z", "hours": 1.5547, "text": "I ported my Game onto Android and Apple phones and added mobile support!"}, {"post_id": 23539, "ts": "2026-07-06T15:49:12Z", "hours": 10.8819, "text": "Finished the game with 9 levels, end screen, win screen, and boss at the end. You can play the game right now!"}, {"post_id": 20425, "ts": "2026-07-02T00:51:13Z", "hours": 0.8114, "text": "Added a cave parallax background, the player sprite animations and the health indicator"}]...
|
Title: Holy Moley by @GeorgeSun | Stardance
Devlo Title: Holy Moley by @GeorgeSun | Stardance
Devlogs:
Added a cave parallax background, the player sprite animations and the health indicator
Finished the game with 9 levels, end screen, win screen, and boss at the end. You can play the game right now!
I ported my Game onto Android and Apple phones and added mobile support!
I created a world system where are the levels are connected and also added a damage indicator when hitting enemies and how much damage you inflicted. I also tweaked the combat system so now there is an aerial attack when you attack in the air which is faster than ground attacking
Made a new shop UI, cave system, and a dynamic camera. I also changed the block breaking physics so that the dirt particles have physics and also added ranged weapons and a grappling hook
I want to make this an Open World 2D Platformer Game so I have it so that you can travel between levels freely without select screen. I also changed the lighting and added various QOL features
There are now new enemies such as hornets and I have been working on a lot of new levels for my open world 2d platformer called Holy Moly!
I changed the colours to make the visuals more aesthetic. I also added mole village where you can talk to other moles. I also revamped the tutorial so that the player learns the controls better
I added extra polishing to the arena such as a new enemy spawning animation, and reworked the hornets which is the new enemy that dashes into you. I also added some story and dialogue.
I created a new boss called the corrupted snail which will be the final boss and also reworked the corrupted heart as well. I also added some extra story and dialogue and added a new map with quick travel so that you can travel from mole village to the shopkeeper
This will probably be the final devlog as the game is super close to being finished! I added houses that the mole can enter and also added an extra phase to the corrupted snail boss. There are also new quests for you to partipate in and there are more points for you to quick travel from. I also added in some more music and sound effects and more polishing. You can also now save and erase game data
I made my final bugfixes and a few optimizations for web, I think you guys will really enjoy the game!
I polished the map menu to be more consistent to the rest of the menus in the game. I also added more selection to the shop where now you can also sell things in the shop. There are also two new weapons which is the miner’s pickaxe and the wizard’s staff which is the first ranged weapon. I also am currently working on a multiplayer battle mode.
I created a level editor so that everyone can make their own levels. You can create blocks, enemies, checkpoints, chests, items, decorations, and spawnpoints! You can even change the background, music, and VFX! After you have created your level, you can upload your levels to the public server so that everyone can play your level. You can also sort levels by date, likes, downloads, and keywords!
Ships:
Me and my friends made a game about a little mole that fights demons! There are nine different levels, inventory system, main menu, health system, and many different intricate systems such as the parry system! The most challenging part about this was making the enemy pathfinding as there were many bugs and glitches during the creation process. I am most proud of how polished the game is because the game feels very reactive and fun to play. You can play my project with the demo link!
Me and my friends made a game about a little mole that fights demons! There are nine different levels, inventory system, main menu, health system, and many different intricate systems such as the parry system! The most challenging part about this was making the enemy pathfinding as there were many bugs and glitches during the creation process. I am most proud of how polished the game is because the game feels very reactive and fun to play. I am also proud of the fact that this is now available on mobile and can be played on Andriod and Iphone! (although not available on the app store. You can play my project with the demo link! The Android version is downloadable, you just have to give it permissions. IOS needs an apple developer license however so it will take a while.
Me and my friends made a game about a little mole that fights demons! There are 14 different levels, an inventory system, main menu, health system, map/quick travel system, shop system, and four different items. There are also two bossfights that multiple different attacks and are quite challenging. The most challenging part about this was making the enemy pathfinding as there were many bugs and glitches during the creation process. I am most proud of how polished the game is because the game feels very reactive and fun to play. There has been many changes since the last ship which I feel make the game a lot more complete such as the mole village where there are NPC moles for you to talk to. The game has side quests for you to accomplish now which give you exclusive unlocks that help you along your adventure. Click try project below to play on web or on PC!...
|
1792968862.0742104
|
1793055262.0742104
|
|
29764
|
Cybro by @RajanKC | Stardance
|
RajanKC
|
3
|
9.0
|
24
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T02:39:53Z", "hours": 4.0, "multiplier": 4.36, "payout": 17, "blessing": "neutral", "text": "Completed the project Please rate this project good", "repo": "https://github.com/RajanKCKC/Cybro", "demo": "https://hackclub.enterprise.slack.com/archives/C0BFJLJ6KUG"}, {"ship_num": 2, "ts": "2026-07-25T15:15:21Z", "hours": 1.0, "multiplier": 6.3, "payout": 7, "blessing": "neutral", "text": "Shiped", "repo": "https://github.com/RajanKCKC/Cybro", "demo": "https://hackclub.enterprise.slack.com/archives/C0BFJLJ6KUG"}, {"ship_num": 3, "ts": "2026-07-07T02:40:49Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "🚀 What I Made: I built Cybro , an AI-powered utility and productivity Slack bot packed with features to automate and entertain: /cybro-ask : Contextual, instant answers powered by Gemini 3.5 Flash via the Hack Club AI API. /cybro-calc & /cybro-translate : Laser-focused AI modes restricted specifically to parsing complex math expressions or delivering precise language translations. /cybro-timer : A visual productivity countdown that updates in real time using custom Slack message progress bars [🟩🟩⬜⬜] . /cybro-date : A live global time tool that fetches structural data for any country or timezone using TimeAPI. /cybro-coinflip , /cybro-joke , /cybro-catfact , /cybro-dogfact , /cybro-ping , and /cybro-info to keep the workspace lively and fast. 🧠 What Was Challenging: Slack’s 3-Second Rule: Managing async execution lines to ensure Slack’s strict 3-second acknowledgement window ( ack() ) didn’t timeout while waiting on upstream responses from the Gemini API. Isolated Prompting: Fine-tuning separate system instruction blocks for /cybro-calc and /cybro-translate so the AI wouldn’t break character or answer general knowledge questions when it was only supposed to crunch numbers or translate text. Stateful Intervals: Structuring Javascript’s native setInterval safely inside Slack’s respond() payload structures to cleanly re-render and update the live timer blocks without breaking the message context. ✨ What I’m Proud Of: I went way past the baseline and built a fully modular 12-command suite! I’m especially proud of the UI/UX polish—using custom Slack layouts, block dividers, interactive context elements, and dynamic emojis to make the bot look incredibly professional inside the chat window. 👉 How to Test: Invite Cybro to your channel and run /cybro-help to view the master command menu, or test out its brains directly with /cybro-ask Where is Mount Everest? or /cybro-timer 5 !", "repo": "https://github.com/RajanKCKC/Cybro", "demo": "https://hackclub.enterprise.slack.com/archives/C0BFJLJ6KUG"}]...
|
[{"post_id": 64576, "ts": "202 [{"post_id": 64576, "ts": "2026-09-09T02:38:28Z", "hours": 0.3975, "text": "feat: add /cybro-dice command to roll a die and display the result"}, {"post_id": 64331, "ts": "2026-09-08T17:02:19Z", "hours": 0.3628, "text": "feat: add /cybro-news command to fetch and display top tech news headlines from Hacker News"}, {"post_id": 63609, "ts": "2026-09-07T15:13:51Z", "hours": 0.3769, "text": "feat: add /cybro-crypto command to fetch and display cryptocurrency price information"}, {"post_id": 62923, "ts": "2026-09-06T13:47:14Z", "hours": 0.8358, "text": "feat: add /cybro-weather command to fetch and display current weather information for a specified location"}, {"post_id": 62343, "ts": "2026-09-05T17:45:01Z", "hours": 0.3828, "text": "feat: add /cybro-github command to fetch and display GitHub profile information"}, {"post_id": 61563, "ts": "2026-09-04T15:21:28Z", "hours": 1.0089, "text": "feat: enhance /cybro-poll command with improved voting mechanism and progress display"}, {"post_id": 60969, "ts": "2026-09-03T17:31:13Z", "hours": 0.4411, "text": "feat: add /cybro-poll command for creating polls with user-defined questions and options"}, {"post_id": 27802, "ts": "2026-07-13T17:54:53Z", "hours": 0.6822, "text": "Rewrote the whole Readme again"}, {"post_id": 27494, "ts": "2026-07-13T03:28:03Z", "hours": 0.4169, "text": "Rewrote Readme"}, {"post_id": 23456, "ts": "2026-07-06T13:27:10Z", "hours": 0.8128, "text": "Added Readme"}, {"post_id": 22656, "ts": "2026-07-05T06:35:52Z", "hours": 0.6333, "text": "Added /cybro-calc, /cybro-translate and /cybro-date command"}, {"post_id": 22049, "ts": "2026-07-04T09:28:33Z", "hours": 0.5336, "text": "Added Ask Command"}, {"post_id": 22024, "ts": "2026-07-04T08:30:31Z", "hours": 0.3392, "text": "Added Coinflip Command"}, {"post_id": 22011, "ts": "2026-07-04T07:44:00Z", "hours": 0.3, "text": "Enhanced timer command"}, {"post_id": 21541, "ts": "2026-07-03T15:45:23Z", "hours": 0.9736, "text": "Added Dog fact, info and Timer command"}, {"post_id": 20687, "ts": "2026-07-02T10:49:56Z", "hours": 0.3167, "text": "Added help and joke command"}, {"post_id": 20671, "ts": "2026-07-02T10:12:50Z", "hours": 0.3169, "text": "Setup Bot and added ping command"}]...
|
Title: Cybro by @RajanKC | Stardance
Devlogs:
Set Title: Cybro by @RajanKC | Stardance
Devlogs:
Setup Bot and added ping command
Added help and joke command
Added Dog fact, info and Timer command
Enhanced timer command
Added Coinflip Command
Added Ask Command
Added /cybro-calc, /cybro-translate and /cybro-date command
Added Readme
Rewrote Readme
Rewrote the whole Readme again
feat: add /cybro-poll command for creating polls with user-defined questions and options
feat: enhance /cybro-poll command with improved voting mechanism and progress display
feat: add /cybro-github command to fetch and display GitHub profile information
feat: add /cybro-weather command to fetch and display current weather information for a specified location
feat: add /cybro-crypto command to fetch and display cryptocurrency price information
feat: add /cybro-news command to fetch and display top tech news headlines from Hacker News
feat: add /cybro-dice command to roll a die and display the result
Ships:
🚀 What I Made: I built Cybro , an AI-powered utility and productivity Slack bot packed with features to automate and entertain: /cybro-ask : Contextual, instant answers powered by Gemini 3.5 Flash via the Hack Club AI API. /cybro-calc & /cybro-translate : Laser-focused AI modes restricted specifically to parsing complex math expressions or delivering precise language translations. /cybro-timer : A visual productivity countdown that updates in real time using custom Slack message progress bars [🟩🟩⬜⬜] . /cybro-date : A live global time tool that fetches structural data for any country or timezone using TimeAPI. /cybro-coinflip , /cybro-joke , /cybro-catfact , /cybro-dogfact , /cybro-ping , and /cybro-info to keep the workspace lively and fast. 🧠 What Was Challenging: Slack’s 3-Second Rule: Managing async execution lines to ensure Slack’s strict 3-second acknowledgement window ( ack() ) didn’t timeout while waiting on upstream responses from the Gemini API. Isolated Prompting: Fine-tuning separate system instruction blocks for /cybro-calc and /cybro-translate so the AI wouldn’t break character or answer general knowledge questions when it was only supposed to crunch numbers or translate text. Stateful Intervals: Structuring Javascript’s native setInterval safely inside Slack’s respond() payload structures to cleanly re-render and update the live timer blocks without breaking the message context. ✨ What I’m Proud Of: I went way past the baseline and built a fully modular 12-command suite! I’m especially proud of the UI/UX polish—using custom Slack layouts, block dividers, interactive context elements, and dynamic emojis to make the bot look incredibly professional inside the chat window. 👉 How to Test: Invite Cybro to your channel and run /cybro-help to view the master command menu, or test out its brains directly with /cybro-ask Where is Mount Everest? or /cybro-timer 5 !
Shiped
Completed the project Please rate this project good...
|
1792972293.370287
|
1793058693.370287
|
|
29828
|
KetchupOS by @ketchupismm | Stardance
|
ketchupismm
|
3
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T21:29:35Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "The idea for my WebOS challenge was just to make a simple Web with the theme around ketchup. There are features of a working clock. draggable, closing, minimizing, and deleting windows. Settings app icon and when you open it you can choose between two backgrounds. To-do list where you can write notes and delete them. Notes app where you can write anything you want. The most challenging part was 100% the back-end of learning how to make apps work. I had to use AI to help make that work and polish the code at the end.", "repo": "https://github.com/ketchupism/New_webOS", "demo": "https://ketchupism.github.io/New_webOS/"}, {"ship_num": 2, "ts": "2026-07-08T22:50:45Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a webOS of a theme around ketchup. The most difficult part of this entire challenge was just making the Demo URL. I had to AI this entire part because I didn’t understand how to make them. I went through a long process of debugging images and other problems. There’s not that many different features, just regular ones.", "repo": "https://github.com/ketchupism/New_webOS", "demo": "https://ketchupism.github.io/New_webOS/"}, {"ship_num": 3, "ts": "2026-07-05T21:35:47Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a webOS of a theme around ketchup. The most difficult part of this entire challenge was just making the Demo URL. I had to AI this entire part because I didn’t understand how to make them. I went through a long process of debugging images and other problems. There’s not that many different features, just regular ones.", "repo": "https://github.com/ketchupism/New_webOS", "demo": "https://ketchupism.github.io/New_webOS/"}]...
|
[{"post_id": 25552, "ts": "202 [{"post_id": 25552, "ts": "2026-07-09T21:22:19Z", "hours": 1.3333, "text": "another devpost! recently from feedback I’ve decided to make a few changes around by turning the to-do list into another app. Another was to make the app icons more appealing I changed some visuals on the To-do in styles.cs Added some small details as I changed coloring of the to-do app and added more emojis Only used ai to polish everything for final code"}, {"post_id": 25014, "ts": "2026-07-08T22:49:05Z", "hours": 1.0883, "text": "added a to-do bar on the right side and when you close the X it deletes the to-do. I used ai to polish work"}, {"post_id": 23030, "ts": "2026-07-05T19:16:50Z", "hours": 1.1042, "text": "After I created 2 features of opening notes when you close it and having settings to change backround, I just used ai to clean up my messy code and debugged some issues with the settings"}, {"post_id": 22635, "ts": "2026-07-05T05:56:17Z", "hours": 1.3192, "text": "I added aesthetics, added another terminal, and also started working on the functions of an app for settings and notes"}, {"post_id": 22527, "ts": "2026-07-05T01:33:09Z", "hours": 2.1833, "text": "I spent time learning HTML and added a timer, 2 windows, and addition with colours, fonts, and others"}]...
|
Title: KetchupOS by @ketchupismm | Stardance
Devl Title: KetchupOS by @ketchupismm | Stardance
Devlogs:
I spent time learning HTML and added a timer, 2 windows, and addition with colours, fonts, and others
I added aesthetics, added another terminal, and also started working on the functions of an app for settings and notes
After I created 2 features of opening notes when you close it and having settings to change backround, I just used ai to clean up my messy code and debugged some issues with the settings
added a to-do bar on the right side and when you close the X it deletes the to-do. I used ai to polish work
another devpost! recently from feedback I’ve decided to make a few changes around by turning the to-do list into another app. Another was to make the app icons more appealing I changed some visuals on the To-do in styles.cs Added some small details as I changed coloring of the to-do app and added more emojis Only used ai to polish everything for final code
Ships:
I made a webOS of a theme around ketchup. The most difficult part of this entire challenge was just making the Demo URL. I had to AI this entire part because I didn’t understand how to make them. I went through a long process of debugging images and other problems. There’s not that many different features, just regular ones.
I made a webOS of a theme around ketchup. The most difficult part of this entire challenge was just making the Demo URL. I had to AI this entire part because I didn’t understand how to make them. I went through a long process of debugging images and other problems. There’s not that many different features, just regular ones.
The idea for my WebOS challenge was just to make a simple Web with the theme around ketchup. There are features of a working clock. draggable, closing, minimizing, and deleting windows. Settings app icon and when you open it you can choose between two backgrounds. To-do list where you can write notes and delete them. Notes app where you can write anything you want. The most challenging part was 100% the back-end of learning how to make apps work. I had to use AI to help make that work and polish the code at the end....
|
1792968822.5377283
|
1793055222.5377283
|
|
30304
|
KittenOS by @nokira | Stardance
|
nokira
|
3
|
30.0
|
283
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-20T12:48:58Z", "hours": 11.0, "multiplier": 12.76, "payout": 140, "blessing": "neutral", "text": "Many new apps were added since last ship, here they are: PawNet 🐈⬛🌐: Search any information in the World Wide Web! PawPaint 🐈🎨: Pain anything you want and save your beautiful drawings! PawGame 🐈⬛🧶: Try and collect as much yarn balls as you can! PawCmd 🐈💻: Execute commands like a real hacker! PawWeather 🐈⬛⛅: Check the weather to see if it’s the right day for a walk! For pawnet I decided to only show 3 fixed website since most of modern sites don’t allow to be accessed from an iFrame. For PawCmd use the command “help” to show all of the available commands Other than the app, I tried listening to most reviews, for example I added back the date in the topbar which can be hidden from the settings, then I made the background customizable. All of the user’s data are saved in LocalStorage so nothing is lost on refresh.", "repo": "https://github.com/n0kira/KittenOS", "demo": "https://n0kira.github.io/KittenOS/"}, {"ship_num": 2, "ts": "2026-07-07T22:26:25Z", "hours": 13.0, "multiplier": 11.52, "payout": 143, "blessing": "neutral", "text": "KittenOS as mentioned before is a WebOS, it offers some basic features like: window dragging, desktop icons, real time clock and even desktop widgets!! The current available applications are: PawNotes 🐈📝: Create and save your personal notes! Every change is saved automatically PawPics 🐈⬛📷: Scroll through some images of cats MeowSic 🐈🎵: A music player application, listen to some lo-fi beats and relax! PawCalc 🐈⬛🧮: Just your usual calc (short for calculator) PawConfig 🐈⚙️: Customize your username, profile picture and birth date to make the OS feel yours! There is even a calendar widget on your desktop! It shows the current date (obviously) and highlights your birthday! All your data, from username, to notes is saved, so you will never lose it! At first the most challenging part was the CSS, but then as more and more features were being added, managing all the JavaScript logic got harder, but not impossible. I had to search online for help and tutorials for some features, but I am happy I managed to achieve this! To get to Ship #2 it took quite a while, but some logic had to be reviewed and the JavaScript code split into multiple files or it would have been hard to find functions and keep it clean. Overall, I am really satisfied with this project as it is my second one on this platform. Hope some other people will like it too! If any issue or bug is found, please let me know so I can fix the error and learn more!", "repo": "https://github.com/n0kira/KittenOS", "demo": "https://n0kira.github.io/KittenOS/"}, {"ship_num": 3, "ts": "2026-07-04T09:43:46Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created my first WebOS! It was quite challenging at first but once I understood the way JavaScript functioned, it was actually a nice challenge to make custom functions and features the guide didn’t have. I’m really proud of all the things I learnt along with how the project is looking now!", "repo": "https://github.com/n0kira/KittenOS", "demo": "https://n0kira.github.io/KittenOS/"}]...
|
[{"post_id": 31770, "ts": "202 [{"post_id": 31770, "ts": "2026-07-20T12:41:23Z", "hours": 1.0253, "text": "Weather app! Hello!! Today I didn’t have much time so I added my last app before shipping! This app uses OpenWeather API to fetch forecast and display it. Another thing I added was as someone suggested, the date to the top bar like in my first versions, but if you don’t want to see it and rely on the calendar only, there is a toggle option in the settings. Byebyee!"}, {"post_id": 29516, "ts": "2026-07-16T14:30:39Z", "hours": 0.9778, "text": "More customization!! Sooo… as someone suggested in the reviews, I decided to let people upload their custom background images/gifs. Unfortunately the storage for saving the image has a limit, so if images are too big they wont be uploaded. This devlog is quite short but it’s everything I could do today! Byebyee!"}, {"post_id": 27600, "ts": "2026-07-13T10:23:21Z", "hours": 2.3033, "text": "SOUND EFFECTS!! 😻 First of all… THANK YOU ALL SO MUCH FOR ALL THE SUPER POSITIVE REVIEWS!!! I read them all and noted everything that was suggested!! ❤️😁 Sounds?! Sooo, first devlog after the reviews. Today I don’t know how much I’ll add because it’s my birthday! So I won’t be at home. BUT speaking of what I already added, I put sounds effects , they play when clicking buttons , opening apps and even when typing !! If anyone has suggestions for more sounds or for changing the current ones, I’m more than happy to hear your opinion! Also, I added 2 more commands to PawCMD: whoami -> prints your username echo [text] -> repeats what you typed after the command (single word) I’ll add more commands in the future if I get more ideas and in the meantime I’ll try to add some of the suggested features BYEEE!!"}, {"post_id": 26826, "ts": "2026-07-11T20:49:46Z", "hours": 2.4181, "text": "PawCmd!! Hello again!! :D I created 2 more apps… The first one is PawCmd , this is the cool one. It’s just a terminal simulation . As of right now there are only 4 commands but I’ll try to make some more and interesting ones tomorrow. The second app is PawGame … it’s pretty bad :( so I won’t show it in the video, but you just have to collect some balls of yarn.. nothing else, just this. Byee :)"}, {"post_id": 26515, "ts": "2026-07-11T11:18:36Z", "hours": 2.4028, "text": "PawNet 🌐🐈⬛ Hi!! Today I managed to polish the CSS for PawPaint, but it’s nothing crazy… Some other stuff I did was creating a folder on the desktop, so now most applications are found inside of it. The other thing is PawNet !!! This is some sort of browser you could call it. There are 3 buttons at the top for you to choose a website and then you will see the page inside of PawNet. I know that there are better ways to do that and to make the user decide which site to visit, but that gave me some problems while implementing because not every site allows to be displayed in an iframe so for the moment it will stay like that… :)"}, {"post_id": 26148, "ts": "2026-07-10T19:33:14Z", "hours": 1.8814, "text": "PawPaint 🎨🐈 A new app is coming!! I am currently working on a new app called “PawPaint”, it lets you paint anything in an empty canvas and then you can save all your beautiful drawings as .PNG photos!!! This app was not that easy to make and I had to follow some tutorials online, but I managed to tweak it and adapt it to my KittenOS and it seems to work pretty fine for the moment. Of course some more CSS needs to be applied but I just wanted to share the app working!! :)"}, {"post_id": 24376, "ts": "2026-07-07T21:55:48Z", "hours": 2.8686, "text": "What changes? Since the first ship, as you can see from the devlogs, quite a lot changed. 3 New applications , yes! I made 3 more applications, and they are: ‘ PawConfig ’, to change user settings like name, birth date, profile picture; ‘ MeowSic ’, to listen to some relaxing LoFi beats; ‘ PawCalc ’, to make some serious calculations with style Better code organization , finally I decided to organize the JavaScript code, and now it’s all split up in different files, each for a specific application. Desktop widget , you now have a small calendar widget on your desktop, and if you set a birth date inside the settings, it will highlight your birthday with a special color, and you will be wished a happy birthday by KittenOS! New Icons , all applications have now more expressive icons that fit better overall"}, {"post_id": 24080, "ts": "2026-07-07T12:44:08Z", "hours": 3.5597, "text": "Major Update to PawNotes Ater 3 hours I finally managed to update PawNotes! Finally, you can create and delete notes! Also, all changes made are saved to localStorage automatically in real time, so you don’t have to save them manually and you won’t be losing them! Also, I created a little widget that sits on the desktop. It’s just a calendar which indicates the current day! Nothing much I know but I like it!! :)"}, {"post_id": 23678, "ts": "2026-07-06T19:49:44Z", "hours": 1.0047, "text": "Calculator App done! I finally finished the calculator app, I actually thought it would have been harder to do but it was quite easy. Other than that, i reorganized the code by splitting each application JS code into its own file to keep all functions separated by functionality. The next objective is to build widgets for the desktop, maybe a calendar? :)"}, {"post_id": 23575, "ts": "2026-07-06T16:43:10Z", "hours": 1.3361, "text": "New Icons 😻🐈!! I spent some time making new icons and I think I like them more than before! Also, a new app is coming! I got the UI ready, now I’ll go write the JavaScript to make it actually work! :)"}, {"post_id": 23375, "ts": "2026-07-06T09:32:30Z", "hours": 1.32, "text": "MeowSic Player done! After some work I managed to get the music player to work! You can play/pause music, skip to other tracks and use the slider to control the time! :)"}, {"post_id": 23109, "ts": "2026-07-05T21:13:38Z", "hours": 2.4669, "text": "Another Devlog! I am currently working on a music player application called “ MeowSic ” 🐈🎶 It’s not done yet but I’m taking it slowly, so I don’t get lost into my messy code for now. One day I will rewrite it cleanly, but as of now, I’ll focus on finishing this app! Right now all it does it’s playing the songs from a queue and updating the UI to match the info, the next and previous button are working, the only missing things are updating the slider in real time and making the play/pause button work :)"}, {"post_id": 22032, "ts": "2026-07-04T09:01:24Z", "hours": 1.4383, "text": "This is the project now! I’m really happy with the result as of now. I managed to create a second application on my own and it turned out pretty good in my opinion :)"}, {"post_id": 21778, "ts": "2026-07-03T21:40:10Z", "hours": 2.2236, "text": "Another feature added! I created the first application, PawNotes! You can read all the notes left on there. You can close the app by using the little paw icon on the top and open it again by double tapping on the desktop icon! So cool :)"}, {"post_id": 21606, "ts": "2026-07-03T17:24:39Z", "hours": 1.0694, "text": "I completed my first window! After 1 hour I managed to get the window to move when dragged by the user, it feels amazing! I can’t wait to add many more features and finish this project :)"}, {"post_id": 21563, "ts": "2026-07-03T16:18:34Z", "hours": 1.0928, "text": "First 2 parts of the tutorial completed! This is what it looks like now. I’m really excited about this project, I’m already loving it and I feel like I’m learning much stuff! :)"}]...
|
Title: KittenOS by @nokira | Stardance
Devlogs:
F Title: KittenOS by @nokira | Stardance
Devlogs:
First 2 parts of the tutorial completed! This is what it looks like now. I’m really excited about this project, I’m already loving it and I feel like I’m learning much stuff! :)
I completed my first window! After 1 hour I managed to get the window to move when dragged by the user, it feels amazing! I can’t wait to add many more features and finish this project :)
Another feature added! I created the first application, PawNotes! You can read all the notes left on there. You can close the app by using the little paw icon on the top and open it again by double tapping on the desktop icon! So cool :)
This is the project now! I’m really happy with the result as of now. I managed to create a second application on my own and it turned out pretty good in my opinion :)
Another Devlog! I am currently working on a music player application called “ MeowSic ” 🐈🎶 It’s not done yet but I’m taking it slowly, so I don’t get lost into my messy code for now. One day I will rewrite it cleanly, but as of now, I’ll focus on finishing this app! Right now all it does it’s playing the songs from a queue and updating the UI to match the info, the next and previous button are working, the only missing things are updating the slider in real time and making the play/pause button work :)
MeowSic Player done! After some work I managed to get the music player to work! You can play/pause music, skip to other tracks and use the slider to control the time! :)
New Icons 😻🐈!! I spent some time making new icons and I think I like them more than before! Also, a new app is coming! I got the UI ready, now I’ll go write the JavaScript to make it actually work! :)
Calculator App done! I finally finished the calculator app, I actually thought it would have been harder to do but it was quite easy. Other than that, i reorganized the code by splitting each application JS code into its own file to keep all functions separated by functionality. The next objective is to build widgets for the desktop, maybe a calendar? :)
Major Update to PawNotes Ater 3 hours I finally managed to update PawNotes! Finally, you can create and delete notes! Also, all changes made are saved to localStorage automatically in real time, so you don’t have to save them manually and you won’t be losing them! Also, I created a little widget that sits on the desktop. It’s just a calendar which indicates the current day! Nothing much I know but I like it!! :)
What changes? Since the first ship, as you can see from the devlogs, quite a lot changed. 3 New applications , yes! I made 3 more applications, and they are: ‘ PawConfig ’, to change user settings like name, birth date, profile picture; ‘ MeowSic ’, to listen to some relaxing LoFi beats; ‘ PawCalc ’, to make some serious calculations with style Better code organization , finally I decided to organize the JavaScript code, and now it’s all split up in different files, each for a specific application. Desktop widget , you now have a small calendar widget on your desktop, and if you set a birth date inside the settings, it will highlight your birthday with a special color, and you will be wished a happy birthday by KittenOS! New Icons , all applications have now more expressive icons that fit better overall
PawPaint 🎨🐈 A new app is coming!! I am currently working on a new app called “PawPaint”, it lets you paint anything in an empty canvas and then you can save all your beautiful drawings as .PNG photos!!! This app was not that easy to make and I had to follow some tutorials online, but I managed to tweak it and adapt it to my KittenOS and it seems to work pretty fine for the moment. Of course some more CSS needs to be applied but I just wanted to share the app working!! :)
PawNet 🌐🐈⬛ Hi!! Today I managed to polish the CSS for PawPaint, but it’s nothing crazy… Some other stuff I did was creating a folder on the desktop, so now most applications are found inside of it. The other thing is PawNet !!! This is some sort of browser you could call it. There are 3 buttons at the top for you to choose a website and then you will see the page inside of PawNet. I know that there are better ways to do that and to make the user decide which site to visit, but that gave me some problems while implementing because not every site allows to be displayed in an iframe so for the moment it will stay like that… :)
PawCmd!! Hello again!! :D I created 2 more apps… The first one is PawCmd , this is the cool one. It’s just a terminal simulation . As of right now there are only 4 commands but I’ll try to make some more and interesting ones tomorrow. The second app is PawGame … it’s pretty bad :( so I won’t show it in the video, but you just have to collect some balls of yarn.. nothing else, just this. Byee :)
SOUND EFFECTS!! 😻 First of all… THANK YOU ALL SO MUCH FOR ALL THE SUPER POSITIVE REVIEWS!!! I read them all and noted everything that was suggested!! ❤️😁 Sounds?! Sooo, first devlog after the reviews. Today I don’t know how much I’ll add because it’s my birthday! So I won’t be at home. BUT speaking of what I already added, I put sounds effects , they play when clicking buttons , opening apps and even when typing !! If anyone has suggestions for more sounds or for changing the current ones, I’m more than happy to hear your opinion! Also, I added 2 more commands to PawCMD: whoami -> prints your username echo [text] -> repeats what you typed after the command (single word) I’ll add more commands in the future if I get more ideas and in the meantime I’ll try to add some of the suggested features BYEEE!!
More customization!! Sooo… as someone suggested in the reviews, I decided to let people upload their custom background images/gifs. Unfortunately the storage for saving the image has a limit, so if images are too big they wont be uploaded. This devlog is quite short but it’s everything I could do today! Byebyee!
Weather app! Hello!! Today I didn’t have much time so I added my last app before shipping! This app uses OpenWeather API to fetch forecast and display it. Another thing I added was as someone suggested, the date to the top bar like in my first versions, but if you don’t want to see it and rely on the calendar only, there is a toggle option in the settings. Byebyee!
Ships:
I created my first WebOS! It was quite challenging at first but once I understood the way JavaScript functioned, it was actually a nice challenge to make custom functions and features the guide didn’t have. I’m really proud of all the things I learnt along with how the project is looking now!
KittenOS as mentioned before is a WebOS, it offers some basic features like: window dragging, desktop icons, real time clock and even desktop widgets!! The current available applications are: PawNotes 🐈📝: Create and save your personal notes! Every change is saved automatically PawPics 🐈⬛📷: Scroll through some images of cats MeowSic 🐈🎵: A music player application, listen to some lo-fi beats and relax! PawCalc 🐈⬛🧮: Just your usual calc (short for calculator) PawConfig 🐈⚙️: Customize your username, profile picture and birth date to make the OS feel yours! There is even a calendar widget on your desktop! It shows the current date (obviously) and highlights your birthday! All your data, from username, to notes is saved, so you will never lose it! At first the most challenging part was the CSS, but then as more and more features were being added, managing all the JavaScript logic got harder, but not impossible. I had to search online for help and tutorials for some features, but I am happy I managed to achieve this! To get to Ship #2 it took quite a while, but some logic had to be reviewed and the JavaScript code split into multiple files or it would have been hard to find functions and keep it clean. Overall, I am really satisfied with this project as it is my second one on this platform. Hope some other people will like it too! If any issue or bug is found, please let me know so I can fix the error and learn more!
Many new apps were added since last ship, here they are: PawNet 🐈⬛🌐: Search any information in the World Wide Web! PawPaint 🐈🎨: Pain anything you want and save your beautiful drawings! PawGame 🐈⬛🧶: Try and collect as much yarn balls as you can! PawCmd 🐈💻: Execute commands like a real hacker! PawWeather 🐈⬛⛅: Check the weather to see if it’s the right day for a walk! For pawnet I decided to only show 3 fixed website since most of modern sites don’t allow to be accessed from an iFrame. For PawCmd use the command “help” to show all of the available commands Other than the app, I tried listening to most reviews, for example I added back the date in the topbar which can be hidden from the settings, then I made the background customizable. All of the user’s data are saved in LocalStorage so nothing is lost on refresh....
|
1792975965.232301
|
1793062365.232301
|
|
30984
|
The Cosmos by @Heer | Stardance
|
Heer
|
3
|
11.0
|
27
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-27T16:29:07Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My project was returned because someone reported it saying my ReadME looks AI generated, so I have reworked on it. This time I have written it in my way. I really hope my project gets approved this time! Hope y’all like it.", "repo": "https://github.com/heerrpatel8-bit/cosmos", "demo": "https://heerrpatel8-bit.github.io/cosmos/"}, {"ship_num": 2, "ts": "2026-07-18T06:30:33Z", "hours": 3.0, "multiplier": 9.06, "payout": 27, "blessing": "neutral", "text": "I was asked to make changes in my website due to some reasons. I have finally completed working on those changes so I am reshipping it. I have made some changes in my home page as well as other pages. Also, I have made a ‘Lame Jokes’ page because why not? Hope y’all like it! 🫶🏻", "repo": "https://github.com/heerrpatel8-bit/cosmos", "demo": "https://heerrpatel8-bit.github.io/cosmos/"}, {"ship_num": 3, "ts": "2026-07-13T15:33:54Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "🌌 Project Overview The Cosmos is a space-inspired personal portfolio website that transforms a traditional portfolio into an interactive digital journey. Rather than simply displaying information, the website immerses visitors in a cosmic environment where each page represents a different stage of exploration—from discovering projects to reading reflections and learning about the creator behind them. The project combines storytelling, modern web design, and subtle animations to create an engaging and memorable user experience while showcasing technical and creative skills. 🎯 Objectives Create a portfolio that stands out through storytelling and immersive design. Showcase projects, achievements, and personal interests in a visually engaging way. Apply front-end development concepts to build a responsive and interactive website. Blend aesthetics with functionality without sacrificing usability. Reflect my passion for astronomy, creativity, and technology. 💻 Technologies Used HTML CSS 🏗️ Project Structure The website is organized into multiple interconnected pages: Home – Hero section introducing The Cosmos and welcoming visitors. Mission (About Me) – Personal introduction and background. Projects – Collection of projects with descriptions and links. Captain’s Log – Blog-style reflections and development journey. Contact – Contact information and social links. 🌠 Inspiration The project draws inspiration from: The beauty and mystery of outer space. NASA-inspired interfaces. Interstellar for its visual atmosphere. The idea that learning is a lifelong journey of exploration. ✨ Credits Shoutout to Cursor 4 U for the custom cursor used in this project. It added the perfect finishing touch to the space-themed experience.", "repo": "https://github.com/heerrpatel8-bit/cosmos", "demo": "https://heerrpatel8-bit.github.io/cosmos/"}]...
|
[{"post_id": 35877, "ts": "202 [{"post_id": 35877, "ts": "2026-07-27T16:25:15Z", "hours": 0.0, "text": "Cosmos Devlog 9 🪐✨- Reworking on my ReadME Got feedback that my ReadME sounded too AI-generated, so I reworked it to make it feel more natural. Rewrote parts of the README in my own style and made the requested changes. I hope my project gets approved this time! ✨"}, {"post_id": 30224, "ts": "2026-07-17T17:11:18Z", "hours": 1.0, "text": "Cosmos Devlog 8 🪐✨– Silly Stuff Page What I worked on: Added a simple Silly Stuff page to the website. Filled it with a handful of basic, intentionally lame jokes to make the site feel a little more personal and less serious. Kept the design minimal so it fits with the rest of the website without taking attention away from the main content. Challenges: Nothing major here—this page was meant to be lighthearted, so I focused on keeping it simple instead of overcomplicating it. Progress: The page is complete for now. It’s just a fun little corner of the website, and I might add more random jokes or goofy content in future updates. Gonna reship the project soon! 🫶🏻"}, {"post_id": 29601, "ts": "2026-07-16T17:20:12Z", "hours": 1.0, "text": "Cosmos Devlog 7 🪐✨- Home Page Refresh What I Worked On: I revisited the home page to refine the overall experience instead of adding more features. I reorganized a few sections, adjusted the layout, and made small design changes that helped the page feel more balanced and intentional. I also planned out a new “Silly Stuff” section that will feature a collection of wonderfully terrible space jokes. Challenges: Most of the challenge came from deciding what to change rather than how to change it. Even minor layout tweaks affected spacing and alignment, so it took a fair bit of trial and error to make everything feel cohesive while leaving room for future additions. Progress: The home page now has a cleaner flow and feels much closer to the vision I had for The Cosmos. With the foundation in place, the next step is bringing the Silly Stuff page to life—because every journey through the universe deserves a few astronomically bad jokes along the way. 🫶🏻😄"}, {"post_id": 27727, "ts": "2026-07-13T15:21:55Z", "hours": 2.0, "text": "Cosmos Devlog 6 🪐✨ - Designing the home page What I worked on today: Enhanced the homepage by designing an immersive hero section, adding floating animations, and a featured quote section. Refined the layout and visual hierarchy to create a more engaging, cohesive, and space-inspired landing experience. Challenges: Resolved layout issues caused by fixed navigation and page scrolling. Fixed CSS syntax errors affecting animations and shadows. Progress: Designed the homepage hero section. Added some animation. Integrated a quote card to reinforce the site’s theme. Improved overall layout, spacing, and visual consistency. Also, I feel so glad to let y’all know that my project is now complete and ready to be shipped. I feel so excited! And thank you all for supporting me! 🫶🏻😄"}, {"post_id": 27036, "ts": "2026-07-12T06:21:46Z", "hours": 1.0, "text": "Cosmos Devlog 5 🪐✨ - Building the Planetary projects page What I worked on: Created a dedicated Planetary Projects page. Added project titles, descriptions, and mission status indicators for each project. Included links to live demos and repositories, allowing visitors to explore the projects directly. Challenges: Deciding how to present projects in a way that was both visually engaging and easy to navigate. Keeping the page responsive and visually balanced as the number of showcased projects increases. Progress: Planetary Projects page completed. 🫶🏻"}, {"post_id": 26741, "ts": "2026-07-11T18:24:02Z", "hours": 1.0, "text": "Cosmos Devlog 4 🪐✨- Building the Mission Dossier What I worked on: Created a dedicated Mission Dossier page instead of a generic About Me section. Designed a glassmorphism-inspired interface to complement the space theme. Organized personal information into a structured dossier format with labels such as Explorer, Mission Objective, and Current Status. Added visual hierarchy through custom typography, spacing, and glowing accents to reinforce the sci-fi aesthetic. Challenges: Finding the right balance between visual style and readability. While the goal was to create an immersive interface, it was equally important to ensure the information remained clear and easy to navigate. Iterated through several layout concepts before settling on a design that felt more like a spacecraft database than a traditional profile page. Progress: Mission Dossier page completed. Consistent design language established for future pages across the portfolio."}, {"post_id": 26459, "ts": "2026-07-11T08:32:41Z", "hours": 1.0, "text": "Cosmos Devlog 3 🪐✨ - Custom Cursor Today’s focus was adding a custom cursor to the website. What I worked on: Implemented a custom cursor to better match the space theme. Fixed issues where the cursor reverted to the default pointer when hovering over links. Learned how CSS cursor properties behave across different elements and how to override them consistently. Challenges: The implementation took longer than expected due to multiple styling conflicts. As I’m still new to web development, debugging the issue required a lot of trial and error and reading documentation. Progress: Custom cursor is fully functional. No major visual updates today, but I built a stronger understanding of CSS and debugging. Credits: Cursor asset sourced from Cursors-4U and integrated into the project to fit the space-themed aesthetic. Next steps: Design and implement the landing sequence. Continue building the homepage and navigation. Stay tuned! 🫶🏻"}, {"post_id": 25853, "ts": "2026-07-10T10:32:16Z", "hours": 0.0, "text": "Cosmos Devlog 2 🪐✨ - What I would be doing today: Make the site more creative. Add some space facts. Try to finish the first page of the website. Maybe add some images. Note: I am so sorry but I have been staying a little busy lately because of school work so I will try my best to complete making the site as fast as I can! 🫶🏻"}, {"post_id": 25393, "ts": "2026-07-09T17:32:37Z", "hours": 0.0, "text": "Cosmos Devlog 1 🪐✨- What I worked on today: Designed a simple landing page. Added a space-themed background. Styled the page with HTML & CSS. Deployed the project using GitHub Pages. Challenges: Getting the website live wasn’t easy. I ran into issues with GitHub Pages showing my README instead of my website, but after troubleshooting file names and deployment settings, everything finally worked. Next Steps: Improve the design and animations. Add more content about space. Make the site more interactive."}]...
|
Title: The Cosmos by @Heer | Stardance
Devlogs:
C Title: The Cosmos by @Heer | Stardance
Devlogs:
Cosmos Devlog 1 🪐✨- What I worked on today: Designed a simple landing page. Added a space-themed background. Styled the page with HTML & CSS. Deployed the project using GitHub Pages. Challenges: Getting the website live wasn’t easy. I ran into issues with GitHub Pages showing my README instead of my website, but after troubleshooting file names and deployment settings, everything finally worked. Next Steps: Improve the design and animations. Add more content about space. Make the site more interactive.
Cosmos Devlog 2 🪐✨ - What I would be doing today: Make the site more creative. Add some space facts. Try to finish the first page of the website. Maybe add some images. Note: I am so sorry but I have been staying a little busy lately because of school work so I will try my best to complete making the site as fast as I can! 🫶🏻
Cosmos Devlog 3 🪐✨ - Custom Cursor Today’s focus was adding a custom cursor to the website. What I worked on: Implemented a custom cursor to better match the space theme. Fixed issues where the cursor reverted to the default pointer when hovering over links. Learned how CSS cursor properties behave across different elements and how to override them consistently. Challenges: The implementation took longer than expected due to multiple styling conflicts. As I’m still new to web development, debugging the issue required a lot of trial and error and reading documentation. Progress: Custom cursor is fully functional. No major visual updates today, but I built a stronger understanding of CSS and debugging. Credits: Cursor asset sourced from Cursors-4U and integrated into the project to fit the space-themed aesthetic. Next steps: Design and implement the landing sequence. Continue building the homepage and navigation. Stay tuned! 🫶🏻
Cosmos Devlog 4 🪐✨- Building the Mission Dossier What I worked on: Created a dedicated Mission Dossier page instead of a generic About Me section. Designed a glassmorphism-inspired interface to complement the space theme. Organized personal information into a structured dossier format with labels such as Explorer, Mission Objective, and Current Status. Added visual hierarchy through custom typography, spacing, and glowing accents to reinforce the sci-fi aesthetic. Challenges: Finding the right balance between visual style and readability. While the goal was to create an immersive interface, it was equally important to ensure the information remained clear and easy to navigate. Iterated through several layout concepts before settling on a design that felt more like a spacecraft database than a traditional profile page. Progress: Mission Dossier page completed. Consistent design language established for future pages across the portfolio.
Cosmos Devlog 5 🪐✨ - Building the Planetary projects page What I worked on: Created a dedicated Planetary Projects page. Added project titles, descriptions, and mission status indicators for each project. Included links to live demos and repositories, allowing visitors to explore the projects directly. Challenges: Deciding how to present projects in a way that was both visually engaging and easy to navigate. Keeping the page responsive and visually balanced as the number of showcased projects increases. Progress: Planetary Projects page completed. 🫶🏻
Cosmos Devlog 6 🪐✨ - Designing the home page What I worked on today: Enhanced the homepage by designing an immersive hero section, adding floating animations, and a featured quote section. Refined the layout and visual hierarchy to create a more engaging, cohesive, and space-inspired landing experience. Challenges: Resolved layout issues caused by fixed navigation and page scrolling. Fixed CSS syntax errors affecting animations and shadows. Progress: Designed the homepage hero section. Added some animation. Integrated a quote card to reinforce the site’s theme. Improved overall layout, spacing, and visual consistency. Also, I feel so glad to let y’all know that my project is now complete and ready to be shipped. I feel so excited! And thank you all for supporting me! 🫶🏻😄
Cosmos Devlog 7 🪐✨- Home Page Refresh What I Worked On: I revisited the home page to refine the overall experience instead of adding more features. I reorganized a few sections, adjusted the layout, and made small design changes that helped the page feel more balanced and intentional. I also planned out a new “Silly Stuff” section that will feature a collection of wonderfully terrible space jokes. Challenges: Most of the challenge came from deciding what to change rather than how to change it. Even minor layout tweaks affected spacing and alignment, so it took a fair bit of trial and error to make everything feel cohesive while leaving room for future additions. Progress: The home page now has a cleaner flow and feels much closer to the vision I had for The Cosmos. With the foundation in place, the next step is bringing the Silly Stuff page to life—because every journey through the universe deserves a few astronomically bad jokes along the way. 🫶🏻😄
Cosmos Devlog 8 🪐✨– Silly Stuff Page What I worked on: Added a simple Silly Stuff page to the website. Filled it with a handful of basic, intentionally lame jokes to make the site feel a little more personal and less serious. Kept the design minimal so it fits with the rest of the website without taking attention away from the main content. Challenges: Nothing major here—this page was meant to be lighthearted, so I focused on keeping it simple instead of overcomplicating it. Progress: The page is complete for now. It’s just a fun little corner of the website, and I might add more random jokes or goofy content in future updates. Gonna reship the project soon! 🫶🏻
Cosmos Devlog 9 🪐✨- Reworking on my ReadME Got feedback that my ReadME sounded too AI-generated, so I reworked it to make it feel more natural. Rewrote parts of the README in my own style and made the requested changes. I hope my project gets approved this time! ✨
Ships:
🌌 Project Overview The Cosmos is a space-inspired personal portfolio website that transforms a traditional portfolio into an interactive digital journey. Rather than simply displaying information, the website immerses visitors in a cosmic environment where each page represents a different stage of exploration—from discovering projects to reading reflections and learning about the creator behind them. The project combines storytelling, modern web design, and subtle animations to create an engaging and memorable user experience while showcasing technical and creative skills. 🎯 Objectives Create a portfolio that stands out through storytelling and immersive design. Showcase projects, achievements, and personal interests in a visually engaging way. Apply front-end development concepts to build a responsive and interactive website. Blend aesthetics with functionality without sacrificing usability. Reflect my passion for astronomy, creativity, and technology. 💻 Technologies Used HTML CSS 🏗️ Project Structure The website is organized into multiple interconnected pages: Home – Hero section introducing The Cosmos and welcoming visitors. Mission (About Me) – Personal introduction and background. Projects – Collection of projects with descriptions and links. Captain’s Log – Blog-style reflections and development journey. Contact – Contact information and social links. 🌠 Inspiration The project draws inspiration from: The beauty and mystery of outer space. NASA-inspired interfaces. Interstellar for its visual atmosphere. The idea that learning is a lifelong journey of exploration. ✨ Credits Shoutout to Cursor 4 U for the custom cursor used in this project. It added the perfect finishing touch to the space-themed experience.
I was asked to make changes in my website due to some reasons. I have finally completed working on those changes so I am reshipping it. I have made some changes in my home page as well as other pages. Also, I have made a ‘Lame Jokes’ page because why not? Hope y’all like it! 🫶🏻
My project was returned because someone reported it saying my ReadME looks AI generated, so I have reworked on it. This time I have written it in my way. I really hope my project gets approved this time! Hope y’all like it....
|
1792882062.0872757
|
1793746062.0872757
|
|
31386
|
My very own WebOS by @Vigaash | Stardance
|
Vigaash
|
3
|
31.0
|
42
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T22:24:33Z", "hours": 3.0, "multiplier": 2.89, "payout": 7, "blessing": "neutral", "text": "I made the Tamil Cinema OS, an OS dedicated to Tamil Cinema. Dive in to learn more about Tamil Cinema! It was built using HTML, Javascript, CSS, and too much knowledge about Tamil Cinema. Currently, there are seven apps that are active. What was challenging for me was trying to use arrays, as it was a little confusing to me for HTML. Currently, the apps are: Kollywood Notes, Snake Game, Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. New features are: Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, Kollywood Beats, and Bubble Shooter. More thorough details are in my Readme! I am doing another ship because I really need a small amount of Stardust for a purchase. Hope you guys like it!", "repo": "https://github.com/Vigaash-Lingeswaran/Web-OS", "demo": "https://vigaash-lingeswaran.github.io/Web-OS/"}, {"ship_num": 2, "ts": "2026-07-27T16:51:06Z", "hours": 15.0, "multiplier": 2.33, "payout": 35, "blessing": "neutral", "text": "I made the Tamil Cinema OS, an OS dedicated to Tamil Cinema. Dive in to learn more about Tamil Cinema! It was built using HTML, Javascript, CSS, and too much knowledge about Tamil Cinema. Currently, there are seven apps that are active. What was challenging for me was trying to use arrays, as it was a little confusing to me for HTML. Currently, the apps are: Kollywood Notes, Snake Game, Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. New features are: Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. More thorough details are in my Readme! Hope you guys like it!", "repo": "https://github.com/Vigaash-Lingeswaran/Web-OS", "demo": "https://vigaash-lingeswaran.github.io/Web-OS/"}, {"ship_num": 3, "ts": "2026-07-17T17:47:11Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey guys! I have made my own OS called the Tamil Cinema OS. This OS is all about the depths of Tamil Cinema. Currently, I have two different apps, the first being a notes app for first-timers who don’t know much about Tamil Cinema. The next is a snake game for some relaxation. What was challenging for me was trying to figure out what appas I should make, especially since I would try to make it Tamil Cinema related. Another thing that was challenging was all the different uses of classes and the HTML rules, since it’s my first time using these types of things. The thorough details are in my Readme. Hope you guys like it!", "repo": "https://github.com/Vigaash-Lingeswaran/Web-OS", "demo": "https://vigaash-lingeswaran.github.io/Web-OS/"}]...
|
[{"post_id": 62510, "ts": "202 [{"post_id": 62510, "ts": "2026-09-05T22:20:26Z", "hours": 2.5419, "text": "Hey, I have been working a lot on the Tamil Cinema OS. Here’s what I have done. I first started off by creating another app. I wanted to make another game to sharpen my skills, so I decided to make the bubble shooter game. During this, I was able to learn a lot of new functions such as the Math functions and the degtorad functions. These functions allowed me to both control the angle that the player is aiming and control the way the aimed bubble ricochets. This was a little challenging for me because both of these were very new, so I had a difficult time trying to figure out how to use them in correlation with player inputs. Next steps would be to polish the whole OS."}, {"post_id": 35869, "ts": "2026-07-27T16:12:40Z", "hours": 2.98, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done: I started off by creating and finishing the seventh app, which is a music player. This music player has a playlist of many Tamil Cinema hits. To create this, I first had to use for the first time to play the audio. From there, I created an array that would cycle through the different songs and their respective cover pictures. For the styling, I wanted it to be kind of similar to how a Spotify player would look, so I had to create a rectangular container and create adequate buttons and styles for the app. Overall, I was able to learn a lot about how audio is referenced in HTML through this app. After this, I just polished up all the other apps, which included the calculator and the games, where I was able to get the clear button working on the calculator and also get the scores working on the games. Overall, I was able to learn a lot in these devlogs about the variety of hidden functions inside HTML. Next steps would just be to finish polishing any of the other apps."}, {"post_id": 34677, "ts": "2026-07-25T16:16:47Z", "hours": 6.1967, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have got done: I started off with finishing off the fifth app, which would be Youtube. I decided that it would be better to allow the viewer to watch a playlist instead of the whole browser, as it would also match my theme because now, the viewer gets to wtach trailer of Tamil movies. I did this using the youtubeiframeAPI. This allowed me to get the exact version of Youtube, but also customizable to my liking. After this, I used an array with all of the video IDs and made a function that would cycle through the videos. Overall, it was a good learning experience for me with these new features. The next thing I did was make a fun facts page. This had a bunch of different fun facts about Tamil Cinema. I did this by creating a caption carousel. I used an index, and used that to cycle through the different facts. Overall, I learned a lot about the different functions within HTML and also about video playback in this devlog. Next steps would be to create my next app, which would be a music player with some good Tamil songs."}, {"post_id": 33581, "ts": "2026-07-23T16:58:01Z", "hours": 1.6439, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far: The main thing I have been trying to accomplish is trying to create my fifth app, which would be Youtube. I have gotten all of the controls for the actual app icon all done, but I still need to work on trying to get it to connect. I tried using and then using the URL of Youtube, but that didn’t really work, as it refused to connect. I am trying to research some different ways I can try to attach the application. The other things I have been doing would just be trying to add some scores in the games I created. I am having a little hard time, as sometimes the score only updates the first time. Next steps would just be trying to get the fifth app done."}, {"post_id": 33044, "ts": "2026-07-22T16:31:57Z", "hours": 4.4944, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS so far. Here’s what I have done so far: I started off by creating my third feature, which is the breakout game. This is where there are tiles you must break with a bouncing ball. I decided that instead of keeping the game’s code inside the original index file, I would keep it as a different file and then use to link those two files together. I also decided to implement these features into the other apps. The code for this project wasn’t that hard, as I was able to use my previous game development experience to help with most of the parts, but there were some aspects, like the tiles and their Arrays that I had a little trouble with. After this, I created the calculator app. This app was pretty simple, as it was just a bunch of buttons and some functions in Javascript. The hard part about this would be figuring out what type of style I wanted for it. Next steps would be to start and finish up the fifth app, and maybe polish some of the other apps as well."}, {"post_id": 30236, "ts": "2026-07-17T17:34:27Z", "hours": 1.3797, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far: I have finally finished the second feature of the Tamil Cinema OS, which is the Snake Game. I learned how to code this directly into the HTML file. Originally, I thought I would have to create a new file with the game code, but after some research, I learned I could just put it into the original file. The code for this game was a little difficult, as I was having a little trouble with the part where I would have to generate the new apple when it was eaten. After some research, I learned how to use a random number generator in correlation to the grids of the game to have the apples spawn in a different place. I also decided in the end that the snake would be able to go through walls and would only die if it bumped into itself. I learned a lot through this game, especially how to use a variety of functions in HTML. Next steps would be to polish the website off for final touches."}, {"post_id": 29605, "ts": "2026-07-16T17:25:42Z", "hours": 5.1017, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far. I have finally finished my first app, which is the notes app. I wanted to kind of make this app like a guide for a first- time viewer, so it has things like recommendations for different movies, and also has things like the history of Tamil Cinema. I have also added some parts to the app that talk about Tamil music as well. This kind of took me a long time because it was a little hard for me to try and figure out what type of app I wanted to make originally, and there were a lot of bugs that I only figured out after looking closely at my variable declaration. i had accidentally deleted the aspect of the app that changed the cursor type to a pointer, but I didn’t know until a long time after, which is why there is so much time spent on this devlog. I have learned a lot about Javascript in this time, as it has introduced me to arrays and how they should be used, especially for the feature of my notes app that allows the viewer to see all of the notes. Next steps would be to create a second app. I am thinking of a game of some sort, but I haven’t completely thought it out."}, {"post_id": 25363, "ts": "2026-07-09T16:42:43Z", "hours": 5.3653, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I did: I started off by creating my first app. This has been a pretty hard process as I had a little trouble trying to get the code in the right place, especially for the part where I am trying to make the window only take up until the top bar, instead of the whole screen. I have also finished up the top bar with all of the buttons however, sometimes the click function to open the welcome window doesn’t work. i have checked my code multiple times, but I still do not know where I am going wrong for that part. I have learned a lot in this time, as it was my first time using HTML, and I am still getting comfortable with it. I had also spent a lot of time trying to figure out better backgrounds for my OS because every time I try to make a new one, it always comes out too blurry for my liking. In the end, I was able to fix all of those problems. next steps would be to finish the final touches on my first Movie ranker application, and also go on to creating my second app, which will probably be something that involves trivia or something, haven’t really thought about it yet. Please feel free to leave any suggestions for my project."}, {"post_id": 23625, "ts": "2026-07-06T18:06:01Z", "hours": 1.0533, "text": "Hey guys! This is my first devlog for the WEB OS. Here’s what I did: I decided to make an OS that is dedicated to Tamil Cinema. I have just started the coding for it, but it is my first time using HTML, and have no experience with CSS or JS, so that’s why it took me a long time to get this done. So far, I have gotten the title screen down and have started to work on my first window. Next steps would just be to have finished my first window and move on to the second or third ones. I could also start to work on making my OS a little bit more polished."}]...
|
Title: My very own WebOS by @Vigaash | Stardance
Title: My very own WebOS by @Vigaash | Stardance
Devlogs:
Hey guys! This is my first devlog for the WEB OS. Here’s what I did: I decided to make an OS that is dedicated to Tamil Cinema. I have just started the coding for it, but it is my first time using HTML, and have no experience with CSS or JS, so that’s why it took me a long time to get this done. So far, I have gotten the title screen down and have started to work on my first window. Next steps would just be to have finished my first window and move on to the second or third ones. I could also start to work on making my OS a little bit more polished.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I did: I started off by creating my first app. This has been a pretty hard process as I had a little trouble trying to get the code in the right place, especially for the part where I am trying to make the window only take up until the top bar, instead of the whole screen. I have also finished up the top bar with all of the buttons however, sometimes the click function to open the welcome window doesn’t work. i have checked my code multiple times, but I still do not know where I am going wrong for that part. I have learned a lot in this time, as it was my first time using HTML, and I am still getting comfortable with it. I had also spent a lot of time trying to figure out better backgrounds for my OS because every time I try to make a new one, it always comes out too blurry for my liking. In the end, I was able to fix all of those problems. next steps would be to finish the final touches on my first Movie ranker application, and also go on to creating my second app, which will probably be something that involves trivia or something, haven’t really thought about it yet. Please feel free to leave any suggestions for my project.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far. I have finally finished my first app, which is the notes app. I wanted to kind of make this app like a guide for a first- time viewer, so it has things like recommendations for different movies, and also has things like the history of Tamil Cinema. I have also added some parts to the app that talk about Tamil music as well. This kind of took me a long time because it was a little hard for me to try and figure out what type of app I wanted to make originally, and there were a lot of bugs that I only figured out after looking closely at my variable declaration. i had accidentally deleted the aspect of the app that changed the cursor type to a pointer, but I didn’t know until a long time after, which is why there is so much time spent on this devlog. I have learned a lot about Javascript in this time, as it has introduced me to arrays and how they should be used, especially for the feature of my notes app that allows the viewer to see all of the notes. Next steps would be to create a second app. I am thinking of a game of some sort, but I haven’t completely thought it out.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far: I have finally finished the second feature of the Tamil Cinema OS, which is the Snake Game. I learned how to code this directly into the HTML file. Originally, I thought I would have to create a new file with the game code, but after some research, I learned I could just put it into the original file. The code for this game was a little difficult, as I was having a little trouble with the part where I would have to generate the new apple when it was eaten. After some research, I learned how to use a random number generator in correlation to the grids of the game to have the apples spawn in a different place. I also decided in the end that the snake would be able to go through walls and would only die if it bumped into itself. I learned a lot through this game, especially how to use a variety of functions in HTML. Next steps would be to polish the website off for final touches.
Hey guys! I have been working a lot on the Tamil Cinema OS so far. Here’s what I have done so far: I started off by creating my third feature, which is the breakout game. This is where there are tiles you must break with a bouncing ball. I decided that instead of keeping the game’s code inside the original index file, I would keep it as a different file and then use to link those two files together. I also decided to implement these features into the other apps. The code for this project wasn’t that hard, as I was able to use my previous game development experience to help with most of the parts, but there were some aspects, like the tiles and their Arrays that I had a little trouble with. After this, I created the calculator app. This app was pretty simple, as it was just a bunch of buttons and some functions in Javascript. The hard part about this would be figuring out what type of style I wanted for it. Next steps would be to start and finish up the fifth app, and maybe polish some of the other apps as well.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far: The main thing I have been trying to accomplish is trying to create my fifth app, which would be Youtube. I have gotten all of the controls for the actual app icon all done, but I still need to work on trying to get it to connect. I tried using and then using the URL of Youtube, but that didn’t really work, as it refused to connect. I am trying to research some different ways I can try to attach the application. The other things I have been doing would just be trying to add some scores in the games I created. I am having a little hard time, as sometimes the score only updates the first time. Next steps would just be trying to get the fifth app done.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have got done: I started off with finishing off the fifth app, which would be Youtube. I decided that it would be better to allow the viewer to watch a playlist instead of the whole browser, as it would also match my theme because now, the viewer gets to wtach trailer of Tamil movies. I did this using the youtubeiframeAPI. This allowed me to get the exact version of Youtube, but also customizable to my liking. After this, I used an array with all of the video IDs and made a function that would cycle through the videos. Overall, it was a good learning experience for me with these new features. The next thing I did was make a fun facts page. This had a bunch of different fun facts about Tamil Cinema. I did this by creating a caption carousel. I used an index, and used that to cycle through the different facts. Overall, I learned a lot about the different functions within HTML and also about video playback in this devlog. Next steps would be to create my next app, which would be a music player with some good Tamil songs.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done: I started off by creating and finishing the seventh app, which is a music player. This music player has a playlist of many Tamil Cinema hits. To create this, I first had to use for the first time to play the audio. From there, I created an array that would cycle through the different songs and their respective cover pictures. For the styling, I wanted it to be kind of similar to how a Spotify player would look, so I had to create a rectangular container and create adequate buttons and styles for the app. Overall, I was able to learn a lot about how audio is referenced in HTML through this app. After this, I just polished up all the other apps, which included the calculator and the games, where I was able to get the clear button working on the calculator and also get the scores working on the games. Overall, I was able to learn a lot in these devlogs about the variety of hidden functions inside HTML. Next steps would just be to finish polishing any of the other apps.
Hey, I have been working a lot on the Tamil Cinema OS. Here’s what I have done. I first started off by creating another app. I wanted to make another game to sharpen my skills, so I decided to make the bubble shooter game. During this, I was able to learn a lot of new functions such as the Math functions and the degtorad functions. These functions allowed me to both control the angle that the player is aiming and control the way the aimed bubble ricochets. This was a little challenging for me because both of these were very new, so I had a difficult time trying to figure out how to use them in correlation with player inputs. Next steps would be to polish the whole OS.
Ships:
Hey guys! I have made my own OS called the Tamil Cinema OS. This OS is all about the depths of Tamil Cinema. Currently, I have two different apps, the first being a notes app for first-timers who don’t know much about Tamil Cinema. The next is a snake game for some relaxation. What was challenging for me was trying to figure out what appas I should make, especially since I would try to make it Tamil Cinema related. Another thing that was challenging was all the different uses of classes and the HTML rules, since it’s my first time using these types of things. The thorough details are in my Readme. Hope you guys like it!
I made the Tamil Cinema OS, an OS dedicated to Tamil Cinema. Dive in to learn more about Tamil Cinema! It was built using HTML, Javascript, CSS, and too much knowledge about Tamil Cinema. Currently, there are seven apps that are active. What was challenging for me was trying to use arrays, as it was a little confusing to me for HTML. Currently, the apps are: Kollywood Notes, Snake Game, Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. New features are: Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. More thorough details are in my Readme! Hope you guys like it!
I made the Tamil Cinema OS, an OS dedicated to Tamil Cinema. Dive in to learn more about Tamil Cinema! It was built using HTML, Javascript, CSS, and too much knowledge about Tamil Cinema. Currently, there are seven apps that are active. What was challenging for me was trying to use arrays, as it was a little confusing to me for HTML. Currently, the apps are: Kollywood Notes, Snake Game, Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. New features are: Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, Kollywood Beats, and Bubble Shooter. More thorough details are in my Readme! I am doing another ship because I really need a small amount of Stardust for a purchase. Hope you guys like it!...
|
1792986822.2275927
|
1793073222.2275927
|
|
32841
|
Rest Time by @heitordecarvalhopessoa | Stardance
|
heitordecarvalhopessoa
|
3
|
29.09
|
402
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-28T01:34:44Z", "hours": 9.0, "multiplier": 16.54, "payout": 145, "blessing": "neutral", "text": "NEW 1.12 FULL VERSION NEW - Clear all particles system NEW - Shortcuts menu NEW - Tutorial NEW - Hud NEW - typescript datastorage system", "repo": "https://github.com/heitordecarvalhopessoa-debug/Rest-Time", "demo": "https://heitordecarvalhopessoa-debug.github.io/Rest-Time/"}, {"ship_num": 2, "ts": "2026-07-22T20:38:52Z", "hours": 10.0, "multiplier": 19.15, "payout": 199, "blessing": "neutral", "text": "Version 9 New - Meteor Brush New - Rain Brush New - BlackHole New - ShortCuts: - Tab: Palette Menu - Shift: Eraser - Ctrl: Pause - B: BlackHole Update - Hud Update - Layout system Update - Brush system Update - Particles system New full version – Notes: New systems and updates to existing ones; Feedback will help improve the game; Ideas will be great for making the game better for our users;", "repo": "https://github.com/heitordecarvalhopessoa-debug/Rest-Time", "demo": "https://heitordecarvalhopessoa-debug.github.io/Rest-Time/"}, {"ship_num": 3, "ts": "2026-07-15T22:52:21Z", "hours": 7.0, "multiplier": 9.01, "payout": 58, "blessing": "neutral", "text": "New version 4 NEW Time system NEW Size system NEW Speed system NEW Forms system Hud update Data Storage update New particles updates", "repo": "https://github.com/heitordecarvalhopessoa-debug/Rest-Time", "demo": "https://heitordecarvalhopessoa-debug.github.io/Rest-Time/"}]...
|
[{"post_id": 63672, "ts": "202 [{"post_id": 63672, "ts": "2026-09-07T16:33:57Z", "hours": 0.9844, "text": "A small update to fix bugs and improve stability."}, {"post_id": 39773, "ts": "2026-08-02T23:25:05Z", "hours": 2.1072, "text": "NEW 1.0.0 LEADERBOARD UPDATE NEW Leaderboard NEW Account system UPDATE HUD UPDATE Buttons"}, {"post_id": 36137, "ts": "2026-07-28T01:11:43Z", "hours": 0.9122, "text": "version 12.2 Tutorial update NEW Tutorial UPDATE Hud UPDATE Music system UPDATE Shortcuts Bugs Fixed"}, {"post_id": 35884, "ts": "2026-07-27T16:37:46Z", "hours": 0.9775, "text": "version 12.1 little update NEW Clear particles (C) NEW Shortcuts Menu (w) Shortcuts: 1-6 »» Brushes Shift »» Eraser Ctrl »» Pause / resume B »» Black hole C »» Clear particles Tab »» Palette Menu H »» Zen mode (hide ui) S »» Screenshot W »» Shortcuts menu UPDATE Hud UPDATE Color system UPDATE Data storage system"}, {"post_id": 35385, "ts": "2026-07-26T19:05:28Z", "hours": 1.5828, "text": "Version 12 Brush optimization Update NEW Shortcut (1-6) NEW Web brush UPDATE Brush system UPDATE Hud UPDATE Paint system UPDATE Shorcuts system Youtube chanel: https://www.youtube.com/@HeitorCPessoa/featured"}, {"post_id": 34864, "ts": "2026-07-25T22:29:55Z", "hours": 1.5786, "text": "Version 11 Options Update NEW Screenshot system NEW Hide UI system UPDATE Hud UPDATE javascript functions UPDATE Brushs systems UPDATE Shortcuts keys I’ve just planned out the next three versions of the game. Here’s what will be added: Tutorial Walls with collision Screen-edge collision (optional) Wind system Screen recording (10s – 2 min) New brush with connected particles Any feedback would be helpful for adding or modifying features."}, {"post_id": 33766, "ts": "2026-07-23T23:03:49Z", "hours": 1.4, "text": "Version 10 Music glow UPDATE NEW glow system NEW background efect system UPDATE ui UPDATE music system UPDATE background UPDATE color + gradient system UPDATE optimization Additional ideas and comments helped shape the project to ensure it is accessible and easy to use."}, {"post_id": 33464, "ts": "2026-07-23T13:14:27Z", "hours": 2.3908, "text": "Version 9.1 BUG FIX UPDATE Blackhole error bug » FIXED Gradient error bug » FIXED Layouts error bug » FIXED Lose Dara bug » FIXED NEW loading screen NEW web icon"}, {"post_id": 32366, "ts": "2026-07-21T14:30:08Z", "hours": 2.3961, "text": "Version 8 BRUSH UPDATE NEW Random Brush NEW Explode Brush NEW Brush Size system UPDATE Hud UPDATE Brush/Paint system UPDATE Sliders"}, {"post_id": 31970, "ts": "2026-07-20T19:59:50Z", "hours": 1.7744, "text": "Mini Update Version 7.1 NEW Layout system NEW FPS system UPDATE Hud UPDATE Gradient system UPDATE Css structure I changed the projects CSS to make it simpler. I split the CSS into three files. This way it is easier to make changes when I need to. I do not have to look for things in a file with, over 400 lines of code. I also added a display that shows the FPS. This helps me check for stuttering or lag in the game. I plan to release an update to make the game run better. The update will fully optimize the game."}, {"post_id": 31874, "ts": "2026-07-20T16:52:40Z", "hours": 1.6367, "text": "New version 7 NEW Pause system NEW Eraser system NEW Change name system UPDATE Hud UPDATE Music system"}, {"post_id": 31480, "ts": "2026-07-19T21:38:22Z", "hours": 1.1442, "text": "New version 6 New Opacity system UPDATE Hud UPDATE Music system UPDATE Color system I’ve finally settled on a HUD design that looks good and fits the project well; feedback on the HUD, features, and systems would be greatly appreciated to help make the project excellent and ensure it appeals to users."}, {"post_id": 30928, "ts": "2026-07-18T22:32:12Z", "hours": 1.7525, "text": "New version 5 NEW Gradient system UPDATE Music system UPDATE Color system UPDATE Particules system Hud changes Data Storage update Important The game is still undergoing updates and changes. Feedback will be useful for improvements and modifications to the project. Ideas can be added."}, {"post_id": 30412, "ts": "2026-07-17T22:26:42Z", "hours": 1.7842, "text": "New version 4.1 New music box HUD change Data storage and account system update"}, {"post_id": 26700, "ts": "2026-07-11T17:17:27Z", "hours": 0.8711, "text": "Version 3.1 A minor update, and I need to talk about the project’s future: A chat system might be added to the project, but with moderation A layout system is now more likely to be included Interface changes will be made to improve the user experience New Stars count system Hud Changes"}, {"post_id": 26644, "ts": "2026-07-11T16:07:44Z", "hours": 1.9558, "text": "Version 3 UPDATE Color system NEW “Stars” LiveTime Bugs Fixed"}, {"post_id": 26209, "ts": "2026-07-10T21:28:49Z", "hours": 1.2519, "text": "Version 2 New color system New data storage system using TypeScript New HUD changes Bug-fix related systems The site includes additional features, such as: Potential additions Alternative painting methods Color system improvements Custom shape creation system “Layout” system Room for improvement Chat system July 10, 2026"}, {"post_id": 25026, "ts": "2026-07-08T23:27:03Z", "hours": 2.4397, "text": "Version 1 Features: Enter your name Rest time Data storage Paint 07/08/2026"}]...
|
Title: Rest Time by @heitordecarvalhopessoa | Star Title: Rest Time by @heitordecarvalhopessoa | Stardance
Devlogs:
Version 1 Features: Enter your name Rest time Data storage Paint 07/08/2026
Version 2 New color system New data storage system using TypeScript New HUD changes Bug-fix related systems The site includes additional features, such as: Potential additions Alternative painting methods Color system improvements Custom shape creation system “Layout” system Room for improvement Chat system July 10, 2026
Version 3 UPDATE Color system NEW “Stars” LiveTime Bugs Fixed
Version 3.1 A minor update, and I need to talk about the project’s future: A chat system might be added to the project, but with moderation A layout system is now more likely to be included Interface changes will be made to improve the user experience New Stars count system Hud Changes
New version 4.1 New music box HUD change Data storage and account system update
New version 5 NEW Gradient system UPDATE Music system UPDATE Color system UPDATE Particules system Hud changes Data Storage update Important The game is still undergoing updates and changes. Feedback will be useful for improvements and modifications to the project. Ideas can be added.
New version 6 New Opacity system UPDATE Hud UPDATE Music system UPDATE Color system I’ve finally settled on a HUD design that looks good and fits the project well; feedback on the HUD, features, and systems would be greatly appreciated to help make the project excellent and ensure it appeals to users.
New version 7 NEW Pause system NEW Eraser system NEW Change name system UPDATE Hud UPDATE Music system
Mini Update Version 7.1 NEW Layout system NEW FPS system UPDATE Hud UPDATE Gradient system UPDATE Css structure I changed the projects CSS to make it simpler. I split the CSS into three files. This way it is easier to make changes when I need to. I do not have to look for things in a file with, over 400 lines of code. I also added a display that shows the FPS. This helps me check for stuttering or lag in the game. I plan to release an update to make the game run better. The update will fully optimize the game.
Version 8 BRUSH UPDATE NEW Random Brush NEW Explode Brush NEW Brush Size system UPDATE Hud UPDATE Brush/Paint system UPDATE Sliders
Version 9.1 BUG FIX UPDATE Blackhole error bug » FIXED Gradient error bug » FIXED Layouts error bug » FIXED Lose Dara bug » FIXED NEW loading screen NEW web icon
Version 10 Music glow UPDATE NEW glow system NEW background efect system UPDATE ui UPDATE music system UPDATE background UPDATE color + gradient system UPDATE optimization Additional ideas and comments helped shape the project to ensure it is accessible and easy to use.
Version 11 Options Update NEW Screenshot system NEW Hide UI system UPDATE Hud UPDATE javascript functions UPDATE Brushs systems UPDATE Shortcuts keys I’ve just planned out the next three versions of the game. Here’s what will be added: Tutorial Walls with collision Screen-edge collision (optional) Wind system Screen recording (10s – 2 min) New brush with connected particles Any feedback would be helpful for adding or modifying features.
Version 12 Brush optimization Update NEW Shortcut (1-6) NEW Web brush UPDATE Brush system UPDATE Hud UPDATE Paint system UPDATE Shorcuts system Youtube chanel: https://www.youtube.com/@HeitorCPessoa/featured
version 12.1 little update NEW Clear particles (C) NEW Shortcuts Menu (w) Shortcuts: 1-6 »» Brushes Shift »» Eraser Ctrl »» Pause / resume B »» Black hole C »» Clear particles Tab »» Palette Menu H »» Zen mode (hide ui) S »» Screenshot W »» Shortcuts menu UPDATE Hud UPDATE Color system UPDATE Data storage system
version 12.2 Tutorial update NEW Tutorial UPDATE Hud UPDATE Music system UPDATE Shortcuts Bugs Fixed
NEW 1.0.0 LEADERBOARD UPDATE NEW Leaderboard NEW Account system UPDATE HUD UPDATE Buttons
A small update to fix bugs and improve stability.
Ships:
New version 4 NEW Time system NEW Size system NEW Speed system NEW Forms system Hud update Data Storage update New particles updates
Version 9 New - Meteor Brush New - Rain Brush New - BlackHole New - ShortCuts: - Tab: Palette Menu - Shift: Eraser - Ctrl: Pause - B: BlackHole Update - Hud Update - Layout system Update - Brush system Update - Particles system New full version – Notes: New systems and updates to existing ones; Feedback will help improve the game; Ideas will be great for making the game better for our users;
NEW 1.12 FULL VERSION NEW - Clear all particles system NEW - Shortcuts menu NEW - Tutorial NEW - Hud NEW - typescript datastorage system...
|
1792850050.3216734
|
1792936450.3216734
|
|
33034
|
My very own WebOS by @leonjohns | Stardance
|
leonjohns
|
3
|
22.0
|
9
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-31T22:52:58Z", "hours": 6.0, "multiplier": 1.48, "payout": 9, "blessing": "neutral", "text": "This is my final update to the WebOS, I have went onto add five more features into my webOS. Retractable task bar on the left side Cleaned up the building app clutter into a simple task bar with options to see all other apps Internet app Search the internet with the option of choosing between 4 search engines! Pomodoro app A simple pomodoro timer with a 25-minute work period and a 5-minute break period, with pause functionality Inspirational quotes Quotes on the wallpaper to keep you motivated. Spotify app Play top 50 music in the world, with limits 😭 This is my finished build of my CozyOS and I look forward to using the skills I have learned from this to build other websites, such as one day, building a personal live website.", "repo": "https://github.com/leonjohns-dev/CozyOS", "demo": "https://leonjohns-dev.github.io/CozyOS/"}, {"ship_num": 2, "ts": "2026-07-19T02:07:34Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a cool, warm aesthetic website operating system simulation with various apps named CozyOS -It has various apps, such as a hydration tracking app, a YouTube player, and a background changer -One of the many major challenges I faced while making this OS was learning how to code with HTML. The hardest task I gave myself during this project was to make a function that declutters the majority of the code that supports opening and closing apps. I then built on this to control all my windows across all apps. I am very proud of myself for figuring it out without relying on AI -I am planning on adding to the looks, more apps and functionality in the second part of this mission, further giving me more knowledge and experience with HTML. -Thank you for checking out my project!", "repo": "https://github.com/leonjohns-dev/CozyOS", "demo": "https://leonjohns-dev.github.io/CozyOS/"}, {"ship_num": 3, "ts": "2026-07-10T18:08:14Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made my very own WebOS as part of “My very own WebOS” mission. This was my first time going into HTML in this much depth. Although it was hard, it was a great experience in which I learned more things about HTML and, moreover, how to operate GitHub.", "repo": "https://github.com/leonjohns-dev/CozyOS", "demo": "https://leonjohns-dev.github.io/CozyOS/"}]...
|
[{"post_id": 37988, "ts": "202 [{"post_id": 37988, "ts": "2026-07-31T02:37:46Z", "hours": 0.385, "text": "Devlog #11 -I have added Spotify as one of my apps"}, {"post_id": 37421, "ts": "2026-07-30T03:59:14Z", "hours": 1.9233, "text": "Devlog #10 Pomodoro Timer -Start and stop toggle button -Automatically switches from work to break -Ding sound effect to notify user"}, {"post_id": 37254, "ts": "2026-07-29T20:24:53Z", "hours": 0.9119, "text": "Devlog #9 -added basic internet search with user engine options"}, {"post_id": 37188, "ts": "2026-07-29T18:28:46Z", "hours": 0.6844, "text": "Devlog #8 -added quotes -uses google fonts"}, {"post_id": 37147, "ts": "2026-07-29T17:17:12Z", "hours": 2.2319, "text": "Devlog #7 I have revised the app section to now a retractable task bar, simply drag you you mouse near it for the bar to come out. I have also added an additional apps section for more apps."}, {"post_id": 31000, "ts": "2026-07-19T01:16:09Z", "hours": 3.2397, "text": "Devlog 6 -Added portable YouTube viewer -Added Water tracker app"}, {"post_id": 27437, "ts": "2026-07-13T00:21:25Z", "hours": 1.2761, "text": "Devlog 5 - Wallpaper app Allow you to switch between different wallpapers"}, {"post_id": 26792, "ts": "2026-07-11T19:47:21Z", "hours": 2.1158, "text": "DEVLOG 4 Code optimizations -The code was very messy before, many of my elements were hardcoded without proper functions -Today, I have fixed the frustrating window, header and close button problem, which was broken beforehand, with the help of a custom function I have created -More apps coming"}, {"post_id": 26053, "ts": "2026-07-10T17:16:04Z", "hours": 2.6233, "text": "Devlog 3 - added 2 apps"}, {"post_id": 25949, "ts": "2026-07-10T13:53:18Z", "hours": 5.2892, "text": "Devlog 2 -It look way better now although organizing and understanding the code took a lot of work -I really like the glass-looking style so i will be going with for most of my apps and stuff -There are many underlying bugs, which I hope to fix in the future"}, {"post_id": 25322, "ts": "2026-07-09T15:22:48Z", "hours": 0.7294, "text": "Getting Familiar with the essentials -My current goal for this session was to get familiar with html and its quirks -My first time properly using github, learning to pull, commit and push things"}]...
|
Title: My very own WebOS by @leonjohns | Stardance Title: My very own WebOS by @leonjohns | Stardance
Devlogs:
Getting Familiar with the essentials -My current goal for this session was to get familiar with html and its quirks -My first time properly using github, learning to pull, commit and push things
Devlog 2 -It look way better now although organizing and understanding the code took a lot of work -I really like the glass-looking style so i will be going with for most of my apps and stuff -There are many underlying bugs, which I hope to fix in the future
Devlog 3 - added 2 apps
DEVLOG 4 Code optimizations -The code was very messy before, many of my elements were hardcoded without proper functions -Today, I have fixed the frustrating window, header and close button problem, which was broken beforehand, with the help of a custom function I have created -More apps coming
Devlog 5 - Wallpaper app Allow you to switch between different wallpapers
Devlog 6 -Added portable YouTube viewer -Added Water tracker app
Devlog #7 I have revised the app section to now a retractable task bar, simply drag you you mouse near it for the bar to come out. I have also added an additional apps section for more apps.
Devlog #8 -added quotes -uses google fonts
Devlog #9 -added basic internet search with user engine options
Devlog #10 Pomodoro Timer -Start and stop toggle button -Automatically switches from work to break -Ding sound effect to notify user
Devlog #11 -I have added Spotify as one of my apps
Ships:
I have made my very own WebOS as part of “My very own WebOS” mission. This was my first time going into HTML in this much depth. Although it was hard, it was a great experience in which I learned more things about HTML and, moreover, how to operate GitHub.
I have made a cool, warm aesthetic website operating system simulation with various apps named CozyOS -It has various apps, such as a hydration tracking app, a YouTube player, and a background changer -One of the many major challenges I faced while making this OS was learning how to code with HTML. The hardest task I gave myself during this project was to make a function that declutters the majority of the code that supports opening and closing apps. I then built on this to control all my windows across all apps. I am very proud of myself for figuring it out without relying on AI -I am planning on adding to the looks, more apps and functionality in the second part of this mission, further giving me more knowledge and experience with HTML. -Thank you for checking out my project!
This is my final update to the WebOS, I have went onto add five more features into my webOS. Retractable task bar on the left side Cleaned up the building app clutter into a simple task bar with options to see all other apps Internet app Search the internet with the option of choosing between 4 search engines! Pomodoro app A simple pomodoro timer with a 25-minute work period and a 5-minute break period, with pause functionality Inspirational quotes Quotes on the wallpaper to keep you motivated. Spotify app Play top 50 music in the world, with limits 😭 This is my finished build of my CozyOS and I look forward to using the skills I have learned from this to build other websites, such as one day, building a personal live website....
|
1792983157.2368588
|
1793069557.2368588
|
|
34098
|
Rust 6502 by @Wirenux | Stardance
|
Wirenux
|
3
|
74.0
|
1354
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T17:19:09Z", "hours": 7.0, "multiplier": 18.98, "payout": 127, "blessing": "neutral", "text": "Rust 6502 A MOS 6502 emulator TUI with a lot of features Before reading this Ship you should take a look at Ship 1 & Ship 2 What did you add ? Here is a list of everything that I have added since the last Ship Features Breakpoints : press “F” to set a breakpoint at any address, the emulator halts the moment PC reaches it Watchpoints : same idea, but for memory Conditional Breakpoints : halt execution when a register (AC, XR, YR, SP) meets a comparison (!=, ==, >=, <=, >, <) against a target value Step Back : press “B” to rewind execution one instruction at a time, restoring the CPU and memory exactly as they were before Random Number Generator : a memory-mapped register at $BFF3 that returns a random byte from the host PC on every read, so ASM programs can have real random number Keybind Panel : a popup listing every keyboard shortcut and control, and removed the old footer keybind list to make room for it Demo Program Snake : updated to pull apple placement from the new RNG instead of the old pseudo random method ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ What was challenging ? Wiring the conditional breakpoint into the run loop without breaking the existing breakpoint/watchpoint checks was harder than I though. Also getting a dropdown-style menu to choose the operator working in Ratatui was tought since there’s no native dropdown widget. So I ended up building a little spinner (▲ value ▼) that cycles through the operators instead ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ What are you proud of ? I’m proud that my emulator now has real debugging tools like : breakpoints, watchpoints, conditional breakpoints, and step-back. What should people know so they can test your project ? A Nerd Font is recommended in your terminal for a better rendering of the UI icons on the Home page How to test: Install the emulator directly from crates.io by running: cargo install rust6502 Download all the .bin files on the GitHub Releases page. Launch the emulator by running rust6502 and use the built-in Home menu to select one of the demo .bin files! Things to try Load snake_demo.bin and play :D Set a breakpoint on an address inside a demo program (check the keybind panel for the shortcut!) and watch execution halt exactly there Try a conditional breakpoint : for example, halt whenever XR == 0F and watch it stop right when the register hits that value Press “B” to step backward and rewind the CPU state instruction by instruction Press the keybind panel shortcut to see the full list of controls", "repo": "https://github.com/wirenux/Rust-6502", "demo": "https://crates.io/crates/rust6502"}, {"ship_num": 2, "ts": "2026-08-08T15:59:06Z", "hours": 28.0, "multiplier": 17.86, "payout": 504, "blessing": "neutral", "text": "=== Rust 6502 === A MOS 6502 emulator TUI with a lot of features ============================================ Before reading this Ship you should take a look at Ship #1 == What did you add ? == Here is a list of everything that I have added since the last Ship = Features = Serial Monitor : you connect to localhost:8080 using netcat. Useful for the Apple 1 OS or for debugging with text. The monitor can be used to display text but also to send text like a keyboard (useful for the Apple 1 OS) PS/2 Keyboard : a full PS/2 keyboard emulation (used in Snake) Use the UI with a Mouse: On the Home Menu and in the Emulator you can click on button, toggle, scroll, etc… Interrupt : IRQ & NMI Tips in the Settings Panel Modify speed with Hz & MHz (like a real 6502 chip) Reset Vector: The emulator will look at $FFFC & $FFFD to find the start address of the program (when the Force Address toggle is off) Set PC Address: keyboard shortcut to change the position of the PC (Program Counter) = Demo Program = Apple 1 OS (Wozmon) : I have modified the orginal Apple 1 code to fit my emulator, like Serial Monitor address, Keyboard etc… Snake : Just the Snake game ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ Keyboard Demo: Print every key press on the screen using a custom font Serial Monitor Demo: Show how the Serial Monitor works == What was challenging ? == The most challenging part of this 2nd ship was creating a Serial Monitor that works via a local port, and making a PS/2 Keyboard emulation. And of course, modifying the Apple 1 OS to make it work on this emulator ! (I was having a lot of bugs, so I rewrite a big part of the OS) ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ == What are you proud of ? == I am really proud of my self for the implementation of the Serial monitor that run on different CPU thread than the emulator itself and the fact that it work via the local network. And beyond everything the fact that my emulator can run : games, utility and the Apple 1 OS !!! ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ I’m also really proud that it’s officially published on crates.io. == What should people know so they can test your project ? == Note: A Nerd Font is recommended in your terminal emulator for a proper rendering of the UI icons on the Home page How to test: Install the emulator directly from crates.io by running: ================== cargo install rust6502 Download all the .bin files on the GitHub Releases page. Launch the emulator by running rust6502 and use the built-in Home menu to select one of the demo .bin files! == Things to try == Load snake_demo.bin to play at a classic game using the 32x32 screen and the PS/2 keyboard emulation Load wozmon.bin to use the Apple 1 OS ! You should see the documentation related to Wozmon : https://github.com/wirenux/Rust-6502/blob/main/AppleI.md Load keyboard_demo.bin to see every key you press show up on the 32x32 screen using a custom font The Debugger: go to the Settings menu inside the TUI and slow down the CPU speed. Then watch the Memory Viewer and Disassembler track exactly what the code is doing in real-time!", "repo": "https://github.com/wirenux/Rust-6502", "demo": "https://crates.io/crates/rust6502"}, {"ship_num": 3, "ts": "2026-07-23T16:03:44Z", "hours": 39.0, "multiplier": 19.83, "payout": 723, "blessing": "neutral", "text": "=== Rust 6502 === A legendary 8-bit CPU right in your terminal! 🦀 ᕙ( •̀ ᗜ •́ )ᕗ == What did you make ? == I built a fully functional emulator for the MOS 6502 (the microprocessor that powered the Apple II, Commodre 64, and the NES) from scratch using Rust ! Instead of a standard graphical window, I built a Terminal User Interface (TUI) using Ratatui. Here is what’s inside: Full CPU Emulation: Execute 6502 machine code with live register (AC, XR, YR, SP) and status flag tracking Virtual Screen: A 32x32 memory-mapped display ($0200-$05FF) rendered right in the terminal using Unicode Half-Block and a custom 16-color palette Live Disassembler & Hex Viewer: Watch the RAM change in real-time and see the raw binary machine code translated back into readable assembly instructions on the fly Built-in File Browser: A visual menu with Nerd Font icons to navigate your system and load compiled .bin ROMs Available on crates.io : You can download it via Cargo == What was challenging ? == The Disassembler: Writing a disassembler that parses raw .bin files is tricky because they don’t have headers. I ran into a massive issue where my image data (using the color byte $0A) was being read by the disassembler as infinite ASL A (Shift Left) instructions! I had to engineer a way for the disassembler to properly halt when it hit a BRK instruction so it wouldn’t try to execute my pixel art. Terminal UI Architecture: Designing a dashboard (hex grids, scrolling stacks, changing colors) required a really solid state-management architecture to keep the UI smooth and responsive while the CPU loop spins at thousands of instructions per second. == What are you proud of ? == I am proud of using this project to learn Rust in a fun way! ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ I’m also really proud that it’s officially published on crates.io, meaning anyone can install and run my emulator with a single command == What should people know so they can test your project ? == Note: A Nerd Font is recommended in your terminal emulator for a proper rendering of the UI icons on the Home page How to test: Install the emulator directly from crates.io by running: cargo install rust6502 Download all the .bin files on the GitHub Releases page. Launch the emulator by running rust6502 and use the built-in Home menu to select one of the demo .bin files! == Things to try == Load hackclub_logo_demo.bin to see the terminal render a 32x32 pixel art logo using 6502 assembly Load rainbow_demo.bin to watch a shifting color gradient animation directly manipulating video memory. Load helloworld_demo.bin to watch a centered Hello world message The Debugger: go to the Settings menu inside the TUI and slow down the CPU speed. Then watch the Memory Viewer and Disassembler track exactly what the code is doing in real-time!", "repo": "https://github.com/wirenux/Rust-6502", "demo": "https://crates.io/crates/rust6502"}]...
|
[{"post_id": 53188, "ts": "202 [{"post_id": 53188, "ts": "2026-08-23T17:01:36Z", "hours": 1.3231, "text": "+ 1h20 So… this might be the last devlog for this project. I just released the v1.3.0 . And here is what I added since the last devlog : A RNG documentation Snake now use a real RNG I recorded the Asciinema .cast file Update the python tools to generate memory diagrams Update the Memory documentation So next step is the 3rd Ship"}, {"post_id": 52497, "ts": "2026-08-22T17:18:02Z", "hours": 1.6328, "text": "+ 1h35 ! This might be the last feature I add to Rust 6502. Since I ran out of idea and for me the project seem to be finished. Anyway, here are the things I added : A RNG address : $BFF3 . The program just read from it and get a random value via the Host computer ( 4feb4d8 ) A conditional breakpoint : A top bar in the Breakpoint popup to add a conditional breakpoint (like : If AC != 0F -> Break) ( 1b7bc81 )"}, {"post_id": 51750, "ts": "2026-08-21T16:03:37Z", "hours": 1.4139, "text": "+1h 25 min ! Since the last time I have added the keybind panel. Where there is… all the keybinds I also remove the keybind on the footer to only get Keybind “K”"}, {"post_id": 48226, "ts": "2026-08-16T15:08:41Z", "hours": 0.8658, "text": "Okay so… I have added the Breakpoint and the Watchpoint . When you set the breakpoint to $C00C the CPU will stop before running the instruction at $C00C. The watchpoint stop if a value at an address at been changed."}, {"post_id": 47602, "ts": "2026-08-15T16:26:45Z", "hours": 0.8536, "text": "I added the step-back function. It work by pressing “B”, it’s just rewinding the emulator up to 500 opcode. Only work when moving in step-by-step mode (with Enter)"}, {"post_id": 45822, "ts": "2026-08-12T15:29:34Z", "hours": 0.5942, "text": "v1.2.0 Here are the changes attached to this release : fix: a bug on windows, with ghost key press ( c3c6009 ) add: a Scroll bar on the file explorer ( 94b2abb )"}, {"post_id": 43337, "ts": "2026-08-08T15:14:19Z", "hours": 0.2753, "text": "YAY Now rust6502 Version 1.1.0 is released ! On github with all the demo file and on crates.io / cargo !"}, {"post_id": 43315, "ts": "2026-08-08T14:47:20Z", "hours": 2.8169, "text": "Here is what I have done in 2h 50 . First I wrote a lot of docs, for the keyboard, Serial Monitor, Wozmon etc… This was so boring . But at least now I will be ready to ship soon ! Second, I have fixed the Wozmon list content of address. Before when you was doing FF00.FFFF it was just showing the byte at $FF00 and the byte at $FFFF now it list all the byte between !"}, {"post_id": 43203, "ts": "2026-08-08T10:26:46Z", "hours": 0.2706, "text": "New little update ! I have created a Python tools to create memory map for my emulator docs !"}, {"post_id": 43187, "ts": "2026-08-08T09:47:21Z", "hours": 0.5125, "text": "Little update ! I have added tips in the settings menu. The change randomly using the UNIX Epoch value"}, {"post_id": 42870, "ts": "2026-08-07T20:34:53Z", "hours": 0.6192, "text": "Little update, I added a Program Counter (PC) input to move it in when running a program. I also added a cursor for the start input on the Home Screen !"}, {"post_id": 42844, "ts": "2026-08-07T19:42:37Z", "hours": 1.9044, "text": "After 1h50 I have added a Snake demo program that use the PS/2 keyboard !!! I also make a demo program to test the Serial Monitor using netcat nc"}, {"post_id": 42206, "ts": "2026-08-06T20:22:37Z", "hours": 3.5697, "text": "Wow, just WOW. I have added a serial monitor, and Apple 1 OS Serial Monitor Here is the way the monitor work, you load character to $BFE0 like this : lda #'A' sta $BFE0 Then you run the program in the emulator like normal, then you open another terminal and you connect to localhost port 8080 using netcat nc like this : nc 127.0.0.1 8080 And now if you already launch the program, when you connect to localhost ( 127.0.0.1 is localhost) you will see a A in your terminal ! You can also type in the serial monitor ! Here is a code that show the number of characters typed by using the pixels in the 32x32 screen ! start: ldx #$FF txs ldx #$00 main_loop: bit $BFE1 bpl main_loop lda $BFE0 sta $BFE0 lda #WHITE_COLOR sta $0200, x inx jmp main_loop Apple 1 This is a very damn big part. To be short, I have recreated the Apple 1 OS (Wozmon) created by Steve Wozniak. In short I took the code given in the Apple 1 User Manual, modify it to use the Serial Monitor and Keyboard, fix some issue with the prompt. I can even run the classic program from the manual to print all the available characters. With Wozmon you can also write and read data from the memory so you can show some pixel on the screen ! Here is the program running and the serial monitor."}, {"post_id": 41544, "ts": "2026-08-05T20:29:50Z", "hours": 4.6692, "text": "Okay soo….. it’s been 4 hours and 35 minutes . I have done so much and not that much at the same time (I know it’s weird ) I have added a demo program who print the pressed character ! I have spend 2 hours on a little bug but yeah now it’s working ! So with the program I drew all the key on a PS/2 keyboard . I also fixed some little inattention problem in my code. I also created a little python script to help me convert .png drawing into raw .inc value ! ( Did you find the secret phrase ?)"}, {"post_id": 40862, "ts": "2026-08-04T17:37:24Z", "hours": 0.6206, "text": "Now there is all the number & lower case letter (a-z) & and the Space bar icon !"}, {"post_id": 40720, "ts": "2026-08-04T13:13:58Z", "hours": 0.6008, "text": "I want to create a ASM program who print the pressed key to the screen, and for that I need to create the font/image for each key. There is ~100 key . So here is the first one !"}, {"post_id": 40191, "ts": "2026-08-03T16:23:25Z", "hours": 2.2289, "text": "Wow that was… difficult . But now there is a PS/2 keyboard Emulation ! The I/O port is map on $BFF0-$BBF2. The PS/2 keyboard work with 3 addresses $BFF0 : KBD_DATA $BFF1 : KBD_STATUS $BFF2 : KBD_ACK To activate to keyboard in the emulator you can press on the screen container and to exit it just click anywhere else ! (The number you can see in the memory viewer at $0000 is the code from different key !) Maybe next time I will create a program to see each letter"}, {"post_id": 39675, "ts": "2026-08-02T20:07:26Z", "hours": 1.4747, "text": "YAY ! Now there is mouse control on the home screen, this mean that you can click every where to change the focus and in the file explorer you can double-click to open a folder and double-click to open a file directly, you can also with a simple click enable or disable Force Address Mode"}, {"post_id": 38319, "ts": "2026-07-31T17:15:48Z", "hours": 8.67, "text": "Ok so… it’s been 8h40 . I have done a lot (I mean it’s logic it’s been 8h and 40 minutes) In time order I have done : Replace self.pc + 1 to self.pc.wrapping_add(1) so it’s like on the real 6502 if the current PC is $FFFF and you add 1 it will be $0000 . Added a panic hook, before when the program was crashing (for a bad ASM program by example) the terminal was still in RAW mode (so if you click, move the mouse etc… it will print a bunch of garbage number) but now it exit the raw mode in a clean way ! Remove unused import Change the start of the Stack Pointer to $1FFF Added a memory reset function Write a bunch of test programs Replace IPS (instruction per seconds) by Hz and MHz like in real life (so i’ve adapted the UI for the change) Now the disassembler disassemble the whole program (neat right ? ) using .len() . (yes before it was an hard-coded number Optimize the screen render method. Before I was refreshing the screen even if nothings has been changed, now i check if somethings have been changed to update the screen Added address of each “quarter” of the screen in the screen documentation Fixed foreground and background color of the Frequency selector (on the Home Screen) Write a program to test IRQ and NMI Keybinds the I and N key to IRQ and NMI Changed the Hello World program to be rainbow The emulator will look by it self to the reset vector ( $FFFC and $FFFD ) to set the PC at the correct address Added a force address toggle to… force the the start address When the force addr toggle is off you can’t modify the start Addr and it’s darker Every file or folder who start by a . (dot) is not shown in the file selector Moved the hackclub logo raw binary data to a .inc file Added a self crashing test program (Next time I might add a PS/2 keyboard emulation… )"}, {"post_id": 33529, "ts": "2026-07-23T15:42:24Z", "hours": 0.2847, "text": "Last devlogs before Ship #1 Wow 37h of work. I have made an Asciinema video, Youtube video and update the README.md Wish me luck !"}, {"post_id": 33447, "ts": "2026-07-23T12:32:34Z", "hours": 0.8183, "text": "I have been writing a LOT of documentation on how to create a 6502 ASM program, Screen documentation. And the project is now published in version 1.0.0 on Github and Cargo https://github.com/wirenux/Rust-6502 https://crates.io/crates/rust6502"}, {"post_id": 33416, "ts": "2026-07-23T10:42:45Z", "hours": 0.8144, "text": "I have added a new program called HackClub Logo First, I have draw the hackclub logo in aseprite with a 32x32 pixel file using my custom color palette. Second, I have created a simple python script who take a .png in input and output ASM raw data for the image (using my color palette). Third, I have create a simple ASM program to print the logo on the screen !"}, {"post_id": 33164, "ts": "2026-07-22T20:28:05Z", "hours": 0.3019, "text": "WOW 35H 🎉 I have added a file : DemoProgram.md to show all the demo program"}, {"post_id": 33159, "ts": "2026-07-22T20:10:35Z", "hours": 3.8867, "text": "WOW 4h 😅 I have done the full README.md, documentation about the screen, color palette and fix some little bugs."}, {"post_id": 32560, "ts": "2026-07-21T20:27:52Z", "hours": 0.6103, "text": "Little bug fix: Now when we select a file in the Home File Selector the filename appear in the Opcode container. I have also reorganize the tui.rs code !"}, {"post_id": 32540, "ts": "2026-07-21T19:47:40Z", "hours": 0.3697, "text": "WOW already 30 hours ?! 😅 I now have added the home logo ! I also changed the step for the speed selection on Home Menu from 500 to 100 for each step"}, {"post_id": 32522, "ts": "2026-07-21T19:16:08Z", "hours": 2.0906, "text": "Wow that was damn hard 😭. But the Home Menu is finally here 🎉. There is the logo (might change). The select file container with full navigation (folder, parent directory, file), Icon (require a Nerd Font) and Colors. The selected file path update in real time with the absolute path of the file. The start address automatically change if the file selected is a demo file (end with “_demo.bin”) to $C000. The start address it editable with Alpha numeric character (hexadecimal). And the emulation speed work ! There is control on the footer bar."}, {"post_id": 32416, "ts": "2026-07-21T16:21:09Z", "hours": 1.2358, "text": "New demo program… HelloWorld_demo ! Print Hello World ! centered on the screen all in pure 6502 Assembly. I also modified the way the disassembler work, now even if there is a BRK it will continue to read the file until the end. The ASM part was really really haaarrddd."}, {"post_id": 32338, "ts": "2026-07-21T13:23:35Z", "hours": 0.4014, "text": "Now if I press R I can reset the program. I also modify the footer bar"}, {"post_id": 32323, "ts": "2026-07-21T12:48:13Z", "hours": 0.5539, "text": "I have update the color from word to RGB value so if a different terminal theme is applied the color are the same. I also added a footer bar with the keybinds."}, {"post_id": 32296, "ts": "2026-07-21T11:32:52Z", "hours": 1.4164, "text": "New panel 🥁🥁🥁…. the ✨ SETTINGS ✨ ! In this panel there is a smaller version of the Logo and the settings to modify the speed of the CPU. There is also the link to the github repo and stardance project"}, {"post_id": 31921, "ts": "2026-07-20T18:22:48Z", "hours": 0.2858, "text": "Now the name of the file currently running is in the title. I also finished the rainbow program to fill the whole screen."}, {"post_id": 31910, "ts": "2026-07-20T18:01:58Z", "hours": 1.7158, "text": "New feature 🥁🥁🥁 ✨ THE SCREEN ✨ This was very very hard. The screen use the Unicode half-block character “▀”, to write to the screen you just need to send value like this : LDA #$02 ; load \"02\" into the accumulator STA $0200 ; store it at memory address $0200 (the 1st pixel) Here the 02 is the color RED. Here is the color palette: fn palette_color ( index : u8 ) -> Color { match index & 0x0F { 0 => Color :: Black , 1 => Color :: White , 2 => Color :: Red , 3 => Color :: Cyan , 4 => Color :: Magenta , 5 => Color :: Green , 6 => Color :: Blue , 7 => Color :: Yellow , 8 => Color :: Rgb ( 255 , 165 , 0 ), // Orange 9 => Color :: Rgb ( 153 , 76 , 0 ), // Brown 10 => Color :: DarkGray , 11 => Color :: Gray , 12 => Color :: LightRed , 13 => Color :: LightBlue , 14 => Color :: LightGreen , _ => Color :: Reset , // 15 transparent } } The color may vary between terminal theme. I also had created an ASM program to print a rainbow on the 1st quarter of the screen. I also added the feature that when a BRK instruction is hit the program turn to HALT mode (in the UI). I also added the indentation system to BEQ, BNE, BCC, BCS, BMI, BPL, BVC, BVS. I also added a new way of calculating the speed of the program."}, {"post_id": 31806, "ts": "2026-07-20T14:10:36Z", "hours": 0.4183, "text": "Choosing between a variety of logo (2 first screen shot are in Apple Terminal the last is in ghostty with a Catpuccin Mocha theme)"}, {"post_id": 31786, "ts": "2026-07-20T13:41:37Z", "hours": 0.9217, "text": "I have added a top bar in the memory container with the last part of the address (to be more easy to read). I also fixed all the scroll bar from scrolling outside the container and just see nothings"}, {"post_id": 31761, "ts": "2026-07-20T12:25:55Z", "hours": 0.3808, "text": "I have fixed the cursor in the Stack Container to scroll automaticly when needed and when running. I also optimised the code !"}, {"post_id": 31735, "ts": "2026-07-20T11:29:19Z", "hours": 1.0997, "text": "A lot has been going on ! I have added the Memory Viewer, Scroll bar to the Stack Viewer and Memory Viewer (work with the 🥁…. SCROLL WHEEL !). I also reduce the space taken by the opcode list so we can see the memory viewer !"}, {"post_id": 31230, "ts": "2026-07-19T13:48:00Z", "hours": 0.4708, "text": "I have added a Stack Viewer on the left ! The container scroll it self when the “cursor”/current position of the Stack Pointer (SP). I also have fix the text for the SP in the register container"}, {"post_id": 30873, "ts": "2026-07-18T20:31:08Z", "hours": 0.5025, "text": "I have tried to implement multi-threading but realize that it’s not worth it for a simple emulator like this one."}, {"post_id": 30853, "ts": "2026-07-18T20:00:15Z", "hours": 0.4039, "text": "I have clean the code a little bit 🧹 and added a RUN or PAUSED indicator :"}, {"post_id": 30789, "ts": "2026-07-18T17:52:51Z", "hours": 1.2636, "text": "The UI is going forward one step after another ! I have changed a some little like the place where is the Flag Container, now it’s on the left side. And I also have added a LOT a things like: Register Container (under the Flag Container) Now when there is a JMP (or any type or jump like RST, etc…) the code indent it self Up and Down key move the cursor 🥁…. ✨UP & DOWN ✨ New color for the ADDR in the Opcode container Things I have removed: BYTES section in the Opcode container because I don’t think it’s really useful"}, {"post_id": 30680, "ts": "2026-07-18T13:37:25Z", "hours": 0.2903, "text": "YAY now the Flags can be shown ! Green Bold when active and Dark Gray classic when not"}, {"post_id": 30669, "ts": "2026-07-18T13:18:54Z", "hours": 0.5522, "text": "I have made a program to disassemble the program so the code could be shown in the TUI. And it work !"}, {"post_id": 30661, "ts": "2026-07-18T12:46:07Z", "hours": 1.1003, "text": "I am now making the TUI part of this emulator ! I am using Ratatui to make the TUI. This mean I have to change all the printing part of my existing program"}, {"post_id": 30627, "ts": "2026-07-18T10:52:26Z", "hours": 0.465, "text": "YAY Now EVERY opcode and EVERY addressing mode are implemented 🎉 (wow 1478 lines of pure opcodes)"}, {"post_id": 30355, "ts": "2026-07-17T20:40:38Z", "hours": 0.2844, "text": "I have fix some little print in 3-4 instruction and the IRQ function"}, {"post_id": 30342, "ts": "2026-07-17T20:21:23Z", "hours": 1.0506, "text": "I’m being closer and closer of getting all opcode and all Addressing mode implemented Here are the list of opcode I have implemented and there Addressing Mode: ADC Zeropage X Absolute Absolute X Absolute Y Indirect X Indirect Y AND Zeropage Zeropage X Absolute Absolute X Absolute Y Indirect X Indirect Y CMP Zeropage Zeropage X Absolute Absolute X Absolute Y Indirect X Indirect Y EOR Zeropage Zeropage X Absolute Absolute X Absolute Y Indirect X Indirect Y I also fixed the CLD instruction. I was doing a : cpu .sr | = ! CPU :: DECIMAL_FLAG ; but the right one was this: cpu .sr &= ! CPU :: DECIMAL_FLAG ;"}, {"post_id": 29763, "ts": "2026-07-16T21:06:40Z", "hours": 0.9353, "text": "New opcode time ! LDY ZeroPageX STA ZeroPageX AbsoluteY IndirectX IndirectY STX ZeroPageY Absolute STY ZeroPageX Absolute"}, {"post_id": 29468, "ts": "2026-07-16T13:13:24Z", "hours": 1.3792, "text": "Add interruption with NMI + IRQ. Add option to the user to start at a specific address"}, {"post_id": 29172, "ts": "2026-07-15T21:55:25Z", "hours": 0.4572, "text": "New opcode STA Absolute X"}, {"post_id": 29083, "ts": "2026-07-15T18:53:21Z", "hours": 0.73, "text": "I’ve just passed 40min to fix an interruption problem to final look back and see that my original code what working perfectly fine 😭 . I’ve also change my build tools to ca65 + ld65"}, {"post_id": 29035, "ts": "2026-07-15T18:04:18Z", "hours": 0.5122, "text": "YAY I have added a BUNCH of new Opcodes : BCS BCC BPL BIT with ZeroPage & Absolute BMI BVC BVS"}, {"post_id": 29003, "ts": "2026-07-15T17:27:28Z", "hours": 0.6717, "text": "New opcode TXS (transfer X to stack pointer) TSX (transfer stack pointer to X) ldx_absolute_Y lda_indirect_x lda_indirect_y ldx_zeropage_y New Addressing Mode: AbsoluteY ZeroPageY IndirectX IndirectY"}, {"post_id": 28387, "ts": "2026-07-14T16:45:14Z", "hours": 0.4636, "text": "✨ NEW OPCODE ✨ : PHP (Push Processor Status: push current value of all the flag to the stack) PLP (Pull Processor Status: pull current value of all the flag to the stack) But I have also add a memory dump with page (at the end of a program) to debug ! (1st screenshot) and i also add a fixed (address) memory viewer when running (2nd screenshot)"}, {"post_id": 28368, "ts": "2026-07-14T16:14:05Z", "hours": 0.3953, "text": "There now is 4 new opcode: ROR ROL ROR Memory ROL Memory"}, {"post_id": 28355, "ts": "2026-07-14T15:47:50Z", "hours": 0.7244, "text": "New Opcode : PLA (Pull Accumulator) PHA (Push Accumulator) ASL memory LSR memory"}, {"post_id": 27919, "ts": "2026-07-13T20:54:45Z", "hours": 0.3947, "text": "The now is new opcode ! : EOR ORA AND LDA (ZeroPageX) And some new AddressingMode : ZeroPageX AbsoluteX"}, {"post_id": 27728, "ts": "2026-07-13T15:22:17Z", "hours": 0.7697, "text": "Now there is a pop_stack function who return the top value of the stack (Last In First Out). I’ve also added those opcode : JSR RST And made this test code :"}, {"post_id": 27647, "ts": "2026-07-13T12:27:38Z", "hours": 1.7306, "text": "I’ve done a LOT of work. Added Opcodes: BEQ BNE SBC Immediate + Zeropage I’ve also done a lot of refractorisation. Code before : match opcode { 0x18 => { self .sr &= ! CPU :: CARRY_FLAG ; self .set_instr ( format! ( \"{:02X}\" , opcode ), \"CLC\" .to_string (), 2 ); }, // ... } VS now : match opcode { 0x18 => self .clc ( opcode ), // ... } So now every opcode have his own function !"}, {"post_id": 27367, "ts": "2026-07-12T21:19:13Z", "hours": 0.5197, "text": "I’ve added those instruction: ADC (Add with Carry) CLC (Clear Carry Flag) SEC (Set Carry Flag) I’ve also made this little ASM 6502 program to test those opcode .org $8000 START: SEC ; to test CLC LDA #$FF ; A = 255 CLC ; Clear Carry Flag before addition ADC #$02 ; 255 + 2 = 1, Carry is now 1 (0x01FF + 0x0002 = 0x0201) STA $20 ; Store Low Byte result (01) at $20 LDA #$00 ; Load 0 for the high byte ADC #$00 ; 0 + 0 + 1 (Carry from previous instruction) = 1 STA $21 ; Store High Byte result (01) at $21 ; SEC use SEC ; Carry = 1 LDA #$01 ; A = 1 ADC #$00 ; 1 + 0 + 1 (Carry) = 2 BRK And it work just fine !"}, {"post_id": 27343, "ts": "2026-07-12T20:41:04Z", "hours": 0.885, "text": "I’ve added a bunch of opcode like : STA, STX, STY (Zero Page, Absolute) LDX, LDY (Immediate, Zero Page, Absolute) JMP (Absolute), JMP (Indirect) (the screen shot is a new program that i’ve made and test on virtual 6502 and my project)"}, {"post_id": 27311, "ts": "2026-07-12T19:40:23Z", "hours": 0.3989, "text": "I’ve added a new UI and AddressingMode"}, {"post_id": 27261, "ts": "2026-07-12T17:42:19Z", "hours": 4.3097, "text": "Hi ! Right now in my project I have added : Bus with ram read & write function load from file function CPU All registry (a, x, y, sp, pc, sr) reset cpu function update Z & N flag function clock_tick with those opcode in it : BRK; DEY; TXA; TYA; TAY; LDA; TAX; INY; DEX; INX; NOP (1st screenshot is official emulator 2nd is mine)"}]...
|
Title: Rust 6502 by @Wirenux | Stardance
Devlogs: Title: Rust 6502 by @Wirenux | Stardance
Devlogs:
Hi ! Right now in my project I have added : Bus with ram read & write function load from file function CPU All registry (a, x, y, sp, pc, sr) reset cpu function update Z & N flag function clock_tick with those opcode in it : BRK; DEY; TXA; TYA; TAY; LDA; TAX; INY; DEX; INX; NOP (1st screenshot is official emulator 2nd is mine)
I’ve added a new UI and AddressingMode
I’ve added a bunch of opcode like : STA, STX, STY (Zero Page, Absolute) LDX, LDY (Immediate, Zero Page, Absolute) JMP (Absolute), JMP (Indirect) (the screen shot is a new program that i’ve made and test on virtual 6502 and my project)
I’ve added those instruction: ADC (Add with Carry) CLC (Clear Carry Flag) SEC (Set Carry Flag) I’ve also made this little ASM 6502 program to test those opcode .org $8000 START: SEC ; to test CLC LDA #$FF ; A = 255 CLC ; Clear Carry Flag before addition ADC #$02 ; 255 + 2 = 1, Carry is now 1 (0x01FF + 0x0002 = 0x0201) STA $20 ; Store Low Byte result (01) at $20 LDA #$00 ; Load 0 for the high byte ADC #$00 ; 0 + 0 + 1 (Carry from previous instruction) = 1 STA $21 ; Store High Byte result (01) at $21 ; SEC use SEC ; Carry = 1 LDA #$01 ; A = 1 ADC #$00 ; 1 + 0 + 1 (Carry) = 2 BRK And it work just fine !
I’ve done a LOT of work. Added Opcodes: BEQ BNE SBC Immediate + Zeropage I’ve also done a lot of refractorisation. Code before : match opcode { 0x18 => { self .sr &= ! CPU :: CARRY_FLAG ; self .set_instr ( format! ( "{:02X}" , opcode ), "CLC" .to_string (), 2 ); }, // ... } VS now : match opcode { 0x18 => self .clc ( opcode ), // ... } So now every opcode have his own function !
Now there is a pop_stack function who return the top value of the stack (Last In First Out). I’ve also added those opcode : JSR RST And made this test code :
The now is new opcode ! : EOR ORA AND LDA (ZeroPageX) And some new AddressingMode : ZeroPageX AbsoluteX
New Opcode : PLA (Pull Accumulator) PHA (Push Accumulator) ASL memory LSR memory
There now is 4 new opcode: ROR ROL ROR Memory ROL Memory
✨ NEW OPCODE ✨ : PHP (Push Processor Status: push current value of all the flag to the stack) PLP (Pull Processor Status: pull current value of all the flag to the stack) But I have also add a memory dump with page (at the end of a program) to debug ! (1st screenshot) and i also add a fixed (address) memory viewer when running (2nd screenshot)
New opcode TXS (transfer X to stack pointer) TSX (transfer stack pointer to X) ldx_absolute_Y lda_indirect_x lda_indirect_y ldx_zeropage_y New Addressing Mode: AbsoluteY ZeroPageY IndirectX IndirectY
YAY I have added a BUNCH of new Opcodes : BCS BCC BPL BIT with ZeroPage & Absolute BMI BVC BVS
I’ve just passed 40min to fix an interruption problem to final look back and see that my original code what working perfectly fine 😭 . I’ve also change my build tools to ca65 + ld65
New opcode STA Absolute X
Add interruption with NMI + IRQ. Add option to the user to start at a specific address
New opcode time ! LDY ZeroPageX STA ZeroPageX AbsoluteY IndirectX IndirectY STX ZeroPageY Absolute STY ZeroPageX Absolute
I’m being closer and closer of getting all opcode and all Addressing mode implemented Here are the list of opcode I have implemented and there Addressing Mode: ADC Zeropage X Absolute Absolute X Absolute Y Indirect X Indirect Y AND Zeropage Zeropage X Absolute Absolute X Absolute Y Indirect X Indirect Y CMP Zeropage Zeropage X Absolute Absolute X Absolute Y Indirect X Indirect Y EOR Zeropage Zeropage X Absolute Absolute X Absolute Y Indirect X Indirect Y I also fixed the CLD instruction. I was doing a : cpu .sr | = ! CPU :: DECIMAL_FLAG ; but the right one was this: cpu .sr &= ! CPU :: DECIMAL_FLAG ;
I have fix some little print in 3-4 instruction and the IRQ function
YAY Now EVERY opcode and EVERY addressing mode are implemented 🎉 (wow 1478 lines of pure opcodes)
I am now making the TUI part of this emulator ! I am using Ratatui to make the TUI. This mean I have to change all the printing part of my existing program
I have made a program to disassemble the program so the code could be shown in the TUI. And it work !
YAY now the Flags can be shown ! Green Bold when active and Dark Gray classic when not
The UI is going forward one step after another ! I have changed a some little like the place where is the Flag Container, now it’s on the left side. And I also have added a LOT a things like: Register Container (under the Flag Container) Now when there is a JMP (or any type or jump like RST, etc…) the code indent it self Up and Down key move the cursor 🥁…. ✨UP & DOWN ✨ New color for the ADDR in the Opcode container Things I have removed: BYTES section in the Opcode container because I don’t think it’s really useful
I have clean the code a little bit 🧹 and added a RUN or PAUSED indicator :
I have tried to implement multi-threading but realize that it’s not worth it for a simple emulator like this one.
I have added a Stack Viewer on the left ! The container scroll it self when the “cursor”/current position of the Stack Pointer (SP). I also have fix the text for the SP in the register container
A lot has been going on ! I have added the Memory Viewer, Scroll bar to the Stack Viewer and Memory Viewer (work with the 🥁…. SCROLL WHEEL !). I also reduce the space taken by the opcode list so we can see the memory viewer !
I have fixed the cursor in the Stack Container to scroll automaticly when needed and when running. I also optimised the code !
I have added a top bar in the memory container with the last part of the address (to be more easy to read). I also fixed all the scroll bar from scrolling outside the container and just see nothings
Choosing between a variety of logo (2 first screen shot are in Apple Terminal the last is in ghostty with a Catpuccin Mocha theme)
New feature 🥁🥁🥁 ✨ THE SCREEN ✨ This was very very hard. The screen use the Unicode half-block character “▀”, to write to the screen you just need to send value like this : LDA #$02 ; load "02" into the accumulator STA $0200 ; store it at memory address $0200 (the 1st pixel) Here the 02 is the color RED. Here is the color palette: fn palette_color ( index : u8 ) -> Color { match index & 0x0F { 0 => Color :: Black , 1 => Color :: White , 2 => Color :: Red , 3 => Color :: Cyan , 4 => Color :: Magenta , 5 => Color :: Green , 6 => Color :: Blue , 7 => Color :: Yellow , 8 => Color :: Rgb ( 255 , 165 , 0 ), // Orange 9 => Color :: Rgb ( 153 , 76 , 0 ), // Brown 10 => Color :: DarkGray , 11 => Color :: Gray , 12 => Color :: LightRed , 13 => Color :: LightBlue , 14 => Color :: LightGreen , _ => Color :: Reset , // 15 transparent } } The color may vary between terminal theme. I also had created an ASM program to print a rainbow on the 1st quarter of the screen. I also added the feature that when a BRK instruction is hit the program turn to HALT mode (in the UI). I also added the indentation system to BEQ, BNE, BCC, BCS, BMI, BPL, BVC, BVS. I also added a new way of calculating the speed of the program.
Now the name of the file currently running is in the title. I also finished the rainbow program to fill the whole screen.
New panel 🥁🥁🥁…. the ✨ SETTINGS ✨ ! In this panel there is a smaller version of the Logo and the settings to modify the speed of the CPU. There is also the link to the github repo and stardance project
I have update the color from word to RGB value so if a different terminal theme is applied the color are the same. I also added a footer bar with the keybinds.
Now if I press R I can reset the program. I also modify the footer bar
New demo program… HelloWorld_demo ! Print Hello World ! centered on the screen all in pure 6502 Assembly. I also modified the way the disassembler work, now even if there is a BRK it will continue to read the file until the end. The ASM part was really really haaarrddd.
Wow that was damn hard 😭. But the Home Menu is finally here 🎉. There is the logo (might change). The select file container with full navigation (folder, parent directory, file), Icon (require a Nerd Font) and Colors. The selected file path update in real time with the absolute path of the file. The start address automatically change if the file selected is a demo file (end with “_demo.bin”) to $C000. The start address it editable with Alpha numeric character (hexadecimal). And the emulation speed work ! There is control on the footer bar.
WOW already 30 hours ?! 😅 I now have added the home logo ! I also changed the step for the speed selection on Home Menu from 500 to 100 for each step
Little bug fix: Now when we select a file in the Home File Selector the filename appear in the Opcode container. I have also reorganize the tui.rs code !
WOW 4h 😅 I have done the full README.md, documentation about the screen, color palette and fix some little bugs.
WOW 35H 🎉 I have added a file : DemoProgram.md to show all the demo program
I have added a new program called HackClub Logo First, I have draw the hackclub logo in aseprite with a 32x32 pixel file using my custom color palette. Second, I have created a simple python script who take a .png in input and output ASM raw data for the image (using my color palette). Third, I have create a simple ASM program to print the logo on the screen !
I have been writing a LOT of documentation on how to create a 6502 ASM program, Screen documentation. And the project is now published in version 1.0.0 on Github and Cargo https://github.com/wirenux/Rust-6502 https://crates.io/crates/rust6502
Last devlogs before Ship #1 Wow 37h of work. I have made an Asciinema video, Youtube video and update the README.md Wish me luck !
Ok so… it’s been 8h40 . I have done a lot (I mean it’s logic it’s been 8h and 40 minutes) In time order I have done : Replace self.pc + 1 to self.pc.wrapping_add(1) so it’s like on the real 6502 if the current PC is $FFFF and you add 1 it will be $0000 . Added a panic hook, before when the program was crashing (for a bad ASM program by example) the terminal was still in RAW mode (so if you click, move the mouse etc… it will print a bunch of garbage number) but now it exit the raw mode in a clean way ! Remove unused import Change the start of the Stack Pointer to $1FFF Added a memory reset function Write a bunch of test programs Replace IPS (instruction per seconds) by Hz and MHz like in real life (so i’ve adapted the UI for the change) Now the disassembler disassemble the whole program (neat right ? ) using .len() . (yes before it was an hard-coded number Optimize the screen render method. Before I was refreshing the screen even if nothings has been changed, now i check if somethings have been changed to update the screen Added address of each “quarter” of the screen in the screen documentation Fixed foreground and background color of the Frequency selector (on the Home Screen) Write a program to test IRQ and NMI Keybinds the I and N key to IRQ and NMI Changed the Hello World program to be rainbow The emulator will look by it self to the reset vector ( $FFFC and $FFFD ) to set the PC at the correct address Added a force address toggle to… force the the start address When the force addr toggle is off you can’t modify the start Addr and it’s darker Every file or folder who start by a . (dot) is not shown in the file selector Moved the hackclub logo raw binary data to a .inc file Added a self crashing test program (Next time I might add a PS/2 keyboard emulation… )
YAY ! Now there is mouse control on the home screen, this mean that you can click every where to change the focus and in the file explorer you can double-click to open a folder and double-click to open a file directly, you can also with a simple click enable or disable Force Address Mode
Wow that was… difficult . But now there is a PS/2 keyboard Emulation ! The I/O port is map on $BFF0-$BBF2. The PS/2 keyboard work with 3 addresses $BFF0 : KBD_DATA $BFF1 : KBD_STATUS $BFF2 : KBD_ACK To activate to keyboard in the emulator you can press on the screen container and to exit it just click anywhere else ! (The number you can see in the memory viewer at $0000 is the code from different key !) Maybe next time I will create a program to see each letter
I want to create a ASM program who print the pressed key to the screen, and for that I need to create the font/image for each key. There is ~100 key . So here is the first one !
Now there is all the number & lower case letter (a-z) & and the Space bar icon !
Okay soo….. it’s been 4 hours and 35 minutes . I have done so much and not that much at the same time (I know it’s weird ) I have added a demo program who print the pressed character ! I have spend 2 hours on a little bug but yeah now it’s working ! So with the program I drew all the key on a PS/2 keyboard . I also fixed some little inattention problem in my code. I also created a little python script to help me convert .png drawing into raw .inc value ! ( Did you find the secret phrase ?)
Wow, just WOW. I have added a serial monitor, and Apple 1 OS Serial Monitor Here is the way the monitor work, you load character to $BFE0 like this : lda #'A' sta $BFE0 Then you run the program in the emulator like normal, then you open another terminal and you connect to localhost port 8080 using netcat nc like this : nc 127.0.0.1 8080 And now if you already launch the program, when you connect to localhost ( 127.0.0.1 is localhost) you will see a A in your terminal ! You can also type in the serial monitor ! Here is a code that show the number of characters typed by using the pixels in the 32x32 screen ! start: ldx #$FF txs ldx #$00 main_loop: bit $BFE1 bpl main_loop lda $BFE0 sta $BFE0 lda #WHITE_COLOR sta $0200, x inx jmp main_loop Apple 1 This is a very damn big part. To be short, I have recreated the Apple 1 OS (Wozmon) created by Steve Wozniak. In short I took the code given in the Apple 1 User Manual, modify it to use the Serial Monitor and Keyboard, fix some issue with the prompt. I can even run the classic program from the manual to print all the available characters. With Wozmon you can also write and read data from the memory so you can show some pixel on the screen ! Here is the program running and the serial monitor.
After 1h50 I have added a Snake demo program that use the PS/2 keyboard !!! I also make a demo program to test the Serial Monitor using netcat nc
Little update, I added a Program Counter (PC) input to move it in when running a program. I also added a cursor for the start input on the Home Screen !
Little update ! I have added tips in the settings menu. The change randomly using the UNIX Epoch value
New little update ! I have created a Python tools to create memory map for my emulator docs !
Here is what I have done in 2h 50 . First I wrote a lot of docs, for the keyboard, Serial Monitor, Wozmon etc… This was so boring . But at least now I will be ready to ship soon ! Second, I have fixed the Wozmon list content of address. Before when you was doing FF00.FFFF it was just showing the byte at $FF00 and the byte at $FFFF now it list all the byte between !
YAY Now rust6502 Version 1.1.0 is released ! On github with all the demo file and on crates.io / cargo !
v1.2.0 Here are the changes attached to this release : fix: a bug on windows, with ghost key press ( c3c6009 ) add: a Scroll bar on the file explorer ( 94b2abb )
I added the step-back function. It work by pressing “B”, it’s just rewinding the emulator up to 500 opcode. Only work when moving in step-by-step mode (with Enter)
Okay so… I have added the Breakpoint and the Watchpoint . When you set the breakpoint to $C00C the CPU will stop before running the instruction at $C00C. The watchpoint stop if a value at an address at been changed.
+1h 25 min ! Since the last time I have added the keybind panel. Where there is… all the keybinds I also remove the keybind on the footer to only get Keybind “K”
+ 1h35 ! This might be the last feature I add to Rust 6502. Since I ran out of idea and for me the project seem to be finished. Anyway, here are the things I added : A RNG address : $BFF3 . The program just read from it and get a random value via the Host computer ( 4feb4d8 ) A conditional breakpoint : A top bar in the Breakpoint popup to add a conditional breakpoint (like : If AC != 0F -> Break) ( 1b7bc81 )
+ 1h20 So… this might be the last devlog for this project. I just released the v1.3.0 . And here is what I added since the last devlog : A RNG documentation Snake now use a real RNG I recorded the Asciinema .cast file Update the python tools to generate memory diagrams Update the Memory documentation So next step is the 3rd Ship
Ships:
=== Rust 6502 === A legendary 8-bit CPU right in your terminal! 🦀 ᕙ( •̀ ᗜ •́ )ᕗ == What did you make ? == I built a fully functional emulator for the MOS 6502 (the microprocessor that powered the Apple II, Commodre 64, and the NES) from scratch using Rust ! Instead of a standard graphical window, I built a Terminal User Interface (TUI) using Ratatui. Here is what’s inside: Full CPU Emulation: Execute 6502 machine code with live register (AC, XR, YR, SP) and status flag tracking Virtual Screen: A 32x32 memory-mapped display ($0200-$05FF) rendered right in the terminal using Unicode Half-Block and a custom 16-color palette Live Disassembler & Hex Viewer: Watch the RAM change in real-time and see the raw binary machine code translated back into readable assembly instructions on the fly Built-in File Browser: A visual menu with Nerd Font icons to navigate your system and load compiled .bin ROMs Available on crates.io : You can download it via Cargo == What was challenging ? == The Disassembler: Writing a disassembler that parses raw .bin files is tricky because they don’t have headers. I ran into a massive issue where my image data (using the color byte $0A) was being read by the disassembler as infinite ASL A (Shift Left) instructions! I had to engineer a way for the disassembler to properly halt when it hit a BRK instruction so it wouldn’t try to execute my pixel art. Terminal UI Architecture: Designing a dashboard (hex grids, scrolling stacks, changing colors) required a really solid state-management architecture to keep the UI smooth and responsive while the CPU loop spins at thousands of instructions per second. == What are you proud of ? == I am proud of using this project to learn Rust in a fun way! ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ I’m also really proud that it’s officially published on crates.io, meaning anyone can install and run my emulator with a single command == What should people know so they can test your project ? == Note: A Nerd Font is recommended in your terminal emulator for a proper rendering of the UI icons on the Home page How to test: Install the emulator directly from crates.io by running: cargo install rust6502 Download all the .bin files on the GitHub Releases page. Launch the emulator by running rust6502 and use the built-in Home menu to select one of the demo .bin files! == Things to try == Load hackclub_logo_demo.bin to see the terminal render a 32x32 pixel art logo using 6502 assembly Load rainbow_demo.bin to watch a shifting color gradient animation directly manipulating video memory. Load helloworld_demo.bin to watch a centered Hello world message The Debugger: go to the Settings menu inside the TUI and slow down the CPU speed. Then watch the Memory Viewer and Disassembler track exactly what the code is doing in real-time!
=== Rust 6502 === A MOS 6502 emulator TUI with a lot of features ============================================ Before reading this Ship you should take a look at Ship #1 == What did you add ? == Here is a list of everything that I have added since the last Ship = Features = Serial Monitor : you connect to localhost:8080 using netcat. Useful for the Apple 1 OS or for debugging with text. The monitor can be used to display text but also to send text like a keyboard (useful for the Apple 1 OS) PS/2 Keyboard : a full PS/2 keyboard emulation (used in Snake) Use the UI with a Mouse: On the Home Menu and in the Emulator you can click on button, toggle, scroll, etc… Interrupt : IRQ & NMI Tips in the Settings Panel Modify speed with Hz & MHz (like a real 6502 chip) Reset Vector: The emulator will look at $FFFC & $FFFD to find the start address of the program (when the Force Address toggle is off) Set PC Address: keyboard shortcut to change the position of the PC (Program Counter) = Demo Program = Apple 1 OS (Wozmon) : I have modified the orginal Apple 1 code to fit my emulator, like Serial Monitor address, Keyboard etc… Snake : Just the Snake game ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ Keyboard Demo: Print every key press on the screen using a custom font Serial Monitor Demo: Show how the Serial Monitor works == What was challenging ? == The most challenging part of this 2nd ship was creating a Serial Monitor that works via a local port, and making a PS/2 Keyboard emulation. And of course, modifying the Apple 1 OS to make it work on this emulator ! (I was having a lot of bugs, so I rewrite a big part of the OS) ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ == What are you proud of ? == I am really proud of my self for the implementation of the Serial monitor that run on different CPU thread than the emulator itself and the fact that it work via the local network. And beyond everything the fact that my emulator can run : games, utility and the Apple 1 OS !!! ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ I’m also really proud that it’s officially published on crates.io. == What should people know so they can test your project ? == Note: A Nerd Font is recommended in your terminal emulator for a proper rendering of the UI icons on the Home page How to test: Install the emulator directly from crates.io by running: ================== cargo install rust6502 Download all the .bin files on the GitHub Releases page. Launch the emulator by running rust6502 and use the built-in Home menu to select one of the demo .bin files! == Things to try == Load snake_demo.bin to play at a classic game using the 32x32 screen and the PS/2 keyboard emulation Load wozmon.bin to use the Apple 1 OS ! You should see the documentation related to Wozmon : https://github.com/wirenux/Rust-6502/blob/main/AppleI.md Load keyboard_demo.bin to see every key you press show up on the 32x32 screen using a custom font The Debugger: go to the Settings menu inside the TUI and slow down the CPU speed. Then watch the Memory Viewer and Disassembler track exactly what the code is doing in real-time!
Rust 6502 A MOS 6502 emulator TUI with a lot of features Before reading this Ship you should take a look at Ship 1 & Ship 2 What did you add ? Here is a list of everything that I have added since the last Ship Features Breakpoints : press “F” to set a breakpoint at any address, the emulator halts the moment PC reaches it Watchpoints : same idea, but for memory Conditional Breakpoints : halt execution when a register (AC, XR, YR, SP) meets a comparison (!=, ==, >=, <=, >, <) against a target value Step Back : press “B” to rewind execution one instruction at a time, restoring the CPU and memory exactly as they were before Random Number Generator : a memory-mapped register at $BFF3 that returns a random byte from the host PC on every read, so ASM programs can have real random number Keybind Panel : a popup listing every keyboard shortcut and control, and removed the old footer keybind list to make room for it Demo Program Snake : updated to pull apple placement from the new RNG instead of the old pseudo random method ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ What was challenging ? Wiring the conditional breakpoint into the run loop without breaking the existing breakpoint/watchpoint checks was harder than I though. Also getting a dropdown-style menu to choose the operator working in Ratatui was tought since there’s no native dropdown widget. So I ended up building a little spinner (▲ value ▼) that cycles through the operators instead ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ What are you proud of ? I’m proud that my emulator now has real debugging tools like : breakpoints, watchpoints, conditional breakpoints, and step-back. What should people know so they can test your project ? A Nerd Font is recommended in your terminal for a better rendering of the UI icons on the Home page How to test: Install the emulator directly from crates.io by running: cargo install rust6502 Download all the .bin files on the GitHub Releases page. Launch the emulator by running rust6502 and use the built-in Home menu to select one of the demo .bin files! Things to try Load snake_demo.bin and play :D Set a breakpoint on an address inside a demo program (check the keybind panel for the shortcut!) and watch execution halt exactly there Try a conditional breakpoint : for example, halt whenever XR == 0F and watch it stop right when the register hits that value Press “B” to step backward and rewind the CPU state instruction by instruction Press the keybind panel shortcut to see the full list of controls...
|
1792979591.720019
|
1793065991.720019
|
|
34331
|
Chess by @Pery | Stardance
|
Pery
|
3
|
8.28
|
89
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T16:30:12Z", "hours": 1.0, "multiplier": 7.92, "payout": 11, "blessing": "neutral", "text": "New update is donee! in feedback prompt tell me what to add/fix!", "repo": "https://github.com/davidperyro-stack/chess", "demo": "https://davidperyro-stack.github.io/chess/index.html"}, {"ship_num": 2, "ts": "2026-08-30T21:53:16Z", "hours": 1.0, "multiplier": 13.96, "payout": 12, "blessing": "neutral", "text": "Update finally done :D PLEASE in your feedback prompt say what should i add next or what to fix. pieces move by clicking on them right now. (im on my phone so i cant get a picture of the site on this)", "repo": "https://github.com/davidperyro-stack/chess", "demo": "https://davidperyro-stack.github.io/chess/index.html"}, {"ship_num": 3, "ts": "2026-07-23T23:09:10Z", "hours": 6.0, "multiplier": 11.29, "payout": 66, "blessing": "neutral", "text": "PROJECT FINALLY DONE. added the files and ranks name too!!! More updates will come soon!", "repo": "https://github.com/davidperyro-stack/chess", "demo": "https://davidperyro-stack.github.io/chess/index.html"}]...
|
[{"post_id": 60764, "ts": "202 [{"post_id": 60764, "ts": "2026-09-03T11:04:21Z", "hours": 0.2783, "text": "devlog 4.1# This wont end but whatever… Ive changed the FIRST THING TO DO (the most important and life changing modification) WAS changing the background to a darker purple."}, {"post_id": 60277, "ts": "2026-09-02T15:29:24Z", "hours": 0.7733, "text": "devlog 3.2# Came back with a new update!!!! Ive fixed the problem with the pieces when grabbing them goes BIGGGGGGGG, and besides that ive re-added the legal moves indicator. A slighty bigger update was that NOW theres sound. 8-bit sounds like but i think its kinda unique other than using the normal pieces sounds like how the popular chess sites uses (chess.com/lichess.org)"}, {"post_id": 59204, "ts": "2026-08-31T21:13:12Z", "hours": 0.5539, "text": "devlog 3.1# Good news and bad news, the pieces are now draggable. bad news the pieces when you grab it, its big as my head"}, {"post_id": 58394, "ts": "2026-08-30T19:58:47Z", "hours": 0.3756, "text": "devlog 2.2# Came back to this project to update it after making other projects. (aka, i forgot about this :P). What ive added? Well ive removed and added at the same time. I removed the analyze board because i couldnt find a way to make it better. I added a popout that shows up when you change difficulty"}, {"post_id": 40642, "ts": "2026-08-04T10:07:59Z", "hours": 0.4731, "text": "devlog 2.1# Came back to update the project. One of the reviews said that i have to make the bot “think” for few seconds (added to wait for 1.5 seconds) and an other one to make the bot easier by changing the bot. Im not changing the bot but adding the chance of the bot making mistakes. (easy = 0.50 ; medium = 0.15 ; hard = 0.05). Somebody said that the board is too basic and it doesnt work, YOURE A LIAR. THE BOARD WORKS AND THE BOARD IS A CHESS BOARD, WHAT DO YOU WANT TO EXPECT?"}, {"post_id": 33756, "ts": "2026-07-23T22:29:55Z", "hours": 1.0669, "text": "devlog 7# total suffering. but HEY! finally added analysis board, its not really similar to lichess,chess.com or whatever is there. but it does work! im about to add now files and ranks (a-h) and (1-8) on the side the board"}, {"post_id": 33682, "ts": "2026-07-23T20:01:13Z", "hours": 1.3056, "text": "devlog 6# Day 3 of making chess. PROJECT IS ALMOST DONEE!!!!! Fixed stockfish. Now it moves. added difficulties and move highlight. nothing else to say right now…"}, {"post_id": 33227, "ts": "2026-07-22T22:59:51Z", "hours": 0.9286, "text": "devlog 5# New things added and bugs fixed!!!!! added a circle that shows legal captures. checkmate message and square highlight when its check. Now i will start adding a bot,i have 2 options, minimax or stockfish…. prob i will go with stockfish. but now i have to see whats minimax and whats good for this! Soon i will add more messages (such as stalemate,repetition move draw,50 rule move draw) and analyze tab."}, {"post_id": 33118, "ts": "2026-07-22T18:53:17Z", "hours": 0.5578, "text": "devlog 4# Good news and bad news. Made the pieces move legal. added legal move highlights. fixed the selected piece highlight (i didnt show at devlog 3# but the selected piece highlight it showed only the upper part and the left part of the square). The bad news is that when its blacks turn and you press white pieces accidentaly,you cant do anything…."}, {"post_id": 33080, "ts": "2026-07-22T17:41:33Z", "hours": 0.8708, "text": "devlog 3# Day 2 of making chess. right now (thanks to youtube and little help from AI) i added the pieces and put them in their place. now i have to make them move. from what i saw (and what chatgpt said) i can make them move with many lines of code (something manual) or with a help of chess.js. Asked AI whats the best and they said that its good with chess.js. Also i added an outline of the square you press/select. My plan right now for this project is: -making the pieces work and move, IN LEGAL WAY. -adding bot/stockfish with diffrent levels -tab to analyze your games -probally like in chess.com/lichess.org,adding a “papersheet” of the moves that happen in the board"}, {"post_id": 32313, "ts": "2026-07-21T12:24:57Z", "hours": 0.5053, "text": "devlog 2# Finally made the chessboard (prob i will change the color,idk) SPECIAL THANKS FOR LICHESS FOR HAVING A GITHUB FOLDER WITH ALL THEIR PIECES!!!!!!!!!!!! Now i have to set them up. like put them in their places."}, {"post_id": 32289, "ts": "2026-07-21T11:15:12Z", "hours": 0.6369, "text": "devlog 1# Trying to make chess. things i would add to this is: -Board (of course) -Pieces (of course 2x) -coordonates -working bot to play with -diffrent dificulties of the bot (more ideas will come soon!!!) Right now im working on the first one from the list (board). PLEASE DONT SAY ANYTHING THAT I USE OPERA GX. IM LAZY TO CHANGE BROWSERS"}]...
|
Title: Chess by @Pery | Stardance
Devlogs:
devlog Title: Chess by @Pery | Stardance
Devlogs:
devlog 1# Trying to make chess. things i would add to this is: -Board (of course) -Pieces (of course 2x) -coordonates -working bot to play with -diffrent dificulties of the bot (more ideas will come soon!!!) Right now im working on the first one from the list (board). PLEASE DONT SAY ANYTHING THAT I USE OPERA GX. IM LAZY TO CHANGE BROWSERS
devlog 2# Finally made the chessboard (prob i will change the color,idk) SPECIAL THANKS FOR LICHESS FOR HAVING A GITHUB FOLDER WITH ALL THEIR PIECES!!!!!!!!!!!! Now i have to set them up. like put them in their places.
devlog 3# Day 2 of making chess. right now (thanks to youtube and little help from AI) i added the pieces and put them in their place. now i have to make them move. from what i saw (and what chatgpt said) i can make them move with many lines of code (something manual) or with a help of chess.js. Asked AI whats the best and they said that its good with chess.js. Also i added an outline of the square you press/select. My plan right now for this project is: -making the pieces work and move, IN LEGAL WAY. -adding bot/stockfish with diffrent levels -tab to analyze your games -probally like in chess.com/lichess.org,adding a “papersheet” of the moves that happen in the board
devlog 4# Good news and bad news. Made the pieces move legal. added legal move highlights. fixed the selected piece highlight (i didnt show at devlog 3# but the selected piece highlight it showed only the upper part and the left part of the square). The bad news is that when its blacks turn and you press white pieces accidentaly,you cant do anything….
devlog 5# New things added and bugs fixed!!!!! added a circle that shows legal captures. checkmate message and square highlight when its check. Now i will start adding a bot,i have 2 options, minimax or stockfish…. prob i will go with stockfish. but now i have to see whats minimax and whats good for this! Soon i will add more messages (such as stalemate,repetition move draw,50 rule move draw) and analyze tab.
devlog 6# Day 3 of making chess. PROJECT IS ALMOST DONEE!!!!! Fixed stockfish. Now it moves. added difficulties and move highlight. nothing else to say right now…
devlog 7# total suffering. but HEY! finally added analysis board, its not really similar to lichess,chess.com or whatever is there. but it does work! im about to add now files and ranks (a-h) and (1-8) on the side the board
devlog 2.1# Came back to update the project. One of the reviews said that i have to make the bot “think” for few seconds (added to wait for 1.5 seconds) and an other one to make the bot easier by changing the bot. Im not changing the bot but adding the chance of the bot making mistakes. (easy = 0.50 ; medium = 0.15 ; hard = 0.05). Somebody said that the board is too basic and it doesnt work, YOURE A LIAR. THE BOARD WORKS AND THE BOARD IS A CHESS BOARD, WHAT DO YOU WANT TO EXPECT?
devlog 2.2# Came back to this project to update it after making other projects. (aka, i forgot about this :P). What ive added? Well ive removed and added at the same time. I removed the analyze board because i couldnt find a way to make it better. I added a popout that shows up when you change difficulty
devlog 3.1# Good news and bad news, the pieces are now draggable. bad news the pieces when you grab it, its big as my head
devlog 3.2# Came back with a new update!!!! Ive fixed the problem with the pieces when grabbing them goes BIGGGGGGGG, and besides that ive re-added the legal moves indicator. A slighty bigger update was that NOW theres sound. 8-bit sounds like but i think its kinda unique other than using the normal pieces sounds like how the popular chess sites uses (chess.com/lichess.org)
devlog 4.1# This wont end but whatever… Ive changed the FIRST THING TO DO (the most important and life changing modification) WAS changing the background to a darker purple.
Ships:
PROJECT FINALLY DONE. added the files and ranks name too!!! More updates will come soon!
Update finally done :D PLEASE in your feedback prompt say what should i add next or what to fix. pieces move by clicking on them right now. (im on my phone so i cant get a picture of the site on this)
New update is donee! in feedback prompt tell me what to add/fix!...
|
1792994137.873782
|
1793080537.873782
|
|
35806
|
Planet Viewer 3D by @colgation | Stardance
|
colgation
|
3
|
8.0
|
113
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T08:29:14Z", "hours": 3.0, "multiplier": 15.64, "payout": 48, "blessing": "neutral", "text": "I made a 3D Planet Viewer that features 5 whole unqiue planetary systems fully rendered in 3d planet by planet, with a nebula 3d background. Every single planet has a arduously made information panel, and a help section can be found on the bottom right of each page. Additionally, I experimented with CSS animations as well as a randomly generating constellation home screen!", "repo": "https://github.com/194500-cpu/APOD", "demo": "https://194500-cpu.github.io/APOD/"}, {"ship_num": 2, "ts": "2026-09-20T03:11:48Z", "hours": 4.0, "multiplier": 12.46, "payout": 65, "blessing": "neutral", "text": "I made a 3d planet viewer fully equipped with 3 differnet planetary systems that runs on browser! It uses parameters in the the link to pass variables across pages, and has a nebula background that rotates alongside the camera. Planets can be zoomed in on and rotated. Alongside this, each individual planet has a description of itself and some statistics. I hope all of you learn something useful from this project and are amazed by the 3d models! -Colgation", "repo": "https://github.com/194500-cpu/APOD", "demo": "https://194500-cpu.github.io/APOD/"}, {"ship_num": 3, "ts": "2026-09-15T08:55:31Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a 3d Planet displaying website, that shows realistic interactive models of the 8 planets using three js. It it fully deployed on github pages, and has clean minimalistic UI and a next button with JS that reacts to the mouse clicking and hovering above it.", "repo": "https://github.com/194500-cpu/APOD", "demo": "https://194500-cpu.github.io/APOD/"}]...
|
[{"post_id": 71664, "ts": "202 [{"post_id": 71664, "ts": "2026-09-21T08:24:01Z", "hours": 0.4797, "text": "Finished the dedicated help panel. What was really hard was getting the parameters with js including all the planet, solar system and etc. I ended up having to bulk up the code on each page in order to do this, but it turned out great."}, {"post_id": 71656, "ts": "2026-09-21T07:53:28Z", "hours": 0.3108, "text": "Added a button to remove info, in order to increase UX for mobile/small screen users. I also added a constellation background. Shipping soon! In JS, the main thing I tried to do was a smooth transition. On top of other complications, hiding and showing the box started to break its location, so I had to learn a bit more about flex boxes."}, {"post_id": 71651, "ts": "2026-09-21T07:35:13Z", "hours": 0.8006, "text": "Huge CSS upgrade for the index.html, I had an original idea of a tree, however it came out like this: (a timeline/distance measuring like line) I accidentally moved the cards above the line, which ended up looking even better, so I kind of improved it unintentionally like the time a person accidentally invented chocolate chip cookies."}, {"post_id": 71640, "ts": "2026-09-21T06:38:15Z", "hours": 0.3572, "text": "Added over 7 new textures, for two whole systems. I will now enter some information for each one. My next move will be further cleaning UI. It was a pain to source rectangle sheets for these planets, as real photographs do not exist yet for many exoplanets. It took me some time to decide on an impression that I found reasonable and enjoyed."}, {"post_id": 71526, "ts": "2026-09-21T00:27:42Z", "hours": 0.2539, "text": "Added two more systems, expect planet textures in the next devlog. Tau Ceti and 55 Cancri were chosen because of either their iconic portrayal in movies or high likelihood of confirmed planets. I enjoyed getting to finally just add more content to the site."}, {"post_id": 71476, "ts": "2026-09-20T21:55:56Z", "hours": 0.3339, "text": "Added a new system and managed to fix the seams in the nebula. I took in the feedback from the previous ship and hope to use it as a springboard into further polishing and developing my project."}, {"post_id": 70955, "ts": "2026-09-20T03:07:47Z", "hours": 0.2744, "text": "Final log before ship: added Desktop and mobile support, alongside final fixes and reviews. I made a good readme, and plan on shipping very soon. Below is a snapshot from accessing the site on desktop"}, {"post_id": 70945, "ts": "2026-09-20T02:46:22Z", "hours": 0.3981, "text": "Added info and 3d rendering of each planet, cleaned up href links with document even listeners. Planning on polishing css and shipping! In terms of the Alpha Centauri System, I have only included Proxima Centauri b as a test, but the other two planets are candidates and not confirmed yet, thus they will nto be added yet to the final project."}, {"post_id": 70929, "ts": "2026-09-20T01:58:10Z", "hours": 0.585, "text": "Got the images for all the Trappist 1 planets. I am planning on adding the Alpha Centauri system soon, once I fix the params system."}, {"post_id": 70251, "ts": "2026-09-18T20:10:35Z", "hours": 0.2847, "text": "Added images in place of generic text, removed background to match the style of catalog. I am planning on using these systems as a starting point and add more later."}, {"post_id": 70244, "ts": "2026-09-18T19:42:57Z", "hours": 0.4958, "text": "With some help, I was able to create the outline for the System selection. It uses basic css and manual placing to create the tree, though I might replace it."}, {"post_id": 69863, "ts": "2026-09-17T23:02:09Z", "hours": 0.3158, "text": "Lots of UI cleanup and now planning to expand into other Planetary Systems. Possibly will add stars/asteroids. A key change for the catalog “menu” was to remove the card like background, making the UI much cleaner."}, {"post_id": 69856, "ts": "2026-09-17T22:39:05Z", "hours": 0.735, "text": "Added a description and information (all hand typed and researched) for Mercury and Venus. Hoping to get the rest done within a hour. (Probably will end up using AI to help me write out the stats, so I can work on bigger features)"}, {"post_id": 69039, "ts": "2026-09-16T08:20:04Z", "hours": 0.55, "text": "Lots of attempts at trying to render the planet in the center of the screen. I first tried making the back button margin top larger, but it didn’t work, as the three.js ignores this. I ended up changing the camera position in order to move the planet up, without breaking the system of being able to rotate the planet with your mouse."}, {"post_id": 68793, "ts": "2026-09-15T19:20:23Z", "hours": 0.665, "text": "Created a catalog viewer that displays all planets nicely. I separated the website into two pages: catalog and 3d Viewer. Alongside that, I am planning to expand beyond our solar system and add more planets!"}, {"post_id": 68536, "ts": "2026-09-15T08:43:41Z", "hours": 0.2664, "text": "All planets have been added! I used a smart system that imports a png rectangle texture and wraps it around a colorless sphere."}, {"post_id": 68524, "ts": "2026-09-15T08:18:10Z", "hours": 0.2564, "text": "Made a next button with slight help of w3schools, which reacts to clicks and mouse hovering."}, {"post_id": 68521, "ts": "2026-09-15T08:01:11Z", "hours": 0.3014, "text": "Here is the beginning of my website, which will have the 8 planets in a 3d rotatable format."}, {"post_id": 68513, "ts": "2026-09-15T07:38:49Z", "hours": 0.2506, "text": "Started up the Github page! API errors, but I will try to fix that…"}]...
|
Title: Planet Viewer 3D by @colgation | Stardance
Title: Planet Viewer 3D by @colgation | Stardance
Devlogs:
Started up the Github page! API errors, but I will try to fix that…
Here is the beginning of my website, which will have the 8 planets in a 3d rotatable format.
Made a next button with slight help of w3schools, which reacts to clicks and mouse hovering.
All planets have been added! I used a smart system that imports a png rectangle texture and wraps it around a colorless sphere.
Created a catalog viewer that displays all planets nicely. I separated the website into two pages: catalog and 3d Viewer. Alongside that, I am planning to expand beyond our solar system and add more planets!
Lots of attempts at trying to render the planet in the center of the screen. I first tried making the back button margin top larger, but it didn’t work, as the three.js ignores this. I ended up changing the camera position in order to move the planet up, without breaking the system of being able to rotate the planet with your mouse.
Added a description and information (all hand typed and researched) for Mercury and Venus. Hoping to get the rest done within a hour. (Probably will end up using AI to help me write out the stats, so I can work on bigger features)
Lots of UI cleanup and now planning to expand into other Planetary Systems. Possibly will add stars/asteroids. A key change for the catalog “menu” was to remove the card like background, making the UI much cleaner.
With some help, I was able to create the outline for the System selection. It uses basic css and manual placing to create the tree, though I might replace it.
Added images in place of generic text, removed background to match the style of catalog. I am planning on using these systems as a starting point and add more later.
Got the images for all the Trappist 1 planets. I am planning on adding the Alpha Centauri system soon, once I fix the params system.
Added info and 3d rendering of each planet, cleaned up href links with document even listeners. Planning on polishing css and shipping! In terms of the Alpha Centauri System, I have only included Proxima Centauri b as a test, but the other two planets are candidates and not confirmed yet, thus they will nto be added yet to the final project.
Final log before ship: added Desktop and mobile support, alongside final fixes and reviews. I made a good readme, and plan on shipping very soon. Below is a snapshot from accessing the site on desktop
Added a new system and managed to fix the seams in the nebula. I took in the feedback from the previous ship and hope to use it as a springboard into further polishing and developing my project.
Added two more systems, expect planet textures in the next devlog. Tau Ceti and 55 Cancri were chosen because of either their iconic portrayal in movies or high likelihood of confirmed planets. I enjoyed getting to finally just add more content to the site.
Added over 7 new textures, for two whole systems. I will now enter some information for each one. My next move will be further cleaning UI. It was a pain to source rectangle sheets for these planets, as real photographs do not exist yet for many exoplanets. It took me some time to decide on an impression that I found reasonable and enjoyed.
Huge CSS upgrade for the index.html, I had an original idea of a tree, however it came out like this: (a timeline/distance measuring like line) I accidentally moved the cards above the line, which ended up looking even better, so I kind of improved it unintentionally like the time a person accidentally invented chocolate chip cookies.
Added a button to remove info, in order to increase UX for mobile/small screen users. I also added a constellation background. Shipping soon! In JS, the main thing I tried to do was a smooth transition. On top of other complications, hiding and showing the box started to break its location, so I had to learn a bit more about flex boxes.
Finished the dedicated help panel. What was really hard was getting the parameters with js including all the planet, solar system and etc. I ended up having to bulk up the code on each page in order to do this, but it turned out great.
Ships:
I made a 3d Planet displaying website, that shows realistic interactive models of the 8 planets using three js. It it fully deployed on github pages, and has clean minimalistic UI and a next button with JS that reacts to the mouse clicking and hovering above it.
I made a 3d planet viewer fully equipped with 3 differnet planetary systems that runs on browser! It uses parameters in the the link to pass variables across pages, and has a nebula background that rotates alongside the camera. Planets can be zoomed in on and rotated. Alongside this, each individual planet has a description of itself and some statistics. I hope all of you learn something useful from this project and are amazed by the 3d models! -Colgation
I made a 3D Planet Viewer that features 5 whole unqiue planetary systems fully rendered in 3d planet by planet, with a nebula 3d background. Every single planet has a arduously made information panel, and a help section can be found on the bottom right of each page. Additionally, I experimented with CSS animations as well as a randomly generating constellation home screen!...
|
1792857011.7737627
|
1792943411.7737627
|
|
36065
|
SpacecraftOS by @madzia | Stardance
|
madzia
|
3
|
81.0
|
1072
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T21:32:08Z", "hours": 49.0, "multiplier": 18.53, "payout": 914, "blessing": "neutral", "text": "I made a web Operating System with spacecraft theme! Creating this site was so fun and fulfilling, esp. when a lot of things turned out exactly as I wanted!! I started coding over a month ago, and I’m so happy that I managed to create something like this. I really enjoyed it, especially the css part. SpacecraftOS This OS provides basic app like timer, calendar, maps, gallery, but everything have implemented some spacecraft additions. For example, the map app won’t show you the route to the nearest grocery store, but it will show you where your fav spacecraft is right now. The calendar app will show you astronauts birthdays and the gallery app provides photos humans sent to space on voyager. All these apps you will find on the left and on the bottom there are apps, where you’ll learn about various spacecrafts, and in some of these apps, you can also rate some photos the spacecrafts took! Notes Please start from choosing the most suitable for you theme in the settings (top right corner) Try on laptop/computer for better experience Snake game is only playable with keyboard Remember to double click on apps to open and please leave a toughtful review. Hope you’ll enjoy it!!", "repo": "https://github.com/Maaadzia/SpacecraftOS", "demo": "https://maaadzia.github.io/SpacecraftOS/"}, {"ship_num": 2, "ts": "2026-08-08T18:29:17Z", "hours": 16.0, "multiplier": 9.79, "payout": 158, "blessing": "neutral", "text": "I made an Operating System with spacecraft theme! New features Artemis App Artemis II playlist (app) Settings and darkmode Design - few images on the windows borders Start animation with spacecraftOS baner Challenges Compared to my previous ship, this time all functions and styling went smoothly, but the things that took the most time were adjusting photos and writing, researching about Artemis Mission! I tought that making the darkmode switch would be really hard, but when I focused it was really easy and rewarding process! Proud of I really like the starting animation and the images on the borders. I started coding one month ago so doing something cool with the css all by yourself is so fulfilling! I don’t understand js that much yet, so I had also watched few tutorials. The webOS 1 tutorial was really hard for me, so now I’m really happy when the things I wanted to add to my website turns out well! So I’m also really proud of the images slider in the Artemis App, the spotify playlist embedded and the dark/light mode switcher in the settings! Even tho they were made with tutorials I still needed to adjust it so it fits my site, and I’m so happy that I understand it to the point that I could do this all just by myself Notes Don’t forget to check the README, remember to double click to open apps and just enjoy the vojage!!", "repo": "https://github.com/Maaadzia/SpacecraftOS", "demo": "https://maaadzia.github.io/SpacecraftOS/"}, {"ship_num": 3, "ts": "2026-07-31T11:31:13Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an operating system based around spacecrafts! My website provides few apps: two about telescopes where you can learn about them and rate few photos they took from 1 to 5 stars, and one with notes, where you can store your ideas if some spacecrafts inspire you! Besides apps, on the top bar you will find two guides on how to catch the ISS and starlink satellites. In the ISS window you can find short youtube video - it’s about Polish astronaut, Sławosz Uznański, eating pierogi (delicious polish dish) on the ISS! I really recommend watching this The apps were the biggest challange for me. That’s why I had spent so many hours on this project. Firts, I couldn’t even open the first app. It was hard to even make the selected function work. Then, I managed to make this one app working! But, it wasn’t the right solution. When I added new apps, they were opening the 1st app window, and not theirs. I spent a lot hours trying to fix it, I tried a lot of possible solutions and finally, I had asked ai for help. That’s the only ai usage in this project. Eventually, everything works! I’m so happy because I’ve almost gave up. I really like the outcome, and I look forward for the future changes! I came up with a lot of ideas and I realised them the exact way I wanted! My favourite parts are def the Sławosz eating pierogi video and the photo ranking which I find so fun to watch and rate. Hope you’ll enjoy this as much as I do!", "repo": "https://github.com/Maaadzia/SpacecraftOS", "demo": "https://maaadzia.github.io/SpacecraftOS/"}]...
|
[{"post_id": 61784, "ts": "202 [{"post_id": 61784, "ts": "2026-09-04T21:11:45Z", "hours": 0.2711, "text": "Scrollbar is working!! Devlog 24 - scrollbar bug Guys I think that this bug was (is) my personal fault, bc the scroll bar is visible in every single browser different than my current one lol I probably have some sort of extension that adds none !important or sth to my code’s head and it ruins everything, but it shall work on every other device, on every other browser. Tbh I also used ai to fix it but it didn’t really helped bc it was my internal problem. So happy that it’s working, just wanted to clarify and log these 16min!! If any problems with scrollbar occur, please use keyboard arrows to scroll through windows Again, thanks for reading and have a nice day!"}, {"post_id": 61753, "ts": "2026-09-04T20:12:54Z", "hours": 3.7797, "text": "happy and frustrated Devlog 23 - Dock animation, scrollbar and NGRSTApp Dock Animation I really like this animation!! It’s so smooth and cool and I’m so happy bc I learned new thing with the tutorial!! It came out exactly as I wanted NGRSTApp It’s finally finished!! I managed to add some things regardless it’s such a fresh mission. Hope yall like it! Scrollbar Yeah so here’s the frustrating part. I coded really pretty, unique and practical scrollbar in the css but I used webkit and it worked on microsoft but on chrome - not anymore! You can’t even see the scrollbar! I don’t have time anymore - I’m leaving in few hours, I commented it out and I hope I’ll fix it one day Additional changes Rewrited README Added some events to the calendar What’s next? I’m gonna ship now!! Wish me luck and thank you all for your support throughout the whole voyage!!"}, {"post_id": 61421, "ts": "2026-09-04T10:10:39Z", "hours": 1.5053, "text": "Which one should I choose? Devlog #22 - Timer So I just made a timer with tutorial, but I need your help!! Should I keep miliseconds (slide 2) or keep it simple just with hours/minutes/seconds?? I kinda think that h/m/s looks better but it also seems so boring and less “advanced” than h/m/s/ms!! Also this was such an easy tutorial, fortunately everything went smoothly!! Yall probably know bro code but if someone wants here’s the link What’s next? Dock animation NGRSTApp Thanks for reading and I’m waiting for your comments!"}, {"post_id": 61029, "ts": "2026-09-03T18:44:03Z", "hours": 1.9033, "text": "I’m back!! Devlog #21 - new colors Hi everyone! I’m finally back but from hospital… right after my trip I was diagnosed with severe anemia and had to stay in the hospital for four days. I’m feeling good but I’m a little worried bc I lost so much time and I’m leaving on next trip again in few days!! There’s not many things left in SpacecraftOS tho, so let’s summarise it What’s new? In the video below you can see that I adjusted the calendar colors for every theme. It was such a fun process! I like how it looks now. I also managed to fix the days align and now it works perfectly, always in 7 columns. Hope yall like it! What’s next? I’m going to work on dock animation!! I also need to finish NGRSTApp but I think I’m going to keep it simple bc I don’t have so much time and I want to ship by the time I leave Thanks for reading, take care and have a nice day!!"}, {"post_id": 53999, "ts": "2026-08-24T18:45:12Z", "hours": 5.9797, "text": "Reallyyyyyyy time consuming Calendar Devlog #20 - Calendar So I spent this whole day coding this calendar with youtube tutorial. This tutorial was only 17min but it took me 5h Then I needed to fix some typos bc I ofc made a lot and then many many styling!! It’s not the final result! I’m going on a trip tomorow, so I need to take a break from coding. To adjust the width and height, make it all fit to my site, it takes so long, and then I need to change the colors, bc I was just testing with the pinks. Change colors to all of my themes 😭 But it’s okay I got this Disappointing surprise You can see in the video on the second slide that there are 6 columns in the next month instead of 7! I’ve been so happy bc it was working in august, and then I changed months and it was a little disappointing surprise. I’m gonna fix it later! What’s next? When I’ll be back I’m going to work on this app! I didn’t expected it to be that hard Thanks for reading and see you in the next one!"}, {"post_id": 53260, "ts": "2026-08-23T18:20:43Z", "hours": 1.9378, "text": "More Animatiooons! Devlog #19 Animations on scroll Animations So recently I’ve been working on animations on scroll! Now my Apps about spacecrafts are more interactive and less boring. In the video below you can see all of the scroll animations I’d added till this moment. I feel so confident with css animations, they give me so much fun!! Icon The video is cropped so you can’t see the snake game icon but it finally is here! I added it in the second slide so you guys can see it! Let me know what yall think. I wanted to keep the one real-life, space themed addition (like moon in the music app) so the snake has galaxy eyes. Nancy Grace Roman Space Telescope PROBLEM As you can see I also added an icon for NGRST App but it’s an upcoming mission and I don’t really know what to do with it!! Someone requested it in the feedback, so I really want to implement it but idk, maybe I shall add a countdown? But it will be outdated soon. Many things can be outdated! Thanks for reading and have a nice day!"}, {"post_id": 52482, "ts": "2026-08-22T16:55:00Z", "hours": 0.6842, "text": "The most spacecraft app on spacecraft os? Devlog #18 - MapApp!!! ALL SPACECRAFTS IN ONE PLACE WHAT AN AMAZING FEATURE!! What’s new? MAAAP AAAPP While doing research on Voyager 1 and 2 I found this “Eyes On The Solar System” from NASA, and noticed that you can embeed it, and that’s what I’ve done! First and foremost, you can check here the position of any spacecraft you want! That’s why I called it Map App. Moreover, that’s a place with a lot of information, and whole spacecraft history! As you can notice, it didn’t take me so long (bc it’s just embeeding), so what I’ve also completed? Fixed some bugs Finished icon for snake game What’s next? NGRST app! (Can someone guess, what does this short stand for? Hint: HST and JWST are already in spacecraftOS!)"}, {"post_id": 52183, "ts": "2026-08-22T08:40:35Z", "hours": 3.7939, "text": "Perfecting Devlog #17 - snake game and organisation What’s new? Snake game As you can see, I’ve styled the snake game a little! I also added start/tutorial/guide window, I added it by creating new window and setting start button as the window close button hihi work smarter not harder. Ai usage I couldn’t figure it out how can I set imgs as the background, food and even for snake, so I asked ai. It’s just creating const with img and adding drawImage instead of fillStyle , and I’m so happy bc now I understand it and know how to implement imgs to js! WHERE’S THE ROCKET? It was too hard!! I really tried, but when I managed to set the rocket as the snake’s head: The rocket was too small It wasn’t rotating It looked so bad and if I wanted to continue with this idea I would need to use ai, so more ai than I would like, so I eventually there’s snake in the snake game. More organisation I created folders in the img folder for each app, bc the img folder was still a little messy. It was such a tedious process, but it’s much clearer now! What’s next? New REALLY COOL APP and snake app icon, which I’m going to edit today while watching F1 sprint"}, {"post_id": 51083, "ts": "2026-08-20T15:53:26Z", "hours": 2.6117, "text": "Random decision (but it was worth it) Devlog #16 - Radio buttons and styles What’s new? Radio buttons In my feedback someone suggested to add radio buttons instead of checkboxes bc then you can just choose one - and today I did it! I also styled it and added cool animation!! Each theme have different stars colors as well - you can check it in the video below. Highscore Somehow, I also added highscore to my snake game! I took a bit of information from tutorial 1 a bit from tutorial 2 and it’s working! Maybe not perfectly, but when you restart, new highscore will be visible, and it’s also in local storage so you can come back after a month and your highscore still will be there!! So, why random? It was a little unexpected bc I was working on the snake game (yeah it’s still not finished) and suddenly I gained a lot of motivation for the radio buttons. I knew I wanted to style them somehow, but I came up with the star design today, and I think it’s perfect!! What yall think about it?? What’s next? Hopefully, I’m going to finish the snake app!"}, {"post_id": 50531, "ts": "2026-08-19T18:36:40Z", "hours": 6.595, "text": "Such a challange! Devlog 15 - snake game Snake game? Yeah I’m surprised too. But I really wanted to see how it works and just code sth like this (with tutorial ofc). I wanted to make it a little later but I had time today and decided - why not? Okay but, 6 hours?!??!?!?!?!? Yeah 😭 in short, I started with tutorial 1, but it didn’t worked, so I deleted everything and switched to another tutorial, where I realised that I just haven’t connected my snake.js to html lolll but anyways, I even liked tutorial 2 more, I feel like it gave me more styling options, but I needed to quit it because to restart you needed to refresh the site. I tried to just implement some functions, change some things but I’m not that skilled to do this yet. I deleted everything again and came back to tutorial 1 which I eventually completed! That’s not the final results I really want to make the snake head a rocket thats collecting fuel, but there are some problems!! Obviously lol, so I have something like this const snakeColor = \"pink\"; and I tried to change pink to class, to var but it didn’t worked, and I really don’t know how can I style this snake further, so I can add the rocket and fuels and many other things. That’s why I liked tutorial 2 more! What’s next? I will try to style the snake and this whole window basically!! The video below is in 2x speed!"}, {"post_id": 49450, "ts": "2026-08-18T09:25:00Z", "hours": 1.2464, "text": "I code my function!! Devlog 14 - animation and design Function I’m sooooooooo happy because yesterday I’ve managed to create my own function!!! someone suggested to make other tab switching. I was looking for some tutorial, but couldn’t find anything so I asked ai what can I search in youtube to find it. For better or worse, the AI gave me a little guidance on how it works (so I’d understand it in the tutorial, NO code ), I didn’t even fully read this because when I noticed “animation” and “adding classes” I noticed, what I can do! Few days ago I mentioned the theme switch tutorial, that helped me with understanding js!! With this knowledge and the pattern I already had from webOS tutorial, I managed to create opening app window animation!! Additional apps I also added left bar for the additional apps (/apps that are not about spacecrafts). For now just the background, but when I will finish every app I will also add some better animations and just style it better Problem At the very end of the video, you can notice such a huge problem with opening windows and theirs z-index. They open randomly, once under particular app once above, trying to catch this video when it’s smooth and they all go on top was really hard!! Please let me know if you know how to fix it And I had also tried to make my windows resizeable but it unfortunally didn’t worked. I will get back to this later What’s next? To perfect it all and fix bugs! And then maybe some games? Thanks for reading and have a nice day!!!"}, {"post_id": 48987, "ts": "2026-08-17T16:00:19Z", "hours": 3.1114, "text": "Feedback and roverS Devlog 13 - Spirit and Opportunity App Feedback So, my project went through ratings: unfortunately, I only got 9.79 multiplier, but I also got an amazing and really valuable feedback!! People pointed out my messy repository, and indeed, it needed to be changed. I created new folders, and now it’s clear and organised! RoverS app? While researching, I noticed that Spirit also deserves to be mentioned! Because it’s the same mission, I decided to add Spirit to Opportunity app, and therefore it’s Rovers/Spirit&Opportunity app now! What’s next? I’m going to focus on improving my app and implementing the advices I received in feedback. I also have a lot of new ideas, so stay tuned!"}, {"post_id": 48045, "ts": "2026-08-16T10:23:51Z", "hours": 4.5292, "text": "Time-consuming animation and problemss Devlog 12 - Opportunity App and animation Problems!!! I messed up positions! 😭😭 I was adjusting this rover so it’s driving perfectly around the Mars for hourss and then I decided to check it with the scroll bar, and bc the rover had position: absolute it went down with the scroll bar idk how to describe it, like, he flew out of mars lol Solutions!!! I’ve watched quick guide on youtube about positions and finally understood everything, because before I was just kindaaa guessing lolll now, having the knowledge, I wrapped my animation into <div style=\"position: relative; border: pink [...]\"> , added position: absolute to my images and adjusted everything completely from scratch!! It took me so long but I think it was worth it bc it looks nice and is something different from the usual. One more change I added border photo to Voyager App. Adjusting also took me a while but the window is way more interesting now! What’s next? Finishing Opportunity App!! Thanks for reading and have a nice day!!"}, {"post_id": 46779, "ts": "2026-08-14T08:51:39Z", "hours": 2.9839, "text": "More colors!!! Devlog #11 - 3 new themes!! I made new themes!!!!!!! I’m so happy to introduce you to my 3 colorful themes: Moon Theme - “Earth set” photo from Artemis II mission, blue-colored Aurora Theme - Earth’s Aurora seen from the ISS, green-colored Sunset Theme - “Cotton Candy Skies”, Falcon 9 rocket, pink-colored No gatekeeping, I’ve been searching for tutorial like this for so long so here’s the link for the tutorial . Hope it will be helpful! I need a feedback!! I’m not sure about the colors tho, please let me know know if everything is readable and if you perhaps would change anything Thanks for reading, hope you like it!"}, {"post_id": 46261, "ts": "2026-08-13T11:38:08Z", "hours": 4.6536, "text": "new app and new ideas! Devlog 10 - Full Voyager App Full Voyager App I finished coding new app!! It’s about Voyager mission, so basically Voyager 1 and Voyager 2. Research took me so long again!! But I’m happy with the results New idea So since I started this project I’ve been thinking about how do I arrange the blank space next to the rating images. Today, I added a brief text that’s describing the photo. Just a little, but now you’ll know what the images shows! You can see it on the 1st screenshoot below. Both screenshots are from the new app What’s next? I would love to make new function in the settings so you can change the background photo!! Wish me luck Thanks for reading and have a nice day!!"}, {"post_id": 45144, "ts": "2026-08-11T13:25:16Z", "hours": 3.765, "text": "New app!! Devlog #9 Voyager Photos App Guys I finished rating other projects and I have to admit that my devlogs are way too long So today let’s keep it brief: Voyager Photos App!!! I’m gonna create another app just about voyager, but this is some sort of gallery of (only) 11 photos from these spacecrafts. I made cool infinite images slider with tutorial - it went really smoothly, and then I’ve been trying to make an information window appear when you place your cursor on the “?”. I don’t feel so comfortable in js yet but I wanted to do it all by myself so I went with css, and I really like the final results! You can see it in the video below What’s next? Full Voyager App, I hope! See you in the next one, thanks for reading!!"}, {"post_id": 43432, "ts": "2026-08-08T17:48:20Z", "hours": 0.2547, "text": "15 min can’t be lost! Devlog 8 - fixed all typos and changed the start text So, what I changed in these 15 min? I changed all the typos in artemis app FORTUNATELY I checked the start window, and changed the description because it was really outdated! And therefore, I needed to change the image in my readme. I also adjusted it to width: 100%; height: auto because when I opened readme on my phone it was really stretched! Below I leave a screenshoot of the app I’ve been adjusting, with the artemis II crew because they’ve been my motivation through this whole process! I can’t wait to work more on SpacecraftOS!! Wish me luck on shipping ^^"}, {"post_id": 43381, "ts": "2026-08-08T16:06:31Z", "hours": 1.5467, "text": "One more devlog! Devlog 7 - title and start animation I wanted to ship already but lo and behold, I’ve added some changes! So, what’s new? I finally designed the header of my site! now it says SpacecraftOS and displays a rocket icon! Updated Artemis App - I’ve added some information about Artemis IV and V WELCOMING ANIMATIONNN!!!!!! - I’m very happy because I’ve managed to add a start animation, like welcoming screen or sth like this, idk how is it called, but now, when you enter my page, you can see an animation with my baner! It’s in the video below What’s next? I’ve also finished writing the README so now I will just read everything top to bottom again and SHIP!!!"}, {"post_id": 42821, "ts": "2026-08-07T18:52:04Z", "hours": 4.8486, "text": "Darkmode!! Devlog 6 - dark mode and more photos on the borders What’s new? Darkmode and settings I’m so happpyyyy I’ve managed today to create new very cool app - settings - where you can switch between lightmode and darkmode! At the beginning I tought that it would be a nightmaree but turns out, when I really focused, it was a smooth process and I really enjoyed it! But one thing is not working.. not so important but when I’m adding this app to the rising on top function everything crashes and I can’t open any app. I’ll try to fix it later. There ofcourse will be more functions soon in this app so stay tuned! More images on borders I added more photos on the borders! ISS NASA astronaut working on Hubble The Golden Record spinning on the Artemis II playlist app (I think it’s a really cool idea) Adjusting the astronaut was really hard, and the background did not removed well but I’ve managed to add some blur and eventually it looks okayy I’ve also changed the position of Artemis astronaut - I wanted to put it on the left but unfortunatelly, it cannot be here because then it covers the scroll bar. Adjusting the rotation helped a little and it looks way better! What’s next? I think I’m gonna ship soon! I’ve already writed the README and I just need to check everything. But don’t worry, it’s not the end of SpacecraftOS! I already have a lot of ideas"}, {"post_id": 42063, "ts": "2026-08-06T16:54:14Z", "hours": 1.3569, "text": "My website is all around Artemis now! Devlog #5 - two new apps fully finished! I finished the image slider I’ve been writing about in the previous devlog and added new app! I tought it will take me so much longer, but here I am! But let’s start from the outset: Finished Artemis Mission App I’ve finally finished it! In my previous devlog I said that I found another tutorial on how to make image slider, and it was a bullseye!! After I adjusted it a little so it fits my images it’s working perfectly!! And looking so so good! I’m so happy!! New app - Artemis II Playlist So, I really wanted to implement some music into my website. But because it’s a SPACECRAFT operating system I knew it cannot be just basic music app. While working on the Artemis App I came up with this amazing idea - I’m pretty sure that you heard about the wake up songs from Artemis II Mission. I decided to do an app with that playlist! Since it’s just embeeding the code from spotify it wasn’t such a big problem. I think that the hardest thing here was to make the app icon, which is the moon listening to music on headphones!! I really like this idea, let me know what you think about it What’s next? I want to add some images on the borders like in the Artemis App. And then another app!! Thanks for reading and have a nice day!"}, {"post_id": 41862, "ts": "2026-08-06T10:36:58Z", "hours": 8.1608, "text": "Such a messs!! Devlog #4 - Artemis App! Your opinion Before we begin, I’d like to know your opinion about the images layout. The 3 first screenshoots below shows different layouts. Screenshoot 1 : This is the first version I coded. But it covers the close button and most importantly - the scroll bar which is so unpractical Screenshoot 2 : this is how I had imagined it when this idea came to my mind. It also covers the close button and the scroll Screenshoot 3 : last version I’ve coded. I did not planned this layout but I think it looks great and is the most practical! Unfortunately the 3rd option covers the move button but by adding some z-index everything works well, and looks better than when adding z-index to the scroll bar bc the rocket/astronaut is either covered by the scroll or too far away. Please let me know what you think! Challange 1 Adjusting these images was such a challange. But I wrote it all down from memory! I added the position: fixed so it can exceed the window and adjusted the position several times! The biggest problem, as I said, was that they were covering the scroll bar and close button and then the move button as well. But I found the solution! I added the appropriate z-index to each of the elements and it worked!! (I’m really surprised tbh it was so easy and didn’t took me that long to figure out! I’m getting good at coding ) So finally, what’s new? I added the Artemis Mission App !! It’s not an app just about the artemis II. It’s an app where you can learn about the whole mission, the SLS rocket, the Orion capsule and get to know some fun-facts! Doing the research on all of these thing took me sooo much time! And then writing it down, deciding what is worth the attention and so on… it was kinda exhausting! But I’m so happy with the (not yet) final results! Yeah, not yet meaning… Challange 2 On the last screenshoot you can see the biggest mess on this app! Few photos totally without rhyme or reason! I was coding with image slider tutorial. Everything was going smoothly, till the creator of the tutorial said that now we shall see our photo aaaand yup I did not see anything. I was checking several times if I writed down everything the right way, I was looking for solution and eventually I created new repository and copied the whole code which he pasted in the comments (just to clarify - in this project I do NOT copied any code, I writed everything by myself). In this repository everything worked. When I saw the final results in the repository I had also noticed that it’s not really what I wanted to have in the Artemis App. Bc the code did not worked (probably because it already was in several divs and not like raw or sth) and bc it didn’t align with my vision I decided to just delete this whole code. I’ve already found another tutorial, with better design so I will keep you updated on how it’ll turn out! What’s next? Fixing the mess and finishing the app New app (it’s going to be music app linked to the Artemis II mission!) Thanks for reading and stay tuned!!"}, {"post_id": 37768, "ts": "2026-07-30T18:02:44Z", "hours": 7.5406, "text": "AYYYY FINAL DEVLOG! Devlog #3 - more apps and final changes Guys I can’t believe I did this!! (It’s such an achievement for me okay ) Let’s break all the changes I’ve made to some points: ( if you don’t want to read it all please skip to the last point because it’s about Poland in space and I love Poland and Space ) APPS! AND MANY MORE PROBLEMS. Let’s start from the problems… If you tought that in the second devlog I’ve finally managed to make working apps - you are so wrong. Barely 2 hours later I realised, that the (window) part was not a problem. Turned out, that when I changed this to the id of my app window, next apps opened the 1st app window, and not theirs window. I’ve been searching for solutions for HOURSS! Eventually I had asked ai for help. I had described my problem really pricesely. It found the problem! In this function function handleIconTap(element) I was supposed to write (element, window) … Fortunately, now it fully works!! I’m so happy because this was sooo frustrating. New apps! So, I’ve made two new apps! One similar to James Webb Space Telescope App, and one for notes and ideas. Let me introduce you toooo: Hubble Space Telescope App! - As I said, this one is similar to JWSTApp but it’s around Hubble! You can rate photos, learn some facts about it and just admire another amazing spaceship. NASCApp also known as Spacecraft Ideas. So from where is the abbreviation “NASCApp”??? Well, previously it was named “Notes About Spacecrafts”, but I decided that it’s so boring. Spacecraft Ideas is not really mind blowing name but it’s way better. I also had few problems with this app but after longer reflections, I decided to keep it simple. You can see these apps on screenshoots below. Starlink Catch Guide and Minor Changes I finished writing about starlink satellites in the Starlink Catch Guide window and added some minor changes to every window on my webOS after reading them all again. It was such a long process, but I like how it all looks together now. POLAND IN SPAAAAAACE AND PIEROGI! I added youtube video to the ISS Catch Guide window about Polish astronaut - Sławosz Uznański, eating delicious polish pierogi, on the ISS! I think that this is the most important part of my webOS. POLSKA GUROM!! (You can watch Sławosz eating pierogi on the ISS here ) What’s next? I’m going to read it all again, write README, complete project info and finally, SHIP!! Don’t worry it’s not the end of the journey because I started to like coding so much and I want to continue with webOS 2! Thank’s for being with me and have a nice day!"}, {"post_id": 35710, "ts": "2026-07-27T09:53:57Z", "hours": 2.9081, "text": "I did itttt!! Devlog #2 - Apps Hi!!! I’m so glad to announce that my apps are finally working! There’re still few problems though. But let’s start from the outset: James Webb Space Telescope App This app provides few basic information and interesting facts about JWST. I had also added some photos which you can rate from 1 to 5 stars! You can see the app in the screenshots below. Problems As you can see, there’s so much space on the right from the images you can rate. I’m considering a lot of options, one of them is to just make two/three photos in one row, what do you think? Would this look better? Double click app opening - the if and else statements made my app open at the second click, and not at the first when it’s selected. It selects with the first click and then, with second click, deselects and opens. Idk if it’s supposed to work this way. I think that now I’m going to leave it because at this point I’m just celebrating it works and I want to focus on other things. Problems fixed 🥳🥳🥳 Yall don’t even know how happy I am because of these apps working!! It indeed was much easier than I tought, guess what stupid mistake I had made this time… in the function I did not changed (window) to my actual window. Lol. It was not the only problem on the way but it was definitely the main mistake. I’m so happy because now I can get creative and continue working on the apps design!! Upcoming changes Next I’m going to add few more apps. Can’t wait! Thanks for reading this devlog. Hope you’ll have and amazing day!!"}, {"post_id": 33605, "ts": "2026-07-23T17:38:32Z", "hours": 5.8403, "text": "I dont know what I’m doing but I hope it will be worth it!! devlog #1 - SpacecraftOS Hi everyone! I detached the WebOS mission from ISS HUNT and created this project - Spacecraft OS. I noticed that it’s not really the way I want ISS hunt to look like, to be like. To be honest - this tutorial is SOOOOO hard to me! The apps get me everytime! And besides it I made a lot of minor mistakes. For example, once I could move the start window alone but the guide window was moving only with the start one. And the blur wasn’t working, I was so frustrated and reallyyy confident that there are NOT any stupid mistakes like wrong id. Until I realised that the top bar only blurs the start window… I haven’t closed the div. Yeah. That is a stupid mistake. Even tho it’s hard to me I’m not giving up! Others have done it so can I! For now, I created the top bar and completed the start window and the ISS catch guide. Currently I’m working on starlink catch guide and then I’m gonna work more on these wretched apps 😭 Wish me luck!"}]...
|
Title: SpacecraftOS by @madzia | Stardance
Devlog Title: SpacecraftOS by @madzia | Stardance
Devlogs:
I dont know what I’m doing but I hope it will be worth it!! devlog #1 - SpacecraftOS Hi everyone! I detached the WebOS mission from ISS HUNT and created this project - Spacecraft OS. I noticed that it’s not really the way I want ISS hunt to look like, to be like. To be honest - this tutorial is SOOOOO hard to me! The apps get me everytime! And besides it I made a lot of minor mistakes. For example, once I could move the start window alone but the guide window was moving only with the start one. And the blur wasn’t working, I was so frustrated and reallyyy confident that there are NOT any stupid mistakes like wrong id. Until I realised that the top bar only blurs the start window… I haven’t closed the div. Yeah. That is a stupid mistake. Even tho it’s hard to me I’m not giving up! Others have done it so can I! For now, I created the top bar and completed the start window and the ISS catch guide. Currently I’m working on starlink catch guide and then I’m gonna work more on these wretched apps 😭 Wish me luck!
I did itttt!! Devlog #2 - Apps Hi!!! I’m so glad to announce that my apps are finally working! There’re still few problems though. But let’s start from the outset: James Webb Space Telescope App This app provides few basic information and interesting facts about JWST. I had also added some photos which you can rate from 1 to 5 stars! You can see the app in the screenshots below. Problems As you can see, there’s so much space on the right from the images you can rate. I’m considering a lot of options, one of them is to just make two/three photos in one row, what do you think? Would this look better? Double click app opening - the if and else statements made my app open at the second click, and not at the first when it’s selected. It selects with the first click and then, with second click, deselects and opens. Idk if it’s supposed to work this way. I think that now I’m going to leave it because at this point I’m just celebrating it works and I want to focus on other things. Problems fixed 🥳🥳🥳 Yall don’t even know how happy I am because of these apps working!! It indeed was much easier than I tought, guess what stupid mistake I had made this time… in the function I did not changed (window) to my actual window. Lol. It was not the only problem on the way but it was definitely the main mistake. I’m so happy because now I can get creative and continue working on the apps design!! Upcoming changes Next I’m going to add few more apps. Can’t wait! Thanks for reading this devlog. Hope you’ll have and amazing day!!
AYYYY FINAL DEVLOG! Devlog #3 - more apps and final changes Guys I can’t believe I did this!! (It’s such an achievement for me okay ) Let’s break all the changes I’ve made to some points: ( if you don’t want to read it all please skip to the last point because it’s about Poland in space and I love Poland and Space ) APPS! AND MANY MORE PROBLEMS. Let’s start from the problems… If you tought that in the second devlog I’ve finally managed to make working apps - you are so wrong. Barely 2 hours later I realised, that the (window) part was not a problem. Turned out, that when I changed this to the id of my app window, next apps opened the 1st app window, and not theirs window. I’ve been searching for solutions for HOURSS! Eventually I had asked ai for help. I had described my problem really pricesely. It found the problem! In this function function handleIconTap(element) I was supposed to write (element, window) … Fortunately, now it fully works!! I’m so happy because this was sooo frustrating. New apps! So, I’ve made two new apps! One similar to James Webb Space Telescope App, and one for notes and ideas. Let me introduce you toooo: Hubble Space Telescope App! - As I said, this one is similar to JWSTApp but it’s around Hubble! You can rate photos, learn some facts about it and just admire another amazing spaceship. NASCApp also known as Spacecraft Ideas. So from where is the abbreviation “NASCApp”??? Well, previously it was named “Notes About Spacecrafts”, but I decided that it’s so boring. Spacecraft Ideas is not really mind blowing name but it’s way better. I also had few problems with this app but after longer reflections, I decided to keep it simple. You can see these apps on screenshoots below. Starlink Catch Guide and Minor Changes I finished writing about starlink satellites in the Starlink Catch Guide window and added some minor changes to every window on my webOS after reading them all again. It was such a long process, but I like how it all looks together now. POLAND IN SPAAAAAACE AND PIEROGI! I added youtube video to the ISS Catch Guide window about Polish astronaut - Sławosz Uznański, eating delicious polish pierogi, on the ISS! I think that this is the most important part of my webOS. POLSKA GUROM!! (You can watch Sławosz eating pierogi on the ISS here ) What’s next? I’m going to read it all again, write README, complete project info and finally, SHIP!! Don’t worry it’s not the end of the journey because I started to like coding so much and I want to continue with webOS 2! Thank’s for being with me and have a nice day!
Such a messs!! Devlog #4 - Artemis App! Your opinion Before we begin, I’d like to know your opinion about the images layout. The 3 first screenshoots below shows different layouts. Screenshoot 1 : This is the first version I coded. But it covers the close button and most importantly - the scroll bar which is so unpractical Screenshoot 2 : this is how I had imagined it when this idea came to my mind. It also covers the close button and the scroll Screenshoot 3 : last version I’ve coded. I did not planned this layout but I think it looks great and is the most practical! Unfortunately the 3rd option covers the move button but by adding some z-index everything works well, and looks better than when adding z-index to the scroll bar bc the rocket/astronaut is either covered by the scroll or too far away. Please let me know what you think! Challange 1 Adjusting these images was such a challange. But I wrote it all down from memory! I added the position: fixed so it can exceed the window and adjusted the position several times! The biggest problem, as I said, was that they were covering the scroll bar and close button and then the move button as well. But I found the solution! I added the appropriate z-index to each of the elements and it worked!! (I’m really surprised tbh it was so easy and didn’t took me that long to figure out! I’m getting good at coding ) So finally, what’s new? I added the Artemis Mission App !! It’s not an app just about the artemis II. It’s an app where you can learn about the whole mission, the SLS rocket, the Orion capsule and get to know some fun-facts! Doing the research on all of these thing took me sooo much time! And then writing it down, deciding what is worth the attention and so on… it was kinda exhausting! But I’m so happy with the (not yet) final results! Yeah, not yet meaning… Challange 2 On the last screenshoot you can see the biggest mess on this app! Few photos totally without rhyme or reason! I was coding with image slider tutorial. Everything was going smoothly, till the creator of the tutorial said that now we shall see our photo aaaand yup I did not see anything. I was checking several times if I writed down everything the right way, I was looking for solution and eventually I created new repository and copied the whole code which he pasted in the comments (just to clarify - in this project I do NOT copied any code, I writed everything by myself). In this repository everything worked. When I saw the final results in the repository I had also noticed that it’s not really what I wanted to have in the Artemis App. Bc the code did not worked (probably because it already was in several divs and not like raw or sth) and bc it didn’t align with my vision I decided to just delete this whole code. I’ve already found another tutorial, with better design so I will keep you updated on how it’ll turn out! What’s next? Fixing the mess and finishing the app New app (it’s going to be music app linked to the Artemis II mission!) Thanks for reading and stay tuned!!
My website is all around Artemis now! Devlog #5 - two new apps fully finished! I finished the image slider I’ve been writing about in the previous devlog and added new app! I tought it will take me so much longer, but here I am! But let’s start from the outset: Finished Artemis Mission App I’ve finally finished it! In my previous devlog I said that I found another tutorial on how to make image slider, and it was a bullseye!! After I adjusted it a little so it fits my images it’s working perfectly!! And looking so so good! I’m so happy!! New app - Artemis II Playlist So, I really wanted to implement some music into my website. But because it’s a SPACECRAFT operating system I knew it cannot be just basic music app. While working on the Artemis App I came up with this amazing idea - I’m pretty sure that you heard about the wake up songs from Artemis II Mission. I decided to do an app with that playlist! Since it’s just embeeding the code from spotify it wasn’t such a big problem. I think that the hardest thing here was to make the app icon, which is the moon listening to music on headphones!! I really like this idea, let me know what you think about it What’s next? I want to add some images on the borders like in the Artemis App. And then another app!! Thanks for reading and have a nice day!
Darkmode!! Devlog 6 - dark mode and more photos on the borders What’s new? Darkmode and settings I’m so happpyyyy I’ve managed today to create new very cool app - settings - where you can switch between lightmode and darkmode! At the beginning I tought that it would be a nightmaree but turns out, when I really focused, it was a smooth process and I really enjoyed it! But one thing is not working.. not so important but when I’m adding this app to the rising on top function everything crashes and I can’t open any app. I’ll try to fix it later. There ofcourse will be more functions soon in this app so stay tuned! More images on borders I added more photos on the borders! ISS NASA astronaut working on Hubble The Golden Record spinning on the Artemis II playlist app (I think it’s a really cool idea) Adjusting the astronaut was really hard, and the background did not removed well but I’ve managed to add some blur and eventually it looks okayy I’ve also changed the position of Artemis astronaut - I wanted to put it on the left but unfortunatelly, it cannot be here because then it covers the scroll bar. Adjusting the rotation helped a little and it looks way better! What’s next? I think I’m gonna ship soon! I’ve already writed the README and I just need to check everything. But don’t worry, it’s not the end of SpacecraftOS! I already have a lot of ideas
One more devlog! Devlog 7 - title and start animation I wanted to ship already but lo and behold, I’ve added some changes! So, what’s new? I finally designed the header of my site! now it says SpacecraftOS and displays a rocket icon! Updated Artemis App - I’ve added some information about Artemis IV and V WELCOMING ANIMATIONNN!!!!!! - I’m very happy because I’ve managed to add a start animation, like welcoming screen or sth like this, idk how is it called, but now, when you enter my page, you can see an animation with my baner! It’s in the video below What’s next? I’ve also finished writing the README so now I will just read everything top to bottom again and SHIP!!!
15 min can’t be lost! Devlog 8 - fixed all typos and changed the start text So, what I changed in these 15 min? I changed all the typos in artemis app FORTUNATELY I checked the start window, and changed the description because it was really outdated! And therefore, I needed to change the image in my readme. I also adjusted it to width: 100%; height: auto because when I opened readme on my phone it was really stretched! Below I leave a screenshoot of the app I’ve been adjusting, with the artemis II crew because they’ve been my motivation through this whole process! I can’t wait to work more on SpacecraftOS!! Wish me luck on shipping ^^
New app!! Devlog #9 Voyager Photos App Guys I finished rating other projects and I have to admit that my devlogs are way too long So today let’s keep it brief: Voyager Photos App!!! I’m gonna create another app just about voyager, but this is some sort of gallery of (only) 11 photos from these spacecrafts. I made cool infinite images slider with tutorial - it went really smoothly, and then I’ve been trying to make an information window appear when you place your cursor on the “?”. I don’t feel so comfortable in js yet but I wanted to do it all by myself so I went with css, and I really like the final results! You can see it in the video below What’s next? Full Voyager App, I hope! See you in the next one, thanks for reading!!
new app and new ideas! Devlog 10 - Full Voyager App Full Voyager App I finished coding new app!! It’s about Voyager mission, so basically Voyager 1 and Voyager 2. Research took me so long again!! But I’m happy with the results New idea So since I started this project I’ve been thinking about how do I arrange the blank space next to the rating images. Today, I added a brief text that’s describing the photo. Just a little, but now you’ll know what the images shows! You can see it on the 1st screenshoot below. Both screenshots are from the new app What’s next? I would love to make new function in the settings so you can change the background photo!! Wish me luck Thanks for reading and have a nice day!!
More colors!!! Devlog #11 - 3 new themes!! I made new themes!!!!!!! I’m so happy to introduce you to my 3 colorful themes: Moon Theme - “Earth set” photo from Artemis II mission, blue-colored Aurora Theme - Earth’s Aurora seen from the ISS, green-colored Sunset Theme - “Cotton Candy Skies”, Falcon 9 rocket, pink-colored No gatekeeping, I’ve been searching for tutorial like this for so long so here’s the link for the tutorial . Hope it will be helpful! I need a feedback!! I’m not sure about the colors tho, please let me know know if everything is readable and if you perhaps would change anything Thanks for reading, hope you like it!
Time-consuming animation and problemss Devlog 12 - Opportunity App and animation Problems!!! I messed up positions! 😭😭 I was adjusting this rover so it’s driving perfectly around the Mars for hourss and then I decided to check it with the scroll bar, and bc the rover had position: absolute it went down with the scroll bar idk how to describe it, like, he flew out of mars lol Solutions!!! I’ve watched quick guide on youtube about positions and finally understood everything, because before I was just kindaaa guessing lolll now, having the knowledge, I wrapped my animation into <div style="position: relative; border: pink [...]"> , added position: absolute to my images and adjusted everything completely from scratch!! It took me so long but I think it was worth it bc it looks nice and is something different from the usual. One more change I added border photo to Voyager App. Adjusting also took me a while but the window is way more interesting now! What’s next? Finishing Opportunity App!! Thanks for reading and have a nice day!!
Feedback and roverS Devlog 13 - Spirit and Opportunity App Feedback So, my project went through ratings: unfortunately, I only got 9.79 multiplier, but I also got an amazing and really valuable feedback!! People pointed out my messy repository, and indeed, it needed to be changed. I created new folders, and now it’s clear and organised! RoverS app? While researching, I noticed that Spirit also deserves to be mentioned! Because it’s the same mission, I decided to add Spirit to Opportunity app, and therefore it’s Rovers/Spirit&Opportunity app now! What’s next? I’m going to focus on improving my app and implementing the advices I received in feedback. I also have a lot of new ideas, so stay tuned!
I code my function!! Devlog 14 - animation and design Function I’m sooooooooo happy because yesterday I’ve managed to create my own function!!! someone suggested to make other tab switching. I was looking for some tutorial, but couldn’t find anything so I asked ai what can I search in youtube to find it. For better or worse, the AI gave me a little guidance on how it works (so I’d understand it in the tutorial, NO code ), I didn’t even fully read this because when I noticed “animation” and “adding classes” I noticed, what I can do! Few days ago I mentioned the theme switch tutorial, that helped me with understanding js!! With this knowledge and the pattern I already had from webOS tutorial, I managed to create opening app window animation!! Additional apps I also added left bar for the additional apps (/apps that are not about spacecrafts). For now just the background, but when I will finish every app I will also add some better animations and just style it better Problem At the very end of the video, you can notice such a huge problem with opening windows and theirs z-index. They open randomly, once under particular app once above, trying to catch this video when it’s smooth and they all go on top was really hard!! Please let me know if you know how to fix it And I had also tried to make my windows resizeable but it unfortunally didn’t worked. I will get back to this later What’s next? To perfect it all and fix bugs! And then maybe some games? Thanks for reading and have a nice day!!!
Such a challange! Devlog 15 - snake game Snake game? Yeah I’m surprised too. But I really wanted to see how it works and just code sth like this (with tutorial ofc). I wanted to make it a little later but I had time today and decided - why not? Okay but, 6 hours?!??!?!?!?!? Yeah 😭 in short, I started with tutorial 1, but it didn’t worked, so I deleted everything and switched to another tutorial, where I realised that I just haven’t connected my snake.js to html lolll but anyways, I even liked tutorial 2 more, I feel like it gave me more styling options, but I needed to quit it because to restart you needed to refresh the site. I tried to just implement some functions, change some things but I’m not that skilled to do this yet. I deleted everything again and came back to tutorial 1 which I eventually completed! That’s not the final results I really want to make the snake head a rocket thats collecting fuel, but there are some problems!! Obviously lol, so I have something like this const snakeColor = "pink"; and I tried to change pink to class, to var but it didn’t worked, and I really don’t know how can I style this snake further, so I can add the rocket and fuels and many other things. That’s why I liked tutorial 2 more! What’s next? I will try to style the snake and this whole window basically!! The video below is in 2x speed!
Random decision (but it was worth it) Devlog #16 - Radio buttons and styles What’s new? Radio buttons In my feedback someone suggested to add radio buttons instead of checkboxes bc then you can just choose one - and today I did it! I also styled it and added cool animation!! Each theme have different stars colors as well - you can check it in the video below. Highscore Somehow, I also added highscore to my snake game! I took a bit of information from tutorial 1 a bit from tutorial 2 and it’s working! Maybe not perfectly, but when you restart, new highscore will be visible, and it’s also in local storage so you can come back after a month and your highscore still will be there!! So, why random? It was a little unexpected bc I was working on the snake game (yeah it’s still not finished) and suddenly I gained a lot of motivation for the radio buttons. I knew I wanted to style them somehow, but I came up with the star design today, and I think it’s perfect!! What yall think about it?? What’s next? Hopefully, I’m going to finish the snake app!
Perfecting Devlog #17 - snake game and organisation What’s new? Snake game As you can see, I’ve styled the snake game a little! I also added start/tutorial/guide window, I added it by creating new window and setting start button as the window close button hihi work smarter not harder. Ai usage I couldn’t figure it out how can I set imgs as the background, food and even for snake, so I asked ai. It’s just creating const with img and adding drawImage instead of fillStyle , and I’m so happy bc now I understand it and know how to implement imgs to js! WHERE’S THE ROCKET? It was too hard!! I really tried, but when I managed to set the rocket as the snake’s head: The rocket was too small It wasn’t rotating It looked so bad and if I wanted to continue with this idea I would need to use ai, so more ai than I would like, so I eventually there’s snake in the snake game. More organisation I created folders in the img folder for each app, bc the img folder was still a little messy. It was such a tedious process, but it’s much clearer now! What’s next? New REALLY COOL APP and snake app icon, which I’m going to edit today while watching F1 sprint
The most spacecraft app on spacecraft os? Devlog #18 - MapApp!!! ALL SPACECRAFTS IN ONE PLACE WHAT AN AMAZING FEATURE!! What’s new? MAAAP AAAPP While doing research on Voyager 1 and 2 I found this “Eyes On The Solar System” from NASA, and noticed that you can embeed it, and that’s what I’ve done! First and foremost, you can check here the position of any spacecraft you want! That’s why I called it Map App. Moreover, that’s a place with a lot of information, and whole spacecraft history! As you can notice, it didn’t take me so long (bc it’s just embeeding), so what I’ve also completed? Fixed some bugs Finished icon for snake game What’s next? NGRST app! (Can someone guess, what does this short stand for? Hint: HST and JWST are already in spacecraftOS!)
More Animatiooons! Devlog #19 Animations on scroll Animations So recently I’ve been working on animations on scroll! Now my Apps about spacecrafts are more interactive and less boring. In the video below you can see all of the scroll animations I’d added till this moment. I feel so confident with css animations, they give me so much fun!! Icon The video is cropped so you can’t see the snake game icon but it finally is here! I added it in the second slide so you guys can see it! Let me know what yall think. I wanted to keep the one real-life, space themed addition (like moon in the music app) so the snake has galaxy eyes. Nancy Grace Roman Space Telescope PROBLEM As you can see I also added an icon for NGRST App but it’s an upcoming mission and I don’t really know what to do with it!! Someone requested it in the feedback, so I really want to implement it but idk, maybe I shall add a countdown? But it will be outdated soon. Many things can be outdated! Thanks for reading and have a nice day!
Reallyyyyyyy time consuming Calendar Devlog #20 - Calendar So I spent this whole day coding this calendar with youtube tutorial. This tutorial was only 17min but it took me 5h Then I needed to fix some typos bc I ofc made a lot and then many many styling!! It’s not the final result! I’m going on a trip tomorow, so I need to take a break from coding. To adjust the width and height, make it all fit to my site, it takes so long, and then I need to change the colors, bc I was just testing with the pinks. Change colors to all of my themes 😭 But it’s okay I got this Disappointing surprise You can see in the video on the second slide that there are 6 columns in the next month instead of 7! I’ve been so happy bc it was working in august, and then I changed months and it was a little disappointing surprise. I’m gonna fix it later! What’s next? When I’ll be back I’m going to work on this app! I didn’t expected it to be that hard Thanks for reading and see you in the next one!
I’m back!! Devlog #21 - new colors Hi everyone! I’m finally back but from hospital… right after my trip I was diagnosed with severe anemia and had to stay in the hospital for four days. I’m feeling good but I’m a little worried bc I lost so much time and I’m leaving on next trip again in few days!! There’s not many things left in SpacecraftOS tho, so let’s summarise it What’s new? In the video below you can see that I adjusted the calendar colors for every theme. It was such a fun process! I like how it looks now. I also managed to fix the days align and now it works perfectly, always in 7 columns. Hope yall like it! What’s next? I’m going to work on dock animation!! I also need to finish NGRSTApp but I think I’m going to keep it simple bc I don’t have so much time and I want to ship by the time I leave Thanks for reading, take care and have a nice day!!
Which one should I choose? Devlog #22 - Timer So I just made a timer with tutorial, but I need your help!! Should I keep miliseconds (slide 2) or keep it simple just with hours/minutes/seconds?? I kinda think that h/m/s looks better but it also seems so boring and less “advanced” than h/m/s/ms!! Also this was such an easy tutorial, fortunately everything went smoothly!! Yall probably know bro code but if someone wants here’s the link What’s next? Dock animation NGRSTApp Thanks for reading and I’m waiting for your comments!
happy and frustrated Devlog 23 - Dock animation, scrollbar and NGRSTApp Dock Animation I really like this animation!! It’s so smooth and cool and I’m so happy bc I learned new thing with the tutorial!! It came out exactly as I wanted NGRSTApp It’s finally finished!! I managed to add some things regardless it’s such a fresh mission. Hope yall like it! Scrollbar Yeah so here’s the frustrating part. I coded really pretty, unique and practical scrollbar in the css but I used webkit and it worked on microsoft but on chrome - not anymore! You can’t even see the scrollbar! I don’t have time anymore - I’m leaving in few hours, I commented it out and I hope I’ll fix it one day Additional changes Rewrited README Added some events to the calendar What’s next? I’m gonna ship now!! Wish me luck and thank you all for your support throughout the whole voyage!!
Scrollbar is working!! Devlog 24 - scrollbar bug Guys I think that this bug was (is) my personal fault, bc the scroll bar is visible in every single browser different than my current one lol I probably have some sort of extension that adds none !important or sth to my code’s head and it ruins everything, but it shall work on every other device, on every other browser. Tbh I also used ai to fix it but it didn’t really helped bc it was my internal problem. So happy that it’s working, just wanted to clarify and log these 16min!! If any problems with scrollbar occur, please use keyboard arrows to scroll through windows Again, thanks for reading and have a nice day!
Ships:
I made an operating system based around spacecrafts! My website provides few apps: two about telescopes where you can learn about them and rate few photos they took from 1 to 5 stars, and one with notes, where you can store your ideas if some spacecrafts inspire you! Besides apps, on the top bar you will find two guides on how to catch the ISS and starlink satellites. In the ISS window you can find short youtube video - it’s about Polish astronaut, Sławosz Uznański, eating pierogi (delicious polish dish) on the ISS! I really recommend watching this The apps were the biggest challange for me. That’s why I had spent so many hours on this project. Firts, I couldn’t even open the first app. It was hard to even make the selected function work. Then, I managed to make this one app working! But, it wasn’t the right solution. When I added new apps, they were opening the 1st app window, and not theirs. I spent a lot hours trying to fix it, I tried a lot of possible solutions and finally, I had asked ai for help. That’s the only ai usage in this project. Eventually, everything works! I’m so happy because I’ve almost gave up. I really like the outcome, and I look forward for the future changes! I came up with a lot of ideas and I realised them the exact way I wanted! My favourite parts are def the Sławosz eating pierogi video and the photo ranking which I find so fun to watch and rate. Hope you’ll enjoy this as much as I do!
I made an Operating System with spacecraft theme! New features Artemis App Artemis II playlist (app) Settings and darkmode Design - few images on the windows borders Start animation with spacecraftOS baner Challenges Compared to my previous ship, this time all functions and styling went smoothly, but the things that took the most time were adjusting photos and writing, researching about Artemis Mission! I tought that making the darkmode switch would be really hard, but when I focused it was really easy and rewarding process! Proud of I really like the starting animation and the images on the borders. I started coding one month ago so doing something cool with the css all by yourself is so fulfilling! I don’t understand js that much yet, so I had also watched few tutorials. The webOS 1 tutorial was really hard for me, so now I’m really happy when the things I wanted to add to my website turns out well! So I’m also really proud of the images slider in the Artemis App, the spotify playlist embedded and the dark/light mode switcher in the settings! Even tho they were made with tutorials I still needed to adjust it so it fits my site, and I’m so happy that I understand it to the point that I could do this all just by myself Notes Don’t forget to check the README, remember to double click to open apps and just enjoy the vojage!!
I made a web Operating System with spacecraft theme! Creating this site was so fun and fulfilling, esp. when a lot of things turned out exactly as I wanted!! I started coding over a month ago, and I’m so happy that I managed to create something like this. I really enjoyed it, especially the css part. SpacecraftOS This OS provides basic app like timer, calendar, maps, gallery, but everything have implemented some spacecraft additions. For example, the map app won’t show you the route to the nearest grocery store, but it will show you where your fav spacecraft is right now. The calendar app will show you astronauts birthdays and the gallery app provides photos humans sent to space on voyager. All these apps you will find on the left and on the bottom there are apps, where you’ll learn about various spacecrafts, and in some of these apps, you can also rate some photos the spacecrafts took! Notes Please start from choosing the most suitable for you theme in the settings (top right corner) Try on laptop/computer for better experience Snake game is only playable with keyboard Remember to double click on apps to open and please leave a toughtful review. Hope you’ll enjoy it!!...
|
1792972168.911196
|
1793058568.911196
|
|
36175
|
Shaizaans Site by @shaizaanv | Stardance
|
shaizaanv
|
3
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T23:07:54Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Last ship the github octocat button didnt load so instead i added a connect with me section with my instagram github tiktok and email", "repo": "https://github.com/shaizaanV/mysite", "demo": "https://shaizaanv.github.io/mysite/"}, {"ship_num": 2, "ts": "2026-07-17T23:10:22Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Guys during my first attempted ship I used AI! I sincerely apologize for that. I remade the entire CSS using a gradient I hope you like it. It features a favorites section with many subsections. :)", "repo": "https://github.com/shaizaanV/mysite", "demo": "https://shaizaanv.github.io/mysite/"}, {"ship_num": 3, "ts": "2026-07-16T23:27:30Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made this site IT USES AI FOR THE GRID STUFF I HOPE THATS FINE It currently only has a favorites section but I hope to add more", "repo": "https://github.com/shaizaanV/mysite", "demo": "https://shaizaanv.github.io/mysite/"}]...
|
[{"post_id": 30942, "ts": "202 [{"post_id": 30942, "ts": "2026-07-18T23:06:41Z", "hours": 0.2589, "text": "So the octocat image didnt work so i got buttons and added the rest of my socials"}, {"post_id": 30420, "ts": "2026-07-17T23:01:42Z", "hours": 0.5061, "text": "I apologize for using ai for css before i redid it all to make it completly mine"}, {"post_id": 29797, "ts": "2026-07-16T22:33:36Z", "hours": 0.5103, "text": "I started with the Favorites sections hope it works"}]...
|
Title: Shaizaans Site by @shaizaanv | Stardance
D Title: Shaizaans Site by @shaizaanv | Stardance
Devlogs:
I started with the Favorites sections hope it works
I apologize for using ai for css before i redid it all to make it completly mine
So the octocat image didnt work so i got buttons and added the rest of my socials
Ships:
I made this site IT USES AI FOR THE GRID STUFF I HOPE THATS FINE It currently only has a favorites section but I hope to add more
Guys during my first attempted ship I used AI! I sincerely apologize for that. I remade the entire CSS using a gradient I hope you like it. It features a favorites section with many subsections. :)
Last ship the github octocat button didnt load so instead i added a connect with me section with my instagram github tiktok and email...
|
1792990261.841524
|
1793076661.841524
|
|
36484
|
GlassOS - My very own WebOS by @Ayon | Stardance
|
Ayon
|
3
|
12.0
|
41
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-27T05:41:01Z", "hours": 5.0, "multiplier": 6.22, "payout": 14, "blessing": "neutral", "text": "I have added a working mock terminal and VSCode application in the webos. Also, added a startup animation like the legacy bios. Gemini helped a lot helping in the VSCode UI.", "repo": "https://github.com/amiayon8/glassOS", "demo": "https://glassos.thenicedev.xyz/"}, {"ship_num": 2, "ts": "2026-07-19T08:47:50Z", "hours": 3.0, "multiplier": 10.09, "payout": 27, "blessing": "neutral", "text": "Just completed my WebOS and it’s now ready for WebOS 2 mission! Updates in v2: Added full screen Prompt Added game library Added calculator app Added calendar app Added hackatime widget", "repo": "https://github.com/amiayon8/glassOS", "demo": "https://glassos.thenicedev.xyz/"}, {"ship_num": 3, "ts": "2026-07-18T09:48:48Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an operating system just in the browser. It features a functional weather app, taskbar, battery details and a browser. It was very challenging to make the app windows and draggable taskbar apps. I took help from AI for this.", "repo": "https://github.com/amiayon8/glassOS", "demo": "https://glassos.thenicedev.xyz/"}]...
|
[{"post_id": 35627, "ts": "202 [{"post_id": 35627, "ts": "2026-07-27T05:39:48Z", "hours": 0.3397, "text": "Startup animation like the legacy BIOS"}, {"post_id": 35624, "ts": "2026-07-27T05:20:51Z", "hours": 0.7106, "text": "I have added the terminal in VSCode. Terminal Commands: run [file] Execute file JS/TS code node Execute specified JS file ls, pwd, cd [dir] Navigate directory structure cat, touch, rm File inspection and edits cp, mv Copy or rename files echo [> file] Print text or write to file grep, find, wc Search and inspect content head, tail View line subsets date, env, history System tools clear, reset Manage terminal state"}, {"post_id": 35276, "ts": "2026-07-26T16:11:02Z", "hours": 2.2989, "text": "Created a VSCode interface. Now working on terminal"}, {"post_id": 34474, "ts": "2026-07-25T06:34:14Z", "hours": 0.3172, "text": "Changed the chrome new tab to my GlassTab. Also, fixed calculator as the ratings told to update. Next: VSCode Update."}, {"post_id": 32586, "ts": "2026-07-21T21:14:32Z", "hours": 0.8772, "text": "Updated basic UI and the window control buttons. Shifted to mac styled buttons"}, {"post_id": 31126, "ts": "2026-07-19T08:47:02Z", "hours": 0.4839, "text": "Just completed my WebOS and it’s now ready for WebOS 2 mission! Updates in v2 Added full screen Prompt Added game library Added calculator app Added calendar app Added hackatime widget"}, {"post_id": 31119, "ts": "2026-07-19T08:13:28Z", "hours": 0.9, "text": "Integrating HackaTime directly to my GlassOS"}, {"post_id": 30678, "ts": "2026-07-18T13:29:50Z", "hours": 1.2603, "text": "Started working on GlassOS v2 Progress in v2: Added full screen Prompt Added game library Added calculator app Added calendar app Added camera app Windows updated"}, {"post_id": 30602, "ts": "2026-07-18T09:47:02Z", "hours": 0.3467, "text": "Added weather widget and time to the home screen. Done for now."}, {"post_id": 30581, "ts": "2026-07-18T08:50:27Z", "hours": 1.1178, "text": "Created an weather app for my Operating System. Absolute glassmorphism"}, {"post_id": 30525, "ts": "2026-07-18T05:30:33Z", "hours": 0.54, "text": "Just built the Chrome App for my Operating system! Chrome works but just for the sites without iFrame Restrictions. My portfolio site works fine but the HackClub sites, google and such things don’t work"}, {"post_id": 30516, "ts": "2026-07-18T04:41:39Z", "hours": 0.4111, "text": "Created the login screen with 4-digit pin and a cute astronaut."}, {"post_id": 30503, "ts": "2026-07-18T04:09:40Z", "hours": 0.3033, "text": "Just added the battery details to the OS. The battery details work just fine. Couldn’t do for the networks as the browser doesn’t allow this. Next: Apps and widgets."}, {"post_id": 30203, "ts": "2026-07-17T16:22:00Z", "hours": 1.3061, "text": "Hey, this is the first day of my custom in-browser Operating System. This is the first devlog of this project. I have just made the Navbar with some cool hover and click effects."}]...
|
Title: GlassOS - My very own WebOS by @Ayon | Star Title: GlassOS - My very own WebOS by @Ayon | Stardance
Devlogs:
Hey, this is the first day of my custom in-browser Operating System. This is the first devlog of this project. I have just made the Navbar with some cool hover and click effects.
Just added the battery details to the OS. The battery details work just fine. Couldn’t do for the networks as the browser doesn’t allow this. Next: Apps and widgets.
Created the login screen with 4-digit pin and a cute astronaut.
Just built the Chrome App for my Operating system! Chrome works but just for the sites without iFrame Restrictions. My portfolio site works fine but the HackClub sites, google and such things don’t work
Created an weather app for my Operating System. Absolute glassmorphism
Added weather widget and time to the home screen. Done for now.
Started working on GlassOS v2 Progress in v2: Added full screen Prompt Added game library Added calculator app Added calendar app Added camera app Windows updated
Integrating HackaTime directly to my GlassOS
Just completed my WebOS and it’s now ready for WebOS 2 mission! Updates in v2 Added full screen Prompt Added game library Added calculator app Added calendar app Added hackatime widget
Updated basic UI and the window control buttons. Shifted to mac styled buttons
Changed the chrome new tab to my GlassTab. Also, fixed calculator as the ratings told to update. Next: VSCode Update.
Created a VSCode interface. Now working on terminal
I have added the terminal in VSCode. Terminal Commands: run [file] Execute file JS/TS code node Execute specified JS file ls, pwd, cd [dir] Navigate directory structure cat, touch, rm File inspection and edits cp, mv Copy or rename files echo [> file] Print text or write to file grep, find, wc Search and inspect content head, tail View line subsets date, env, history System tools clear, reset Manage terminal state
Startup animation like the legacy BIOS
Ships:
I made an operating system just in the browser. It features a functional weather app, taskbar, battery details and a browser. It was very challenging to make the app windows and draggable taskbar apps. I took help from AI for this.
Just completed my WebOS and it’s now ready for WebOS 2 mission! Updates in v2: Added full screen Prompt Added game library Added calculator app Added calendar app Added hackatime widget
I have added a working mock terminal and VSCode application in the webos. Also, added a startup animation like the legacy bios. Gemini helped a lot helping in the VSCode UI....
|
1792961503.9934382
|
1793047903.9934382
|
|
36826
|
Whats Your IP Human ~ WYIPH by @wtfisquantum | Sta Whats Your IP Human ~ WYIPH by @wtfisquantum | Stardance...
|
wtfisquantum
|
3
|
29.0
|
353
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-27T16:29:52Z", "hours": 18.0, "multiplier": 11.58, "payout": 213, "blessing": "neutral", "text": "I built What’s Your IP Human (WYIPH) , an IP intelligence and networking exploration tool that lets you inspect IPv4 and IPv6 addresses while also showing what happens behind the scenes. The project provides detailed information such as geolocation, ISP, ASN, proxy and hosting detection, network metadata and now a much more complete WHOIS lookup experience. One of the biggest updates in this version was expanding the WHOIS system. I researched different WHOIS APIs, worked through CORS and deployment issues, and eventually built and deployed my own API layer to reliably process the registry data. The application can now surface information such as IP ranges, network and organization details, registry information, abuse contacts, administrative and technical contacts, routes and origin AS information, while filtering and formatting the raw responses into something much easier to understand. I also spent a lot of time improving the overall experience around this data. The WHOIS results have been redesigned into structured sections instead of displaying raw registry responses, while the existing geolocation and network information continues to work alongside the interactive Leaflet map. I also worked on the backend and deployment setup to make the whole lookup pipeline more reliable. The project has also started moving beyond being just an educational IP lookup tool. I’m currently experimenting with turning it into a more practical service for location and website tracking, with several ideas planned for future versions. To test it, simply open the website and it will automatically look up your current public IP on your first visit. You can then search for any valid IPv4 or IPv6 address and explore its geolocation, network information and WHOIS data. The How it Works section is also available if you want to understand the networking concepts behind the information being displayed. The project is now live and ready to try! I’d really appreciate it if you could check it out, leave a rating and let me know what you think. ❤️ last time i got some decent feedback on my project, but it was still pretty limited, so i’m hoping this one reaches a few more people. i genuinely enjoy building technical and educational projects that explain how things work under the hood, and i hope that comes across in this one. There are already quite a few more ideas in my head for where this can go next, so this definitely isn’t the final version. Thanks for checking it out and supporting the project! :)", "repo": "https://github.com/wtfisquantum/whats-your-ip", "demo": "https://whats-your-ip-human.vercel.app"}, {"ship_num": 2, "ts": "2026-07-31T07:27:12Z", "hours": 7.0, "multiplier": 17.76, "payout": 129, "blessing": "neutral", "text": "I built What’s Your IP Human (WYIPH), an educational IP intelligence tool that not only lets you inspect IPv4 and IPv6 addresses, but also explains what’s happening behind the scenes. Alongside detailed lookup information like geolocation, ISP, ASN, proxy/hosting detection and network metadata, the project includes an interactive documentation experience that walks through concepts such as WHOIS, Regional Internet Registries, Autonomous Systems, BGP routing, coordinate generation, IP accuracy and much more. The biggest challenge was making complex networking concepts understandable without oversimplifying them. I spent a lot of time researching official documentation, verifying information, and designing the interface so users could learn how IP lookups actually work instead of treating the results as a black box. Keeping the documentation visually consistent with the lookup experience while integrating interactive elements like Leaflet maps was another fun challenge. I’m most proud of turning what started as a simple IP lookup tool into something educational. Instead of only displaying data, it explains where the data comes from, how reliable it is, and why different services return different results. Hopefully it helps people learn a little more about how the Internet actually works. To test it, simply open the website. On your first visit it automatically analyzes your current public IP address. You can then search for any valid IPv4 or IPv6 address, explore the interactive map, and switch to the How it Works section to dive into the networking concepts behind each piece of information displayed. Feedback is always welcome, and I already have a few more features planned for future updates! if you enjoyed exploring the project, i’d really appreciate a good rating! ❤️ my last project didn’t receive many ratings, so i’m hoping this one reaches a few more people. i genuinely enjoy building technical and educational projects that explain how things work under the hood, and i hope that comes across in this one. there are already more updates planned, so if you like the project, consider following it and leaving a rating. every bit of feedback helps me make it even better. thank you! :)", "repo": "https://github.com/wtfisquantum/whats-your-ip", "demo": "https://whats-your-ip-human.vercel.app"}, {"ship_num": 3, "ts": "2026-07-22T20:09:04Z", "hours": 4.0, "multiplier": 2.78, "payout": 11, "blessing": "neutral", "text": "I built What’s Your IP..?, a web application that lets users inspect any IPv4 or IPv6 address and view detailed information including geolocation, ISP, ASN, hosting/proxy detection, timezone and more, all alongside an interactive Leaflet map. The most challenging part was integrating multiple APIs while keeping the UI responsive and making sure the map, loading states and data components stayed in sync throughout the lookup process. I’m especially proud of the overall UI, the modular component architecture and the smooth search experience. To test the project, simply open the site. On your first visit it automatically analyzes your current public IP. After that, you can enter any valid IP address in the search bar to inspect its details and see its approximate location on the interactive map.", "repo": "https://github.com/wtfisquantum/whats-your-ip", "demo": "https://whats-your-ip-human.vercel.app"}]...
|
[{"post_id": 55629, "ts": "202 [{"post_id": 55629, "ts": "2026-08-27T16:20:45Z", "hours": 9.2442, "text": "Continued working on the existing lookup system and made a few more improvements to both the frontend and backend Expanded the WHOIS integration further and added more of the raw registry information into the processed response The WHOIS section can now surface details such as the inetnum/IP range, network name, organization, country, abuse contact, admin and technical contacts, ASN, route and origin AS , along with the relevant registry information For example, an APNIC response can now expose information like the 2.2.2.2 - 2.2.255.255 address range, organization details, abuse mailbox, AS55836 route information and the corresponding network contacts instead of showing only basic IP metadata Refined the WHOIS parsing and presentation so the large responses are filtered and displayed in a much more readable format Worked on the backend again to make the lookup pipeline more reliable and prepared the system for the bigger location and website-tracking direction i’m planning to take this project towards Ran into another unexpected issue with the map tile provider, which recently started requiring an API key for requests even though the same setup had been working without one before. since buying a key isn’t really an option for this project, i’m currently looking into alternative tile providers that can work reliably without introducing another paid dependency Also ran into a few deployment issues while putting the updated backend and frontend online, but tracked them down, fixed the server-side and frontend build issues and got the complete application deployed successfully Did a final pass over the lookup flow, WHOIS data rendering and the rest of the interface to make sure everything was working together properly and that’s basically it for this version. the WHOIS system is now fully integrated and the project is live again. i’m also working on turning this into something more useful than just an IP lookup tool, with a proper location and website tracking workflow planned for the next few updates. :)"}, {"post_id": 49927, "ts": "2026-08-18T21:54:17Z", "hours": 6.5375, "text": "Continued working on the WHOIS integration and completed the main lookup flow, with the returned data now being properly processed and rendered inside the application Fixed an issue where some WHOIS responses contained special characters and percentage-encoded values that were being rendered directly as text, causing formatting issues. Added filtering and cleanup so these values are handled properly before reaching the UI Improved the overall WHOIS presentation with better typography, spacing and visual hierarchy so the large amount of returned information feels easier to scan Added more useful WHOIS information, including relevant registration and contact details that could help when looking for the appropriate organization or ISP contact for reporting network-related issues Made a few improvements to the Leaflet map experience as well, particularly around map spanning and tile loading performance Switched the map tile delivery to a faster CDN to reduce loading delays and make the interactive map feel more responsive Started experimenting with a proper theme toggle for the application. The initial approach uses CSS filters to test the dark/light transition, although image and color inversion still causes a few visual issues that need to be cleaned up The next step is to replace the experimental theme approach with a more reliable implementation and polish the remaining edge cases also started thinking about the bigger direction of the project. instead of keeping it purely as an educational IP intelligence experience, i’m considering turning it into an actual service that people could use for real networking, IP intelligence or troubleshooting workflows. still exploring the possibilities, but i think there could be something much more useful to build on top of what is already here."}, {"post_id": 46850, "ts": "2026-08-14T11:44:44Z", "hours": 2.6056, "text": "Started expanding the lookup experience beyond the existing Geolocation, System Context and Network sections by working on a complete WHOIS lookup system Researched how WHOIS data is structured and what kind of information can be extracted from IP registration records Explored and tested multiple APIs for retrieving WHOIS information and worked through the deployment and integration requirements Ran into a few CORS-related issues while testing the external services, so I spent some time debugging the requests and figuring out a reliable way to access the data from the frontend Eventually deployed my own API layer to handle the WHOIS requests and integrated that service into the application Started successfully retrieving WHOIS information for the searched IP addresses, including registration and network-related details Began designing the new WHOIS section so the returned information can be presented in a clean and readable way instead of dumping the raw API response Added the initial UI structure and data components for organizing the different WHOIS fields and making the information easier to understand Tested the complete flow from IP lookup - WHOIS API - processed response - formatted UI and fixed a few issues along the way there’s still more i want to do with the WHOIS section, especially around organizing and explaining some of the returned fields, but the core lookup and integration are now working properly and the next step is mostly about polishing the experience."}, {"post_id": 38049, "ts": "2026-07-31T07:20:40Z", "hours": 0.4856, "text": "Wrapped up the final release and deployed the latest version to Vercel Updated the live deployment URL, README and project documentation to reflect all of the latest changes Added a few final educational sections explaining: How geographic coordinates are determined from an IP address Why IP lookups are usually so fast How integer IP conversion works behind the scenes The expected accuracy of different pieces of IP metadata Created a dedicated accuracy comparison table so users can easily understand which fields are highly reliable and which are only approximate Fixed a handful of deployment-related issues that appeared during the production build before successfully publishing the updated version Cleaned up the remaining codebase, pushed the final commits and verified the complete lookup flow one last time The project is now live with both the interactive lookup experience and the in-depth networking documentation working together in a single interface really happy with how this turned out! if you get a chance to try it out, i’d love to hear your thoughts and feedback. there are already a few more ideas planned for future updates, so this definitely won’t be the last release :)"}, {"post_id": 38039, "ts": "2026-07-31T06:35:05Z", "hours": 0.8158, "text": "Continued expanding the networking documentation by adding a dedicated section on Autonomous Systems (ASNs) and Border Gateway Protocol (BGP) Researched how internet routing actually works beyond simple IP ownership and documented the relationship between IP addresses, IP prefixes, ASNs and Internet Service Providers Added step-by-step explanations showing how routers determine the correct destination network instead of routing directly to individual IP addresses Built a visual flow diagram illustrating the complete lookup pipeline: IP Address IP Prefix Origin Autonomous System ISP / Organization Simplified several networking concepts into beginner-friendly explanations while keeping the technical details accurate Refined the typography, spacing and content hierarchy to improve readability across the documentation page Continued maintaining design consistency by reusing existing components and styling patterns throughout the blog Spent additional time validating routing examples and ASN information to ensure the documentation reflects real-world networking concepts as closely as possible This section now serves as the foundation for explaining how global internet traffic is routed before moving into more advanced networking topics"}, {"post_id": 37764, "ts": "2026-07-30T17:57:51Z", "hours": 1.2481, "text": "Continued expanding the What’s Your IP Human documentation with a few more in-depth networking concepts Researched Regional Internet Registries (RIRs) and added a dedicated section explaining how global IP address allocation works Collected the official names, logos and branding assets for each registry and integrated them into the page to make the content more visual and easier to follow Added another section covering WHOIS records , explaining what they are, what information they contain and how they’re commonly used during IP lookups Designed new information grids and data cards with consistent borders, icons and spacing to improve readability while maintaining the overall design language of the application Fixed the documentation flow so every section now references the currently searched IP address instead of placeholder values, making the explanations feel much more contextual and easier to understand Started documenting the fundamentals of Autonomous Systems (ASN) and BGP routing , laying the groundwork for explaining how IP traffic is routed across the internet Spent some time experimenting with different approaches for visualizing networking concepts, including Mermaid diagrams , React Flow , and pure CSS-based layouts before deciding on the final direction Continued refining the overall design consistency so the documentation feels like a natural extension of the main application rather than a separate page More interactive diagrams and networking sections are planned once the final visualization approach is finalized"}, {"post_id": 37522, "ts": "2026-07-30T10:25:10Z", "hours": 0.96, "text": "Continued building the What’s Your IP Human documentation experience with a focus on making the lookup process easier to understand Completed the first major section explaining how everything starts , including: How a user’s public IP address is fetched What happens when a lookup request is made The initial request flow before any data is processed Added a highlighted example of the actual request payload to make the explanation easier to follow Documented a few common misconceptions around IP lookups and clarified what information can (and cannot) be determined from an IP address Built another section explaining how IP address ranges are allocated to different organizations, ISPs and cloud providers Researched and collected branding assets for major providers, then organized them into a structured dataset alongside their corresponding IP ranges Created reusable data structures to power the provider showcase and present everything in a clean, consistent layout Focused on keeping the new documentation visually consistent with the rest of the application by maintaining the same spacing, typography, colors and component styling throughout The core structure is now in place, with more sections planned to cover geolocation, network metadata, accuracy and the complete lookup pipeline"}, {"post_id": 36413, "ts": "2026-07-28T14:58:33Z", "hours": 1.8931, "text": "Started working on What’s Your IP Human ~ WYIPH experience after receiving feedback that people were interested in understanding what happens behind the scenes during an IP lookup Began building a dedicated “How it Works” page to explain: How IP information is collected Which data is returned directly by lookup providers The expected accuracy of different fields How geolocation and network information are determined Added a new “How it Works” action that replaces the interactive map with a dedicated documentation-style page Designed the initial landing section with a proper hero layout while keeping the overall design language consistent with the rest of the application Reused the current Leaflet map as a dynamic background to create a smoother transition between the dashboard and documentation page Focused on maintaining visual consistency across typography, spacing, colors and component styling so the new page doesn’t feel disconnected from the main interface Built the foundation for future sections that will document the complete lookup pipeline, data sources and processing flow in a much more transparent way More content and diagrams will be added in the next development session"}, {"post_id": 35052, "ts": "2026-07-26T07:10:39Z", "hours": 2.0586, "text": "spent some time giving the project a final polish before calling it done. cleaned up a few remaining ui inconsistencies, refactored parts of the component structure and simplified some of the rendering logic to make the codebase a bit easier to maintain. also fixed a handful of small bugs around ip lookups, improved error handling for invalid inputs and polished loading and transition states throughout the application. made a few tweaks to spacing, typography and responsive layouts so everything feels more consistent across different screen sizes. finished by doing another full pass over the project, removing some leftover code, improving overall stability and verifying the complete lookup workflow one last time before shipping."}, {"post_id": 33155, "ts": "2026-07-22T20:02:18Z", "hours": 0.7417, "text": "Wrapped up the remaining implementation work and cleaned up the entire codebase Fixed the remaining UI and CSS issues across the application Finished integrating all remaining React components and connected them with the existing data flow Completed the Leaflet map implementation and finalized the interactive location view Polished the overall lookup workflow to ensure everything works smoothly from search to map rendering Deployed the project to Vercel Ran into a deployment issue during the first build, tracked it down and resolved it, then successfully deployed the application Experimented with a clean light theme after deployment, but it didn’t feel quite right for the overall design Designed and implemented a complete dark theme and decided to make it the final look of the project Added the final polish, tested the complete application and verified that everything works as expected finally calling this one done! hope you all enjoy using it, and if you get a chance to check it out, i’d love to hear what you think :)"}, {"post_id": 33103, "ts": "2026-07-22T18:38:16Z", "hours": 1.0717, "text": "Implemented a proper loading experience while IP and geolocation data are being fetched Added dedicated loading states to provide a smoother and more responsive user experience Built reusable components for displaying fetched network information in a clean and structured layout Refactored the details section into individual rows to improve readability and maintainability Formatted the IP address by splitting it into individual octets for a more distinctive visual presentation Displayed detailed information returned by the IP lookup service, including: Mobile / Cellular detection Proxy and VPN status Hosting provider detection Geolocation data Timezone ISP and ASN information Country, region and city details Improved the overall presentation of network metadata with a cleaner information hierarchy Added support for both default and manual lookups: On the first visit, the application automatically fetches the user’s current public IP Afterward, users can search and analyze any valid IP address through the search interface Polished the overall data flow to ensure smooth transitions between loading, fetching and rendering states Fixed minor UI inconsistencies and improved component synchronization throughout the lookup workflow"}, {"post_id": 32485, "ts": "2026-07-21T18:18:14Z", "hours": 2.1939, "text": "Implemented interactive map support using Leaflet with OpenStreetMap tile layers Built the initial mapping system to visualize the user’s approximate location based on IP geolocation data Integrated an external IP geolocation API to automatically retrieve: Public IP address Approximate location ISP / Network provider Timezone and additional network metadata Refactored the frontend into reusable React components for improved maintainability and cleaner project architecture Created dedicated components for: Formatted IP address rendering Data rows Status badges Interactive map container Improved the data flow between the API layer and UI, making updates more predictable and easier to extend Polished the overall dashboard layout with better spacing, organization and information hierarchy Resolved rendering and state synchronization issues while connecting API responses to the map and interface Verified the complete end-to-end workflow from IP lookup → API response → data processing → map rendering → real-time UI updates Added the foundation for future location-based features by keeping the mapping and data-fetching layers modular and scalable"}]...
|
Title: Whats Your IP Human ~ WYIPH by @wtfisquantu Title: Whats Your IP Human ~ WYIPH by @wtfisquantum | Stardance
Devlogs:
Implemented interactive map support using Leaflet with OpenStreetMap tile layers Built the initial mapping system to visualize the user’s approximate location based on IP geolocation data Integrated an external IP geolocation API to automatically retrieve: Public IP address Approximate location ISP / Network provider Timezone and additional network metadata Refactored the frontend into reusable React components for improved maintainability and cleaner project architecture Created dedicated components for: Formatted IP address rendering Data rows Status badges Interactive map container Improved the data flow between the API layer and UI, making updates more predictable and easier to extend Polished the overall dashboard layout with better spacing, organization and information hierarchy Resolved rendering and state synchronization issues while connecting API responses to the map and interface Verified the complete end-to-end workflow from IP lookup → API response → data processing → map rendering → real-time UI updates Added the foundation for future location-based features by keeping the mapping and data-fetching layers modular and scalable
Implemented a proper loading experience while IP and geolocation data are being fetched Added dedicated loading states to provide a smoother and more responsive user experience Built reusable components for displaying fetched network information in a clean and structured layout Refactored the details section into individual rows to improve readability and maintainability Formatted the IP address by splitting it into individual octets for a more distinctive visual presentation Displayed detailed information returned by the IP lookup service, including: Mobile / Cellular detection Proxy and VPN status Hosting provider detection Geolocation data Timezone ISP and ASN information Country, region and city details Improved the overall presentation of network metadata with a cleaner information hierarchy Added support for both default and manual lookups: On the first visit, the application automatically fetches the user’s current public IP Afterward, users can search and analyze any valid IP address through the search interface Polished the overall data flow to ensure smooth transitions between loading, fetching and rendering states Fixed minor UI inconsistencies and improved component synchronization throughout the lookup workflow
Wrapped up the remaining implementation work and cleaned up the entire codebase Fixed the remaining UI and CSS issues across the application Finished integrating all remaining React components and connected them with the existing data flow Completed the Leaflet map implementation and finalized the interactive location view Polished the overall lookup workflow to ensure everything works smoothly from search to map rendering Deployed the project to Vercel Ran into a deployment issue during the first build, tracked it down and resolved it, then successfully deployed the application Experimented with a clean light theme after deployment, but it didn’t feel quite right for the overall design Designed and implemented a complete dark theme and decided to make it the final look of the project Added the final polish, tested the complete application and verified that everything works as expected finally calling this one done! hope you all enjoy using it, and if you get a chance to check it out, i’d love to hear what you think :)
spent some time giving the project a final polish before calling it done. cleaned up a few remaining ui inconsistencies, refactored parts of the component structure and simplified some of the rendering logic to make the codebase a bit easier to maintain. also fixed a handful of small bugs around ip lookups, improved error handling for invalid inputs and polished loading and transition states throughout the application. made a few tweaks to spacing, typography and responsive layouts so everything feels more consistent across different screen sizes. finished by doing another full pass over the project, removing some leftover code, improving overall stability and verifying the complete lookup workflow one last time before shipping.
Started working on What’s Your IP Human ~ WYIPH experience after receiving feedback that people were interested in understanding what happens behind the scenes during an IP lookup Began building a dedicated “How it Works” page to explain: How IP information is collected Which data is returned directly by lookup providers The expected accuracy of different fields How geolocation and network information are determined Added a new “How it Works” action that replaces the interactive map with a dedicated documentation-style page Designed the initial landing section with a proper hero layout while keeping the overall design language consistent with the rest of the application Reused the current Leaflet map as a dynamic background to create a smoother transition between the dashboard and documentation page Focused on maintaining visual consistency across typography, spacing, colors and component styling so the new page doesn’t feel disconnected from the main interface Built the foundation for future sections that will document the complete lookup pipeline, data sources and processing flow in a much more transparent way More content and diagrams will be added in the next development session
Continued building the What’s Your IP Human documentation experience with a focus on making the lookup process easier to understand Completed the first major section explaining how everything starts , including: How a user’s public IP address is fetched What happens when a lookup request is made The initial request flow before any data is processed Added a highlighted example of the actual request payload to make the explanation easier to follow Documented a few common misconceptions around IP lookups and clarified what information can (and cannot) be determined from an IP address Built another section explaining how IP address ranges are allocated to different organizations, ISPs and cloud providers Researched and collected branding assets for major providers, then organized them into a structured dataset alongside their corresponding IP ranges Created reusable data structures to power the provider showcase and present everything in a clean, consistent layout Focused on keeping the new documentation visually consistent with the rest of the application by maintaining the same spacing, typography, colors and component styling throughout The core structure is now in place, with more sections planned to cover geolocation, network metadata, accuracy and the complete lookup pipeline
Continued expanding the What’s Your IP Human documentation with a few more in-depth networking concepts Researched Regional Internet Registries (RIRs) and added a dedicated section explaining how global IP address allocation works Collected the official names, logos and branding assets for each registry and integrated them into the page to make the content more visual and easier to follow Added another section covering WHOIS records , explaining what they are, what information they contain and how they’re commonly used during IP lookups Designed new information grids and data cards with consistent borders, icons and spacing to improve readability while maintaining the overall design language of the application Fixed the documentation flow so every section now references the currently searched IP address instead of placeholder values, making the explanations feel much more contextual and easier to understand Started documenting the fundamentals of Autonomous Systems (ASN) and BGP routing , laying the groundwork for explaining how IP traffic is routed across the internet Spent some time experimenting with different approaches for visualizing networking concepts, including Mermaid diagrams , React Flow , and pure CSS-based layouts before deciding on the final direction Continued refining the overall design consistency so the documentation feels like a natural extension of the main application rather than a separate page More interactive diagrams and networking sections are planned once the final visualization approach is finalized
Continued expanding the networking documentation by adding a dedicated section on Autonomous Systems (ASNs) and Border Gateway Protocol (BGP) Researched how internet routing actually works beyond simple IP ownership and documented the relationship between IP addresses, IP prefixes, ASNs and Internet Service Providers Added step-by-step explanations showing how routers determine the correct destination network instead of routing directly to individual IP addresses Built a visual flow diagram illustrating the complete lookup pipeline: IP Address IP Prefix Origin Autonomous System ISP / Organization Simplified several networking concepts into beginner-friendly explanations while keeping the technical details accurate Refined the typography, spacing and content hierarchy to improve readability across the documentation page Continued maintaining design consistency by reusing existing components and styling patterns throughout the blog Spent additional time validating routing examples and ASN information to ensure the documentation reflects real-world networking concepts as closely as possible This section now serves as the foundation for explaining how global internet traffic is routed before moving into more advanced networking topics
Wrapped up the final release and deployed the latest version to Vercel Updated the live deployment URL, README and project documentation to reflect all of the latest changes Added a few final educational sections explaining: How geographic coordinates are determined from an IP address Why IP lookups are usually so fast How integer IP conversion works behind the scenes The expected accuracy of different pieces of IP metadata Created a dedicated accuracy comparison table so users can easily understand which fields are highly reliable and which are only approximate Fixed a handful of deployment-related issues that appeared during the production build before successfully publishing the updated version Cleaned up the remaining codebase, pushed the final commits and verified the complete lookup flow one last time The project is now live with both the interactive lookup experience and the in-depth networking documentation working together in a single interface really happy with how this turned out! if you get a chance to try it out, i’d love to hear your thoughts and feedback. there are already a few more ideas planned for future updates, so this definitely won’t be the last release :)
Started expanding the lookup experience beyond the existing Geolocation, System Context and Network sections by working on a complete WHOIS lookup system Researched how WHOIS data is structured and what kind of information can be extracted from IP registration records Explored and tested multiple APIs for retrieving WHOIS information and worked through the deployment and integration requirements Ran into a few CORS-related issues while testing the external services, so I spent some time debugging the requests and figuring out a reliable way to access the data from the frontend Eventually deployed my own API layer to handle the WHOIS requests and integrated that service into the application Started successfully retrieving WHOIS information for the searched IP addresses, including registration and network-related details Began designing the new WHOIS section so the returned information can be presented in a clean and readable way instead of dumping the raw API response Added the initial UI structure and data components for organizing the different WHOIS fields and making the information easier to understand Tested the complete flow from IP lookup - WHOIS API - processed response - formatted UI and fixed a few issues along the way there’s still more i want to do with the WHOIS section, especially around organizing and explaining some of the returned fields, but the core lookup and integration are now working properly and the next step is mostly about polishing the experience.
Continued working on the WHOIS integration and completed the main lookup flow, with the returned data now being properly processed and rendered inside the application Fixed an issue where some WHOIS responses contained special characters and percentage-encoded values that were being rendered directly as text, causing formatting issues. Added filtering and cleanup so these values are handled properly before reaching the UI Improved the overall WHOIS presentation with better typography, spacing and visual hierarchy so the large amount of returned information feels easier to scan Added more useful WHOIS information, including relevant registration and contact details that could help when looking for the appropriate organization or ISP contact for reporting network-related issues Made a few improvements to the Leaflet map experience as well, particularly around map spanning and tile loading performance Switched the map tile delivery to a faster CDN to reduce loading delays and make the interactive map feel more responsive Started experimenting with a proper theme toggle for the application. The initial approach uses CSS filters to test the dark/light transition, although image and color inversion still causes a few visual issues that need to be cleaned up The next step is to replace the experimental theme approach with a more reliable implementation and polish the remaining edge cases also started thinking about the bigger direction of the project. instead of keeping it purely as an educational IP intelligence experience, i’m considering turning it into an actual service that people could use for real networking, IP intelligence or troubleshooting workflows. still exploring the possibilities, but i think there could be something much more useful to build on top of what is already here.
Continued working on the existing lookup system and made a few more improvements to both the frontend and backend Expanded the WHOIS integration further and added more of the raw registry information into the processed response The WHOIS section can now surface details such as the inetnum/IP range, network name, organization, country, abuse contact, admin and technical contacts, ASN, route and origin AS , along with the relevant registry information For example, an APNIC response can now expose information like the 2.2.2.2 - 2.2.255.255 address range, organization details, abuse mailbox, AS55836 route information and the corresponding network contacts instead of showing only basic IP metadata Refined the WHOIS parsing and presentation so the large responses are filtered and displayed in a much more readable format Worked on the backend again to make the lookup pipeline more reliable and prepared the system for the bigger location and website-tracking direction i’m planning to take this project towards Ran into another unexpected issue with the map tile provider, which recently started requiring an API key for requests even though the same setup had been working without one before. since buying a key isn’t really an option for this project, i’m currently looking into alternative tile providers that can work reliably without introducing another paid dependency Also ran into a few deployment issues while putting the updated backend and frontend online, but tracked them down, fixed the server-side and frontend build issues and got the complete application deployed successfully Did a final pass over the lookup flow, WHOIS data rendering and the rest of the interface to make sure everything was working together properly and that’s basically it for this version. the WHOIS system is now fully integrated and the project is live again. i’m also working on turning this into something more useful than just an IP lookup tool, with a proper location and website tracking workflow planned for the next few updates. :)
Ships:
I built What’s Your IP..?, a web application that lets users inspect any IPv4 or IPv6 address and view detailed information including geolocation, ISP, ASN, hosting/proxy detection, timezone and more, all alongside an interactive Leaflet map. The most challenging part was integrating multiple APIs while keeping the UI responsive and making sure the map, loading states and data components stayed in sync throughout the lookup process. I’m especially proud of the overall UI, the modular component architecture and the smooth search experience. To test the project, simply open the site. On your first visit it automatically analyzes your current public IP. After that, you can enter any valid IP address in the search bar to inspect its details and see its approximate location on the interactive map.
I built What’s Your IP Human (WYIPH), an educational IP intelligence tool that not only lets you inspect IPv4 and IPv6 addresses, but also explains what’s happening behind the scenes. Alongside detailed lookup information like geolocation, ISP, ASN, proxy/hosting detection and network metadata, the project includes an interactive documentation experience that walks through concepts such as WHOIS, Regional Internet Registries, Autonomous Systems, BGP routing, coordinate generation, IP accuracy and much more. The biggest challenge was making complex networking concepts understandable without oversimplifying them. I spent a lot of time researching official documentation, verifying information, and designing the interface so users could learn how IP lookups actually work instead of treating the results as a black box. Keeping the documentation visually consistent with the lookup experience while integrating interactive elements like Leaflet maps was another fun challenge. I’m most proud of turning what started as a simple IP lookup tool into something educational. Instead of only displaying data, it explains where the data comes from, how reliable it is, and why different services return different results. Hopefully it helps people learn a little more about how the Internet actually works. To test it, simply open the website. On your first visit it automatically analyzes your current public IP address. You can then search for any valid IPv4 or IPv6 address, explore the interactive map, and switch to the How it Works section to dive into the networking concepts behind each piece of information displayed. Feedback is always welcome, and I already have a few more features planned for future updates! if you enjoyed exploring the project, i’d really appreciate a good rating! ❤️ my last project didn’t receive many ratings, so i’m hoping this one reaches a few more people. i genuinely enjoy building technical and educational projects that explain how things work under the hood, and i hope that comes across in this one. there are already more updates planned, so if you like the project, consider following it and leaving a rating. every bit of feedback helps me make it even better. thank you! :)
I built What’s Your IP Human (WYIPH) , an IP intelligence and networking exploration tool that lets you inspect IPv4 and IPv6 addresses while also showing what happens behind the scenes. The project provides detailed information such as geolocation, ISP, ASN, proxy and hosting detection, network metadata and now a much more complete WHOIS lookup experience. One of the biggest updates in this version was expanding the WHOIS system. I researched different WHOIS APIs, worked through CORS and deployment issues, and eventually built and deployed my own API layer to reliably process the registry data. The application can now surface information such as IP ranges, network and organization details, registry information, abuse contacts, administrative and technical contacts, routes and origin AS information, while filtering and formatting the raw responses into something much easier to understand. I also spent a lot of time improving the overall experience around this data. The WHOIS results have been redesigned into structured sections instead of displaying raw registry responses, while the existing geolocation and network information continues to work alongside the interactive Leaflet map. I also worked on the backend and deployment setup to make the whole lookup pipeline more reliable. The project has also started moving beyond being just an educational IP lookup tool. I’m currently experimenting with turning it into a more practical service for location and website tracking, with several ideas planned for future versions. To test it, simply open the website and it will automatically look up your current public IP on your first visit. You can then search for any valid IPv4 or IPv6 address and explore its geolocation, network information and WHOIS data. The How it Works section is also available if you want to understand the networking concepts behind the information being displayed. The project is now live and ready to try! I’d really appreciate it if you could check it out, leave a rating and let me know what you think. ❤️ last time i got some decent feedback on my project, but it was still pretty limited, so i’m hoping this one reaches a few more people. i genuinely enjoy building technical and educational projects that explain how things work under the hood, and i hope that comes across in this one. There are already quite a few more ideas in my head for where this can go next, so this definitely isn’t the final version. Thanks for checking it out and supporting the project! :)...
|
1792986878.925749
|
1793073278.925749
|
|
37294
|
Voxelized by @luxi | Stardance
|
luxi
|
3
|
59.0
|
594
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-06T15:25:38Z", "hours": 16.0, "multiplier": 10.96, "payout": 90, "blessing": "neutral", "text": "I’ve finished another release of the voxel engine, it’s more optimized, has volumetric clouds, light sources and procedural generation.", "repo": "https://github.com/nixuntris/Voxelized", "demo": "https://github.com/nixuntris/Voxelized/releases"}, {"ship_num": 2, "ts": "2026-09-01T15:53:27Z", "hours": 20.0, "multiplier": 13.94, "payout": 279, "blessing": "neutral", "text": "I implemented GUI, more varied scenes, reflections to the water Along with general QOL and it should be slightly faster than before. I worked on documenting the technical details as well", "repo": "https://github.com/nixuntris/Voxelized", "demo": "https://github.com/nixuntris/Voxelized/releases"}, {"ship_num": 3, "ts": "2026-08-22T00:02:33Z", "hours": 23.0, "multiplier": 11.55, "payout": 225, "blessing": "neutral", "text": "I’ve implemented a software raytracer that runs on the CPU in real time. It’s quite heavy still so a beefy system is recommended. (I use a 5950x). It uses avx2 to speed up the direction calculations along with a low level ray pass (the complete list of functionality is listed in the release description on github)", "repo": "https://github.com/nixuntris/Voxelized", "demo": "https://github.com/nixuntris/Voxelized/releases"}]...
|
[{"post_id": 77319, "ts": "202 [{"post_id": 77319, "ts": "2026-10-06T15:13:15Z", "hours": 1.5731, "text": "I implemented a chunk based acceleration tree, so that only chunks within the radius of the light get lit. Not that much. Been busy with school and studying math. I will be working on documenting the technical changes since the last blog post. Currently just releasing since a lot of hours accumulated since the last release"}, {"post_id": 68531, "ts": "2026-09-15T08:34:43Z", "hours": 3.5928, "text": "I have implemented lights, currently they are pixel pixel. Not going with per voxel probes, too expensive. Probably gonna do irradiance 8^3 probes. Very simple not yet optimized"}, {"post_id": 64404, "ts": "2026-09-08T19:12:52Z", "hours": 2.1897, "text": "I’ll let the video speak for itself"}, {"post_id": 63546, "ts": "2026-09-07T13:52:14Z", "hours": 2.6008, "text": "I’ve implemented gradual world gen, so instead of generating all at once they get generated on demand. Currently it’s still constrained to a specific size but I will fix it by changing to a hashmap. I need to also implement chunk prioritization for better experience and multi thread it better."}, {"post_id": 62385, "ts": "2026-09-05T18:31:27Z", "hours": 6.4331, "text": "Clouds and more optimizations. I store 2 pre-calculated noise maps, one is height, the other is density I use them in combination to create clouds"}, {"post_id": 59644, "ts": "2026-09-01T15:49:00Z", "hours": 7.4706, "text": "I have implemented more different world types, gui improvements, water reflections, world loading and unloading etc… Mostly general optimizations and QOL improvements rather than a deep technique. Something I plan for the release after this one"}, {"post_id": 57639, "ts": "2026-08-29T20:56:01Z", "hours": 5.1456, "text": "I implemented larger worlds and a very basic menu to choose it’s size. Along with the ability to dynamically change resolutions, (currently controllable by keyboard but I want to make a full ui for all the graphical stuff). I removed trees as I want to move towards space colonization and ones that will actually look good. Overall rendering a world that is 4096^2x512 is not much slower than 8192^2x512 thanks to distance fields. I am moving forward with getting acceptable performance for a game, but it’s still not perfect. Also superliminal gave me a license to their cpu debugging software suite for free ;) so it will get fine tuned after I have all techniques implemented"}, {"post_id": 56222, "ts": "2026-08-27T21:51:26Z", "hours": 2.3972, "text": "I’ve been working on documenting my ray tracer further. Here’s a link to my blog post explaining the technical details: https://nixuntris.github.io/Private-Website/blueprint.html?id=raytracer"}, {"post_id": 53363, "ts": "2026-08-23T21:40:11Z", "hours": 5.0497, "text": "I implemented colored lighting, and light absorption, eg different materials absorb different amounts of light along with light diffusion so that light scatters, I am working on an upscaler and on demand probe allocation(it’s easily the heaviest part of the storage). I also implemented quantizing distance4 values to consume less memory. I also speed up world generation and multithreaded it. Overall focusing on memory storage. It’s very buggy rn however so a lot of bug fixing incoming"}, {"post_id": 51979, "ts": "2026-08-21T23:48:26Z", "hours": 6.6522, "text": "I’ve been optimizing the project. Now it can handle much larger render distances, at higher fps and I added deduping along with light absorption per material. It’s highly experimental but it works. I’ve improved on the terrain gen a bit more so that the scene is a bit more complex. I also finished lods. I am preping the ship"}, {"post_id": 51054, "ts": "2026-08-20T15:15:56Z", "hours": 2.9011, "text": "I’ve been working on optimizing the renderer and the world structure and acceleration data generation. I’ve implemented that low resolution pass, screen space lods that calculate the distance to start based on resolution and fovy. Along with just making the algorithm faster. I added secondary rays that use per voxel data as it’s faster to calculate (so a cheat code in a way because per pixel shadows are more expensive) they are only a visibility check for now. Along with speeding up the world gen and adding actual tree crowns. I plan on simiding the rays themself now along with the fact that speeding up world gen and making it more interesting is one of my more important tasks along with implementing proper global illumination and upscaling(there is a partial simple implementantion however it does no edge detection and smoothing). This is all running on a 5950x at 1000x1000 resolution at about 40-45 fps average (yes I know a frame time should be given instead of fps but I haven’t yet exactly built a debugger for it) however at 80% internal resolution it’s about 50-60 fps."}, {"post_id": 49233, "ts": "2026-08-17T21:58:24Z", "hours": 13.7969, "text": "I’ve been working on a realtime CPU voxel raytracer. It utilizes raymarching combined with multi level DDA for fast primary rays. I calculate distance fields stored in an octree format to optimize the raymarcher. I simded the ray direction calculation and multithreaded it. It utilizes checkerboard rendering while keeping the quality seemless. Every even frame gets to use odd’s frame distance, to speed up the traversal speeds. I want to implement a low level traversal algorithm for odd frames to speed up their traversal as well. Sadly I am not yet ready to blog but I am forced to as to not lose more hours. I tried to experiment with more techniques but I decided to still go with raytracing as I already have anotehr rasterization project going on."}]...
|
Title: Voxelized by @luxi | Stardance
Devlogs:
I’ Title: Voxelized by @luxi | Stardance
Devlogs:
I’ve been working on a realtime CPU voxel raytracer. It utilizes raymarching combined with multi level DDA for fast primary rays. I calculate distance fields stored in an octree format to optimize the raymarcher. I simded the ray direction calculation and multithreaded it. It utilizes checkerboard rendering while keeping the quality seemless. Every even frame gets to use odd’s frame distance, to speed up the traversal speeds. I want to implement a low level traversal algorithm for odd frames to speed up their traversal as well. Sadly I am not yet ready to blog but I am forced to as to not lose more hours. I tried to experiment with more techniques but I decided to still go with raytracing as I already have anotehr rasterization project going on.
I’ve been working on optimizing the renderer and the world structure and acceleration data generation. I’ve implemented that low resolution pass, screen space lods that calculate the distance to start based on resolution and fovy. Along with just making the algorithm faster. I added secondary rays that use per voxel data as it’s faster to calculate (so a cheat code in a way because per pixel shadows are more expensive) they are only a visibility check for now. Along with speeding up the world gen and adding actual tree crowns. I plan on simiding the rays themself now along with the fact that speeding up world gen and making it more interesting is one of my more important tasks along with implementing proper global illumination and upscaling(there is a partial simple implementantion however it does no edge detection and smoothing). This is all running on a 5950x at 1000x1000 resolution at about 40-45 fps average (yes I know a frame time should be given instead of fps but I haven’t yet exactly built a debugger for it) however at 80% internal resolution it’s about 50-60 fps.
I’ve been optimizing the project. Now it can handle much larger render distances, at higher fps and I added deduping along with light absorption per material. It’s highly experimental but it works. I’ve improved on the terrain gen a bit more so that the scene is a bit more complex. I also finished lods. I am preping the ship
I implemented colored lighting, and light absorption, eg different materials absorb different amounts of light along with light diffusion so that light scatters, I am working on an upscaler and on demand probe allocation(it’s easily the heaviest part of the storage). I also implemented quantizing distance4 values to consume less memory. I also speed up world generation and multithreaded it. Overall focusing on memory storage. It’s very buggy rn however so a lot of bug fixing incoming
I’ve been working on documenting my ray tracer further. Here’s a link to my blog post explaining the technical details: https://nixuntris.github.io/Private-Website/blueprint.html?id=raytracer
I implemented larger worlds and a very basic menu to choose it’s size. Along with the ability to dynamically change resolutions, (currently controllable by keyboard but I want to make a full ui for all the graphical stuff). I removed trees as I want to move towards space colonization and ones that will actually look good. Overall rendering a world that is 4096^2x512 is not much slower than 8192^2x512 thanks to distance fields. I am moving forward with getting acceptable performance for a game, but it’s still not perfect. Also superliminal gave me a license to their cpu debugging software suite for free ;) so it will get fine tuned after I have all techniques implemented
I have implemented more different world types, gui improvements, water reflections, world loading and unloading etc… Mostly general optimizations and QOL improvements rather than a deep technique. Something I plan for the release after this one
Clouds and more optimizations. I store 2 pre-calculated noise maps, one is height, the other is density I use them in combination to create clouds
I’ve implemented gradual world gen, so instead of generating all at once they get generated on demand. Currently it’s still constrained to a specific size but I will fix it by changing to a hashmap. I need to also implement chunk prioritization for better experience and multi thread it better.
I’ll let the video speak for itself
I have implemented lights, currently they are pixel pixel. Not going with per voxel probes, too expensive. Probably gonna do irradiance 8^3 probes. Very simple not yet optimized
I implemented a chunk based acceleration tree, so that only chunks within the radius of the light get lit. Not that much. Been busy with school and studying math. I will be working on documenting the technical changes since the last blog post. Currently just releasing since a lot of hours accumulated since the last release
Ships:
I’ve implemented a software raytracer that runs on the CPU in real time. It’s quite heavy still so a beefy system is recommended. (I use a 5950x). It uses avx2 to speed up the direction calculations along with a low level ray pass (the complete list of functionality is listed in the release description on github)
I implemented GUI, more varied scenes, reflections to the water Along with general QOL and it should be slightly faster than before. I worked on documenting the technical details as well
I’ve finished another release of the voxel engine, it’s more optimized, has volumetric clouds, light sources and procedural generation....
|
1792983353.2449896
|
1793069753.2449896
|
|
38164
|
Determinist by @Mate1166 | Stardance
|
Mate1166
|
3
|
83.0
|
503
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-16T23:53:05Z", "hours": 38.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Determinist Determinist is a deterministic password generator that lets you recover forgotten passwords easily, given that you remember a master password, and a few things about your lost password. Features CLI and Web interface, featuring a PWA that also works offline Three algorithm versions to choose from A preset system Generated passwords are identical on both the website and the CLI Fully local generation Presets The presets use the TOML format, which is very user-friendly and easy to edit. The presets have multiple categories inside them like ‘general’ (for the algorithm version and password length), ‘preset’ (the preset name, description and whether it is set as defaul), and version specific ones like ‘v3’, which has the settings for the v3 algorithm. If you’re unsure how to edit preset files, you can also just export your settings from the website, and use it across all versions of Determinist! To Reviewers Please, test both the CLI and the website (if possible), and provide feedback on User Experience if you encountered any issues, include that in the review. You can even suggest features, and I may implement them :) Thank you!", "repo": "https://github.com/szentpeterimate/Determinist", "demo": "https://szentpeterimate.github.io/determinist/"}, {"ship_num": 2, "ts": "2026-08-13T14:20:06Z", "hours": 29.0, "multiplier": 14.15, "payout": 412, "blessing": "neutral", "text": "Well, it’s official: Determinist now has a website! Features: Easy to use interface Straightforward settings 1:1 compatibility with the CLI Fully client-side The only thing that hasn’t made it into the website (yet) is the preset system, just like with the CLI, I’m adding that later as the web UI is already really easy to use. And now the less technical bit… It’s been an incredible journey, Determinist has been my dream project for a few years now, and it’s really amazing how I can share it with the world now that it’s done. Just to mention a few things I learned from this project: Testing Proper git usage Cryptography JavaScript These are things I wouldn’t really have learned without Determinist. Sure, I could have done so, but not this fast and effectively. I must thank those who supported the project, who liked the devlogs, and of course the reviewers who gave their opinion on the CLI. Because of your feedback, I made Determinist even easier to use now, and I will continue doing so. Version 3 of the algorithm is on its way, as well as the preset system for the web. Thank you everyone!", "repo": "https://github.com/szentpeterimate/Determinist", "demo": "https://szentpeterimate.github.io/determinist/"}, {"ship_num": 3, "ts": "2026-08-01T18:32:59Z", "hours": 16.0, "multiplier": 6.15, "payout": 91, "blessing": "neutral", "text": "Determinist is a password generator made for people who often forget or leave passwords behind, just like me. A few years ago I was on vacation when I wanted to log into a website. However, the password for it was left at home on my PC, which I didn’t bring with myself. Of course, I could’ve just reset the password, but that would’ve been worse since I’d still have mismatched passwords. Determinist solves that. It uses a deterministic algorithm to take your inputs, and generate you a password you can recover anytime, anywhere. The only thing you need to remember is your master passphrase, which site you want to log in, and a few additional settings. (presets coming soon!) I had a lot of fun with this project, and it taught me quite a bit about encryption, randomness, and most importantly how a real-world project functions. (I do have to mention my initial struggle with Typer though, I would not want to wish that on my worst enemy.) With that being said, I hope you’ll have your password problems solved, and that you’ll enjoy using Determinist! Have fun!", "repo": "https://github.com/szentpeterimate/Determinist", "demo": "https://szentpeterimate.github.io/determinist/"}]...
|
[{"post_id": 80257, "ts": "202 [{"post_id": 80257, "ts": "2026-10-16T23:42:22Z", "hours": 1.6311, "text": "Determinist // Devlog 16 // 2026.09.17. Version 1.0.0 is out, and this is my final devlog. Well, it finally arrived. Version 1.0.0. This is where active development stops. Of course, I will still fix issues and implement features suggested by you guys, but I probably won’t be adding any by myself. Stardance has been a great inspiration for me, not only to make this project, but to keep going and coming back to doing what I love: coding, and making things for others. I am very happy with how Determinist turned out, despite the difficulties and me being busy with school. But enough of this, what was changed since my last devlog? Changes Updated the documentation to show that a PWA is available to install Fixed various bugs and style inconsistencies Added a description of the generation process to the website Added a Copy to Clipboard toggle Added an Export as Preset button Removed Google Fonts connections What’s next? Nothing. I’d like to thank everyone who had a chance to try and use Determinist. Everyone who reviewed it and even you, the one reading this devlog :) Y’all have showed me that things I make can and are useful for others. See you in the next Hack Club program!"}, {"post_id": 79995, "ts": "2026-10-15T20:30:50Z", "hours": 5.9489, "text": "Determinist // Devlog 15 // 2026.09.15. A few design changes, and a brand new section on the website! Design I have fixed several design issues I noticed and did not like. Just to mention a few, there was unnecessary overflow on mobile devices, the spacing was off on several elements, and the width of the file input field was also too big. The Wall of Text™ It isn’t that big to be fair, it just explains how Determinist works, split into the 3 versions of the generation algorithm. I didn’t want to copy the page I had linked in the README, so I just wrote it down again and tried wording it better. Additionally, I tried to preserve the original one page, no scroll design by placing the About section below the actual app, so you have to scroll to see it. Other changes I refactored parts of the web code as the Generator element was getting really long, above 500 lines. I moved the algorithms out to a separate importable module, and I placed it along with the python-random module into a self-explanatory modules directory. I’ve also moved generror.jsx and presethandler.jsx into their own handlers/ directory, and the two specialized input fields into an inputs/ directory. Overall, this change makes the code way easier to read. The preset generator works now as well, just click the “Export as Preset” button below “Generate”, name the preset and the preset will be downloaded for you! You can also toggle on a “Copy to Clipboard” feature which allows you to automatically copy your generated password to your clipboard. Pretty neat! What’s next? Bug fixes Auto clear password popup"}, {"post_id": 77686, "ts": "2026-10-07T21:23:27Z", "hours": 2.1339, "text": "Determinist // Devlog 14 // 2026.09.06. Finally, I figured out how to make the site work offline… The process After working on the PWA for way longer than I expected, it finally works as intended! After I’ve figured out how to use next-pwa , I encountered an issue: the site was being cached and loaded correctly in the browser but not when installed as a PWA. I rewrote multiple parts of the code for it to work, yet it did not. In the end, it was the unsecured connections that were at fault. Discovering that, I have learned to use something new again: Localtunnel, which allows me to use a valid (not self-signed) HTTPS connection while testing. This uncovered even more issues with my code, the most obvious being the fact that fonts were not cached at all. This was because I was getting my fonts by connecting to fonts.google.com . This was a really easy thing to fix though, as Next.js already has a next/fonts/google library that had the fonts I used, and now everything works well. What’s next? Bug fixes Descriptions Preset Generator Auto Copy to Clipboard toggle"}, {"post_id": 73593, "ts": "2026-09-25T13:12:35Z", "hours": 4.1403, "text": "Determinist // Devlog 13 // 2026.09.25. Quite a few issues, but apparently it works… Progressive Web App Well, making Determinist a PWA certainly took way longer than expected. I thought it would be an hour at most, I mean Next.js literally has a guide that tells me what to do step-by-step. It was in fact NOT easy. I encountered a ton of problems. First off, I had to write a manifest which had the app name, icons etc., the obvious things. What was not obvious however was that I had multiple ways of doing that. I could write a JSON file, or write a JavaScript file that exports an object. I chose the latter as it was the version that the Next.js guide was using. Then came the icons. Oh, the icons. I made my icons and put it in the public/ directory with the correct names so that they match the manifest. Cool, works when I share it but there is no icon when I add it to my home screen on my iPhone. It said I’m missing a file called apple-touch-icon and apple-touch-icon-precomposed . Cool, I duplicated the icons and I renamed them. No 404s, but it still did not work. I look for a solution. For hours. I look at Next.js docs, YouTube, StackOverflow, Reddit, GitHub issues and there is nothing that would fix it. Finally, I found out I need to link the icon in the head of the website. Great, but still doesn’t work. Turns out, the problem was that I was following the Next.js guide which told me to use HTTPS to test the PWA, but iOS does not trust self-signed keys so it did not download the icon. After that, the generation broke when I was connecting to the site with the IP and not through localhost . I noticed that submitting (pressing the generate button) redirected me which should not have happened due to the line e.preventDefault() . Then I saw Next.js attempting to connect a websocket, and a bunch of 403 errors that weren’t there before. I spent quite a bit of time debugging that, and it was due to not adding my IP to allowedDevOrigins in the next.config.mjs file despite it working perfectly fine before. The Icon As you can see, the image I decided to include in my devlog is the icon for Determinist. I actually did not think of putting the D and the E together at first, but when I did, it reminded me of a lock (hope you can see it!) and I chose to keep it as it kind of fits. And I didn’t want a solid color background, so I decided I’ll just add the name repeating. It was fun making it, and it was also a very good way to practice using Illustrator. What’s next? Making the PWA work offline Bug fixes Descriptions Preset Generator Auto Copy to Clipboard toggle"}, {"post_id": 69184, "ts": "2026-09-16T15:26:59Z", "hours": 5.1517, "text": "Determinist // Devlog 12 // 2026.09.16. Well, it took me more than a week, but the v3 algorithm is on the website! CLI Update I have published version 0.5.2 of the Python CLI, which fixed a few issues I found (you can see them on the GitHub page!), and added actual functionality to the default presets. You can also report issues on the GitHub page, and it is highly appreciated. What changed? I added the v3 algorithm, after a bit of tinkering with the error handling. My problem was that the error handling wasn’t really dynamic. It couldn’t handle the invalid input errprs from v3, so I made a separate component. I also had to learn how to use HKDF on the client side, which was actually easier to do than I expected, although the actual usage of HKDF was a bit more complicated than it is in Python. What’s next? Bug fixes Descriptions Preset Generator PWA Implementation Auto Copy to Clipboard toggle"}, {"post_id": 63122, "ts": "2026-09-06T19:06:33Z", "hours": 8.5219, "text": "Determinist // Devlog 11 // 2026.09.06. After the first week of school, I have finished work on the CLI, and Determinist 0.5.1 is released! Changes Added presets create command Changed preset option to allow selection in one line Changed the presets list to show invalid files in the configuration directory Added password generation errors Fixed bugs: The password being allowed to have less characters than the sum of the minimum required characters is fixed The g prefix from the commit hash is now removed Various preset error handling issues have been fixed Presets are now not required to have all the versions inside them What’s taking so long? Is Determinist done? Firstly, I just started school, so I got very busy lately and that is why I haven’t been doing much work. As a compensation, v3 of the algorithm is now available on GitHub !! This is version 0.5.1, which is a pretty big jump if you look at the versions before. However, there is a reason for that: active development of Determinist is going to stop once version 1.0.0 comes out, with all the new features and fixes being ported to the website. This will come out in the next week or so. Determinist will still be updated here and there if I miss some features or people have suggestions and issues, but I will be mainly focusing on other projects. Latest development stuff The preset creation was actually pretty easy. I figured I’ll reuse the options from the generate command so I don’t have to write them manually again, and it worked amazing! I had to add to the PresetHandler to make it work, and that was really simple as well. I first thought of adding strings together, but then I realized I could just create dictionaries that my TOML library can convert to TOML and write them to the preset, so I didn’t have to do all the writing myself. The bug fixes weren’t interesting at all, honestly. I messed around with Determinist, found bugs and issues and I fixed them. My favorite one was debugging errors with the preset commands however. I found a bunch of things worth fixing, and in the end I made another helper function, as well as changing how check_file_type works. To do Port everything over to the website Add more text to the website explaining Determinist and how it works"}, {"post_id": 55761, "ts": "2026-08-27T19:06:48Z", "hours": 4.7333, "text": "Determinist // Devlog 10 // 2026.08.27 Updates here and there, and the v3 algorithm is finally complete! All of this and the content of the rest of the devlogs will only be released with the final 1.0.0 release of Determinist. Changes Added v3 algorithm for the Python CLI It features dynamic byte generation so that no matter what, you’ll never run out of characters! (Unless you’re VERY unlucky) You can now enter a third value called a “differentiator” that can be used to change the output further. This is especially useful if you have multiple accounts on the same site. This option can be left empty Your generated password is now guaranteed to have the correct amount of characters You can now set a minimum amount of characters of each type! Simply enter 0 to exclude the character type, and 1 or above to choose how many characters your password have minimum of that type. Made generate prompt only prompt users if the prompts are applicable. This means you will no longer be prompted for the settings of v1 when you use one of the other two algorithms. Fixed an issue where if the site_name option is omitted, the prompt will display Master pass instead of the correct prompt. The difficulties Well, of course the development of v3 came with some challenges. Firstly, I had to figure out how to actually generate enough bytes to pass rejection sampling (making sure no bytes are out of range when mapped onto the character set), as the previous implementation was that I multiplied the password length by 32. This worked, but wasn’t pretty and in very rare and unlucky cases, there weren’t enough bytes. I fixed this by using something called HKDF, which stands for HMAC-based Extract-and-Expand Key Derivation Function. I’d really prefer to use HKDF. Anyway, this function was really good for this task, as it can take the Argon2 output and create a long, pseudo-random key that can go through rejection sampling, and finally end up in the password. In case this generated key is not enough, HKDF will generate more of it, essentially giving us infinite bytes to then map to our characters. This was especially good because in the same loop I could implement… Minimum requirements This should have been easy, but it took me a day to think about how to do it. The challenge: take a dictionary ( {\"lowercase\": 2, \"uppercase\": 3, \"special\": 1, \"digits\": 0} ), and include at least as many characters of each type as their value in that dictionary says, and if it’s 0 then don’t include it at all. Fine, I said, but I didn’t actually know how to implement this. After a day of thinking, it finally clicked: I implement this in the rejection sampling loop, as that is where my characters get added. Introducing the _construct_pass function: it looks for the already added characters, determines the type of the current character, counts how many are missing, and if a character type is missing some characters or there aren’t any left, the character is added, and otherwise it is discarded. To do Add a preset generator command Fix a g prefix appearing in the version command output before the git commit hash Add the ability to choose a preset in one line instead of being prompted for it Fix the password being allowed to be shorter than the sum of minimum required characters (I found that one while writing this) Port everything over to the website Update the docs Add more text to the website explaining Determinist and how it works"}, {"post_id": 52485, "ts": "2026-08-22T16:59:34Z", "hours": 6.1439, "text": "Determinist // Devlog 9 // 2026.08.22 Long time no see y’all, sorry for the wait! I’m on vacation so I had less time to work on the project, but I did bring some amazing improvements. Announcement The website is officially up and works identically to the CLI, now with presets! Just load your TOML presets into the website, and they will be saved for you to reuse! Important note: they are saved locally, therefore you will not see them on different devices unless you import them there too. Changes Added the preset system to the website! You can now import and use presets, and you can easily remove them if needed. Adjusted the UI so that it fits most (if not all) screens. The smallest screen I tested was an iPhone SE. The Challenges There actually weren’t a lot of challenges for once. The biggest one was that I forgot to work on the project while on vacation, but that’s not horrible. And then came React, JavaScript and everything else… firstly, the preset loading was actually really easy, I did however fight with React about passing values from a child component to the parent. And then it turned out I forgot to make it actually pleasant to use, as I had to select the preset file every time I wanted to load it. Now you can save, select and load your presets on the website. However, React had other plans. I finally learned how React’s useEffect hook works, and using it is pretty easy now that I get what I’m doing. Along with this, I also properly learned about using functions inside useState for lazy initialization which I needed for localStorage . Oh, localStorage was a pleasure to learn and use… Well, the operations with it are actually fairly easy, it’s like an object, and my first thought of initializing a state with it was to use useState({ ...localStorage }) , which did work, but it introduced something else: a build error after I merged the changes into main . Turns out, localStorage is undefined when GitHub Actions wants to build my website, therefore it gave me an error saying so. What I had to do is check if the window object is equal to 'undefined' , and if not, then spread localStorage and initialize the state. Finally, the website managed to build properly, but when I tried to use it on my phone, the output of the generator was outside my screen… so I had to go back and change how the UI looks after I’ve already merged everything into main . Amazing. Well, the good new is that it works, and next up is the v3 algorithm, as well as QoL changes, bug fixes, and more in both the CLI and web versions."}, {"post_id": 46026, "ts": "2026-08-12T22:45:54Z", "hours": 6.4178, "text": "Determinist // Devlog 8 // 2026.08.13 The UI is mostly complete, and I will be releasing the website tomorrow! Changes Significantly improved the entire user interface Version and special character mode (V1) now use <select> instead of the regular <input> , so you don’t have to type them out The difficulties There really wasn’t anything too hard about making the UI. You might ask, “why did you spend over 6 hours on it then?”. I have an answer for you. I tried using Figma for designing the UI but it was just too boring for me, so I decided to start coding it and figure it out as I go. I’m pretty satisfied with the result, but with everything, it can always be improved. The second problem was that while I was coding, I was also listening to music and I spent a bunch of time skipping songs because I didn’t feel like listening to them. This took my attention along with singing a bit too much, so my progress was slowed… The last thing to slow me down was my general inexperience with React and JS, although I got over that quick because the frontend is way easier to work on. Planned Adding the preset system Building the site & uploading to GitHub Pages"}, {"post_id": 45454, "ts": "2026-08-11T22:28:05Z", "hours": 4.7858, "text": "Determinist // Devlog 7 // 2026.08.12 Well, it’s official. I had to use AI for the first time :( Why? JavaScript does not have the same random implementation as Python does. Python uses MT19937 while JS uses Xorshift128+. This means we can’t use JavaScript’s random number generator, not to mention that we can’t even use it to shuffle arrays, as it lacks the method. And since I am relatively new to JS, I had two options: get a 15 year old module work that does exactly what I need it to, or make it with AI. I tried getting that package to work. I really did. Unfortunately, the algorithm it uses seems to be outdated, as the results differed in tests. That is why I used AI. I really didn’t want to, but I had to. Well, let’s look at the positives, at least! Changes The V2 algorithm is implemented and works 1:1 with the Python version! I managed to make another input component that uses checkboxes so you can select what kind of characters you’d like. It was challenging but it works! Next Up Tomorrow I’ll work on the UI design Adding the preset system Building the site Uploading to GitHub Pages"}, {"post_id": 44862, "ts": "2026-08-10T21:58:48Z", "hours": 2.4364, "text": "Determinist // Devlog 6 // 2026.08.10 Pretty big milestone: V1 is finally working on the website! Additions Added the V1 generation algorithm Added the customization options to the interface The Generator V1 is complete and works perfectly! I had to figure out a way to enter objects, and it was quite difficult. See, JavaScript doesn’t really have a dictionary type like Python does, so I had to use an object, which is similar enough and I can look for keys with in , just like in Python. The tricky part was creating such an object from the user’s input. I chose the most user friendly way I could think of, and made separate inputs for the key and value, and you can dynamically add more with an “Add Character Pair” button. I really wish there was an easier way and maybe there is a template out there, but I didn’t consider it until writing this very sentence. Anyways, tomorrow I’ll spend more time refining V1, the inputs and I’ll start working on V2. To Do Refining the generator and inputs Creating V2 Desgining the UI Adding the preset system Generating the static site"}, {"post_id": 44238, "ts": "2026-08-09T21:17:27Z", "hours": 2.4381, "text": "Determinist // Devlog 5 // 2026.08.09 I’ve started working on the website finally! The plan I’ll use GitHub Pages to host Determinist until I can get my own domain and personal site up, after which I’ll transfer it there. The plan is to make the generator client sided by using WebAssembly to access Argon2 in the browser without requiring a backend. I wanna do this so that no information leaves the user’s computer, which is a key part of keeping Determinist privacy focused. I chose to use Next.js because I used it before, and it has Static Site Generation which is essential if I want to put the site on GitHub Pages. What I achieved in 2 and a half hours I made Argon2 work Yes, that’s about it. I spent most of my time debugging errors and learning basics as I’ve only used JavaScript for making components, not to make more complex algorithms like Determinist’s is. I am a fast learner though, so I expect to be able to recreate Determinist V1 relatively quickly. Starting with WASM on my first serious web project where I’m still learning JS maybe wasn’t the most amazing idea, but hey, I like challenges and learning by doing. What’s next? Continuing work on V1 Porting V2 to JavaScript Desgining the UI Adding the preset system Generating the static site and fixing errors after it’s done And to the reviewers and people who liked the Determinist CLI… Thank you! Developing Determinist has been lots of fun and I’ve learned a lot of valuable things. Your support and feedback is greatly appreciated, it motivates me to work every single day. It’s a project I’m really passionate about, as I wanted to create this for years. Thank you all for your support, and I hope you’ll enjoy using Determinist whether it’s in your terminal or the web. See you in the next devlog!"}, {"post_id": 42594, "ts": "2026-08-07T12:38:38Z", "hours": 3.0314, "text": "Determinist // Devlog 4 // 2026.08.07 Developer experience and cleanups What changed My code now has comments! Although it is quite straightforward to understand, I did include a few here and there. A brand new version command shows what version Determinist is on, what commit it was built from, and the Python version it uses. I added more custom error handling to commands Something funny happened… I was testing the generation of the default preset, and I forgot to press tab when deleting the Determinist config directory. I only realized that when Hyprland started screaming at me about missing configurations. I thought “that’s weird”, so I checked the command I ran. rm -rf ~/.config/ . I deleted my entire configuration directory… Luckily, I had backups, but at least I’ve learned that I should double check my commands. Another Typer issue To absolutely no one’s surprise, Typer didn’t work as intended, once again. It kept reporting the wrong error when running presets subcommands. Turns out it was the callback I wrote to list the presets. It actually ran the check every time a presets command was run, giving the wrong error when a non TOML file was detected in the presets directory. It was a quick fix, but now I’m quite comfortable with Typer."}, {"post_id": 41993, "ts": "2026-08-06T15:11:38Z", "hours": 10.2806, "text": "Determinist // Devlog 3 // 2026.08.06. Determinist v0.2.2 is here and available to install, but I certainly did not thing this would take another 10 hours… What changed I have made a preset system that can load settings so you don’t have to type them out manually. You can only use this with the regular generate command. The presets command lists out all installed presets Running presets save with a path added at the end will save the selected preset to your config folder Adding delete after presets with the name of a preset will delete that permanently Using presets default and adding the preset name will set that preset as default Running --help is actually helpful now! Another change is I made prompt a subcommand of generate . I ran into an issue while implementing this… The issue You see, Typer cannot tell the difference between a positional argument and a subcommand, meaning that it took prompt as the master_pass argument for generate . This is obviously not at all what I intended, so I needed a way to figure out how to solve this. I didn’t want to make prompt an option, since that would’ve complicated things a lot more than they needed to be. Therefore, I changed master_pass and site_name to required options, which means they need to be typed out manually. Fear not however, because if you forget to do that, Determinist now prompts you for it! Another problem was with types, again. Typer apparently doesn’t like Union types, which I would’ve used for the preset option. What I wanted to do is make the user be able to type out the name of the preset, select one if none is entered in the command, or do everything manually. Problem: that’s 3 types: None , str and UNSET , which is basically a different spelling of None , it jut signals that the presets option was passed without an argument, as a flag. But Typer decided to ruin my day and only let me use two types, so I removed it all and made --preset a boolean, therefore a flag. That’s about it for now, if you like the idea of having an easy way of remembering your passwords, check out Determinist!"}, {"post_id": 39036, "ts": "2026-08-01T18:20:18Z", "hours": 11.0289, "text": "Determinist // Devlog 2 // 2026.08.01 Welcome back to the second devlog of Determinist! It’s been a while, so let’s recap what happened… Release!! The first official release of Determinist is here! You can check out the GitHub page to learn more. Algorithm V2 Quite a few changes here. I changed the algorithm so that it uses the bytes that Argon2 returns The bytes are now mapped to characters in a shuffled charset Insert/Replace modes have been removed because special characters are already in the charset You can now construct your own charset Typer I made my CLI with Typer, which was a challenge to say the least. This is my first time using it, and looking back, it wasn’t THAT bad. All I had to do is refactor generator.py completely, and make my types compatible (which I worked REALLY HARD on for V1). Typer doesn’t allow me to use things like lists and dictionaries, both of which are essential, but I managed to change everything in a way that’s mostly straightforward. I can split strings into a list and use JSON for dictionaries. Refactoring Challenges This is pretty funny. I wrote a series of tests for version 2 of the algorithm before I started implementing Typer. After than however, all tests passed except one. I was supposed to use assertUnequal() , but used the opposite instead, and that was I caught an error in my code that would’ve went unnoticed. The tests saved me another time, when I noticed that changing the order in which the charset character types are written changes the output, which is not what I need because it’s essentially the same input, and it should be more like a toggle. The fix was making the charset canonical. The algorithm goes through the list, writes the correct characters into a string, and uses that in the salt instead of the list of the charset. Other The Generator class was removed, as it served no purpose."}, {"post_id": 33987, "ts": "2026-07-24T11:33:26Z", "hours": 4.8617, "text": "Determinist // Devlog 1 // 2026.07.24. Hey everyone! This is the first devlog of Determinist, a deterministic password generator. After a few hours of messing around, I’ve managed to write the first working version of the generator algorithm. (Flowchart attached) You can specify the parameters such as password length, special character frequency, etc. as well as the master passphrase and the salt (site name in this case), and the script will generate a pseudorandom password for you. I’ve hit quite a few roadblock along the way, such as the salt being too small. This is a feature of Argon2, so for now you can only use custom salts that are bigger than 8 bytes. I’ve also included a few unit tests as proof of concept. The generator algorithm will be improved in later versions, and a CLI tool will be available."}]...
|
Title: Determinist by @Mate1166 | Stardance
Devlo Title: Determinist by @Mate1166 | Stardance
Devlogs:
Determinist // Devlog 1 // 2026.07.24. Hey everyone! This is the first devlog of Determinist, a deterministic password generator. After a few hours of messing around, I’ve managed to write the first working version of the generator algorithm. (Flowchart attached) You can specify the parameters such as password length, special character frequency, etc. as well as the master passphrase and the salt (site name in this case), and the script will generate a pseudorandom password for you. I’ve hit quite a few roadblock along the way, such as the salt being too small. This is a feature of Argon2, so for now you can only use custom salts that are bigger than 8 bytes. I’ve also included a few unit tests as proof of concept. The generator algorithm will be improved in later versions, and a CLI tool will be available.
Determinist // Devlog 2 // 2026.08.01 Welcome back to the second devlog of Determinist! It’s been a while, so let’s recap what happened… Release!! The first official release of Determinist is here! You can check out the GitHub page to learn more. Algorithm V2 Quite a few changes here. I changed the algorithm so that it uses the bytes that Argon2 returns The bytes are now mapped to characters in a shuffled charset Insert/Replace modes have been removed because special characters are already in the charset You can now construct your own charset Typer I made my CLI with Typer, which was a challenge to say the least. This is my first time using it, and looking back, it wasn’t THAT bad. All I had to do is refactor generator.py completely, and make my types compatible (which I worked REALLY HARD on for V1). Typer doesn’t allow me to use things like lists and dictionaries, both of which are essential, but I managed to change everything in a way that’s mostly straightforward. I can split strings into a list and use JSON for dictionaries. Refactoring Challenges This is pretty funny. I wrote a series of tests for version 2 of the algorithm before I started implementing Typer. After than however, all tests passed except one. I was supposed to use assertUnequal() , but used the opposite instead, and that was I caught an error in my code that would’ve went unnoticed. The tests saved me another time, when I noticed that changing the order in which the charset character types are written changes the output, which is not what I need because it’s essentially the same input, and it should be more like a toggle. The fix was making the charset canonical. The algorithm goes through the list, writes the correct characters into a string, and uses that in the salt instead of the list of the charset. Other The Generator class was removed, as it served no purpose.
Determinist // Devlog 3 // 2026.08.06. Determinist v0.2.2 is here and available to install, but I certainly did not thing this would take another 10 hours… What changed I have made a preset system that can load settings so you don’t have to type them out manually. You can only use this with the regular generate command. The presets command lists out all installed presets Running presets save with a path added at the end will save the selected preset to your config folder Adding delete after presets with the name of a preset will delete that permanently Using presets default and adding the preset name will set that preset as default Running --help is actually helpful now! Another change is I made prompt a subcommand of generate . I ran into an issue while implementing this… The issue You see, Typer cannot tell the difference between a positional argument and a subcommand, meaning that it took prompt as the master_pass argument for generate . This is obviously not at all what I intended, so I needed a way to figure out how to solve this. I didn’t want to make prompt an option, since that would’ve complicated things a lot more than they needed to be. Therefore, I changed master_pass and site_name to required options, which means they need to be typed out manually. Fear not however, because if you forget to do that, Determinist now prompts you for it! Another problem was with types, again. Typer apparently doesn’t like Union types, which I would’ve used for the preset option. What I wanted to do is make the user be able to type out the name of the preset, select one if none is entered in the command, or do everything manually. Problem: that’s 3 types: None , str and UNSET , which is basically a different spelling of None , it jut signals that the presets option was passed without an argument, as a flag. But Typer decided to ruin my day and only let me use two types, so I removed it all and made --preset a boolean, therefore a flag. That’s about it for now, if you like the idea of having an easy way of remembering your passwords, check out Determinist!
Determinist // Devlog 4 // 2026.08.07 Developer experience and cleanups What changed My code now has comments! Although it is quite straightforward to understand, I did include a few here and there. A brand new version command shows what version Determinist is on, what commit it was built from, and the Python version it uses. I added more custom error handling to commands Something funny happened… I was testing the generation of the default preset, and I forgot to press tab when deleting the Determinist config directory. I only realized that when Hyprland started screaming at me about missing configurations. I thought “that’s weird”, so I checked the command I ran. rm -rf ~/.config/ . I deleted my entire configuration directory… Luckily, I had backups, but at least I’ve learned that I should double check my commands. Another Typer issue To absolutely no one’s surprise, Typer didn’t work as intended, once again. It kept reporting the wrong error when running presets subcommands. Turns out it was the callback I wrote to list the presets. It actually ran the check every time a presets command was run, giving the wrong error when a non TOML file was detected in the presets directory. It was a quick fix, but now I’m quite comfortable with Typer.
Determinist // Devlog 5 // 2026.08.09 I’ve started working on the website finally! The plan I’ll use GitHub Pages to host Determinist until I can get my own domain and personal site up, after which I’ll transfer it there. The plan is to make the generator client sided by using WebAssembly to access Argon2 in the browser without requiring a backend. I wanna do this so that no information leaves the user’s computer, which is a key part of keeping Determinist privacy focused. I chose to use Next.js because I used it before, and it has Static Site Generation which is essential if I want to put the site on GitHub Pages. What I achieved in 2 and a half hours I made Argon2 work Yes, that’s about it. I spent most of my time debugging errors and learning basics as I’ve only used JavaScript for making components, not to make more complex algorithms like Determinist’s is. I am a fast learner though, so I expect to be able to recreate Determinist V1 relatively quickly. Starting with WASM on my first serious web project where I’m still learning JS maybe wasn’t the most amazing idea, but hey, I like challenges and learning by doing. What’s next? Continuing work on V1 Porting V2 to JavaScript Desgining the UI Adding the preset system Generating the static site and fixing errors after it’s done And to the reviewers and people who liked the Determinist CLI… Thank you! Developing Determinist has been lots of fun and I’ve learned a lot of valuable things. Your support and feedback is greatly appreciated, it motivates me to work every single day. It’s a project I’m really passionate about, as I wanted to create this for years. Thank you all for your support, and I hope you’ll enjoy using Determinist whether it’s in your terminal or the web. See you in the next devlog!
Determinist // Devlog 6 // 2026.08.10 Pretty big milestone: V1 is finally working on the website! Additions Added the V1 generation algorithm Added the customization options to the interface The Generator V1 is complete and works perfectly! I had to figure out a way to enter objects, and it was quite difficult. See, JavaScript doesn’t really have a dictionary type like Python does, so I had to use an object, which is similar enough and I can look for keys with in , just like in Python. The tricky part was creating such an object from the user’s input. I chose the most user friendly way I could think of, and made separate inputs for the key and value, and you can dynamically add more with an “Add Character Pair” button. I really wish there was an easier way and maybe there is a template out there, but I didn’t consider it until writing this very sentence. Anyways, tomorrow I’ll spend more time refining V1, the inputs and I’ll start working on V2. To Do Refining the generator and inputs Creating V2 Desgining the UI Adding the preset system Generating the static site
Determinist // Devlog 7 // 2026.08.12 Well, it’s official. I had to use AI for the first time :( Why? JavaScript does not have the same random implementation as Python does. Python uses MT19937 while JS uses Xorshift128+. This means we can’t use JavaScript’s random number generator, not to mention that we can’t even use it to shuffle arrays, as it lacks the method. And since I am relatively new to JS, I had two options: get a 15 year old module work that does exactly what I need it to, or make it with AI. I tried getting that package to work. I really did. Unfortunately, the algorithm it uses seems to be outdated, as the results differed in tests. That is why I used AI. I really didn’t want to, but I had to. Well, let’s look at the positives, at least! Changes The V2 algorithm is implemented and works 1:1 with the Python version! I managed to make another input component that uses checkboxes so you can select what kind of characters you’d like. It was challenging but it works! Next Up Tomorrow I’ll work on the UI design Adding the preset system Building the site Uploading to GitHub Pages
Determinist // Devlog 8 // 2026.08.13 The UI is mostly complete, and I will be releasing the website tomorrow! Changes Significantly improved the entire user interface Version and special character mode (V1) now use <select> instead of the regular <input> , so you don’t have to type them out The difficulties There really wasn’t anything too hard about making the UI. You might ask, “why did you spend over 6 hours on it then?”. I have an answer for you. I tried using Figma for designing the UI but it was just too boring for me, so I decided to start coding it and figure it out as I go. I’m pretty satisfied with the result, but with everything, it can always be improved. The second problem was that while I was coding, I was also listening to music and I spent a bunch of time skipping songs because I didn’t feel like listening to them. This took my attention along with singing a bit too much, so my progress was slowed… The last thing to slow me down was my general inexperience with React and JS, although I got over that quick because the frontend is way easier to work on. Planned Adding the preset system Building the site & uploading to GitHub Pages
Determinist // Devlog 9 // 2026.08.22 Long time no see y’all, sorry for the wait! I’m on vacation so I had less time to work on the project, but I did bring some amazing improvements. Announcement The website is officially up and works identically to the CLI, now with presets! Just load your TOML presets into the website, and they will be saved for you to reuse! Important note: they are saved locally, therefore you will not see them on different devices unless you import them there too. Changes Added the preset system to the website! You can now import and use presets, and you can easily remove them if needed. Adjusted the UI so that it fits most (if not all) screens. The smallest screen I tested was an iPhone SE. The Challenges There actually weren’t a lot of challenges for once. The biggest one was that I forgot to work on the project while on vacation, but that’s not horrible. And then came React, JavaScript and everything else… firstly, the preset loading was actually really easy, I did however fight with React about passing values from a child component to the parent. And then it turned out I forgot to make it actually pleasant to use, as I had to select the preset file every time I wanted to load it. Now you can save, select and load your presets on the website. However, React had other plans. I finally learned how React’s useEffect hook works, and using it is pretty easy now that I get what I’m doing. Along with this, I also properly learned about using functions inside useState for lazy initialization which I needed for localStorage . Oh, localStorage was a pleasure to learn and use… Well, the operations with it are actually fairly easy, it’s like an object, and my first thought of initializing a state with it was to use useState({ ...localStorage }) , which did work, but it introduced something else: a build error after I merged the changes into main . Turns out, localStorage is undefined when GitHub Actions wants to build my website, therefore it gave me an error saying so. What I had to do is check if the window object is equal to 'undefined' , and if not, then spread localStorage and initialize the state. Finally, the website managed to build properly, but when I tried to use it on my phone, the output of the generator was outside my screen… so I had to go back and change how the UI looks after I’ve already merged everything into main . Amazing. Well, the good new is that it works, and next up is the v3 algorithm, as well as QoL changes, bug fixes, and more in both the CLI and web versions.
Determinist // Devlog 10 // 2026.08.27 Updates here and there, and the v3 algorithm is finally complete! All of this and the content of the rest of the devlogs will only be released with the final 1.0.0 release of Determinist. Changes Added v3 algorithm for the Python CLI It features dynamic byte generation so that no matter what, you’ll never run out of characters! (Unless you’re VERY unlucky) You can now enter a third value called a “differentiator” that can be used to change the output further. This is especially useful if you have multiple accounts on the same site. This option can be left empty Your generated password is now guaranteed to have the correct amount of characters You can now set a minimum amount of characters of each type! Simply enter 0 to exclude the character type, and 1 or above to choose how many characters your password have minimum of that type. Made generate prompt only prompt users if the prompts are applicable. This means you will no longer be prompted for the settings of v1 when you use one of the other two algorithms. Fixed an issue where if the site_name option is omitted, the prompt will display Master pass instead of the correct prompt. The difficulties Well, of course the development of v3 came with some challenges. Firstly, I had to figure out how to actually generate enough bytes to pass rejection sampling (making sure no bytes are out of range when mapped onto the character set), as the previous implementation was that I multiplied the password length by 32. This worked, but wasn’t pretty and in very rare and unlucky cases, there weren’t enough bytes. I fixed this by using something called HKDF, which stands for HMAC-based Extract-and-Expand Key Derivation Function. I’d really prefer to use HKDF. Anyway, this function was really good for this task, as it can take the Argon2 output and create a long, pseudo-random key that can go through rejection sampling, and finally end up in the password. In case this generated key is not enough, HKDF will generate more of it, essentially giving us infinite bytes to then map to our characters. This was especially good because in the same loop I could implement… Minimum requirements This should have been easy, but it took me a day to think about how to do it. The challenge: take a dictionary ( {"lowercase": 2, "uppercase": 3, "special": 1, "digits": 0} ), and include at least as many characters of each type as their value in that dictionary says, and if it’s 0 then don’t include it at all. Fine, I said, but I didn’t actually know how to implement this. After a day of thinking, it finally clicked: I implement this in the rejection sampling loop, as that is where my characters get added. Introducing the _construct_pass function: it looks for the already added characters, determines the type of the current character, counts how many are missing, and if a character type is missing some characters or there aren’t any left, the character is added, and otherwise it is discarded. To do Add a preset generator command Fix a g prefix appearing in the version command output before the git commit hash Add the ability to choose a preset in one line instead of being prompted for it Fix the password being allowed to be shorter than the sum of minimum required characters (I found that one while writing this) Port everything over to the website Update the docs Add more text to the website explaining Determinist and how it works
Determinist // Devlog 11 // 2026.09.06. After the first week of school, I have finished work on the CLI, and Determinist 0.5.1 is released! Changes Added presets create command Changed preset option to allow selection in one line Changed the presets list to show invalid files in the configuration directory Added password generation errors Fixed bugs: The password being allowed to have less characters than the sum of the minimum required characters is fixed The g prefix from the commit hash is now removed Various preset error handling issues have been fixed Presets are now not required to have all the versions inside them What’s taking so long? Is Determinist done? Firstly, I just started school, so I got very busy lately and that is why I haven’t been doing much work. As a compensation, v3 of the algorithm is now available on GitHub !! This is version 0.5.1, which is a pretty big jump if you look at the versions before. However, there is a reason for that: active development of Determinist is going to stop once version 1.0.0 comes out, with all the new features and fixes being ported to the website. This will come out in the next week or so. Determinist will still be updated here and there if I miss some features or people have suggestions and issues, but I will be mainly focusing on other projects. Latest development stuff The preset creation was actually pretty easy. I figured I’ll reuse the options from the generate command so I don’t have to write them manually again, and it worked amazing! I had to add to the PresetHandler to make it work, and that was really simple as well. I first thought of adding strings together, but then I realized I could just create dictionaries that my TOML library can convert to TOML and write them to the preset, so I didn’t have to do all the writing myself. The bug fixes weren’t interesting at all, honestly. I messed around with Determinist, found bugs and issues and I fixed them. My favorite one was debugging errors with the preset commands however. I found a bunch of things worth fixing, and in the end I made another helper function, as well as changing how check_file_type works. To do Port everything over to the website Add more text to the website explaining Determinist and how it works
Determinist // Devlog 12 // 2026.09.16. Well, it took me more than a week, but the v3 algorithm is on the website! CLI Update I have published version 0.5.2 of the Python CLI, which fixed a few issues I found (you can see them on the GitHub page!), and added actual functionality to the default presets. You can also report issues on the GitHub page, and it is highly appreciated. What changed? I added the v3 algorithm, after a bit of tinkering with the error handling. My problem was that the error handling wasn’t really dynamic. It couldn’t handle the invalid input errprs from v3, so I made a separate component. I also had to learn how to use HKDF on the client side, which was actually easier to do than I expected, although the actual usage of HKDF was a bit more complicated than it is in Python. What’s next? Bug fixes Descriptions Preset Generator PWA Implementation Auto Copy to Clipboard toggle
Determinist // Devlog 13 // 2026.09.25. Quite a few issues, but apparently it works… Progressive Web App Well, making Determinist a PWA certainly took way longer than expected. I thought it would be an hour at most, I mean Next.js literally has a guide that tells me what to do step-by-step. It was in fact NOT easy. I encountered a ton of problems. First off, I had to write a manifest which had the app name, icons etc., the obvious things. What was not obvious however was that I had multiple ways of doing that. I could write a JSON file, or write a JavaScript file that exports an object. I chose the latter as it was the version that the Next.js guide was using. Then came the icons. Oh, the icons. I made my icons and put it in the public/ directory with the correct names so that they match the manifest. Cool, works when I share it but there is no icon when I add it to my home screen on my iPhone. It said I’m missing a file called apple-touch-icon and apple-touch-icon-precomposed . Cool, I duplicated the icons and I renamed them. No 404s, but it still did not work. I look for a solution. For hours. I look at Next.js docs, YouTube, StackOverflow, Reddit, GitHub issues and there is nothing that would fix it. Finally, I found out I need to link the icon in the head of the website. Great, but still doesn’t work. Turns out, the problem was that I was following the Next.js guide which told me to use HTTPS to test the PWA, but iOS does not trust self-signed keys so it did not download the icon. After that, the generation broke when I was connecting to the site with the IP and not through localhost . I noticed that submitting (pressing the generate button) redirected me which should not have happened due to the line e.preventDefault() . Then I saw Next.js attempting to connect a websocket, and a bunch of 403 errors that weren’t there before. I spent quite a bit of time debugging that, and it was due to not adding my IP to allowedDevOrigins in the next.config.mjs file despite it working perfectly fine before. The Icon As you can see, the image I decided to include in my devlog is the icon for Determinist. I actually did not think of putting the D and the E together at first, but when I did, it reminded me of a lock (hope you can see it!) and I chose to keep it as it kind of fits. And I didn’t want a solid color background, so I decided I’ll just add the name repeating. It was fun making it, and it was also a very good way to practice using Illustrator. What’s next? Making the PWA work offline Bug fixes Descriptions Preset Generator Auto Copy to Clipboard toggle
Determinist // Devlog 14 // 2026.09.06. Finally, I figured out how to make the site work offline… The process After working on the PWA for way longer than I expected, it finally works as intended! After I’ve figured out how to use next-pwa , I encountered an issue: the site was being cached and loaded correctly in the browser but not when installed as a PWA. I rewrote multiple parts of the code for it to work, yet it did not. In the end, it was the unsecured connections that were at fault. Discovering that, I have learned to use something new again: Localtunnel, which allows me to use a valid (not self-signed) HTTPS connection while testing. This uncovered even more issues with my code, the most obvious being the fact that fonts were not cached at all. This was because I was getting my fonts by connecting to fonts.google.com . This was a really easy thing to fix though, as Next.js already has a next/fonts/google library that had the fonts I used, and now everything works well. What’s next? Bug fixes Descriptions Preset Generator Auto Copy to Clipboard toggle
Determinist // Devlog 15 // 2026.09.15. A few design changes, and a brand new section on the website! Design I have fixed several design issues I noticed and did not like. Just to mention a few, there was unnecessary overflow on mobile devices, the spacing was off on several elements, and the width of the file input field was also too big. The Wall of Text™ It isn’t that big to be fair, it just explains how Determinist works, split into the 3 versions of the generation algorithm. I didn’t want to copy the page I had linked in the README, so I just wrote it down again and tried wording it better. Additionally, I tried to preserve the original one page, no scroll design by placing the About section below the actual app, so you have to scroll to see it. Other changes I refactored parts of the web code as the Generator element was getting really long, above 500 lines. I moved the algorithms out to a separate importable module, and I placed it along with the python-random module into a self-explanatory modules directory. I’ve also moved generror.jsx and presethandler.jsx into their own handlers/ directory, and the two specialized input fields into an inputs/ directory. Overall, this change makes the code way easier to read. The preset generator works now as well, just click the “Export as Preset” button below “Generate”, name the preset and the preset will be downloaded for you! You can also toggle on a “Copy to Clipboard” feature which allows you to automatically copy your generated password to your clipboard. Pretty neat! What’s next? Bug fixes Auto clear password popup
Determinist // Devlog 16 // 2026.09.17. Version 1.0.0 is out, and this is my final devlog. Well, it finally arrived. Version 1.0.0. This is where active development stops. Of course, I will still fix issues and implement features suggested by you guys, but I probably won’t be adding any by myself. Stardance has been a great inspiration for me, not only to make this project, but to keep going and coming back to doing what I love: coding, and making things for others. I am very happy with how Determinist turned out, despite the difficulties and me being busy with school. But enough of this, what was changed since my last devlog? Changes Updated the documentation to show that a PWA is available to install Fixed various bugs and style inconsistencies Added a description of the generation process to the website Added a Copy to Clipboard toggle Added an Export as Preset button Removed Google Fonts connections What’s next? Nothing. I’d like to thank everyone who had a chance to try and use Determinist. Everyone who reviewed it and even you, the one reading this devlog :) Y’all have showed me that things I make can and are useful for others. See you in the next Hack Club program!
Ships:
Determinist is a password generator made for people who often forget or leave passwords behind, just like me. A few years ago I was on vacation when I wanted to log into a website. However, the password for it was left at home on my PC, which I didn’t bring with myself. Of course, I could’ve just reset the password, but that would’ve been worse since I’d still have mismatched passwords. Determinist solves that. It uses a deterministic algorithm to take your inputs, and generate you a password you can recover anytime, anywhere. The only thing you need to remember is your master passphrase, which site you want to log in, and a few additional settings. (presets coming soon!) I had a lot of fun with this project, and it taught me quite a bit about encryption, randomness, and most importantly how a real-world project functions. (I do have to mention my initial struggle with Typer though, I would not want to wish that on my worst enemy.) With that being said, I hope you’ll have your password problems solved, and that you’ll enjoy using Determinist! Have fun!
Well, it’s official: Determinist now has a website! Features: Easy to use interface Straightforward settings 1:1 compatibility with the CLI Fully client-side The only thing that hasn’t made it into the website (yet) is the preset system, just like with the CLI, I’m adding that later as the web UI is already really easy to use. And now the less technical bit… It’s been an incredible journey, Determinist has been my dream project for a few years now, and it’s really amazing how I can share it with the world now that it’s done. Just to mention a few things I learned from this project: Testing Proper git usage Cryptography JavaScript These are things I wouldn’t really have learned without Determinist. Sure, I could have done so, but not this fast and effectively. I must thank those who supported the project, who liked the devlogs, and of course the reviewers who gave their opinion on the CLI. Because of your feedback, I made Determinist even easier to use now, and I will continue doing so. Version 3 of the algorithm is on its way, as well as the preset system for the web. Thank you everyone!
Determinist Determinist is a deterministic password generator that lets you recover forgotten passwords easily, given that you remember a master password, and a few things about your lost password. Features CLI and Web interface, featuring a PWA that also works offline Three algorithm versions to choose from A preset system Generated passwords are identical on both the website and the CLI Fully local generation Presets The presets use the TOML format, which is very user-friendly and easy to edit. The presets have multiple categories inside them like ‘general’ (for the algorithm version and password length), ‘preset’ (the preset name, description and whether it is set as defaul), and version specific ones like ‘v3’, which has the settings for the v3 algorithm. If you’re unsure how to edit preset files, you can also just export your settings from the website, and use it across all versions of Determinist! To Reviewers Please, test both the CLI and the website (if possible), and provide feedback on User Experience if you encountered any issues, include that in the review. You can even suggest features, and I may implement them :) Thank you!...
|
1792304412.9257355
|
1793168412.9257355
|
|
38886
|
WEB APP FOR STUDENTS by @Uxyamo | Stardance
|
Uxyamo
|
3
|
76.0
|
621
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T06:40:42Z", "hours": 18.0, "multiplier": 8.4, "payout": 99, "blessing": "neutral", "text": "I’m going to continue improving my project with some others creatorsn and thanks you everyone for all the support I had!!! Good luck!!", "repo": "https://github.com/mbbs-iam/APP---FermatNote---Make-my-Grades", "demo": "https://cuentasfermat.web.app/"}, {"ship_num": 2, "ts": "2026-08-28T16:13:00Z", "hours": 4.0, "multiplier": 12.19, "payout": 43, "blessing": "neutral", "text": "Hi everyone! This project is for the delegates, 12 delegates of the best Hightschools in France and Morroco will use it the next year. A big tech company will help me with giving me servers to deploy my app.", "repo": "https://github.com/mbbs-iam/APP---FermatNote---Make-my-Grades", "demo": "https://cuentasfermat.web.app/"}, {"ship_num": 3, "ts": "2026-08-16T08:22:09Z", "hours": 54.0, "multiplier": 10.6, "payout": 479, "blessing": "neutral", "text": "Hi everyone! This project is for the delegates, 12 delegates of the best Hightschools in France and Morroco will use it the next year. A big tech company will help me with giving me servers to deploy my app. I am developing Fermat-Note, an application designed especially for high school and higher education students to centralize everything: class chat, shared homework management, self-help forums and collective organization. The app allows the class to be more organized and connected to improve class performance. Thanks you so much, I would like you to appreciate it, and if you would like to use it for your class, send me a message!! ❤️👌👌", "repo": "https://github.com/mbbs-iam/APP---FermatNote---Make-my-Grades", "demo": "https://cuentasfermat.web.app/"}]...
|
[{"post_id": 81181, "ts": "202 [{"post_id": 81181, "ts": "2026-10-20T06:39:31Z", "hours": 1.7442, "text": "I decided that because all students use discord, instagram and more I will transform my PWA into an app so they will can use that apps in my app"}, {"post_id": 76794, "ts": "2026-10-04T16:11:16Z", "hours": 15.7992, "text": "Some modifications…"}, {"post_id": 56718, "ts": "2026-08-28T16:12:12Z", "hours": 3.5033, "text": "Hi everyone, there is some students that want to help me the next year, I readed all the messages of my deploy and I decided that it will be international"}, {"post_id": 47987, "ts": "2026-08-16T08:17:36Z", "hours": 0.3178, "text": "I finished the project!! Thanks yo evryone that helped me and followed me in my project!!"}, {"post_id": 47541, "ts": "2026-08-15T14:48:56Z", "hours": 3.5642, "text": "Already finished the diaporama for the students that will use my app!! Take a look please, and say me what to improve!!"}, {"post_id": 46530, "ts": "2026-08-13T20:28:50Z", "hours": 5.1931, "text": "I already deployed the project to 12 firebase accounts to let the students use my project the next year and I would like it to help them. I alse send them to each delegue an email to say them what they have to do"}, {"post_id": 45816, "ts": "2026-08-12T15:19:22Z", "hours": 2.1239, "text": "Use the app now for free with all the hightschools above France!! Link: https://cuentasfermat.web.app/ The password is : ChromaFermat@2026 Have fun!! 😊😊"}, {"post_id": 45595, "ts": "2026-08-12T05:53:03Z", "hours": 1.1178, "text": "Best 12 Hightschools use my app. They’re happy with it Already finished !! I will do an audit to see if they’re is some bugs and I will deploy it !!"}, {"post_id": 45170, "ts": "2026-08-11T14:20:09Z", "hours": 4.26, "text": "There’s 12 Hightshools that will use my app. I already ended the app. Thanks you for all those who helped me, and followed me in my project❤️❤️❤️❤️ I’m sorry that the app is it in french, i will translate to english for the next version. If youre interested to use that app at your hightschool I can translate it to your language."}, {"post_id": 43311, "ts": "2026-08-08T14:38:46Z", "hours": 4.4058, "text": "I finished three sections of my app, I love it. I used the free API of lemonde.fr (french news) to have the news all days. I also finished and added some features on the chat section. And I writed a message to the best High school at France to use it. Finnaly, at the configuration section, I added the list of all the membres of the class (they’re bots)"}, {"post_id": 41494, "ts": "2026-08-05T18:52:57Z", "hours": 1.5481, "text": "Already 10 high schools are going to use my app! I created this app for high schools in France, and a big tech company will help me deploy it throughout France. I will translate it to English next day. I also created a form, and so many people have already responded! I really enjoyed setting it up to connect with everyone."}, {"post_id": 40272, "ts": "2026-08-03T18:13:14Z", "hours": 1.2458, "text": "I configurated the chat section, and it works well, I have some users that use it. I used Firebase with the free trial to connect all the user messages so we can talk together. I did it fast because I already started yesterday, also I added a lot of buttons that spoils all the features that the app will have. Please like my post to let other people se my project, and if they’re interested to use it in they’re class."}, {"post_id": 40025, "ts": "2026-08-03T11:28:39Z", "hours": 2.4278, "text": "I finished the PowerPoint that I will send to delegates from different hightschools in France. I don’t have a good english so I translated it in english with translator. Please tell me what you think about the project, and if you should recommend me to improve some things. Thankss!!"}, {"post_id": 39633, "ts": "2026-08-02T19:12:07Z", "hours": 8.9369, "text": "That’s amazing. Hello !! I’m working on a project for studentsss!!! I’m so motivated because a big tech company will help me giving me servers to deploy it on all France. I’m working a lot, I’ve contacted already some people of the best hightschools in France to use my app. I will improve all and add features. I’m sorry, it’s in French because I’m french and will be used by French people, but if I see that more people are interested I will translate it to english, and at the end of the project I will translate it to english if they’re people that want it"}, {"post_id": 34515, "ts": "2026-07-25T09:32:54Z", "hours": 19.0533, "text": "I’m working a lot, I would like to create a an app that is like the schools apps for see our degrees but for students. It will be fun, and in an Inthership with a big company of tech and they said that they will help me. That motivated me a lot 😊😊"}]...
|
Title: WEB APP FOR STUDENTS by @Uxyamo | Stardance Title: WEB APP FOR STUDENTS by @Uxyamo | Stardance
Devlogs:
I’m working a lot, I would like to create a an app that is like the schools apps for see our degrees but for students. It will be fun, and in an Inthership with a big company of tech and they said that they will help me. That motivated me a lot 😊😊
That’s amazing. Hello !! I’m working on a project for studentsss!!! I’m so motivated because a big tech company will help me giving me servers to deploy it on all France. I’m working a lot, I’ve contacted already some people of the best hightschools in France to use my app. I will improve all and add features. I’m sorry, it’s in French because I’m french and will be used by French people, but if I see that more people are interested I will translate it to english, and at the end of the project I will translate it to english if they’re people that want it
I finished the PowerPoint that I will send to delegates from different hightschools in France. I don’t have a good english so I translated it in english with translator. Please tell me what you think about the project, and if you should recommend me to improve some things. Thankss!!
I configurated the chat section, and it works well, I have some users that use it. I used Firebase with the free trial to connect all the user messages so we can talk together. I did it fast because I already started yesterday, also I added a lot of buttons that spoils all the features that the app will have. Please like my post to let other people se my project, and if they’re interested to use it in they’re class.
Already 10 high schools are going to use my app! I created this app for high schools in France, and a big tech company will help me deploy it throughout France. I will translate it to English next day. I also created a form, and so many people have already responded! I really enjoyed setting it up to connect with everyone.
I finished three sections of my app, I love it. I used the free API of lemonde.fr (french news) to have the news all days. I also finished and added some features on the chat section. And I writed a message to the best High school at France to use it. Finnaly, at the configuration section, I added the list of all the membres of the class (they’re bots)
There’s 12 Hightshools that will use my app. I already ended the app. Thanks you for all those who helped me, and followed me in my project❤️❤️❤️❤️ I’m sorry that the app is it in french, i will translate to english for the next version. If youre interested to use that app at your hightschool I can translate it to your language.
Best 12 Hightschools use my app. They’re happy with it Already finished !! I will do an audit to see if they’re is some bugs and I will deploy it !!
Use the app now for free with all the hightschools above France!! Link: https://cuentasfermat.web.app/ The password is : ChromaFermat@2026 Have fun!! 😊😊
I already deployed the project to 12 firebase accounts to let the students use my project the next year and I would like it to help them. I alse send them to each delegue an email to say them what they have to do
Already finished the diaporama for the students that will use my app!! Take a look please, and say me what to improve!!
I finished the project!! Thanks yo evryone that helped me and followed me in my project!!
Hi everyone, there is some students that want to help me the next year, I readed all the messages of my deploy and I decided that it will be international
Some modifications…
I decided that because all students use discord, instagram and more I will transform my PWA into an app so they will can use that apps in my app
Ships:
Hi everyone! This project is for the delegates, 12 delegates of the best Hightschools in France and Morroco will use it the next year. A big tech company will help me with giving me servers to deploy my app. I am developing Fermat-Note, an application designed especially for high school and higher education students to centralize everything: class chat, shared homework management, self-help forums and collective organization. The app allows the class to be more organized and connected to improve class performance. Thanks you so much, I would like you to appreciate it, and if you would like to use it for your class, send me a message!! ❤️👌👌
Hi everyone! This project is for the delegates, 12 delegates of the best Hightschools in France and Morroco will use it the next year. A big tech company will help me with giving me servers to deploy my app.
I’m going to continue improving my project with some others creatorsn and thanks you everyone for all the support I had!!! Good luck!!...
|
1792990616.8690119
|
1793077016.8690119
|
|
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
|
|
39244
|
My Portfolio by @Harpaavan108 | Stardance
|
Harpaavan108
|
3
|
51.0
|
792
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T02:40:17Z", "hours": 13.0, "multiplier": 18.14, "payout": 243, "blessing": "neutral", "text": "Ship #2 for My Portfolio This is my second ship for this project. Since my first ship, I have mainly just added some small features to increase the UX. A lot of these changes were features that I had seen on websites that I liked. So when the time came to bedazzle my website, I implemented these features in my own website. One really consistent thing that I noticed while implementing these features, is that a lot of features are quite simple to implement once you understand the basic logic. I also noticed that once you add these small features, it can make a great effect on the UX, and that the few hours you put into the little things, can have a huge impact and create a great impression on those who visit your website. New Features I added a cool gradient horizontal scroll bar that fills up as you scroll down. I thought this was a super cool feature and required some simple JS logic to implement. The next thing was a loading page. It is a quite simple one, just having a gradient filled circle outline which spins to show a loading effect. Again a small feature just to add nice feel from the moment a person opens the webpage. The next thing was a scroll fade up reveal to everything in the site. I really like seeing this effect on other websites as well, so I wanted to implement it into my website as well I added media queries because I saw how bad the website looked on the phone, and it was just really annoying me. So I took the time to add that just in case I ever had to show anyone my webpage on the phone. After that, I decided to upload some of my certificates onto the website so people could very them, just to add another level of validity. However, instead of making the images open in another tab, I made them open in a modal that stays in the browser tab. I thought this was a super cool effect. Last thing was that I added my photo. To do this, I made it so that when someone hovered over my about me card, it would have a flip animation and on the other side my photo would show. I thought this was a nice and subtle was to implement my photo, without messing up any other styling on the page. Learning JS A lot of these features were implemented with JS, especially ones that were triggered with user input. I will acknowledge that I used AI to help with understanding JS logic for some of these features, and debugging as well, but I also learned along the way. I find JS much more complicated than HTML and CSS, and I think that I have really come far in understanding and implementing it. For examples, I can assign elements and add and remove classes based on user input. I still have some trouble with syntax, and that causes a lot of my problems, but I am really starting to get the hang of JS. I think that JS can create some really neat animations and effects, so I want to learn and understand this language, so that I can let others experience the cool things that I see on other websites. Overall I spent a lot of time on this project, and put in hours even after school started. It is a really personal project. I have come really far since I first started this project and I have grown confident in understanding and writing code and achieve the desired results. I probably will not work on this project after this ship, and will instead turn to other projects that I have pending. Please enjoy this project. If you have any suggestions, let me know in the review or as a comment, and I will try to implement it. Thank You!! Below is a picture of my stardance certificate in the modal that I made, and the other is a picture of the spinning gradient loader. Enjoy!!!", "repo": "https://github.com/Harpaavan-S/my-personal-website", "demo": "https://harpaavan-s.github.io/my-personal-website/"}, {"ship_num": 2, "ts": "2026-08-17T04:39:55Z", "hours": 37.0, "multiplier": 14.92, "payout": 549, "blessing": "neutral", "text": "My Portfolio Project Hi! Welcome to my Stardance project. In this project, I made a personal portfolio website so I could showcase my work. Especially as I enter high school this year, I wanted to have a platform to record all of my progress and have a way to display it to the public. I also wanted to get more experience with coding. Over the past few years, I have done like super mini project in HTML and CSS, but this website is one of my first fully developed projects, and that I have coded all by myself. So I took this opportunity to properly learn HTML and CSS, and also introduce myself to languages like JS and GLSL. Features The website has 6 sections that I made: Hero About Me Projects Experience Achievements Contact Here are some features of my website: The website has an interactive navbar which links to each section in the webpage. There is also a logo in the corner which will link to the Hero section. The navbar has a frosted glass look, which makes blurs the background behind it. The title in the Hero section (which is my name), has a rainbow gradient applied to it. The cool part is that the gradient moves and loops in the name, so the gradient is always moving slowly. This is actually applied to all of the section headings in the webpage. Each card in every section has a frosted glass look applied to it, so it will blur the background behind it. They also enlarge and brighten when you hover over them. The cursor is a small white dot instead of a regular cursor, which enlarges and turns light purple when hovering over a link to communicate to the user that the link is clickable and will lead somewhere. One of the main highlights is the background, which is a shader background made with GLSL, WebGL, and Three.js. The background is an animated gradient. It is also interactive as it will respond to the cursor on the screen. It is one of the key aspects that really make this website shine, and what really makes this project unique and different from other ones. The Easy and Hard Parts Easy Part There were some really easy parts while building this. One was building the HTML layout. After I understood the basics of making classes and organizing texts and everything, it was quite easy to start filling out info for all of the sections. I thought it would be like a really big thing to fill in all of that info, but turned out it wasn’t quite hard. Hard Part There were also hard parts. One main one was the shader background. First it took a really long time to code the first draft of that, as I had to make a shader in GLSL and then import Three.js, and all of that. But then that first draft didn’t work, so then it took me a really long time to debug the code as I had to look through everything for like typos and all that. I did use AI for this part, but it was still a really long and hard process, going back and forth trying to see what was wrong. But in the end it was totally worth it. Overall Overall, I spent a lot of time and effort in this project. One thing that I really wanted to do was make just that I documented all of my progress frequently in devlogs, and I think that I achieved that because all of the 13 devlogs that I have written are pretty detailed. I also wanted to make this unique to me, and I think that the shader background achieved that and just brought the project to a new level. I really hope you enjoy it, and I am happy to take any feedback. I hope to constantly keep updating this project over the next few years. Otherwise, I might add some new features to it (including a scroll bar) in the next month before Stardance ends and I get too busy with school. Below you can view some screenshots of each section of the website (it doesn’t let me upload a video, or else I would’ve done that). Enjoy!!!", "repo": "https://github.com/Harpaavan-S/my-personal-website", "demo": "https://harpaavan-s.github.io/my-personal-website/"}, {"ship_num": 3, "ts": "2026-07-26T23:22:26Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I am working on my personal portfolio. Right now I am just working and crafting the sections and filling in some info. I still have to work on styling and go through all of the sections. But for now I am going to ship", "repo": "https://github.com/Harpaavan-S/my-personal-website", "demo": "https://harpaavan-s.github.io/my-personal-website/"}]...
|
[{"post_id": 63958, "ts": "202 [{"post_id": 63958, "ts": "2026-09-08T01:36:41Z", "hours": 2.1653, "text": "Devlog # 17 This is my final devlog before I ship! I wanted to add a picture of myself in the website so I tried to find a way to do that. I decided that I will make it so that the about me card will flip when hovered over and on the other side will be my image. I thought it would be pretty simple, so I began working on it at 12 last night thinking I could finished it in about 30 minutes. Turns out I was wrong. It took me more than two hours just to get a card to flip and show my image. It was a pain, but the end result looks really neat. Current Progress To make the flip card, I had to restyle the entire about me section. I used a W3Schools tutorial, but i couldn’t end up working well with it, so then I turned to AI for debugging, because I had so many div layers for that card, and then I finally styled it to look good. The effect looks really good though. As well, I decided to publish everything to Github as well now because I hadn’t published anything for the past couple of days so yeah. Then I found a problem with the images not getting pulled correctly, so then I had to transfer all of those to a public/ folder and then adjust the file paths for all of them in my code, and then reload and redeploy like a bajillion times. So it was a lengthy process, but I finally got it working publically, Next Steps My next step is to ship. I really hope I get rated good because I want a pebble time 2. After this I will begin to work on my next project for the remainder of the event, which is a new tab page. After that, I am done with Stardance, as I also have a lot of school work now. So I will ship soon!!"}, {"post_id": 63201, "ts": "2026-09-06T21:23:17Z", "hours": 4.7169, "text": "Devlog #16 So I decided to implement some feedback that I got from the last ship. One piece of this was adding my actual certificates into the website, so people could actually view them in the webpage. So I took some time to scan all my certificates. Creating the links wasn’t quite hard, and at first I thought about just letting it open in a new tab, but then I decided to create a modal just to enhance the UX. Current Progress I decided to add all my certificates into the webpage, just to add a layer of validity to my work. The first part was finding all of the certificates. Whatever I had, I added them to my GitHub repo, and just linked the relative paths in the webpage. The ones which I had online, I just drag and dropped into the repo, while the physical ones I had to scan and then add in. So that took a while, but wasn’t too tedious of a process. After that, I just made a “View ->” sign that appears when you hover over the card, and that is actually a link to the image. Then I decided to make a modal. I realized it actually isn’t too hard, but the JS logic is a but complicated. I styled the modal in CSS, and then just added a .open class to it which was activated when you click the link. So I’m starting to understand JS logic, the only thing that I have trouble with now is writing like proper syntax, as I still have trouble with writing the correct syntax, and that can cause some problems. So then I styled how the image looks in the modal. At first I though about add ing a X to close the modal, but then I made it so then if you press outside the image, then the modal disappears. Some of my UCMAS achievements do not have images attached to them because I couldn’t find actualy certificates for them, so I might take pictures of my trophies to put there, but I haven’t got to that yet, and I don’t want to put low-quality images. So those are still empty, but almost everything else is filled, so now you can go and view those. Next Steps I literally don’t have anything left to do on this, so I think the next step is to just ship. I will take a break from this project and begin to work on my next one, which will be making a cool new tab page from my browser. So expect a ship soon. If anyone has any suggestions on something to add, you can let me know! Below is an image of my stardance certificate shown in the modal on the page."}, {"post_id": 57641, "ts": "2026-08-29T21:00:28Z", "hours": 2.5014, "text": "Devlog #15 This will be a fairly short devlog. I spent this block adding media queries to my CSS code because I opened the website on my phone, and it just looked so wrong to me, so I spent some time doing that. I figured out a great way to simulate a phone screen in my browser using DevTools so I was able to adjust everything through that. Current Progress The plan was that I was going to do media queries at first, but I thought it would be too complicated so I held it off. Now I was kinda forced to after seeing how bad the webpage looked on a phone screen. I realized you just have to make on CSS rule for media queries using media (max-width: 768px) {} . I decided to use 768px because that is like a standard width, but I mainly tested it on 400px width. After that, I opened two windows with my code and as I went through it, I would add a media query rule in the other window. So I conquered my fear of media queries, and addressed that issue. Next Steps I am looking for things to do. One piece of feedback that I got was that my cards had hover effects that made them look like buttons, but had no button effects, so it was kinda misleading. So to fix this, I’m thinking of like scanning my certificates and uploading them as pictures that people can view in the browser. So that’s my next step. To accompany this, I might also do like a redesign of the website, like just adjusting some of the features. Also, I’m thinking of adding a dark mode/light mode feature on it. Below is a quick video of the site on a device with a width of 400px."}, {"post_id": 53562, "ts": "2026-08-24T04:58:54Z", "hours": 4.0317, "text": "Devlog #14 So I started working on it further before my project even got fully rated, so this is my first devlog after shipping my portfolio! During this block, I just added some small features that just overall polished my site a bit more. A lot of these features were added in JS, and I think I actually am starting to get the hang of JS in the way that I actually am starting to understand how to identify objects using const and like how to select them using document.querySelector . So I think I am starting to learn, and just working with these little features just got me a little more familar with JS. I also got the hang of CSS animations, as before I had a little trouble understanding keyframes, but now it makes sense, so it was a good block. Current Progress I added three main things to my website, each of which use JS in them, and I will explain how. The first thing that I added was a scroll progress bar at the top. I really wanted to add this onto website, as I really liked seeing them on other websites, and I styled it to match my theme, and it just looks super good. I make a horizontal bar in my navbar for this, and it has a rainbow gradient. Basically, JS detects where the person is at the website, and just adjusts the scale based on that to show the bar. At first, I made it so it would expand as I scrolled, but then the rainbow was like squished at the beginning, and then I adjusted it so that it actually revealed the bar as I scrolled down, so like same idea but just applied to a different thing. I looks super cool now. The next thing that I added was a loading page. I tried to look into some videos for this, but I ended up making a super simple gradient ring that was animated (again to spin a rainbow). For this, I like made a loader page, which covered the whole view. In it, I made a circle which had a rainbow conic gradient, and then just animated it in CSS to rotate to 360 degrees over the course of like 1.2 seconds. I then used JS to add a class which made the loader disappear and like unresponsive to any pointer controls when the site finished loading. It also looks super good and totally matches the vibe of the site. So yeah, super happy with that. The last thing that I added was like a scroll fade up reveal effect to almost everything in my site, like the cards and the headings and everything. Again, this was a pretty simple trick that I used. Basically you set the object a set number of pixels (like I used 30px) down on the Y axis and turn the opacity down, and then when JS detects the object as the person scrolls, it just moves it up to 0px on the Y axis and goes to full opacity, and it ends up looking super sleek. That little touch just upped the whole website. I was actually looking to add this feature in the beginning of my site, but I never got to it mainly because it used JS, so now I took the chance to add it in. A lot of these features were ones that I saw in like cool websites. So like I’m always on the lookout for cool features, and these were some that I thought really made a website look more polished, and I realized that they are not actually that hard to build once you understand the core concept. Through these I really got better in JS, and upped my skills in CSS, so it was a good block. Next Steps I really do not have anything left to add in this project. Like I even added extra stuff. Please, if you guys have any suggestions, comment them so I can implement them. I will attach a video of my site so you guys can see what its like. One thing I might consider adding is like a easter egg thing or some like sequence or action that will generate a cool surprise. I have to still think about that. But right now I have almost nothing left to do. I actually might ship this again just to get the hours counted in. Below you can see the loading and the scroll fade up reveal and the scroll progress bar at the top."}, {"post_id": 48639, "ts": "2026-08-17T03:42:49Z", "hours": 7.0575, "text": "Devlog #13 (Last Devlog Before Ship) I am finally done with my website. Please read the NEXT STEPS section of this devlog as I have favour to ask you guys . I spent 7 hours of my life building a shader background for my website, but it totally paid off in the end because now I have a really cool, interactive, animated gradient background. I used GLSL to write a shader, and WebGL and Three.js to implement it into my website. I used a video tutorial and some AI debugging to achieve the effect, but it really was a learning process, as I had to install all the tools for it and then work with those, so I learned how to use those. Because of this, I also spent some time updating my README. Current Progress First of all, it took me a really long time to find a good tutorial to make a background, because I really wanted an animated one to show my blur effect and really add a pop to my website. To acheive a shader background I watched a video tutorial from Codegrid, which explained everything really nicely and was quite quick, so I was able to write the code. After though, the background didn’t quite show, so then I used the help of AI to help debug the code and get it working. After I finally got it to work, I spent some time adjusting colors, and brush strength and size, and then distortion amount and fluid decay and all of that stuff until I found the perfect values for a super good looking background. Overall, it was definately worth the time and added a really nice touch to my webpage. I also updated by README, because now the user will need to install some dependencies for this webpage because of the addition of Three.js and everything. So I updated the README to include proper instructions for that and so it explained some more features of my website. I really polished it up, because it was kinda messy before, so I got it ready for a ship. I also changed my cursor one last time. What I had before was a <div> element in HTML following my actual cursor using mousemove in JS, and my actual cursor was hidden in CSS. However, it was like lagging behind and that was starting to show on my new background. So instead, I just made my cursor a little white dot in CSS by liking making a svg file and linking it to the cursor. It just improved user interaction a lot be removing any lag between an following element and the actual cursor. There is still the feature where it will turn bigger and light purple when hovering over a link. Next Steps My next step is to ship!!! However, I have to ask you guys for something. I need some color suggestions for my background. I got a nice one right now that is like dark purplish, but I want your guys’ suggestions on what type of gradient I should make. I can put 4 colors into the gradient. You can use the attached video below to view how the shader looks on the hero page. I do have glass cards, so I don’t want something too light, but it could make a nice addition in a dark gradient. So please put some suggestions in the comments!!! Thank you!!! I will ship right after this, but I will for sure try to look over some color suggestions and experiment around with them. I might try to use one before I ship the final version of the website, so please put some suggestions. Expect a ship really soon."}, {"post_id": 46584, "ts": "2026-08-13T22:23:45Z", "hours": 4.4961, "text": "Devlog #12 This block was mainly dedicated towards making my site look a lot more aesthetic. I spent over 4 hours just tinkering with JS and fonts and color combos and everything, trying to find the perfect combos and fonts that looked super good. I am overall very happy with the progress that I made in this amount of time. At first I thought that the site looked good even without any styling because of my color gradients and all of that, but I just realized how much better it is with like better fonts, and like the small things, like moving gradients instead of static ones. So this whole block was just dedicated to making my site look better. Current Progress The first thing that I did was change my cursor. For this I had to use JS. I changed the cursor to just be like a little white dot with a nice glow around it, and then when it hovers over like a link, then it gets a bit bigger and turns into a light purple color. In JS, I figured out how to like grab an element from CSS, and then use like states, like mousemove to have like a specific action, and then like have the dot follow my actual cursor, but super close so it seems like that is the cursor. And then I hid my actual mouse to really sell the illusion. For the hover thing, I created a hover class in CSS, and then added that class when the mouse “entered” a link, and removed it when it “left” the link. The next thing I did was make the gradients on my text like circle around, so the gradient was always moving around and it looked like dynamic. I actually got this idea from the Hack Club website because in there they have a moving gradient on the text. For this, I actually did not need any JS, and instead just make a looping animation in CSS for the background of the text. I first did it only for the Hero title, but then I liked it so much that I added it to all of the section headings so yeah I thought was a really nice addition The next thing that I did was to edit my skill icons. I mentioned in a previous devlog when I was styling the About Me section, that the little subtitle for each skill was showing on the top of it, so then for skills in the bottom row, it was covering the skill on top. I also used JS for this fix. I first made a class for the subtitle on the bottom, and then again in JS made it so if it was detected to be lower, that class would apply The last thing I did was change the fonts. I am really happy I did this, because the site just looks so much better with different fonts. I imported all of my fonts from Google Fonts. I inserted the link in the <head> section and then used that font family in CSS. I did a lot of like comparing and swithcing around and researching and all of that just to find good fonts, and I have a really bad habit of like taking a lot of time on these kind of things, and it wasn’t even getting tracked on Hackatime, so I tried to do it quickly. I found some really nice fonts for the headings and titles so I am super happy with that. Next Steps Now the only thing left to do that I still havent gotten around to yet is making a really nice background in JS. I really want to make an animation background, because I think that will be like a unique aspect of my website. The main thing I really want that for is the glassmorphism effect that I have on the cards. On a plain dark background, you can’t tell at all that there is a glass effect. But with a sick background that moves, you can see that shapes blur under the cards. So I think that is the last thing to do, because I finished up all the small little details. However, I also think this will be the longest and hardest part because of its complexity in JS so yeah. I am really hoping to ship soon after 1 or 2 more devlogs. Below is a video of the new hero section with cool fonts and a moving gradient background."}, {"post_id": 45456, "ts": "2026-08-11T22:41:43Z", "hours": 3.7847, "text": "Devlog #11 I have finally finished styling my whole website in CSS. It was such a long process, but I really think that I learned how to code in CSS. Position and display no longer confuse me and I have gotten the hang of adding cool effects to me elements. I am really liking the theme of my website, but I still have more to do. Right now, I have a lot of empty space in my website. Because all of my cards are glassmorphism, I am planning to use JS to make really neat background just to add like a nice touch and really sell the website, but that might be after the first ship. I am also planning to change some fonts and all that, so still a lot to do. Current Progress I finished the Achievements and Contact section and also styled my footer. I made a masonry style layout for the achievements, and I think the design turned out really neat. At first, I thought I would use a flexbox or a grid, but then I saw that I could just make a fized number of columns and the text would just automatically arrange itself. So I used that instead of getting all tangled up in like flex and grid properties and all of that. But then it actually made it like vertically ordered, but I wanted it horizontally, so I took the time to like arrange them so that the layout would appear even and it would look like it was horizontally arranged, when in reality it is actually vertically arranged but in a weird way. It makes more sense when you look at it. I also finished the Contact section. This was quite easy. I just styled it like the Hero and added two little icons: one to my email, and the other to my github, so yeah that was pretty simple. I first thought of adding a contact form, but then I realized that that needed a backend, so I decided against that. Again, if I want, I might add it later in the future, but for now I will leave it at just to two icons. So mainly I finished those two sections in this block. One more cool thing that I discovered was how to make links open to a new page, because while I was trying out links it was bugging me that it was always opening in that page, so this really put my mind to ease a bit, and makes navigation a bit easier. Next Steps I am planning to ship very soon. I am thinking of just adding some finishing touches before shipping the first version, like some font changes. I might also just try to play around in JS, and like get a feel of it, Because I think that a cool background will really take it to the top, so I will play around a bit with that. i’m also thinking about adding like scroll up effects, especially for like my experience timeline. But yeah next steps might just to be to polish it up just a bit before shipping. I am super excited to try out JS, and hope that the final product will be awesome. Below is a picture of the masonry effect of the achievements section."}, {"post_id": 44357, "ts": "2026-08-10T02:05:02Z", "hours": 3.055, "text": "Devlog #10 I have finished the Experiences section of the website. This section was for sure a lot trickier than I thought it would be. The hardest part was trying to figure out how to arrange the boxes in a vertical but staggered order, so I could build the timeline. However, on the upside, I was able to quickly do styling, because a lot of the colors and like hover effects and everything was already set up in my code from styling the previous section, so that did not take too much time. Overall, I really like how this section turned out, and I think it is a bit different from the rest of the sections. Current Progress I completed the Experience section. This one is styled a bit differently from the other two. In this one, the timeline in centered and it goes longer than the length of the screen. The about me section and the projects section were all set to be as tall as the screen itself using height: 100dvh , but this one is actually dictated by the length of the cards, and then I added some padding at the bottom to separate it from the next section. The tricky part was to actually make the timeline affect. At first I did some research and thought or using pseudo elements in CSS to create a line through the middle of the page and arrange the boxes beside it. But that was way too complicated and didn’t seem to work for me, so I decided to arrange the boxes first and then add the line later. To arrange the boxes, I first centered them vertically in the middle of the screen, and then gave half of them one class and the other half another class. Then I pushed one class completely to the right, and the other to the left and that created a staggered timeline look. Then I needed to add a line through it. To do this, I created an empty <div> tag at the beginning of my experience section and then styled it as a line as long as my experience cards and then filled it with a rainbow gradient to kinda match my theme. I also added tiny circles using the same method to the timeline wherever their was a card to kinda just make it look cooler. I will acknowledge that I did use a bit of AI for this section to research the different ways to position the boxes, but otherwise I implemented all code by myself and I did not copy paste anything in. I really think this section introduced me to the flexibility in CSS, and how to manipulate different rules and elements to get the desired effect. Next Steps I am now going to work on the Achievements section. I am planning on making this section like a staggering kinda page of acheivements, like not quite even, just like a mosaic, because there is a lot of content in this section. For a kind of visualizer, I am planning to kinda style it like a pinterest page so like staggered and just fitting together. I just hope that it doesn’t turn out to jaggedy or uneven at the end of that part, and that it doesn’t take too long to organize them to look like at least like reasonably even at that. Hopefully I finish this section pretty quick, like just an hour or 2, and then I will quickly finish up the contact section as well, so then I will post a devlog of those two, but yeah I will see. I think I am getting close to a ship so keep an eye out for the next few days. Below you can see like the full experience timeline like zoomed out and I am hovering over the first card."}, {"post_id": 43667, "ts": "2026-08-09T01:57:34Z", "hours": 3.26, "text": "Devlog #9 I finished the Project section of the website. I also took some time to like style and experiment with some like hovering effects in the website. I also figured out how to color texts with gradients, so I changed all of my main section headings to cool colorful pastel gradients. I also made each glass card look cool when you hover over it. I also made some of the text like get bigger or show cool stuff when you hover over it. So yeah. I really think I am getting the hang of CSS. Most importantly, I think that I am able to use resources from the internet and apply them accordingly to my website. This block was mainly like a styling portion to kinda experiment and apply some aesthetics to my site. Current Progress I finished the Projects section. This section was much easier to arrange. Instead of using display: flexbox I used display: grid to help position each of the cards into an organized layout. What I really like about this display is that it automatically does all the math itself and gives each card its own equal amount of space so that they look even on the page. I got 4 nice cards for each project. I also styled the the heading to look like a gradient. I figured out that you make the background image a gradient, and then clip it to the text, and then just make the text clear so that the color shows. So I made all the headings look like that. Another thing that I did was use box-shadow to make the cards look cool when I hover over them. I realized that there are a lot of elements for the box-shadow, though once you figure them out, its not too complicated. So then I applied the box shadow effect to everything in the website that it would look good on. So yeah that was also a learning experience. I also figured out how to make a specific thing appear once you hover over like a bigger topic. So like I made some text a bit bigger or like an element appear when i hover over the whole card. You add the hover rule for the big card, and then add the class for the specific element, and then do your ending look. I used that for some things. So I really got some styling done to make my website like look better. Next Steps I will now work on the Experience section. I have around 6 cards for this. For this section, I am planning on making like a scrolling timeline to showcase like all of the past stuff in a chronological order. This might be tricky because up until now I was using the height: 100dvh to determine how big a section would be, but this one is going to have to different from that because of its scrolling nature. So yeah. But I think I am really getting the hang of positioning and display. and how to manipulate objects between different rules. I am starting to realize that code is not as strict as I thought it was. Like I thought everything needs to be like letter precise, but you have a bit space to improvise and experiment. So I can actually code a bit in CSS. I really enjoying styling things, like the gradient texts or like hover effects, so I am going to make sure to include those things in this next section as well. I am excited to get to work and encounter this new challenge. Below is a picture of the Projects sections and I am hovering over the first card, so you can see the hover effect."}, {"post_id": 43107, "ts": "2026-08-08T06:12:14Z", "hours": 3.0431, "text": "Devlog #8 I am finished the About Me section. I came across a problem though. In the pills, I want it to be like that when I hover over the pill, the name of that skill shows above it in a small text. However, pills in the bottom row, their text will start to hover into the pill of the next row, so that messes up the thing. BUT, if I add a space, it will look like a really weird gap between the rows. I did some research and I read that I might need to use some JS to fix, so like pills on the bottom, their text shows on the bottom, and pills on the top, their text shows on the top. So I am going to leave that for now, and work on it after I am done with the rest of the webpage. Current Progress Right now I finished position the stuff for the About Me section. I found this part really complicated, especially with the little icons. I ended up having to add more classes in my HTML to style them accordingly in CSS. Again, I still have a bit of problems with positioning, but I am starting to get the hang of like display , margin , padding , and gap , and how they work with different classes to arrange and organize everything. I also learned how to use transition to just make thing shift smoothly when you hover one them. This section took me a really long time because I had to arrange the about me text and all of my skills. I figured out where like display: relative and display: absolute are used, because I then had to arrange my text so that it was like positioned vertically 110% and horizontally 50% of the icon, so they helped in that. Otherwise, this part really familirized me a bit more with CSS. I especially got the hang of like background and border styling, and how to experiment with corner rounding and different colors and transitions and all of that, so I think this section was really a learning experience. Next Steps I will now begin to work on the Projects section. For this section I am just thinking making cards for each project each with a glassy effect behind it. Because I am giving each element like a glass effect, I am planning on making a super cool background later once I finished the site in JS so that the glass effect really shows and provides a unique aspect to my website. I think this section will be a lot simpler, but I will have to add more classes in HTML to do this I think. A tricky part might be to style the links, because I have links to all of my projects and their repositories, so yeah. Once I figure out the positioning of the cards, its practically smooth sailing from there, because like adjust font sizes and colors are like pretty easy for me. I might even make like the glass lighten up when I hover. One thing I want to experiment with is with box-shadow so that a shadow shows underneath the card. So I will play around with that. Otherwise, I am excited to continue working on this. The layout for this section is similar to the rest, so I think from here I will begin to quickly finish up the rest of the sections. You can view the about me page here. I am hovering over the HTML pill, and you can see the text over it."}, {"post_id": 41119, "ts": "2026-08-05T03:35:16Z", "hours": 3.1164, "text": "Devlog #7 I finished creating the navbar and have finally started on the CSS. Now because I am a complete beginner to CSS, I did use some help of AI just to kinda get the hang of like rules and all the different like properties. I DID NOT copy paste anything from AI. This is a project that I am doing to learn HTML and CSS. I actually want to learn this, and AI is just assisting me. I completed the navbar in CSS, and started on the Hero section. Right now positioning for CSS is confusing me a bit, so I need to work on that a bit more. The Hero was fairly easy as in the text, and I haven’t added much to it, but I figured out how to center it. The next steps will be to work on the about me section. Current Progress I finished up the navbar by quickly making a list of links at the very top of my html that went to each section. I also added a logo in the other corner (which is just my initials for now) which will link back to the hero page, like the top of the webpage. I was able to add a nice frosty glass effect the navbar, which was pretty simple. All you got to do is make the background like a little translucent and then add a blur effect. I thought it would be super hard, but it actually wasn’t. I am probably going to use this same formula for the glass cards of each section. My plan is to make them more interactive as I continue, but for right now I will just keep it at that. For the hero, the plan is to just make my name and a short subtitle below, and then add a cool effect around it. For now I just mapped out the area of the hero section. I realized that 100vh is the same as the whole area of the screen, so that is perfect for the hero section. I set the height to that. I also learned that you could access text from within sections that you have id’ed, ex. like I could access the <p> text in the hero section by using the rule #hero p {} so that was pretty neat. Like I mentioned, I used AI to help with some of the centering stuff, because there are a lot of rules for that. I also learned a lot about default positioning, and relative, and fixed positioning. I decided to use position: fixed; for the navbar so it stays on the page the whole time. I still need to get the hang of positioning, but as I begin the next sections, I think I will learn to do that on my own. Next Steps I finished the Hero section for now for CSS, so I will start with the About Me sections. Again this section will have like a blurb about me and then little icons of all of the skills that I know. This is for sure going to be a lot more trickier than the Hero section. My plan is to first try and do the basic styling on my own, and then refer to other resources to polish it up. I am probably going to use the glass effect for the about me blurb and then as a little background behind each icons, like a little drop. I am excited to get this part complete because right now I just have like a very long list of large images in the website, (which are the icons for the skills) that are taking up like the whole screen and I am so ready to get rid of those and just clean up the webpage a bit. After those are organized into the skills, then everything will just be a little cleaner. I am planning to organize the skills based on software, hardware, and then others. The icons are already organized in HTML, so I am excited to begin tomorrow on styling the next section. The navbar is glassy, its just because there is nothing under it to be blurred thats why it doesn’t show."}, {"post_id": 40465, "ts": "2026-08-04T00:41:21Z", "hours": 2.0869, "text": "Devlog #6 I have finally finished the HTML section. I have organized all of my sections and filled in enough information to make a complete portfolio website. I’m not going to worry about any more of the info and just continue on to CSS and styling my website, I think this is going to be a lot more tricky because now I have to arrange and order everything and make it look pleasing and smooth. Right now I am going for a darker vibe. I don’t have like a specific theme, but I might add like hints of color around the website. I am planning on making like cards that each have a glass morphism effect. Current Progress Right now I filled in the skills sections. Like I said before, I am planning to just show the icon on a glassy back. I am going to back it so that when the person hovers over it, it will show like a text of what the skill actually is like the name. I learned how to use a <snap> tag, which is kinda like <div> tag but it doesn’t need it’s own line, so you can kinda group things inside groups without like tabbing again. I put it on the labels for each skill so I could style it separately from the icon in CSS. I was able to get icons for every skill in there. I used Devicon for some programming languages and Flaticon for some of the other ones. I finally got the hang of images. They show on the preview so I think they will show in GitHub pages later as well when I publish them. I still have to see but I think that a succes because in my first devlog the images actually didn’t work, so this is good. Right now they are huge, but I will fix them in CSS. I put them all in the same class, so I think it won’t be too hard. Next Steps I actually forgot to make a navbar, so I will quickly make a navbar and then begin CSS. I don’t thing a navbar will be too hard because it is just links. I will most likely keep it as a header at the top, and just apply a nice glassmorphism effect to it. But yeah, I actually got to make a navbar in HTML, so not completely done with that, but after that I will for sure be done. I might not post a devlog after building the navbar and might just move onto CSS, but it depends on how much time it will take. If it takes more than an hour, then I’ll post a devlog, other than that, I wil post one after some work with CSS, maybe after making the hero section. Below are the some of the image from Flaticon"}, {"post_id": 40271, "ts": "2026-08-03T18:12:42Z", "hours": 1.47, "text": "Devlog #5 I am still working on the HTML portion, but I am nearing completion. I think that the next devlog that I post will be the last one of HTML, and after that I will start to move onto CSS. Speaking of CSS, I am still deciding whether I want to experiment with JS for this project. I have no experience in JS, so it might be like a later thing I want to add after I finish the initial draft of the project. I think it will make it look super smooth with cool animations, but I am still deciding, I think the amount of time I will spend in CSS will decide whether I want to use JS or not. Current Progress I have now added some cards to the Awards section. This one did not take too long because I was able to figure out the tags quite easily because by now I have experimented a lot with them. One thing I learned how to do was to create lists in HTML. It was quite simple. Once you figure out the tags then it is pretty easy. I have a lot of awards that are like issued from a single organization and then some standalone ones, so I used the <ul> tag to create an unordered list and the <li> to add each item to my list. Overall I am planning to make like a card mosaic. Because they are all going to be like different sizes, so they will look kind of like a Pinterest post with like broken blocks, but fit nicely together. I think that will be the simplest way to style it in CSS right now, so I am going with that. Overall, this did not take as long as I expected. I actually already had a document ready, so many were just copied from there. Next Steps I have already filled out the Contact section. I just linked my email and added a little description. I don’t have a lot of forms of contact , so I am going to stick to just email. Now I am going to work on adding my skills, because that is in the about me section. I am not going to actually write it but instead add like little logos for each like skill so that is the next step. I am planning to separate them by like software, and hardware, and like other maybe, but I am going to work on that next. Again I hope that the next devlog will be the last for HTML before I begin CSS."}, {"post_id": 38499, "ts": "2026-07-31T22:25:20Z", "hours": 3.4719, "text": "Devlog #4 I have filled in some more sections of my webpage. I am still at the HTML portion. Right now the webpage looks like really bad when I view, and it’s tempting for me to move right to CSS to begin styling, but I think it will be easier for me in the long run if I finish all of the HTML now, at least all of the sections. Of course, if I move onto CSS, it won’t mean that I’m completely done with HTML, I will always be adding more stuff and I find ways to improve my website. Current Progress So before I had filled out the Projects section. I was working with GitHub a lot, uploading my projects so I could link them. I also had to use the Github desktop app to upload some files. Because I had opened the website repository in my VSCode desktop app, I think that something got mixed up, and the file didn’t save properly, so then my whole projects section got deleted. I had to spend some time filling that in again, though it wasn’t too hard the second time because the live preview in the browser still had the text in it, and I had already created all of the links again. Then I made sure that my files would autosave, and that the repository was properly linked. After I pushed the commits to Github to save it there, and I will do the same after posting this devlog. After that I began to fill in the Experience section, and that was mainly the majority of this time block. Again, I had to like go back and kinda figure out the dates of everything. I am thinking like a timeline style for this one, and that I will have like a little card for each thing. The plan is to make a scrolling website, so that each card will like appear as you scroll down. I have got a good solid like 6 cards of stuff, so for now I am done with that section. I learned more about like div and section tags during this. I also learned the effect of applying classes to text, as it seperates it from other text when styling it in CSS. I applied it to the date text in the experience sections, so that the time frame will be like a little substitle, different from the actual text in the card. Next Steps I am probably done for today. Next, I will start to work on the awards sections. A challenge will be to organize those sections because like I have many awards from a specific section but then some are just standalone, so I still a have to figure out how to organize the sections in HTML and how to apply the section and div tags. However, I don’t think I will use the section tag, as that may only be for sections that will be in the navbar. But organizing the awards using div and applying different classes will be tricky and hard to keep organizing. i want to make sure that I continue and keep my code nice and clean so that CSS styling is easy."}, {"post_id": 37296, "ts": "2026-07-29T22:04:53Z", "hours": 1.9631, "text": "Devlog #3 I have started to fill in some more information about myself in the webpage. The plan is that I will first constuct the HTML layout and fill in all of the sections. Because I am still a high student, my portfolio will look a bit different because I am not actually advertising a service or anything like that. The order that I am planning to go in is the following: Hero About Me (along with skills) Projects Experience Achievements/Awards Contact Current Progress Right now I have constructed each of the sections in HTML. I am using the section tag to separate each of the parts that I just described above so that I can link them using a navbar, though I have not created anything for a navbar yet. One thing that confused me for a while was the difference between section and div tags. After some research, I realized that section actually separates the parts in the HTML file, while the div just like adds an invisible containor around the parts and doesn’t actually effect the HTMl at all. It just like groups them together. The section tag is great for the navbar. I am using the div tag for like sub sections, like for an individual project within the Projects section. This will help later with design as I am planning to make like each project a card on the screen. That brings me to my next thing. Right now I have filled in around 3 projects that I have made. The biggest hurdle was that not all of them were on Github, so I had to go back into my files and like refresh by brain on those past projects. I wanted to have links to projects in the website, so some of my past projects, I had to spend like an hour or two just trying to upload those and get the repositories set. I have attched 3 projects so far. I will probably add more, but for now I think I will move on Next Steps Next, I am going to start filling in some of the other sections, like the About Me section. I am still thinking on how to display the Experience section, but I will start filling in that section too. I will also begin to organize like the subsections for each section and begin to build a navbar. By the end of the week, I hope to have like a basic HTML structure with all of the sections roughly filled in, and then I will move onto CSS. I think the biggest challenge will be to organize everything neatly for experiences and achievements. But otherwise I am looking forward to start filling those in."}, {"post_id": 35488, "ts": "2026-07-26T23:14:47Z", "hours": 0.8378, "text": "I have kinda gotten a sense of how I want my site to be like. For the portfolio, I will kinda have around 5 sections: Hero, About Me, Projects, Achievements. and Contact. I am think of a kinda dark aesthethic theme with neon accents in there. I am also thinking that I will make like each section themed to what I have achievemed or what is added in that section. Right now I have added a gradient to my background and written some stuff in the about me section. I have also added a link to my astrobounce project which is also here on stardance."}, {"post_id": 35031, "ts": "2026-07-26T06:02:46Z", "hours": 0.3153, "text": "My personal site. Right now I am just getting started on this website. Mainly this project will be for me to learn basic HTML and some more CSS code. I want the end goal to be a nice smooth and polished site. I have still yet to pick a theme. Right now the only hurdle I have encountered is that the image isn’t uploading properly into the website, so I will be looking into that and trying to fix that. Otherwise I am only planning to spend a couple more hours. I might plan to make this a personal portfolio site for myself as I enter high school to help showcase some of my experiences and achievements. But I am still deciding on the theme. And that will be in a later devlog."}]...
|
Title: My Portfolio by @Harpaavan108 | Stardance
Title: My Portfolio by @Harpaavan108 | Stardance
Devlogs:
My personal site. Right now I am just getting started on this website. Mainly this project will be for me to learn basic HTML and some more CSS code. I want the end goal to be a nice smooth and polished site. I have still yet to pick a theme. Right now the only hurdle I have encountered is that the image isn’t uploading properly into the website, so I will be looking into that and trying to fix that. Otherwise I am only planning to spend a couple more hours. I might plan to make this a personal portfolio site for myself as I enter high school to help showcase some of my experiences and achievements. But I am still deciding on the theme. And that will be in a later devlog.
I have kinda gotten a sense of how I want my site to be like. For the portfolio, I will kinda have around 5 sections: Hero, About Me, Projects, Achievements. and Contact. I am think of a kinda dark aesthethic theme with neon accents in there. I am also thinking that I will make like each section themed to what I have achievemed or what is added in that section. Right now I have added a gradient to my background and written some stuff in the about me section. I have also added a link to my astrobounce project which is also here on stardance.
Devlog #3 I have started to fill in some more information about myself in the webpage. The plan is that I will first constuct the HTML layout and fill in all of the sections. Because I am still a high student, my portfolio will look a bit different because I am not actually advertising a service or anything like that. The order that I am planning to go in is the following: Hero About Me (along with skills) Projects Experience Achievements/Awards Contact Current Progress Right now I have constructed each of the sections in HTML. I am using the section tag to separate each of the parts that I just described above so that I can link them using a navbar, though I have not created anything for a navbar yet. One thing that confused me for a while was the difference between section and div tags. After some research, I realized that section actually separates the parts in the HTML file, while the div just like adds an invisible containor around the parts and doesn’t actually effect the HTMl at all. It just like groups them together. The section tag is great for the navbar. I am using the div tag for like sub sections, like for an individual project within the Projects section. This will help later with design as I am planning to make like each project a card on the screen. That brings me to my next thing. Right now I have filled in around 3 projects that I have made. The biggest hurdle was that not all of them were on Github, so I had to go back into my files and like refresh by brain on those past projects. I wanted to have links to projects in the website, so some of my past projects, I had to spend like an hour or two just trying to upload those and get the repositories set. I have attched 3 projects so far. I will probably add more, but for now I think I will move on Next Steps Next, I am going to start filling in some of the other sections, like the About Me section. I am still thinking on how to display the Experience section, but I will start filling in that section too. I will also begin to organize like the subsections for each section and begin to build a navbar. By the end of the week, I hope to have like a basic HTML structure with all of the sections roughly filled in, and then I will move onto CSS. I think the biggest challenge will be to organize everything neatly for experiences and achievements. But otherwise I am looking forward to start filling those in.
Devlog #4 I have filled in some more sections of my webpage. I am still at the HTML portion. Right now the webpage looks like really bad when I view, and it’s tempting for me to move right to CSS to begin styling, but I think it will be easier for me in the long run if I finish all of the HTML now, at least all of the sections. Of course, if I move onto CSS, it won’t mean that I’m completely done with HTML, I will always be adding more stuff and I find ways to improve my website. Current Progress So before I had filled out the Projects section. I was working with GitHub a lot, uploading my projects so I could link them. I also had to use the Github desktop app to upload some files. Because I had opened the website repository in my VSCode desktop app, I think that something got mixed up, and the file didn’t save properly, so then my whole projects section got deleted. I had to spend some time filling that in again, though it wasn’t too hard the second time because the live preview in the browser still had the text in it, and I had already created all of the links again. Then I made sure that my files would autosave, and that the repository was properly linked. After I pushed the commits to Github to save it there, and I will do the same after posting this devlog. After that I began to fill in the Experience section, and that was mainly the majority of this time block. Again, I had to like go back and kinda figure out the dates of everything. I am thinking like a timeline style for this one, and that I will have like a little card for each thing. The plan is to make a scrolling website, so that each card will like appear as you scroll down. I have got a good solid like 6 cards of stuff, so for now I am done with that section. I learned more about like div and section tags during this. I also learned the effect of applying classes to text, as it seperates it from other text when styling it in CSS. I applied it to the date text in the experience sections, so that the time frame will be like a little substitle, different from the actual text in the card. Next Steps I am probably done for today. Next, I will start to work on the awards sections. A challenge will be to organize those sections because like I have many awards from a specific section but then some are just standalone, so I still a have to figure out how to organize the sections in HTML and how to apply the section and div tags. However, I don’t think I will use the section tag, as that may only be for sections that will be in the navbar. But organizing the awards using div and applying different classes will be tricky and hard to keep organizing. i want to make sure that I continue and keep my code nice and clean so that CSS styling is easy.
Devlog #5 I am still working on the HTML portion, but I am nearing completion. I think that the next devlog that I post will be the last one of HTML, and after that I will start to move onto CSS. Speaking of CSS, I am still deciding whether I want to experiment with JS for this project. I have no experience in JS, so it might be like a later thing I want to add after I finish the initial draft of the project. I think it will make it look super smooth with cool animations, but I am still deciding, I think the amount of time I will spend in CSS will decide whether I want to use JS or not. Current Progress I have now added some cards to the Awards section. This one did not take too long because I was able to figure out the tags quite easily because by now I have experimented a lot with them. One thing I learned how to do was to create lists in HTML. It was quite simple. Once you figure out the tags then it is pretty easy. I have a lot of awards that are like issued from a single organization and then some standalone ones, so I used the <ul> tag to create an unordered list and the <li> to add each item to my list. Overall I am planning to make like a card mosaic. Because they are all going to be like different sizes, so they will look kind of like a Pinterest post with like broken blocks, but fit nicely together. I think that will be the simplest way to style it in CSS right now, so I am going with that. Overall, this did not take as long as I expected. I actually already had a document ready, so many were just copied from there. Next Steps I have already filled out the Contact section. I just linked my email and added a little description. I don’t have a lot of forms of contact , so I am going to stick to just email. Now I am going to work on adding my skills, because that is in the about me section. I am not going to actually write it but instead add like little logos for each like skill so that is the next step. I am planning to separate them by like software, and hardware, and like other maybe, but I am going to work on that next. Again I hope that the next devlog will be the last for HTML before I begin CSS.
Devlog #6 I have finally finished the HTML section. I have organized all of my sections and filled in enough information to make a complete portfolio website. I’m not going to worry about any more of the info and just continue on to CSS and styling my website, I think this is going to be a lot more tricky because now I have to arrange and order everything and make it look pleasing and smooth. Right now I am going for a darker vibe. I don’t have like a specific theme, but I might add like hints of color around the website. I am planning on making like cards that each have a glass morphism effect. Current Progress Right now I filled in the skills sections. Like I said before, I am planning to just show the icon on a glassy back. I am going to back it so that when the person hovers over it, it will show like a text of what the skill actually is like the name. I learned how to use a <snap> tag, which is kinda like <div> tag but it doesn’t need it’s own line, so you can kinda group things inside groups without like tabbing again. I put it on the labels for each skill so I could style it separately from the icon in CSS. I was able to get icons for every skill in there. I used Devicon for some programming languages and Flaticon for some of the other ones. I finally got the hang of images. They show on the preview so I think they will show in GitHub pages later as well when I publish them. I still have to see but I think that a succes because in my first devlog the images actually didn’t work, so this is good. Right now they are huge, but I will fix them in CSS. I put them all in the same class, so I think it won’t be too hard. Next Steps I actually forgot to make a navbar, so I will quickly make a navbar and then begin CSS. I don’t thing a navbar will be too hard because it is just links. I will most likely keep it as a header at the top, and just apply a nice glassmorphism effect to it. But yeah, I actually got to make a navbar in HTML, so not completely done with that, but after that I will for sure be done. I might not post a devlog after building the navbar and might just move onto CSS, but it depends on how much time it will take. If it takes more than an hour, then I’ll post a devlog, other than that, I wil post one after some work with CSS, maybe after making the hero section. Below are the some of the image from Flaticon
Devlog #7 I finished creating the navbar and have finally started on the CSS. Now because I am a complete beginner to CSS, I did use some help of AI just to kinda get the hang of like rules and all the different like properties. I DID NOT copy paste anything from AI. This is a project that I am doing to learn HTML and CSS. I actually want to learn this, and AI is just assisting me. I completed the navbar in CSS, and started on the Hero section. Right now positioning for CSS is confusing me a bit, so I need to work on that a bit more. The Hero was fairly easy as in the text, and I haven’t added much to it, but I figured out how to center it. The next steps will be to work on the about me section. Current Progress I finished up the navbar by quickly making a list of links at the very top of my html that went to each section. I also added a logo in the other corner (which is just my initials for now) which will link back to the hero page, like the top of the webpage. I was able to add a nice frosty glass effect the navbar, which was pretty simple. All you got to do is make the background like a little translucent and then add a blur effect. I thought it would be super hard, but it actually wasn’t. I am probably going to use this same formula for the glass cards of each section. My plan is to make them more interactive as I continue, but for right now I will just keep it at that. For the hero, the plan is to just make my name and a short subtitle below, and then add a cool effect around it. For now I just mapped out the area of the hero section. I realized that 100vh is the same as the whole area of the screen, so that is perfect for the hero section. I set the height to that. I also learned that you could access text from within sections that you have id’ed, ex. like I could access the <p> text in the hero section by using the rule #hero p {} so that was pretty neat. Like I mentioned, I used AI to help with some of the centering stuff, because there are a lot of rules for that. I also learned a lot about default positioning, and relative, and fixed positioning. I decided to use position: fixed; for the navbar so it stays on the page the whole time. I still need to get the hang of positioning, but as I begin the next sections, I think I will learn to do that on my own. Next Steps I finished the Hero section for now for CSS, so I will start with the About Me sections. Again this section will have like a blurb about me and then little icons of all of the skills that I know. This is for sure going to be a lot more trickier than the Hero section. My plan is to first try and do the basic styling on my own, and then refer to other resources to polish it up. I am probably going to use the glass effect for the about me blurb and then as a little background behind each icons, like a little drop. I am excited to get this part complete because right now I just have like a very long list of large images in the website, (which are the icons for the skills) that are taking up like the whole screen and I am so ready to get rid of those and just clean up the webpage a bit. After those are organized into the skills, then everything will just be a little cleaner. I am planning to organize the skills based on software, hardware, and then others. The icons are already organized in HTML, so I am excited to begin tomorrow on styling the next section. The navbar is glassy, its just because there is nothing under it to be blurred thats why it doesn’t show.
Devlog #8 I am finished the About Me section. I came across a problem though. In the pills, I want it to be like that when I hover over the pill, the name of that skill shows above it in a small text. However, pills in the bottom row, their text will start to hover into the pill of the next row, so that messes up the thing. BUT, if I add a space, it will look like a really weird gap between the rows. I did some research and I read that I might need to use some JS to fix, so like pills on the bottom, their text shows on the bottom, and pills on the top, their text shows on the top. So I am going to leave that for now, and work on it after I am done with the rest of the webpage. Current Progress Right now I finished position the stuff for the About Me section. I found this part really complicated, especially with the little icons. I ended up having to add more classes in my HTML to style them accordingly in CSS. Again, I still have a bit of problems with positioning, but I am starting to get the hang of like display , margin , padding , and gap , and how they work with different classes to arrange and organize everything. I also learned how to use transition to just make thing shift smoothly when you hover one them. This section took me a really long time because I had to arrange the about me text and all of my skills. I figured out where like display: relative and display: absolute are used, because I then had to arrange my text so that it was like positioned vertically 110% and horizontally 50% of the icon, so they helped in that. Otherwise, this part really familirized me a bit more with CSS. I especially got the hang of like background and border styling, and how to experiment with corner rounding and different colors and transitions and all of that, so I think this section was really a learning experience. Next Steps I will now begin to work on the Projects section. For this section I am just thinking making cards for each project each with a glassy effect behind it. Because I am giving each element like a glass effect, I am planning on making a super cool background later once I finished the site in JS so that the glass effect really shows and provides a unique aspect to my website. I think this section will be a lot simpler, but I will have to add more classes in HTML to do this I think. A tricky part might be to style the links, because I have links to all of my projects and their repositories, so yeah. Once I figure out the positioning of the cards, its practically smooth sailing from there, because like adjust font sizes and colors are like pretty easy for me. I might even make like the glass lighten up when I hover. One thing I want to experiment with is with box-shadow so that a shadow shows underneath the card. So I will play around with that. Otherwise, I am excited to continue working on this. The layout for this section is similar to the rest, so I think from here I will begin to quickly finish up the rest of the sections. You can view the about me page here. I am hovering over the HTML pill, and you can see the text over it.
Devlog #9 I finished the Project section of the website. I also took some time to like style and experiment with some like hovering effects in the website. I also figured out how to color texts with gradients, so I changed all of my main section headings to cool colorful pastel gradients. I also made each glass card look cool when you hover over it. I also made some of the text like get bigger or show cool stuff when you hover over it. So yeah. I really think I am getting the hang of CSS. Most importantly, I think that I am able to use resources from the internet and apply them accordingly to my website. This block was mainly like a styling portion to kinda experiment and apply some aesthetics to my site. Current Progress I finished the Projects section. This section was much easier to arrange. Instead of using display: flexbox I used display: grid to help position each of the cards into an organized layout. What I really like about this display is that it automatically does all the math itself and gives each card its own equal amount of space so that they look even on the page. I got 4 nice cards for each project. I also styled the the heading to look like a gradient. I figured out that you make the background image a gradient, and then clip it to the text, and then just make the text clear so that the color shows. So I made all the headings look like that. Another thing that I did was use box-shadow to make the cards look cool when I hover over them. I realized that there are a lot of elements for the box-shadow, though once you figure them out, its not too complicated. So then I applied the box shadow effect to everything in the website that it would look good on. So yeah that was also a learning experience. I also figured out how to make a specific thing appear once you hover over like a bigger topic. So like I made some text a bit bigger or like an element appear when i hover over the whole card. You add the hover rule for the big card, and then add the class for the specific element, and then do your ending look. I used that for some things. So I really got some styling done to make my website like look better. Next Steps I will now work on the Experience section. I have around 6 cards for this. For this section, I am planning on making like a scrolling timeline to showcase like all of the past stuff in a chronological order. This might be tricky because up until now I was using the height: 100dvh to determine how big a section would be, but this one is going to have to different from that because of its scrolling nature. So yeah. But I think I am really getting the hang of positioning and display. and how to manipulate objects between different rules. I am starting to realize that code is not as strict as I thought it was. Like I thought everything needs to be like letter precise, but you have a bit space to improvise and experiment. So I can actually code a bit in CSS. I really enjoying styling things, like the gradient texts or like hover effects, so I am going to make sure to include those things in this next section as well. I am excited to get to work and encounter this new challenge. Below is a picture of the Projects sections and I am hovering over the first card, so you can see the hover effect.
Devlog #10 I have finished the Experiences section of the website. This section was for sure a lot trickier than I thought it would be. The hardest part was trying to figure out how to arrange the boxes in a vertical but staggered order, so I could build the timeline. However, on the upside, I was able to quickly do styling, because a lot of the colors and like hover effects and everything was already set up in my code from styling the previous section, so that did not take too much time. Overall, I really like how this section turned out, and I think it is a bit different from the rest of the sections. Current Progress I completed the Experience section. This one is styled a bit differently from the other two. In this one, the timeline in centered and it goes longer than the length of the screen. The about me section and the projects section were all set to be as tall as the screen itself using height: 100dvh , but this one is actually dictated by the length of the cards, and then I added some padding at the bottom to separate it from the next section. The tricky part was to actually make the timeline affect. At first I did some research and thought or using pseudo elements in CSS to create a line through the middle of the page and arrange the boxes beside it. But that was way too complicated and didn’t seem to work for me, so I decided to arrange the boxes first and then add the line later. To arrange the boxes, I first centered them vertically in the middle of the screen, and then gave half of them one class and the other half another class. Then I pushed one class completely to the right, and the other to the left and that created a staggered timeline look. Then I needed to add a line through it. To do this, I created an empty <div> tag at the beginning of my experience section and then styled it as a line as long as my experience cards and then filled it with a rainbow gradient to kinda match my theme. I also added tiny circles using the same method to the timeline wherever their was a card to kinda just make it look cooler. I will acknowledge that I did use a bit of AI for this section to research the different ways to position the boxes, but otherwise I implemented all code by myself and I did not copy paste anything in. I really think this section introduced me to the flexibility in CSS, and how to manipulate different rules and elements to get the desired effect. Next Steps I am now going to work on the Achievements section. I am planning on making this section like a staggering kinda page of acheivements, like not quite even, just like a mosaic, because there is a lot of content in this section. For a kind of visualizer, I am planning to kinda style it like a pinterest page so like staggered and just fitting together. I just hope that it doesn’t turn out to jaggedy or uneven at the end of that part, and that it doesn’t take too long to organize them to look like at least like reasonably even at that. Hopefully I finish this section pretty quick, like just an hour or 2, and then I will quickly finish up the contact section as well, so then I will post a devlog of those two, but yeah I will see. I think I am getting close to a ship so keep an eye out for the next few days. Below you can see like the full experience timeline like zoomed out and I am hovering over the first card.
Devlog #11 I have finally finished styling my whole website in CSS. It was such a long process, but I really think that I learned how to code in CSS. Position and display no longer confuse me and I have gotten the hang of adding cool effects to me elements. I am really liking the theme of my website, but I still have more to do. Right now, I have a lot of empty space in my website. Because all of my cards are glassmorphism, I am planning to use JS to make really neat background just to add like a nice touch and really sell the website, but that might be after the first ship. I am also planning to change some fonts and all that, so still a lot to do. Current Progress I finished the Achievements and Contact section and also styled my footer. I made a masonry style layout for the achievements, and I think the design turned out really neat. At first, I thought I would use a flexbox or a grid, but then I saw that I could just make a fized number of columns and the text would just automatically arrange itself. So I used that instead of getting all tangled up in like flex and grid properties and all of that. But then it actually made it like vertically ordered, but I wanted it horizontally, so I took the time to like arrange them so that the layout would appear even and it would look like it was horizontally arranged, when in reality it is actually vertically arranged but in a weird way. It makes more sense when you look at it. I also finished the Contact section. This was quite easy. I just styled it like the Hero and added two little icons: one to my email, and the other to my github, so yeah that was pretty simple. I first thought of adding a contact form, but then I realized that that needed a backend, so I decided against that. Again, if I want, I might add it later in the future, but for now I will leave it at just to two icons. So mainly I finished those two sections in this block. One more cool thing that I discovered was how to make links open to a new page, because while I was trying out links it was bugging me that it was always opening in that page, so this really put my mind to ease a bit, and makes navigation a bit easier. Next Steps I am planning to ship very soon. I am thinking of just adding some finishing touches before shipping the first version, like some font changes. I might also just try to play around in JS, and like get a feel of it, Because I think that a cool background will really take it to the top, so I will play around a bit with that. i’m also thinking about adding like scroll up effects, especially for like my experience timeline. But yeah next steps might just to be to polish it up just a bit before shipping. I am super excited to try out JS, and hope that the final product will be awesome. Below is a picture of the masonry effect of the achievements section.
Devlog #12 This block was mainly dedicated towards making my site look a lot more aesthetic. I spent over 4 hours just tinkering with JS and fonts and color combos and everything, trying to find the perfect combos and fonts that looked super good. I am overall very happy with the progress that I made in this amount of time. At first I thought that the site looked good even without any styling because of my color gradients and all of that, but I just realized how much better it is with like better fonts, and like the small things, like moving gradients instead of static ones. So this whole block was just dedicated to making my site look better. Current Progress The first thing that I did was change my cursor. For this I had to use JS. I changed the cursor to just be like a little white dot with a nice glow around it, and then when it hovers over like a link, then it gets a bit bigger and turns into a light purple color. In JS, I figured out how to like grab an element from CSS, and then use like states, like mousemove to have like a specific action, and then like have the dot follow my actual cursor, but super close so it seems like that is the cursor. And then I hid my actual mouse to really sell the illusion. For the hover thing, I created a hover class in CSS, and then added that class when the mouse “entered” a link, and removed it when it “left” the link. The next thing I did was make the gradients on my text like circle around, so the gradient was always moving around and it looked like dynamic. I actually got this idea from the Hack Club website because in there they have a moving gradient on the text. For this, I actually did not need any JS, and instead just make a looping animation in CSS for the background of the text. I first did it only for the Hero title, but then I liked it so much that I added it to all of the section headings so yeah I thought was a really nice addition The next thing that I did was to edit my skill icons. I mentioned in a previous devlog when I was styling the About Me section, that the little subtitle for each skill was showing on the top of it, so then for skills in the bottom row, it was covering the skill on top. I also used JS for this fix. I first made a class for the subtitle on the bottom, and then again in JS made it so if it was detected to be lower, that class would apply The last thing I did was change the fonts. I am really happy I did this, because the site just looks so much better with different fonts. I imported all of my fonts from Google Fonts. I inserted the link in the <head> section and then used that font family in CSS. I did a lot of like comparing and swithcing around and researching and all of that just to find good fonts, and I have a really bad habit of like taking a lot of time on these kind of things, and it wasn’t even getting tracked on Hackatime, so I tried to do it quickly. I found some really nice fonts for the headings and titles so I am super happy with that. Next Steps Now the only thing left to do that I still havent gotten around to yet is making a really nice background in JS. I really want to make an animation background, because I think that will be like a unique aspect of my website. The main thing I really want that for is the glassmorphism effect that I have on the cards. On a plain dark background, you can’t tell at all that there is a glass effect. But with a sick background that moves, you can see that shapes blur under the cards. So I think that is the last thing to do, because I finished up all the small little details. However, I also think this will be the longest and hardest part because of its complexity in JS so yeah. I am really hoping to ship soon after 1 or 2 more devlogs. Below is a video of the new hero section with cool fonts and a moving gradient background.
Devlog #13 (Last Devlog Before Ship) I am finally done with my website. Please read the NEXT STEPS section of this devlog as I have favour to ask you guys . I spent 7 hours of my life building a shader background for my website, but it totally paid off in the end because now I have a really cool, interactive, animated gradient background. I used GLSL to write a shader, and WebGL and Three.js to implement it into my website. I used a video tutorial and some AI debugging to achieve the effect, but it really was a learning process, as I had to install all the tools for it and then work with those, so I learned how to use those. Because of this, I also spent some time updating my README. Current Progress First of all, it took me a really long time to find a good tutorial to make a background, because I really wanted an animated one to show my blur effect and really add a pop to my website. To acheive a shader background I watched a video tutorial from Codegrid, which explained everything really nicely and was quite quick, so I was able to write the code. After though, the background didn’t quite show, so then I used the help of AI to help debug the code and get it working. After I finally got it to work, I spent some time adjusting colors, and brush strength and size, and then distortion amount and fluid decay and all of that stuff until I found the perfect values for a super good looking background. Overall, it was definately worth the time and added a really nice touch to my webpage. I also updated by README, because now the user will need to install some dependencies for this webpage because of the addition of Three.js and everything. So I updated the README to include proper instructions for that and so it explained some more features of my website. I really polished it up, because it was kinda messy before, so I got it ready for a ship. I also changed my cursor one last time. What I had before was a <div> element in HTML following my actual cursor using mousemove in JS, and my actual cursor was hidden in CSS. However, it was like lagging behind and that was starting to show on my new background. So instead, I just made my cursor a little white dot in CSS by liking making a svg file and linking it to the cursor. It just improved user interaction a lot be removing any lag between an following element and the actual cursor. There is still the feature where it will turn bigger and light purple when hovering over a link. Next Steps My next step is to ship!!! However, I have to ask you guys for something. I need some color suggestions for my background. I got a nice one right now that is like dark purplish, but I want your guys’ suggestions on what type of gradient I should make. I can put 4 colors into the gradient. You can use the attached video below to view how the shader looks on the hero page. I do have glass cards, so I don’t want something too light, but it could make a nice addition in a dark gradient. So please put some suggestions in the comments!!! Thank you!!! I will ship right after this, but I will for sure try to look over some color suggestions and experiment around with them. I might try to use one before I ship the final version of the website, so please put some suggestions. Expect a ship really soon.
Devlog #14 So I started working on it further before my project even got fully rated, so this is my first devlog after shipping my portfolio! During this block, I just added some small features that just overall polished my site a bit more. A lot of these features were added in JS, and I think I actually am starting to get the hang of JS in the way that I actually am starting to understand how to identify objects using const and like how to select them using document.querySelector . So I think I am starting to learn, and just working with these little features just got me a little more familar with JS. I also got the hang of CSS animations, as before I had a little trouble understanding keyframes, but now it makes sense, so it was a good block. Current Progress I added three main things to my website, each of which use JS in them, and I will explain how. The first thing that I added was a scroll progress bar at the top. I really wanted to add this onto website, as I really liked seeing them on other websites, and I styled it to match my theme, and it just looks super good. I make a horizontal bar in my navbar for this, and it has a rainbow gradient. Basically, JS detects where the person is at the website, and just adjusts the scale based on that to show the bar. At first, I made it so it would expand as I scrolled, but then the rainbow was like squished at the beginning, and then I adjusted it so that it actually revealed the bar as I scrolled down, so like same idea but just applied to a different thing. I looks super cool now. The next thing that I added was a loading page. I tried to look into some videos for this, but I ended up making a super simple gradient ring that was animated (again to spin a rainbow). For this, I like made a loader page, which covered the whole view. In it, I made a circle which had a rainbow conic gradient, and then just animated it in CSS to rotate to 360 degrees over the course of like 1.2 seconds. I then used JS to add a class which made the loader disappear and like unresponsive to any pointer controls when the site finished loading. It also looks super good and totally matches the vibe of the site. So yeah, super happy with that. The last thing that I added was like a scroll fade up reveal effect to almost everything in my site, like the cards and the headings and everything. Again, this was a pretty simple trick that I used. Basically you set the object a set number of pixels (like I used 30px) down on the Y axis and turn the opacity down, and then when JS detects the object as the person scrolls, it just moves it up to 0px on the Y axis and goes to full opacity, and it ends up looking super sleek. That little touch just upped the whole website. I was actually looking to add this feature in the beginning of my site, but I never got to it mainly because it used JS, so now I took the chance to add it in. A lot of these features were ones that I saw in like cool websites. So like I’m always on the lookout for cool features, and these were some that I thought really made a website look more polished, and I realized that they are not actually that hard to build once you understand the core concept. Through these I really got better in JS, and upped my skills in CSS, so it was a good block. Next Steps I really do not have anything left to add in this project. Like I even added extra stuff. Please, if you guys have any suggestions, comment them so I can implement them. I will attach a video of my site so you guys can see what its like. One thing I might consider adding is like a easter egg thing or some like sequence or action that will generate a cool surprise. I have to still think about that. But right now I have almost nothing left to do. I actually might ship this again just to get the hours counted in. Below you can see the loading and the scroll fade up reveal and the scroll progress bar at the top.
Devlog #15 This will be a fairly short devlog. I spent this block adding media queries to my CSS code because I opened the website on my phone, and it just looked so wrong to me, so I spent some time doing that. I figured out a great way to simulate a phone screen in my browser using DevTools so I was able to adjust everything through that. Current Progress The plan was that I was going to do media queries at first, but I thought it would be too complicated so I held it off. Now I was kinda forced to after seeing how bad the webpage looked on a phone screen. I realized you just have to make on CSS rule for media queries using media (max-width: 768px) {} . I decided to use 768px because that is like a standard width, but I mainly tested it on 400px width. After that, I opened two windows with my code and as I went through it, I would add a media query rule in the other window. So I conquered my fear of media queries, and addressed that issue. Next Steps I am looking for things to do. One piece of feedback that I got was that my cards had hover effects that made them look like buttons, but had no button effects, so it was kinda misleading. So to fix this, I’m thinking of like scanning my certificates and uploading them as pictures that people can view in the browser. So that’s my next step. To accompany this, I might also do like a redesign of the website, like just adjusting some of the features. Also, I’m thinking of adding a dark mode/light mode feature on it. Below is a quick video of the site on a device with a width of 400px.
Devlog #16 So I decided to implement some feedback that I got from the last ship. One piece of this was adding my actual certificates into the website, so people could actually view them in the webpage. So I took some time to scan all my certificates. Creating the links wasn’t quite hard, and at first I thought about just letting it open in a new tab, but then I decided to create a modal just to enhance the UX. Current Progress I decided to add all my certificates into the webpage, just to add a layer of validity to my work. The first part was finding all of the certificates. Whatever I had, I added them to my GitHub repo, and just linked the relative paths in the webpage. The ones which I had online, I just drag and dropped into the repo, while the physical ones I had to scan and then add in. So that took a while, but wasn’t too tedious of a process. After that, I just made a “View ->” sign that appears when you hover over the card, and that is actually a link to the image. Then I decided to make a modal. I realized it actually isn’t too hard, but the JS logic is a but complicated. I styled the modal in CSS, and then just added a .open class to it which was activated when you click the link. So I’m starting to understand JS logic, the only thing that I have trouble with now is writing like proper syntax, as I still have trouble with writing the correct syntax, and that can cause some problems. So then I styled how the image looks in the modal. At first I though about add ing a X to close the modal, but then I made it so then if you press outside the image, then the modal disappears. Some of my UCMAS achievements do not have images attached to them because I couldn’t find actualy certificates for them, so I might take pictures of my trophies to put there, but I haven’t got to that yet, and I don’t want to put low-quality images. So those are still empty, but almost everything else is filled, so now you can go and view those. Next Steps I literally don’t have anything left to do on this, so I think the next step is to just ship. I will take a break from this project and begin to work on my next one, which will be making a cool new tab page from my browser. So expect a ship soon. If anyone has any suggestions on something to add, you can let me know! Below is an image of my stardance certificate shown in the modal on the page.
Devlog # 17 This is my final devlog before I ship! I wanted to add a picture of myself in the website so I tried to find a way to do that. I decided that I will make it so that the about me card will flip when hovered over and on the other side will be my image. I thought it would be pretty simple, so I began working on it at 12 last night thinking I could finished it in about 30 minutes. Turns out I was wrong. It took me more than two hours just to get a card to flip and show my image. It was a pain, but the end result looks really neat. Current Progress To make the flip card, I had to restyle the entire about me section. I used a W3Schools tutorial, but i couldn’t end up working well with it, so then I turned to AI for debugging, because I had so many div layers for that card, and then I finally styled it to look good. The effect looks really good though. As well, I decided to publish everything to Github as well now because I hadn’t published anything for the past couple of days so yeah. Then I found a problem with the images not getting pulled correctly, so then I had to transfer all of those to a public/ folder and then adjust the file paths for all of them in my code, and then reload and redeploy like a bajillion times. So it was a lengthy process, but I finally got it working publically, Next Steps My next step is to ship. I really hope I get rated good because I want a pebble time 2. After this I will begin to work on my next project for the remainder of the event, which is a new tab page. After that, I am done with Stardance, as I also have a lot of school work now. So I will ship soon!!
Ships:
I am working on my personal portfolio. Right now I am just working and crafting the sections and filling in some info. I still have to work on styling and go through all of the sections. But for now I am going to ship
My Portfolio Project Hi! Welcome to my Stardance project. In this project, I made a personal portfolio website so I could showcase my work. Especially as I enter high school this year, I wanted to have a platform to record all of my progress and have a way to display it to the public. I also wanted to get more experience with coding. Over the past few years, I have done like super mini project in HTML and CSS, but this website is one of my first fully developed projects, and that I have coded all by myself. So I took this opportunity to properly learn HTML and CSS, and also introduce myself to languages like JS and GLSL. Features The website has 6 sections that I made: Hero About Me Projects Experience Achievements Contact Here are some features of my website: The website has an interactive navbar which links to each section in the webpage. There is also a logo in the corner which will link to the Hero section. The navbar has a frosted glass look, which makes blurs the background behind it. The title in the Hero section (which is my name), has a rainbow gradient applied to it. The cool part is that the gradient moves and loops in the name, so the gradient is always moving slowly. This is actually applied to all of the section headings in the webpage. Each card in every section has a frosted glass look applied to it, so it will blur the background behind it. They also enlarge and brighten when you hover over them. The cursor is a small white dot instead of a regular cursor, which enlarges and turns light purple when hovering over a link to communicate to the user that the link is clickable and will lead somewhere. One of the main highlights is the background, which is a shader background made with GLSL, WebGL, and Three.js. The background is an animated gradient. It is also interactive as it will respond to the cursor on the screen. It is one of the key aspects that really make this website shine, and what really makes this project unique and different from other ones. The Easy and Hard Parts Easy Part There were some really easy parts while building this. One was building the HTML layout. After I understood the basics of making classes and organizing texts and everything, it was quite easy to start filling out info for all of the sections. I thought it would be like a really big thing to fill in all of that info, but turned out it wasn’t quite hard. Hard Part There were also hard parts. One main one was the shader background. First it took a really long time to code the first draft of that, as I had to make a shader in GLSL and then import Three.js, and all of that. But then that first draft didn’t work, so then it took me a really long time to debug the code as I had to look through everything for like typos and all that. I did use AI for this part, but it was still a really long and hard process, going back and forth trying to see what was wrong. But in the end it was totally worth it. Overall Overall, I spent a lot of time and effort in this project. One thing that I really wanted to do was make just that I documented all of my progress frequently in devlogs, and I think that I achieved that because all of the 13 devlogs that I have written are pretty detailed. I also wanted to make this unique to me, and I think that the shader background achieved that and just brought the project to a new level. I really hope you enjoy it, and I am happy to take any feedback. I hope to constantly keep updating this project over the next few years. Otherwise, I might add some new features to it (including a scroll bar) in the next month before Stardance ends and I get too busy with school. Below you can view some screenshots of each section of the website (it doesn’t let me upload a video, or else I would’ve done that). Enjoy!!!
Ship #2 for My Portfolio This is my second ship for this project. Since my first ship, I have mainly just added some small features to increase the UX. A lot of these changes were features that I had seen on websites that I liked. So when the time came to bedazzle my website, I implemented these features in my own website. One really consistent thing that I noticed while implementing these features, is that a lot of features are quite simple to implement once you understand the basic logic. I also noticed that once you add these small features, it can make a great effect on the UX, and that the few hours you put into the little things, can have a huge impact and create a great impression on those who visit your website. New Features I added a cool gradient horizontal scroll bar that fills up as you scroll down. I thought this was a super cool feature and required some simple JS logic to implement. The next thing was a loading page. It is a quite simple one, just having a gradient filled circle outline which spins to show a loading effect. Again a small feature just to add nice feel from the moment a person opens the webpage. The next thing was a scroll fade up reveal to everything in the site. I really like seeing this effect on other websites as well, so I wanted to implement it into my website as well I added media queries because I saw how bad the website looked on the phone, and it was just really annoying me. So I took the time to add that just in case I ever had to show anyone my webpage on the phone. After that, I decided to upload some of my certificates onto the website so people could very them, just to add another level of validity. However, instead of making the images open in another tab, I made them open in a modal that stays in the browser tab. I thought this was a super cool effect. Last thing was that I added my photo. To do this, I made it so that when someone hovered over my about me card, it would have a flip animation and on the other side my photo would show. I thought this was a nice and subtle was to implement my photo, without messing up any other styling on the page. Learning JS A lot of these features were implemented with JS, especially ones that were triggered with user input. I will acknowledge that I used AI to help with understanding JS logic for some of these features, and debugging as well, but I also learned along the way. I find JS much more complicated than HTML and CSS, and I think that I have really come far in understanding and implementing it. For examples, I can assign elements and add and remove classes based on user input. I still have some trouble with syntax, and that causes a lot of my problems, but I am really starting to get the hang of JS. I think that JS can create some really neat animations and effects, so I want to learn and understand this language, so that I can let others experience the cool things that I see on other websites. Overall I spent a lot of time on this project, and put in hours even after school started. It is a really personal project. I have come really far since I first started this project and I have grown confident in understanding and writing code and achieve the desired results. I probably will not work on this project after this ship, and will instead turn to other projects that I have pending. Please enjoy this project. If you have any suggestions, let me know in the review or as a comment, and I will try to implement it. Thank You!! Below is a picture of my stardance certificate in the modal that I made, and the other is a picture of the spinning gradient loader. Enjoy!!!...
|
1792997559.0249298
|
1793083959.0249298
|
|
39497
|
Fire Fighter Game by @AnkitZu02281 | Stardance
|
AnkitZu02281
|
3
|
7.0
|
9
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T08:55:00Z", "hours": 3.0, "multiplier": 3.26, "payout": 9, "blessing": "neutral", "text": "This project is the OS version of the game Astro Fire Fighter. It has features such as a bios , notes app , mission log , the game itself, time , system stats etc. The draggable window was quite challenging along with adding so many features.", "repo": "https://github.com/ankitdey2682010-a11y/Jet-Fighter", "demo": "https://ankitdey2682010-a11y.github.io/Jet-Fighter/"}, {"ship_num": 2, "ts": "2026-08-07T13:42:54Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a Astro fire fighter game in a web. It has a spaceship fighting with enemies to complete its goal and reach the destination. The javascript logic was a bit challenging but enjoying to overcome. I didnt knew about it was going to be add to webOS mission but still the criteria is fulfilled.", "repo": "https://github.com/ankitdey2682010-a11y/Jet-Fighter", "demo": "https://ankitdey2682010-a11y.github.io/Jet-Fighter/"}, {"ship_num": 3, "ts": "2026-07-27T09:44:53Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Astro Firefighter is a 15-sector side-scrolling arcade space shooter built with HTML5 Canvas, CSS3, and Vanilla JavaScript. Players pilot an emergency response ship to extinguish rogue fire-bots and dodge space debris. It features a thermal overheat cannon, hydro-dash booster, 4 enemy types (including sector bosses), item drops, procedural sound effects, and a custom multi-screen menu flow. Problems Faced Cannon Heat Balancing: Fine-tuning the overheat and cooling rates so weapon management felt strategic rather than frustrating during boss fights. Hitbox Collision: Refining the circular hitbox math for fast-moving sine-wave enemies to prevent clipping issues. Web Audio Synth: Generating dynamic sound effects (lasers, explosions, pickups) entirely through code using the Web Audio API without relying on external .mp3 audio files. What I Am Proud Of Zero Dependencies: Built entirely with raw ES6+ JavaScript and Canvas without any external game frameworks like Phaser. Custom Systems: Designed a built-in particle engine for thruster trails and explosions alongside a procedural audio synth. Clean UI/UX: Created a polished “light-mode” interface featuring a seamless flow from title screen to controls, sector selection, and mission debriefs.", "repo": "https://github.com/ankitdey2682010-a11y/Jet-Fighter", "demo": "https://ankitdey2682010-a11y.github.io/Jet-Fighter/"}]...
|
[{"post_id": 47374, "ts": "202 [{"post_id": 47374, "ts": "2026-08-15T08:51:37Z", "hours": 0.7031, "text": "Completed the OS version of Astro Firefighter ,. Hope Everyone will like it."}, {"post_id": 45055, "ts": "2026-08-11T09:53:32Z", "hours": 1.6328, "text": "Added bios system as well as enhanced the css."}, {"post_id": 44484, "ts": "2026-08-10T08:41:16Z", "hours": 0.3075, "text": "Making the OS version of the game"}, {"post_id": 36851, "ts": "2026-07-29T05:20:53Z", "hours": 0.6861, "text": "I have made the shape of the space looking real and also made the logic more appropiate to the context"}, {"post_id": 35701, "ts": "2026-07-27T09:42:10Z", "hours": 1.2619, "text": "Finishing the game with complete looks and completing the full engine . thw health logic and the accurate color selection"}, {"post_id": 35244, "ts": "2026-07-26T15:19:41Z", "hours": 1.6169, "text": "ime Elapsed: 1 hour 36 minutesMilestone: Core Engine, Split-File Architecture, & Audio Synthesizer Up and RunningWhat Got DoneArchitectural Split: Broke the codebase cleanly out of a single monolithic file into three production-ready files (index.html, style.css, and script.js) for easier scaling and modular tweaking.Core Loop & Canvas Pipeline: Built a responsive 60 FPS HTML5 Canvas game loop using requestAnimationFrame complete with a parallax background starfield.The Combat Sandbox: Implemented player physics (WASD/Arrow keys), boundary locking, and a Thermal Overheat mechanic that locks the water cannon if you spray too recklessly.Entity System & AI: Added multi-type enemy logic (Scouts, Interceptors, Heavy Cruisers, and Sector Bosses every 5 levels) alongside procedural debris obstacles.Web Audio Synthesizer: Bypassed external .mp3 or .wav dependencies entirely by writing a native Web Audio API wrapper that dynamically generates laser fire, explosions, and power-up pickup chimes on the fly.What’s Giving Me a HeadacheHitbox Balancing: Fast-moving interceptors weaving in sine-wave patterns occasionally clip the player before the particle system can accurately register the collision frame. Tweaking the bounding box math to feel more forgiving.Thermal Tuning: Balancing heat buildup versus cooling rate so players aren’t perpetually stuck in the “overheated” state during intense level 10+ boss fights.Next Up on the RoadmapImplementing high score persistence using local storage.Adding screen-shake effects on boss impacts and heavy damage.Polishing particle bloom effects for power-up drops."}]...
|
Title: Fire Fighter Game by @AnkitZu02281 | Starda Title: Fire Fighter Game by @AnkitZu02281 | Stardance
Devlogs:
ime Elapsed: 1 hour 36 minutesMilestone: Core Engine, Split-File Architecture, & Audio Synthesizer Up and RunningWhat Got DoneArchitectural Split: Broke the codebase cleanly out of a single monolithic file into three production-ready files (index.html, style.css, and script.js) for easier scaling and modular tweaking.Core Loop & Canvas Pipeline: Built a responsive 60 FPS HTML5 Canvas game loop using requestAnimationFrame complete with a parallax background starfield.The Combat Sandbox: Implemented player physics (WASD/Arrow keys), boundary locking, and a Thermal Overheat mechanic that locks the water cannon if you spray too recklessly.Entity System & AI: Added multi-type enemy logic (Scouts, Interceptors, Heavy Cruisers, and Sector Bosses every 5 levels) alongside procedural debris obstacles.Web Audio Synthesizer: Bypassed external .mp3 or .wav dependencies entirely by writing a native Web Audio API wrapper that dynamically generates laser fire, explosions, and power-up pickup chimes on the fly.What’s Giving Me a HeadacheHitbox Balancing: Fast-moving interceptors weaving in sine-wave patterns occasionally clip the player before the particle system can accurately register the collision frame. Tweaking the bounding box math to feel more forgiving.Thermal Tuning: Balancing heat buildup versus cooling rate so players aren’t perpetually stuck in the “overheated” state during intense level 10+ boss fights.Next Up on the RoadmapImplementing high score persistence using local storage.Adding screen-shake effects on boss impacts and heavy damage.Polishing particle bloom effects for power-up drops.
Finishing the game with complete looks and completing the full engine . thw health logic and the accurate color selection
I have made the shape of the space looking real and also made the logic more appropiate to the context
Making the OS version of the game
Added bios system as well as enhanced the css.
Completed the OS version of Astro Firefighter ,. Hope Everyone will like it.
Ships:
Astro Firefighter is a 15-sector side-scrolling arcade space shooter built with HTML5 Canvas, CSS3, and Vanilla JavaScript. Players pilot an emergency response ship to extinguish rogue fire-bots and dodge space debris. It features a thermal overheat cannon, hydro-dash booster, 4 enemy types (including sector bosses), item drops, procedural sound effects, and a custom multi-screen menu flow. Problems Faced Cannon Heat Balancing: Fine-tuning the overheat and cooling rates so weapon management felt strategic rather than frustrating during boss fights. Hitbox Collision: Refining the circular hitbox math for fast-moving sine-wave enemies to prevent clipping issues. Web Audio Synth: Generating dynamic sound effects (lasers, explosions, pickups) entirely through code using the Web Audio API without relying on external .mp3 audio files. What I Am Proud Of Zero Dependencies: Built entirely with raw ES6+ JavaScript and Canvas without any external game frameworks like Phaser. Custom Systems: Designed a built-in particle engine for thruster trails and explosions alongside a procedural audio synth. Clean UI/UX: Created a polished “light-mode” interface featuring a seamless flow from title screen to controls, sector selection, and mission debriefs.
This is a Astro fire fighter game in a web. It has a spaceship fighting with enemies to complete its goal and reach the destination. The javascript logic was a bit challenging but enjoying to overcome. I didnt knew about it was going to be add to webOS mission but still the criteria is fulfilled.
This project is the OS version of the game Astro Fire Fighter. It has features such as a bios , notes app , mission log , the game itself, time , system stats etc. The draggable window was quite challenging along with adding so many features....
|
1792972123.9994967
|
1793058523.9994967
|
|
40406
|
part-of.my.id revived by @satr14 | Stardance
|
satr14
|
3
|
47.19
|
430
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T03:56:39Z", "hours": 15.0, "multiplier": 10.93, "payout": 165, "blessing": "neutral", "text": "okay a LOT OF NEW FEATURES and improvements from last devlog feedback: subdomain service: NEW record: REDIRECT, a CloudFlare Single Redirect Rule powered robust tests using bun’s built in jest compatible testing API website & docs: NEW docs: /services, listing all known tested and working services tldr in the docs and README for quick registration support for REDIRECT records in webui editor short consice guide for registering", "repo": "https://github.com/partofmyid/register", "demo": "https://part-of.my.id/docs/domains101"}, {"ship_num": 2, "ts": "2026-09-15T09:35:30Z", "hours": 4.0, "multiplier": 13.65, "payout": 60, "blessing": "neutral", "text": "this should have improvements from last ship’s suggestions and feedback /record and /success page for generating json fixed broken links (no /d or /q anymore) added background elements to make website feel more alive", "repo": "https://github.com/partofmyid/register", "demo": "https://part-of.my.id/docs/domains101"}, {"ship_num": 3, "ts": "2026-08-16T05:45:34Z", "hours": 14.0, "multiplier": 14.89, "payout": 205, "blessing": "neutral", "text": "VERSION 2.0 IS LIVE Registration instructions are available on the website. part-of.my.id is a free subdomain service that allows you to get a sleek lookin your-name.part-of.my.id domain instead of a the boring old one that hosting providers provide like pages.dev, github.io, etc. This rewrite brings to you: Multi apex domain support for the new domain: is-my.id A sleek redesigned main website and documentation", "repo": "https://github.com/partofmyid/register", "demo": "https://part-of.my.id/docs/domains101"}]...
|
[{"post_id": 82051, "ts": "202 [{"post_id": 82051, "ts": "2026-10-23T16:39:48Z", "hours": 2.9956, "text": "well more time without devlogs, but i didnt work on anything massive anyways so should be fine. last commit hashes: website: 6fee809e77174f42e3ece9c71d2d8b6a95120d69 register: 4c1860c68904c5378a761a100013ce3da8836771 this is gonna be the last devlog before i ship for the last time. or not, but ill most likely work on other projects. i do still have 1 more thing to do which i might or might not do. depending on how hard it ends up being. then again i am paid by the hour sooo….. but school is starting to get busy again so ig we’ll see register: completed the draft /docs/domains101.md doc for introduction to the service website: add handler for /docs/[empty] to redirect to first in line defined doc moved loadDoc helper function to $lib added a loading bar for indicating page load in progress add previous and next buttons to the bottom of docs page added domains101 doc entry"}, {"post_id": 80984, "ts": "2026-10-19T14:46:48Z", "hours": 1.7822, "text": "this is when im starting to head bang a lot, because of an undocumented github feature ive been relying on for web ui editor. last commit hashes: website: f1e3a4387e6780d61bc55feeead37ead03ec3b0a register: 5625239d30e691ace298336953d663b6e396c0e3 so ive been using github’s REPO/new/branch/PATH?filenam=A&value=B query params for prefilling records in the web ui editor form. during testing, i noticed that for some reason JSON.stringify isnt formatting the json when i open it on github. after a bit of testing, turns out github minifies valid json input. when i tried some string concats with JSON.stringify output that produced invalid json then the indentation returns. this is rather confusing and frustrating. even tho the ci now handles formatting, its still a pain for pr reviewing to review unformatted, one-line json files. due to github not really documenting this feature well, i suppose we have to live with it. i do have plans later to possibly use octokit instead for pr generation, but thats a lot more work i dont have time for. anyways, i didnt feel like writing changelog so ill just say it in brief. i added email regex checks to the ci as well as formatting warnings. and for the web ui, i made an advanced view to show raw json and the file path in case someone is willing to do it themselves. i also fixed a lot of the unserious things i threw around the success page like the ??? step"}, {"post_id": 80413, "ts": "2026-10-17T15:47:36Z", "hours": 0.7022, "text": "genuinely so tired for some reason. prob from playing mc recently and dying and lossing my stuff to despawn timer. OKAY! enough trauma dumping. we got work to do last commit hashes: website: e4e59479ec953dcfb63e0965518d35906ab625e8 register: mostly a lot of janitor work: code cleanup and directory reordering. but theres also an auto formatter in the workflow now! website: fix heading centering from last devlog, found bug after testing mobile view register: move dnsconfig.js to /scripts/bin for organization installed oxfmt for formatting files added bun fmt script to package.json added oxfmt config file with exclusion rule on everything but /domains formatted every domain file using oxfmt added notes for cf tunnels in /docs/services.md (unsupported services) add prettify/formatting workflow for every push code cleanup: remove unused nodejs step in workflow file, were using bun anyways code cleanup: whitespace and newline removal add tip and caution alerts in quickstart guide regarding pr checklist and prettify formatting"}, {"post_id": 80168, "ts": "2026-10-16T15:08:22Z", "hours": 1.3353, "text": "all my energy went into working at the weekdays 😭 now im hella tired. either that or im procrastinating more. last commit hashes: website: e4e59479ec953dcfb63e0965518d35906ab625e8 im still hopping i can at least reach 11h a week for my goal. training before i switch to another ysws when stardance ends fr website: code cleanup, add missing semicolons and remove unused imports added common issues help guides with screenshots to next steps page added back to query link for record editor page unified box styling across the site for consistent design made edit button in record editor yellow if subdomain taken grammar fix to landing page paragraph :p query page: moved announcement to the bottom of the page minor styling changes to borders, seperators, text selection, and cursors"}, {"post_id": 79810, "ts": "2026-10-15T14:39:47Z", "hours": 2.6617, "text": "i forgot to devlog yesterday ;-; also i was supposed to work on other important aspects like the tutorial and barely finished pages. but ngl looking at the existing pages and adding small improvements and tiny details just feels more relaxing for me. but i still need to do that tutorial because stardance said so ;-; last commit hashes: website: 2de11547f2cc7e0b8ad3c107fbee8d44e0a97682 register: 2e183b224fdce4811b05c89b9f594551c13a7dad lowk idk when but i got mystery motivation and im racking up good amount of hours/day. i do have a goal rn to try and buy an bambu lab 3d printer so thats prob a contributor to my motivation. website: code cleanup, remove unused typescript code import use tables in record forum page for consistent spacing fix hover confusion on disabled inputs by disabling hover background color change remove unnecesarry label (just please research about dns 😭 ) added more dividers to records form page add clarification that subdomain descriptions are optional make pfp previews link to github profiles bug fix to REDIRECT records on read only mode improve table of contents styling to tree like stem made toc and md parser function also generate heading numbering (e.g. 1.2.3) (unused for now) code cleanup, remove empty new lines to compact code made table of contents entry highlight depending on view (js required) close table of contents in docs by default tweaked query page styles for showing borders set disabled state as default in records form hide checkmark if input is disabled added fork warning in records page added the ability to edit registered subdomain hide table inputs if empty register: clarity to reference docs regarding CNAME and REDIRECT changed heading level in Terms of Service AI section"}, {"post_id": 79335, "ts": "2026-10-13T15:29:43Z", "hours": 1.45, "text": "a bit of a rant before anything, PLEASE JUST DO YOUR RESEARCH BEFORE RATTING MY PROJECT. may come off as mean but please. yall asked for detailed and concrete docs and end up saying its “too long” like bro 😭. i do have one more plan for tutorials to make it easy. but if this doesnt help then go rtfm last commit hashes: website: 122e3777c7c52e7bf05a8a32f7e4f91b11d09ada register: d7ac98d86913daad3c18260120e41dda2873f8ef got stacks of homework today so i cant really do my 2 hour daily goal rn unfortunately :( but trust me, i will get that 11 hour weekly website: rename doc link “requirements” to “terms” new favicon of indonesian flag (using emoji variation from discord/twitter) might use this for a logo later code cleanup and simplification remove unused variables in code query page with ssr optimizations moved /query/[query] to /query handled passing subdomain query to form body changed landing and query page to use sveltekit form actions made readme announcement fetching ssr hide subdomains when query is empty made apex listing ssr register: fixed github actions workflow labeler created issue templates for bug report, abuse report, and support questions added abuse report information and email to main readme changed query url to match website"}, {"post_id": 79068, "ts": "2026-10-12T15:48:11Z", "hours": 2.2858, "text": "last commit hashes: website: d27e3b5f90cfcb4a59d39a6fe507c45388a323ec register: 24080879b4fbb1bb8c9e436dc8f2bdefce64af4f energy on mondays to work on this phew website: added doc entry for faq page added support email in website footer adjusted spacing and sizing on containers to make other elements visible handle disabled js for forum and counter integrate lavender theme throughout landing page added table of contents to docs page via marked plugin for gfm heading ids mobile input layout fixes for records web ui page register: added domain configurations for google search console and cloudflare email routing for support email added ignore directive to dnscontrol for cloudflare managed records added extra rules against vibe coded websites github workflow file fix causing some checks to skip grammar fix across markdown files (thank you claude copilot) added pr labeling automation for detecting non domain changes in a pr quickly modified dnscontrol script to add incrementing mx priorities based on order of entry clarify rough points within documentations added draft beginner guide docs added new documentation for frequently asked questions code cleanup: remove comments, fix indentation reorganizing files and directories to put images in appropriate locations fix gfm blockquote alert usages added all full records to example file contents in reference documentation"}, {"post_id": 78696, "ts": "2026-10-11T10:29:20Z", "hours": 0.9756, "text": "last commit hashes: website: a4917bbdf5899623b6dfcae356e01572dfbceb05 realized there were some issues after shipping so im fixing them now. got a near perfect lighthouse score :D fix responsive size on landing page cards added missing meta tags for SEO added banner for meta tags handle github rate limiting on landing page fix accessibility on landing page buttons optimized github avatar images fetching to fixed size fix document heading hierarchy code cleanup removing unused comments font optimizations with preconnect hints and preload tricks"}, {"post_id": 78247, "ts": "2026-10-10T03:53:00Z", "hours": 1.5075, "text": "last commit hashes: website: f04e761e0557d7c5c7bfd6a680bec5a6cfbca44a register: 154bfb712857b9000d00ba0e6ea613064f367246 last devlog before shipping :D website: added REDIRECT record support to web ui editor (thanks claude) minor ux and styling fixes with labels and lists purely and only server side render docs page reworked steps section to be more appealing register: added small note to docs in the supported services section for when you want to add a supported service thats not listed"}, {"post_id": 78113, "ts": "2026-10-09T16:25:13Z", "hours": 2.5431, "text": "last commit hashes: website: 8410efa3debca260451e80b206b2ec8923a45c7c register: a1aefd289360a874e40e09c9b2817501d3b2590f i again forgot to devlog so heres more category based changelogs. after this im gonna add support for redirect record in the web ui website: added table of supported services docs added styling for article tables adjust minor ux tweaks for a better experience maintenance: run bun update to update deps and lockfile add a short 4 step tldr on the website landing page add a short tldr in the quickstart guide register: added new record type: REDIRECT, a cloudflare single redirect rule powered 302 redirect implemented tests for redirect wrote docs in references.md about new REDIRECT record migrate hardcoded extracommits into their own domain files added brief registration guide in README wrote new docs for supported services table add tldr for quickstart guide adapted from brief guide in main README register misc: fixed some names in github actions workflow files"}, {"post_id": 78022, "ts": "2026-10-09T07:10:39Z", "hours": 3.5436, "text": "last commit hash: 72f864ff282701585c5d43d5818a5ee22c29e168 supposed to be 3 separate devlogs but i genuinely forgot to. so im gonna split this changelog to categories. bun test validation: add github helpers for fetching diff and raw files from commit and raw urls implemented tests for checking changed file owners against pr author added a bypass label for ownership transfer extra types and functiong tweaks to existing library apis skipped pr author check if pr number for checking isnt present remove uneeded exports in some files as most are internal use optional chaining for clearer error messages in ci project structuring: split deep.test.ts to multiple focused files instead of relying on describe() grouping split helpers, constants, and types into a their own library file move tests and shared libs into /scripts/lib and /script/tests respectively github actions: wire bun tests into ci updated ci triggers for prs, manual, and push settings removed step for validating with json schema in favor of bun tests rename a couple of step and job names for clarity misc: add some missing semicolons tab space consistency fix a couple of variable names"}, {"post_id": 76291, "ts": "2026-10-03T03:10:53Z", "hours": 1.1539, "text": "last commit hash: 2d191fa190db7b3904256e96b27dd6608d42af56 fix existing record files failing the test fix test to exclude .json extension during name length test add a check for unknown and typoed keys added draft tests for website reachability made draft/empty tests fail on purpose check subdomain if containing any apexes minify some parts of the code to one liners made ownership checks per level (a.b.c.json checks for b.c.json and c.json instead of just c.json) added safeguards to not print multiple failures if root cause is erroring out to make sure errors are readable reorder some tests to run first than others used node:path’s path.join for path handling moved json parsing expect calls to helper function for reading json to eliminate repeated code made most of the error messages clearer to follow"}, {"post_id": 75789, "ts": "2026-10-01T04:41:44Z", "hours": 1.0119, "text": "made a new field in the getDomainRecords helper function to check for file existance and handle json parse fails made a new helper function to generate subdomain file path based of apex and subdomain changed tests to use the new implementation of getDomainRecords implemented tests for cloudflare proxied rules implemented tests for dns limitation rules implemented tests for root and nested subdomain ownership"}, {"post_id": 75593, "ts": "2026-09-30T14:57:47Z", "hours": 1.2486, "text": "ts is me with random lock in phases: still not fully implemented to be included with the testing workflow, i have a lot of features planned but i prefer to finish this first. better error messages for expect fails extra checks for empty objects, arrays, and strings made most/all tests use testing api specifics rather than a conditional check if expression is true (for better error messages) add a check for capping filenames to less than 245 characters (as per dns hostname rules) checks for nested apex in filenames (example: steve.is-my.id.json is invalid) reorder some tests add a check for uppercase letters (one of the existing subdomains violated this rule so i fixed it manually) add a check for repeated dashes (–) as the current regex doesnt catch this and i didnt feel like changing it created empty tests as drafts for later to be implemented remove unused ALIAS record handling as it was used internally but not needed anymore"}, {"post_id": 75220, "ts": "2026-09-29T14:41:31Z", "hours": 1.475, "text": "so mostly focused on improving the register repo and docs experience as i feel like the website is established and complete at this point. i am still learning the bun/jest api on writing test code so this may not be perfect, but its a start! made a wrapper function for looping through subdomain files using callbacks and bun fs api improve regex checks for ipv4, ipv6, and fqdns based on ajv-formats npm package (regex is copied pasted from source code rather than installing the package directly as that introduces bloat and dependency management) slight fixed to tests handling promises (still rather broken but ill fix that later) add new constants for looping though records made a helper function to read subdomain file and parse the json. both using bun fs api update all test fail messages to print file paths for easy tracing new test to check schema structure and record values using ip and domain regexes"}, {"post_id": 74331, "ts": "2026-09-27T05:47:48Z", "hours": 1.6714, "text": "split time between writing docs (uncommited, might be discarded due to low quality) and writing tests leveraging bun apis. these tests are not completed, therefore they wont be used for github actions pr check workflows (yet). wrote docs: beginners guide (partial) and unsupported services (empty) extracted typescript types and constant to schema.ts for use in test units initialized bun for package management in the future if needed created deep.test.ts wrote test for checking unknown files outside of the /domains/[apex] directories wrote test for checking file names valid subdomain fqdns wrote test for checking if json is valid and parse-able"}, {"post_id": 69643, "ts": "2026-09-17T14:04:10Z", "hours": 0.9692, "text": "okay well ships on this project isnt really doing the best in terms of stardance output, so i really need to address a lot of these critics if i want good multipliers. anyways so most of the time here is spent on writing ci tests for the register repo. however, i decided to scratch the majority of this code due to poor implementation execution. so this devlog will only have commits resolving some critics. website: fix z-index header bug where some elements would appear above the bar add a warning tip to the website repo readme for anyone who ends up there instead of the register repo changed the view source link for this project on stardance to redirect to the register repo updated the readme (adapted from my personal website repo readme) register: (scratched) test framework with raw js and bun add a tip for registering via web ui last commits from git repos (pinpoint for writing the next devlogs): register: 1564638a6d7eccc495a89948145898d0e4a1ddfc a1e2b4e4cf511f921ffc6b78bca260133afe4e7d okay a bit of a rant but school is starting to burn me out again. honestly i already got my certificate but now my motivator is gonna be the shop items. (i havent spent anything yet, not even for domain grants) im saving up and will spend after stardance ends. i am planning to hopefully do at least 1 - 1.5 hours on weekdays and hopefully overtime on weekends. we’ll see how that turns out i guess."}, {"post_id": 68541, "ts": "2026-09-15T09:17:00Z", "hours": 1.2439, "text": "edit: okay so i forgot some other changes but i cant really add those minutes to this devlog so ill just put the change here: added a character limit to the homepage search input (register repo) add a tip in quickstart doc about webui registering end of edit add warning texts for empty records and submit button pretty format resulting json enforced populated records instead of allowing empty domain registration form layout styling tweaks and fixes to inconsistency spacing add a success page that waits 5 seconds before opening github and displays next steps change submit functionality to redirect to success page code cleanup from unused variables and inconsistent spacings"}, {"post_id": 67994, "ts": "2026-09-14T10:36:43Z", "hours": 1.8175, "text": "almost forgot to devlog! anyways website: made a draft object for the form, should make interactivity easier to implement styling for checkbox, hr, and disabled input elements made an ARRAY_RECORDS string for supported records in type of string[] implemented form for registering subdomain records made readonly if subdomain is taken"}, {"post_id": 66670, "ts": "2026-09-12T15:11:06Z", "hours": 1.3625, "text": "changes are half complete but i decided to devlog rn to keep things short. please note these changes arent pushed yet as im writing this website: rename /q and /d to /query and /docs change redirect links to the new routes add background stars from my personal website made a records page for creating subdomains and editing existing records (incomplete) implemented fetch function for getting records change query link to redirect to record page register: replace /docs/*.md code blocks to actual doc links only resolvable when viewed from the main website"}, {"post_id": 47895, "ts": "2026-08-16T05:16:20Z", "hours": 0.5, "text": "added important links polished org readme added a profile picture for the org and website add a nametag gimmick on the website (desktop only)"}, {"post_id": 47881, "ts": "2026-08-16T04:27:20Z", "hours": 1.2019, "text": "fix wrong key on website add discord domain verification record for is-my.id wrote website requirement docs fixed grammar errors and typos (thanks claude) remove outdated docs notice replaced part-of.my.id’s v1 website with placeholder for v2 last final touch ups v2 website should be live now"}, {"post_id": 47536, "ts": "2026-08-15T14:44:42Z", "hours": 2.2581, "text": "mostly spent fiddling with a bit of ai and doing finishing touches before deployment. this was supposed to be 2 devlogs but i forgot to post and just continued coding but oh well. a lot of styling tweaks for markdown displays and forms install marked alert plugin for gfm alert blockquotes scrollbar, article, disabled button, and other element styling made footer stick to the bottom regardless of content height move loaddoc function to lib for use in other pages such as query function to remove apex domains from query if present implement subdomain suggestions html structure readme display for announcements loading indicator texts change nav link from config to query after this im gonna write docs/requirement.md and polish the github org a bit before shipping (hopefully) tomorrow"}, {"post_id": 47253, "ts": "2026-08-15T01:50:28Z", "hours": 1.3742, "text": "split time between website and register docs, bc i keep going back and forth and cant decide whether the website or the docs are more important. anyways register: create base doc files for quickstart and requirements write docs for quickstart guide remove cringy line on the register repo readme website-v2: made a base domain query page (unfinished) new page-container class in global styles used for consistent margin and padding fix link styles in docs handle form submission for homepage subdomain search better query param handling for docs loaddoc function tweaks for handling input styling changes to docs"}, {"post_id": 45763, "ts": "2026-08-12T13:47:31Z", "hours": 1.5139, "text": "felt productive again somehow during a school night made docs page under /d/[document name] implement markdown fetching from github raw api implement docs nav via hardcoded object for paths installed marked styled docs markdown render using tailwind typography plugin updated whole website to use lora font fixed some homepage paragraph wordings fixed some elements to use correct cursor move some styles to global app.css fixed mobile spacing for header and footer"}, {"post_id": 43670, "ts": "2026-08-09T02:03:31Z", "hours": 1.1919, "text": "thats a pretty good amount of time accumulated purely writing docs new markdown files under /docs for documentation and usage guides wrote raw references for filesystem structure and json schemas"}, {"post_id": 43375, "ts": "2026-08-08T16:04:06Z", "hours": 0.6681, "text": "small devlog but prob worth mentioning well the actions script failed due to worker routes being read only. i decided to use dnscontrol’s built in CF_REDIRECT record for this instead and also update it due to missmatch TTL from dev with prod. apparently this caused an error because actions kept failing to deploy due to missing creds. after a while of debugging and headbanging, i folded and attempted to use github copilot agent to try and fix it (hehe pr number 67) but that didnt do the trick. it was only when i checked the repo secrets that i realized the env variable is called CF_API_TOKEN and not CLOUDFLARE_API_TOKEN. that was like hours of my time spent away debugging instead of working on the website like i planned but oh well no changelog list because im gen tired rn like its 11.00pm wiuriuhewuhfiuwhfihewiuhih"}, {"post_id": 43319, "ts": "2026-08-08T14:49:31Z", "hours": 1.8528, "text": "took longer than expected, now im rewriting the dnscontrol script for deploying dns records to support multiple apex domains. this was rather challenging due to dnscontrol’s heavily limited dsl and language features, but eventually it works and now i just need to add documentation in markdown. fix type errors and cleanup code in dnscontrol.js before rewrite cleanup unused scripts and nix files remove nix branch (previous plan but support was too limited to be reliable) modified json schema so now “record” key is “records” (plural) update github action yaml files as well as fix old file paths"}, {"post_id": 43146, "ts": "2026-08-08T07:52:31Z", "hours": 1.4406, "text": "mhm not bad so to say reordered fetch function calls for stats display adjusted the typing and count functions for smootheness use lavender as the primary color complete homepage sections (mostly copied from the old site) add a footer and yes i made the github logo cyan but cmon we need some colors here"}, {"post_id": 41933, "ts": "2026-08-06T13:42:52Z", "hours": 1.1564, "text": "back after a long procrastination and burn out period. made stats counter increment one by one when loaded using js function by copilot made main title typing using js function by copilot added a little info bar indicating new subdomain available for registration added forum/search bar for registering new domains added grid dot background from my personal site added a nav bar added small about me, wip for continuation on the main landing page"}, {"post_id": 35748, "ts": "2026-07-27T11:57:51Z", "hours": 0.595, "text": "humble beginnings :D init sveltekit with tailwind installed tailwind typography and forums plugins installed catppuccin color theme made initial base home page design"}]...
|
Title: part-of.my.id revived by @satr14 | Stardanc Title: part-of.my.id revived by @satr14 | Stardance
Devlogs:
humble beginnings :D init sveltekit with tailwind installed tailwind typography and forums plugins installed catppuccin color theme made initial base home page design
back after a long procrastination and burn out period. made stats counter increment one by one when loaded using js function by copilot made main title typing using js function by copilot added a little info bar indicating new subdomain available for registration added forum/search bar for registering new domains added grid dot background from my personal site added a nav bar added small about me, wip for continuation on the main landing page
mhm not bad so to say reordered fetch function calls for stats display adjusted the typing and count functions for smootheness use lavender as the primary color complete homepage sections (mostly copied from the old site) add a footer and yes i made the github logo cyan but cmon we need some colors here
took longer than expected, now im rewriting the dnscontrol script for deploying dns records to support multiple apex domains. this was rather challenging due to dnscontrol’s heavily limited dsl and language features, but eventually it works and now i just need to add documentation in markdown. fix type errors and cleanup code in dnscontrol.js before rewrite cleanup unused scripts and nix files remove nix branch (previous plan but support was too limited to be reliable) modified json schema so now “record” key is “records” (plural) update github action yaml files as well as fix old file paths
small devlog but prob worth mentioning well the actions script failed due to worker routes being read only. i decided to use dnscontrol’s built in CF_REDIRECT record for this instead and also update it due to missmatch TTL from dev with prod. apparently this caused an error because actions kept failing to deploy due to missing creds. after a while of debugging and headbanging, i folded and attempted to use github copilot agent to try and fix it (hehe pr number 67) but that didnt do the trick. it was only when i checked the repo secrets that i realized the env variable is called CF_API_TOKEN and not CLOUDFLARE_API_TOKEN. that was like hours of my time spent away debugging instead of working on the website like i planned but oh well no changelog list because im gen tired rn like its 11.00pm wiuriuhewuhfiuwhfihewiuhih
thats a pretty good amount of time accumulated purely writing docs new markdown files under /docs for documentation and usage guides wrote raw references for filesystem structure and json schemas
felt productive again somehow during a school night made docs page under /d/[document name] implement markdown fetching from github raw api implement docs nav via hardcoded object for paths installed marked styled docs markdown render using tailwind typography plugin updated whole website to use lora font fixed some homepage paragraph wordings fixed some elements to use correct cursor move some styles to global app.css fixed mobile spacing for header and footer
split time between website and register docs, bc i keep going back and forth and cant decide whether the website or the docs are more important. anyways register: create base doc files for quickstart and requirements write docs for quickstart guide remove cringy line on the register repo readme website-v2: made a base domain query page (unfinished) new page-container class in global styles used for consistent margin and padding fix link styles in docs handle form submission for homepage subdomain search better query param handling for docs loaddoc function tweaks for handling input styling changes to docs
mostly spent fiddling with a bit of ai and doing finishing touches before deployment. this was supposed to be 2 devlogs but i forgot to post and just continued coding but oh well. a lot of styling tweaks for markdown displays and forms install marked alert plugin for gfm alert blockquotes scrollbar, article, disabled button, and other element styling made footer stick to the bottom regardless of content height move loaddoc function to lib for use in other pages such as query function to remove apex domains from query if present implement subdomain suggestions html structure readme display for announcements loading indicator texts change nav link from config to query after this im gonna write docs/requirement.md and polish the github org a bit before shipping (hopefully) tomorrow
fix wrong key on website add discord domain verification record for is-my.id wrote website requirement docs fixed grammar errors and typos (thanks claude) remove outdated docs notice replaced part-of.my.id’s v1 website with placeholder for v2 last final touch ups v2 website should be live now
added important links polished org readme added a profile picture for the org and website add a nametag gimmick on the website (desktop only)
changes are half complete but i decided to devlog rn to keep things short. please note these changes arent pushed yet as im writing this website: rename /q and /d to /query and /docs change redirect links to the new routes add background stars from my personal website made a records page for creating subdomains and editing existing records (incomplete) implemented fetch function for getting records change query link to redirect to record page register: replace /docs/*.md code blocks to actual doc links only resolvable when viewed from the main website
almost forgot to devlog! anyways website: made a draft object for the form, should make interactivity easier to implement styling for checkbox, hr, and disabled input elements made an ARRAY_RECORDS string for supported records in type of string[] implemented form for registering subdomain records made readonly if subdomain is taken
edit: okay so i forgot some other changes but i cant really add those minutes to this devlog so ill just put the change here: added a character limit to the homepage search input (register repo) add a tip in quickstart doc about webui registering end of edit add warning texts for empty records and submit button pretty format resulting json enforced populated records instead of allowing empty domain registration form layout styling tweaks and fixes to inconsistency spacing add a success page that waits 5 seconds before opening github and displays next steps change submit functionality to redirect to success page code cleanup from unused variables and inconsistent spacings
okay well ships on this project isnt really doing the best in terms of stardance output, so i really need to address a lot of these critics if i want good multipliers. anyways so most of the time here is spent on writing ci tests for the register repo. however, i decided to scratch the majority of this code due to poor implementation execution. so this devlog will only have commits resolving some critics. website: fix z-index header bug where some elements would appear above the bar add a warning tip to the website repo readme for anyone who ends up there instead of the register repo changed the view source link for this project on stardance to redirect to the register repo updated the readme (adapted from my personal website repo readme) register: (scratched) test framework with raw js and bun add a tip for registering via web ui last commits from git repos (pinpoint for writing the next devlogs): register: 1564638a6d7eccc495a89948145898d0e4a1ddfc a1e2b4e4cf511f921ffc6b78bca260133afe4e7d okay a bit of a rant but school is starting to burn me out again. honestly i already got my certificate but now my motivator is gonna be the shop items. (i havent spent anything yet, not even for domain grants) im saving up and will spend after stardance ends. i am planning to hopefully do at least 1 - 1.5 hours on weekdays and hopefully overtime on weekends. we’ll see how that turns out i guess.
split time between writing docs (uncommited, might be discarded due to low quality) and writing tests leveraging bun apis. these tests are not completed, therefore they wont be used for github actions pr check workflows (yet). wrote docs: beginners guide (partial) and unsupported services (empty) extracted typescript types and constant to schema.ts for use in test units initialized bun for package management in the future if needed created deep.test.ts wrote test for checking unknown files outside of the /domains/[apex] directories wrote test for checking file names valid subdomain fqdns wrote test for checking if json is valid and parse-able
so mostly focused on improving the register repo and docs experience as i feel like the website is established and complete at this point. i am still learning the bun/jest api on writing test code so this may not be perfect, but its a start! made a wrapper function for looping through subdomain files using callbacks and bun fs api improve regex checks for ipv4, ipv6, and fqdns based on ajv-formats npm package (regex is copied pasted from source code rather than installing the package directly as that introduces bloat and dependency management) slight fixed to tests handling promises (still rather broken but ill fix that later) add new constants for looping though records made a helper function to read subdomain file and parse the json. both using bun fs api update all test fail messages to print file paths for easy tracing new test to check schema structure and record values using ip and domain regexes
ts is me with random lock in phases: still not fully implemented to be included with the testing workflow, i have a lot of features planned but i prefer to finish this first. better error messages for expect fails extra checks for empty objects, arrays, and strings made most/all tests use testing api specifics rather than a conditional check if expression is true (for better error messages) add a check for capping filenames to less than 245 characters (as per dns hostname rules) checks for nested apex in filenames (example: steve.is-my.id.json is invalid) reorder some tests add a check for uppercase letters (one of the existing subdomains violated this rule so i fixed it manually) add a check for repeated dashes (–) as the current regex doesnt catch this and i didnt feel like changing it created empty tests as drafts for later to be implemented remove unused ALIAS record handling as it was used internally but not needed anymore
made a new field in the getDomainRecords helper function to check for file existance and handle json parse fails made a new helper function to generate subdomain file path based of apex and subdomain changed tests to use the new implementation of getDomainRecords implemented tests for cloudflare proxied rules implemented tests for dns limitation rules implemented tests for root and nested subdomain ownership
last commit hash: 2d191fa190db7b3904256e96b27dd6608d42af56 fix existing record files failing the test fix test to exclude .json extension during name length test add a check for unknown and typoed keys added draft tests for website reachability made draft/empty tests fail on purpose check subdomain if containing any apexes minify some parts of the code to one liners made ownership checks per level (a.b.c.json checks for b.c.json and c.json instead of just c.json) added safeguards to not print multiple failures if root cause is erroring out to make sure errors are readable reorder some tests to run first than others used node:path’s path.join for path handling moved json parsing expect calls to helper function for reading json to eliminate repeated code made most of the error messages clearer to follow
last commit hash: 72f864ff282701585c5d43d5818a5ee22c29e168 supposed to be 3 separate devlogs but i genuinely forgot to. so im gonna split this changelog to categories. bun test validation: add github helpers for fetching diff and raw files from commit and raw urls implemented tests for checking changed file owners against pr author added a bypass label for ownership transfer extra types and functiong tweaks to existing library apis skipped pr author check if pr number for checking isnt present remove uneeded exports in some files as most are internal use optional chaining for clearer error messages in ci project structuring: split deep.test.ts to multiple focused files instead of relying on describe() grouping split helpers, constants, and types into a their own library file move tests and shared libs into /scripts/lib and /script/tests respectively github actions: wire bun tests into ci updated ci triggers for prs, manual, and push settings removed step for validating with json schema in favor of bun tests rename a couple of step and job names for clarity misc: add some missing semicolons tab space consistency fix a couple of variable names
last commit hashes: website: 8410efa3debca260451e80b206b2ec8923a45c7c register: a1aefd289360a874e40e09c9b2817501d3b2590f i again forgot to devlog so heres more category based changelogs. after this im gonna add support for redirect record in the web ui website: added table of supported services docs added styling for article tables adjust minor ux tweaks for a better experience maintenance: run bun update to update deps and lockfile add a short 4 step tldr on the website landing page add a short tldr in the quickstart guide register: added new record type: REDIRECT, a cloudflare single redirect rule powered 302 redirect implemented tests for redirect wrote docs in references.md about new REDIRECT record migrate hardcoded extracommits into their own domain files added brief registration guide in README wrote new docs for supported services table add tldr for quickstart guide adapted from brief guide in main README register misc: fixed some names in github actions workflow files
last commit hashes: website: f04e761e0557d7c5c7bfd6a680bec5a6cfbca44a register: 154bfb712857b9000d00ba0e6ea613064f367246 last devlog before shipping :D website: added REDIRECT record support to web ui editor (thanks claude) minor ux and styling fixes with labels and lists purely and only server side render docs page reworked steps section to be more appealing register: added small note to docs in the supported services section for when you want to add a supported service thats not listed
last commit hashes: website: a4917bbdf5899623b6dfcae356e01572dfbceb05 realized there were some issues after shipping so im fixing them now. got a near perfect lighthouse score :D fix responsive size on landing page cards added missing meta tags for SEO added banner for meta tags handle github rate limiting on landing page fix accessibility on landing page buttons optimized github avatar images fetching to fixed size fix document heading hierarchy code cleanup removing unused comments font optimizations with preconnect hints and preload tricks
last commit hashes: website: d27e3b5f90cfcb4a59d39a6fe507c45388a323ec register: 24080879b4fbb1bb8c9e436dc8f2bdefce64af4f energy on mondays to work on this phew website: added doc entry for faq page added support email in website footer adjusted spacing and sizing on containers to make other elements visible handle disabled js for forum and counter integrate lavender theme throughout landing page added table of contents to docs page via marked plugin for gfm heading ids mobile input layout fixes for records web ui page register: added domain configurations for google search console and cloudflare email routing for support email added ignore directive to dnscontrol for cloudflare managed records added extra rules against vibe coded websites github workflow file fix causing some checks to skip grammar fix across markdown files (thank you claude copilot) added pr labeling automation for detecting non domain changes in a pr quickly modified dnscontrol script to add incrementing mx priorities based on order of entry clarify rough points within documentations added draft beginner guide docs added new documentation for frequently asked questions code cleanup: remove comments, fix indentation reorganizing files and directories to put images in appropriate locations fix gfm blockquote alert usages added all full records to example file contents in reference documentation
a bit of a rant before anything, PLEASE JUST DO YOUR RESEARCH BEFORE RATTING MY PROJECT. may come off as mean but please. yall asked for detailed and concrete docs and end up saying its “too long” like bro 😭. i do have one more plan for tutorials to make it easy. but if this doesnt help then go rtfm last commit hashes: website: 122e3777c7c52e7bf05a8a32f7e4f91b11d09ada register: d7ac98d86913daad3c18260120e41dda2873f8ef got stacks of homework today so i cant really do my 2 hour daily goal rn unfortunately :( but trust me, i will get that 11 hour weekly website: rename doc link “requirements” to “terms” new favicon of indonesian flag (using emoji variation from discord/twitter) might use this for a logo later code cleanup and simplification remove unused variables in code query page with ssr optimizations moved /query/[query] to /query handled passing subdomain query to form body changed landing and query page to use sveltekit form actions made readme announcement fetching ssr hide subdomains when query is empty made apex listing ssr register: fixed github actions workflow labeler created issue templates for bug report, abuse report, and support questions added abuse report information and email to main readme changed query url to match website
i forgot to devlog yesterday ;-; also i was supposed to work on other important aspects like the tutorial and barely finished pages. but ngl looking at the existing pages and adding small improvements and tiny details just feels more relaxing for me. but i still need to do that tutorial because stardance said so ;-; last commit hashes: website: 2de11547f2cc7e0b8ad3c107fbee8d44e0a97682 register: 2e183b224fdce4811b05c89b9f594551c13a7dad lowk idk when but i got mystery motivation and im racking up good amount of hours/day. i do have a goal rn to try and buy an bambu lab 3d printer so thats prob a contributor to my motivation. website: code cleanup, remove unused typescript code import use tables in record forum page for consistent spacing fix hover confusion on disabled inputs by disabling hover background color change remove unnecesarry label (just please research about dns 😭 ) added more dividers to records form page add clarification that subdomain descriptions are optional make pfp previews link to github profiles bug fix to REDIRECT records on read only mode improve table of contents styling to tree like stem made toc and md parser function also generate heading numbering (e.g. 1.2.3) (unused for now) code cleanup, remove empty new lines to compact code made table of contents entry highlight depending on view (js required) close table of contents in docs by default tweaked query page styles for showing borders set disabled state as default in records form hide checkmark if input is disabled added fork warning in records page added the ability to edit registered subdomain hide table inputs if empty register: clarity to reference docs regarding CNAME and REDIRECT changed heading level in Terms of Service AI section
all my energy went into working at the weekdays 😭 now im hella tired. either that or im procrastinating more. last commit hashes: website: e4e59479ec953dcfb63e0965518d35906ab625e8 im still hopping i can at least reach 11h a week for my goal. training before i switch to another ysws when stardance ends fr website: code cleanup, add missing semicolons and remove unused imports added common issues help guides with screenshots to next steps page added back to query link for record editor page unified box styling across the site for consistent design made edit button in record editor yellow if subdomain taken grammar fix to landing page paragraph :p query page: moved announcement to the bottom of the page minor styling changes to borders, seperators, text selection, and cursors
genuinely so tired for some reason. prob from playing mc recently and dying and lossing my stuff to despawn timer. OKAY! enough trauma dumping. we got work to do last commit hashes: website: e4e59479ec953dcfb63e0965518d35906ab625e8 register: mostly a lot of janitor work: code cleanup and directory reordering. but theres also an auto formatter in the workflow now! website: fix heading centering from last devlog, found bug after testing mobile view register: move dnsconfig.js to /scripts/bin for organization installed oxfmt for formatting files added bun fmt script to package.json added oxfmt config file with exclusion rule on everything but /domains formatted every domain file using oxfmt added notes for cf tunnels in /docs/services.md (unsupported services) add prettify/formatting workflow for every push code cleanup: remove unused nodejs step in workflow file, were using bun anyways code cleanup: whitespace and newline removal add tip and caution alerts in quickstart guide regarding pr checklist and prettify formatting
this is when im starting to head bang a lot, because of an undocumented github feature ive been relying on for web ui editor. last commit hashes: website: f1e3a4387e6780d61bc55feeead37ead03ec3b0a register: 5625239d30e691ace298336953d663b6e396c0e3 so ive been using github’s REPO/new/branch/PATH?filenam=A&value=B query params for prefilling records in the web ui editor form. during testing, i noticed that for some reason JSON.stringify isnt formatting the json when i open it on github. after a bit of testing, turns out github minifies valid json input. when i tried some string concats with JSON.stringify output that produced invalid json then the indentation returns. this is rather confusing and frustrating. even tho the ci now handles formatting, its still a pain for pr reviewing to review unformatted, one-line json files. due to github not really documenting this feature well, i suppose we have to live with it. i do have plans later to possibly use octokit instead for pr generation, but thats a lot more work i dont have time for. anyways, i didnt feel like writing changelog so ill just say it in brief. i added email regex checks to the ci as well as formatting warnings. and for the web ui, i made an advanced view to show raw json and the file path in case someone is willing to do it themselves. i also fixed a lot of the unserious things i threw around the success page like the ??? step
well more time without devlogs, but i didnt work on anything massive anyways so should be fine. last commit hashes: website: 6fee809e77174f42e3ece9c71d2d8b6a95120d69 register: 4c1860c68904c5378a761a100013ce3da8836771 this is gonna be the last devlog before i ship for the last time. or not, but ill most likely work on other projects. i do still have 1 more thing to do which i might or might not do. depending on how hard it ends up being. then again i am paid by the hour sooo….. but school is starting to get busy again so ig we’ll see register: completed the draft /docs/domains101.md doc for introduction to the service website: add handler for /docs/[empty] to redirect to first in line defined doc moved loadDoc helper function to $lib added a loading bar for indicating page load in progress add previous and next buttons to the bottom of docs page added domains101 doc entry
Ships:
VERSION 2.0 IS LIVE Registration instructions are available on the website. part-of.my.id is a free subdomain service that allows you to get a sleek lookin your-name.part-of.my.id domain instead of a the boring old one that hosting providers provide like pages.dev, github.io, etc. This rewrite brings to you: Multi apex domain support for the new domain: is-my.id A sleek redesigned main website and documentation
this should have improvements from last ship’s suggestions and feedback /record and /success page for generating json fixed broken links (no /d or /q anymore) added background elements to make website feel more alive
okay a LOT OF NEW FEATURES and improvements from last devlog feedback: subdomain service: NEW record: REDIRECT, a CloudFlare Single Redirect Rule powered robust tests using bun’s built in jest compatible testing API website & docs: NEW docs: /services, listing all known tested and working services tldr in the docs and README for quick registration support for REDIRECT records in webui editor short consice guide for registering...
|
1792849958.0301204
|
1792936358.0301204
|
|
41081
|
X by @ManoX | Stardance
|
ManoX
|
3
|
99.88
|
1274
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-25T17:20:40Z", "hours": 40.0, "multiplier": 14.9, "payout": 543, "blessing": "neutral", "text": "Ship #3 - X is pre-production ready X is a full-stack React framework written natively in Bun. It has seen 90+h development and is at the point where I can hand it over to someone else and walk away. What’s in the box • File-based routing with SSR, SSG, ISR - pick per route • Islands architecture for client interactivity, no more use client • Server functions, which at build-time are rewritten to fetch wrappers • Authentication package with credentials + OAuth2, sessions, CSRF, brute-force protection, RBAC • Build-time environment leakage check, implemented as an AST visitor that fails the build on a secret accidental exposure • Adapter for Vercel that generates a .vercel/output directory with static CDN and serverless SSR • MCP server for training AI agents that write correct x applications, not hallucinating Next.js code • Structured JSON logs, /healthz, /readyz, OpenTelemetry/Sentry hooks • Docker builds with explicit workspace COPY gates and CVE scanning at build-time What’s been fixed in this cycle: • SQLite session store did not observe created_at on relogin, unlike Postgres • The AuthGuardResult object had { ok: ‘success’, status: 401 } shape on successful auth guard resolution, has been renamed to a discriminated union type to avoid carrying stale data • The Vercel adapter accepted comma-joined X-Forwarded-For headers that should have been rejected • The auth package had code duplication between brute-force protection and audit logging for parsing X-Forwarded-For, consolidated into a clientIpFromRequest util • The hero component on the landing page broke on actual mobile viewports - fixed a responsive slab assumption in the install command component • Docs had foreign framework artifacts (use client directives, wrong loader signatures), all scrubbed CI is properly set up now, only merged branches push changes. For every PR: • TypeScript checks, Biome linting, tests run on Ubuntu/macOS • Postgres migration checks, Docker builds with CVE scans • Package audits (using a sha256-pinned manifest), load-testing with SLOs • Vercel preview deploys, changeset validation for monorepo packages No automatic merging - everything is watched by the repo until the CI turns green and the PR is squashed. Repo: https://github.com/abdelkabirouadoukou/x Docs: https://thexjs.abdelkabir.me/", "repo": "https://github.com/abdelkabirouadoukou/x", "demo": "https://thexjs.abdelkabir.me/"}, {"ship_num": 2, "ts": "2026-08-13T11:57:23Z", "hours": 49.0, "multiplier": 16.15, "payout": 720, "blessing": "neutral", "text": "Ship #2 is finally done after 50+ hours. Shipped build-time secret leak protection, Vercel deployments, structured logging, and a 100/100 PageSpeed landing page redesign. Check the repo for all the devlogs!", "repo": "https://github.com/abdelkabirouadoukou/x", "demo": "https://thexjs.abdelkabir.me/"}, {"ship_num": 3, "ts": "2026-07-29T08:20:41Z", "hours": 2.0, "multiplier": 5.0, "payout": 11, "blessing": "neutral", "text": "Built “X” — a lightweight full-stack React framework powered natively by the Bun runtime. In this update, I focused on getting the core Server-Side Rendering (SSR) pipeline smooth and ultra-fast. I refactored the dev server to make hot-reloading seamless, fixed routing edge cases, and polished the CLI so you can spin up a full-stack React app with zero-config overhead. The goal is to keep modern React development fast, simple, and bloat-free by leveraging Bun’s speed.", "repo": "https://github.com/abdelkabirouadoukou/x", "demo": "https://thexjs.abdelkabir.me/"}]...
|
[{"post_id": 56299, "ts": "202 [{"post_id": 56299, "ts": "2026-08-28T00:54:57Z", "hours": 8.8839, "text": "I will update this post soon.."}, {"post_id": 54609, "ts": "2026-08-25T17:08:22Z", "hours": 1.0106, "text": "Devlog #13 Fixed two critical auth bugs, both related to the auth package; the fixes are already in the PRs (not merged yet, waiting for CI). sqlite session store silently overwritten created_at (#175) Postgres store used ON CONFLICT (token) DO UPDATE, which does not update created_at column on purpose; therefore, on each re-login with the same token, the created_at would remain the same, signifying that the session was created at the same time. However, the sqlite had a different approach of INSERT OR REPLACE which replaced the whole row, including created_at. This PR changes the sqlite version to use the explicit upsert so that both databases behave the same way. Also adds a regression test that purposely creates a session, re-logins with the same token/data and checks that created_at was not changed. The postgres tests are skipped for local DATABASE_URL absent. AuthGuardResult lied on success (#177) AuthGuardResult was a type { ok: boolean; status: 401 | 403; reason: string }, and on success, the guard returned { ok: true, status: 401, reason: “” }, i.e., a 401 status code with an empty reason string. It was not a problem because toMiddleware always checked result.ok first, but it was a silent bug for anyone who tried to check result.status on success. Now it is properly represented as a discriminated union type { ok: true } | { ok: false; status: 401 | 403; reason: string }, and the status and reason fields are not present on success. All tests were adjusted to narrow the type with if (!result.ok) { … }, and a new test checks that TypeScript actually narrows the type."}, {"post_id": 54536, "ts": "2026-08-25T15:47:21Z", "hours": 5.0458, "text": "Devlog #12 this cycle was about mostly about closing the loop from “framework that works” to “framework someone else can actually adopt without me hovering nearby” Most importantly, agents can now understand x every dev I know, including senior devs, is now asking AI to write code for them. AI doesn’t know x conventions and will confidently write next.js or remix code that looks right but isn’t. So I released @thexjs /mcp - an MCP server for claude code, cursor and other agents that gives them concrete documentation for routing, loaders, server functions, env vars, and a scaffold_file tool that generates files in the right shape rather than the agent making up whatever it wants. This gets automatically added to any new project via .mcp.json / .cursor/mcp.json, and there’s also an llms.txt file on the docs for agents that just browse the site. They’re both generated from the same source so they can’t diverge. The docs got a much needed love, not just in terms of content I added the missing @thexjs /mcp docs page, and got it linked into the sidebar/footer/search index (it was in the code but not easy to find). I also fixed some copy that had diverged from the actual implementation, including a docs page that suggested using “use client” directives that the framework doesn’t actually support. The landing page also got some updates The hero section is now properly responsive (it broke on real phones, not just narrow desktops). There was a bug where the docs sidebar was supposed to be sticky but wasn’t - fixed that (turns out it was an ancestor issue, not the sticky style itself). Copy was de-genericized a bit, since it was previously very similar to other dev tool landing pages. Some internal improvements I fixed a bug in the vercel adapter relating to forwarded-header hostname validation, and made some improvements to the scaffolder (shadcn wasn’t being installed when tailwind was automatically enabled, doctor’s semver range checks were actually checking the ranges, etc). I’m now using proper feature branches + PRs for everything rather than pushing to main directly. It’s more work but should avoid situations where, say, the docs get updated to disagree with the framework in confusing ways. If you want more details on any of this, check my repo!!"}, {"post_id": 53664, "ts": "2026-08-24T10:17:25Z", "hours": 3.4794, "text": "This post will be updated soon.."}, {"post_id": 51202, "ts": "2026-08-20T18:33:34Z", "hours": 8.7919, "text": "I will update this post with all fixes and fetaures i did [Update]: Just posted my last devlog, go read that for the full details! Worked on the @thexjs /mcp server (so that AI agents won’t make up incorrect code for x), some documentation cleanup, some landing page hero/sidebar improvements, and a few adapter/scaffolder bug fixes. Repo links are included if you want to see the real code changes!"}, {"post_id": 50140, "ts": "2026-08-19T07:36:27Z", "hours": 8.1294, "text": "I will update this post with all fixes and fetaures i did [Update]: Just posted my last devlog, go read that for the full details! Worked on the @thexjs /mcp server (so that AI agents won’t make up incorrect code for x), some documentation cleanup, some landing page hero/sidebar improvements, and a few adapter/scaffolder bug fixes. Repo links are included if you want to see the real code changes!"}, {"post_id": 49634, "ts": "2026-08-18T14:59:13Z", "hours": 13.5803, "text": "A loot of update i did plz check my repo to see them all [Update]: Just posted my last devlog, go read that for the full details! Worked on the @thexjs /mcp server (so that AI agents won’t make up incorrect code for x), some documentation cleanup, some landing page hero/sidebar improvements, and a few adapter/scaffolder bug fixes. Repo links are included if you want to see the real code changes!"}, {"post_id": 43975, "ts": "2026-08-09T13:31:41Z", "hours": 8.6686, "text": "Devlog #11 I found that browsers automatically remove tabs and newlines from a URL before checking its scheme, whereas my regex did not, and hence, I missed that javascript URLs could still bypass the sanitization and that is why they still worked. It ended up being part of releases 1.1.0 and 1.2.0. Also, I discovered that when checking whether environment leakage exists (build command is “x build”), this check silently fails without any message if environment is indeed leaky secrets get masked properly but “x build” exits with 0 and therefore CI never discovers that a feature has quietly malfunctioned. This time, the patches for both of these issues have been made properly and checked manually before merging. Roadmap backlog has been taken care of after that. The items are a real end-to-end RBAC example, Redis multi-replica soak test, which would stress the multi-db system in a very large-scale environment; and a time when the security disclosure SLA is truly acted out in real life scenario not just being a paper trail."}, {"post_id": 43364, "ts": "2026-08-08T15:55:01Z", "hours": 5.4342, "text": "Development Blog #10 I spent most of my time working on the documentation backlog of adding new features. The @thexjs /auth was released a blogs ago but I still had not done the documentation for it. We did not have a page for this and some old references were no longer working in other parts of the application. I made a page for /docs/packages/auth on the website. This page has instructions, information about the endpoints and details about CSRF. I also added links to this page from the data-layer and security pages so I do not have to repeat the information in many places. I also started working on the testing gaps that were on the roadmap and marked as “beta” or “not tested”. This includes things like what happens when Postgres is not working problems with authorization and limits for instances using Redis. I changed the way I work on changes. Of making all the changes in the main branch I now make a separate branch, for each change and then open a pull request. This is a way to do things so I will keep doing it this way."}, {"post_id": 41058, "ts": "2026-08-05T00:38:01Z", "hours": 1.7586, "text": "DevLog #9 I ran PageSpeed Insights on the x landing page and obtained the following results: 100 for performance, 100 for accessibility, 100 for best practices, 91 for SEO on desktop, and 96, 100, 100, and 91 on mobile. For a page that makes no use of any framework-level image optimization or lazy-loading techniquesinstead it’s just a monochrome static page built with Bun the SEO score of 91 is likely due to the fact that I haven’t yet added the meta tags; all the other aspects are clean. Built with x: https://github.com/abdelkabirouadoukou/x"}, {"post_id": 41017, "ts": "2026-08-04T22:18:29Z", "hours": 7.6453, "text": "Devlog #8 I redesigned the landing page. It is now black and white with no color at all. I reduced the boot animation from about 5.5 seconds to 4 seconds. CI now runs “bun run build” and a format check on every PR, not just typecheck, lint, and tests. I rewrote most of the docs to reflect reality. There are new pages for Islands, ISR, catch-all routes, batch server-function registration, and CLI flags. I fixed several issues that had occurred, including the wrong RouteProps type, bad apiDir docs, and incorrect 404/middleware behavior. Code blocks now use a monochrome token palette that matches the new design. I also fixed an actual bug. The rate limiter used a shared “unknown” bucket when proxy headers were missing. This meant one client’s burst could cause a 429 error for everyone else. Now it uses the correct socket IP first. I also corrected the missing content-type in the 429 response, which was causing issues with static assets in some browsers."}, {"post_id": 38644, "ts": "2026-08-01T04:33:59Z", "hours": 3.1678, "text": "Devlog #7: clean audits, fixed styling, faster boarding passes This round was about tightening things up. The dependency audit is finally clean with zero ignores. There are no more accepted-risk advisories in CI. Just real fixes: pinned overrides on esbuild and @hono /node-server, and moving shadcn out of production dependencies where it never belonged. I also fixed a frustrating Vercel bug where deployed pages lost their stylesheet. It turns out existsSync doesn’t work the way you’d expect inside a serverless bundle. Now, the CSS href gets included at build time instead of being guessed at runtime. Smaller wins: I swapped the landing page fonts to Space Grotesk, Inter, and JetBrains Mono (all self-hosted, no Google Fonts), fixed a boarding-pass demo bug where signed bit shifts were producing -6undefined seat numbers, and cleaned up lint/typecheck across the workspace. Repo (⭐ appreciated): https://github.com/abdelkabirouadoukou/x Website: https://thexjs.vercel.app/"}, {"post_id": 38288, "ts": "2026-07-31T16:29:57Z", "hours": 14.9219, "text": "Log entry #6: on the day React’s own dispatcher attempted to become window.dispatchEvent Today six items were shipped; one took a lot longer to track down than it should have. The bug: clicking search crashed the site, but only in production Click the search bar, and the command palette should appear. Instead, the deployed build produced: Cannot read properties of undefined (reading ‘target’) Deep inside React’s event system. Not during development. Only in production. It has now been discovered that the island bundle is shipped as a classic rather than as a module, as a result, top-level declarations end up on the window object. In the minified bundle there was a top-level function called dispatchEvent: this was React DOM’s internal event dispatcher, having the same name as the browser’s actual dispatchEvent function, and it quietly overwritten window.dispatchEvent. The search trigger causes a synthetic ⌘K keydown event to be sent to the window in order to activate the palette island. It was doing this by calling React’s internal dispatcher with a raw keydown event and without a nativeEvent, which caused React to fail when it tried to read .target from an object of the incorrect shape. Solution: wrap each emitted island bundle (including the build output and the dev path) in an IIFE so that no top-level declaration now reaches the window object at all. This has been tested to ensure it works correctly. Nested layouts were rendering inside-out The _layout.tsx files contained within the route folders were behaving incorrectly by having the section layout wrap the root rather than the reverse. In order to correct this, the wrap order was reversed in the function renderPageWithLayout so that the root always remains the outermost element. Hydration mismatches stopped spamming the console Islands that have a non-deterministic initial state (mostly games) will always cause a mismatch with SSR output; although React handles the situation without any problems by re-rendering on the client side, each mismatch is still logged as a full error which could in turn spread through the event system. A no-op function was passed to the onRecoverableError handler so that these errors fail silently. Shipped: ⌘K command palette + a konami code easter egg The fuzzy-search palette is now its own island with React as its root, appearing through the same synthetic keydown event that brought up the bug mentioned above (as usual, dogfooding), and I’ve also included a Konami code easter egg. Vercel adapter The x build –adapter vercel now produces a proper .vercel/output in accordance with Vercel’s Build Output API, including the static HTML and island chunks as well as a bundled serverless render function. The route preloading and createApp have been adjusted so that the behaviour of the static and serverless versions matches that of local development. The packages/adapter-vercel have been divided into their own workspace package. Landing redesign + /play New styles, fonts, loading states, and the logo on the docs site. The bigger addition is the /play feature, which turns the framework into a small arcade—route matching treated as a game, an interactive environment leak-protection demonstration, and a static-versus-server call behaviour that you can click through. Two components have already been developed: leak-check (to provide a visual indication of the client/server boundary) and mode-call (comparing static and server rendering side by side). There are six fixes, one adapter, one new page, and a bug resulting from two functions sharing a name rather too casually. Tomorrow: it will probably be more of the same."}, {"post_id": 37586, "ts": "2026-07-30T12:47:06Z", "hours": 4.4567, "text": "Devlog #5: why I built x This all began when I was trying to launch my SaaS, autopermit (autopermit.vercel.app). whenever I clicked anything in Vercel’s dashboard, it was slow to respond. I had previously worked with Astro and built a simple blog. That was a good learning experience, and I liked the speed of the frontend framework. however, I wanted strong backend performance like Next.js offered. I knew I could combine the backend of Next.js with the frontend of Astro, but I wasn’t sure how to make it work for me or why I needed to do it. Then I found Bun, and everything became clear. Bun provided many important features right out of the box: bundler, runtime engine, package manager, and embedded database drivers. i realized i didn’t need to try to combine two heavyweight frameworks anymore. Github Repo (Give it Star ⭐️): https://github.com/abdelkabirouadoukou/x Website of FrameWork: https://thexjs.vercel.app/"}, {"post_id": 37122, "ts": "2026-07-29T16:39:39Z", "hours": 2.5361, "text": "DevLog #4 I’ve built x ( @thexjs ), a single-process, full-stack React framework which runs native on Bun. Project’s on StarDance: https://stardance.hackclub.com/home Why Next.js and the other tools come with Webpack or Vite, together with a development server and a lot of additional abstractions. Bun has already incorporated transpiling, bundling, package management, and native HTTP support , it even includes support for SQLite and Postgres. Which is why, rather than wrapping React around another bundler, I have built it to work directly with what Bun already provides. What it does The system is based on files just place a .tsx file in the src/pages/ directory and it becomes a route. Each route individually chooses whether to use SSR or static pre-rendering (by using the statement export const mode = “static”). The API routes are located in src/api/ and share their memory and database context with the rest of the application. Server functions enable you to call type-safe backend logic directly from within a component. Regarding security, there is build-time leak detection based on AST so that secrets won’t end up in the client bundles, together with CSRF protection and rate limiting built in. For use in production, /healthz and /readyz are provided, along with JSON logging and support for OpenTelemetry and Sentry. The application can be deployed to a VPS, using Docker, or on Vercel via @thexjs /adapter-vercel. Quickstart bash bun create thexjs-app@latest my-app cd my-app bun run dev You get a working app in less than a minute. Link: https://github.com/abdelkabirouadoukou/x If you look around and happen upon anything that’s broken, then open an issue I’ll look into it."}, {"post_id": 36944, "ts": "2026-07-29T10:58:23Z", "hours": 0.8828, "text": "Dev log #3 Shipped new features for x this week: a Vercel adapter, a real security layer, and observability that doesn’t depend on console.log. Vercel adapter ( @thexjs /adapter-vercel) Deploying to Vercel used to require dealing with vercel.json or using runtime hacks. The adapter now connects directly to the build pipeline and creates a proper .vercel/output/ directory. Static hydration bundles and media go to the CDN. SSR routes and server actions get packaged into a standalone Node-compatible ESM function. A config.json manifest directs static files first with SSR as the backup. No configuration is needed. Security @thexjs /core now checks client bundles during the build. If a server-only environment variable, such as STRIPE_SECRET_KEY, slips through without the THEXJS_PUBLIC_ prefix, the build fails immediately—preventing any leaks. Server actions reaching /__x/actions/* get automatic Origin/Referer verification with support for double-submit cookies to protect against CSRF. There’s also built-in CSP, HSTS, and X-Frame-Options headers, along with a customizable in-memory rate limiter. Observability Logs are now structured as JSON, including timestamp, requestId, status, and durationMs. This format works with Datadog, Loki, or Grafana without needing to parse raw text. Added /healthz and /readyz endpoints run before route matching, for those using this in Kubernetes. The createSentryReporter and createOtelReporter hooks automatically catch unhandled SSR and action errors. Config example: import { createApp , createSentryReporter } from \" @thexjs/core \" ; const app = createApp ({ pagesDir : \" ./src/pages \" , actionsDir : \" ./src/actions \" , security : { csrf : { allowedOrigins : [ \" https://app.example.com \" ] }, headers : { contentSecurityPolicy : \" default-src 'self' \" }, rateLimit : { limit : 100 , windowMs : 60 _000 }, }, observability : { logging : true , errorReporter : createSentryReporter ( Sentry ), health : { checks : { database : () => db . ping () } }, }, }); Still working through the rest of the PRD. Routing, i18n, and caching are next."}, {"post_id": 36888, "ts": "2026-07-29T08:19:21Z", "hours": 1.6447, "text": "Dev log #2 Log entry: I’ve been working over the past few days on SSR performance and sorting out the DX side. I reduced the initial size of the payload and altered the way components hydrate, which as a result decreased response latency on the native Bun HTTP server. I refactored the startup CLI and improved hot module reloading, file changes now appear instantly rather than sometimes needing a restart. A routing bug involving the parsing of query parameters which was causing problems with the serving of static assets in certain situations has also been fixed, and the way in which internal state is managed throughout the request lifecycle has been cleaned up. What was annoying was the situation with concurrent requests when doing hot reloads since Bun would leave the state hanging between reloads, a problem that only became apparent under heavy load. It took some time to work out what was going on and in the end I added more detailed logging to detect the cases where the memory wasn’t being freed. The server now runs cleanly without the need for manual restarts, which was the real aim."}, {"post_id": 36836, "ts": "2026-07-29T04:32:21Z", "hours": 0.5161, "text": "Dev log #1 Shipped x (TheXJS) to npm. It’s a full-stack React framework built on Bun. I wanted server-side rendering that truly takes advantage of Bun’s runtime instead of just running on top of it like everything else does. It’s a monorepo. The core engine and CLI are separate packages, so you won’t pull in tools you don’t need. The command bun create thexjs-app sets up a working project in one step. The documentation is live at the link below, and I’m still filling in gaps as I go. Live demo & docs: https://thexjs.vercel.app/ npm: https://www.npmjs.com/~abdelkabirouadoukou create-thexjs-app: https://www.npmjs.com/package/create-thexjs-app @thexjs /core: https://www.npmjs.com/package/@thexjs/core @thexjs /env: https://www.npmjs.com/package/@thexjs/env @thexjs /cli: https://www.npmjs.com/package/@thexjs/cli Repo: https://github.com/abdelkabirouadoukou/x If you try it and something breaks, let me know. That’s the fastest way for me to fix it."}]...
|
Title: X by @ManoX | Stardance
Devlogs:
Dev log # Title: X by @ManoX | Stardance
Devlogs:
Dev log #1 Shipped x (TheXJS) to npm. It’s a full-stack React framework built on Bun. I wanted server-side rendering that truly takes advantage of Bun’s runtime instead of just running on top of it like everything else does. It’s a monorepo. The core engine and CLI are separate packages, so you won’t pull in tools you don’t need. The command bun create thexjs-app sets up a working project in one step. The documentation is live at the link below, and I’m still filling in gaps as I go. Live demo & docs: https://thexjs.vercel.app/ npm: https://www.npmjs.com/~abdelkabirouadoukou create-thexjs-app: https://www.npmjs.com/package/create-thexjs-app @thexjs /core: https://www.npmjs.com/package/@thexjs/core @thexjs /env: https://www.npmjs.com/package/@thexjs/env @thexjs /cli: https://www.npmjs.com/package/@thexjs/cli Repo: https://github.com/abdelkabirouadoukou/x If you try it and something breaks, let me know. That’s the fastest way for me to fix it.
Dev log #2 Log entry: I’ve been working over the past few days on SSR performance and sorting out the DX side. I reduced the initial size of the payload and altered the way components hydrate, which as a result decreased response latency on the native Bun HTTP server. I refactored the startup CLI and improved hot module reloading, file changes now appear instantly rather than sometimes needing a restart. A routing bug involving the parsing of query parameters which was causing problems with the serving of static assets in certain situations has also been fixed, and the way in which internal state is managed throughout the request lifecycle has been cleaned up. What was annoying was the situation with concurrent requests when doing hot reloads since Bun would leave the state hanging between reloads, a problem that only became apparent under heavy load. It took some time to work out what was going on and in the end I added more detailed logging to detect the cases where the memory wasn’t being freed. The server now runs cleanly without the need for manual restarts, which was the real aim.
Dev log #3 Shipped new features for x this week: a Vercel adapter, a real security layer, and observability that doesn’t depend on console.log. Vercel adapter ( @thexjs /adapter-vercel) Deploying to Vercel used to require dealing with vercel.json or using runtime hacks. The adapter now connects directly to the build pipeline and creates a proper .vercel/output/ directory. Static hydration bundles and media go to the CDN. SSR routes and server actions get packaged into a standalone Node-compatible ESM function. A config.json manifest directs static files first with SSR as the backup. No configuration is needed. Security @thexjs /core now checks client bundles during the build. If a server-only environment variable, such as STRIPE_SECRET_KEY, slips through without the THEXJS_PUBLIC_ prefix, the build fails immediately—preventing any leaks. Server actions reaching /__x/actions/* get automatic Origin/Referer verification with support for double-submit cookies to protect against CSRF. There’s also built-in CSP, HSTS, and X-Frame-Options headers, along with a customizable in-memory rate limiter. Observability Logs are now structured as JSON, including timestamp, requestId, status, and durationMs. This format works with Datadog, Loki, or Grafana without needing to parse raw text. Added /healthz and /readyz endpoints run before route matching, for those using this in Kubernetes. The createSentryReporter and createOtelReporter hooks automatically catch unhandled SSR and action errors. Config example: import { createApp , createSentryReporter } from " @thexjs/core " ; const app = createApp ({ pagesDir : " ./src/pages " , actionsDir : " ./src/actions " , security : { csrf : { allowedOrigins : [ " https://app.example.com " ] }, headers : { contentSecurityPolicy : " default-src 'self' " }, rateLimit : { limit : 100 , windowMs : 60 _000 }, }, observability : { logging : true , errorReporter : createSentryReporter ( Sentry ), health : { checks : { database : () => db . ping () } }, }, }); Still working through the rest of the PRD. Routing, i18n, and caching are next.
DevLog #4 I’ve built x ( @thexjs ), a single-process, full-stack React framework which runs native on Bun. Project’s on StarDance: https://stardance.hackclub.com/home Why Next.js and the other tools come with Webpack or Vite, together with a development server and a lot of additional abstractions. Bun has already incorporated transpiling, bundling, package management, and native HTTP support , it even includes support for SQLite and Postgres. Which is why, rather than wrapping React around another bundler, I have built it to work directly with what Bun already provides. What it does The system is based on files just place a .tsx file in the src/pages/ directory and it becomes a route. Each route individually chooses whether to use SSR or static pre-rendering (by using the statement export const mode = “static”). The API routes are located in src/api/ and share their memory and database context with the rest of the application. Server functions enable you to call type-safe backend logic directly from within a component. Regarding security, there is build-time leak detection based on AST so that secrets won’t end up in the client bundles, together with CSRF protection and rate limiting built in. For use in production, /healthz and /readyz are provided, along with JSON logging and support for OpenTelemetry and Sentry. The application can be deployed to a VPS, using Docker, or on Vercel via @thexjs /adapter-vercel. Quickstart bash bun create thexjs-app@latest my-app cd my-app bun run dev You get a working app in less than a minute. Link: https://github.com/abdelkabirouadoukou/x If you look around and happen upon anything that’s broken, then open an issue I’ll look into it.
Devlog #5: why I built x This all began when I was trying to launch my SaaS, autopermit (autopermit.vercel.app). whenever I clicked anything in Vercel’s dashboard, it was slow to respond. I had previously worked with Astro and built a simple blog. That was a good learning experience, and I liked the speed of the frontend framework. however, I wanted strong backend performance like Next.js offered. I knew I could combine the backend of Next.js with the frontend of Astro, but I wasn’t sure how to make it work for me or why I needed to do it. Then I found Bun, and everything became clear. Bun provided many important features right out of the box: bundler, runtime engine, package manager, and embedded database drivers. i realized i didn’t need to try to combine two heavyweight frameworks anymore. Github Repo (Give it Star ⭐️): https://github.com/abdelkabirouadoukou/x Website of FrameWork: https://thexjs.vercel.app/
Log entry #6: on the day React’s own dispatcher attempted to become window.dispatchEvent Today six items were shipped; one took a lot longer to track down than it should have. The bug: clicking search crashed the site, but only in production Click the search bar, and the command palette should appear. Instead, the deployed build produced: Cannot read properties of undefined (reading ‘target’) Deep inside React’s event system. Not during development. Only in production. It has now been discovered that the island bundle is shipped as a classic rather than as a module, as a result, top-level declarations end up on the window object. In the minified bundle there was a top-level function called dispatchEvent: this was React DOM’s internal event dispatcher, having the same name as the browser’s actual dispatchEvent function, and it quietly overwritten window.dispatchEvent. The search trigger causes a synthetic ⌘K keydown event to be sent to the window in order to activate the palette island. It was doing this by calling React’s internal dispatcher with a raw keydown event and without a nativeEvent, which caused React to fail when it tried to read .target from an object of the incorrect shape. Solution: wrap each emitted island bundle (including the build output and the dev path) in an IIFE so that no top-level declaration now reaches the window object at all. This has been tested to ensure it works correctly. Nested layouts were rendering inside-out The _layout.tsx files contained within the route folders were behaving incorrectly by having the section layout wrap the root rather than the reverse. In order to correct this, the wrap order was reversed in the function renderPageWithLayout so that the root always remains the outermost element. Hydration mismatches stopped spamming the console Islands that have a non-deterministic initial state (mostly games) will always cause a mismatch with SSR output; although React handles the situation without any problems by re-rendering on the client side, each mismatch is still logged as a full error which could in turn spread through the event system. A no-op function was passed to the onRecoverableError handler so that these errors fail silently. Shipped: ⌘K command palette + a konami code easter egg The fuzzy-search palette is now its own island with React as its root, appearing through the same synthetic keydown event that brought up the bug mentioned above (as usual, dogfooding), and I’ve also included a Konami code easter egg. Vercel adapter The x build –adapter vercel now produces a proper .vercel/output in accordance with Vercel’s Build Output API, including the static HTML and island chunks as well as a bundled serverless render function. The route preloading and createApp have been adjusted so that the behaviour of the static and serverless versions matches that of local development. The packages/adapter-vercel have been divided into their own workspace package. Landing redesign + /play New styles, fonts, loading states, and the logo on the docs site. The bigger addition is the /play feature, which turns the framework into a small arcade—route matching treated as a game, an interactive environment leak-protection demonstration, and a static-versus-server call behaviour that you can click through. Two components have already been developed: leak-check (to provide a visual indication of the client/server boundary) and mode-call (comparing static and server rendering side by side). There are six fixes, one adapter, one new page, and a bug resulting from two functions sharing a name rather too casually. Tomorrow: it will probably be more of the same.
Devlog #7: clean audits, fixed styling, faster boarding passes This round was about tightening things up. The dependency audit is finally clean with zero ignores. There are no more accepted-risk advisories in CI. Just real fixes: pinned overrides on esbuild and @hono /node-server, and moving shadcn out of production dependencies where it never belonged. I also fixed a frustrating Vercel bug where deployed pages lost their stylesheet. It turns out existsSync doesn’t work the way you’d expect inside a serverless bundle. Now, the CSS href gets included at build time instead of being guessed at runtime. Smaller wins: I swapped the landing page fonts to Space Grotesk, Inter, and JetBrains Mono (all self-hosted, no Google Fonts), fixed a boarding-pass demo bug where signed bit shifts were producing -6undefined seat numbers, and cleaned up lint/typecheck across the workspace. Repo (⭐ appreciated): https://github.com/abdelkabirouadoukou/x Website: https://thexjs.vercel.app/
Devlog #8 I redesigned the landing page. It is now black and white with no color at all. I reduced the boot animation from about 5.5 seconds to 4 seconds. CI now runs “bun run build” and a format check on every PR, not just typecheck, lint, and tests. I rewrote most of the docs to reflect reality. There are new pages for Islands, ISR, catch-all routes, batch server-function registration, and CLI flags. I fixed several issues that had occurred, including the wrong RouteProps type, bad apiDir docs, and incorrect 404/middleware behavior. Code blocks now use a monochrome token palette that matches the new design. I also fixed an actual bug. The rate limiter used a shared “unknown” bucket when proxy headers were missing. This meant one client’s burst could cause a 429 error for everyone else. Now it uses the correct socket IP first. I also corrected the missing content-type in the 429 response, which was causing issues with static assets in some browsers.
DevLog #9 I ran PageSpeed Insights on the x landing page and obtained the following results: 100 for performance, 100 for accessibility, 100 for best practices, 91 for SEO on desktop, and 96, 100, 100, and 91 on mobile. For a page that makes no use of any framework-level image optimization or lazy-loading techniquesinstead it’s just a monochrome static page built with Bun the SEO score of 91 is likely due to the fact that I haven’t yet added the meta tags; all the other aspects are clean. Built with x: https://github.com/abdelkabirouadoukou/x
Development Blog #10 I spent most of my time working on the documentation backlog of adding new features. The @thexjs /auth was released a blogs ago but I still had not done the documentation for it. We did not have a page for this and some old references were no longer working in other parts of the application. I made a page for /docs/packages/auth on the website. This page has instructions, information about the endpoints and details about CSRF. I also added links to this page from the data-layer and security pages so I do not have to repeat the information in many places. I also started working on the testing gaps that were on the roadmap and marked as “beta” or “not tested”. This includes things like what happens when Postgres is not working problems with authorization and limits for instances using Redis. I changed the way I work on changes. Of making all the changes in the main branch I now make a separate branch, for each change and then open a pull request. This is a way to do things so I will keep doing it this way.
Devlog #11 I found that browsers automatically remove tabs and newlines from a URL before checking its scheme, whereas my regex did not, and hence, I missed that javascript URLs could still bypass the sanitization and that is why they still worked. It ended up being part of releases 1.1.0 and 1.2.0. Also, I discovered that when checking whether environment leakage exists (build command is “x build”), this check silently fails without any message if environment is indeed leaky secrets get masked properly but “x build” exits with 0 and therefore CI never discovers that a feature has quietly malfunctioned. This time, the patches for both of these issues have been made properly and checked manually before merging. Roadmap backlog has been taken care of after that. The items are a real end-to-end RBAC example, Redis multi-replica soak test, which would stress the multi-db system in a very large-scale environment; and a time when the security disclosure SLA is truly acted out in real life scenario not just being a paper trail.
A loot of update i did plz check my repo to see them all [Update]: Just posted my last devlog, go read that for the full details! Worked on the @thexjs /mcp server (so that AI agents won’t make up incorrect code for x), some documentation cleanup, some landing page hero/sidebar improvements, and a few adapter/scaffolder bug fixes. Repo links are included if you want to see the real code changes!
I will update this post with all fixes and fetaures i did [Update]: Just posted my last devlog, go read that for the full details! Worked on the @thexjs /mcp server (so that AI agents won’t make up incorrect code for x), some documentation cleanup, some landing page hero/sidebar improvements, and a few adapter/scaffolder bug fixes. Repo links are included if you want to see the real code changes!
I will update this post with all fixes and fetaures i did [Update]: Just posted my last devlog, go read that for the full details! Worked on the @thexjs /mcp server (so that AI agents won’t make up incorrect code for x), some documentation cleanup, some landing page hero/sidebar improvements, and a few adapter/scaffolder bug fixes. Repo links are included if you want to see the real code changes!
This post will be updated soon..
Devlog #12 this cycle was about mostly about closing the loop from “framework that works” to “framework someone else can actually adopt without me hovering nearby” Most importantly, agents can now understand x every dev I know, including senior devs, is now asking AI to write code for them. AI doesn’t know x conventions and will confidently write next.js or remix code that looks right but isn’t. So I released @thexjs /mcp - an MCP server for claude code, cursor and other agents that gives them concrete documentation for routing, loaders, server functions, env vars, and a scaffold_file tool that generates files in the right shape rather than the agent making up whatever it wants. This gets automatically added to any new project via .mcp.json / .cursor/mcp.json, and there’s also an llms.txt file on the docs for agents that just browse the site. They’re both generated from the same source so they can’t diverge. The docs got a much needed love, not just in terms of content I added the missing @thexjs /mcp docs page, and got it linked into the sidebar/footer/search index (it was in the code but not easy to find). I also fixed some copy that had diverged from the actual implementation, including a docs page that suggested using “use client” directives that the framework doesn’t actually support. The landing page also got some updates The hero section is now properly responsive (it broke on real phones, not just narrow desktops). There was a bug where the docs sidebar was supposed to be sticky but wasn’t - fixed that (turns out it was an ancestor issue, not the sticky style itself). Copy was de-genericized a bit, since it was previously very similar to other dev tool landing pages. Some internal improvements I fixed a bug in the vercel adapter relating to forwarded-header hostname validation, and made some improvements to the scaffolder (shadcn wasn’t being installed when tailwind was automatically enabled, doctor’s semver range checks were actually checking the ranges, etc). I’m now using proper feature branches + PRs for everything rather than pushing to main directly. It’s more work but should avoid situations where, say, the docs get updated to disagree with the framework in confusing ways. If you want more details on any of this, check my repo!!
Devlog #13 Fixed two critical auth bugs, both related to the auth package; the fixes are already in the PRs (not merged yet, waiting for CI). sqlite session store silently overwritten created_at (#175) Postgres store used ON CONFLICT (token) DO UPDATE, which does not update created_at column on purpose; therefore, on each re-login with the same token, the created_at would remain the same, signifying that the session was created at the same time. However, the sqlite had a different approach of INSERT OR REPLACE which replaced the whole row, including created_at. This PR changes the sqlite version to use the explicit upsert so that both databases behave the same way. Also adds a regression test that purposely creates a session, re-logins with the same token/data and checks that created_at was not changed. The postgres tests are skipped for local DATABASE_URL absent. AuthGuardResult lied on success (#177) AuthGuardResult was a type { ok: boolean; status: 401 | 403; reason: string }, and on success, the guard returned { ok: true, status: 401, reason: “” }, i.e., a 401 status code with an empty reason string. It was not a problem because toMiddleware always checked result.ok first, but it was a silent bug for anyone who tried to check result.status on success. Now it is properly represented as a discriminated union type { ok: true } | { ok: false; status: 401 | 403; reason: string }, and the status and reason fields are not present on success. All tests were adjusted to narrow the type with if (!result.ok) { … }, and a new test checks that TypeScript actually narrows the type.
I will update this post soon..
Ships:
Built “X” — a lightweight full-stack React framework powered natively by the Bun runtime. In this update, I focused on getting the core Server-Side Rendering (SSR) pipeline smooth and ultra-fast. I refactored the dev server to make hot-reloading seamless, fixed routing edge cases, and polished the CLI so you can spin up a full-stack React app with zero-config overhead. The goal is to keep modern React development fast, simple, and bloat-free by leveraging Bun’s speed.
Ship #2 is finally done after 50+ hours. Shipped build-time secret leak protection, Vercel deployments, structured logging, and a 100/100 PageSpeed landing page redesign. Check the repo for all the devlogs!
Ship #3 - X is pre-production ready X is a full-stack React framework written natively in Bun. It has seen 90+h development and is at the point where I can hand it over to someone else and walk away. What’s in the box • File-based routing with SSR, SSG, ISR - pick per route • Islands architecture for client interactivity, no more use client • Server functions, which at build-time are rewritten to fetch wrappers • Authentication package with credentials + OAuth2, sessions, CSRF, brute-force protection, RBAC • Build-time environment leakage check, implemented as an AST visitor that fails the build on a secret accidental exposure • Adapter for Vercel that generates a .vercel/output directory with static CDN and serverless SSR • MCP server for training AI agents that write correct x applications, not hallucinating Next.js code • Structured JSON logs, /healthz, /readyz, OpenTelemetry/Sentry hooks • Docker builds with explicit workspace COPY gates and CVE scanning at build-time What’s been fixed in this cycle: • SQLite session store did not observe created_at on relogin, unlike Postgres • The AuthGuardResult object had { ok: ‘success’, status: 401 } shape on successful auth guard resolution, has been renamed to a discriminated union type to avoid carrying stale data • The Vercel adapter accepted comma-joined X-Forwarded-For headers that should have been rejected • The auth package had code duplication between brute-force protection and audit logging for parsing X-Forwarded-For, consolidated into a clientIpFromRequest util • The hero component on the landing page broke on actual mobile viewports - fixed a responsive slab assumption in the install command component • Docs had foreign framework artifacts (use client directives, wrong loader signatures), all scrubbed CI is properly set up now, only merged branches push changes. For every PR: • TypeScript checks, Biome linting, tests run on Ubuntu/macOS • Postgres migration checks, Docker builds with CVE scans • Package audits (using a sha256-pinned manifest), load-testing with SLOs • Vercel preview deploys, changeset validation for monorepo packages No automatic merging - everything is watched by the repo until the CI turns green and the PR is squashed. Repo: https://github.com/abdelkabirouadoukou/x Docs: https://thexjs.abdelkabir.me/...
|
1792986959.6449192
|
1793073359.6449192
|
|
41422
|
NexusOS by @ishudutta487 | Stardance
|
ishudutta487
|
3
|
5.0
|
23
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-27T22:33:19Z", "hours": 3.0, "multiplier": 7.84, "payout": 22, "blessing": "neutral", "text": "Made nexus OS, where i added my own theme of a crane which looks really cool and calming to me, i’m willing to build this webOS way more better than anyone could ever thought so. little by little , day by day. :)", "repo": "https://github.com/ishudutta487-png/NexusOS", "demo": "https://ishudutta487-png.github.io/NexusOS/"}, {"ship_num": 2, "ts": "2026-08-14T12:15:44Z", "hours": 0.0, "multiplier": 2.56, "payout": 1, "blessing": "neutral", "text": "Figuring out the JavaScript logic for the calculator to evaluate equations properly without breaking, and managing the CSS variables so the light/dark mode transitions smoothly across all the translucent windows. I’m really proud of the Custom Wallpaper feature—it gives the OS a truly personal feel and makes it interactive for anyone visiting. I also love how the calculator feels just like a native desktop app! Click the “🌙 Dark / ☀️ Light” button in the top bar to watch the theme switch, double-click the new “Calculator” icon to do some math, and open the “Wallpapers” app to give the desktop a fresh new look!", "repo": "https://github.com/ishudutta487-png/NexusOS", "demo": "https://ishudutta487-png.github.io/NexusOS/"}, {"ship_num": 3, "ts": "2026-08-01T13:30:03Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built NexusOS, a custom web-based operating system created from scratch using HTML, CSS, and Vanilla JavaScript that features a glassmorphic top navigation bar with a live clock, draggable and stackable windows, desktop shortcuts with double-click handlers, and custom built-in apps like Dev Notes and a Projects Portfolio showcase. The biggest challenge was managing JavaScript event logic for smooth window dragging coordinates and dynamic z-index layering, as well as clean separation of concerns when refactoring raw HTML into modular CSS and JS files. I am super proud of how authentic the window drag-and-drop mechanics feel, going beyond the basic tutorial to craft a unique personal desktop environment that anyone can test out directly in their browser", "repo": "https://github.com/ishudutta487-png/NexusOS", "demo": "https://ishudutta487-png.github.io/NexusOS/"}]...
|
[{"post_id": 56243, "ts": "202 [{"post_id": 56243, "ts": "2026-08-27T22:30:24Z", "hours": 1.2556, "text": "Honestlt it wouldn’t have taken that much time if i hadn’t do silly mistakes while pushing and deploying code from vs code and git hub , i had got really frustrated . and btw i have done some fixing on the focus pad by stopping the music and timer to reset when program or tab is being exit, later i’m thinking of adding a playlist of music in focus pad if possible like lofi, for drum padd i added more instruments so one can implement their music skills and yea did some proper fixing in minimizing and maximizing of tabs though it still needs some more add ons"}, {"post_id": 54756, "ts": "2026-08-25T21:05:56Z", "hours": 0.7519, "text": "Doing experiments do come with a cost, had to face a lot of errors and issues, i will fix them the next day i will have time to deal with it!!! Added a soundboard where u can play some drum kind of things! with a pomodro timer to cover your focus sessions ,but don’t worry the ambient rain sound is there to relief your stress out during your precious deep focus sessions and yea added a basketball hoop game for your entertainment, let’s see how much can you score under 30 seconds!"}, {"post_id": 54397, "ts": "2026-08-25T12:10:31Z", "hours": 0.8492, "text": "Started the real customization of My Web OS, where i gave my a theme of pixel and crane. To me that’s really cool , and also changed the icons of the apps in the OS"}, {"post_id": 46006, "ts": "2026-08-12T21:21:09Z", "hours": 0.3917, "text": "added 3 features with the work done the day ebfore and today , the features are : switchable light or dark mode wallpaper feature with custom wallpaper feature just by pasting image a calculator to help u with solving prolems"}, {"post_id": 38877, "ts": "2026-08-01T13:14:21Z", "hours": 0.4442, "text": "I DON”T WANNA BRAG BUT I FEEL THAT I’M COOKING SOMETHING REALLY TOUGH!"}, {"post_id": 37805, "ts": "2026-07-30T19:04:11Z", "hours": 1.1783, "text": "Done with the Desktop OS, and adding the clock, i had literally watch youtube to figure out the solution. It was an overwhelming task fr!, but happy enough to know that i finished the 2nd part of making it!"}, {"post_id": 37265, "ts": "2026-07-29T20:48:38Z", "hours": 0.6814, "text": "Worked on the HTML part of my OS"}]...
|
Title: NexusOS by @ishudutta487 | Stardance
Devlo Title: NexusOS by @ishudutta487 | Stardance
Devlogs:
Worked on the HTML part of my OS
Done with the Desktop OS, and adding the clock, i had literally watch youtube to figure out the solution. It was an overwhelming task fr!, but happy enough to know that i finished the 2nd part of making it!
I DON”T WANNA BRAG BUT I FEEL THAT I’M COOKING SOMETHING REALLY TOUGH!
added 3 features with the work done the day ebfore and today , the features are : switchable light or dark mode wallpaper feature with custom wallpaper feature just by pasting image a calculator to help u with solving prolems
Started the real customization of My Web OS, where i gave my a theme of pixel and crane. To me that’s really cool , and also changed the icons of the apps in the OS
Doing experiments do come with a cost, had to face a lot of errors and issues, i will fix them the next day i will have time to deal with it!!! Added a soundboard where u can play some drum kind of things! with a pomodro timer to cover your focus sessions ,but don’t worry the ambient rain sound is there to relief your stress out during your precious deep focus sessions and yea added a basketball hoop game for your entertainment, let’s see how much can you score under 30 seconds!
Honestlt it wouldn’t have taken that much time if i hadn’t do silly mistakes while pushing and deploying code from vs code and git hub , i had got really frustrated . and btw i have done some fixing on the focus pad by stopping the music and timer to reset when program or tab is being exit, later i’m thinking of adding a playlist of music in focus pad if possible like lofi, for drum padd i added more instruments so one can implement their music skills and yea did some proper fixing in minimizing and maximizing of tabs though it still needs some more add ons
Ships:
I built NexusOS, a custom web-based operating system created from scratch using HTML, CSS, and Vanilla JavaScript that features a glassmorphic top navigation bar with a live clock, draggable and stackable windows, desktop shortcuts with double-click handlers, and custom built-in apps like Dev Notes and a Projects Portfolio showcase. The biggest challenge was managing JavaScript event logic for smooth window dragging coordinates and dynamic z-index layering, as well as clean separation of concerns when refactoring raw HTML into modular CSS and JS files. I am super proud of how authentic the window drag-and-drop mechanics feel, going beyond the basic tutorial to craft a unique personal desktop environment that anyone can test out directly in their browser
Figuring out the JavaScript logic for the calculator to evaluate equations properly without breaking, and managing the CSS variables so the light/dark mode transitions smoothly across all the translucent windows. I’m really proud of the Custom Wallpaper feature—it gives the OS a truly personal feel and makes it interactive for anyone visiting. I also love how the calculator feels just like a native desktop app! Click the “🌙 Dark / ☀️ Light” button in the top bar to watch the theme switch, double-click the new “Calculator” icon to do some math, and open the “Wallpapers” app to give the desktop a fresh new look!
Made nexus OS, where i added my own theme of a crane which looks really cool and calming to me, i’m willing to build this webOS way more better than anyone could ever thought so. little by little , day by day. :)...
|
1792997603.9664488
|
1793084003.9664488
|
|
41914
|
My Own Portfolio! by @Lalith | Stardance
|
Lalith
|
3
|
16.0
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T04:13:50Z", "hours": 2.0, "multiplier": 2.22, "payout": 4, "blessing": "neutral", "text": "This is my simple website made with simple HTML, CSS, and some JS cause why not? this contains some of my genuine projects that I have made while also coping with the rigged rat race with my friends. I just opened VS code, Opencode, and Co-Pilot so it will help me build this and build it with my whole heart into it.", "repo": "https://github.com/Hustlenix/-personal-site-", "demo": "https://hustlenix.github.io/-personal-site-/"}, {"ship_num": 2, "ts": "2026-08-03T16:28:52Z", "hours": 1.0, "multiplier": 1.33, "payout": 1, "blessing": "neutral", "text": "I built a personal website from scratch to showcase my work; coding manually without AI(I did use it to teach me to code, but i didn’t use the AI to code directly) or major frameworks made fixing CSS and layout bugs tricky, but I’m proud that every line reflects 14+ hours of genuine learning. Check it out: https://hustlenix.github.io/-personal-site-/", "repo": "https://github.com/Hustlenix/-personal-site-", "demo": "https://hustlenix.github.io/-personal-site-/"}, {"ship_num": 3, "ts": "2026-08-01T11:21:27Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is not heavily made by AI i barely used it to help me in coding thats why you may otice that this is not a full stack one, Bad UI, bad UX and stuff", "repo": "https://github.com/Hustlenix/-personal-site-", "demo": "https://hustlenix.github.io/-personal-site-/"}]...
|
[{"post_id": 43722, "ts": "202 [{"post_id": 43722, "ts": "2026-08-09T04:11:27Z", "hours": 1.1931, "text": "Learnt from my mistakes, made it better, asded opencode for CSS code for this Neo-Brutalism thing. and did some rework and mixed Spiderman and Iron man, and this has both light and dark mode(for my dev friends)"}, {"post_id": 42362, "ts": "2026-08-07T01:24:11Z", "hours": 0.7247, "text": "Simple but, W"}, {"post_id": 40011, "ts": "2026-08-03T11:13:53Z", "hours": 0.5647, "text": "One website at a time"}, {"post_id": 38668, "ts": "2026-08-01T05:29:59Z", "hours": 13.2778, "text": "Fixing one code at a time"}]...
|
Title: My Own Portfolio! by @Lalith | Stardance
D Title: My Own Portfolio! by @Lalith | Stardance
Devlogs:
Fixing one code at a time
One website at a time
Simple but, W
Learnt from my mistakes, made it better, asded opencode for CSS code for this Neo-Brutalism thing. and did some rework and mixed Spiderman and Iron man, and this has both light and dark mode(for my dev friends)
Ships:
This is not heavily made by AI i barely used it to help me in coding thats why you may otice that this is not a full stack one, Bad UI, bad UX and stuff
I built a personal website from scratch to showcase my work; coding manually without AI(I did use it to teach me to code, but i didn’t use the AI to code directly) or major frameworks made fixing CSS and layout bugs tricky, but I’m proud that every line reflects 14+ hours of genuine learning. Check it out: https://hustlenix.github.io/-personal-site-/
This is my simple website made with simple HTML, CSS, and some JS cause why not? this contains some of my genuine projects that I have made while also coping with the rigged rat race with my friends. I just opened VS code, Opencode, and Co-Pilot so it will help me build this and build it with my whole heart into it....
|
1792976092.308933
|
1793062492.308933
|
|
42278
|
Monado Phone Driver by @ttomf | Stardance
|
ttomf
|
3
|
76.94
|
1364
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T16:44:11Z", "hours": 22.0, "multiplier": 19.73, "payout": 430, "blessing": "neutral", "text": "I made Monado Phone Driver - a bridge between VR app and phone in cardboard headset. This allows you to play VR games just with Linux PC and Android phone, without buying expensive VR headset. There are alternatives, like ALVR and WiVRn , but my driver has 6DOF tracking (you can move and rotate in space) and hand tracking (it takes hand landmarks from PC or phone camera). Since last ship, I improved stability, added Android app settings, created auto installer, and mainly tracking from PC camera, because phone has small FOV and limited performance.", "repo": "https://github.com/ttomf/monado-phone", "demo": "https://github.com/ttomf/monado-phone/releases/"}, {"ship_num": 2, "ts": "2026-09-04T08:04:23Z", "hours": 32.0, "multiplier": 19.12, "payout": 609, "blessing": "neutral", "text": "Hi! This is my second ship of this project, Monado Phone Driver. It’s bridge between your VR app and your phone in headset ( Google Cardboard ). I wanted to make it better than ALVR , because it has only 3DOF tracking, so I created 6DOF tracking and hand tracking, like professional headsets. The most challenging part of this was debugging all of these. From Vulkan swapchain management and GStreamer pipeline to hand and 6DOF tracking. I am proud of it, because this will help people without VR headsets to enjoy VR games. NOTE: Hand tracking is done the best possible way, but I think it still doesn’t compete with real VR headsets. Next ship should add better tracking with PC camera.", "repo": "https://github.com/ttomf/monado-phone", "demo": "https://github.com/ttomf/monado-phone/releases/"}, {"ship_num": 3, "ts": "2026-08-05T13:16:21Z", "hours": 19.0, "multiplier": 17.05, "payout": 325, "blessing": "neutral", "text": "Hi! I ship my Monado Phone Driver ! I worked on it for last week and it was really challenging. My vision was to build something with what you can play VR games on phone (with Google Cardboard), like iVRy, but open-source and simple. I worked on streaming pipeline, UDP discovery, pose tracking and gluing it all together with Monado. I hope this will help people that wanted to play VR games without expensive headset.", "repo": "https://github.com/ttomf/monado-phone", "demo": "https://github.com/ttomf/monado-phone/releases/"}]...
|
[{"post_id": 73208, "ts": "202 [{"post_id": 73208, "ts": "2026-09-24T16:33:26Z", "hours": 3.9361, "text": "Hi! So I’m here again after many exams (I didn’t have time and strength to iteratively test this ) and I’m gonna make this better using better Hand Landmarkers and (hopefully) run on Window$."}, {"post_id": 69212, "ts": "2026-09-16T16:31:16Z", "hours": 1.6044, "text": "I think it’s time to new release! I merged upstream, created tag, built app and driver and published on GitHub."}, {"post_id": 68141, "ts": "2026-09-14T16:07:57Z", "hours": 3.4667, "text": "I am working on implementing hand controller using same data as hand tracking does. It also includes the “aim pose” - where does controller point. On video, it’s shown as red line, I take it from the index finger. I hope I will be able to play some better VR games!"}, {"post_id": 66631, "ts": "2026-09-12T14:11:34Z", "hours": 5.8714, "text": "I’ve fixed some bugs and leaks, added more configuration to Android app and created hand tracking vizualization for the PC script. Also, I am working on integrating hands as controllers (because controllers have better support across games)."}, {"post_id": 63611, "ts": "2026-09-07T15:18:52Z", "hours": 3.8808, "text": "YEAH! I have finally done the PC camera hand tracking! It has much better FOV than phone camera and more computing power. It’s just Python script with MediaPipe, sending the data to 127.0.0.1 to hand port, and it has same format, so the driver doesn’t even know the data is sending someone other than phone. You will ofc need to disable phone hand tracking, otherwise they will collide. As you see in the video, I can move the hands far and they still get tracked. (End of the video is when I took off the headset - it was also tracked :D)"}, {"post_id": 62773, "ts": "2026-09-06T09:09:55Z", "hours": 1.3114, "text": "Now I am making just minor changes to the driver as the base is nearly done. I added screen size synchronization with phone, so the driver now can send right stream. Also I am making small bugfixes and improvements."}, {"post_id": 62286, "ts": "2026-09-05T16:11:29Z", "hours": 1.7353, "text": "I added settings on phone, so now you can really configure the ports on both sides! Also there’s option to disable hand tracking or 6DOF (then it will send only rotation of headset)"}, {"post_id": 62060, "ts": "2026-09-05T09:18:28Z", "hours": 3.9211, "text": "I created simple terminal installer in python that downloads and setups Monado Phone Driver. Thanks also for the positive reviews and the 19.12x stardust multiplier — when I started this project, I didn’t think I’d ever finish it :D"}, {"post_id": 61371, "ts": "2026-09-04T07:52:18Z", "hours": 0.4617, "text": "Last devlog before ship! I just merged upstream monado, built release binaries and created GitHub release."}, {"post_id": 61334, "ts": "2026-09-04T06:19:09Z", "hours": 2.1025, "text": "So I finished the hand tracking! I tried to make it as good as possible on a phone, and it looks like it might actually work! Even though I’m limited by the hardware, you can see in the video that it tracks pretty well. (video from openxr-simple-playground )"}, {"post_id": 60746, "ts": "2026-09-03T09:54:46Z", "hours": 5.6369, "text": "I am enhancing hand tracking now, and it’s starting to look good! Here is how: I use MediaPipe by Google to analyze image from front camera. MediaPipe Hand Landmarker returns hand landmarks in camera-relative format in two dimensions, so I need to make depth (z-coordinate). I measure distance between wrist and fingers, in 2D space this means distance from camera (the farther away they are, the smaller they get). Now, they are 3D, but still relative to camera. Then I simply send both hands as UDP packet for the driver. The driver (PC side) computes real-world coordinates of the hands using saved earlier sent from ARCore and pushes them into Monado."}, {"post_id": 59610, "ts": "2026-09-01T15:01:51Z", "hours": 6.9739, "text": "I worked hard on both the Android app and the Monado driver and finally: I have working hand tracking! It is very laggy, needs many optimizations, and isn’t even in alpha state yet, but I can see that it is possible to do it. This was my dream when I began this project, and finally, it has come true. I hope it will help many people who cannot afford a professional headset :D"}, {"post_id": 58719, "ts": "2026-08-31T08:20:00Z", "hours": 2.2467, "text": "So today I finished image settings (you can configure them in the config file). They control how the image is rendered, because every headset has different lenses, distance between lenses, distance from screen to lenses etc. To find your headset’s properties, go to https://wwgc.firebaseapp.com/ ."}, {"post_id": 58171, "ts": "2026-08-30T15:09:22Z", "hours": 3.5397, "text": "I created new TCP socket logic for configuration sharing and added logic for loading configuration file. Now I am trying to change the x265enc software encoding to something faster on GPU. Unfortunately, nvenc (nvidia encoding) is really hard to configure properly, as you can see for yourselves."}, {"post_id": 57515, "ts": "2026-08-29T17:59:31Z", "hours": 9.2639, "text": "Phew, I almost went over the time limit (10 hours) :D I tried to get it running on Windows, and I partially succeeded, but it’s still not stable. Aside from that, I mostly cleaned up the code, improved usability, and removed unnecessary modules from CMake. Now I’m working on an improved distortion using Monado’s u_distortion_cardboard_calculate (cardboard stands for Google Cardboard btw) And one more thing: thanks to everyone for the positive feedback on the project — I really didn’t expect that!"}, {"post_id": 46899, "ts": "2026-08-14T13:22:12Z", "hours": 1.6314, "text": "Since nobody reviewed my submission, I don’t want to add more features, so I only updated the README and made small changes to the app. If anyone wants to play VR games on their phone, they can just download the files from Releases and run them without hard compiling!"}, {"post_id": 41279, "ts": "2026-08-05T12:09:23Z", "hours": 6.8658, "text": "Devlog 4 : I replaced boilerplate LLM code with my own. I also wrote README with instructions, so you can now try it!"}, {"post_id": 40628, "ts": "2026-08-04T09:25:23Z", "hours": 0.6022, "text": "I am making minor adjustments to run with SteamVR. I use opencomposite as layer between OpenXR and OpenVR/SteamVR. Video is phone screencap from free Steam game “Aircar”."}, {"post_id": 39990, "ts": "2026-08-03T10:37:11Z", "hours": 3.0761, "text": "Devlog 3 : I made 6DOF (6 degrees of freedom = position+rotation in space) tracking with ARCore. It’s a bit laggy, but it works. This is just test, I plan to optimize it later. Video is from xrgears with looking around."}, {"post_id": 39422, "ts": "2026-08-02T11:32:08Z", "hours": 1.5058, "text": "Devlog 2 : Finally I made working streaming pipeline! My driver takes image from Monado, gstreamer encodes it and sends via UDP. On phone, there is AMediaCodec that takes the packets, joins them and renders. Used codec is HEVC (H265). Video is from xrgears demo."}, {"post_id": 38950, "ts": "2026-08-01T15:47:39Z", "hours": 4.6072, "text": "So now I’m basically stuck. Three hours of debugging the streaming pipeline, refractoring with Opencode and trying to make it work. As you see, even Deepseek is struggling with it… Wish me luck 🤞"}, {"post_id": 38092, "ts": "2026-07-31T09:43:03Z", "hours": 2.3839, "text": "Hi! So I have started this project because I want to play VR games, but I don’t have any headset, only Google Cardboard. I know there is ALVR and iVRy, but: ALVR doesn’t have support for hand tracking and 6DOF iVRy is closed-source and wants to pay Sorry, but I don’t plan to add Windows support soon. Devlog 1 : I forked Monado and made some bureaucracy (like adding my driver to CMakeLists.txt etc.) I made simple Android app that pairs over UDP multicast with my driver. The image is from editor, because I don’t have anything interesting to post (except maybe positive logs 😁)"}]...
|
Title: Monado Phone Driver by @ttomf | Stardance
Title: Monado Phone Driver by @ttomf | Stardance
Devlogs:
Hi! So I have started this project because I want to play VR games, but I don’t have any headset, only Google Cardboard. I know there is ALVR and iVRy, but: ALVR doesn’t have support for hand tracking and 6DOF iVRy is closed-source and wants to pay Sorry, but I don’t plan to add Windows support soon. Devlog 1 : I forked Monado and made some bureaucracy (like adding my driver to CMakeLists.txt etc.) I made simple Android app that pairs over UDP multicast with my driver. The image is from editor, because I don’t have anything interesting to post (except maybe positive logs 😁)
So now I’m basically stuck. Three hours of debugging the streaming pipeline, refractoring with Opencode and trying to make it work. As you see, even Deepseek is struggling with it… Wish me luck 🤞
Devlog 2 : Finally I made working streaming pipeline! My driver takes image from Monado, gstreamer encodes it and sends via UDP. On phone, there is AMediaCodec that takes the packets, joins them and renders. Used codec is HEVC (H265). Video is from xrgears demo.
Devlog 3 : I made 6DOF (6 degrees of freedom = position+rotation in space) tracking with ARCore. It’s a bit laggy, but it works. This is just test, I plan to optimize it later. Video is from xrgears with looking around.
I am making minor adjustments to run with SteamVR. I use opencomposite as layer between OpenXR and OpenVR/SteamVR. Video is phone screencap from free Steam game “Aircar”.
Devlog 4 : I replaced boilerplate LLM code with my own. I also wrote README with instructions, so you can now try it!
Since nobody reviewed my submission, I don’t want to add more features, so I only updated the README and made small changes to the app. If anyone wants to play VR games on their phone, they can just download the files from Releases and run them without hard compiling!
Phew, I almost went over the time limit (10 hours) :D I tried to get it running on Windows, and I partially succeeded, but it’s still not stable. Aside from that, I mostly cleaned up the code, improved usability, and removed unnecessary modules from CMake. Now I’m working on an improved distortion using Monado’s u_distortion_cardboard_calculate (cardboard stands for Google Cardboard btw) And one more thing: thanks to everyone for the positive feedback on the project — I really didn’t expect that!
I created new TCP socket logic for configuration sharing and added logic for loading configuration file. Now I am trying to change the x265enc software encoding to something faster on GPU. Unfortunately, nvenc (nvidia encoding) is really hard to configure properly, as you can see for yourselves.
So today I finished image settings (you can configure them in the config file). They control how the image is rendered, because every headset has different lenses, distance between lenses, distance from screen to lenses etc. To find your headset’s properties, go to https://wwgc.firebaseapp.com/ .
I worked hard on both the Android app and the Monado driver and finally: I have working hand tracking! It is very laggy, needs many optimizations, and isn’t even in alpha state yet, but I can see that it is possible to do it. This was my dream when I began this project, and finally, it has come true. I hope it will help many people who cannot afford a professional headset :D
I am enhancing hand tracking now, and it’s starting to look good! Here is how: I use MediaPipe by Google to analyze image from front camera. MediaPipe Hand Landmarker returns hand landmarks in camera-relative format in two dimensions, so I need to make depth (z-coordinate). I measure distance between wrist and fingers, in 2D space this means distance from camera (the farther away they are, the smaller they get). Now, they are 3D, but still relative to camera. Then I simply send both hands as UDP packet for the driver. The driver (PC side) computes real-world coordinates of the hands using saved earlier sent from ARCore and pushes them into Monado.
So I finished the hand tracking! I tried to make it as good as possible on a phone, and it looks like it might actually work! Even though I’m limited by the hardware, you can see in the video that it tracks pretty well. (video from openxr-simple-playground )
Last devlog before ship! I just merged upstream monado, built release binaries and created GitHub release.
I created simple terminal installer in python that downloads and setups Monado Phone Driver. Thanks also for the positive reviews and the 19.12x stardust multiplier — when I started this project, I didn’t think I’d ever finish it :D
I added settings on phone, so now you can really configure the ports on both sides! Also there’s option to disable hand tracking or 6DOF (then it will send only rotation of headset)
Now I am making just minor changes to the driver as the base is nearly done. I added screen size synchronization with phone, so the driver now can send right stream. Also I am making small bugfixes and improvements.
YEAH! I have finally done the PC camera hand tracking! It has much better FOV than phone camera and more computing power. It’s just Python script with MediaPipe, sending the data to 127.0.0.1 to hand port, and it has same format, so the driver doesn’t even know the data is sending someone other than phone. You will ofc need to disable phone hand tracking, otherwise they will collide. As you see in the video, I can move the hands far and they still get tracked. (End of the video is when I took off the headset - it was also tracked :D)
I’ve fixed some bugs and leaks, added more configuration to Android app and created hand tracking vizualization for the PC script. Also, I am working on integrating hands as controllers (because controllers have better support across games).
I am working on implementing hand controller using same data as hand tracking does. It also includes the “aim pose” - where does controller point. On video, it’s shown as red line, I take it from the index finger. I hope I will be able to play some better VR games!
I think it’s time to new release! I merged upstream, created tag, built app and driver and published on GitHub.
Hi! So I’m here again after many exams (I didn’t have time and strength to iteratively test this ) and I’m gonna make this better using better Hand Landmarkers and (hopefully) run on Window$.
Ships:
Hi! I ship my Monado Phone Driver ! I worked on it for last week and it was really challenging. My vision was to build something with what you can play VR games on phone (with Google Cardboard), like iVRy, but open-source and simple. I worked on streaming pipeline, UDP discovery, pose tracking and gluing it all together with Monado. I hope this will help people that wanted to play VR games without expensive headset.
Hi! This is my second ship of this project, Monado Phone Driver. It’s bridge between your VR app and your phone in headset ( Google Cardboard ). I wanted to make it better than ALVR , because it has only 3DOF tracking, so I created 6DOF tracking and hand tracking, like professional headsets. The most challenging part of this was debugging all of these. From Vulkan swapchain management and GStreamer pipeline to hand and 6DOF tracking. I am proud of it, because this will help people without VR headsets to enjoy VR games. NOTE: Hand tracking is done the best possible way, but I think it still doesn’t compete with real VR headsets. Next ship should add better tracking with PC camera.
I made Monado Phone Driver - a bridge between VR app and phone in cardboard headset. This allows you to play VR games just with Linux PC and Android phone, without buying expensive VR headset. There are alternatives, like ALVR and WiVRn , but my driver has 6DOF tracking (you can move and rotate in space) and hand tracking (it takes hand landmarks from PC or phone camera). Since last ship, I improved stability, added Android app settings, created auto installer, and mainly tracking from PC camera, because phone has small FOV and limited performance....
|
1792986625.0380526
|
1793073025.0380526
|
|
42657
|
HackerOS by @akshay369 | Stardance
|
akshay369
|
3
|
13.0
|
58
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-25T15:49:47Z", "hours": 5.0, "multiplier": 5.21, "payout": 25, "blessing": "neutral", "text": "I built HackerOS, a hacker-style web OS featuring a terminal, animated system monitor, password generator, notes app, system settings, a minimal taskbar, and desktop wallpapers. This ship included new 3 apps, network,calculator and a music player. So try it and give your feedbacks. Thankyou!", "repo": "https://github.com/akshaykpillai369-max/HackerOS", "demo": "https://akshaykpillai369-max.github.io/HackerOS"}, {"ship_num": 2, "ts": "2026-08-21T07:03:03Z", "hours": 5.0, "multiplier": 13.84, "payout": 33, "blessing": "neutral", "text": "What did you make? I built HackerOS, a hacker-style web OS featuring a terminal, animated system monitor, password generator, notes app, system settings, a minimal taskbar, and desktop wallpapers. What was challenging? My biggest hurdle was making the system monitor animated. What are you proud of? I am most proud of successfully implementing the animated system monitor and creating an intuitive, functional user interface with a nice hacker aesthetic. In future updates, I plan to add a dedicated start menu, expanded terminal commands, and more built-in utility apps in hacker aesthetic. All I want is your support. And if you have any nice features in mind, feel free to add those while rating or in the comments of Devlogs", "repo": "https://github.com/akshaykpillai369-max/HackerOS", "demo": "https://akshaykpillai369-max.github.io/HackerOS"}, {"ship_num": 3, "ts": "2026-08-19T07:39:16Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made HackerOS, a fictional hacker-style operating system interface using HTML, CSS, and JavaScript. The most challenging part was creating the booting experience and making the different windows work like an actual desktop. I’m proud that I was able to turn a simple web project into something that feels like a small operating system", "repo": "https://github.com/akshaykpillai369-max/HackerOS", "demo": "https://akshaykpillai369-max.github.io/HackerOS"}]...
|
[{"post_id": 73543, "ts": "202 [{"post_id": 73543, "ts": "2026-09-25T11:03:12Z", "hours": 1.7675, "text": "Added music app and added my very favorite 3 songs in it, guys check it out and if you have more apps in mind, feel free to comment it. I will add it"}, {"post_id": 73066, "ts": "2026-09-24T09:34:36Z", "hours": 1.4125, "text": "Added Calculator to the Hacker OS because in the previous ratings one guy said that adding a calculator and music player is good, so I added it"}, {"post_id": 73018, "ts": "2026-09-24T07:09:54Z", "hours": 0.3031, "text": "Started development of the new two apps, the calculator and the music player"}, {"post_id": 72991, "ts": "2026-09-24T05:42:18Z", "hours": 0.2594, "text": "Now I fixed the transparent background, and many of the users complained about it, so I changed that to an opaque background for the window."}, {"post_id": 72986, "ts": "2026-09-24T05:22:09Z", "hours": 1.0311, "text": "I added the most requested feature , the network app, now we can ping and scan an IP address. Check it out guys!"}, {"post_id": 51483, "ts": "2026-08-21T06:46:12Z", "hours": 0.6197, "text": "I added a small taskbar! Now, when you open any application, its name shows up on the taskbar. Go check it out guys!"}, {"post_id": 51465, "ts": "2026-08-21T06:01:05Z", "hours": 0.6628, "text": "I created Hacker Settings app, and now you can change the wallpaper. Currently, there are 3 wallpapers. Are you still reading? Stop and go try out my project, guys!"}, {"post_id": 51449, "ts": "2026-08-21T05:11:01Z", "hours": 1.0914, "text": "Added a new application: Hacker Notes, now we can save whatever we want. Next destination is Hacker settings. I am into it. Stay tuned!"}, {"post_id": 50791, "ts": "2026-08-20T05:44:17Z", "hours": 0.7919, "text": "Earlier there has a problem is js, that is when we click close button. The application window moves right, I solved that bug . It is the problem of the make draggable fn."}, {"post_id": 50718, "ts": "2026-08-20T01:50:39Z", "hours": 1.6122, "text": "Added a new app, password generator, now we can generate secure password which meets any requirement."}, {"post_id": 50136, "ts": "2026-08-19T07:18:35Z", "hours": 0.6108, "text": "Completed the System Monitor also. Also made some tweaks in the UI and in the Booting page. Soon I will add the functionality to the other two apps(Network Scanner and the Code Editor). Also you have any features in mind, feel free to share it, I will try to add that❤️"}, {"post_id": 50125, "ts": "2026-08-19T06:29:46Z", "hours": 0.5447, "text": "Hurray, The terminal is working well, type help to get the available commands . I will try to add functionality to all the 4 apps. Next going to work on System Monitor"}, {"post_id": 50117, "ts": "2026-08-19T05:50:17Z", "hours": 0.7622, "text": "Designed the website UI🎉. I added 4 applications on the website: Terminal, Network Scanner, Code editor, system Monitor. Also added background that matches the theme😅."}, {"post_id": 50089, "ts": "2026-08-19T04:41:51Z", "hours": 0.3533, "text": "Hurray🎉🎉, the booting screen is completed, now it shows the typing effect , just like we see in movies. and when the system is ready, the button will be enabled. Now going to the actual OS"}, {"post_id": 50080, "ts": "2026-08-19T04:16:37Z", "hours": 0.3336, "text": "Next, I worked on the styling, and now it looks like a hacker terminal 😅. My next target is JS. After adding JS, the booting screen will show “Initializing HackerOS”, “Loading kernel”, “Getting system ready”, etc. After the process is done, the Enter System button will become active. Boom! You entered HackerOS 😂"}, {"post_id": 50069, "ts": "2026-08-19T03:46:17Z", "hours": 0.3394, "text": "I started working on my new project Hacker OS. I made the booting screen in html, now I has to work on its styling part . And everyone dreams(mine also) of becoming a hacker and running commands and boom the system is hacked!🤯, and that is fun to see, though that’s never going to happen because hacking doesn’t work that way 😂. But we can be ethical hackers or grey hats 😂. So this project should be a good way to experience movie-level hacking. So I am working on it, and I initialized a Git repo successfully."}]...
|
Title: HackerOS by @akshay369 | Stardance
Devlogs Title: HackerOS by @akshay369 | Stardance
Devlogs:
I started working on my new project Hacker OS. I made the booting screen in html, now I has to work on its styling part . And everyone dreams(mine also) of becoming a hacker and running commands and boom the system is hacked!🤯, and that is fun to see, though that’s never going to happen because hacking doesn’t work that way 😂. But we can be ethical hackers or grey hats 😂. So this project should be a good way to experience movie-level hacking. So I am working on it, and I initialized a Git repo successfully.
Next, I worked on the styling, and now it looks like a hacker terminal 😅. My next target is JS. After adding JS, the booting screen will show “Initializing HackerOS”, “Loading kernel”, “Getting system ready”, etc. After the process is done, the Enter System button will become active. Boom! You entered HackerOS 😂
Hurray🎉🎉, the booting screen is completed, now it shows the typing effect , just like we see in movies. and when the system is ready, the button will be enabled. Now going to the actual OS
Designed the website UI🎉. I added 4 applications on the website: Terminal, Network Scanner, Code editor, system Monitor. Also added background that matches the theme😅.
Hurray, The terminal is working well, type help to get the available commands . I will try to add functionality to all the 4 apps. Next going to work on System Monitor
Completed the System Monitor also. Also made some tweaks in the UI and in the Booting page. Soon I will add the functionality to the other two apps(Network Scanner and the Code Editor). Also you have any features in mind, feel free to share it, I will try to add that❤️
Added a new app, password generator, now we can generate secure password which meets any requirement.
Earlier there has a problem is js, that is when we click close button. The application window moves right, I solved that bug . It is the problem of the make draggable fn.
Added a new application: Hacker Notes, now we can save whatever we want. Next destination is Hacker settings. I am into it. Stay tuned!
I created Hacker Settings app, and now you can change the wallpaper. Currently, there are 3 wallpapers. Are you still reading? Stop and go try out my project, guys!
I added a small taskbar! Now, when you open any application, its name shows up on the taskbar. Go check it out guys!
I added the most requested feature , the network app, now we can ping and scan an IP address. Check it out guys!
Now I fixed the transparent background, and many of the users complained about it, so I changed that to an opaque background for the window.
Started development of the new two apps, the calculator and the music player
Added Calculator to the Hacker OS because in the previous ratings one guy said that adding a calculator and music player is good, so I added it
Added music app and added my very favorite 3 songs in it, guys check it out and if you have more apps in mind, feel free to comment it. I will add it
Ships:
I made HackerOS, a fictional hacker-style operating system interface using HTML, CSS, and JavaScript. The most challenging part was creating the booting experience and making the different windows work like an actual desktop. I’m proud that I was able to turn a simple web project into something that feels like a small operating system
What did you make? I built HackerOS, a hacker-style web OS featuring a terminal, animated system monitor, password generator, notes app, system settings, a minimal taskbar, and desktop wallpapers. What was challenging? My biggest hurdle was making the system monitor animated. What are you proud of? I am most proud of successfully implementing the animated system monitor and creating an intuitive, functional user interface with a nice hacker aesthetic. In future updates, I plan to add a dedicated start menu, expanded terminal commands, and more built-in utility apps in hacker aesthetic. All I want is your support. And if you have any nice features in mind, feel free to add those while rating or in the comments of Devlogs
I built HackerOS, a hacker-style web OS featuring a terminal, animated system monitor, password generator, notes app, system settings, a minimal taskbar, and desktop wallpapers. This ship included new 3 apps, network,calculator and a music player. So try it and give your feedbacks. Thankyou!...
|
1792850224.342804
|
1792936624.342804
|
|
42658
|
custom-tab by @dineshkarthik | Stardance
|
dineshkarthik
|
3
|
5.0
|
25
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T06:41:05Z", "hours": 1.0, "multiplier": 2.36, "payout": 3, "blessing": "neutral", "text": "What I made I’ve created my custom new tab page dubbed Space Pulse . It’s a small dashboard with a NASA’s APOD image slider, a search bar, shortcuts, sticky notes, and an emoji profile section. What was challenging The most challenging aspect of the project was to ensure all the features co-exist without making the page messy and to enable all data to be stored properly in local storage. Another challenge was to make the page appear personalized and not just another dashboard. What I’m proud of The fact that this is a functional personal project that could be used daily is a great achievement. It also looks personal with the emoji profile, notes, and shortcuts. Lastly, managing to display the NASA space image with all those features without compromising its aesthetic appeal makes me proud. What people should know before trying it out The page is only functional on browsers with JavaScript enabled. All data including notes, shortcuts, and emoji profile are stored locally in a browser; hence, it will be lost upon clearing local storage . The APOD picture changes every day, and if a day’s picture is unavailable or in video format, then the d", "repo": "https://github.com/Karthik-854321/newtab", "demo": "https://newtab-dxud.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-05T15:47:42Z", "hours": 1.0, "multiplier": 16.42, "payout": 22, "blessing": "neutral", "text": "What I made I’ve created my custom new tab page dubbed Space Pulse . It’s a small dashboard with a NASA’s APOD image slider, a search bar, shortcuts, sticky notes, and an emoji profile section. What was challenging The most challenging aspect of the project was to ensure all the features co-exist without making the page messy and to enable all data to be stored properly in local storage. Another challenge was to make the page appear personalized and not just another dashboard. What I’m proud of The fact that this is a functional personal project that could be used daily is a great achievement. It also looks personal with the emoji profile, notes, and shortcuts. Lastly, managing to display the NASA space image with all those features without compromising its aesthetic appeal makes me proud. What people should know before trying it out The page is only functional on browsers with JavaScript enabled. All data including notes, shortcuts, and emoji profile are stored locally in a browser; hence, it will be lost upon clearing local storage . The APOD picture changes every day, and if a day’s picture is unavailable or in video format, then the dashboard uses a background image to fill the space.", "repo": "https://github.com/Karthik-854321/newtab", "demo": "https://newtab-dxud.vercel.app/"}, {"ship_num": 3, "ts": "2026-08-02T11:30:32Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "🚀 Space Pulse – Quick Submit What? A glassmorphic new tab page with NASA’s daily space image as background, search bar, quick links, sticky notes, live clock, and emoji avatar. Challenge? Syncing APOD to background, keeping layout clean without scroll chaos, and deploying securely without exposing API key. Proud of? The frosted‑glass floating UI and the seamless single‑page experience. Test it? Live: newtab.vercel.app Try setup, search, links, notes, and date pick – all changes persist. Local: npm install && npm run dev with NASA key in .env .", "repo": "https://github.com/Karthik-854321/newtab", "demo": "https://newtab-dxud.vercel.app/"}]...
|
[{"post_id": 62716, "ts": "202 [{"post_id": 62716, "ts": "2026-09-06T06:39:48Z", "hours": 0.8669, "text": "fixed some bugs that i found in flex and grid stylings other than that everything is same now it is completely cool and working well"}, {"post_id": 44162, "ts": "2026-08-09T18:51:25Z", "hours": 0.3022, "text": "finished everything"}, {"post_id": 41339, "ts": "2026-08-05T14:24:59Z", "hours": 0.2972, "text": "#H1 ## Failure teaches more than success. Actually i am bad at write the notes so i used ai to wrote my readme.md file but due to the ai usage my project got rejected 3 times i am completely frutrated and i deleted all my readme.md file and created a new start writing the whole by analysing others reame.md file noting all the required headings everything now i learned how to write the readme.md file and i feel more confident than before that i can able write by my own . I am thanking stardance to reject my project multiple times so that i learned from it .Finally my readme.md file is complete cleared all my project is cool"}, {"post_id": 40116, "ts": "2026-08-03T14:49:33Z", "hours": 0.7989, "text": "Make an mistake by polish my own csss by using ai fixed it with my own css working and looking cool once make a try link : https://newtab-dxud.vercel.app/"}, {"post_id": 39552, "ts": "2026-08-02T16:11:39Z", "hours": 0.2661, "text": "📖 Devlog – Review & RecoveryThe Stardance review highlighted two issues: my demo was behind Vercel’s login protection, and my README needed an AI usage note. 🔒I disabled Deployment Protection, redeployed the site, and added a clear AI Usage section explaining how ChatGPT assisted while I reviewed and refined everything myself. ✍️After resolving a Git merge conflict and pushing the latest changes, the demo became publicly accessible again. 🌐One small fix unlocked the project for everyone. 🚀"}, {"post_id": 39414, "ts": "2026-08-02T11:19:24Z", "hours": 0.3369, "text": "markdown## 📖 Devlog #Far from home still completed in mobile**Space Pulse: From API to Glass Dashboard**1. 🚀 Fetched NASA APOD – image, title, explanation.2. 🔍 Added search bar, quick links & sticky notes.3. 🎨 Made APOD image the live page background.4. 🧩 Single‑scroll layout – greeting, search, APOD left, notes right.5. ✨ Glassmorphism UI – frosted panels, blur, transparency.6. 🕊️ Floating animations, 3D tilt, emoji avatar setup.7. 🔐 Deployed on Vercel with NASA key as secure env variable – never exposed.*Cosmos meets productivity, wrapped in glass.*"}, {"post_id": 39318, "ts": "2026-08-02T06:49:46Z", "hours": 0.8892, "text": "#Final-Devlog: From Raw API to Floating Glass Dashboard🚀 Started with a simple NASA APOD viewer – fetching daily space images & videos.🔍 Added a Chrome‑style search bar, quick links, and sticky notes for full productivity.🎨 Dynamized the background to mirror the APOD image, with a fallback for video days.🧩 Restructured the layout – greeting, clock, and avatar at the top, notes beside APOD, no awkward scrolls.✨ Polished with glassmorphism: frosted panels, saturate blurs, and subtle borders for depth.🕊️ Brought it to life with floating animations and a friendly 3D tilt on hover.👨🚀 Personalized with a setup modal that remembers your name and emoji avatar – every visit feels like your own space station.The result: a sleek, immersive New Tab page that turns NASA’s cosmos into a functional, floating workspace."}, {"post_id": 39297, "ts": "2026-08-02T05:40:37Z", "hours": 0.8847, "text": "🔭 Devlog #4 – Exploring the Universe, One Date at a TimeToday my space dashboard became even more interactive. 🚀 I added a Search APOD button alongside a 📅 date picker, allowing users to travel through NASA’s archive and discover Astronomy Pictures of the Day from any past date. 🌌 With just one click, the website fetches and displays a new image or video along with its title, date, and explanation, making every search feel like uncovering a hidden story from the universe. ✨ This small feature transformed the site from a static viewer into an explorer’s portal, giving users the freedom to revisit unforgettable moments in space history. 🌠 Next, I’ll polish the experience with smoother loading, better error handling, and deploy the project to GitHub Pages. 🌍"}, {"post_id": 38872, "ts": "2026-08-01T13:07:26Z", "hours": 0.2539, "text": "💫 Devlog #3 – Bringing My Space Dashboard to LifeToday I transformed my APOD website from a simple demo into a polished space experience. 🚀 I designed a two-column layout with the NASA image/video on the left and the title, date, and explanation on the right for a clean, readable interface. ✨ To create a futuristic feel, I added a dark blue-purple space gradient and a glowing glassmorphism card that makes the APOD appear to float in space. 🌌 I also made the explanation panel scrollable so long NASA descriptions stay easy to read. 📖 To match the “Give Your Website a Pulse” theme, I built an animated CSS pulse bar with a glowing green ECG effect that adds subtle life to the page. 💚 Next, I’ll improve the user experience with better loading and error states before deploying the project on GitHub Pages. 🌍"}, {"post_id": 38855, "ts": "2026-08-01T12:47:15Z", "hours": 0.3992, "text": "📡 Devlog #2 – First Contact with the NASA APOD API 🚀🌌 Today was the day my website finally reached out to space! 🌍➡️🛰️ I replaced the default Vite page with a clean layout featuring a media section on the left and the APOD title, date, and explanation on the right. ✨ Using fetch() and my VITE_NASA_API_KEY , I connected to NASA’s Astronomy Picture of the Day API and displayed either a stunning 🖼️ image or an 🎥 video based on the response. I also added a 📅 date picker and a “Fetch APOD” button so I can travel back in time and explore older space discoveries, while limiting the maximum date to today to prevent invalid requests. Seeing real NASA content appear inside my own website for the first time felt like making first contact with the universe . 🌠💙 Next up: transforming it into a polished, futuristic space dashboard. 🚀"}, {"post_id": 38834, "ts": "2026-08-01T12:14:16Z", "hours": 0.4903, "text": "🚀 H1 – Giving My Website a PulseToday I launched my “Give Your Website a Pulse” project using Vite and confirmed it runs at localhost:5173. ⚡This local server lets me connect APIs without CORS issues. 🌐I got a free NASA APOD API key and stored it safely in a .env file. 🔑I also added .env to .gitignore to keep the key off GitHub. 🔒Even for a free API, I wanted to follow professional security practices. 💡Next, I’ll build a clean UI to display NASA’s daily title, date, image/video, and explanation. 🚀🌌"}]...
|
Title: custom-tab by @dineshkarthik | Stardance
D Title: custom-tab by @dineshkarthik | Stardance
Devlogs:
🚀 H1 – Giving My Website a PulseToday I launched my “Give Your Website a Pulse” project using Vite and confirmed it runs at localhost:5173. ⚡This local server lets me connect APIs without CORS issues. 🌐I got a free NASA APOD API key and stored it safely in a .env file. 🔑I also added .env to .gitignore to keep the key off GitHub. 🔒Even for a free API, I wanted to follow professional security practices. 💡Next, I’ll build a clean UI to display NASA’s daily title, date, image/video, and explanation. 🚀🌌
📡 Devlog #2 – First Contact with the NASA APOD API 🚀🌌 Today was the day my website finally reached out to space! 🌍➡️🛰️ I replaced the default Vite page with a clean layout featuring a media section on the left and the APOD title, date, and explanation on the right. ✨ Using fetch() and my VITE_NASA_API_KEY , I connected to NASA’s Astronomy Picture of the Day API and displayed either a stunning 🖼️ image or an 🎥 video based on the response. I also added a 📅 date picker and a “Fetch APOD” button so I can travel back in time and explore older space discoveries, while limiting the maximum date to today to prevent invalid requests. Seeing real NASA content appear inside my own website for the first time felt like making first contact with the universe . 🌠💙 Next up: transforming it into a polished, futuristic space dashboard. 🚀
💫 Devlog #3 – Bringing My Space Dashboard to LifeToday I transformed my APOD website from a simple demo into a polished space experience. 🚀 I designed a two-column layout with the NASA image/video on the left and the title, date, and explanation on the right for a clean, readable interface. ✨ To create a futuristic feel, I added a dark blue-purple space gradient and a glowing glassmorphism card that makes the APOD appear to float in space. 🌌 I also made the explanation panel scrollable so long NASA descriptions stay easy to read. 📖 To match the “Give Your Website a Pulse” theme, I built an animated CSS pulse bar with a glowing green ECG effect that adds subtle life to the page. 💚 Next, I’ll improve the user experience with better loading and error states before deploying the project on GitHub Pages. 🌍
🔭 Devlog #4 – Exploring the Universe, One Date at a TimeToday my space dashboard became even more interactive. 🚀 I added a Search APOD button alongside a 📅 date picker, allowing users to travel through NASA’s archive and discover Astronomy Pictures of the Day from any past date. 🌌 With just one click, the website fetches and displays a new image or video along with its title, date, and explanation, making every search feel like uncovering a hidden story from the universe. ✨ This small feature transformed the site from a static viewer into an explorer’s portal, giving users the freedom to revisit unforgettable moments in space history. 🌠 Next, I’ll polish the experience with smoother loading, better error handling, and deploy the project to GitHub Pages. 🌍
#Final-Devlog: From Raw API to Floating Glass Dashboard🚀 Started with a simple NASA APOD viewer – fetching daily space images & videos.🔍 Added a Chrome‑style search bar, quick links, and sticky notes for full productivity.🎨 Dynamized the background to mirror the APOD image, with a fallback for video days.🧩 Restructured the layout – greeting, clock, and avatar at the top, notes beside APOD, no awkward scrolls.✨ Polished with glassmorphism: frosted panels, saturate blurs, and subtle borders for depth.🕊️ Brought it to life with floating animations and a friendly 3D tilt on hover.👨🚀 Personalized with a setup modal that remembers your name and emoji avatar – every visit feels like your own space station.The result: a sleek, immersive New Tab page that turns NASA’s cosmos into a functional, floating workspace.
markdown## 📖 Devlog #Far from home still completed in mobile**Space Pulse: From API to Glass Dashboard**1. 🚀 Fetched NASA APOD – image, title, explanation.2. 🔍 Added search bar, quick links & sticky notes.3. 🎨 Made APOD image the live page background.4. 🧩 Single‑scroll layout – greeting, search, APOD left, notes right.5. ✨ Glassmorphism UI – frosted panels, blur, transparency.6. 🕊️ Floating animations, 3D tilt, emoji avatar setup.7. 🔐 Deployed on Vercel with NASA key as secure env variable – never exposed.*Cosmos meets productivity, wrapped in glass.*
📖 Devlog – Review & RecoveryThe Stardance review highlighted two issues: my demo was behind Vercel’s login protection, and my README needed an AI usage note. 🔒I disabled Deployment Protection, redeployed the site, and added a clear AI Usage section explaining how ChatGPT assisted while I reviewed and refined everything myself. ✍️After resolving a Git merge conflict and pushing the latest changes, the demo became publicly accessible again. 🌐One small fix unlocked the project for everyone. 🚀
Make an mistake by polish my own csss by using ai fixed it with my own css working and looking cool once make a try link : https://newtab-dxud.vercel.app/
#H1 ## Failure teaches more than success. Actually i am bad at write the notes so i used ai to wrote my readme.md file but due to the ai usage my project got rejected 3 times i am completely frutrated and i deleted all my readme.md file and created a new start writing the whole by analysing others reame.md file noting all the required headings everything now i learned how to write the readme.md file and i feel more confident than before that i can able write by my own . I am thanking stardance to reject my project multiple times so that i learned from it .Finally my readme.md file is complete cleared all my project is cool
finished everything
fixed some bugs that i found in flex and grid stylings other than that everything is same now it is completely cool and working well
Ships:
🚀 Space Pulse – Quick Submit What? A glassmorphic new tab page with NASA’s daily space image as background, search bar, quick links, sticky notes, live clock, and emoji avatar. Challenge? Syncing APOD to background, keeping layout clean without scroll chaos, and deploying securely without exposing API key. Proud of? The frosted‑glass floating UI and the seamless single‑page experience. Test it? Live: newtab.vercel.app Try setup, search, links, notes, and date pick – all changes persist. Local: npm install && npm run dev with NASA key in .env .
What I made I’ve created my custom new tab page dubbed Space Pulse . It’s a small dashboard with a NASA’s APOD image slider, a search bar, shortcuts, sticky notes, and an emoji profile section. What was challenging The most challenging aspect of the project was to ensure all the features co-exist without making the page messy and to enable all data to be stored properly in local storage. Another challenge was to make the page appear personalized and not just another dashboard. What I’m proud of The fact that this is a functional personal project that could be used daily is a great achievement. It also looks personal with the emoji profile, notes, and shortcuts. Lastly, managing to display the NASA space image with all those features without compromising its aesthetic appeal makes me proud. What people should know before trying it out The page is only functional on browsers with JavaScript enabled. All data including notes, shortcuts, and emoji profile are stored locally in a browser; hence, it will be lost upon clearing local storage . The APOD picture changes every day, and if a day’s picture is unavailable or in video format, then the dashboard uses a background image to fill the space.
What I made I’ve created my custom new tab page dubbed Space Pulse . It’s a small dashboard with a NASA’s APOD image slider, a search bar, shortcuts, sticky notes, and an emoji profile section. What was challenging The most challenging aspect of the project was to ensure all the features co-exist without making the page messy and to enable all data to be stored properly in local storage. Another challenge was to make the page appear personalized and not just another dashboard. What I’m proud of The fact that this is a functional personal project that could be used daily is a great achievement. It also looks personal with the emoji profile, notes, and shortcuts. Lastly, managing to display the NASA space image with all those features without compromising its aesthetic appeal makes me proud. What people should know before trying it out The page is only functional on browsers with JavaScript enabled. All data including notes, shortcuts, and emoji profile are stored locally in a browser; hence, it will be lost upon clearing local storage . The APOD picture changes every day, and if a day’s picture is unavailable or in video format, then the d...
|
1792878687.8525214
|
1793742687.8525214
|
|
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
|
|
43234
|
Nike website by @Alan_X | Stardance
|
Alan_X
|
3
|
45.0
|
398
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T11:18:15Z", "hours": 25.0, "multiplier": 13.62, "payout": 343, "blessing": "neutral", "text": "I corrected all the errors from the first ship in voting pool, to make it more polished again and have a much more better UI. The most challenging part was to go and learn some concepts that I used here especially JS. It was tedious, an as school started again it did not help. To test the project you just have to click on the Try project link. For those on mobile devices, I advise you to set your browser to desktop mode and turn it landscape for maximal experience I’m very proud of the UI and to see how far I went with this project is so fulfilling.", "repo": "https://github.com/onanaalan69-ctrl/Nike-website", "demo": "https://nike-website-gilt.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-26T18:27:10Z", "hours": 10.0, "multiplier": 5.5, "payout": 55, "blessing": "neutral", "text": "To the previous ship, I added more posts to the feed to make it more compelling to scroll through and a JS animation to change the theme of the landing page. I added two sections to the shoe page: In the first, you can see the releases from Converse, as it is a subbranch of Nike. The second concerns the releases from the Air Jordan line. Writing the code for the animation was very complex, as I had to go and learn back some concepts. That is why that index.html took me so much time. Just for a single animation T~T. Also, finding the exact image and text for the post was very tiring. Now the feed is much more fulfilling, to read and I’m so happy with that. Moreover, the diversity with the converse and Jordan makes it more satisfying. Something I advise when testing, click the swoosh on the landing page.", "repo": "https://github.com/onanaalan69-ctrl/Nike-website", "demo": "https://nike-website-gilt.vercel.app/"}, {"ship_num": 3, "ts": "2026-08-21T18:55:39Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello guys, I made a website to presents Nike’s products. The websites does feature only shoes for now, and is made of 3 active pages (the landing, the shoe section and the collaborations) The greatest challenge was the CSS. Having this done when I had still very little experience with CSS was difficult. But the most difficult to do was surely the animation with the javaScript code block. I literally had to ask advice from 15+ peers to get it ready for ship. Nevertheless, that is also one my top fulfilling achievements. I am also proud of how the colors change with the product displayed. Oh, I almost forgot! Click on the small swoosh in the nav bar to go back to landing page, and on the big one to change theme.", "repo": "https://github.com/onanaalan69-ctrl/Nike-website", "demo": "https://nike-website-gilt.vercel.app/"}]...
|
[{"post_id": 66280, "ts": "202 [{"post_id": 66280, "ts": "2026-09-12T00:55:46Z", "hours": 1.0908, "text": "The results will reflect the dedication and work done on a task I am finally shipping my project for the second time under vote pool after more than +15 hours of constant improvement. I based this new Nike website on the feedbacks I read over and over to understand the reviewers point of view, the other great websites here in stardance and my own introspection. I won’t say much as today was entirely dedicated to debugging the code and correcting UI. Thanks to all those who helped found the spelling errors and those who followed the progression of my work up to this stage. I had a 5.50x last ship, so I am expecting much more. Keep up and Aspire greatness!"}, {"post_id": 63854, "ts": "2026-09-07T20:44:44Z", "hours": 4.4319, "text": "Get Prestige out of the equation. What people buy is the story! When during the researches for the different items, I often see how there is a whole story behind each shoe, making it even more valuable. And I taught, why not have a section dedicated to Nike’s story? At first I thought that every knew about those stories, but after a small survey (less than a 1000 people), only ~17% knew about this. I went on and did this beautiful “Genesis”. I want to note that I am trying as much as possible to reduce AI text, as it was one of the review critics. So, the section is 100% AI free text and the total AI text is now less than 10% and I am very proud of that :D. During this coding session, I also: Added another group of posts for hydrating bottles Fixed some image bugs that failed to display when I went online Here is a call for all people reaching up to here. I am trying to correct all the typos errors in the site, and I need your help for that. Please take a minute to just check a single page and share with people you know. This post will make more than 20 views and I am sure we can make it to find any error. Input them in the comments, TIA. Click here"}, {"post_id": 61788, "ts": "2026-09-04T21:23:41Z", "hours": 5.1894, "text": "You remember when I said all the stuffs in my website were mostly what people know about ? Well, I added more stuffs than just shoes…again Today I added a section called “Sports Daily”. It features some of the sport tools that Nike produces like the balls. I started introducing the Soccer balls (using soccer for my Americans buddies :D) and the Basket balls. The interface is not yet operational so, if you’ve any suggestions to better it I am full ears. It was so much effort to search for all the balls and writing the text based on the official data set. All the text written here is human written, or copied from an official data set. During this session I also: Added more posts to the other pages that I felt really light and does not create the illusion of feed. As always, constructive feedback is welcomed. I will push these modifs in the repo soon."}, {"post_id": 60900, "ts": "2026-09-03T15:32:28Z", "hours": 4.3531, "text": "If you’ve an idea that seems feasible, work on it. If you succeed: Great Job! Else you’ll have tried! This is the lesson I learned the hard way when I wanted to add a magnetic_heart animation in the Nike website using JS. After spending +2hours of hard coding JS lines, and opening a handful of sites on how to do that, I succeeded, but not in the site (In a test site I created to see if I mastered the concept). Even Gemini could not help me out. It’s a loss, but a beautiful one. I learnt new JS concepts and I have tried at least. I left the codeblock in my repo just as reminder of that lesson. During the session I also: Added 5 more posts to the organization.html Updated the image links so we can see them online Removed some README.md dispalys that did not fit me Adjusted the links to like the posts and remove the false “Buy” links Removed the “Get yours here lines to make the interface better I am not abandoning the possibility of adding another JS animation or just an implementation. I keep up!"}, {"post_id": 59706, "ts": "2026-09-01T17:10:18Z", "hours": 5.2636, "text": "We often tend to see the black dot on a white sheet of paper, and forget of all the white space around I was once more reviewing my website and the feedbacks I had from the last ship. One of them is that my website is to focus on the common stuffs we know about Nike (though the reviewer said they learnt new stuffs). So I did a page in the collab section on the organizations that collaborate with Nike and what they do a little bit. I also: Diversified the feed more by adding more female figures and athletes that are in sports that are not very known. Correct the major readability error in some posts. Greatly reduced the average amount of words per posts and started writing them by myself. Centered most of the titles that looked weird and added some paddings Added more posts to make the feed more scrollable (I will always do this. It helps ensuring diversity and compelling feed) This is a small plus for those who make it up till here! If you get to visit the site (not now, but soon), visit the collab between Billie Eilish and Nike. There is a small animation I want to see if it fits."}, {"post_id": 58308, "ts": "2026-08-30T18:00:04Z", "hours": 4.8394, "text": "The first thing the user sees decides if they stay on the site, or leave! I entered my website, and I did not want to continue exploring it. Just from the landing page. Why would I expect people to love what I did, when I don’t even like it myself ? So, I decided to arrange that landing page. I added a background image, that represents Nike. It features its stars and logos. I also made the links to be more attractive and intuitive to the user. I removed the trash intro text that was there, making the site vapid. I also: I added more posts to the feed to make it more consistent, I corrected all the grammar errors of the pages, Made the animation clear for the user to change theme, I updated the README.md to suit the changes I did in the session. As always, constructive feedback is always welcomed. Thanks for reading!"}, {"post_id": 55075, "ts": "2026-08-26T14:45:14Z", "hours": 5.175, "text": "We on go I remember when I put the last word for Jordan section. During these hours, I added more items to the feed to make it more consistent and compelling to scroll through. I also refined the structure of the landing page and took the decision to only leave the JS to change color of landing page. I think what took me so long, is to search the text that I think that fits best the shoe and the colors that match the main theme. Anyway, you can try it with the demo link in the README.md and constructive feedback is always welcomed !"}, {"post_id": 54028, "ts": "2026-08-24T19:37:39Z", "hours": 4.7642, "text": "EXHAUSTING This is the word that resumes this 4 hours coding session I had. So, what was that exhausting ? That is the interesting part. I did all the time trying to: Building a javaScript to change the theme of the landing page. It is important for me, but I had to read dozen of documented pages T-T I also added the number of posts in the feed. Yeah the “feed” is that main section where the user sees the products I added a functional link to the 💓 icon to send an email of appreciation to me Most importantly, I did my README.md entirely back, as I went through the the resources(according to it, my README.md sucked T-T) And it was extremely tedious as I had to revise my bases first. But I am so proud of the result. I advice you to just give it a try in the demo link. As you know constructive feedback is always welcomed"}, {"post_id": 51849, "ts": "2026-08-21T18:30:38Z", "hours": 2.0303, "text": "Final Devlog before first ship To end the first part of this coding journey I had to “find 10,000 ways that won’t work”. In other words, I to start over and over to make that one block javaScript code to run as I wanted. Now you can change the theme of the landing page by clicking on the swoosh (Try it out. I find it fun ;D). I think I will implement this is in one of my web design projects. I profited of the fire on my fingers (a way to say inspiration. Don’t worry) to change the structure of the site’s presentation. I want to ship the project first before adding complete modifications for the second ship."}, {"post_id": 46004, "ts": "2026-08-12T21:06:11Z", "hours": 0.8356, "text": "Devlog #02 I decided to restructure the presentation of the website, and a new manner of presenting it. This method will recquire me to introduce JavaScript and make the animations more lively. I’m keeping you updated on the advancement guys #Aspiregreatness"}, {"post_id": 41153, "ts": "2026-08-05T05:57:38Z", "hours": 0.9786, "text": "Devlog #01 Today I published a demo of my website online: It was quite tedious since it was my first time, and the to and fro movements from VS code to Github, passing through Vercel was a great challenge. I had to do it before going to my morning activities. I added inside a section talking about Jannick Sinner too, so tennis fans may visit and give me some constructive feedback. Link in demo. #Aspiregreatness"}, {"post_id": 39746, "ts": "2026-08-02T22:13:34Z", "hours": 6.5506, "text": "This is were I’m upto with the Nike website. Is it nice enough :D"}]...
|
Title: Nike website by @Alan_X | Stardance
Devlog Title: Nike website by @Alan_X | Stardance
Devlogs:
This is were I’m upto with the Nike website. Is it nice enough :D
Devlog #01 Today I published a demo of my website online: It was quite tedious since it was my first time, and the to and fro movements from VS code to Github, passing through Vercel was a great challenge. I had to do it before going to my morning activities. I added inside a section talking about Jannick Sinner too, so tennis fans may visit and give me some constructive feedback. Link in demo. #Aspiregreatness
Devlog #02 I decided to restructure the presentation of the website, and a new manner of presenting it. This method will recquire me to introduce JavaScript and make the animations more lively. I’m keeping you updated on the advancement guys #Aspiregreatness
Final Devlog before first ship To end the first part of this coding journey I had to “find 10,000 ways that won’t work”. In other words, I to start over and over to make that one block javaScript code to run as I wanted. Now you can change the theme of the landing page by clicking on the swoosh (Try it out. I find it fun ;D). I think I will implement this is in one of my web design projects. I profited of the fire on my fingers (a way to say inspiration. Don’t worry) to change the structure of the site’s presentation. I want to ship the project first before adding complete modifications for the second ship.
EXHAUSTING This is the word that resumes this 4 hours coding session I had. So, what was that exhausting ? That is the interesting part. I did all the time trying to: Building a javaScript to change the theme of the landing page. It is important for me, but I had to read dozen of documented pages T-T I also added the number of posts in the feed. Yeah the “feed” is that main section where the user sees the products I added a functional link to the 💓 icon to send an email of appreciation to me Most importantly, I did my README.md entirely back, as I went through the the resources(according to it, my README.md sucked T-T) And it was extremely tedious as I had to revise my bases first. But I am so proud of the result. I advice you to just give it a try in the demo link. As you know constructive feedback is always welcomed
We on go I remember when I put the last word for Jordan section. During these hours, I added more items to the feed to make it more consistent and compelling to scroll through. I also refined the structure of the landing page and took the decision to only leave the JS to change color of landing page. I think what took me so long, is to search the text that I think that fits best the shoe and the colors that match the main theme. Anyway, you can try it with the demo link in the README.md and constructive feedback is always welcomed !
The first thing the user sees decides if they stay on the site, or leave! I entered my website, and I did not want to continue exploring it. Just from the landing page. Why would I expect people to love what I did, when I don’t even like it myself ? So, I decided to arrange that landing page. I added a background image, that represents Nike. It features its stars and logos. I also made the links to be more attractive and intuitive to the user. I removed the trash intro text that was there, making the site vapid. I also: I added more posts to the feed to make it more consistent, I corrected all the grammar errors of the pages, Made the animation clear for the user to change theme, I updated the README.md to suit the changes I did in the session. As always, constructive feedback is always welcomed. Thanks for reading!
We often tend to see the black dot on a white sheet of paper, and forget of all the white space around I was once more reviewing my website and the feedbacks I had from the last ship. One of them is that my website is to focus on the common stuffs we know about Nike (though the reviewer said they learnt new stuffs). So I did a page in the collab section on the organizations that collaborate with Nike and what they do a little bit. I also: Diversified the feed more by adding more female figures and athletes that are in sports that are not very known. Correct the major readability error in some posts. Greatly reduced the average amount of words per posts and started writing them by myself. Centered most of the titles that looked weird and added some paddings Added more posts to make the feed more scrollable (I will always do this. It helps ensuring diversity and compelling feed) This is a small plus for those who make it up till here! If you get to visit the site (not now, but soon), visit the collab between Billie Eilish and Nike. There is a small animation I want to see if it fits.
If you’ve an idea that seems feasible, work on it. If you succeed: Great Job! Else you’ll have tried! This is the lesson I learned the hard way when I wanted to add a magnetic_heart animation in the Nike website using JS. After spending +2hours of hard coding JS lines, and opening a handful of sites on how to do that, I succeeded, but not in the site (In a test site I created to see if I mastered the concept). Even Gemini could not help me out. It’s a loss, but a beautiful one. I learnt new JS concepts and I have tried at least. I left the codeblock in my repo just as reminder of that lesson. During the session I also: Added 5 more posts to the organization.html Updated the image links so we can see them online Removed some README.md dispalys that did not fit me Adjusted the links to like the posts and remove the false “Buy” links Removed the “Get yours here lines to make the interface better I am not abandoning the possibility of adding another JS animation or just an implementation. I keep up!
You remember when I said all the stuffs in my website were mostly what people know about ? Well, I added more stuffs than just shoes…again Today I added a section called “Sports Daily”. It features some of the sport tools that Nike produces like the balls. I started introducing the Soccer balls (using soccer for my Americans buddies :D) and the Basket balls. The interface is not yet operational so, if you’ve any suggestions to better it I am full ears. It was so much effort to search for all the balls and writing the text based on the official data set. All the text written here is human written, or copied from an official data set. During this session I also: Added more posts to the other pages that I felt really light and does not create the illusion of feed. As always, constructive feedback is welcomed. I will push these modifs in the repo soon.
Get Prestige out of the equation. What people buy is the story! When during the researches for the different items, I often see how there is a whole story behind each shoe, making it even more valuable. And I taught, why not have a section dedicated to Nike’s story? At first I thought that every knew about those stories, but after a small survey (less than a 1000 people), only ~17% knew about this. I went on and did this beautiful “Genesis”. I want to note that I am trying as much as possible to reduce AI text, as it was one of the review critics. So, the section is 100% AI free text and the total AI text is now less than 10% and I am very proud of that :D. During this coding session, I also: Added another group of posts for hydrating bottles Fixed some image bugs that failed to display when I went online Here is a call for all people reaching up to here. I am trying to correct all the typos errors in the site, and I need your help for that. Please take a minute to just check a single page and share with people you know. This post will make more than 20 views and I am sure we can make it to find any error. Input them in the comments, TIA. Click here
The results will reflect the dedication and work done on a task I am finally shipping my project for the second time under vote pool after more than +15 hours of constant improvement. I based this new Nike website on the feedbacks I read over and over to understand the reviewers point of view, the other great websites here in stardance and my own introspection. I won’t say much as today was entirely dedicated to debugging the code and correcting UI. Thanks to all those who helped found the spelling errors and those who followed the progression of my work up to this stage. I had a 5.50x last ship, so I am expecting much more. Keep up and Aspire greatness!
Ships:
Hello guys, I made a website to presents Nike’s products. The websites does feature only shoes for now, and is made of 3 active pages (the landing, the shoe section and the collaborations) The greatest challenge was the CSS. Having this done when I had still very little experience with CSS was difficult. But the most difficult to do was surely the animation with the javaScript code block. I literally had to ask advice from 15+ peers to get it ready for ship. Nevertheless, that is also one my top fulfilling achievements. I am also proud of how the colors change with the product displayed. Oh, I almost forgot! Click on the small swoosh in the nav bar to go back to landing page, and on the big one to change theme.
To the previous ship, I added more posts to the feed to make it more compelling to scroll through and a JS animation to change the theme of the landing page. I added two sections to the shoe page: In the first, you can see the releases from Converse, as it is a subbranch of Nike. The second concerns the releases from the Air Jordan line. Writing the code for the animation was very complex, as I had to go and learn back some concepts. That is why that index.html took me so much time. Just for a single animation T~T. Also, finding the exact image and text for the post was very tiring. Now the feed is much more fulfilling, to read and I’m so happy with that. Moreover, the diversity with the converse and Jordan makes it more satisfying. Something I advise when testing, click the swoosh on the landing page.
I corrected all the errors from the first ship in voting pool, to make it more polished again and have a much more better UI. The most challenging part was to go and learn some concepts that I used here especially JS. It was tedious, an as school started again it did not help. To test the project you just have to click on the Try project link. For those on mobile devices, I advise you to set your browser to desktop mode and turn it landscape for maximal experience I’m very proud of the UI and to see how far I went with this project is so fulfilling....
|
1792993969.177703
|
1793080369.177703
|
|
43360
|
WebOS by @Zeti_1223 | Stardance
|
Zeti_1223
|
3
|
2.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T20:27:50Z", "hours": 1.0, "multiplier": 7.39, "payout": 4, "blessing": "neutral", "text": "Things I did since WebOS 1: Added 3 new apps (terminal, calendar, resources) Added customizable desktop (with movable icons) Added terminal commands (try neofetch) Added wallpaper (matrix like)", "repo": "https://github.com/zeti1223/WebOS", "demo": "https://zeti1223.github.io/WebOS/"}, {"ship_num": 2, "ts": "2026-08-05T20:05:35Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I mad 2 new devlogs: new notepad app new about app and much more", "repo": "https://github.com/zeti1223/WebOS", "demo": "https://zeti1223.github.io/WebOS/"}, {"ship_num": 3, "ts": "2026-08-03T11:21:32Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple webos with mine sweeper and a dark mode switch and a clock.", "repo": "https://github.com/zeti1223/WebOS", "demo": "https://zeti1223.github.io/WebOS/"}]...
|
[{"post_id": 42575, "ts": "202 [{"post_id": 42575, "ts": "2026-08-07T12:10:43Z", "hours": 0.2897, "text": "v3.2: Added background"}, {"post_id": 42103, "ts": "2026-08-06T17:49:30Z", "hours": 0.3089, "text": "Added 3 new apps (terminal, calendar, resources) Added customizable desktop Added terminal commands But, hacakatime didn’t logged properly I worked on these features 2h+"}, {"post_id": 41528, "ts": "2026-08-05T19:52:56Z", "hours": 0.3033, "text": "Added markdown formatting to notepad"}, {"post_id": 40373, "ts": "2026-08-03T20:39:20Z", "hours": 0.4264, "text": "Recreated the website from zero (hackatime didn’t logged properly, sorry)"}, {"post_id": 40012, "ts": "2026-08-03T11:13:59Z", "hours": 0.3661, "text": "It works"}]...
|
Title: WebOS by @Zeti_1223 | Stardance
Devlogs:
I Title: WebOS by @Zeti_1223 | Stardance
Devlogs:
It works
Recreated the website from zero (hackatime didn’t logged properly, sorry)
Added markdown formatting to notepad
Added 3 new apps (terminal, calendar, resources) Added customizable desktop Added terminal commands But, hacakatime didn’t logged properly I worked on these features 2h+
v3.2: Added background
Ships:
I made a simple webos with mine sweeper and a dark mode switch and a clock.
I mad 2 new devlogs: new notepad app new about app and much more
Things I did since WebOS 1: Added 3 new apps (terminal, calendar, resources) Added customizable desktop (with movable icons) Added terminal commands (try neofetch) Added wallpaper (matrix like)...
|
1792982908.540218
|
1793069308.540218
|