|
55048
|
My awesome macropad! by @dayumn | Stardance
|
dayumn
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @dayumn | Stardance
|
1793137734.087613
|
1793742534.087613
|
|
54097
|
easy calculator by @lukas_56376 | Stardance
|
lukas_56376
|
1
|
1.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-25T09:42:45Z", "hours": 1.0, "multiplier": 1.14, "payout": 1, "blessing": "neutral", "text": "Hey, this is an easy calculator with some music, sound effects and easter egg (more on route). Was very nice almost to none AI usage and was nice to learn some JS!", "repo": "https://github.com/Lukas-56376/Easy-Calculator", "demo": "https://lukas-56376.github.io/Easy-Calculator/"}]...
|
[{"post_id": 54352, "ts": "202 [{"post_id": 54352, "ts": "2026-08-25T09:41:17Z", "hours": 1.2631, "text": "The calculator is finished with music, sound effects and one easter egg (look in README)"}]...
|
Title: easy calculator by @lukas_56376 | Stardance Title: easy calculator by @lukas_56376 | Stardance
Devlogs:
The calculator is finished with music, sound effects and one easter egg (look in README)
Ships:
Hey, this is an easy calculator with some music, sound effects and easter egg (more on route). Was very nice almost to none AI usage and was nice to learn some JS!...
|
1792878533.497067
|
1793742533.497067
|
|
30581
|
STELLAR by @sarveshwaran_k2008 | Stardance
|
sarveshwaran_k2008
|
1
|
3.3
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T16:20:09Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Stellar HUD, a browser-based orbital command center that transforms a standard new tab page into a tactical, sci-fi dashboard tracking live ISS telemetry, local Open-Meteo weather, and NASA’s daily imagery alongside my system’s battery and network diagnostics. My biggest development challenges were resolving nasty layout collisions where widgets were being pushed completely off the screen, fixing a fractured layout height, debugging a crashed JavaScript file, and figuring out the Vite deployment pipeline to correctly host the build on GitHub Pages. I am incredibly proud of successfully building a fully interactive productivity suite out of vanilla web tech, complete with an auto-saving localStorage scratchpad, a custom Pomodoro focus timer, a live ambient audio stream, and a flashing crimson “System Lockdown” override sequence. If you want to test out my project, just know that you need to allow browser GPS permissions so the atmospherics can initialize, click the [ INITIATE AUDIO ] button to trigger the ambient stream, and toggle the [ LOCKDOWN ] button to experience the full red-alert visual override.", "repo": "https://github.com/Sarveshwaran20/stellar-hud", "demo": "https://sarveshwaran20.github.io/stellar-hud/"}]...
|
[{"post_id": 22869, "ts": "202 [{"post_id": 22869, "ts": "2026-07-05T14:28:47Z", "hours": 0.3044, "text": "Well, the reviewers said that I have used AI to generate my Readme and I do agree with that but I had used my own tool an VS code extension that I had built to specially write my README according to the Stardance guide to write a README."}, {"post_id": 22224, "ts": "2026-07-04T16:15:17Z", "hours": 2.0944, "text": "Following a near-fatal system crash where my layout fractured into a black void and the JavaScript died, I am thrilled to report that Stellar HUD v1.0 is officially live and fully operational on GitHub Pages. Over the last operational cycle, I completely overhauled the dashboard’s architecture using a robust CSS Grid layout that gracefully preserves screen real estate, while condensing the top bar into a unified flexbox control module that holds the search bar, the audio comms, and a newly relocated terminal-style Primary Directive. On the hardware and telemetry front, I successfully implemented native browser geolocation to pull seamless local weather data via the Open-Meteo API, integrated a real-time tracking algorithm that pings the ISS orbital velocity coordinates every three seconds, and wired up a custom 25-minute Pomodoro focus timer alongside an auto-saving localStorage mission log. Capping off this major update is a global, CSS @keyframes driven “System Lockdown” protocol that turns the entire dashboard into a flashing crimson alarm state, successfully taking the project from a broken localhost build to a production-ready, highly reactive developer workspace."}, {"post_id": 22118, "ts": "2026-07-04T12:28:59Z", "hours": 1.0553, "text": "For this sprint, I built a futuristic, deep-space themed “New Tab” dashboard using Vite and Vanilla JS. I successfully integrated the NASA APOD API to fetch daily telemetry and high-def imagery, alongside a custom Google search command console and network relay bookmarks. The biggest hurdles were environment setup—specifically fixing a missing npm path, bypassing a strict Windows PowerShell execution policy, and manually writing a missing package.json file to get the build working. I successfully resolved these blockers, secured my API key using environment variables and GitHub Secrets, and deployed the live app. Next up: implementing a local storage “Primary Directive” to track daily objectives!"}]...
|
Title: STELLAR by @sarveshwaran_k2008 | Stardance
Title: STELLAR by @sarveshwaran_k2008 | Stardance
Devlogs:
For this sprint, I built a futuristic, deep-space themed “New Tab” dashboard using Vite and Vanilla JS. I successfully integrated the NASA APOD API to fetch daily telemetry and high-def imagery, alongside a custom Google search command console and network relay bookmarks. The biggest hurdles were environment setup—specifically fixing a missing npm path, bypassing a strict Windows PowerShell execution policy, and manually writing a missing package.json file to get the build working. I successfully resolved these blockers, secured my API key using environment variables and GitHub Secrets, and deployed the live app. Next up: implementing a local storage “Primary Directive” to track daily objectives!
Following a near-fatal system crash where my layout fractured into a black void and the JavaScript died, I am thrilled to report that Stellar HUD v1.0 is officially live and fully operational on GitHub Pages. Over the last operational cycle, I completely overhauled the dashboard’s architecture using a robust CSS Grid layout that gracefully preserves screen real estate, while condensing the top bar into a unified flexbox control module that holds the search bar, the audio comms, and a newly relocated terminal-style Primary Directive. On the hardware and telemetry front, I successfully implemented native browser geolocation to pull seamless local weather data via the Open-Meteo API, integrated a real-time tracking algorithm that pings the ISS orbital velocity coordinates every three seconds, and wired up a custom 25-minute Pomodoro focus timer alongside an auto-saving localStorage mission log. Capping off this major update is a global, CSS @keyframes driven “System Lockdown” protocol that turns the entire dashboard into a flashing crimson alarm state, successfully taking the project from a broken localhost build to a production-ready, highly reactive developer workspace.
Well, the reviewers said that I have used AI to generate my Readme and I do agree with that but I had used my own tool an VS code extension that I had built to specially write my README according to the Stardance guide to write a README.
Ships:
I built Stellar HUD, a browser-based orbital command center that transforms a standard new tab page into a tactical, sci-fi dashboard tracking live ISS telemetry, local Open-Meteo weather, and NASA’s daily imagery alongside my system’s battery and network diagnostics. My biggest development challenges were resolving nasty layout collisions where widgets were being pushed completely off the screen, fixing a fractured layout height, debugging a crashed JavaScript file, and figuring out the Vite deployment pipeline to correctly host the build on GitHub Pages. I am incredibly proud of successfully building a fully interactive productivity suite out of vanilla web tech, complete with an auto-saving localStorage scratchpad, a custom Pomodoro focus timer, a live ambient audio stream, and a flashing crimson “System Lockdown” override sequence. If you want to test out my project, just know that you need to allow browser GPS permissions so the atmospherics can initialize, click the [ INITIATE AUDIO ] button to trigger the ambient stream, and toggle the [ LOCKDOWN ] button to experience the full red-alert visual override....
|
1793656132.9422982
|
1793742532.9422982
|
|
57488
|
Da Snake Game by @aarush_kakade | Stardance
|
aarush_kakade
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T20:14:39Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made this hangryyyy snake game, (It reminds me of myself). Do try not to crash into yourself or the walls. Fixed the movement, collision detection, scoring, and high-score saving to behave without the snake randomly deciding to ruin my entire run. It’s responsive, works with keyboard controls and mobile buttons, and is actually playable, good enough for the first ship. GO HAVE FUN!!!", "repo": "https://github.com/aarushkakade/Da-Snake-Game", "demo": "https://aarushkakade.github.io/Da-Snake-Game/"}]...
|
[{"post_id": 62443, "ts": "202 [{"post_id": 62443, "ts": "2026-09-05T19:48:52Z", "hours": 1.0283, "text": "Sup weirdos Added collision detection and food spawning to the snake game, so now the snake actually dies when it hits walls or itself and grows when it eats.Spent an hour wrestling a bug where food kept spawning on top of the snake body,fixed it by looping until the new position didn’t overlap any segment,then cleaned up the score counter so it increments properly. I’m thinking the first ship is readyyyyyy. ( It’s very rough, but okayish)"}, {"post_id": 60364, "ts": "2026-09-02T17:31:18Z", "hours": 1.2053, "text": "HALLO PEOPLE :) I spun up the skeleton for snake game: HTML board, CSS that doesn’t make my phone cry, and a basic “press arrow, snake moves” prototype. my snake was teleporting instead of gliding,until I realized I’d mixed up the timing for updates and rendering. I switched to a fixed-interval tick so the snake actually crawls instead of glitching through walls, and now I have to teach it not to eat itself, adding food, score, and those on,screen buttons so I can play like a civilized human."}]...
|
Title: Da Snake Game by @aarush_kakade | Stardance Title: Da Snake Game by @aarush_kakade | Stardance
Devlogs:
HALLO PEOPLE :) I spun up the skeleton for snake game: HTML board, CSS that doesn’t make my phone cry, and a basic “press arrow, snake moves” prototype. my snake was teleporting instead of gliding,until I realized I’d mixed up the timing for updates and rendering. I switched to a fixed-interval tick so the snake actually crawls instead of glitching through walls, and now I have to teach it not to eat itself, adding food, score, and those on,screen buttons so I can play like a civilized human.
Sup weirdos Added collision detection and food spawning to the snake game, so now the snake actually dies when it hits walls or itself and grows when it eats.Spent an hour wrestling a bug where food kept spawning on top of the snake body,fixed it by looping until the new position didn’t overlap any segment,then cleaned up the score counter so it increments properly. I’m thinking the first ship is readyyyyyy. ( It’s very rough, but okayish)
Ships:
Made this hangryyyy snake game, (It reminds me of myself). Do try not to crash into yourself or the walls. Fixed the movement, collision detection, scoring, and high-score saving to behave without the snake randomly deciding to ruin my entire run. It’s responsive, works with keyboard controls and mobile buttons, and is actually playable, good enough for the first ship. GO HAVE FUN!!!...
|
1792878532.660317
|
1793742532.660317
|
|
49750
|
Orbit simulator by @SHREYANS | Stardance
|
SHREYANS
|
1
|
34.44
|
225
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-27T10:14:45Z", "hours": 34.0, "multiplier": 6.69, "payout": 225, "blessing": "neutral", "text": "I FINALLY built an interactive Rocket Launch Simulator that models thrust, fuel, gravity, drag, atmosphere, and orbital velocity. The hardest part was combining realistic physics with a smooth animated trajectory(In 2D ofc… 3D would be quite difficult). I love that this project uses complex rocket equations into something visual and interactive and also gives a quick revision of PROJECTILE MOTION. Be sure to leave a review on as to how was the experience and how I can improve it and If you really understood from the “How it Works” section", "repo": "https://github.com/Shreyans800/Stardance", "demo": "https://shreyans800.github.io/Stardance/"}]...
|
[{"post_id": 55635, "ts": "202 [{"post_id": 55635, "ts": "2026-08-27T16:25:20Z", "hours": 0.44, "text": "They said that I cant use Streamlit. So now I have to shift my entire front and back end to HTML CSS AND JAVA. GREAT! (Never used java)"}, {"post_id": 55459, "ts": "2026-08-27T10:09:09Z", "hours": 5.7236, "text": "FINALLY !!! DEPLOYED!!!"}, {"post_id": 55348, "ts": "2026-08-27T04:07:29Z", "hours": 6.2467, "text": "okay, 1 last time before deploying… Worked hard and got the result but I could only run the animation in 2D using plotly and Base64 and IO. I am working on another one which uses a 3D model which is also a sequel to this (yes now an orbit simulator … the rocket has released the orbiter) which I will directly deploy on STREAMLIT! (link- https://orbitsimulator.streamlit.app )"}, {"post_id": 55074, "ts": "2026-08-26T14:41:43Z", "hours": 6.2619, "text": "Got the first simulation UP AND RUNNING… (literally too) You can think of it as projectile motion to be honest but all the parameters are customizable (eg- fuel mass, nozzle area, drag, burn time etc.)"}, {"post_id": 54433, "ts": "2026-08-25T13:22:25Z", "hours": 8.7331, "text": "Finally the Major updates and Simulations are done !!!! Now small aesthetic changes left!!"}, {"post_id": 52804, "ts": "2026-08-23T04:42:11Z", "hours": 6.3311, "text": "So now I have figured out the basic layout of the page and the mechanics of simulation… Quite some coding"}, {"post_id": 48337, "ts": "2026-08-16T17:26:46Z", "hours": 0.3792, "text": "Devlog #1 — Getting Started with the Rocket Launch Simulator 🚀 Today I started building my Rocket Launch Simulator. I set up the project and began developing the core simulation in Python. I also set up the project structure and Git repository so I can keep track of the development as I build. The first version focuses on the basic physics needed for a rocket launch, including thrust, fuel consumption, gravity, atmospheric drag, acceleration, velocity, and altitude. Next, I plan to improve the flight model and add more visualizations so the launch can be explored interactively. Progress: Project setup + initial rocket physics implementation."}]...
|
Title: Orbit simulator by @SHREYANS | Stardance
D Title: Orbit simulator by @SHREYANS | Stardance
Devlogs:
Devlog #1 — Getting Started with the Rocket Launch Simulator 🚀 Today I started building my Rocket Launch Simulator. I set up the project and began developing the core simulation in Python. I also set up the project structure and Git repository so I can keep track of the development as I build. The first version focuses on the basic physics needed for a rocket launch, including thrust, fuel consumption, gravity, atmospheric drag, acceleration, velocity, and altitude. Next, I plan to improve the flight model and add more visualizations so the launch can be explored interactively. Progress: Project setup + initial rocket physics implementation.
So now I have figured out the basic layout of the page and the mechanics of simulation… Quite some coding
Finally the Major updates and Simulations are done !!!! Now small aesthetic changes left!!
Got the first simulation UP AND RUNNING… (literally too) You can think of it as projectile motion to be honest but all the parameters are customizable (eg- fuel mass, nozzle area, drag, burn time etc.)
okay, 1 last time before deploying… Worked hard and got the result but I could only run the animation in 2D using plotly and Base64 and IO. I am working on another one which uses a 3D model which is also a sequel to this (yes now an orbit simulator … the rocket has released the orbiter) which I will directly deploy on STREAMLIT! (link- https://orbitsimulator.streamlit.app )
FINALLY !!! DEPLOYED!!!
They said that I cant use Streamlit. So now I have to shift my entire front and back end to HTML CSS AND JAVA. GREAT! (Never used java)
Ships:
I FINALLY built an interactive Rocket Launch Simulator that models thrust, fuel, gravity, drag, atmosphere, and orbital velocity. The hardest part was combining realistic physics with a smooth animated trajectory(In 2D ofc… 3D would be quite difficult). I love that this project uses complex rocket equations into something visual and interactive and also gives a quick revision of PROJECTILE MOTION. Be sure to leave a review on as to how was the experience and how I can improve it and If you really understood from the “How it Works” section...
|
1792878531.8610516
|
1793742531.8610516
|
|
57469
|
my os by @OrderDanie | Stardance
|
OrderDanie
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T15:38:32Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made an os, instead of making a very fancy one, i went with minimalistic, smooth, none dustractive, it was fun to make, since it only needed balck n white, there wasnt much to do", "repo": "https://github.com/OrderDanie/wackOs", "demo": "https://monoos.netlify.app"}]...
|
[{"post_id": 60279, "ts": "202 [{"post_id": 60279, "ts": "2026-09-02T15:32:58Z", "hours": 0.3775, "text": "check this out, cool ahh ui"}, {"post_id": 60237, "ts": "2026-09-02T14:05:36Z", "hours": 0.5944, "text": "BEHOLD, THE IFS"}, {"post_id": 60216, "ts": "2026-09-02T13:27:26Z", "hours": 0.4719, "text": "just finished the css and ui work, time for the worst part T-T, JAVA"}]...
|
Title: my os by @OrderDanie | Stardance
Devlogs:
Title: my os by @OrderDanie | Stardance
Devlogs:
just finished the css and ui work, time for the worst part T-T, JAVA
BEHOLD, THE IFS
check this out, cool ahh ui
Ships:
i made an os, instead of making a very fancy one, i went with minimalistic, smooth, none dustractive, it was fun to make, since it only needed balck n white, there wasnt much to do...
|
1792878531.01299
|
1793742531.01299
|
|
55047
|
My awesome macropad! by @rizzwan | Stardance
|
rizzwan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @rizzwan | Stardanc Title: My awesome macropad! by @rizzwan | Stardance...
|
1793137730.2723598
|
1793742530.2723598
|
|
57468
|
my site by @OrderDanie | Stardance
|
OrderDanie
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T16:26:03Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made my OWN website in black n white astetics, using html js and css, in one singular file, tho just combined, but cool", "repo": "https://github.com/OrderDanie/port", "demo": "https://admirable-starlight-f5725f.netlify.app/"}]...
|
[{"post_id": 61612, "ts": "202 [{"post_id": 61612, "ts": "2026-09-04T16:24:20Z", "hours": 0.5342, "text": "IM DOOONE"}]...
|
Title: my site by @OrderDanie | Stardance
Devlogs Title: my site by @OrderDanie | Stardance
Devlogs:
IM DOOONE
Ships:
i made my OWN website in black n white astetics, using html js and css, in one singular file, tho just combined, but cool...
|
1792878530.1870337
|
1793742530.1870337
|
|
50245
|
my personal site by @mabu | Stardance
|
mabu
|
2
|
6.0
|
6
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-19T19:12:22Z", "hours": 4.0, "multiplier": 1.6, "payout": 6, "blessing": "neutral", "text": "This is my personal website i tried to make it look better than the first version and i have planned to do more to this later hope u guys like it", "repo": "https://github.com/mabu100/site-1-", "demo": "https://mabu100.github.io/site-1-/"}, {"ship_num": 2, "ts": "2026-08-17T16:32:59Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a simple and ez website i made abt me i hope u guys like it and i want to add more in the future", "repo": "https://github.com/mabu100/site-1-", "demo": "https://mabu100.github.io/site-1-/"}]...
|
[{"post_id": 50550, "ts": "202 [{"post_id": 50550, "ts": "2026-08-19T19:11:12Z", "hours": 3.6133, "text": "Tried to make my personal site look better i have also added glow effect and contact will try to make it better in a few days"}, {"post_id": 48866, "ts": "2026-08-17T12:56:34Z", "hours": 1.5406, "text": "I just made a new version of my web page"}]...
|
Title: my personal site by @mabu | Stardance
Devl Title: my personal site by @mabu | Stardance
Devlogs:
I just made a new version of my web page
Tried to make my personal site look better i have also added glow effect and contact will try to make it better in a few days
Ships:
This is a simple and ez website i made abt me i hope u guys like it and i want to add more in the future
This is my personal website i tried to make it look better than the first version and i have planned to do more to this later hope u guys like it...
|
1792878529.371056
|
1793742529.371056
|
|
14888
|
Mission Control Bot by @Kvin | Stardance
|
Kvin
|
1
|
2.0
|
12
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-11T02:06:03Z", "hours": 2.0, "multiplier": 5.98, "payout": 12, "blessing": "neutral", "text": "Mission Control - a NASA/space command centre for Slack Mission Control is a Slack bot that pulls real space data straight into the workspace. Four slash commands, all prefixed mc: /mc-apod - NASA’s Astronomy Picture of the Day, the actual image with a trimmed caption and credit /mc-iss - live position of the International Space Station: latitude, longitude, altitude and velocity, with a link to see it on a map /mc-mars - the freshest raw photos off the Perseverance rover /mc-crew - everyone who’s currently in space right now, with their craft and agency Felt very on theme for a NASA-backed event, so I leaned all the way into it. Everything’s built with Block Kit - headers, image blocks, context lines - and posts in-channel so the whole feed gets the photos, not just plain text. What was challenging: the APOD command. It kept failing intermittently with a 503 and I couldn’t work out why at first, since the other three commands were fine. Turned out NASA’s endpoint just has transient hiccups. The fix was adding retry-with-backoff to the HTTP layer so a one-off upstream wobble retries quietly instead of showing an error. The other detour was /mc-mars: the classic api.nasa.gov Mars photos endpoint is dead right now (returns a Heroku “no such app”), so I switched to pulling Perseverance’s latest raw images straight from NASA’s own mars.nasa.gov feed. What I’m proud of: that it actually renders real space imagery live in Slack and feels like a little mission console. Watching the ISS tick along at 27,000+ km/h, or APOD dropping a full nebula photo into the channel - it came together into something I like actually using. To test it: it’s live in the Hack Club Slack - just type any of the commands in a channel. Try /mc-iss first and you’ll get the live position right away. /mc-crew shows who’s in orbit, /mc-apod drops today’s NASA photo, /mc-mars pulls the latest rover shots!", "repo": "https://github.com/Kvin-21/Slack-Mission-Control-Bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0B9YRP9G0M"}]...
|
[{"post_id": 6141, "ts": "2026 [{"post_id": 6141, "ts": "2026-06-10T10:16:30Z", "hours": 2.0722, "text": "Mission Control - Devlog #1 Well, I messed up with the projects, so I had to delete my devlogs. The actual time logged for this 1st devlog was 29m 44s I Started creating a Slack bot called Mission Control. The idea is a little space-themed command centre that pulls NASA + ISS data right into Slack. Felt very on theme for a NASA-backed event so I went for it. I’ve set up the Slack app from scratch, grabbed the two tokens, and registered four slash commands, all prefixed mc- so they don’t clash with the dozen other bots already in the workspace: /mc-apod → Astronomy Picture of the Day /mc-iss → live ISS position /mc-mars → Mars rover photos /mc-crew → who’s actually in space right now. Right now every command just replies with plain text. I wanted the whole thing wired end-to-end and testable first, so if something breaks later I know it’s the API layer. Tested all four in Slack and they all replied (screenshot below). So commands register, the bot connects, and Slack and the bot are talking. Next up: splitting the commands into their own modules and actually hitting the APIs - NASA’s APOD, wheretheiss.at for the ISS, the Mars rover photos endpoint, and rebuilding the replies with Block Kit so they show real images instead of placeholder text Mission Control - Devlog #2 All four commands now reach live data and render proper Block Kit instead of placeholder text, so the replies actually look like something now. Each command’s wrapped in try/catch too, so if an API has a wobble it posts a friendly note instead of taking the whole bot down. /mc-iss is my favourite right now, it pulls the live ISS position from wheretheiss.at and lays it out : latitude, longitude, altitude, velocity, plus whether it’s currently in daylight or eclipsed. /mc-crew lists everyone actually in space right now with their role, agency and craft. /mc-mars gave me a detour. The classic api.nasa.gov Mars photos endpoint is dead at the moment (just returns a “no such app” error), so I switched to pulling Perseverance’s freshest raw images straight from NASA’s mars.nasa.gov feed instead. The one that’s not happy yet is /mc-apod. NASA’s Astronomy Picture of the Day is the one I most want working since it’s the best output, but right now it’s hitting the catch block: “Couldn’t reach NASA’s picture of the day just now.” So the error handling is doing its job, but something in that request path is off. Actual time logged - 54m 19s"}]...
|
Title: Mission Control Bot by @Kvin | Stardance
D Title: Mission Control Bot by @Kvin | Stardance
Devlogs:
Mission Control - Devlog #1 Well, I messed up with the projects, so I had to delete my devlogs. The actual time logged for this 1st devlog was 29m 44s I Started creating a Slack bot called Mission Control. The idea is a little space-themed command centre that pulls NASA + ISS data right into Slack. Felt very on theme for a NASA-backed event so I went for it. I’ve set up the Slack app from scratch, grabbed the two tokens, and registered four slash commands, all prefixed mc- so they don’t clash with the dozen other bots already in the workspace: /mc-apod → Astronomy Picture of the Day /mc-iss → live ISS position /mc-mars → Mars rover photos /mc-crew → who’s actually in space right now. Right now every command just replies with plain text. I wanted the whole thing wired end-to-end and testable first, so if something breaks later I know it’s the API layer. Tested all four in Slack and they all replied (screenshot below). So commands register, the bot connects, and Slack and the bot are talking. Next up: splitting the commands into their own modules and actually hitting the APIs - NASA’s APOD, wheretheiss.at for the ISS, the Mars rover photos endpoint, and rebuilding the replies with Block Kit so they show real images instead of placeholder text Mission Control - Devlog #2 All four commands now reach live data and render proper Block Kit instead of placeholder text, so the replies actually look like something now. Each command’s wrapped in try/catch too, so if an API has a wobble it posts a friendly note instead of taking the whole bot down. /mc-iss is my favourite right now, it pulls the live ISS position from wheretheiss.at and lays it out : latitude, longitude, altitude, velocity, plus whether it’s currently in daylight or eclipsed. /mc-crew lists everyone actually in space right now with their role, agency and craft. /mc-mars gave me a detour. The classic api.nasa.gov Mars photos endpoint is dead at the moment (just returns a “no such app” error), so I switched to pulling Perseverance’s freshest raw images straight from NASA’s mars.nasa.gov feed instead. The one that’s not happy yet is /mc-apod. NASA’s Astronomy Picture of the Day is the one I most want working since it’s the best output, but right now it’s hitting the catch block: “Couldn’t reach NASA’s picture of the day just now.” So the error handling is doing its job, but something in that request path is off. Actual time logged - 54m 19s
Ships:
Mission Control - a NASA/space command centre for Slack Mission Control is a Slack bot that pulls real space data straight into the workspace. Four slash commands, all prefixed mc: /mc-apod - NASA’s Astronomy Picture of the Day, the actual image with a trimmed caption and credit /mc-iss - live position of the International Space Station: latitude, longitude, altitude and velocity, with a link to see it on a map /mc-mars - the freshest raw photos off the Perseverance rover /mc-crew - everyone who’s currently in space right now, with their craft and agency Felt very on theme for a NASA-backed event, so I leaned all the way into it. Everything’s built with Block Kit - headers, image blocks, context lines - and posts in-channel so the whole feed gets the photos, not just plain text. What was challenging: the APOD command. It kept failing intermittently with a 503 and I couldn’t work out why at first, since the other three commands were fine. Turned out NASA’s endpoint just has transient hiccups. The fix was adding retry-with-backoff to the HTTP layer so a one-off upstream wobble retries quietly instead of showing an error. The other detour was /mc-mars: the classic api.nasa.gov Mars photos endpoint is dead right now (returns a Heroku “no such app”), so I switched to pulling Perseverance’s latest raw images straight from NASA’s own mars.nasa.gov feed. What I’m proud of: that it actually renders real space imagery live in Slack and feels like a little mission console. Watching the ISS tick along at 27,000+ km/h, or APOD dropping a full nebula photo into the channel - it came together into something I like actually using. To test it: it’s live in the Hack Club Slack - just type any of the commands in a channel. Try /mc-iss first and you’ll get the live position right away. /mc-crew shows who’s in orbit, /mc-apod drops today’s NASA photo, /mc-mars pulls the latest rover shots!...
|
1792878528.5583696
|
1793742528.5583696
|
|
40487
|
"Exolume" by @Jahongirilashov12 | Stardanc "Exolume" by @Jahongirilashov12 | Stardance...
|
Jahongirilashov12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: "Exolume" by @Jahongirilashov12 | S Title: "Exolume" by @Jahongirilashov12 | Stardance...
|
1793137727.93844
|
1793742527.93844
|
|
51457
|
Paste Bench by @XDabXking | Stardance
|
XDabXking
|
2
|
12.0
|
104
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T15:50:49Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Js getting my 3h worth of time, the projects out alr so take a took at it", "repo": "https://github.com/madhavsingla2013-dev/Paste-Bench", "demo": "https://paste-bench.netlify.app/"}, {"ship_num": 2, "ts": "2026-08-27T08:50:00Z", "hours": 9.0, "multiplier": 11.61, "payout": 104, "blessing": "neutral", "text": "I created Paste Bench, a single HTML file containing 7 tools to address minor text processing tasks: cleaning up PDF extracts, list formatting conversion, casing transformation, word count, flashcards, group picking, and a focus timer. The most challenging task was undoubtedly the flashcard as not only did I have to create a system that would allow the user to shuffle and retest themselves, but I also wanted the cards that they got wrong to appear more frequently than those that they got right. It took some time to design the algorithm so that the cards that the user mastered would drop out of the rotation while the ones that they struggled with would persist. The floating pop-out timer was also tricky to build, since it relies on an experimental API and required synchronizing the timer state between two separate windows. However, I think that the dynamic flashcard system is the most inventive part of the tool. It transforms the simplistic card flipping from the earlier iterations into a proper spaced repetition memory trainer, giving the user an informative summary at the end. They can see how much time they spent on the cards and what mistakes they made. For testing purposes, everything is contained within a single HTML file that does not require any setup or logins. I prepared a TESTING.md file that has sample content to test each tab, should the user not want to type their own information. However, to use the floating pop-out timer, one has to use Chrome or Edge browsers, as other browsers do not support the necessary experimental API.", "repo": "https://github.com/madhavsingla2013-dev/Paste-Bench", "demo": "https://paste-bench.netlify.app/"}]...
|
[{"post_id": 57582, "ts": "202 [{"post_id": 57582, "ts": "2026-08-29T19:33:12Z", "hours": 1.9183, "text": "SO, i changed few descriptions bc i got flagged for using more the 30% of ai, the person testing didn’t even check the full website :C, I also found a glitch in the timer and fixed it. (js found abt the emojis, fire)"}, {"post_id": 56839, "ts": "2026-08-28T19:46:21Z", "hours": 0.7364, "text": "I shortened the code to 2080 lines and rewrote some parts of the code"}, {"post_id": 55221, "ts": "2026-08-26T20:05:13Z", "hours": 2.5869, "text": "Fixed the arrow glitch and improved flashcards, now you type your terms, hit start, then study. Also added a repeat system (meaning it shows cards you got wrong until you get it correct) Then gives you a summary of time taken and the questions you got wrong. Fixed few bugs with the timer, AND I’m still thinking about whether to add the ai bot bc if i add it, it will help people improve there grades for free but im lazy so ya if you want me to add it comment it il do it."}, {"post_id": 54723, "ts": "2026-08-25T20:02:41Z", "hours": 2.2814, "text": "I made some improvements to the timer and the pop up window, i removed citations as i don’t think people will use them often and replaced it with flip cards, BUT there’s a lot of glitches like the arrows so need to fix that and other stuff so ya and i was planning to add an ai bot to help in this but I’m not sure so gonna ask my friends if i should add it or not(if i do add ai, i need to google how to bc i don’t know how to)"}, {"post_id": 54002, "ts": "2026-08-24T18:57:26Z", "hours": 2.1722, "text": "Big update bc i had free time, I added more tools in each tab. Dewrap now strips HTML and URLs, Listify sorts and adds more formats, Case & Slug has 12 case styles now including alternating caps and reversed text. Also fixed a couple of bugs with the timer. (I have to type bc the ratings of my project echo{Go check it out})"}, {"post_id": 52577, "ts": "2026-08-22T19:14:38Z", "hours": 1.4961, "text": "Changed logo, added 4 new tabs - Word Count, Citations(Got this idea from my dad), Group Picker, and Study Timer(gonna try to make it so when you go to a new tab or smt is shows up as a pop up timer or smt) Gonna try to add more stuff in each tab and try fixing any bugs that come while waiting for my game echo to get get 12 more ratings (check it out, its fun trust me), i dont think people will acc read this much btw ✌️🥀"}, {"post_id": 52324, "ts": "2026-08-22T13:07:57Z", "hours": 0.3817, "text": "i added some ui and 3 tools, Dewrap fixes pasted PDF text, Listify turns a list into six formats; Case and Slug converts phrases into every naming convention instantly."}]...
|
Title: Paste Bench by @XDabXking | Stardance
Devl Title: Paste Bench by @XDabXking | Stardance
Devlogs:
i added some ui and 3 tools, Dewrap fixes pasted PDF text, Listify turns a list into six formats; Case and Slug converts phrases into every naming convention instantly.
Changed logo, added 4 new tabs - Word Count, Citations(Got this idea from my dad), Group Picker, and Study Timer(gonna try to make it so when you go to a new tab or smt is shows up as a pop up timer or smt) Gonna try to add more stuff in each tab and try fixing any bugs that come while waiting for my game echo to get get 12 more ratings (check it out, its fun trust me), i dont think people will acc read this much btw ✌️🥀
Big update bc i had free time, I added more tools in each tab. Dewrap now strips HTML and URLs, Listify sorts and adds more formats, Case & Slug has 12 case styles now including alternating caps and reversed text. Also fixed a couple of bugs with the timer. (I have to type bc the ratings of my project echo{Go check it out})
I made some improvements to the timer and the pop up window, i removed citations as i don’t think people will use them often and replaced it with flip cards, BUT there’s a lot of glitches like the arrows so need to fix that and other stuff so ya and i was planning to add an ai bot to help in this but I’m not sure so gonna ask my friends if i should add it or not(if i do add ai, i need to google how to bc i don’t know how to)
Fixed the arrow glitch and improved flashcards, now you type your terms, hit start, then study. Also added a repeat system (meaning it shows cards you got wrong until you get it correct) Then gives you a summary of time taken and the questions you got wrong. Fixed few bugs with the timer, AND I’m still thinking about whether to add the ai bot bc if i add it, it will help people improve there grades for free but im lazy so ya if you want me to add it comment it il do it.
I shortened the code to 2080 lines and rewrote some parts of the code
SO, i changed few descriptions bc i got flagged for using more the 30% of ai, the person testing didn’t even check the full website :C, I also found a glitch in the timer and fixed it. (js found abt the emojis, fire)
Ships:
I created Paste Bench, a single HTML file containing 7 tools to address minor text processing tasks: cleaning up PDF extracts, list formatting conversion, casing transformation, word count, flashcards, group picking, and a focus timer. The most challenging task was undoubtedly the flashcard as not only did I have to create a system that would allow the user to shuffle and retest themselves, but I also wanted the cards that they got wrong to appear more frequently than those that they got right. It took some time to design the algorithm so that the cards that the user mastered would drop out of the rotation while the ones that they struggled with would persist. The floating pop-out timer was also tricky to build, since it relies on an experimental API and required synchronizing the timer state between two separate windows. However, I think that the dynamic flashcard system is the most inventive part of the tool. It transforms the simplistic card flipping from the earlier iterations into a proper spaced repetition memory trainer, giving the user an informative summary at the end. They can see how much time they spent on the cards and what mistakes they made. For testing purposes, everything is contained within a single HTML file that does not require any setup or logins. I prepared a TESTING.md file that has sample content to test each tab, should the user not want to type their own information. However, to use the floating pop-out timer, one has to use Chrome or Edge browsers, as other browsers do not support the necessary experimental API.
Js getting my 3h worth of time, the projects out alr so take a took at it...
|
1792878527.7238207
|
1793742527.7238207
|
|
50158
|
Kazi by @Bianca | Stardance
|
Bianca
|
1
|
212.74
|
407
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-20T21:14:41Z", "hours": 30.0, "multiplier": 13.9, "payout": 407, "blessing": "neutral", "text": "What I made: Kazi connects skilled trade workers with customers who need their services, making the process faster and easier. Workers are electricians, plumbers, builders, welders, mechanics, and other professionals who create profiles, showcase their skills, and find relevant jobs. Customers can use Kazi to discover skilled workers, view their profiles, and find the right person for the work they need. The challenges I faced: The challenges I faced were setting up the Google API to allow for Google sign-up and making sure the frontend and backend were communicating. Additionally, making a polished, well-thought-out app with minimal bugs was another challenge. Things I accomplished that I am proud of: Before starting this challenge, using the terminal felt like a foreign language and I didn’t know why the backend and frontend had to be separate. Now I can confidently say that the terminal is my best friend, and I don’t need to watch YouTube tutorials on the difference between an API and an SDK. Things to know: On the demo the google sign in does not work only on emulators it does. Taking photos and contact via phone is not supported on the demo as well. Using th README file has a lot of additional tips. If you create an account even if you close the file will be saved in the database and you can log in, if you have trouble deleting the account you made email me the email you used and ill do it manually.", "repo": "https://github.com/PhantomJelly/Kazi-Cursor.git", "demo": "https://phantomjelly.github.io/Kazi-Cursor/"}]...
|
[{"post_id": 65589, "ts": "202 [{"post_id": 65589, "ts": "2026-09-10T20:37:40Z", "hours": 9.9253, "text": "Dev vlog 21 - I didnt like the first iteration of the subsriptions screen so I made it more personalised to the specific industry im targeting. I changed words like “Pro plan” to “Artisan plan” and “Free plan” to “Apprentice plan”. The reason there is some what space is because I’ll be adding some assets what I’m still designing in procreate and Lottie."}, {"post_id": 65015, "ts": "2026-09-09T20:11:12Z", "hours": 10.4989, "text": "Dev vlog 20 - Today I made the workers job screen more interactable and customizable. I’m going through day by day to improve each screen’s UI. I’m honestly quite happy with how the app is coming up even though I’ve only done 2 screens im slowly getting to a completed version 1."}, {"post_id": 64677, "ts": "2026-09-09T08:33:15Z", "hours": 10.4519, "text": "Dev vlog 19 - I added a pay wall on the worker account that limits theamount of jobs a worker can recieve and and the features they have. It costs $3.00 (I converted it) which is a small amount for the workers, I dont want it to be too high as in Namibia subscriptions is not something people are willing to pay. Especially low wage workers and unemployed people"}, {"post_id": 64413, "ts": "2026-09-08T19:39:24Z", "hours": 6.9683, "text": "Dev vlog 18 - I’ve been making some assets to use for the UI and testing the app to find more areas I’d like to add more features and animations."}, {"post_id": 63751, "ts": "2026-09-07T18:24:22Z", "hours": 9.5639, "text": "Dev vlog 17 - Hi I made good progress with the UI, I started with the splash screen and I’m working my way from there, the animation was a bit glitchy and i fexed the issue. Additionally, the letters were not lined up which was quite a task to do, i though it would be easier but when importing the animation it would keep changing it so I had to make tha letters separate to the animation. I used Mobbin to get references and I saw most we’re too flashy so i made mine simple but enjoyable. Next I’ll be working on the user onboardeing, im currently preparing a lot of assets as I want it to be interactive and unique."}, {"post_id": 62718, "ts": "2026-09-06T06:43:31Z", "hours": 9.8536, "text": "Dev vlog 16 - After adding the Didit verification the SQL database was not syncing, a had to make 2 separate databses to make it work, now im able to make an account again."}, {"post_id": 62449, "ts": "2026-09-05T19:59:59Z", "hours": 9.1511, "text": "Dev post 15 - Hey everyone, I spent the day improving the web experience for testers and you guys :). Im still having troubles with the google sign in but ill try and address it tomorrow. My favourite thing i did was limiting the web screen so that it gives more of that app feel."}, {"post_id": 61380, "ts": "2026-09-04T08:21:31Z", "hours": 10.3572, "text": "Dev post 14 - Hi everyone I spent the whole day polishing up Kazi, fixing bugs, and just improving the overall experience. Now im going to add more features I’m planning on adding a paywall to start making some income from this, and im now brainstorming the features I should add."}, {"post_id": 60515, "ts": "2026-09-02T22:09:05Z", "hours": 10.7911, "text": "Dev vlog 13 - I caught a bug which was actually quite critical. When the user would delete their account, their information would not get deleted, so if they made an account with same old email all the past information would still be there."}, {"post_id": 59122, "ts": "2026-08-31T19:07:19Z", "hours": 9.1975, "text": "Dev post 12 - I added back the google sign in and polished up the rest of the verification setup."}, {"post_id": 58193, "ts": "2026-08-30T15:27:10Z", "hours": 9.7597, "text": "Dev vlog 11 - I’m building the a better workflow in Figma and iy was been taking quite a long time to implement and I want to change some of the things I’ve build. I also want to make the UI animations in Figma instead of Lottie because I know how to use Figma more and you can add an extension to export your work as .lottie files (a type of file that allows your animation to run on your app without taking much storage)."}, {"post_id": 57327, "ts": "2026-08-29T13:23:34Z", "hours": 9.3769, "text": "Dev vlog 10 - Hi there I’ve been finalising the setup of the workers ID verification. I ran into some problems but I found this site that allows ID verification (can use passports, drivers licenses) for free for your first 500 verification every month, essentially meaning that if you stay below 500 verifications per month its completely free. Its called Didit. After setting up I’ll go on tosetting up analytics to track onboarding and activity of users."}, {"post_id": 56479, "ts": "2026-08-28T08:06:11Z", "hours": 12.835, "text": "Dev vlog 9 - Hi and thank you to everyone who voted for my project and all the tips you’ve given me. I have a few challenges I’m tackling at the moment: 1. Google sign it, it works with then mobile version (if I test with an APK) but not on web like in the demo. 2. The ID verification, it needs to be able to authenticate yours profiles which seems so complex. 3. The UI and making animations, I dont have much time as I have my A-level exams soon."}, {"post_id": 55756, "ts": "2026-08-27T18:56:17Z", "hours": 10.3631, "text": "Dev vlog 8 - I made some changes to the assistant section so that the questions asked by agent is more conscience and more interactive. Where the user can just tap on the screen and not type."}, {"post_id": 54739, "ts": "2026-08-25T20:25:24Z", "hours": 10.1636, "text": "Dev vlog 7 - After I made a basic AI chat assist, I made some minor UI improvements. I mainly focused on the inquiry generation, I’m not 100% there but I’m trying to make it as quick and easy as possible for users to easily send a detailed inquiries with minimal effort."}, {"post_id": 54310, "ts": "2026-08-25T08:13:39Z", "hours": 11.7128, "text": "Dev vlog 6 - Hi there, I’ve made a drastic change as I’ve descided to add an AI chat bot to the app to make it even more easier to send workers inquiries. It will be a place where you just describe the issue and it will automatically find the best worker and send them an inquiry for you after you give it all the necessary information."}, {"post_id": 53196, "ts": "2026-08-23T17:12:34Z", "hours": 10.9467, "text": "Dev vlog 6 - I finished with the official Beta version of Kazi and will be launching soon to the play store. After launching and getting my first wavy of users I’ll launch the official version 1."}, {"post_id": 52272, "ts": "2026-08-22T11:49:28Z", "hours": 2.8028, "text": "Dev vlog 5 - I set up notifications that pop up when a user opens the app, next I want to make it more interactive and add custom icons. Also for when allowing for photos I’ll add some humor when asking for permission and more custom icons. I’ll be making the icon on procreate then use Lottie to turn it into files that can be used on the app."}, {"post_id": 51479, "ts": "2026-08-21T06:40:27Z", "hours": 8.0186, "text": "Dev vlog 4 - Im now focusing on making the UI more unique and interactive. For planning im using Figma and for animations im using Lottie. I added some coloured elements so that its easier to see the difference between features more easily, like if your inquiry is pending or has been answered."}, {"post_id": 50803, "ts": "2026-08-20T06:37:08Z", "hours": 9.8239, "text": "Dev vlog 3 - I started using emulator, it took a while to install and setup. I made worker accounts have bonuses feature to get more clients, but now I want to improve the UI and add custom badges and animations, I started learning how to use Lottie to do that."}, {"post_id": 50478, "ts": "2026-08-19T17:19:01Z", "hours": 10.575, "text": "Dev vlog 2 - I made the customer side of the app but I used dummy data and didn’t connect any APIs yet so I need to do that. I also need to fix bugs and allow customers to contact the workers."}, {"post_id": 49519, "ts": "2026-08-18T12:07:28Z", "hours": 9.4683, "text": "Dev vlog 1 - I’m building a mobile app to help trade workers like plumbers, electricians, and cleaners find work. In the same light to help people find someone who can fix their leaky tap or install a cupboard. This is the workers side that I’ve built, I used my brothers phone to help me make a demo account and test out the features. The key features are different languages, photo verification, and google sign up."}]...
|
Title: Kazi by @Bianca | Stardance
Devlogs:
Dev v Title: Kazi by @Bianca | Stardance
Devlogs:
Dev vlog 1 - I’m building a mobile app to help trade workers like plumbers, electricians, and cleaners find work. In the same light to help people find someone who can fix their leaky tap or install a cupboard. This is the workers side that I’ve built, I used my brothers phone to help me make a demo account and test out the features. The key features are different languages, photo verification, and google sign up.
Dev vlog 2 - I made the customer side of the app but I used dummy data and didn’t connect any APIs yet so I need to do that. I also need to fix bugs and allow customers to contact the workers.
Dev vlog 3 - I started using emulator, it took a while to install and setup. I made worker accounts have bonuses feature to get more clients, but now I want to improve the UI and add custom badges and animations, I started learning how to use Lottie to do that.
Dev vlog 4 - Im now focusing on making the UI more unique and interactive. For planning im using Figma and for animations im using Lottie. I added some coloured elements so that its easier to see the difference between features more easily, like if your inquiry is pending or has been answered.
Dev vlog 5 - I set up notifications that pop up when a user opens the app, next I want to make it more interactive and add custom icons. Also for when allowing for photos I’ll add some humor when asking for permission and more custom icons. I’ll be making the icon on procreate then use Lottie to turn it into files that can be used on the app.
Dev vlog 6 - I finished with the official Beta version of Kazi and will be launching soon to the play store. After launching and getting my first wavy of users I’ll launch the official version 1.
Dev vlog 6 - Hi there, I’ve made a drastic change as I’ve descided to add an AI chat bot to the app to make it even more easier to send workers inquiries. It will be a place where you just describe the issue and it will automatically find the best worker and send them an inquiry for you after you give it all the necessary information.
Dev vlog 7 - After I made a basic AI chat assist, I made some minor UI improvements. I mainly focused on the inquiry generation, I’m not 100% there but I’m trying to make it as quick and easy as possible for users to easily send a detailed inquiries with minimal effort.
Dev vlog 8 - I made some changes to the assistant section so that the questions asked by agent is more conscience and more interactive. Where the user can just tap on the screen and not type.
Dev vlog 9 - Hi and thank you to everyone who voted for my project and all the tips you’ve given me. I have a few challenges I’m tackling at the moment: 1. Google sign it, it works with then mobile version (if I test with an APK) but not on web like in the demo. 2. The ID verification, it needs to be able to authenticate yours profiles which seems so complex. 3. The UI and making animations, I dont have much time as I have my A-level exams soon.
Dev vlog 10 - Hi there I’ve been finalising the setup of the workers ID verification. I ran into some problems but I found this site that allows ID verification (can use passports, drivers licenses) for free for your first 500 verification every month, essentially meaning that if you stay below 500 verifications per month its completely free. Its called Didit. After setting up I’ll go on tosetting up analytics to track onboarding and activity of users.
Dev vlog 11 - I’m building the a better workflow in Figma and iy was been taking quite a long time to implement and I want to change some of the things I’ve build. I also want to make the UI animations in Figma instead of Lottie because I know how to use Figma more and you can add an extension to export your work as .lottie files (a type of file that allows your animation to run on your app without taking much storage).
Dev post 12 - I added back the google sign in and polished up the rest of the verification setup.
Dev vlog 13 - I caught a bug which was actually quite critical. When the user would delete their account, their information would not get deleted, so if they made an account with same old email all the past information would still be there.
Dev post 14 - Hi everyone I spent the whole day polishing up Kazi, fixing bugs, and just improving the overall experience. Now im going to add more features I’m planning on adding a paywall to start making some income from this, and im now brainstorming the features I should add.
Dev post 15 - Hey everyone, I spent the day improving the web experience for testers and you guys :). Im still having troubles with the google sign in but ill try and address it tomorrow. My favourite thing i did was limiting the web screen so that it gives more of that app feel.
Dev vlog 16 - After adding the Didit verification the SQL database was not syncing, a had to make 2 separate databses to make it work, now im able to make an account again.
Dev vlog 17 - Hi I made good progress with the UI, I started with the splash screen and I’m working my way from there, the animation was a bit glitchy and i fexed the issue. Additionally, the letters were not lined up which was quite a task to do, i though it would be easier but when importing the animation it would keep changing it so I had to make tha letters separate to the animation. I used Mobbin to get references and I saw most we’re too flashy so i made mine simple but enjoyable. Next I’ll be working on the user onboardeing, im currently preparing a lot of assets as I want it to be interactive and unique.
Dev vlog 18 - I’ve been making some assets to use for the UI and testing the app to find more areas I’d like to add more features and animations.
Dev vlog 19 - I added a pay wall on the worker account that limits theamount of jobs a worker can recieve and and the features they have. It costs $3.00 (I converted it) which is a small amount for the workers, I dont want it to be too high as in Namibia subscriptions is not something people are willing to pay. Especially low wage workers and unemployed people
Dev vlog 20 - Today I made the workers job screen more interactable and customizable. I’m going through day by day to improve each screen’s UI. I’m honestly quite happy with how the app is coming up even though I’ve only done 2 screens im slowly getting to a completed version 1.
Dev vlog 21 - I didnt like the first iteration of the subsriptions screen so I made it more personalised to the specific industry im targeting. I changed words like “Pro plan” to “Artisan plan” and “Free plan” to “Apprentice plan”. The reason there is some what space is because I’ll be adding some assets what I’m still designing in procreate and Lottie.
Ships:
What I made: Kazi connects skilled trade workers with customers who need their services, making the process faster and easier. Workers are electricians, plumbers, builders, welders, mechanics, and other professionals who create profiles, showcase their skills, and find relevant jobs. Customers can use Kazi to discover skilled workers, view their profiles, and find the right person for the work they need. The challenges I faced: The challenges I faced were setting up the Google API to allow for Google sign-up and making sure the frontend and backend were communicating. Additionally, making a polished, well-thought-out app with minimal bugs was another challenge. Things I accomplished that I am proud of: Before starting this challenge, using the terminal felt like a foreign language and I didn’t know why the backend and frontend had to be separate. Now I can confidently say that the terminal is my best friend, and I don’t need to watch YouTube tutorials on the difference between an API and an SDK. Things to know: On the demo the google sign in does not work only on emulators it does. Taking photos and contact via phone is not supported on the demo as well. Using th README file has a lot of additional tips. If you create an account even if you close the file will be saved in the database and you can log in, if you have trouble deleting the account you made email me the email you used and ill do it manually....
|
1792878526.8970366
|
1793742526.8970366
|
|
28226
|
Hidden Gems Near You by @Ombama | Stardance
|
Ombama
|
1
|
6.0
|
24
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T15:11:47Z", "hours": 6.0, "multiplier": 4.07, "payout": 24, "blessing": "neutral", "text": "I made a website called Local Hidden Gem Finder. It helps users discover interesting local spots across the United States. Users can search by city, state, or keyword, filter by categories like nature, food, art, history, beaches, and viewpoints, click on an interactive U.S. map, view hidden gem cards, open a details popup, save favorite places, and use a Learn More button to research each place. The most challenging part was connecting all the JavaScript features together. The interactive map, API results, favorites, search, filters, details modal, and Learn More links all had to work with the same set of place data. Debugging small JavaScript errors was also challenging because one missing function or misplaced bracket could stop the whole site from working. I am proud that the project feels like a real travel discovery app instead of just a basic webpage. I added an interactive map, cards, favorites using localStorage, a modal popup, category filters, and API support for real place data. To test the project, open the live URL, search for a place or category, click different states on the U.S. map, use the category dropdown, click Details on a card, save a few favorites, and try the Learn More button.", "repo": "https://github.com/Om-Bhagat-prog/Local-Hidden-Gem", "demo": "https://local-hidden-gem.vercel.app/"}]...
|
[{"post_id": 18391, "ts": "202 [{"post_id": 18391, "ts": "2026-06-29T15:08:38Z", "hours": 5.9197, "text": "I made a website called Local Hidden Gem Finder. It helps users discover interesting local spots across the United States. Users can search by city, state, or keyword, filter by categories like nature, food, art, history, beaches, and viewpoints, click on an interactive U.S. map, view hidden gem cards, open a details popup, save favorite places, and use a Learn More button to research each place. The most challenging part was connecting all the JavaScript features together. The interactive map, API results, favorites, search, filters, details modal, and Learn More links all had to work with the same set of place data. Debugging small JavaScript errors was also challenging because one missing function or misplaced bracket could stop the whole site from working. I am proud that the project feels like a real travel discovery app instead of just a basic webpage. I added an interactive map, cards, favorites using localStorage, a modal popup, category filters, and API support for real place data. To test the project, open the live URL, search for a place or category, click different states on the U.S. map, use the category dropdown, click Details on a card, save a few favorites, and try the Learn More button."}]...
|
Title: Hidden Gems Near You by @Ombama | Stardance Title: Hidden Gems Near You by @Ombama | Stardance
Devlogs:
I made a website called Local Hidden Gem Finder. It helps users discover interesting local spots across the United States. Users can search by city, state, or keyword, filter by categories like nature, food, art, history, beaches, and viewpoints, click on an interactive U.S. map, view hidden gem cards, open a details popup, save favorite places, and use a Learn More button to research each place. The most challenging part was connecting all the JavaScript features together. The interactive map, API results, favorites, search, filters, details modal, and Learn More links all had to work with the same set of place data. Debugging small JavaScript errors was also challenging because one missing function or misplaced bracket could stop the whole site from working. I am proud that the project feels like a real travel discovery app instead of just a basic webpage. I added an interactive map, cards, favorites using localStorage, a modal popup, category filters, and API support for real place data. To test the project, open the live URL, search for a place or category, click different states on the U.S. map, use the category dropdown, click Details on a card, save a few favorites, and try the Learn More button.
Ships:
I made a website called Local Hidden Gem Finder. It helps users discover interesting local spots across the United States. Users can search by city, state, or keyword, filter by categories like nature, food, art, history, beaches, and viewpoints, click on an interactive U.S. map, view hidden gem cards, open a details popup, save favorite places, and use a Learn More button to research each place. The most challenging part was connecting all the JavaScript features together. The interactive map, API results, favorites, search, filters, details modal, and Learn More links all had to work with the same set of place data. Debugging small JavaScript errors was also challenging because one missing function or misplaced bracket could stop the whole site from working. I am proud that the project feels like a real travel discovery app instead of just a basic webpage. I added an interactive map, cards, favorites using localStorage, a modal popup, category filters, and API support for real place data. To test the project, open the live URL, search for a place or category, click different states on the U.S. map, use the category dropdown, click Details on a card, save a few favorites, and try the Learn More button....
|
1793656126.4790604
|
1793742526.4790604
|
|
48948
|
study app by @mabu | Stardance
|
mabu
|
2
|
8.0
|
72
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T18:26:50Z", "hours": 5.0, "multiplier": 10.41, "payout": 55, "blessing": "neutral", "text": "Hey everyone Based on the feedback from our previous ship I decided to add some of the features you guys suggested First, a quick update I am not doing the virtual pet for now. When I asked a few people about it, they pointed out that a moving virtual pet would be too distracting The new features: We added 2 new modes dark mode and grey mode as the colours are to distracting so now when u open the web it will be in dark mode but u can change it later We also made it that when u reload the page and ur old study data will still be there and wont go but after 24/hrs it will go We also added 2 new study music (rain and lofi chords) I HOPE U GUYS LIKE THIS AND PLS LET ME KNOW WHAT ELSE U WANT ME TO ADD (DM ME ON mabu100 if u want me to add something else) BYE GUYS !! GL", "repo": "https://github.com/mabu100/ez-study-2.0", "demo": "https://mabu100.github.io/ez-study-2.0/"}, {"ship_num": 2, "ts": "2026-08-16T17:08:06Z", "hours": 3.0, "multiplier": 5.78, "payout": 17, "blessing": "neutral", "text": "I made a tree focus app with focus music(white,pink and brow noise) and u can grow a tree while u study. so u get a reward in the end for studying. Its a very ez and simple project but this will help everyone stay locked in. I made this website for ppl like me who can study focused for 25 or 50 mins. When using the website u can even add the tasks u need to complete. I hope u guys like this project and gl everyone .", "repo": "https://github.com/mabu100/ez-study-2.0", "demo": "https://mabu100.github.io/ez-study-2.0/"}]...
|
[{"post_id": 52528, "ts": "202 [{"post_id": 52528, "ts": "2026-08-22T18:06:40Z", "hours": 4.5567, "text": "Hey everyone! First, a quick update I am not doing the virtual pet for now. When I asked a few people about it, they pointed out that a moving virtual pet would be too distracting The new features: We added 2 new modes dark mode and grey mode as the colours are to distracting so now when u open the web it will be in dark mode We also made it that when u reload the page ur old study data will still be there and wont go We also added 2 new study music (rain and lofi chords)"}, {"post_id": 49649, "ts": "2026-08-18T15:19:57Z", "hours": 0.7697, "text": "I am trying to add a virtual pet to the study app will add the and ship again after the first ship comes back"}, {"post_id": 48300, "ts": "2026-08-16T16:39:05Z", "hours": 0.3572, "text": "We got a small reward after studying!!! U can grow an apple tree rose bush a or a sakura tree."}, {"post_id": 48231, "ts": "2026-08-16T15:12:24Z", "hours": 0.7753, "text": "WE GOT FOCUS MUSIC!!!!!!!!!"}, {"post_id": 48155, "ts": "2026-08-16T13:37:42Z", "hours": 1.4333, "text": "I thought the design was a bit plain, so I added color options and a deep focus mode to spice it up"}, {"post_id": 47951, "ts": "2026-08-16T06:52:58Z", "hours": 0.4181, "text": "I love using study app while i am locked in so i built a study app for me that i can use while studying"}]...
|
Title: study app by @mabu | Stardance
Devlogs:
I Title: study app by @mabu | Stardance
Devlogs:
I love using study app while i am locked in so i built a study app for me that i can use while studying
I thought the design was a bit plain, so I added color options and a deep focus mode to spice it up
WE GOT FOCUS MUSIC!!!!!!!!!
We got a small reward after studying!!! U can grow an apple tree rose bush a or a sakura tree.
I am trying to add a virtual pet to the study app will add the and ship again after the first ship comes back
Hey everyone! First, a quick update I am not doing the virtual pet for now. When I asked a few people about it, they pointed out that a moving virtual pet would be too distracting The new features: We added 2 new modes dark mode and grey mode as the colours are to distracting so now when u open the web it will be in dark mode We also made it that when u reload the page ur old study data will still be there and wont go We also added 2 new study music (rain and lofi chords)
Ships:
I made a tree focus app with focus music(white,pink and brow noise) and u can grow a tree while u study. so u get a reward in the end for studying. Its a very ez and simple project but this will help everyone stay locked in. I made this website for ppl like me who can study focused for 25 or 50 mins. When using the website u can even add the tasks u need to complete. I hope u guys like this project and gl everyone .
Hey everyone Based on the feedback from our previous ship I decided to add some of the features you guys suggested First, a quick update I am not doing the virtual pet for now. When I asked a few people about it, they pointed out that a moving virtual pet would be too distracting The new features: We added 2 new modes dark mode and grey mode as the colours are to distracting so now when u open the web it will be in dark mode but u can change it later We also made it that when u reload the page and ur old study data will still be there and wont go but after 24/hrs it will go We also added 2 new study music (rain and lofi chords) I HOPE U GUYS LIKE THIS AND PLS LET ME KNOW WHAT ELSE U WANT ME TO ADD (DM ME ON mabu100 if u want me to add something else) BYE GUYS !! GL...
|
1792878526.080238
|
1793742526.080238
|
|
32570
|
My Own Site by @MRWHCKRR | Stardance
|
MRWHCKRR
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T06:31:13Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "First site, will likely update or make a new one with Astro. Testing with Github pages as I’ve lowkey never used this stuff before.", "repo": "https://github.com/MRHWCKRR/site", "demo": "https://mrhwckrr.github.io/site/"}]...
|
[{"post_id": 25185, "ts": "202 [{"post_id": 25185, "ts": "2026-07-09T07:56:47Z", "hours": 0.0, "text": "Fixed up a few little formatting things Also added icon for website as well as updating readme for more clarity Will make the website even prettier in the future"}, {"post_id": 25146, "ts": "2026-07-09T05:29:48Z", "hours": 0.0, "text": "Currently making a simple HTML webpage. Testing deployment with Github Pages and Vercel."}]...
|
Title: My Own Site by @MRWHCKRR | Stardance
Devlo Title: My Own Site by @MRWHCKRR | Stardance
Devlogs:
Currently making a simple HTML webpage. Testing deployment with Github Pages and Vercel.
Fixed up a few little formatting things Also added icon for website as well as updating readme for more clarity Will make the website even prettier in the future
Ships:
First site, will likely update or make a new one with Astro. Testing with Github pages as I’ve lowkey never used this stuff before....
|
1792878525.2391071
|
1793742525.2391071
|
|
55044
|
The producitivty OS by @3040593 | Stardance
|
3040593
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: The producitivty OS by @3040593 | Stardance
|
1793137724.7778206
|
1793742524.7778206
|
|
55019
|
Color Picker Tool by @princekumar | Stardance
|
princekumar
|
1
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T09:50:37Z", "hours": 2.0, "multiplier": 1.05, "payout": 1, "blessing": "neutral", "text": "🎨 Color Picker Tool 🌈 Project Overview Color Picker Tool is a small interactive web project made using HTML, CSS, and JavaScript. The purpose of the project is to make choosing and working with colors easier. Users can select a color and immediately see it in a preview area along with its different color values. The project has a simple interface so that users can understand it without needing any complicated instructions. JavaScript handles the interaction and updates the color information whenever the selected color changes. ✨ Main Features 🎨 Interactive color picker 👀 Live color preview 🔢 HEX color value 🔴🟢🔵 RGB color value 🌈 HSL color value 📋 Copy color values easily ⚡ Instant updates when the color changes 📱 Simple and responsive interface 🖥️ Works directly in a web browser 🎯 Clean and easy-to-use design 🛠️ Technologies Used HTML — Used to create the structure of the tool, including the color picker, preview area, values, and buttons. CSS — Used to design the page, arrange the different sections, add spacing, buttons, and make the interface look better. JavaScript — Used for the main functionality. It detects the selected color, changes the preview, converts the color into different formats, and handles the copy buttons. 💡 How It Works When the user selects a color, JavaScript reads the selected color and updates the preview immediately. The corresponding HEX, RGB, and HSL values are also displayed. If the user wants to use a particular value somewhere else, they can use the copy option. 🧩 What Was Challenging? The most challenging part was connecting the color picker with JavaScript and making all the color values update correctly. I also had to work on the copy buttons and test different colors to make sure the values were changing properly. 🏆 What I Am Proud Of I am proud that I was able to build an interactive tool using HTML, CSS, and JavaScript instead of making only a static webpage. I also liked seeing the color preview and values change immediately when selecting a different color. 🧪 Testing I tested the project by selecting different colors and checking whether: The preview changed correctly. HEX values updated. RGB values updated. HSL values updated. Copy buttons worked. The page remained usable on my device. 📚 What I Learned While making this project, I learned more about JavaScript events, DOM manipulation, color formats, CSS styling, and connecting HTML, CSS, and JavaScript together. I also learned that testing small features one by one makes it easier to find mistakes. 🚀 Future Improvements In the future, I could add: 🎨 Color palette generation 🌓 Light/dark themes 📋 One-click copy for all values 💾 Saved favorite colors 🔄 Random color generator 🎯 Gradient generator 📌 Final Description Color Picker Tool is an interactive web project built with HTML, CSS, and JavaScript. It allows users to select a color, see a live preview, and view its HEX, RGB, and HSL values. I built it to practice JavaScript interactions and create a small tool that can actually be useful for web design and development. ❤️ Final Ship Note This project started as a simple idea, but while building it I learned how different parts of a webpage can work together. I worked on the design, functionality, and testing and fixed the problems I found along the way. I am happy with the final result because it is simple, interactive, and something I can actually use.", "repo": "https://github.com/princekumar189344-netizen/Color-Picker-Tool", "demo": "https://princekumar189344-netizen.github.io/Color-Picker-Tool/"}]...
|
[{"post_id": 55528, "ts": "202 [{"post_id": 55528, "ts": "2026-08-27T13:08:49Z", "hours": 2.0497, "text": "I am working on a Color Picker Tool using HTML, CSS, and JavaScript. The main idea is to let users select any color and see a preview of that color instantly. I am working on the layout and making the color picker easy to understand and use. I am also adding HEX, RGB, and HSL color values that update when the selected color changes. I am working on copy buttons so users can easily copy the color codes. I am testing different colors and fixing small problems to make sure everything works properly."}]...
|
Title: Color Picker Tool by @princekumar | Stardan Title: Color Picker Tool by @princekumar | Stardance
Devlogs:
I am working on a Color Picker Tool using HTML, CSS, and JavaScript. The main idea is to let users select any color and see a preview of that color instantly. I am working on the layout and making the color picker easy to understand and use. I am also adding HEX, RGB, and HSL color values that update when the selected color changes. I am working on copy buttons so users can easily copy the color codes. I am testing different colors and fixing small problems to make sure everything works properly.
Ships:
🎨 Color Picker Tool 🌈 Project Overview Color Picker Tool is a small interactive web project made using HTML, CSS, and JavaScript. The purpose of the project is to make choosing and working with colors easier. Users can select a color and immediately see it in a preview area along with its different color values. The project has a simple interface so that users can understand it without needing any complicated instructions. JavaScript handles the interaction and updates the color information whenever the selected color changes. ✨ Main Features 🎨 Interactive color picker 👀 Live color preview 🔢 HEX color value 🔴🟢🔵 RGB color value 🌈 HSL color value 📋 Copy color values easily ⚡ Instant updates when the color changes 📱 Simple and responsive interface 🖥️ Works directly in a web browser 🎯 Clean and easy-to-use design 🛠️ Technologies Used HTML — Used to create the structure of the tool, including the color picker, preview area, values, and buttons. CSS — Used to design the page, arrange the different sections, add spacing, buttons, and make the interface look better. JavaScript — Used for the main functionality. It detects the selected color, changes the preview, converts the color into different formats, and handles the copy buttons. 💡 How It Works When the user selects a color, JavaScript reads the selected color and updates the preview immediately. The corresponding HEX, RGB, and HSL values are also displayed. If the user wants to use a particular value somewhere else, they can use the copy option. 🧩 What Was Challenging? The most challenging part was connecting the color picker with JavaScript and making all the color values update correctly. I also had to work on the copy buttons and test different colors to make sure the values were changing properly. 🏆 What I Am Proud Of I am proud that I was able to build an interactive tool using HTML, CSS, and JavaScript instead of making only a static webpage. I also liked seeing the color preview and values change immediately when selecting a different color. 🧪 Testing I tested the project by selecting different colors and checking whether: The preview changed correctly. HEX values updated. RGB values updated. HSL values updated. Copy buttons worked. The page remained usable on my device. 📚 What I Learned While making this project, I learned more about JavaScript events, DOM manipulation, color formats, CSS styling, and connecting HTML, CSS, and JavaScript together. I also learned that testing small features one by one makes it easier to find mistakes. 🚀 Future Improvements In the future, I could add: 🎨 Color palette generation 🌓 Light/dark themes 📋 One-click copy for all values 💾 Saved favorite colors 🔄 Random color generator 🎯 Gradient generator 📌 Final Description Color Picker Tool is an interactive web project built with HTML, CSS, and JavaScript. It allows users to select a color, see a live preview, and view its HEX, RGB, and HSL values. I built it to practice JavaScript interactions and create a small tool that can actually be useful for web design and development. ❤️ Final Ship Note This project started as a simple idea, but while building it I learned how different parts of a webpage can work together. I worked on the design, functionality, and testing and fixed the problems I found along the way. I am happy with the final result because it is simple, interactive, and something I can actually use....
|
1792878524.38376
|
1793742524.38376
|
|
13538
|
pixelizer by @ethantytang11 | Stardance
|
ethantytang11
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: pixelizer by @ethantytang11 | Stardance
|
1793137723.8803256
|
1793742523.8803256
|
|
5308
|
MoodGPT by @nathanmanoj | Stardance
|
nathanmanoj
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-03T13:36:37Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built MoodGPT, a chatbot that lets users switch between different personalities like Funny, Angry, Defensive, Friendly, and Chaotic while chatting with AI. The biggest challenge was creating a clean, ChatGPT-style interface in Streamlit while keeping the code simple and making the mood system consistently affect the AI’s responses. I’m most proud of the polished UI and how each mood gives noticeably different answers to the same question. To test the project, users just need to select a mood, enter a message, and start chatting. A Gemini API key is required for the AI responses to work if you host it locally.", "repo": "https://github.com/NathanManoj1/Moodgpt", "demo": "https://docs.google.com/document/d/1eo2EGDzjMZrBZ6AHeIWNIpiH7KemfXBIk0W7fn7vIV8/edit?usp=sharing"}]...
|
[{"post_id": 1419, "ts": "2026 [{"post_id": 1419, "ts": "2026-06-03T13:28:58Z", "hours": 4.3597, "text": "Finished my project and uploaded to github! Test it out here. https://moodgpt.streamlit.app/ I learned a lot about AI and API’s from this project. I also learned how to showcase it through the streamlit app."}, {"post_id": 1051, "ts": "2026-06-02T21:06:32Z", "hours": 1.885, "text": "Built the first version of the MoodGPT UI today! (A fun chatbot where you can experiment with ai) 🎭 The app now has a modern dark theme, a mood selector with five personalities (Funny, Angry, Defensive, Friendly, and Chaotic), a chat window, and a message input area. Most of my time went into making the interface feel clean and easy to use rather than adding lots of functionality. One hurdle was getting the layout to scale properly when resizing the window without elements overlapping or looking cramped. I also spent longer than expected tweaking spacing, colors, and fonts so the app felt more polished. Next up is improving the chatbot itself and adding more advanced features, but for now I’m happy to finally have a solid foundation and design to build on."}]...
|
Title: MoodGPT by @nathanmanoj | Stardance
Devlog Title: MoodGPT by @nathanmanoj | Stardance
Devlogs:
Built the first version of the MoodGPT UI today! (A fun chatbot where you can experiment with ai) 🎭 The app now has a modern dark theme, a mood selector with five personalities (Funny, Angry, Defensive, Friendly, and Chaotic), a chat window, and a message input area. Most of my time went into making the interface feel clean and easy to use rather than adding lots of functionality. One hurdle was getting the layout to scale properly when resizing the window without elements overlapping or looking cramped. I also spent longer than expected tweaking spacing, colors, and fonts so the app felt more polished. Next up is improving the chatbot itself and adding more advanced features, but for now I’m happy to finally have a solid foundation and design to build on.
Finished my project and uploaded to github! Test it out here. https://moodgpt.streamlit.app/ I learned a lot about AI and API’s from this project. I also learned how to showcase it through the streamlit app.
Ships:
I built MoodGPT, a chatbot that lets users switch between different personalities like Funny, Angry, Defensive, Friendly, and Chaotic while chatting with AI. The biggest challenge was creating a clean, ChatGPT-style interface in Streamlit while keeping the code simple and making the mood system consistently affect the AI’s responses. I’m most proud of the polished UI and how each mood gives noticeably different answers to the same question. To test the project, users just need to select a mood, enter a message, and start chatting. A Gemini API key is required for the AI responses to work if you host it locally....
|
1793656123.8165436
|
1793742523.8165436
|
|
56083
|
Typing speed test by @projectroshan917 | Stardance
|
projectroshan917
|
2
|
10.0
|
24
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T00:45:07Z", "hours": 0.0, "multiplier": 7.92, "payout": 2, "blessing": "neutral", "text": "I change colour and make text related to stardance and hackclud", "repo": "https://github.com/Roshan-coder123/Typing-Speed-Test-", "demo": "https://roshan-coder123.github.io/Typing-Speed-Test-/"}, {"ship_num": 2, "ts": "2026-08-30T03:39:43Z", "hours": 10.0, "multiplier": 4.49, "payout": 22, "blessing": "neutral", "text": "I made an Typing Speed Testing website which test your typing speed by giving different English word to type and rank your typing speed on different criteria’s/basis like Accuracy, Errors, Chars typed, Duration as result. This web side helps you to improve typing skill. It can be used in moth mobile and desktop easily.", "repo": "https://github.com/Roshan-coder123/Typing-Speed-Test-", "demo": "https://roshan-coder123.github.io/Typing-Speed-Test-/"}]...
|
[{"post_id": 57865, "ts": "202 [{"post_id": 57865, "ts": "2026-08-30T05:41:50Z", "hours": 0.3981, "text": "I change color theme also make sentences related to stardance and hackclub."}, {"post_id": 57803, "ts": "2026-08-30T03:14:04Z", "hours": 9.8569, "text": "I made an typing speed testing website where you can test your typing speed."}]...
|
Title: Typing speed test by @projectroshan917 | St Title: Typing speed test by @projectroshan917 | Stardance
Devlogs:
I made an typing speed testing website where you can test your typing speed.
I change color theme also make sentences related to stardance and hackclub.
Ships:
I made an Typing Speed Testing website which test your typing speed by giving different English word to type and rank your typing speed on different criteria’s/basis like Accuracy, Errors, Chars typed, Duration as result. This web side helps you to improve typing skill. It can be used in moth mobile and desktop easily.
I change colour and make text related to stardance and hackclud...
|
1792878523.5855434
|
1793742523.5855434
|
|
56081
|
Homepage by @projectroshan917 | Stardance
|
projectroshan917
|
1
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-30T06:42:40Z", "hours": 2.0, "multiplier": 1.4, "payout": 1, "blessing": "neutral", "text": "This is my personal corner on internet. I My Personal Corner on the Internet Welcome to the source code of my personal portfolio website! I built this entirely from scratch using HTML and CSS to create a simple, multi-page space where people can get to know me, check out what I do, and see my projects. Structure of the WebsiteThe site is broken down into a few simple pages so everything is easy to navigate: Home (index.html) – A quick snapshot of who I am, a brief intro, and the core technologies I work with. About (about.html) – A deeper dive into my background, academic qualifications, habits, and personal details. Now (now.html) – A page dedicated to what I’m currently focused on and working on right now. Contact (contact.html) – Ways to reach out and connect with me.", "repo": "https://github.com/Roshan-coder123/Homepage-", "demo": "https://roshan-coder123.github.io/Homepage-/"}]...
|
[{"post_id": 57868, "ts": "202 [{"post_id": 57868, "ts": "2026-08-30T05:51:30Z", "hours": 1.7219, "text": "I made my personal portfolio website."}]...
|
Title: Homepage by @projectroshan917 | Stardance
Title: Homepage by @projectroshan917 | Stardance
Devlogs:
I made my personal portfolio website.
Ships:
This is my personal corner on internet. I My Personal Corner on the Internet Welcome to the source code of my personal portfolio website! I built this entirely from scratch using HTML and CSS to create a simple, multi-page space where people can get to know me, check out what I do, and see my projects. Structure of the WebsiteThe site is broken down into a few simple pages so everything is easy to navigate: Home (index.html) – A quick snapshot of who I am, a brief intro, and the core technologies I work with. About (about.html) – A deeper dive into my background, academic qualifications, habits, and personal details. Now (now.html) – A page dedicated to what I’m currently focused on and working on right now. Contact (contact.html) – Ways to reach out and connect with me....
|
1792878522.7525117
|
1793742522.7525117
|
|
25383
|
Premitive Web Browser by @SaiSatwikGodena | Starda Premitive Web Browser by @SaiSatwikGodena | Stardance...
|
SaiSatwikGodena
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-07T12:58:25Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A Web browser using python.. getting the mulitab function to work was HIGHLY challenging.. had to learn from sources like Youtube and Google. Real proud of the Bookmarks feature, it’s got a manage bookmarks option too where you can edit or delete your bookmarks! Note: it’s a part of a zip file, just gotta extract it and run the .exe, and it should work amazingly!", "repo": "https://github.com/SaiSatwikGodena/WebBrowser", "demo": "https://github.com/SaiSatwikGodena/WebBrowser/releases/"}]...
|
[{"post_id": 24084, "ts": "202 [{"post_id": 24084, "ts": "2026-07-07T12:47:58Z", "hours": 1.8006, "text": "Just finished converting my Python project into a .EXE file, but since it needed dependencies, i decided to keep it in a zip folder! Bookmarks Forward, backward and reload Multiple tabs custom newtab page with options to choose preffered search engine darkmode and light mode Search History laggy? ps: shortcuts for a browser dont work for this"}, {"post_id": 21374, "ts": "2026-07-03T08:43:03Z", "hours": 1.1858, "text": "Made a new tab page on HTML+CSS+JS, added some quick links, a form to search and a dropdown menu to switch from google to duckduck go etc etc.. further, i also added a darkmode-lightmode toggle for the website. A couple of design elements like centering, shadows under the search area and quicklinks panel.. had to pick the right colour that sets with the browser controls (the reload, bakc forward buttons) in both light and dark mode. i had to ensure that there’s a bordering and a slightly different shade so that elements like the searchbox and all wont blend into the background and appear distinct Next implementation : add multiple tabs in the same window and bookmarks"}, {"post_id": 15469, "ts": "2026-06-25T04:55:22Z", "hours": 0.2825, "text": "Devlog#1 Built a bare browser which has got functionality like updating the Navigation Bar URL whenever a site has been changed/ a link is pressed on the webpage. Further, i have set the default landing page to google.com (for now) - i intend to swap it with a custom New Tab page soon! ensured the basic functionalities of forward, backward, and reload work. when i tried it, worked Perfectly, (apart from the fact that sites like Youtube take time to load up) - im sure it’s an easy fix, gonna finish that up soon!!"}]...
|
Title: Premitive Web Browser by @SaiSatwikGodena | Title: Premitive Web Browser by @SaiSatwikGodena | Stardance
Devlogs:
Devlog#1 Built a bare browser which has got functionality like updating the Navigation Bar URL whenever a site has been changed/ a link is pressed on the webpage. Further, i have set the default landing page to google.com (for now) - i intend to swap it with a custom New Tab page soon! ensured the basic functionalities of forward, backward, and reload work. when i tried it, worked Perfectly, (apart from the fact that sites like Youtube take time to load up) - im sure it’s an easy fix, gonna finish that up soon!!
Made a new tab page on HTML+CSS+JS, added some quick links, a form to search and a dropdown menu to switch from google to duckduck go etc etc.. further, i also added a darkmode-lightmode toggle for the website. A couple of design elements like centering, shadows under the search area and quicklinks panel.. had to pick the right colour that sets with the browser controls (the reload, bakc forward buttons) in both light and dark mode. i had to ensure that there’s a bordering and a slightly different shade so that elements like the searchbox and all wont blend into the background and appear distinct Next implementation : add multiple tabs in the same window and bookmarks
Just finished converting my Python project into a .EXE file, but since it needed dependencies, i decided to keep it in a zip folder! Bookmarks Forward, backward and reload Multiple tabs custom newtab page with options to choose preffered search engine darkmode and light mode Search History laggy? ps: shortcuts for a browser dont work for this
Ships:
A Web browser using python.. getting the mulitab function to work was HIGHLY challenging.. had to learn from sources like Youtube and Google. Real proud of the Bookmarks feature, it’s got a manage bookmarks option too where you can edit or delete your bookmarks! Note: it’s a part of a zip file, just gotta extract it and run the .exe, and it should work amazingly!...
|
1792878521.9300208
|
1793742521.9300208
|
|
55041
|
Life RPG by @ZerintH | Stardance
|
ZerintH
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Life RPG by @ZerintH | Stardance
|
1793137721.8005924
|
1793742521.8005924
|
|
17884
|
Aether by @Kvin | Stardance
|
Kvin
|
1
|
59.0
|
759
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T15:34:14Z", "hours": 59.0, "multiplier": 19.2, "payout": 759, "blessing": "neutral", "text": "Aether - an infinite universe, grown from a single word. Type a word and Aether builds you a whole universe: a galaxy of stars to fly through, systems to dive into, and worlds to land on and scan. Pick any planet and it turns under its own sunlight, with clouds that drift across it and shadow the ground, light glinting off its oceans, rings that throw a shadow over the globe and moons that slip behind it. Here is the strange part. There are no assets. Not one image, model or sound file anywhere in it. Every star, every world, every name, every line of lore, and even the music and the rush of each warp, are generated live from maths, from your word. It is plain HTML and a 2D canvas, no game engine and nothing to download, so it runs at 60fps in the browser, phones included. Share a link and whoever opens it lands on your exact world, in your exact universe. Try violet-tide-77 for a lava world glowing on its night side, bin-3 for a system with two suns, or just type your own name and see the one that only you have!", "repo": "https://github.com/Kvin-21/Aether", "demo": "https://kvin-21.github.io/Aether/"}]...
|
[{"post_id": 10687, "ts": "202 [{"post_id": 10687, "ts": "2026-06-17T15:29:57Z", "hours": 22.9639, "text": "Open it now and a whole galaxy drifts quietly behind the title, waiting for you. Tap the small speaker in the corner. The universe starts to sing. A slow score drifts and resolves beneath you as you fly, and every jump between stars carries its own sound. I’ve fixed the auido. There is not a single sound file in the whole project. The music, and the whoosh of each warp, are built live from oscillators and a little maths, exactly the way the stars and worlds are. Nothing here is downloaded. It is all conjured from your word. I spent this last stretch trying to break it. Zoom out as far as you like and it stays smooth. Click like a maniac and nothing trips. Y So that is the whole thing: a universe from a single word, that you can fly through, land on, scan, listen to, and hand to someone else with a link!"}, {"post_id": 9296, "ts": "2026-06-15T16:44:58Z", "hours": 14.8908, "text": "It’s live! Where there used to be a black loading screen, a whole galaxy now drifts quietly behind the title, waiting for you at https://kvin-21.github.io/Aether ! Type a word, warp in, and everything glows. Bright stars bloom and bleed light into the dark around them. Same as the first day: none of it is downloaded. Still flat 2D, still pure maths, still conjured from your word. It has just put its make-up on. This is the part where it stops being a build and starts being a place. It holds together now/ I spent this last stage trying to break it, then fixing whatever broke. Strange seeds, empty ones, ones in other alphabets, ones two hundred characters long, all land somewhere real. Zoom as far out as you like and it stays smooth. Click like a maniac and nothing trips. Your browser’s back and forward buttons move through the universe with you now. And a share link, opened cold by a stranger, rebuilds your exact world on your exact planet, every single time. So that is the whole thing: a universe from a single word, that you can fly through, land on, scan, listen to, and hand to someone else with a link. Try violet-tide-77 and watch a lava world glow on its night side. Try bin-3 for a system with two suns sharing one centre. Then type your own name, and go and see the universe that only you have. But ofcourse, there are still some bugs with the sound :("}, {"post_id": 8496, "ts": "2026-06-14T03:56:37Z", "hours": 9.5142, "text": "Now it casts shadows Look closely at the planet. That bright spot on the ocean is the sun, reflecting off the water exactly where it should, and it vanishes the instant a cloud drifts over it. Those clouds sit above the surface and throw soft shadows onto the ground below. The rings lay their own shadow across the globe. Now the surprising part, the same one as last time: none of this is 3D. There is still no GPU, no model, no texture, not one downloaded file. It is all flat 2D and pure maths, conjured from your word. It has simply learnt to pretend it has depth, and it pretends well enough that your eye stops asking. Drop onto a planet now and it is actually alive with detail. Clouds drift a touch faster than the ground turning beneath them, and they shade what passes under them. Moons now circle on their own lit paths, slipping in front of the planet and then behind it. Lava worlds, ice worlds, deserts, oceans, green terran worlds, each one scanned and flagged for whether anything could live there. The lore has grown a memory too: it reads the world’s gravity, its heat, its moons, have a different story for each. Systems are stranger than before. Some stars have a companion, two suns sharing one centre, each with its own corona. Belts of asteroids hide in the gaps between orbits. Clicking a star now is no longer a cut. The camera dives, flying you down into the star before its system opens around, and flying you back out when you leave. There is a jump-to-seed box in the corner if you want to leap straight to a particular universe, with your seed, coordinates and zoom always on show!"}, {"post_id": 7938, "ts": "2026-06-13T07:45:20Z", "hours": 11.7253, "text": "What if you could create a universe from your favourite words? What loads is a universe. Your universe. A galaxy of stars nobody has ever flown through, scattered over nebulae nobody has ever seen, because none of it existed until the moment you pressed Enter. Type a different word and the old one is gone, replaced by another entire cosmos waiting to be explored. That is Aether. And here is the part that’s surprising: there are no images in it. None. Not a single texture, model, photo or downloaded file. Every star, every ringed gas giant, every drifting smear of colour is pure maths, generated live from your word. The whole thing is light enough to run on your phone, because there is nothing to load. It is all conjured on the spot. This is the first build, and you can already travel. You start above a galaxy map, an endless field of stars you can drag and zoom through, drifting over layered clouds of gas. Each star is coloured by its real stellar class, from hot blue-white giants down to dim red dwarfs, and each carries a name. Hover one and it tells you what it is called. Pick one and you warp in, starlines streaking past. Inside a system, planets swing around their star on live orbits, rocky worlds and banded gas giants, some having rings. Choose one and you fall towards it. It turns slowly under its own sunlight, wrapped in a thin halo of atmosphere, its rings passing in front and behind. A scan panel reads out the world: radius, gravity, surface temperature, atmosphere, the length of its day, its moons, and a line or two of lore about the place. Then you can leave, and the whole universe is still sitting exactly where you left it. Every world has an address. Hit share and you get a link holding the seed and your exact position, down to the planet you were staring at. Send it and the other person opens the same cosmos, in the same spot, on the same world. Try a different name, and watch a completely different universe assemble itself. Next, I am deepening every layer: richer terrain and weather on the planets, binary stars and asteroid belts, more believable names and histories."}]...
|
Title: Aether by @Kvin | Stardance
Devlogs:
What Title: Aether by @Kvin | Stardance
Devlogs:
What if you could create a universe from your favourite words? What loads is a universe. Your universe. A galaxy of stars nobody has ever flown through, scattered over nebulae nobody has ever seen, because none of it existed until the moment you pressed Enter. Type a different word and the old one is gone, replaced by another entire cosmos waiting to be explored. That is Aether. And here is the part that’s surprising: there are no images in it. None. Not a single texture, model, photo or downloaded file. Every star, every ringed gas giant, every drifting smear of colour is pure maths, generated live from your word. The whole thing is light enough to run on your phone, because there is nothing to load. It is all conjured on the spot. This is the first build, and you can already travel. You start above a galaxy map, an endless field of stars you can drag and zoom through, drifting over layered clouds of gas. Each star is coloured by its real stellar class, from hot blue-white giants down to dim red dwarfs, and each carries a name. Hover one and it tells you what it is called. Pick one and you warp in, starlines streaking past. Inside a system, planets swing around their star on live orbits, rocky worlds and banded gas giants, some having rings. Choose one and you fall towards it. It turns slowly under its own sunlight, wrapped in a thin halo of atmosphere, its rings passing in front and behind. A scan panel reads out the world: radius, gravity, surface temperature, atmosphere, the length of its day, its moons, and a line or two of lore about the place. Then you can leave, and the whole universe is still sitting exactly where you left it. Every world has an address. Hit share and you get a link holding the seed and your exact position, down to the planet you were staring at. Send it and the other person opens the same cosmos, in the same spot, on the same world. Try a different name, and watch a completely different universe assemble itself. Next, I am deepening every layer: richer terrain and weather on the planets, binary stars and asteroid belts, more believable names and histories.
Now it casts shadows Look closely at the planet. That bright spot on the ocean is the sun, reflecting off the water exactly where it should, and it vanishes the instant a cloud drifts over it. Those clouds sit above the surface and throw soft shadows onto the ground below. The rings lay their own shadow across the globe. Now the surprising part, the same one as last time: none of this is 3D. There is still no GPU, no model, no texture, not one downloaded file. It is all flat 2D and pure maths, conjured from your word. It has simply learnt to pretend it has depth, and it pretends well enough that your eye stops asking. Drop onto a planet now and it is actually alive with detail. Clouds drift a touch faster than the ground turning beneath them, and they shade what passes under them. Moons now circle on their own lit paths, slipping in front of the planet and then behind it. Lava worlds, ice worlds, deserts, oceans, green terran worlds, each one scanned and flagged for whether anything could live there. The lore has grown a memory too: it reads the world’s gravity, its heat, its moons, have a different story for each. Systems are stranger than before. Some stars have a companion, two suns sharing one centre, each with its own corona. Belts of asteroids hide in the gaps between orbits. Clicking a star now is no longer a cut. The camera dives, flying you down into the star before its system opens around, and flying you back out when you leave. There is a jump-to-seed box in the corner if you want to leap straight to a particular universe, with your seed, coordinates and zoom always on show!
It’s live! Where there used to be a black loading screen, a whole galaxy now drifts quietly behind the title, waiting for you at https://kvin-21.github.io/Aether ! Type a word, warp in, and everything glows. Bright stars bloom and bleed light into the dark around them. Same as the first day: none of it is downloaded. Still flat 2D, still pure maths, still conjured from your word. It has just put its make-up on. This is the part where it stops being a build and starts being a place. It holds together now/ I spent this last stage trying to break it, then fixing whatever broke. Strange seeds, empty ones, ones in other alphabets, ones two hundred characters long, all land somewhere real. Zoom as far out as you like and it stays smooth. Click like a maniac and nothing trips. Your browser’s back and forward buttons move through the universe with you now. And a share link, opened cold by a stranger, rebuilds your exact world on your exact planet, every single time. So that is the whole thing: a universe from a single word, that you can fly through, land on, scan, listen to, and hand to someone else with a link. Try violet-tide-77 and watch a lava world glow on its night side. Try bin-3 for a system with two suns sharing one centre. Then type your own name, and go and see the universe that only you have. But ofcourse, there are still some bugs with the sound :(
Open it now and a whole galaxy drifts quietly behind the title, waiting for you. Tap the small speaker in the corner. The universe starts to sing. A slow score drifts and resolves beneath you as you fly, and every jump between stars carries its own sound. I’ve fixed the auido. There is not a single sound file in the whole project. The music, and the whoosh of each warp, are built live from oscillators and a little maths, exactly the way the stars and worlds are. Nothing here is downloaded. It is all conjured from your word. I spent this last stretch trying to break it. Zoom out as far as you like and it stays smooth. Click like a maniac and nothing trips. Y So that is the whole thing: a universe from a single word, that you can fly through, land on, scan, listen to, and hand to someone else with a link!
Ships:
Aether - an infinite universe, grown from a single word. Type a word and Aether builds you a whole universe: a galaxy of stars to fly through, systems to dive into, and worlds to land on and scan. Pick any planet and it turns under its own sunlight, with clouds that drift across it and shadow the ground, light glinting off its oceans, rings that throw a shadow over the globe and moons that slip behind it. Here is the strange part. There are no assets. Not one image, model or sound file anywhere in it. Every star, every world, every name, every line of lore, and even the music and the rush of each warp, are generated live from maths, from your word. It is plain HTML and a 2D canvas, no game engine and nothing to download, so it runs at 60fps in the browser, phones included. Share a link and whoever opens it lands on your exact world, in your exact universe. Try violet-tide-77 for a lava world glowing on its night side, bin-3 for a system with two suns, or just type your own name and see the one that only you have!...
|
1792878521.102259
|
1793742521.102259
|
|
57440
|
shaazOS by @shaaz | Stardance
|
shaaz
|
2
|
11.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T07:16:09Z", "hours": 1.0, "multiplier": 5.4, "payout": 4, "blessing": "neutral", "text": "i made the upgraded version of shaazOS for webOS 2 mission…..i made somew crazy things and it looks like real os btw….the challenging part in this mission was making recent bar and a terminal:(…but it was more fun…………:)", "repo": "https://github.com/shaazumer066-bot/shaazOS", "demo": "https://shaazumer066-bot.github.io/shaazOS/"}, {"ship_num": 2, "ts": "2026-09-05T01:23:20Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made shaazOS, This is the best personal project i’ve ever made:)…In this project i faced many errors and some other stuff..It was fun btw… It includes: Functional File Explorer Settings with wallpaper and accent-color customization Calculator Keep Notes Contacts Gallery Focus Timer App search bar Minimize, maximize, and close window controls This was a really fun project to build, and I learned a lot about JavaScript, DOM manipulation, and creating interactive UI systems!", "repo": "https://github.com/shaazumer066-bot/shaazOS", "demo": "https://shaazumer066-bot.github.io/shaazOS/"}]...
|
[{"post_id": 64075, "ts": "202 [{"post_id": 64075, "ts": "2026-09-08T07:12:32Z", "hours": 0.2914, "text": "finished webOS 2 for shaazOS………….. added a functional terminal with slash commands, a recent apps bar, customizable desktop widgets with enable/disable controls, and an OS loading screen…….. also improved the overall desktop experience while keeping the existing webOS 1 apps and customization features. webOS 2 is now a more interactive and personalized web-based operating system."}, {"post_id": 64064, "ts": "2026-09-08T06:23:03Z", "hours": 0.4881, "text": "Started working on webOS 2 for shaazOS…… WebOS 1 already had the basic desktop, applications, File Explorer, Settings, app search, wallpaper customization, accent colors, and several built-in apps………..For WebOS 2, I want to take it further and make it feel more like a real operating system instead of just a collection of web apps…………The main features I am planning are functional terminal with slash commands, recent apps bar , Customizable desktop widgets, An OS boot/loading screen……….The goal is to make the system more interactive, customizable, and unique while keeping the original WebOS 1 features working."}, {"post_id": 61878, "ts": "2026-09-05T01:16:00Z", "hours": 0.3825, "text": "Today I worked on shaazOS, my web-based operating system project.I added a functional File Explorer with folders, files, navigation, back, home, and refresh buttons.I also improved the Settings app with customizable accent colors and wallpapers.The app search bar can now find apps like Settings and File Explorer.I also worked on window controls such as minimize, maximize, and close, while keeping the same glass-style theme across the OS. It is ready!!!!:)"}, {"post_id": 61605, "ts": "2026-09-04T16:19:48Z", "hours": 0.2506, "text": "look at this calculator! I just customized it.."}, {"post_id": 61587, "ts": "2026-09-04T15:59:27Z", "hours": 9.655, "text": "Finally!!!!! Its here!!! my own webOS.. this was really amazing.. I made it with my own ideas, designs etc.. this is one of the best project i have ever made….you can check this, in my shaazOS there are amazing apps like settings app where you can change themes and accent colors.. and many more amazing apps!!!"}]...
|
Title: shaazOS by @shaaz | Stardance
Devlogs:
Fin Title: shaazOS by @shaaz | Stardance
Devlogs:
Finally!!!!! Its here!!! my own webOS.. this was really amazing.. I made it with my own ideas, designs etc.. this is one of the best project i have ever made….you can check this, in my shaazOS there are amazing apps like settings app where you can change themes and accent colors.. and many more amazing apps!!!
look at this calculator! I just customized it..
Today I worked on shaazOS, my web-based operating system project.I added a functional File Explorer with folders, files, navigation, back, home, and refresh buttons.I also improved the Settings app with customizable accent colors and wallpapers.The app search bar can now find apps like Settings and File Explorer.I also worked on window controls such as minimize, maximize, and close, while keeping the same glass-style theme across the OS. It is ready!!!!:)
Started working on webOS 2 for shaazOS…… WebOS 1 already had the basic desktop, applications, File Explorer, Settings, app search, wallpaper customization, accent colors, and several built-in apps………..For WebOS 2, I want to take it further and make it feel more like a real operating system instead of just a collection of web apps…………The main features I am planning are functional terminal with slash commands, recent apps bar , Customizable desktop widgets, An OS boot/loading screen……….The goal is to make the system more interactive, customizable, and unique while keeping the original WebOS 1 features working.
finished webOS 2 for shaazOS………….. added a functional terminal with slash commands, a recent apps bar, customizable desktop widgets with enable/disable controls, and an OS loading screen…….. also improved the overall desktop experience while keeping the existing webOS 1 apps and customization features. webOS 2 is now a more interactive and personalized web-based operating system.
Ships:
I made shaazOS, This is the best personal project i’ve ever made:)…In this project i faced many errors and some other stuff..It was fun btw… It includes: Functional File Explorer Settings with wallpaper and accent-color customization Calculator Keep Notes Contacts Gallery Focus Timer App search bar Minimize, maximize, and close window controls This was a really fun project to build, and I learned a lot about JavaScript, DOM manipulation, and creating interactive UI systems!
i made the upgraded version of shaazOS for webOS 2 mission…..i made somew crazy things and it looks like real os btw….the challenging part in this mission was making recent bar and a terminal:(…but it was more fun…………:)...
|
1792878520.2754254
|
1793742520.2754254
|
|
55039
|
Amazing hackpad by @rayhanavicenna1604 | Stardance
|
rayhanavicenna1604
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Amazing hackpad by @rayhanavicenna1604 | St Title: Amazing hackpad by @rayhanavicenna1604 | Stardance...
|
1793137719.6194985
|
1793742519.6194985
|
|
22380
|
student helper by @Dany_tag | Stardance
|
Dany_tag
|
1
|
10.3
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T17:36:34Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a web app called Student Helper. It generates clear and structured topic summaries and helps students learn by guiding them through questions instead of giving direct answers. I built it especially for dyslexic students because I am dyslexic myself and I wanted a tool that actually works the way my brain does. The most challenging part was integrating Firebase for authentication and making the login work reliably with a free tier database that sometimes takes a moment to respond. Getting the app to automatically detect which AI provider to use just from the API key format was also a fun problem to solve. I am proud that the app supports three different AI providers, Anthropic, OpenAI and Groq, so anyone can use it with whatever key they have. I am also proud that it works in both Italian and English and that it is live online for anyone to try. Since the app never gives direct answers but only guides the student through reasoning, it can be used as a compensatory or dispensatory tool depending on the national regulations, the specific rules of your school, or the student’s IEP (Individualized Education Program), which is the personalized plan given to students with learning disabilities like dyslexia. It helps students work independently without replacing the learning process. To test it in english or italian go to https://student-hel-per.streamlit.app/ and create an account. You will need an API key from one of these three services: Anthropic, OpenAI or Groq. Once you are in, pick any topic and start asking questions.", "repo": "https://github.com/DanyyTag/Student-Helper", "demo": "https://student-hel-per.streamlit.app/"}]...
|
[{"post_id": 22302, "ts": "202 [{"post_id": 22302, "ts": "2026-07-04T18:13:16Z", "hours": 0.3011, "text": "It is done. Finally. After a lot of back and forth, fixing bugs, rewriting pieces, and testing everything over and over, Student Helper is now complete at least for this first version. The two biggest things in this update are the interface and the language support. The whole app has been cleaned up and optimized, everything reads better, feels more consistent, and works the way it should on any screen. Italian and English are both fully supported now, you switch from the sidebar and the entire app updates instantly every label, every message, every prompt the tutor uses. The login screen you see in the screenshot went through a few iterations too. The delay before showing an error was causing confusion people thought their credentials were wrong when the database just needed a moment to wake up. Fixed that. Now it waits before telling you anything, which means almost no false errors. The home screen is exactly what I wanted from the beginning. One field, one button, and then your summary appears clean and structured. No clutter, no distractions. Just the content you need, formatted in a way that actually works for dyslexic brains. This whole project started because I needed it myself. Building it taught me more than I expected Firebase integration, multi-provider API detection, bilingual interfaces, deployment. All things I had never done before. The app is live at https://student-hel-per.streamlit.app/ free to use, just bring your own API key from Anthropic, OpenAI or Groq."}, {"post_id": 22173, "ts": "2026-07-04T14:35:24Z", "hours": 9.3892, "text": "🎓 Student Helper — What’s New Hey everyone! Just some updates to Student Helper and wanted to share what changed Firebase Integration The app now uses Firebase for authentication and storage. What this means for you: Create an account with email and password Your API key gets saved once — no more pasting it every time Everything stored securely in the cloud Password Reset Forgot your password? No stress. New Reset Password tab on the login screen — enter your email, get a reset link straight to your inbox. English Support Student Helper now speaks two languages: Italian 🇮🇹 and English 🇬🇧 Switch anytime from the sidebar the whole interface updates instantly, including the AI tutor’s responses. That’s it for now! Built by a dyslexic student, for dyslexic students and everyone else Ideas? Open an issue on GitHub (DanyTagg)!"}, {"post_id": 12652, "ts": "2026-06-20T17:49:43Z", "hours": 0.3039, "text": "I am working on a project to help students study better. This project is special to me because I have dyslexia. I know how hard it can be to learn when you have dyslexia. The best part is that you can chose the ai modelThe project uses intelligence. It has two features:It can make clear and organized study notes, summaries and mind maps from documents or text.When a student asks for help the AI guides them step by step. It does not give the answer directly. Instead it helps students understand and find the solution themselves. The goal is to improve learning.I designed a logo for the project. I would love to hear what you think about it. Do you like it? Do you have any ideas to make the logo better? Do you have suggestions for features for the web app?Thanks, for your feedback! Byeee!"}]...
|
Title: student helper by @Dany_tag | Stardance
De Title: student helper by @Dany_tag | Stardance
Devlogs:
I am working on a project to help students study better. This project is special to me because I have dyslexia. I know how hard it can be to learn when you have dyslexia. The best part is that you can chose the ai modelThe project uses intelligence. It has two features:It can make clear and organized study notes, summaries and mind maps from documents or text.When a student asks for help the AI guides them step by step. It does not give the answer directly. Instead it helps students understand and find the solution themselves. The goal is to improve learning.I designed a logo for the project. I would love to hear what you think about it. Do you like it? Do you have any ideas to make the logo better? Do you have suggestions for features for the web app?Thanks, for your feedback! Byeee!
🎓 Student Helper — What’s New Hey everyone! Just some updates to Student Helper and wanted to share what changed Firebase Integration The app now uses Firebase for authentication and storage. What this means for you: Create an account with email and password Your API key gets saved once — no more pasting it every time Everything stored securely in the cloud Password Reset Forgot your password? No stress. New Reset Password tab on the login screen — enter your email, get a reset link straight to your inbox. English Support Student Helper now speaks two languages: Italian 🇮🇹 and English 🇬🇧 Switch anytime from the sidebar the whole interface updates instantly, including the AI tutor’s responses. That’s it for now! Built by a dyslexic student, for dyslexic students and everyone else Ideas? Open an issue on GitHub (DanyTagg)!
It is done. Finally. After a lot of back and forth, fixing bugs, rewriting pieces, and testing everything over and over, Student Helper is now complete at least for this first version. The two biggest things in this update are the interface and the language support. The whole app has been cleaned up and optimized, everything reads better, feels more consistent, and works the way it should on any screen. Italian and English are both fully supported now, you switch from the sidebar and the entire app updates instantly every label, every message, every prompt the tutor uses. The login screen you see in the screenshot went through a few iterations too. The delay before showing an error was causing confusion people thought their credentials were wrong when the database just needed a moment to wake up. Fixed that. Now it waits before telling you anything, which means almost no false errors. The home screen is exactly what I wanted from the beginning. One field, one button, and then your summary appears clean and structured. No clutter, no distractions. Just the content you need, formatted in a way that actually works for dyslexic brains. This whole project started because I needed it myself. Building it taught me more than I expected Firebase integration, multi-provider API detection, bilingual interfaces, deployment. All things I had never done before. The app is live at https://student-hel-per.streamlit.app/ free to use, just bring your own API key from Anthropic, OpenAI or Groq.
Ships:
I made a web app called Student Helper. It generates clear and structured topic summaries and helps students learn by guiding them through questions instead of giving direct answers. I built it especially for dyslexic students because I am dyslexic myself and I wanted a tool that actually works the way my brain does. The most challenging part was integrating Firebase for authentication and making the login work reliably with a free tier database that sometimes takes a moment to respond. Getting the app to automatically detect which AI provider to use just from the API key format was also a fun problem to solve. I am proud that the app supports three different AI providers, Anthropic, OpenAI and Groq, so anyone can use it with whatever key they have. I am also proud that it works in both Italian and English and that it is live online for anyone to try. Since the app never gives direct answers but only guides the student through reasoning, it can be used as a compensatory or dispensatory tool depending on the national regulations, the specific rules of your school, or the student’s IEP (Individualized Education Program), which is the personalized plan given to students with learning disabilities like dyslexia. It helps students work independently without replacing the learning process. To test it in english or italian go to https://student-hel-per.streamlit.app/ and create an account. You will need an API key from one of these three services: Anthropic, OpenAI or Groq. Once you are in, pick any topic and start asking questions....
|
1792878519.479673
|
1793742519.479673
|
|
23393
|
Air draw by @unonown97 | Stardance
|
unonown97
|
1
|
6.49
|
37
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-23T17:38:03Z", "hours": 6.0, "multiplier": 6.21, "payout": 37, "blessing": "neutral", "text": "Air Draw is a python script that tracks your hand through your webcam and lets you paint on screen by moving your index finger around. It uses MediaPipe under the hood to figure out where your hand and fingers are, and OpenCV to show the camera feed and draw the lines. Quick Controls: -Index finger up: Move Brush -Pinch (Index + Thumb): Lift Brush (Pause Drawing) -Index + Middle fingers up: Select Color / Clear -Press ‘q’ to quit Sometimes when you switch from drawing mode to selection mode quickly the brush leaves a small stray line before resetting. Havent fixed this yet.", "repo": "https://github.com/Mirvo19/Air-draw", "demo": "https://github.com/Mirvo19/Air-draw/releases/tag/1.2"}]...
|
[{"post_id": 14606, "ts": "202 [{"post_id": 14606, "ts": "2026-06-23T19:37:58Z", "hours": 0.4917, "text": "created a github workflow that automatically generates the exe every time a new release is created"}, {"post_id": 14505, "ts": "2026-06-23T17:25:43Z", "hours": 5.9039, "text": "Air Draw Wanted to try making an air drawing thing from scratch. Most tutorials use the old mediapipe Hands API which is getting deprecated so I used the newer Tasks API instead. Canvas layer Keeping a separate image layer for the drawing and merging it with the camera feed each frame was the annoying part. Empty parts of the canvas had to be made transparent using a threshold mask and bitwise operations. cv2.threshold + cv2.bitwise_and + cv2.bitwise_or is the combo that works. Gesture detection First tried checking if fingertip y coordinate was above the knuckle y coordinate. Broke whenever the hand tilted sideways. Switched to distance based: if fingertip is farther from the wrist than the middle knuckle, finger is extended. Works regardless of hand angle. Smoothing Two layers of smoothing. One on the landmark positions themselves and one on the actual drawing point Pinch to lift Fixed pixel distance threshold for pinch detection broke whenever the hand moved closer or farther from the camera. Made the threshold relative to palm size instead (35% of wrist to middle knuckle distance). Much more consistent. Controls (nutshell): Index finger up: Move Brush Pinch (Index + Thumb): Lift Brush (Pause Drawing) Index + Middle fingers up: Select Color / Clear Press ‘q’ to quit"}]...
|
Title: Air draw by @unonown97 | Stardance
Devlogs Title: Air draw by @unonown97 | Stardance
Devlogs:
Air Draw Wanted to try making an air drawing thing from scratch. Most tutorials use the old mediapipe Hands API which is getting deprecated so I used the newer Tasks API instead. Canvas layer Keeping a separate image layer for the drawing and merging it with the camera feed each frame was the annoying part. Empty parts of the canvas had to be made transparent using a threshold mask and bitwise operations. cv2.threshold + cv2.bitwise_and + cv2.bitwise_or is the combo that works. Gesture detection First tried checking if fingertip y coordinate was above the knuckle y coordinate. Broke whenever the hand tilted sideways. Switched to distance based: if fingertip is farther from the wrist than the middle knuckle, finger is extended. Works regardless of hand angle. Smoothing Two layers of smoothing. One on the landmark positions themselves and one on the actual drawing point Pinch to lift Fixed pixel distance threshold for pinch detection broke whenever the hand moved closer or farther from the camera. Made the threshold relative to palm size instead (35% of wrist to middle knuckle distance). Much more consistent. Controls (nutshell): Index finger up: Move Brush Pinch (Index + Thumb): Lift Brush (Pause Drawing) Index + Middle fingers up: Select Color / Clear Press ‘q’ to quit
created a github workflow that automatically generates the exe every time a new release is created
Ships:
Air Draw is a python script that tracks your hand through your webcam and lets you paint on screen by moving your index finger around. It uses MediaPipe under the hood to figure out where your hand and fingers are, and OpenCV to show the camera feed and draw the lines. Quick Controls: -Index finger up: Move Brush -Pinch (Index + Thumb): Lift Brush (Pause Drawing) -Index + Middle fingers up: Select Color / Clear -Press ‘q’ to quit Sometimes when you switch from drawing mode to selection mode quickly the brush leaves a small stray line before resetting. Havent fixed this yet....
|
1792878518.6568174
|
1793742518.6568174
|
|
18493
|
TypeForum by @Cosmicw | Stardance
|
Cosmicw
|
2
|
16.0
|
131
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-24T11:03:32Z", "hours": 8.0, "multiplier": 8.66, "payout": 73, "blessing": "neutral", "text": "one devlog wasn’t included in prevoius ship so im shipping it again. also addressed few bugs from feedback and i have fixed it.", "repo": "https://github.com/zcosmicw/TypeForum", "demo": "https://type-forum.vercel.app/"}, {"ship_num": 2, "ts": "2026-06-26T15:53:03Z", "hours": 8.0, "multiplier": 7.64, "payout": 58, "blessing": "neutral", "text": "TypeForum - A Forum web app for niche communities! It was a good experience making this project, I’ve faced issues with updating info real time but i have managed to over come it. If you are testing this, make sure to run all the SQL commands in supabase/migrations.", "repo": "https://github.com/zcosmicw/TypeForum", "demo": "https://type-forum.vercel.app/"}]...
|
[{"post_id": 30742, "ts": "202 [{"post_id": 30742, "ts": "2026-07-18T15:57:25Z", "hours": 8.4469, "text": "FINAL UPDATE (i hope) hi gng, apparently there was lots of bugs and the css looked not so sigma in my past attempt to ship it. but here i am wit ts again fully reworked. i hope its good this time and that it finally get shipped. a quick summary of what ts is: its a platform for communities that needs a forum thats not in reddit. i originally made it for a friend of mine but my guy got slimed before i finish this and now i dont have contact of him anymore 🥀. https://type-forum.vercel.app/ toodles✌️"}, {"post_id": 15070, "ts": "2026-06-24T14:12:50Z", "hours": 5.0453, "text": "Devlog #5: The Final Update — TypeForum is Shipping TypeForum is finally finished. TypeForum is a modern discussion platform built with Next.js 16, TypeScript, and Supabase. The goal was to create something that feels premium, customizable, and actually enjoyable to use instead of another generic forum. Here’s everything added in the final release. Trending Threads I built a ranking algorithm that determines which threads should appear on the front page. It takes into account upvotes, downvotes, replies, views, and time decay, so active discussions rise while older posts naturally lose momentum. Profile Pictures and Banners Users can now personalize their profiles with custom avatars and profile banners. Media is handled through Supabase Storage, and changes are previewed instantly before saving. Added stats that show the number of upvotes, comments and thread s. Cleaning Up the App I removed features that felt unnecessary, including the supplement store and separate ranking pages. The focus is now entirely on what matters most: forums, profiles, and discussions. Billboard Ads Added support for 970×90 billboard ads. Administrators can enable or disable ads globally and upload custom image or GIF banners directly from the dashboard. New Admin Dashboard Probably one of my favorite additions. Admins can now: -Change the site name globally, with logo initials generated automatically. -Edit homepage headings and footer text without touching code. -Highlight words using [brackets], which automatically render with a purple gradient. -Rename categories and subforums on the fly. -Customize rank names for levels 1 through 5. Smart Notifications Added PostgreSQL triggers for notifications: -Replies to threads and comments. -New followers. -Upvote milestones (5, 10, 15, and so on). I also added duplicate protection to prevent users from getting spammed when vote counts fluctuate. Who is TypeForum for? -Gaming and tech communities. -Fitness and self-improvement groups. -Creator communities and fanbases. -Anyone looking for something they fully own instead of relying on Discord or Reddit. And that’s it. Building TypeForum has taught me a lot, from UI design and database architecture to spending far too much time fighting CSS. It’s been an incredible experience, and I’m excited to finally ship it."}, {"post_id": 12633, "ts": "2026-06-20T17:08:57Z", "hours": 0.4947, "text": "Devlog #3: Followers & Following I was pretty busy IRL, but when I got back to the project, I noticed that the followers/following counter wasn’t working properly. Users could even follow themselves, which definitely wasn’t intended. I wanted to fix it as quickly as possible, so I got straight to work. I replaced the old insert-only followUser action with a new system that correctly tracks and updates both follower and following counts.I also improved the UI by hiding the Follow and Message buttons when users view their own profile, preventing unnecessary actions and making the experience feel more polished. Overall, this update fixes follower tracking, prevents self-following, and improves profile usability. Hopefully, I’ll be finishing the project in the next devlog!"}, {"post_id": 10675, "ts": "2026-06-17T15:12:02Z", "hours": 1.1564, "text": "TypeForum Devlog #2 Had a crazy idea while trying to fall asleep — what if users had a global chat where they could talk freely without any limits ? So I got to work right away.(yes i couldn’t sleep) I added the necessary rows and columns in Supabase, and just when I thought I had it working… it wasn’t updating in real time. Turns out I hadn’t enabled Supabase’s real-time replication. Flipped that on and it worked like a charm. After that, I noticed the Voting and Tiers system was completely broken. My fix? Removed the entire VoteTier system. Tiers (or ranks) are now admin-assigned only — admins have a dedicated option for this in the admin panel. Much cleaner. Up next: Profile pages (follows & following) Direct Messages Profile pictures and banners Let me know what else I should add! ❤️ https://type-forum.vercel.app/"}, {"post_id": 9813, "ts": "2026-06-16T07:59:36Z", "hours": 1.1558, "text": "TypeForum: A forum I’ve been working on for my friend’s community. thought it would be a good idea to open source it. Stuff that was added/fixed in this devlog : Added inline comments to threads Fixed upvote/downvote counter bugs Added post deletion/share functions to thread owner and admins feel free to comment any more changes that can make it better :) https://type-forum.vercel.app/ https://github.com/zcosmicw/TypeForum"}]...
|
Title: TypeForum by @Cosmicw | Stardance
Devlogs: Title: TypeForum by @Cosmicw | Stardance
Devlogs:
TypeForum: A forum I’ve been working on for my friend’s community. thought it would be a good idea to open source it. Stuff that was added/fixed in this devlog : Added inline comments to threads Fixed upvote/downvote counter bugs Added post deletion/share functions to thread owner and admins feel free to comment any more changes that can make it better :) https://type-forum.vercel.app/ https://github.com/zcosmicw/TypeForum
TypeForum Devlog #2 Had a crazy idea while trying to fall asleep — what if users had a global chat where they could talk freely without any limits ? So I got to work right away.(yes i couldn’t sleep) I added the necessary rows and columns in Supabase, and just when I thought I had it working… it wasn’t updating in real time. Turns out I hadn’t enabled Supabase’s real-time replication. Flipped that on and it worked like a charm. After that, I noticed the Voting and Tiers system was completely broken. My fix? Removed the entire VoteTier system. Tiers (or ranks) are now admin-assigned only — admins have a dedicated option for this in the admin panel. Much cleaner. Up next: Profile pages (follows & following) Direct Messages Profile pictures and banners Let me know what else I should add! ❤️ https://type-forum.vercel.app/
Devlog #3: Followers & Following I was pretty busy IRL, but when I got back to the project, I noticed that the followers/following counter wasn’t working properly. Users could even follow themselves, which definitely wasn’t intended. I wanted to fix it as quickly as possible, so I got straight to work. I replaced the old insert-only followUser action with a new system that correctly tracks and updates both follower and following counts.I also improved the UI by hiding the Follow and Message buttons when users view their own profile, preventing unnecessary actions and making the experience feel more polished. Overall, this update fixes follower tracking, prevents self-following, and improves profile usability. Hopefully, I’ll be finishing the project in the next devlog!
Devlog #5: The Final Update — TypeForum is Shipping TypeForum is finally finished. TypeForum is a modern discussion platform built with Next.js 16, TypeScript, and Supabase. The goal was to create something that feels premium, customizable, and actually enjoyable to use instead of another generic forum. Here’s everything added in the final release. Trending Threads I built a ranking algorithm that determines which threads should appear on the front page. It takes into account upvotes, downvotes, replies, views, and time decay, so active discussions rise while older posts naturally lose momentum. Profile Pictures and Banners Users can now personalize their profiles with custom avatars and profile banners. Media is handled through Supabase Storage, and changes are previewed instantly before saving. Added stats that show the number of upvotes, comments and thread s. Cleaning Up the App I removed features that felt unnecessary, including the supplement store and separate ranking pages. The focus is now entirely on what matters most: forums, profiles, and discussions. Billboard Ads Added support for 970×90 billboard ads. Administrators can enable or disable ads globally and upload custom image or GIF banners directly from the dashboard. New Admin Dashboard Probably one of my favorite additions. Admins can now: -Change the site name globally, with logo initials generated automatically. -Edit homepage headings and footer text without touching code. -Highlight words using [brackets], which automatically render with a purple gradient. -Rename categories and subforums on the fly. -Customize rank names for levels 1 through 5. Smart Notifications Added PostgreSQL triggers for notifications: -Replies to threads and comments. -New followers. -Upvote milestones (5, 10, 15, and so on). I also added duplicate protection to prevent users from getting spammed when vote counts fluctuate. Who is TypeForum for? -Gaming and tech communities. -Fitness and self-improvement groups. -Creator communities and fanbases. -Anyone looking for something they fully own instead of relying on Discord or Reddit. And that’s it. Building TypeForum has taught me a lot, from UI design and database architecture to spending far too much time fighting CSS. It’s been an incredible experience, and I’m excited to finally ship it.
FINAL UPDATE (i hope) hi gng, apparently there was lots of bugs and the css looked not so sigma in my past attempt to ship it. but here i am wit ts again fully reworked. i hope its good this time and that it finally get shipped. a quick summary of what ts is: its a platform for communities that needs a forum thats not in reddit. i originally made it for a friend of mine but my guy got slimed before i finish this and now i dont have contact of him anymore 🥀. https://type-forum.vercel.app/ toodles✌️
Ships:
TypeForum - A Forum web app for niche communities! It was a good experience making this project, I’ve faced issues with updating info real time but i have managed to over come it. If you are testing this, make sure to run all the SQL commands in supabase/migrations.
one devlog wasn’t included in prevoius ship so im shipping it again. also addressed few bugs from feedback and i have fixed it....
|
1792878517.8331976
|
1793742517.8331976
|
|
55038
|
Amazing hackpad by @rayhanavicenna1604 | Stardance
|
rayhanavicenna1604
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Amazing hackpad by @rayhanavicenna1604 | St Title: Amazing hackpad by @rayhanavicenna1604 | Stardance...
|
1793137717.571814
|
1793742517.571814
|
|
52786
|
My first slack bot! by @aaradhyap | Stardance
|
aaradhyap
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-24T01:19:22Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a slackbot that can respond to various different commands. What was challenging is that I could not figure out for some reason why my commands were not working then I figured that I had to update them on slack API also! It can run commands like: /slackbot1-roll - this rolls a 6 sided die /slackbot1-ping just pings you back and shows the latency /slackbot1-coinflip Flip a coin and see if its heads or tails! /slackbot1-rps You can play rock, paper or scissors with the slackbot. Just type /slackbot1-rps (here type any one of rock, paper or scissors) /slackbot1-help Get help with all commands /slackbot1-catfact Get an interesting fact about cats. /slackbot1-joke Let it tell you a funny joke and make you laugh! But there is a lot more, so be sure to explore it using /slackbot1!", "repo": "https://github.com/AARADHYAPATEL/mycoolslackbot", "demo": "https://hackclub.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 53468, "ts": "202 [{"post_id": 53468, "ts": "2026-08-24T01:14:44Z", "hours": 0.3006, "text": "Made it run 24/7 on Nest!!!!"}, {"post_id": 52765, "ts": "2026-08-23T03:28:56Z", "hours": 0.2583, "text": "Adding a readme and other commands"}, {"post_id": 52753, "ts": "2026-08-23T02:57:06Z", "hours": 0.3464, "text": "Added and debugged working rock, paper and scissors"}, {"post_id": 52745, "ts": "2026-08-23T02:31:24Z", "hours": 0.2525, "text": "New bot command - slackbot1-roll"}]...
|
Title: My first slack bot! by @aaradhyap | Stardan Title: My first slack bot! by @aaradhyap | Stardance
Devlogs:
New bot command - slackbot1-roll
Added and debugged working rock, paper and scissors
Adding a readme and other commands
Made it run 24/7 on Nest!!!!
Ships:
I made a slackbot that can respond to various different commands. What was challenging is that I could not figure out for some reason why my commands were not working then I figured that I had to update them on slack API also! It can run commands like: /slackbot1-roll - this rolls a 6 sided die /slackbot1-ping just pings you back and shows the latency /slackbot1-coinflip Flip a coin and see if its heads or tails! /slackbot1-rps You can play rock, paper or scissors with the slackbot. Just type /slackbot1-rps (here type any one of rock, paper or scissors) /slackbot1-help Get help with all commands /slackbot1-catfact Get an interesting fact about cats. /slackbot1-joke Let it tell you a funny joke and make you laugh! But there is a lot more, so be sure to explore it using /slackbot1!...
|
1792878517.003985
|
1793742517.003985
|
|
55037
|
Lumos by @vertriwayz | Stardance
|
vertriwayz
|
0
|
4.52
|
0
|
[]
|
[{"post_id": 58809, "ts": "202 [{"post_id": 58809, "ts": "2026-08-31T12:05:19Z", "hours": 1.2167, "text": "Devlog #2 - Building Lumos 💡 So, as I would pretty much expect now I think I am getting some trouble with the CAD, especially creating that hole to allow the TFT screen to fit flush with the case. I am still thinking about it. Other than that I was able to begin building it at least and have fixed some issues but I think I still have to work on them. (am I cooked? What are these colorful things on the extrusions?)"}, {"post_id": 57884, "ts": "2026-08-30T06:34:04Z", "hours": 2.6497, "text": "Devlog #2 - Building Lumos 💡 Ok, it so that didn’t really go to my plan. I thought I would be able to finish this quickly, but so far the CAD is really hard to do. It has taken me at least 2 hours to do just the extrusion (as well as exporting and importing), but I was able to export the STEP files and gerber files from my project. All I’m asking is: How can you do the TFT screen extrusion? I think its a big problem and once I get that out of the way, I should be able to move on to things like screws, case, plate, and more. However, I think my PCB has come up great overall and I think that should be the finished PCB (for now)."}, {"post_id": 57301, "ts": "2026-08-29T12:35:08Z", "hours": 0.65, "text": "Devlog #1 - Building Lumos 💡 So, I began building this alarm clock which is not just about helping you wake up , but to give you that nudge to get up and start the day. I began on the pcb and schema, and its pretty epic!!! This project might not only be an alarm clock, but possibly include built-in technology that could connect do your laptop or phone and help provide you calender events, and even a screen with time (I know, I know). I don’t really want to make the alarm clock that much of a loud sound, just to make you wake up and feel great instead of a sharp iPhone alarm noise. You may be wondering, what will I work on? Well, here’s the answer to that: PCB Adding 3d models to KiCad Building CAD in OnShape Firmware Compatibility with devices to pair calendar events Uploading project files and adding all final requirements and touches Well that’s pretty much it. I already am familiar now with OnShape and KiCad since I did the Macropad project, so I should probably try to finish this project quicker to do more of my quirky ideas."}]...
|
Title: Lumos by @vertriwayz | Stardance
Devlogs:
Title: Lumos by @vertriwayz | Stardance
Devlogs:
Devlog #1 - Building Lumos 💡 So, I began building this alarm clock which is not just about helping you wake up , but to give you that nudge to get up and start the day. I began on the pcb and schema, and its pretty epic!!! This project might not only be an alarm clock, but possibly include built-in technology that could connect do your laptop or phone and help provide you calender events, and even a screen with time (I know, I know). I don’t really want to make the alarm clock that much of a loud sound, just to make you wake up and feel great instead of a sharp iPhone alarm noise. You may be wondering, what will I work on? Well, here’s the answer to that: PCB Adding 3d models to KiCad Building CAD in OnShape Firmware Compatibility with devices to pair calendar events Uploading project files and adding all final requirements and touches Well that’s pretty much it. I already am familiar now with OnShape and KiCad since I did the Macropad project, so I should probably try to finish this project quicker to do more of my quirky ideas.
Devlog #2 - Building Lumos 💡 Ok, it so that didn’t really go to my plan. I thought I would be able to finish this quickly, but so far the CAD is really hard to do. It has taken me at least 2 hours to do just the extrusion (as well as exporting and importing), but I was able to export the STEP files and gerber files from my project. All I’m asking is: How can you do the TFT screen extrusion? I think its a big problem and once I get that out of the way, I should be able to move on to things like screws, case, plate, and more. However, I think my PCB has come up great overall and I think that should be the finished PCB (for now).
Devlog #2 - Building Lumos 💡 So, as I would pretty much expect now I think I am getting some trouble with the CAD, especially creating that hole to allow the TFT screen to fit flush with the case. I am still thinking about it. Other than that I was able to begin building it at least and have fixed some issues but I think I still have to work on them. (am I cooked? What are these colorful things on the extrusions?)...
|
1793137715.7637608
|
1793742515.7637608
|
|
55036
|
My awesome macropad! by @mouhid | Stardance
|
mouhid
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @mouhid | Stardance
|
1793137714.8601372
|
1793742514.8601372
|
|
16300
|
EpochOS by @Mokila | Stardance
|
Mokila
|
2
|
119.0
|
2078
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-22T09:43:03Z", "hours": 112.0, "multiplier": 19.26, "payout": 2078, "blessing": "neutral", "text": "EpochOS is a fully functional operating system built entirely with vanilla JavaScript, HTML, and CSS. It doesnt require any client side installations or anything and runs directly in your browser. Its features include a file explorer, a browser, a media player, many essential applications, lots of customisation, widgets, and an actual ecosystem that mimics a real operating system. It also has no backend so it’s all run locally on your browser using the browser’s localStorage. Some things you should know before you test this out: Firstly, please don’t finish rating this project until you experience all the features because there are many hidden features that might change your opinion. An example is easter eggs. I implemented many easter eggs which you must experience before voting because these easter eggs are very devloped. If you can’t find them or are stuck on one of the easter eggs, read ARCHITECTURE.md and at the very bottom, i listed all the easter eggs so you can check them out. In fact, read the ARCHITECTURE.md because it provides valuable info about many of the features in the OS and how they work so make sure to read that aswell Secondly, this OS is not compatible with mobile or tablet devices and is optimized for desktop only. So please keep that in mind when you are testing it. Thank you so much for testing this project and hope you enjoy it :)", "repo": "https://github.com/Moksha-0102/MyOwnWebOS", "demo": "https://my-web-os-inky.vercel.app/"}, {"ship_num": 2, "ts": "2026-06-13T15:31:39Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a simple operating system with HTML, CSS, and Javascript that runs on you web browser. It has a nostalgic look and feel with old-styled buttons and looks. To make it more like an OS, a calculator and a notepad have been created and implemented in the app. Moreover, to allow the user to personalise as much as they want, many settings have been included, from custom wallpapers to wallpapers that come from NASA itself and more. This was my first large scale project that I have coded so it’s an interesting experience for me. Before this, I only used to do challenges on platforms like Codewars and other than some small side projects, I don’t have a practical experience. Therefore, i think this project has taught me a lot on how to built stuff yourself. I hope you like my project :)", "repo": "https://github.com/Moksha-0102/MyOwnWebOS", "demo": "https://my-web-os-inky.vercel.app/"}]...
|
[{"post_id": 32866, "ts": "202 [{"post_id": 32866, "ts": "2026-07-22T09:36:10Z", "hours": 0.3622, "text": "WebOS 2 Devlog #21: Final Submission Just did some final changes to the welcome text and am about to ship it"}, {"post_id": 32842, "ts": "2026-07-22T07:57:53Z", "hours": 1.0103, "text": "WebOS 2 Devlog #20: Updated README.md and ARCHITECTURE.md + changed properties window I just realised I had a properties window in the OS and that was quite outdated so I changed to include some new info like the Last Modified date which updates everytime the user saves something because i added a localStorage.setItem that saves the timestamp. I also updated the README and ARCHITECTURE files to make them sound better and to add some additional info. Anyway, this devlog is probably the last on for this project! Hope you enjoy :)"}, {"post_id": 32822, "ts": "2026-07-22T06:51:37Z", "hours": 7.8417, "text": "WebOS 2 Devlog #19: README.md + ARCHITECTURE.md + additional customisation features I’m in the final stages of the project and in this long session, I did many things. Firstly, I wrote a README.md with all the necessary stuff and i also made an ARCHITECTURE.md file which explains the nitty gritty insides of the WebOS so anyone can understand how the website works. Other than that I added a couple of other stuff. Firstly, i realised that even though I have accents to customize the desktop, I don’t have a wallpaper gallery (except the nasa apod) which I found was quite necessary. At first, i coded my own wallpapers like a synthwave grid wallpaper, pinstripe wallpaper for the legace theme, a tranforming aurora wallpaper and like 3 more but after i coded them, they just looked so damn ugly. So i scratched the idea of me coding my own wallpapers and added three categories of wallpapers in the wallpaper dropdown with each category having three 4k wallpapers in them so every time you pick that category, you get a random wallpaper from the three. I also added an about section in the settings which has a buttton that leads to the github page."}, {"post_id": 32308, "ts": "2026-07-21T12:14:02Z", "hours": 5.4103, "text": "WebOS 2 Devlog #18: Debugging session I swear random bugs keep popping up no matter how much debugging I do. There’s always something that’s wrong or doesn’t work but that’s just how it is. In this session which was longer than expected, i fixed a lot of different bugs. Here is a summary of the changes i did: I spent lots of time rewriting the mathematics for the desktop icon layout, and also changed the strict grid-snapping to free-form placement cus it felt it was quite annoying not to be able to place stuff on the desktop wherever you want. Unfortunately, it took too long and i abandoned the idea and just moved on without making any changes. I also spent some time cleaning up the code and tried to optimizing the code. Some other bugs I fixed include: Desktop icons were randomly rearranging themselves every time a file was saved. I found out that the reason was that since the localStorage returns keys randomly, everytime i wrote sth to localStorage, the items were randomized so the ordier they appeared on the desktop changed. So i rewrote the logic to sort the stuff alphabetically before displaying. The Notepad app was also blindly overwriting existing files with the same name. I fixed it by adding a localStorage query to intercept matching keys and to display an osConfirm dialog, forcing the user to explicitly authorize the overwrite. The internal browser was throwing captchas all the time and failed to load error screens for blocked domains. Since Google aggressively blocks embeds and flags them as bot traffic, i changed the default browser to Bing, which was much better and i didn’t get captchas everytime i search somehting up I also modified the system daemon engine so that it introduces itself when a user first view the OS. The weather widget was pulling the location not from where the user was but rather where my ISP was routing my traffic through. So if i lived in a village and ISP routes my traffic through like New York, the weather that showed up was that of New York. To fix this, i swapped the logic to request exact hardware GPS coordinates via navigator.geolocation, while falling back to the IP routing API if the user denies the browser prompt. If the location is inaccurate the user can enable the location permission in the browser and the weather widget then shows the correct location. The visualizer widget was working perfectly but i had the idea to add a text container above the bars which shows what the user is playing. I made way way more changes but many of them conform to the easter eggs and mainly about the theme that gets unlocked (small spoiler there ;)) so i won’t really get too much into it."}, {"post_id": 31915, "ts": "2026-07-20T18:15:51Z", "hours": 10.1178, "text": "WebOS 2 Devlog #17: Media player + Audio spectrum widget implementation It has been a massive coding session. And I barely managed to keep the time below 10 hours and I still went over it. But, on the bright side, the OS now has a fully functional, media player and an audio spectrum widget! In the media player, anyone can listen to radios, and lots of music. But the reason it took 10 hours is because implementing these stuff required facing some serious bugs-some of them for genuinely stupid mistakes-and rebuilding the audio engine the right way (you’ll see what I mean). Here is a breakdown of how these new features work, what went wrong, and some other stuff: Overview of features The Media Player: The new Media Player is a audio application that routes requests to three distinct APIs to fetch music that the user can listen two: Audius: This is a “decentralized music streaming platform for artists, labels, and fans.” And it’s free! I fetches some of the music from this API. Radio-Browser: This is a platform that is, in a nutshell, Wikipedia for radios. I fetched thousands of live, global radio broadcasts using this API Apple iTunes (Preview): This was a golden find because I didn’t know this existed (not for free anyway). This API pulls top hits and previews of music. Granted, it’s not full music tracks but the songs are much more famous and popular. The Audio Spectrum Widget To complement the player, I also added an Audio Spectrum visualizer. It uses the Web Audio API, or more specifically, its AudioContext and an AnalyserNode to get the frequency data from the audio element. That data is then mapped to an HTML5 element. Using requestAnimationFrame, I made it such that the spectrum repaints 40 individual frequency bars roughly 60 times a second, which creates the audio visualiser waveform thing. Challenges The Geolocation failure: The OS was originally hardcoded to fetch radio stations from my address because I hardcoded that for testing purposes. But I stupidly forgot to remove that so when attempting to make this dynamic by using vpns I spent like 40 minutes trying to figure out why ut kept showing stations from my local area and not japan (where my VPN was connected to). And the reason for that is the hardcoded address I mentioned earlier. Moreover, some of the API queries were too specific, causing the media player to return empty for smaller regions like the Bahamas. To fix it i used the BigDataCloud API to quietly ping the user’s IP address, cache their true country code, and inject it into the API queries. the broken audio spectrum: Initially, the audio visualizer was completely blank. Even when fixed, the baseline would just disappear the second music started playing. The canvas drawing logic was also aggressively using clearRect to wipe the entire widget, which erased the idle state baseline. To fix it, I changed the baseline math so that the baseline sits firmly at the bottom of the widget. I also remade the drawing loop to explicitly redraw the baseline before checking the isPlaying state, so the frequency bars can work smoothly. retro theme problems: I completely forgot about the retro theme as i was just focused on building the player and the widget. So, in the end i had to make the stuff retro theme aswell. I encountered some problems there like some white on white text and some styles not applying which turned out to be because my dumbass brain mispelled the ids and classes Oh, and I found some other big bugs. The dragging engine was hella laggy. Like the response time was like 3 seconds before it registered. I would go deeped but im abt to cross the 4000 character devlog word limit but in a nutshell I realised it was because the mousemove event listener was directly updating the inline CSS (style.left and style.top) on every single microscopic mouse movement so it was really laggy."}, {"post_id": 30592, "ts": "2026-07-18T09:18:19Z", "hours": 8.5214, "text": "WebOS 2 Devlog #16: Widget implementation + debugging In this session, i made multiple changes to the OS to improve the overall UX. I had to pull another all nighter again 🥲. Here is what i changed: Change 1: Debugging Everytime i enabled the system daemon in the settngs, the entire os reloaded which was quite annoying so I ripped out the location.reload() in the Settings app. I also moved him to the body so he didn’t get trapped behind windows, because most of the time the daemon was floating behind windows and i couldnt really see him. I also gave the Welcome screen a massive 9999999 z-index so the daemon would float behind it because my previous step was too effective and he was infront of every single screen including like the bootloading screen. Challenges: I ran into z-index hell because I didn’t plan the stacking initially. He was either in the very front or at the very back and it was all a bit weird. Change 2: Widget implementation I initially wanted to implement sticky notes as a widget which was inspired my the mac sticky notes so i coded all of that in first but I realised i can take it a step further and code in multiple widgets. Challenge: But the thing was i hardcoded the sticky notes widget so i had to recode everything and integrate all of the widgets at once I added a simple analog clock widget I added a calendar widget I initially added a system monitor with like the ram and cpu data but the thing was due to the security restrictions, I can’t get the actualy live hardware data so it would have to be a simulation, which i didnt want so I replace the system monitor with a live weather widget which uses the BigDataCloud and Open-Meteo APIs to provide weather data. Change 3: Originally I had all hte widgets in the context menu on after the other but they looked like a list and a bit redundant. So i removed all then in the html file and added one ‘Add a widget…’ option which connects to a screen with all the widget options"}, {"post_id": 30122, "ts": "2026-07-17T13:15:43Z", "hours": 6.5461, "text": "WebOS 2 Devlog #15: System Daemon implementation To keep the users more engaged so even when they saw everythign, they would still spend more time doing stuff, I wanted to build something alive for the desktop environment that would interact with the user. So, instead of a standard app, I built a system daemon! If you dont know what that is, it is a digital pet that hangs out on your desktop and does random stuff. I dont hav ea name for him yet so ill just call him daemon for now. When he’s healthy, he flies around the screen and shouts random stuff at you. But I didn’t want him to just be a visual gimmick. He interacts with the actual operating system itself and has states: He is hungry: Because I previously built a drag-and-drop system for the File Explorer, I hooked him into it. You can drag actual text files or folders out of your explorer and drop them on his face. He will chew them up and literally delete them from the virtual hard drive (localStorage). He has a digestive tract: I built a array for his stomach that records what he has last eaten. If he ate a file you actually needed, you can rapid-click his face 5 times. He will regurgitate the raw file data perfectly back onto your desktop. He has boundaries: I ‘taught’ him to recognize core OS files. If you try to feed him Notepad.app or the System Settings, he will violently reject them and yell at you. He has one more state but that relates to the easter egg so i wont provide any additional details in order to not spoil it Oh, and i changed his appearance for the retro theme. anywhat that’s all for this change. I didn’t get into the nitty gritty of how I built him because I am so excited to finish this project. Just a few more features and then I’m done."}, {"post_id": 29444, "ts": "2026-07-16T12:05:56Z", "hours": 7.8072, "text": "WebOS 2 Devlog #14: Easter Eggs Pt. 2 I am now done with making the easter eggs and in total i made 5 of them, which may seem less but some of them are really really complex and developed. I stayed up till 2am making these 😭. Out of these 5, three of them are simple easter eggs, one is more complex but still quite simple and the final one is essentialyl the absolut highlight. It is the reason why the easter egg section took me so long. I am not going to go into detail to avoid spoilers. Anyway i hope you have fun with the easter eggs :) p.s the attached pic is a screen shot again cus i dont want to give spoilers"}, {"post_id": 29017, "ts": "2026-07-15T17:46:09Z", "hours": 8.8292, "text": "WebOS 2 Devlog #13: Easter Eggs Pt. 1 I was looking forward to this a looooot. I’m not giving any spoilers whatsoever but I was so locked in tday and yesterday coding easter eggs into the OS. I added like 2 easter eggs (might seem less but trust me they’re very developed), one’s a very simple one but the other one is my favourite and is the reason this devlog took so long. It’s still not finished and im only lik halfway done w/ it but I’m not going to go into any details because it will spoil the fun but im sure you’ll enjoy it. Also, im not done with making easter eggs and i just made this devlog cus the time is almost 10hrs. I still have to finish the second easter egg and do more on top of that. The next one will hopefully be the final easter egg session (unless i get another absolute brainwave). p.s to prevent spoilers, the attached pic is just a screenshot once again"}, {"post_id": 28283, "ts": "2026-07-14T13:15:34Z", "hours": 3.2847, "text": "WebOS 2 Devlog #12: Debugging Session + retro theme redesign In this session I started debugging the os and wow i found a lot of bugs. Im not going to get into them because it would take too long but some of them include how the bootloading sequence absolutely breaks if the user presses escape before the setup is finished because the cache isnt cleared properly so when the user gets the setup agian, he wont we able to configure some stuff like the password because the cache wasnt cleared properly. I also redesigned the retro theme because it looked ugly because the accents i implemented in the modern theme appeared in the retro theme which didnt fit together. Moreover, some of the aspects of the retro theme, such as the top part of the web browser or the settings screen were just uncomfortable to look at. Changing the retro theme was such a pain because everytime i thought i fixed it, a new discrepancy appears and at one point after i fixed it, my retro-theme.css was so messy i couldnt be bothered to fix it so i just inputted the messy working version into gemini and it cleaned it up. Anyway that was all i changed this time. And I did more and more changes but many of them are small and it would take too long to explain in a devlog. p.s. didnt know which pic to attach so its just a simple screenshot of the desktop."}, {"post_id": 28127, "ts": "2026-07-14T06:44:53Z", "hours": 9.4628, "text": "WebOS 2 Devlog #11: Reset btn + Notepad IDE + other changes This was a long long coding session. Had to stay awake till like 2am. Here are the changes i made. Ill try to keep everythign concise because theres a 4000 char limit and i have lot more to say than that. Change 1: I added a factory reset button in settings that directs the user to the webos setup screen like the one they get when they first enter the website. When testing this feature, i realised that random variables from completely different web projects started appearing in the File Manager. Because browsers share localStorage databases across the same local port (e.g., 127.0.0.1:5500), the OS was inheriting the ghosts of old projects. The solution: I had to upgrade the Initial Setup Utility. When formatting the Virtual Hard Drive, the system now temporarily caches the user’s OS credentials in memory that they entered, executes a total localStorage.clear() wipe to delete all the localStorage varialbles, and then safely restores the username and stuff before continuing normally. Change 2: Notepad IDE This was the part that took the longest (and its still not done). I wanted to create something absolutely unique that i havent seen in any other webos projects that i saw. And i realised, why dont i make an IDE in me webos? Not an actual IDE ofc but the goal was to allow users to write raw HTML/JS in the Notepad, save it as a .app file, and double-click it on the desktop to launch it as a fully functioning, program. Attempt 1 (Failure): I initially tried parsing the saved text and running it directly in the OS context using eval(). It was an absolute security and stability nightmare. The custom app had root access to the OS memory and instantly overwrote the osState object, completely crashing the Window Manager within seconds. Attempt 2 (Failure): I tried fixing attempt 1 but messed up the entire code in the process so i had to revert to that commit and this time, i tried putting the apps in Web Components and the Shadow DOM. While this successfully isolated the CSS so custom apps didn’t break the OS styling, the JavaScript still executed in the global window scope. Running two different custom apps simultaneously caused variable collisions that bricked the taskbar. It was too complex and fundamentally flawed. I wiped the slate clean again. Attempt 3 (Success): I realised that the answer was looking straignt at me. I was so stupid. I can just take the code and slap it on to an iframe, and it runs it, just like how i made the web browser. The solution was that When a user double-clicks a custom .app, the OS takes the raw code and converts it into a text/html Blob. It then passes that Blob through URL.createObjectURL(), creating a localized URL. By feeding that URL into an , the custom app boots perfectly. I am really proud of this feature. It’s still not fully done but i had to make a devlog since the tracked time almost reached 10hrs."}, {"post_id": 27267, "ts": "2026-07-12T18:02:31Z", "hours": 4.4556, "text": "WebOS 2 Devlog #10: icon implementation + taskbar remodeling When i looked at the webos, i realised it missed something to look like an actual os. It wasnt realistic enough. So, i decided to do two changes to make it more realistic. Here is what it did: Change 1: I added some real user data in the taskbar. More specifically, the host device’s actual network and battery status and date. I used the the browser’s native navigator.onLine and the navigator.getBattery() APIs. I also made it such that the os actively listens for network connection drops such as when wifi is disconnected and battery charging/level events, and updates the data accordingly. Change 2: I also noticed that my entire os is filled with emojis for stuff like calculator, file manages (all the apps essentially), the taskbar, the browser, the sites in the browser, etc. THis made it look really unprofessional so i fixed it. I replace all system emojis with Google Material Symbols to make it look a lot better. I did face one challenge however, the emojis in my website in my web browser weren’t being replaced by icons for some reason and I then realised that the iframe sites acts as a sandbox and they dont inherit the imported apis from the main html file. So I just injected a tag and imported the Google Material Symbols API directly in the isolated HTML code in my js file. Change 3: The goal of this change was ot allow the user to snap the taskbar to the top of the screen (Linux style). This was the part that took longer than expected. I originally just added an optoin in the settings to move my taskbar to the top of the screen but the pill-like, floating taskbar i had was really ugly when it was at the top. So, i spent like more than an hour and half trying out new designs and redesigning the taskbar so it looks good both when its at the top and the bottom and finalised a design that actually looks much better than what i had before. It now takes up like the entire bottom/top of the screen instead of floating in the middle liek before. That was all the changes made since the last devlog."}, {"post_id": 26774, "ts": "2026-07-11T19:22:51Z", "hours": 3.2697, "text": "WebOS 2 Devlog #9: Implemented color accents and some browser improvements I was originally going to do some debugging and finish of this project but i was looking through other peoples’ webos projects and realised there was much i could improve. I then got like a huge brainwave about new stuff to implement so ig it’ll be a bit longer before I ship this project. One of these ideas was adding color accents because right now my modern theme is limited only to a light pinkish color. Here are the changes i made: Change 1: Accents In the settings screen, i added an option to choose the system accents. I also gave some basic presets and added an option to pick a color by adding a color picker option. Implementing this was quite simple, just replace all hardcoded pink colors with –os-accent (which i added in css). I linked htis –os-accents attribute/class to the color that the user chooses in js and made ti that all the places where the accent pops up, the color variable there is replaced with –os-accents. So if the user changes the accent in settings, the places where –os-accent is set changes color automatically. Challenge 1: Contrasting invisible text The problem: Swapping a single hex code for an accent color that the user chooses breaks all translucent UI elements (like shadows). Furthermore, if a user picks a bright color (like Mint Green or Yellow), the hardcoded white text on the title bars becomes completely invisible. The Solution: I implemented a Hex-to-RGB engine that injects raw RGB values directly into the CSS :root. This solves the first part of the problem. To solve the text contrast issue, I implemented the WCAG Relative Luminance algorithm ( used a bit of outside help here iykwim ;)). The OS now mathematically calculates the perceived brightness of the user’s chosen color. If the relative luminance passes a threshold of 0.179, the OS flips the title bar text to pitch black so its legible comfortable. Change 2: i was just playing around in the webbrowser and exploring, and i found some stuff that needed to be fixed: when building a simulated web browser using tags, embedding sites like google resulted in a “Refused to Connect” error. These servers send an X-Frame-Options: DENY header. Because client-side JavaScript is legally blind to server headers, the OS couldn’t detect the block to show the custom error screen I made. I knew this error existed and knew this was a thing but only after experiencing it like a real user did i realise how annoyinf this was and it made my os seem broken. Solution 1 (attempt): I initially tried routing requests through a third-party API to read the headers, but ad-blockers and privacy shields just made the API requests not work, crashing the entire browser app (at least thats what i think is the cause). The Solution: I used a massive Regex blocklist, such that the browser now instantly intercepts requests to 99% of top-tier websites that block iframes (like youtube or google), and routs the user to a custom error page. (did these stuff with the help of some ai only) Next Problem: When a user searches Google inside the iframe and clicks a link in the embedded page, the OS address bar wouldn’t update. This is a browser restriction. Browsers mathematically lock JavaScript out of reading cross-origin URLs for security reasons. At this point i just stopped instead of trying to waste my time trying to break through some military grade (i think?) restrictions. Change 3: Before, only iframe compatible websites worked but i had an idea to route all queries (except the ones in websites format) through a google search. Apparently, google.com doesn work in iframe but the google search works. So now if i type hello world, it just redirects me to a google search page with hello world searched. P.S. I made some other tiny changes aswell but i cant rlly remember them now sry"}, {"post_id": 20257, "ts": "2026-07-01T20:07:19Z", "hours": 2.9408, "text": "WebOS 2 Devlog #8: Migrated to ES6 arch. and split css into any files I just realised that essentially all my code is squished into three files-index.html, index.css, and index.js. And all of them were quite big. Like the js file had more than 2,000 lines, and css had more than a 1,000 lines. I dont know why i havent noticed it before but im glad that i did now because i was plannign to do a deep debugging session next and it wouldve been hella hard to do in a 2000+ line file. Plus, a single bug in e.g. the calculator could crash the file manager, and debugging required scrolling through thousands of lines of code. So, i decided to migrate the index.js into an ES6 architecture and split the index.css into multiple manageable files. That’s all i can say for this devlog ig. There was nothing new except some lines of code i had to add after the migration to make sure everything is working. There were no really new features added. But there were many things that delayed me: i accidentally deleted a block of code in the index.css without moving it and didnt notice it so some styles were broken and i had to like retrace my steps and stuff to fix all the problems it caused. That’s all ig. The project is almost coming to an end! Can’t wait to ship it :)"}, {"post_id": 19868, "ts": "2026-07-01T08:56:38Z", "hours": 3.9269, "text": "WebOS 2 Devlog #7: Web Browser Implementation I reached the final couple of phases of my project and this is one is one of the crucial ones: building a web browser. My plan was to use iframe. But the thing about building a webbrowser inside a webbrowser or inside a sandboxed environment like a website is most websites (about 99%) like google, youtube, or github use X-Frame-Options and Content-Security-Policy: frame-ancestors ‘none’ which means they specifically block their websites from being displayed in cases like this ot prevent clickjacking. So every time i tried loading a webpage, it just says this webpage refused to connect or sth. I used ai to try bypassing it but it didnt work, so with the help of the same aforementioned ai, i implemented a solution. The solution: Since I cannot disable host browser security policies, and i dont have a backend proxy server, I had an idea to just build my own native ‘browser’: EpochOS IntraNet (just decided on the name EpochOS btw). This didnt take too long cus i had someone (ai) helping me cus it was almost midnight and i was tired as hell. Here are the features: I wrote a parser that intercepts navigation requests. If the user navigates to webos://home or webos://directory, the engine injects a large data:text/html;charset=utf-8 string directly into the iframe’s src attribute. This opens a local, HTML dashboard without triggering cross-origin blocks. Essentially, i wrote html in js and injected that html into the iframe src, so i essentially made my own ‘web-page’. Standard links inside a data URI iframe will try to navigate the iframe itself, which doesn’t update the OS address bar. To fix this, I set up a window.addEventListener(‘message’) listener on the parent OS. The buttons inside the iframe use parent.postMessage() to pass the target URL up to the OS, allowing the JavaScript engine to handle the routing and update the UI properly. A real browser alse doesn’t lose a page’s state (like scroll position) when you switch tabs. And im trying to make a real browser. So, to achieve this, the browser engine now doesn’t share a single iframe but rather new ones get created: Every time the user clicks the “New Tab” button, a new node is generated and appended to the container. Switching tabs simply toggles the CSS display property between none and block. This keeps inactive pages fully loaded in memory. Because cross-origin security rules (the ones i mentioned before) lock us out of accessing the iframe’s native window.history object, I had to build a custom history router. Every tab object in the JS array maintains its own history array and a historyIndex pointer. The back/forward buttons just decrement or increment this pointer and re-apply the URL to the iframe. Kinda genius ngl (this was an idea from ai btw) But for a browser to be useful, it needs to have some proper webpages. After some scouring, i found some webpages that do work in iframe and dont have the restrictions that websites like google do. I’m not gonna tell you what websites those are, you just have to see yourself. I found like 10 or sth so there’ll be plenty of stuff to do. Other features of the browser include: bookmarking, reloading (i also added a reloading spinner btw) and some more stuff."}, {"post_id": 19207, "ts": "2026-06-30T14:00:14Z", "hours": 1.9208, "text": "WebOS 2 Devlog #6: UI, UX and functionality improvements This update focuses heavily on stabilizing what i already have and also refining the less finer aspects of the UI. Here is what i did: Theme improvenets: I overhauled the .theme-retro class. stuff were contradicting each other with one thing saying this and the other saying that (too many to even give an example). I also changed some other minor stuff too like increased the grid size in the desktop to prevent icons from overlapping. But this was the main change: System Security & Identity Manager: Implemented a global sanitizeIdentity utility (Regex: /[^a-zA-Z0-9_-]/g) to remove spaces and illegal characters from usernames and hostnames when the user sets it before writing to localStorage because if i have sth like ‘John Doe’ as the username and ‘my school computer’ as the host name, the terminal command would look sth like John Doe@my school computer. And this just looks hella ugly. Dedicated Identity UI: removed the raw identity inputs out of the Settings menu like i had before and moved them into a dedicated Identity Manager window because its more secure that way. I also added an authenticaiton wall before this window pops up. To do this, i wrote an async while loop for identity verification. All the users now have successfully pass the password prompt (or use the recover override to bypass the password) before it allows them to modify any identity settings. Bootloader improvements: btn-shutdown now properly halts system processes (clearing systemClockInterval and locking pointer events) instead of just hiding the UI like it did before where it just had like a black screen with text on it saying shutting down and stuff. It now has like a loading screen and all that stuff. Context Booting: i also implemented sessionStorage.setItem(‘boot_context’, ‘warm’) to track system restarts so different boots have like different bootloading sequences (the point below this). This didn’t take too long as i could just copy and past what i had in other sequenes and just take the text. Differnet Boot Sequences: The bootloader now reads the sessionStorage context. A Cold Boot triggers the full POST memory checks and hardware scans (dont know what this is. had to use ai for the sequences cus i didnt know what the data was). A Warm Boot (restart) bypasses POST and executes a different initialization sequence. THis makes the user more immersed in the environment."}, {"post_id": 18635, "ts": "2026-06-29T20:34:42Z", "hours": 3.7578, "text": "WebOS 2 Devlog #5: File manager overhaul + custom dialog box I realised that always having the custom browser alerts was kinda boring and interrupting so i made my own dialogue box. I also changed the file manager to include some essential functions that it was missing to make it more like an OS (see below). Here are the changes i made: I abandoned the old array-based folders. I made it so that it now reads and writes directly to localStorage using stricter pathing (e.g., webos-file-Root/Documents/file.txt). I also built a native getUniqueName() function. If you create a duplicate file or folder, there’s no like a (1), (2), etc. at the end of it, which prevents data overwrites. This makes it more like a real OS Drag-and-Drop: I alos removed the old custom JavaScript coordinate trackers for file movement. It now uses the native HTML5 Drag-and-Drop API. You can physically pick up a file from the Explorer window, drag it out, and drop it directly onto the visual Desktop wallpaper. Custom Dialog Box: Native browser popups (alert(), confirm()) look hella ugly and break the flow so i built a custom dialog engine using JavaScript Promises. Now, when the system needs confirmation a custom window that fits with the theme appears. Because it uses async/await, the JavaScript pauses and waits for user acceoting or declining without freezing the browser. List View & Item Properties: I introduced a hybrid Grid/List view (just like a real os like mac). Because tracking file metadata (like Date Modified) from the start would have been way to complicated, I just built this engine where when the File Explorer encounters a file without a timestamp, it instantly generates metadata key (os-meta-path) using Date.now() and saves it permanently, which means that it allows for Date sorting without breaking anything."}, {"post_id": 17638, "ts": "2026-06-28T14:55:23Z", "hours": 4.0281, "text": "WebOS 2 Devlog #4: Initial bootloading sequence + login (optional) When i looked at other projects i realised that they all have some kind of flashy bootloading sequences but mine didnt have any so i built one. I didn’t want it to be too flashy so i made a simple, straightforward sequence. I also knew what exactly I wanted so I managed to finish this in 4hrs on the dot or it would’ve taken a lot longer. This is what it consists of: Bootloader that takes into account the selected theme: Since I had two themes in my OS (Modern and Legacy), it didnt make sense for both to have the same loading screen. So the system now actually boots up differnetly before loading the UI. Depending on your settings, you’ll either get a quick Modern UEFI startup, or a 1995 Legacy BIOS sequence complete with memory checks, IDE drive detection, and ASCII loading bars (had to use some outside help [ai] for this one as I’m not that old to know all that stuff). Hardware Interrupts: Just like a real PC, if you hit esc while the system is booting, it triggers a hardware interrupt and drops you into a configuration screen. Interactive OS Installation: If it’s your first time booting up (or you reset your system), you now have to actually “install” the OS. You can type in your preferred Username, network Hostname, and set an Administrator Password right inside the terminal. You even get the option to format your virtual hard drive. Login: If you set a password (which is optoinal) during setup, the boot sequence will actually halt and lock the system until you type it in. (Don’t worry, I added a recover command bypass in case anyone forgets it). Terminal Integration: The CLI terminal now dynamically reads your setup data. Instead of a normal prompt that you used to get with the default user@stardance or sth, you’ll see your actual custom username@hostname:~/$. Loading text: as the os loads and goes through the bootloading sequence some highly advanced random computer text ‘loads’ to add a little bit to the realism. Some of them are actual data from the host computer such as ram, gpu, and stuff like that. I had lots of other text and loading content that came from the the user’s actual real life hardware and software data, which added to the realism I had to research and use ai to make this because I had no knowledge of how computers were back then. There’s more but it wont fit here so you’ll just have to see it when i host it after my next ship."}, {"post_id": 17451, "ts": "2026-06-28T07:29:09Z", "hours": 2.8478, "text": "WebOS 2 Devlog #3: Building a UNIX Terminal + some other improvements This was a major update today for WebOS 2.0 as i built a genuinely realistic CLI. It’s looks and acts like a Mac Terminal (cus i use mac). Here is what i implemented: In the terminal, i implemented the following commands: help, clear, pwd, ls, cd, cat, touch, mkdir, rm, echo, whoami, date, history, and nano. This part itseld wasnt so difficult cus I had previously done something similar before but it was still challenging nonetheless. I wanted the CLI to be as realistic as possible so I implemented (with a little bit of help from gemini) a custom AST-style parser. It fully supports logical command chaining (&&, ||, ;), quotation marks usage (both single and double), and file redirection (>, ») straight into the virtual hard drive. Autocomplete: This was probably the hardest thing i tried to build and i am happy with how it turned out. I implemented a zsh-style Tab completion system. Pressing Tab auto-fills the longest common prefix and then shows all the possible options directly beneath your active prompt. This is one of the things I a most proud of because after using it, it was essentially very similar to the mac Terminal. This autocomplete works both for commands and files/folders. Errors and stuff: The terminal behaves exactly like real bash. If you type ls -la (-la is not implemented [yet?]) or cd too many args, it won’t just blindly execute or fail silently (it originally did so i had to change it), but it will spit back the same error message you’d expect to see on a real machine. GUI/CLI Integration: When i was implementing nano, i tried to think of how to implement a CLI editor. But i then realised, i can just connect the nano command to the notepad that I alreadu made. So typing nano test.txt in the terminal now just launches the Notepad app and opens the file for editing. And I made some other changes to stuff like the file manager but the terminal implementation above is the biggest change."}, {"post_id": 16900, "ts": "2026-06-27T13:19:35Z", "hours": 1.9075, "text": "WebOS 2 Devlog #2: UI & UX Debugging + UI Improvements This was quite a short session mainly focused on debugging. Here are the changes for this session. New Setup Wizard: The Welcome Screen has been completely redesigned into a classic two-pane setup wizard. (In Retro mode, it even has the iconic sideways teal text on the sidebar). State Persistence: The OS now remembers your settings. Your preferences for military time, desktop icon labels, and whether you want to see the welcome screen on boot are all permanently saved to localStorage. Calculator & Layout Fixes: The calculator now properly displays full math expressions (e.g., 3 + 5) instead of instantly wiping the screen. Before it still worked but it just showed the numbers and the answer-it didnt show what the user was doing. I also fixed a ton of bugs. Apps that are maximized now perfectly snap to the taskbar without overlapping, and the File Explorer drag-to-select doesn’t glitch when you move the window because before the drag-to-select used to activate when i was dragging the window."}, {"post_id": 16391, "ts": "2026-06-26T17:48:49Z", "hours": 13.705, "text": "WebOS 2 Devlog #1: Transitioning into an actual OS. The WebOS 2 mission just unlocked so all the time before i spent working on this overhaul, hence the 13 hour devlog. In the last devlog, i had a very basic beginning: a basic onboarding screen with some text and a “Continue” button. There was no actualy proper desktop, not that many apps, and definitely no File Explorer. Over the last 13 hours, I managed to change the project into a fully functioning, browser-based operating system with its own virtual file system, and app ecosystem. Here is a breakdown of everything that was built in this time. Since i made a lot of changes, i’ll keep it brief and won’t go into it too much: The Window & Desktop Engine: the core physics of the OS were built completely from scratch. Drag and Drop: Windows can be dragged freely but are strictly clamped to the viewport so they can never be lost off-screen. Window Controls: remade the full Minimize, Maximize, and Close logic. Animations: Implemented a requestAnimationFrame state machine so windows don’t just appear—they like animate and scale and fade out into the taskbar. Desktop Grid: Desktop icons are draggable and auto-snap to an invisible grid when released. File System (File Manager): Going from zero file management to a complete virtual system was perhaps the biggest change. It is powered by localStorage, and the OS now remembers everything: Dynamic File Explorer: Built a grid/list view system complete with a sidebar, path breadcrumbs, and directory navigation. Context Menus: Right-clicking files now opens custom context menus to rename, delete, or restore items. Recycle Bin: Files are moved to a functional Trash directory where they can be permanently emptied or restored to the Root folder. Drag-and-Select: made a custom mouse-drag selection box (the translucent pink lasso) to highlight multiple files at once. App Ecosystem: Themes: I built a dynamic theme engine with two main themes. Modern Dark: The default OS features premium glassmorphism, background blurs, and other stuff, and has like a pink accent color. Retro: It changes the OS back to what it looked like in like 1995 by replacing animations and toggles with grey borders, checkboxes, and the blue desktop background. The New Welcome Screen: That old, basic onboarding screen looked ass so it was completely scrapped. I replaced it with a better and cleaner on that also remembers their preference if they check “Don’t show this on startup.”"}, {"post_id": 8031, "ts": "2026-06-13T12:06:02Z", "hours": 0.6592, "text": "Devlog #3: Onboarding and Eliminating FOUC Before shipping the WebOS 1 project and moving on to WebOS 2 project, I needed to implement an Onboarding/Welcome Screen to introduce users to the OS environment. This required a full-screen dark overlay. this is what i did: Z-index mismatch Because my custom Drag Engine automatically increments the zIndex of any .window it touches, the moment I clicked the Welcome Screen, the engine overwrote its god-tier Z-Index (99999). This caused an immediate Z-Index collapse, burying the modal underneath the desktop icons and the dark overlay. The Fix: I had to implement a strict exception in the JavaScript mousedown event listener to protect the Welcome Screen’s ID from being overwritten. DOM Reordering: To guarantee that the Welcome Screen will be at the very top,, I moved the Welcome Screen to the absolute bottom of the document. This means it will naturally sit on top of the other elements. Eliminating the FOUC I used the localStorage API so users could check a “Don’t show this again” box, saving their preference to the hard drive. However, this caused a massive FOUC bug. The Problem: HTML renders faster than JavaScript executes. On boot, the browser would instantly paint the Welcome Screen to the monitor. A few milliseconds later, JavaScript would read the hard drive, realize the user disabled the screen, and violently delete it—causing an ugly flicker. Fix: I basically just inverted the rendering logic. I hardcoded ‘display: none;’ directly into the HTML so the modal is completely invisible by default. Now, the browser paints nothing. JavaScript checks the hard drive, and only turns the welcome screen on if it confirms the user actually wants to see it. Now it’s much better. Ig this is the end of my WebOS 1 project. I will be shipping this project and then moving on to WebOS 2 where I’ll be implementing File Management, In-browser-browser?, and maybe some other built in tools. That’s the plan for now."}, {"post_id": 8007, "ts": "2026-06-13T11:10:55Z", "hours": 0.6994, "text": "Devlog #2: Debugging + Icon dragging features + localStorage implementation The core window manager is working properly so this second session was all about polishing the UI and UX aspects. But there were some challenges: The faulty dragging I transitioned the desktop icons from a static flexbox grid to absolute positioning so they could be freely dragged around the screen (like an actual operating system). However, this immediately triggered native browser collisions. The Problem: When clicking and dragging an icon, the browser saw the action as trying to highlight text or drag an image to a new tab. This triggered a native HTML “ghost drag,” completely overriding my custom JavaScript drag engine and leaving the icon permanently stuck to the cursor. The Solution: I just basically implemented multiple stuff to solve this: Applied ‘-webkit-user-select: none’ and ‘user-select: none’ to prevent highlighting. Injected ‘draggable=“false”’ natively into the HTML. Applied ‘pointer-events: none’ on the inner emoji and label text. This forces the mouse click to pass through the text and hit the icon container directly, ensuring my custom e.preventDefault() mousedown event works properly every time. State Persistence (The Local Storage API) An OS is useless if it resets every time you turn it on. I wired up the browser’s native localStorage API so it saves some of the stuff that the user did. So far it’s only the position of the icons, but I’m planning to add more stuff to the localStorage. Here are the changes: Upgraded the mouseup event listener to capture the exact X and Y coordinates of an icon the moment it is let go after dragging. Built a boot sequence that loops through .desktop-icon elements on page load, fetches their saved coordinates , and implementes them. Wallpaper changing bug The NASA API integration was fetching data successfully, but massive high-res images were causing visual lag, leading to a blank blue screen while the image downloaded in the background. Made a new thing where the newImage() is inserted into the virtual memory of the js. The UI now triggers a document.body.style.cursor = ‘wait’ loading wheel and displays a “Downloading…” status. JavaScript intentionally halts the DOM update until the virtual image’s ‘.onload’ event fires, ensuring the wallpaper only gets applied to the screen exactly when it is 100% ready. Lastly, I also added a setting in the settings tab where the user can choose if the icon labels are hidded or shown. What’s Next? The desktop environment is now completely stable, personalized, and persistent. Next up: More UI and UX refinements before shipping for WebOS 1. Gonna implement File Management for WebOS 2 :)"}, {"post_id": 7644, "ts": "2026-06-12T19:27:06Z", "hours": 5.5711, "text": "Devlog #1: Booting Up - Building a Custom Window Manager & Desktop Environment from Scratch Today marks the official first boot of my WebOS project. I’m trying to build a full OS that runs in the Web Browser directly using HTML, CSS, and Vanilla JavaScript. It acts like an actual operating system, like windows for example, but the only difference is the way it looks, it’s identity and that it runs in your web browser. Over the past few hours, I changed the project from a static layout into a fully interactive environment. Here is a breakdown of the core engine and features that I currently built. The Custom Window Manager The hardest part of making an OS is handling window states. I built a universal Drag-and-Drop engine with dynamic Z-Index management. The Problem: Windows would get stuck behind each other, or the browser would lose track of the mouse if the user dragged too fast or threw the window off-screen, so i wouldn’t be able to drag it back. The Solution: I implemented an event elegation system attached to the document root, calculating mouse offsets relative to the title bars. This means wherever the mouse moves, the title bars move to keep that offset difference the same, which is essentially what the drag and drop function is. I also engineered physical constraints so windows can never be dragged out of the viewport. The Desktop Environment To not make seem like this is just a website, I completely changed the browser’s default behavior. I Implemented double-click event listeners for desktop icons and then overrode the native browser right-click menu ( e.preventDefault() ) and built a custom OS context menu this makes it feel more unique. Core Applications Notepad: A fully resizable text editor using CSS flexbox so the typing area automatically expands with the window. Calculator: Quite self-explanatory. Engineered the math logic from scratch. Settings (NASA API): Built a customization menu that toggles a global 12hr/24hr clock state, and fetches real-time data from NASA’s APOD API to dynamically change the desktop wallpaper based on the NASA Picture of the Day. What’s Next? The UI feels like an OS, but it lacks permanence. Next on the roadmap: File Management. I’ll be engineering a system to actually save the data typed into the Notepad so it survives page refreshes. Also, I want to create a web browser with actual internet access to really bring that OS feeling. That’s all I have planned out. p.s. I’ve attached some pictures of my website below - hope you like it :) Stay tuned."}]...
|
Title: EpochOS by @Mokila | Stardance
Devlogs:
De Title: EpochOS by @Mokila | Stardance
Devlogs:
Devlog #1: Booting Up - Building a Custom Window Manager & Desktop Environment from Scratch Today marks the official first boot of my WebOS project. I’m trying to build a full OS that runs in the Web Browser directly using HTML, CSS, and Vanilla JavaScript. It acts like an actual operating system, like windows for example, but the only difference is the way it looks, it’s identity and that it runs in your web browser. Over the past few hours, I changed the project from a static layout into a fully interactive environment. Here is a breakdown of the core engine and features that I currently built. The Custom Window Manager The hardest part of making an OS is handling window states. I built a universal Drag-and-Drop engine with dynamic Z-Index management. The Problem: Windows would get stuck behind each other, or the browser would lose track of the mouse if the user dragged too fast or threw the window off-screen, so i wouldn’t be able to drag it back. The Solution: I implemented an event elegation system attached to the document root, calculating mouse offsets relative to the title bars. This means wherever the mouse moves, the title bars move to keep that offset difference the same, which is essentially what the drag and drop function is. I also engineered physical constraints so windows can never be dragged out of the viewport. The Desktop Environment To not make seem like this is just a website, I completely changed the browser’s default behavior. I Implemented double-click event listeners for desktop icons and then overrode the native browser right-click menu ( e.preventDefault() ) and built a custom OS context menu this makes it feel more unique. Core Applications Notepad: A fully resizable text editor using CSS flexbox so the typing area automatically expands with the window. Calculator: Quite self-explanatory. Engineered the math logic from scratch. Settings (NASA API): Built a customization menu that toggles a global 12hr/24hr clock state, and fetches real-time data from NASA’s APOD API to dynamically change the desktop wallpaper based on the NASA Picture of the Day. What’s Next? The UI feels like an OS, but it lacks permanence. Next on the roadmap: File Management. I’ll be engineering a system to actually save the data typed into the Notepad so it survives page refreshes. Also, I want to create a web browser with actual internet access to really bring that OS feeling. That’s all I have planned out. p.s. I’ve attached some pictures of my website below - hope you like it :) Stay tuned.
Devlog #2: Debugging + Icon dragging features + localStorage implementation The core window manager is working properly so this second session was all about polishing the UI and UX aspects. But there were some challenges: The faulty dragging I transitioned the desktop icons from a static flexbox grid to absolute positioning so they could be freely dragged around the screen (like an actual operating system). However, this immediately triggered native browser collisions. The Problem: When clicking and dragging an icon, the browser saw the action as trying to highlight text or drag an image to a new tab. This triggered a native HTML “ghost drag,” completely overriding my custom JavaScript drag engine and leaving the icon permanently stuck to the cursor. The Solution: I just basically implemented multiple stuff to solve this: Applied ‘-webkit-user-select: none’ and ‘user-select: none’ to prevent highlighting. Injected ‘draggable=“false”’ natively into the HTML. Applied ‘pointer-events: none’ on the inner emoji and label text. This forces the mouse click to pass through the text and hit the icon container directly, ensuring my custom e.preventDefault() mousedown event works properly every time. State Persistence (The Local Storage API) An OS is useless if it resets every time you turn it on. I wired up the browser’s native localStorage API so it saves some of the stuff that the user did. So far it’s only the position of the icons, but I’m planning to add more stuff to the localStorage. Here are the changes: Upgraded the mouseup event listener to capture the exact X and Y coordinates of an icon the moment it is let go after dragging. Built a boot sequence that loops through .desktop-icon elements on page load, fetches their saved coordinates , and implementes them. Wallpaper changing bug The NASA API integration was fetching data successfully, but massive high-res images were causing visual lag, leading to a blank blue screen while the image downloaded in the background. Made a new thing where the newImage() is inserted into the virtual memory of the js. The UI now triggers a document.body.style.cursor = ‘wait’ loading wheel and displays a “Downloading…” status. JavaScript intentionally halts the DOM update until the virtual image’s ‘.onload’ event fires, ensuring the wallpaper only gets applied to the screen exactly when it is 100% ready. Lastly, I also added a setting in the settings tab where the user can choose if the icon labels are hidded or shown. What’s Next? The desktop environment is now completely stable, personalized, and persistent. Next up: More UI and UX refinements before shipping for WebOS 1. Gonna implement File Management for WebOS 2 :)
Devlog #3: Onboarding and Eliminating FOUC Before shipping the WebOS 1 project and moving on to WebOS 2 project, I needed to implement an Onboarding/Welcome Screen to introduce users to the OS environment. This required a full-screen dark overlay. this is what i did: Z-index mismatch Because my custom Drag Engine automatically increments the zIndex of any .window it touches, the moment I clicked the Welcome Screen, the engine overwrote its god-tier Z-Index (99999). This caused an immediate Z-Index collapse, burying the modal underneath the desktop icons and the dark overlay. The Fix: I had to implement a strict exception in the JavaScript mousedown event listener to protect the Welcome Screen’s ID from being overwritten. DOM Reordering: To guarantee that the Welcome Screen will be at the very top,, I moved the Welcome Screen to the absolute bottom of the document. This means it will naturally sit on top of the other elements. Eliminating the FOUC I used the localStorage API so users could check a “Don’t show this again” box, saving their preference to the hard drive. However, this caused a massive FOUC bug. The Problem: HTML renders faster than JavaScript executes. On boot, the browser would instantly paint the Welcome Screen to the monitor. A few milliseconds later, JavaScript would read the hard drive, realize the user disabled the screen, and violently delete it—causing an ugly flicker. Fix: I basically just inverted the rendering logic. I hardcoded ‘display: none;’ directly into the HTML so the modal is completely invisible by default. Now, the browser paints nothing. JavaScript checks the hard drive, and only turns the welcome screen on if it confirms the user actually wants to see it. Now it’s much better. Ig this is the end of my WebOS 1 project. I will be shipping this project and then moving on to WebOS 2 where I’ll be implementing File Management, In-browser-browser?, and maybe some other built in tools. That’s the plan for now.
WebOS 2 Devlog #1: Transitioning into an actual OS. The WebOS 2 mission just unlocked so all the time before i spent working on this overhaul, hence the 13 hour devlog. In the last devlog, i had a very basic beginning: a basic onboarding screen with some text and a “Continue” button. There was no actualy proper desktop, not that many apps, and definitely no File Explorer. Over the last 13 hours, I managed to change the project into a fully functioning, browser-based operating system with its own virtual file system, and app ecosystem. Here is a breakdown of everything that was built in this time. Since i made a lot of changes, i’ll keep it brief and won’t go into it too much: The Window & Desktop Engine: the core physics of the OS were built completely from scratch. Drag and Drop: Windows can be dragged freely but are strictly clamped to the viewport so they can never be lost off-screen. Window Controls: remade the full Minimize, Maximize, and Close logic. Animations: Implemented a requestAnimationFrame state machine so windows don’t just appear—they like animate and scale and fade out into the taskbar. Desktop Grid: Desktop icons are draggable and auto-snap to an invisible grid when released. File System (File Manager): Going from zero file management to a complete virtual system was perhaps the biggest change. It is powered by localStorage, and the OS now remembers everything: Dynamic File Explorer: Built a grid/list view system complete with a sidebar, path breadcrumbs, and directory navigation. Context Menus: Right-clicking files now opens custom context menus to rename, delete, or restore items. Recycle Bin: Files are moved to a functional Trash directory where they can be permanently emptied or restored to the Root folder. Drag-and-Select: made a custom mouse-drag selection box (the translucent pink lasso) to highlight multiple files at once. App Ecosystem: Themes: I built a dynamic theme engine with two main themes. Modern Dark: The default OS features premium glassmorphism, background blurs, and other stuff, and has like a pink accent color. Retro: It changes the OS back to what it looked like in like 1995 by replacing animations and toggles with grey borders, checkboxes, and the blue desktop background. The New Welcome Screen: That old, basic onboarding screen looked ass so it was completely scrapped. I replaced it with a better and cleaner on that also remembers their preference if they check “Don’t show this on startup.”
WebOS 2 Devlog #2: UI & UX Debugging + UI Improvements This was quite a short session mainly focused on debugging. Here are the changes for this session. New Setup Wizard: The Welcome Screen has been completely redesigned into a classic two-pane setup wizard. (In Retro mode, it even has the iconic sideways teal text on the sidebar). State Persistence: The OS now remembers your settings. Your preferences for military time, desktop icon labels, and whether you want to see the welcome screen on boot are all permanently saved to localStorage. Calculator & Layout Fixes: The calculator now properly displays full math expressions (e.g., 3 + 5) instead of instantly wiping the screen. Before it still worked but it just showed the numbers and the answer-it didnt show what the user was doing. I also fixed a ton of bugs. Apps that are maximized now perfectly snap to the taskbar without overlapping, and the File Explorer drag-to-select doesn’t glitch when you move the window because before the drag-to-select used to activate when i was dragging the window.
WebOS 2 Devlog #3: Building a UNIX Terminal + some other improvements This was a major update today for WebOS 2.0 as i built a genuinely realistic CLI. It’s looks and acts like a Mac Terminal (cus i use mac). Here is what i implemented: In the terminal, i implemented the following commands: help, clear, pwd, ls, cd, cat, touch, mkdir, rm, echo, whoami, date, history, and nano. This part itseld wasnt so difficult cus I had previously done something similar before but it was still challenging nonetheless. I wanted the CLI to be as realistic as possible so I implemented (with a little bit of help from gemini) a custom AST-style parser. It fully supports logical command chaining (&&, ||, ;), quotation marks usage (both single and double), and file redirection (>, ») straight into the virtual hard drive. Autocomplete: This was probably the hardest thing i tried to build and i am happy with how it turned out. I implemented a zsh-style Tab completion system. Pressing Tab auto-fills the longest common prefix and then shows all the possible options directly beneath your active prompt. This is one of the things I a most proud of because after using it, it was essentially very similar to the mac Terminal. This autocomplete works both for commands and files/folders. Errors and stuff: The terminal behaves exactly like real bash. If you type ls -la (-la is not implemented [yet?]) or cd too many args, it won’t just blindly execute or fail silently (it originally did so i had to change it), but it will spit back the same error message you’d expect to see on a real machine. GUI/CLI Integration: When i was implementing nano, i tried to think of how to implement a CLI editor. But i then realised, i can just connect the nano command to the notepad that I alreadu made. So typing nano test.txt in the terminal now just launches the Notepad app and opens the file for editing. And I made some other changes to stuff like the file manager but the terminal implementation above is the biggest change.
WebOS 2 Devlog #4: Initial bootloading sequence + login (optional) When i looked at other projects i realised that they all have some kind of flashy bootloading sequences but mine didnt have any so i built one. I didn’t want it to be too flashy so i made a simple, straightforward sequence. I also knew what exactly I wanted so I managed to finish this in 4hrs on the dot or it would’ve taken a lot longer. This is what it consists of: Bootloader that takes into account the selected theme: Since I had two themes in my OS (Modern and Legacy), it didnt make sense for both to have the same loading screen. So the system now actually boots up differnetly before loading the UI. Depending on your settings, you’ll either get a quick Modern UEFI startup, or a 1995 Legacy BIOS sequence complete with memory checks, IDE drive detection, and ASCII loading bars (had to use some outside help [ai] for this one as I’m not that old to know all that stuff). Hardware Interrupts: Just like a real PC, if you hit esc while the system is booting, it triggers a hardware interrupt and drops you into a configuration screen. Interactive OS Installation: If it’s your first time booting up (or you reset your system), you now have to actually “install” the OS. You can type in your preferred Username, network Hostname, and set an Administrator Password right inside the terminal. You even get the option to format your virtual hard drive. Login: If you set a password (which is optoinal) during setup, the boot sequence will actually halt and lock the system until you type it in. (Don’t worry, I added a recover command bypass in case anyone forgets it). Terminal Integration: The CLI terminal now dynamically reads your setup data. Instead of a normal prompt that you used to get with the default user@stardance or sth, you’ll see your actual custom username@hostname:~/$. Loading text: as the os loads and goes through the bootloading sequence some highly advanced random computer text ‘loads’ to add a little bit to the realism. Some of them are actual data from the host computer such as ram, gpu, and stuff like that. I had lots of other text and loading content that came from the the user’s actual real life hardware and software data, which added to the realism I had to research and use ai to make this because I had no knowledge of how computers were back then. There’s more but it wont fit here so you’ll just have to see it when i host it after my next ship.
WebOS 2 Devlog #5: File manager overhaul + custom dialog box I realised that always having the custom browser alerts was kinda boring and interrupting so i made my own dialogue box. I also changed the file manager to include some essential functions that it was missing to make it more like an OS (see below). Here are the changes i made: I abandoned the old array-based folders. I made it so that it now reads and writes directly to localStorage using stricter pathing (e.g., webos-file-Root/Documents/file.txt). I also built a native getUniqueName() function. If you create a duplicate file or folder, there’s no like a (1), (2), etc. at the end of it, which prevents data overwrites. This makes it more like a real OS Drag-and-Drop: I alos removed the old custom JavaScript coordinate trackers for file movement. It now uses the native HTML5 Drag-and-Drop API. You can physically pick up a file from the Explorer window, drag it out, and drop it directly onto the visual Desktop wallpaper. Custom Dialog Box: Native browser popups (alert(), confirm()) look hella ugly and break the flow so i built a custom dialog engine using JavaScript Promises. Now, when the system needs confirmation a custom window that fits with the theme appears. Because it uses async/await, the JavaScript pauses and waits for user acceoting or declining without freezing the browser. List View & Item Properties: I introduced a hybrid Grid/List view (just like a real os like mac). Because tracking file metadata (like Date Modified) from the start would have been way to complicated, I just built this engine where when the File Explorer encounters a file without a timestamp, it instantly generates metadata key (os-meta-path) using Date.now() and saves it permanently, which means that it allows for Date sorting without breaking anything.
WebOS 2 Devlog #6: UI, UX and functionality improvements This update focuses heavily on stabilizing what i already have and also refining the less finer aspects of the UI. Here is what i did: Theme improvenets: I overhauled the .theme-retro class. stuff were contradicting each other with one thing saying this and the other saying that (too many to even give an example). I also changed some other minor stuff too like increased the grid size in the desktop to prevent icons from overlapping. But this was the main change: System Security & Identity Manager: Implemented a global sanitizeIdentity utility (Regex: /[^a-zA-Z0-9_-]/g) to remove spaces and illegal characters from usernames and hostnames when the user sets it before writing to localStorage because if i have sth like ‘John Doe’ as the username and ‘my school computer’ as the host name, the terminal command would look sth like John Doe@my school computer. And this just looks hella ugly. Dedicated Identity UI: removed the raw identity inputs out of the Settings menu like i had before and moved them into a dedicated Identity Manager window because its more secure that way. I also added an authenticaiton wall before this window pops up. To do this, i wrote an async while loop for identity verification. All the users now have successfully pass the password prompt (or use the recover override to bypass the password) before it allows them to modify any identity settings. Bootloader improvements: btn-shutdown now properly halts system processes (clearing systemClockInterval and locking pointer events) instead of just hiding the UI like it did before where it just had like a black screen with text on it saying shutting down and stuff. It now has like a loading screen and all that stuff. Context Booting: i also implemented sessionStorage.setItem(‘boot_context’, ‘warm’) to track system restarts so different boots have like different bootloading sequences (the point below this). This didn’t take too long as i could just copy and past what i had in other sequenes and just take the text. Differnet Boot Sequences: The bootloader now reads the sessionStorage context. A Cold Boot triggers the full POST memory checks and hardware scans (dont know what this is. had to use ai for the sequences cus i didnt know what the data was). A Warm Boot (restart) bypasses POST and executes a different initialization sequence. THis makes the user more immersed in the environment.
WebOS 2 Devlog #7: Web Browser Implementation I reached the final couple of phases of my project and this is one is one of the crucial ones: building a web browser. My plan was to use iframe. But the thing about building a webbrowser inside a webbrowser or inside a sandboxed environment like a website is most websites (about 99%) like google, youtube, or github use X-Frame-Options and Content-Security-Policy: frame-ancestors ‘none’ which means they specifically block their websites from being displayed in cases like this ot prevent clickjacking. So every time i tried loading a webpage, it just says this webpage refused to connect or sth. I used ai to try bypassing it but it didnt work, so with the help of the same aforementioned ai, i implemented a solution. The solution: Since I cannot disable host browser security policies, and i dont have a backend proxy server, I had an idea to just build my own native ‘browser’: EpochOS IntraNet (just decided on the name EpochOS btw). This didnt take too long cus i had someone (ai) helping me cus it was almost midnight and i was tired as hell. Here are the features: I wrote a parser that intercepts navigation requests. If the user navigates to webos://home or webos://directory, the engine injects a large data:text/html;charset=utf-8 string directly into the iframe’s src attribute. This opens a local, HTML dashboard without triggering cross-origin blocks. Essentially, i wrote html in js and injected that html into the iframe src, so i essentially made my own ‘web-page’. Standard links inside a data URI iframe will try to navigate the iframe itself, which doesn’t update the OS address bar. To fix this, I set up a window.addEventListener(‘message’) listener on the parent OS. The buttons inside the iframe use parent.postMessage() to pass the target URL up to the OS, allowing the JavaScript engine to handle the routing and update the UI properly. A real browser alse doesn’t lose a page’s state (like scroll position) when you switch tabs. And im trying to make a real browser. So, to achieve this, the browser engine now doesn’t share a single iframe but rather new ones get created: Every time the user clicks the “New Tab” button, a new node is generated and appended to the container. Switching tabs simply toggles the CSS display property between none and block. This keeps inactive pages fully loaded in memory. Because cross-origin security rules (the ones i mentioned before) lock us out of accessing the iframe’s native window.history object, I had to build a custom history router. Every tab object in the JS array maintains its own history array and a historyIndex pointer. The back/forward buttons just decrement or increment this pointer and re-apply the URL to the iframe. Kinda genius ngl (this was an idea from ai btw) But for a browser to be useful, it needs to have some proper webpages. After some scouring, i found some webpages that do work in iframe and dont have the restrictions that websites like google do. I’m not gonna tell you what websites those are, you just have to see yourself. I found like 10 or sth so there’ll be plenty of stuff to do. Other features of the browser include: bookmarking, reloading (i also added a reloading spinner btw) and some more stuff.
WebOS 2 Devlog #8: Migrated to ES6 arch. and split css into any files I just realised that essentially all my code is squished into three files-index.html, index.css, and index.js. And all of them were quite big. Like the js file had more than 2,000 lines, and css had more than a 1,000 lines. I dont know why i havent noticed it before but im glad that i did now because i was plannign to do a deep debugging session next and it wouldve been hella hard to do in a 2000+ line file. Plus, a single bug in e.g. the calculator could crash the file manager, and debugging required scrolling through thousands of lines of code. So, i decided to migrate the index.js into an ES6 architecture and split the index.css into multiple manageable files. That’s all i can say for this devlog ig. There was nothing new except some lines of code i had to add after the migration to make sure everything is working. There were no really new features added. But there were many things that delayed me: i accidentally deleted a block of code in the index.css without moving it and didnt notice it so some styles were broken and i had to like retrace my steps and stuff to fix all the problems it caused. That’s all ig. The project is almost coming to an end! Can’t wait to ship it :)
WebOS 2 Devlog #9: Implemented color accents and some browser improvements I was originally going to do some debugging and finish of this project but i was looking through other peoples’ webos projects and realised there was much i could improve. I then got like a huge brainwave about new stuff to implement so ig it’ll be a bit longer before I ship this project. One of these ideas was adding color accents because right now my modern theme is limited only to a light pinkish color. Here are the changes i made: Change 1: Accents In the settings screen, i added an option to choose the system accents. I also gave some basic presets and added an option to pick a color by adding a color picker option. Implementing this was quite simple, just replace all hardcoded pink colors with –os-accent (which i added in css). I linked htis –os-accents attribute/class to the color that the user chooses in js and made ti that all the places where the accent pops up, the color variable there is replaced with –os-accents. So if the user changes the accent in settings, the places where –os-accent is set changes color automatically. Challenge 1: Contrasting invisible text The problem: Swapping a single hex code for an accent color that the user chooses breaks all translucent UI elements (like shadows). Furthermore, if a user picks a bright color (like Mint Green or Yellow), the hardcoded white text on the title bars becomes completely invisible. The Solution: I implemented a Hex-to-RGB engine that injects raw RGB values directly into the CSS :root. This solves the first part of the problem. To solve the text contrast issue, I implemented the WCAG Relative Luminance algorithm ( used a bit of outside help here iykwim ;)). The OS now mathematically calculates the perceived brightness of the user’s chosen color. If the relative luminance passes a threshold of 0.179, the OS flips the title bar text to pitch black so its legible comfortable. Change 2: i was just playing around in the webbrowser and exploring, and i found some stuff that needed to be fixed: when building a simulated web browser using tags, embedding sites like google resulted in a “Refused to Connect” error. These servers send an X-Frame-Options: DENY header. Because client-side JavaScript is legally blind to server headers, the OS couldn’t detect the block to show the custom error screen I made. I knew this error existed and knew this was a thing but only after experiencing it like a real user did i realise how annoyinf this was and it made my os seem broken. Solution 1 (attempt): I initially tried routing requests through a third-party API to read the headers, but ad-blockers and privacy shields just made the API requests not work, crashing the entire browser app (at least thats what i think is the cause). The Solution: I used a massive Regex blocklist, such that the browser now instantly intercepts requests to 99% of top-tier websites that block iframes (like youtube or google), and routs the user to a custom error page. (did these stuff with the help of some ai only) Next Problem: When a user searches Google inside the iframe and clicks a link in the embedded page, the OS address bar wouldn’t update. This is a browser restriction. Browsers mathematically lock JavaScript out of reading cross-origin URLs for security reasons. At this point i just stopped instead of trying to waste my time trying to break through some military grade (i think?) restrictions. Change 3: Before, only iframe compatible websites worked but i had an idea to route all queries (except the ones in websites format) through a google search. Apparently, google.com doesn work in iframe but the google search works. So now if i type hello world, it just redirects me to a google search page with hello world searched. P.S. I made some other tiny changes aswell but i cant rlly remember them now sry
WebOS 2 Devlog #10: icon implementation + taskbar remodeling When i looked at the webos, i realised it missed something to look like an actual os. It wasnt realistic enough. So, i decided to do two changes to make it more realistic. Here is what it did: Change 1: I added some real user data in the taskbar. More specifically, the host device’s actual network and battery status and date. I used the the browser’s native navigator.onLine and the navigator.getBattery() APIs. I also made it such that the os actively listens for network connection drops such as when wifi is disconnected and battery charging/level events, and updates the data accordingly. Change 2: I also noticed that my entire os is filled with emojis for stuff like calculator, file manages (all the apps essentially), the taskbar, the browser, the sites in the browser, etc. THis made it look really unprofessional so i fixed it. I replace all system emojis with Google Material Symbols to make it look a lot better. I did face one challenge however, the emojis in my website in my web browser weren’t being replaced by icons for some reason and I then realised that the iframe sites acts as a sandbox and they dont inherit the imported apis from the main html file. So I just injected a tag and imported the Google Material Symbols API directly in the isolated HTML code in my js file. Change 3: The goal of this change was ot allow the user to snap the taskbar to the top of the screen (Linux style). This was the part that took longer than expected. I originally just added an optoin in the settings to move my taskbar to the top of the screen but the pill-like, floating taskbar i had was really ugly when it was at the top. So, i spent like more than an hour and half trying out new designs and redesigning the taskbar so it looks good both when its at the top and the bottom and finalised a design that actually looks much better than what i had before. It now takes up like the entire bottom/top of the screen instead of floating in the middle liek before. That was all the changes made since the last devlog.
WebOS 2 Devlog #11: Reset btn + Notepad IDE + other changes This was a long long coding session. Had to stay awake till like 2am. Here are the changes i made. Ill try to keep everythign concise because theres a 4000 char limit and i have lot more to say than that. Change 1: I added a factory reset button in settings that directs the user to the webos setup screen like the one they get when they first enter the website. When testing this feature, i realised that random variables from completely different web projects started appearing in the File Manager. Because browsers share localStorage databases across the same local port (e.g., 127.0.0.1:5500), the OS was inheriting the ghosts of old projects. The solution: I had to upgrade the Initial Setup Utility. When formatting the Virtual Hard Drive, the system now temporarily caches the user’s OS credentials in memory that they entered, executes a total localStorage.clear() wipe to delete all the localStorage varialbles, and then safely restores the username and stuff before continuing normally. Change 2: Notepad IDE This was the part that took the longest (and its still not done). I wanted to create something absolutely unique that i havent seen in any other webos projects that i saw. And i realised, why dont i make an IDE in me webos? Not an actual IDE ofc but the goal was to allow users to write raw HTML/JS in the Notepad, save it as a .app file, and double-click it on the desktop to launch it as a fully functioning, program. Attempt 1 (Failure): I initially tried parsing the saved text and running it directly in the OS context using eval(). It was an absolute security and stability nightmare. The custom app had root access to the OS memory and instantly overwrote the osState object, completely crashing the Window Manager within seconds. Attempt 2 (Failure): I tried fixing attempt 1 but messed up the entire code in the process so i had to revert to that commit and this time, i tried putting the apps in Web Components and the Shadow DOM. While this successfully isolated the CSS so custom apps didn’t break the OS styling, the JavaScript still executed in the global window scope. Running two different custom apps simultaneously caused variable collisions that bricked the taskbar. It was too complex and fundamentally flawed. I wiped the slate clean again. Attempt 3 (Success): I realised that the answer was looking straignt at me. I was so stupid. I can just take the code and slap it on to an iframe, and it runs it, just like how i made the web browser. The solution was that When a user double-clicks a custom .app, the OS takes the raw code and converts it into a text/html Blob. It then passes that Blob through URL.createObjectURL(), creating a localized URL. By feeding that URL into an , the custom app boots perfectly. I am really proud of this feature. It’s still not fully done but i had to make a devlog since the tracked time almost reached 10hrs.
WebOS 2 Devlog #12: Debugging Session + retro theme redesign In this session I started debugging the os and wow i found a lot of bugs. Im not going to get into them because it would take too long but some of them include how the bootloading sequence absolutely breaks if the user presses escape before the setup is finished because the cache isnt cleared properly so when the user gets the setup agian, he wont we able to configure some stuff like the password because the cache wasnt cleared properly. I also redesigned the retro theme because it looked ugly because the accents i implemented in the modern theme appeared in the retro theme which didnt fit together. Moreover, some of the aspects of the retro theme, such as the top part of the web browser or the settings screen were just uncomfortable to look at. Changing the retro theme was such a pain because everytime i thought i fixed it, a new discrepancy appears and at one point after i fixed it, my retro-theme.css was so messy i couldnt be bothered to fix it so i just inputted the messy working version into gemini and it cleaned it up. Anyway that was all i changed this time. And I did more and more changes but many of them are small and it would take too long to explain in a devlog. p.s. didnt know which pic to attach so its just a simple screenshot of the desktop.
WebOS 2 Devlog #13: Easter Eggs Pt. 1 I was looking forward to this a looooot. I’m not giving any spoilers whatsoever but I was so locked in tday and yesterday coding easter eggs into the OS. I added like 2 easter eggs (might seem less but trust me they’re very developed), one’s a very simple one but the other one is my favourite and is the reason this devlog took so long. It’s still not finished and im only lik halfway done w/ it but I’m not going to go into any details because it will spoil the fun but im sure you’ll enjoy it. Also, im not done with making easter eggs and i just made this devlog cus the time is almost 10hrs. I still have to finish the second easter egg and do more on top of that. The next one will hopefully be the final easter egg session (unless i get another absolute brainwave). p.s to prevent spoilers, the attached pic is just a screenshot once again
WebOS 2 Devlog #14: Easter Eggs Pt. 2 I am now done with making the easter eggs and in total i made 5 of them, which may seem less but some of them are really really complex and developed. I stayed up till 2am making these 😭. Out of these 5, three of them are simple easter eggs, one is more complex but still quite simple and the final one is essentialyl the absolut highlight. It is the reason why the easter egg section took me so long. I am not going to go into detail to avoid spoilers. Anyway i hope you have fun with the easter eggs :) p.s the attached pic is a screen shot again cus i dont want to give spoilers
WebOS 2 Devlog #15: System Daemon implementation To keep the users more engaged so even when they saw everythign, they would still spend more time doing stuff, I wanted to build something alive for the desktop environment that would interact with the user. So, instead of a standard app, I built a system daemon! If you dont know what that is, it is a digital pet that hangs out on your desktop and does random stuff. I dont hav ea name for him yet so ill just call him daemon for now. When he’s healthy, he flies around the screen and shouts random stuff at you. But I didn’t want him to just be a visual gimmick. He interacts with the actual operating system itself and has states: He is hungry: Because I previously built a drag-and-drop system for the File Explorer, I hooked him into it. You can drag actual text files or folders out of your explorer and drop them on his face. He will chew them up and literally delete them from the virtual hard drive (localStorage). He has a digestive tract: I built a array for his stomach that records what he has last eaten. If he ate a file you actually needed, you can rapid-click his face 5 times. He will regurgitate the raw file data perfectly back onto your desktop. He has boundaries: I ‘taught’ him to recognize core OS files. If you try to feed him Notepad.app or the System Settings, he will violently reject them and yell at you. He has one more state but that relates to the easter egg so i wont provide any additional details in order to not spoil it Oh, and i changed his appearance for the retro theme. anywhat that’s all for this change. I didn’t get into the nitty gritty of how I built him because I am so excited to finish this project. Just a few more features and then I’m done.
WebOS 2 Devlog #16: Widget implementation + debugging In this session, i made multiple changes to the OS to improve the overall UX. I had to pull another all nighter again 🥲. Here is what i changed: Change 1: Debugging Everytime i enabled the system daemon in the settngs, the entire os reloaded which was quite annoying so I ripped out the location.reload() in the Settings app. I also moved him to the body so he didn’t get trapped behind windows, because most of the time the daemon was floating behind windows and i couldnt really see him. I also gave the Welcome screen a massive 9999999 z-index so the daemon would float behind it because my previous step was too effective and he was infront of every single screen including like the bootloading screen. Challenges: I ran into z-index hell because I didn’t plan the stacking initially. He was either in the very front or at the very back and it was all a bit weird. Change 2: Widget implementation I initially wanted to implement sticky notes as a widget which was inspired my the mac sticky notes so i coded all of that in first but I realised i can take it a step further and code in multiple widgets. Challenge: But the thing was i hardcoded the sticky notes widget so i had to recode everything and integrate all of the widgets at once I added a simple analog clock widget I added a calendar widget I initially added a system monitor with like the ram and cpu data but the thing was due to the security restrictions, I can’t get the actualy live hardware data so it would have to be a simulation, which i didnt want so I replace the system monitor with a live weather widget which uses the BigDataCloud and Open-Meteo APIs to provide weather data. Change 3: Originally I had all hte widgets in the context menu on after the other but they looked like a list and a bit redundant. So i removed all then in the html file and added one ‘Add a widget…’ option which connects to a screen with all the widget options
WebOS 2 Devlog #17: Media player + Audio spectrum widget implementation It has been a massive coding session. And I barely managed to keep the time below 10 hours and I still went over it. But, on the bright side, the OS now has a fully functional, media player and an audio spectrum widget! In the media player, anyone can listen to radios, and lots of music. But the reason it took 10 hours is because implementing these stuff required facing some serious bugs-some of them for genuinely stupid mistakes-and rebuilding the audio engine the right way (you’ll see what I mean). Here is a breakdown of how these new features work, what went wrong, and some other stuff: Overview of features The Media Player: The new Media Player is a audio application that routes requests to three distinct APIs to fetch music that the user can listen two: Audius: This is a “decentralized music streaming platform for artists, labels, and fans.” And it’s free! I fetches some of the music from this API. Radio-Browser: This is a platform that is, in a nutshell, Wikipedia for radios. I fetched thousands of live, global radio broadcasts using this API Apple iTunes (Preview): This was a golden find because I didn’t know this existed (not for free anyway). This API pulls top hits and previews of music. Granted, it’s not full music tracks but the songs are much more famous and popular. The Audio Spectrum Widget To complement the player, I also added an Audio Spectrum visualizer. It uses the Web Audio API, or more specifically, its AudioContext and an AnalyserNode to get the frequency data from the audio element. That data is then mapped to an HTML5 element. Using requestAnimationFrame, I made it such that the spectrum repaints 40 individual frequency bars roughly 60 times a second, which creates the audio visualiser waveform thing. Challenges The Geolocation failure: The OS was originally hardcoded to fetch radio stations from my address because I hardcoded that for testing purposes. But I stupidly forgot to remove that so when attempting to make this dynamic by using vpns I spent like 40 minutes trying to figure out why ut kept showing stations from my local area and not japan (where my VPN was connected to). And the reason for that is the hardcoded address I mentioned earlier. Moreover, some of the API queries were too specific, causing the media player to return empty for smaller regions like the Bahamas. To fix it i used the BigDataCloud API to quietly ping the user’s IP address, cache their true country code, and inject it into the API queries. the broken audio spectrum: Initially, the audio visualizer was completely blank. Even when fixed, the baseline would just disappear the second music started playing. The canvas drawing logic was also aggressively using clearRect to wipe the entire widget, which erased the idle state baseline. To fix it, I changed the baseline math so that the baseline sits firmly at the bottom of the widget. I also remade the drawing loop to explicitly redraw the baseline before checking the isPlaying state, so the frequency bars can work smoothly. retro theme problems: I completely forgot about the retro theme as i was just focused on building the player and the widget. So, in the end i had to make the stuff retro theme aswell. I encountered some problems there like some white on white text and some styles not applying which turned out to be because my dumbass brain mispelled the ids and classes Oh, and I found some other big bugs. The dragging engine was hella laggy. Like the response time was like 3 seconds before it registered. I would go deeped but im abt to cross the 4000 character devlog word limit but in a nutshell I realised it was because the mousemove event listener was directly updating the inline CSS (style.left and style.top) on every single microscopic mouse movement so it was really laggy.
WebOS 2 Devlog #18: Debugging session I swear random bugs keep popping up no matter how much debugging I do. There’s always something that’s wrong or doesn’t work but that’s just how it is. In this session which was longer than expected, i fixed a lot of different bugs. Here is a summary of the changes i did: I spent lots of time rewriting the mathematics for the desktop icon layout, and also changed the strict grid-snapping to free-form placement cus it felt it was quite annoying not to be able to place stuff on the desktop wherever you want. Unfortunately, it took too long and i abandoned the idea and just moved on without making any changes. I also spent some time cleaning up the code and tried to optimizing the code. Some other bugs I fixed include: Desktop icons were randomly rearranging themselves every time a file was saved. I found out that the reason was that since the localStorage returns keys randomly, everytime i wrote sth to localStorage, the items were randomized so the ordier they appeared on the desktop changed. So i rewrote the logic to sort the stuff alphabetically before displaying. The Notepad app was also blindly overwriting existing files with the same name. I fixed it by adding a localStorage query to intercept matching keys and to display an osConfirm dialog, forcing the user to explicitly authorize the overwrite. The internal browser was throwing captchas all the time and failed to load error screens for blocked domains. Since Google aggressively blocks embeds and flags them as bot traffic, i changed the default browser to Bing, which was much better and i didn’t get captchas everytime i search somehting up I also modified the system daemon engine so that it introduces itself when a user first view the OS. The weather widget was pulling the location not from where the user was but rather where my ISP was routing my traffic through. So if i lived in a village and ISP routes my traffic through like New York, the weather that showed up was that of New York. To fix this, i swapped the logic to request exact hardware GPS coordinates via navigator.geolocation, while falling back to the IP routing API if the user denies the browser prompt. If the location is inaccurate the user can enable the location permission in the browser and the weather widget then shows the correct location. The visualizer widget was working perfectly but i had the idea to add a text container above the bars which shows what the user is playing. I made way way more changes but many of them conform to the easter eggs and mainly about the theme that gets unlocked (small spoiler there ;)) so i won’t really get too much into it.
WebOS 2 Devlog #19: README.md + ARCHITECTURE.md + additional customisation features I’m in the final stages of the project and in this long session, I did many things. Firstly, I wrote a README.md with all the necessary stuff and i also made an ARCHITECTURE.md file which explains the nitty gritty insides of the WebOS so anyone can understand how the website works. Other than that I added a couple of other stuff. Firstly, i realised that even though I have accents to customize the desktop, I don’t have a wallpaper gallery (except the nasa apod) which I found was quite necessary. At first, i coded my own wallpapers like a synthwave grid wallpaper, pinstripe wallpaper for the legace theme, a tranforming aurora wallpaper and like 3 more but after i coded them, they just looked so damn ugly. So i scratched the idea of me coding my own wallpapers and added three categories of wallpapers in the wallpaper dropdown with each category having three 4k wallpapers in them so every time you pick that category, you get a random wallpaper from the three. I also added an about section in the settings which has a buttton that leads to the github page.
WebOS 2 Devlog #20: Updated README.md and ARCHITECTURE.md + changed properties window I just realised I had a properties window in the OS and that was quite outdated so I changed to include some new info like the Last Modified date which updates everytime the user saves something because i added a localStorage.setItem that saves the timestamp. I also updated the README and ARCHITECTURE files to make them sound better and to add some additional info. Anyway, this devlog is probably the last on for this project! Hope you enjoy :)
WebOS 2 Devlog #21: Final Submission Just did some final changes to the welcome text and am about to ship it
Ships:
I created a simple operating system with HTML, CSS, and Javascript that runs on you web browser. It has a nostalgic look and feel with old-styled buttons and looks. To make it more like an OS, a calculator and a notepad have been created and implemented in the app. Moreover, to allow the user to personalise as much as they want, many settings have been included, from custom wallpapers to wallpapers that come from NASA itself and more. This was my first large scale project that I have coded so it’s an interesting experience for me. Before this, I only used to do challenges on platforms like Codewars and other than some small side projects, I don’t have a practical experience. Therefore, i think this project has taught me a lot on how to built stuff yourself. I hope you like my project :)
EpochOS is a fully functional operating system built entirely with vanilla JavaScript, HTML, and CSS. It doesnt require any client side installations or anything and runs directly in your browser. Its features include a file explorer, a browser, a media player, many essential applications, lots of customisation, widgets, and an actual ecosystem that mimics a real operating system. It also has no backend so it’s all run locally on your browser using the browser’s localStorage. Some things you should know before you test this out: Firstly, please don’t finish rating this project until you experience all the features because there are many hidden features that might change your opinion. An example is easter eggs. I implemented many easter eggs which you must experience before voting because these easter eggs are very devloped. If you can’t find them or are stuck on one of the easter eggs, read ARCHITECTURE.md and at the very bottom, i listed all the easter eggs so you can check them out. In fact, read the ARCHITECTURE.md because it provides valuable info about many of the features in the OS and how they work so make sure to read that aswell Secondly, this OS is not compatible with mobile or tablet devices and is optimized for desktop only. So please keep that in mind when you are testing it. Thank you so much for testing this project and hope you enjoy it :)...
|
1793656114.211031
|
1793742514.211031
|
|
50176
|
My own site! by @Tallurisaikumar | Stardance
|
Tallurisaikumar
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-18T13:55:48Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "finally my personal portfolio completed", "repo": "https://github.com/tallurisai9346-beep/portfolio", "demo": "https://portfolio-gray-mu-2xyxqk1f9r.vercel.app/"}]...
|
[{"post_id": 48813, "ts": "202 [{"post_id": 48813, "ts": "2026-08-17T11:06:07Z", "hours": 0.4364, "text": "finally my personal portfolio completed"}, {"post_id": 48790, "ts": "2026-08-17T10:14:54Z", "hours": 0.3308, "text": "this is my portfolio website that describes about me"}]...
|
Title: My own site! by @Tallurisaikumar | Stardanc Title: My own site! by @Tallurisaikumar | Stardance
Devlogs:
this is my portfolio website that describes about me
finally my personal portfolio completed
Ships:
finally my personal portfolio completed...
|
1792878513.1959598
|
1793742513.1959598
|
|
14971
|
BuzzMesh by @Sealflux | Stardance
|
Sealflux
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BuzzMesh by @Sealflux | Stardance
|
1793137712.4858997
|
1793742512.4858997
|
|
50170
|
revOS by @CassianWray | Stardance
|
CassianWray
|
2
|
11.0
|
72
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T13:07:57Z", "hours": 6.0, "multiplier": 11.69, "payout": 72, "blessing": "neutral", "text": "This is a Web OS based on the French Revolution named revOS short for revolution OS. Originally the project was kinda basic with nothing much but I have added many new features and changes to some original features. I have listed the new features below. For this round I added: A working text editor. A working browser A music player A windows switch (window vm I guess?) A better theme change than WebOS 1 Better Icons A terminal", "repo": "https://github.com/Beelzebubo/revOS-V1", "demo": "https://revolutionos.netlify.app/"}, {"ship_num": 2, "ts": "2026-08-17T17:08:08Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my first project as part of Stardance, an webOS themed on the French Revolution. The most challenging part of the project was of course writing the HTML and CSS. HTML was my bane though 900 lines of code bruh I almost lost my mind but all is well that ends well I guess. The thing I am most proud of is the load animation and being able to open multiple apps at once and taskbar function. It also contains a built in to do list as well if that is worth mentioning along with a fully functioning clock and dark-light theme toggle. The one thing I think I can improve are the icons but that is for later. I had fun building the project though.", "repo": "https://github.com/Beelzebubo/revOS-V1", "demo": "https://revolutionos.netlify.app/"}]...
|
[{"post_id": 52311, "ts": "202 [{"post_id": 52311, "ts": "2026-08-22T13:00:52Z", "hours": 2.5294, "text": "I have finally after almost 11 hours completed revOS. Things added for WebOS 2: A working music player. A working terminal A working text editor Better file creation A browser A desktop switch (in windows win+ ctrl + arrow key hotkey style but with a button) Cleaner light-dark theme change"}, {"post_id": 51780, "ts": "2026-08-21T16:54:07Z", "hours": 3.2439, "text": "Hello everyone. So I just started work on WebOS 2 after finally completed the hackpad design somehow that shitty design of mine got approved. Well anyhow I will probably need to pay custom tax when receiving the kit :( Anyway I completed adding the terminal now finally. Also added the text editor. Tomorrow I will start with music player after I spend the rest of the day today learning how to add that."}, {"post_id": 49371, "ts": "2026-08-18T05:00:33Z", "hours": 0.4111, "text": "Hello again. I finally completed the WebOS 1 mission. I am now gonna be doing the WebOS 2 mission. My plan for this mission is to add a music player, a functioning terminal and a proper file creation system. Will showcase it one by one as I complete it but for now here is a picture showing my current state."}, {"post_id": 49008, "ts": "2026-08-17T16:32:04Z", "hours": 3.32, "text": "Finally completed the project after 5 hours of coding. Anyway here is the video of the demo of revOS (revolution OS). If you want to try it yourself https://revolutionos.netlify.app/ this is the link. I am editing some stuff so it may change tomorrow I guess."}, {"post_id": 48796, "ts": "2026-08-17T10:29:07Z", "hours": 1.2808, "text": "I remembered I didn’t post how the landing page looks till now. OH well here it is now. Not that good looking yet need to work on it but I am lowkey scared to touch HTML and CSS again so probably will not update it right now maybe later."}, {"post_id": 48744, "ts": "2026-08-17T08:44:53Z", "hours": 0.3144, "text": "I kinda deleted the previous project and had to create a new folder and re log the time again since apparently I cannot log the time that was already logged onto another project even after I deleted it. Well anyway. I finally completed some more things. Previously I had written the code for the landing page (Frontend is really hard respect to all full stack guys out there) and now finally I have started with JavaScript (I hate it). Anyway I have completed about 170 lines of app.js and I am starting realize why I hated Javascript before. Still progress is coming along well. Also the French part is difficult especially with the é ē and stuff."}]...
|
Title: revOS by @CassianWray | Stardance
Devlogs: Title: revOS by @CassianWray | Stardance
Devlogs:
I kinda deleted the previous project and had to create a new folder and re log the time again since apparently I cannot log the time that was already logged onto another project even after I deleted it. Well anyway. I finally completed some more things. Previously I had written the code for the landing page (Frontend is really hard respect to all full stack guys out there) and now finally I have started with JavaScript (I hate it). Anyway I have completed about 170 lines of app.js and I am starting realize why I hated Javascript before. Still progress is coming along well. Also the French part is difficult especially with the é ē and stuff.
I remembered I didn’t post how the landing page looks till now. OH well here it is now. Not that good looking yet need to work on it but I am lowkey scared to touch HTML and CSS again so probably will not update it right now maybe later.
Finally completed the project after 5 hours of coding. Anyway here is the video of the demo of revOS (revolution OS). If you want to try it yourself https://revolutionos.netlify.app/ this is the link. I am editing some stuff so it may change tomorrow I guess.
Hello again. I finally completed the WebOS 1 mission. I am now gonna be doing the WebOS 2 mission. My plan for this mission is to add a music player, a functioning terminal and a proper file creation system. Will showcase it one by one as I complete it but for now here is a picture showing my current state.
Hello everyone. So I just started work on WebOS 2 after finally completed the hackpad design somehow that shitty design of mine got approved. Well anyhow I will probably need to pay custom tax when receiving the kit :( Anyway I completed adding the terminal now finally. Also added the text editor. Tomorrow I will start with music player after I spend the rest of the day today learning how to add that.
I have finally after almost 11 hours completed revOS. Things added for WebOS 2: A working music player. A working terminal A working text editor Better file creation A browser A desktop switch (in windows win+ ctrl + arrow key hotkey style but with a button) Cleaner light-dark theme change
Ships:
This is my first project as part of Stardance, an webOS themed on the French Revolution. The most challenging part of the project was of course writing the HTML and CSS. HTML was my bane though 900 lines of code bruh I almost lost my mind but all is well that ends well I guess. The thing I am most proud of is the load animation and being able to open multiple apps at once and taskbar function. It also contains a built in to do list as well if that is worth mentioning along with a fully functioning clock and dark-light theme toggle. The one thing I think I can improve are the icons but that is for later. I had fun building the project though.
This is a Web OS based on the French Revolution named revOS short for revolution OS. Originally the project was kinda basic with nothing much but I have added many new features and changes to some original features. I have listed the new features below. For this round I added: A working text editor. A working browser A music player A windows switch (window vm I guess?) A better theme change than WebOS 1 Better Icons A terminal...
|
1792878512.3489518
|
1793742512.3489518
|
|
25302
|
Fantasy Football Draft Assistant by @atharva02 | S Fantasy Football Draft Assistant by @atharva02 | Stardance...
|
atharva02
|
2
|
11.0
|
94
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-01T02:31:11Z", "hours": 6.0, "multiplier": 7.4, "payout": 40, "blessing": "neutral", "text": "My project is Fantasy Football draft assistant which will give you pick suggestions during your Fantasy Draft. The purpose of this second ship is because Sleeper draft integration is here! Following the usage instructions from my GitHub README, you can try out this new feature yourself. The hardest about this new feature was figuring out why it took so long to sync and finding a way to minimize this lag. However, I am proud that, despite a small lag, it still works and is able to quickly gather your Sleeper draft info. One thing to note when using this feature, my app only supports certain positions so adding unique FLEX positions that isn’t the standard WR/RB/TE, will not work. Another thing to note is that this is unfortunately not mobile friendly, but let me know through reviews if this is a wanted feature. Enjoy!", "repo": "https://github.com/atharva-277/Fantasy-Football-Drafter", "demo": "https://ffdrafter.atharva02.hackclub.app/"}, {"ship_num": 2, "ts": "2026-07-20T20:05:36Z", "hours": 5.0, "multiplier": 11.38, "payout": 54, "blessing": "neutral", "text": "My project is a fantasy football draft assistant which gives you suggestions on who to draft based on the current state of the draft and the players themselves. The most challenging part of this was finding the right medium within the calculation algorithm. It was difficult figuring out how to suggest great players at a position you’ve already drafted but I think I’ve found the right medium now. I’m most proud of the fact that I was able to power through that exact struggle and be able to ship now that the right algorithm is, hopefully, in place. The link is live being hosted through Render. One thing to note with Render is that if there is slight inactivity, you may have to wait 40-60 seconds for it to load for the first time, but after it loads, there shouldn’t be any other hiccups. Enjoy!", "repo": "https://github.com/atharva-277/Fantasy-Football-Drafter", "demo": "https://ffdrafter.atharva02.hackclub.app/"}]...
|
[{"post_id": 37857, "ts": "202 [{"post_id": 37857, "ts": "2026-07-30T20:39:50Z", "hours": 1.9783, "text": "Devlog #7 Sleeper API integration is finally here! This took a while to get out, but I’m so happy that it’s finally here! The main limitation is that it’s based on draft ID, so it might be a hassle to find. However, I can’t control that as Sleeper is read-only API, which means I can’t allow for people to sign in and then access leagues and mock drafts that way. Regardless, it works really great based on my tests with the caveat that if you update the draft settings, you may need to refresh once or twice to ensure they’re updated on ffdrafter. Once you’re in the draft, the main thing you do is simply check back in and view suggestions on the side panel, manually logging picks is disabled since you’re doing that on Sleeper anyway! Another unfortunate caveat is that syncs do take a little bit(5-7 seconds) when others are auto-drafting and when the draft first starts. These are unfortunate side effects, but again they aren’t in my control as I don’t know how often Sleeper updates and sends drafts responses back. Yet, the feature still works even if it does take a small amount of time, so hope it works for anyone who uses it. Attaches is the UI for how the user inputs the Sleeper Draft ID."}, {"post_id": 35362, "ts": "2026-07-26T18:21:34Z", "hours": 2.5111, "text": "Devlog #6 A few more style updates have occurred since my last log. First, the font has changes to be a little more fancy, if that’s what you want to call it, but I think it looks nice for the site itself. Along with that depending on if you’re searching, seeing suggestions, or viewing top talent, different info appears when you click on the player. The commonality is showing the team logo and their tier. But when searching it only shows the top reason, when seeing suggestions it gives age and top 2 reasons, and viewing top talent also shows age along with position(jersey number). Other than that it’s still basically the same since functionality wise, nothing really changed. I hope to start implement the direct Sleeper API integration along with other sites if possible including ESPN and Yahoo Fantasy."}, {"post_id": 32644, "ts": "2026-07-21T22:39:38Z", "hours": 1.0361, "text": "Devlog #5 So I was recently about to ship but it got recalled because I used Claude to do the whole UI and never touched up on it again, which is my fault completely. However, since then I have actually updated the entire UI by adding modular sections and more color by position points. It has the same dark tone as before, but there’s a new purple accent now to make it less generic. Along with that, every position is basically customized by it’s own unique color as well, providing a connection beyond text. Other than that, text was made bigger, and font colors were made lighter to make them pop out more against the dark background. Attached is how the starting page looks like now."}, {"post_id": 31971, "ts": "2026-07-20T20:00:14Z", "hours": 0.3911, "text": "Devlog #4 This devlog is the last before the first ship as the site is now officially live! The only change made between this log and the last is that you can choose whether you have a snake or linear draft. Other than that, hosting is being done through Render(hopefully an accepted hosting platform) and the link is officially live at: https://fantasy-football-drafter.onrender.com/ . Attached is how the menu looks now that you can choose draft type."}, {"post_id": 31578, "ts": "2026-07-20T02:48:36Z", "hours": 1.6669, "text": "Devlog #3 So unfortunately, I wasn’t able to connect to Sleeper API, because I was busy updating the value algorithm to make it sure it worked well. Earlier, it was favoring positions too much and wasn’t realizing that starters matter more than bench. I think I’ve found the perfect medium between balancing both maximizing starting talent and a decent bench lineup. I expect to ship within the next few days once I upload a live link and maybe add a feature to differentiate between snake and linear draft along with adding more position customization perhaps. Other than that, this project will probably ship with just a manual mode at first, and then have another ship with Sleeper API connected to it. Attached is a sample of how the UI looks when updating draft picks based on what’s going on in."}, {"post_id": 29229, "ts": "2026-07-16T00:26:55Z", "hours": 1.6556, "text": "Devlog #2 Well, the initial part of the project is completed. There is now a value calculation algorithm in place that ranks each player based on a number of metrics: current draft pick, player ranking, bye week, and roster needs. After that, it gives 8 suggested players in the menu, ranked by points, and also gives warnings about possible reaches and the current pick, but also symbols that could signify a steal at the current pick. Additional testing will be conducted in regards to how well the system seems to be working by simulating a separate mock draft with online resources. My next plan after this, if the system is working correctly, is to connect it seamlessly with Sleeper, as stated in Devlog #1. Attached is how the user interface currently looks after starting the draft."}, {"post_id": 27491, "ts": "2026-07-13T03:09:04Z", "hours": 1.0464, "text": "Devlog #1 This is the start of a fantasy football draft assistant project I’m working on. Currently, it doesn’t do much as most of the time was spent on gathering data for the three main scoring types: PPR, Half-PPR, and Standard, along with the player database from Sleeper. The plan is to eventually find an algorithm to calculate expected value for each player based on different data points: your draft position, current draft pick, player data in general, along with other external factors such as current roster. Also I’m only working on the manual mode right now where all picks have to be manually put in but since Sleeper has a free API(used for player data), I hope to eventually add a seamless integration where it can directly link to a Sleeper League. Provided below is the starter UI menu but will be changed over time as more features are added."}]...
|
Title: Fantasy Football Draft Assistant by @atharv Title: Fantasy Football Draft Assistant by @atharva02 | Stardance
Devlogs:
Devlog #1 This is the start of a fantasy football draft assistant project I’m working on. Currently, it doesn’t do much as most of the time was spent on gathering data for the three main scoring types: PPR, Half-PPR, and Standard, along with the player database from Sleeper. The plan is to eventually find an algorithm to calculate expected value for each player based on different data points: your draft position, current draft pick, player data in general, along with other external factors such as current roster. Also I’m only working on the manual mode right now where all picks have to be manually put in but since Sleeper has a free API(used for player data), I hope to eventually add a seamless integration where it can directly link to a Sleeper League. Provided below is the starter UI menu but will be changed over time as more features are added.
Devlog #2 Well, the initial part of the project is completed. There is now a value calculation algorithm in place that ranks each player based on a number of metrics: current draft pick, player ranking, bye week, and roster needs. After that, it gives 8 suggested players in the menu, ranked by points, and also gives warnings about possible reaches and the current pick, but also symbols that could signify a steal at the current pick. Additional testing will be conducted in regards to how well the system seems to be working by simulating a separate mock draft with online resources. My next plan after this, if the system is working correctly, is to connect it seamlessly with Sleeper, as stated in Devlog #1. Attached is how the user interface currently looks after starting the draft.
Devlog #3 So unfortunately, I wasn’t able to connect to Sleeper API, because I was busy updating the value algorithm to make it sure it worked well. Earlier, it was favoring positions too much and wasn’t realizing that starters matter more than bench. I think I’ve found the perfect medium between balancing both maximizing starting talent and a decent bench lineup. I expect to ship within the next few days once I upload a live link and maybe add a feature to differentiate between snake and linear draft along with adding more position customization perhaps. Other than that, this project will probably ship with just a manual mode at first, and then have another ship with Sleeper API connected to it. Attached is a sample of how the UI looks when updating draft picks based on what’s going on in.
Devlog #4 This devlog is the last before the first ship as the site is now officially live! The only change made between this log and the last is that you can choose whether you have a snake or linear draft. Other than that, hosting is being done through Render(hopefully an accepted hosting platform) and the link is officially live at: https://fantasy-football-drafter.onrender.com/ . Attached is how the menu looks now that you can choose draft type.
Devlog #5 So I was recently about to ship but it got recalled because I used Claude to do the whole UI and never touched up on it again, which is my fault completely. However, since then I have actually updated the entire UI by adding modular sections and more color by position points. It has the same dark tone as before, but there’s a new purple accent now to make it less generic. Along with that, every position is basically customized by it’s own unique color as well, providing a connection beyond text. Other than that, text was made bigger, and font colors were made lighter to make them pop out more against the dark background. Attached is how the starting page looks like now.
Devlog #6 A few more style updates have occurred since my last log. First, the font has changes to be a little more fancy, if that’s what you want to call it, but I think it looks nice for the site itself. Along with that depending on if you’re searching, seeing suggestions, or viewing top talent, different info appears when you click on the player. The commonality is showing the team logo and their tier. But when searching it only shows the top reason, when seeing suggestions it gives age and top 2 reasons, and viewing top talent also shows age along with position(jersey number). Other than that it’s still basically the same since functionality wise, nothing really changed. I hope to start implement the direct Sleeper API integration along with other sites if possible including ESPN and Yahoo Fantasy.
Devlog #7 Sleeper API integration is finally here! This took a while to get out, but I’m so happy that it’s finally here! The main limitation is that it’s based on draft ID, so it might be a hassle to find. However, I can’t control that as Sleeper is read-only API, which means I can’t allow for people to sign in and then access leagues and mock drafts that way. Regardless, it works really great based on my tests with the caveat that if you update the draft settings, you may need to refresh once or twice to ensure they’re updated on ffdrafter. Once you’re in the draft, the main thing you do is simply check back in and view suggestions on the side panel, manually logging picks is disabled since you’re doing that on Sleeper anyway! Another unfortunate caveat is that syncs do take a little bit(5-7 seconds) when others are auto-drafting and when the draft first starts. These are unfortunate side effects, but again they aren’t in my control as I don’t know how often Sleeper updates and sends drafts responses back. Yet, the feature still works even if it does take a small amount of time, so hope it works for anyone who uses it. Attaches is the UI for how the user inputs the Sleeper Draft ID.
Ships:
My project is a fantasy football draft assistant which gives you suggestions on who to draft based on the current state of the draft and the players themselves. The most challenging part of this was finding the right medium within the calculation algorithm. It was difficult figuring out how to suggest great players at a position you’ve already drafted but I think I’ve found the right medium now. I’m most proud of the fact that I was able to power through that exact struggle and be able to ship now that the right algorithm is, hopefully, in place. The link is live being hosted through Render. One thing to note with Render is that if there is slight inactivity, you may have to wait 40-60 seconds for it to load for the first time, but after it loads, there shouldn’t be any other hiccups. Enjoy!
My project is Fantasy Football draft assistant which will give you pick suggestions during your Fantasy Draft. The purpose of this second ship is because Sleeper draft integration is here! Following the usage instructions from my GitHub README, you can try out this new feature yourself. The hardest about this new feature was figuring out why it took so long to sync and finding a way to minimize this lag. However, I am proud that, despite a small lag, it still works and is able to quickly gather your Sleeper draft info. One thing to note when using this feature, my app only supports certain positions so adding unique FLEX positions that isn’t the standard WR/RB/TE, will not work. Another thing to note is that this is unfortunately not mobile friendly, but let me know through reviews if this is a wanted feature. Enjoy!...
|
1792878511.5076895
|
1793742511.5076895
|
|
55276
|
Notes-but it got features by @Freaked | Stardance
|
Freaked
|
2
|
17.1
|
49
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T02:59:56Z", "hours": 9.0, "multiplier": 5.39, "payout": 46, "blessing": "neutral", "text": "i made a notes website but flooded with feature so that people can use it for anything they want and this will be the most featured and i am proud i made it", "repo": "https://github.com/15freaker/Anims-notes", "demo": "https://15freaker.github.io/Anims-notes/"}, {"ship_num": 2, "ts": "2026-08-28T14:30:54Z", "hours": 3.0, "multiplier": 2.02, "payout": 3, "blessing": "neutral", "text": "i made a note taking website with many features there were lot of bugs but everything went okay", "repo": "https://github.com/15freaker/Anims-notes", "demo": "https://15freaker.github.io/Anims-notes/"}]...
|
[{"post_id": 63659, "ts": "202 [{"post_id": 63659, "ts": "2026-09-07T16:14:55Z", "hours": 0.4586, "text": "Devlog 10 of 2.0 : finally the theme work and fuctionality is also completed it went smootly i am happy havent seen any bugs TILL YET dont know of future nobody knows where and when bugs come so for now its done and i am happy lets see forward of adding more features (❁´◡`❁)"}, {"post_id": 63624, "ts": "2026-09-07T15:31:28Z", "hours": 1.4569, "text": "Devlog 9 of 2.0 : i have added Quick access and added its fuctionality so it will be easy for people and will be quick to access any files easily without digging into mountain of notes and to do list i am thinking of adding theme fuctionality rn i have only added its button havent added its fuction so now will do that"}, {"post_id": 63525, "ts": "2026-09-07T13:04:16Z", "hours": 1.3192, "text": "Devlog 8 of 2.0 : i have added Favorites section in my notes website where now we can seprate our notes into favorites section also i am working more in it to make it more better but all over i think this is working and i should i leave it and i will see if i see any bug in process of testing i will solve it"}, {"post_id": 63435, "ts": "2026-09-07T08:51:32Z", "hours": 1.8664, "text": "Devlog 7 of 2.0 : i have fixed bugs and the changes it need because it was having some issues in few fields like have to reload everytime we made any change or make any note and then because of note color the text wasnt clear but i fixed the bugs and changed what it need and also i will add more features in it because it needs a lot of thing to fixed and added 🔥🔥"}, {"post_id": 62623, "ts": "2026-09-06T02:52:20Z", "hours": 0.6539, "text": "Devlog 6 of 2.0 : i have fixed all the bugs and not notes website is working perfectly and also i have added more details in readme about all the features and now lets see what will happen i hope everything will go fine ✨✨"}, {"post_id": 62592, "ts": "2026-09-06T01:51:26Z", "hours": 2.44, "text": "Devlog 5 of 2.0 : i have added 2 more feature which are maybe little but i think they will be helpful in first i have completed to make a #tag type where people can easily tag their notes or to do list and then 2nd feature is i added json export option because json files can be easily accessed thats why i added it i hope so everything will go okay it was so much work left have to do 🥀🥀"}, {"post_id": 62508, "ts": "2026-09-05T22:14:50Z", "hours": 1.3294, "text": "Devlog 4 of 2.0 : i have added 3 main features first we can create folder and files inside the folder and then save our notes seprately the we can now attach files with our notes and also we can take notes by drawing also i have added these 3 features becasue normal notes app sont have these types of feature but mine one is different it is filled with features ✨✨"}, {"post_id": 62340, "ts": "2026-09-05T17:42:52Z", "hours": 1.6542, "text": "Devlog 3 of 2.0 : i have added filter option so it will be easy to organize notes and to do list seprately and they wont get mixed up in each other i was thinking of adding more filter option but i think only 3 filter options are enough for this website if in future i will add other thing i will surely add more filter option for more flexibility at last one new feature more added ✨✨"}, {"post_id": 62259, "ts": "2026-09-05T15:20:32Z", "hours": 0.6208, "text": "Devlog 2 of 2.0 : i want to ask y’all is this feature irritating because i added it only in locked notes so that people dont accidently delete their notes and also from my perspective extra layer of protection is better please comment your opinion ✨✨"}, {"post_id": 62233, "ts": "2026-09-05T14:33:37Z", "hours": 1.3114, "text": "Devlog 1 of 2.0 : i have fixed all the bugs and i am restarting this because the older one wasnt working fine and was having a lot of issues and bugs like not able to edit notes color notes not working and appearnce one not changing and all it was really frustrating and irritating so i am adding more features is this new version so at last lets see forward and will do better in 2.0 🔥🔥"}, {"post_id": 57534, "ts": "2026-08-29T18:20:57Z", "hours": 0.255, "text": "color up to do list new feature added"}, {"post_id": 57519, "ts": "2026-08-29T18:02:52Z", "hours": 0.295, "text": "finally added more details"}, {"post_id": 56642, "ts": "2026-08-28T14:14:40Z", "hours": 1.1864, "text": "completed first version of my note taking website"}, {"post_id": 56567, "ts": "2026-08-28T11:32:43Z", "hours": 0.2739, "text": "added dark theme to my note taking website"}, {"post_id": 56551, "ts": "2026-08-28T11:02:02Z", "hours": 0.575, "text": "made another update in notes making it real awesome"}, {"post_id": 56533, "ts": "2026-08-28T10:17:11Z", "hours": 0.5364, "text": "i am working on website to take notes"}]...
|
Title: Notes-but it got features by @Freaked | Sta Title: Notes-but it got features by @Freaked | Stardance
Devlogs:
i am working on website to take notes
made another update in notes making it real awesome
added dark theme to my note taking website
completed first version of my note taking website
finally added more details
color up to do list new feature added
Devlog 1 of 2.0 : i have fixed all the bugs and i am restarting this because the older one wasnt working fine and was having a lot of issues and bugs like not able to edit notes color notes not working and appearnce one not changing and all it was really frustrating and irritating so i am adding more features is this new version so at last lets see forward and will do better in 2.0 🔥🔥
Devlog 2 of 2.0 : i want to ask y’all is this feature irritating because i added it only in locked notes so that people dont accidently delete their notes and also from my perspective extra layer of protection is better please comment your opinion ✨✨
Devlog 3 of 2.0 : i have added filter option so it will be easy to organize notes and to do list seprately and they wont get mixed up in each other i was thinking of adding more filter option but i think only 3 filter options are enough for this website if in future i will add other thing i will surely add more filter option for more flexibility at last one new feature more added ✨✨
Devlog 4 of 2.0 : i have added 3 main features first we can create folder and files inside the folder and then save our notes seprately the we can now attach files with our notes and also we can take notes by drawing also i have added these 3 features becasue normal notes app sont have these types of feature but mine one is different it is filled with features ✨✨
Devlog 5 of 2.0 : i have added 2 more feature which are maybe little but i think they will be helpful in first i have completed to make a #tag type where people can easily tag their notes or to do list and then 2nd feature is i added json export option because json files can be easily accessed thats why i added it i hope so everything will go okay it was so much work left have to do 🥀🥀
Devlog 6 of 2.0 : i have fixed all the bugs and not notes website is working perfectly and also i have added more details in readme about all the features and now lets see what will happen i hope everything will go fine ✨✨
Devlog 7 of 2.0 : i have fixed bugs and the changes it need because it was having some issues in few fields like have to reload everytime we made any change or make any note and then because of note color the text wasnt clear but i fixed the bugs and changed what it need and also i will add more features in it because it needs a lot of thing to fixed and added 🔥🔥
Devlog 8 of 2.0 : i have added Favorites section in my notes website where now we can seprate our notes into favorites section also i am working more in it to make it more better but all over i think this is working and i should i leave it and i will see if i see any bug in process of testing i will solve it
Devlog 9 of 2.0 : i have added Quick access and added its fuctionality so it will be easy for people and will be quick to access any files easily without digging into mountain of notes and to do list i am thinking of adding theme fuctionality rn i have only added its button havent added its fuction so now will do that
Devlog 10 of 2.0 : finally the theme work and fuctionality is also completed it went smootly i am happy havent seen any bugs TILL YET dont know of future nobody knows where and when bugs come so for now its done and i am happy lets see forward of adding more features (❁´◡`❁)
Ships:
i made a note taking website with many features there were lot of bugs but everything went okay
i made a notes website but flooded with feature so that people can use it for anything they want and this will be the most featured and i am proud i made it...
|
1792878510.483138
|
1793742510.483138
|
|
55271
|
My website by @projectroshan917 | Stardance
|
projectroshan917
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T02:54:57Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my personal corner on internet. I made my website with the help of html coding. I add my photo, my habits, my address, my academies qualification, and many mote things about me in a simple and multiple pages of web in this webside. Here i made four sections i.e. home, about, now, contact where you can find enough information about me. Like from section home you can find all things about me surfacely, about section where you can find detailed information about me etc.", "repo": "https://github.com/Roshan-coder123/My-website-", "demo": "https://roshan-coder123.github.io/My-website-/"}]...
|
[{"post_id": 56348, "ts": "202 [{"post_id": 56348, "ts": "2026-08-28T02:50:49Z", "hours": 6.5811, "text": "I made a personal portfolio website for me to introduce myself on internet."}]...
|
Title: My website by @projectroshan917 | Stardance Title: My website by @projectroshan917 | Stardance
Devlogs:
I made a personal portfolio website for me to introduce myself on internet.
Ships:
This is my personal corner on internet. I made my website with the help of html coding. I add my photo, my habits, my address, my academies qualification, and many mote things about me in a simple and multiple pages of web in this webside. Here i made four sections i.e. home, about, now, contact where you can find enough information about me. Like from section home you can find all things about me surfacely, about section where you can find detailed information about me etc....
|
1792878509.6703398
|
1793742509.6703398
|
|
58861
|
Perfect Weather by @photosoflaptop12 | Stardance
|
photosoflaptop12
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T05:45:41Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I make a weather forecasting application by using python . And it is too good because when you search city name then it show the weather of that city.", "repo": "https://github.com/Prashant2881/Perfect-Weather", "demo": "https://youtu.be/O8Vi1NRqaqw"}]...
|
[{"post_id": 63386, "ts": "202 [{"post_id": 63386, "ts": "2026-09-07T05:42:38Z", "hours": 1.9592, "text": "I was working on the weather forecasting application by using python , through this project i more learning about python."}]...
|
Title: Perfect Weather by @photosoflaptop12 | Star Title: Perfect Weather by @photosoflaptop12 | Stardance
Devlogs:
I was working on the weather forecasting application by using python , through this project i more learning about python.
Ships:
I make a weather forecasting application by using python . And it is too good because when you search city name then it show the weather of that city....
|
1792878508.814414
|
1793742508.814414
|
|
18299
|
kiBoard by @Leah | Stardance
|
Leah
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-20T07:23:01Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a keyboard with one hundred and sixty keys! It definitely took a bit to make since I had to relearn a lot of things but I think it paid off! It features two function rows as well as a ton of extra keys available to remap to whatever youd like! (Actual time is closer to 10~ish hours but lapse didnt record the thing properly) I hope you all like it as much as I do!", "repo": "https://github.com/colorBanded/kiBoard/", "demo": ""}]...
|
[{"post_id": 12392, "ts": "202 [{"post_id": 12392, "ts": "2026-06-20T07:04:23Z", "hours": 0.2878, "text": "Now theres an enclosure! I think messing around with blender has helped me a little bit with fusion, its slanted a bit towards the user so it wont be as difficult to use"}, {"post_id": 11159, "ts": "2026-06-18T07:47:08Z", "hours": 0.3806, "text": "This is a bit of a long devlog as most of the project was recorded through lapse but was not notified of a systems interruption prior to recording so that time is unavailable (~8 hours). So Ive gotten most of the keyboard completed aside from some things like BOM and other things and I think its coming together pretty nicely. I started out by drafting a layout for something that I would feel comfortable using in an online keyboard editor that I had previously used for another hackpad project. After that I had to research the type of sbcs I could use as the XIAO RP2040 is a nice inexpensive board it did not have enough IO pins for the amount of keys I had used in the project, so I switched to a Pi Pico (Which unfortunately also did not have enough pins required to wire everything together) And I was trying to avoid using an IO expander; someone on a huddle introduced me to a technique where instead of wiring a key matrix of one row and column per row/columns, you double the rows and halve the columns to try to achieve a lower pinout count to hookup to the SBC you use, which worked to an extent but ultimately I had to learn how to use an IO expander which someone else had helped me with props to the people on the huddle. After this I had to get everything into kiCad and I tried out a couple different plugins to help with wiring since there was a LOT of keys but none of them completely helped so in the end I had to wire about half the board to clear the about ~1000 errors (something that half occured from the plugins, half from me using the wrong footprint in the final pcb. In total there is about 158 keys on this keyboard with the main standouts being an extra macropad on the left side as well as an extra function row (“Im gonna press the F25 key”) All I have left to do is make the case, set up the repository correctly and do the gerbers and this will be ready to ship!"}]...
|
Title: kiBoard by @Leah | Stardance
Devlogs:
This Title: kiBoard by @Leah | Stardance
Devlogs:
This is a bit of a long devlog as most of the project was recorded through lapse but was not notified of a systems interruption prior to recording so that time is unavailable (~8 hours). So Ive gotten most of the keyboard completed aside from some things like BOM and other things and I think its coming together pretty nicely. I started out by drafting a layout for something that I would feel comfortable using in an online keyboard editor that I had previously used for another hackpad project. After that I had to research the type of sbcs I could use as the XIAO RP2040 is a nice inexpensive board it did not have enough IO pins for the amount of keys I had used in the project, so I switched to a Pi Pico (Which unfortunately also did not have enough pins required to wire everything together) And I was trying to avoid using an IO expander; someone on a huddle introduced me to a technique where instead of wiring a key matrix of one row and column per row/columns, you double the rows and halve the columns to try to achieve a lower pinout count to hookup to the SBC you use, which worked to an extent but ultimately I had to learn how to use an IO expander which someone else had helped me with props to the people on the huddle. After this I had to get everything into kiCad and I tried out a couple different plugins to help with wiring since there was a LOT of keys but none of them completely helped so in the end I had to wire about half the board to clear the about ~1000 errors (something that half occured from the plugins, half from me using the wrong footprint in the final pcb. In total there is about 158 keys on this keyboard with the main standouts being an extra macropad on the left side as well as an extra function row (“Im gonna press the F25 key”) All I have left to do is make the case, set up the repository correctly and do the gerbers and this will be ready to ship!
Now theres an enclosure! I think messing around with blender has helped me a little bit with fusion, its slanted a bit towards the user so it wont be as difficult to use
Ships:
I created a keyboard with one hundred and sixty keys! It definitely took a bit to make since I had to relearn a lot of things but I think it paid off! It features two function rows as well as a ton of extra keys available to remap to whatever youd like! (Actual time is closer to 10~ish hours but lapse didnt record the thing properly) I hope you all like it as much as I do!...
|
1793656108.6548405
|
1793742508.6548405
|
|
55034
|
WIEBZ-K1 by @zephano | Stardance
|
zephano
|
0
|
18.27
|
0
|
[]
|
[{"post_id": 71466, "ts": "202 [{"post_id": 71466, "ts": "2026-09-20T21:39:58Z", "hours": 2.8197, "text": "so after looking at the first case design…i felt it was kinda bad and bulky for no reason….so today i decided to redesing the case…..completely scraping the front case and only leaving the plate and bottom case….the i dea was to get that floating keys stuff…and also that will make the whole thing more compact"}, {"post_id": 70299, "ts": "2026-09-18T21:58:25Z", "hours": 3.9664, "text": "well ive been busy for a while and i couldnt continue the project but we are back now…..so yh i switched…..imma build my own keyboard…i call it wiebz-k1…so i started the case…i did the front case and the back case and fitted everything together…..my fusion kept crashing over and over again which go really annoying….well i cant really blame it, i was using about 97% of ram sooo…anyways whats remaning is just to add the screw holes to the back and front case and ill be done with that"}, {"post_id": 67334, "ts": "2026-09-13T12:25:23Z", "hours": 10.7519, "text": "So yh ive finished the pcb design….all the way from the schematics to the pcb design…i had a lot of issues but i overcame them…one of the problems was the switches footprints weren’t aligning so i use KLE (keyboard layout editor)….and i plugin on ki cad to places the footprints side by side in their respective areas… there are a lot to say and i broke all the challenges down in my github journal…. check it out"}, {"post_id": 59023, "ts": "2026-08-31T16:38:44Z", "hours": 0.73, "text": "So today i officially started my project (i hope i finish it before the deadline💀💀)…so i started with the pcb schematics ….i didnt finish it today so ill try to do that tommorow (or some time….[im very busy])"}]...
|
Title: WIEBZ-K1 by @zephano | Stardance
Devlogs:
Title: WIEBZ-K1 by @zephano | Stardance
Devlogs:
So today i officially started my project (i hope i finish it before the deadline💀💀)…so i started with the pcb schematics ….i didnt finish it today so ill try to do that tommorow (or some time….[im very busy])
So yh ive finished the pcb design….all the way from the schematics to the pcb design…i had a lot of issues but i overcame them…one of the problems was the switches footprints weren’t aligning so i use KLE (keyboard layout editor)….and i plugin on ki cad to places the footprints side by side in their respective areas… there are a lot to say and i broke all the challenges down in my github journal…. check it out
well ive been busy for a while and i couldnt continue the project but we are back now…..so yh i switched…..imma build my own keyboard…i call it wiebz-k1…so i started the case…i did the front case and the back case and fitted everything together…..my fusion kept crashing over and over again which go really annoying….well i cant really blame it, i was using about 97% of ram sooo…anyways whats remaning is just to add the screw holes to the back and front case and ill be done with that
so after looking at the first case design…i felt it was kinda bad and bulky for no reason….so today i decided to redesing the case…..completely scraping the front case and only leaving the plate and bottom case….the i dea was to get that floating keys stuff…and also that will make the whole thing more compact...
|
1793137708.0338523
|
1793742508.0338523
|
|
58860
|
SereneOS by @AbhrajitGogoi | Stardance
|
AbhrajitGogoi
|
2
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T13:23:20Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello world!! This is SereneOS. A calming webOS experience made to be felt by heart. This was a really fun and long journey (it also started getting on my nerves towards the end) I could get the doom to run locally but on github pages it seemed like there was some error which still persists. When i was thinking about design I thought that the mac layout looked really clean and modern and was pleasant as compared to other things i tried to take an inspiration from. Although i understand this project looks like mac os this does not mean it was just made in 5 mins by an ai!! There are somethings which i started realising later in the project. As my code and number of files started growing, my directory seemed more and more gibberish and my code started looking ugly too. I need to learn to change that!!! The hardest part was to get the dos to work which stil doesnt work!!! 😭 i have spent 5 hrs trying to fix it and even hackatime does not count it and it doesnt work so it kind of feels like a waste :(", "repo": "https://github.com/Abhrajit-Gogoi/hc-web-OS", "demo": "https://abhrajit-gogoi.github.io/hc-web-OS/"}, {"ship_num": 2, "ts": "2026-09-06T17:52:38Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello World!! I made a calm and graceful looking OS. This OS is meant to feel like home, have a sentimental attractiveness to it. I chose Violet Evergarden because for me watching the anime gave me a sense of belonging as she found herself learning about different people. It has draggable windows with minimise, maximise and close buttons (though you cannot get the app back once you minimise. It is a bug i plan to fix in the next version.). The OS has its button island (i still don’t know what its called) in the bottom with icons that hover when you pass over them. I made a mistake of making the initial commits from my old account and later switched to the new account. Although this might be too simplistic a more niche version is coming in webOS V 2.0!!!!! cant wait to start creating :)) signing off! Version 1.0 is officially finished……….. home wallpaper: https://wallpapercave.com/w/wp6325798", "repo": "https://github.com/Abhrajit-Gogoi/hc-web-OS", "demo": "https://abhrajit-gogoi.github.io/hc-web-OS/"}]...
|
[{"post_id": 65331, "ts": "202 [{"post_id": 65331, "ts": "2026-09-10T12:30:34Z", "hours": 2.1047, "text": "Its up and running!!!!!! I thought this DOOM would be the DOOM of me. Idk about the github page but locally its running!!!! . . THis is Probably the end of the SereneOS journey… it was really a memorable one i would really love!!!!!"}, {"post_id": 65264, "ts": "2026-09-10T08:25:42Z", "hours": 1.17, "text": "added two games via api…. THIS WAS NO DOUBT THE MOST ANNOYING PART OF IT ALL. MANY WEBSITES SAID THEYA LLOW EMBEDS BUT REFUSED TO CONNECT. This was a 10 min feature but i have been going on this since 3 hours out of which only 1 hr has been logged because of the coding part 😭😭😭😭😭😭 I think i’ll give the last spot to doom . i dont think i will be able to make it much more advanced than this because my modularity outright sucks and my files and code are a mess. I think It’ll break me if i try to get any better than this"}, {"post_id": 65201, "ts": "2026-09-10T05:16:56Z", "hours": 3.6489, "text": "New feature!!!! Added a dark theme with a separate wallpaper. Also added A sweet lofi background music that plays on loop to soothe your ears…… The bgm was so sweet I fell asleep listening to it and woke up half an hour later! 😭😭 ….. Now BIG ISSUE (I was warned about this by people already but this is my first time experiencing it) …………Number of files increasing, My code is crossing 300 lines. It takes forever to lookup the element i need to work with and it’s too much work to fix it from square one."}, {"post_id": 64937, "ts": "2026-09-09T17:42:42Z", "hours": 2.5089, "text": "Created a separate notes app and a separate calculator app sandboxed. . I know it looks like a macOS knockoff but that’s what i am trying to make it like. Plus it takes a lot of effort to write a different html and css for each of the apps. I am kind of bad at designing so i tried to make it like apple who have top designers working for them. ….I think i will have to think of some creative features after these. Maybe i can get an api to run Doom inside of this lets seee………"}, {"post_id": 64278, "ts": "2026-09-08T15:39:26Z", "hours": 0.9619, "text": "Fixed some draggability bugs and the full screen option was not giving an actual full screen. Now its ready to ship again"}, {"post_id": 63064, "ts": "2026-09-06T17:33:31Z", "hours": 1.0714, "text": "VERSION 1.0 finished . Added a simple clock app using a sandboxed frame and a different short html file that will run that frame. Currently only 1 app. I will be adding more in webOS 2.0. . . t is really hard to get the JS working for the apps and sometimes it ends up breaking the other part f the js sigh :( . though alls well that ends well! Signing off!! Have a great day ahead"}, {"post_id": 63002, "ts": "2026-09-06T15:54:21Z", "hours": 0.7192, "text": "MAJOR MISTAKE!! I just made a major mistake that could get be reported. All this time I was committing with my old account (gbarial) [it is a great username i came up with myself. I used it to refer to myself from 4 years. Now it’s time to outrgrow it and take on my given name] the personal story aside, It looks like two people made the commit but worry not its just me. So please keep this in mind before reporting my project to be done by someone else….. Back to the devlog….. I made the window draggable and made the minimise maximise buttons work. It looks really cool now!!"}, {"post_id": 62959, "ts": "2026-09-06T14:55:37Z", "hours": 2.0186, "text": "It looks so graceful!!!!!!! Made the welcome message and improved the CSS a whole lot. I don’t believe i made something that looks sooooo smooth. MWAH!! just love it. I foud out that using canve makes it really easy to get the space right. I even made the apps hover. The animation is just <3 I also improved the js script. The next goal is to make the window draggable and get those maximise minimise buttons working!!"}, {"post_id": 62866, "ts": "2026-09-06T12:16:14Z", "hours": 1.2969, "text": "Done with html. added a logo and background css along with loading screen script. added a loading page using event listener in the script and also initialised the clock. up next would be to refine the design and then add the app icon space (idk what its called I don’t use a mac)"}, {"post_id": 62778, "ts": "2026-09-06T09:22:10Z", "hours": 0.4494, "text": "Initial devlog created the basic design of my web os in canva. next i will be working to create the loading page and creating the basic html and css layout"}]...
|
Title: SereneOS by @AbhrajitGogoi | Stardance
Dev Title: SereneOS by @AbhrajitGogoi | Stardance
Devlogs:
Initial devlog created the basic design of my web os in canva. next i will be working to create the loading page and creating the basic html and css layout
Done with html. added a logo and background css along with loading screen script. added a loading page using event listener in the script and also initialised the clock. up next would be to refine the design and then add the app icon space (idk what its called I don’t use a mac)
It looks so graceful!!!!!!! Made the welcome message and improved the CSS a whole lot. I don’t believe i made something that looks sooooo smooth. MWAH!! just love it. I foud out that using canve makes it really easy to get the space right. I even made the apps hover. The animation is just <3 I also improved the js script. The next goal is to make the window draggable and get those maximise minimise buttons working!!
MAJOR MISTAKE!! I just made a major mistake that could get be reported. All this time I was committing with my old account (gbarial) [it is a great username i came up with myself. I used it to refer to myself from 4 years. Now it’s time to outrgrow it and take on my given name] the personal story aside, It looks like two people made the commit but worry not its just me. So please keep this in mind before reporting my project to be done by someone else….. Back to the devlog….. I made the window draggable and made the minimise maximise buttons work. It looks really cool now!!
VERSION 1.0 finished . Added a simple clock app using a sandboxed frame and a different short html file that will run that frame. Currently only 1 app. I will be adding more in webOS 2.0. . . t is really hard to get the JS working for the apps and sometimes it ends up breaking the other part f the js sigh :( . though alls well that ends well! Signing off!! Have a great day ahead
Fixed some draggability bugs and the full screen option was not giving an actual full screen. Now its ready to ship again
Created a separate notes app and a separate calculator app sandboxed. . I know it looks like a macOS knockoff but that’s what i am trying to make it like. Plus it takes a lot of effort to write a different html and css for each of the apps. I am kind of bad at designing so i tried to make it like apple who have top designers working for them. ….I think i will have to think of some creative features after these. Maybe i can get an api to run Doom inside of this lets seee………
New feature!!!! Added a dark theme with a separate wallpaper. Also added A sweet lofi background music that plays on loop to soothe your ears…… The bgm was so sweet I fell asleep listening to it and woke up half an hour later! 😭😭 ….. Now BIG ISSUE (I was warned about this by people already but this is my first time experiencing it) …………Number of files increasing, My code is crossing 300 lines. It takes forever to lookup the element i need to work with and it’s too much work to fix it from square one.
added two games via api…. THIS WAS NO DOUBT THE MOST ANNOYING PART OF IT ALL. MANY WEBSITES SAID THEYA LLOW EMBEDS BUT REFUSED TO CONNECT. This was a 10 min feature but i have been going on this since 3 hours out of which only 1 hr has been logged because of the coding part 😭😭😭😭😭😭 I think i’ll give the last spot to doom . i dont think i will be able to make it much more advanced than this because my modularity outright sucks and my files and code are a mess. I think It’ll break me if i try to get any better than this
Its up and running!!!!!! I thought this DOOM would be the DOOM of me. Idk about the github page but locally its running!!!! . . THis is Probably the end of the SereneOS journey… it was really a memorable one i would really love!!!!!
Ships:
Hello World!! I made a calm and graceful looking OS. This OS is meant to feel like home, have a sentimental attractiveness to it. I chose Violet Evergarden because for me watching the anime gave me a sense of belonging as she found herself learning about different people. It has draggable windows with minimise, maximise and close buttons (though you cannot get the app back once you minimise. It is a bug i plan to fix in the next version.). The OS has its button island (i still don’t know what its called) in the bottom with icons that hover when you pass over them. I made a mistake of making the initial commits from my old account and later switched to the new account. Although this might be too simplistic a more niche version is coming in webOS V 2.0!!!!! cant wait to start creating :)) signing off! Version 1.0 is officially finished……….. home wallpaper: https://wallpapercave.com/w/wp6325798
Hello world!! This is SereneOS. A calming webOS experience made to be felt by heart. This was a really fun and long journey (it also started getting on my nerves towards the end) I could get the doom to run locally but on github pages it seemed like there was some error which still persists. When i was thinking about design I thought that the mac layout looked really clean and modern and was pleasant as compared to other things i tried to take an inspiration from. Although i understand this project looks like mac os this does not mean it was just made in 5 mins by an ai!! There are somethings which i started realising later in the project. As my code and number of files started growing, my directory seemed more and more gibberish and my code started looking ugly too. I need to learn to change that!!! The hardest part was to get the dos to work which stil doesnt work!!! 😭 i have spent 5 hrs trying to fix it and even hackatime does not count it and it doesnt work so it kind of feels like a waste :(...
|
1792878508.0040762
|
1793742508.0040762
|
|
13805
|
Threejs mountain by @trung_nguyen | Stardance
|
trung_nguyen
|
1
|
50.0
|
784
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T09:37:21Z", "hours": 50.0, "multiplier": 17.7, "payout": 784, "blessing": "neutral", "text": "Just shipped Mountain 🏔️ — an interactive WebGPU scene where a single 3D mountain morphs through four worlds: Snow → Night → Meadow → Ocean. Each has its own light, weather, and camera, stitched together by a GPU “energy wave” that sweeps up the peak and washes the next chapter in. The fun part: it’s one mountain mesh, not four scenes. A single shader paints all four looks, and every transition runs as per-frame GPU work — windy snow, glowing night, a meadow full of flowers and fog, an animated ocean with foam and a real lake reflection. Built with Three.js (WebGPU + TSL) and React Three Fiber. Best viewed in Chrome/Edge — switch chapters with the nav at the bottom 👀 🔗 https://2trung.github.io/mountain", "repo": "https://github.com/2trung/mountain", "demo": "https://2trung.github.io/mountain/"}]...
|
[{"post_id": 11857, "ts": "202 [{"post_id": 11857, "ts": "2026-06-19T09:32:22Z", "hours": 9.0853, "text": "last day was a grind, added the dynamic background transitions so the sky changes between chapters, did parallax for some depth (this little touch makes it feel so much more alive), and added the nav buttons so u can actually jump between scenes instead of just scrolling."}, {"post_id": 10684, "ts": "2026-06-17T15:25:38Z", "hours": 8.3386, "text": "new scene!! the ocean one with the island. this was probably the most fun so far. made an ocean wrapping around the island, added foam near the shore and scattered some rocks around so it doesnt look empty. improved the water movement too, reused some stuff from the lake which saved me. coastal mountains in the back tie it together. starting to feel like a real place which is sick"}, {"post_id": 9996, "ts": "2026-06-16T15:11:11Z", "hours": 15.7522, "text": "added a LAKE today. the meadow scene needed water and omg the reflections were a nightmare. like genuinely the water looked like cursed plastic for hours before i got it looking semi decent. stuff i did: added the lake water reflections + surface (the pain) blended the terrain around the shore so it doesnt just clip into the water threw in some fog for depth, instantly made it look 10x better honestly fog is so underrated it hides all my sins"}, {"post_id": 8715, "ts": "2026-06-14T14:08:09Z", "hours": 7.3389, "text": "2 of the 4 scenes are basically done now lets gooo. spent today on lighting mostly, the first version looked super flat and depressing so i messed with it til it had some actual mood to it. also kept tweaking materials (probably spent too long on this, i keep going back and changing tiny things nobody will notice). and i adjusted the camera framing so each scene actually looks composed n not random. feeling good about progress"}, {"post_id": 8074, "ts": "2026-06-13T14:09:55Z", "hours": 3.7942, "text": "short one today, was kinda busy w school. mostly worked on the transitions between sections, getting the camera to glide instead of snapping. took way longer than expected, transitions are deceptively annoying. polished a few other things and called it."}, {"post_id": 6880, "ts": "2026-06-11T15:15:07Z", "hours": 4.0511, "text": "todays the day it started feeling like an actual project. did the clouds!! they’re procedural which sounds fancy but i basically just spent 4 hours fighting with noise functions until something cloud shaped appeared. animated them with TSL (still kinda new to me ngl) and wrote a custom material so they render right. also went back n refined the mountain peaks cause they looked too smooth/fake before. the vibe is slowly coming together, im hyped"}, {"post_id": 6574, "ts": "2026-06-11T01:20:12Z", "hours": 1.7125, "text": "ok so i finally started the three.js thing ive been putting off for like 2 weeks lol. spent most of today just getting the boilerplate going, canvas + camera + renderer blah blah. honestly the boring part but u gotta do it. got my first glb model loaded in and it showed up as a giant black blob until i realized i had zero lights in the scene classic. added some lighting and boom theres my mountain. also made the canvas resize properly cause i hate when stuff looks stretched on different screens. not much to look at yet but the bones are there. excited to actually make it pretty later"}]...
|
Title: Threejs mountain by @trung_nguyen | Stardan Title: Threejs mountain by @trung_nguyen | Stardance
Devlogs:
ok so i finally started the three.js thing ive been putting off for like 2 weeks lol. spent most of today just getting the boilerplate going, canvas + camera + renderer blah blah. honestly the boring part but u gotta do it. got my first glb model loaded in and it showed up as a giant black blob until i realized i had zero lights in the scene classic. added some lighting and boom theres my mountain. also made the canvas resize properly cause i hate when stuff looks stretched on different screens. not much to look at yet but the bones are there. excited to actually make it pretty later
todays the day it started feeling like an actual project. did the clouds!! they’re procedural which sounds fancy but i basically just spent 4 hours fighting with noise functions until something cloud shaped appeared. animated them with TSL (still kinda new to me ngl) and wrote a custom material so they render right. also went back n refined the mountain peaks cause they looked too smooth/fake before. the vibe is slowly coming together, im hyped
short one today, was kinda busy w school. mostly worked on the transitions between sections, getting the camera to glide instead of snapping. took way longer than expected, transitions are deceptively annoying. polished a few other things and called it.
2 of the 4 scenes are basically done now lets gooo. spent today on lighting mostly, the first version looked super flat and depressing so i messed with it til it had some actual mood to it. also kept tweaking materials (probably spent too long on this, i keep going back and changing tiny things nobody will notice). and i adjusted the camera framing so each scene actually looks composed n not random. feeling good about progress
added a LAKE today. the meadow scene needed water and omg the reflections were a nightmare. like genuinely the water looked like cursed plastic for hours before i got it looking semi decent. stuff i did: added the lake water reflections + surface (the pain) blended the terrain around the shore so it doesnt just clip into the water threw in some fog for depth, instantly made it look 10x better honestly fog is so underrated it hides all my sins
new scene!! the ocean one with the island. this was probably the most fun so far. made an ocean wrapping around the island, added foam near the shore and scattered some rocks around so it doesnt look empty. improved the water movement too, reused some stuff from the lake which saved me. coastal mountains in the back tie it together. starting to feel like a real place which is sick
last day was a grind, added the dynamic background transitions so the sky changes between chapters, did parallax for some depth (this little touch makes it feel so much more alive), and added the nav buttons so u can actually jump between scenes instead of just scrolling.
Ships:
Just shipped Mountain 🏔️ — an interactive WebGPU scene where a single 3D mountain morphs through four worlds: Snow → Night → Meadow → Ocean. Each has its own light, weather, and camera, stitched together by a GPU “energy wave” that sweeps up the peak and washes the next chapter in. The fun part: it’s one mountain mesh, not four scenes. A single shader paints all four looks, and every transition runs as per-frame GPU work — windy snow, glowing night, a meadow full of flowers and fog, an animated ocean with foam and a real lake reflection. Built with Three.js (WebGPU + TSL) and React Three Fiber. Best viewed in Chrome/Edge — switch chapters with the nav at the bottom 👀 🔗 https://2trung.github.io/mountain...
|
1792878507.1665027
|
1793742507.1665027
|
|
27929
|
WarioWare Game by @Phantomoverlord | Stardance
|
Phantomoverlord
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @Phantomoverlord | Starda Title: WarioWare Game by @Phantomoverlord | Stardance...
|
1793137707.1538527
|
1793742507.1538527
|
|
54989
|
custom-tab by @Tallurisaikumar | Stardance
|
Tallurisaikumar
|
1
|
51.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-31T13:58:53Z", "hours": 51.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What I made I created a custom new tab page called Space Pulse . It’s a compact personal dashboard featuring a NASA APOD image slider, search bar, shortcuts, sticky notes, and an emoji-based profile section. What was challenging The biggest challenge was fitting all the features together without making the interface feel cluttered. I also had to make sure notes, shortcuts, and profile data were saved correctly using local storage while keeping the page feeling personal rather than like a generic dashboard. What I’m proud of I’m most proud that Space Pulse is a functional project that I could actually use every day. The personalized shortcuts, notes, and emoji profile give it its own character, while the NASA imagery adds a nice visual touch without taking away from the overall design. What people should know before trying it out Space Pulse requires JavaScript to be enabled in the browser. Notes, shortcuts, and profile settings are stored locally, so they will be lost if the browser’s local storage is cleared. The NASA APOD image updates daily, and when an image is unavailable or the APOD is a video, a fallback background is displayed instead.", "repo": "https://github.com/tallurisai9346-beep/MY-TAB", "demo": "https://my-tab-six.vercel.app/"}]...
|
[{"post_id": 58611, "ts": "202 [{"post_id": 58611, "ts": "2026-08-31T02:50:50Z", "hours": 7.28, "text": "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": 58144, "ts": "2026-08-30T14:31:03Z", "hours": 8.9236, "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": 57837, "ts": "2026-08-30T04:22:43Z", "hours": 10.5608, "text": "this one of the day image"}, {"post_id": 57357, "ts": "2026-08-29T14:07:07Z", "hours": 5.1358, "text": "Today I worked on my space-themed dashboard and added a few features to make it feel more useful and interactive. 🚀 The dashboard now has a web search option, quick-access links, sticky notes, and a NASA Astronomy Picture of the Day section that updates with space-related content. 🌌 I also focused on keeping the design simple and clean while giving it a futuristic space look. It’s starting to feel less like a basic homepage and more like my own personal space hub. ✨ Next, I want to improve the responsiveness, smooth out the interactions, and add a few more useful features. 🌠"}, {"post_id": 57172, "ts": "2026-08-29T08:41:13Z", "hours": 3.8408, "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": 57038, "ts": "2026-08-29T03:31:46Z", "hours": 8.5431, "text": "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": 56803, "ts": "2026-08-28T18:34:09Z", "hours": 2.4581, "text": "Turning the Dashboard into a Real Traveler Hub 🌍✨ Today I moved beyond the NASA section and started building the personal dashboard experience. 🧭 I added a Quick Access area for saving useful links, a Sticky Notes section for keeping small reminders, and an emoji picker to give the dashboard a little personality. 📝🔗😊 I also connected these features to localStorage, so my notes and links stay saved even after refreshing the page. 🔒💾 The goal now is to make everything feel less like a collection of features and more like one smooth, futuristic traveler workspace. 🚀🌌 Next up: polishing the UI, animations, and responsive mobile experience. 📱✨"}, {"post_id": 56445, "ts": "2026-08-28T06:38:26Z", "hours": 3.8667, "text": "H1 – Giving My Website a Pulse Today I started building my My Tab project with Vite. I got the local server running and connected the NASA APOD API. 🌌 I also added my API key to .env and made sure .env is in .gitignore so the key isn’t pushed to GitHub. 🔒 Next, I’m working on the UI and getting the daily NASA image, title, date, and explanation onto the page. 🚀 Your project is using Vite and already has the NASA APOD section, search, quick links, and sticky notes in the UI."}]...
|
Title: custom-tab by @Tallurisaikumar | Stardance
Title: custom-tab by @Tallurisaikumar | Stardance
Devlogs:
H1 – Giving My Website a Pulse Today I started building my My Tab project with Vite. I got the local server running and connected the NASA APOD API. 🌌 I also added my API key to .env and made sure .env is in .gitignore so the key isn’t pushed to GitHub. 🔒 Next, I’m working on the UI and getting the daily NASA image, title, date, and explanation onto the page. 🚀 Your project is using Vite and already has the NASA APOD section, search, quick links, and sticky notes in the UI.
Turning the Dashboard into a Real Traveler Hub 🌍✨ Today I moved beyond the NASA section and started building the personal dashboard experience. 🧭 I added a Quick Access area for saving useful links, a Sticky Notes section for keeping small reminders, and an emoji picker to give the dashboard a little personality. 📝🔗😊 I also connected these features to localStorage, so my notes and links stay saved even after refreshing the page. 🔒💾 The goal now is to make everything feel less like a collection of features and more like one smooth, futuristic traveler workspace. 🚀🌌 Next up: polishing the UI, animations, and responsive mobile experience. 📱✨
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. 🌍
Today I worked on my space-themed dashboard and added a few features to make it feel more useful and interactive. 🚀 The dashboard now has a web search option, quick-access links, sticky notes, and a NASA Astronomy Picture of the Day section that updates with space-related content. 🌌 I also focused on keeping the design simple and clean while giving it a futuristic space look. It’s starting to feel less like a basic homepage and more like my own personal space hub. ✨ Next, I want to improve the responsiveness, smooth out the interactions, and add a few more useful features. 🌠
this one of the day image
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. 🚀
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
Ships:
What I made I created a custom new tab page called Space Pulse . It’s a compact personal dashboard featuring a NASA APOD image slider, search bar, shortcuts, sticky notes, and an emoji-based profile section. What was challenging The biggest challenge was fitting all the features together without making the interface feel cluttered. I also had to make sure notes, shortcuts, and profile data were saved correctly using local storage while keeping the page feeling personal rather than like a generic dashboard. What I’m proud of I’m most proud that Space Pulse is a functional project that I could actually use every day. The personalized shortcuts, notes, and emoji profile give it its own character, while the NASA imagery adds a nice visual touch without taking away from the overall design. What people should know before trying it out Space Pulse requires JavaScript to be enabled in the browser. Notes, shortcuts, and profile settings are stored locally, so they will be lost if the browser’s local storage is cleared. The NASA APOD image updates daily, and when an image is unavailable or the APOD is a video, a fallback background is displayed instead....
|
1792878506.3492012
|
1793742506.3492012
|
|
4177
|
offline mini gaming console by @shyamks1828 | Star offline mini gaming console by @shyamks1828 | Stardance...
|
shyamks1828
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T06:20:41Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I am making a retro games gameboy of sorts. its not completed yet. I just wanna spread a product that helps kill time offline for very cheap. I will be upgrading certain aspects like power source and be adding more games and interactive interface. any suggestion reac out to me.", "repo": "https://github.com/coderrcboy/arduino-game-boy", "demo": ""}]...
|
[{"post_id": 15680, "ts": "202 [{"post_id": 15680, "ts": "2026-06-25T14:23:29Z", "hours": 0.3833, "text": "this is iteration 1 . please gimme feedbacks. i will be reworking the case design. also there are some glitches in the code pls do advice after trying it out."}, {"post_id": 12880, "ts": "2026-06-21T03:12:48Z", "hours": 0.4092, "text": "Hi guys im trying to revive nostalgia by making a gameboy like console with arduino nano to play classic retro games am still coding first game. i am visualising a final gameboy with many game options which u can choose from menu."}, {"post_id": 8691, "ts": "2026-06-14T13:14:07Z", "hours": 0.2947, "text": "Hi guys Im working on a mini arduino nano console of sorts where you can play simple retro offline anywhere. My goal in thus community is to publish projects that spread joy! Hope to take this to completion amidst my hectic school schedule!"}]...
|
Title: offline mini gaming console by @shyamks1828 Title: offline mini gaming console by @shyamks1828 | Stardance
Devlogs:
Hi guys Im working on a mini arduino nano console of sorts where you can play simple retro offline anywhere. My goal in thus community is to publish projects that spread joy! Hope to take this to completion amidst my hectic school schedule!
Hi guys im trying to revive nostalgia by making a gameboy like console with arduino nano to play classic retro games am still coding first game. i am visualising a final gameboy with many game options which u can choose from menu.
this is iteration 1 . please gimme feedbacks. i will be reworking the case design. also there are some glitches in the code pls do advice after trying it out.
Ships:
I am making a retro games gameboy of sorts. its not completed yet. I just wanna spread a product that helps kill time offline for very cheap. I will be upgrading certain aspects like power source and be adding more games and interactive interface. any suggestion reac out to me....
|
1792878505.5100656
|
1793742505.5100656
|
|
55033
|
Image Recognition Glasses by @aminom | Stardance
|
aminom
|
0
|
0.61
|
0
|
[]
|
[{"post_id": 55538, "ts": "202 [{"post_id": 55538, "ts": "2026-08-27T13:39:16Z", "hours": 0.615, "text": "Fixing the 3D models"}]...
|
Title: Image Recognition Glasses by @aminom | Star Title: Image Recognition Glasses by @aminom | Stardance
Devlogs:
Fixing the 3D models...
|
1793137705.3116124
|
1793742505.3116124
|