|
52941
|
zexx by @abhishek11223344ak | Stardance
|
abhishek11223344ak
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zexx by @abhishek11223344ak | Stardance
|
1792730929.7562234
|
1793335729.7562234
|
|
57945
|
KBoard by @yakshith_kommineni | Stardance
|
yakshith_kommineni
|
0
|
18.2
|
0
|
[]
|
[{"post_id": 71927, "ts": "202 [{"post_id": 71927, "ts": "2026-09-21T19:47:04Z", "hours": 3.1342, "text": "worked on final design, changed to tray mount, finalized casing and firmware"}, {"post_id": 69851, "ts": "2026-09-17T22:17:01Z", "hours": 15.0656, "text": "Worked on the symbol -> pcb -> CAD. Biggest challenge was choosing MCU, i went back and forth a bunch and ultimatialy decided to just put an rp2040 on the board itself."}]...
|
Title: KBoard by @yakshith_kommineni | Stardance
Title: KBoard by @yakshith_kommineni | Stardance
Devlogs:
Worked on the symbol -> pcb -> CAD. Biggest challenge was choosing MCU, i went back and forth a bunch and ultimatialy decided to just put an rp2040 on the board itself.
worked on final design, changed to tray mount, finalized casing and firmware...
|
1792730928.8611872
|
1793335728.8611872
|
|
52939
|
My awesome macropad! by @l_murasoli_2008 | Stardan My awesome macropad! by @l_murasoli_2008 | Stardance...
|
l_murasoli_2008
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @l_murasoli_2008 | Title: My awesome macropad! by @l_murasoli_2008 | Stardance...
|
1792730928.0149617
|
1793335728.0149617
|
|
68216
|
Rogue Shooter by @domst13 | Stardance
|
domst13
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Rogue Shooter by @domst13 | Stardance
|
1792471727.2921693
|
1793335727.2921693
|
|
57943
|
My awesome macropad! by @Oleg | Stardance
|
Oleg
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Oleg | Stardance
|
1792730927.1596668
|
1793335727.1596668
|
|
38466
|
TICSTEP 3D by @pixi | Stardance
|
pixi
|
1
|
40.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-26T23:47:28Z", "hours": 40.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "TICSTEP 3D IS OUT NOWW!!! đđâ¤ď¸âđĽâ¤ď¸âđĽâ¨đŞđŞ 39 hours logged over 4 days is certainly not a sign of good health, but now the GMTK Game Jam is over and I am free at last. TICSTEP 3D is a fast paced puzzle game where you complete levels full of tiles that disappear by a countdown. We put a lot of work into planning this gameâs mechanics, designing the levels, and polishing the visuals, so itâd mean a lot if you could play and leave a rating and a comment! :>", "repo": "https://github.com/pxlinspace/gmtk-2026", "demo": "https://pxlinspace.itch.io/ticstep-3d"}]...
|
[{"post_id": 35477, "ts": "202 [{"post_id": 35477, "ts": "2026-07-26T22:51:34Z", "hours": 2.8925, "text": "The jam is done, now I can devlog in peace đ Added sprites, sounds, and a particle effect for the spring in world 3 Changed the color of world 3âs planet Finished all levels for world 2 Not that many bullet points this time, but level design is a lot of work!"}, {"post_id": 35204, "ts": "2026-07-26T14:04:05Z", "hours": 8.5278, "text": "LITERALLY 3 HRS BEFORE THE GMTK GAME JAM DEADLINE BUT I HAVE 8 HRS LOGGED SO I GOTTA SPEEDRUN THIS DEVLOG Features added: title screen is new and flashy now! It has a starting animation too. new UFO, which is also in title screen. bunny has sprite too, just for title screen. cool arrow that points towards spaceship when ur done new treasure sprite new bomb sprites and a lotta work on level design! Specifically world 2 and the bombs OK I GOTTA GRIND BYEEEE"}, {"post_id": 34878, "ts": "2026-07-25T23:01:06Z", "hours": 7.1319, "text": "Day 4 of the GMTK Game Jam! OH MY GOODNESS THE DEADLINE IS RAPIDLY APPROACHING. Features I added: New background visuals! Omg so pretty. Figuring out how to make the planet not bad actually took a ridiculous amount of time. tiles now shrink when dropped instead of just mysteriously disappearing instantly into the planet Bunnyâs dialog now has a cool crackling text bubble Decorated the entire main menu! SOUND EFFECTS AND MUSIC. I did my best to make the game sound as alive as possible! Most of the sfx were made in ChipTone, though some where recorded by my voice lol (the clock tick and the fade in/out transition) levels now actually restart when you die lol Next steps are FINISHING EVERYTHING OMG. Also making the itch.io page lol."}, {"post_id": 34577, "ts": "2026-07-25T12:58:35Z", "hours": 7.5119, "text": "Day 3 (and a bit of 4) of the GMTK Game Jam! This day I focused on level design, ui, and fixing a few bugs. Wish I got more done but I had a nap and woke up at 1am đ Features I added: Finished first 4 levels! Here u can only see level 4 though. Making levels with this system is a lot harder than I thought. Added the cool hud on the left w instructions and objectives Made a portrait for our epic scientist buddy The player now gets a little impact animation whenever they get hit timer now only starts once the player hits the ground from the UFO. small tweaks to the UFO animation! Next steps are FINISHING THE GAME CUZ ITS THE LAST DAY!!!! This means: Finishing the main menu connecting the levels together finishing all the levels playtesting adding music & sfx if we have time, maybe even a final boss!"}, {"post_id": 33925, "ts": "2026-07-24T07:19:29Z", "hours": 6.0669, "text": "Day 2 of the GMTK Game Jam! This day I primarily focused on the visuals of the game. I wasnât able to get too much done because the fatigue from last all nighter was bumping in, but you can definitely see the improvement! Features I added: new player sprites implemented, specifically the âitem obtained!â sprite and the âoh crap Iâm about to fallâ sprite EVERYTHING (almost) has been recolored to be more pleasant on the eyes! The player sprites, the tiles, the background, etc The tiles also have a fancy new font! They also now end at 0 instead of staying at 1 Made the enemiesâ next position indicator better. Now it highlights the next tile with a red square New enemy sprite! Itâs supposed to be an alien slug ghost thing Now the player explodes whenever they hit an enemy added animations to the UFO and its light! For day 3, Iâll be working on level design, and sfx too if I have the time!"}, {"post_id": 33578, "ts": "2026-07-23T16:54:20Z", "hours": 4.2897, "text": "Day 1 of the GMTK Game Jam! (continued) mightâve had an accidental all nighter :/ but quite a lot has changed! More of the core gameplay is implemented, and a lot of the visuals are being fleshed out too Features I added: new player sprite! His name is Roko Added a bouncy stopwatch sprite in the top right that indicates when the next timestep will come. Timesteps are at the core of the game, so theyâre important for the player to take track of yea just those two things lol. Everything else that was added was all my friend Next steps for me are working on more player animations, making the colors for the tiles better, and just improving all the visuals as a whole!"}, {"post_id": 33365, "ts": "2026-07-23T07:06:58Z", "hours": 3.2097, "text": "Day 1 of the GMTK Game Jam! This yearâs theme is âcountdown,â so weâre making a game where every tile you step on will count down by 1 after you step on it, and will disappear once it reaches zero! The end goal of the game is to capture the flag at the end of the level and bring it back to the beginning, so be careful where you step. The entire game is made in Godot Features I added: The tiles you see here were spawned from a gridmap node, is basically a 3d tilemap added player, who is able to move 1 tile at a time added flag, which the player can pick up and move around added little bounce animations whenever players or enemy move Everything else (enemies, tiles counting down, tile shaders, etc.) were all added by my friend."}]...
|
Title: TICSTEP 3D by @pixi | Stardance
Devlogs:
D Title: TICSTEP 3D by @pixi | Stardance
Devlogs:
Day 1 of the GMTK Game Jam! This yearâs theme is âcountdown,â so weâre making a game where every tile you step on will count down by 1 after you step on it, and will disappear once it reaches zero! The end goal of the game is to capture the flag at the end of the level and bring it back to the beginning, so be careful where you step. The entire game is made in Godot Features I added: The tiles you see here were spawned from a gridmap node, is basically a 3d tilemap added player, who is able to move 1 tile at a time added flag, which the player can pick up and move around added little bounce animations whenever players or enemy move Everything else (enemies, tiles counting down, tile shaders, etc.) were all added by my friend.
Day 1 of the GMTK Game Jam! (continued) mightâve had an accidental all nighter :/ but quite a lot has changed! More of the core gameplay is implemented, and a lot of the visuals are being fleshed out too Features I added: new player sprite! His name is Roko Added a bouncy stopwatch sprite in the top right that indicates when the next timestep will come. Timesteps are at the core of the game, so theyâre important for the player to take track of yea just those two things lol. Everything else that was added was all my friend Next steps for me are working on more player animations, making the colors for the tiles better, and just improving all the visuals as a whole!
Day 2 of the GMTK Game Jam! This day I primarily focused on the visuals of the game. I wasnât able to get too much done because the fatigue from last all nighter was bumping in, but you can definitely see the improvement! Features I added: new player sprites implemented, specifically the âitem obtained!â sprite and the âoh crap Iâm about to fallâ sprite EVERYTHING (almost) has been recolored to be more pleasant on the eyes! The player sprites, the tiles, the background, etc The tiles also have a fancy new font! They also now end at 0 instead of staying at 1 Made the enemiesâ next position indicator better. Now it highlights the next tile with a red square New enemy sprite! Itâs supposed to be an alien slug ghost thing Now the player explodes whenever they hit an enemy added animations to the UFO and its light! For day 3, Iâll be working on level design, and sfx too if I have the time!
Day 3 (and a bit of 4) of the GMTK Game Jam! This day I focused on level design, ui, and fixing a few bugs. Wish I got more done but I had a nap and woke up at 1am đ Features I added: Finished first 4 levels! Here u can only see level 4 though. Making levels with this system is a lot harder than I thought. Added the cool hud on the left w instructions and objectives Made a portrait for our epic scientist buddy The player now gets a little impact animation whenever they get hit timer now only starts once the player hits the ground from the UFO. small tweaks to the UFO animation! Next steps are FINISHING THE GAME CUZ ITS THE LAST DAY!!!! This means: Finishing the main menu connecting the levels together finishing all the levels playtesting adding music & sfx if we have time, maybe even a final boss!
Day 4 of the GMTK Game Jam! OH MY GOODNESS THE DEADLINE IS RAPIDLY APPROACHING. Features I added: New background visuals! Omg so pretty. Figuring out how to make the planet not bad actually took a ridiculous amount of time. tiles now shrink when dropped instead of just mysteriously disappearing instantly into the planet Bunnyâs dialog now has a cool crackling text bubble Decorated the entire main menu! SOUND EFFECTS AND MUSIC. I did my best to make the game sound as alive as possible! Most of the sfx were made in ChipTone, though some where recorded by my voice lol (the clock tick and the fade in/out transition) levels now actually restart when you die lol Next steps are FINISHING EVERYTHING OMG. Also making the itch.io page lol.
LITERALLY 3 HRS BEFORE THE GMTK GAME JAM DEADLINE BUT I HAVE 8 HRS LOGGED SO I GOTTA SPEEDRUN THIS DEVLOG Features added: title screen is new and flashy now! It has a starting animation too. new UFO, which is also in title screen. bunny has sprite too, just for title screen. cool arrow that points towards spaceship when ur done new treasure sprite new bomb sprites and a lotta work on level design! Specifically world 2 and the bombs OK I GOTTA GRIND BYEEEE
The jam is done, now I can devlog in peace đ Added sprites, sounds, and a particle effect for the spring in world 3 Changed the color of world 3âs planet Finished all levels for world 2 Not that many bullet points this time, but level design is a lot of work!
Ships:
TICSTEP 3D IS OUT NOWW!!! đđâ¤ď¸âđĽâ¤ď¸âđĽâ¨đŞđŞ 39 hours logged over 4 days is certainly not a sign of good health, but now the GMTK Game Jam is over and I am free at last. TICSTEP 3D is a fast paced puzzle game where you complete levels full of tiles that disappear by a countdown. We put a lot of work into planning this gameâs mechanics, designing the levels, and polishing the visuals, so itâd mean a lot if you could play and leave a rating and a comment! :>...
|
1793249326.3286188
|
1793335726.3286188
|
|
52938
|
exohunter by @goodaysarecomingsoon | Stardance
|
goodaysarecomingsoon
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: exohunter by @goodaysarecomingsoon | Starda Title: exohunter by @goodaysarecomingsoon | Stardance...
|
1792730926.3205512
|
1793335726.3205512
|
|
57942
|
My website by @nesix | Stardance
|
nesix
|
0
|
1.49
|
0
|
[]
|
[{"post_id": 81763, "ts": "202 [{"post_id": 81763, "ts": "2026-10-22T12:47:41Z", "hours": 0.4589, "text": "did some formating⌠looks like something from the early days of the internet⌠but thats fine⌠ill try to add some javascript, but idk how well that will go as ive never done any and it looks complicated"}, {"post_id": 81556, "ts": "2026-10-21T17:54:54Z", "hours": 1.0283, "text": "Made the base of the website, all the text that will be used is set up, now i have to format it properly and also add some pictures"}]...
|
Title: My website by @nesix | Stardance
Devlogs:
Title: My website by @nesix | Stardance
Devlogs:
Made the base of the website, all the text that will be used is set up, now i have to format it properly and also add some pictures
did some formating⌠looks like something from the early days of the internet⌠but thats fine⌠ill try to add some javascript, but idk how well that will go as ive never done any and it looks complicated...
|
1792730925.4651828
|
1793335725.4651828
|
|
52937
|
website by @Shivansh_ | Stardance
|
Shivansh_
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: website by @Shivansh_ | Stardance
|
1792730924.6039824
|
1793335724.6039824
|
|
15549
|
OmniSort: The ultimate download and e-mail sorting OmniSort: The ultimate download and e-mail sorting tool! by @oakwooda | Stardance...
|
oakwooda
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-18T18:21:08Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have always been annoyed by the clutter that fills my email inbox or my downloads folder and I have come up with an easy-to-use solution that is called the OmniSort. This is a macropad that allows easy sorting of files or emails by using a 3x3 switch matrix, 1 rotary encoder, and an oled screen and makes it easy by using macro commands to sort files into different locations (Eg. middle left key means move to âpicturesâ folder). What I found super challenging is the measurements, particularly the estimation of how high the USB-C port has to be in order to properly design the case. I found this project very fun to do and iâm looking forward to bringing it to a physical tangible piece!", "repo": "https://github.com/Srivats728/OmniSort", "demo": ""}]...
|
[{"post_id": 11426, "ts": "202 [{"post_id": 11426, "ts": "2026-06-18T18:10:34Z", "hours": 1.0431, "text": "The case is done! this took a while to measure all the dimensions and estimate the height of the usb c port for the PCB however it is done."}, {"post_id": 7901, "ts": "2026-06-13T05:48:08Z", "hours": 0.3489, "text": "Done with the PCB! That took a LOT of time and patience and I had to do it twice because i lost power the first time and it didnât save. Learnt a lot though and I definitely will use this software again!"}, {"post_id": 6689, "ts": "2026-06-11T06:37:47Z", "hours": 0.2944, "text": "I can finally go to sleep! I have ported and arranged the schematic in the PCB editor and this is going to be the final layout. After this Iâm going to start on the CAD model."}, {"post_id": 6670, "ts": "2026-06-11T05:38:31Z", "hours": 1.0239, "text": "Just finished the schematic for the PCB! About to import it into the PCB editor to start finalizing the electrical design. Itâs a bit of a mess right now, but it gets the job done. If I have time I definitely will try to clean it up!"}]...
|
Title: OmniSort: The ultimate download and e-mail Title: OmniSort: The ultimate download and e-mail sorting tool! by @oakwooda | Stardance
Devlogs:
Just finished the schematic for the PCB! About to import it into the PCB editor to start finalizing the electrical design. Itâs a bit of a mess right now, but it gets the job done. If I have time I definitely will try to clean it up!
I can finally go to sleep! I have ported and arranged the schematic in the PCB editor and this is going to be the final layout. After this Iâm going to start on the CAD model.
Done with the PCB! That took a LOT of time and patience and I had to do it twice because i lost power the first time and it didnât save. Learnt a lot though and I definitely will use this software again!
The case is done! this took a while to measure all the dimensions and estimate the height of the usb c port for the PCB however it is done.
Ships:
I have always been annoyed by the clutter that fills my email inbox or my downloads folder and I have come up with an easy-to-use solution that is called the OmniSort. This is a macropad that allows easy sorting of files or emails by using a 3x3 switch matrix, 1 rotary encoder, and an oled screen and makes it easy by using macro commands to sort files into different locations (Eg. middle left key means move to âpicturesâ folder). What I found super challenging is the measurements, particularly the estimation of how high the USB-C port has to be in order to properly design the case. I found this project very fun to do and iâm looking forward to bringing it to a physical tangible piece!...
|
1793249323.5935123
|
1793335723.5935123
|
|
57939
|
hackathon project by @BanavathGovardha | Stardance
|
BanavathGovardha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: hackathon project by @BanavathGovardha | St Title: hackathon project by @BanavathGovardha | Stardance...
|
1792730922.111552
|
1793335722.111552
|
|
52935
|
Mu project by @Mahmoud_Mohamed | Stardance
|
Mahmoud_Mohamed
|
0
|
2.09
|
0
|
[]
|
[{"post_id": 77493, "ts": "202 [{"post_id": 77493, "ts": "2026-10-07T07:16:24Z", "hours": 0.9875, "text": "some edits on desgin"}, {"post_id": 77338, "ts": "2026-10-06T16:40:11Z", "hours": 1.0994, "text": "Mini keyboard"}]...
|
Title: Mu project by @Mahmoud_Mohamed | Stardance
Title: Mu project by @Mahmoud_Mohamed | Stardance
Devlogs:
Mini keyboard
some edits on desgin...
|
1792730921.2269714
|
1793335721.2269714
|
|
13353
|
CLI Calculator by @AidenHammy | Stardance
|
AidenHammy
|
1
|
14.0
|
190
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T06:22:43Z", "hours": 14.0, "multiplier": 13.37, "payout": 190, "blessing": "neutral", "text": "What did you make? A CLI calculator built from scratch in Node.js. Not just a basic one, it runs as a full REPL in your terminal, supports both command-driven operations ( add 2 3 , sin 90 ) and free-form math expressions ( 2 + 3 * 4 , sin(90) + 10 ), remembers your last result with ans , logs every calculation to a history file with timestamps and validates inputs with actual helpful error messages. Over the last week I also ported the whole thing to run in the browser using xterm.js so you can try it live without installing anything. What was challenging? Honestly, most of it at some point. The expression evaluator was probably the hardest part. Using Function() to evaluate raw user input feels powerful but also kind of risky and making it fail gracefully without breaking anything took a while to get right. The ans memory system was tricky too because replacing it correctly across both commands and expressions without accidentally mangling other words required careful regex work. The browser port was a whole different kind of hard. I didnât realize how much Node.js was doing for me silently. readline alone handles an entire input loop that I had to rebuild character by character in xterm.js. What are you proud of? A few things: The validation architecture â argument counts, type checks, domain-specific errors (division by zero, negative square roots, log of non-positives) all cleanly separated from the actual math logic The ans memory system â being able to chain pow 2 8 â add ans 100 â ans / 2 makes it feel like a real calculator The expression evaluator â typing sin(90) + 10 directly and getting 11 feels satisfying every time The history system â timestamped, persistent, filterable with history [n] The fact that the browser demo runs the exact same logic as the CLI â calc.js was never touched, the port lives in a separate file This was built step by step over 6 devlogs in about a week. Iâm still a beginner and itâs not perfect but it genuinely feels like something I made rather than something I just followed a tutorial for. What should people know so they can test your project? The easiest way is the live browser demo â no install, just open the link: đ https://cli-calculator-five.vercel.app/ Try these to get a feel for it: help add 2 3 pow 2 8 add ans 100 sin(90) + 10 2 + 3 * 4 history If you want to run it locally instead: git clone https://github.com/AidenHammy/cli-calculator.git cd cli-calculator npm install node src/calc.js", "repo": "https://github.com/AidenHammy/cli-calculator", "demo": "https://cli-calculator-five.vercel.app/"}]...
|
[{"post_id": 10452, "ts": "202 [{"post_id": 10452, "ts": "2026-06-17T05:44:08Z", "hours": 1.7378, "text": "Devlog 6 â Taking the CLI to the Browser Biggest struggle The hardest part wasnât writing new features. It was translating existing ones into a completely different environment. The original CLI felt natural because Node.js gives you everything: file system, stdin/stdout, process control. The browser gives you none of that. Every tool I had been relying on: readline , fs , chalk , console.log even process either doesnât exist or behaves differently in a browser context. The trickiest translation was the input loop. readline handles line buffering automatically, you just wait for the user to press Enter and get the full line back. With xterm.js, you get one raw character at a time via onData . The other catch was the expression evaluator. After porting everything over, sin(90) + 10 was returning \"Invalid command or expression\" because the Function() scope didnât know what sin was. The fix was straightforward once I understood the cause, exposing the math functions as local constants inside the Function() string but it was a good reminder that a working feature in one environment isnât automatically working in another. What changed in this version New files src/calc-demo.js :- full browser port of calc.js using xterm.js main.js :- entry point: boots xterm, loads the fit addon, calls initCalc(term) index.html :- static shell with topbar, terminal mount and statusbar style.css :- dark terminal theme built around a monospace font stack and a single green accent Key substitutions made Node.js ( calc.js ) Browser ( calc-demo.js ) readline xterm.js onData + manual buffer chalk ANSI escape codes fs / history.txt localStorage console.log term.write() via print() process.exit location.reload() calc.js is untouched. The original CLI still runs exactly as before with node src/calc.js . The browser build is a separate port not a replacement. Current features Everything from Devlog 5, now running in the browser Live deployment on Vercel. No install, no terminal, just a URL Terminal emulator UI with topbar, statusbar and live clock Full xterm.js input handling: backspace, local echo, line buffering History persisted in localStorage across page reloads Expression evaluator now supports sin(90) + 10 , sqrt(144) , abs(-5) etc. directly cls clears the xterm screen properly using escape sequences exit reloads the page Reflection Devlog 5 ended with âmaybe create a simple web version for easier demo accessâ as a future idea. This devlog is that idea, actually shipped. What surprised me most was how much invisible work Node.js was doing. You write readline and it just works but behind it is a whole input loop, line buffering, echo management and terminal control that you never think about. Doing it manually in xterm.js made all of that visible which was frustrating at first but genuinely useful to understand. The project now has two lives: a proper Node.js CLI tool and a browser demo that looks and feels identical. That separation, keeping calc.js untouched and building the browser port as a parallel file felt like the right architectural call. One doesnât compromise the other. Itâs also the first time something I built has a real public URL."}, {"post_id": 10162, "ts": "2026-06-16T19:33:09Z", "hours": 4.6844, "text": "Devlog 5 â Expressions, Memory and a Real âCalculator Feelâ What I learned: How to evaluate user input dynamically using Function() (and why it needs to be handled carefully) How to replace parts of user input using regex. How to structure commands when the number of arguments isnât always fixed (min/max validation) How small UX details (like colors using chalk ) make a big difference in usability How to maintain state across a REPL session How to design a fallback system where unknown commands are treated as expressions Biggest struggle: This one was definitely more complex than the previous days. The hardest part was adding expression evaluation. Using something like Function() to evaluate user input felt powerful but also risky and confusing at first. Making sure it doesnât break on invalid input and handling errors properly took some time. Another tricky part was implementing a feature ( ans ) that lets you reuse the previous result in new calculations. Ensuring it worked consistently across both commands and expressions required careful handling of user input. Replacing it correctly in user input without breaking other words or expressions required using regex carefully. Also, as the number of commands grew, validation started getting messy. Switching to a min/max argument system helped but it took a bit of thinking to get right. This stage felt less like âjust codingâ and more like designing how the calculator should behave. Current features: Full REPL-based interactive CLI Support for both commands and direct expressions: add 2 3 2 + 3 * 4 ans keyword to reuse the previous result Expanded math operations: Trigonometry ( sin , cos , tan ) Logarithms ( ln , log ) Factorial ( fact ) Rounding ( round , ceil , floor ) Absolute value ( abs ) Improved validation with flexible argument handling (min/max support) Persistent history with timestamps Optional history limit ( history n ) Colored and structured output using chalk Better error handling for invalid commands and expressions Next steps: Improve expression parsing (support more complex cases safely) Possibly replace Function() with a safer custom parser Add command chaining or multi-step calculations Improve UI further (custom prompt, better formatting) Maybe create a simple web version for easier demo access Reflection: This version feels like a big step forward. Before, the calculator was command-based and structured. Now it feels much more natural and flexible, especially with expressions and the ans feature. Itâs starting to behave like an actual calculator instead of just a program that runs specific commands. At the same time, the complexity is definitely increasing. Itâs getting harder to manage everything cleanly which makes me realize how important structure and planning are as projects grow. Itâs not perfect but it finally feels like something I could actually use. Not just something I built to learn."}, {"post_id": 8232, "ts": "2026-06-13T18:11:24Z", "hours": 1.8294, "text": "Devlog 4 â Making it Interactive (REPL + UX Improvements) What I learned: How to use readline to keep the program running and take input again and again The difference between a script that runs once vs something interactive How small UX things (like input formatting and cleaner output) actually matter a lot How to handle messy user input using trim() and split(/\\s+/) How to structure code so it doesnât become a mess when it keeps running in a loop Biggest struggle: This part wasnât âhardâ in the usual sense but it was confusing at first. Before this, my program would just run once and end. Now it stays alive and that changes how everything works. I had to think differently about how commands are handled because now the same logic runs over and over again. Input handling was also kind of annoying. Even small things like extra spaces could break stuff which forced me to actually deal with it properly instead of ignoring it. Another thing was output. At some points it felt too cluttered and at others it felt like not enough information was being shown. Finding a balance there took a bit of trial and error. Current features: REPL system using readline (no need to restart the program every time) Continuous input like a real CLI Support for both commands and symbols ( add + + , etc.) Better input handling (spaces donât break things anymore) Validation for: wrong number of arguments invalid numbers division by zero square root of negative numbers Cleaner output (less unnecessary logs) History system: saved to history.txt can view with history can reset with clear cls to clear the screen exit to quit the program Next steps: Support actual expressions like 2 + 3 * 4 instead of strict commands Make history a bit smarter (maybe timestamps or search) Reduce repeated logic even more Add vector/matrix operations Add autocomplete for commands Add colored terminal output Reflection: This is probably the first version that actually feels like a real program. The REPL made a huge difference. Before, it felt like I was just testing functions. Now it actually feels like something you can use. Most of the improvements in this version arenât big features, but small things that make the experience smoother. Stuff like handling spaces properly or adding aliases doesnât sound like much but it changes how the program feels. Iâm starting to notice that building something usable is very different from just making something work. Itâs still simple and thereâs a lot more I could improve but this is the first time the calculator feels complete in its own way."}, {"post_id": 6958, "ts": "2026-06-11T17:48:39Z", "hours": 2.0842, "text": "Devlog 3 â Persistence and Control (File-based History + Clear Command) What I learned: Why CLI programs reset completely every time they are executed How to use the fs module to write and read files in Node.js How appendFileSync can be used to store data incrementally How to read stored data using readFileSync The difference between in-memory state and persistent state How small bugs (like variable naming or extra trims) can break logic in subtle ways Why validation, execution and side effects (like saving history) should stay separated Biggest struggle: This part was less chaotic than Day 2 but still frustrating in a different way. The logic itself wasnât the problem this time. It was understanding how programs behave over time . I had already built a history system before so seeing it disappear every run was confusing at first. Then came the file system part. Writing to a file felt simple but reading it back properly and formatting it without breaking things took more effort than expected. Small mistakes like misnaming variables or structuring loops incorrectly kept causing issues. It wasnât overwhelming chaos but more like constant small friction that slowed everything down. Current features: Persistent history system using fs Calculations are stored in history.txt across runs history command displays formatted past calculations clear command wipes stored history clean Improved validation and error messages Clean separation between parsing, validation and execution Next steps: Convert the calculator into an interactive CLI (REPL-style) Reduce repeated validation logic into reusable helpers Improve overall UX (cleaner outputs and command feedback) Reflection: The biggest realization was understanding that programs donât remember anything unless you explicitly store it. That changed how I think about state completely. Compared to earlier struggles, this one felt quieter but still tiring. Less confusion, more persistence. Fixing small issues, understanding behavior and slowly making things more stable. It still isnât perfect but it finally feels like the calculator has some sense of continuity instead of resetting every time. Note: The screenshot does not show all features (full validation system)."}, {"post_id": 5824, "ts": "2026-06-09T19:21:54Z", "hours": 3.0411, "text": "Devlog 2 â CLI Calculator Upgrade (Validation + History System) What I learned: How to structure validation into layers (arity type domain) How CLI arguments actually behave â missing inputs simply donât exist in the array How to use slice() + map(Number) to normalize input in one step Why separating parsing validation and execution simplifies reasoning How function hoisting allows referencing functions before declaration How to maintain in-memory state using arrays How for loops and forEach help format structured output How small design choices like a numbers array simplify architecture Biggest struggle: This part was genuinely exhausting. I kept getting stuck on when validation should happen and what exactly needed to be validated. I was duplicating checks mixing raw CLI arguments with parsed numbers and constantly second-guessing my logic. I also misunderstood CLI arguments. I expected missing inputs to appear as undefined which made my validation more complicated than necessary. The worst part was the flow. Everything felt tangled. Command lookup parsing validation execution like it was happening all at once. Even when the code worked I didnât fully trust it which made the whole process frustrating. Current features: Command routing using a function map ( commands[cmd] ) Argument validation based on expected counts Clean input parsing using slice() and map(Number) Domain rules (division by zero negative square roots) Scientific operations: sqrt pow log In-memory history system history command for session logs Improved help command More consistent error handling Next steps: Persist history to a file Refactor validation into helper functions Improve error messages Reflection: Validation was mentally draining. I kept mixing up arity type and domain rules and the code felt like a pile of checks instead of a system. It worked but I didnât trust it. The biggest reality check was the history system. I built it saw it work then ran another command and everything was gone. Thatâs when it clicked. CLI programs donât persist memory. Every run starts fresh. That was the most important lesson. Not everything you build âstaysâ unless you store it. It changed how I think about programs. By the end the calculator is still simple but my understanding of structure and flow is much stronger. It feels less like guessing and more like knowing what Iâm doing. Note: The screenshot only shows a basic run and does not include all implemented features (validation command handling improvements and history tracking)."}, {"post_id": 5093, "ts": "2026-06-08T19:37:58Z", "hours": 0.9297, "text": "Devlog 1 â Building a CLI Calculator What I set out to build : A command-based CLI calculator using Node.js that can take input directly from the terminal and perform operations like addition, subtraction multiplication and division. What I learned: How process.argv works for handling command-line input Why \"5\" + \"3\" results in \"53\" (strings vs numbers in JavaScript) How to convert inputs properly using Number() The difference between calling a function and referencing it How to implement a command map using commands[cmd]() Biggest struggle: Understanding how to structure the command system cleanly without relying on long and messy if/else chains. Breakthrough moment: Realizing that I could store functions inside an object and dynamically execute them based on user input. That made the whole system feel much cleaner and scalable. Current features: Supports add , sub , mul and div commands Handles invalid commands with basic error messaging Uses a command map for cleaner execution logic Next steps: Add scientific functions like sqrt , pow , and log Improve input validation Potentially add a history system Reflection: Started this knowing almost nothing about CLI tools or Node.js input handling and ended up building a working command-based system. Itâs simple but it actually feels like the foundation of something bigger."}]...
|
Title: CLI Calculator by @AidenHammy | Stardance
Title: CLI Calculator by @AidenHammy | Stardance
Devlogs:
Devlog 1 â Building a CLI Calculator What I set out to build : A command-based CLI calculator using Node.js that can take input directly from the terminal and perform operations like addition, subtraction multiplication and division. What I learned: How process.argv works for handling command-line input Why "5" + "3" results in "53" (strings vs numbers in JavaScript) How to convert inputs properly using Number() The difference between calling a function and referencing it How to implement a command map using commands[cmd]() Biggest struggle: Understanding how to structure the command system cleanly without relying on long and messy if/else chains. Breakthrough moment: Realizing that I could store functions inside an object and dynamically execute them based on user input. That made the whole system feel much cleaner and scalable. Current features: Supports add , sub , mul and div commands Handles invalid commands with basic error messaging Uses a command map for cleaner execution logic Next steps: Add scientific functions like sqrt , pow , and log Improve input validation Potentially add a history system Reflection: Started this knowing almost nothing about CLI tools or Node.js input handling and ended up building a working command-based system. Itâs simple but it actually feels like the foundation of something bigger.
Devlog 2 â CLI Calculator Upgrade (Validation + History System) What I learned: How to structure validation into layers (arity type domain) How CLI arguments actually behave â missing inputs simply donât exist in the array How to use slice() + map(Number) to normalize input in one step Why separating parsing validation and execution simplifies reasoning How function hoisting allows referencing functions before declaration How to maintain in-memory state using arrays How for loops and forEach help format structured output How small design choices like a numbers array simplify architecture Biggest struggle: This part was genuinely exhausting. I kept getting stuck on when validation should happen and what exactly needed to be validated. I was duplicating checks mixing raw CLI arguments with parsed numbers and constantly second-guessing my logic. I also misunderstood CLI arguments. I expected missing inputs to appear as undefined which made my validation more complicated than necessary. The worst part was the flow. Everything felt tangled. Command lookup parsing validation execution like it was happening all at once. Even when the code worked I didnât fully trust it which made the whole process frustrating. Current features: Command routing using a function map ( commands[cmd] ) Argument validation based on expected counts Clean input parsing using slice() and map(Number) Domain rules (division by zero negative square roots) Scientific operations: sqrt pow log In-memory history system history command for session logs Improved help command More consistent error handling Next steps: Persist history to a file Refactor validation into helper functions Improve error messages Reflection: Validation was mentally draining. I kept mixing up arity type and domain rules and the code felt like a pile of checks instead of a system. It worked but I didnât trust it. The biggest reality check was the history system. I built it saw it work then ran another command and everything was gone. Thatâs when it clicked. CLI programs donât persist memory. Every run starts fresh. That was the most important lesson. Not everything you build âstaysâ unless you store it. It changed how I think about programs. By the end the calculator is still simple but my understanding of structure and flow is much stronger. It feels less like guessing and more like knowing what Iâm doing. Note: The screenshot only shows a basic run and does not include all implemented features (validation command handling improvements and history tracking).
Devlog 3 â Persistence and Control (File-based History + Clear Command) What I learned: Why CLI programs reset completely every time they are executed How to use the fs module to write and read files in Node.js How appendFileSync can be used to store data incrementally How to read stored data using readFileSync The difference between in-memory state and persistent state How small bugs (like variable naming or extra trims) can break logic in subtle ways Why validation, execution and side effects (like saving history) should stay separated Biggest struggle: This part was less chaotic than Day 2 but still frustrating in a different way. The logic itself wasnât the problem this time. It was understanding how programs behave over time . I had already built a history system before so seeing it disappear every run was confusing at first. Then came the file system part. Writing to a file felt simple but reading it back properly and formatting it without breaking things took more effort than expected. Small mistakes like misnaming variables or structuring loops incorrectly kept causing issues. It wasnât overwhelming chaos but more like constant small friction that slowed everything down. Current features: Persistent history system using fs Calculations are stored in history.txt across runs history command displays formatted past calculations clear command wipes stored history clean Improved validation and error messages Clean separation between parsing, validation and execution Next steps: Convert the calculator into an interactive CLI (REPL-style) Reduce repeated validation logic into reusable helpers Improve overall UX (cleaner outputs and command feedback) Reflection: The biggest realization was understanding that programs donât remember anything unless you explicitly store it. That changed how I think about state completely. Compared to earlier struggles, this one felt quieter but still tiring. Less confusion, more persistence. Fixing small issues, understanding behavior and slowly making things more stable. It still isnât perfect but it finally feels like the calculator has some sense of continuity instead of resetting every time. Note: The screenshot does not show all features (full validation system).
Devlog 4 â Making it Interactive (REPL + UX Improvements) What I learned: How to use readline to keep the program running and take input again and again The difference between a script that runs once vs something interactive How small UX things (like input formatting and cleaner output) actually matter a lot How to handle messy user input using trim() and split(/\s+/) How to structure code so it doesnât become a mess when it keeps running in a loop Biggest struggle: This part wasnât âhardâ in the usual sense but it was confusing at first. Before this, my program would just run once and end. Now it stays alive and that changes how everything works. I had to think differently about how commands are handled because now the same logic runs over and over again. Input handling was also kind of annoying. Even small things like extra spaces could break stuff which forced me to actually deal with it properly instead of ignoring it. Another thing was output. At some points it felt too cluttered and at others it felt like not enough information was being shown. Finding a balance there took a bit of trial and error. Current features: REPL system using readline (no need to restart the program every time) Continuous input like a real CLI Support for both commands and symbols ( add + + , etc.) Better input handling (spaces donât break things anymore) Validation for: wrong number of arguments invalid numbers division by zero square root of negative numbers Cleaner output (less unnecessary logs) History system: saved to history.txt can view with history can reset with clear cls to clear the screen exit to quit the program Next steps: Support actual expressions like 2 + 3 * 4 instead of strict commands Make history a bit smarter (maybe timestamps or search) Reduce repeated logic even more Add vector/matrix operations Add autocomplete for commands Add colored terminal output Reflection: This is probably the first version that actually feels like a real program. The REPL made a huge difference. Before, it felt like I was just testing functions. Now it actually feels like something you can use. Most of the improvements in this version arenât big features, but small things that make the experience smoother. Stuff like handling spaces properly or adding aliases doesnât sound like much but it changes how the program feels. Iâm starting to notice that building something usable is very different from just making something work. Itâs still simple and thereâs a lot more I could improve but this is the first time the calculator feels complete in its own way.
Devlog 5 â Expressions, Memory and a Real âCalculator Feelâ What I learned: How to evaluate user input dynamically using Function() (and why it needs to be handled carefully) How to replace parts of user input using regex. How to structure commands when the number of arguments isnât always fixed (min/max validation) How small UX details (like colors using chalk ) make a big difference in usability How to maintain state across a REPL session How to design a fallback system where unknown commands are treated as expressions Biggest struggle: This one was definitely more complex than the previous days. The hardest part was adding expression evaluation. Using something like Function() to evaluate user input felt powerful but also risky and confusing at first. Making sure it doesnât break on invalid input and handling errors properly took some time. Another tricky part was implementing a feature ( ans ) that lets you reuse the previous result in new calculations. Ensuring it worked consistently across both commands and expressions required careful handling of user input. Replacing it correctly in user input without breaking other words or expressions required using regex carefully. Also, as the number of commands grew, validation started getting messy. Switching to a min/max argument system helped but it took a bit of thinking to get right. This stage felt less like âjust codingâ and more like designing how the calculator should behave. Current features: Full REPL-based interactive CLI Support for both commands and direct expressions: add 2 3 2 + 3 * 4 ans keyword to reuse the previous result Expanded math operations: Trigonometry ( sin , cos , tan ) Logarithms ( ln , log ) Factorial ( fact ) Rounding ( round , ceil , floor ) Absolute value ( abs ) Improved validation with flexible argument handling (min/max support) Persistent history with timestamps Optional history limit ( history n ) Colored and structured output using chalk Better error handling for invalid commands and expressions Next steps: Improve expression parsing (support more complex cases safely) Possibly replace Function() with a safer custom parser Add command chaining or multi-step calculations Improve UI further (custom prompt, better formatting) Maybe create a simple web version for easier demo access Reflection: This version feels like a big step forward. Before, the calculator was command-based and structured. Now it feels much more natural and flexible, especially with expressions and the ans feature. Itâs starting to behave like an actual calculator instead of just a program that runs specific commands. At the same time, the complexity is definitely increasing. Itâs getting harder to manage everything cleanly which makes me realize how important structure and planning are as projects grow. Itâs not perfect but it finally feels like something I could actually use. Not just something I built to learn.
Devlog 6 â Taking the CLI to the Browser Biggest struggle The hardest part wasnât writing new features. It was translating existing ones into a completely different environment. The original CLI felt natural because Node.js gives you everything: file system, stdin/stdout, process control. The browser gives you none of that. Every tool I had been relying on: readline , fs , chalk , console.log even process either doesnât exist or behaves differently in a browser context. The trickiest translation was the input loop. readline handles line buffering automatically, you just wait for the user to press Enter and get the full line back. With xterm.js, you get one raw character at a time via onData . The other catch was the expression evaluator. After porting everything over, sin(90) + 10 was returning "Invalid command or expression" because the Function() scope didnât know what sin was. The fix was straightforward once I understood the cause, exposing the math functions as local constants inside the Function() string but it was a good reminder that a working feature in one environment isnât automatically working in another. What changed in this version New files src/calc-demo.js :- full browser port of calc.js using xterm.js main.js :- entry point: boots xterm, loads the fit addon, calls initCalc(term) index.html :- static shell with topbar, terminal mount and statusbar style.css :- dark terminal theme built around a monospace font stack and a single green accent Key substitutions made Node.js ( calc.js ) Browser ( calc-demo.js ) readline xterm.js onData + manual buffer chalk ANSI escape codes fs / history.txt localStorage console.log term.write() via print() process.exit location.reload() calc.js is untouched. The original CLI still runs exactly as before with node src/calc.js . The browser build is a separate port not a replacement. Current features Everything from Devlog 5, now running in the browser Live deployment on Vercel. No install, no terminal, just a URL Terminal emulator UI with topbar, statusbar and live clock Full xterm.js input handling: backspace, local echo, line buffering History persisted in localStorage across page reloads Expression evaluator now supports sin(90) + 10 , sqrt(144) , abs(-5) etc. directly cls clears the xterm screen properly using escape sequences exit reloads the page Reflection Devlog 5 ended with âmaybe create a simple web version for easier demo accessâ as a future idea. This devlog is that idea, actually shipped. What surprised me most was how much invisible work Node.js was doing. You write readline and it just works but behind it is a whole input loop, line buffering, echo management and terminal control that you never think about. Doing it manually in xterm.js made all of that visible which was frustrating at first but genuinely useful to understand. The project now has two lives: a proper Node.js CLI tool and a browser demo that looks and feels identical. That separation, keeping calc.js untouched and building the browser port as a parallel file felt like the right architectural call. One doesnât compromise the other. Itâs also the first time something I built has a real public URL.
Ships:
What did you make? A CLI calculator built from scratch in Node.js. Not just a basic one, it runs as a full REPL in your terminal, supports both command-driven operations ( add 2 3 , sin 90 ) and free-form math expressions ( 2 + 3 * 4 , sin(90) + 10 ), remembers your last result with ans , logs every calculation to a history file with timestamps and validates inputs with actual helpful error messages. Over the last week I also ported the whole thing to run in the browser using xterm.js so you can try it live without installing anything. What was challenging? Honestly, most of it at some point. The expression evaluator was probably the hardest part. Using Function() to evaluate raw user input feels powerful but also kind of risky and making it fail gracefully without breaking anything took a while to get right. The ans memory system was tricky too because replacing it correctly across both commands and expressions without accidentally mangling other words required careful regex work. The browser port was a whole different kind of hard. I didnât realize how much Node.js was doing for me silently. readline alone handles an entire input loop that I had to rebuild character by character in xterm.js. What are you proud of? A few things: The validation architecture â argument counts, type checks, domain-specific errors (division by zero, negative square roots, log of non-positives) all cleanly separated from the actual math logic The ans memory system â being able to chain pow 2 8 â add ans 100 â ans / 2 makes it feel like a real calculator The expression evaluator â typing sin(90) + 10 directly and getting 11 feels satisfying every time The history system â timestamped, persistent, filterable with history [n] The fact that the browser demo runs the exact same logic as the CLI â calc.js was never touched, the port lives in a separate file This was built step by step over 6 devlogs in about a week. Iâm still a beginner and itâs not perfect but it genuinely feels like something I made rather than something I just followed a tutorial for. What should people know so they can test your project? The easiest way is the live browser demo â no install, just open the link: đ https://cli-calculator-five.vercel.app/ Try these to get a feel for it: help add 2 3 pow 2 8 add ans 100 sin(90) + 10 2 + 3 * 4 history If you want to run it locally instead: git clone https://github.com/AidenHammy/cli-calculator.git cd cli-calculator npm install node src/calc.js...
|
1793249320.6362343
|
1793335720.6362343
|
|
52933
|
kivi's amazing site by @Kivi_1710 | Stardance
|
Kivi_1710
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: kivi's amazing site by @Kivi_1710 | Sta Title: kivi's amazing site by @Kivi_1710 | Stardance...
|
1792730920.3549678
|
1793335720.3549678
|
|
52931
|
ai-study-buddy by @magar | Stardance
|
magar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ai-study-buddy by @magar | Stardance
|
1792730919.5187318
|
1793335719.5187318
|
|
52930
|
My very own WebOS by @ghanisthjain | Stardance
|
ghanisthjain
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @ghanisthjain | Starda Title: My very own WebOS by @ghanisthjain | Stardance...
|
1792730918.6588907
|
1793335718.6588907
|
|
52927
|
hash2164 by @hash | Stardance
|
hash
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: hash2164 by @hash | Stardance
|
1792730917.808144
|
1793335717.808144
|
|
39933
|
My first slack bot! by @vanbro64 | Stardance
|
vanbro64
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-01T02:09:10Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a slack bot called Senior Inspector Prakash! It had a lot of issues which I had to debug but eventually I got it to make a joke, tell cat facts and play pokemon with me", "repo": "https://github.com/vansuv/Senior-Inspector-Prakash/", "demo": "https://app.slack.com"}]...
|
[{"post_id": 38586, "ts": "202 [{"post_id": 38586, "ts": "2026-08-01T02:04:49Z", "hours": 1.0806, "text": "I finally finished the bot after so many issues! I added a pokemon game where you have a small chance to roll a pokemon everytime you play it. You can try Senior Inspector Prakash out on slack by using /sip"}]...
|
Title: My first slack bot! by @vanbro64 | Stardanc Title: My first slack bot! by @vanbro64 | Stardance
Devlogs:
I finally finished the bot after so many issues! I added a pokemon game where you have a small chance to roll a pokemon everytime you play it. You can try Senior Inspector Prakash out on slack by using /sip
Ships:
I made a slack bot called Senior Inspector Prakash! It had a lot of issues which I had to debug but eventually I got it to make a joke, tell cat facts and play pokemon with me...
|
1793249315.7011676
|
1793335715.7011676
|
|
52926
|
Smart Desk Light System by @Cunning07 | Stardance
|
Cunning07
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Smart Desk Light System by @Cunning07 | Sta Title: Smart Desk Light System by @Cunning07 | Stardance...
|
1792730913.900541
|
1793335713.900541
|
|
52925
|
NEXUS Cli programming dashboard by @20player11 | S NEXUS Cli programming dashboard by @20player11 | Stardance...
|
20player11
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: NEXUS Cli programming dashboard by @20playe Title: NEXUS Cli programming dashboard by @20player11 | Stardance...
|
1792730913.0476298
|
1793335713.0476298
|
|
52924
|
My awesome macropad! by @muhammadmasab | Stardance
|
muhammadmasab
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @muhammadmasab | St Title: My awesome macropad! by @muhammadmasab | Stardance...
|
1792730912.167521
|
1793335712.167521
|
|
52923
|
nebula OS by @aksdhama | Stardance
|
aksdhama
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: nebula OS by @aksdhama | Stardance
|
1792730911.3238752
|
1793335711.3238752
|
|
52922
|
Frision by @velocity | Stardance
|
velocity
|
0
|
4.88
|
0
|
[]
|
[{"post_id": 55659, "ts": "202 [{"post_id": 55659, "ts": "2026-08-27T16:49:54Z", "hours": 2.0933, "text": "Added an Object classifier Once the object detector detects the images I use pillow to crop into them and use a classifier with 900 items to classify that food it has really good accuracy, an average photo of a fridge has about 50+ items"}, {"post_id": 55509, "ts": "2026-08-27T12:19:48Z", "hours": 1.0311, "text": "Breakthrough in my project :) I am finally able to detect a lot of objects clustered together easily, now the next phase is actually checking what each of those objects are"}, {"post_id": 52440, "ts": "2026-08-22T15:42:01Z", "hours": 1.7597, "text": "Managed to figure out how to get a Computer Vision Model Working on my computer after ages of searching for pretrained models that are fast, free and can detect a large number of classes. I found a YouTube video explaining Grounding Dino. I think it might be the savior of all of computer vision or at least my project, i managed to install the hugging face version of it to be able to analyze images of fridges and list out all items currently in it. Had to find a list of foods which I found on USDA as there common grocery foods. Around 900 of the most common foods, I tried using AI models, such as qwen or gemini, but they took way to long and burned through tokens. Right now Grounding Dino is not able to handle 900 inputs so I will have to figure out how to batch the classes."}]...
|
Title: Frision by @velocity | Stardance
Devlogs:
Title: Frision by @velocity | Stardance
Devlogs:
Managed to figure out how to get a Computer Vision Model Working on my computer after ages of searching for pretrained models that are fast, free and can detect a large number of classes. I found a YouTube video explaining Grounding Dino. I think it might be the savior of all of computer vision or at least my project, i managed to install the hugging face version of it to be able to analyze images of fridges and list out all items currently in it. Had to find a list of foods which I found on USDA as there common grocery foods. Around 900 of the most common foods, I tried using AI models, such as qwen or gemini, but they took way to long and burned through tokens. Right now Grounding Dino is not able to handle 900 inputs so I will have to figure out how to batch the classes.
Breakthrough in my project :) I am finally able to detect a lot of objects clustered together easily, now the next phase is actually checking what each of those objects are
Added an Object classifier Once the object detector detects the images I use pillow to crop into them and use a classifier with 900 items to classify that food it has really good accuracy, an average photo of a fridge has about 50+ items...
|
1792730910.4718835
|
1793335710.4718835
|
|
52921
|
Scrapbook by @aashir_siddiqui | Stardance
|
aashir_siddiqui
|
0
|
1.03
|
0
|
[]
|
[{"post_id": 54276, "ts": "202 [{"post_id": 54276, "ts": "2026-08-25T05:52:21Z", "hours": 1.0278, "text": "Working on a streak system for my digital scrapbooking app- and learning MVVM architecture (why does it take so many classes)"}]...
|
Title: Scrapbook by @aashir_siddiqui | Stardance
Title: Scrapbook by @aashir_siddiqui | Stardance
Devlogs:
Working on a streak system for my digital scrapbooking app- and learning MVVM architecture (why does it take so many classes)...
|
1792730909.595846
|
1793335709.595846
|
|
52919
|
VideoShop by @F3rro_32 | Stardance
|
F3rro_32
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: VideoShop by @F3rro_32 | Stardance
|
1792730908.7399478
|
1793335708.7399478
|
|
52917
|
My awesome macropad! by @ASDula | Stardance
|
ASDula
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @ASDula | Stardance
|
1792730907.8735607
|
1793335707.8735607
|
|
52916
|
MachUI by @itzkyouki | Stardance
|
itzkyouki
|
0
|
7.97
|
0
|
[]
|
[{"post_id": 58812, "ts": "202 [{"post_id": 58812, "ts": "2026-08-31T12:13:18Z", "hours": 2.8278, "text": "devlog 4: today i learnt more abt quickshell and learnt how to style the top bar. also added functionality so a command opens the overview stuff done -added a date module stuff to do: -add more python modules -add wallpaper functionality for quickshell -make more quickshell panels"}, {"post_id": 54348, "ts": "2026-08-25T09:33:25Z", "hours": 0.9408, "text": "Daily Devlog 3: today i got the first piece of ui working with the lil white bar also i did 3 hours today but because noctalia set my time and date to a random time it broke other stuff added: -autolocation that the weather module uses and refreshes hourly -the top bar which i moved to topbar.qml after testing on main.qml -made main.py detect if the data dir exists and creates if not (without it everything breaks) stuff to do: -make main.qml actually coordinate the other qml modules and future modules -make the topbar use the dumped clock.json for the clock"}, {"post_id": 53729, "ts": "2026-08-24T12:13:59Z", "hours": 2.1831, "text": "Daily Devlog 2 made a concept art with heavy inspo from noctalia shell which i use concept in the photo bellow. Since the concept was made in canva the icons and general proportions are off and are likely gonna be changed, this concept is a very early one and likely not gonna be like this Added the functionality to make qs -c machui turn on the main.py python file and also for main.qml other changes -Added a module to get some battery info and dump into a .json then added to the main.py loop and made it recheck the battery info every 4 seconds (comment if thats too high because i dunno yet) stuff to do -add modules for weather, a calander and tasks system -start the actual ui with quickshell by starting with a top bar that has uses the clock info given by python more concepts on diffrents stuff for example the launcher, wallpaper picker, notifs and possibly a dock but that is pretty low on priority -make the kill command also shut down both python and the other quickshell since it currently doesnt"}, {"post_id": 52920, "ts": "2026-08-23T09:24:52Z", "hours": 2.0144, "text": "Daily devlog 1: Just started on the python backend that is meant to gather everything and dumps it to a json before quickshell uses is. Started with a basic clock module and will add weather and other stuff when needed"}]...
|
Title: MachUI by @itzkyouki | Stardance
Devlogs:
Title: MachUI by @itzkyouki | Stardance
Devlogs:
Daily devlog 1: Just started on the python backend that is meant to gather everything and dumps it to a json before quickshell uses is. Started with a basic clock module and will add weather and other stuff when needed
Daily Devlog 2 made a concept art with heavy inspo from noctalia shell which i use concept in the photo bellow. Since the concept was made in canva the icons and general proportions are off and are likely gonna be changed, this concept is a very early one and likely not gonna be like this Added the functionality to make qs -c machui turn on the main.py python file and also for main.qml other changes -Added a module to get some battery info and dump into a .json then added to the main.py loop and made it recheck the battery info every 4 seconds (comment if thats too high because i dunno yet) stuff to do -add modules for weather, a calander and tasks system -start the actual ui with quickshell by starting with a top bar that has uses the clock info given by python more concepts on diffrents stuff for example the launcher, wallpaper picker, notifs and possibly a dock but that is pretty low on priority -make the kill command also shut down both python and the other quickshell since it currently doesnt
Daily Devlog 3: today i got the first piece of ui working with the lil white bar also i did 3 hours today but because noctalia set my time and date to a random time it broke other stuff added: -autolocation that the weather module uses and refreshes hourly -the top bar which i moved to topbar.qml after testing on main.qml -made main.py detect if the data dir exists and creates if not (without it everything breaks) stuff to do: -make main.qml actually coordinate the other qml modules and future modules -make the topbar use the dumped clock.json for the clock
devlog 4: today i learnt more abt quickshell and learnt how to style the top bar. also added functionality so a command opens the overview stuff done -added a date module stuff to do: -add more python modules -add wallpaper functionality for quickshell -make more quickshell panels...
|
1792730906.9885638
|
1793335706.9885638
|
|
58459
|
open tab by @kai_lmao | Stardance
|
kai_lmao
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T16:15:58Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hey everyone! i just made a new project, OPEN-TAB! its a tab design thats meant to replace the boring plain new tab that most browsers have, with a sleek minimalist tab! the design uses a glassmorphism (a new word i learnt today) UI over a dark background for a simple easy to use look. it features a real-time calendar and clock grid, a direct web search bar, and shortcut links to github, youtube, Nasa, and reddit, and a NASA widget featuring APOD (a picture of the day) on the bottom which shows a new picture from Nasa every single day! i definitely ran into a few headaches while building this. i had some issues with making the main logo spin smoothly, and there were a ton of css transform bugs breaking the hover and glow effects on my widgets. getting the nasa api widget to pull the daily astronomy picture and link properly was also a bit tricky, but i managed to work through all of it (with a little bit of help from ai) to get the layout perfectly stable and tactile. im proud of how clean this turned out :)", "repo": "https://github.com/KaiTheGreat-123/open-tab", "demo": "https://kaithegreat-123.github.io/open-tab/"}]...
|
[{"post_id": 62269, "ts": "202 [{"post_id": 62269, "ts": "2026-09-05T15:42:32Z", "hours": 2.5467, "text": "i made a relatively small project, so i will all fit in this one devlog. i made this new website today called OPEN-TAB! basically, the new tabs of most browsers are boring, so this is a minimalist new tab which looks better than those boring tabs with smooth animations and easy access to popular websites!"}]...
|
Title: open tab by @kai_lmao | Stardance
Devlogs: Title: open tab by @kai_lmao | Stardance
Devlogs:
i made a relatively small project, so i will all fit in this one devlog. i made this new website today called OPEN-TAB! basically, the new tabs of most browsers are boring, so this is a minimalist new tab which looks better than those boring tabs with smooth animations and easy access to popular websites!
Ships:
hey everyone! i just made a new project, OPEN-TAB! its a tab design thats meant to replace the boring plain new tab that most browsers have, with a sleek minimalist tab! the design uses a glassmorphism (a new word i learnt today) UI over a dark background for a simple easy to use look. it features a real-time calendar and clock grid, a direct web search bar, and shortcut links to github, youtube, Nasa, and reddit, and a NASA widget featuring APOD (a picture of the day) on the bottom which shows a new picture from Nasa every single day! i definitely ran into a few headaches while building this. i had some issues with making the main logo spin smoothly, and there were a ton of css transform bugs breaking the hover and glow effects on my widgets. getting the nasa api widget to pull the daily astronomy picture and link properly was also a bit tricky, but i managed to work through all of it (with a little bit of help from ai) to get the layout perfectly stable and tactile. im proud of how clean this turned out :)...
|
1793249306.357384
|
1793335706.357384
|
|
52914
|
WishOS by @Plasmas | Stardance
|
Plasmas
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WishOS by @Plasmas | Stardance
|
1792730906.1188374
|
1793335706.1188374
|
|
52912
|
AdamBoard by @yaasshh | Stardance
|
yaasshh
|
0
|
6.97
|
0
|
[]
|
[{"post_id": 52401, "ts": "202 [{"post_id": 52401, "ts": "2026-08-22T14:58:24Z", "hours": 6.9731, "text": "Decided to build my own custom RP2040 board to learn hardware design. The RP2040 is awesome for this because it has incredible documentation. I started by blocking out the schematic into logical chunks. The power supply needs to deliver both 3.3V and 1.1V, so I used an MCP1700 regulator and stacked up a dense bank of 0.1uF and 1uF decoupling capacitors to keep the power rails stable. For storage, I connected a 128Mb flash chip. I also integrated a USB-C connector and wired up a standard 12MHz crystal oscillator circuit to handle the clocking. Moving from the schematic to the layout sort of tricky but we got there. Hopefully everything runs"}]...
|
Title: AdamBoard by @yaasshh | Stardance
Devlogs: Title: AdamBoard by @yaasshh | Stardance
Devlogs:
Decided to build my own custom RP2040 board to learn hardware design. The RP2040 is awesome for this because it has incredible documentation. I started by blocking out the schematic into logical chunks. The power supply needs to deliver both 3.3V and 1.1V, so I used an MCP1700 regulator and stacked up a dense bank of 0.1uF and 1uF decoupling capacitors to keep the power rails stable. For storage, I connected a 128Mb flash chip. I also integrated a USB-C connector and wired up a standard 12MHz crystal oscillator circuit to handle the clocking. Moving from the schematic to the layout sort of tricky but we got there. Hopefully everything runs...
|
1792730904.416635
|
1793335704.416635
|
|
57935
|
My awesome macropad! by @vladstefanenache | Starda My awesome macropad! by @vladstefanenache | Stardance...
|
vladstefanenache
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vladstefanenache | Title: My awesome macropad! by @vladstefanenache | Stardance...
|
1792730903.5678246
|
1793335703.5678246
|
|
57933
|
My own site! by @carlw | Stardance
|
carlw
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @carlw | Stardance
|
1792730902.7204902
|
1793335702.7204902
|
|
57929
|
My awesome macropad! by @chu | Stardance
|
chu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @chu | Stardance
|
1792730901.0095828
|
1793335701.0095828
|
|
57928
|
Projects-881 by @abhineet881 | Stardance
|
abhineet881
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Projects-881 by @abhineet881 | Stardance
|
1792730900.163705
|
1793335700.163705
|
|
25968
|
Simple Calc by @dim | Stardance
|
dim
|
1
|
2.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T09:38:59Z", "hours": 2.0, "multiplier": 1.13, "payout": 2, "blessing": "neutral", "text": "I made a claculator with html. It was challenging to set up the editor. Im proud because its my first html project. Its just a normal calculator which took me way too much time to make.", "repo": "https://github.com/the-dimpol-13/calc-html", "demo": "https://the-dimpol-13.itch.io/simple-calc"}]...
|
[{"post_id": 52925, "ts": "202 [{"post_id": 52925, "ts": "2026-08-23T09:35:33Z", "hours": 1.6728, "text": "This was my first html project.Most of the time i spent on this was for seting up the editor for which i used ai but only for this part. It has the standard calculator design with all the numbers, symbols, clear and backspace and i have uploaded it on itch.io for the demo."}]...
|
Title: Simple Calc by @dim | Stardance
Devlogs:
T Title: Simple Calc by @dim | Stardance
Devlogs:
This was my first html project.Most of the time i spent on this was for seting up the editor for which i used ai but only for this part. It has the standard calculator design with all the numbers, symbols, clear and backspace and i have uploaded it on itch.io for the demo.
Ships:
I made a claculator with html. It was challenging to set up the editor. Im proud because its my first html project. Its just a normal calculator which took me way too much time to make....
|
1793249300.153722
|
1793335700.153722
|
|
52907
|
WarioWare Game by @Anamta | Stardance
|
Anamta
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @Anamta | Stardance
|
1792730899.3118494
|
1793335699.3118494
|
|
52906
|
My own site! by @elisenigma | Stardance
|
elisenigma
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @elisenigma | Stardance
|
1792730898.4427571
|
1793335698.4427571
|
|
57925
|
LED cube by @abhineet881 | Stardance
|
abhineet881
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: LED cube by @abhineet881 | Stardance
|
1792730897.5975332
|
1793335697.5975332
|
|
57924
|
First slack Bot by @ElliotElinator | Stardance
|
ElliotElinator
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: First slack Bot by @ElliotElinator | Starda Title: First slack Bot by @ElliotElinator | Stardance...
|
1792730896.7469945
|
1793335696.7469945
|
|
57922
|
AOEN by @dheer_kushagra | Stardance
|
dheer_kushagra
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: AOEN by @dheer_kushagra | Stardance
|
1792730895.9003716
|
1793335695.9003716
|
|
52904
|
Untitled project by @SmortKhoi | Stardance
|
SmortKhoi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @SmortKhoi | Stardance
|
1792730895.0573518
|
1793335695.0573518
|
|
68178
|
Robotic arm by @al_s | Stardance
|
al_s
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Robotic arm by @al_s | Stardance
|
1792471695.0249739
|
1793335695.0249739
|
|
22215
|
Multi-Matrix by @Deva | Stardance
|
Deva
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T08:20:41Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Multi-Matrix, an Arduino Nano powered 8 in 1 retro game arcade and digital multi-tool that runs motion controlled games and utilities on a single 8x8 LED matrix. The hardest part was optimization squashing instant I2C hardware freezes with a custom software timeout shield, implementing edge detection to stop capacitive touch pads from double triggering inputs, and tuning real time physics to feel smooth on a tiny pixel grid. It runs flawlessly on a custom code, letting you hot swap between all eight modes instantly using a 4-channel touch pad and a hardware capacitive touch Shift key.", "repo": "https://github.com/HyperBeast1551/Multi-Matrix", "demo": ""}]...
|
[{"post_id": 21332, "ts": "202 [{"post_id": 21332, "ts": "2026-07-03T06:54:33Z", "hours": 0.8192, "text": "Made the README.md as clean as possible. Checked for flaws and debugged the code. The project is nearly complete, only some minor patches are left."}, {"post_id": 18160, "ts": "2026-06-29T05:45:38Z", "hours": 0.3631, "text": "The coding part is now complete! Some amount of refinement/debugging is needed to make the code perfect."}, {"post_id": 17816, "ts": "2026-06-28T19:06:25Z", "hours": 1.4494, "text": "Completed the main loop. Added a MPU sensor helper profile. Started working on the Modes(0-7). The modes- compass(analogue/digital), Bowling game, Snake game and Flappy Dot game are finished. Next Iâll work on the modes 5-7."}, {"post_id": 17088, "ts": "2026-06-27T19:01:43Z", "hours": 1.3139, "text": "Started working on the Multi-Matix. Added an option to set the calibration offsets, defined game variables, made each individual Pixel graphics and also the graphics of the dice game, added the helper function and finished the initial Setup."}]...
|
Title: Multi-Matrix by @Deva | Stardance
Devlogs: Title: Multi-Matrix by @Deva | Stardance
Devlogs:
Started working on the Multi-Matix. Added an option to set the calibration offsets, defined game variables, made each individual Pixel graphics and also the graphics of the dice game, added the helper function and finished the initial Setup.
Completed the main loop. Added a MPU sensor helper profile. Started working on the Modes(0-7). The modes- compass(analogue/digital), Bowling game, Snake game and Flappy Dot game are finished. Next Iâll work on the modes 5-7.
The coding part is now complete! Some amount of refinement/debugging is needed to make the code perfect.
Made the README.md as clean as possible. Checked for flaws and debugged the code. The project is nearly complete, only some minor patches are left.
Ships:
I built Multi-Matrix, an Arduino Nano powered 8 in 1 retro game arcade and digital multi-tool that runs motion controlled games and utilities on a single 8x8 LED matrix. The hardest part was optimization squashing instant I2C hardware freezes with a custom software timeout shield, implementing edge detection to stop capacitive touch pads from double triggering inputs, and tuning real time physics to feel smooth on a tiny pixel grid. It runs flawlessly on a custom code, letting you hot swap between all eight modes instantly using a 4-channel touch pad and a hardware capacitive touch Shift key....
|
1793249294.6492798
|
1793335694.6492798
|
|
57921
|
Frictionless by @apateldavis | Stardance
|
apateldavis
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @apateldavis | Stardance
|
1792730894.1939185
|
1793335694.1939185
|
|
68175
|
SMART LAMP by @henilX0 | Stardance
|
henilX0
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: SMART LAMP by @henilX0 | Stardance
|
1792471693.3733087
|
1793335693.3733087
|
|
52903
|
Stock-A-Neural-Network by @Aarush-_- | Stardance
|
Aarush-_-
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Stock-A-Neural-Network by @Aarush-_- | Star Title: Stock-A-Neural-Network by @Aarush-_- | Stardance...
|
1792730893.3624458
|
1793335693.3624458
|
|
57919
|
cosmic portfolio by @vinodkumarajmeera2206 | Stard cosmic portfolio by @vinodkumarajmeera2206 | Stardance...
|
vinodkumarajmeera2206
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cosmic portfolio by @vinodkumarajmeera2206 Title: cosmic portfolio by @vinodkumarajmeera2206 | Stardance...
|
1792730892.4755614
|
1793335692.4755614
|
|
38343
|
SkyCanvas CLI Tool by @Aeriss | Stardance
|
Aeriss
|
1
|
14.0
|
228
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-30T16:31:48Z", "hours": 14.0, "multiplier": 16.52, "payout": 228, "blessing": "neutral", "text": "SkyCanvas v0.1.0 is officially released Ęâ˘á´Ľâ˘Ę After some solid time of development, testing, debugging, and polishing, SkyCanvas has finally reached its first release. SkyCanvas is a terminal-based ASCII constellation viewer powered by astronomical data. It allows you to explore constellations directly from your command line, view detailed information about stars and connections, compare different constellations, discover what is visible tonight, animate constellation drawings, and export them into image formats. One of the biggest challenges during development was creating a custom rendering system that could display constellations smoothly inside a terminal while keeping the output readable and visually appealing. I am so so proud that SkyCanvas grew from a simple terminal experiment into a complete application with its own renderer, animations, export pipeline, documentation, PyPI package etc. The project is now available for everyone to try. You can install it using: âpip install skycanvasâ Then run: âskycanvas âhelpâ to explore all available commands. Thank you to everyone who followed the development journey đ¤ Enjoy exploring the night sky directly from your terminal, even though not perfect, it should be enjoyable!", "repo": "https://github.com/aerissdev-dotcom/SkyCanvas", "demo": "https://pypi.org/project/skycanvas/0.1.1/"}]...
|
[{"post_id": 37683, "ts": "202 [{"post_id": 37683, "ts": "2026-07-30T16:08:34Z", "hours": 1.2525, "text": "Devlog #06 The last one Ęâ˘á´Ľâ˘Ę Hey I hope you are all doing amazing! This will be the final development log before SkyCanvas officially ships. The last few steps were focused on preparing the project for release rather than adding new features. I just: finished writing the README created the pyproject.toml polished the documentation, and made sure everything is ready to be published as a proper Python package I also fixed a few remaining bugs and gave the CLI last cleanup before release What went good Everything is finally in place, writing pyproject.toml was kind of muscle memory at this point. The project feels complete and ready for other people to install and use. What was hard Preparing a project for release takes much more work than it seems, although I think the pyproject.toml file is the easy part. Documentation and polishing ended up taking almost as much time as some of the features themselves. Time to upload SkyCanvas to PyPI and ship v0.1.0 đ¤"}, {"post_id": 37631, "ts": "2026-07-30T14:40:22Z", "hours": 3.3878, "text": "Devlog #05 Hi eveyrone, I hope you are all doing great Ęâ˘á´Ľâ˘Ę Andddd we are shipping soon! This update of SkyCanvas was mainly focused on finishing the remaining major feature before release. I spent this time implementing the export system, improving the CLI experience, and fixing a lot of small bugs. Export System The biggest addition in this update was the new export functionality. SkyCanvas can now export constellations directly into image files using: skycanvas --export <target> <format> Supported formats: JPG, PNG, SVG and BMP Exported files are automatically saved to: ~/SkyCanvas/Exports/ with timestamps included in their filenames. The export system keeps the same visual style as the terminal version. The tonight target is also supported, allowing SkyCanvas to export every currently visible constellation into separate files automatically. Honestly, I had a lot of problems implementing export feature, even though this command might seem like an overkill, I think it is useful is some cases. Bug Fixes & General Polish Fixed issues related to: Export generation SVG formatting CLI argument handling (callback just wasnât working) Duplicate console output Rendering behavior Various smaller bugs across the project What went good The export system integrated surprisingly well with the existing renderer. Since the rendering pipeline was already separated from the CLI logic, adding new output formats was much easier than expected. What was hard The biggest challenge was making exported images look exactly like the terminal version. Keeping the same proportions, colors, and Braille-style rendering outside the console required a lot of âadjustmentsâ. SkyCanvas is now really close to the first public release đ¤ The remaining steps are: Writing full README PyPI preparation Publishing version 0.1.0 Writing files like pyproject.toml and requirements.txt I will update on those steps too!"}, {"post_id": 37170, "ts": "2026-07-29T17:54:16Z", "hours": 2.2878, "text": "Devlog #04 Hey, I hope you are all doing amazing Ęâ˘á´Ľâ˘Ę This update was mainly focused on improving how SkyCanvas looks and feels to use. I spent a lot of time reworking the rendering system, adding new CLI features, and making the overall experience much more polished. Completely New ASCII Renderer One of the biggest changes was replacing the original ASCII rendering approach with a completely new one. Instead of relying on simple line characters, the renderer now uses a higher-resolution Braille-based drawing system, producing much smoother and cleaner constellation shapes in the terminal, hehe ;) The rendering pipeline itself was also redesigned, making it easier to maintain and expand in the future. Improved Visuals I also gave the terminal output a visual refresh. Stars are now highlighted in yellow, making them much easier to tell apart. Connection lines use a different color for better readability. These changes make the constellations far more enjoyable to look at while still keeping the project fully terminal-based. New Commands & Features This update also introduced several new commands compare command allows two constellations to be displayed side by side for quick visual comparison. It also supports comparing any constellation against every constellation currently visible with the tonight command. Speaking of that, tonight was added as well. It displays the constellations that are currently considered visible, making SkyCanvas feel much more interactive than simply viewing static constellation data. Animation Support Originally, I planned to implement a location command, but after thinking about it, I decided it didnât fit the project very well, did it bruh? Instead, I replaced it with an âanimate flag. Using this flag gradually draws a constellation in the terminal by animating its stars and connections before displaying the final result. Overall, this update was mostly about improving presentation and usability rather than adding huge amounts of new data. SkyCanvas now feels significantly more polished and closer to a complete first release. What went good The new commands integrated into the existing CLI surprisingly well. Since the project structure has become much cleaner over time, adding features like compare, tonight, and the animation system was fairly straightforward. What was hard The biggest challenge was redesigning the rendering. Getting constellation lines to look smooth with brail in a terminal while keeping everything aligned with stars and labels required several different approaches before I found one I was happy with. Iâm getting really close to the first public release now. There are only a few finishing touches left before SkyCanvas reaches version 1.0. I am yet to implement export command though đ¤"}, {"post_id": 36905, "ts": "2026-07-29T09:31:43Z", "hours": 2.2014, "text": "Devlog #04 Constellation Rendering & CLI Integration Hey, I hope you are all doing amazing Ęâ˘á´Ľâ˘Ę Lately, I focused on improving the visualization system and connecting the constellation data with the CLI experience. The biggest addition in this session was creating the render.py system. It is responsible for generating ASCII representations of constellations using star coordinates and connections between them. This was an important step as SkyCanvas is now no longer just displaying astronomical data - itâs starting to actually visualize the constellations now ;) I also created coordinates.py , which contains the positional data of stars used by the renderer. These coordinates define the relative placement of stars and allow the program to recreate recognizable constellation shapes inside the terminal. Another major improvement was modifying the command skycanvas [constellation] command, to skycanvas constellation [name] . This allows users to choose a specific constellation and display its information table together with its ASCII visualization. Example: skycanvas constellation orion The command now shows: constellation information stars data connections ASCII art of stars I also improved the existing rand command. Previously, it only displayed the information table of a randomly selected constellation, and now it also renders the ASCII visualization, making the feature much more complete. What was easy and what challengin I think the easier part of this session was connecting existing constellation data with new CLI features, since the database was already prepared, adding new commands was much simpler. The most challenging part was creating the rendering system. Turning star coordinates into readable ASCII art required a lot of testing and adjustments to make the constellations recognizable in the terminal. Overall, this session was focused on turning stored astronomical data into an actual visual experience. I hope you notice my progress and view it positively đ¤"}, {"post_id": 35407, "ts": "2026-07-26T19:49:12Z", "hours": 2.5594, "text": "Devlog #02 - progress starts to be really visible Ęâ˘á´Ľâ˘Ę Here is what I have done so far: Expanded constellations.py with the remaining entries. The database now contains 30 constellations, each with: Name Common name Hemisphere Best Months Visibility Brightest star Stars Connections between them CLI Improvements Finished the list command using Rich library. Added: Two-column constellation table Cleaner terminal output Better readability Implemented rand command. It now: Picks a random constellation Displays full information in a Rich table Shows stars and connections Current Progress Completed: Typer CLI foundation Logo command Version command List command Random constellation viewer Initial constellation database Next: I am not sure yet, but probably Skyfield lib integration and astronomy engine."}, {"post_id": 33146, "ts": "2026-07-22T19:51:11Z", "hours": 2.2042, "text": "Devlog #01 â The Sky is Empty (For Now) Ęâ˘á´Ľâ˘Ę Hey! First devlog for SkyCanvas, my new CLI tool that maps real star constellations as ASCII art in your terminal. Think of it as a tiny planetarium, but without leaving your keyboard. Right now, it does exactly one thing: skycanvas list prints âTODOâ. Not impressive yet, but the foundation is solid. Python, Typer, Rich â the same stack that worked for KeyGlow (see my other project). What took the most time today? Data. Spent two hours manually researching and writing constellation data into a Python dictionary. Orion, Ursa Major, Cassiopeia, Scorpius, Taurus, Gemini, Leo, Cygnus, Lyra, etc. each with their brightest stars, visibility months, and the connections that make them recognizable shapes in the night sky. I also managed to create a cool ASCII logo for SKYCANVAS, and make it displayable by âskycanvas logoâ command. Iâm not using an API for this â instead Iâll use the Skyfield library, which has a massive built-in star catalog and calculates positions mathematically. The manual data is just for the constellation shapes and metadata â Skyfield handles the actual astronomy. Right now my constellations.py looks like a giant dictionary with empty spots waiting to be filled. Next up: completing the data and turning those coordinates into actual ASCII art. Bresenhamâs line algorithm, here I come. Ęâ˘á´Ľâ˘Ę"}]...
|
Title: SkyCanvas CLI Tool by @Aeriss | Stardance
Title: SkyCanvas CLI Tool by @Aeriss | Stardance
Devlogs:
Devlog #01 â The Sky is Empty (For Now) Ęâ˘á´Ľâ˘Ę Hey! First devlog for SkyCanvas, my new CLI tool that maps real star constellations as ASCII art in your terminal. Think of it as a tiny planetarium, but without leaving your keyboard. Right now, it does exactly one thing: skycanvas list prints âTODOâ. Not impressive yet, but the foundation is solid. Python, Typer, Rich â the same stack that worked for KeyGlow (see my other project). What took the most time today? Data. Spent two hours manually researching and writing constellation data into a Python dictionary. Orion, Ursa Major, Cassiopeia, Scorpius, Taurus, Gemini, Leo, Cygnus, Lyra, etc. each with their brightest stars, visibility months, and the connections that make them recognizable shapes in the night sky. I also managed to create a cool ASCII logo for SKYCANVAS, and make it displayable by âskycanvas logoâ command. Iâm not using an API for this â instead Iâll use the Skyfield library, which has a massive built-in star catalog and calculates positions mathematically. The manual data is just for the constellation shapes and metadata â Skyfield handles the actual astronomy. Right now my constellations.py looks like a giant dictionary with empty spots waiting to be filled. Next up: completing the data and turning those coordinates into actual ASCII art. Bresenhamâs line algorithm, here I come. Ęâ˘á´Ľâ˘Ę
Devlog #02 - progress starts to be really visible Ęâ˘á´Ľâ˘Ę Here is what I have done so far: Expanded constellations.py with the remaining entries. The database now contains 30 constellations, each with: Name Common name Hemisphere Best Months Visibility Brightest star Stars Connections between them CLI Improvements Finished the list command using Rich library. Added: Two-column constellation table Cleaner terminal output Better readability Implemented rand command. It now: Picks a random constellation Displays full information in a Rich table Shows stars and connections Current Progress Completed: Typer CLI foundation Logo command Version command List command Random constellation viewer Initial constellation database Next: I am not sure yet, but probably Skyfield lib integration and astronomy engine.
Devlog #04 Constellation Rendering & CLI Integration Hey, I hope you are all doing amazing Ęâ˘á´Ľâ˘Ę Lately, I focused on improving the visualization system and connecting the constellation data with the CLI experience. The biggest addition in this session was creating the render.py system. It is responsible for generating ASCII representations of constellations using star coordinates and connections between them. This was an important step as SkyCanvas is now no longer just displaying astronomical data - itâs starting to actually visualize the constellations now ;) I also created coordinates.py , which contains the positional data of stars used by the renderer. These coordinates define the relative placement of stars and allow the program to recreate recognizable constellation shapes inside the terminal. Another major improvement was modifying the command skycanvas [constellation] command, to skycanvas constellation [name] . This allows users to choose a specific constellation and display its information table together with its ASCII visualization. Example: skycanvas constellation orion The command now shows: constellation information stars data connections ASCII art of stars I also improved the existing rand command. Previously, it only displayed the information table of a randomly selected constellation, and now it also renders the ASCII visualization, making the feature much more complete. What was easy and what challengin I think the easier part of this session was connecting existing constellation data with new CLI features, since the database was already prepared, adding new commands was much simpler. The most challenging part was creating the rendering system. Turning star coordinates into readable ASCII art required a lot of testing and adjustments to make the constellations recognizable in the terminal. Overall, this session was focused on turning stored astronomical data into an actual visual experience. I hope you notice my progress and view it positively đ¤
Devlog #04 Hey, I hope you are all doing amazing Ęâ˘á´Ľâ˘Ę This update was mainly focused on improving how SkyCanvas looks and feels to use. I spent a lot of time reworking the rendering system, adding new CLI features, and making the overall experience much more polished. Completely New ASCII Renderer One of the biggest changes was replacing the original ASCII rendering approach with a completely new one. Instead of relying on simple line characters, the renderer now uses a higher-resolution Braille-based drawing system, producing much smoother and cleaner constellation shapes in the terminal, hehe ;) The rendering pipeline itself was also redesigned, making it easier to maintain and expand in the future. Improved Visuals I also gave the terminal output a visual refresh. Stars are now highlighted in yellow, making them much easier to tell apart. Connection lines use a different color for better readability. These changes make the constellations far more enjoyable to look at while still keeping the project fully terminal-based. New Commands & Features This update also introduced several new commands compare command allows two constellations to be displayed side by side for quick visual comparison. It also supports comparing any constellation against every constellation currently visible with the tonight command. Speaking of that, tonight was added as well. It displays the constellations that are currently considered visible, making SkyCanvas feel much more interactive than simply viewing static constellation data. Animation Support Originally, I planned to implement a location command, but after thinking about it, I decided it didnât fit the project very well, did it bruh? Instead, I replaced it with an âanimate flag. Using this flag gradually draws a constellation in the terminal by animating its stars and connections before displaying the final result. Overall, this update was mostly about improving presentation and usability rather than adding huge amounts of new data. SkyCanvas now feels significantly more polished and closer to a complete first release. What went good The new commands integrated into the existing CLI surprisingly well. Since the project structure has become much cleaner over time, adding features like compare, tonight, and the animation system was fairly straightforward. What was hard The biggest challenge was redesigning the rendering. Getting constellation lines to look smooth with brail in a terminal while keeping everything aligned with stars and labels required several different approaches before I found one I was happy with. Iâm getting really close to the first public release now. There are only a few finishing touches left before SkyCanvas reaches version 1.0. I am yet to implement export command though đ¤
Devlog #05 Hi eveyrone, I hope you are all doing great Ęâ˘á´Ľâ˘Ę Andddd we are shipping soon! This update of SkyCanvas was mainly focused on finishing the remaining major feature before release. I spent this time implementing the export system, improving the CLI experience, and fixing a lot of small bugs. Export System The biggest addition in this update was the new export functionality. SkyCanvas can now export constellations directly into image files using: skycanvas --export <target> <format> Supported formats: JPG, PNG, SVG and BMP Exported files are automatically saved to: ~/SkyCanvas/Exports/ with timestamps included in their filenames. The export system keeps the same visual style as the terminal version. The tonight target is also supported, allowing SkyCanvas to export every currently visible constellation into separate files automatically. Honestly, I had a lot of problems implementing export feature, even though this command might seem like an overkill, I think it is useful is some cases. Bug Fixes & General Polish Fixed issues related to: Export generation SVG formatting CLI argument handling (callback just wasnât working) Duplicate console output Rendering behavior Various smaller bugs across the project What went good The export system integrated surprisingly well with the existing renderer. Since the rendering pipeline was already separated from the CLI logic, adding new output formats was much easier than expected. What was hard The biggest challenge was making exported images look exactly like the terminal version. Keeping the same proportions, colors, and Braille-style rendering outside the console required a lot of âadjustmentsâ. SkyCanvas is now really close to the first public release đ¤ The remaining steps are: Writing full README PyPI preparation Publishing version 0.1.0 Writing files like pyproject.toml and requirements.txt I will update on those steps too!
Devlog #06 The last one Ęâ˘á´Ľâ˘Ę Hey I hope you are all doing amazing! This will be the final development log before SkyCanvas officially ships. The last few steps were focused on preparing the project for release rather than adding new features. I just: finished writing the README created the pyproject.toml polished the documentation, and made sure everything is ready to be published as a proper Python package I also fixed a few remaining bugs and gave the CLI last cleanup before release What went good Everything is finally in place, writing pyproject.toml was kind of muscle memory at this point. The project feels complete and ready for other people to install and use. What was hard Preparing a project for release takes much more work than it seems, although I think the pyproject.toml file is the easy part. Documentation and polishing ended up taking almost as much time as some of the features themselves. Time to upload SkyCanvas to PyPI and ship v0.1.0 đ¤
Ships:
SkyCanvas v0.1.0 is officially released Ęâ˘á´Ľâ˘Ę After some solid time of development, testing, debugging, and polishing, SkyCanvas has finally reached its first release. SkyCanvas is a terminal-based ASCII constellation viewer powered by astronomical data. It allows you to explore constellations directly from your command line, view detailed information about stars and connections, compare different constellations, discover what is visible tonight, animate constellation drawings, and export them into image formats. One of the biggest challenges during development was creating a custom rendering system that could display constellations smoothly inside a terminal while keeping the output readable and visually appealing. I am so so proud that SkyCanvas grew from a simple terminal experiment into a complete application with its own renderer, animations, export pipeline, documentation, PyPI package etc. The project is now available for everyone to try. You can install it using: âpip install skycanvasâ Then run: âskycanvas âhelpâ to explore all available commands. Thank you to everyone who followed the development journey đ¤ Enjoy exploring the night sky directly from your terminal, even though not perfect, it should be enjoyable!...
|
1793249291.6219797
|
1793335691.6219797
|
|
52901
|
Hydrofix by @Habiba_Mohammed | Stardance
|
Habiba_Mohammed
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Hydrofix by @Habiba_Mohammed | Stardance
|
1792730891.333857
|
1793335691.333857
|
|
57918
|
DragonMacroPad by @reaue | Stardance
|
reaue
|
0
|
11.59
|
0
|
[]
|
[{"post_id": 63208, "ts": "202 [{"post_id": 63208, "ts": "2026-09-06T21:44:52Z", "hours": 1.1975, "text": "Devlog 5 - Finishing the firmware and the GitHub repo. Today, I have finished everything before the shipping of my project. I had some issue with QMK due to incompatible version of different tools. But Everything are done well (I hope) now. Letâs ship it !"}, {"post_id": 62946, "ts": "2026-09-06T14:27:04Z", "hours": 1.7833, "text": "Devlog 4 - Finishing the case ! I have finished the case and fixing an issue with my led pin in the pcb. Iâm happy with the design and hope I didnât fail something which I will only realize when during the construction part. Now let set a GitHub and look for the firmware."}, {"post_id": 62537, "ts": "2026-09-05T23:33:45Z", "hours": 1.8167, "text": "Devlog 3 - Creating bottom case. After a lot of time of reflexion and test I finally happy with the bottom case I have created. Now, letâs build the top case."}, {"post_id": 62186, "ts": "2026-09-05T13:31:08Z", "hours": 1.2453, "text": "Devlog 2 - Finishing the pcb. I think I can say I have finish my pcb design. Now letâs try fusion 360."}, {"post_id": 62059, "ts": "2026-09-05T09:12:49Z", "hours": 5.5475, "text": "Devlog 1 - Starting the macro pad. I started with the desire of have 12 switches, 1 rotary encoder and olde display and led. But I can have only 11 pins, so after a night, I found a solution, use a matrix 3*3 with 8 switches and the push button of the rotary encoder. With that I need 11 pins so itâs good. Next I started the PCB in kicad, after one or two hours of trying to optimize the wiring. I lauch the CDR and like you can see on the screenshot I have a lot of problem. I admit I have so much idea how to cerrect them. I see that i can put and ground board and put led on the other side but flipped. I need to try ! If you had any idea Iâm taker."}]...
|
Title: DragonMacroPad by @reaue | Stardance
Devlo Title: DragonMacroPad by @reaue | Stardance
Devlogs:
Devlog 1 - Starting the macro pad. I started with the desire of have 12 switches, 1 rotary encoder and olde display and led. But I can have only 11 pins, so after a night, I found a solution, use a matrix 3*3 with 8 switches and the push button of the rotary encoder. With that I need 11 pins so itâs good. Next I started the PCB in kicad, after one or two hours of trying to optimize the wiring. I lauch the CDR and like you can see on the screenshot I have a lot of problem. I admit I have so much idea how to cerrect them. I see that i can put and ground board and put led on the other side but flipped. I need to try ! If you had any idea Iâm taker.
Devlog 2 - Finishing the pcb. I think I can say I have finish my pcb design. Now letâs try fusion 360.
Devlog 3 - Creating bottom case. After a lot of time of reflexion and test I finally happy with the bottom case I have created. Now, letâs build the top case.
Devlog 4 - Finishing the case ! I have finished the case and fixing an issue with my led pin in the pcb. Iâm happy with the design and hope I didnât fail something which I will only realize when during the construction part. Now let set a GitHub and look for the firmware.
Devlog 5 - Finishing the firmware and the GitHub repo. Today, I have finished everything before the shipping of my project. I had some issue with QMK due to incompatible version of different tools. But Everything are done well (I hope) now. Letâs ship it !...
|
1792730890.1854491
|
1793335690.1854491
|