|
65671
|
KRIX by @1karthikthebest | Stardance
|
1karthikthebest
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: KRIX by @1karthikthebest | Stardance
|
1793703331.755161
|
1794308131.755161
|
|
57236
|
Slack Coding Helper Bot by @svt_demon | Stardance
|
svt_demon
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T08:47:06Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a slack bot which has commands for coding help , showing awailable facts ,getting catfacts and fetching jokes from API’s . I made it using the stardance guide for this mission and by using a little help from chatgpt where the guide was a bit confusing. The hardest part was setting up GitHub and getting the bot hosted up on nest so that it could stay 24/7. To test it , Open Slack and type in /svts-app-help or /svts-app-ask what is a loop?", "repo": "https://github.com/svt-demon/coding-helper-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0C0DU91P4G"}]...
|
[{"post_id": 61387, "ts": "202 [{"post_id": 61387, "ts": "2026-09-04T08:38:49Z", "hours": 0.3153, "text": "Today i finished the project as i recieved permission from nest to make the bot running 24/7. I also added code for the bot to answer basic questions about coding such as questions about loops, variables, functions and syntax errors."}, {"post_id": 60393, "ts": "2026-09-02T18:12:19Z", "hours": 0.8567, "text": "Working on a slack bot , starting simple with the help of the stardance guide and as of now basic slack bot functions are done (the ones given in the guide) and i am on the step waiting fror confirmation from nest for making my bot awailable without for 24 hours"}]...
|
Title: Slack Coding Helper Bot by @svt_demon | Sta Title: Slack Coding Helper Bot by @svt_demon | Stardance
Devlogs:
Working on a slack bot , starting simple with the help of the stardance guide and as of now basic slack bot functions are done (the ones given in the guide) and i am on the step waiting fror confirmation from nest for making my bot awailable without for 24 hours
Today i finished the project as i recieved permission from nest to make the bot running 24/7. I also added code for the bot to answer basic questions about coding such as questions about loops, variables, functions and syntax errors.
Ships:
I made a slack bot which has commands for coding help , showing awailable facts ,getting catfacts and fetching jokes from API’s . I made it using the stardance guide for this mission and by using a little help from chatgpt where the guide was a bit confusing. The hardest part was setting up GitHub and getting the bot hosted up on nest so that it could stay 24/7. To test it , Open Slack and type in /svts-app-help or /svts-app-ask what is a loop?...
|
1793703330.535975
|
1793789730.535975
|
|
54773
|
DMGTile by @Wirenux | Stardance
|
Wirenux
|
2
|
31.0
|
394
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T13:06:36Z", "hours": 16.0, "multiplier": 11.12, "payout": 183, "blessing": "neutral", "text": "DMGTile v2 - GPUI Rewrite This version is a full rewrite of the UI (and some other functionality) with GPUI (the framework that Zed use). I kept every feature from the v1, 128-tile projects, undo/redo, copy/paste/cut, .dmgtile save/load, .bin and .c export, all the drawing tools. And rebuilt the interface from scratch with a pixel-art aesthetic: pixelated corner on every panel, a pixel font, and cached GPU textures for thumbnails and previews. What I added in this version ? Toast notifications for save, export, and error feedback Native macOS menu bar with File / Edit / Help, plus a matching in-window bar on Windows and Linux Real app icon Optimized tile list that only renders visible tiles, so scrolling stays smooth I also added the toast notification (compared to V1) The app is now more macOS compliant, I was able to add the top bar with the classic : File, Edit, View, Help etc… I was also able to put a icon ! What can I do now ? Everything you need to know is in the README.md or in the GitHub Release This might sound like a little update but the rewrite took me around 17 hour so…… thank you for reading ❤️ (I even made a cute little icon :D )", "repo": "https://github.com/wirenux/DMGTile", "demo": "https://github.com/wirenux/DMGTile/releases/"}, {"ship_num": 2, "ts": "2026-09-03T17:16:52Z", "hours": 15.0, "multiplier": 13.92, "payout": 211, "blessing": "neutral", "text": "What is this ? DMGTile is a Gameboy Tile Editor/Designer build in Rust. Basically it’s a drawing program for Gameboy game. Why ( °ヮ° ) ? The idea for this project came from GBTD (Gameboy Tile Designer), who is Windows only and kinda old… So I recreated it from-scratch in Rust, so it can run on Linux, Windows & macOS without Wine (or equivalent). And all of this with the same features as GBTD. Core Features ( ദ്ദി ˙ᗜ˙ ) Editor Pixel Painting: Use the mouse to paint ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ Bucket Fill: A classic flood-fill tool Transform Tools: You can flip, rotate, move the active tile Live Previews: A little 4x4 grid to preview the active tile in a pattern (e.g: a background) Cached Texture Rendering: Tile textures are cached and only rebuilt when a tile is modified Project Management Multi-Tile Support: You can draw up to 128 tiles per project file (you can scroll the list on the right of the screen to change tile) Undo/Redo: Each action is store in a stack, so you are able to undo or redo an action ! Copy/Paste/Cut: Duplicate or move tile data between slots (in the same project) File Format: Each project is saved in .dmgtile (JSON), storing only the modified tiles while preseving the tiles ID Keyboard Shortcut: Full Cmd/Ctrl support for New Project, Open, Save, Undo, Redo, etc… Even the tools have there own shortcut Export .bin Export: Exports all the modified tiles into the Gameboy’s native 2bpp format .c Export: Exports all the modified tiles as a C array, with configurable array name (Can be used with GBDK) Selective export: Only the modified tiles are written out Okay… but how to test it ? There is multiple way to test DMGTile but the easiest is to go to the Github Release and download the program for your OS ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ Then you can launch it and start drawing ! You can also try the export part to a .bin or .c file (you can see the note.md file on github, it’s my personal note when I was building DMGTile) Thank you Just a little thank you ❤️ (Every things you need is probably in the README.md) (I even made a cute little icon :D )", "repo": "https://github.com/wirenux/DMGTile", "demo": "https://github.com/wirenux/DMGTile/releases/"}]...
|
[{"post_id": 71193, "ts": "202 [{"post_id": 71193, "ts": "2026-09-20T12:52:44Z", "hours": 0.9414, "text": "This is the last devlogs for DMGTile. AKA the V2 Release . I modified the README for the GPUI version, made the github release and last minutes fix. Bye bye"}, {"post_id": 71136, "ts": "2026-09-20T10:40:25Z", "hours": 1.6833, "text": "After 1h40 of headache I FINNALY added a menu bar to Linux and Windows . At first I wanted to use gpui-components but there was way to much issue with it so I build my own bar (in the same style as the whole app) I even created a quick Dockerfile to test on my mac the linux build. I also added the export to .c and .bin"}, {"post_id": 71056, "ts": "2026-09-20T07:55:11Z", "hours": 2.5719, "text": "In those 2h30 I’ve done a lot of thing The most of it was optimization with the Tile List Rendering and Caching but I also rearrange all the code (before it’s was just a big main.rs file) And I added Save, Open & New Project and clean a little bit"}, {"post_id": 69769, "ts": "2026-09-17T19:13:56Z", "hours": 1.0592, "text": "This is a short update because I fix some little bug like : Alignment on the tile list (with the number) Not getting the little shortcut sign on macOS And I added: Toast notification style with error color or success color"}, {"post_id": 69206, "ts": "2026-09-16T16:23:50Z", "hours": 1.9942, "text": "In 2 hours I added 2 big thing The Copy/Paste/Cut integration The tool bar Icon for the toolbar The icon was pretty long to make (because i suck at drawing… ) And implementing the tool bar too. Here are some picture of the icon and the toolbar (I use Aseprite btw)"}, {"post_id": 68248, "ts": "2026-09-14T19:31:57Z", "hours": 0.4703, "text": "This is a very very little update I added the same tools as in the EGUI version : Shift (Left, Right, Down, Up) and Rotate (it wasn’t difficult at all)"}, {"post_id": 67439, "ts": "2026-09-13T15:29:02Z", "hours": 5.365, "text": "A Lot of thing happen in 5h20 I create a custom UI with Game Boy related color, custom button, border, font, etc… For now I have the drawing zone, the preview, the tiles list, the shade selector and tools To be more specific I added rounder pixelated shade selector, rounded pixelated border, Undo, Redo, Draw/bucket tools"}, {"post_id": 64110, "ts": "2026-09-08T09:40:33Z", "hours": 0.5522, "text": "Little update : I added the Shade selector and the palette selector, but also the Early GameBoy font ! And I think it look nice"}, {"post_id": 64095, "ts": "2026-09-08T08:51:15Z", "hours": 1.8236, "text": "I just discovered gpui it’s a UI library based on the GPU. It was created by the same team that make Zed (the code editor). And I found out that it very personalizable. So I am rewriting DMGTile in it . So far I have the basic grid and basic tools like the bucket, the pencil, eraser etc… The only problem is that I can’t track the right click drag. (I also got the native macOS toolbar)"}, {"post_id": 60922, "ts": "2026-09-03T16:08:44Z", "hours": 1.1617, "text": "This might be the last devlogs before Ship Nº1 After wayyyy to much time the macOS, Windows and Linux build are ready ! Apple GateKeeper and windows Defender don’t like my application 😭 they both flag as something weird / virus… I also realize that my Linux build wasn’t working so I fix it ! I released v1.0.0 ! I added those warning about Windows Defender and Apple GateKeeper ! I also added the --dev flag to get the dev menu and finished the README.md"}, {"post_id": 59459, "ts": "2026-09-01T10:08:27Z", "hours": 0.6517, "text": "I have been writing the README.md before the release !"}, {"post_id": 59102, "ts": "2026-08-31T18:41:06Z", "hours": 0.9964, "text": "I change a little bit the logo to add a background for the app icon. Now the app run on macOS, Windows & Linux with icon on each one ! The next step is to make the README & a little Manual ! (And of course publish & build the release version for Windows MacOS & Linux !)"}, {"post_id": 59026, "ts": "2026-08-31T16:41:18Z", "hours": 1.2864, "text": "After 40min in Aseprite I am finally happy with a logo (I am so so pround of my self 😤 ). I designed it all by my self . Also I added some “toast” for a better UX."}, {"post_id": 58250, "ts": "2026-08-30T16:45:43Z", "hours": 0.7447, "text": "This is a little update. In this devlogs I just created & tested my Makefile to cross built for Linux, Windows, MacOS from my Mac. And this work !"}, {"post_id": 58187, "ts": "2026-08-30T15:22:18Z", "hours": 2.755, "text": "Wow 2h45 This the devlogs with the most things I added Here is a list of everything I added: A Export window Now allow up to 128 tiles on a single file When you draw somethings in tile 1 and on tile 6 in the .dmgtile file there will save only those 2 with there ID. In the .c file is the same but without there ID so there will just be right after the other (same thing for .bin ) “New project” button, with it you can start a…. NEW PROJECT Keyboard shortcut text in the top menu Keyboard shortcut to use every tool and change shade easily Hover text on every tool (to show the keyboard shortcut) Multiple tile render Move tool bar to the top for better UI Copy, Cut, Paste tile Add more Ctrl+Z utility Big chunk of tile see if it’s look good on repeat Andddd, that it (this was damn hard). You can find every commit on my github."}, {"post_id": 57963, "ts": "2026-08-30T09:27:33Z", "hours": 1.225, "text": "A big feature here I added the export to .dmgtile file (it’s just a JSON but modified ). You can also open it ! I also added the Undo / Redo with CTRL+Z & CTRL+SHIFT+Z (or the same but with CMD on macOS) and also in the Edit menu But for me the biggest feature of this devlogs is the Export menu where you can choose the extension (.bin or .c) and if you choose .c you can modify the array name . I also added the drag when using the bucket 🪣"}, {"post_id": 57596, "ts": "2026-08-29T19:56:50Z", "hours": 1.8133, "text": "A lot of change . I added a top bar to with the option to export the tile in .bin & .c For the top bar I had the idea of using muda but it just a complete mess on macOS and over kill for what I wanted to do so i just use the eframe equivalent I also added icon to replace the old text."}, {"post_id": 56748, "ts": "2026-08-28T17:05:51Z", "hours": 1.0083, "text": "Wow exaclty one hour Now the tile can be exported ! Understanting the Gameboy way to read tile was so hard that I started to write my own docs 💀 . In this devlogs the important part is just to know that now every tile can be exported in a .bin (later I will do a .c/.h like GBTD)"}, {"post_id": 56673, "ts": "2026-08-28T15:07:20Z", "hours": 1.5358, "text": "I added a LOT of thing (i think… ) . I added all the basic tool for pixel art (for the gameboy). Here is a list : Canvas movement (move the pixel art in the canvas), Horizontal and Vertical flip, Rotate 90 clockwise, Pen & Bucket tool. I also added a new RGB palette to get the classic green one and the gray one (I also did fixed some little bug with the UI and the canvas)"}, {"post_id": 55549, "ts": "2026-08-27T14:00:53Z", "hours": 0.7142, "text": "Little update here . I added some new things . I added the color selector ! Also some shade indicator for the left and right mouse button, since in the color selector you can change the color for both. (They even got there own little outline )"}, {"post_id": 55524, "ts": "2026-08-27T13:03:21Z", "hours": 1.2633, "text": "1st devlogs . Right now I added the very basic feature, the grid with draw and erase. You can draw in dark grey with the left click and erase (paint in white) with the right click !"}]...
|
Title: DMGTile by @Wirenux | Stardance
Devlogs:
1 Title: DMGTile by @Wirenux | Stardance
Devlogs:
1st devlogs . Right now I added the very basic feature, the grid with draw and erase. You can draw in dark grey with the left click and erase (paint in white) with the right click !
Little update here . I added some new things . I added the color selector ! Also some shade indicator for the left and right mouse button, since in the color selector you can change the color for both. (They even got there own little outline )
I added a LOT of thing (i think… ) . I added all the basic tool for pixel art (for the gameboy). Here is a list : Canvas movement (move the pixel art in the canvas), Horizontal and Vertical flip, Rotate 90 clockwise, Pen & Bucket tool. I also added a new RGB palette to get the classic green one and the gray one (I also did fixed some little bug with the UI and the canvas)
Wow exaclty one hour Now the tile can be exported ! Understanting the Gameboy way to read tile was so hard that I started to write my own docs 💀 . In this devlogs the important part is just to know that now every tile can be exported in a .bin (later I will do a .c/.h like GBTD)
A lot of change . I added a top bar to with the option to export the tile in .bin & .c For the top bar I had the idea of using muda but it just a complete mess on macOS and over kill for what I wanted to do so i just use the eframe equivalent I also added icon to replace the old text.
A big feature here I added the export to .dmgtile file (it’s just a JSON but modified ). You can also open it ! I also added the Undo / Redo with CTRL+Z & CTRL+SHIFT+Z (or the same but with CMD on macOS) and also in the Edit menu But for me the biggest feature of this devlogs is the Export menu where you can choose the extension (.bin or .c) and if you choose .c you can modify the array name . I also added the drag when using the bucket 🪣
Wow 2h45 This the devlogs with the most things I added Here is a list of everything I added: A Export window Now allow up to 128 tiles on a single file When you draw somethings in tile 1 and on tile 6 in the .dmgtile file there will save only those 2 with there ID. In the .c file is the same but without there ID so there will just be right after the other (same thing for .bin ) “New project” button, with it you can start a…. NEW PROJECT Keyboard shortcut text in the top menu Keyboard shortcut to use every tool and change shade easily Hover text on every tool (to show the keyboard shortcut) Multiple tile render Move tool bar to the top for better UI Copy, Cut, Paste tile Add more Ctrl+Z utility Big chunk of tile see if it’s look good on repeat Andddd, that it (this was damn hard). You can find every commit on my github.
This is a little update. In this devlogs I just created & tested my Makefile to cross built for Linux, Windows, MacOS from my Mac. And this work !
After 40min in Aseprite I am finally happy with a logo (I am so so pround of my self 😤 ). I designed it all by my self . Also I added some “toast” for a better UX.
I change a little bit the logo to add a background for the app icon. Now the app run on macOS, Windows & Linux with icon on each one ! The next step is to make the README & a little Manual ! (And of course publish & build the release version for Windows MacOS & Linux !)
I have been writing the README.md before the release !
This might be the last devlogs before Ship Nº1 After wayyyy to much time the macOS, Windows and Linux build are ready ! Apple GateKeeper and windows Defender don’t like my application 😭 they both flag as something weird / virus… I also realize that my Linux build wasn’t working so I fix it ! I released v1.0.0 ! I added those warning about Windows Defender and Apple GateKeeper ! I also added the --dev flag to get the dev menu and finished the README.md
I just discovered gpui it’s a UI library based on the GPU. It was created by the same team that make Zed (the code editor). And I found out that it very personalizable. So I am rewriting DMGTile in it . So far I have the basic grid and basic tools like the bucket, the pencil, eraser etc… The only problem is that I can’t track the right click drag. (I also got the native macOS toolbar)
Little update : I added the Shade selector and the palette selector, but also the Early GameBoy font ! And I think it look nice
A Lot of thing happen in 5h20 I create a custom UI with Game Boy related color, custom button, border, font, etc… For now I have the drawing zone, the preview, the tiles list, the shade selector and tools To be more specific I added rounder pixelated shade selector, rounded pixelated border, Undo, Redo, Draw/bucket tools
This is a very very little update I added the same tools as in the EGUI version : Shift (Left, Right, Down, Up) and Rotate (it wasn’t difficult at all)
In 2 hours I added 2 big thing The Copy/Paste/Cut integration The tool bar Icon for the toolbar The icon was pretty long to make (because i suck at drawing… ) And implementing the tool bar too. Here are some picture of the icon and the toolbar (I use Aseprite btw)
This is a short update because I fix some little bug like : Alignment on the tile list (with the number) Not getting the little shortcut sign on macOS And I added: Toast notification style with error color or success color
In those 2h30 I’ve done a lot of thing The most of it was optimization with the Tile List Rendering and Caching but I also rearrange all the code (before it’s was just a big main.rs file) And I added Save, Open & New Project and clean a little bit
After 1h40 of headache I FINNALY added a menu bar to Linux and Windows . At first I wanted to use gpui-components but there was way to much issue with it so I build my own bar (in the same style as the whole app) I even created a quick Dockerfile to test on my mac the linux build. I also added the export to .c and .bin
This is the last devlogs for DMGTile. AKA the V2 Release . I modified the README for the GPUI version, made the github release and last minutes fix. Bye bye
Ships:
What is this ? DMGTile is a Gameboy Tile Editor/Designer build in Rust. Basically it’s a drawing program for Gameboy game. Why ( °ヮ° ) ? The idea for this project came from GBTD (Gameboy Tile Designer), who is Windows only and kinda old… So I recreated it from-scratch in Rust, so it can run on Linux, Windows & macOS without Wine (or equivalent). And all of this with the same features as GBTD. Core Features ( ദ്ദി ˙ᗜ˙ ) Editor Pixel Painting: Use the mouse to paint ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ Bucket Fill: A classic flood-fill tool Transform Tools: You can flip, rotate, move the active tile Live Previews: A little 4x4 grid to preview the active tile in a pattern (e.g: a background) Cached Texture Rendering: Tile textures are cached and only rebuilt when a tile is modified Project Management Multi-Tile Support: You can draw up to 128 tiles per project file (you can scroll the list on the right of the screen to change tile) Undo/Redo: Each action is store in a stack, so you are able to undo or redo an action ! Copy/Paste/Cut: Duplicate or move tile data between slots (in the same project) File Format: Each project is saved in .dmgtile (JSON), storing only the modified tiles while preseving the tiles ID Keyboard Shortcut: Full Cmd/Ctrl support for New Project, Open, Save, Undo, Redo, etc… Even the tools have there own shortcut Export .bin Export: Exports all the modified tiles into the Gameboy’s native 2bpp format .c Export: Exports all the modified tiles as a C array, with configurable array name (Can be used with GBDK) Selective export: Only the modified tiles are written out Okay… but how to test it ? There is multiple way to test DMGTile but the easiest is to go to the Github Release and download the program for your OS ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ Then you can launch it and start drawing ! You can also try the export part to a .bin or .c file (you can see the note.md file on github, it’s my personal note when I was building DMGTile) Thank you Just a little thank you ❤️ (Every things you need is probably in the README.md) (I even made a cute little icon :D )
DMGTile v2 - GPUI Rewrite This version is a full rewrite of the UI (and some other functionality) with GPUI (the framework that Zed use). I kept every feature from the v1, 128-tile projects, undo/redo, copy/paste/cut, .dmgtile save/load, .bin and .c export, all the drawing tools. And rebuilt the interface from scratch with a pixel-art aesthetic: pixelated corner on every panel, a pixel font, and cached GPU textures for thumbnails and previews. What I added in this version ? Toast notifications for save, export, and error feedback Native macOS menu bar with File / Edit / Help, plus a matching in-window bar on Windows and Linux Real app icon Optimized tile list that only renders visible tiles, so scrolling stays smooth I also added the toast notification (compared to V1) The app is now more macOS compliant, I was able to add the top bar with the classic : File, Edit, View, Help etc… I was also able to put a icon ! What can I do now ? Everything you need to know is in the README.md or in the GitHub Release This might sound like a little update but the rewrite took me around 17 hour so…… thank you for reading ❤️ (I even made a cute little icon :D )...
|
1793703329.2598403
|
1793789729.2598403
|
|
55890
|
Chai break by @darshyadav | Stardance
|
darshyadav
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-29T17:21:38Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made a game For Chai Lovers. Building the ghrapics was the most difficult part of this facing several issue but atlast i made it according to my need. From this code i was mostly Proud of the Animation. Also This project is a type of warioware game but i built it different by not choosing the Mario type i choose the topic Chai . This Project was made long time ago for Learning but now shiping it as a project", "repo": "https://github.com/DarshPro07/wario-ware-game", "demo": "https://darshpro07.itch.io/chai-break"}]...
|
[{"post_id": 57480, "ts": "202 [{"post_id": 57480, "ts": "2026-08-29T17:13:26Z", "hours": 0.4347, "text": "Game Made For Chai Lover ………."}]...
|
Title: Chai break by @darshyadav | Stardance
Devl Title: Chai break by @darshyadav | Stardance
Devlogs:
Game Made For Chai Lover ……….
Ships:
Made a game For Chai Lovers. Building the ghrapics was the most difficult part of this facing several issue but atlast i made it according to my need. From this code i was mostly Proud of the Animation. Also This project is a type of warioware game but i built it different by not choosing the Mario type i choose the topic Chai . This Project was made long time ago for Learning but now shiping it as a project...
|
1793703328.0632257
|
1793789728.0632257
|
|
65669
|
My very own WebOS by @Zyros | Stardance
|
Zyros
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Zyros | Stardance
|
1793703327.1397824
|
1794308127.1397824
|
|
36944
|
OmniTab by @Ander507 | Stardance
|
Ander507
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-19T12:13:16Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? OmniTab. It’s the new tab I actually want to open — one bar for search, links, and Gemini (/ask / /explain / /fix / /translate), plus speed dial, a scratchpad, weather, a focus list, BBC headlines, and a quote. Short setup the first time, then it just sticks in your browser. What was challenging? Gemini’s free tier. I hard-coded gemini-2.0-flash and kept getting limit: 0 with keys that were fine. Spent a while figuring out you have to list models that still have quota and rotate keys on the server. Also random wallpapers made all the floating text disappear until I put stuff in glass cards. What are you proud of? That the bar doesn’t feel like three apps smashed together. You type, it figures out search vs URL vs AI. Layout settings are nice too — flip widgets on/off and reorder the middle stack without another wizard. What should people know so they can test? Open the demo, click through setup, then just type. Try cats, youtube.com, /ask what’s a mutex. If you want more: /calc 30% of 10, /weather, drag the speed dial around, poke settings. No account — everything’s localStorage. Demo should already have a Gemini key wired up.", "repo": "https://github.com/Ander507/OmniTab", "demo": "https://omni-tab.vercel.app/"}]...
|
[{"post_id": 31186, "ts": "202 [{"post_id": 31186, "ts": "2026-07-19T11:59:47Z", "hours": 2.7197, "text": "Devlog #1 — OmniTab: one bar that does everything Date: July 2026 Project: OmniTab — custom new-tab command center AI disclosure: under 25% . Cursor helped scaffold Vite/Tailwind and wire the Gemini proxy / key rotation. Omni-Bar mode detection, typo redirects, setup wizard, layout prefs, engines, news RSS, calc/easter eggs, and most of the UI/CSS I wrote or heavily edited. No website builder, no “generate whole app” dump. What I wanted A new tab that isn’t just bookmarks + a clock. One input that can: search (pick your engine) open a URL (including my usual typos) talk to Gemini ( /ask , /explain , /fix , /translate ) do quick local stuff ( /calc , /weather , /rickroll , /67 ) Plus the ambient junk I actually look at when I open a tab: weather, focus list, headlines, a quote. What shipped in this chunk Core Omni-Bar with mode detection (search / URL / AI) Engine dropdown + @google cats one-shots Autocomplete suggestions (Google first, DDG fallback) Speed dial (drag reorder, HTML bookmarks import, Ctrl+1–9) Scratchpad side panel (same Gemini endpoint) First-time 5-step setup , later settings as a normal form Ambient / widgets Clock + calendar popup Weather via Open-Meteo Quote + note of the day Focus todos BBC news (World / Tech / Science) via RSS proxy — no news API key Layout menu: toggle widgets, move clock side, reorder the center stack Glass cards so text stays readable on random wallpapers Pain points that ate time Gemini free tier — hardcoded gemini-2.0-flash returned limit: 0 even with valid keys. Fixed by listing models + rotating keys the same way as my old Python tester. Random animal photos — dog.ceo / thecatapi were often tiny/ugly. Switched cats/dogs to Wikimedia Commons HD. Busy backgrounds — floating white text died on forests/sunsets. Had to put header stuff in frosted cards and bump contrast. Stack Vite · React · TypeScript · Tailwind · Gemini (serverless /api/gemini ) · Open-Meteo · BBC RSS Prefs live in localStorage . No accounts."}]...
|
Title: OmniTab by @Ander507 | Stardance
Devlogs:
Title: OmniTab by @Ander507 | Stardance
Devlogs:
Devlog #1 — OmniTab: one bar that does everything Date: July 2026 Project: OmniTab — custom new-tab command center AI disclosure: under 25% . Cursor helped scaffold Vite/Tailwind and wire the Gemini proxy / key rotation. Omni-Bar mode detection, typo redirects, setup wizard, layout prefs, engines, news RSS, calc/easter eggs, and most of the UI/CSS I wrote or heavily edited. No website builder, no “generate whole app” dump. What I wanted A new tab that isn’t just bookmarks + a clock. One input that can: search (pick your engine) open a URL (including my usual typos) talk to Gemini ( /ask , /explain , /fix , /translate ) do quick local stuff ( /calc , /weather , /rickroll , /67 ) Plus the ambient junk I actually look at when I open a tab: weather, focus list, headlines, a quote. What shipped in this chunk Core Omni-Bar with mode detection (search / URL / AI) Engine dropdown + @google cats one-shots Autocomplete suggestions (Google first, DDG fallback) Speed dial (drag reorder, HTML bookmarks import, Ctrl+1–9) Scratchpad side panel (same Gemini endpoint) First-time 5-step setup , later settings as a normal form Ambient / widgets Clock + calendar popup Weather via Open-Meteo Quote + note of the day Focus todos BBC news (World / Tech / Science) via RSS proxy — no news API key Layout menu: toggle widgets, move clock side, reorder the center stack Glass cards so text stays readable on random wallpapers Pain points that ate time Gemini free tier — hardcoded gemini-2.0-flash returned limit: 0 even with valid keys. Fixed by listing models + rotating keys the same way as my old Python tester. Random animal photos — dog.ceo / thecatapi were often tiny/ugly. Switched cats/dogs to Wikimedia Commons HD. Busy backgrounds — floating white text died on forests/sunsets. Had to put header stuff in frosted cards and bump contrast. Stack Vite · React · TypeScript · Tailwind · Gemini (serverless /api/gemini ) · Open-Meteo · BBC RSS Prefs live in localStorage . No accounts.
Ships:
What did you make? OmniTab. It’s the new tab I actually want to open — one bar for search, links, and Gemini (/ask / /explain / /fix / /translate), plus speed dial, a scratchpad, weather, a focus list, BBC headlines, and a quote. Short setup the first time, then it just sticks in your browser. What was challenging? Gemini’s free tier. I hard-coded gemini-2.0-flash and kept getting limit: 0 with keys that were fine. Spent a while figuring out you have to list models that still have quota and rotate keys on the server. Also random wallpapers made all the floating text disappear until I put stuff in glass cards. What are you proud of? That the bar doesn’t feel like three apps smashed together. You type, it figures out search vs URL vs AI. Layout settings are nice too — flip widgets on/off and reorder the middle stack without another wizard. What should people know so they can test? Open the demo, click through setup, then just type. Try cats, youtube.com, /ask what’s a mutex. If you want more: /calc 30% of 10, /weather, drag the speed dial around, poke settings. No account — everything’s localStorage. Demo should already have a Gemini key wired up....
|
1793703325.2791464
|
1793789725.2791464
|
|
25880
|
Volleyball Stat Tracker by @Tr33Fr0g | Stardance
|
Tr33Fr0g
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T08:23:34Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "what did oyu make? what was challenging? What were you proud of? I created a Volleyball stat tracker with access to Highlightly’s API and features to save using JSONs, load, compare player stats, and more. The most challenging part was learning how API’s worked and making somewhat concrete error handling but I was most proud of the design for a terminal/CLI build", "repo": "https://github.com/Tr33Fr0g/Volleyball-stat-tracker", "demo": "https://drive.google.com/file/d/1au2Uadty6pDVEAd1AqAV54dWtlJ-TSQK/view?usp=sharing"}]...
|
[{"post_id": 17467, "ts": "202 [{"post_id": 17467, "ts": "2026-06-28T08:14:29Z", "hours": 1.1633, "text": "Finished the final part added a new player comparison feature that attempts to pull stats from the current session then from saved JSON files if not found, does the math for analytics for both players, and displays a formatted side-by-side table with arrow indicators showing who leads in each category using cool arrows!"}, {"post_id": 16168, "ts": "2026-06-26T08:44:13Z", "hours": 2.5483, "text": "Project Overview Goals and motivation In this project I’m building a menu driven CLI that records a volleyball players performance, calculates analytics like hitting percentage, kill efficiency, and serve efficeincy, and persists stat sheets and JSON files and connects them to a live sports API for professional league to learn basics of GIt and Github, JSON save/load systems, API’s and command-line tools Devlog 1. Building the Stat Recorder Stat categories and input validation My stat tracker now records kills, errors, attempts, aces, digs, blocks, and sets played. The special rule for sets_played is that it cannot be less than 1 since it’s a special stat. Devlog 2. Calculating Volleyball Analytics What this step accomplishes In this next step, I’m building a function to turn regular stats into more readable and relevant volleyball stats Understanding hitting percentage A hitting percentage of .350 means the player is amazing because the formula calculates all players averages and classifies them ex: 20 kills and 50 errors would be a 0.4 hitting percentage 0.400 would be classified as amazing. Devlog 3/4. Saving and Loading Stat Sheets In this step, I’m setting up JSON saving and loading stat sheets so that I can optimally save and load stats for each player. Devlog 5. What this step accomplishes In this step, I’m connecting to the Highlightly API so that I can get live data from professional volleyball teams and league standings. This way I can also learn about API development my code now calls the Highlightly teams endpoint with the header x-rapidapi."}]...
|
Title: Volleyball Stat Tracker by @Tr33Fr0g | Star Title: Volleyball Stat Tracker by @Tr33Fr0g | Stardance
Devlogs:
Project Overview Goals and motivation In this project I’m building a menu driven CLI that records a volleyball players performance, calculates analytics like hitting percentage, kill efficiency, and serve efficeincy, and persists stat sheets and JSON files and connects them to a live sports API for professional league to learn basics of GIt and Github, JSON save/load systems, API’s and command-line tools Devlog 1. Building the Stat Recorder Stat categories and input validation My stat tracker now records kills, errors, attempts, aces, digs, blocks, and sets played. The special rule for sets_played is that it cannot be less than 1 since it’s a special stat. Devlog 2. Calculating Volleyball Analytics What this step accomplishes In this next step, I’m building a function to turn regular stats into more readable and relevant volleyball stats Understanding hitting percentage A hitting percentage of .350 means the player is amazing because the formula calculates all players averages and classifies them ex: 20 kills and 50 errors would be a 0.4 hitting percentage 0.400 would be classified as amazing. Devlog 3/4. Saving and Loading Stat Sheets In this step, I’m setting up JSON saving and loading stat sheets so that I can optimally save and load stats for each player. Devlog 5. What this step accomplishes In this step, I’m connecting to the Highlightly API so that I can get live data from professional volleyball teams and league standings. This way I can also learn about API development my code now calls the Highlightly teams endpoint with the header x-rapidapi.
Finished the final part added a new player comparison feature that attempts to pull stats from the current session then from saved JSON files if not found, does the math for analytics for both players, and displays a formatted side-by-side table with arrow indicators showing who leads in each category using cool arrows!
Ships:
what did oyu make? what was challenging? What were you proud of? I created a Volleyball stat tracker with access to Highlightly’s API and features to save using JSONs, load, compare player stats, and more. The most challenging part was learning how API’s worked and making somewhat concrete error handling but I was most proud of the design for a terminal/CLI build...
|
1793703324.11887
|
1793789724.11887
|
|
65667
|
My first slack bot! by @Rohn | Stardance
|
Rohn
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Rohn | Stardance
|
1793703323.21852
|
1794308123.21852
|
|
18307
|
Nirvanna the Band the Show the Flappy Game by @You Nirvanna the Band the Show the Flappy Game by @YourLocalTransGoth | Stardance...
|
YourLocalTransGoth
|
1
|
2.27
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-14T08:26:36Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a flappy bird clone themed after Nirvanna the Band the Show", "repo": "https://github.com/YourLocalTransGoth/Nirvanna-the-Band-the-Show-the-Flappy-Game", "demo": "https://yourlocaltransgoth.github.io/Nirvanna-the-Band-the-Show-the-Flappy-Game/"}]...
|
[{"post_id": 8970, "ts": "2026 [{"post_id": 8970, "ts": "2026-06-14T22:41:37Z", "hours": 0.2683, "text": "Just cleaned up some things"}, {"post_id": 8577, "ts": "2026-06-14T08:15:54Z", "hours": 0.4169, "text": "Finished the game"}, {"post_id": 8491, "ts": "2026-06-14T03:38:57Z", "hours": 0.8656, "text": "The CN towers and Jay are moving"}, {"post_id": 8458, "ts": "2026-06-14T02:05:48Z", "hours": 0.4303, "text": "Jay is in"}]...
|
Title: Nirvanna the Band the Show the Flappy Game Title: Nirvanna the Band the Show the Flappy Game by @YourLocalTransGoth | Stardance
Devlogs:
Jay is in
The CN towers and Jay are moving
Finished the game
Just cleaned up some things
Ships:
I created a flappy bird clone themed after Nirvanna the Band the Show...
|
1793703320.4029527
|
1793789720.4029527
|
|
5726
|
Kunix Millennium Operating System by @jdj | Starda Kunix Millennium Operating System by @jdj | Stardance...
|
jdj
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-03T06:54:17Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is the first real version of the Kunix Millennium Operating System. It is an operating system built from scratch, for X86_64 processors. It has a shell, and memory management. It boots with the Limine bootloader. It is fully libre under my own custom license. I had worked on it a bit beforehand, but I added some newer features like memory management among other things recently.", "repo": "https://github.com/KlondikeDev/kmos", "demo": "https://www.youtube.com/watch?v=stRZd9a7R0s"}]...
|
[{"post_id": 1305, "ts": "2026 [{"post_id": 1305, "ts": "2026-06-03T06:50:10Z", "hours": 0.2964, "text": "Kunix is going great! We have a shell, and copyright info now! We use our own license now, and we are successfully running on real hardware! Here is a screenshot from QEMU!"}]...
|
Title: Kunix Millennium Operating System by @jdj | Title: Kunix Millennium Operating System by @jdj | Stardance
Devlogs:
Kunix is going great! We have a shell, and copyright info now! We use our own license now, and we are successfully running on real hardware! Here is a screenshot from QEMU!
Ships:
This is the first real version of the Kunix Millennium Operating System. It is an operating system built from scratch, for X86_64 processors. It has a shell, and memory management. It boots with the Limine bootloader. It is fully libre under my own custom license. I had worked on it a bit beforehand, but I added some newer features like memory management among other things recently....
|
1793703318.7579942
|
1793789718.7579942
|
|
65666
|
A file sharing tool for android and windows by @De A file sharing tool for android and windows by @Declan | Stardance...
|
Declan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A file sharing tool for android and windows Title: A file sharing tool for android and windows by @Declan | Stardance...
|
1793703317.8754852
|
1794308117.8754852
|
|
55886
|
My own site! by @Dev_L_K | Stardance
|
Dev_L_K
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-30T23:42:08Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "MY PORTFOLIO I am very happy to complete this project of my own. At first it was a little chalenging was correctly making color combinations for website. Anyone can access the website through https://dev-l-k.github.io/MYPORTFOLIO", "repo": "https://github.com/dev-l-k/MYPORTFOLIO", "demo": "https://dev-l-k.github.io/MYPORTFOLIO"}]...
|
[{"post_id": 58516, "ts": "202 [{"post_id": 58516, "ts": "2026-08-30T23:04:19Z", "hours": 3.8842, "text": "Devlog 1 (My first Devlog) Personal Site , Portfolio (My own Site!) Mentions About My Coding Journey Through Web designing and Python."}]...
|
Title: My own site! by @Dev_L_K | Stardance
Devlo Title: My own site! by @Dev_L_K | Stardance
Devlogs:
Devlog 1 (My first Devlog) Personal Site , Portfolio (My own Site!) Mentions About My Coding Journey Through Web designing and Python.
Ships:
MY PORTFOLIO I am very happy to complete this project of my own. At first it was a little chalenging was correctly making color combinations for website. Anyone can access the website through https://dev-l-k.github.io/MYPORTFOLIO...
|
1793703316.6574183
|
1793789716.6574183
|
|
65664
|
My own site! by @bernardobeneli | Stardance
|
bernardobeneli
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @bernardobeneli | Stardance
|
1793703315.780405
|
1794308115.780405
|
|
65663
|
ATLAS by @KinematicsAk | Stardance
|
KinematicsAk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ATLAS by @KinematicsAk | Stardance
|
1793703314.91082
|
1794308114.91082
|
|
65662
|
My own site! by @Stefanie | Stardance
|
Stefanie
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @Stefanie | Stardance
|
1793703313.9747965
|
1794308113.9747965
|
|
65661
|
My own site! by @yama19hhh | Stardance
|
yama19hhh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @yama19hhh | Stardance
|
1793703313.0914214
|
1794308113.0914214
|
|
17035
|
Ware-on by @Lemion | Stardance
|
Lemion
|
1
|
18.96
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-21T14:26:42Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "After way too long of trying to get basalt to stop crashing (im just stupid, basalt is a perfectly good UI library) I bring to you: warehouse management suite for ComputerCraft. Guides for using its “API” over rednet will be in readme when i get to it. Currently it does basically everything you need a storage system to do: -chuck items from input chest to a storage chest -chuck items from a storage chest to the output chest “Try Project” just leads you to a youtube video of a demo because I can’t get it to work with the copy-cat computer emulator (besides I dont think it supports peripherals anyway).", "repo": "https://github.com/LemionLaLemon/ware-on", "demo": "https://github.com/LemionLaLemon/ware-on/releases"}]...
|
[{"post_id": 25641, "ts": "202 [{"post_id": 25641, "ts": "2026-07-10T01:39:54Z", "hours": 1.965, "text": "Fixed issue #1 (large warehouses take longer than the timeout to index and would fail) No further comments, just, one simple fix so A new release has been pushed to github"}, {"post_id": 13089, "ts": "2026-06-21T12:52:15Z", "hours": 5.5503, "text": "Started and finished the software for the access computers. You can actually request items and have it be shoved into the barrel associated with the computer. And that’s also the last thing to do on this LOOONNGGGG list of stuff."}, {"post_id": 11167, "ts": "2026-06-18T08:03:30Z", "hours": 3.1186, "text": "Finished the ACTUAL server to get stuff from dropoff stations and move it into storage automatically, and when requested from an access station, move items from storage to that access station This is basically all warehouse management has to do anyways"}, {"post_id": 10734, "ts": "2026-06-17T16:49:19Z", "hours": 2.0536, "text": "finished setup program for the warehouse server"}, {"post_id": 7434, "ts": "2026-06-12T11:42:52Z", "hours": 3.7472, "text": "Finished the warehouse editor you can now pick inventories to add to the warehouse assign an inventory a type out of dropoff station, storage, and access station assign a computer to an access station inventory save warehouse assignments to a .ware file (it’s just json)"}, {"post_id": 7291, "ts": "2026-06-12T04:47:56Z", "hours": 2.8306, "text": "Added splash screen UI and the path and inventory pages for New Warehouse the path even has data validation!!!1!11!"}]...
|
Title: Ware-on by @Lemion | Stardance
Devlogs:
Ad Title: Ware-on by @Lemion | Stardance
Devlogs:
Added splash screen UI and the path and inventory pages for New Warehouse the path even has data validation!!!1!11!
Finished the warehouse editor you can now pick inventories to add to the warehouse assign an inventory a type out of dropoff station, storage, and access station assign a computer to an access station inventory save warehouse assignments to a .ware file (it’s just json)
finished setup program for the warehouse server
Finished the ACTUAL server to get stuff from dropoff stations and move it into storage automatically, and when requested from an access station, move items from storage to that access station This is basically all warehouse management has to do anyways
Started and finished the software for the access computers. You can actually request items and have it be shoved into the barrel associated with the computer. And that’s also the last thing to do on this LOOONNGGGG list of stuff.
Fixed issue #1 (large warehouses take longer than the timeout to index and would fail) No further comments, just, one simple fix so A new release has been pushed to github
Ships:
After way too long of trying to get basalt to stop crashing (im just stupid, basalt is a perfectly good UI library) I bring to you: warehouse management suite for ComputerCraft. Guides for using its “API” over rednet will be in readme when i get to it. Currently it does basically everything you need a storage system to do: -chuck items from input chest to a storage chest -chuck items from a storage chest to the output chest “Try Project” just leads you to a youtube video of a demo because I can’t get it to work with the copy-cat computer emulator (besides I dont think it supports peripherals anyway)....
|
1793703311.8774805
|
1793789711.8774805
|
|
32763
|
Zoomie by @jessx | Stardance
|
jessx
|
2
|
3.42
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-21T10:35:35Z", "hours": 1.0, "multiplier": 8.8, "payout": 11, "blessing": "neutral", "text": "Big updates! Notice: I cannot test if this works now. Apple has changed something, and now I cannot run Zoomie for now. I cannot test this release. Please go into it with a grain of salt. I have tried adding a video demo, but I cant upload it to github. The New Web UI I got complaints about the UI, so I tried to make it better! In the video below, you can see a demo of it and how it looks. This, in my opinion, is a step up from the old UI The New Error Notification (while i dont have an example) Errors will now show a banner above your conversation with the error. This is so it won’t just say “AI: System:” with the error. Enter now does something?! Enter now sends the message! Yeah thats pretty much it Note: MacOS 27 is confirmed to work", "repo": "https://github.com/JessIsSilly/zoomie", "demo": "https://github.com/JessIsSilly/zoomie/releases/latest"}, {"ship_num": 2, "ts": "2026-07-09T18:24:35Z", "hours": 1.0, "multiplier": 2.87, "payout": 4, "blessing": "neutral", "text": "I’ve made a Python application to use Apple Foundation Models as an API and web page. While its very basic web wise, I am extremely proud of how it turned out in the end. While afmChat was a side project, Zoomie was entirely created for Stardance. This can’t run as a website due to its reliance on a Mac with support for Apple Intelligence, and the only one I have is a MacBook Neo which is my daily driver. And I’m sorry for the lack of devlogs, i’ve been mostly developing this during short spurts of free time. PLEASE NOTE DURING REVIEW: I am aware of enter doing nothing in entry field, please use the button next to the field thank you ^_^", "repo": "https://github.com/JessIsSilly/zoomie", "demo": "https://github.com/JessIsSilly/zoomie/releases/latest"}]...
|
[{"post_id": 37281, "ts": "202 [{"post_id": 37281, "ts": "2026-07-29T21:27:22Z", "hours": 1.4222, "text": "Important! Next ship will likely be the last ship of Zoomie to stardance! To be completely honest, I’m running out of stuff to add (badly). And I’m getting a bit burned out of it overall. I hope you can understand and (if you use Zoomie) continue using Zoomie Feedback I just wanna say thank you again for feedback given to me about Zoomie. And I just wanted to reply to some of the feedback given to me “i am not in need of such python script” Ok…? Good for you, ig…? Feedback on security I want to say a huge thank you to the person that said this and pointed it out to me. This will hopefully be what the next ship of Zoomie will add, as well as other QOL changes “your ship was unusable” Ok…? This doesn’t help me with how to fix it. Im just going to copy and paste something from one of my older devlogs: If you have errors, please either give me the error and log in the feedback, or as an issue on the github. I cant exactly fix a bug I cant reproduce unless I know where its breaking! “create a short video showing what it can do” I actually do have a video of the version working, however it was too large to upload to github to add into the readme. I’ll upload it here next time I ship just so people not on macs can see how it works. Thanks for pointing this out, it flew over my head lol “Otherwise I like the funny devlog pictures” Thank :3 Other thing Thank you for pointing out enter doesn’t work i’ll fix that :3"}, {"post_id": 31341, "ts": "2026-07-19T17:29:37Z", "hours": 0.7397, "text": "I just wanna say thank you for feedback given to me about Zoomie, but I just want to address some things Errors If you have errors, please either give me the error and log in the reason or as an issue on the github. I cant exactly fix a bug I cant reproduce unless I know where its breaking! “also seems ai coded” I haven’t used Ai at all for developing Zoomie. Agent or not. I dont know where you got this from. I was following a lot of documentation, and I have experience in python and fastapi. This is not on github due to me using it in private projects. If I used AI, i’d clearly say I did Short project time Due to issues with Git I had to swap pycharm projects. This is why there are only 2 total hours. I’ve fixed it now, but just clearing that part up User friendly UI I’m taking that into concideration, and am going to add that for my next ship. Keep in mind, I don’t really know HTML/CSS. Other thing Thank you for pointing out enter doesn’t work i’ll fix that :3"}, {"post_id": 26116, "ts": "2026-07-10T18:25:33Z", "hours": 0.6028, "text": "UPDATE: I have managed to build the app! It is available on GitHub. To download it/go to the release, go to the demo Regarding feedback I cannot at all build the app into an executable. This is due to an issue with a required dependancy failing to function when builded. This is an official apple sdk (apple_fm_sdk). I cannot do anything about this to my knowledge. If you are reviewing my app, PLEASE follow the steps in the readme, and run web.py. This is the best I can do. I’m still looking into if i can build it in any way, but its looking unlikely."}, {"post_id": 25179, "ts": "2026-07-09T07:22:00Z", "hours": 0.6219, "text": "Its mostly ready! The webpage is now being hosted, and can make responses from afmChat and Zoomie. Now all thats needed is some polishing, however i may keep it like this because it just has some charm i think. Later today i’ll make a release and publish it to Github, along with documentation. Ps. Have some bad JS"}, {"post_id": 25165, "ts": "2026-07-09T06:43:00Z", "hours": 0.3367, "text": "A look into afmChat afmChat (Apple Foundation Model Chat) is basically a wrapper for using the apple foundation model python sdk (apple_fm_sdk), and is the backbone of Zoomie, but is fairly simple. If anything could break, it’d probs be this (I needed to attach a screenshot so here have a function :3)"}, {"post_id": 24954, "ts": "2026-07-08T20:44:13Z", "hours": 0.3447, "text": "A small version is ready! Currently its only an API and no web gui, however I plan on adding that. As well as that, I’m soon going to upload it to github! This is something im passionate on, so I hope i’ll finish it!"}]...
|
Title: Zoomie by @jessx | Stardance
Devlogs:
A sm Title: Zoomie by @jessx | Stardance
Devlogs:
A small version is ready! Currently its only an API and no web gui, however I plan on adding that. As well as that, I’m soon going to upload it to github! This is something im passionate on, so I hope i’ll finish it!
A look into afmChat afmChat (Apple Foundation Model Chat) is basically a wrapper for using the apple foundation model python sdk (apple_fm_sdk), and is the backbone of Zoomie, but is fairly simple. If anything could break, it’d probs be this (I needed to attach a screenshot so here have a function :3)
Its mostly ready! The webpage is now being hosted, and can make responses from afmChat and Zoomie. Now all thats needed is some polishing, however i may keep it like this because it just has some charm i think. Later today i’ll make a release and publish it to Github, along with documentation. Ps. Have some bad JS
UPDATE: I have managed to build the app! It is available on GitHub. To download it/go to the release, go to the demo Regarding feedback I cannot at all build the app into an executable. This is due to an issue with a required dependancy failing to function when builded. This is an official apple sdk (apple_fm_sdk). I cannot do anything about this to my knowledge. If you are reviewing my app, PLEASE follow the steps in the readme, and run web.py. This is the best I can do. I’m still looking into if i can build it in any way, but its looking unlikely.
I just wanna say thank you for feedback given to me about Zoomie, but I just want to address some things Errors If you have errors, please either give me the error and log in the reason or as an issue on the github. I cant exactly fix a bug I cant reproduce unless I know where its breaking! “also seems ai coded” I haven’t used Ai at all for developing Zoomie. Agent or not. I dont know where you got this from. I was following a lot of documentation, and I have experience in python and fastapi. This is not on github due to me using it in private projects. If I used AI, i’d clearly say I did Short project time Due to issues with Git I had to swap pycharm projects. This is why there are only 2 total hours. I’ve fixed it now, but just clearing that part up User friendly UI I’m taking that into concideration, and am going to add that for my next ship. Keep in mind, I don’t really know HTML/CSS. Other thing Thank you for pointing out enter doesn’t work i’ll fix that :3
Important! Next ship will likely be the last ship of Zoomie to stardance! To be completely honest, I’m running out of stuff to add (badly). And I’m getting a bit burned out of it overall. I hope you can understand and (if you use Zoomie) continue using Zoomie Feedback I just wanna say thank you again for feedback given to me about Zoomie. And I just wanted to reply to some of the feedback given to me “i am not in need of such python script” Ok…? Good for you, ig…? Feedback on security I want to say a huge thank you to the person that said this and pointed it out to me. This will hopefully be what the next ship of Zoomie will add, as well as other QOL changes “your ship was unusable” Ok…? This doesn’t help me with how to fix it. Im just going to copy and paste something from one of my older devlogs: If you have errors, please either give me the error and log in the feedback, or as an issue on the github. I cant exactly fix a bug I cant reproduce unless I know where its breaking! “create a short video showing what it can do” I actually do have a video of the version working, however it was too large to upload to github to add into the readme. I’ll upload it here next time I ship just so people not on macs can see how it works. Thanks for pointing this out, it flew over my head lol “Otherwise I like the funny devlog pictures” Thank :3 Other thing Thank you for pointing out enter doesn’t work i’ll fix that :3
Ships:
I’ve made a Python application to use Apple Foundation Models as an API and web page. While its very basic web wise, I am extremely proud of how it turned out in the end. While afmChat was a side project, Zoomie was entirely created for Stardance. This can’t run as a website due to its reliance on a Mac with support for Apple Intelligence, and the only one I have is a MacBook Neo which is my daily driver. And I’m sorry for the lack of devlogs, i’ve been mostly developing this during short spurts of free time. PLEASE NOTE DURING REVIEW: I am aware of enter doing nothing in entry field, please use the button next to the field thank you ^_^
Big updates! Notice: I cannot test if this works now. Apple has changed something, and now I cannot run Zoomie for now. I cannot test this release. Please go into it with a grain of salt. I have tried adding a video demo, but I cant upload it to github. The New Web UI I got complaints about the UI, so I tried to make it better! In the video below, you can see a demo of it and how it looks. This, in my opinion, is a step up from the old UI The New Error Notification (while i dont have an example) Errors will now show a banner above your conversation with the error. This is so it won’t just say “AI: System:” with the error. Enter now does something?! Enter now sends the message! Yeah thats pretty much it Note: MacOS 27 is confirmed to work...
|
1793703310.7094052
|
1793789710.7094052
|
|
65658
|
Calculator by @ABX | Stardance
|
ABX
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Calculator by @ABX | Stardance
|
1793703309.83917
|
1794308109.83917
|
|
17392
|
AeroStrike by @aamir_pa2009 | Stardance
|
aamir_pa2009
|
1
|
1.99
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-12T19:49:23Z", "hours": 0.0, "multiplier": 4.97, "payout": 2, "blessing": "neutral", "text": "I made a plane fighter game where you sink enemy NPC cruisers. What was challenging was learning how to integrate all the files into one file to make it run more smoothly and how to host the game. I plan on adding chat to the game and a multiplayer.", "repo": "https://github.com/AamirKPathan/AeroStrike", "demo": "https://aamir-pa2009.itch.io/aerostrike"}]...
|
[{"post_id": 9646, "ts": "2026 [{"post_id": 9646, "ts": "2026-06-16T01:44:06Z", "hours": 0.2581, "text": "Changelog - AeroStrike All notable changes to this project will be documented in this file. [1.2.0] - 2026-06-15 Added Scoring System : Implemented a comprehensive scoring system. +500 points for destroying enemy jets. +2000 points for sinking the enemy cruiser. +100 bonus points for every flare burst conserved at the end of a mission. HUD Updates : Added a real-time score display to the top-left HUD. End Screens : Victory and Game Over screens now display the final score. Disorientation Mechanics : Player : Rapid high-G turns (7 direction changes) now cause a 5-second stall and fire lockout with a “DISORIENTED” HUD warning. Missiles : Incoming missiles can now be disoriented by 4 sharp evasion turns when in close proximity, causing them to lose their lock. Changed Enemy Missile Visuals : Enemy missiles (from both jets and the cruiser) now match the geometry of friendly missiles but are colored red ( 0xff3333 ) for clear identification. Combat Balance : Enemy jets and the cruiser now have a 10-second cooldown between homing missile launches. Friendly carrier defense missiles now deal 0 damage but continue to track and explode on targets for visual atmosphere. Camera System : Refined the follow-camera to be closer and more dynamic, improving visibility and the sense of speed. Enemy AI : Fixed a bug where enemy aircraft were stationary; they now correctly patrol and engage in dogfights. Fixed Enemy Jet Orientation : Corrected the nose orientation of enemy jets so they face forward during flight. Spawn Logic : Adjusted enemy spawn distances and visibility for better engagement flow. Carrier Defense : Restored the carrier’s missile launch logic after it was temporarily removed. [1.1.0] - 2026-06-15 Added Flare System : Added a flare limit of 10 bursts per sortie. HUD Counter : Added a “FLARES” counter to the status panel. Refill Logic : Landing on the carrier now fully replenishes flares along with health and missiles. Fixed Enemy Missile Geometry : Updated enemy projectiles to use proper 3D missile models instead of simple spheres."}, {"post_id": 8821, "ts": "2026-06-14T17:41:00Z", "hours": 1.7283, "text": "Devlog – Major Update to AeroStrike Hey everyone! I just pushed a big update to AeroStrike, and I wanted to share what’s new, what I fixed, and what I learned while improving the project. ✨ What’s New • New Enemy Jets + AI I added simple enemy fighters that chase the player, turn toward you, and fire homing missiles. This helped me learn more about vector math, direction interpolation, and basic pursuit behavior. • Homing Missiles Enemy missiles now track the player smoothly instead of flying straight. They steer using direction lerping and have a warning indicator when they get close. • Flares (Countermeasures) You can now deploy flares to distract incoming missiles. Missiles will retarget flares if they get close enough. • Carrier HP + Bomb Damage The enemy cruiser now has a proper health system. Bombs deal damage, and the cruiser sinks when its HP reaches zero. • Radar System I added a 2D radar that shows: Enemy jets The enemy cruiser This taught me how to convert world coordinates into UI positions. • Landing + Rearming You can land on the carrier to repair and restock bombs. This added a fun gameplay loop and made the mission feel more complete. 🎮 Controls Fixes The Up/Down pitch controls were broken before — they now work properly. Pitching feels smoother and more responsive. 🎨 CSS Overhaul I completely reworked the UI styling: Cleaner HUD Minimal, modern look Consistent color theme Better spacing and readability Subtle glow effects for a “fighter jet” feel This makes the game look more polished and easier to read during gameplay."}, {"post_id": 7648, "ts": "2026-06-12T19:46:44Z", "hours": 0.3775, "text": "Finally Finished my First Game, One Large Leap For Me."}]...
|
Title: AeroStrike by @aamir_pa2009 | Stardance
De Title: AeroStrike by @aamir_pa2009 | Stardance
Devlogs:
Finally Finished my First Game, One Large Leap For Me.
Devlog – Major Update to AeroStrike Hey everyone! I just pushed a big update to AeroStrike, and I wanted to share what’s new, what I fixed, and what I learned while improving the project. ✨ What’s New • New Enemy Jets + AI I added simple enemy fighters that chase the player, turn toward you, and fire homing missiles. This helped me learn more about vector math, direction interpolation, and basic pursuit behavior. • Homing Missiles Enemy missiles now track the player smoothly instead of flying straight. They steer using direction lerping and have a warning indicator when they get close. • Flares (Countermeasures) You can now deploy flares to distract incoming missiles. Missiles will retarget flares if they get close enough. • Carrier HP + Bomb Damage The enemy cruiser now has a proper health system. Bombs deal damage, and the cruiser sinks when its HP reaches zero. • Radar System I added a 2D radar that shows: Enemy jets The enemy cruiser This taught me how to convert world coordinates into UI positions. • Landing + Rearming You can land on the carrier to repair and restock bombs. This added a fun gameplay loop and made the mission feel more complete. 🎮 Controls Fixes The Up/Down pitch controls were broken before — they now work properly. Pitching feels smoother and more responsive. 🎨 CSS Overhaul I completely reworked the UI styling: Cleaner HUD Minimal, modern look Consistent color theme Better spacing and readability Subtle glow effects for a “fighter jet” feel This makes the game look more polished and easier to read during gameplay.
Changelog - AeroStrike All notable changes to this project will be documented in this file. [1.2.0] - 2026-06-15 Added Scoring System : Implemented a comprehensive scoring system. +500 points for destroying enemy jets. +2000 points for sinking the enemy cruiser. +100 bonus points for every flare burst conserved at the end of a mission. HUD Updates : Added a real-time score display to the top-left HUD. End Screens : Victory and Game Over screens now display the final score. Disorientation Mechanics : Player : Rapid high-G turns (7 direction changes) now cause a 5-second stall and fire lockout with a “DISORIENTED” HUD warning. Missiles : Incoming missiles can now be disoriented by 4 sharp evasion turns when in close proximity, causing them to lose their lock. Changed Enemy Missile Visuals : Enemy missiles (from both jets and the cruiser) now match the geometry of friendly missiles but are colored red ( 0xff3333 ) for clear identification. Combat Balance : Enemy jets and the cruiser now have a 10-second cooldown between homing missile launches. Friendly carrier defense missiles now deal 0 damage but continue to track and explode on targets for visual atmosphere. Camera System : Refined the follow-camera to be closer and more dynamic, improving visibility and the sense of speed. Enemy AI : Fixed a bug where enemy aircraft were stationary; they now correctly patrol and engage in dogfights. Fixed Enemy Jet Orientation : Corrected the nose orientation of enemy jets so they face forward during flight. Spawn Logic : Adjusted enemy spawn distances and visibility for better engagement flow. Carrier Defense : Restored the carrier’s missile launch logic after it was temporarily removed. [1.1.0] - 2026-06-15 Added Flare System : Added a flare limit of 10 bursts per sortie. HUD Counter : Added a “FLARES” counter to the status panel. Refill Logic : Landing on the carrier now fully replenishes flares along with health and missiles. Fixed Enemy Missile Geometry : Updated enemy projectiles to use proper 3D missile models instead of simple spheres.
Ships:
I made a plane fighter game where you sink enemy NPC cruisers. What was challenging was learning how to integrate all the files into one file to make it run more smoothly and how to host the game. I plan on adding chat to the game and a multiplayer....
|
1793703308.6885257
|
1793789708.6885257
|
|
65657
|
Hackpad by @arjunarya2509 | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Hackpad by @arjunarya2509 | Stardance
|
1793703307.8201163
|
1794308107.8201163
|
|
55874
|
TidyTab by @arjundakshin | Stardance
|
arjundakshin
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-30T12:57:48Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an aestheticglassmorphism-themedd new tab that shows you the NASA Astronomy Picture of the Day, bookmarks, time, weather, and tasks. It was challenging to set up the API connections with Vite, but after a while I figured it out. I used to use this one extension called Minimal New Tab, and I’m proud that I can also create something like that that looksgoodl", "repo": "https://github.com/DrivingStork3952/tidytab/", "demo": "https://drivingstork3952.github.io/tidytab/"}]...
|
[{"post_id": 57810, "ts": "202 [{"post_id": 57810, "ts": "2026-08-30T03:26:01Z", "hours": 2.0458, "text": "Kind of finished the whole thing… It was super fun though most of it was div, div, div, div, div and it was fun figuring out the api nasa astronomy picture of the day."}]...
|
Title: TidyTab by @arjundakshin | Stardance
Devlo Title: TidyTab by @arjundakshin | Stardance
Devlogs:
Kind of finished the whole thing… It was super fun though most of it was div, div, div, div, div and it was fun figuring out the api nasa astronomy picture of the day.
Ships:
I made an aestheticglassmorphism-themedd new tab that shows you the NASA Astronomy Picture of the Day, bookmarks, time, weather, and tasks. It was challenging to set up the API connections with Vite, but after a while I figured it out. I used to use this one extension called Minimal New Tab, and I’m proud that I can also create something like that that looksgoodl...
|
1793703306.6265512
|
1793789706.6265512
|
|
13340
|
SlackSponse by @SirYanni | Stardance
|
SirYanni
|
1
|
1.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T17:06:54Z", "hours": 1.0, "multiplier": 1.3, "payout": 1, "blessing": "neutral", "text": "I made a simple SlackBot to get startet with JavaScript coding. So far, all it can do are four commands (as seen in the screenshot). It works 24/7 using nest, and im pretty proud of myself, considering its my first ever JavaScript project.", "repo": "https://github.com/siryanni/SlackSponse", "demo": "https://app.slack.com/client/E09V59WQY1E/C0B9FPMTL6P"}]...
|
[{"post_id": 5729, "ts": "2026 [{"post_id": 5729, "ts": "2026-06-09T17:03:53Z", "hours": 0.2581, "text": "I added a few more commands, so see the release note for any questions!"}, {"post_id": 5706, "ts": "2026-06-09T16:32:14Z", "hours": 0.2589, "text": "Just finished uploading to the nest server, now running 24/7! See the Repo (->Readme) for the / Commands."}, {"post_id": 5125, "ts": "2026-06-08T20:16:21Z", "hours": 0.5081, "text": "Got done with the Code and setup, just postet my Nest Request… now we wait I guess. GitHub Repo is online now aswell!"}]...
|
Title: SlackSponse by @SirYanni | Stardance
Devlo Title: SlackSponse by @SirYanni | Stardance
Devlogs:
Got done with the Code and setup, just postet my Nest Request… now we wait I guess. GitHub Repo is online now aswell!
Just finished uploading to the nest server, now running 24/7! See the Repo (->Readme) for the / Commands.
I added a few more commands, so see the release note for any questions!
Ships:
I made a simple SlackBot to get startet with JavaScript coding. So far, all it can do are four commands (as seen in the screenshot). It works 24/7 using nest, and im pretty proud of myself, considering its my first ever JavaScript project....
|
1793703302.223457
|
1793789702.223457
|
|
65655
|
gitguard by @alina_ | Stardance
|
alina_
|
0
|
1.0
|
0
|
[]
|
[{"post_id": 73563, "ts": "202 [{"post_id": 73563, "ts": "2026-09-25T12:18:04Z", "hours": 0.5089, "text": "when i started, agent_manual.py could see that gemini was requesting a tool call, but it couldn’t actually run the tool or send the result back to gemini.also, there was only one tool, so gemini never really had to choose between different tools.gemini’s opinion about risky files was coming back as a normal paragraph of text, so my code couldn’t really use it properly.the rule engine and gemini’s opinion were also living in separate scripts, so there was no way to combine both of their results.and there was no single command that could just give a clear pass or fail result.# Nownow the agent runs a full loop: it calls a tool, gets the real result, sends that result back to gemini, and keeps repeating this until gemini gives a plain answer.i also added a second tool for checking the current branch, so now gemini actually has to pick the right tool depending on what the question is.gemini now responds with structured JSON instead of normal prose , so the flagged files can actually be read by the code as a real list.the rule-based flags and gemini’s flags are now merged together. gemini can only add files to the flagged list, it can never remove a file that the rule engine already flagged.and finally, gitguard.py is now a single command that gives a clear BLOCKED or CLEAR result and also sets a exit code."}, {"post_id": 73529, "ts": "2026-09-25T10:15:41Z", "hours": 0.4958, "text": "so i started gitGuard project and im so excited to build itso i build a function named as get_staged_files() , which uses git status --porcelain to get staged filenames without reading file contents. This is the main privacy feature. then i connected gemini to my codebase using its api, its basically being used to send request to , and dw it wont look at you env secrets it will only get file names , is_sensitive_path() checks individual paths, while scan_staged_files() scans everything staged and returns flagged and safe results without using AI. i will build 2 layers, one is determinisitic layers like it will look at hardcoded rule (its like if this then do this) , and then declare this might be a secret while then this will go to gemini and he will classify it further!"}]...
|
Title: gitguard by @alina_ | Stardance
Devlogs:
s Title: gitguard by @alina_ | Stardance
Devlogs:
so i started gitGuard project and im so excited to build itso i build a function named as get_staged_files() , which uses git status --porcelain to get staged filenames without reading file contents. This is the main privacy feature. then i connected gemini to my codebase using its api, its basically being used to send request to , and dw it wont look at you env secrets it will only get file names , is_sensitive_path() checks individual paths, while scan_staged_files() scans everything staged and returns flagged and safe results without using AI. i will build 2 layers, one is determinisitic layers like it will look at hardcoded rule (its like if this then do this) , and then declare this might be a secret while then this will go to gemini and he will classify it further!
when i started, agent_manual.py could see that gemini was requesting a tool call, but it couldn’t actually run the tool or send the result back to gemini.also, there was only one tool, so gemini never really had to choose between different tools.gemini’s opinion about risky files was coming back as a normal paragraph of text, so my code couldn’t really use it properly.the rule engine and gemini’s opinion were also living in separate scripts, so there was no way to combine both of their results.and there was no single command that could just give a clear pass or fail result.# Nownow the agent runs a full loop: it calls a tool, gets the real result, sends that result back to gemini, and keeps repeating this until gemini gives a plain answer.i also added a second tool for checking the current branch, so now gemini actually has to pick the right tool depending on what the question is.gemini now responds with structured JSON instead of normal prose , so the flagged files can actually be read by the code as a real list.the rule-based flags and gemini’s flags are now merged together. gemini can only add files to the flagged list, it can never remove a file that the rule engine already flagged.and finally, gitguard.py is now a single command that gives a clear BLOCKED or CLEAR result and also sets a exit code....
|
1793703301.3203337
|
1794308101.3203337
|
|
65654
|
My own site! by @mj2184100 | Stardance
|
mj2184100
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @mj2184100 | Stardance
|
1793703300.4416351
|
1794308100.4416351
|
|
31969
|
Personal Cloudly Site by @madzia | Stardance
|
madzia
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-03T18:33:03Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a personal website that’s cloud-themed! The Biggest Challenge - I made the cloud background in paint3D and then I needed to adjust the position of my divs, so they fit the clouds perfectly. I needed to change it several times! First, because I’ve been writing too much (needed to expand the width and height and therefore change the position). Then, I needed to change it after I’ve added animation that causes the scale from 1 to 1.2, which was too big and the elements were excessing the site. Then I needed to change it, because after I deployed my site I realised that my browser was on 108% zoom. It was a lot of work! It was really creative process and I really enjoyed it! I knew right away that the cloud idea was the one, I just didn’t know how to implement it. By hours of thinking this are the final results! There are 5 sections: About me (fav movies, music and my passions) Projects (zooniverse and nasa stardance) Astro-aero corner (astronomy and aviation) F1 corner (and a bit of LeMans) Sports corner (equestrian, skiing, snowboarding) You can also find a plane that’s flyyying around this site! Hope you’ll enjoy it!", "repo": "https://github.com/Maaadzia/Personal-Cloudly-Site", "demo": "https://maaadzia.github.io/Personal-Cloudly-Site/"}]...
|
[{"post_id": 40216, "ts": "202 [{"post_id": 40216, "ts": "2026-08-03T16:58:35Z", "hours": 3.2319, "text": "Personal Cloudly Site Devlog #3 Final devlog ayyyyyyyy It was so fun to create!! What’s new? 1. I writed a lot about things I love! I tought it would be the easiest task, but I wrote so much that I had to get creative to fit it all in these clouds! I swear I changed the width and height of these elements several times. But it’s all done now and I think that I wrote about everything I wanted! 2. Changed the background I added some smaller clouds and some fluffiness to the big clouds. In my opinion it looks way better now! 3. Photos! In section about F1, Sports and astro-aero you can scroll through some meaningful photos for me. I think it looks so cool and is such a great idea! 4. Added plane that’s flying around the site (I’m sitting in the cockpit) So, what you wil find here? There are 5 sections: About me (fav movies, music and my passions) Projects (zooniverse and nasa stardance) Astro-aero corner (astronomy and aviation) F1 corner (and a bit of LeMans) Sports corner (equestrian, skiing, snowboarding) Project Summary It was really nice journey to build this! To be honest with the process I got to know my self again and look at how precious my life is. I’m so gratefull for it and I think that it’s such a nice souvenir! I even look forward to come back here few years later What’s next? I’m going to write readme and ship! Then, I’ll get back to my webOS project. Thanks for being with me on this small journey!"}, {"post_id": 38933, "ts": "2026-08-01T15:23:52Z", "hours": 1.9292, "text": "Personal Cloudly Site devlog #2 Changed my mind!! I decided that much better idea is to make several clouds, each for one section! Besides, I changed the font and adjusted these divs so they fit the clouds. Now I’m going to design them in (I hope) cool way and add some photos. The most creative part just begun!"}, {"post_id": 38813, "ts": "2026-08-01T11:40:25Z", "hours": 0.845, "text": "Cloudly Site Devlog #1 Welcome to my cloudly site! I’m building another site with the “Personal Site” mission! It’s going to be cloud-themed because I love clouds! I wish I could flyyy What I’ve already made? I added some text and then, I wanted to make an cloud div. I was thinking a lot on how I can do this. Finally, I decided to work smarter and not harder. I took a screenshoot of my site, added it to paint and just painted cloud around my div. The div was too big and I needed to restart the whole proces few times. When my cloud looked great, I saved the image and added it to my site as the background. Then I just needed to adjust the div so it will extend to the entire surface area of the cloud. Next, I’m going to add more text and style this site a little more. Can’t waitt!!!"}]...
|
Title: Personal Cloudly Site by @madzia | Stardanc Title: Personal Cloudly Site by @madzia | Stardance
Devlogs:
Cloudly Site Devlog #1 Welcome to my cloudly site! I’m building another site with the “Personal Site” mission! It’s going to be cloud-themed because I love clouds! I wish I could flyyy What I’ve already made? I added some text and then, I wanted to make an cloud div. I was thinking a lot on how I can do this. Finally, I decided to work smarter and not harder. I took a screenshoot of my site, added it to paint and just painted cloud around my div. The div was too big and I needed to restart the whole proces few times. When my cloud looked great, I saved the image and added it to my site as the background. Then I just needed to adjust the div so it will extend to the entire surface area of the cloud. Next, I’m going to add more text and style this site a little more. Can’t waitt!!!
Personal Cloudly Site devlog #2 Changed my mind!! I decided that much better idea is to make several clouds, each for one section! Besides, I changed the font and adjusted these divs so they fit the clouds. Now I’m going to design them in (I hope) cool way and add some photos. The most creative part just begun!
Personal Cloudly Site Devlog #3 Final devlog ayyyyyyyy It was so fun to create!! What’s new? 1. I writed a lot about things I love! I tought it would be the easiest task, but I wrote so much that I had to get creative to fit it all in these clouds! I swear I changed the width and height of these elements several times. But it’s all done now and I think that I wrote about everything I wanted! 2. Changed the background I added some smaller clouds and some fluffiness to the big clouds. In my opinion it looks way better now! 3. Photos! In section about F1, Sports and astro-aero you can scroll through some meaningful photos for me. I think it looks so cool and is such a great idea! 4. Added plane that’s flying around the site (I’m sitting in the cockpit) So, what you wil find here? There are 5 sections: About me (fav movies, music and my passions) Projects (zooniverse and nasa stardance) Astro-aero corner (astronomy and aviation) F1 corner (and a bit of LeMans) Sports corner (equestrian, skiing, snowboarding) Project Summary It was really nice journey to build this! To be honest with the process I got to know my self again and look at how precious my life is. I’m so gratefull for it and I think that it’s such a nice souvenir! I even look forward to come back here few years later What’s next? I’m going to write readme and ship! Then, I’ll get back to my webOS project. Thanks for being with me on this small journey!
Ships:
I made a personal website that’s cloud-themed! The Biggest Challenge - I made the cloud background in paint3D and then I needed to adjust the position of my divs, so they fit the clouds perfectly. I needed to change it several times! First, because I’ve been writing too much (needed to expand the width and height and therefore change the position). Then, I needed to change it after I’ve added animation that causes the scale from 1 to 1.2, which was too big and the elements were excessing the site. Then I needed to change it, because after I deployed my site I realised that my browser was on 108% zoom. It was a lot of work! It was really creative process and I really enjoyed it! I knew right away that the cloud idea was the one, I just didn’t know how to implement it. By hours of thinking this are the final results! There are 5 sections: About me (fav movies, music and my passions) Projects (zooniverse and nasa stardance) Astro-aero corner (astronomy and aviation) F1 corner (and a bit of LeMans) Sports corner (equestrian, skiing, snowboarding) You can also find a plane that’s flyyying around this site! Hope you’ll enjoy it!...
|
1793703299.2626789
|
1793789699.2626789
|
|
57202
|
MY OWN WEBSIDE by @Slear69_githud | Stardance
|
Slear69_githud
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T21:44:44Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is the finished version of the website witch is about me :)", "repo": "https://github.com/slear69/webpersinal", "demo": "https://personal-website-kappa-blond-77.vercel.app/"}]...
|
[{"post_id": 61125, "ts": "202 [{"post_id": 61125, "ts": "2026-09-03T21:28:48Z", "hours": 4.1586, "text": "THE WEBSIDE IS DONE - so this is the front page and yep there are 4 options about account and projects and like that it :)"}]...
|
Title: MY OWN WEBSIDE by @Slear69_githud | Stardan Title: MY OWN WEBSIDE by @Slear69_githud | Stardance
Devlogs:
THE WEBSIDE IS DONE - so this is the front page and yep there are 4 options about account and projects and like that it :)
Ships:
this is the finished version of the website witch is about me :)...
|
1793703298.0542662
|
1793789698.0542662
|
|
65653
|
BLARE by @akankshaazm20 | Stardance
|
akankshaazm20
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @akankshaazm20 | Stardance
|
1793703297.15066
|
1794308097.15066
|
|
55860
|
anugamya's web os by @anugamyapanwar | Stardan anugamya's web os by @anugamyapanwar | Stardance...
|
anugamyapanwar
|
1
|
0.64
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-29T18:53:12Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "it i s a basic webpage that is mixture of windows and mac os and also iot has soem features like focus mmode and also i have intergrated different encoders and decoders like for base 64 and also other features for people who do crypt.", "repo": "https://github.com/AP-boi/flowOS", "demo": "https://flowosv1.vercel.app/"}]...
|
[{"post_id": 58811, "ts": "202 [{"post_id": 58811, "ts": "2026-08-31T12:08:19Z", "hours": 0.6411, "text": "re did everything and now i am thinking of leaving this project as it is but ill try to do the changes as requireed"}, {"post_id": 58349, "ts": "2026-08-30T18:53:08Z", "hours": 0.0, "text": "so this is the final thing so ill just add restart adn shutdown adn the os i s ready to ship ig T_T"}, {"post_id": 58307, "ts": "2026-08-30T17:59:57Z", "hours": 0.0, "text": "working on it nothing was working but got back on and tryingto fix everyhting"}, {"post_id": 57688, "ts": "2026-08-29T22:38:03Z", "hours": 0.0, "text": "so ig this is my final project"}, {"post_id": 57618, "ts": "2026-08-29T20:32:49Z", "hours": 0.0, "text": "soi now i added cypher valut so that we can use it for decihering cipherted texts and also i made a code tester and its working and also added a good theme for cypher and hacker mode."}, {"post_id": 57554, "ts": "2026-08-29T18:49:54Z", "hours": 0.0, "text": "i am adding some new featuers nopt finished yet but will ship it in a few minutes btw glm 5.3 is good"}, {"post_id": 57493, "ts": "2026-08-29T17:32:23Z", "hours": 0.0, "text": "added light theme mode and also aded focus mode like we can set a goal and tghen we study or do something else and also i am thinking of useing other lanugages other than htm; cause i have reached the limit of what i can do using html………"}, {"post_id": 57441, "ts": "2026-08-29T16:22:07Z", "hours": 0.0, "text": "so this is my web based os this is fully based on html as of now so its functionality is avg its like a miture of windows and mac os"}]...
|
Title: anugamya's web os by @anugamyapanwar | Title: anugamya's web os by @anugamyapanwar | Stardance
Devlogs:
so this is my web based os this is fully based on html as of now so its functionality is avg its like a miture of windows and mac os
added light theme mode and also aded focus mode like we can set a goal and tghen we study or do something else and also i am thinking of useing other lanugages other than htm; cause i have reached the limit of what i can do using html………
i am adding some new featuers nopt finished yet but will ship it in a few minutes btw glm 5.3 is good
soi now i added cypher valut so that we can use it for decihering cipherted texts and also i made a code tester and its working and also added a good theme for cypher and hacker mode.
so ig this is my final project
working on it nothing was working but got back on and tryingto fix everyhting
so this is the final thing so ill just add restart adn shutdown adn the os i s ready to ship ig T_T
re did everything and now i am thinking of leaving this project as it is but ill try to do the changes as requireed
Ships:
it i s a basic webpage that is mixture of windows and mac os and also iot has soem features like focus mmode and also i have intergrated different encoders and decoders like for base 64 and also other features for people who do crypt....
|
1793703295.9755828
|
1793789695.9755828
|
|
65652
|
Smart Camera Trash Sorting Robot System by @saksha Smart Camera Trash Sorting Robot System by @sakshamgupta3512 | Stardance...
|
sakshamgupta3512
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Smart Camera Trash Sorting Robot System by Title: Smart Camera Trash Sorting Robot System by @sakshamgupta3512 | Stardance...
|
1793703295.0734813
|
1794308095.0734813
|
|
9748
|
My first slack bot! by @yassinbs | Stardance
|
yassinbs
|
1
|
0.29
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-06T15:28:35Z", "hours": 0.0, "multiplier": 2.57, "payout": 1, "blessing": "neutral", "text": "I built a custom Slack bot called Helloking Bot using Node.js, Slack Bolt, and Socket Mode. The bot includes several slash commands such as /helloking, /helloking-joke, /helloking-catfact, /helloking-quote, /helloking-roll, and /helloking-coinflip. The most challenging part was deploying the bot so it would stay online 24/7 and configuring it to run on a remote server. I also had to learn how to work with GitHub, environment variables, Linux commands, and systemd services. I’m most proud of organizing the project into multiple command files instead of putting everything in one file. This made the code cleaner, easier to read, and easier to maintain as I added more features. ChatGPT helped teach me the basics of Slack bot development and suggested using a modular file structure, which improved the overall quality of the project. To test the bot, use any of the following slash commands in Slack: /helloking /helloking-joke /helloking-catfact /helloking-quote /helloking-roll /helloking-coinflip The bot is deployed on a Nest VM and runs 24/7, even when my laptop is turned off.", "repo": "https://github.com/guccmanegu-eng/slack-bothelloking", "demo": "https://hackclub.enterprise.slack.com/archives/C0B8Q9N50T0"}]...
|
[{"post_id": 4108, "ts": "2026 [{"post_id": 4108, "ts": "2026-06-07T09:34:57Z", "hours": 0.2853, "text": "Added 2 more commands, advice and dogfact. Also fixed the project test link, as it was app.slack.com, now turned it into a testing channel link."}, {"post_id": 3494, "ts": "2026-06-06T13:38:06Z", "hours": 0.31, "text": "Trying to make a Slack bot, without useless functions, but with very handy functions."}]...
|
Title: My first slack bot! by @yassinbs | Stardanc Title: My first slack bot! by @yassinbs | Stardance
Devlogs:
Trying to make a Slack bot, without useless functions, but with very handy functions.
Added 2 more commands, advice and dogfact. Also fixed the project test link, as it was app.slack.com, now turned it into a testing channel link.
Ships:
I built a custom Slack bot called Helloking Bot using Node.js, Slack Bolt, and Socket Mode. The bot includes several slash commands such as /helloking, /helloking-joke, /helloking-catfact, /helloking-quote, /helloking-roll, and /helloking-coinflip. The most challenging part was deploying the bot so it would stay online 24/7 and configuring it to run on a remote server. I also had to learn how to work with GitHub, environment variables, Linux commands, and systemd services. I’m most proud of organizing the project into multiple command files instead of putting everything in one file. This made the code cleaner, easier to read, and easier to maintain as I added more features. ChatGPT helped teach me the basics of Slack bot development and suggested using a modular file structure, which improved the overall quality of the project. To test the bot, use any of the following slash commands in Slack: /helloking /helloking-joke /helloking-catfact /helloking-quote /helloking-roll /helloking-coinflip The bot is deployed on a Nest VM and runs 24/7, even when my laptop is turned off....
|
1793703293.8658772
|
1793789693.8658772
|
|
65651
|
Handcontroller by @bhaveshkalotra11910 | Stardance
|
bhaveshkalotra11910
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Handcontroller by @bhaveshkalotra11910 | St Title: Handcontroller by @bhaveshkalotra11910 | Stardance...
|
1793703292.9515984
|
1794308092.9515984
|
|
26137
|
Obsidian Lang by @Drake | Stardance
|
Drake
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T23:06:37Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? Obsidian Lang, a toy programming language I built from scratch in C++ that compiles down to x86-64 NASM assembly for Windows. It’s got a tokenizer, a two-pass interpreter, and codegen for functions, arithmetic, print, return, const, and func. What was challenging? Getting the codegen right was brutal, lots of cascading bugs and token indexing errors that would silently break everything downstream. Debugging assembly output when the bug is actually three layers up in the tokenizer is a special kind of pain. #What are you proud of? That it actually compiles and runs real programs now. Going from “I want to understand how compilers work” to a working toolchain that spits out real assembly is the whole reason I started this. #What should people know so they can test your project? Windows only for now (uses Windows direct API assembly, so no Linux/Mac support yet sorry Stardance folks on other OSes!). You’ll need NASM, G++/MinGW-w64, and CMake installed first grab the release and follow the README setup steps.", "repo": "https://github.com/veefs/obsidian-lang", "demo": "https://github.com/veefs/obsidian-lang/releases/tag/obsidian-compiler"}]...
|
[{"post_id": 22469, "ts": "202 [{"post_id": 22469, "ts": "2026-07-04T22:59:25Z", "hours": 0.3458, "text": "Obsidian Release! 🎉 I have finally finished coding the first release of Obsidian! To install it, head over to the Releases tab I tried to make the setup process as simple as possible. If you run into any trouble, please leave a comment or open an issue and I’ll help you out! Getting Started Go to the Releases page Download the latest release for your platform Follow the setup instructions included with the release Make sure you have the dependencies installed (NASM, G++/MinGW-w64, CMake) see the README for install steps Found a bug? This is the first release, so there will absolutely be rough edges please open an issue with: What you were trying to do What happened instead Your OS / setup Thanks for checking out Obsidian Lang, and happy coding!"}, {"post_id": 20381, "ts": "2026-07-01T23:23:52Z", "hours": 1.7547, "text": "Yet Another Obsidian Devlog going to keep this one short and sweet because I honestly didn’t add much, butt his is what I added: print \"lambda functions and function calls now work!\" func test() -> int {2 + 2}; return test(); Lambda Functions & Function Calls Lambda Functions fully working for addition and subtraction, still can’t put in multiple inputs, but you know what that’s fine. You can now officially use function calls they work and it’s great, took a lot of coding / logic but it works! Assembly Code For Example: global obsidian_program extern GetStdHandle extern WriteConsoleA extern ExitProcess section .text test: mov eax, 2 mov ebx, 2 add eax, ebx ret obsidian_program: sub rsp, 40 mov ecx, -11 call GetStdHandle mov rcx, rax lea rdx, [rel str0] mov r8d, 47 lea r9, [rel written] mov qword [rsp+32], 0 call WriteConsoleA add rsp, 40 call test mov ecx, eax sub rsp, 40 call ExitProcess section .bss written resd 1 section .data str0 db \"lambda functions and function calls now work!\", 13, 10"}, {"post_id": 20286, "ts": "2026-07-01T20:51:58Z", "hours": 1.7208, "text": "Obsidian v1 updates Devlog What’s new? Finally got basic lambda style return functions working. Right now these both compile all the way through the tokenizer, IR, NASM generation, and actually run correctly: func test() -> int {2 + 2}; func anothertest() -> int {2 - 2}; test currently spits out: mov eax, 2 mov ebx, 2 add eax, ebx ret So the entire pipeline is finally working end to end. Syntax change I ended up changing the function syntax halfway through development. Originally it looked like this: func test() -> { 2 + 2 } The problem is -> was basically trying to do two different jobs at once. It was acting like “here comes the function body” instead of what it should actually mean: “here comes the return type.” That would’ve forced the parser to guess whether the next token was a type or the start of a block, which is just unnecessary pain when the fix is simple. Now it’s: func name() -> type { body } Way cleaner, no ambiguity, and honestly it reads a lot better too. Under the hood Parentheses are now their own tokens (_OPEN_PAREN / _CLOSE_PAREN) instead of getting lumped together with braces. Expressions are currently evaluated by folding left-to-right through (operator, operand) pairs. +, -, *, and / all work with integer literals. One limitation right now is there’s no operator precedence yet. So: 2 + 3 * 4 currently evaluates as: ((2 + 3) * 4) = 20 instead of: 2 + (3 * 4) = 14 Not really a bug, just something I haven’t implemented yet. The real fix is building an expression tree instead of another parser hack. Right now everything also assumes the operands are integer literals. Variables aren’t hooked into expression evaluation yet, so identifiers basically don’t work inside expressions. Function bodies are also limited to a single expression for now no multiple statements or nested expressions yet. Next up Proper operator precedence (expression trees) Variables inside expressions Multi-statement function bodies Saving/restoring non-volatile registers once functions start calling other functions. Right now I’m using ebx as a scratch register, which is perfectly fine for leaf functions but won’t fly forever once function calls exist."}, {"post_id": 19761, "ts": "2026-07-01T04:34:42Z", "hours": 1.0067, "text": "Obsidian Lang v1 Dev Log (this is a progress update, not a release announcement) What is Obsidian Lang? Obsidian Lang is a programming language I’m building from scratch. The primary goal isn’t the language itself, it’s mastering parsing, interpretation, and assembly generation. So far the project has forced me to get much more comfortable with C++ and x86-64 assembly, which has been the real payoff. The problem Most languages marketed as “beginner friendly” fall into one of two traps. Some oversimplify to the point of being a dead end (Scratch). Others let you write things that work today but teach habits that fall apart later (Python). Obsidian Lang is my attempt at something different: a language designed so that it effectively cannot crash. Whatever the input, even malformed input, the program keeps running. How that’s implemented The interpreter is built to absorb mistakes rather than halt on them. Errors get logged, execution continues, and the user still gets a running program out the other end. Architecture The pipeline is two passes: Tokenize. Raw source text is scanned character by character into a flat token stream ( Tokens.h / Tokenize.cpp ). Keywords ( return , print , let , const , func , int ), operators ( + - * / = -> ), literals, and identifiers are all recognized here. Interpret. The token stream is walked once to build an intermediate representation, a flat list of Line structs, each tagged with a category ( Create , Header , Info , Program , Section , Function ), a label, and the emitted text. That IR is then walked a second time in a fixed order defined in docs/archecture.md to produce the final NASM x64 output: global directive, extern headers, .text section, function bodies, the obsidian_program entry point, program body, .bss , .data , and .rdata , in that order. Currently supported: print \"string\" compiles down to a direct Win32 WriteConsoleA call, with the string byte count computed at compile time (including the CRLF). return <int> maps to ExitProcess . Since there’s no branching yet, whichever return is lexically last in the source is the one that determines the actual exit code, the exit sequence itself is always emitted once, at the very end, so later print calls can’t clobber ecx before the process actually exits. const <type> <name> = <value> allocates a .rdata entry. func <name> -> <int> emits a minimal function body with a mov / ret sequence. Operators ( + - * / ), let bindings, and full function bodies are tokenized already but not yet wired into codegen, that’s the next chunk of work. Why this approach Keeping the IR as one flat, tagged struct instead of a proper AST was a deliberate simplification for v1. It made the two-pass emit order easy to reason about and easy to debug (the interpreter dumps every function name and variable name it collected at the end of a run). It won’t scale forever, but for getting a first working pipeline from source text to a runnable Windows executable, it did the job."}, {"post_id": 19598, "ts": "2026-06-30T23:06:00Z", "hours": 1.7792, "text": "Obsidian Lang – Added functions defined with func <name>(params) I also added a return opperater that kinda mimics a lambda function the token is called _RET_OP same function called but instead you do func<name>(params) -> <return_code>"}, {"post_id": 19000, "ts": "2026-06-30T05:06:37Z", "hours": 1.35, "text": "Obsidian Lang - Fully dynamic coding language written in c++ & assembly. I have added a couple more tokens, but the thing I want to focus on in this dev post is the variable scopes. I know have a let and a const variable scope that allow me to do different things. According to my design const will be mutable. More progress soon"}, {"post_id": 16379, "ts": "2026-06-26T17:35:26Z", "hours": 2.2769, "text": "Obsidian Lang Devlog v2 You can now print hello world! Yes you heard that right with our proprietary enterprise insane level 9000 code by typing print \"hello world\"; it prints hello world!. This is a huge step because to even get here and be able to use print multiple times etc. there’s a whole sorting algorithm I had to make for my interrupter to sort and build the correct assembly code dynamically. More information here: https://github.com/veefs/obsidian-lang/blob/main/docs/archecture.md"}, {"post_id": 16058, "ts": "2026-06-26T02:53:53Z", "hours": 2.0361, "text": "Obsidian Lang v1 - Got the basic assembly code conversation working for my programming language, dealing with a lot of annoying logic stuff related to the assembly code generation, but other than that this is an incredibly fun project already to work on I can’t want to sink in many hours. Obsidian Lang will hopefully be a capable little toy language"}]...
|
Title: Obsidian Lang by @Drake | Stardance
Devlog Title: Obsidian Lang by @Drake | Stardance
Devlogs:
Obsidian Lang v1 - Got the basic assembly code conversation working for my programming language, dealing with a lot of annoying logic stuff related to the assembly code generation, but other than that this is an incredibly fun project already to work on I can’t want to sink in many hours. Obsidian Lang will hopefully be a capable little toy language
Obsidian Lang Devlog v2 You can now print hello world! Yes you heard that right with our proprietary enterprise insane level 9000 code by typing print "hello world"; it prints hello world!. This is a huge step because to even get here and be able to use print multiple times etc. there’s a whole sorting algorithm I had to make for my interrupter to sort and build the correct assembly code dynamically. More information here: https://github.com/veefs/obsidian-lang/blob/main/docs/archecture.md
Obsidian Lang - Fully dynamic coding language written in c++ & assembly. I have added a couple more tokens, but the thing I want to focus on in this dev post is the variable scopes. I know have a let and a const variable scope that allow me to do different things. According to my design const will be mutable. More progress soon
Obsidian Lang – Added functions defined with func <name>(params) I also added a return opperater that kinda mimics a lambda function the token is called _RET_OP same function called but instead you do func<name>(params) -> <return_code>
Obsidian Lang v1 Dev Log (this is a progress update, not a release announcement) What is Obsidian Lang? Obsidian Lang is a programming language I’m building from scratch. The primary goal isn’t the language itself, it’s mastering parsing, interpretation, and assembly generation. So far the project has forced me to get much more comfortable with C++ and x86-64 assembly, which has been the real payoff. The problem Most languages marketed as “beginner friendly” fall into one of two traps. Some oversimplify to the point of being a dead end (Scratch). Others let you write things that work today but teach habits that fall apart later (Python). Obsidian Lang is my attempt at something different: a language designed so that it effectively cannot crash. Whatever the input, even malformed input, the program keeps running. How that’s implemented The interpreter is built to absorb mistakes rather than halt on them. Errors get logged, execution continues, and the user still gets a running program out the other end. Architecture The pipeline is two passes: Tokenize. Raw source text is scanned character by character into a flat token stream ( Tokens.h / Tokenize.cpp ). Keywords ( return , print , let , const , func , int ), operators ( + - * / = -> ), literals, and identifiers are all recognized here. Interpret. The token stream is walked once to build an intermediate representation, a flat list of Line structs, each tagged with a category ( Create , Header , Info , Program , Section , Function ), a label, and the emitted text. That IR is then walked a second time in a fixed order defined in docs/archecture.md to produce the final NASM x64 output: global directive, extern headers, .text section, function bodies, the obsidian_program entry point, program body, .bss , .data , and .rdata , in that order. Currently supported: print "string" compiles down to a direct Win32 WriteConsoleA call, with the string byte count computed at compile time (including the CRLF). return <int> maps to ExitProcess . Since there’s no branching yet, whichever return is lexically last in the source is the one that determines the actual exit code, the exit sequence itself is always emitted once, at the very end, so later print calls can’t clobber ecx before the process actually exits. const <type> <name> = <value> allocates a .rdata entry. func <name> -> <int> emits a minimal function body with a mov / ret sequence. Operators ( + - * / ), let bindings, and full function bodies are tokenized already but not yet wired into codegen, that’s the next chunk of work. Why this approach Keeping the IR as one flat, tagged struct instead of a proper AST was a deliberate simplification for v1. It made the two-pass emit order easy to reason about and easy to debug (the interpreter dumps every function name and variable name it collected at the end of a run). It won’t scale forever, but for getting a first working pipeline from source text to a runnable Windows executable, it did the job.
Obsidian v1 updates Devlog What’s new? Finally got basic lambda style return functions working. Right now these both compile all the way through the tokenizer, IR, NASM generation, and actually run correctly: func test() -> int {2 + 2}; func anothertest() -> int {2 - 2}; test currently spits out: mov eax, 2 mov ebx, 2 add eax, ebx ret So the entire pipeline is finally working end to end. Syntax change I ended up changing the function syntax halfway through development. Originally it looked like this: func test() -> { 2 + 2 } The problem is -> was basically trying to do two different jobs at once. It was acting like “here comes the function body” instead of what it should actually mean: “here comes the return type.” That would’ve forced the parser to guess whether the next token was a type or the start of a block, which is just unnecessary pain when the fix is simple. Now it’s: func name() -> type { body } Way cleaner, no ambiguity, and honestly it reads a lot better too. Under the hood Parentheses are now their own tokens (_OPEN_PAREN / _CLOSE_PAREN) instead of getting lumped together with braces. Expressions are currently evaluated by folding left-to-right through (operator, operand) pairs. +, -, *, and / all work with integer literals. One limitation right now is there’s no operator precedence yet. So: 2 + 3 * 4 currently evaluates as: ((2 + 3) * 4) = 20 instead of: 2 + (3 * 4) = 14 Not really a bug, just something I haven’t implemented yet. The real fix is building an expression tree instead of another parser hack. Right now everything also assumes the operands are integer literals. Variables aren’t hooked into expression evaluation yet, so identifiers basically don’t work inside expressions. Function bodies are also limited to a single expression for now no multiple statements or nested expressions yet. Next up Proper operator precedence (expression trees) Variables inside expressions Multi-statement function bodies Saving/restoring non-volatile registers once functions start calling other functions. Right now I’m using ebx as a scratch register, which is perfectly fine for leaf functions but won’t fly forever once function calls exist.
Yet Another Obsidian Devlog going to keep this one short and sweet because I honestly didn’t add much, butt his is what I added: print "lambda functions and function calls now work!" func test() -> int {2 + 2}; return test(); Lambda Functions & Function Calls Lambda Functions fully working for addition and subtraction, still can’t put in multiple inputs, but you know what that’s fine. You can now officially use function calls they work and it’s great, took a lot of coding / logic but it works! Assembly Code For Example: global obsidian_program extern GetStdHandle extern WriteConsoleA extern ExitProcess section .text test: mov eax, 2 mov ebx, 2 add eax, ebx ret obsidian_program: sub rsp, 40 mov ecx, -11 call GetStdHandle mov rcx, rax lea rdx, [rel str0] mov r8d, 47 lea r9, [rel written] mov qword [rsp+32], 0 call WriteConsoleA add rsp, 40 call test mov ecx, eax sub rsp, 40 call ExitProcess section .bss written resd 1 section .data str0 db "lambda functions and function calls now work!", 13, 10
Obsidian Release! 🎉 I have finally finished coding the first release of Obsidian! To install it, head over to the Releases tab I tried to make the setup process as simple as possible. If you run into any trouble, please leave a comment or open an issue and I’ll help you out! Getting Started Go to the Releases page Download the latest release for your platform Follow the setup instructions included with the release Make sure you have the dependencies installed (NASM, G++/MinGW-w64, CMake) see the README for install steps Found a bug? This is the first release, so there will absolutely be rough edges please open an issue with: What you were trying to do What happened instead Your OS / setup Thanks for checking out Obsidian Lang, and happy coding!
Ships:
What did you make? Obsidian Lang, a toy programming language I built from scratch in C++ that compiles down to x86-64 NASM assembly for Windows. It’s got a tokenizer, a two-pass interpreter, and codegen for functions, arithmetic, print, return, const, and func. What was challenging? Getting the codegen right was brutal, lots of cascading bugs and token indexing errors that would silently break everything downstream. Debugging assembly output when the bug is actually three layers up in the tokenizer is a special kind of pain. #What are you proud of? That it actually compiles and runs real programs now. Going from “I want to understand how compilers work” to a working toolchain that spits out real assembly is the whole reason I started this. #What should people know so they can test your project? Windows only for now (uses Windows direct API assembly, so no Linux/Mac support yet sorry Stardance folks on other OSes!). You’ll need NASM, G++/MinGW-w64, and CMake installed first grab the release and follow the README setup steps....
|
1793703291.7479663
|
1793789691.7479663
|
|
65650
|
minimalOS by @hanrokarate052 | Stardance
|
hanrokarate052
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: minimalOS by @hanrokarate052 | Stardance
|
1793703290.8787663
|
1794308090.8787663
|
|
65649
|
My very own WebOS by @kaman-anand | Stardance
|
kaman-anand
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @kaman-anand | Stardan Title: My very own WebOS by @kaman-anand | Stardance...
|
1793703289.96096
|
1794308089.96096
|
|
29325
|
SUWasi by @S_U_Wasi | Stardance
|
S_U_Wasi
|
3
|
22.0
|
48
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T18:21:46Z", "hours": 8.0, "multiplier": 3.26, "payout": 26, "blessing": "neutral", "text": "This is my portfolio website. This is my portfolio as well as website. This website contains, my educational background, projects, Articles, contacts, timeline, currently working projects. Since this is written in pure HTML, CSS and JS, there is no mentionable problems. I faced some problems with embed code, fonts (Because I want to use local fonts, which result font changes from device to device). On what I am proud of from this Website is this is my 2nd and 1st successful portfolio. In previous months I tried to create one but those are not built according to what I was expecting. But now If I think that was because that time I was entirely dependent on AI. For on this project, I first planed on paper then worked on raw materials and integrate AI brick by brick. This result to the creation of a website exactly how I want. I really wanted to use three.js in my website to customise it with visuals. But using that JS causes my site to slow down. but I want to make the website as fast as I can. Because I think protfolio should be fast readable. That is why I tried my best with HTML, CSS and JS Thank You.", "repo": "https://github.com/MDSUWasi/SUWasi", "demo": "https://mdsuwasi.github.io/SUWasi/"}, {"ship_num": 2, "ts": "2026-07-03T16:48:42Z", "hours": 9.0, "multiplier": 2.33, "payout": 22, "blessing": "neutral", "text": "I have updated my site to new. Previously everything was just like a structure only. Now, I have updated them. How I have used AI is fully described in the AI Deceleration section. In brief about AI use: “I have used AI for solving problems and trying tweaks before coming to one conclusion. I used for making my site smooth because it was having friction”. And nothing more than that. AI is just for help (How to do? and Why?) and All other things are done by me. What’s new: Added Sub-pages Structural change (One row view at the main page) Place-holders for upcoming changes. In the next update I will update the site with most real and accurate data (since this is my portfolio).", "repo": "https://github.com/MDSUWasi/SUWasi", "demo": "https://mdsuwasi.github.io/SUWasi/"}, {"ship_num": 3, "ts": "2026-07-02T12:48:13Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my Personal and Portfolio Website. Currently it is in its initial form. Since it is my personal website, I am going to continuously update the site and have no intention of discontinuation. And It is my personal website that is why I have designed everything. But I also have taken help from AI. Here is the full description: The design is uniquely mine. (I have edited the entire CS all by myself and HTML too). No one command AI is used. 2.5. No AI generated one-click website built. I used AI for solving specific issues, solving problem (Bug is also fixed by myself, AI is used to identify and find how to solve). I took help during JS (But maximum portion of the JS came from my previous projects). I used very little AI, but designed, edited, planned, structured and write all by myself. And finally I have my personal site. The site right now may not be in its better condition but I will try my best to make it better.", "repo": "https://github.com/MDSUWasi/SUWasi", "demo": "https://mdsuwasi.github.io/SUWasi/"}]...
|
[{"post_id": 39977, "ts": "202 [{"post_id": 39977, "ts": "2026-08-03T10:05:06Z", "hours": 2.8936, "text": "New Updates and Announcement Today my site got new update with some fix (Only source level updates, that is why there is less visual changes). New Updates: The history timeline got new structure. The site have 2 view mode now. The site is now fast/ smooth. On August 10, I will release a Major Update where I will update the site with latest data, visuals and Proof (Since it is my portfolio, I can't just clam) , Structural improvements etc etc. Upcoming Updates include: Proof of what I claim on site. Total story on how I created this site and how I used AI (I will write in both project’s AI deceleration section and README ). I will add how the site’s Analytic work directly in to the Home page of my site (So, that the analytic is transparent to all and those who visit can know it.) Add Stats on the home page. And More."}, {"post_id": 28334, "ts": "2026-07-14T14:57:17Z", "hours": 0.7792, "text": "I have updated my website. Here is what’s new, Written robots.txt for search engines to find my site. Written a separate 404 error page to show up during error. Added a privacy-first analytic tool for my sites."}, {"post_id": 28138, "ts": "2026-07-14T07:29:19Z", "hours": 4.3553, "text": "I have upgraded my website with real data, look and sub-pages. I introduced some new look and position. Currently it is a stable release But still now it is under development."}, {"post_id": 21578, "ts": "2026-07-03T16:37:33Z", "hours": 5.5011, "text": "I have just deployed the second version of my site. New Update: Added sub-pages (almost all sub-pages are online now except 2) In the next Upcoming Update I will update my site with real and accurate data."}, {"post_id": 21315, "ts": "2026-07-03T05:32:57Z", "hours": 3.1192, "text": "Recently, I worked on Interface , Visuals , Very little Animations and some sub-pages Currently my site have, View my Work sub pages (Will be updated with real data soon). Contact sub pages (CSS will be completed soon) Article Sub page is complete (Soon will be updated with my real articles) About Me section complete (little tweaks are coming soon) Time-line (Currently under development) All new updates are not deployed in GitHub repository or page/site. I may deploy it after completing the above 5."}, {"post_id": 20811, "ts": "2026-07-02T14:53:26Z", "hours": 0.8478, "text": "New Update (Upcoming Currently in test not deployed) Added animation (Few animations) Changing from from all in one site to modular structure but keeping the At a glance view."}, {"post_id": 20678, "ts": "2026-07-02T10:30:16Z", "hours": 1.1033, "text": "Finally I got a starting structure for my personal portfolio website. It is a starting point ( I will update it continuously )."}, {"post_id": 20619, "ts": "2026-07-02T08:14:40Z", "hours": 1.7694, "text": "Main page is complete. Now working on subpages."}, {"post_id": 20566, "ts": "2026-07-02T05:40:51Z", "hours": 0.3683, "text": "Working on the main html is done and now working on css"}, {"post_id": 20554, "ts": "2026-07-02T05:11:13Z", "hours": 1.4975, "text": "I have designed the structure initially on paper and currently writing the source code."}]...
|
Title: SUWasi by @S_U_Wasi | Stardance
Devlogs:
I Title: SUWasi by @S_U_Wasi | Stardance
Devlogs:
I have designed the structure initially on paper and currently writing the source code.
Working on the main html is done and now working on css
Main page is complete. Now working on subpages.
Finally I got a starting structure for my personal portfolio website. It is a starting point ( I will update it continuously ).
New Update (Upcoming Currently in test not deployed) Added animation (Few animations) Changing from from all in one site to modular structure but keeping the At a glance view.
Recently, I worked on Interface , Visuals , Very little Animations and some sub-pages Currently my site have, View my Work sub pages (Will be updated with real data soon). Contact sub pages (CSS will be completed soon) Article Sub page is complete (Soon will be updated with my real articles) About Me section complete (little tweaks are coming soon) Time-line (Currently under development) All new updates are not deployed in GitHub repository or page/site. I may deploy it after completing the above 5.
I have just deployed the second version of my site. New Update: Added sub-pages (almost all sub-pages are online now except 2) In the next Upcoming Update I will update my site with real and accurate data.
I have upgraded my website with real data, look and sub-pages. I introduced some new look and position. Currently it is a stable release But still now it is under development.
I have updated my website. Here is what’s new, Written robots.txt for search engines to find my site. Written a separate 404 error page to show up during error. Added a privacy-first analytic tool for my sites.
New Updates and Announcement Today my site got new update with some fix (Only source level updates, that is why there is less visual changes). New Updates: The history timeline got new structure. The site have 2 view mode now. The site is now fast/ smooth. On August 10, I will release a Major Update where I will update the site with latest data, visuals and Proof (Since it is my portfolio, I can't just clam) , Structural improvements etc etc. Upcoming Updates include: Proof of what I claim on site. Total story on how I created this site and how I used AI (I will write in both project’s AI deceleration section and README ). I will add how the site’s Analytic work directly in to the Home page of my site (So, that the analytic is transparent to all and those who visit can know it.) Add Stats on the home page. And More.
Ships:
This is my Personal and Portfolio Website. Currently it is in its initial form. Since it is my personal website, I am going to continuously update the site and have no intention of discontinuation. And It is my personal website that is why I have designed everything. But I also have taken help from AI. Here is the full description: The design is uniquely mine. (I have edited the entire CS all by myself and HTML too). No one command AI is used. 2.5. No AI generated one-click website built. I used AI for solving specific issues, solving problem (Bug is also fixed by myself, AI is used to identify and find how to solve). I took help during JS (But maximum portion of the JS came from my previous projects). I used very little AI, but designed, edited, planned, structured and write all by myself. And finally I have my personal site. The site right now may not be in its better condition but I will try my best to make it better.
I have updated my site to new. Previously everything was just like a structure only. Now, I have updated them. How I have used AI is fully described in the AI Deceleration section. In brief about AI use: “I have used AI for solving problems and trying tweaks before coming to one conclusion. I used for making my site smooth because it was having friction”. And nothing more than that. AI is just for help (How to do? and Why?) and All other things are done by me. What’s new: Added Sub-pages Structural change (One row view at the main page) Place-holders for upcoming changes. In the next update I will update the site with most real and accurate data (since this is my portfolio).
This is my portfolio website. This is my portfolio as well as website. This website contains, my educational background, projects, Articles, contacts, timeline, currently working projects. Since this is written in pure HTML, CSS and JS, there is no mentionable problems. I faced some problems with embed code, fonts (Because I want to use local fonts, which result font changes from device to device). On what I am proud of from this Website is this is my 2nd and 1st successful portfolio. In previous months I tried to create one but those are not built according to what I was expecting. But now If I think that was because that time I was entirely dependent on AI. For on this project, I first planed on paper then worked on raw materials and integrate AI brick by brick. This result to the creation of a website exactly how I want. I really wanted to use three.js in my website to customise it with visuals. But using that JS causes my site to slow down. but I want to make the website as fast as I can. Because I think protfolio should be fast readable. That is why I tried my best with HTML, CSS and JS Thank You....
|
1793703288.753708
|
1793789688.753708
|
|
65648
|
License Plate Reporting and Detecting System by @A License Plate Reporting and Detecting System by @Argon101 | Stardance...
|
Argon101
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: License Plate Reporting and Detecting Syste Title: License Plate Reporting and Detecting System by @Argon101 | Stardance...
|
1793703287.8808591
|
1794308087.8808591
|
|
19283
|
Exploring the Moon with Artemis Website by @Lidika Exploring the Moon with Artemis Website by @LidikaRahman | Stardance...
|
LidikaRahman
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T18:19:22Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This week, the project took a big step forward. I began building the SLS Engineering section, where users won’t just read about NASA’s rocket, in fact they’ll build an understanding of it through a 12-stage launch simulation. The biggest challenge was the JavaScript behind the scenes. Every launch stage happens within seconds, so keeping the timing and calculations synchronized turned out to be much harder than I expected. After many failed attempts, I realized the problem wasn’t the math itself, rather it was when the calculations were being updated. Once I fixed that logic, everything finally worked as intended. As I continue building, I’m thinking carefully about the quality-of-life problem this project solves. Space science is often taught through long videos or textbook diagrams, making it difficult for many students to stay engaged or understand how everything connects in a real mission. My goal is to remove that friction by turning complex STEM concepts into an interactive experience where students actively participate instead of passively reading. The next stages will introduce astronaut engineering challenges, real-time mission mathematics, rocket fueling, launch operations, Moon landing procedures, scientific experiments, and mission decision-making. Every activity is designed to mirror real Artemis-inspired workflows while providing instant feedback, progress tracking, and personalized learning. Instead of simply learning about a mission, users gradually build the confidence and practical understanding to think like an engineer, scientist, and astronaut. The goal is simple: make learning space exploration more interactive, more intuitive, and far more memorable.", "repo": "https://github.com/LidikaRahman2023/moon-exploration-artemis", "demo": "https://lidikarahman2023.github.io/moon-exploration-artemis/"}]...
|
[{"post_id": 19389, "ts": "202 [{"post_id": 19389, "ts": "2026-06-30T18:10:12Z", "hours": 6.0333, "text": "Exploring the Moon with Artemis!— Dev Log #3✅ What I Added: Started building the SLS Engineering section. Added the foundation for the 12-stage launch simulation. Challenges I faced: The JavaScript was the hardest part.Since each stage changes within seconds, handling the timings and calculations became more complex than I expected.Ran into repeated errors before finding the real issue. What I Learned: Improved my understanding of JavaScript timing and calculation logic.Sometimes the bug isn’t in the formula, and it’s in how and when it’s being updated. An important decision I made : Chose to break the launch into 12 interactive stages instead of one animation, making it more engaging and educational. ✨ Progress: Finally figured out the calculation loophole, and everything is working much more smoothly now. One step closer to launching Artemis! 🌙🚀"}, {"post_id": 11548, "ts": "2026-06-18T20:53:05Z", "hours": 2.3611, "text": "Exploring the Moon with Artemis! — Dev Log #2 What I built : • Added astronaut gender selection. • Added the dashboard introduction section. The Challenges I faced : •Faced some annoying alignment issues. •Had a bug where selections weren’t updating correctly. What I’ve Learned: • Better understanding of handling user selections and progress tracking. Decision I made: Started with astronaut personalization before the missions.Makes the experience feel more personal from the start. Something that SURPRISED me: The dashboard already makes the project feel like a real astronaut training platform! And about the Design: Going for a fun, friendly space theme while keeping the Artemis mission feeling realistic. Next up: astronaut training and mission systems!"}, {"post_id": 10070, "ts": "2026-06-16T17:28:03Z", "hours": 0.9944, "text": "My today’s update tackles user friction head-on by introducing a “Continue as Guest” option, allowing people to bypass the sign-up gate and dive straight into my project. To match this seamless flow, I gave the resident astronaut mascot a major upgrade; it now dynamically changes its greeting for guest users and delivers a revamped introductory speech that clearly lays out my mission, the problem statement, and the core solution right from the launchpad."}]...
|
Title: Exploring the Moon with Artemis Website by Title: Exploring the Moon with Artemis Website by @LidikaRahman | Stardance
Devlogs:
My today’s update tackles user friction head-on by introducing a “Continue as Guest” option, allowing people to bypass the sign-up gate and dive straight into my project. To match this seamless flow, I gave the resident astronaut mascot a major upgrade; it now dynamically changes its greeting for guest users and delivers a revamped introductory speech that clearly lays out my mission, the problem statement, and the core solution right from the launchpad.
Exploring the Moon with Artemis! — Dev Log #2 What I built : • Added astronaut gender selection. • Added the dashboard introduction section. The Challenges I faced : •Faced some annoying alignment issues. •Had a bug where selections weren’t updating correctly. What I’ve Learned: • Better understanding of handling user selections and progress tracking. Decision I made: Started with astronaut personalization before the missions.Makes the experience feel more personal from the start. Something that SURPRISED me: The dashboard already makes the project feel like a real astronaut training platform! And about the Design: Going for a fun, friendly space theme while keeping the Artemis mission feeling realistic. Next up: astronaut training and mission systems!
Exploring the Moon with Artemis!— Dev Log #3✅ What I Added: Started building the SLS Engineering section. Added the foundation for the 12-stage launch simulation. Challenges I faced: The JavaScript was the hardest part.Since each stage changes within seconds, handling the timings and calculations became more complex than I expected.Ran into repeated errors before finding the real issue. What I Learned: Improved my understanding of JavaScript timing and calculation logic.Sometimes the bug isn’t in the formula, and it’s in how and when it’s being updated. An important decision I made : Chose to break the launch into 12 interactive stages instead of one animation, making it more engaging and educational. ✨ Progress: Finally figured out the calculation loophole, and everything is working much more smoothly now. One step closer to launching Artemis! 🌙🚀
Ships:
This week, the project took a big step forward. I began building the SLS Engineering section, where users won’t just read about NASA’s rocket, in fact they’ll build an understanding of it through a 12-stage launch simulation. The biggest challenge was the JavaScript behind the scenes. Every launch stage happens within seconds, so keeping the timing and calculations synchronized turned out to be much harder than I expected. After many failed attempts, I realized the problem wasn’t the math itself, rather it was when the calculations were being updated. Once I fixed that logic, everything finally worked as intended. As I continue building, I’m thinking carefully about the quality-of-life problem this project solves. Space science is often taught through long videos or textbook diagrams, making it difficult for many students to stay engaged or understand how everything connects in a real mission. My goal is to remove that friction by turning complex STEM concepts into an interactive experience where students actively participate instead of passively reading. The next stages will introduce astronaut engineering challenges, real-time mission mathematics, rocket fueling, launch operations, Moon landing procedures, scientific experiments, and mission decision-making. Every activity is designed to mirror real Artemis-inspired workflows while providing instant feedback, progress tracking, and personalized learning. Instead of simply learning about a mission, users gradually build the confidence and practical understanding to think like an engineer, scientist, and astronaut. The goal is simple: make learning space exploration more interactive, more intuitive, and far more memorable....
|
1793703286.076245
|
1793789686.076245
|
|
28112
|
WorldCup by @Uxyamo | Stardance
|
Uxyamo
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T10:43:30Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website, for voting the best player of the worldcup", "repo": "https://github.com/mbbs-iam/WorldCupWeb", "demo": "https://worldcup-best.netlify.app/"}]...
|
[{"post_id": 18258, "ts": "202 [{"post_id": 18258, "ts": "2026-06-29T10:43:04Z", "hours": 0.4033, "text": "I’m only seeing what I can do with AI"}]...
|
Title: WorldCup by @Uxyamo | Stardance
Devlogs:
I Title: WorldCup by @Uxyamo | Stardance
Devlogs:
I’m only seeing what I can do with AI
Ships:
I made a website, for voting the best player of the worldcup...
|
1793703285.0086641
|
1793789685.0086641
|
|
65645
|
My-website by @twisters_t15 | Stardance
|
twisters_t15
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My-website by @twisters_t15 | Stardance
|
1793703284.0760612
|
1794308084.0760612
|
|
19109
|
Lumen: Discord Bot by @hasanstarts | Stardance
|
hasanstarts
|
1
|
20.48
|
111
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T19:55:48Z", "hours": 13.0, "multiplier": 8.58, "payout": 111, "blessing": "neutral", "text": "Hey Everyone! Introducing Lumen: your simplest form of discord bot for moderation, utility and a little fun added. All coded in python and completely user friendly. Click Try Project below, join Lumen HQs (Discord Server) and test Lumen! Run /help to check Lumen Commands and /help <command> to specifically learn about that command. You can manually make yourself another version of Lumen by checking out source code and by learning from it (honestly discord.py is easiest to learn)! Hope you will love it!", "repo": "https://github.com/hasancooksfr/LumenDiscord", "demo": "https://discord.gg/Hvp4gXT6tW"}]...
|
[{"post_id": 26801, "ts": "202 [{"post_id": 26801, "ts": "2026-07-11T20:01:58Z", "hours": 1.8219, "text": "DevLog 11: Learned about Discord Selects and added a way to earn more coins! Lumen users can now apply for job . Users can work once in 24 hours . Payouts are done by random number within specific job’s range. Random messages are generated like: Job: Maid You washed a mountain of dishes without breaking a single one. Commands: !job apply & !job work"}, {"post_id": 24921, "ts": "2026-07-08T19:55:36Z", "hours": 1.8253, "text": "#DevLog 10: Learned more and more things, Lumen is better now! Big updates: Lumen now uses Discord Views (Button Confirmation) . !bank deactivate command is added to delete bank account permanently! !bank rob command is added where users can rob other users with a 45% chance of success, 25% of failure but escape and 30% chance of getting caught and fined by police. Cooldowns are added to prevent abuse of ROB command. Users can only use the command once in 2 hours. Stay Tuned"}, {"post_id": 23661, "ts": "2026-07-06T19:28:54Z", "hours": 0.8686, "text": "DevLog 9: Spent more time on research and less on actually coding. Added economy transfer system (works perfectly) How it works: DataBase checks if both (sender and beneficiary) have active bank account. If yes, Database checks if amount is smaller than balance in sender’s balance If yes, Amount gets deducted from sender’s balance and added to beneficiary’s balance. Notification is sent for updates! I hope you’ll find this cool because I did Stay Tuned!"}, {"post_id": 23019, "ts": "2026-07-05T18:55:39Z", "hours": 1.3844, "text": "DevLog 8: Added Daily Reward system & Updated Coinflip! Researched over more cool stuff that can be done using MongoDB and Discord.Py. What I did today: Added a new command /bank daily which gives you a reward amount after every 24 hours. This amount is between 500 to 1000 Coins (competely random) and can be redeemed only once in 24 hours . Updated Coinflip command by added Economy system. If amount is added and you win, you get 2x added in your balance but if you lose, you get nothing . If amount is not added, it works same as before, just giving the result. That’s all I could do today, having crazy plans for tomorrow! Stay Tuned"}, {"post_id": 22378, "ts": "2026-07-04T20:28:01Z", "hours": 1.5808, "text": "DevLog 7: Lumen v1.1 I have started working on Lumen once again to add more cool commands. What I did today is: Finally added a Database AFK users are now stored in Database ECONOMY SYSTEM : Lumen is introducing economy system (bank currency), I have only added 2 commands (/bank create and /bank balance) for now, will add more soon. Stay Tuned!"}, {"post_id": 12115, "ts": "2026-06-19T19:51:04Z", "hours": 0.6228, "text": "Last DevLog (before first ship): All commands are working perfectly! All new commands are listed on Help menus and are accessible. Run !help or /help to see all commands! Lumen is officially hosted and is active 24/7 for you guys to text out. I have also updated README.md for setup instructions (i tried my best to make it beginner friendly). Join Lumen HQs (Discord Server) and test Lumen by youself!!"}, {"post_id": 11586, "ts": "2026-06-18T21:26:34Z", "hours": 4.7225, "text": "DevLog 5 : This time utilized all my time perfectly xD. This is going to be my last devlog before shipping this project (probably) All updates coded: Replaced all simple messages to embed messages (including errors like MissingPermissions) to make them cool probably Added more fun and utility commands: Utility Commands /afk -> Enables AFK Mode, whenever anyone mentions the user, bot tells that the user is in AFK mode with following reason. /avatar and /banner -> Fetches and displays user’s avatar (profile picture) and banner ofcourse in embed Fun Commands /dice -> Rolls a dice of user-specified sides (default 6) and tells the result. /randomnum -> Chooses a random number from user-specified limits (minimum and maximum). /joke and /fact -> Fetches and displays random joke or fact from APIs. Tomorrow, I will host the bot and do a last test before shipping. Wish me luck"}, {"post_id": 10850, "ts": "2026-06-17T19:54:35Z", "hours": 2.4181, "text": "DevLog 4 : Again spent a lot of time in errors and taking command ideas from other popular bots. Added a few commands: /help -> Displays a whole message like menu showing all the commands. /help <command> -> When typed a specific command infront of /help, it shows specific help and required arguments of that specific command. /role -> Adds/Removes specified role from specified user. /coinflip (or !cf )-> I thought to add some fun commands and this is the start. It flips a coin and tells the result. User can submit a guess and it shows if you won or lost. Kinda cool right ;) Tomorrow, I will beautify the messages by completely replacing them with colourful embeds (they are cooler ) That’s it for today. Wish me luck for tomorrow."}, {"post_id": 10208, "ts": "2026-06-16T20:35:36Z", "hours": 2.8044, "text": "DevLog 3: Spent most of my time in learning and exploring errors (too many errors) :P Added more cool commands: /lock -> Locks the channel for default role /unlock -> Unlocks the channel for default role /clear -> Clears number of messages in a specific channel /nickname -> Allows to change nicknames of members of server /userinfo -> gives amazing information about user /serverinfo -> gives amazing information about server And some more about moderation: /timeout -> Puts timeout to user for specified minutes /untimeout -> Removes active timeout from a user /unban -> Unbans a user id from server Bot will be ready to be shipped really soon!! This is my first time making a discord bot and I think I am doing great ;)"}, {"post_id": 9379, "ts": "2026-06-15T18:33:40Z", "hours": 1.7011, "text": "DevLog 2: Added more commands for moderation. Global error handling is setup and enhanced. Added commands: ban and kick on both prefix and slash based. Error Handlers added for checking permissions of user and bot, to check if member exists and to check if command exists. Bot is working perfectly and is satisfactory!!"}, {"post_id": 9174, "ts": "2026-06-15T11:39:22Z", "hours": 0.6889, "text": "Made simple commands like ping and hello on both prefix and slash based! Bot responding in minimum time and is satisfactory. Coded in Python"}]...
|
Title: Lumen: Discord Bot by @hasanstarts | Starda Title: Lumen: Discord Bot by @hasanstarts | Stardance
Devlogs:
Made simple commands like ping and hello on both prefix and slash based! Bot responding in minimum time and is satisfactory. Coded in Python
DevLog 2: Added more commands for moderation. Global error handling is setup and enhanced. Added commands: ban and kick on both prefix and slash based. Error Handlers added for checking permissions of user and bot, to check if member exists and to check if command exists. Bot is working perfectly and is satisfactory!!
DevLog 3: Spent most of my time in learning and exploring errors (too many errors) :P Added more cool commands: /lock -> Locks the channel for default role /unlock -> Unlocks the channel for default role /clear -> Clears number of messages in a specific channel /nickname -> Allows to change nicknames of members of server /userinfo -> gives amazing information about user /serverinfo -> gives amazing information about server And some more about moderation: /timeout -> Puts timeout to user for specified minutes /untimeout -> Removes active timeout from a user /unban -> Unbans a user id from server Bot will be ready to be shipped really soon!! This is my first time making a discord bot and I think I am doing great ;)
DevLog 4 : Again spent a lot of time in errors and taking command ideas from other popular bots. Added a few commands: /help -> Displays a whole message like menu showing all the commands. /help <command> -> When typed a specific command infront of /help, it shows specific help and required arguments of that specific command. /role -> Adds/Removes specified role from specified user. /coinflip (or !cf )-> I thought to add some fun commands and this is the start. It flips a coin and tells the result. User can submit a guess and it shows if you won or lost. Kinda cool right ;) Tomorrow, I will beautify the messages by completely replacing them with colourful embeds (they are cooler ) That’s it for today. Wish me luck for tomorrow.
DevLog 5 : This time utilized all my time perfectly xD. This is going to be my last devlog before shipping this project (probably) All updates coded: Replaced all simple messages to embed messages (including errors like MissingPermissions) to make them cool probably Added more fun and utility commands: Utility Commands /afk -> Enables AFK Mode, whenever anyone mentions the user, bot tells that the user is in AFK mode with following reason. /avatar and /banner -> Fetches and displays user’s avatar (profile picture) and banner ofcourse in embed Fun Commands /dice -> Rolls a dice of user-specified sides (default 6) and tells the result. /randomnum -> Chooses a random number from user-specified limits (minimum and maximum). /joke and /fact -> Fetches and displays random joke or fact from APIs. Tomorrow, I will host the bot and do a last test before shipping. Wish me luck
Last DevLog (before first ship): All commands are working perfectly! All new commands are listed on Help menus and are accessible. Run !help or /help to see all commands! Lumen is officially hosted and is active 24/7 for you guys to text out. I have also updated README.md for setup instructions (i tried my best to make it beginner friendly). Join Lumen HQs (Discord Server) and test Lumen by youself!!
DevLog 7: Lumen v1.1 I have started working on Lumen once again to add more cool commands. What I did today is: Finally added a Database AFK users are now stored in Database ECONOMY SYSTEM : Lumen is introducing economy system (bank currency), I have only added 2 commands (/bank create and /bank balance) for now, will add more soon. Stay Tuned!
DevLog 8: Added Daily Reward system & Updated Coinflip! Researched over more cool stuff that can be done using MongoDB and Discord.Py. What I did today: Added a new command /bank daily which gives you a reward amount after every 24 hours. This amount is between 500 to 1000 Coins (competely random) and can be redeemed only once in 24 hours . Updated Coinflip command by added Economy system. If amount is added and you win, you get 2x added in your balance but if you lose, you get nothing . If amount is not added, it works same as before, just giving the result. That’s all I could do today, having crazy plans for tomorrow! Stay Tuned
DevLog 9: Spent more time on research and less on actually coding. Added economy transfer system (works perfectly) How it works: DataBase checks if both (sender and beneficiary) have active bank account. If yes, Database checks if amount is smaller than balance in sender’s balance If yes, Amount gets deducted from sender’s balance and added to beneficiary’s balance. Notification is sent for updates! I hope you’ll find this cool because I did Stay Tuned!
#DevLog 10: Learned more and more things, Lumen is better now! Big updates: Lumen now uses Discord Views (Button Confirmation) . !bank deactivate command is added to delete bank account permanently! !bank rob command is added where users can rob other users with a 45% chance of success, 25% of failure but escape and 30% chance of getting caught and fined by police. Cooldowns are added to prevent abuse of ROB command. Users can only use the command once in 2 hours. Stay Tuned
DevLog 11: Learned about Discord Selects and added a way to earn more coins! Lumen users can now apply for job . Users can work once in 24 hours . Payouts are done by random number within specific job’s range. Random messages are generated like: Job: Maid You washed a mountain of dishes without breaking a single one. Commands: !job apply & !job work
Ships:
Hey Everyone! Introducing Lumen: your simplest form of discord bot for moderation, utility and a little fun added. All coded in python and completely user friendly. Click Try Project below, join Lumen HQs (Discord Server) and test Lumen! Run /help to check Lumen Commands and /help <command> to specifically learn about that command. You can manually make yourself another version of Lumen by checking out source code and by learning from it (honestly discord.py is easiest to learn)! Hope you will love it!...
|
1793703280.9326422
|
1793789680.9326422
|
|
16818
|
My very own WebOS by @avycado13 | Stardance
|
avycado13
|
2
|
9.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-08T21:26:40Z", "hours": 1.0, "multiplier": 2.51, "payout": 2, "blessing": "neutral", "text": "I made an OS Kernel in the web! i also ported it to run natively and i want to have almost complete feautre parity between them!", "repo": "https://github.com/avycado13/webos", "demo": "http://finicky-knot.surge.sh/"}, {"ship_num": 2, "ts": "2026-07-01T01:01:21Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an os that works in both wasm in the browser and in x86. it doesnt have a window manager yet but it has a console and a basic file system. I plan on adding more advanced functionality and maybe even a gui!", "repo": "https://github.com/avycado13/webos", "demo": "http://finicky-knot.surge.sh/"}]...
|
[{"post_id": 24979, "ts": "202 [{"post_id": 24979, "ts": "2026-07-08T21:25:26Z", "hours": 0.4697, "text": "random work to polish it up. not much changed"}, {"post_id": 19771, "ts": "2026-07-01T04:54:49Z", "hours": 0.3511, "text": "i added better readme"}, {"post_id": 19648, "ts": "2026-07-01T00:58:24Z", "hours": 2.2219, "text": "I added more browser support including a console in a canvas and a filesystem and shell. the filesystem is just a vector where each file is just a string for path and a vector of u8s for its bytes."}, {"post_id": 18696, "ts": "2026-06-29T21:39:11Z", "hours": 2.1514, "text": "i got it to work in the browser!! next i should add canvas rendering and also maybe some actual programs and a filesystem"}, {"post_id": 7286, "ts": "2026-06-12T04:33:38Z", "hours": 3.1797, "text": "I followed https://os.phil-opp.com/ and now i am going to try to get this to run on the web and add a basic shell"}]...
|
Title: My very own WebOS by @avycado13 | Stardance Title: My very own WebOS by @avycado13 | Stardance
Devlogs:
I followed https://os.phil-opp.com/ and now i am going to try to get this to run on the web and add a basic shell
i got it to work in the browser!! next i should add canvas rendering and also maybe some actual programs and a filesystem
I added more browser support including a console in a canvas and a filesystem and shell. the filesystem is just a vector where each file is just a string for path and a vector of u8s for its bytes.
i added better readme
random work to polish it up. not much changed
Ships:
I made an os that works in both wasm in the browser and in x86. it doesnt have a window manager yet but it has a console and a basic file system. I plan on adding more advanced functionality and maybe even a gui!
I made an OS Kernel in the web! i also ported it to run natively and i want to have almost complete feautre parity between them!...
|
1793703279.7427635
|
1793789679.7427635
|
|
65644
|
My awesome macropad! by @Klodzeen | Stardance
|
Klodzeen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Klodzeen | Stardan Title: My awesome macropad! by @Klodzeen | Stardance...
|
1793703278.8619342
|
1794308078.8619342
|
|
4884
|
Spottr by @BrunoGG | Stardance
|
BrunoGG
|
1
|
51.35
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T18:36:43Z", "hours": 47.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "SPOTTR is an open-source indoor presence tracking system built on ESP32-C3 and Bluetooth Low Energy. Wear a badge, walk into a room, show up on the map.", "repo": "https://github.com/BrunoGG69/Spottr", "demo": ""}]...
|
[{"post_id": 85024, "ts": "202 [{"post_id": 85024, "ts": "2026-10-30T19:44:43Z", "hours": 1.7572, "text": "DEVLOG #10 - Prototyped the Scanner Nodes Case Website : https://spottr.brunogg.in Demo : https://youtu.be/ntAMRt7f-G8 Work Done: Modelled a case for the Scanner Node to just sit above a power supply (5V phone one USB-A to USB-C) Updated the BOM.csv file to include every component I’ve used…"}, {"post_id": 77148, "ts": "2026-10-05T19:42:35Z", "hours": 2.5883, "text": "DEVLOG #9 - BADGE CASE REDESIGNED, PRINTED AND ASSEMBLED Website : https://spottr.brunogg.in Demo : https://youtu.be/ntAMRt7f-G8 Work Done: Redesigned the badge enclosure from scratch in Fusion 360 to fit the new battery, which got thicker but smaller in footprint while the badge had to stay credit-card sized at 86 x 54 mm Made the whole model parametric , so every dimension falls out of a handful of named values and the next component change is a one-number edit instead of another rebuild Added the Spottr logo embossed on the lid and a USB-C cutout sized off the actual connector Got it printed through #printing-legion and it came out clean Assembled the hardware into it : XIAO ESP32-C3, LiPo and status LED all sit flat in the cavity with the lid seating properly on top"}, {"post_id": 48356, "ts": "2026-08-16T17:46:13Z", "hours": 5.61, "text": "DEVLOG #8 - MQTT AUTH, POWER-FAILURE RECOVERY, DASHBOARD REDESIGNED FROM SCRATCH Website : https://spottr.brunogg.in Work Done: Added MQTT username and password support across the whole stack. The captive portal now has optional auth fields, the credentials save to NVS with the rest of the config, and the pi-bridge authenticates the same way. Leaving them blank keeps the old anonymous behaviour, so nothing broke for existing setups Fixed a bug where every scanner broadcast the same setup network name . The AP name is built from the last two bytes of the device MAC, but it was being read from the WiFi driver before the interface existed, so every board came up as Spottr-Scanner-0000 . Reading the MAC directly from efuse fixed it, and each scanner now shows its real suffix, unique per device and stable across reboots Fixed a power-failure recovery bug that only showed up in the real deployment. When the power came back, the scanners booted in about two seconds but the router took closer to a minute, so the scanners found no network, assumed they were unconfigured, and dropped into the config portal. Every node had to be manually restarted. The logic was treating “can’t connect right now” as “isn’t set up”. Now a scanner with credentials in NVS retries WiFi indefinitely and only ever opens the portal if there are genuinely no credentials or the command is given over serial Added a WiFi watchdog to the main loop, so a dropout during normal operation reconnects on its own instead of leaving the scanner stuck retrying MQTT over a dead network Fixed the OTA status LED never actually animating . ledSet() only records the state, and the pin write happens in ledUpdate() , which runs from the main loop, but the OTA download blocks that loop entirely. So the LED just froze at whatever brightness it had. Driving it from httpUpdate ’s progress callback fixed it, and the pattern is twice as fast now so a quick update is still visible Redesigned the dashboard from scratch. Went for a design language closer to Nothing and Apple’s dark mode, so the whole thing is monochrome with mono uppercase labels, thin tabular numerals and a lot of empty space. Stripped out the animated gradient orbs, the dot-grid background and the glassmorphism, since that look is everywhere now and reads as generic. Cards are visible because they’re lighter than the page rather than because they have a border, and colour only appears where it means something, so a room lighting up when someone walks in is the only saturated thing on screen Rebuilt the Overview page as three columns, with stats and occupied rooms on the left, the floor map in the middle, and a badge rail on the right where every badge can be searched, edited, disabled or deleted without leaving the page. Added pan and zoom to the map Fixed a bug where any badge added through the dashboard would never show a location. New badges were saved with an uppercase MAC while the pi-bridge writes location keys in lowercase, so the two never matched. Pulled the MAC handling into a shared module so both pages normalise the same way Replaced the component-library sidebar with a custom animated one , and moved the shared liveness and badge logic into lib/status.js and lib/badges.js . The duplicated copies of that logic are exactly what let the floor map and the overview page drift apart and disagree about which scanners were online Future Work Build the Scanners Management page to assign rooms to auto-registered scanners and a Logs Page to view the history of every action performed Add offline buffering to the scanner firmware so badge detections aren’t lost if WiFi drops, and flush them once reconnected Add checksum verification to the OTA process so a corrupted download can’t be flashed to a scanner"}, {"post_id": 30368, "ts": "2026-07-17T20:52:22Z", "hours": 7.6561, "text": "DEVLOG #7 - OTA FULLY IMPLEMENTED WITH AUTO-UPDATES, CAPTIVE PORTAL ADDED, FIRMWARE REFACTORED & STATUS LED Website : https://spottr.brunogg.in Work Done: Fully implemented Over-The-Air (OTA) updates for the scanner nodes. The pi-bridge watches Firebase for a new firmware version and publishes it over MQTT, each scanner compares it against its own version and only updates if it’s newer, then downloads, flashes and reboots itself. The version check runs on each scanner, so one publish updates every outdated node automatically Set up automatic releases using a GitHub Action, so publishing a new release on GitHub writes the version and download URL to Firebase on its own, which then cascades down to every scanner. Now a single release publish updates the whole fleet with no manual steps Added a WiFi captive portal for first-time scanner setup. On first boot the scanner hosts its own network and serves a 4-step wizard (name the room, connect WiFi, set the broker, confirm) styled to match the website. Config is saved to NVS after every step and the portal won’t let a scanner boot into normal mode until setup is fully complete, so one firmware image now works for every scanner without editing code Refactored the scanner firmware from one large file into separate modules ( config , portal , scanner , ota , led and globals ) for cleaner, more maintainable code Added a status LED on the scanner so its state can be read at a glance without a serial monitor - blinking while connecting, solid when online, a slow breathing fade while in the config portal, and a distinct pattern during an OTA update Fixed a bug where the dashboard counted an offline scanner as online, by trusting the health status set by the pi-bridge instead of guessing from the last-seen timestamp Future Work Build the Scanners Management page to assign rooms to auto-registered scanners and a Logs Page to view the history of every action performed Add offline buffering to the scanner firmware so badge detections aren’t lost if WiFi drops, and flush them once reconnected Add checksum verification to the OTA process so a corrupted download can’t be flashed to a scanner"}, {"post_id": 17080, "ts": "2026-06-27T18:48:35Z", "hours": 7.1619, "text": "DEVLOG #6 - SCANNER HEALTH CHECKS IMPLEMENTED, IDENTIFY SCANNERS VIA MAC, BADGE MANAGEMENT & OTA GROUNDWORK SET Website : https://spottr.brunogg.in Work Done: Built an active scanner health-check system - pi-bridge pings each scanner every 15s over MQTT, scanner replies with a pong , and a missed pong marks it offline within a few seconds. This replaced the old passive system where the scanner sent a heartbeat every 30 seconds to update its status Switched scanner identity to its MAC Address . with the pi-bridge verifying each scanner’s MAC and registering unknown scanners into Firebase as unassigned Refactored pi-bridge from one single large file into multiple sub-files ( config.py , handlers.py , health.py , presence.py , registry.py , state.py and main.py ) Started work on the Badges Management Page where the admin can add, edit, delete or enable/disable badges , where each row shows the live status of each badge as online/offline and current room, along with confirmation dialog boxes for destructive actions like deletion or disabling badges Laid the groundwork for OTA firmware updates for the scanner nodes, where I switched the scanner partition table to support two app slots, added semantic version tracking and comparison, and wrote the OTA update function (yet to be implemented properly) Future Work Fully implement the OTA function where the pi-bridge triggers the update by publishing the new firmware version over MQTT and automatically flash it to the scanners Add a captive portal where the scanners can be configured (Adding WiFi and Scanner IDs) without editing the code Build the Scanners Management page to assign rooms to auto-registered scanners and Logs Page to view history of every action performed"}, {"post_id": 12997, "ts": "2026-06-21T07:48:49Z", "hours": 5.1617, "text": "DEVLOG #5 — STARTED WORK ON ADMIN DASHBOARD, IMPLEMENTED LIVE FLOOR MAP Website: https://spottr.brunogg.in Work Done: Started work on the admin dashboard Built the floor map feature and made it show in which room a badge is currently in Live badge dots render directly on the floor map, positioned in the room they were last detected in Added StatCards to the Overview page -> Badges Online, Scanners Online, Rooms Occupied, Total Badges Future Work Add dynamically updating status for scanners where pi-bridge sends a heartbeat and scanner-node responds to it Add sections to admin dashboard to add, remove or manage badges and scanners, along with a logs section to log any changes"}, {"post_id": 9494, "ts": "2026-06-15T20:54:45Z", "hours": 5.8011, "text": "DEVLOG #4 - LOGIN PAGE, BUG FIXES AND OVERHALL BADGE AND SCANNER FIRMWARE ALONG WITH CHANGES IN PI-BRIDGE Website: https://spottr.brunogg.in Work Done: Implemented a login page with Firebase Auth which supports but Google Sign-In as well as via Email & Password (Added a test user with its credentials posted on login page for future testing and for public showcase of the project) Added Protected routes - dashboard will remain inaccessible without logging in Switched the badge identification from using device_id ex. SPOTTR_BADGE_0XX to a MAC Address based identification coz its much more reliable and harder to spook Fixed some major and minor bugs Worked on the pi-bridge code to get readings of MAC Address . Set up Firebase RTDB badges/ node — each badge registered by MAC address with label, owner name and active status. This will be used in the dashboard to display owner names instead of raw MAC addresses and also used to assign a badge to a user and block or allow access Future Work: Build the admin dashboard with live floor map giving location data for each badge user Continue work on the landing page"}, {"post_id": 7635, "ts": "2026-06-12T19:12:56Z", "hours": 6.6208, "text": "DEVLOG #3 — WEBSITE POLISH + PI BRIDGE COMPLETE Website: https://spottr.brunogg.in Work Done Built floating navbar with sliding hover pill animation on desktop Added hamburger menu for mobile with smooth open/close animations and click-outside-to-close Logo centers on mobile, left-aligns on desktop Fixed SPOTTR intro animation to be properly centered on all screen sizes Made hero section fully responsive for mobile Pi Bridge now pushes live badge locations to Firebase RTDB and logs history to Firestore Added online/offline detection for both scanner nodes and badges with 60 second timeout Future Work Build admin dashboard with live floor map pulling from Firebase RTDB Add How It Works, Hardware and Software sections to landing page Add Firebase Auth to protect the dashboard Flash second scanner node and test strongest-signal room detection across multiple rooms Deep sleep badge firmware for battery life"}, {"post_id": 4817, "ts": "2026-06-08T10:04:57Z", "hours": 4.1131, "text": "DEVLOG #2 — HARDWARE ARRIVES, FIRMWARE WORK BEGINS Finally the hardware arrived and I started work straight away… First time diving into this deep of C++ programming… Dam it was tough fr Website: https://spottr.brunogg.in/ Work Done Set up PlatformIO in VS Code for programming the ESP32 Boards Flashed badge firmware on ESP32-C3 to continuously advertise via BLE with ID SPOTTR_BADGE_0XX Built scanner node firmware for ESP32-C6 to scan for BLE Devices with ID starting from SPOTTR_ Set up Raspberry Pi OS and installed MQTT broker Improved Scanner Node range by using antennas salvaged from old WiFi routers Added 30 second heartbeat from scanner to monitor online/offline status Future Work Write code for Python Pi Bridge to receive MQTT data and push to Firebase Continue work on landing page of the website"}, {"post_id": 2951, "ts": "2026-06-05T21:10:53Z", "hours": 4.8175, "text": "DEVLOG #1 — WEBSITE WORK BEGINS Note: Hardware arrives on 7th June, the real work starts then Website: https://spottr.brunogg.in Work Done Designed a model for the badge using Fusion 360 and logo using Canva Got Hero Section working Added 3D model of the product in website using React Three Fiber Added Intro animation to the website using AceternityUI where the SPOTTR text draws itself across the full screen with color gradient stroke on load, then fades to reveal the hero content. (Took alot longer to perfect and get timings as well as colors right 💀) Future Work Start hardware work the moment it arrives on 7th June Get the Pi Bridge system up and collecting RSSI data from scanner nodes"}]...
|
Title: Spottr by @BrunoGG | Stardance
Devlogs:
DE Title: Spottr by @BrunoGG | Stardance
Devlogs:
DEVLOG #1 — WEBSITE WORK BEGINS Note: Hardware arrives on 7th June, the real work starts then Website: https://spottr.brunogg.in Work Done Designed a model for the badge using Fusion 360 and logo using Canva Got Hero Section working Added 3D model of the product in website using React Three Fiber Added Intro animation to the website using AceternityUI where the SPOTTR text draws itself across the full screen with color gradient stroke on load, then fades to reveal the hero content. (Took alot longer to perfect and get timings as well as colors right 💀) Future Work Start hardware work the moment it arrives on 7th June Get the Pi Bridge system up and collecting RSSI data from scanner nodes
DEVLOG #2 — HARDWARE ARRIVES, FIRMWARE WORK BEGINS Finally the hardware arrived and I started work straight away… First time diving into this deep of C++ programming… Dam it was tough fr Website: https://spottr.brunogg.in/ Work Done Set up PlatformIO in VS Code for programming the ESP32 Boards Flashed badge firmware on ESP32-C3 to continuously advertise via BLE with ID SPOTTR_BADGE_0XX Built scanner node firmware for ESP32-C6 to scan for BLE Devices with ID starting from SPOTTR_ Set up Raspberry Pi OS and installed MQTT broker Improved Scanner Node range by using antennas salvaged from old WiFi routers Added 30 second heartbeat from scanner to monitor online/offline status Future Work Write code for Python Pi Bridge to receive MQTT data and push to Firebase Continue work on landing page of the website
DEVLOG #3 — WEBSITE POLISH + PI BRIDGE COMPLETE Website: https://spottr.brunogg.in Work Done Built floating navbar with sliding hover pill animation on desktop Added hamburger menu for mobile with smooth open/close animations and click-outside-to-close Logo centers on mobile, left-aligns on desktop Fixed SPOTTR intro animation to be properly centered on all screen sizes Made hero section fully responsive for mobile Pi Bridge now pushes live badge locations to Firebase RTDB and logs history to Firestore Added online/offline detection for both scanner nodes and badges with 60 second timeout Future Work Build admin dashboard with live floor map pulling from Firebase RTDB Add How It Works, Hardware and Software sections to landing page Add Firebase Auth to protect the dashboard Flash second scanner node and test strongest-signal room detection across multiple rooms Deep sleep badge firmware for battery life
DEVLOG #4 - LOGIN PAGE, BUG FIXES AND OVERHALL BADGE AND SCANNER FIRMWARE ALONG WITH CHANGES IN PI-BRIDGE Website: https://spottr.brunogg.in Work Done: Implemented a login page with Firebase Auth which supports but Google Sign-In as well as via Email & Password (Added a test user with its credentials posted on login page for future testing and for public showcase of the project) Added Protected routes - dashboard will remain inaccessible without logging in Switched the badge identification from using device_id ex. SPOTTR_BADGE_0XX to a MAC Address based identification coz its much more reliable and harder to spook Fixed some major and minor bugs Worked on the pi-bridge code to get readings of MAC Address . Set up Firebase RTDB badges/ node — each badge registered by MAC address with label, owner name and active status. This will be used in the dashboard to display owner names instead of raw MAC addresses and also used to assign a badge to a user and block or allow access Future Work: Build the admin dashboard with live floor map giving location data for each badge user Continue work on the landing page
DEVLOG #5 — STARTED WORK ON ADMIN DASHBOARD, IMPLEMENTED LIVE FLOOR MAP Website: https://spottr.brunogg.in Work Done: Started work on the admin dashboard Built the floor map feature and made it show in which room a badge is currently in Live badge dots render directly on the floor map, positioned in the room they were last detected in Added StatCards to the Overview page -> Badges Online, Scanners Online, Rooms Occupied, Total Badges Future Work Add dynamically updating status for scanners where pi-bridge sends a heartbeat and scanner-node responds to it Add sections to admin dashboard to add, remove or manage badges and scanners, along with a logs section to log any changes
DEVLOG #6 - SCANNER HEALTH CHECKS IMPLEMENTED, IDENTIFY SCANNERS VIA MAC, BADGE MANAGEMENT & OTA GROUNDWORK SET Website : https://spottr.brunogg.in Work Done: Built an active scanner health-check system - pi-bridge pings each scanner every 15s over MQTT, scanner replies with a pong , and a missed pong marks it offline within a few seconds. This replaced the old passive system where the scanner sent a heartbeat every 30 seconds to update its status Switched scanner identity to its MAC Address . with the pi-bridge verifying each scanner’s MAC and registering unknown scanners into Firebase as unassigned Refactored pi-bridge from one single large file into multiple sub-files ( config.py , handlers.py , health.py , presence.py , registry.py , state.py and main.py ) Started work on the Badges Management Page where the admin can add, edit, delete or enable/disable badges , where each row shows the live status of each badge as online/offline and current room, along with confirmation dialog boxes for destructive actions like deletion or disabling badges Laid the groundwork for OTA firmware updates for the scanner nodes, where I switched the scanner partition table to support two app slots, added semantic version tracking and comparison, and wrote the OTA update function (yet to be implemented properly) Future Work Fully implement the OTA function where the pi-bridge triggers the update by publishing the new firmware version over MQTT and automatically flash it to the scanners Add a captive portal where the scanners can be configured (Adding WiFi and Scanner IDs) without editing the code Build the Scanners Management page to assign rooms to auto-registered scanners and Logs Page to view history of every action performed
DEVLOG #7 - OTA FULLY IMPLEMENTED WITH AUTO-UPDATES, CAPTIVE PORTAL ADDED, FIRMWARE REFACTORED & STATUS LED Website : https://spottr.brunogg.in Work Done: Fully implemented Over-The-Air (OTA) updates for the scanner nodes. The pi-bridge watches Firebase for a new firmware version and publishes it over MQTT, each scanner compares it against its own version and only updates if it’s newer, then downloads, flashes and reboots itself. The version check runs on each scanner, so one publish updates every outdated node automatically Set up automatic releases using a GitHub Action, so publishing a new release on GitHub writes the version and download URL to Firebase on its own, which then cascades down to every scanner. Now a single release publish updates the whole fleet with no manual steps Added a WiFi captive portal for first-time scanner setup. On first boot the scanner hosts its own network and serves a 4-step wizard (name the room, connect WiFi, set the broker, confirm) styled to match the website. Config is saved to NVS after every step and the portal won’t let a scanner boot into normal mode until setup is fully complete, so one firmware image now works for every scanner without editing code Refactored the scanner firmware from one large file into separate modules ( config , portal , scanner , ota , led and globals ) for cleaner, more maintainable code Added a status LED on the scanner so its state can be read at a glance without a serial monitor - blinking while connecting, solid when online, a slow breathing fade while in the config portal, and a distinct pattern during an OTA update Fixed a bug where the dashboard counted an offline scanner as online, by trusting the health status set by the pi-bridge instead of guessing from the last-seen timestamp Future Work Build the Scanners Management page to assign rooms to auto-registered scanners and a Logs Page to view the history of every action performed Add offline buffering to the scanner firmware so badge detections aren’t lost if WiFi drops, and flush them once reconnected Add checksum verification to the OTA process so a corrupted download can’t be flashed to a scanner
DEVLOG #8 - MQTT AUTH, POWER-FAILURE RECOVERY, DASHBOARD REDESIGNED FROM SCRATCH Website : https://spottr.brunogg.in Work Done: Added MQTT username and password support across the whole stack. The captive portal now has optional auth fields, the credentials save to NVS with the rest of the config, and the pi-bridge authenticates the same way. Leaving them blank keeps the old anonymous behaviour, so nothing broke for existing setups Fixed a bug where every scanner broadcast the same setup network name . The AP name is built from the last two bytes of the device MAC, but it was being read from the WiFi driver before the interface existed, so every board came up as Spottr-Scanner-0000 . Reading the MAC directly from efuse fixed it, and each scanner now shows its real suffix, unique per device and stable across reboots Fixed a power-failure recovery bug that only showed up in the real deployment. When the power came back, the scanners booted in about two seconds but the router took closer to a minute, so the scanners found no network, assumed they were unconfigured, and dropped into the config portal. Every node had to be manually restarted. The logic was treating “can’t connect right now” as “isn’t set up”. Now a scanner with credentials in NVS retries WiFi indefinitely and only ever opens the portal if there are genuinely no credentials or the command is given over serial Added a WiFi watchdog to the main loop, so a dropout during normal operation reconnects on its own instead of leaving the scanner stuck retrying MQTT over a dead network Fixed the OTA status LED never actually animating . ledSet() only records the state, and the pin write happens in ledUpdate() , which runs from the main loop, but the OTA download blocks that loop entirely. So the LED just froze at whatever brightness it had. Driving it from httpUpdate ’s progress callback fixed it, and the pattern is twice as fast now so a quick update is still visible Redesigned the dashboard from scratch. Went for a design language closer to Nothing and Apple’s dark mode, so the whole thing is monochrome with mono uppercase labels, thin tabular numerals and a lot of empty space. Stripped out the animated gradient orbs, the dot-grid background and the glassmorphism, since that look is everywhere now and reads as generic. Cards are visible because they’re lighter than the page rather than because they have a border, and colour only appears where it means something, so a room lighting up when someone walks in is the only saturated thing on screen Rebuilt the Overview page as three columns, with stats and occupied rooms on the left, the floor map in the middle, and a badge rail on the right where every badge can be searched, edited, disabled or deleted without leaving the page. Added pan and zoom to the map Fixed a bug where any badge added through the dashboard would never show a location. New badges were saved with an uppercase MAC while the pi-bridge writes location keys in lowercase, so the two never matched. Pulled the MAC handling into a shared module so both pages normalise the same way Replaced the component-library sidebar with a custom animated one , and moved the shared liveness and badge logic into lib/status.js and lib/badges.js . The duplicated copies of that logic are exactly what let the floor map and the overview page drift apart and disagree about which scanners were online Future Work Build the Scanners Management page to assign rooms to auto-registered scanners and a Logs Page to view the history of every action performed Add offline buffering to the scanner firmware so badge detections aren’t lost if WiFi drops, and flush them once reconnected Add checksum verification to the OTA process so a corrupted download can’t be flashed to a scanner
DEVLOG #9 - BADGE CASE REDESIGNED, PRINTED AND ASSEMBLED Website : https://spottr.brunogg.in Demo : https://youtu.be/ntAMRt7f-G8 Work Done: Redesigned the badge enclosure from scratch in Fusion 360 to fit the new battery, which got thicker but smaller in footprint while the badge had to stay credit-card sized at 86 x 54 mm Made the whole model parametric , so every dimension falls out of a handful of named values and the next component change is a one-number edit instead of another rebuild Added the Spottr logo embossed on the lid and a USB-C cutout sized off the actual connector Got it printed through #printing-legion and it came out clean Assembled the hardware into it : XIAO ESP32-C3, LiPo and status LED all sit flat in the cavity with the lid seating properly on top
DEVLOG #10 - Prototyped the Scanner Nodes Case Website : https://spottr.brunogg.in Demo : https://youtu.be/ntAMRt7f-G8 Work Done: Modelled a case for the Scanner Node to just sit above a power supply (5V phone one USB-A to USB-C) Updated the BOM.csv file to include every component I’ve used…
Ships:
SPOTTR is an open-source indoor presence tracking system built on ESP32-C3 and Bluetooth Low Energy. Wear a badge, walk into a room, show up on the map....
|
1793703277.6432776
|
1793789677.6432776
|
|
31653
|
rekker, a personal portfolio by @gidmin | Stardanc rekker, a personal portfolio by @gidmin | Stardance...
|
gidmin
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-12T19:29:44Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Ship #1: I made a simple and professional portfolio for myself in order to display my skills and projects, called rekker. It includes an intro, about me, skills section, project section, contact info, and a nav bar at the top. The backgrounds of each section are formatted, for example the projects section has an interactive dot grid, the about me has a blurred shapes background, and the skills has a shifting gradient background. The nav bar has tabs to the right that will auto scroll to the section clicked, and the projects tab has a horizontal scroll bar for when I add more projects that I’ve made. I am really proud of the whole thing, but if I had to choose one thing that I’m most proud of, it would be the dot grid. It took a long time to build and format to only one section, and even longer to debug.", "repo": "https://github.com/rubberducky-png/rekker", "demo": "https://rubberducky-png.github.io/rekker/"}]...
|
[{"post_id": 27260, "ts": "202 [{"post_id": 27260, "ts": "2026-07-12T17:42:12Z", "hours": 1.3517, "text": "Devlog# 2: I fixed up the little things and polished the UI. I made the words on the upper right of the nav bar links so that you can click them and be scrolled to their respective sections. I also added an Onshape modeling card to the projects section. I added styling to each section, with a blurred moving shapes background to the about me, a gradient to the contact/links section, and a different, moving/rotating gradient to the skills section. I am going to ship this."}, {"post_id": 24439, "ts": "2026-07-08T00:13:18Z", "hours": 3.4694, "text": "DevLog #1: I just started to buil my personal website/portfolio, rekker . Today I made an outline for future improvement, creating all of the sections like the about me , skills , projects , my github , and my LinkedIn . I messed around with some styling and JavaScript in order to “fine-tune” the Things I’ve Built page, which now includes an interactive dot grid, animated project tabs, and the capacity for a horizontal scroll option when there are too many tabs to fit on screen at one. Most of this was pretty difficult for me, which is why it took over 3 hours, especially containing the dot grid, mouse positioning, and issues with disappearing borders. But I managed to debug anf fix most of everything."}]...
|
Title: rekker, a personal portfolio by @gidmin | S Title: rekker, a personal portfolio by @gidmin | Stardance
Devlogs:
DevLog #1: I just started to buil my personal website/portfolio, rekker . Today I made an outline for future improvement, creating all of the sections like the about me , skills , projects , my github , and my LinkedIn . I messed around with some styling and JavaScript in order to “fine-tune” the Things I’ve Built page, which now includes an interactive dot grid, animated project tabs, and the capacity for a horizontal scroll option when there are too many tabs to fit on screen at one. Most of this was pretty difficult for me, which is why it took over 3 hours, especially containing the dot grid, mouse positioning, and issues with disappearing borders. But I managed to debug anf fix most of everything.
Devlog# 2: I fixed up the little things and polished the UI. I made the words on the upper right of the nav bar links so that you can click them and be scrolled to their respective sections. I also added an Onshape modeling card to the projects section. I added styling to each section, with a blurred moving shapes background to the about me, a gradient to the contact/links section, and a different, moving/rotating gradient to the skills section. I am going to ship this.
Ships:
Ship #1: I made a simple and professional portfolio for myself in order to display my skills and projects, called rekker. It includes an intro, about me, skills section, project section, contact info, and a nav bar at the top. The backgrounds of each section are formatted, for example the projects section has an interactive dot grid, the about me has a blurred shapes background, and the skills has a shifting gradient background. The nav bar has tabs to the right that will auto scroll to the section clicked, and the projects tab has a horizontal scroll bar for when I add more projects that I’ve made. I am really proud of the whole thing, but if I had to choose one thing that I’m most proud of, it would be the dot grid. It took a long time to build and format to only one section, and even longer to debug....
|
1793703276.4377334
|
1793789676.4377334
|
|
65643
|
My awesome macropad! by @Shahidur-Rahaman | Starda My awesome macropad! by @Shahidur-Rahaman | Stardance...
|
Shahidur-Rahaman
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Shahidur-Rahaman | Title: My awesome macropad! by @Shahidur-Rahaman | Stardance...
|
1793703275.5293648
|
1794308075.5293648
|
|
1497
|
My awesome macropad! by @andrewjac | Stardance
|
andrewjac
|
1
|
3.42
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-03T04:26:00Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a “Hackpad” that will eventually be used to cut, copy, and paste. It was difficulting to navigate through multiple things I had never seen before. For example, setting up a new GitHub page, which I had never done before, or making the electronic part of it. Over all, I would say I had fun doing this project and can’t wait to put it together.", "repo": "https://github.com/ajstaats/Hackpad", "demo": ""}]...
|
[{"post_id": 1784, "ts": "2026 [{"post_id": 1784, "ts": "2026-06-03T23:56:55Z", "hours": 0.4236, "text": "I fixed a few things. I worked on the Github Repo and the Cad model for the PCB board holder"}, {"post_id": 1260, "ts": "2026-06-03T04:15:37Z", "hours": 1.2394, "text": "I finished the final touches of the Hackpad and worked on the CAD model"}, {"post_id": 1062, "ts": "2026-06-02T21:23:19Z", "hours": 1.8072, "text": "I finished the PCB and am moving on to coding"}]...
|
Title: My awesome macropad! by @andrewjac | Starda Title: My awesome macropad! by @andrewjac | Stardance
Devlogs:
I finished the PCB and am moving on to coding
I finished the final touches of the Hackpad and worked on the CAD model
I fixed a few things. I worked on the Github Repo and the Cad model for the PCB board holder
Ships:
I made a “Hackpad” that will eventually be used to cut, copy, and paste. It was difficulting to navigate through multiple things I had never seen before. For example, setting up a new GitHub page, which I had never done before, or making the electronic part of it. Over all, I would say I had fun doing this project and can’t wait to put it together....
|
1793703274.334722
|
1793789674.334722
|
|
65642
|
Jarvis by @bilalbijapur9 | Stardance
|
bilalbijapur9
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Jarvis by @bilalbijapur9 | Stardance
|
1793703273.4266636
|
1794308073.4266636
|
|
23165
|
Planter Dividers by @isadora_M | Stardance
|
isadora_M
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T19:09:39Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Planter Dividers Ship! - This was a relatively quick project I built to solve a real-life problem I have. I have planters that are nailed into the top of my 6’ fence. This makes watering the plants very difficult without giving everyone on the sidewalk an involuntary shower. My solution was to create inserts for the planter bed that can be easily removed to make watering easier, along with allowing for rearranging. The project includes full and half size inserts, with full and half size aeration trays. Both sizes are identical except for the width, and all feature water drainage holes and grooves. Dealing with the usual challenges of Onshape constraints and dimensions was a joy as always, but eventually I used a system of midpoint lines to create a scalable grid for water drainage holes.", "repo": "https://github.com/IsaJM111/Planter-Dividers", "demo": ""}]...
|
[{"post_id": 17076, "ts": "202 [{"post_id": 17076, "ts": "2026-06-27T18:39:46Z", "hours": 1.1831, "text": "Planter Dividers Devlog #2- I have added the half size version! I updated the full size to use a grid created by lines and midpoints for the water drainage holes, so that if it is resized, the water hole grid will not be messed up. I also created a half and full size aeration tray for plants that need more water drainage. I used a similar method for creating the grid, so creating the half size was as easy as changing the dimensions of the original sketch and deleting half of the squares. This project is pretty much done and I have printed some demos using PLA."}, {"post_id": 12732, "ts": "2026-06-20T20:20:04Z", "hours": 0.825, "text": "Started working on the base parts for the modular planter dividers! The idea is that eventually it will be a modular system with different types of inserts for built-in planter bases. Currently built the basic insert, but I plan to add different sizes and sliders to make insertion/removal easier!"}]...
|
Title: Planter Dividers by @isadora_M | Stardance
Title: Planter Dividers by @isadora_M | Stardance
Devlogs:
Started working on the base parts for the modular planter dividers! The idea is that eventually it will be a modular system with different types of inserts for built-in planter bases. Currently built the basic insert, but I plan to add different sizes and sliders to make insertion/removal easier!
Planter Dividers Devlog #2- I have added the half size version! I updated the full size to use a grid created by lines and midpoints for the water drainage holes, so that if it is resized, the water hole grid will not be messed up. I also created a half and full size aeration tray for plants that need more water drainage. I used a similar method for creating the grid, so creating the half size was as easy as changing the dimensions of the original sketch and deleting half of the squares. This project is pretty much done and I have printed some demos using PLA.
Ships:
Planter Dividers Ship! - This was a relatively quick project I built to solve a real-life problem I have. I have planters that are nailed into the top of my 6’ fence. This makes watering the plants very difficult without giving everyone on the sidewalk an involuntary shower. My solution was to create inserts for the planter bed that can be easily removed to make watering easier, along with allowing for rearranging. The project includes full and half size inserts, with full and half size aeration trays. Both sizes are identical except for the width, and all feature water drainage holes and grooves. Dealing with the usual challenges of Onshape constraints and dimensions was a joy as always, but eventually I used a system of midpoint lines to create a scalable grid for water drainage holes....
|
1793703272.2416754
|
1793789672.2416754
|
|
12525
|
CLI System Health Monitor Dashboard by @Greg_ios | CLI System Health Monitor Dashboard by @Greg_ios | Stardance...
|
Greg_ios
|
1
|
2.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-20T12:20:49Z", "hours": 2.0, "multiplier": 2.15, "payout": 3, "blessing": "neutral", "text": "A real-time terminal dashboard built with Python that monitors your system’s vital statistics live. More info: https://github.com/travletothefurureprogramming/System-Health-Monitor-Dashboard/blob/main/README.md", "repo": "https://github.com/travletothefurureprogramming/System-Health-Monitor-Dashboard/", "demo": "https://github.com/travletothefurureprogramming/System-Health-Monitor-Dashboard/releases/tag/Release"}]...
|
[{"post_id": 4823, "ts": "2026 [{"post_id": 4823, "ts": "2026-06-08T10:29:50Z", "hours": 0.4033, "text": "Add up time montitor and finalize some things also make a clean README and github release!!!"}, {"post_id": 4815, "ts": "2026-06-08T10:03:41Z", "hours": 0.2786, "text": "Add CPU temperature monitoring and improve network speed formatting"}, {"post_id": 4805, "ts": "2026-06-08T09:37:01Z", "hours": 0.4897, "text": "Refactor system health monitoring functions and enhance network speed calculations. Also make a clean dashboard using rich"}, {"post_id": 4794, "ts": "2026-06-08T09:04:41Z", "hours": 0.3881, "text": "Set up the project structure and implemented basic system metrics reading with psutil. Collects CPU %, RAM %, disk usage, and uptime — prints cleanly to terminal. Took ~15 min, simple but solid foundation for the dashboard."}]...
|
Title: CLI System Health Monitor Dashboard by @Gre Title: CLI System Health Monitor Dashboard by @Greg_ios | Stardance
Devlogs:
Set up the project structure and implemented basic system metrics reading with psutil. Collects CPU %, RAM %, disk usage, and uptime — prints cleanly to terminal. Took ~15 min, simple but solid foundation for the dashboard.
Refactor system health monitoring functions and enhance network speed calculations. Also make a clean dashboard using rich
Add CPU temperature monitoring and improve network speed formatting
Add up time montitor and finalize some things also make a clean README and github release!!!
Ships:
A real-time terminal dashboard built with Python that monitors your system’s vital statistics live. More info: https://github.com/travletothefurureprogramming/System-Health-Monitor-Dashboard/blob/main/README.md...
|
1793703271.0579512
|
1793789671.0579512
|