|
14001
|
My very own WebOS by @deadinside | Stardance
|
deadinside
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @deadinside | Stardanc Title: My very own WebOS by @deadinside | Stardance...
|
1793144966.0255234
|
1793749766.0255234
|
|
14002
|
The air glove by @Fares | Stardance
|
Fares
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: The air glove by @Fares | Stardance
|
1793389769.7444396
|
1793994569.7444396
|
|
14003
|
A Cool Folding Clothes Machine by @Rey | Stardance
|
Rey
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A Cool Folding Clothes Machine by @Rey | St Title: A Cool Folding Clothes Machine by @Rey | Stardance...
|
1793332464.1663227
|
1793937264.1663227
|
|
14004
|
My first slack bot! by @ParthSharma | Stardance
|
ParthSharma
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @ParthSharma | Stard Title: My first slack bot! by @ParthSharma | Stardance...
|
1793156071.8675342
|
1793760871.8675342
|
|
14005
|
My very own WebOS by @vjaditya | Stardance
|
vjaditya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @vjaditya | Stardance
|
1793400613.6860514
|
1794005413.6860514
|
|
14006
|
404OS by @Indian5000 | Stardance
|
Indian5000
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-10T22:29:43Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This was a WebOS (404 OS) built by me. First time writing code completely independently felt very challenging but the really entertaining guide helped me a lot! Overall, i learnt a lot through this project(including but not limited to writing Javascript, Using Various CSS styles, Readme composition, etc)", "repo": "https://github.com/Indian5000/404OS", "demo": "https://indian5000.github.io/404OS/Frontend/index.html"}]...
|
[{"post_id": 6479, "ts": "2026 [{"post_id": 6479, "ts": "2026-06-10T21:54:03Z", "hours": 0.5025, "text": "Added “Web Browser” using iframe. Generated a about.html using claude as landing page. Part 5 done."}, {"post_id": 6433, "ts": "2026-06-10T20:21:08Z", "hours": 1.6544, "text": "Finished Adding Notes App (Took me way to long to figure out the Logic and Javascript in secondary experimental project- Reason for such a huge work hour count in previous devblogs.) Completed Part 4."}, {"post_id": 5866, "ts": "2026-06-09T20:19:10Z", "hours": 4.0414, "text": "Decided to Change things up a bit…definetly…Finished Part 3."}, {"post_id": 5521, "ts": "2026-06-09T10:23:02Z", "hours": 0.4183, "text": "Made the welcome page suck less"}, {"post_id": 5501, "ts": "2026-06-09T09:41:06Z", "hours": 1.1036, "text": "Added a Welcome Screen (Very Crappy one at that)"}]...
|
Title: 404OS by @Indian5000 | Stardance
Devlogs:
Title: 404OS by @Indian5000 | Stardance
Devlogs:
Added a Welcome Screen (Very Crappy one at that)
Made the welcome page suck less
Decided to Change things up a bit…definetly…Finished Part 3.
Finished Adding Notes App (Took me way to long to figure out the Logic and Javascript in secondary experimental project- Reason for such a huge work hour count in previous devblogs.) Completed Part 4.
Added “Web Browser” using iframe. Generated a about.html using claude as landing page. Part 5 done.
Ships:
This was a WebOS (404 OS) built by me. First time writing code completely independently felt very challenging but the really entertaining guide helped me a lot! Overall, i learnt a lot through this project(including but not limited to writing Javascript, Using Various CSS styles, Readme composition, etc)...
|
1793566402.8613844
|
1793652802.8613844
|
|
14007
|
Rentora by @puneetkr_06 | Stardance
|
puneetkr_06
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Rentora by @puneetkr_06 | Stardance
|
1793310814.2960865
|
1793915614.2960865
|
|
14008
|
Focus RPG Chrome Extension by @swastik_seth | Star Focus RPG Chrome Extension by @swastik_seth | Stardance...
|
swastik_seth
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Focus RPG Chrome Extension by @swastik_seth Title: Focus RPG Chrome Extension by @swastik_seth | Stardance...
|
1792950673.6701617
|
1793814673.6701617
|
|
14009
|
My awesome macropad! by @JoeLee | Stardance
|
JoeLee
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @JoeLee | Stardance
|
1793177661.0655272
|
1793782461.0655272
|
|
14010
|
Portfolio Website by @noahbedouch | Stardance
|
noahbedouch
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Portfolio Website by @noahbedouch | Stardan Title: Portfolio Website by @noahbedouch | Stardance...
|
1793494077.105361
|
1794098877.105361
|
|
14011
|
My very own WebOS by @Mats | Stardance
|
Mats
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T15:11:01Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Well, this is a WebOS. It contains an about me section, w/o photo bc I dont know yall. It also contains a MatsAI basic window, which just tells you to buy MatsAI premium, which is a whink to me, when I dont know an answer.", "repo": "https://github.com/MatsDevOfficial/MatsDevOfficial.github.io", "demo": "https://matsdevofficial.github.io"}]...
|
[{"post_id": 5649, "ts": "2026 [{"post_id": 5649, "ts": "2026-06-09T15:00:30Z", "hours": 0.6572, "text": "Made an easy app, normal MatsAI. It will just respond to buy MatsAI premium, adding working AI in WebOS 2"}, {"post_id": 5511, "ts": "2026-06-09T09:58:30Z", "hours": 0.3858, "text": "Made the about me go WEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, added opening and closing"}, {"post_id": 5492, "ts": "2026-06-09T09:25:03Z", "hours": 0.3581, "text": "Added info on myself, added a bg, top bar."}, {"post_id": 5472, "ts": "2026-06-09T08:24:23Z", "hours": 0.4914, "text": "Fixed color, text and basic outline"}]...
|
Title: My very own WebOS by @Mats | Stardance
Dev Title: My very own WebOS by @Mats | Stardance
Devlogs:
Fixed color, text and basic outline
Added info on myself, added a bg, top bar.
Made the about me go WEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE, added opening and closing
Made an easy app, normal MatsAI. It will just respond to buy MatsAI premium, adding working AI in WebOS 2
Ships:
Well, this is a WebOS. It contains an about me section, w/o photo bc I dont know yall. It also contains a MatsAI basic window, which just tells you to buy MatsAI premium, which is a whink to me, when I dont know an answer....
|
1793613360.1273663
|
1793699760.1273663
|
|
14012
|
My first slack bot! by @sudo0 | Stardance
|
sudo0
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @sudo0 | Stardance
|
1793245944.691894
|
1793850744.691894
|
|
14013
|
Untitled project by @xfx | Stardance
|
xfx
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @xfx | Stardance
|
1793317952.8162124
|
1793922752.8162124
|
|
14014
|
My very own WebOS by @Churu | Stardance
|
Churu
|
2
|
5.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T08:59:02Z", "hours": 1.0, "multiplier": 1.45, "payout": 2, "blessing": "neutral", "text": "I built my first WebOS using some knowledge myself and also learning through the guide provided by HackClub. This is a WebOS that has helpful features like Weather and Todo list makers to keep u aware of your tasks. I First made a loading screen which is very easy to make all it needed was to use some HTML to make the loading screen appear and then all it needed was basic CSS for it cover the whole screen to give it a very cool effect and then i js took some help with javascript to make the bar load, also Made the whole inside as in the images below i have shown that all the apps i made via javascript are shown i used wttr API via wttr.in for weather broadcast and the thing is it does not require any API key and is totally free and works pretty good i mean it does sometimes show random weather but yeah it is a very good API that can be used. and For the images i js kept a web theme and a kind of a spiderman theme cuz it looks cool like that. Also I added a working terminal which currently has 4 commands but as its my first project hope its prettyu cool for my first project.", "repo": "https://github.com/jasersans1-create/CobWebOS", "demo": "https://cob-web-os.vercel.app/"}, {"ship_num": 2, "ts": "2026-07-02T16:45:52Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built my first WebOS using some knowledge myself and also learning through the guide provided by HackClub. This is a WebOS that has helpful features like Weather and Todo list makers to keep u aware of your tasks. I First made a loading screen which is very easy to make all it needed was to use some HTML to make the loading screen appear and then all it needed was basic CSS for it cover the whole screen to give it a very cool effect and then i js took some help with javascript to make the bar load, also Made the whole inside as in the images below i have shown that all the apps i made via javascript are shown i used wttr API via wttr.in for weather broadcast and the thing is it does not require any API key and is totally free and works pretty good i mean it does sometimes show random weather but yeah it is a very good API that can be used. and For the images i js kept a web theme and a kind of a spiderman theme cuz it looks cool like that.", "repo": "https://github.com/jasersans1-create/CobWebOS", "demo": "https://cob-web-os.vercel.app/"}]...
|
[{"post_id": 25815, "ts": "202 [{"post_id": 25815, "ts": "2026-07-10T08:49:27Z", "hours": 0.4764, "text": "FINALLY FIXED EVERYTHING AND THANKS TO GOD MY TERMINALLL IS WORKING PROPERLY!!!! I currently only added 4 commands to it but i find it pretty cool for my first WebOS. Thankfully i hope i get reviewed good :)))"}, {"post_id": 25797, "ts": "2026-07-10T08:19:38Z", "hours": 0.9086, "text": "Tried adding a terminal application inside my WebOS with commands but accidentally ran into an error that restricts my Application opening, i.e i might have forgot to define div id properly , will fix it soon enough and come up with the terminal feature that works properly and name defined as “root@churu” want to give it the linux vibes yk."}, {"post_id": 20873, "ts": "2026-07-02T16:22:01Z", "hours": 3.8581, "text": "I First made a loading screen which is very easy to make all it needed was to use some HTML to make the loading screen appear and then all it needed was basic CSS for it cover the whole screen to give it a very cool effect and then i js took some help with javascript to make the bar load, also Made the whole inside as in the images below i have shown that all the apps i made via javascript are shown i used wttr API via wttr.in for weather broadcast and the thing is it does not require any API key and is totally free and works pretty good i mean it does sometimes show random weather but yeah it is a very good API that can be used. and For the images i js kept a web theme and a kind of a spiderman theme cuz it looks cool like that."}]...
|
Title: My very own WebOS by @Churu | Stardance
De Title: My very own WebOS by @Churu | Stardance
Devlogs:
I First made a loading screen which is very easy to make all it needed was to use some HTML to make the loading screen appear and then all it needed was basic CSS for it cover the whole screen to give it a very cool effect and then i js took some help with javascript to make the bar load, also Made the whole inside as in the images below i have shown that all the apps i made via javascript are shown i used wttr API via wttr.in for weather broadcast and the thing is it does not require any API key and is totally free and works pretty good i mean it does sometimes show random weather but yeah it is a very good API that can be used. and For the images i js kept a web theme and a kind of a spiderman theme cuz it looks cool like that.
Tried adding a terminal application inside my WebOS with commands but accidentally ran into an error that restricts my Application opening, i.e i might have forgot to define div id properly , will fix it soon enough and come up with the terminal feature that works properly and name defined as “root@churu” want to give it the linux vibes yk.
FINALLY FIXED EVERYTHING AND THANKS TO GOD MY TERMINALLL IS WORKING PROPERLY!!!! I currently only added 4 commands to it but i find it pretty cool for my first WebOS. Thankfully i hope i get reviewed good :)))
Ships:
I built my first WebOS using some knowledge myself and also learning through the guide provided by HackClub. This is a WebOS that has helpful features like Weather and Todo list makers to keep u aware of your tasks. I First made a loading screen which is very easy to make all it needed was to use some HTML to make the loading screen appear and then all it needed was basic CSS for it cover the whole screen to give it a very cool effect and then i js took some help with javascript to make the bar load, also Made the whole inside as in the images below i have shown that all the apps i made via javascript are shown i used wttr API via wttr.in for weather broadcast and the thing is it does not require any API key and is totally free and works pretty good i mean it does sometimes show random weather but yeah it is a very good API that can be used. and For the images i js kept a web theme and a kind of a spiderman theme cuz it looks cool like that.
I built my first WebOS using some knowledge myself and also learning through the guide provided by HackClub. This is a WebOS that has helpful features like Weather and Todo list makers to keep u aware of your tasks. I First made a loading screen which is very easy to make all it needed was to use some HTML to make the loading screen appear and then all it needed was basic CSS for it cover the whole screen to give it a very cool effect and then i js took some help with javascript to make the bar load, also Made the whole inside as in the images below i have shown that all the apps i made via javascript are shown i used wttr API via wttr.in for weather broadcast and the thing is it does not require any API key and is totally free and works pretty good i mean it does sometimes show random weather but yeah it is a very good API that can be used. and For the images i js kept a web theme and a kind of a spiderman theme cuz it looks cool like that. Also I added a working terminal which currently has 4 commands but as its my first project hope its prettyu cool for my first project....
|
1792878472.7196681
|
1793742472.7196681
|
|
14015
|
My awesome macropad! by @Ishaan14 | Stardance
|
Ishaan14
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Ishaan14 | Stardan Title: My awesome macropad! by @Ishaan14 | Stardance...
|
1793285561.588018
|
1793890361.588018
|
|
14016
|
My first slack bot! by @kaylakalimba | Stardance
|
kaylakalimba
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @kaylakalimba | Star Title: My first slack bot! by @kaylakalimba | Stardance...
|
1793559245.4668531
|
1794164045.4668531
|
|
14017
|
3D Pixel Art.... by @Tedd | Stardance
|
Tedd
|
0
|
4.29
|
0
|
[]
|
[{"post_id": 5830, "ts": "2026 [{"post_id": 5830, "ts": "2026-06-09T19:28:04Z", "hours": 4.2897, "text": "So I’m working on a 3D pixel art game.I decided to combine my two favorite genres and created this prototype.Right now all I’m doing is rendering the entire screen to a low res buffer then up-sampling the buffer to fit my screen"}]...
|
Title: 3D Pixel Art.... by @Tedd | Stardance
Devl Title: 3D Pixel Art.... by @Tedd | Stardance
Devlogs:
So I’m working on a 3D pixel art game.I decided to combine my two favorite genres and created this prototype.Right now all I’m doing is rendering the entire screen to a low res buffer then up-sampling the buffer to fit my screen...
|
1793386509.4541929
|
1793991309.4541929
|
|
14018
|
My first slack bot! by @vladdoons | Stardance
|
vladdoons
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @vladdoons | Stardan Title: My first slack bot! by @vladdoons | Stardance...
|
1793541275.5041268
|
1794146075.5041268
|
|
14019
|
Round trip by @jonahearl | Stardance
|
jonahearl
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Round trip by @jonahearl | Stardance
|
1793332135.2450228
|
1793936935.2450228
|
|
14020
|
Astrolens by @rishe | Stardance
|
rishe
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-12T02:27:47Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built AstroLens - a real-time space dashboard where you can explore what’s literally happening in space right now. It pulls live data from 5 NASA APIs and uses an AI to explain everything in plain English. What I made: 6 pages - today’s NASA astronomy image with AI explanation, a JWST gallery where you click any space image and AI tells you what you’re looking at, live asteroid tracker showing every rock passing Earth today with hazard assessment, solar flare monitor, Deep Space Network live feed showing which spacecraft NASA is talking to right now, and a persistent AI chat you can open from any page. What was challenging: Getting the AI working on Vercel was brutal. It worked perfectly on localhost but completely died in production because the Vite dev proxy doesn’t exist after deployment. Had to build a custom serverless function at /api/ai to proxy requests to Hack Club AI. Also accidentally committed my API keys to git history — GitHub blocked every push for hours until I wiped the entire git history and started clean. What I’m proud of: The DSN live feed updates every 5 seconds with real NASA data — you can literally watch NASA communicate with Voyager or Perseverance in real time. And the AI context injection — when you ask about an asteroid, the AI actually knows today’s real distance and speed data, not just generic space facts. To test it: Open the live URL, check today’s APOD image and hit “Explain with AI”, then go to Asteroids and click “Ask AI” on any rock. Open the 🤖 chat button bottom right and ask “what is NASA tracking right now?”", "repo": "https://github.com/RisheS26/astrolens", "demo": "https://astrolens-star.vercel.app/"}]...
|
[{"post_id": 7236, "ts": "2026 [{"post_id": 7236, "ts": "2026-06-12T02:23:43Z", "hours": 2.2656, "text": "Finally the v1 of the Astrolens is working great for my aspect, hosted in vercel( https://astrolens-star.vercel.app/ ) check it out bros!"}, {"post_id": 6749, "ts": "2026-06-11T09:30:44Z", "hours": 1.8478, "text": "🚀 Devlog Update: Conquering the Vercel Production Proxy The Goal: Get the AstroLens AI explainer working in production. Everything ran perfectly on localhost, but the live Vercel deployment was throwing immediate API connection errors. The Struggle: Two massive deployment gotchas hit at the same time: Missing Keys: Vercel doesn’t have access to the local .env file because it is strictly ignored by Git. The live server was trying to authenticate with undefined. The Proxy Mirage: The Vite proxy configuration (/ai-api/…) is a local development feature. Once compiled and deployed, that proxy evaporates. Vercel had no idea where to route the AI requests, causing the chat feature to completely flatline. The Fix: I had to bridge the gap between local development and production infrastructure by injecting the environment variables manually and building a dedicated Vercel Serverless Function to handle the CORS and routing securely. Injecting the Environment Variables Navigated to the Vercel Dashboard → Project Settings → Environment Variables. I manually added both VITE_NASA_API_KEY and VITE_HACKCLUB_AI_KEY, ensuring they were applied across Production, Preview, and Development environments. Building the Serverless Proxy I created an api/ai.js file at the root level. Vercel automatically treats anything in the /api directory as a serverless backend function. This handles the actual request to the Hack Club AI proxy so the frontend doesn’t have to deal with CORS. Dynamic Frontend Routing I updated the frontend API call to dynamically switch its endpoint depending on where the code is running. If import.meta.env.DEV is true, it uses the local Vite proxy. If false (production), it hits the new Vercel serverless function. The Result: Pushed the code (git commit -m “fix: vercel serverless AI proxy + env vars”) and triggered a Vercel redeploy. The architecture is now bulletproof. The NASA data loads instantly, and the AI explainer successfully reaches out to the Qwen model via the serverless function, returning plain-English translations of the space data right on the live URL."}, {"post_id": 6307, "ts": "2026-06-10T16:42:52Z", "hours": 3.2981, "text": "This is an excellent update to AstroLens. Adding the AI explanation feature elevates the project from a simple data viewer to an interactive learning tool, which hits the “Technicality” and “Storytelling” marks the Stardance Shipwrights are looking for. Here is a Devlog entry detailing the AI integration, structured to clearly show progress, technical implementation, and the user experience. 🚀 Devlog Update: The AI Knows Space! (Integrating the Hack Club AI Proxy) The Goal: The raw NASA APIs (like APOD and DONKI) are amazing, but the data is often incredibly dense and full of scientific jargon. I wanted AstroLens to not just show space data, but explain it. The goal was to build a persistent AI Chat layer that uses real-time NASA data as context to answer user questions simply. The Implementation: I integrated Hack Club’s free AI API (ai.hackclub.com/proxy/v1/chat/completions) directly into the React frontend. The API Route: I created a dedicated ai.js service file to handle the fetch request to the proxy, passing my VITE_HACKCLUB_AI_KEY securely via the Authorization header. Context Injection: The real magic is in the context. When a user clicks “Explain with AI” on the Asteroid page, the code doesn’t just ask the AI a generic question. It programmatically injects the live data array (e.g., “There are 12 asteroids passing Earth today, 2 are hazardous…”) into the hidden system prompt before asking the user’s question. Model Selection: After some testing with gemini-2.5-flash, I found that the qwen/qwen3-32b model returned slightly faster and more concise plain-English explanations for the astronomy queries, so I locked that in as the primary model. The Struggle (and the Fix): Getting this working locally was smooth, but deploying it to Vercel completely broke the AI feature—it just threw a generic “AI unavailable” error. It took some debugging, but I realized the issue was my .env file. I correctly had .env listed in .gitignore (security first!), which meant the API key never pushed to GitHub. Since Vercel pulls from GitHub, it had no key. I fixed it by manually adding VITE_HACKCLUB_AI_KEY to the Vercel project’s Environment Variables dashboard and running a fresh redeploy. The Result: AstroLens now features a working “🤖 Explain with AI” button on the data pages. If you look at an APOD image of a Wolf-Rayet star and don’t know what that means, the AI will now break it down into simple terms, right there in the dashboard."}, {"post_id": 5532, "ts": "2026-06-09T10:45:05Z", "hours": 4.1056, "text": "Day 1 - First live NASA data in AstroLens Set up the full project from scratch - Vite, React, Tailwind, NASA API. First attempt had a broken folder structure, debugged it, restarted clean. Within a few hours, got live NASA APOD data rendering in the browser. The image today is Thor’s Helmet Nebula - NGC 2359, 15,000 light years away. Tomorrow: building the full multi-page dashboard with asteroids, space weather, and JWST gallery."}]...
|
Title: Astrolens by @rishe | Stardance
Devlogs:
D Title: Astrolens by @rishe | Stardance
Devlogs:
Day 1 - First live NASA data in AstroLens Set up the full project from scratch - Vite, React, Tailwind, NASA API. First attempt had a broken folder structure, debugged it, restarted clean. Within a few hours, got live NASA APOD data rendering in the browser. The image today is Thor’s Helmet Nebula - NGC 2359, 15,000 light years away. Tomorrow: building the full multi-page dashboard with asteroids, space weather, and JWST gallery.
This is an excellent update to AstroLens. Adding the AI explanation feature elevates the project from a simple data viewer to an interactive learning tool, which hits the “Technicality” and “Storytelling” marks the Stardance Shipwrights are looking for. Here is a Devlog entry detailing the AI integration, structured to clearly show progress, technical implementation, and the user experience. 🚀 Devlog Update: The AI Knows Space! (Integrating the Hack Club AI Proxy) The Goal: The raw NASA APIs (like APOD and DONKI) are amazing, but the data is often incredibly dense and full of scientific jargon. I wanted AstroLens to not just show space data, but explain it. The goal was to build a persistent AI Chat layer that uses real-time NASA data as context to answer user questions simply. The Implementation: I integrated Hack Club’s free AI API (ai.hackclub.com/proxy/v1/chat/completions) directly into the React frontend. The API Route: I created a dedicated ai.js service file to handle the fetch request to the proxy, passing my VITE_HACKCLUB_AI_KEY securely via the Authorization header. Context Injection: The real magic is in the context. When a user clicks “Explain with AI” on the Asteroid page, the code doesn’t just ask the AI a generic question. It programmatically injects the live data array (e.g., “There are 12 asteroids passing Earth today, 2 are hazardous…”) into the hidden system prompt before asking the user’s question. Model Selection: After some testing with gemini-2.5-flash, I found that the qwen/qwen3-32b model returned slightly faster and more concise plain-English explanations for the astronomy queries, so I locked that in as the primary model. The Struggle (and the Fix): Getting this working locally was smooth, but deploying it to Vercel completely broke the AI feature—it just threw a generic “AI unavailable” error. It took some debugging, but I realized the issue was my .env file. I correctly had .env listed in .gitignore (security first!), which meant the API key never pushed to GitHub. Since Vercel pulls from GitHub, it had no key. I fixed it by manually adding VITE_HACKCLUB_AI_KEY to the Vercel project’s Environment Variables dashboard and running a fresh redeploy. The Result: AstroLens now features a working “🤖 Explain with AI” button on the data pages. If you look at an APOD image of a Wolf-Rayet star and don’t know what that means, the AI will now break it down into simple terms, right there in the dashboard.
🚀 Devlog Update: Conquering the Vercel Production Proxy The Goal: Get the AstroLens AI explainer working in production. Everything ran perfectly on localhost, but the live Vercel deployment was throwing immediate API connection errors. The Struggle: Two massive deployment gotchas hit at the same time: Missing Keys: Vercel doesn’t have access to the local .env file because it is strictly ignored by Git. The live server was trying to authenticate with undefined. The Proxy Mirage: The Vite proxy configuration (/ai-api/…) is a local development feature. Once compiled and deployed, that proxy evaporates. Vercel had no idea where to route the AI requests, causing the chat feature to completely flatline. The Fix: I had to bridge the gap between local development and production infrastructure by injecting the environment variables manually and building a dedicated Vercel Serverless Function to handle the CORS and routing securely. Injecting the Environment Variables Navigated to the Vercel Dashboard → Project Settings → Environment Variables. I manually added both VITE_NASA_API_KEY and VITE_HACKCLUB_AI_KEY, ensuring they were applied across Production, Preview, and Development environments. Building the Serverless Proxy I created an api/ai.js file at the root level. Vercel automatically treats anything in the /api directory as a serverless backend function. This handles the actual request to the Hack Club AI proxy so the frontend doesn’t have to deal with CORS. Dynamic Frontend Routing I updated the frontend API call to dynamically switch its endpoint depending on where the code is running. If import.meta.env.DEV is true, it uses the local Vite proxy. If false (production), it hits the new Vercel serverless function. The Result: Pushed the code (git commit -m “fix: vercel serverless AI proxy + env vars”) and triggered a Vercel redeploy. The architecture is now bulletproof. The NASA data loads instantly, and the AI explainer successfully reaches out to the Qwen model via the serverless function, returning plain-English translations of the space data right on the live URL.
Finally the v1 of the Astrolens is working great for my aspect, hosted in vercel( https://astrolens-star.vercel.app/ ) check it out bros!
Ships:
Built AstroLens - a real-time space dashboard where you can explore what’s literally happening in space right now. It pulls live data from 5 NASA APIs and uses an AI to explain everything in plain English. What I made: 6 pages - today’s NASA astronomy image with AI explanation, a JWST gallery where you click any space image and AI tells you what you’re looking at, live asteroid tracker showing every rock passing Earth today with hazard assessment, solar flare monitor, Deep Space Network live feed showing which spacecraft NASA is talking to right now, and a persistent AI chat you can open from any page. What was challenging: Getting the AI working on Vercel was brutal. It worked perfectly on localhost but completely died in production because the Vite dev proxy doesn’t exist after deployment. Had to build a custom serverless function at /api/ai to proxy requests to Hack Club AI. Also accidentally committed my API keys to git history — GitHub blocked every push for hours until I wiped the entire git history and started clean. What I’m proud of: The DSN live feed updates every 5 seconds with real NASA data — you can literally watch NASA communicate with Voyager or Perseverance in real time. And the AI context injection — when you ask about an asteroid, the AI actually knows today’s real distance and speed data, not just generic space facts. To test it: Open the live URL, check today’s APOD image and hit “Explain with AI”, then go to Asteroids and click “Ask AI” on any rock. Open the 🤖 chat button bottom right and ask “what is NASA tracking right now?”...
|
1793598923.929153
|
1793685323.929153
|
|
14021
|
My awesome macropad! by @ZEUSYx | Stardance
|
ZEUSYx
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @ZEUSYx | Stardance
|
1793267391.2570312
|
1793872191.2570312
|
|
14022
|
The Forrbidden Kingdom by @Dhanesh | Stardance
|
Dhanesh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: The Forrbidden Kingdom by @Dhanesh | Starda Title: The Forrbidden Kingdom by @Dhanesh | Stardance...
|
1793462085.10207
|
1794066885.10207
|
|
14023
|
My very own WebOS by @ZEUSX | Stardance
|
ZEUSX
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @ZEUSX | Stardance
|
1793141788.1346974
|
1793746588.1346974
|
|
14024
|
My first slack bot! by @kaprikanchan09 | Stardance
|
kaprikanchan09
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @kaprikanchan09 | St Title: My first slack bot! by @kaprikanchan09 | Stardance...
|
1793465359.802409
|
1794070159.802409
|
|
14025
|
Untitled project by @Dpeert87 | Stardance
|
Dpeert87
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Dpeert87 | Stardance
|
1793365027.8577716
|
1793969827.8577716
|
|
14026
|
Web Time by @binamra-rs | Stardance
|
binamra-rs
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Web Time by @binamra-rs | Stardance
|
1793393386.9678547
|
1793998186.9678547
|
|
14027
|
My very own WebOS by @Tawseef | Stardance
|
Tawseef
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Tawseef | Stardance
|
1793224555.4541621
|
1793829355.4541621
|
|
14028
|
My very own WebOS by @Mihika | Stardance
|
Mihika
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Mihika | Stardance
|
1793433016.6410654
|
1794037816.6410654
|
|
14029
|
My very own WebOS by @Zayed | Stardance
|
Zayed
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Zayed | Stardance
|
1793224588.0247357
|
1793829388.0247357
|
|
14030
|
My very own WebOS by @sharmaarpit6410 | Stardance
|
sharmaarpit6410
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @sharmaarpit6410 | Sta Title: My very own WebOS by @sharmaarpit6410 | Stardance...
|
1793199356.5191426
|
1793804156.5191426
|
|
14031
|
Macro Pad Ultimate by @oliverchew | Stardance
|
oliverchew
|
0
|
15.71
|
0
|
[]
|
[{"post_id": 13299, "ts": "202 [{"post_id": 13299, "ts": "2026-06-21T19:36:52Z", "hours": 6.8297, "text": "devlog #3: Managed to complete half of the case so far. Since learning the basics of Fusion from making the guide’s basic hackpad, it has been largely a breeze (touch wood). I’ve also imported the PCB, and got models of the stabilisers, switches, microcontroller and the rotary switch. I can defo see this coming together pretty well, and am excited to finish the case! Not sure if it can be seen but I’ve decided to leave the diodes and the silkscreen visible by simply covering it with acrylic. I think it looks pretty cool."}, {"post_id": 7059, "ts": "2026-06-11T20:34:42Z", "hours": 6.3717, "text": "Well overdue devlog #2. I’ve done a whole bunch of work on the actual project, including making a really simplistic key diagram on Word, to learning how to use a matrix to map switches on KiCad. I then started working on the PCB, spending what seemed like hours trying to adjust the traces after I kept changing the positions of the switches and the stabilisers (Taken from the Keeb project, since that library had the footprint for KiCad). I added a couple of small silkscreen icons demonstrating the core functions of my product, and I couldn’t help putting some stars :) I think it’s turned out pretty sweet so far, and my PCB is now done (for now). Ps. I genuinely think I’ve spent over 2 hours trying to make the traces look neat, and trying to use Figma for the silkscreen over, to give up and just import the vector files directly."}, {"post_id": 5898, "ts": "2026-06-09T21:25:38Z", "hours": 2.5064, "text": "My end goal is to create a macro pad that not only has useful keybinds (though that will also be incorporated), but will also be useful for daily tasks. Controversially, I use the num pad. It’d be handy to have an easy-access pad (with a volume slider as well) I can whip out quickly. In this devlog, there’s not that much development in terms of the final product, but rather I’ve been learning KiCad and Fusion by creating the basic product on the DIY page. Fusion was especially confusing for me, having only really used SketchUp. Admittedly, I did end up using the Fusion AI assistant (Idk it’s actual name) for understanding how to use it. I did not use it to generate any materials or design the actual product! Cheers to a fruitful and worthwhile project"}]...
|
Title: Macro Pad Ultimate by @oliverchew | Stardan Title: Macro Pad Ultimate by @oliverchew | Stardance
Devlogs:
My end goal is to create a macro pad that not only has useful keybinds (though that will also be incorporated), but will also be useful for daily tasks. Controversially, I use the num pad. It’d be handy to have an easy-access pad (with a volume slider as well) I can whip out quickly. In this devlog, there’s not that much development in terms of the final product, but rather I’ve been learning KiCad and Fusion by creating the basic product on the DIY page. Fusion was especially confusing for me, having only really used SketchUp. Admittedly, I did end up using the Fusion AI assistant (Idk it’s actual name) for understanding how to use it. I did not use it to generate any materials or design the actual product! Cheers to a fruitful and worthwhile project
Well overdue devlog #2. I’ve done a whole bunch of work on the actual project, including making a really simplistic key diagram on Word, to learning how to use a matrix to map switches on KiCad. I then started working on the PCB, spending what seemed like hours trying to adjust the traces after I kept changing the positions of the switches and the stabilisers (Taken from the Keeb project, since that library had the footprint for KiCad). I added a couple of small silkscreen icons demonstrating the core functions of my product, and I couldn’t help putting some stars :) I think it’s turned out pretty sweet so far, and my PCB is now done (for now). Ps. I genuinely think I’ve spent over 2 hours trying to make the traces look neat, and trying to use Figma for the silkscreen over, to give up and just import the vector files directly.
devlog #3: Managed to complete half of the case so far. Since learning the basics of Fusion from making the guide’s basic hackpad, it has been largely a breeze (touch wood). I’ve also imported the PCB, and got models of the stabilisers, switches, microcontroller and the rotary switch. I can defo see this coming together pretty well, and am excited to finish the case! Not sure if it can be seen but I’ve decided to leave the diodes and the silkscreen visible by simply covering it with acrylic. I think it looks pretty cool....
|
1793141676.1274533
|
1793746476.1274533
|
|
14032
|
Untitled project by @Ms_said | Stardance
|
Ms_said
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Ms_said | Stardance
|
1793569789.74119
|
1794174589.74119
|
|
14033
|
My awesome macropad! by @arjunchaurasia01 | Starda My awesome macropad! by @arjunchaurasia01 | Stardance...
|
arjunchaurasia01
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @arjunchaurasia01 | Title: My awesome macropad! by @arjunchaurasia01 | Stardance...
|
1793390137.7073338
|
1793994937.7073338
|
|
14034
|
keyboard by @justjason | Stardance
|
justjason
|
0
|
16.01
|
0
|
[]
|
[{"post_id": 37973, "ts": "202 [{"post_id": 37973, "ts": "2026-07-31T01:31:16Z", "hours": 3.0556, "text": "So I’m around halfway done with the case, I got the walls, base and the key holes for the upper plate. It took a while for the key holes because I needed the kicad files but my laptop had to be repaired. So that explains the delay between devlogs."}, {"post_id": 8607, "ts": "2026-06-14T09:43:36Z", "hours": 3.9994, "text": "Took way too long but I added 3d files for the pcb to use as reference when designing the case. So I added the cherry mx switches and stabilizers. I decided not to add the keycaps because it probally won’t be necessary for refernec for the case and will take a lot of time"}, {"post_id": 7762, "ts": "2026-06-12T23:36:38Z", "hours": 4.0061, "text": "finished designing the pcb. I layed out the diodes, wired everything up, added a gnd fill on everything and had to fix over 200 DRC violations 😭😭"}, {"post_id": 6839, "ts": "2026-06-11T14:07:10Z", "hours": 3.2428, "text": "had to restart the whole pcb design(i did it wrong😭😭😭😭). Anyways, I finished laying out the keys on the pcb, the edge.cuts and the position of the raspberry pi pico"}, {"post_id": 6745, "ts": "2026-06-11T09:12:44Z", "hours": 0.8958, "text": "finished the schematic and started laying out the pcb. PCB taking way too long though."}, {"post_id": 5559, "ts": "2026-06-09T11:50:56Z", "hours": 0.8128, "text": "I worked on my keyboard key layout / design and internal design. I also set up the kicad wakatime for next time."}]...
|
Title: keyboard by @justjason | Stardance
Devlogs Title: keyboard by @justjason | Stardance
Devlogs:
I worked on my keyboard key layout / design and internal design. I also set up the kicad wakatime for next time.
finished the schematic and started laying out the pcb. PCB taking way too long though.
had to restart the whole pcb design(i did it wrong😭😭😭😭). Anyways, I finished laying out the keys on the pcb, the edge.cuts and the position of the raspberry pi pico
finished designing the pcb. I layed out the diodes, wired everything up, added a gnd fill on everything and had to fix over 200 DRC violations 😭😭
Took way too long but I added 3d files for the pcb to use as reference when designing the case. So I added the cherry mx switches and stabilizers. I decided not to add the keycaps because it probally won’t be necessary for refernec for the case and will take a lot of time
So I’m around halfway done with the case, I got the walls, base and the key holes for the upper plate. It took a while for the key holes because I needed the kicad files but my laptop had to be repaired. So that explains the delay between devlogs....
|
1793156068.196008
|
1793760868.196008
|
|
14035
|
A Clicking Game or 3d Chess model by @hamza2012sha A Clicking Game or 3d Chess model by @hamza2012shaikh | Stardance...
|
hamza2012shaikh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A Clicking Game or 3d Chess model by @hamza Title: A Clicking Game or 3d Chess model by @hamza2012shaikh | Stardance...
|
1793328991.2267416
|
1793933791.2267416
|
|
14036
|
My very own WebOS by @Nico23nexon | Stardance
|
Nico23nexon
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Nico23nexon | Stardan Title: My very own WebOS by @Nico23nexon | Stardance...
|
1793249764.2391133
|
1793854564.2391133
|
|
14037
|
My awesome macropad! by @ROBOCHESSATHLETICCODERKID My awesome macropad! by @ROBOCHESSATHLETICCODERKID | Stardance...
|
ROBOCHESSATHLETICCODERKID
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @ROBOCHESSATHLETICC Title: My awesome macropad! by @ROBOCHESSATHLETICCODERKID | Stardance...
|
1793361365.0766473
|
1793966165.0766473
|
|
14038
|
My first slack bot! by @austin_joshua | Stardance
|
austin_joshua
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @austin_joshua | Sta Title: My first slack bot! by @austin_joshua | Stardance...
|
1793249448.0911698
|
1793854248.0911698
|
|
14039
|
My very own WebOS by @RTicked | Stardance
|
RTicked
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T09:22:13Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I finally finsished my WebOS after like 8 hrs of work!", "repo": "https://github.com/rticked/stardance-webos", "demo": "https://stardance-webos.vercel.app/"}]...
|
[{"post_id": 14880, "ts": "202 [{"post_id": 14880, "ts": "2026-06-24T04:50:43Z", "hours": 4.765, "text": "Added notes and Calculator to my project. Im so close to finishing this :)"}, {"post_id": 6103, "ts": "2026-06-10T08:22:37Z", "hours": 1.5703, "text": "Added more stuff into my WebOS like time and stuff. This was fun and hard at the same time since, HTML is painfull lol."}, {"post_id": 5520, "ts": "2026-06-09T10:20:12Z", "hours": 0.8919, "text": "I made a website guys, This is my first time playing around with HTML. This is so fun. Right now its very basic, Tommorow i will try to do the WebOS part 2!"}]...
|
Title: My very own WebOS by @RTicked | Stardance
Title: My very own WebOS by @RTicked | Stardance
Devlogs:
I made a website guys, This is my first time playing around with HTML. This is so fun. Right now its very basic, Tommorow i will try to do the WebOS part 2!
Added more stuff into my WebOS like time and stuff. This was fun and hard at the same time since, HTML is painfull lol.
Added notes and Calculator to my project. Im so close to finishing this :)
Ships:
I finally finsished my WebOS after like 8 hrs of work!...
|
1793620130.6851966
|
1793706530.6851966
|
|
14040
|
Untitled by @Devansh_pandey | Stardance
|
Devansh_pandey
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Devansh_pandey | Stardance
|
1793361297.4506667
|
1793966097.4506667
|
|
14041
|
Stardusts OS by @chaipinzheng | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Stardusts OS by @chaipinzheng | Stardance
|
1793199390.28514
|
1793804190.28514
|
|
14042
|
My awesome macropad! by @syclusions | Stardance
|
syclusions
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @syclusions | Stard Title: My awesome macropad! by @syclusions | Stardance...
|
1793526732.8007147
|
1794131532.8007147
|
|
14043
|
Soldering iron by @Kosmas | Stardance
|
Kosmas
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Soldering iron by @Kosmas | Stardance
|
1793198938.3353238
|
1793803738.3353238
|
|
14044
|
My awesome macropad! by @vedanthalse | Stardance
|
vedanthalse
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vedanthalse | Star Title: My awesome macropad! by @vedanthalse | Stardance...
|
1793422557.375683
|
1794027357.375683
|
|
14045
|
Portfolio Website by @venskkki | Stardance
|
venskkki
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Portfolio Website by @venskkki | Stardance
|
1793451138.5882695
|
1794055938.5882695
|
|
14046
|
My very own WebOS by @ROBOCHESSATHLETICCODERKID | My very own WebOS by @ROBOCHESSATHLETICCODERKID | Stardance...
|
ROBOCHESSATHLETICCODERKID
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @ROBOCHESSATHLETICCODE Title: My very own WebOS by @ROBOCHESSATHLETICCODERKID | Stardance...
|
1793414852.740934
|
1794019652.740934
|
|
14047
|
Untitled by @dsita3465 | Stardance
|
dsita3465
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @dsita3465 | Stardance
|
1793401013.4010384
|
1794005813.4010384
|
|
14048
|
My awesome macropad! by @roro | Stardance
|
roro
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @roro | Stardance
|
1793447394.0268269
|
1794052194.0268269
|
|
14049
|
Untitled by @ROBOCHESSATHLETICCODERKID | Stardance
|
ROBOCHESSATHLETICCODERKID
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @ROBOCHESSATHLETICCODERKID | St Title: Untitled by @ROBOCHESSATHLETICCODERKID | Stardance...
|
1793425883.5797632
|
1794030683.5797632
|
|
14050
|
Mixture of specialists aritechture by @Vio | Stard Mixture of specialists aritechture by @Vio | Stardance...
|
Vio
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Mixture of specialists aritechture by @Vio Title: Mixture of specialists aritechture by @Vio | Stardance...
|
1793166581.2168875
|
1793771381.2168875
|