|
63121
|
COSMIC LENS by @jermybiju | Stardance
|
jermybiju
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T16:28:57Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built Cosmic Lens, a NASA APOD viewer. fetches NASA’s daily astronomy image, lets you browse any past image from June 1995 onwards, and has favorites saved to localstorage. What was challenging: getting Vite’s .env setup to work for the API key, a timezone bug in the prev or next nav (toISOString uses UTC so my IST dates were off by a day) and a CORS issue with a download button I ended up removing. What I’m most proud of is it all works .first project I’ve shipped with a real build system and API integration To test: just open the live link. Try the random button, arrow keys to navigate, and click the star to save your favorites. no login needed.", "repo": "https://github.com/jermybiju/COSMIC-LENS", "demo": "https://jermybiju.github.io/COSMIC-LENS/"}]...
|
[{"post_id": 70144, "ts": "202 [{"post_id": 70144, "ts": "2026-09-18T15:33:18Z", "hours": 1.0592, "text": "added a few more things. prev or next day buttons so i can jump between images without the date picker every time. also keyboard navigation with left or right arrows. added a share button that copies the url with the date so sending someone a link shows the same image. took a bit to figure out URL SearchParams for reading the date back. also added my contact details (github, email, instagram) to the footer and readme. had a timezone bug with prev or next , they were jumping 2 days back because toISOString() uses UTC and im in IST. fixed it with a local date helper and noon time. tried a download button but CORS blocked it. removed it instead of shipping something broken. its completed now"}, {"post_id": 70070, "ts": "2026-09-18T12:03:16Z", "hours": 3.3675, "text": "I worked on the css today, I decided to go with a black background and purple accents since the site’s theme is space. I went with color names such as mediumpurple and gold for the accents instead of hex codes, easier to remember. I spent a lot of time working on the starfield, in the end, i decide to use sevral radial gradients to simulate stars and a twinkle animation. used google fonts for the space vibe ,orbitron for titles and space grotesk for body. made it responsive too, buttons stack on mobile. also had to add maxheight and objectfit ,contain on the image because some nasa pics are larg and would break the layout"}, {"post_id": 69756, "ts": "2026-09-17T18:47:25Z", "hours": 3.1469, "text": "I have started the mission today. Vite setup was complicated because I have never used anything other than raw HTML, but I managed to configure it according to the documentation. I chose the vanilla plus javascript option. The .env file configuration was confusing and took me forever to complete. First, I tried putting the API key in main.js, but then I realized that it has to be a .env file that has to have VITE_ at the beginning of the variable name, or it will not work. It took me around 20 minutes to realize that I was putting the file in the wrong directory, so it always said undefined. api works now. just console logged the data to check"}]...
|
Title: COSMIC LENS by @jermybiju | Stardance
Devl Title: COSMIC LENS by @jermybiju | Stardance
Devlogs:
I have started the mission today. Vite setup was complicated because I have never used anything other than raw HTML, but I managed to configure it according to the documentation. I chose the vanilla plus javascript option. The .env file configuration was confusing and took me forever to complete. First, I tried putting the API key in main.js, but then I realized that it has to be a .env file that has to have VITE_ at the beginning of the variable name, or it will not work. It took me around 20 minutes to realize that I was putting the file in the wrong directory, so it always said undefined. api works now. just console logged the data to check
I worked on the css today, I decided to go with a black background and purple accents since the site’s theme is space. I went with color names such as mediumpurple and gold for the accents instead of hex codes, easier to remember. I spent a lot of time working on the starfield, in the end, i decide to use sevral radial gradients to simulate stars and a twinkle animation. used google fonts for the space vibe ,orbitron for titles and space grotesk for body. made it responsive too, buttons stack on mobile. also had to add maxheight and objectfit ,contain on the image because some nasa pics are larg and would break the layout
added a few more things. prev or next day buttons so i can jump between images without the date picker every time. also keyboard navigation with left or right arrows. added a share button that copies the url with the date so sending someone a link shows the same image. took a bit to figure out URL SearchParams for reading the date back. also added my contact details (github, email, instagram) to the footer and readme. had a timezone bug with prev or next , they were jumping 2 days back because toISOString() uses UTC and im in IST. fixed it with a local date helper and noon time. tried a download button but CORS blocked it. removed it instead of shipping something broken. its completed now
Ships:
Built Cosmic Lens, a NASA APOD viewer. fetches NASA’s daily astronomy image, lets you browse any past image from June 1995 onwards, and has favorites saved to localstorage. What was challenging: getting Vite’s .env setup to work for the API key, a timezone bug in the prev or next nav (toISOString uses UTC so my IST dates were off by a day) and a CORS issue with a download button I ended up removing. What I’m most proud of is it all works .first project I’ve shipped with a real build system and API integration To test: just open the live link. Try the random button, arrow keys to navigate, and click the star to save your favorites. no login needed....
|
1793210211.3702283
|
1793296611.3702283
|
|
61771
|
Marble Guessing Game by @tvrun_x_yadav | Stardance
|
tvrun_x_yadav
|
0
|
0.32
|
0
|
[]
|
[{"post_id": 70147, "ts": "202 [{"post_id": 70147, "ts": "2026-09-18T15:40:16Z", "hours": 0.3192, "text": "Just made the rought draft of my game guess the marbles. you have to guess how many marbles are inside the jar. i kept the degine really simple for now will add more later"}]...
|
Title: Marble Guessing Game by @tvrun_x_yadav | St Title: Marble Guessing Game by @tvrun_x_yadav | Stardance
Devlogs:
Just made the rought draft of my game guess the marbles. you have to guess how many marbles are inside the jar. i kept the degine really simple for now will add more later...
|
1793040841.1085992
|
1793645641.1085992
|
|
63477
|
Project AI Drone by @Bhavyadeep | Stardance
|
Bhavyadeep
|
0
|
0.32
|
0
|
[]
|
[{"post_id": 70151, "ts": "202 [{"post_id": 70151, "ts": "2026-09-18T15:49:57Z", "hours": 0.3169, "text": "Project AI Drone- so i have just completed my BOM and also made my first Timelapse using Lapse!!! also i will be giving updates very frequently and if anybody wants to ask about the project or help me with Vision AI be sure to contact me on slack or instaa insta:qwertyshaurya880"}]...
|
Title: Project AI Drone by @Bhavyadeep | Stardance Title: Project AI Drone by @Bhavyadeep | Stardance
Devlogs:
Project AI Drone- so i have just completed my BOM and also made my first Timelapse using Lapse!!! also i will be giving updates very frequently and if anybody wants to ask about the project or help me with Vision AI be sure to contact me on slack or instaa insta:qwertyshaurya880...
|
1793051484.8478198
|
1793656284.8478198
|
|
62533
|
Airin's Desk by @airinazaria_h_putri | Stardan Airin's Desk by @airinazaria_h_putri | Stardance...
|
airinazaria_h_putri
|
0
|
4.13
|
0
|
[]
|
[{"post_id": 70165, "ts": "202 [{"post_id": 70165, "ts": "2026-09-18T16:41:56Z", "hours": 1.2136, "text": "I’m really clueless of what should i put here to.. like, an hour just to wandering and deleting.. but i’m still making progress by making the other page tho.."}, {"post_id": 69687, "ts": "2026-09-17T16:06:33Z", "hours": 1.555, "text": "Making desc and infinite scrollbar"}, {"post_id": 68714, "ts": "2026-09-15T16:25:19Z", "hours": 1.3631, "text": "Working on Landing page!! I don’t really know what should i put here.."}]...
|
Title: Airin's Desk by @airinazaria_h_putri | Title: Airin's Desk by @airinazaria_h_putri | Stardance
Devlogs:
Working on Landing page!! I don’t really know what should i put here..
Making desc and infinite scrollbar
I’m really clueless of what should i put here to.. like, an hour just to wandering and deleting.. but i’m still making progress by making the other page tho.....
|
1793044488.343049
|
1793649288.343049
|
|
58184
|
WAR0WARE by @mahith | Stardance
|
mahith
|
2
|
8.3
|
10
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T16:48:23Z", "hours": 0.0, "multiplier": 2.33, "payout": 1, "blessing": "neutral", "text": "i made a warioware type minigame in godot. the hardest thing was debugging the timer and scene changes to work without resetting my score i am proud thats runs smooth now lol. to test jopen the itch link and play in browser, react quick to get the prompts.", "repo": "https://github.com/mahi-73/waroware", "demo": "https://mahith-chethan.itch.io/warioware"}, {"ship_num": 2, "ts": "2026-09-04T13:13:16Z", "hours": 8.0, "multiplier": 1.08, "payout": 9, "blessing": "neutral", "text": "i made warioware game in godot the hard part is coding which i took help from ai i am proud that my game is working to test the game u should click the targets nd avoid bombs in the screen and press space bar fast to win the game", "repo": "https://github.com/mahi-73/waroware", "demo": "https://mahith-chethan.itch.io/warioware"}]...
|
[{"post_id": 70185, "ts": "202 [{"post_id": 70185, "ts": "2026-09-18T17:14:54Z", "hours": 0.3, "text": "built a lil warioware minigame in godot. hardest part was fixin the timer and not breakin the score counter whenever changing scenes haha. pretty happy it runs in browser now. just open the itch link and click fast when prompts pop up"}, {"post_id": 70166, "ts": "2026-09-18T16:43:29Z", "hours": 0.4833, "text": "finshtouches nd web build fixed the score resetting , changed up the timer, and got the web build working on itch.io."}, {"post_id": 61479, "ts": "2026-09-04T12:41:34Z", "hours": 8.3064, "text": "i built a warioware game in godot nd added a target cliclicker with bomb nd freezer with a spacebar mash game nd added win nd loss nd upladed in itch.io for everyone to play"}]...
|
Title: WAR0WARE by @mahith | Stardance
Devlogs:
i Title: WAR0WARE by @mahith | Stardance
Devlogs:
i built a warioware game in godot nd added a target cliclicker with bomb nd freezer with a spacebar mash game nd added win nd loss nd upladed in itch.io for everyone to play
finshtouches nd web build fixed the score resetting , changed up the timer, and got the web build working on itch.io.
built a lil warioware minigame in godot. hardest part was fixin the timer and not breakin the score counter whenever changing scenes haha. pretty happy it runs in browser now. just open the itch link and click fast when prompts pop up
Ships:
i made warioware game in godot the hard part is coding which i took help from ai i am proud that my game is working to test the game u should click the targets nd avoid bombs in the screen and press space bar fast to win the game
i made a warioware type minigame in godot. the hardest thing was debugging the timer and scene changes to work without resetting my score i am proud thats runs smooth now lol. to test jopen the itch link and play in browser, react quick to get the prompts....
|
1793332235.4235308
|
1793418635.4235308
|
|
61183
|
first project: clock by @paper14 | Stardance
|
paper14
|
0
|
7.21
|
0
|
[]
|
[{"post_id": 70189, "ts": "202 [{"post_id": 70189, "ts": "2026-09-18T17:29:18Z", "hours": 2.0675, "text": "I am almost done with my clock!! now i need to arrange it and try to submit. hopefully i only have to do small changes because this is difficult"}, {"post_id": 69808, "ts": "2026-09-17T20:24:09Z", "hours": 1.9625, "text": "I spent time to make my case look fun! meow like a cat"}, {"post_id": 69626, "ts": "2026-09-17T13:13:35Z", "hours": 0.6667, "text": "I am now customizing my case so it is unique"}, {"post_id": 69399, "ts": "2026-09-16T23:49:48Z", "hours": 1.9667, "text": "I made a case, almost!"}, {"post_id": 68935, "ts": "2026-09-16T02:14:18Z", "hours": 0.5461, "text": "i finished my PCB! i dunno what it entirely does but we’ll find out"}]...
|
Title: first project: clock by @paper14 | Stardanc Title: first project: clock by @paper14 | Stardance
Devlogs:
i finished my PCB! i dunno what it entirely does but we’ll find out
I made a case, almost!
I am now customizing my case so it is unique
I spent time to make my case look fun! meow like a cat
I am almost done with my clock!! now i need to arrange it and try to submit. hopefully i only have to do small changes because this is difficult...
|
1793037252.2323635
|
1793642052.2323635
|
|
4190
|
Claude Second Brain Harness by @xerneas | Stardanc Claude Second Brain Harness by @xerneas | Stardance...
|
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-11T19:56:31Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Claude Harness that is light enough and not extra enough for daily use. After messing around with openclaw I saw that the costs and features were simply too extra. This is a great life planner that can be run simply even with lower end models like claude haiku.", "repo": "https://github.com/xerneas3318/claude-monorepo", "demo": "https://github.com/xerneas3318/claude-monorepo/releases/tag/v1.0.0"}]...
|
[{"post_id": 7019, "ts": "2026 [{"post_id": 7019, "ts": "2026-06-11T19:34:17Z", "hours": 0.2214, "text": "What it is A markdown-only second-brain that Claude Code reads at every session start and edits as you talk to it. Everything lives as plain .md files in a fixed directory tree- no database, no proprietary format. Two repos, one system brain-template: the harness itself. CLAUDE.md (the session-start instructions Claude reads), a templates/ folder, and a directory skeleton (daily/, backlog/, goals/, notes/, projects/, routines/, memory/, archive/). Drop your real notes in, edit memory/context.md, and Claude becomes a proactive planner. ClaudePlanner: the phone + sync layer on top of the harness. iOS app (SwiftUI) for Today/Browse views with tap-to-toggle, drag reorder, talk-to-Claude with on-device speech. A Node sync-daemon does bidirectional brain/ ↔ Firestore sync. A Fastify relay exposes the Claude Agent SDK with Firebase auth + MCP tools (list_today, read_file, add_task, check_task). Flow You write/edit a task in daily/today.md (or tell Claude on phone, or check a box). sync-daemon mirrors the change to Firestore. iOS app live-listens and updates instantly. Closing the loop: when Claude (on phone or terminal) edits files via the relay, sync-daemon writes them back to disk. Full iOS and server support will be shown soon"}]...
|
Title: Claude Second Brain Harness by @xerneas | S Title: Claude Second Brain Harness by @xerneas | Stardance
Devlogs:
What it is A markdown-only second-brain that Claude Code reads at every session start and edits as you talk to it. Everything lives as plain .md files in a fixed directory tree- no database, no proprietary format. Two repos, one system brain-template: the harness itself. CLAUDE.md (the session-start instructions Claude reads), a templates/ folder, and a directory skeleton (daily/, backlog/, goals/, notes/, projects/, routines/, memory/, archive/). Drop your real notes in, edit memory/context.md, and Claude becomes a proactive planner. ClaudePlanner: the phone + sync layer on top of the harness. iOS app (SwiftUI) for Today/Browse views with tap-to-toggle, drag reorder, talk-to-Claude with on-device speech. A Node sync-daemon does bidirectional brain/ ↔ Firestore sync. A Fastify relay exposes the Claude Agent SDK with Firebase auth + MCP tools (list_today, read_file, add_task, check_task). Flow You write/edit a task in daily/today.md (or tell Claude on phone, or check a box). sync-daemon mirrors the change to Firestore. iOS app live-listens and updates instantly. Closing the loop: when Claude (on phone or terminal) edits files via the relay, sync-daemon writes them back to disk. Full iOS and server support will be shown soon
Ships:
Claude Harness that is light enough and not extra enough for daily use. After messing around with openclaw I saw that the costs and features were simply too extra. This is a great life planner that can be run simply even with lower end models like claude haiku....
|
1792878737.4575262
|
1793742737.4575262
|
|
62758
|
TermiNote by @yamex | Stardance
|
yamex
|
0
|
1.12
|
0
|
[]
|
[{"post_id": 70193, "ts": "202 [{"post_id": 70193, "ts": "2026-09-18T17:51:20Z", "hours": 1.1172, "text": "Just finished my first full program with python!"}]...
|
Title: TermiNote by @yamex | Stardance
Devlogs:
J Title: TermiNote by @yamex | Stardance
Devlogs:
Just finished my first full program with python!...
|
1793047773.975253
|
1793652573.975253
|
|
61527
|
Blare by @checkers | Stardance
|
checkers
|
0
|
7.19
|
0
|
[]
|
[{"post_id": 70199, "ts": "202 [{"post_id": 70199, "ts": "2026-09-18T18:04:53Z", "hours": 0.4044, "text": "finished the code, you have to hit a qte perfect in order to turn off the alarm"}, {"post_id": 70184, "ts": "2026-09-18T17:11:31Z", "hours": 3.0669, "text": "Done with the case, this doesnt use any screws at all and I’m really proud of this fact. Also ive minimized the spaced used https://lapse.hackclub.com/timelapse/DVkP1Z7_2DTN"}, {"post_id": 69624, "ts": "2026-09-17T13:09:58Z", "hours": 1.25, "text": "Screwed up, i need space between key spaces, it was too close previously, now it must be spaced out on the pcb itself https://lapse.hackclub.com/timelapse/761gkN8O9SzK"}, {"post_id": 67042, "ts": "2026-09-13T02:43:40Z", "hours": 2.4669, "text": "Started and finished the pcb. Started the board it self which will hold it down https://lapse.hackclub.com/timelapse/2h2PNcwuiYHh"}]...
|
Title: Blare by @checkers | Stardance
Devlogs:
St Title: Blare by @checkers | Stardance
Devlogs:
Started and finished the pcb. Started the board it self which will hold it down https://lapse.hackclub.com/timelapse/2h2PNcwuiYHh
Screwed up, i need space between key spaces, it was too close previously, now it must be spaced out on the pcb itself https://lapse.hackclub.com/timelapse/761gkN8O9SzK
Done with the case, this doesnt use any screws at all and I’m really proud of this fact. Also ive minimized the spaced used https://lapse.hackclub.com/timelapse/DVkP1Z7_2DTN
finished the code, you have to hit a qte perfect in order to turn off the alarm...
|
1793040671.643491
|
1793645471.643491
|
|
46325
|
Cyberpunk Macro-pad by @gemzaidahmad | Stardance
|
gemzaidahmad
|
0
|
19.67
|
0
|
[]
|
[{"post_id": 70201, "ts": "202 [{"post_id": 70201, "ts": "2026-09-18T18:05:32Z", "hours": 0.3222, "text": "I have finished the code and the 3D model. I did most work off camera because I thought it wouldn’t take much time (I was wrong )However, I am still trying to spend as much time as possible to be absolutely sure to get rid of any bugs and inconsistencies.✌️"}, {"post_id": 65494, "ts": "2026-09-10T17:49:22Z", "hours": 1.3353, "text": "I made the firmware for the Macro-pad(ig?): So uh I practically relied heavily on the guide and AI for this part because QMK is not exactly Arduino IDE, so I ultimately decided to use VS code for now Devlog update: Added more bugs to fix later lol"}, {"post_id": 63025, "ts": "2026-09-06T16:18:50Z", "hours": 8.8772, "text": "Completed the CAD and redid the PCB: I haven’t been posting in a while because I decided to complete the enclosure for the macro-pad first. I changed the CAD software 3 times LOL. I went from Fusion to TinkerCAD because I found it quite intimidating at first then from TinkerCAD to Onshape because I found TinkerCAD too basic to make such detailed models without spending too much time.(Maybe that’s just a skill issue LOL). Then I switched back to Fusion because I realised I could just import the PCB as .step file, so I don’t have to manually put in each and every measurement. I also redid the PCB because I had unknowingly let the switches overlap slightly and I thought I should make it smaller. Now, I will begin with the firmware tomorrow."}, {"post_id": 57366, "ts": "2026-08-29T14:25:07Z", "hours": 3.7044, "text": "Finished the PCB and Schematics I know I hadn’t been posting a dev-log in a while, but I had been working on the PCB and schematics. Since this was my first PCB design in Ki-Cad, when I finished the designing part, I found out that I had more than 100 errors LOL. Most of them were caused by some footprint errors and me being a complete newbie with the software. So… I re-did it T_T. But now, I have managed to blip the errors out of existence LOL, and I have made the PCB look more futuristic rather than something you would find in an average college project. I am doing the modelling part now, which tbh I think is the most crucial yet simple part of this project. I am too excited to see the end product ;)"}, {"post_id": 51199, "ts": "2026-08-20T18:28:04Z", "hours": 2.4989, "text": "PCB designing : I managed to complete the designing of the PCB. I made quite a lot of mistakes and had to redo it multiple times(I accidentally wired the diodes in reverse bias lol). I also tried to make the cable management better and make it more compact. Nevertheless, I learnt quite a lot throughout the process. There are still some errors in the PCB files which I plan to resolve very soon. P.S. Routing the PCB tracers is oddly satisfying :)"}, {"post_id": 49782, "ts": "2026-08-18T18:27:22Z", "hours": 1.3722, "text": "Cyberpunk Themed Macro-pad: I started working on the PCB for my cyberpunk-themed macro-pad. I experimented with multiple layouts before selecting one. As this is my first time designing a PCB using a proper software rather than making rough sketches of circuits, it took quite a while to familiarize myself with the software. There is still a lot of work to be done but I already like where it’s going and I can’t wait to see how it turns out in the end :3"}, {"post_id": 48410, "ts": "2026-08-16T18:59:44Z", "hours": 1.5567, "text": "Schematics for the Cyberpunk-style Macro-pad I designed the schematics for my Cyberpunk-style Macro-pad. The hardware is built around a Seeduino Xiao, 6 Keys, a rotary encoder, RGB lighting and an OLED panel. The hardware part is relatively straightforward so I intend to make it more unique during the design and coding stages; especially through the overall Cyberpunk-style aesthetic. This is my first dev-log of this project. I can’t wait to see how it turns out in the end :)"}]...
|
Title: Cyberpunk Macro-pad by @gemzaidahmad | Star Title: Cyberpunk Macro-pad by @gemzaidahmad | Stardance
Devlogs:
Schematics for the Cyberpunk-style Macro-pad I designed the schematics for my Cyberpunk-style Macro-pad. The hardware is built around a Seeduino Xiao, 6 Keys, a rotary encoder, RGB lighting and an OLED panel. The hardware part is relatively straightforward so I intend to make it more unique during the design and coding stages; especially through the overall Cyberpunk-style aesthetic. This is my first dev-log of this project. I can’t wait to see how it turns out in the end :)
Cyberpunk Themed Macro-pad: I started working on the PCB for my cyberpunk-themed macro-pad. I experimented with multiple layouts before selecting one. As this is my first time designing a PCB using a proper software rather than making rough sketches of circuits, it took quite a while to familiarize myself with the software. There is still a lot of work to be done but I already like where it’s going and I can’t wait to see how it turns out in the end :3
PCB designing : I managed to complete the designing of the PCB. I made quite a lot of mistakes and had to redo it multiple times(I accidentally wired the diodes in reverse bias lol). I also tried to make the cable management better and make it more compact. Nevertheless, I learnt quite a lot throughout the process. There are still some errors in the PCB files which I plan to resolve very soon. P.S. Routing the PCB tracers is oddly satisfying :)
Finished the PCB and Schematics I know I hadn’t been posting a dev-log in a while, but I had been working on the PCB and schematics. Since this was my first PCB design in Ki-Cad, when I finished the designing part, I found out that I had more than 100 errors LOL. Most of them were caused by some footprint errors and me being a complete newbie with the software. So… I re-did it T_T. But now, I have managed to blip the errors out of existence LOL, and I have made the PCB look more futuristic rather than something you would find in an average college project. I am doing the modelling part now, which tbh I think is the most crucial yet simple part of this project. I am too excited to see the end product ;)
Completed the CAD and redid the PCB: I haven’t been posting in a while because I decided to complete the enclosure for the macro-pad first. I changed the CAD software 3 times LOL. I went from Fusion to TinkerCAD because I found it quite intimidating at first then from TinkerCAD to Onshape because I found TinkerCAD too basic to make such detailed models without spending too much time.(Maybe that’s just a skill issue LOL). Then I switched back to Fusion because I realised I could just import the PCB as .step file, so I don’t have to manually put in each and every measurement. I also redid the PCB because I had unknowingly let the switches overlap slightly and I thought I should make it smaller. Now, I will begin with the firmware tomorrow.
I made the firmware for the Macro-pad(ig?): So uh I practically relied heavily on the guide and AI for this part because QMK is not exactly Arduino IDE, so I ultimately decided to use VS code for now Devlog update: Added more bugs to fix later lol
I have finished the code and the 3D model. I did most work off camera because I thought it wouldn’t take much time (I was wrong )However, I am still trying to spend as much time as possible to be absolutely sure to get rid of any bugs and inconsistencies.✌️...
|
1793379208.2999463
|
1793984008.2999463
|
|
63484
|
MacroPad by @fedcr | Stardance
|
fedcr
|
0
|
1.02
|
0
|
[]
|
[{"post_id": 70205, "ts": "202 [{"post_id": 70205, "ts": "2026-09-18T18:14:56Z", "hours": 0.3333, "text": "I have made the 3d printable case. I want this macropad to be easy and most important: Los Angeles Lakers themed"}, {"post_id": 70188, "ts": "2026-09-18T17:19:46Z", "hours": 0.6836, "text": "I have made the whole PCB for a MacroPad with 3 keys. Later I will work on a CAD development for the 3D case"}]...
|
Title: MacroPad by @fedcr | Stardance
Devlogs:
I Title: MacroPad by @fedcr | Stardance
Devlogs:
I have made the whole PCB for a MacroPad with 3 keys. Later I will work on a CAD development for the 3D case
I have made the 3d printable case. I want this macropad to be easy and most important: Los Angeles Lakers themed...
|
1793051488.2688947
|
1793656288.2688947
|
|
4738
|
PICOLATOR V2 by @fedi41 | Stardance
|
fedi41
|
1
|
71.72
|
702
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T09:01:35Z", "hours": 51.0, "multiplier": 13.73, "payout": 702, "blessing": "neutral", "text": "PICOLATOR v2.1 Beta This is the first ship of my big project: Picolator . Picolator is a handheld device powered by a Raspberry Pi Pico, running a custom operating system that I wrote from scratch in C++. 🧩 Features At this stage, Picolator includes: 🎮 PicoDino A simple remake of the classic dinosaur runner game. 🖥️ Custom UI Engine A lightweight interface system with different blend modes and a modular structure. 🧭 Main Menu System An app launcher for navigating between installed applications. ⚙️ Settings App A basic settings interface for system configuration. 🎨 Theming Support Custom themes based on Tailwind-style color palettes. 🚀 Status This is an early beta release. More features, apps, and improvements are planned for future updates.", "repo": "https://github.com/fedi41/picolator2", "demo": "https://fedi41.github.io/picolator/"}]...
|
[{"post_id": 70207, "ts": "202 [{"post_id": 70207, "ts": "2026-09-18T18:17:53Z", "hours": 2.8942, "text": "Simple taskbar! Added a simple status bar to the picolator! At the time its very minimal, but later it will show more stuff. How it works The status bat shows the currently running app by accessing the Navigator class. It is displayed over the current app, but before the all the features. Why I did it I thought that it would be nice to always know which app you are in, and because I dont want to put a header in each app, a status bar is the best solution. Also, I can later use it to show other stuff so its just nice to have :D Whats about the AI chat app I never finished? well… its still not finished idk if it ever will be finished. Conclusion I actually did varios stuff, but the most major change I made was the status bar so I post it here. Thanks for reading btw XD"}, {"post_id": 65203, "ts": "2026-09-10T05:18:26Z", "hours": 5.0075, "text": "5 Hours for almost nothing xD well its been very long time, I’ve been working on the AI app all this time… I almost made it so you can enter your own api key, but like always it isnt saving properly and is just not working. I also improved the AI chat a bit, made so it shows the errors, only for it to always show “UNKNOWN ERROR”. It kinda looks that the project is a bit dead a the time, I dont know if I will be posting so often. Other things that are not related to the project I switched to arch btw And I am finally comfortable with neovim :D"}, {"post_id": 46720, "ts": "2026-08-14T05:11:48Z", "hours": 2.1681, "text": "AI on the pico!! AI chat app is working!! What I did: Made the ui (pretty simple) Added a keyboard for input made some placehgolder functions to send promt and receive them What AI did for me all the api connection logic (The Mistral.h file) It was too complicated for me XD… How I did it: I used the mistral API made a simle app on the picolator for it thats it ) What I will do next -> make so you can enter your own api key (without recompiling) make so u can scroll through long responses Next ideas for the project… redisign some parts of the ui (I dont like that headings take up so much space) make a paint app ?"}, {"post_id": 44438, "ts": "2026-08-10T05:58:36Z", "hours": 0.2722, "text": "Serial logging works! I just replaced me custom logger with the Serial one ) Now I can work on the AI chat app !"}, {"post_id": 44423, "ts": "2026-08-10T05:36:44Z", "hours": 2.4386, "text": "Devlog ig Well this two hours I been trying to make an AI chat app. Meanwhile, I realized, that my custom log system kinda sucks, so I will be just using the classic Serial output for logging, and completly remove my custom logger. Problems with the logger logs are hard to read (very small) if u enable the log display feature, the rendering gets slower gives no errors, I only know at witch step the program stopped uses much RAM with serial logging, all of this issues will be fixed. And I can finally see what error it throws! although it doesnt tell much in the error… terminate called after throwing an instance of 'std::out_of_range' what(): And sorry for the long break… I will try to code more now!"}, {"post_id": 33077, "ts": "2026-07-22T17:38:04Z", "hours": 1.1644, "text": "pico-Stardance :P Tried rendering the stardance logo on the Picolator ) I actually wanted to work on the AI chat app, but instead of locking in, I just procrastineted and made this :3 But a least it looks cool XD Btw it took me so long, because I am trying to learn vim, and I am not really good at it ) Well ig see u next devlog"}, {"post_id": 31835, "ts": "2026-07-20T15:06:50Z", "hours": 0.7833, "text": "picoFETCH ig its working ) I added a simple fetch app, simmular to neofetch ) It displays: the board name (on compilation) chip name clock speed free RAM (not prezise) SDK version chip id WiFi connection status btw this all runs on a simple rpi pico 2w with a diplay ) check out my other devlogs to see what this thing can do"}, {"post_id": 31737, "ts": "2026-07-20T11:37:26Z", "hours": 0.7644, "text": "WiFi on the Picolator I managed to connect WiFi to the pico! The password and the SSID are saved in the flash! I will update the wifi settings UI someday, It looks horrible XD. And guess what? I will do a PICOFETCH app next, So follow along!"}, {"post_id": 31111, "ts": "2026-07-19T07:50:49Z", "hours": 3.6431, "text": "Its been very long time… But , I made some progress on the WiFi -settings! By progress I mean only the working ui XD. (and keyboard ) EVERYTHING ELSE JUST DOESNT WORK a list of things, that need to be fixed: storage sucks wifi sucks ui sucks (it just looks bad) I will bet trying to fix all of these things in future devlogs so follow along )"}, {"post_id": 17489, "ts": "2026-06-28T09:17:14Z", "hours": 1.5889, "text": "Pico-keyboard ?! So i coded the first simple version of a keyboard for the Picolator … for now, I will use it for the AI chat app (also in development), and for the Wifi configuration. Its currently in development, but in the next devlog I am planning to finish the wifi connection! btw credits to @eceWire , I was inspired by the keyboard in his project. ))"}, {"post_id": 16800, "ts": "2026-06-27T08:49:16Z", "hours": 2.6928, "text": "The first release ) I finished the demo version of the project! Now I am ready to ship ) features in this release UI system (with theming support) first game (picodino) Settings menu (with modular feature support) custom renderer (built on top of the waveshare library, supports blendmodes) custom input system the release: https://github.com/fedi41-prog/picolator2/releases"}, {"post_id": 16306, "ts": "2026-06-26T15:13:42Z", "hours": 7.0764, "text": "7 HOURS GONE. WEBSITE DONE (almost). Well time flies much faster when making websites… finished the feature menu I added a feature menu to control the feature manager and toggle features on and off ) I also kinda broke the display of the picolator… and thats why - new displays are coming soon (well I think so) - I am building a second Picolator! (And repairing the old one) almost forgot the website link 😅: https://fedi41-prog.github.io/picolator2/"}, {"post_id": 15041, "ts": "2026-06-24T12:55:31Z", "hours": 0.8667, "text": "Demo website working on the demo website for my PICOLATOR project . SHIPPING SOON . PICOLATOR v2.1 is ready for ship! I just need to finish this small website, and I’m done! I’ll also continue working at this after the ship :) Btw here is the link: https://fedi41-prog.github.io/picolator2/"}, {"post_id": 14643, "ts": "2026-06-23T20:33:16Z", "hours": 1.8336, "text": "Finished the PICODINO! Ig I finished the game ) Now I can finally work on something else . 🦖🌵 . It’s a copy of the iconic game, running on a pi pico. Features added… score counter high score saved in flash sneaking different cactus types restart after losing dark mode"}, {"post_id": 14363, "ts": "2026-06-23T13:57:16Z", "hours": 1.1458, "text": "PICO-DINO just jumped on a cactus 😭😭 …the PicoDino tries to jump over the EVIL CACTUS , but he lands perfectly on it! RIP PicoDino 🪦🦖 . . . But… Cactus collision is working! 😎 Finally, the dino can’t go through cacti anymore! Today, I implemented the mask collision ) P.S. - I finally figured out how to add multiple photos 😅"}, {"post_id": 14187, "ts": "2026-06-23T05:41:04Z", "hours": 1.6097, "text": "A cactus appears! 🌵 This morning, I added the first cactus, and a moing floor, along with some animations ) These are all original textures! Next up cactus collisions (mask collisions) more cactus types score counter"}, {"post_id": 13786, "ts": "2026-06-22T16:25:57Z", "hours": 1.0808, "text": "Meet the PICO-DINO!! 🦖 I finally made a real dinosaur for the game ) Further plans Next, I will add some cacti )"}, {"post_id": 13697, "ts": "2026-06-22T13:35:19Z", "hours": 0.9733, "text": "RAM Optimization The pico was sometimes crashing, after I spammed the log, so I got into optimising ) Before, i had 2 screen buffers, and even a third one for blending them (no wonder it crashed XD) So I just removed all the unnesecary buffers ) btw blend modes are still working! the first game! I just started working on the first game for the picolator!"}, {"post_id": 13323, "ts": "2026-06-21T20:19:58Z", "hours": 0.5889, "text": "DISPLAY TIMEOUT ADDED Now the display wont burn out XD Here is a reaaaally interesting photo of a black screen XD Tomorrow I will start coding the dino runner!"}, {"post_id": 13290, "ts": "2026-06-21T19:14:45Z", "hours": 2.5306, "text": "MIX BLEND MODE Added a brand new blend mode to my renderer! It was actually just procrastination, because I was too lazy to make the Dino Runner. About the project The Picolator is a custom OS for the raspberry pi pico. Next I will implement the chrome dino app (:"}, {"post_id": 12663, "ts": "2026-06-20T18:06:20Z", "hours": 0.7731, "text": "Display overclock 🥳 Got my display running on 65hz! (and coded this spinny thing) This can definitly run chrome dino XD"}, {"post_id": 12615, "ts": "2026-06-20T16:41:15Z", "hours": 1.7439, "text": "Feature system ready! The Picolator can now run different feature modules for debugging and trolling! Next up …. Dino runner! Btw my rng number is crazy (3) : stardance rng day 6 🎲 3 · ranked #500 so far https://stardance.hackclub.com/rng"}, {"post_id": 12536, "ts": "2026-06-20T14:08:54Z", "hours": 1.2269, "text": "Input system fixed Today I fixed the input system, so it responds faster, and supports more features. One important function I added is the justPressed function, it only returns true, when thw button was pressed exactly in this tick I also started working on the feature manager , it will have different featues like on screen log display, and other useful stuff."}, {"post_id": 12112, "ts": "2026-06-19T19:39:26Z", "hours": 0.7036, "text": "Theme change works!"}, {"post_id": 12083, "ts": "2026-06-19T18:35:30Z", "hours": 0.4331, "text": "C++ compiler exploding because of one missing semicolon 💀"}, {"post_id": 12054, "ts": "2026-06-19T17:42:16Z", "hours": 1.2925, "text": "Working on settings Changed some core logic, and started to work on the settings menu!"}, {"post_id": 11943, "ts": "2026-06-19T14:07:08Z", "hours": 1.9542, "text": "minor changes Input debug Main menu working! new Theme Next, I will work on the Settings app. Then you can change and create themes! wow"}, {"post_id": 11259, "ts": "2026-06-18T12:44:33Z", "hours": 1.5231, "text": "Display update! Many different display features : blend modes overlays new color format better image rendering And I also added some new themes ! PS the display looks too bright on the photo"}, {"post_id": 11203, "ts": "2026-06-18T10:28:37Z", "hours": 3.7581, "text": "Hugeee update!! Themes fixed Main menu working new App managment system Theme view screen ready I hope you like it )"}, {"post_id": 10078, "ts": "2026-06-16T17:36:28Z", "hours": 0.9575, "text": "The Tailwind theme is working!!! Currently each theme has 3 Tailwind pallets - surface, primary, and secondary. P.S. - It looks much better irl"}, {"post_id": 9943, "ts": "2026-06-16T13:56:56Z", "hours": 1.5231, "text": "coded a buggy tailwind theme generator (some colors are to bright, others to dark 😭😭😭)"}, {"post_id": 9751, "ts": "2026-06-16T05:36:53Z", "hours": 3.2739, "text": "The Main screen is ready! And themes are working. (this is just a test theme ik it looks terrible)"}, {"post_id": 8819, "ts": "2026-06-14T17:37:03Z", "hours": 1.4308, "text": "Remaking the font System Today, I was remaking the entire font system. I created my own FONT class, and used it to load new fonts. Now The Picolator has nicer fonts )"}, {"post_id": 8737, "ts": "2026-06-14T15:12:28Z", "hours": 0.3678, "text": "Fixed the Font rendering! New features -> font scaling -> now you can scale fonts! Coming up -> rethinking the Font system changing the ugly Waveshare font to something different (:"}, {"post_id": 7986, "ts": "2026-06-13T10:04:34Z", "hours": 1.5319, "text": "Remaking the font rendering (and failing)"}, {"post_id": 7692, "ts": "2026-06-12T21:01:25Z", "hours": 2.0769, "text": "Ahhh why did I spent some mucb time on this…. (added a UiDraw class, and redisigned the structure)"}, {"post_id": 7596, "ts": "2026-06-12T18:21:32Z", "hours": 1.1856, "text": "Alpha support added! (And other technical changes)"}, {"post_id": 6261, "ts": "2026-06-10T14:55:17Z", "hours": 1.7136, "text": "Building the basic app structure! And a quick display demo. Created a TestApp for different tests )"}, {"post_id": 5849, "ts": "2026-06-09T19:55:52Z", "hours": 1.1669, "text": "Created a Display class for rendering and drawing. (just a wrapper for a C library). Next I am going to work on the UI logic."}, {"post_id": 5771, "ts": "2026-06-09T17:57:21Z", "hours": 1.1364, "text": "Finally got it running on cpp! (Yes i gave up on learning c)"}, {"post_id": 5603, "ts": "2026-06-09T13:40:31Z", "hours": 0.8697, "text": "So I somehow got the display test working… I already hate C (edit - no! C is cool [: )"}, {"post_id": 5570, "ts": "2026-06-09T12:15:42Z", "hours": 0.4519, "text": "setting up the project!"}]...
|
Title: PICOLATOR V2 by @fedi41 | Stardance
Devlog Title: PICOLATOR V2 by @fedi41 | Stardance
Devlogs:
setting up the project!
So I somehow got the display test working… I already hate C (edit - no! C is cool [: )
Finally got it running on cpp! (Yes i gave up on learning c)
Created a Display class for rendering and drawing. (just a wrapper for a C library). Next I am going to work on the UI logic.
Building the basic app structure! And a quick display demo. Created a TestApp for different tests )
Alpha support added! (And other technical changes)
Ahhh why did I spent some mucb time on this…. (added a UiDraw class, and redisigned the structure)
Remaking the font rendering (and failing)
Fixed the Font rendering! New features -> font scaling -> now you can scale fonts! Coming up -> rethinking the Font system changing the ugly Waveshare font to something different (:
Remaking the font System Today, I was remaking the entire font system. I created my own FONT class, and used it to load new fonts. Now The Picolator has nicer fonts )
The Main screen is ready! And themes are working. (this is just a test theme ik it looks terrible)
coded a buggy tailwind theme generator (some colors are to bright, others to dark 😭😭😭)
The Tailwind theme is working!!! Currently each theme has 3 Tailwind pallets - surface, primary, and secondary. P.S. - It looks much better irl
Hugeee update!! Themes fixed Main menu working new App managment system Theme view screen ready I hope you like it )
Display update! Many different display features : blend modes overlays new color format better image rendering And I also added some new themes ! PS the display looks too bright on the photo
minor changes Input debug Main menu working! new Theme Next, I will work on the Settings app. Then you can change and create themes! wow
Working on settings Changed some core logic, and started to work on the settings menu!
C++ compiler exploding because of one missing semicolon 💀
Theme change works!
Input system fixed Today I fixed the input system, so it responds faster, and supports more features. One important function I added is the justPressed function, it only returns true, when thw button was pressed exactly in this tick I also started working on the feature manager , it will have different featues like on screen log display, and other useful stuff.
Feature system ready! The Picolator can now run different feature modules for debugging and trolling! Next up …. Dino runner! Btw my rng number is crazy (3) : stardance rng day 6 🎲 3 · ranked #500 so far https://stardance.hackclub.com/rng
Display overclock 🥳 Got my display running on 65hz! (and coded this spinny thing) This can definitly run chrome dino XD
MIX BLEND MODE Added a brand new blend mode to my renderer! It was actually just procrastination, because I was too lazy to make the Dino Runner. About the project The Picolator is a custom OS for the raspberry pi pico. Next I will implement the chrome dino app (:
DISPLAY TIMEOUT ADDED Now the display wont burn out XD Here is a reaaaally interesting photo of a black screen XD Tomorrow I will start coding the dino runner!
RAM Optimization The pico was sometimes crashing, after I spammed the log, so I got into optimising ) Before, i had 2 screen buffers, and even a third one for blending them (no wonder it crashed XD) So I just removed all the unnesecary buffers ) btw blend modes are still working! the first game! I just started working on the first game for the picolator!
Meet the PICO-DINO!! 🦖 I finally made a real dinosaur for the game ) Further plans Next, I will add some cacti )
A cactus appears! 🌵 This morning, I added the first cactus, and a moing floor, along with some animations ) These are all original textures! Next up cactus collisions (mask collisions) more cactus types score counter
PICO-DINO just jumped on a cactus 😭😭 …the PicoDino tries to jump over the EVIL CACTUS , but he lands perfectly on it! RIP PicoDino 🪦🦖 . . . But… Cactus collision is working! 😎 Finally, the dino can’t go through cacti anymore! Today, I implemented the mask collision ) P.S. - I finally figured out how to add multiple photos 😅
Finished the PICODINO! Ig I finished the game ) Now I can finally work on something else . 🦖🌵 . It’s a copy of the iconic game, running on a pi pico. Features added… score counter high score saved in flash sneaking different cactus types restart after losing dark mode
Demo website working on the demo website for my PICOLATOR project . SHIPPING SOON . PICOLATOR v2.1 is ready for ship! I just need to finish this small website, and I’m done! I’ll also continue working at this after the ship :) Btw here is the link: https://fedi41-prog.github.io/picolator2/
7 HOURS GONE. WEBSITE DONE (almost). Well time flies much faster when making websites… finished the feature menu I added a feature menu to control the feature manager and toggle features on and off ) I also kinda broke the display of the picolator… and thats why - new displays are coming soon (well I think so) - I am building a second Picolator! (And repairing the old one) almost forgot the website link 😅: https://fedi41-prog.github.io/picolator2/
The first release ) I finished the demo version of the project! Now I am ready to ship ) features in this release UI system (with theming support) first game (picodino) Settings menu (with modular feature support) custom renderer (built on top of the waveshare library, supports blendmodes) custom input system the release: https://github.com/fedi41-prog/picolator2/releases
Pico-keyboard ?! So i coded the first simple version of a keyboard for the Picolator … for now, I will use it for the AI chat app (also in development), and for the Wifi configuration. Its currently in development, but in the next devlog I am planning to finish the wifi connection! btw credits to @eceWire , I was inspired by the keyboard in his project. ))
Its been very long time… But , I made some progress on the WiFi -settings! By progress I mean only the working ui XD. (and keyboard ) EVERYTHING ELSE JUST DOESNT WORK a list of things, that need to be fixed: storage sucks wifi sucks ui sucks (it just looks bad) I will bet trying to fix all of these things in future devlogs so follow along )
WiFi on the Picolator I managed to connect WiFi to the pico! The password and the SSID are saved in the flash! I will update the wifi settings UI someday, It looks horrible XD. And guess what? I will do a PICOFETCH app next, So follow along!
picoFETCH ig its working ) I added a simple fetch app, simmular to neofetch ) It displays: the board name (on compilation) chip name clock speed free RAM (not prezise) SDK version chip id WiFi connection status btw this all runs on a simple rpi pico 2w with a diplay ) check out my other devlogs to see what this thing can do
pico-Stardance :P Tried rendering the stardance logo on the Picolator ) I actually wanted to work on the AI chat app, but instead of locking in, I just procrastineted and made this :3 But a least it looks cool XD Btw it took me so long, because I am trying to learn vim, and I am not really good at it ) Well ig see u next devlog
Devlog ig Well this two hours I been trying to make an AI chat app. Meanwhile, I realized, that my custom log system kinda sucks, so I will be just using the classic Serial output for logging, and completly remove my custom logger. Problems with the logger logs are hard to read (very small) if u enable the log display feature, the rendering gets slower gives no errors, I only know at witch step the program stopped uses much RAM with serial logging, all of this issues will be fixed. And I can finally see what error it throws! although it doesnt tell much in the error… terminate called after throwing an instance of 'std::out_of_range' what(): And sorry for the long break… I will try to code more now!
Serial logging works! I just replaced me custom logger with the Serial one ) Now I can work on the AI chat app !
AI on the pico!! AI chat app is working!! What I did: Made the ui (pretty simple) Added a keyboard for input made some placehgolder functions to send promt and receive them What AI did for me all the api connection logic (The Mistral.h file) It was too complicated for me XD… How I did it: I used the mistral API made a simle app on the picolator for it thats it ) What I will do next -> make so you can enter your own api key (without recompiling) make so u can scroll through long responses Next ideas for the project… redisign some parts of the ui (I dont like that headings take up so much space) make a paint app ?
5 Hours for almost nothing xD well its been very long time, I’ve been working on the AI app all this time… I almost made it so you can enter your own api key, but like always it isnt saving properly and is just not working. I also improved the AI chat a bit, made so it shows the errors, only for it to always show “UNKNOWN ERROR”. It kinda looks that the project is a bit dead a the time, I dont know if I will be posting so often. Other things that are not related to the project I switched to arch btw And I am finally comfortable with neovim :D
Simple taskbar! Added a simple status bar to the picolator! At the time its very minimal, but later it will show more stuff. How it works The status bat shows the currently running app by accessing the Navigator class. It is displayed over the current app, but before the all the features. Why I did it I thought that it would be nice to always know which app you are in, and because I dont want to put a header in each app, a status bar is the best solution. Also, I can later use it to show other stuff so its just nice to have :D Whats about the AI chat app I never finished? well… its still not finished idk if it ever will be finished. Conclusion I actually did varios stuff, but the most major change I made was the status bar so I post it here. Thanks for reading btw XD
Ships:
PICOLATOR v2.1 Beta This is the first ship of my big project: Picolator . Picolator is a handheld device powered by a Raspberry Pi Pico, running a custom operating system that I wrote from scratch in C++. 🧩 Features At this stage, Picolator includes: 🎮 PicoDino A simple remake of the classic dinosaur runner game. 🖥️ Custom UI Engine A lightweight interface system with different blend modes and a modular structure. 🧭 Main Menu System An app launcher for navigating between installed applications. ⚙️ Settings App A basic settings interface for system configuration. 🎨 Theming Support Custom themes based on Tailwind-style color palettes. 🚀 Status This is an early beta release. More features, apps, and improvements are planned for future updates....
|
1793285463.6548655
|
1793371863.6548655
|
|
2910
|
3d game engine by @rajaryan1492007 | Stardance
|
rajaryan1492007
|
4
|
111.0
|
1561
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-26T04:08:23Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "last ship in hackclub bcuz i turn 19 bye : )", "repo": "https://github.com/rajaryan2007/UNHUMAN", "demo": "https://github.com/unhuman-engine/UNHUMAN/releases"}, {"ship_num": 2, "ts": "2026-09-13T19:17:52Z", "hours": 14.0, "multiplier": 16.69, "payout": 232, "blessing": "neutral", "text": "i just finally done all thing like stable etc . and search of all libs etc so can really work making really good engine i add milestone etc . u can still test project tho but it will just artitacture doc change and some sync bug fix . other then that i add milestone so i can work on that now but i 19 now today so my hackclub will get end so i just ship to info that . devlog is end but i will continue to work on this engine bcuz it been like year since i st working on it already so anyway . and anything u wanna know u can check my project issues and roadmap", "repo": "https://github.com/rajaryan2007/UNHUMAN", "demo": "https://github.com/unhuman-engine/UNHUMAN/releases"}, {"ship_num": 3, "ts": "2026-08-26T21:35:30Z", "hours": 71.0, "multiplier": 14.89, "payout": 1056, "blessing": "neutral", "text": "-> I built the Unhuman Engine (UHE) a high-performance, custom 3D game engine written entirely from scratch in C++. It features a custom Vulkan rendering pipeline, Jolt Physics integration, and a 3D spatial audio system using miniaudio. Alongside the engine, I built a fully playable “Aim Lab” style 3D shooter game to showcase its capabilities, complete with skeletal animations, recoil mechanics, and a robust entity component system (ECS). -> Building a Vulkan renderer from the ground up is notoriously difficult due to how explicit the API is. Getting the Vulkan swapchains, descriptors, and framebuffers perfectly synchronized was a massive hurdle. Beyond rendering, building the virtual file system (VFS) to correctly resolve asset paths across different platforms (Linux native and Windows via Wine) required a lot of trial and error, as did managing multithreaded memory cleanup for the audio subsystem to prevent Because of the custom Vulkan architecture and strict C++ optimizations, the game hits 900+ FPS in release builds, even on integrated graphics! the custom pixel-perfect 3D entity picking system we built using Vulkan framebuffers (instead of relying on standard physics raycasting). Finally, the engine architecture is scalable enough that it’s not just for games—it’s designed to handle heavy robotics and autonomous vehicle simulations in the engine . -> The engine supports both Linux and Windows to play the game, just run the UHEGAME executable inside the bin folder. Important: Make sure the assets folder (which contains the 3D models and audio files) is sitting right next to the executable in the same directory, otherwise the game will fall back to a safe mode. Controls: Use your mouse to aim, Left Click to shoot the targets, and press ‘R’ to reload the animated 3D pistol also i write it too big bcuz last time many people said they don’t understand what i did . about running it u can run it in windows and linux both see window build and linux build there to work able excutable file one is uhegame.exe and uhe_editor.exe one is game and other is editor https://github.com/rajaryan2007/UNHUMAN/releases/tag/alpha i will improve the game as time goes i just st with vulkan and other if u have any problem u can ask here https://github.com/rajaryan2007/UNHUMAN/issues if still don’t understand don’t rate down read or search or just read devlog and understand instead of low rating thankyou :)", "repo": "https://github.com/rajaryan2007/UNHUMAN", "demo": "https://github.com/unhuman-engine/UNHUMAN/releases"}, {"ship_num": 4, "ts": "2026-06-09T19:02:56Z", "hours": 21.0, "multiplier": 14.37, "payout": 273, "blessing": "neutral", "text": "This project has been a daily labor of love for over a year. Over the last 4 to 5 months, I completely rewrote the entire rendering backend, moving away from a legacy OpenGL state machine to an explicit Vulkan pipeline. Along the way, I completely redesigned the Rendering Hardware Interface (RHI) to align with modern graphics architectures. Welcome to UNHUMAN! You are completely free to clone and compile this engine, but please read this first: ->The 50/50 Rule: This is a custom, explicitly defined Vulkan engine currently tailored to a Ryzen/Vega Windows environment. Because Vulkan does not hide driver-level differences (NVIDIA vs. AMD vs. Intel), there is roughly a 50/50 chance it will compile flawlessly or completely explode on your specific GPU setup. ->The Easy Way Out: If you attempt to build the project and hit Vulkan validation errors, device-lost crashes, or strict compilation failures, please do not waste your time trying to debug my RHI! * Visual Verification: If the build fails on your hardware, simply watch the YouTube Walkthrough Video linked below. It contains the full visual proof of the engine running, rendering, and functioning on the native development machine. link -> https://youtu.be/CHDIU61auYo", "repo": "https://github.com/rajaryan2007/UNHUMAN", "demo": "https://github.com/unhuman-engine/UNHUMAN/releases"}]...
|
[{"post_id": 70209, "ts": "202 [{"post_id": 70209, "ts": "2026-09-18T18:21:31Z", "hours": 4.5, "text": "reading source code of o3de and make my engine barrier better"}, {"post_id": 67555, "ts": "2026-09-13T18:10:01Z", "hours": 1.8844, "text": "just make milestone bar for realase"}, {"post_id": 66844, "ts": "2026-09-12T19:21:25Z", "hours": 2.6544, "text": "make better job system"}, {"post_id": 62020, "ts": "2026-09-05T07:13:01Z", "hours": 4.5067, "text": "add multithreading and better sync"}, {"post_id": 59175, "ts": "2026-08-31T20:15:59Z", "hours": 4.8814, "text": "added text rendering"}, {"post_id": 54512, "ts": "2026-08-25T15:19:38Z", "hours": 2.1939, "text": "added audio and animation"}, {"post_id": 52892, "ts": "2026-08-23T08:38:37Z", "hours": 1.9892, "text": "St making game in my game engine"}, {"post_id": 51531, "ts": "2026-08-21T09:17:58Z", "hours": 3.6897, "text": "added a ci/cd test For engine with lavapipe"}, {"post_id": 45963, "ts": "2026-08-12T19:45:40Z", "hours": 8.6658, "text": "Add descriptor Set fallback and Contribution guidelines"}, {"post_id": 39452, "ts": "2026-08-02T12:29:11Z", "hours": 8.3283, "text": "implemented many fallback feature no less crash add fallback of dynamic_rendering other are pending"}, {"post_id": 30001, "ts": "2026-07-17T07:25:22Z", "hours": 9.0811, "text": "all setup done just have to write fallback now :)"}, {"post_id": 25765, "ts": "2026-07-10T06:41:34Z", "hours": 3.7094, "text": "implementing old renderpass and Framebuffer and other thing to run old hardware"}, {"post_id": 23311, "ts": "2026-07-06T05:53:37Z", "hours": 3.5711, "text": "add more file more function just fallback for Vulkan Engine so it can run in more device"}, {"post_id": 22767, "ts": "2026-07-05T10:54:14Z", "hours": 3.7322, "text": "add support for extension check in Vulkan"}, {"post_id": 21133, "ts": "2026-07-02T22:43:28Z", "hours": 0.9317, "text": "so from now not developing any feature in Game engine for some weeks and Adding fallback to 1.1 to 1.4 vulkan bcuz lot of problem andriod don’t support 1.3 mostly and many gpu like intel have bug in bindless so just adding other to fallback bcuz other are also not good nvidia and amd also have some problem add buildbot that will test like github don’t support gpu to test most probably i will test in software cpu and build system so user can compile and run thing without having any problem so at last only problem left is gpu vendor specific that i will cover through blender o3de engine that how engine can run in most gpus i give better doc or reference next time to show it but it very hard and take month to search so that it"}, {"post_id": 20716, "ts": "2026-07-02T11:47:34Z", "hours": 1.1572, "text": "while working on my engine i take refernce from blender also contributed in blender one issues even got merged other are pending"}, {"post_id": 17338, "ts": "2026-06-28T02:42:07Z", "hours": 7.2022, "text": "jolt physics implementation in vulkan engine and some other bug fix"}, {"post_id": 11434, "ts": "2026-06-18T18:19:47Z", "hours": 1.8758, "text": "PBR light implementation done in my engine"}, {"post_id": 11050, "ts": "2026-06-18T02:35:35Z", "hours": 1.8658, "text": "reimplemented tracy profiler for my engine and working in PBR"}, {"post_id": 10211, "ts": "2026-06-16T20:38:31Z", "hours": 2.0136, "text": "one of the hardest bug to solve i did it now there no texture overlap"}, {"post_id": 9830, "ts": "2026-06-16T08:46:40Z", "hours": 4.2797, "text": "linux and window both support for vulkan engine tested in wine"}, {"post_id": 8004, "ts": "2026-06-13T11:03:28Z", "hours": 6.6514, "text": "model loading done in my engine"}, {"post_id": 5794, "ts": "2026-06-09T18:32:13Z", "hours": 0.28, "text": "update everything now moving toward 3d work and cleanup"}, {"post_id": 5693, "ts": "2026-06-09T16:07:36Z", "hours": 1.7525, "text": "finally port complete in vulkan with RHI and Linux support"}, {"post_id": 5390, "ts": "2026-06-09T04:27:45Z", "hours": 10.2675, "text": "finally rhi and wrapper test is done in vulkan"}, {"post_id": 3458, "ts": "2026-06-06T12:22:17Z", "hours": 8.22, "text": "almost write backend vulkan may i can see something in screen next week after 3 month 😵💫"}, {"post_id": 1715, "ts": "2026-06-03T21:36:09Z", "hours": 0.5761, "text": "rewriting my game engine backend in vulkan and adding support for linux"}]...
|
Title: 3d game engine by @rajaryan1492007 | Starda Title: 3d game engine by @rajaryan1492007 | Stardance
Devlogs:
rewriting my game engine backend in vulkan and adding support for linux
almost write backend vulkan may i can see something in screen next week after 3 month 😵💫
finally rhi and wrapper test is done in vulkan
finally port complete in vulkan with RHI and Linux support
update everything now moving toward 3d work and cleanup
model loading done in my engine
linux and window both support for vulkan engine tested in wine
one of the hardest bug to solve i did it now there no texture overlap
reimplemented tracy profiler for my engine and working in PBR
PBR light implementation done in my engine
jolt physics implementation in vulkan engine and some other bug fix
while working on my engine i take refernce from blender also contributed in blender one issues even got merged other are pending
so from now not developing any feature in Game engine for some weeks and Adding fallback to 1.1 to 1.4 vulkan bcuz lot of problem andriod don’t support 1.3 mostly and many gpu like intel have bug in bindless so just adding other to fallback bcuz other are also not good nvidia and amd also have some problem add buildbot that will test like github don’t support gpu to test most probably i will test in software cpu and build system so user can compile and run thing without having any problem so at last only problem left is gpu vendor specific that i will cover through blender o3de engine that how engine can run in most gpus i give better doc or reference next time to show it but it very hard and take month to search so that it
add support for extension check in Vulkan
add more file more function just fallback for Vulkan Engine so it can run in more device
implementing old renderpass and Framebuffer and other thing to run old hardware
all setup done just have to write fallback now :)
implemented many fallback feature no less crash add fallback of dynamic_rendering other are pending
Add descriptor Set fallback and Contribution guidelines
added a ci/cd test For engine with lavapipe
St making game in my game engine
added audio and animation
added text rendering
add multithreading and better sync
make better job system
just make milestone bar for realase
reading source code of o3de and make my engine barrier better
Ships:
This project has been a daily labor of love for over a year. Over the last 4 to 5 months, I completely rewrote the entire rendering backend, moving away from a legacy OpenGL state machine to an explicit Vulkan pipeline. Along the way, I completely redesigned the Rendering Hardware Interface (RHI) to align with modern graphics architectures. Welcome to UNHUMAN! You are completely free to clone and compile this engine, but please read this first: ->The 50/50 Rule: This is a custom, explicitly defined Vulkan engine currently tailored to a Ryzen/Vega Windows environment. Because Vulkan does not hide driver-level differences (NVIDIA vs. AMD vs. Intel), there is roughly a 50/50 chance it will compile flawlessly or completely explode on your specific GPU setup. ->The Easy Way Out: If you attempt to build the project and hit Vulkan validation errors, device-lost crashes, or strict compilation failures, please do not waste your time trying to debug my RHI! * Visual Verification: If the build fails on your hardware, simply watch the YouTube Walkthrough Video linked below. It contains the full visual proof of the engine running, rendering, and functioning on the native development machine. link -> https://youtu.be/CHDIU61auYo
-> I built the Unhuman Engine (UHE) a high-performance, custom 3D game engine written entirely from scratch in C++. It features a custom Vulkan rendering pipeline, Jolt Physics integration, and a 3D spatial audio system using miniaudio. Alongside the engine, I built a fully playable “Aim Lab” style 3D shooter game to showcase its capabilities, complete with skeletal animations, recoil mechanics, and a robust entity component system (ECS). -> Building a Vulkan renderer from the ground up is notoriously difficult due to how explicit the API is. Getting the Vulkan swapchains, descriptors, and framebuffers perfectly synchronized was a massive hurdle. Beyond rendering, building the virtual file system (VFS) to correctly resolve asset paths across different platforms (Linux native and Windows via Wine) required a lot of trial and error, as did managing multithreaded memory cleanup for the audio subsystem to prevent Because of the custom Vulkan architecture and strict C++ optimizations, the game hits 900+ FPS in release builds, even on integrated graphics! the custom pixel-perfect 3D entity picking system we built using Vulkan framebuffers (instead of relying on standard physics raycasting). Finally, the engine architecture is scalable enough that it’s not just for games—it’s designed to handle heavy robotics and autonomous vehicle simulations in the engine . -> The engine supports both Linux and Windows to play the game, just run the UHEGAME executable inside the bin folder. Important: Make sure the assets folder (which contains the 3D models and audio files) is sitting right next to the executable in the same directory, otherwise the game will fall back to a safe mode. Controls: Use your mouse to aim, Left Click to shoot the targets, and press ‘R’ to reload the animated 3D pistol also i write it too big bcuz last time many people said they don’t understand what i did . about running it u can run it in windows and linux both see window build and linux build there to work able excutable file one is uhegame.exe and uhe_editor.exe one is game and other is editor https://github.com/rajaryan2007/UNHUMAN/releases/tag/alpha i will improve the game as time goes i just st with vulkan and other if u have any problem u can ask here https://github.com/rajaryan2007/UNHUMAN/issues if still don’t understand don’t rate down read or search or just read devlog and understand instead of low rating thankyou :)
i just finally done all thing like stable etc . and search of all libs etc so can really work making really good engine i add milestone etc . u can still test project tho but it will just artitacture doc change and some sync bug fix . other then that i add milestone so i can work on that now but i 19 now today so my hackclub will get end so i just ship to info that . devlog is end but i will continue to work on this engine bcuz it been like year since i st working on it already so anyway . and anything u wanna know u can check my project issues and roadmap
last ship in hackclub bcuz i turn 19 bye : )...
|
1793292499.4874148
|
1793378899.4874148
|
|
63516
|
Chocolate Chip Emulator in Java (chip-8) by @omewi Chocolate Chip Emulator in Java (chip-8) by @omewillem | Stardance...
|
omewillem
|
0
|
1.12
|
0
|
[]
|
[{"post_id": 70214, "ts": "202 [{"post_id": 70214, "ts": "2026-09-18T18:33:14Z", "hours": 1.1164, "text": "I’ve started on the project, and it’s been quite a lot to take in at once. I’m using various sources to actually find how to even make this whole interpreter (I’ll link them below), but that made me even more uncertain on how I’m going to finish this haha. I have used my existing Java knowledge to get a simple display working using Swing, and I’m able to record keypresses, so that’s definitely a good start. I’m now trying to understand how every single component should work in Pico8 but it’s quite hard to understand. I’ve tried my best to “summarise” what every component does in the designated Java class but I still have absolutely no idea what I’m doing. I’m trying to only use actual human-made online sources and not just blatantly ask AI for help since that’s boring. Next step is actually getting some kind of Chip behaviour working, let’s hope that’s gonna go well. Sources that I used: https://austinmorlan.com/posts/chip8_emulator/ https://tobiasvl.github.io/blog/write-a-chip-8-emulator/#memory"}]...
|
Title: Chocolate Chip Emulator in Java (chip-8) by Title: Chocolate Chip Emulator in Java (chip-8) by @omewillem | Stardance
Devlogs:
I’ve started on the project, and it’s been quite a lot to take in at once. I’m using various sources to actually find how to even make this whole interpreter (I’ll link them below), but that made me even more uncertain on how I’m going to finish this haha. I have used my existing Java knowledge to get a simple display working using Swing, and I’m able to record keypresses, so that’s definitely a good start. I’m now trying to understand how every single component should work in Pico8 but it’s quite hard to understand. I’ve tried my best to “summarise” what every component does in the designated Java class but I still have absolutely no idea what I’m doing. I’m trying to only use actual human-made online sources and not just blatantly ask AI for help since that’s boring. Next step is actually getting some kind of Chip behaviour working, let’s hope that’s gonna go well. Sources that I used: https://austinmorlan.com/posts/chip8_emulator/ https://tobiasvl.github.io/blog/write-a-chip-8-emulator/#memory...
|
1793051520.7076719
|
1793656320.7076719
|
|
63415
|
Watch driver controler by @danb1551 | Stardance
|
danb1551
|
0
|
3.54
|
0
|
[]
|
[{"post_id": 70221, "ts": "202 [{"post_id": 70221, "ts": "2026-09-18T18:52:58Z", "hours": 3.5372, "text": "Controlling your PC with esp32 watch kit"}]...
|
Title: Watch driver controler by @danb1551 | Stard Title: Watch driver controler by @danb1551 | Stardance
Devlogs:
Controlling your PC with esp32 watch kit...
|
1793051435.5421128
|
1793656235.5421128
|
|
42291
|
Rocket Prototype by @orin_gibson | Stardance
|
orin_gibson
|
0
|
42.08
|
0
|
[]
|
[{"post_id": 70224, "ts": "202 [{"post_id": 70224, "ts": "2026-09-18T18:58:02Z", "hours": 5.15, "text": "Rocket Prototype | Devlog 11 - The End? Far from it. I revised the entirety of the Rocket Nose Cone and realised a pressing issue: “you can’t access the inside of the nose cone.” Rookie mistake. On my third design, I decided to separate the nose cone into three components: the shoulder, the actual nose cone/ogive, and an avionics sled for the PCB components to be stored. (BTW the time recorded for this was ONLY for the sled that I finally finished today - the remaining components were me not being bothered to record [whoops]). The avionics sled SHOULD be printed out by tomorrow but lets see how that goes!"}, {"post_id": 53915, "ts": "2026-08-24T16:54:47Z", "hours": 1.55, "text": "Rocket Prototype | Devlog 10 - Shipment // FIN. GitHub is complete. Simulations are complete. Prototype model is done."}, {"post_id": 53571, "ts": "2026-08-24T05:06:36Z", "hours": 6.5, "text": "Rocket Prototype | Devlog 9 - Rocket Nose Finalisation and more GitHub Repo Editing! Today I spent hours of moiling away at SolidWorks: Learning how to add Fillets Creating a boss structure Building the nose cone module and the shock cord section that attaches to the eyebolt. This is likely going to be the last or second last dev log I upload as I am 90-95% complete now!"}, {"post_id": 52598, "ts": "2026-08-22T20:02:38Z", "hours": 5.9136, "text": "Rocket Prototype | Devlog 8 - Rocket Nose Cone Amendments and GitHub Repo Editing! I spent an ungodly amount of time scanning through my GitHub Repo, overhauling it and optimising it in preparation for shipping. There’s still a fair amount of work to do, but I got through a fair chunk of it. I also made an updated model for the Rocket Nose Cone. It’s far from complete as I need to discern the appropriateness of measurements when incorporating the shock cord module into the shoulder linked to the nose cone. I aim to finish a fair majority of this project tomorrow so stay tuned!"}, {"post_id": 51654, "ts": "2026-08-21T13:30:36Z", "hours": 9.0903, "text": "Rocket Prototype | Devlog 7 - PCB COMPLETION!!! Today has been nothing short of thrilling: I finished my PCB for the Orion Flight Computer for my Odyssey Rocket. I revised the schematics in KiCad, caught some errors and fixed the footprints before implementing the final touches (don’t go too hard on my design this is my first one). I learnt how to make the Nose Cone for my Rocket in SolidWorks! It’s a Von Karman Ogive that may be too optimised for subsonic travel, but we shall see…. My //README.md// and //journal.md// has been updated to reflect these changes. Now…what’s next? Code the C+ code (or whichever coding language) is required for the Orion Flight Computer. Assemble a Bill of Materials. Finish the project and finalise it for funding as my 19th birthday under 2 weeks away…."}, {"post_id": 48212, "ts": "2026-08-16T14:45:30Z", "hours": 4.4517, "text": "Rocket Prototype - Devlog 4 Today, I learnt the fundamentals of KiCad and was able to build my own schematic for the way I would like to structure the projects computer. It pretty much just features an Arduino, MPU6050, and BMP388.I have had zero experience in this field, so this was a challenging yet rewarding experience after I got it down pat! This is basic for now; I intend on adding a power source (for obvious reasons) and a MicroSD card reader for in-flight tracking.Stay tuned for when I make the PCB! (this is a reupload: I asked the Stardance developers to shift this post from one project to this one on Slack but due to a lack of response and not wanting to lose the hours I committed, I did this so that the hours would be here when it came to product shipment). Mods: Please refer to https://stardance.hackclub.com/projects/47535 for the associated session."}, {"post_id": 47954, "ts": "2026-08-16T06:58:22Z", "hours": 2.1642, "text": "Rocket Prototype | Devlog 6 Today, I just spent some time reconstructing the MPU6050 component as the Adafruit variation was different compared to the industry standard component (12 pins versus 6 pins). I updated the schematic to accommodate for these changes. As such, since I have finished the schematics and footprints for all of the components, I will shift my focus toward making the actual PCB for the Orion Flight Computer (I thought the name sounded cool). Looking forward to building it!"}, {"post_id": 46823, "ts": "2026-08-14T10:46:51Z", "hours": 3.5508, "text": "Rocket Prototype | Devlog 5 Today, I mastered the fundamentals of KiCad. I determined appropriate wiring as well as finalising schematics for the components. Tomorrow, I’ll have to redo the MPU6050 component as I decided to change to a more documented part, but otherwise, a productive session nonetheless! I also learnt how footprints operate, and managed to design them in preparation for the final step, which would be making the custom PCB!"}, {"post_id": 44067, "ts": "2026-08-09T16:11:50Z", "hours": 1.4756, "text": "Rocket Prototype | Devlog 3 Today, I finally learned the fundamentals of OpenRocket! I worked out where to place the individual components, such as the parachute deployment system, whilst also discerning key concepts like the centre of gravity and centre of pressure. I modelled it within the optimal stability range of 1.5-2 cal with it being 2.01 cal. This was truly a fun process as I got to play around with dimensions, measure some components irl (the body of my rocket is going to be a 660x60mm postal tube, so I based the measurements of this as such!). Now that I have planned out the build dimensions, I can shift my focus towards learning how to make an avionics bay and furthering my SolidWorks knowledge!"}, {"post_id": 43465, "ts": "2026-08-08T18:57:57Z", "hours": 1.6492, "text": "Rocket Prototype | Devlog 2 introduced myself to OpenRocket, an open-source program that lets you visualise a rocket and run simulations on it. I managed to grasp a basic understanding of how the software works: you select the components you want for your rocket while determining the appropriateness of certain features to optimise factors such as: Stability CP — Centre of Pressure CG — Centre of Gravity Aerodynamic performance Something I initially struggled with was producing a stable rocket. From what I later discerned, my stability calibre was not optimal and was one reason why the rocket was underperforming in simulations. I initially had a stability value above 2.8 cal, believing that a higher calibre automatically meant a more stable rocket. However, excessive stability can also result in poorer aerodynamic behaviour."}, {"post_id": 40304, "ts": "2026-08-03T18:52:33Z", "hours": 0.5833, "text": "Log 1 - Learning Software! I had a busy day today studying for engineering, working, and gymming but I promised myself that I would get started on this project! Today, I spent just over half an hour familiarising myself with Solidworks, mirroring a YouTube tutorial as well as experimenting with its own features. This is one small step for progress and one giant leap into my journey to building my first project! I will keep myself accountable throughout this journey and I cannot wait for the finalised project!"}]...
|
Title: Rocket Prototype by @orin_gibson | Stardanc Title: Rocket Prototype by @orin_gibson | Stardance
Devlogs:
Log 1 - Learning Software! I had a busy day today studying for engineering, working, and gymming but I promised myself that I would get started on this project! Today, I spent just over half an hour familiarising myself with Solidworks, mirroring a YouTube tutorial as well as experimenting with its own features. This is one small step for progress and one giant leap into my journey to building my first project! I will keep myself accountable throughout this journey and I cannot wait for the finalised project!
Rocket Prototype | Devlog 2 introduced myself to OpenRocket, an open-source program that lets you visualise a rocket and run simulations on it. I managed to grasp a basic understanding of how the software works: you select the components you want for your rocket while determining the appropriateness of certain features to optimise factors such as: Stability CP — Centre of Pressure CG — Centre of Gravity Aerodynamic performance Something I initially struggled with was producing a stable rocket. From what I later discerned, my stability calibre was not optimal and was one reason why the rocket was underperforming in simulations. I initially had a stability value above 2.8 cal, believing that a higher calibre automatically meant a more stable rocket. However, excessive stability can also result in poorer aerodynamic behaviour.
Rocket Prototype | Devlog 3 Today, I finally learned the fundamentals of OpenRocket! I worked out where to place the individual components, such as the parachute deployment system, whilst also discerning key concepts like the centre of gravity and centre of pressure. I modelled it within the optimal stability range of 1.5-2 cal with it being 2.01 cal. This was truly a fun process as I got to play around with dimensions, measure some components irl (the body of my rocket is going to be a 660x60mm postal tube, so I based the measurements of this as such!). Now that I have planned out the build dimensions, I can shift my focus towards learning how to make an avionics bay and furthering my SolidWorks knowledge!
Rocket Prototype | Devlog 5 Today, I mastered the fundamentals of KiCad. I determined appropriate wiring as well as finalising schematics for the components. Tomorrow, I’ll have to redo the MPU6050 component as I decided to change to a more documented part, but otherwise, a productive session nonetheless! I also learnt how footprints operate, and managed to design them in preparation for the final step, which would be making the custom PCB!
Rocket Prototype | Devlog 6 Today, I just spent some time reconstructing the MPU6050 component as the Adafruit variation was different compared to the industry standard component (12 pins versus 6 pins). I updated the schematic to accommodate for these changes. As such, since I have finished the schematics and footprints for all of the components, I will shift my focus toward making the actual PCB for the Orion Flight Computer (I thought the name sounded cool). Looking forward to building it!
Rocket Prototype - Devlog 4 Today, I learnt the fundamentals of KiCad and was able to build my own schematic for the way I would like to structure the projects computer. It pretty much just features an Arduino, MPU6050, and BMP388.I have had zero experience in this field, so this was a challenging yet rewarding experience after I got it down pat! This is basic for now; I intend on adding a power source (for obvious reasons) and a MicroSD card reader for in-flight tracking.Stay tuned for when I make the PCB! (this is a reupload: I asked the Stardance developers to shift this post from one project to this one on Slack but due to a lack of response and not wanting to lose the hours I committed, I did this so that the hours would be here when it came to product shipment). Mods: Please refer to https://stardance.hackclub.com/projects/47535 for the associated session.
Rocket Prototype | Devlog 7 - PCB COMPLETION!!! Today has been nothing short of thrilling: I finished my PCB for the Orion Flight Computer for my Odyssey Rocket. I revised the schematics in KiCad, caught some errors and fixed the footprints before implementing the final touches (don’t go too hard on my design this is my first one). I learnt how to make the Nose Cone for my Rocket in SolidWorks! It’s a Von Karman Ogive that may be too optimised for subsonic travel, but we shall see…. My //README.md// and //journal.md// has been updated to reflect these changes. Now…what’s next? Code the C+ code (or whichever coding language) is required for the Orion Flight Computer. Assemble a Bill of Materials. Finish the project and finalise it for funding as my 19th birthday under 2 weeks away….
Rocket Prototype | Devlog 8 - Rocket Nose Cone Amendments and GitHub Repo Editing! I spent an ungodly amount of time scanning through my GitHub Repo, overhauling it and optimising it in preparation for shipping. There’s still a fair amount of work to do, but I got through a fair chunk of it. I also made an updated model for the Rocket Nose Cone. It’s far from complete as I need to discern the appropriateness of measurements when incorporating the shock cord module into the shoulder linked to the nose cone. I aim to finish a fair majority of this project tomorrow so stay tuned!
Rocket Prototype | Devlog 9 - Rocket Nose Finalisation and more GitHub Repo Editing! Today I spent hours of moiling away at SolidWorks: Learning how to add Fillets Creating a boss structure Building the nose cone module and the shock cord section that attaches to the eyebolt. This is likely going to be the last or second last dev log I upload as I am 90-95% complete now!
Rocket Prototype | Devlog 10 - Shipment // FIN. GitHub is complete. Simulations are complete. Prototype model is done.
Rocket Prototype | Devlog 11 - The End? Far from it. I revised the entirety of the Rocket Nose Cone and realised a pressing issue: “you can’t access the inside of the nose cone.” Rookie mistake. On my third design, I decided to separate the nose cone into three components: the shoulder, the actual nose cone/ogive, and an avionics sled for the PCB components to be stored. (BTW the time recorded for this was ONLY for the sled that I finally finished today - the remaining components were me not being bothered to record [whoops]). The avionics sled SHOULD be printed out by tomorrow but lets see how that goes!...
|
1793170240.8829181
|
1793775040.8829181
|
|
59094
|
NEXKEY by @Sammy_Uranus | Stardance
|
Sammy_Uranus
|
0
|
2.78
|
0
|
[]
|
[{"post_id": 70225, "ts": "202 [{"post_id": 70225, "ts": "2026-09-18T18:58:36Z", "hours": 2.7833, "text": "#Devlog 1 — NexKey: The First Lines of the Circuit ⚡ Today I finally started working on NexKey , my own custom macropad. 🎯 The main goal I want to build a macropad completely by myself — including the PCB . Today was mostly about getting started with KiCad and figuring out how everything will connect. 🔧 What I worked on I started building the schematic and divided it into different parts: 🧠 MCU + Power ⌨️ 9-Key Matrix 🖥️ TFT Display + SD Card 🔄 Rotary Encoder 🌈 RGB LEDs I also planned how everything will communicate with the XIAO ESP32 . The TFT and SD card will share the same SPI bus, while the keys will use a 3×3 matrix with an MCP23017 GPIO expander. For RGB, I’m using SK6812MINI-E LEDs in a chain. 🧩 What I learned I thought PCB design was mostly about placing components and drawing tracks… Turns out, there’s a LOT of planning before routing even starts. 😭 Day 1 done. ✅"}]...
|
Title: NEXKEY by @Sammy_Uranus | Stardance
Devlog Title: NEXKEY by @Sammy_Uranus | Stardance
Devlogs:
#Devlog 1 — NexKey: The First Lines of the Circuit ⚡ Today I finally started working on NexKey , my own custom macropad. 🎯 The main goal I want to build a macropad completely by myself — including the PCB . Today was mostly about getting started with KiCad and figuring out how everything will connect. 🔧 What I worked on I started building the schematic and divided it into different parts: 🧠 MCU + Power ⌨️ 9-Key Matrix 🖥️ TFT Display + SD Card 🔄 Rotary Encoder 🌈 RGB LEDs I also planned how everything will communicate with the XIAO ESP32 . The TFT and SD card will share the same SPI bus, while the keys will use a 3×3 matrix with an MCP23017 GPIO expander. For RGB, I’m using SK6812MINI-E LEDs in a chain. 🧩 What I learned I thought PCB design was mostly about placing components and drawing tracks… Turns out, there’s a LOT of planning before routing even starts. 😭 Day 1 done. ✅...
|
1792781559.5484252
|
1793386359.5484252
|
|
44283
|
fred's games by @Googentity | Stardance
|
Googentity
|
0
|
5.34
|
0
|
[]
|
[{"post_id": 70231, "ts": "202 [{"post_id": 70231, "ts": "2026-09-18T19:11:01Z", "hours": 1.1419, "text": "you can actully collect the hajes in the platformer minigame but the heart code is broken so i might fix that after writing this devlog (also i hit 42 hours on godot on steam )"}, {"post_id": 43956, "ts": "2026-08-09T12:38:32Z", "hours": 1.5289, "text": "made the basics of the first minigame (a platformer where you need to collect 3 blahajes) and also made the animation for the hajes which doesnt show in game for some reason, also its not possible to collect the blahajes which i did try to correct in this update but i will also try after i post this devlog, also the timer thingy shows the milliseconds now"}, {"post_id": 42677, "ts": "2026-08-07T15:05:14Z", "hours": 1.8669, "text": "i have finally made the level_scene code work, the fact that it took 1 hour and 52 minutes to fix should be enough, however i unfortunately needed to use chatgpt for the fix but at least the code works now which is very much a relief"}, {"post_id": 42172, "ts": "2026-08-06T19:45:33Z", "hours": 0.3825, "text": "i made the quit button and its script and also made the level counter thingy, i also deleted the settings button because i don’t think i’ll add in a settings menu, due to the settings button being eliminated i further redesigned the main menu, also i initially made a heart in aseprite but it turned out weird in exporting so i resorted to using an image from the internet"}, {"post_id": 42148, "ts": "2026-08-06T19:14:10Z", "hours": 0.4208, "text": "i made the menu layout and the code for the start button, i initially made the buttons vertical using the vbox container, but decided to do a diagonal layout"}]...
|
Title: fred's games by @Googentity | Stardance Title: fred's games by @Googentity | Stardance
Devlogs:
i made the menu layout and the code for the start button, i initially made the buttons vertical using the vbox container, but decided to do a diagonal layout
i made the quit button and its script and also made the level counter thingy, i also deleted the settings button because i don’t think i’ll add in a settings menu, due to the settings button being eliminated i further redesigned the main menu, also i initially made a heart in aseprite but it turned out weird in exporting so i resorted to using an image from the internet
i have finally made the level_scene code work, the fact that it took 1 hour and 52 minutes to fix should be enough, however i unfortunately needed to use chatgpt for the fix but at least the code works now which is very much a relief
made the basics of the first minigame (a platformer where you need to collect 3 blahajes) and also made the animation for the hajes which doesnt show in game for some reason, also its not possible to collect the blahajes which i did try to correct in this update but i will also try after i post this devlog, also the timer thingy shows the milliseconds now
you can actully collect the hajes in the platformer minigame but the heart code is broken so i might fix that after writing this devlog (also i hit 42 hours on godot on steam )...
|
1793267235.4564347
|
1793872035.4564347
|
|
63537
|
mesa by @rajaryan1492007 | Stardance
|
rajaryan1492007
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-26T10:50:18Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "last ship of this . it open source contribution in mesa(linux gpu driver) . i fix descriptor_heap crash problem that got merge in NIR mesa . about test ? if ur using linux in mesa its already in realease other pr are still in review .", "repo": "https://gitlab.freedesktop.org/rajaryan1492007/mesa", "demo": "https://gitlab.freedesktop.org/rajaryan1492007/mesa/-/blob/main/README.rst?ref_type=heads"}]...
|
[{"post_id": 70234, "ts": "202 [{"post_id": 70234, "ts": "2026-09-18T19:19:45Z", "hours": 11.7567, "text": "got my first pr merged"}]...
|
Title: mesa by @rajaryan1492007 | Stardance
Devlo Title: mesa by @rajaryan1492007 | Stardance
Devlogs:
got my first pr merged
Ships:
last ship of this . it open source contribution in mesa(linux gpu driver) . i fix descriptor_heap crash problem that got merge in NIR mesa . about test ? if ur using linux in mesa its already in realease other pr are still in review ....
|
1793202511.8693347
|
1793288911.8693347
|
|
57508
|
SWAG Tab by @berragurlesin | Stardance
|
berragurlesin
|
1
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T20:02:49Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a new tab page that is fully customizable and allows everyone to reflect their own style. It’s called SWAG tab! From stickers you can add, remove, and resize to a box where you can write your name, from daily APOD space updates from NASA to a motivational note box… many things you can think of. I learned the basics by following the guide and fetched the APOD from NASA. Afterwards I added the features I would want for my new tab page one by one as they came to mind. Adjusting the sticker sizes was a big struggle, but I finally managed it! Overall, I really enjoyed working on this project. If you’d like to have a cool new tab page yourself, or want to learn more please read the README first, and then try the project. I would love to hear your thoughts!", "repo": "https://github.com/berragurlesin/My-Swag-Tab", "demo": "https://berragurlesin.github.io/My-Swag-Tab/"}]...
|
[{"post_id": 70243, "ts": "202 [{"post_id": 70243, "ts": "2026-09-18T19:38:35Z", "hours": 1.6725, "text": "devlog #13 it seems like SWAG tab is finally done! We can now adjust the sticker sizes. And I wrote the project README so you can get a handle on the details. I’d be absolutely happy if you could take a look and share your feedback"}, {"post_id": 69281, "ts": "2026-09-16T18:39:59Z", "hours": 2.3558, "text": "devlog #12 hii, being motivated is important and as people with goals we need it. That’s why there’s now a motivational note box in SWAG Tab! I’ll also be working on adding default options (plus, you can move this box wherever you like and it works AWESOME) Also, NASA sent a video a few days ago but it gave an error again, it seems to be a permissions issue. So I added a button that links directly to the NASA APOD page, that way the video can be watched! I hadn’t been able to share a devlog but if another video comes through I’ll show it. Ooh, and I also made it possible to drag the NASA photo box!"}, {"post_id": 66682, "ts": "2026-09-12T15:38:38Z", "hours": 1.6697, "text": "devlog#11 hey everyone! you can now write a name using ransom note letters inside the “my name is” tag (I’m thinking of changing this style or adding different options later) I added three font size levels, the letters shrink as the word gets longer, so it looks betterrr. ooh, and also since I was used to it I was entering Turkish characters, so I added a function to convert them (though adding different characters directly later on might be better)"}, {"post_id": 66583, "ts": "2026-09-12T12:53:38Z", "hours": 0.5464, "text": "devlog#10 heelloo, I was getting an error when a video came from NASA, so I had to write the code to handle both scenarios. But then I realized there was a conflict because the image wasn’t being hidden when the video appeared. I also learned that YouTube links etc. can come through as well, so I added a parameter to account for those cases too. Insallah, this solves the problem!"}, {"post_id": 64987, "ts": "2026-09-09T19:13:41Z", "hours": 2.0233, "text": "devlog#09 hiyaa, I spent a long time trying to add a function to adjust sticker sizes, but once I added it other features stopped working properly…I couldn’t add or drag stickers, and so on :( If you have any ideas on how to fix this, please lmk. BUUUT I did add something I really love, a cute label where you can write your name! I made it stick out a bit, adjusted the angle and placement etc. though I’m going to try changing the text to a different font. Also, a problem show up with the image/video coming from NASA today. I think it is a video for today and the issue occurs from that, I’m gonna try to fix it now"}, {"post_id": 63554, "ts": "2026-09-07T13:58:29Z", "hours": 2.2025, "text": "devlog#08 Hi guyss! There is a super important update, SWAG Tab is now even more customizable! I’ve coded the sticker adding feature I’ve had in mind from the very beginning (some parts were really tricky :D) First, I loaded default stickers and set their positions. I decided that two of them shouldn’t be deletable (the star near the search bar and the limited edition sticker. I used “canBeDeleted” boolean variable to ensure those set to false couldn’t be removed) though their positions can still be changed by user. (actually, you can move any sticker wherever you want, though there are a few bugs I still need to fix) In the video, I clear the local storage and show the default positions. Also, all of the user’s edits are saved locally. In short, the user can now add and remove stickers and move them anywhere they want on the page. However, the sizes of the stickers need to be adjustable, the next devlog might be about that! If you’ve read this far, lmk what do you think about stickers!"}, {"post_id": 63158, "ts": "2026-09-06T20:06:42Z", "hours": 1.3919, "text": "devlog #07 we can now change the backgroundd I’ve added a few options that match the theme, but you can also select your own file if you want. I designed the icon for the background settings myself, I didn’t want a normal settings icon, so I added the star to it, I think it looks good now!"}, {"post_id": 62483, "ts": "2026-09-05T21:04:39Z", "hours": 2.6047, "text": "devlog #06 hey there! SWAG tab is progressing. I thought that if I am building a tab I need to add shortcuts, and I’ve spent the last three hours working on this. Now there’s a box that we can add our fav shortcuts. I put a lot of thought into the design, and this is the result! I used Google favicon fetcher to get the app icons (otherwise they look pretty bad) and I added a button to delete them if needed, make them match to the overall theme. I also applied a glittery background to the box that I really like. As the next step, I’m thinking of adding a feature to change the background color (the blue one), because I’m already itching to see some different colors! :D"}, {"post_id": 61444, "ts": "2026-09-04T11:23:46Z", "hours": 1.0986, "text": "devlog #05 now, I can fetch images from NASA! I added a api key and used it by following the steps in the guide. I learned that NASA sometimes uploads videos for APOD, so I wrote an if statement and make sure nothing breaks when a video loads. I also customized the styling!"}, {"post_id": 61030, "ts": "2026-09-03T18:45:26Z", "hours": 0.3783, "text": "devlog #04 standard fonts didn’t give me the vibe I was looking for, so I cropped the numbers I mentioned in my previous devlog, made them all the same size and removed their backgrounds. Got them working on the clock! made the images cycle through in order every second. How is it going?"}, {"post_id": 60959, "ts": "2026-09-03T17:18:01Z", "hours": 0.6617, "text": "devlog #03 hii, I created a live digital clock that updates itself using JS’s date object and the setInterval function. I wanna change this clock with numbers in my own style (I found a font!) now I’m going to look into how to do that"}, {"post_id": 60462, "ts": "2026-09-02T20:00:11Z", "hours": 0.37, "text": "devlog #02 I found these colors on pinterest (I added the reference) and applied that blue color to my background, I also added a google search bar and adjusted its colors as well"}, {"post_id": 60210, "ts": "2026-09-02T13:12:10Z", "hours": 0.2778, "text": "devlog #01 hey everyone, I followed the steps in the mission guide and I think I’ve got the basics down (yup!) next up is customizing my own tab"}]...
|
Title: SWAG Tab by @berragurlesin | Stardance
Dev Title: SWAG Tab by @berragurlesin | Stardance
Devlogs:
devlog #01 hey everyone, I followed the steps in the mission guide and I think I’ve got the basics down (yup!) next up is customizing my own tab
devlog #02 I found these colors on pinterest (I added the reference) and applied that blue color to my background, I also added a google search bar and adjusted its colors as well
devlog #03 hii, I created a live digital clock that updates itself using JS’s date object and the setInterval function. I wanna change this clock with numbers in my own style (I found a font!) now I’m going to look into how to do that
devlog #04 standard fonts didn’t give me the vibe I was looking for, so I cropped the numbers I mentioned in my previous devlog, made them all the same size and removed their backgrounds. Got them working on the clock! made the images cycle through in order every second. How is it going?
devlog #05 now, I can fetch images from NASA! I added a api key and used it by following the steps in the guide. I learned that NASA sometimes uploads videos for APOD, so I wrote an if statement and make sure nothing breaks when a video loads. I also customized the styling!
devlog #06 hey there! SWAG tab is progressing. I thought that if I am building a tab I need to add shortcuts, and I’ve spent the last three hours working on this. Now there’s a box that we can add our fav shortcuts. I put a lot of thought into the design, and this is the result! I used Google favicon fetcher to get the app icons (otherwise they look pretty bad) and I added a button to delete them if needed, make them match to the overall theme. I also applied a glittery background to the box that I really like. As the next step, I’m thinking of adding a feature to change the background color (the blue one), because I’m already itching to see some different colors! :D
devlog #07 we can now change the backgroundd I’ve added a few options that match the theme, but you can also select your own file if you want. I designed the icon for the background settings myself, I didn’t want a normal settings icon, so I added the star to it, I think it looks good now!
devlog#08 Hi guyss! There is a super important update, SWAG Tab is now even more customizable! I’ve coded the sticker adding feature I’ve had in mind from the very beginning (some parts were really tricky :D) First, I loaded default stickers and set their positions. I decided that two of them shouldn’t be deletable (the star near the search bar and the limited edition sticker. I used “canBeDeleted” boolean variable to ensure those set to false couldn’t be removed) though their positions can still be changed by user. (actually, you can move any sticker wherever you want, though there are a few bugs I still need to fix) In the video, I clear the local storage and show the default positions. Also, all of the user’s edits are saved locally. In short, the user can now add and remove stickers and move them anywhere they want on the page. However, the sizes of the stickers need to be adjustable, the next devlog might be about that! If you’ve read this far, lmk what do you think about stickers!
devlog#09 hiyaa, I spent a long time trying to add a function to adjust sticker sizes, but once I added it other features stopped working properly…I couldn’t add or drag stickers, and so on :( If you have any ideas on how to fix this, please lmk. BUUUT I did add something I really love, a cute label where you can write your name! I made it stick out a bit, adjusted the angle and placement etc. though I’m going to try changing the text to a different font. Also, a problem show up with the image/video coming from NASA today. I think it is a video for today and the issue occurs from that, I’m gonna try to fix it now
devlog#10 heelloo, I was getting an error when a video came from NASA, so I had to write the code to handle both scenarios. But then I realized there was a conflict because the image wasn’t being hidden when the video appeared. I also learned that YouTube links etc. can come through as well, so I added a parameter to account for those cases too. Insallah, this solves the problem!
devlog#11 hey everyone! you can now write a name using ransom note letters inside the “my name is” tag (I’m thinking of changing this style or adding different options later) I added three font size levels, the letters shrink as the word gets longer, so it looks betterrr. ooh, and also since I was used to it I was entering Turkish characters, so I added a function to convert them (though adding different characters directly later on might be better)
devlog #12 hii, being motivated is important and as people with goals we need it. That’s why there’s now a motivational note box in SWAG Tab! I’ll also be working on adding default options (plus, you can move this box wherever you like and it works AWESOME) Also, NASA sent a video a few days ago but it gave an error again, it seems to be a permissions issue. So I added a button that links directly to the NASA APOD page, that way the video can be watched! I hadn’t been able to share a devlog but if another video comes through I’ll show it. Ooh, and I also made it possible to drag the NASA photo box!
devlog #13 it seems like SWAG tab is finally done! We can now adjust the sticker sizes. And I wrote the project README so you can get a handle on the details. I’d be absolutely happy if you could take a look and share your feedback
Ships:
I created a new tab page that is fully customizable and allows everyone to reflect their own style. It’s called SWAG tab! From stickers you can add, remove, and resize to a box where you can write your name, from daily APOD space updates from NASA to a motivational note box… many things you can think of. I learned the basics by following the guide and fetched the APOD from NASA. Afterwards I added the features I would want for my new tab page one by one as they came to mind. Adjusting the sticker sizes was a big struggle, but I finally managed it! Overall, I really enjoyed working on this project. If you’d like to have a cool new tab page yourself, or want to learn more please read the README first, and then try the project. I would love to hear your thoughts!...
|
1793350159.754747
|
1793436559.754747
|
|
11054
|
Project Tracker by @JasonC9 | Stardance
|
JasonC9
|
1
|
16.0
|
220
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-11T20:00:58Z", "hours": 16.0, "multiplier": 13.39, "payout": 220, "blessing": "neutral", "text": "I built a project tracker that runs in your browser using HTML, CSS, and JavaScript, where all project data is stored in a projects.json file. The main challenge was making the JavaScript, especially syncing edits across the dashboard, checklist, and editor while avoiding missing or broken code. Some projects don’t have BOMs or journals. To save it properly, you need to download the JSON file and upload it to the website root directory /root , since everything depends on that file for storage.", "repo": "https://github.com/anadskman/Project-Tracker", "demo": "https://anadskman.github.io/ProjectTracker/"}]...
|
[{"post_id": 7026, "ts": "2026 [{"post_id": 7026, "ts": "2026-06-11T19:45:11Z", "hours": 1.6639, "text": "Made checklist page similar as edit page download json and upload to website root to save globally Made mobile Friendly Made github"}, {"post_id": 6817, "ts": "2026-06-11T13:18:38Z", "hours": 1.4869, "text": "made editor have journal/bom buttons edit links edit status dashboard display from json projects page displays from json filled info for blueprint/flavortown in .json To Do Make checklist page Add Database(mightnt do, downloading and uploading the json fill would be easier) Make Github Page!!!"}, {"post_id": 6275, "ts": "2026-06-10T15:31:04Z", "hours": 4.4389, "text": "uploaded boms and journals for blueprint/flavortown Worked on Upload/Edit Page Current Features Edit Projects on right panel and hit save. download the json and replace with current one to save changes outside of local 4 items in the center are editable Add Programs/Projects buttons (Save Locally ATM ) To Do Add image upload/change change local storage to database(last thing) make projects in projects and dashboard pages load from projects.json instead of static make checklist page Add rest of info for blueprint/flavortown in .json"}, {"post_id": 4994, "ts": "2026-06-08T17:16:20Z", "hours": 3.7511, "text": "Completed Made Header Cleaner Dashboard Cleaner Projects Page Collapse button for each section Filter between project status and cost stats display at top of dashboard Fixed journal/bom box sizes made links next to eachother at the bottom Changed Global font to inter Changed color scheme to match and look nicer To Do links for hackatime/lapse upload boms/journals for blueprint and flavortown make upload/edit section make checklist page"}, {"post_id": 4390, "ts": "2026-06-07T18:24:27Z", "hours": 3.0078, "text": "I added a view BOM using a similar system but i ran in to some bugs of course, like the BOM not showing at all, styles not working. At first i was gonna type all the BOMs in as tables one by one but i remembered you can export your BOMs or just use the ones that would of been put in the GitHub. Once everything was looking nice and how i wanted it i did the slower part and copied and pasted it for each and every project and filled in their info. I filled in everything except for the pricing and times on the blueprint and flavortown projects. Additionally i have to upload the BOMs and journals for those projects as well. To Do List: Upload BOMs, Journals, Time, and Prices to Blueprint and Flavortown Projects Possibly make a “frontend” upload control so if others want to use this they can easy add in their own projects into their own copy of the site Possibly Filter option for completed and in progress projects Links section, for lapse or hackatime Cleaner Dashboard, collapse button for projects*(each program its own button)* Stats in the dashboard header to move between hackclub.html and index.html"}, {"post_id": 4216, "ts": "2026-06-07T13:31:35Z", "hours": 2.1431, "text": "Made the project list, and added a Status bar, links to github and hackclub sites, when you click on the project itself it takes you to its own page. I made the stasis page but only with the stopwatch on it so far. its the same setup but i added a total time, cost and the journals. For the journals i used zero-md. Heres the code for that if you wanna use it yourself: <head> script type=\"module\" src=\"https://cdn.jsdelivr.net/npm/zero-md@3?register\"></script> </head> <body> <div class=\"journal\"> <details> <summary>View Journal</summary> <zero-md src=\"journals/Desktop-Stopwatch-JOURNAL.md\"> <template data-append> <style> img { max-width: 20% !important; width: 100% !important; height: auto !important; display: block !important; margin: 10px 0 !important; } </style> </template> </zero-md> </details> </div> </body>"}]...
|
Title: Project Tracker by @JasonC9 | Stardance
De Title: Project Tracker by @JasonC9 | Stardance
Devlogs:
Made the project list, and added a Status bar, links to github and hackclub sites, when you click on the project itself it takes you to its own page. I made the stasis page but only with the stopwatch on it so far. its the same setup but i added a total time, cost and the journals. For the journals i used zero-md. Heres the code for that if you wanna use it yourself: <head> script type="module" src="https://cdn.jsdelivr.net/npm/zero-md@3?register"></script> </head> <body> <div class="journal"> <details> <summary>View Journal</summary> <zero-md src="journals/Desktop-Stopwatch-JOURNAL.md"> <template data-append> <style> img { max-width: 20% !important; width: 100% !important; height: auto !important; display: block !important; margin: 10px 0 !important; } </style> </template> </zero-md> </details> </div> </body>
I added a view BOM using a similar system but i ran in to some bugs of course, like the BOM not showing at all, styles not working. At first i was gonna type all the BOMs in as tables one by one but i remembered you can export your BOMs or just use the ones that would of been put in the GitHub. Once everything was looking nice and how i wanted it i did the slower part and copied and pasted it for each and every project and filled in their info. I filled in everything except for the pricing and times on the blueprint and flavortown projects. Additionally i have to upload the BOMs and journals for those projects as well. To Do List: Upload BOMs, Journals, Time, and Prices to Blueprint and Flavortown Projects Possibly make a “frontend” upload control so if others want to use this they can easy add in their own projects into their own copy of the site Possibly Filter option for completed and in progress projects Links section, for lapse or hackatime Cleaner Dashboard, collapse button for projects*(each program its own button)* Stats in the dashboard header to move between hackclub.html and index.html
Completed Made Header Cleaner Dashboard Cleaner Projects Page Collapse button for each section Filter between project status and cost stats display at top of dashboard Fixed journal/bom box sizes made links next to eachother at the bottom Changed Global font to inter Changed color scheme to match and look nicer To Do links for hackatime/lapse upload boms/journals for blueprint and flavortown make upload/edit section make checklist page
uploaded boms and journals for blueprint/flavortown Worked on Upload/Edit Page Current Features Edit Projects on right panel and hit save. download the json and replace with current one to save changes outside of local 4 items in the center are editable Add Programs/Projects buttons (Save Locally ATM ) To Do Add image upload/change change local storage to database(last thing) make projects in projects and dashboard pages load from projects.json instead of static make checklist page Add rest of info for blueprint/flavortown in .json
made editor have journal/bom buttons edit links edit status dashboard display from json projects page displays from json filled info for blueprint/flavortown in .json To Do Make checklist page Add Database(mightnt do, downloading and uploading the json fill would be easier) Make Github Page!!!
Made checklist page similar as edit page download json and upload to website root to save globally Made mobile Friendly Made github
Ships:
I built a project tracker that runs in your browser using HTML, CSS, and JavaScript, where all project data is stored in a projects.json file. The main challenge was making the JavaScript, especially syncing edits across the dashboard, checklist, and editor while avoiding missing or broken code. Some projects don’t have BOMs or journals. To save it properly, you need to download the JSON file and upload it to the website root directory /root , since everything depends on that file for storage....
|
1793307316.279737
|
1793393716.279737
|
|
63551
|
3d Renderer by @joebracken | Stardance
|
joebracken
|
0
|
4.26
|
0
|
[]
|
[{"post_id": 70260, "ts": "202 [{"post_id": 70260, "ts": "2026-09-18T20:29:02Z", "hours": 4.2553, "text": "I wasnt originally going to make this into a stardance project but my “I just want to test something” project started creating problems. So here is my 3d sphere so far: I have created a sphere out of hundreds of dots, it can be rotated on the x,y and z axis, the dots change size based on how far they are. This project was supposed to be a visual aid for my learning of vector fields so I was going to add gravity to each dot - forces - but I struggled too much with getting the sphere to be able to rotate. The way I have coded this so far also made me realise it wouldnt be so hard to add many kinds of 3d shapes for the user to rotate. So that’s what I shall do or try. The screen shots do not do it any justice."}]...
|
Title: 3d Renderer by @joebracken | Stardance
Dev Title: 3d Renderer by @joebracken | Stardance
Devlogs:
I wasnt originally going to make this into a stardance project but my “I just want to test something” project started creating problems. So here is my 3d sphere so far: I have created a sphere out of hundreds of dots, it can be rotated on the x,y and z axis, the dots change size based on how far they are. This project was supposed to be a visual aid for my learning of vector fields so I was going to add gravity to each dot - forces - but I struggled too much with getting the sphere to be able to rotate. The way I have coded this so far also made me realise it wouldnt be so hard to add many kinds of 3d shapes for the user to rotate. So that’s what I shall do or try. The screen shots do not do it any justice....
|
1793051571.134247
|
1793656371.134247
|
|
25754
|
Creator Launchpad by @NexBlade-Studios | Stardance
|
NexBlade-Studios
|
1
|
10.0
|
126
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T22:42:25Z", "hours": 10.0, "multiplier": 10.96, "payout": 126, "blessing": "neutral", "text": "This is Creator Launchpad, the platform that streamlines content creation, from video ideas to content creation. I created this app because content creation has grown so much in the past few years, and it can sometimes feel like it is too competitive. I though it would be cool to create a way to speed up parts of the process that aren’t necessarily the most fun, for example thumbnail creation. By picking a category, either generating an idea or writing your own, Creator Launchpad utilises Gemini API to create a customized thumbnail, save it to your personal gallery and then share it. I have already found myself just using the app to see how different thumbnail prompts would turn out, and it is quite cool to see ideas being turned into usable concepts.", "repo": "https://github.com/NexBlade-Studios/Creator-Launchpad", "demo": "https://github.com/NexBlade-Studios/Creator-Launchpad/releases/tag/v1.0.0"}]...
|
[{"post_id": 70261, "ts": "202 [{"post_id": 70261, "ts": "2026-09-18T20:29:56Z", "hours": 1.305, "text": "This is now the final stretch of the project before I ship!!! I have finished the gallery section of the app, and it enables users to save their generated thumbnails, manage and delete them. This means that if there’s a thumbnail that you want to keep, you can save it to your gallery instead of needing to share or export it. Also, the prompt used to generate the thumbnail is listed at the bottom so that you could use the prompt to generate the thumbnail again."}, {"post_id": 68290, "ts": "2026-09-14T21:15:35Z", "hours": 0.7803, "text": "I wanted to put a quick number of updates before shipping the project because it isn’t in a state that I am satisfied with yet. I have added dark mode support because I know that without it the app is very bright (it is practically a flashlight). I am now working on implementing a gallery system where thumbnails you have generated can be saved to the thumbnail gallery with the prompt attached. Currently you would have to share the thumbnail and then save it to your phone, so this makes it more convenient. I also added some more categories, hopefully this covers all the key areas of content creation now."}, {"post_id": 27583, "ts": "2026-07-13T09:17:01Z", "hours": 4.2972, "text": "#TESTERS NEEDED The project is now complete! Creators can now use Creator Launchpad for their content creation, being able to generate video ideas and thumbnails, all straight from the app. I want to put the project on Google Play, so I require at least 12 game testers before publishing. If you want to help with my project, please email me at [email protected]"}, {"post_id": 15844, "ts": "2026-06-25T19:18:43Z", "hours": 1.5361, "text": "I have now implemented Gemini using Supabase to my project, enabling a user to generate video ideas. I was originally using Firebase but turns out the Spark tier didn’t let me run functions direct from the command line. Anyway, now I aim to use Stable Diffusion or some other image generator to generate the thumbnails."}, {"post_id": 15615, "ts": "2026-06-25T12:17:04Z", "hours": 1.6783, "text": "I have decided to make an app for content creators, where you can input your next video idea (or even ask AI) and then get a fully generated thumbnail ready to use. Currently I have worked on the simple UI screens, with text input and category selection. There isn’t really anything interesting to show for the app so far. The next step is to integrate the AI. This project should be fully complete by the end of the day, and I will be releasing it on Google Play."}]...
|
Title: Creator Launchpad by @NexBlade-Studios | St Title: Creator Launchpad by @NexBlade-Studios | Stardance
Devlogs:
I have decided to make an app for content creators, where you can input your next video idea (or even ask AI) and then get a fully generated thumbnail ready to use. Currently I have worked on the simple UI screens, with text input and category selection. There isn’t really anything interesting to show for the app so far. The next step is to integrate the AI. This project should be fully complete by the end of the day, and I will be releasing it on Google Play.
I have now implemented Gemini using Supabase to my project, enabling a user to generate video ideas. I was originally using Firebase but turns out the Spark tier didn’t let me run functions direct from the command line. Anyway, now I aim to use Stable Diffusion or some other image generator to generate the thumbnails.
#TESTERS NEEDED The project is now complete! Creators can now use Creator Launchpad for their content creation, being able to generate video ideas and thumbnails, all straight from the app. I want to put the project on Google Play, so I require at least 12 game testers before publishing. If you want to help with my project, please email me at [email protected]
I wanted to put a quick number of updates before shipping the project because it isn’t in a state that I am satisfied with yet. I have added dark mode support because I know that without it the app is very bright (it is practically a flashlight). I am now working on implementing a gallery system where thumbnails you have generated can be saved to the thumbnail gallery with the prompt attached. Currently you would have to share the thumbnail and then save it to your phone, so this makes it more convenient. I also added some more categories, hopefully this covers all the key areas of content creation now.
This is now the final stretch of the project before I ship!!! I have finished the gallery section of the app, and it enables users to save their generated thumbnails, manage and delete them. This means that if there’s a thumbnail that you want to keep, you can save it to your gallery instead of needing to share or export it. Also, the prompt used to generate the thumbnail is listed at the bottom so that you could use the prompt to generate the thumbnail again.
Ships:
This is Creator Launchpad, the platform that streamlines content creation, from video ideas to content creation. I created this app because content creation has grown so much in the past few years, and it can sometimes feel like it is too competitive. I though it would be cool to create a way to speed up parts of the process that aren’t necessarily the most fun, for example thumbnail creation. By picking a category, either generating an idea or writing your own, Creator Launchpad utilises Gemini API to create a customized thumbnail, save it to your personal gallery and then share it. I have already found myself just using the app to see how different thumbnail prompts would turn out, and it is quite cool to see ideas being turned into usable concepts....
|
1793347050.1963928
|
1793433450.1963928
|
|
56162
|
Discord Organization Bot by @karoltoo11 | Stardanc Discord Organization Bot by @karoltoo11 | Stardance...
|
karoltoo11
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T20:49:27Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi <3 I made a usefull discord bot that will really help you with building a discord community. I’d have a lot of fun while doing It. It is my first that big project, especially in java script. This language after a bit of time is really enjoyable. I hope that I created a really good thing!", "repo": "https://github.com/karoltoo11/discord-organization-bot", "demo": "https://discord.gg/YysXFVhGy7"}]...
|
[{"post_id": 70267, "ts": "202 [{"post_id": 70267, "ts": "2026-09-18T20:46:16Z", "hours": 0.7997, "text": "Hi! I’ve added all of options that I wanted. I mean: Fully functional “Looking for Group/Game” -> You can create post with fully interactable buttons etc. Personal Reminders -> You really don’t want to forget about your daily strike at stardance! To-do List -> For adminstration and smaller server groups."}, {"post_id": 62776, "ts": "2026-09-06T09:20:53Z", "hours": 1.3239, "text": "Hi! I’ve added a “trap channel” to catch bots that spam invites to their own servers or other scam links. Simply run the /trap set command in the designated channel, and it becomes active immediately. Sending a message results in an automatic kick and the deletion of the message."}, {"post_id": 59471, "ts": "2026-09-01T10:36:57Z", "hours": 2.8803, "text": "Hi! I’m working on a project that could be really useful for managing larger Discord servers. Personally, I’ve always struggled with organizing events and giveaways (like for specific roles), as well as setting up channels for things like “looking for a game”. Since I have some experience with Discord bot development, I decided to solve all these issues with a single bot—after all, having 30 different bots on a server doesn’t look very good. So far, I’ve added features for: Organizing giveaways. Organizing events. Both features are easy to configure and come with all the useful options you’d expect. Additionally, if you sign up for an event, the bot sends you a DM when it’s about to start to let you know it’s kicking off. (Since English isn’t my native language, I used Google Translate for the message.)"}]...
|
Title: Discord Organization Bot by @karoltoo11 | S Title: Discord Organization Bot by @karoltoo11 | Stardance
Devlogs:
Hi! I’m working on a project that could be really useful for managing larger Discord servers. Personally, I’ve always struggled with organizing events and giveaways (like for specific roles), as well as setting up channels for things like “looking for a game”. Since I have some experience with Discord bot development, I decided to solve all these issues with a single bot—after all, having 30 different bots on a server doesn’t look very good. So far, I’ve added features for: Organizing giveaways. Organizing events. Both features are easy to configure and come with all the useful options you’d expect. Additionally, if you sign up for an event, the bot sends you a DM when it’s about to start to let you know it’s kicking off. (Since English isn’t my native language, I used Google Translate for the message.)
Hi! I’ve added a “trap channel” to catch bots that spam invites to their own servers or other scam links. Simply run the /trap set command in the designated channel, and it becomes active immediately. Sending a message results in an automatic kick and the deletion of the message.
Hi! I’ve added all of options that I wanted. I mean: Fully functional “Looking for Group/Game” -> You can create post with fully interactable buttons etc. Personal Reminders -> You really don’t want to forget about your daily strike at stardance! To-do List -> For adminstration and smaller server groups.
Ships:
Hi <3 I made a usefull discord bot that will really help you with building a discord community. I’d have a lot of fun while doing It. It is my first that big project, especially in java script. This language after a bit of time is really enjoyable. I hope that I created a really good thing!...
|
1793346702.7222307
|
1793433102.7222307
|
|
1983
|
rasterminal by @PavolUlicny | Stardance
|
PavolUlicny
|
1
|
470.39
|
8580
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T16:24:17Z", "hours": 449.0, "multiplier": 19.99, "payout": 8580, "blessing": "neutral", "text": "rasterminal rasterminal is a 3D model viewer in the terminal Why i decided to build it The original idea didn’t really have any big inspiration, I’ve just always been fascinated by the inner workings of 3D and how that all works. I’ve been wanting to build a project involving 3D for a while and I didn’t want to make just another program that uses libraries and GPU drivers to do all the work. So I came up with the idea: a software rasterizer that renders in the terminal! There are lots of TUIs and lots of boring old software rasterizer projects, so I just combined the two into something unique. And over time, I realized I could make it an actually useful tool, with no real competition: a 3D model viewer in the terminal. Sure, there are some similar projects on GitHub (like taigrr’s trophy), but none are actually usable with heavier models or support pixel graphics. What I learned I learned a lot. I really mean a lot. Anything from math and rendering to how terminals work and how to control them using escape sequences. I don’t want to sit here and name everything I learned over the period of the last 5 months, but I can confidently say that this project really taught me how much work goes into everyday software and how to actually develop and maintain a project professionally. The future of rasterminal The whole project is very far from done. You can see that from the latest release version: v0.1.0-alpha.2. I’ve got a lot of work to do and I’ve roughly got the major landmarks mapped out. Main things I definitely want to change/add at some point before v1 are: Add animation support (currently can only render still meshes) Complete the renderer (complete support for basically every feature of every format that makes sense to support) Add optional GPU acceleration (after I’m satisfied with everything else) Hardware / OS support Supports every major OS (Windows, Linux, MacOS, and any other POSIX-based OS, so practically everything), and every CPU that I could think of (any architecture, 32 or 64bit). You would have to actually try a to find a platform that it doesn’t support (most of the unsupported hardware are big-endian systems, which are basically phased out completely). This is one of the main goals of the project, so (almost) any modern machine with a terminal can run it. Special thanks Special thanks to anyone who followed, liked, helped, or otherwise supported the project in any way. I wouldn’t have had the motivation to push it this far if it wasn’t for you guys.", "repo": "https://github.com/PavolUlicny/rasterminal", "demo": "https://github.com/PavolUlicny/rasterminal/releases/tag/v0.1.0-alpha.2"}]...
|
[{"post_id": 70278, "ts": "202 [{"post_id": 70278, "ts": "2026-09-18T21:10:51Z", "hours": 6.11, "text": "Code quality and CI improvements Finally did the long overdue main loop refactor. The main loop is now way shorter, more readable and more testable. I just split off some of the main loop’s work into it’s own modules, which made them way better looking and also, since they are now standalone modules, actually testable. A big win for repo structure. In the process, I also replaced the input handling’s long if chain that made each character do it’s job with a switch statement. It’s more readable and theoretically faster, although since I compile it with -O3, it probably made no difference or an unnoticeable one at best. I also finally fixed the super long CI times. Until now, CI used to take ~50 minutes (depending on how fast the GitHub runner was) because of cppcheck. Everything else finished in under 10 minutes, but cppcheck stalled it for an hour. It was stalling in mesh_assimp.cpp (the assimp wrapper) for most of it’s runtime. I always thought it was because assimp is a very large library. So I experimented with it a little. I included everything I include in the wrapper into a test file with a little code and ran cppcheck on that. It finished in less than 10 seconds. Eventually, I found out it was somehow taking that long because the main loader function was too long and handled too much by itself. So i just refactored it into 3 separate functions, without changing the behavior at all. Somehow, I still don’t get why, it reduced the whole cppcheck run to 9 minutes. a more than 5x improvement, just because I split a function into more functions. I’m not complaining, but it’s definitely weird. CI is now way faster and adding new things is gonna be way smoother now."}, {"post_id": 68728, "ts": "2026-09-15T17:06:41Z", "hours": 6.6975, "text": "Miscellaneous fixes and improvements Fixed two races in platform code (one MacOS, one Windows) Removed build flags that disabled some compiler security hardening at the cost of a little performance Fixed the test framework to not freak out on NaN in near assertions Improved thread launching and handling in loaders and renderer So overall just boring fixes and improvements, nothing special."}, {"post_id": 66825, "ts": "2026-09-12T18:42:57Z", "hours": 8.5847, "text": "Refactored the platform layer The whole platform layer was just one file until now. Since I did a lot of work on it recently, it grew to over 2400 lines of code. It was super confusing and disorienting. So I decided to refactor it (split it) into 8 files, based on what they handle: console.h - saving/restoring terminal state control.h - termination signal handling file.h - file operations (64bit) input_reader.h - handling input (not parsing, that is it’s own file) shared_memory.h - shared memory handling for the kitty protocol terminal_io.h - writes output to the terminal terminal_query.h - querying the terminal for things like graphics capability, etc. timing.h - frame timing and sleeps"}, {"post_id": 64252, "ts": "2026-09-08T14:55:07Z", "hours": 2.3467, "text": "Last pre-release checks and cleanup I’m finally ready to release v0.1.0-alpha.2. Only notable thing I changed here is that I changed the default thread count: It now defaults to hardware concurrency everywhere. Other than that, I of course did final documentation checks and fixes and now I’m just waiting for CI to pass so I can tag it and let the release workflow do the last step. So this is hopefully the last devlog before my ship!"}, {"post_id": 63837, "ts": "2026-09-07T20:19:19Z", "hours": 10.4164, "text": "Did some polish and cleanup of the platform layer Did final polish and cleanup of the platform layer since I want to actually finally cut a release relatively soon and I just did a lot of work there. Fixed things like useless tests, outdated or wrong comments and some platform specific quirks. Probably actually gonna cut a release soon (this time for real). Also added early rejections for BVH and CSM files, since they contain no model geometry (they can’t currently be displayed at all) and documented the change. The code is basically done (hopefully, I really don’t want to find another big gap that’s gonna take a week to close), I just want to correct anything wrong in the README, changelog, manpage or help menu and maybe make them look a little better before cutting a release and shipping."}, {"post_id": 62122, "ts": "2026-09-05T11:43:50Z", "hours": 9.5678, "text": "Working on SIGSTOP and SIGCONT handling SIGSTOP and SIGCONT are POSIX signals for stopping and resuming a running process. I’m working on adding handling for these, so you can safely pause and unpause rasterminal at any time. This is a lot of work, since until now, we just set up the terminal on program start and cleaned up when the program exited. There’s a lot of quirks and weird scenarios that I have to handle, for example if another signal gets sent while cleaning up the terminal for SIGSTOP. I’m trying to catch as many edge cases by just doing random things while using the program and also with the help of AI to come up with potentially uncaught scenarios."}, {"post_id": 59763, "ts": "2026-09-01T18:10:34Z", "hours": 4.3639, "text": "Added handling for SIGINT, SIGTERM, SIGQUIT and SIGHUP I don’t really have much to say here, I just added the full per-spec handling for all these. Only remaining POSIX-only gap is now SIGSTOP/SIGCONT (stop/resume process). I’m also starting school now, so I’ll be working on this less."}, {"post_id": 58964, "ts": "2026-08-31T15:12:04Z", "hours": 3.8394, "text": "Fully fixed and merged the first POSIX cleanup item Well, would you look at that! That took significantly less time than the Windows fix. It is partly because it was a smaller fix and only part whole POSIX fix, while the Windows one was the whole thing and also the foundation had already been laid out from the Windows work and I just integrated the POSIX path into that, but it is also very much because Microsoft is a horrible, terrible company that can’t make good software. I mean, look at GitHub, they have been going downhill ever since they got acquired by Microsoft. Now that I got that out of my system, here’s what was fixed: If the program cannot enable raw mode at startup, it safely fails instead of continuing and corrupting the terminal state If the cleanup gets interrupted, it retries cleanup so it doesn’t leave the terminal state corrupted after one failed attempt Onto the next POSIX fix: handling SIGQUIT and SIGHUP."}, {"post_id": 58269, "ts": "2026-08-30T17:14:59Z", "hours": 8.6936, "text": "Merged the full Windows console restoration branch My nightmare is over. I hopefully won’t have to deal with Windows for a while now. Summary of what is now fixed/handled on Windows: Ctrl+C, Ctrl+Break and Q exits fully recover the terminal’s state Ctrl+C and Ctrl+Break don’t leak mouse escape sequences into the next prompt if you terminate while actively dragging a model A bunch of other minor Windows or cmd.exe specific quirks Only thing that isn’t handled (didn’t find a good way to handle it) is task manager “end process”. It kills the program without cleaning up and sometimes freezes the shell."}, {"post_id": 56881, "ts": "2026-08-28T21:26:16Z", "hours": 9.6883, "text": "I HATE WINDOWS Windows just doesn’t work. It doesn’t work. Nothing works on Windows. Everything breaks. I don’t get it. THE UNIT TESTS PASS ON WINDOWS CI BUT WHEN I ACTUALLY RUN THE TESTS ON WINDOWS IT FAILS????? HOW IS THAT EVEN POSSIBLE. The release is now definitely getting delayed by at least a week because I keep running into more and more and more and more and more and more and more and more and more issues. I hate Windows. Microslop is the only company that could mess up a basic terminal emulator. And I also have to reboot my PC every time I fix something and push it and then reboot to get back to linux. this is torture. At one point I tried to do it on a Windows VM on linux but that was too slow so I just gave up."}, {"post_id": 55585, "ts": "2026-08-27T15:06:53Z", "hours": 8.8714, "text": "Found a bunch of terminal cleanup gaps Most of them are Windows or cmd.exe specific (nothing ever works on Windows), but some are present on POSIX too. The Windows specific ones are: cmd.exe for some unknown reason doesn’t turn off the raw input sequences, so arrow keys don’t work like they should, even though I explicitly turn it off (????????) (I hate Windows, they always have to do something unexplainable for no reason just so your code doesn’t work as it should) when you terminate the program with ctrl+c or ctrl+break while actively dragging the model around, it sometimes leaks mouse escape sequences into the next prompt bunch of other weird small stuff that nobody cares about And the few on POSIX are mostly ctrl+z suspend/resume behaviour not recovering the terminal and the same thing with ctrl+\\ (SIGQUIT). I’m still working on fixing these. Most of the windows ones are already fixed, but I haven’t even started with the linux/POSIX ones. I have postponed the planned release to when I fix these + any other issues I find."}, {"post_id": 54695, "ts": "2026-08-25T19:14:01Z", "hours": 10.7308, "text": "Cutting a release The repo is in a pretty complete and polished state, so I’ll cut a release here. This will also probably be the last release before I ship, so I’m making sure that nothing is broken and everything works on every platform. I’ve still got a lot of work to do though, even after the end of stardance, like animations, glTF PBR, format completeness for every format, GPU acceleration, etc."}, {"post_id": 53861, "ts": "2026-08-24T15:48:08Z", "hours": 10.9639, "text": "Merged the full assimp integration into main I really don’t have much to say here, I’ve already put all the info about the branch into the past devlogs. All the formats work and the wrapper is very sturdy. I’ve found more bugs in assimp itself than my code (devlog on that soon). So, rasterminal can now load basically any 3D model you throw at it. Some of the formats assimp supports are so niche, I’ve never even heard of them."}, {"post_id": 53278, "ts": "2026-08-23T18:46:58Z", "hours": 13.1411, "text": "Fuzzing my assimp wrapper I’m trying a bunch of hand-crafted models from all the formats that I can load and trying to find things that dont load or render properly. Also had AI write me a simple fuzzer in python and I’m just letting it run for a few hours. Also auditing the assimp loader paths against my wrapper to find any format specific behaviour that should be handled. I’ve already found a bunch of things and I’m still finding more. Assimp has a lot of weird quirks and issues that I keep running into. Honestly kinda regretting the decision to integrate it, but since I’m already so deep in, I’ll just keep going."}, {"post_id": 52574, "ts": "2026-08-22T19:13:37Z", "hours": 11.0969, "text": "Still working on the assimp intgration Currently trying various models from all the different model formats that assimp loads. So far found a segfault, some weird behavior and integration mistakes that I made. Also found a small bug in assimp itself, for which I’ve submitted the PR with the fix to their GitHub repo. For anyone interested, here’s the PR: https://github.com/assimp/assimp/pull/6799"}, {"post_id": 51884, "ts": "2026-08-21T19:41:32Z", "hours": 6.9825, "text": "Working on assimp integration Yop, I’m adding the Open Asset Import Library as a fallback for any model formats that aren’t natively supported with their own dedicated loader (only ones with dedicated loaders are glTF2, PLY, STL and OBJ). I’m still keeping the dedicated loaders, because they are more feature-complete, to-spec and wayyy faster (especially the glTF one). I added it because I feel like for a 3D model viewer, support for many formats, even niche and obscure ones, is pretty important, even though nobody might use them. This roughly doubled compile time and almost quadrupled binary size, which also made CI take way longer (of course). It somehow made the MacOS runners take 50 minutes to compile (from the previous 3 minutes), but I fixed that by bounding the number of processes CMake can spawn to the number of threads on the runner (previously was using -j which spawns as many as it wants and it was spawning about 230 of them). I’m still testing how it handles various model formats and trying to find any reachable segfaults."}, {"post_id": 51275, "ts": "2026-08-20T20:14:42Z", "hours": 6.7119, "text": "Cleanup and restructuring changes After I just merged three big feature branches (kitty and sixel graphics protocols and the high-res performance branch), I needed to do some overdue cleanup and refactoring. And so I did: Collapsed the super long changelog entries into way more readable and legible points Restructured the src directory into multiple subdirectories because it had like 50 files already Sadly completely removed the Make build system, so now you can only build with CMake (CMake is very much evil and even more evil but it’s the only one of the two that supports windows and I was tired of managing two build systems) Removed the –graphics-scale flag, so now everything renders at native resolution And some small docs and comment cleanup"}, {"post_id": 50683, "ts": "2026-08-20T00:07:13Z", "hours": 12.3297, "text": "Finally merging the performance branch It’s finally time to merge the performance branch. I basically redesigned the whole renderer and rasterizer around high resolution workloads, where it would still choose the old high-poly paths where they were faster. Even snuck in some SSE2 SIMD code (picture), although I will probably be switching to a dispatch SIMD library like Google’s Highway. Not entirely sure it will be Highway or even if I will do that yet, that depends on the code complexity and before/after benchmarks."}, {"post_id": 49184, "ts": "2026-08-17T20:28:00Z", "hours": 14.5689, "text": "Still optimizing… Spent the first ~7 hours trying to find microoptimizations and each one was either a wash or worse somehow. The compiler works in mysterious ways. At some point, I just gave up and let Claude have a go at the optimizing. Surprisingly it actually came up with a lot of interesting optimization techniques and solutions that I definitely couldn’t have come up with on my own. But it found so much, that the whole diff adds 5k lines of code. So now I’ll be cleaning up, testing, and maybe further optimizing that diff…"}, {"post_id": 48227, "ts": "2026-08-16T15:09:59Z", "hours": 3.5944, "text": "My reported bug in libtermkey has been fixed in the newest version Just got an email from one of the maintainers that the crash bug i reported a month ago was fixed in the new release. libtermkey is a terminal input parsing library that I considered using and found a crash bug in. The bug was already fixed in neovim’s fork of the library, so i just pointed the maintainers at that fix. For anybody interested, here’s the issue link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142891"}, {"post_id": 48078, "ts": "2026-08-16T11:20:07Z", "hours": 11.47, "text": "Working on improving performance With the addition of the high-res protocols, the target resolutions quickly went from hundreds or thousands of pixels to millions. So I now desperately need to improve performance. So far it’s looking promising: A whole model covering the camera 6 moving at 4k went from about 8 fps to 20-30 fps. Not ideal yet, but I think we’re on the right track. Super dense meshes (more than 2 million polygons) improved 2-3x Meshes with transparent parts improved about 2x While these wins may seem really big (they kinda are), the jump in resolutions still means they are barely usable interactively. I do want to add gpu acceleration later (with the cpu path as a fallback), but until then I want to make it as fast as I possibly can."}, {"post_id": 47112, "ts": "2026-08-14T19:18:15Z", "hours": 9.0333, "text": "Fully merged sixel Fully merged the sixel protocol implementation. Works on all platforms everywhere that supports it. So now both high-res terminal protocols done. Moving onto other minor things and especially performance."}, {"post_id": 46486, "ts": "2026-08-13T18:38:49Z", "hours": 10.6753, "text": "Working on adding full Sixel support Working on adding support for the other mainstream terminal pixel protocol of the main two - Sixel. Already did fully implemented the kitty protocol last time, so once I’m done with this one, I’ll be done with terminal protocols (at least for the near future, hopefully). There are some other ones like the iterm2 protocol, but that one’s pretty rare and I won’t add it unless I really don’t have anything better to do. It’s basically done, just need to polish it and test it on a bunch of terminals and operating systems to make sure everything works before merging."}, {"post_id": 44676, "ts": "2026-08-10T16:23:20Z", "hours": 4.0767, "text": "Fully merged and done with Kitty Finally completed the kitty protocol implementation. It is kinda slow, since the resolution is so much bigger, so I will try to optimize the high-res performance even more. So now the next two big milestones are: Add Sixel on top of kitty, that’ll be a lot of work Optimize the rasterizer even more I was thinking of maybe adding gpu rendering as an option for super large meshes or high-res scenarios, but idk. I’ll definetly keep the pure cpu renderer for computers without gpus, but I’m not sure about a gpu implementation. It would be hard to do, less portable and it might not even work that well."}, {"post_id": 44513, "ts": "2026-08-10T09:59:08Z", "hours": 6.8483, "text": "Found a bug in Ghostty’s kitty protocol handling Ghostty is a modern and fast terminal emulator that i personally use. While testing the kitty protocol feature in rasterminal, I found a Ghostty bug that lagged my whole computer after a few minutes. I tested it in Kitty (terminal emulator) and there it worked fine. I looked at Ghostty’s code vs Kitty’s, found the bug and reported it to the Ghostty maintainers. Mitchell himself (the creator) fixed it in like 2 hours. Honestly I’m kinda sad I didn’t get to become a contributor and fix the bug, but since it was a small fix and I already described it in the issue, I get why Mitchell just fixed it in main. Here’s the full issue: https://github.com/ghostty-org/ghostty/discussions/13719"}, {"post_id": 43513, "ts": "2026-08-08T20:35:37Z", "hours": 7.6361, "text": "Working on adding support for the Kitty protocol Some modern terminals like Kitty and Ghostty have support for the Kitty protocol. It’s a feature that allows you to display high resolution content like images and videos in the terminal without it looking super pixelated. There’s also the Sixel protocol, which is basically the same thing but a little worse and more widely supported (even Windows terminal has it). I’ll add Sixel after i merge Kitty to main. It is very clearly a worthwhile feature and I have been planning to add it from the start of the project. Today I finally decided that it’s time. Most of the work is already done on the branch and i’m just polishing out the bugs and issues before I merge. In the photos, you can see the comparison between using just the block characters and using Kitty. It is a night and day difference. Although the performance isn’t great at that high of a resolution, but I’m still working on optimizing that."}, {"post_id": 42752, "ts": "2026-08-07T17:00:51Z", "hours": 3.5125, "text": "Minor comment cleanup Just did some comment cleanup: Deleted redundant comments and why comments Removed separator comments Compressed or rewrote some really long comments (without removing the info they give)"}, {"post_id": 42161, "ts": "2026-08-06T19:24:06Z", "hours": 8.2153, "text": "Added issue templates + contributing documentation Added templates and a config for submitting GitHub issues, for both bug reports and feature requests. Also added a CONTRIBUTING.md for clear instructions on how to make, structure and audit code contributions. (tests, linters, formatting, etc.) I tried to make some optimizations to the renderer by auditing the compiler generated assembly and looking for inefficiencies, but everything i tried turned out to actually hurt performance. And GitHub actions decided to have a major outage right when i pushed the commits, so that’s awesome"}, {"post_id": 39599, "ts": "2026-08-02T18:05:04Z", "hours": 7.4436, "text": "Completely redesigned and rewrote the HUD The HUD used to be just a single line at the bottom of the screen aligned to the left. It looked pretty bad, but it did tell the user everything they needed to know. [picture 1] First, I added model name sanitization, so models with control bytes like newline ( \\n ), line feed or other symbols like emojis can’t break the whole program when trying to display them in the HUD. Then, I completely redesigned the whole HUD to look better and be more robust, while still telling the user everything they need to know. I went with this design [picture 2]: On the left, you only have the model name. In the middle, first you have the current shading mode (highlighted in cyan), then the lighting mode in plain white and then the background color in gray. All three middle indicators are separated with a dot and are different colors, so nobody can confuse them. On the right, there’s 3 boolean indicators: spin (if the model spin is on), backface cull (if it’s currently culling backfaces) and texture (if it’s showing the texture, isn’t there at all on models without a texture). They are gray if inactive and cyan if active. The last thing on the right is just the fps number. There can also be optional indicators: Wireframe color (in the middle, after the shading mode) which only shows up in wireframe mode. [picture 3] First person speed multiplier (on the right, between the bools and the fps number) which shows up only in first person mode. [picture 4] I also made each “island” cleanly disappear when the terminal’s width is too low instead of just slowly getting cut off letter by letter. I think this design looks better, less cluttered and is pretty easy to understand at a glance. I would very much appreciate a star on GitHub!"}, {"post_id": 38478, "ts": "2026-07-31T21:36:35Z", "hours": 7.7572, "text": "Did a smaller fix and added a pretty big feature First, let’s talk about the small fix: I Fixed a super long model name showing up in the HUD in it’s full length, often blocking out other HUD elements. Previously, the HUD would display a model name of any length. Now there’s a hard cap of 24 chars, with any name longer than that truncated (middle style truncation) to fit into that limit. And now the big feature: Added a first person noclip-style camera mode. It’s accessed with the –first-person flag and let’s you explore the model as a floating camera (not bound like the default orbit camera). It was honestly easier to implement than I thought it would be. With it, I added two new keybinds special to the first person mode - E and V for going up and down. They don’t do nothing in orbit mode. Also added a second –first-person-speed flag for controlling the initial movement speed. It is also controllable during runtime with scrolling or +/- (I didn’t know what to bind these to in this mode since you can’t zoom like in orbit mode and this was the only place where they fit). In the photos, you can see some angles taken in the first person mode that weren’t possible in the default orbit mode."}, {"post_id": 37806, "ts": "2026-07-30T19:08:29Z", "hours": 2.7436, "text": "Finally committed and pushed the input rework Tested it on both linux and windows and everything seems to work. No inputs interpreted as other inputs, all edge cases handled, just works. Finally can move onto other things."}, {"post_id": 37656, "ts": "2026-07-30T15:25:21Z", "hours": 9.285, "text": "Still working on the input parsing system It is very hard and I keep finding bugs and reasons to redesign it. I’m in pain. I do think I’m getting closer to the final robust design."}, {"post_id": 36697, "ts": "2026-07-28T22:28:53Z", "hours": 9.9361, "text": "Working on completely rewriting the current input parsing handling The current input handling is subpar at best; it interprets a lot of random keys as escape, which currently quits the program (This will also be changed to Q and Ctrl+C only. Kind of a no-brainer since this is the more standard choice for TUIs - for example btop - and it also means I don’t have to deal with the headache of distinguishing function keys and others from escape) and has a lot of other quirky behavior that needs fixing. I’ll also try to improve robustness against malformed input like a leaky SSH session. There are a lot of various edge cases and situations where you have no way to distinguish real input from malformed input. This is all a very major pain in the ass. And I thought figuring out the raw mode output would be the hard part. And after all this, I’ll end up with way less attention than strictly slower, less robust competitors, just because they already have an audience from other projects. I bet nobody will even read this. I’m basically talking to myself right now. Or maybe, just to spite me, the algorithm will push this more than my other devlogs."}, {"post_id": 35924, "ts": "2026-07-27T17:55:43Z", "hours": 8.7953, "text": "So, i found two memory bugs in a widely used terminal input library I was researching terminal input libraries to use for this project because my current approach was so buggy that it wasn’t worth fixing. Both of them are memory bugs in the libtermkey library. There are forks of the lib with this fixed, but since many projects still rely on this lib, i submitted them anyways. I’ve also confirmed that the bug is present on my machine on Ubuntu 24.04 LTS on Neovim, because it links the vulnerable shared library. I didn’t mark them as CVEs (hopefully that isn’t a problem). If anyone want’s to look at the bug reports, they are at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142891 and https://bugs.launchpad.net/ubuntu/+source/libtermkey/+bug/2161916"}, {"post_id": 33607, "ts": "2026-07-23T17:38:48Z", "hours": 4.5575, "text": "Added more CLI flags for startup customizability Added flags to set the camera pitch, yaw and zoom on startup. Now every runtime-settable variable can be set during startup through the CLI. The R button now resets the state to the CLI set state, not to factory defaults."}, {"post_id": 32607, "ts": "2026-07-21T21:48:11Z", "hours": 4.4442, "text": "Added –spin-speed and –spin-direction flags Added CLI flags for the spin speed and direction. The speed is in deg/s and the directions is simply left or right. Here’s what 1000 deg/s looks like spinning to the right:"}, {"post_id": 30923, "ts": "2026-07-18T22:17:24Z", "hours": 8.6892, "text": "Did a bunch of small code quality and usability improvements Fixed a Windows bug that crashed the program on model sizes bigger than 2GB, improved the orbit usability (fixed mouse drag behavior when models are turned upside down), and did a few cleanups and fixes in the CLI parsing. I’m planning on adding a few CLI flags that I think can be very useful for some people, specifically better spin settings, starting camera angle/zoom control and a few more."}, {"post_id": 29772, "ts": "2026-07-16T21:27:23Z", "hours": 0.7175, "text": "Finally merged color-fallback, I can move onto other things The branch is finally merged. I’ve accumulated a bunch of usability and code quirks and issues that i can finally get to now that the branch is merged. So now I’ll be reworking all the CLI flags, camera and other components. And we also passed the 700 commit mark with this merge!"}, {"post_id": 29484, "ts": "2026-07-16T13:40:29Z", "hours": 4.9444, "text": "Changed the 24bit to 256 color palette conversion logic Until now, the conversion picked the closest color possible mathematically. But from testing on a bunch of different models, I’ve realized that it doesn’t actually look very close to the human eye. So I swapped it out for a different method, called CIELAB distance. Now it still doesn’t look perfect, but as a fallback for older terminals it’s close enough."}, {"post_id": 28408, "ts": "2026-07-14T17:26:16Z", "hours": 9.2258, "text": "Working on a –color compatibility flag The color terminal compatibility thing I was working on has landed in the branch, now I’m adding a –color flag to override the automatic capability detection for situations like ssh, where we almost always degrade to the 256 color pallete for maximum compatibility. So now you’re gonna be able to use the right color mode even if the automatic detection is wrong for your situation."}, {"post_id": 27302, "ts": "2026-07-12T19:23:17Z", "hours": 10.3522, "text": "Working on terminal color capability detection I am adding automatic terminal capability detection, meaning that rasterminal will get the terminal type and either refuse to render on super old or “dumb” terminals, degrade on some terminals and render normally on modern ones."}, {"post_id": 24314, "ts": "2026-07-07T20:18:01Z", "hours": 5.1908, "text": "Working on adding 256 color support Some older terminals can’t display full 24bit RGB colors and use a 256 color palette instead. I’m adding a fallback so the older terminals can still use rasterminal. It still calculates the full old RGB colors, but then just maps them to the nearest 256 color with LUTs. On a side note, I switched my terminal emulator from Kitty to Ghostty."}, {"post_id": 23070, "ts": "2026-07-05T20:10:12Z", "hours": 10.4403, "text": "Working on portability Did a bunch of small fixes and improvements in the last ~week. Right now I’m on vacation for the next couple of days, so I won’t be active. I am currently working on broader terminal and platform support, so older systems and terminals will be able to run cleanly with some fallbacks or will fail loud with a clear message about what isn’t supported."}, {"post_id": 19371, "ts": "2026-06-30T17:34:50Z", "hours": 5.1925, "text": "Completely removed the shadow map Before, rasterminal built a shadow map on model load and displayed it during runtime. I now completely removed it, because it was slower during load, slower during runtime, sometimes looked broken on curved surfaces and added essentially no value. Here, the first picture is with the shadow map and the second is without."}, {"post_id": 18685, "ts": "2026-06-29T21:27:29Z", "hours": 13.4722, "text": "Wasted 7 hours of my life Did a bunch of smaller cleanups and fixes, and then I tried to template the unlit and lit paths in the rasterize_flat function, which turned out to be a performance regression. Awesome."}, {"post_id": 17021, "ts": "2026-06-27T17:00:39Z", "hours": 5.7733, "text": "Added a release workflow, manpage and changelog I added a github release workflow that works alongside the changelog and released the first pre-release version: v0.1.0-alpha.1 Also added a manpage and an install target to make and cmake that installs the binary, docs and manpage into the path."}, {"post_id": 16313, "ts": "2026-06-26T15:28:43Z", "hours": 5.1883, "text": "Pararelized the wireframe shading mode I did a bunch of small things alongside it, but the main feature for this devlog is the pararelization of the wireframe shading mode. It was previously fully single threaded, but it wasn’t that hard to pararelize, i just had to make the function it used to write into the framebuffer (draw_line) CAS atomic, to avoid race conditions. Now wireframe is the fastest shading mode in basically all scenarios. Below, you can see a performance benchmark (built into rasterminal using a flag) with wireframe mode on a super dense mesh and how the wireframe mode looks like (you can also cycle the colors)."}, {"post_id": 15932, "ts": "2026-06-25T21:35:36Z", "hours": 1.9053, "text": "Split the tests into sub-directories The test suite is now very long (20k LOC across 47 files), so i decided to split it into sub-directories instead of just having 47 files in one flat dir. It’s cleaner, more maintainable and looks better."}, {"post_id": 15741, "ts": "2026-06-25T16:48:43Z", "hours": 4.9903, "text": "Completely removed gouraud shading mode Gouraud was previously the main shading mode, but now I’ve just completely removed it. It was by far the slowest, while not adding any actual value to the project. Blinn-phong lighting is faster AND it supports more features (normal maps, etc.), so there was just no point in keeping gouraud. Now that I’ve removed it, the project has less code to maintain and a faster default shading mode with more features."}, {"post_id": 15551, "ts": "2026-06-25T08:50:38Z", "hours": 3.7597, "text": "Added proper OBJ bump map support OBJ bump maps are textures for simulating bumps and wrinkles on models. Blender used to author bump maps as normal maps for some reason, so I made it automatically detect if it’s a normal map disguised as a bump map and handle it well, since there are a lot of old Blender OBJ models in the wild. But it also handles bump maps as bump maps normally, so it’s basically the best of both worlds."}, {"post_id": 15117, "ts": "2026-06-24T15:43:58Z", "hours": 6.87, "text": "Added texture transform into the TEXCOORD branch and merged it into main Not that hard, just read it, pass it to the rasterizer and then display it. I did have a very sneaky bug in the loader that made the whole feature render wrong, where I just had to negate one value to fully fix it, but now everything fully works. Below you can see the Khronos test asset for texture transforms. (tick means fully working, clearcoat is not yet implemented so it doesn’t show as working)"}, {"post_id": 13839, "ts": "2026-06-22T17:59:12Z", "hours": 5.2097, "text": "Added TEXCOORD_1 support glTF sometimes authors a second TEXCOORD set (first one is TEXCOORD_0, 0 indexed numbering). The official spec only requires support for the first two TEXCOORD sets, even though there can theoretically be any number of them in a model. That said, major model exporters don’t author any more than the two sets, so to avoid extra work, I only added support for 0 and 1. (not merged into main yet, I want to polish it a little and maybe add KHR_texture_transform support on top of it first)"}, {"post_id": 12798, "ts": "2026-06-20T22:37:18Z", "hours": 7.6314, "text": "Optimized the transparent cleanup path in the renderer After rendering the model in the transparent path, we have to resolve the transparent pixels, which basically just pastes in the pixels behind it and sometimes tints it based on how dark and what color the transparent material is (tinted glass will make the things behind it darker, normal glass will be mostly completely untinted). Before, the resolve function looped over every single pixel in the frame, even non-transparent and background ones. This is obviously wasteful. So I made it find the smallest box, in which all the transparent pixels of the whole frame fit and just looped over that. It recovered the overhead of the transparent resolve on models with smaller transparent parts, but it also made fully transparent or mostly transparent models slightly slower (it still basically loops over almost the whole screen on these types of models, so keeping track of the smallest bounding box while also still doing the same work as before made it a little slower). But the performance benefits for the average model outweighed the losses on rare fully transparent models. In the image, you can see the benchmark results versus the baseline."}, {"post_id": 12171, "ts": "2026-06-19T21:42:34Z", "hours": 6.6653, "text": "Made the shading mode branches compile time instead of runtime in the renderer with templates Did the same template if constexpr (compile time if branches) thing that we already do for opaque/transparent models with the shading mode (was a runtime per triangle if branch before), which improved performance. It basically just makes a new copy of the function for each shading mode x each transparency mode, so 4x2 which is 8 slightly different functions and uses the correct one on each call. That increases binary size and icache pressure, but drops per triangle or per pixel if branches that hurt performance, so it’s an overall performance win. Benchmarked across a ton of different resolutions, models, shading modes, etc. (the benchmark by itself took like 2 hours to run)"}, {"post_id": 10115, "ts": "2026-06-16T18:24:38Z", "hours": 4.0297, "text": "Added support for wrap modes for textures Only in glTF and OBJ models (the only ones that support it) and verified with the Khronos group sample assets model. Also added PLY texture support."}, {"post_id": 9453, "ts": "2026-06-15T20:20:25Z", "hours": 4.6839, "text": "Working on adding supersampling anti-aliasing Still a work in progress and I might not merge it into main, because it’s a lot of work for not that much benefit. I have to catch a lot of bad_allocs and things like that for super large SSAA sizes, which is really annoying and can affect performance. SSAA works by rendering at a higher resolution and then downscaling for better edges (makes edges smooth and fade-in instead of jagged) Picture with 2x SSAA and without SSAA:"}, {"post_id": 8652, "ts": "2026-06-14T11:36:32Z", "hours": 5.2058, "text": "Adapted the arg parsing and CLI behaviour to the GNU standard Now, rasterminal’s CLI behaves under the GNU CLI standards, so on par with most linux tools."}, {"post_id": 8162, "ts": "2026-06-13T16:37:29Z", "hours": 2.8394, "text": "Added deduplicating vertices to the stl loader. After two unsuccessful and unmerged branches, I finally did something useful on main. I used to deduplicate the vertices in stl_reader and then reduplicate them in the loader. But now, we just dedup in stl_reader and use those. That also allowed me to enable ambient occlusion, which was disabled for stl before. And now crease smoothing fully works too. And it’s faster (runtime wise, load time is slower because of ambient occlusion and crease smoothing that weren’t there before). So an all-round very positive change, and also an end to my non-merging dry spell."}, {"post_id": 7990, "ts": "2026-06-13T10:20:35Z", "hours": 2.4908, "text": "Replaced tinyobjloader with rapidobj for way faster obj parsing But after actually replacing it and integrating it into the source code, i realized it’s not worth it, because rapidobj just has too many downsides and isn’t very actively supported anymore. For example, it doesn’t support multiple mtl files, which is against the spec. So if i want to keep it spec compliant, I need to find a workaround for it, which just isn’t worth the speed increase of rapidobj, even if it’s like 4x faster (from my testing on a large obj) The graph is from this article: https://aras-p.info/blog/2022/05/14/comparing-obj-parse-libraries/"}, {"post_id": 7643, "ts": "2026-06-12T19:26:54Z", "hours": 8.7975, "text": "I tried to rewrite the STL loader from scratch for more performance But it’s taking super long and I’m way too bored with it, so I think I’ll just abandon the branch and work on something else."}, {"post_id": 6791, "ts": "2026-06-11T11:35:25Z", "hours": 3.6575, "text": "Added full native 32 bit support for all platforms Didn’t have to redesign any of the source code (thankfully), just some warning suppressing and fixing some static casts. Also added a CI job that’ll flag future 32 bit compatibility regressions."}, {"post_id": 5755, "ts": "2026-06-09T17:34:17Z", "hours": 4.1133, "text": "Transparency is fully done and merged. Did some polish, cleanup and optimization on the transparency branch and successfully merged into main."}, {"post_id": 4897, "ts": "2026-06-08T13:53:56Z", "hours": 3.2906, "text": "Transparency is basically done, with caveats. Transparency works correctly, but transmission , which is completely different, is simplified to transparency. So for spec-complete gltf, I would need to implement the whole transmission pipeline, which I’m way too lazy to do right now. So for now, we just simplify it to transparency and call it a day."}, {"post_id": 4320, "ts": "2026-06-07T16:09:10Z", "hours": 6.2586, "text": "Working on adding transparency support. For that, I have to completely rework the rendering loop and the rasterizers, so basically the whole core of the project. It’s going very badly. And since performance is a big factor here, I’m going for a template approach so the transparency overhead doesn’t affect non-transparent meshes."}, {"post_id": 3846, "ts": "2026-06-06T22:11:48Z", "hours": 3.5269, "text": "I did a hot-loop performance cleanup run, because the hot loops were getting slower with new features, and I found a big optimization opportunity in clip-near call sites: clip_near slices off the part of a triangle that pokes behind the camera’s near plane, but almost every triangle is fully in front of it with nothing to clip. The pipeline still called it for all of them, and in the compiled binary that common case just copied all three vertices to memory and back, millions of times a frame. The fix was to check inline whether the triangle is fully in front and skip the call entirely if so. Result on a 2.77M-triangle model: median frame time dropped from 21.1 ms to 19.2 ms, about 8.7% faster."}, {"post_id": 3572, "ts": "2026-06-06T15:51:49Z", "hours": 2.4386, "text": "Because of all the libraries I added, the binary size increased significantly. I don’t use most of the vendored code, so I added build flags to ignore unused code in the final binary. Other than that, I added some other performance flags and also a CMakePresets.txt. It took longer than it should’ve, because I tested and benchmarked a bunch of other configs and flags. I put off PGO for now."}, {"post_id": 2939, "ts": "2026-06-05T20:55:20Z", "hours": 3.9267, "text": "I wired in Webp image format support by vendoring in google’s libwebp decoding library. It wasn’t that hard to wire into the source code, the hard part was the vendoring, dealing with licenses and professional vendoring practices. Only thing that remains to add for full gltf extension support is avif image support, but I’ll do that later."}, {"post_id": 2739, "ts": "2026-06-05T14:38:57Z", "hours": 1.3417, "text": "I just added unlit material support, which means materials that are supposed to stay intentionally unaffected by lighting render correctly. Pretty straightforward change, just read it at load time and then check if that material is unlit during the lighting pass and skip it."}, {"post_id": 2631, "ts": "2026-06-05T08:21:00Z", "hours": 3.3225, "text": "Reworked the whole readme with better instructions, screenshots and a gif. The gif was super annoying to polish, because i used asciinema which records all the setup escape sequences so there were gaps at the start and end that i had to manually read and remove. And I also had to perfectly close it exactly when it did one full rotation and that took like an hour to perfect. At least now I don’t have to touch the readme for a while."}, {"post_id": 2311, "ts": "2026-06-04T18:46:14Z", "hours": 3.1892, "text": "Well, I tried to refactor the main rendering loop for like the third time, because it’s horrifyingly indented, but it has defeated me once again. At this point, I’m confident that it’s impossible to do without a noticeable drop in performance, or g++ is just ragebaiting me. I installed a rainbow indentation neovim plugin just to show the absurdity of this."}, {"post_id": 386, "ts": "2026-06-01T18:58:14Z", "hours": 0.6783, "text": "I just implemented KTX2 and Basis texture support, which are special compressed texture formats. So now any models with these textures are viewable in rasterminal."}, {"post_id": 359, "ts": "2026-06-01T17:59:06Z", "hours": 4.5428, "text": "Hey everyone, I want to introduce my project! rasterminal is a full software 3D rasterizer and model viewer that runs entirely in your terminal. The whole rendering pipeline is implemented from scratch. I only rely on third-party libraries for load-time things like 3D model parsing, image parsing, and decompression. It doesn’t touch the GPU at all, running purely on the CPU. That makes it completely safe for SSH usage, though it does come with a performance cost. I use multithreading to recover some of what’s lost, and the result is still significantly faster than any other terminal 3D viewer I’ve come across. Right now I’m focused on broader 3D format feature support and transparent material rendering. If you want to try it out, I’d love to hear what you think, feedback and issues are very welcome over on GitHub. https://github.com/PavolUlicny/rasterminal Thanks for any support! 🙏"}]...
|
Title: rasterminal by @PavolUlicny | Stardance
De Title: rasterminal by @PavolUlicny | Stardance
Devlogs:
Hey everyone, I want to introduce my project! rasterminal is a full software 3D rasterizer and model viewer that runs entirely in your terminal. The whole rendering pipeline is implemented from scratch. I only rely on third-party libraries for load-time things like 3D model parsing, image parsing, and decompression. It doesn’t touch the GPU at all, running purely on the CPU. That makes it completely safe for SSH usage, though it does come with a performance cost. I use multithreading to recover some of what’s lost, and the result is still significantly faster than any other terminal 3D viewer I’ve come across. Right now I’m focused on broader 3D format feature support and transparent material rendering. If you want to try it out, I’d love to hear what you think, feedback and issues are very welcome over on GitHub. https://github.com/PavolUlicny/rasterminal Thanks for any support! 🙏
I just implemented KTX2 and Basis texture support, which are special compressed texture formats. So now any models with these textures are viewable in rasterminal.
Well, I tried to refactor the main rendering loop for like the third time, because it’s horrifyingly indented, but it has defeated me once again. At this point, I’m confident that it’s impossible to do without a noticeable drop in performance, or g++ is just ragebaiting me. I installed a rainbow indentation neovim plugin just to show the absurdity of this.
Reworked the whole readme with better instructions, screenshots and a gif. The gif was super annoying to polish, because i used asciinema which records all the setup escape sequences so there were gaps at the start and end that i had to manually read and remove. And I also had to perfectly close it exactly when it did one full rotation and that took like an hour to perfect. At least now I don’t have to touch the readme for a while.
I just added unlit material support, which means materials that are supposed to stay intentionally unaffected by lighting render correctly. Pretty straightforward change, just read it at load time and then check if that material is unlit during the lighting pass and skip it.
I wired in Webp image format support by vendoring in google’s libwebp decoding library. It wasn’t that hard to wire into the source code, the hard part was the vendoring, dealing with licenses and professional vendoring practices. Only thing that remains to add for full gltf extension support is avif image support, but I’ll do that later.
Because of all the libraries I added, the binary size increased significantly. I don’t use most of the vendored code, so I added build flags to ignore unused code in the final binary. Other than that, I added some other performance flags and also a CMakePresets.txt. It took longer than it should’ve, because I tested and benchmarked a bunch of other configs and flags. I put off PGO for now.
I did a hot-loop performance cleanup run, because the hot loops were getting slower with new features, and I found a big optimization opportunity in clip-near call sites: clip_near slices off the part of a triangle that pokes behind the camera’s near plane, but almost every triangle is fully in front of it with nothing to clip. The pipeline still called it for all of them, and in the compiled binary that common case just copied all three vertices to memory and back, millions of times a frame. The fix was to check inline whether the triangle is fully in front and skip the call entirely if so. Result on a 2.77M-triangle model: median frame time dropped from 21.1 ms to 19.2 ms, about 8.7% faster.
Working on adding transparency support. For that, I have to completely rework the rendering loop and the rasterizers, so basically the whole core of the project. It’s going very badly. And since performance is a big factor here, I’m going for a template approach so the transparency overhead doesn’t affect non-transparent meshes.
Transparency is basically done, with caveats. Transparency works correctly, but transmission , which is completely different, is simplified to transparency. So for spec-complete gltf, I would need to implement the whole transmission pipeline, which I’m way too lazy to do right now. So for now, we just simplify it to transparency and call it a day.
Transparency is fully done and merged. Did some polish, cleanup and optimization on the transparency branch and successfully merged into main.
Added full native 32 bit support for all platforms Didn’t have to redesign any of the source code (thankfully), just some warning suppressing and fixing some static casts. Also added a CI job that’ll flag future 32 bit compatibility regressions.
I tried to rewrite the STL loader from scratch for more performance But it’s taking super long and I’m way too bored with it, so I think I’ll just abandon the branch and work on something else.
Replaced tinyobjloader with rapidobj for way faster obj parsing But after actually replacing it and integrating it into the source code, i realized it’s not worth it, because rapidobj just has too many downsides and isn’t very actively supported anymore. For example, it doesn’t support multiple mtl files, which is against the spec. So if i want to keep it spec compliant, I need to find a workaround for it, which just isn’t worth the speed increase of rapidobj, even if it’s like 4x faster (from my testing on a large obj) The graph is from this article: https://aras-p.info/blog/2022/05/14/comparing-obj-parse-libraries/
Added deduplicating vertices to the stl loader. After two unsuccessful and unmerged branches, I finally did something useful on main. I used to deduplicate the vertices in stl_reader and then reduplicate them in the loader. But now, we just dedup in stl_reader and use those. That also allowed me to enable ambient occlusion, which was disabled for stl before. And now crease smoothing fully works too. And it’s faster (runtime wise, load time is slower because of ambient occlusion and crease smoothing that weren’t there before). So an all-round very positive change, and also an end to my non-merging dry spell.
Adapted the arg parsing and CLI behaviour to the GNU standard Now, rasterminal’s CLI behaves under the GNU CLI standards, so on par with most linux tools.
Working on adding supersampling anti-aliasing Still a work in progress and I might not merge it into main, because it’s a lot of work for not that much benefit. I have to catch a lot of bad_allocs and things like that for super large SSAA sizes, which is really annoying and can affect performance. SSAA works by rendering at a higher resolution and then downscaling for better edges (makes edges smooth and fade-in instead of jagged) Picture with 2x SSAA and without SSAA:
Added support for wrap modes for textures Only in glTF and OBJ models (the only ones that support it) and verified with the Khronos group sample assets model. Also added PLY texture support.
Made the shading mode branches compile time instead of runtime in the renderer with templates Did the same template if constexpr (compile time if branches) thing that we already do for opaque/transparent models with the shading mode (was a runtime per triangle if branch before), which improved performance. It basically just makes a new copy of the function for each shading mode x each transparency mode, so 4x2 which is 8 slightly different functions and uses the correct one on each call. That increases binary size and icache pressure, but drops per triangle or per pixel if branches that hurt performance, so it’s an overall performance win. Benchmarked across a ton of different resolutions, models, shading modes, etc. (the benchmark by itself took like 2 hours to run)
Optimized the transparent cleanup path in the renderer After rendering the model in the transparent path, we have to resolve the transparent pixels, which basically just pastes in the pixels behind it and sometimes tints it based on how dark and what color the transparent material is (tinted glass will make the things behind it darker, normal glass will be mostly completely untinted). Before, the resolve function looped over every single pixel in the frame, even non-transparent and background ones. This is obviously wasteful. So I made it find the smallest box, in which all the transparent pixels of the whole frame fit and just looped over that. It recovered the overhead of the transparent resolve on models with smaller transparent parts, but it also made fully transparent or mostly transparent models slightly slower (it still basically loops over almost the whole screen on these types of models, so keeping track of the smallest bounding box while also still doing the same work as before made it a little slower). But the performance benefits for the average model outweighed the losses on rare fully transparent models. In the image, you can see the benchmark results versus the baseline.
Added TEXCOORD_1 support glTF sometimes authors a second TEXCOORD set (first one is TEXCOORD_0, 0 indexed numbering). The official spec only requires support for the first two TEXCOORD sets, even though there can theoretically be any number of them in a model. That said, major model exporters don’t author any more than the two sets, so to avoid extra work, I only added support for 0 and 1. (not merged into main yet, I want to polish it a little and maybe add KHR_texture_transform support on top of it first)
Added texture transform into the TEXCOORD branch and merged it into main Not that hard, just read it, pass it to the rasterizer and then display it. I did have a very sneaky bug in the loader that made the whole feature render wrong, where I just had to negate one value to fully fix it, but now everything fully works. Below you can see the Khronos test asset for texture transforms. (tick means fully working, clearcoat is not yet implemented so it doesn’t show as working)
Added proper OBJ bump map support OBJ bump maps are textures for simulating bumps and wrinkles on models. Blender used to author bump maps as normal maps for some reason, so I made it automatically detect if it’s a normal map disguised as a bump map and handle it well, since there are a lot of old Blender OBJ models in the wild. But it also handles bump maps as bump maps normally, so it’s basically the best of both worlds.
Completely removed gouraud shading mode Gouraud was previously the main shading mode, but now I’ve just completely removed it. It was by far the slowest, while not adding any actual value to the project. Blinn-phong lighting is faster AND it supports more features (normal maps, etc.), so there was just no point in keeping gouraud. Now that I’ve removed it, the project has less code to maintain and a faster default shading mode with more features.
Split the tests into sub-directories The test suite is now very long (20k LOC across 47 files), so i decided to split it into sub-directories instead of just having 47 files in one flat dir. It’s cleaner, more maintainable and looks better.
Pararelized the wireframe shading mode I did a bunch of small things alongside it, but the main feature for this devlog is the pararelization of the wireframe shading mode. It was previously fully single threaded, but it wasn’t that hard to pararelize, i just had to make the function it used to write into the framebuffer (draw_line) CAS atomic, to avoid race conditions. Now wireframe is the fastest shading mode in basically all scenarios. Below, you can see a performance benchmark (built into rasterminal using a flag) with wireframe mode on a super dense mesh and how the wireframe mode looks like (you can also cycle the colors).
Added a release workflow, manpage and changelog I added a github release workflow that works alongside the changelog and released the first pre-release version: v0.1.0-alpha.1 Also added a manpage and an install target to make and cmake that installs the binary, docs and manpage into the path.
Wasted 7 hours of my life Did a bunch of smaller cleanups and fixes, and then I tried to template the unlit and lit paths in the rasterize_flat function, which turned out to be a performance regression. Awesome.
Completely removed the shadow map Before, rasterminal built a shadow map on model load and displayed it during runtime. I now completely removed it, because it was slower during load, slower during runtime, sometimes looked broken on curved surfaces and added essentially no value. Here, the first picture is with the shadow map and the second is without.
Working on portability Did a bunch of small fixes and improvements in the last ~week. Right now I’m on vacation for the next couple of days, so I won’t be active. I am currently working on broader terminal and platform support, so older systems and terminals will be able to run cleanly with some fallbacks or will fail loud with a clear message about what isn’t supported.
Working on adding 256 color support Some older terminals can’t display full 24bit RGB colors and use a 256 color palette instead. I’m adding a fallback so the older terminals can still use rasterminal. It still calculates the full old RGB colors, but then just maps them to the nearest 256 color with LUTs. On a side note, I switched my terminal emulator from Kitty to Ghostty.
Working on terminal color capability detection I am adding automatic terminal capability detection, meaning that rasterminal will get the terminal type and either refuse to render on super old or “dumb” terminals, degrade on some terminals and render normally on modern ones.
Working on a –color compatibility flag The color terminal compatibility thing I was working on has landed in the branch, now I’m adding a –color flag to override the automatic capability detection for situations like ssh, where we almost always degrade to the 256 color pallete for maximum compatibility. So now you’re gonna be able to use the right color mode even if the automatic detection is wrong for your situation.
Changed the 24bit to 256 color palette conversion logic Until now, the conversion picked the closest color possible mathematically. But from testing on a bunch of different models, I’ve realized that it doesn’t actually look very close to the human eye. So I swapped it out for a different method, called CIELAB distance. Now it still doesn’t look perfect, but as a fallback for older terminals it’s close enough.
Finally merged color-fallback, I can move onto other things The branch is finally merged. I’ve accumulated a bunch of usability and code quirks and issues that i can finally get to now that the branch is merged. So now I’ll be reworking all the CLI flags, camera and other components. And we also passed the 700 commit mark with this merge!
Did a bunch of small code quality and usability improvements Fixed a Windows bug that crashed the program on model sizes bigger than 2GB, improved the orbit usability (fixed mouse drag behavior when models are turned upside down), and did a few cleanups and fixes in the CLI parsing. I’m planning on adding a few CLI flags that I think can be very useful for some people, specifically better spin settings, starting camera angle/zoom control and a few more.
Added –spin-speed and –spin-direction flags Added CLI flags for the spin speed and direction. The speed is in deg/s and the directions is simply left or right. Here’s what 1000 deg/s looks like spinning to the right:
Added more CLI flags for startup customizability Added flags to set the camera pitch, yaw and zoom on startup. Now every runtime-settable variable can be set during startup through the CLI. The R button now resets the state to the CLI set state, not to factory defaults.
So, i found two memory bugs in a widely used terminal input library I was researching terminal input libraries to use for this project because my current approach was so buggy that it wasn’t worth fixing. Both of them are memory bugs in the libtermkey library. There are forks of the lib with this fixed, but since many projects still rely on this lib, i submitted them anyways. I’ve also confirmed that the bug is present on my machine on Ubuntu 24.04 LTS on Neovim, because it links the vulnerable shared library. I didn’t mark them as CVEs (hopefully that isn’t a problem). If anyone want’s to look at the bug reports, they are at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142891 and https://bugs.launchpad.net/ubuntu/+source/libtermkey/+bug/2161916
Working on completely rewriting the current input parsing handling The current input handling is subpar at best; it interprets a lot of random keys as escape, which currently quits the program (This will also be changed to Q and Ctrl+C only. Kind of a no-brainer since this is the more standard choice for TUIs - for example btop - and it also means I don’t have to deal with the headache of distinguishing function keys and others from escape) and has a lot of other quirky behavior that needs fixing. I’ll also try to improve robustness against malformed input like a leaky SSH session. There are a lot of various edge cases and situations where you have no way to distinguish real input from malformed input. This is all a very major pain in the ass. And I thought figuring out the raw mode output would be the hard part. And after all this, I’ll end up with way less attention than strictly slower, less robust competitors, just because they already have an audience from other projects. I bet nobody will even read this. I’m basically talking to myself right now. Or maybe, just to spite me, the algorithm will push this more than my other devlogs.
Still working on the input parsing system It is very hard and I keep finding bugs and reasons to redesign it. I’m in pain. I do think I’m getting closer to the final robust design.
Finally committed and pushed the input rework Tested it on both linux and windows and everything seems to work. No inputs interpreted as other inputs, all edge cases handled, just works. Finally can move onto other things.
Did a smaller fix and added a pretty big feature First, let’s talk about the small fix: I Fixed a super long model name showing up in the HUD in it’s full length, often blocking out other HUD elements. Previously, the HUD would display a model name of any length. Now there’s a hard cap of 24 chars, with any name longer than that truncated (middle style truncation) to fit into that limit. And now the big feature: Added a first person noclip-style camera mode. It’s accessed with the –first-person flag and let’s you explore the model as a floating camera (not bound like the default orbit camera). It was honestly easier to implement than I thought it would be. With it, I added two new keybinds special to the first person mode - E and V for going up and down. They don’t do nothing in orbit mode. Also added a second –first-person-speed flag for controlling the initial movement speed. It is also controllable during runtime with scrolling or +/- (I didn’t know what to bind these to in this mode since you can’t zoom like in orbit mode and this was the only place where they fit). In the photos, you can see some angles taken in the first person mode that weren’t possible in the default orbit mode.
Completely redesigned and rewrote the HUD The HUD used to be just a single line at the bottom of the screen aligned to the left. It looked pretty bad, but it did tell the user everything they needed to know. [picture 1] First, I added model name sanitization, so models with control bytes like newline ( \n ), line feed or other symbols like emojis can’t break the whole program when trying to display them in the HUD. Then, I completely redesigned the whole HUD to look better and be more robust, while still telling the user everything they need to know. I went with this design [picture 2]: On the left, you only have the model name. In the middle, first you have the current shading mode (highlighted in cyan), then the lighting mode in plain white and then the background color in gray. All three middle indicators are separated with a dot and are different colors, so nobody can confuse them. On the right, there’s 3 boolean indicators: spin (if the model spin is on), backface cull (if it’s currently culling backfaces) and texture (if it’s showing the texture, isn’t there at all on models without a texture). They are gray if inactive and cyan if active. The last thing on the right is just the fps number. There can also be optional indicators: Wireframe color (in the middle, after the shading mode) which only shows up in wireframe mode. [picture 3] First person speed multiplier (on the right, between the bools and the fps number) which shows up only in first person mode. [picture 4] I also made each “island” cleanly disappear when the terminal’s width is too low instead of just slowly getting cut off letter by letter. I think this design looks better, less cluttered and is pretty easy to understand at a glance. I would very much appreciate a star on GitHub!
Added issue templates + contributing documentation Added templates and a config for submitting GitHub issues, for both bug reports and feature requests. Also added a CONTRIBUTING.md for clear instructions on how to make, structure and audit code contributions. (tests, linters, formatting, etc.) I tried to make some optimizations to the renderer by auditing the compiler generated assembly and looking for inefficiencies, but everything i tried turned out to actually hurt performance. And GitHub actions decided to have a major outage right when i pushed the commits, so that’s awesome
Minor comment cleanup Just did some comment cleanup: Deleted redundant comments and why comments Removed separator comments Compressed or rewrote some really long comments (without removing the info they give)
Working on adding support for the Kitty protocol Some modern terminals like Kitty and Ghostty have support for the Kitty protocol. It’s a feature that allows you to display high resolution content like images and videos in the terminal without it looking super pixelated. There’s also the Sixel protocol, which is basically the same thing but a little worse and more widely supported (even Windows terminal has it). I’ll add Sixel after i merge Kitty to main. It is very clearly a worthwhile feature and I have been planning to add it from the start of the project. Today I finally decided that it’s time. Most of the work is already done on the branch and i’m just polishing out the bugs and issues before I merge. In the photos, you can see the comparison between using just the block characters and using Kitty. It is a night and day difference. Although the performance isn’t great at that high of a resolution, but I’m still working on optimizing that.
Found a bug in Ghostty’s kitty protocol handling Ghostty is a modern and fast terminal emulator that i personally use. While testing the kitty protocol feature in rasterminal, I found a Ghostty bug that lagged my whole computer after a few minutes. I tested it in Kitty (terminal emulator) and there it worked fine. I looked at Ghostty’s code vs Kitty’s, found the bug and reported it to the Ghostty maintainers. Mitchell himself (the creator) fixed it in like 2 hours. Honestly I’m kinda sad I didn’t get to become a contributor and fix the bug, but since it was a small fix and I already described it in the issue, I get why Mitchell just fixed it in main. Here’s the full issue: https://github.com/ghostty-org/ghostty/discussions/13719
Fully merged and done with Kitty Finally completed the kitty protocol implementation. It is kinda slow, since the resolution is so much bigger, so I will try to optimize the high-res performance even more. So now the next two big milestones are: Add Sixel on top of kitty, that’ll be a lot of work Optimize the rasterizer even more I was thinking of maybe adding gpu rendering as an option for super large meshes or high-res scenarios, but idk. I’ll definetly keep the pure cpu renderer for computers without gpus, but I’m not sure about a gpu implementation. It would be hard to do, less portable and it might not even work that well.
Working on adding full Sixel support Working on adding support for the other mainstream terminal pixel protocol of the main two - Sixel. Already did fully implemented the kitty protocol last time, so once I’m done with this one, I’ll be done with terminal protocols (at least for the near future, hopefully). There are some other ones like the iterm2 protocol, but that one’s pretty rare and I won’t add it unless I really don’t have anything better to do. It’s basically done, just need to polish it and test it on a bunch of terminals and operating systems to make sure everything works before merging.
Fully merged sixel Fully merged the sixel protocol implementation. Works on all platforms everywhere that supports it. So now both high-res terminal protocols done. Moving onto other minor things and especially performance.
Working on improving performance With the addition of the high-res protocols, the target resolutions quickly went from hundreds or thousands of pixels to millions. So I now desperately need to improve performance. So far it’s looking promising: A whole model covering the camera 6 moving at 4k went from about 8 fps to 20-30 fps. Not ideal yet, but I think we’re on the right track. Super dense meshes (more than 2 million polygons) improved 2-3x Meshes with transparent parts improved about 2x While these wins may seem really big (they kinda are), the jump in resolutions still means they are barely usable interactively. I do want to add gpu acceleration later (with the cpu path as a fallback), but until then I want to make it as fast as I possibly can.
My reported bug in libtermkey has been fixed in the newest version Just got an email from one of the maintainers that the crash bug i reported a month ago was fixed in the new release. libtermkey is a terminal input parsing library that I considered using and found a crash bug in. The bug was already fixed in neovim’s fork of the library, so i just pointed the maintainers at that fix. For anybody interested, here’s the issue link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142891
Still optimizing… Spent the first ~7 hours trying to find microoptimizations and each one was either a wash or worse somehow. The compiler works in mysterious ways. At some point, I just gave up and let Claude have a go at the optimizing. Surprisingly it actually came up with a lot of interesting optimization techniques and solutions that I definitely couldn’t have come up with on my own. But it found so much, that the whole diff adds 5k lines of code. So now I’ll be cleaning up, testing, and maybe further optimizing that diff…
Finally merging the performance branch It’s finally time to merge the performance branch. I basically redesigned the whole renderer and rasterizer around high resolution workloads, where it would still choose the old high-poly paths where they were faster. Even snuck in some SSE2 SIMD code (picture), although I will probably be switching to a dispatch SIMD library like Google’s Highway. Not entirely sure it will be Highway or even if I will do that yet, that depends on the code complexity and before/after benchmarks.
Cleanup and restructuring changes After I just merged three big feature branches (kitty and sixel graphics protocols and the high-res performance branch), I needed to do some overdue cleanup and refactoring. And so I did: Collapsed the super long changelog entries into way more readable and legible points Restructured the src directory into multiple subdirectories because it had like 50 files already Sadly completely removed the Make build system, so now you can only build with CMake (CMake is very much evil and even more evil but it’s the only one of the two that supports windows and I was tired of managing two build systems) Removed the –graphics-scale flag, so now everything renders at native resolution And some small docs and comment cleanup
Working on assimp integration Yop, I’m adding the Open Asset Import Library as a fallback for any model formats that aren’t natively supported with their own dedicated loader (only ones with dedicated loaders are glTF2, PLY, STL and OBJ). I’m still keeping the dedicated loaders, because they are more feature-complete, to-spec and wayyy faster (especially the glTF one). I added it because I feel like for a 3D model viewer, support for many formats, even niche and obscure ones, is pretty important, even though nobody might use them. This roughly doubled compile time and almost quadrupled binary size, which also made CI take way longer (of course). It somehow made the MacOS runners take 50 minutes to compile (from the previous 3 minutes), but I fixed that by bounding the number of processes CMake can spawn to the number of threads on the runner (previously was using -j which spawns as many as it wants and it was spawning about 230 of them). I’m still testing how it handles various model formats and trying to find any reachable segfaults.
Still working on the assimp intgration Currently trying various models from all the different model formats that assimp loads. So far found a segfault, some weird behavior and integration mistakes that I made. Also found a small bug in assimp itself, for which I’ve submitted the PR with the fix to their GitHub repo. For anyone interested, here’s the PR: https://github.com/assimp/assimp/pull/6799
Fuzzing my assimp wrapper I’m trying a bunch of hand-crafted models from all the formats that I can load and trying to find things that dont load or render properly. Also had AI write me a simple fuzzer in python and I’m just letting it run for a few hours. Also auditing the assimp loader paths against my wrapper to find any format specific behaviour that should be handled. I’ve already found a bunch of things and I’m still finding more. Assimp has a lot of weird quirks and issues that I keep running into. Honestly kinda regretting the decision to integrate it, but since I’m already so deep in, I’ll just keep going.
Merged the full assimp integration into main I really don’t have much to say here, I’ve already put all the info about the branch into the past devlogs. All the formats work and the wrapper is very sturdy. I’ve found more bugs in assimp itself than my code (devlog on that soon). So, rasterminal can now load basically any 3D model you throw at it. Some of the formats assimp supports are so niche, I’ve never even heard of them.
Cutting a release The repo is in a pretty complete and polished state, so I’ll cut a release here. This will also probably be the last release before I ship, so I’m making sure that nothing is broken and everything works on every platform. I’ve still got a lot of work to do though, even after the end of stardance, like animations, glTF PBR, format completeness for every format, GPU acceleration, etc.
Found a bunch of terminal cleanup gaps Most of them are Windows or cmd.exe specific (nothing ever works on Windows), but some are present on POSIX too. The Windows specific ones are: cmd.exe for some unknown reason doesn’t turn off the raw input sequences, so arrow keys don’t work like they should, even though I explicitly turn it off (????????) (I hate Windows, they always have to do something unexplainable for no reason just so your code doesn’t work as it should) when you terminate the program with ctrl+c or ctrl+break while actively dragging the model around, it sometimes leaks mouse escape sequences into the next prompt bunch of other weird small stuff that nobody cares about And the few on POSIX are mostly ctrl+z suspend/resume behaviour not recovering the terminal and the same thing with ctrl+\ (SIGQUIT). I’m still working on fixing these. Most of the windows ones are already fixed, but I haven’t even started with the linux/POSIX ones. I have postponed the planned release to when I fix these + any other issues I find.
I HATE WINDOWS Windows just doesn’t work. It doesn’t work. Nothing works on Windows. Everything breaks. I don’t get it. THE UNIT TESTS PASS ON WINDOWS CI BUT WHEN I ACTUALLY RUN THE TESTS ON WINDOWS IT FAILS????? HOW IS THAT EVEN POSSIBLE. The release is now definitely getting delayed by at least a week because I keep running into more and more and more and more and more and more and more and more and more issues. I hate Windows. Microslop is the only company that could mess up a basic terminal emulator. And I also have to reboot my PC every time I fix something and push it and then reboot to get back to linux. this is torture. At one point I tried to do it on a Windows VM on linux but that was too slow so I just gave up.
Merged the full Windows console restoration branch My nightmare is over. I hopefully won’t have to deal with Windows for a while now. Summary of what is now fixed/handled on Windows: Ctrl+C, Ctrl+Break and Q exits fully recover the terminal’s state Ctrl+C and Ctrl+Break don’t leak mouse escape sequences into the next prompt if you terminate while actively dragging a model A bunch of other minor Windows or cmd.exe specific quirks Only thing that isn’t handled (didn’t find a good way to handle it) is task manager “end process”. It kills the program without cleaning up and sometimes freezes the shell.
Fully fixed and merged the first POSIX cleanup item Well, would you look at that! That took significantly less time than the Windows fix. It is partly because it was a smaller fix and only part whole POSIX fix, while the Windows one was the whole thing and also the foundation had already been laid out from the Windows work and I just integrated the POSIX path into that, but it is also very much because Microsoft is a horrible, terrible company that can’t make good software. I mean, look at GitHub, they have been going downhill ever since they got acquired by Microsoft. Now that I got that out of my system, here’s what was fixed: If the program cannot enable raw mode at startup, it safely fails instead of continuing and corrupting the terminal state If the cleanup gets interrupted, it retries cleanup so it doesn’t leave the terminal state corrupted after one failed attempt Onto the next POSIX fix: handling SIGQUIT and SIGHUP.
Added handling for SIGINT, SIGTERM, SIGQUIT and SIGHUP I don’t really have much to say here, I just added the full per-spec handling for all these. Only remaining POSIX-only gap is now SIGSTOP/SIGCONT (stop/resume process). I’m also starting school now, so I’ll be working on this less.
Working on SIGSTOP and SIGCONT handling SIGSTOP and SIGCONT are POSIX signals for stopping and resuming a running process. I’m working on adding handling for these, so you can safely pause and unpause rasterminal at any time. This is a lot of work, since until now, we just set up the terminal on program start and cleaned up when the program exited. There’s a lot of quirks and weird scenarios that I have to handle, for example if another signal gets sent while cleaning up the terminal for SIGSTOP. I’m trying to catch as many edge cases by just doing random things while using the program and also with the help of AI to come up with potentially uncaught scenarios.
Did some polish and cleanup of the platform layer Did final polish and cleanup of the platform layer since I want to actually finally cut a release relatively soon and I just did a lot of work there. Fixed things like useless tests, outdated or wrong comments and some platform specific quirks. Probably actually gonna cut a release soon (this time for real). Also added early rejections for BVH and CSM files, since they contain no model geometry (they can’t currently be displayed at all) and documented the change. The code is basically done (hopefully, I really don’t want to find another big gap that’s gonna take a week to close), I just want to correct anything wrong in the README, changelog, manpage or help menu and maybe make them look a little better before cutting a release and shipping.
Last pre-release checks and cleanup I’m finally ready to release v0.1.0-alpha.2. Only notable thing I changed here is that I changed the default thread count: It now defaults to hardware concurrency everywhere. Other than that, I of course did final documentation checks and fixes and now I’m just waiting for CI to pass so I can tag it and let the release workflow do the last step. So this is hopefully the last devlog before my ship!
Refactored the platform layer The whole platform layer was just one file until now. Since I did a lot of work on it recently, it grew to over 2400 lines of code. It was super confusing and disorienting. So I decided to refactor it (split it) into 8 files, based on what they handle: console.h - saving/restoring terminal state control.h - termination signal handling file.h - file operations (64bit) input_reader.h - handling input (not parsing, that is it’s own file) shared_memory.h - shared memory handling for the kitty protocol terminal_io.h - writes output to the terminal terminal_query.h - querying the terminal for things like graphics capability, etc. timing.h - frame timing and sleeps
Miscellaneous fixes and improvements Fixed two races in platform code (one MacOS, one Windows) Removed build flags that disabled some compiler security hardening at the cost of a little performance Fixed the test framework to not freak out on NaN in near assertions Improved thread launching and handling in loaders and renderer So overall just boring fixes and improvements, nothing special.
Code quality and CI improvements Finally did the long overdue main loop refactor. The main loop is now way shorter, more readable and more testable. I just split off some of the main loop’s work into it’s own modules, which made them way better looking and also, since they are now standalone modules, actually testable. A big win for repo structure. In the process, I also replaced the input handling’s long if chain that made each character do it’s job with a switch statement. It’s more readable and theoretically faster, although since I compile it with -O3, it probably made no difference or an unnoticeable one at best. I also finally fixed the super long CI times. Until now, CI used to take ~50 minutes (depending on how fast the GitHub runner was) because of cppcheck. Everything else finished in under 10 minutes, but cppcheck stalled it for an hour. It was stalling in mesh_assimp.cpp (the assimp wrapper) for most of it’s runtime. I always thought it was because assimp is a very large library. So I experimented with it a little. I included everything I include in the wrapper into a test file with a little code and ran cppcheck on that. It finished in less than 10 seconds. Eventually, I found out it was somehow taking that long because the main loader function was too long and handled too much by itself. So i just refactored it into 3 separate functions, without changing the behavior at all. Somehow, I still don’t get why, it reduced the whole cppcheck run to 9 minutes. a more than 5x improvement, just because I split a function into more functions. I’m not complaining, but it’s definitely weird. CI is now way faster and adding new things is gonna be way smoother now.
Ships:
rasterminal rasterminal is a 3D model viewer in the terminal Why i decided to build it The original idea didn’t really have any big inspiration, I’ve just always been fascinated by the inner workings of 3D and how that all works. I’ve been wanting to build a project involving 3D for a while and I didn’t want to make just another program that uses libraries and GPU drivers to do all the work. So I came up with the idea: a software rasterizer that renders in the terminal! There are lots of TUIs and lots of boring old software rasterizer projects, so I just combined the two into something unique. And over time, I realized I could make it an actually useful tool, with no real competition: a 3D model viewer in the terminal. Sure, there are some similar projects on GitHub (like taigrr’s trophy), but none are actually usable with heavier models or support pixel graphics. What I learned I learned a lot. I really mean a lot. Anything from math and rendering to how terminals work and how to control them using escape sequences. I don’t want to sit here and name everything I learned over the period of the last 5 months, but I can confidently say that this project really taught me how much work goes into everyday software and how to actually develop and maintain a project professionally. The future of rasterminal The whole project is very far from done. You can see that from the latest release version: v0.1.0-alpha.2. I’ve got a lot of work to do and I’ve roughly got the major landmarks mapped out. Main things I definitely want to change/add at some point before v1 are: Add animation support (currently can only render still meshes) Complete the renderer (complete support for basically every feature of every format that makes sense to support) Add optional GPU acceleration (after I’m satisfied with everything else) Hardware / OS support Supports every major OS (Windows, Linux, MacOS, and any other POSIX-based OS, so practically everything), and every CPU that I could think of (any architecture, 32 or 64bit). You would have to actually try a to find a platform that it doesn’t support (most of the unsupported hardware are big-endian systems, which are basically phased out completely). This is one of the main goals of the project, so (almost) any modern machine with a terminal can run it. Special thanks Special thanks to anyone who followed, liked, helped, or otherwise supported the project in any way. I wouldn’t have had the motivation to push it this far if it wasn’t for you guys....
|
1793274652.2442877
|
1793361052.2442877
|
|
10531
|
DoseGuard by @darshjain | Stardance
|
darshjain
|
0
|
32.15
|
0
|
[]
|
[{"post_id": 7028, "ts": "2026 [{"post_id": 7028, "ts": "2026-06-11T19:47:32Z", "hours": 1.6469, "text": "DoseGuard - Deployed Last stretch was about making it real: hardening the app and getting it deployed where people can actually use it. Made it correct Shipped it Deployed to a Hack Club box - FastAPI + Caddy under PM2, React build served static, the 250k-drug DB shipped up from local The OCR fight This ate the day. Fresh Ubuntu was missing native libs ( libGL , libgomp ), then PaddlePaddle crashed on an unimplemented oneDNN op, then segfaulted - turned out the PP-OCRv5 server models just don’t run on this CPU. Swapped to the mobile models and it finally worked: scan a strip → reads the salts -> flags the interaction, ~2s. It’s live Scan an “Aspirin + Clopidogrel” box and it correctly flags the interaction, end to end in the browser. Demo login + screenshots in the README."}, {"post_id": 6813, "ts": "2026-06-11T13:09:17Z", "hours": 6.12, "text": "This round was less about new features and more about making the existing loop trustworthy - multi-salt meds, an editable scan history, per-user timezones, and a pile of correctness bugs that were quietly skewing what people saw. Multi-salt medicines One medicine can now hold multiple active ingredients. “Combiflam” or a combination tablet resolves to all its salts (ibuprofen + paracetamol), not just the first one - so interaction checks actually see everything you’re taking. Editable scan history New PATCH /scans/{id} endpoint + an “Edit & re-check” modal — fix an OCR misread, add or remove a drug, and re-run the interaction check without re-scanning. Adding a medication from a scan carries its salts through, and duplicate meds are blocked (case-insensitive). Account + timezone New change-password flow (/auth/change-password) — verifies the current password and signs out other devices. Every user now has a timezone (defaults to Asia/Kolkata, editable on the Profile page). “Today”, the slot cutoffs (morning/afternoon/evening/night), adherence, Where it stands Full loop still works end to end: scan or search -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings -> and now it’s all timezone-correct and edit-friendly. Fixing some bugs moving ahead Night doses now actually go overdue (the old cutoff of 24 could never trigger). Adherence only counts doses that were genuinely scheduled -> stray or leftover logs can’t push the percentage past what you were actually due. Deleting a medication now also clears its dose logs, so old “taken” rows stop inflating adherence. A medication is no longer half-created if RxNorm hiccups mid-add -> ingredients resolve before anything is saved. One failed RxNorm lookup during a scan no longer kills the whole scan. Drug search ranks an exact match above a loose substring product, and de-dupes."}, {"post_id": 6199, "ts": "2026-06-10T12:38:27Z", "hours": 4.2956, "text": "DoseGuard moved from a tiny hand-curated interaction list to a real, sourced drug-interaction database - plus a searchable medicine catalog and a calendar that shows adherence over time. Real interaction data Replaced the 8 curated pairs with the DDInter dataset (~150k real drug-drug interactions), graded Major / Moderate / Minor → severe / moderate / low. New normalization + interaction engine so user meds and the dataset speak the same RxNorm vocabulary. Searchable medicine catalog Imported ~250k medicine products + ~3k drug concepts into searchable tables. New /drugs/search endpoint (fuzzy match) and a debounced DrugSearch autocomplete component. Medications page Add meds by searching the catalog or importing from a scan (one scan -> one med, salts included). Set a course length (3 days, ongoing, etc.) — adherence only counts days a med is actually active. Calendar New Calendar page: month grid with per-day dots (all-taken / partial / missed / today), a 2-week tile strip with dates, plus doses-taken, tracked-days, and a 12-week adherence trend. New /tracking/history endpoint feeding day-by-day stats. Where it stands Full loop working: scan or search a medicine -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings, all backed by sourced data. Fixing some bugs moving ahead"}, {"post_id": 5490, "ts": "2026-06-09T09:18:38Z", "hours": 5.8842, "text": "DoseGuard moved past “scan + check” into daily medication management schedule doses, track them, and see adherence alongside safety warnings. Today page New Today page showing scheduled doses split into morning / afternoon / evening / night. Each dose shows a live status: taken, skipped, overdue, or upcoming. Quick actions to mark a dose taken or skipped. Tracking + safety together New backend models for dose schedules and dose logs. New API routes: today’s schedule, saved schedules, update med slots, log taken/skipped, 7-day adherence. UI polish Reworked pages on shared UI components. Animated page transitions, staggered cards, animated stat numbers, cleaner headers. Swapped emoji nav icons for lucide icons Where it stands Full loop working: scan medicines -> save as meds -> schedule doses -> track today -> see adherence + interaction warnings."}, {"post_id": 4905, "ts": "2026-06-08T14:15:26Z", "hours": 5.8994, "text": "The web app (React + HeroUI) — In progress A modern admin-style dashboard: sidebar nav, top bar, stat cards. Pages for managing medications, scanning, viewing the dashboard, and editing your profile. Scan history table where you can review past scans, edit the extracted drugs, and re-run the interaction check. Camera + upload - take a photo live in the browser or upload one. Made mobile-friendly (the sidebar collapses into a slide-out drawer on phones). The hard part: reading the label (OCR) This is where most of the recent effort went, and it’s been a real journey: Started with Tesseract - it choked on real photos (returned garbage like “ry”). Switched to PaddleOCR, then to its best models (PP-OCRv5 server detection + recognition, plus auto-rotation and image-unwarping). This reads real strips far better. Improved the matching: combine adjacent words so multi-word salts (“lactic acid”) stay together, skip packaging words (tablet, mg), and tolerate OCR typos with fuzzy matching. Where it stands The full chain works end to end: scan a medicine -> read the salts -> check interactions -> see ranked warnings, with accounts, history, and a polished responsive UI."}, {"post_id": 4684, "ts": "2026-06-08T02:47:11Z", "hours": 3.6553, "text": "Before this, the app could check drugs but it had no memory of who you were. So I added proper accounts. Now the app has real users, remembers their medications, checks them safely, and protects their accounts to a standard I’d actually trust."}, {"post_id": 4322, "ts": "2026-06-07T16:12:52Z", "hours": 1.445, "text": "This is the part that actually makes DoseGuard useful - checking whether the medicines you’re on are dangerous together. Up to now the app could recognise a drug and figure out its ingredient, but it couldn’t say anything about safety. So I built the interaction checker. When you hand the app a list of medicines, it takes each one, boils it down to its real ingredient (using the part I built earlier), and then checks every possible pair against that database. If it finds a clash, it tells you which two drugs, how dangerous it is, and why. I started the danger list small and curated by hand, just the well-known serious interactions, so I know it’s accurate."}, {"post_id": 4206, "ts": "2026-06-07T13:10:51Z", "hours": 2.3386, "text": "Just finished the first real feature of DoseGuard - getting the app to actually understand drug names. The problem is people don’t type or photograph drug names cleanly. They’ll write “tylenol” instead of the real medical name, or just misspell something like “warfarn.” So I built a piece that takes whatever messy text comes in and figures out what the drug actually is. That ingredient bit matters, because two different-looking medicines can contain the same thing, and that’s where dangerous combinations come from. I hooked this up to a free official US government drug db, so it’s working off real medical data"}, {"post_id": 4051, "ts": "2026-06-07T07:13:14Z", "hours": 0.8675, "text": "Started working on a this project. The idea is pretty simple: you take a photo of a medicine bottle, and the app reads the name off the label and warns you if it’s dangerous to take alongside the other medicines you’re already on. You can also just type the name in if you don’t want to use the camera. So far I’ve got the foundation done. The project’s structured, the backend actually runs, there’s a basic health-check working, sorted out all the annoying Python environment and editor stuff. Next thing I’m doing is the part that recognises the drug name from the label."}]...
|
Title: DoseGuard by @darshjain | Stardance
Devlog Title: DoseGuard by @darshjain | Stardance
Devlogs:
Started working on a this project. The idea is pretty simple: you take a photo of a medicine bottle, and the app reads the name off the label and warns you if it’s dangerous to take alongside the other medicines you’re already on. You can also just type the name in if you don’t want to use the camera. So far I’ve got the foundation done. The project’s structured, the backend actually runs, there’s a basic health-check working, sorted out all the annoying Python environment and editor stuff. Next thing I’m doing is the part that recognises the drug name from the label.
Just finished the first real feature of DoseGuard - getting the app to actually understand drug names. The problem is people don’t type or photograph drug names cleanly. They’ll write “tylenol” instead of the real medical name, or just misspell something like “warfarn.” So I built a piece that takes whatever messy text comes in and figures out what the drug actually is. That ingredient bit matters, because two different-looking medicines can contain the same thing, and that’s where dangerous combinations come from. I hooked this up to a free official US government drug db, so it’s working off real medical data
This is the part that actually makes DoseGuard useful - checking whether the medicines you’re on are dangerous together. Up to now the app could recognise a drug and figure out its ingredient, but it couldn’t say anything about safety. So I built the interaction checker. When you hand the app a list of medicines, it takes each one, boils it down to its real ingredient (using the part I built earlier), and then checks every possible pair against that database. If it finds a clash, it tells you which two drugs, how dangerous it is, and why. I started the danger list small and curated by hand, just the well-known serious interactions, so I know it’s accurate.
Before this, the app could check drugs but it had no memory of who you were. So I added proper accounts. Now the app has real users, remembers their medications, checks them safely, and protects their accounts to a standard I’d actually trust.
The web app (React + HeroUI) — In progress A modern admin-style dashboard: sidebar nav, top bar, stat cards. Pages for managing medications, scanning, viewing the dashboard, and editing your profile. Scan history table where you can review past scans, edit the extracted drugs, and re-run the interaction check. Camera + upload - take a photo live in the browser or upload one. Made mobile-friendly (the sidebar collapses into a slide-out drawer on phones). The hard part: reading the label (OCR) This is where most of the recent effort went, and it’s been a real journey: Started with Tesseract - it choked on real photos (returned garbage like “ry”). Switched to PaddleOCR, then to its best models (PP-OCRv5 server detection + recognition, plus auto-rotation and image-unwarping). This reads real strips far better. Improved the matching: combine adjacent words so multi-word salts (“lactic acid”) stay together, skip packaging words (tablet, mg), and tolerate OCR typos with fuzzy matching. Where it stands The full chain works end to end: scan a medicine -> read the salts -> check interactions -> see ranked warnings, with accounts, history, and a polished responsive UI.
DoseGuard moved past “scan + check” into daily medication management schedule doses, track them, and see adherence alongside safety warnings. Today page New Today page showing scheduled doses split into morning / afternoon / evening / night. Each dose shows a live status: taken, skipped, overdue, or upcoming. Quick actions to mark a dose taken or skipped. Tracking + safety together New backend models for dose schedules and dose logs. New API routes: today’s schedule, saved schedules, update med slots, log taken/skipped, 7-day adherence. UI polish Reworked pages on shared UI components. Animated page transitions, staggered cards, animated stat numbers, cleaner headers. Swapped emoji nav icons for lucide icons Where it stands Full loop working: scan medicines -> save as meds -> schedule doses -> track today -> see adherence + interaction warnings.
DoseGuard moved from a tiny hand-curated interaction list to a real, sourced drug-interaction database - plus a searchable medicine catalog and a calendar that shows adherence over time. Real interaction data Replaced the 8 curated pairs with the DDInter dataset (~150k real drug-drug interactions), graded Major / Moderate / Minor → severe / moderate / low. New normalization + interaction engine so user meds and the dataset speak the same RxNorm vocabulary. Searchable medicine catalog Imported ~250k medicine products + ~3k drug concepts into searchable tables. New /drugs/search endpoint (fuzzy match) and a debounced DrugSearch autocomplete component. Medications page Add meds by searching the catalog or importing from a scan (one scan -> one med, salts included). Set a course length (3 days, ongoing, etc.) — adherence only counts days a med is actually active. Calendar New Calendar page: month grid with per-day dots (all-taken / partial / missed / today), a 2-week tile strip with dates, plus doses-taken, tracked-days, and a 12-week adherence trend. New /tracking/history endpoint feeding day-by-day stats. Where it stands Full loop working: scan or search a medicine -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings, all backed by sourced data. Fixing some bugs moving ahead
This round was less about new features and more about making the existing loop trustworthy - multi-salt meds, an editable scan history, per-user timezones, and a pile of correctness bugs that were quietly skewing what people saw. Multi-salt medicines One medicine can now hold multiple active ingredients. “Combiflam” or a combination tablet resolves to all its salts (ibuprofen + paracetamol), not just the first one - so interaction checks actually see everything you’re taking. Editable scan history New PATCH /scans/{id} endpoint + an “Edit & re-check” modal — fix an OCR misread, add or remove a drug, and re-run the interaction check without re-scanning. Adding a medication from a scan carries its salts through, and duplicate meds are blocked (case-insensitive). Account + timezone New change-password flow (/auth/change-password) — verifies the current password and signs out other devices. Every user now has a timezone (defaults to Asia/Kolkata, editable on the Profile page). “Today”, the slot cutoffs (morning/afternoon/evening/night), adherence, Where it stands Full loop still works end to end: scan or search -> save as a multi-salt med -> schedule its course + slots -> track today -> see adherence + real interaction warnings -> and now it’s all timezone-correct and edit-friendly. Fixing some bugs moving ahead Night doses now actually go overdue (the old cutoff of 24 could never trigger). Adherence only counts doses that were genuinely scheduled -> stray or leftover logs can’t push the percentage past what you were actually due. Deleting a medication now also clears its dose logs, so old “taken” rows stop inflating adherence. A medication is no longer half-created if RxNorm hiccups mid-add -> ingredients resolve before anything is saved. One failed RxNorm lookup during a scan no longer kills the whole scan. Drug search ranks an exact match above a loose substring product, and de-dupes.
DoseGuard - Deployed Last stretch was about making it real: hardening the app and getting it deployed where people can actually use it. Made it correct Shipped it Deployed to a Hack Club box - FastAPI + Caddy under PM2, React build served static, the 250k-drug DB shipped up from local The OCR fight This ate the day. Fresh Ubuntu was missing native libs ( libGL , libgomp ), then PaddlePaddle crashed on an unimplemented oneDNN op, then segfaulted - turned out the PP-OCRv5 server models just don’t run on this CPU. Swapped to the mobile models and it finally worked: scan a strip → reads the salts -> flags the interaction, ~2s. It’s live Scan an “Aspirin + Clopidogrel” box and it correctly flags the interaction, end to end in the browser. Demo login + screenshots in the README....
|
1792936098.5612838
|
1793800098.5612838
|
|
62950
|
My Personal Website by @MuhammadDawood | Stardance
|
MuhammadDawood
|
1
|
4.0
|
22
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T21:23:42Z", "hours": 4.0, "multiplier": 5.3, "payout": 22, "blessing": "neutral", "text": "I have made my first project here which is my Portfolio to show my past experience to the world.", "repo": "https://github.com/DAVIDX-004/dawood-portfolio", "demo": "https://davidx-004.github.io/dawood-portfolio/"}]...
|
[{"post_id": 70282, "ts": "202 [{"post_id": 70282, "ts": "2026-09-18T21:21:39Z", "hours": 2.6656, "text": "I am finally done with my Portfolio Website hopefully you guyd will love it."}, {"post_id": 69403, "ts": "2026-09-16T23:57:37Z", "hours": 1.41, "text": "I am working on my personal Portfolio Website.Currently I am done with half of my HTML continusely working on it to make it happen."}]...
|
Title: My Personal Website by @MuhammadDawood | St Title: My Personal Website by @MuhammadDawood | Stardance
Devlogs:
I am working on my personal Portfolio Website.Currently I am done with half of my HTML continusely working on it to make it happen.
I am finally done with my Portfolio Website hopefully you guyd will love it.
Ships:
I have made my first project here which is my Portfolio to show my past experience to the world....
|
1793210161.1757948
|
1793296561.1757948
|
|
62960
|
unhumanweb by @rajaryan1492007 | Stardance
|
rajaryan1492007
|
0
|
3.16
|
0
|
[]
|
[{"post_id": 70283, "ts": "202 [{"post_id": 70283, "ts": "2026-09-18T21:22:50Z", "hours": 3.1639, "text": "making my engine website"}]...
|
Title: unhumanweb by @rajaryan1492007 | Stardance
Title: unhumanweb by @rajaryan1492007 | Stardance
Devlogs:
making my engine website...
|
1793047916.6850336
|
1793652716.6850336
|
|
6131
|
MicroDev128 Project by @I-like-BWRs | Stardance
|
I-like-BWRs
|
1
|
29.12
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-05T21:06:22Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "AVR128DB28 Concept Board. Being made right now", "repo": "https://github.com/ILikeBWRs/MicroDev128", "demo": ""}]...
|
[{"post_id": 70291, "ts": "202 [{"post_id": 70291, "ts": "2026-09-18T21:43:11Z", "hours": 0.3333, "text": "Finished my BOM and sent and email THANK YOU PCBWay for sponsoring this project! I needed to lock in. I (mostly off-camera) worked on selecting parts for the BOM. This included the parts for the MicroDevUPDI Programmer, and the MicroDev128-32P. I wrote a email to PCBWay (off-camera) asking if they will continue to sponsor me. (fingers crossed as the Hack Club grant just covered the first lot of parts). Because Stardance ends in 2 weeks - and shipping and assembly takes more than 2 weeks this will be the last devlog on stardance :( Thank you to all who have helped with this project - including you * reading this now. I really appreciate your support!"}, {"post_id": 66999, "ts": "2026-09-13T00:53:38Z", "hours": 1.9167, "text": "Finished the Rev1B and started work on the UPDI programmer I finished work on the MicroDev128-32P Rev1B. It some new things that you can see in the past devlogs. For MicroDevUPDI I made a simple USB to UPDI programmer. It uses the CH340E - which has an internal crystal. small footprint and needs few external parts. I added reverse polarity protection. It uses USB-C for its connector and is 2 small two layer board. I changed the main MicroDev128 repo to be a main landing page - with each board having its own repo."}, {"post_id": 66311, "ts": "2026-09-12T02:21:53Z", "hours": 3.3525, "text": "FINISHED Rev 1B I finished this revision by adding a few things: A full changelog bellow Rounded corners (idk just looks better in my opionion) Changed the TVS blows a fuse thing for a diode for proper reverse polarity protection Rearranged all the components Fixed some decoupling caps that were linked to GND and 5V but not even close to the acuall pin. Changed the UPDI header to be a 3x1 to save board space. As per request of a guy in my schools robotics club the board now fetures 3 neopixels (couldnt do his other request of a diode on every pin) Re-jigged the silkscreen labels so they should be acually readable Fixed the LT8653S being wired for burst mode ( which is great for battery life, but has higher ripple (I measured 30mV peak to peak with my scope) Now it is wired for FCM (Forced Countiuous Mode) for that super low ripple that the LT8653S is capable of. I learnt a thing or two about routing and made the pins for everything as close as possible to each other. Most likely I forgot to mention some stuff that I changed …. Anyway … turning out to be a genuinely useful board. Had the MVIO comunicating with a 3.3V SD card module yesterday no problems. Until next time … ILikeBWRs - Keegan Muller"}, {"post_id": 66143, "ts": "2026-09-11T19:28:32Z", "hours": 1.0169, "text": "Rearranging the power section I started to rearange the power section of the board, making the layout of componenets better and in general improving the overall board layout. I added a big diode for reverse polarity protection. I also added neo pixels and are spliting the board more. I resized the UPDI header to bbe a 1x3 header with power on the outside - Ill put a full bridge recitifier on the programer so you can plug it in both ways."}, {"post_id": 65815, "ts": "2026-09-11T06:35:02Z", "hours": 4.0006, "text": "Some Polishing MicroDev128-32P I noticed that my Rev 1B, is nearly completely different than my original design - so it merits a different board name. I am going to polish the MicroDev128-32P, make a programer for it then move on. I am adding USB to new board as well as some more fetures. The MicroDev128-32P will be polished so that it functions perfectly. Also started more work on the docs!"}, {"post_id": 62073, "ts": "2026-09-05T09:47:43Z", "hours": 1.4667, "text": "Started work on MicroDev128-32P Rev 1B I need to fix some flaws with the original design. I’ll address them as a list: It doesn’t have onboard USB It has small hard to read silkscreen and clearance issues. It has an oversized programming header which can be ommited if I add onboard USB. The 3PDT switch is big, easy to knock and takes up valuable board space. The 603 Ceramic caps are large and are not in the best places for power filtering. I plan to fix these all. Stay tuned to see what changes!"}, {"post_id": 60666, "ts": "2026-09-03T05:18:50Z", "hours": 1.6572, "text": "Ordered Parts, Assembled, and Tested MicroDev128 Project Quick recap: I like the Arduino Nano but wow is it old. And outdated. And slow. And underpowered. So I put all my frustrations into making a board the same size (’cause trying to use a ESP32 on breadboard sucks when they are so thick) and waayyyyyyy more powerful. So then this thing was born. With a power regulator that can supply two times more current that my oscilloscope draws , mixed with the latest and greatest 8-bit AVR microcontrollers (not that 8-bit AVR microcontrollers are very new ). Sorry I haven’t devloged in a while so this is a lot of stuff in this devlog. This will say 1h 4min logged [because im really bad at remebering to devlog and I use my phone often that I can put Lookout on so I someone gets in the recordering I have to trash it :( ] Day 1 I started by ordering parts from Digikey. I spend roughly 3 hours looking at part selections for the passives and LEDs. Day 2 After the parts arrived I looked through the parts and then assebled one board. The caps placement was tricky because they all look the same size, so I’ll add a diagram to the Github repo in the future to make this easier. Day 3 I tested the board and, well you can watch the video to see how it turned out. So thats this updates devlog. See the Github repository for more info: github.com/ILikeBWRs/MicroDev128 WATCH THE VIDEO"}, {"post_id": 34416, "ts": "2026-07-25T03:23:11Z", "hours": 5.0506, "text": "Cleaning Up the PCB and getting it ready for production Woooooo!!!!!!!!!!!!!!!!!! Its done Check the other MicroDev128-32P devlogs for more info. I changed the short circuit/reverse polarity protection to using a TVS and fuse. I fixed some errors, worked on docs, and finished doing the silkscreen labels. Now I have to request funding and test (aka abuse it until it blows up >:] ) Sorry for gaps in the time-lapse, I got distracted reading my voltage regulator datasheet and forgot to pause the recording. Maaa Bad."}, {"post_id": 31094, "ts": "2026-07-19T06:55:58Z", "hours": 2.2339, "text": "PCB Routing Pt3 Finally Finished Routing the project!!!!!! Took a while but I ended up using layer 3 as a mixed power and signal plane insteed of a solid power plane. I am happy with how it turned out. I still might add TX and RX lines to the UPDI header, so you can do serial print . Overall very happy. Now I have to finish the silkscreen labels, do the documentation :/ , and test it (yay)."}, {"post_id": 29423, "ts": "2026-07-16T11:18:22Z", "hours": 0.8167, "text": "PCB Routing MicroDev128-32 Started routing everything for the whole board. I am sick of routing a good seeming line and then ripping it up 20 times. Started on the power lines Made planes for the GND and 5v lines Learnt that I really suck at PCB design in general ________________________________________________________________Project Overview Based on the AVR128DB32, with the LT8653S switching power regulator. It has: Up to 2 amps on both the 3.3v and 5v lines. 128kB Flash and 16kB SRAM MVIO on 4-pins with 3.3v, 5v and EXTERNAL source presets UPDI Programing Arduino Nano sized footprint Aims to have a better price to performance ratio than Arduino (not hard considering a Genuine Uno is $40 NZD (About 20 USD) More to come as I hopfully soon finish this project!"}, {"post_id": 12849, "ts": "2026-06-21T01:25:48Z", "hours": 1.7864, "text": "PCB PT2 This time: I have changed the voltage regulator to be the LT8653S (smaller footprint) I have relaid the board (again) I have started routing some basic data lines and the crystal. I have updated all footprints More to go! Getting there"}, {"post_id": 8519, "ts": "2026-06-14T05:13:06Z", "hours": 1.8056, "text": "Schematic Finishing and PCB (PT1)"}, {"post_id": 8482, "ts": "2026-06-14T03:17:10Z", "hours": 1.1797, "text": "Schematic PT2"}, {"post_id": 8446, "ts": "2026-06-14T01:23:50Z", "hours": 1.0075, "text": "Schematic AND ideas"}, {"post_id": 8402, "ts": "2026-06-13T23:33:35Z", "hours": 0.77, "text": "Schematic Work and Pondering"}, {"post_id": 7143, "ts": "2026-06-11T22:40:31Z", "hours": 0.3167, "text": "Hardware figuring out"}, {"post_id": 2956, "ts": "2026-06-05T21:17:39Z", "hours": 0.4111, "text": "Block Diagram"}, {"post_id": 1973, "ts": "2026-06-04T07:17:02Z", "hours": 0.2722, "text": "A basic program “BLINK” for the bare chip I have."}]...
|
Title: MicroDev128 Project by @I-like-BWRs | Stard Title: MicroDev128 Project by @I-like-BWRs | Stardance
Devlogs:
A basic program “BLINK” for the bare chip I have.
Block Diagram
Hardware figuring out
Schematic Work and Pondering
Schematic AND ideas
Schematic PT2
Schematic Finishing and PCB (PT1)
PCB PT2 This time: I have changed the voltage regulator to be the LT8653S (smaller footprint) I have relaid the board (again) I have started routing some basic data lines and the crystal. I have updated all footprints More to go! Getting there
PCB Routing MicroDev128-32 Started routing everything for the whole board. I am sick of routing a good seeming line and then ripping it up 20 times. Started on the power lines Made planes for the GND and 5v lines Learnt that I really suck at PCB design in general ________________________________________________________________Project Overview Based on the AVR128DB32, with the LT8653S switching power regulator. It has: Up to 2 amps on both the 3.3v and 5v lines. 128kB Flash and 16kB SRAM MVIO on 4-pins with 3.3v, 5v and EXTERNAL source presets UPDI Programing Arduino Nano sized footprint Aims to have a better price to performance ratio than Arduino (not hard considering a Genuine Uno is $40 NZD (About 20 USD) More to come as I hopfully soon finish this project!
PCB Routing Pt3 Finally Finished Routing the project!!!!!! Took a while but I ended up using layer 3 as a mixed power and signal plane insteed of a solid power plane. I am happy with how it turned out. I still might add TX and RX lines to the UPDI header, so you can do serial print . Overall very happy. Now I have to finish the silkscreen labels, do the documentation :/ , and test it (yay).
Cleaning Up the PCB and getting it ready for production Woooooo!!!!!!!!!!!!!!!!!! Its done Check the other MicroDev128-32P devlogs for more info. I changed the short circuit/reverse polarity protection to using a TVS and fuse. I fixed some errors, worked on docs, and finished doing the silkscreen labels. Now I have to request funding and test (aka abuse it until it blows up >:] ) Sorry for gaps in the time-lapse, I got distracted reading my voltage regulator datasheet and forgot to pause the recording. Maaa Bad.
Ordered Parts, Assembled, and Tested MicroDev128 Project Quick recap: I like the Arduino Nano but wow is it old. And outdated. And slow. And underpowered. So I put all my frustrations into making a board the same size (’cause trying to use a ESP32 on breadboard sucks when they are so thick) and waayyyyyyy more powerful. So then this thing was born. With a power regulator that can supply two times more current that my oscilloscope draws , mixed with the latest and greatest 8-bit AVR microcontrollers (not that 8-bit AVR microcontrollers are very new ). Sorry I haven’t devloged in a while so this is a lot of stuff in this devlog. This will say 1h 4min logged [because im really bad at remebering to devlog and I use my phone often that I can put Lookout on so I someone gets in the recordering I have to trash it :( ] Day 1 I started by ordering parts from Digikey. I spend roughly 3 hours looking at part selections for the passives and LEDs. Day 2 After the parts arrived I looked through the parts and then assebled one board. The caps placement was tricky because they all look the same size, so I’ll add a diagram to the Github repo in the future to make this easier. Day 3 I tested the board and, well you can watch the video to see how it turned out. So thats this updates devlog. See the Github repository for more info: github.com/ILikeBWRs/MicroDev128 WATCH THE VIDEO
Started work on MicroDev128-32P Rev 1B I need to fix some flaws with the original design. I’ll address them as a list: It doesn’t have onboard USB It has small hard to read silkscreen and clearance issues. It has an oversized programming header which can be ommited if I add onboard USB. The 3PDT switch is big, easy to knock and takes up valuable board space. The 603 Ceramic caps are large and are not in the best places for power filtering. I plan to fix these all. Stay tuned to see what changes!
Some Polishing MicroDev128-32P I noticed that my Rev 1B, is nearly completely different than my original design - so it merits a different board name. I am going to polish the MicroDev128-32P, make a programer for it then move on. I am adding USB to new board as well as some more fetures. The MicroDev128-32P will be polished so that it functions perfectly. Also started more work on the docs!
Rearranging the power section I started to rearange the power section of the board, making the layout of componenets better and in general improving the overall board layout. I added a big diode for reverse polarity protection. I also added neo pixels and are spliting the board more. I resized the UPDI header to bbe a 1x3 header with power on the outside - Ill put a full bridge recitifier on the programer so you can plug it in both ways.
FINISHED Rev 1B I finished this revision by adding a few things: A full changelog bellow Rounded corners (idk just looks better in my opionion) Changed the TVS blows a fuse thing for a diode for proper reverse polarity protection Rearranged all the components Fixed some decoupling caps that were linked to GND and 5V but not even close to the acuall pin. Changed the UPDI header to be a 3x1 to save board space. As per request of a guy in my schools robotics club the board now fetures 3 neopixels (couldnt do his other request of a diode on every pin) Re-jigged the silkscreen labels so they should be acually readable Fixed the LT8653S being wired for burst mode ( which is great for battery life, but has higher ripple (I measured 30mV peak to peak with my scope) Now it is wired for FCM (Forced Countiuous Mode) for that super low ripple that the LT8653S is capable of. I learnt a thing or two about routing and made the pins for everything as close as possible to each other. Most likely I forgot to mention some stuff that I changed …. Anyway … turning out to be a genuinely useful board. Had the MVIO comunicating with a 3.3V SD card module yesterday no problems. Until next time … ILikeBWRs - Keegan Muller
Finished the Rev1B and started work on the UPDI programmer I finished work on the MicroDev128-32P Rev1B. It some new things that you can see in the past devlogs. For MicroDevUPDI I made a simple USB to UPDI programmer. It uses the CH340E - which has an internal crystal. small footprint and needs few external parts. I added reverse polarity protection. It uses USB-C for its connector and is 2 small two layer board. I changed the main MicroDev128 repo to be a main landing page - with each board having its own repo.
Finished my BOM and sent and email THANK YOU PCBWay for sponsoring this project! I needed to lock in. I (mostly off-camera) worked on selecting parts for the BOM. This included the parts for the MicroDevUPDI Programmer, and the MicroDev128-32P. I wrote a email to PCBWay (off-camera) asking if they will continue to sponsor me. (fingers crossed as the Hack Club grant just covered the first lot of parts). Because Stardance ends in 2 weeks - and shipping and assembly takes more than 2 weeks this will be the last devlog on stardance :( Thank you to all who have helped with this project - including you * reading this now. I really appreciate your support!
Ships:
AVR128DB28 Concept Board. Being made right now...
|
1793289381.856529
|
1793375781.856529
|
|
1836
|
Thought Galaxy by @Jewelia | Stardance
|
Jewelia
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-08T22:53:59Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "We are finally shipping! This summer, I tried making my first website with React! I was really tired of all the ads in diary apps, writing in journals took a long time, and I wanted the aesthetic of a nice diary website rather than a plain google doc. This is my result for now, I will definitely keep developing it when I have more time in the future as it’s quite basic (my first time learning CSS) This is the DIARY FRONTEND ONLY so entries you make will not save on reload. My goal for the future is to be able to make a backend so you can make accounts. The original goal was to also have a place for to-do lists but that hasn’t been developed yet. (I ended up focusing a lot on my collaborative game project which took up most my time; go check it out if you haven’t already!)", "repo": "https://github.com/julia-duck/ThoughtGalaxy", "demo": "https://thoughtgalaxy.onrender.com/"}]...
|
[{"post_id": 70300, "ts": "202 [{"post_id": 70300, "ts": "2026-09-18T21:59:22Z", "hours": 1.2722, "text": "Hello Again! Back with a few tweaks and updates! I fixed the weird bugs where it would change multiple entries and also the bug where there would be a line you could see behind the expanded entry! I made it so that the “discard changes” button only appears when you make changes. (This has to do with the fact that I made it so that you can’t save entries that aren’t titled) I also started on the search function. But it will only give an alert with what you searched for testing purposes; I want to wait until we have a backend to implement that actual functionality. Thanks for reading!! I’m hoping I can ship the frontend of this for you all to test out, although I won’t have time to make the backend until school gets less stressful!"}, {"post_id": 66669, "ts": "2026-09-12T15:10:56Z", "hours": 4.6636, "text": "New Frontend Features! The sticker streak motivated me to keep adding a little bit by bit to my diary project even though school has started. 🥳 So, what’s new? New Entries ! In the past, clicking “New Entry” would just open the old entry. Now it adds a fresh new entry to your list of entries! Entry List As you make new entries, it will show all of your entries in concise boxes for you to scroll through, displaying the title and date. Discard Changes A fancy new button that will close your entry without saving your changes Arrow Buttons The newest addition yet that I’ve been meaning to do: adding arrows that let you click through your entries! Now VSCode will stop bugging me about my unused variables haha So, what’s next? Bug Fixes Unfortunately, the bug where saving an entry causes others to become duplicates of it has arose again and must be smashed Deleting Entries Shouldn’t be too hard, just gotta leave stuff for future me to do Search Function Eventually I want to be able to search for entries at least by title Backend One day I will get to it…so I can finally save my entries on browser reload…"}, {"post_id": 32130, "ts": "2026-07-21T02:43:49Z", "hours": 3.3975, "text": "I’ve gotten started on adding the ability of entries to pre-populate stored text (title and body). Since I haven’t implemented a backend yet (sooo I kinda got a bit carried away working on Boba Cats! And this project hasn’t gotten as much love and attention…but I’m hoping to get it working eventually!), I used a temporary entry variable for testing purposes (you can see it in the code if you take a careful look!) And yes, I shared a screenshot of the code this time instead of the actual site since there’s not much change in the visuals of the site! Next, I’m working on adding a date function (but the element is in the wrong place! So I won’t show until I fix it haha)"}, {"post_id": 362, "ts": "2026-06-01T18:12:12Z", "hours": 0.7664, "text": "Fixed problems so website can be deployed, added functionality to close button for entries For background, I started this project the month before June. It was very basic though, I didn’t get too much done… because most of the time spent was battling the error of the blank screen of death! It had something to do with dependencies not being installed and NavLink (which I was using to have different pages for the main page, diary, and to-do list) acting up. But I figured it out eventually!"}]...
|
Title: Thought Galaxy by @Jewelia | Stardance
Dev Title: Thought Galaxy by @Jewelia | Stardance
Devlogs:
Fixed problems so website can be deployed, added functionality to close button for entries For background, I started this project the month before June. It was very basic though, I didn’t get too much done… because most of the time spent was battling the error of the blank screen of death! It had something to do with dependencies not being installed and NavLink (which I was using to have different pages for the main page, diary, and to-do list) acting up. But I figured it out eventually!
I’ve gotten started on adding the ability of entries to pre-populate stored text (title and body). Since I haven’t implemented a backend yet (sooo I kinda got a bit carried away working on Boba Cats! And this project hasn’t gotten as much love and attention…but I’m hoping to get it working eventually!), I used a temporary entry variable for testing purposes (you can see it in the code if you take a careful look!) And yes, I shared a screenshot of the code this time instead of the actual site since there’s not much change in the visuals of the site! Next, I’m working on adding a date function (but the element is in the wrong place! So I won’t show until I fix it haha)
New Frontend Features! The sticker streak motivated me to keep adding a little bit by bit to my diary project even though school has started. 🥳 So, what’s new? New Entries ! In the past, clicking “New Entry” would just open the old entry. Now it adds a fresh new entry to your list of entries! Entry List As you make new entries, it will show all of your entries in concise boxes for you to scroll through, displaying the title and date. Discard Changes A fancy new button that will close your entry without saving your changes Arrow Buttons The newest addition yet that I’ve been meaning to do: adding arrows that let you click through your entries! Now VSCode will stop bugging me about my unused variables haha So, what’s next? Bug Fixes Unfortunately, the bug where saving an entry causes others to become duplicates of it has arose again and must be smashed Deleting Entries Shouldn’t be too hard, just gotta leave stuff for future me to do Search Function Eventually I want to be able to search for entries at least by title Backend One day I will get to it…so I can finally save my entries on browser reload…
Hello Again! Back with a few tweaks and updates! I fixed the weird bugs where it would change multiple entries and also the bug where there would be a line you could see behind the expanded entry! I made it so that the “discard changes” button only appears when you make changes. (This has to do with the fact that I made it so that you can’t save entries that aren’t titled) I also started on the search function. But it will only give an alert with what you searched for testing purposes; I want to wait until we have a backend to implement that actual functionality. Thanks for reading!! I’m hoping I can ship the frontend of this for you all to test out, although I won’t have time to make the backend until school gets less stressful!
Ships:
We are finally shipping! This summer, I tried making my first website with React! I was really tired of all the ads in diary apps, writing in journals took a long time, and I wanted the aesthetic of a nice diary website rather than a plain google doc. This is my result for now, I will definitely keep developing it when I have more time in the future as it’s quite basic (my first time learning CSS) This is the DIARY FRONTEND ONLY so entries you make will not save on reload. My goal for the future is to be able to make a backend so you can make accounts. The original goal was to also have a place for to-do lists but that hasn’t been developed yet. (I ended up focusing a lot on my collaborative game project which took up most my time; go check it out if you haven’t already!)...
|
1793350680.7768474
|
1793437080.7768474
|
|
61955
|
My own site! by @GMM | Stardance
|
GMM
|
4
|
10.0
|
9
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T22:10:55Z", "hours": 6.0, "multiplier": 1.97, "payout": 6, "blessing": "neutral", "text": "I redesigned my site. Listening to the recommendations I tried to make it the best visually possible. The features include: a game, so it’s not to boring, my other website, and my social media’s link. Hope you like this new version. (I also put a bit of my interests, as some said to).", "repo": "https://github.com/GuilhermeMartins-GMM/Ma-site", "demo": "https://guilhermemm.com/"}, {"ship_num": 2, "ts": "2026-09-16T23:47:56Z", "hours": 2.0, "multiplier": 1.97, "payout": 2, "blessing": "neutral", "text": "Now the effects are on smartphones too. And I integrated my 2 sites. I also changed the project proposal, is a portfolio now.", "repo": "https://github.com/GuilhermeMartins-GMM/Ma-site", "demo": "https://guilhermemm.com/"}, {"ship_num": 3, "ts": "2026-09-15T16:30:34Z", "hours": 1.0, "multiplier": 1.19, "payout": 1, "blessing": "neutral", "text": "I made an site to introduce myself and help people study. At the start, everything was dificult, because that was my first time coding with other languages then c++. I didn’t even know how to instal the extention (that was a big error, because I spent 6 hours, but only 1 counted). But that made me even more proud, I got used to programing in CSS and HTML pretty fast, and I actually enjoyed after some time. I even made a favicon to my site (that’s pretty cool to me). To the ones that want to see my progect: My project is a stepping stone, is what I wanted to hear when I first started studying for real. I put links, so the site could be more truthful.", "repo": "https://github.com/GuilhermeMartins-GMM/Ma-site", "demo": "https://guilhermemm.com/"}, {"ship_num": 4, "ts": "2026-09-14T18:08:48Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an site to introduce myself and help people study. At the start, everything was dificult, because that was my first time coding with other languages then c++. I didn’t even know how to instal the extention (that was a big error, because I spent 6 hours, but only 1 counted☠️). But that made me even more proud, I got used to programing in CSS and HTML pretty fast, and I actually enjoyed after some time. I even made a favicon to my site (that’s pretty cool to me). To the ones that want to see my progect: My project is a stepping stone, is what I wanted to hear when I first started studying for real.", "repo": "https://github.com/GuilhermeMartins-GMM/Ma-site", "demo": "https://guilhermemm.com/"}]...
|
[{"post_id": 70304, "ts": "202 [{"post_id": 70304, "ts": "2026-09-18T22:05:29Z", "hours": 2.145, "text": "I ended testing the remake."}, {"post_id": 70058, "ts": "2026-09-18T11:23:32Z", "hours": 3.7336, "text": "I am listening to people’s recommendations and re-making the design, I also am going to add more effects."}, {"post_id": 69396, "ts": "2026-09-16T23:45:30Z", "hours": 0.6736, "text": "I integrated my 2 sites."}, {"post_id": 68898, "ts": "2026-09-16T00:10:50Z", "hours": 1.4114, "text": "I’m adding the effect of the cursor(/touch, for phone)"}, {"post_id": 68715, "ts": "2026-09-15T16:28:06Z", "hours": 0.5264, "text": "I ADDED A IMAGE!!! And also put links"}, {"post_id": 68190, "ts": "2026-09-14T17:54:08Z", "hours": 0.8531, "text": "I’m working on a website to introduce myself, Guilherme (GMM for short), and help the others learn programming and encourage everyone’s scientific interests."}]...
|
Title: My own site! by @GMM | Stardance
Devlogs:
Title: My own site! by @GMM | Stardance
Devlogs:
I’m working on a website to introduce myself, Guilherme (GMM for short), and help the others learn programming and encourage everyone’s scientific interests.
I ADDED A IMAGE!!! And also put links
I’m adding the effect of the cursor(/touch, for phone)
I integrated my 2 sites.
I am listening to people’s recommendations and re-making the design, I also am going to add more effects.
I ended testing the remake.
Ships:
I made an site to introduce myself and help people study. At the start, everything was dificult, because that was my first time coding with other languages then c++. I didn’t even know how to instal the extention (that was a big error, because I spent 6 hours, but only 1 counted☠️). But that made me even more proud, I got used to programing in CSS and HTML pretty fast, and I actually enjoyed after some time. I even made a favicon to my site (that’s pretty cool to me). To the ones that want to see my progect: My project is a stepping stone, is what I wanted to hear when I first started studying for real.
I made an site to introduce myself and help people study. At the start, everything was dificult, because that was my first time coding with other languages then c++. I didn’t even know how to instal the extention (that was a big error, because I spent 6 hours, but only 1 counted). But that made me even more proud, I got used to programing in CSS and HTML pretty fast, and I actually enjoyed after some time. I even made a favicon to my site (that’s pretty cool to me). To the ones that want to see my progect: My project is a stepping stone, is what I wanted to hear when I first started studying for real. I put links, so the site could be more truthful.
Now the effects are on smartphones too. And I integrated my 2 sites. I also changed the project proposal, is a portfolio now.
I redesigned my site. Listening to the recommendations I tried to make it the best visually possible. The features include: a game, so it’s not to boring, my other website, and my social media’s link. Hope you like this new version. (I also put a bit of my interests, as some said to)....
|
1793209858.8196766
|
1793296258.8196766
|
|
63566
|
MY SITE! by @ArHIM | Stardance
|
ArHIM
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T22:54:37Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This was fun for sure! Even though it took Less time than I thought it would take. I learned a lot in that short amount of time. By creating it, mainly the guides supported my development and Stardance supported my motivation, which is hard to find in me, honestly. To start off, everything was very confusing. I would say that the starting point was the hardest and now that I have the website, I would say that it was definitely worth it. Over time, I saw each piece coming together and now it’s a whole website about me, which I’m proud of. It has information about my personal, what I like to do in my free time, my interests, my hobbies, what I’ve learned, things like that. And I’m gonna confess that it’s pretty simple for now, but I’m sure I’ll refine it over time and as I get better at coding. It’s fully deployed. And in my opinion, keeping in mind it came for me, it visually looks pretty good too.", "repo": "https://github.com/ArhamBafna/MY-SITE", "demo": "https://arhambafna.github.io/MY-SITE/"}]...
|
[{"post_id": 70315, "ts": "202 [{"post_id": 70315, "ts": "2026-09-18T22:41:02Z", "hours": 0.305, "text": "Finally, we are DONE Actually added color to make it nice to read. And changed layout Edited text a bit again because it can always be better. Added more contact info and just info in general. Cleaned up code! Also added an IMAGE of me (ai generated bc idk) Even tho it is VERY simple right now, I think its ok to submit. I will, of course, keep working on it in the future and keep refining it over time This was relatively quick, thanks to the guides. Plus stardance motivated me a lot to complete and work on this. LETS GOOOO"}, {"post_id": 70308, "ts": "2026-09-18T22:15:34Z", "hours": 0.2758, "text": "Added more personal information about my life. like, projects, interests, what i do in free time changed text a bit to be more FUN to read…"}, {"post_id": 70298, "ts": "2026-09-18T21:55:21Z", "hours": 0.265, "text": "Started the site! Just started the site, laying out foundations and creating first section with basic info (according to guide) I have high hopes…"}]...
|
Title: MY SITE! by @ArHIM | Stardance
Devlogs:
St Title: MY SITE! by @ArHIM | Stardance
Devlogs:
Started the site! Just started the site, laying out foundations and creating first section with basic info (according to guide) I have high hopes…
Added more personal information about my life. like, projects, interests, what i do in free time changed text a bit to be more FUN to read…
Finally, we are DONE Actually added color to make it nice to read. And changed layout Edited text a bit again because it can always be better. Added more contact info and just info in general. Cleaned up code! Also added an IMAGE of me (ai generated bc idk) Even tho it is VERY simple right now, I think its ok to submit. I will, of course, keep working on it in the future and keep refining it over time This was relatively quick, thanks to the guides. Plus stardance motivated me a lot to complete and work on this. LETS GOOOO
Ships:
This was fun for sure! Even though it took Less time than I thought it would take. I learned a lot in that short amount of time. By creating it, mainly the guides supported my development and Stardance supported my motivation, which is hard to find in me, honestly. To start off, everything was very confusing. I would say that the starting point was the hardest and now that I have the website, I would say that it was definitely worth it. Over time, I saw each piece coming together and now it’s a whole website about me, which I’m proud of. It has information about my personal, what I like to do in my free time, my interests, my hobbies, what I’ve learned, things like that. And I’m gonna confess that it’s pretty simple for now, but I’m sure I’ll refine it over time and as I get better at coding. It’s fully deployed. And in my opinion, keeping in mind it came for me, it visually looks pretty good too....
|
1793213330.915697
|
1793299730.915697
|
|
1602
|
My awesome macropad! by @efayeliu | Stardance
|
efayeliu
|
0
|
3.02
|
0
|
[]
|
[{"post_id": 70318, "ts": "202 [{"post_id": 70318, "ts": "2026-09-18T22:43:06Z", "hours": 3.0167, "text": "hackpadd!!! finished the case i really couldnt figure out autocad :,) I guessed the dimensions of the usb since it wasn’t mentioned on the tutorial i hope it works!!!"}]...
|
Title: My awesome macropad! by @efayeliu | Stardan Title: My awesome macropad! by @efayeliu | Stardance
Devlogs:
hackpadd!!! finished the case i really couldnt figure out autocad :,) I guessed the dimensions of the usb since it wasn’t mentioned on the tutorial i hope it works!!!...
|
1792691392.512619
|
1793296192.512619
|
|
63156
|
Arcade by @RishitJain | Stardance
|
RishitJain
|
0
|
5.69
|
0
|
[]
|
[{"post_id": 70327, "ts": "202 [{"post_id": 70327, "ts": "2026-09-18T23:16:06Z", "hours": 0.8333, "text": "BOM and github repo"}, {"post_id": 70311, "ts": "2026-09-18T22:23:41Z", "hours": 2.1225, "text": "Designed PCB for Arcade"}, {"post_id": 70227, "ts": "2026-09-18T19:03:38Z", "hours": 0.9667, "text": "Finished Schematic for Arcade"}, {"post_id": 69778, "ts": "2026-09-17T19:26:41Z", "hours": 1.7667, "text": "Designed Schematic for Arcade"}]...
|
Title: Arcade by @RishitJain | Stardance
Devlogs: Title: Arcade by @RishitJain | Stardance
Devlogs:
Designed Schematic for Arcade
Finished Schematic for Arcade
Designed PCB for Arcade
BOM and github repo...
|
1793048092.0370572
|
1793652892.0370572
|
|
4475
|
Exit Not Found by @dpath02 | Stardance
|
dpath02
|
1
|
10.36
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T07:08:56Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is the first real game I’ve ever made (not counting scratch or the Unity flappy bird tutorial). While in it’s current state it barely qualifies as a game considering it’s my second time using Unity it’s already an ok start. Plus I’m planning on working on this well past Stardance and already have some better models on the way. P.S. I don’t know if shipping is a permanent thing where you can’t edit after. If so… keep an eye on itch io?", "repo": "https://github.com/dpath02-sketch/My-Unity-Horror-Game", "demo": "https://dpath02.itch.io/exit-not-found"}]...
|
[{"post_id": 70331, "ts": "202 [{"post_id": 70331, "ts": "2026-09-18T23:36:42Z", "hours": 0.5544, "text": "Exit not Found devlog 4 Again, been a while since I last posted. I’m not good with sticking to things for long periods of time… anyway to get back into things I tried something simple to refresh my fleeting C# syntax memory by adding an FOV slider as well. The next big thing I want to work on is full on game saves. Even with the new data manager there’s still a few things I need to think about like how to convert the 3 rooms into just numbers and text without loosing info or making loading the game a pain. Not sure if anyone still reads these but if you do, thanks !(^U^)! edit: video was bugged for some reason. Here’s a screenshot of 70FOV you can compare to the previous images"}, {"post_id": 57709, "ts": "2026-08-29T23:14:02Z", "hours": 5.8042, "text": "Exit Not Found devlog 3.5 Sorry for not posting a devlog in a long time. Unfortunately your gonna have to wait a while more cause if this post works it confirms my suspicions that it’s the trash internet speed that won’t let me upload and I can’t have images :(. As far as I’m concerned Stardance is ending soon and I’m not gonna have a finished game by then so if you really wanna keep up to date I guess I’ll switch to itch. Also got working configs that persist after closing the game yay :)."}, {"post_id": 17443, "ts": "2026-06-28T06:58:43Z", "hours": 0.815, "text": "Exit Not Found third devlog I added the ability to unlock your mouse and go back to the menu without dying! Ground breaking stuff… I also added some “music” that plays in the background (I’m not very good at writing music + Soundtrap’s exports have a bit of extra time at the end for some reason. maybe instrument sustain). I was also considering having the game be available on web but the web build was kinda buggy for some reason and itch io didn’t like me having 2 zip files so you still have to download to play. I’m not actually sure how much time there’s left for Stardance so if this is my last devlog here, fear not! I’m not giving up on this game and will at least get the game as polished as I can, if not adding more actual gameplay to it in the long run."}, {"post_id": 10567, "ts": "2026-06-17T11:28:30Z", "hours": 2.5197, "text": "Exit Not Found second devlog I decided to focus a bit on getting the game to be… a game. Using a quick Youtube tutorial I got a main menu up and while I did add a bunch of buttons so far the only ones that work are new game and quit. The sphere of doom now triggers a vignette effect and knocks you over before sending you to the menu again. Getting that to work was a very big pain as I am promptly reminded that I’m still learning how both C# and Unity work and have just been throwing stuff to the wall and seeing what sticks. The main issue was accessing data and functions across several different scripts and types of objects. I can guarantee if I work on this in a couple months time I’m going to regret every stupid code design choice I made (my horrid code is above unless I forgot where the images go). Also fun fact sound design is pain not gonna go into too much depth since I gave up pretty quickly realising free internet tools only get you so far."}, {"post_id": 7814, "ts": "2026-06-13T01:21:39Z", "hours": 0.8811, "text": "Exit Not Found first devlog This is the first 3D game I’ve worked on and it’s basically just a Roblox: Doors clone where you walk around in an infinite cycle of rooms. So far there’s a basic main menu, world gen, and an enemy that deletes the lights and outputs “dead” in the console if you get too close :). Getting the lights to break took a bit longer than I hoped cause I didn’t realise it the lights need a rigid body component for the collider to work."}]...
|
Title: Exit Not Found by @dpath02 | Stardance
Dev Title: Exit Not Found by @dpath02 | Stardance
Devlogs:
Exit Not Found first devlog This is the first 3D game I’ve worked on and it’s basically just a Roblox: Doors clone where you walk around in an infinite cycle of rooms. So far there’s a basic main menu, world gen, and an enemy that deletes the lights and outputs “dead” in the console if you get too close :). Getting the lights to break took a bit longer than I hoped cause I didn’t realise it the lights need a rigid body component for the collider to work.
Exit Not Found second devlog I decided to focus a bit on getting the game to be… a game. Using a quick Youtube tutorial I got a main menu up and while I did add a bunch of buttons so far the only ones that work are new game and quit. The sphere of doom now triggers a vignette effect and knocks you over before sending you to the menu again. Getting that to work was a very big pain as I am promptly reminded that I’m still learning how both C# and Unity work and have just been throwing stuff to the wall and seeing what sticks. The main issue was accessing data and functions across several different scripts and types of objects. I can guarantee if I work on this in a couple months time I’m going to regret every stupid code design choice I made (my horrid code is above unless I forgot where the images go). Also fun fact sound design is pain not gonna go into too much depth since I gave up pretty quickly realising free internet tools only get you so far.
Exit Not Found third devlog I added the ability to unlock your mouse and go back to the menu without dying! Ground breaking stuff… I also added some “music” that plays in the background (I’m not very good at writing music + Soundtrap’s exports have a bit of extra time at the end for some reason. maybe instrument sustain). I was also considering having the game be available on web but the web build was kinda buggy for some reason and itch io didn’t like me having 2 zip files so you still have to download to play. I’m not actually sure how much time there’s left for Stardance so if this is my last devlog here, fear not! I’m not giving up on this game and will at least get the game as polished as I can, if not adding more actual gameplay to it in the long run.
Exit Not Found devlog 3.5 Sorry for not posting a devlog in a long time. Unfortunately your gonna have to wait a while more cause if this post works it confirms my suspicions that it’s the trash internet speed that won’t let me upload and I can’t have images :(. As far as I’m concerned Stardance is ending soon and I’m not gonna have a finished game by then so if you really wanna keep up to date I guess I’ll switch to itch. Also got working configs that persist after closing the game yay :).
Exit not Found devlog 4 Again, been a while since I last posted. I’m not good with sticking to things for long periods of time… anyway to get back into things I tried something simple to refresh my fleeting C# syntax memory by adding an FOV slider as well. The next big thing I want to work on is full on game saves. Even with the new data manager there’s still a few things I need to think about like how to convert the 3 rooms into just numbers and text without loosing info or making loading the game a pain. Not sure if anyone still reads these but if you do, thanks !(^U^)! edit: video was bugged for some reason. Here’s a screenshot of 70FOV you can compare to the previous images
Ships:
This is the first real game I’ve ever made (not counting scratch or the Unity flappy bird tutorial). While in it’s current state it barely qualifies as a game considering it’s my second time using Unity it’s already an ok start. Plus I’m planning on working on this well past Stardance and already have some better models on the way. P.S. I don’t know if shipping is a permanent thing where you can’t edit after. If so… keep an eye on itch io?...
|
1793252942.4055312
|
1793339342.4055312
|
|
60829
|
cwemkeys by @cqwea | Stardance
|
cqwea
|
0
|
7.57
|
0
|
[]
|
[{"post_id": 70332, "ts": "202 [{"post_id": 70332, "ts": "2026-09-18T23:42:25Z", "hours": 4.0492, "text": "I finished my keyboard after a week of break at school and I think its gonna turn out pretty great"}, {"post_id": 65644, "ts": "2026-09-10T22:31:53Z", "hours": 3.5167, "text": "so ive did the schematics and pcb design started I played everything down but for some reason the connections are all messed up idk why ima took a deeper look at it"}]...
|
Title: cwemkeys by @cqwea | Stardance
Devlogs:
so Title: cwemkeys by @cqwea | Stardance
Devlogs:
so ive did the schematics and pcb design started I played everything down but for some reason the connections are all messed up idk why ima took a deeper look at it
I finished my keyboard after a week of break at school and I think its gonna turn out pretty great...
|
1793037053.1554637
|
1793641853.1554637
|
|
62347
|
fairshare-chores by @Jasonvo | Stardance
|
Jasonvo
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T00:22:34Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built FairShare Chores — a web app that helps families distribute household chores fairly using a point-based algorithm. The most challenging part was debugging JavaScript. I typed all the code by hand which meant a lot of typos like “textContext” instead of “textContent” and “onlick” instead of “onclick” 😅 The browser console became my best friend. I’m most proud of the assignment algorithm — it automatically gives chores to whoever has the least points so the workload stays balanced. To test it: add 3-4 family members, add some chores with different difficulty points, then click “Assign Chores Fairly” to see the distribution!", "repo": "https://github.com/phuvo1304-alt/fairshare-chores", "demo": "https://phuvo1304-alt.github.io/fairshare-chores"}]...
|
[{"post_id": 70336, "ts": "202 [{"post_id": 70336, "ts": "2026-09-18T23:52:08Z", "hours": 1.0956, "text": "Day 3 - It finally all works!! Today was another debugging day but honestly it felt more satisfying than yesterday. The hardest part was getting the Done button to show up in the dashboard - it just wouldn’t appear no matter what I tried. Turns out the live GitHub Pages site was showing old cached code the whole time. Once I pushed the new code and did a hard refresh (Ctrl+Shift+R), the buttons appeared immediately. Kind of embarrassing but also a good lesson - always check if you’re looking at the latest version. The crossed-out effect when you mark a chore done felt really satisfying to build. It’s a small thing but it makes the app feel real. FairShare is now fully working: Add family members Add chores with difficulty points Algorithm distributes fairly Mark chores as done"}, {"post_id": 69542, "ts": "2026-09-17T08:32:54Z", "hours": 2.3508, "text": "Day 2 - The app finally works!!😭😭 Spent most of today debugging JavaScript. I typed the entire app.js by hand which meant I had a LOT of typos - textContext instead of textContent, onlick instead of onclick, chores instead of chore… honestly embarrassing but also kind of funny. The algorithm works though. Added nate and jason as family members, gave them 3 chores with different points, clicked Assign - and it actually distributed them fairly. nate got 5 points worth of chores, jason got 3. Not perfect equality but that’s how the greedy algorithm works. Debugging through the browser console was actually really useful - each error pointed me exactly to the broken line."}, {"post_id": 69005, "ts": "2026-09-16T06:28:50Z", "hours": 1.1261, "text": "Today was mostly setup day, which honestly felt more frustrating than exciting at times. Getting Hackatime to actually track my time took way longer than expected — turns out WakaTime and Hackatime were conflicting with each other the whole time. Once I uninstalled WakaTime it finally worked. Got the GitHub repo connected to VS Code, created the three main files (index.html, style.css, app.js), and wrote the basic HTML skeleton for FairShare. It’s nothing pretty yet — just the structure — but seeing the sections laid out for family members, chores, and the dashboard made it feel more real. 1h 7m logged. Slow start but everything is in place now. Tomorrow I actually get to write real code."}]...
|
Title: fairshare-chores by @Jasonvo | Stardance
D Title: fairshare-chores by @Jasonvo | Stardance
Devlogs:
Today was mostly setup day, which honestly felt more frustrating than exciting at times. Getting Hackatime to actually track my time took way longer than expected — turns out WakaTime and Hackatime were conflicting with each other the whole time. Once I uninstalled WakaTime it finally worked. Got the GitHub repo connected to VS Code, created the three main files (index.html, style.css, app.js), and wrote the basic HTML skeleton for FairShare. It’s nothing pretty yet — just the structure — but seeing the sections laid out for family members, chores, and the dashboard made it feel more real. 1h 7m logged. Slow start but everything is in place now. Tomorrow I actually get to write real code.
Day 2 - The app finally works!!😭😭 Spent most of today debugging JavaScript. I typed the entire app.js by hand which meant I had a LOT of typos - textContext instead of textContent, onlick instead of onclick, chores instead of chore… honestly embarrassing but also kind of funny. The algorithm works though. Added nate and jason as family members, gave them 3 chores with different points, clicked Assign - and it actually distributed them fairly. nate got 5 points worth of chores, jason got 3. Not perfect equality but that’s how the greedy algorithm works. Debugging through the browser console was actually really useful - each error pointed me exactly to the broken line.
Day 3 - It finally all works!! Today was another debugging day but honestly it felt more satisfying than yesterday. The hardest part was getting the Done button to show up in the dashboard - it just wouldn’t appear no matter what I tried. Turns out the live GitHub Pages site was showing old cached code the whole time. Once I pushed the new code and did a hard refresh (Ctrl+Shift+R), the buttons appeared immediately. Kind of embarrassing but also a good lesson - always check if you’re looking at the latest version. The crossed-out effect when you mark a chore done felt really satisfying to build. It’s a small thing but it makes the app feel real. FairShare is now fully working: Add family members Add chores with difficulty points Algorithm distributes fairly Mark chores as done
Ships:
I built FairShare Chores — a web app that helps families distribute household chores fairly using a point-based algorithm. The most challenging part was debugging JavaScript. I typed all the code by hand which meant a lot of typos like “textContext” instead of “textContent” and “onlick” instead of “onclick” 😅 The browser console became my best friend. I’m most proud of the assignment algorithm — it automatically gives chores to whoever has the least points so the workload stays balanced. To test it: add 3-4 family members, add some chores with different difficulty points, then click “Assign Chores Fairly” to see the distribution!...
|
1793209976.3021655
|
1793296376.3021655
|
|
62961
|
My own keypad by @sritan | Stardance
|
sritan
|
0
|
4.02
|
0
|
[]
|
[{"post_id": 70338, "ts": "202 [{"post_id": 70338, "ts": "2026-09-18T23:56:58Z", "hours": 0.5447, "text": "I downloaded qmk software but i am confused on how to edit it."}, {"post_id": 69889, "ts": "2026-09-18T00:39:23Z", "hours": 1.0983, "text": "I made my case for the hackpad that i am making. (no holes on top as i will hot glue it on)"}, {"post_id": 69870, "ts": "2026-09-17T23:26:28Z", "hours": 0.4303, "text": "I added mounting holes and made my wires thicker. If anyone knows how to add text pls tell me in the comments"}, {"post_id": 69489, "ts": "2026-09-17T04:44:33Z", "hours": 0.5019, "text": "I added a 4th key to my hackpad!"}, {"post_id": 69405, "ts": "2026-09-17T00:03:48Z", "hours": 1.4444, "text": "I made my very own pcb!"}]...
|
Title: My own keypad by @sritan | Stardance
Devlo Title: My own keypad by @sritan | Stardance
Devlogs:
I made my very own pcb!
I added a 4th key to my hackpad!
I added mounting holes and made my wires thicker. If anyone knows how to add text pls tell me in the comments
I made my case for the hackpad that i am making. (no holes on top as i will hot glue it on)
I downloaded qmk software but i am confused on how to edit it....
|
1793047917.545569
|
1793652717.545569
|
|
58040
|
my own corner of the internet by @kirbyy | Stardan my own corner of the internet by @kirbyy | Stardance...
|
kirbyy
|
0
|
4.05
|
0
|
[]
|
[{"post_id": 70340, "ts": "202 [{"post_id": 70340, "ts": "2026-09-19T00:10:03Z", "hours": 2.1083, "text": "(9/18/2026) Updated the layout and added a navigation bar! Added an image to spice up the site (I also just love Superman), and FINALLY figured out how to get those boxes centered using flexbox. Decided to change the colors to replicate a newspaper style, and plan to add space-inspired margins eventually :)"}, {"post_id": 62704, "ts": "2026-09-06T06:08:10Z", "hours": 1.9403, "text": "(9/6/2026) first ever stardance devlog! having to re-learn html and css isn’t exactly great but it was rewarding to finally get some visuals on the page and get a bit of a backbone going. Hardest part was figuring out class and id divs (didn’t realize the difference between . and #), and trying to center them (which I still haven’t figured out LOL) but progress was made!"}]...
|
Title: my own corner of the internet by @kirbyy | Title: my own corner of the internet by @kirbyy | Stardance
Devlogs:
(9/6/2026) first ever stardance devlog! having to re-learn html and css isn’t exactly great but it was rewarding to finally get some visuals on the page and get a bit of a backbone going. Hardest part was figuring out class and id divs (didn’t realize the difference between . and #), and trying to center them (which I still haven’t figured out LOL) but progress was made!
(9/18/2026) Updated the layout and added a navigation bar! Added an image to spice up the site (I also just love Superman), and FINALLY figured out how to get those boxes centered using flexbox. Decided to change the colors to replicate a newspaper style, and plan to add space-inspired margins eventually :)...
|
1792734578.4829402
|
1793339378.4829402
|
|
63451
|
Lifeline by @Jay-can-code | Stardance
|
Jay-can-code
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T11:45:09Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "LIFELINE is a resource finder that makes it easier to find help with things like food, housing, education, jobs, transportation, and more. Instead of having to search through a bunch of different websites, you can find resources in one place! (its currently only for my local area, but it’ll definitely branch out a lot more in the future)", "repo": "https://github.com/Jay-at-GSMST/Lifeline-Project", "demo": "https://jay-at-gsmst.github.io/Lifeline_Project/"}]...
|
[{"post_id": 70349, "ts": "202 [{"post_id": 70349, "ts": "2026-09-19T00:46:08Z", "hours": 2.1425, "text": "Im keeping it extremely bland and simple for the moment, because I need to do more research for other locations than just my county. I have the structural base of the website, it just needs to have more resources for people to use now!"}, {"post_id": 70127, "ts": "2026-09-18T14:52:01Z", "hours": 0.7022, "text": "you can’t really see the change in action, but I made it so that each button changes that mid section’s information. I just needa actually implement good information in each of those designated sections now!"}, {"post_id": 70106, "ts": "2026-09-18T14:06:37Z", "hours": 0.5089, "text": "Sooooooo its getting extremely hard to find jobs, and its getting me scared because im a senior in high school and I have college coming up faster than I’d like. Me and my friends are worried we wont be able to find the resources we need to help us get through our next phase of life, so I figured I’d build a site where people can find those resources and share some with others! I’ve just made the main page so far, but for the most part this is a project that I really think could help a lot of us who are going into our college years, or starting to live on our own!"}]...
|
Title: Lifeline by @Jay-can-code | Stardance
Devl Title: Lifeline by @Jay-can-code | Stardance
Devlogs:
Sooooooo its getting extremely hard to find jobs, and its getting me scared because im a senior in high school and I have college coming up faster than I’d like. Me and my friends are worried we wont be able to find the resources we need to help us get through our next phase of life, so I figured I’d build a site where people can find those resources and share some with others! I’ve just made the main page so far, but for the most part this is a project that I really think could help a lot of us who are going into our college years, or starting to live on our own!
you can’t really see the change in action, but I made it so that each button changes that mid section’s information. I just needa actually implement good information in each of those designated sections now!
Im keeping it extremely bland and simple for the moment, because I need to do more research for other locations than just my county. I have the structural base of the website, it just needs to have more resources for people to use now!
Ships:
LIFELINE is a resource finder that makes it easier to find help with things like food, housing, education, jobs, transportation, and more. Instead of having to search through a bunch of different websites, you can find resources in one place! (its currently only for my local area, but it’ll definitely branch out a lot more in the future)...
|
1793213303.5899446
|
1793299703.5899446
|
|
62749
|
Vert's Hack Card by @vertriwayz | Stardance
|
vertriwayz
|
0
|
3.16
|
0
|
[]
|
[{"post_id": 70350, "ts": "202 [{"post_id": 70350, "ts": "2026-09-19T00:49:50Z", "hours": 0.5611, "text": "Devlog #2 UPDATE I forgot to include that I also have to put this all to a GitHub repo! So I somehow lost my files again, but luckily I had a recover file as a reference, and the DRC doesn’t even work so I had to manually review each wire and other details. However, it was easy to copy over the icons, footprints, etc. I actually think this could be the final product, as I don’t really have much to say. This was a fun project. This is what i’ve done so far today: Find recovery file Rewire Copy all the stuff Hopefully this is the final devlog and I hope to ship this probably before the end of today. I love this hack card."}, {"post_id": 70174, "ts": "2026-09-18T16:54:17Z", "hours": 2.5969, "text": "Devlog on making my Hacker Card So this was a pretty easy project to build with the schematics and PCB since it was just building a business card with NFC compatibility, and I didn’t need to do so much devlogs, so this is a compilation of what i’ve done. I’m proud of the progress so far, and I will be shipping this really soon. I only have to work on the DRC and probably add more features, but overall this is looking epic . So far this is what I have done: Created schematics + PCB in EasyEDA Wired components Created QR Code Added text for website, Github, etc. Added flair for my project Made the text, QR code, and NFC components a shiny texture. I used EasyEDA for the project, since most of the footprints I couldn’t find from KiCad libraries, and it was simply easier. Somehow at some point I thought I almost lost all of my files, but luckily it does online backup, so i’m okay for now."}]...
|
Title: Vert's Hack Card by @vertriwayz | Stard Title: Vert's Hack Card by @vertriwayz | Stardance
Devlogs:
Devlog on making my Hacker Card So this was a pretty easy project to build with the schematics and PCB since it was just building a business card with NFC compatibility, and I didn’t need to do so much devlogs, so this is a compilation of what i’ve done. I’m proud of the progress so far, and I will be shipping this really soon. I only have to work on the DRC and probably add more features, but overall this is looking epic . So far this is what I have done: Created schematics + PCB in EasyEDA Wired components Created QR Code Added text for website, Github, etc. Added flair for my project Made the text, QR code, and NFC components a shiny texture. I used EasyEDA for the project, since most of the footprints I couldn’t find from KiCad libraries, and it was simply easier. Somehow at some point I thought I almost lost all of my files, but luckily it does online backup, so i’m okay for now.
Devlog #2 UPDATE I forgot to include that I also have to put this all to a GitHub repo! So I somehow lost my files again, but luckily I had a recover file as a reference, and the DRC doesn’t even work so I had to manually review each wire and other details. However, it was easy to copy over the icons, footprints, etc. I actually think this could be the final product, as I don’t really have much to say. This was a fun project. This is what i’ve done so far today: Find recovery file Rewire Copy all the stuff Hopefully this is the final devlog and I hope to ship this probably before the end of today. I love this hack card....
|
1793047766.2548954
|
1793652566.2548954
|
|
63430
|
My Personal Site by @waffles888 | Stardance
|
waffles888
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T13:48:35Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This personal site had its challenges as I would forgot little things such as ensuring that the CSS file was referenced or that once I had published it on GitHub that everything had broken such as images and CSS just due to the way that file paths work. Overall im really proud with how the website turned out", "repo": "https://github.com/waffles-888/My-Personal-site", "demo": "https://waffles-888.github.io/My-Personal-site/index.html"}]...
|
[{"post_id": 70354, "ts": "202 [{"post_id": 70354, "ts": "2026-09-19T01:00:04Z", "hours": 0.4731, "text": "Devlog 3 - About me This is the final page that I have made for my website its very simple but its still a nice looking page and overall looks pretty clean in my opinion. It has a nice box around the text as well as a bootstrap button with a SVG of GitHubs logo on there. I used the CSS I had made for the box around the about me and went back to the home page to also add it around the text there to make it look overall nicer."}, {"post_id": 70345, "ts": "2026-09-19T00:25:52Z", "hours": 0.9931, "text": "Devlog 2 - Projects This page was a little harder to make over the home page as I was struggling to align the cards of the projects in a way that I liked, it lead me to loop around trying different things until I finally got it to look the way I wanted it. I also went back the home page and added an image carousel which also has images of each project that was on the projects page."}, {"post_id": 70326, "ts": "2026-09-18T23:03:03Z", "hours": 1.3417, "text": "Devlog 1 - Homepage I have a fair bit of experience in making websites so making this was simpler that my other projects. I highly recommend to anyone attempting to make a website to use bootstrap as that making development at lot simpler while getting the look that you want."}]...
|
Title: My Personal Site by @waffles888 | Stardance Title: My Personal Site by @waffles888 | Stardance
Devlogs:
Devlog 1 - Homepage I have a fair bit of experience in making websites so making this was simpler that my other projects. I highly recommend to anyone attempting to make a website to use bootstrap as that making development at lot simpler while getting the look that you want.
Devlog 2 - Projects This page was a little harder to make over the home page as I was struggling to align the cards of the projects in a way that I liked, it lead me to loop around trying different things until I finally got it to look the way I wanted it. I also went back the home page and added an image carousel which also has images of each project that was on the projects page.
Devlog 3 - About me This is the final page that I have made for my website its very simple but its still a nice looking page and overall looks pretty clean in my opinion. It has a nice box around the text as well as a bootstrap button with a SVG of GitHubs logo on there. I used the CSS I had made for the box around the about me and went back to the home page to also add it around the text there to make it look overall nicer.
Ships:
This personal site had its challenges as I would forgot little things such as ensuring that the CSS file was referenced or that once I had published it on GitHub that everything had broken such as images and CSS just due to the way that file paths work. Overall im really proud with how the website turned out...
|
1793213298.6496027
|
1793299698.6496027
|
|
44340
|
The Jay-Tab by @inspirely4 | Stardance
|
inspirely4
|
0
|
58.32
|
0
|
[]
|
[{"post_id": 70357, "ts": "202 [{"post_id": 70357, "ts": "2026-09-19T01:12:18Z", "hours": 1.9836, "text": "Day #43 of the Jay-Tab: The final day. Today, I celebrate me finishing the Jay-Tab! I finished the entire readme, the updates to the CAD, and the BOM! It is all done, and I uploaded it to GitHub. Thank you to the people who have been seeing this daily! I see that you have been liking the posts! Thank you for the people who have been commenting, liking, and I am excited to see where this project goes!"}, {"post_id": 69958, "ts": "2026-09-18T04:02:08Z", "hours": 0.65, "text": "Day #42 of the Jay-Tab! Today, I finished about 90% of the BOM, and I’m also planning to get the bottom weight CNC’d so it can actually support my project without looking bulky, since a lot of pre-made weights are bulky. Tomorrow, I am going to finish the BOM, and the Jay-Tab’s design story will come to an end! Here’s what the CNC model looks like! See you tomorrow!"}, {"post_id": 69466, "ts": "2026-09-17T03:52:19Z", "hours": 2.0969, "text": "Day #41 of the Jay-Tab! Today, I made everything work for the Jay-Tab. I finished up the Readme! Tomorrow, I am going to update my CAD, and then start the BOM! Once all of this is done, we will be 100% finished the Jay-Tab!"}, {"post_id": 68952, "ts": "2026-09-16T03:16:49Z", "hours": 0.8333, "text": "Day #40 of the Jay-Tab! Today, I started the README! I finished around half of the project, but then GITHUB GLITCHED AND DELETED THE README! I started the README again, and it is going pretty well so far! The image is what I have right now! See you tomorrow!"}, {"post_id": 68427, "ts": "2026-09-15T03:08:21Z", "hours": 1.0847, "text": "Day #39 of the Jay-Tab! We are so close to the end; I SEE IT! Today, I pushed all the files to GitHub and also realized I forgot a few things in the software and the CAD, which I fixed, except that I need to make a small hole in the CAD model. I will do that tomorrow. After this, we are going to make the BOM, ReadMe, and then we are done! Here is a link to the GitHub repo: https://github.com/Jay-Tai/Jay-Tab See you tomorrow!"}, {"post_id": 67840, "ts": "2026-09-14T03:13:24Z", "hours": 0.4225, "text": "Day #38 of the Jay-Tab! Today was a bit of a short day on paper because hackatime glitched out and didn’t fully record 😭 but it’s fine! I have finished all the stuff for the firmware and the CAD! Tomorrow, I will be uploading everything to GitHub and will also be starting the ReadMe! See you tomorrow!"}, {"post_id": 67084, "ts": "2026-09-13T04:15:26Z", "hours": 0.7833, "text": "Day #37 of the Jay-Tab! Today was mainly about cleaning up the PCB! I finished up with all final touches to the PCB. In addition, I started adding the finishing touches to Jay-Tab OS. Tomorrow, I am going to add the finishing touches to the OS, and the CAD, and after that, I will start the readme! See you tomorrow!"}, {"post_id": 66343, "ts": "2026-09-12T03:34:57Z", "hours": 0.7003, "text": "MAJOR PROGRESS MAJOR PROGRESS MAJOR PROGRESS Day #36 of the Jay-Tab! I got this project to finally work!! Today, I cleared all bugs with the Govee API and the code finally works!!! IT IS SO COOL Tomorrow, I am going to make the final changes for the PCB and make some Blender renders of the project!"}, {"post_id": 65745, "ts": "2026-09-11T03:07:20Z", "hours": 0.5975, "text": "Day #35 of the Jay-Tab! Today, I finished the main code for the home control system! Tomorrow, I am going to finish up the bugs and then I will be finished the code! I have some changes to the PCB and CAD, so once those are finished, we will be done, and onto the GitHub! See you tomorrow!"}, {"post_id": 65423, "ts": "2026-09-10T15:32:49Z", "hours": 0.9139, "text": "I LITERALLY FORGOT TO CLICK POST YESTERDAY Day #34 of the Jay-Tab! Today was all about getting the backend code to work for the UI. I made all of the backend code for the govee work. In addition, I made part of the UI code, which I am going to try and finish tomorrow (As in today when I am posting this), and then day after, I am going to work on the bug fixes! See you tomorrow!"}, {"post_id": 64593, "ts": "2026-09-09T03:11:45Z", "hours": 0.985, "text": "Day #33 of the Jay-Tab! Today was amazing! However, I found issues with Homey. I found that it would actually cost me money to use Homey for this project! Therefore, I have pivoted to the Govee API and redesigned the UI so that it is for one Govee light, but I can change the color through there as well! Here is what the new UI looks like"}, {"post_id": 63984, "ts": "2026-09-08T02:31:50Z", "hours": 1.1978, "text": "Day #32 of the Jay-Tab! MAJOR PROGRESS Today, I got the actual home working! I said that I was going to use Home Assistant to make this project work, but i faced many issues with it. Therefore, I left home assistant, and locked into homey! At first it was a pain, as I had to get Govee working and it kept asking for an API. I ended up applying to get an API with Govee, and ended up getting the API! In addition, it was an absolute PAIN to get the switches added as I had no idea what smart switches were in my house. At the end, I got the smart switches working through 3 different apps and got it connected to homey! At the end, everything is connected to homey and working, and the next step is integrating it into my code! See you tomorrow!"}, {"post_id": 63655, "ts": "2026-09-07T16:04:21Z", "hours": 1.4683, "text": "Day #31 of the Jay-Tab! (I forgot to post this yesterday Today was getting my API started after I got permission to connect my Google Home to the lights! I didn’t get the full API started with home assistant, but I am still working on it! :D"}, {"post_id": 62649, "ts": "2026-09-06T03:34:59Z", "hours": 0.3922, "text": "Day #30 of the Jay-Tab! I wish I had more to say today, but I don’t 😞 I wanted to get a majority of the home control software done today, but I realized that the account that controls the lights in my home isn’t through a shared Google account, but instead a Google account that doesn’t belong to me, but to my parents. When I am working on this, both my parents are already fast asleep. Therefore, tomorrow, I am going to get the API set up with them, and I will work on the code surrounding it tomorrow!"}, {"post_id": 61942, "ts": "2026-09-05T03:48:22Z", "hours": 0.9508, "text": "Days 28 and 29 of the Jay-Tab! Apparently, I spent all my time yesterday without recording anything I have finished the calendar screen! However, I am leaving out the other screen that talks about the other details of an event as I want to save that for V2 of the Jay-Tab. In addition, I finished the main idea of the home control screen! Take a look! :D"}, {"post_id": 60641, "ts": "2026-09-03T04:00:17Z", "hours": 1.1014, "text": "Day #27 of the Jay-Tab! Today, I spent like 5 billion years trying to squash a bug that I just noticed in the project regarding the calendar - I will be finishing it tomorrow!"}, {"post_id": 59999, "ts": "2026-09-02T02:52:23Z", "hours": 2.5042, "text": "DAY 25 AND 26 OF THE JAY-TAB!!! I forgot to post yesterday’s devlog So far, I finished everything that surrounds the UI for one day, and all that needs to be done is the next day and previous day functions! I also finished the debugging! See you tomorrow! Take a look at the UI while you are here:"}, {"post_id": 58641, "ts": "2026-08-31T04:05:46Z", "hours": 1.1, "text": "Day #24 of the Jay-Tab! This is one of those slow but still productive days - I finished all the logic that is going to make the calendar screen work, and tomorrow, all I need to do is that I need to work on creating the UI surrounding the calendar with multiple windows, along with debugging! After that, is going to be part 2 of the calendar, which is when you click on an event, it should show all information that is related to that event. See you tomorrow!"}, {"post_id": 57854, "ts": "2026-08-30T05:07:04Z", "hours": 1.2058, "text": "Day #23 of the Jay-Tab! Today was a bit of a slow day. I finished working on the case where there was less than 6 events in a day (Meaning all events can fit on one page), and tomorrow, I am going to work on events that are more than 6 events (That means all events need to fit on multiple pages). I already started working on a bit of the screen where there are more than 6 events, but the bulk will be done tomorrow :D"}, {"post_id": 57012, "ts": "2026-08-29T02:36:42Z", "hours": 1.1356, "text": "Day #22 of the Jay-Tab! Today, I started the UI of the calendar. As the same that I do with every single screen that I make in the Jay-Tab, I always make a version of it in adobe illustrator. The way I want this to work is that there should be a list of all events when you click the calendar, and when you click on an event, it will give you all of the information that is related to the event.. Here’s what the events display is supposed to look like! (Designed in Adobe Illustrator) See you tomorrow!"}, {"post_id": 56377, "ts": "2026-08-28T03:54:09Z", "hours": 1.2933, "text": "Day #21 of the Jay-Tab! Today was a pretty eventful day! The timer is finally finished! I used all the variable stuff and I made the timer actually tick down. Tomorrow, I am going to start the calendar!"}, {"post_id": 55359, "ts": "2026-08-27T04:21:23Z", "hours": 1.6169, "text": "DAY 20 OF THE JAY-TAB!!!!!!!!!!!! Today, I finally got the UI to adjust for the timer, and the backend works with the variables! See you tomorrow! Hopefully, the last day of the timer screen"}, {"post_id": 54917, "ts": "2026-08-26T04:19:12Z", "hours": 1.6953, "text": "Day #19 of the Jay-Tab! Today was about making the backend work for the timer! I made all the timer touchscreen functions work, and also finished all the variables! I nearly forgot to do my minimum hourly daily work! Here’s me doing it at midnight :P"}, {"post_id": 54187, "ts": "2026-08-25T01:59:10Z", "hours": 1.2525, "text": "Day #18 of the Jay-Tab! Today, I made the main UI for the Timer! It looks pretty good, and I also made all the functions that are going to register any touchscreen functions Here is a quick render!"}, {"post_id": 53531, "ts": "2026-08-24T03:33:42Z", "hours": 1.6992, "text": "Day #17 of the Jay-Tab! Today was a really eventful day. Today, I finished the entire home screen (Which looks FREAKING AMAZING), and I also made a prototype on Adobe Illustrator of what the timer screen will look like! The first image is the final home screen, and the second image is the timer prototype!"}, {"post_id": 52801, "ts": "2026-08-23T04:31:59Z", "hours": 1.5319, "text": "Day #16 of the Jay-Tab! Today, I got the Google Calendar API all running, and I faced a bunch of bugs that I have been figuring out. Mainly, the font size was too big, the text went off the edge, and the text should automatically update when the calendar changes. See you tomorrow!"}, {"post_id": 52105, "ts": "2026-08-22T05:45:59Z", "hours": 1.1333, "text": "Day #15 of the Jay-Tab! Today, I got most of the code for the upcoming tasks section of the home page (The last section), and I also got the clock to update after the time changes!"}, {"post_id": 51462, "ts": "2026-08-21T05:52:29Z", "hours": 1.1833, "text": "Realized that I never made a devlog for today! This is day #14 of the Jay-Tab! I finished making the font work, and also configured the clock! Take a look! :D"}, {"post_id": 50751, "ts": "2026-08-20T03:15:54Z", "hours": 1.5192, "text": "Today was a pretty great day for the Jay-Tab! I finished the simulator for the software before I get the hardware, and also finished all the stuff that has to do with the clock. However, there seems to be some issues with the byte arrays that make it not display correctly. The second image is what the home screen looks like and the first image is what the startup screen looks like. See you tomorrow!"}, {"post_id": 50054, "ts": "2026-08-19T02:50:56Z", "hours": 1.4503, "text": "Day #12 of the Jay-Tab! This is actually a combination of yesterday’s work and today’s work. In these two days, I was working on the clock. I spent yesterday working on the logic that will pull the time and format it, and today, I worked on converting the font into a bitmap. Take a look at the font! Tomorrow, I am going to finish bitmap conversion and also finish that part of the home screen. After that, I am going to work on formatting the “upcoming tasks” section of the homepage. See you tomorrow!"}, {"post_id": 48584, "ts": "2026-08-17T01:23:14Z", "hours": 0.5167, "text": "Today was a short day I am at a sleepover right now, but I found an issue where the UI is really pixelated. I have refined the homepage a bit to hide the pixelation… The first image is the original, and the second image is the new one"}, {"post_id": 47806, "ts": "2026-08-16T00:41:14Z", "hours": 1.8578, "text": "Day #10 of the Jay-Tab! Today, I finished coding the startup UI for the E-Ink display. It looks pretty good! After that, I used Adobe Illustrator to make a prototype first iteration of the home screen (look at the first image). Doesn’t really look its best… After that, I made another iteration to see how that looks! Take a look at the second image for that one! This is what I am going to program the UI to look like! See you tomorrow!"}, {"post_id": 47280, "ts": "2026-08-15T03:49:31Z", "hours": 1.1958, "text": "Day #9 of the Jay-Tab! Today, I finished all the work that needs to be done with the backend, and also started the UI! I generated all the byte arrays that need to be put in the startup screen, along with partially programming the UI! Thanks to image2cpp for helping me automate this generation!"}, {"post_id": 46683, "ts": "2026-08-14T03:47:19Z", "hours": 1.2678, "text": "Day #8 of the Jay-Tab! Today was a pretty innovative day! With just an hour of coding, I configured most of the things with the buffer, graphics, and configured most of the display and touchscreen functions! Nothing with the UI, yet, though… COMING SOON THOUGH! Here’s the code so far"}, {"post_id": 46155, "ts": "2026-08-13T05:25:02Z", "hours": 2.9342, "text": "1 WEEK OF THE JAY-TAB!!! I can’t believe it’s just been a week of the project! I am already on the firmware! However, today was a bit pivotal… With my firmware, I have always been trying to make it with LVGL. However, I have always been facing issue after issue with it, which is why I have restarted my firmware.. So far, I have finished all of the code that works with the framebuffer and just imported that in the main.py! I have a somewhat vague idea of what I want the start-up screen to look like. What do we think of this?"}, {"post_id": 45574, "ts": "2026-08-12T04:58:06Z", "hours": 2.3267, "text": "Devlog #6 Today was about debugging I was facing issues with my simulator to see my tab.. I spent around 4 hours with it, but I logged almost none : P See you tomorrow! I managed to somewhat fix it tho"}, {"post_id": 45025, "ts": "2026-08-11T05:41:28Z", "hours": 1.2169, "text": "For some reason, Lapse hasn’t been working for me at all for the past 2 days But, here’s my log! (Plus 3 hours for the other time) I have finished the CAD, and started the firmware of the Jay-Tab! The first image is the CAD, and the second image is the startup screen for the firmware!"}, {"post_id": 43721, "ts": "2026-08-09T04:09:00Z", "hours": 4.7717, "text": "Today was a really eventful day! I finished everything related to the PCB, and finished 95% of my CAD! Tomorrow, I’m going to finish the CAD, and then I am going to be on firmware! YAYYY The first image is what the final PCB looks like from the KiCad PCB Editor, the second image is the 3D view, and the third one is what the shell is going to look like! Quick note, the stem in the back will have a weight (Hollow), and a rubber stem on the bottom."}, {"post_id": 43001, "ts": "2026-08-08T00:54:03Z", "hours": 3.2992, "text": "Today, I started working on the PCB (Aka. THE ENTIRE BACKBONE) for this project! I faced a lot of issues with the HAT for the display and still am. Tomorrow, I am going to finish the issues with the HAT, and start the case tomorrow! Here’s what the pcb looks like so far!"}, {"post_id": 42403, "ts": "2026-08-07T02:57:10Z", "hours": 1.1503, "text": "Today, I couldn’t get much accomplished. Main reason that I realized that I had a lot of issues with my PCB schematic. I have now finished those changes and assigned all footprints, and tomorrow, I am going to design the PCB! Here is the FINAL schematic!"}, {"post_id": 41719, "ts": "2026-08-06T03:20:01Z", "hours": 1.3003, "text": "Today, I started the Jay-Tab! It is the most difficult project that I have worked on, but I am going to give it a shot! I sketched the idea, created a schematic for the display, USB-C, regulator, and rotary encoder. After that, I started assigning footprints, and then also made my first footprint! It’s really basic, but it is meant to just be three pads. I had another hour of work, but I forgot to log it See you tomorrow for more!"}]...
|
Title: The Jay-Tab by @inspirely4 | Stardance
Dev Title: The Jay-Tab by @inspirely4 | Stardance
Devlogs:
Today, I started the Jay-Tab! It is the most difficult project that I have worked on, but I am going to give it a shot! I sketched the idea, created a schematic for the display, USB-C, regulator, and rotary encoder. After that, I started assigning footprints, and then also made my first footprint! It’s really basic, but it is meant to just be three pads. I had another hour of work, but I forgot to log it See you tomorrow for more!
Today, I couldn’t get much accomplished. Main reason that I realized that I had a lot of issues with my PCB schematic. I have now finished those changes and assigned all footprints, and tomorrow, I am going to design the PCB! Here is the FINAL schematic!
Today, I started working on the PCB (Aka. THE ENTIRE BACKBONE) for this project! I faced a lot of issues with the HAT for the display and still am. Tomorrow, I am going to finish the issues with the HAT, and start the case tomorrow! Here’s what the pcb looks like so far!
Today was a really eventful day! I finished everything related to the PCB, and finished 95% of my CAD! Tomorrow, I’m going to finish the CAD, and then I am going to be on firmware! YAYYY The first image is what the final PCB looks like from the KiCad PCB Editor, the second image is the 3D view, and the third one is what the shell is going to look like! Quick note, the stem in the back will have a weight (Hollow), and a rubber stem on the bottom.
For some reason, Lapse hasn’t been working for me at all for the past 2 days But, here’s my log! (Plus 3 hours for the other time) I have finished the CAD, and started the firmware of the Jay-Tab! The first image is the CAD, and the second image is the startup screen for the firmware!
Devlog #6 Today was about debugging I was facing issues with my simulator to see my tab.. I spent around 4 hours with it, but I logged almost none : P See you tomorrow! I managed to somewhat fix it tho
1 WEEK OF THE JAY-TAB!!! I can’t believe it’s just been a week of the project! I am already on the firmware! However, today was a bit pivotal… With my firmware, I have always been trying to make it with LVGL. However, I have always been facing issue after issue with it, which is why I have restarted my firmware.. So far, I have finished all of the code that works with the framebuffer and just imported that in the main.py! I have a somewhat vague idea of what I want the start-up screen to look like. What do we think of this?
Day #8 of the Jay-Tab! Today was a pretty innovative day! With just an hour of coding, I configured most of the things with the buffer, graphics, and configured most of the display and touchscreen functions! Nothing with the UI, yet, though… COMING SOON THOUGH! Here’s the code so far
Day #9 of the Jay-Tab! Today, I finished all the work that needs to be done with the backend, and also started the UI! I generated all the byte arrays that need to be put in the startup screen, along with partially programming the UI! Thanks to image2cpp for helping me automate this generation!
Day #10 of the Jay-Tab! Today, I finished coding the startup UI for the E-Ink display. It looks pretty good! After that, I used Adobe Illustrator to make a prototype first iteration of the home screen (look at the first image). Doesn’t really look its best… After that, I made another iteration to see how that looks! Take a look at the second image for that one! This is what I am going to program the UI to look like! See you tomorrow!
Today was a short day I am at a sleepover right now, but I found an issue where the UI is really pixelated. I have refined the homepage a bit to hide the pixelation… The first image is the original, and the second image is the new one
Day #12 of the Jay-Tab! This is actually a combination of yesterday’s work and today’s work. In these two days, I was working on the clock. I spent yesterday working on the logic that will pull the time and format it, and today, I worked on converting the font into a bitmap. Take a look at the font! Tomorrow, I am going to finish bitmap conversion and also finish that part of the home screen. After that, I am going to work on formatting the “upcoming tasks” section of the homepage. See you tomorrow!
Today was a pretty great day for the Jay-Tab! I finished the simulator for the software before I get the hardware, and also finished all the stuff that has to do with the clock. However, there seems to be some issues with the byte arrays that make it not display correctly. The second image is what the home screen looks like and the first image is what the startup screen looks like. See you tomorrow!
Realized that I never made a devlog for today! This is day #14 of the Jay-Tab! I finished making the font work, and also configured the clock! Take a look! :D
Day #15 of the Jay-Tab! Today, I got most of the code for the upcoming tasks section of the home page (The last section), and I also got the clock to update after the time changes!
Day #16 of the Jay-Tab! Today, I got the Google Calendar API all running, and I faced a bunch of bugs that I have been figuring out. Mainly, the font size was too big, the text went off the edge, and the text should automatically update when the calendar changes. See you tomorrow!
Day #17 of the Jay-Tab! Today was a really eventful day. Today, I finished the entire home screen (Which looks FREAKING AMAZING), and I also made a prototype on Adobe Illustrator of what the timer screen will look like! The first image is the final home screen, and the second image is the timer prototype!
Day #18 of the Jay-Tab! Today, I made the main UI for the Timer! It looks pretty good, and I also made all the functions that are going to register any touchscreen functions Here is a quick render!
Day #19 of the Jay-Tab! Today was about making the backend work for the timer! I made all the timer touchscreen functions work, and also finished all the variables! I nearly forgot to do my minimum hourly daily work! Here’s me doing it at midnight :P
DAY 20 OF THE JAY-TAB!!!!!!!!!!!! Today, I finally got the UI to adjust for the timer, and the backend works with the variables! See you tomorrow! Hopefully, the last day of the timer screen
Day #21 of the Jay-Tab! Today was a pretty eventful day! The timer is finally finished! I used all the variable stuff and I made the timer actually tick down. Tomorrow, I am going to start the calendar!
Day #22 of the Jay-Tab! Today, I started the UI of the calendar. As the same that I do with every single screen that I make in the Jay-Tab, I always make a version of it in adobe illustrator. The way I want this to work is that there should be a list of all events when you click the calendar, and when you click on an event, it will give you all of the information that is related to the event.. Here’s what the events display is supposed to look like! (Designed in Adobe Illustrator) See you tomorrow!
Day #23 of the Jay-Tab! Today was a bit of a slow day. I finished working on the case where there was less than 6 events in a day (Meaning all events can fit on one page), and tomorrow, I am going to work on events that are more than 6 events (That means all events need to fit on multiple pages). I already started working on a bit of the screen where there are more than 6 events, but the bulk will be done tomorrow :D
Day #24 of the Jay-Tab! This is one of those slow but still productive days - I finished all the logic that is going to make the calendar screen work, and tomorrow, all I need to do is that I need to work on creating the UI surrounding the calendar with multiple windows, along with debugging! After that, is going to be part 2 of the calendar, which is when you click on an event, it should show all information that is related to that event. See you tomorrow!
DAY 25 AND 26 OF THE JAY-TAB!!! I forgot to post yesterday’s devlog So far, I finished everything that surrounds the UI for one day, and all that needs to be done is the next day and previous day functions! I also finished the debugging! See you tomorrow! Take a look at the UI while you are here:
Day #27 of the Jay-Tab! Today, I spent like 5 billion years trying to squash a bug that I just noticed in the project regarding the calendar - I will be finishing it tomorrow!
Days 28 and 29 of the Jay-Tab! Apparently, I spent all my time yesterday without recording anything I have finished the calendar screen! However, I am leaving out the other screen that talks about the other details of an event as I want to save that for V2 of the Jay-Tab. In addition, I finished the main idea of the home control screen! Take a look! :D
Day #30 of the Jay-Tab! I wish I had more to say today, but I don’t 😞 I wanted to get a majority of the home control software done today, but I realized that the account that controls the lights in my home isn’t through a shared Google account, but instead a Google account that doesn’t belong to me, but to my parents. When I am working on this, both my parents are already fast asleep. Therefore, tomorrow, I am going to get the API set up with them, and I will work on the code surrounding it tomorrow!
Day #31 of the Jay-Tab! (I forgot to post this yesterday Today was getting my API started after I got permission to connect my Google Home to the lights! I didn’t get the full API started with home assistant, but I am still working on it! :D
Day #32 of the Jay-Tab! MAJOR PROGRESS Today, I got the actual home working! I said that I was going to use Home Assistant to make this project work, but i faced many issues with it. Therefore, I left home assistant, and locked into homey! At first it was a pain, as I had to get Govee working and it kept asking for an API. I ended up applying to get an API with Govee, and ended up getting the API! In addition, it was an absolute PAIN to get the switches added as I had no idea what smart switches were in my house. At the end, I got the smart switches working through 3 different apps and got it connected to homey! At the end, everything is connected to homey and working, and the next step is integrating it into my code! See you tomorrow!
Day #33 of the Jay-Tab! Today was amazing! However, I found issues with Homey. I found that it would actually cost me money to use Homey for this project! Therefore, I have pivoted to the Govee API and redesigned the UI so that it is for one Govee light, but I can change the color through there as well! Here is what the new UI looks like
I LITERALLY FORGOT TO CLICK POST YESTERDAY Day #34 of the Jay-Tab! Today was all about getting the backend code to work for the UI. I made all of the backend code for the govee work. In addition, I made part of the UI code, which I am going to try and finish tomorrow (As in today when I am posting this), and then day after, I am going to work on the bug fixes! See you tomorrow!
Day #35 of the Jay-Tab! Today, I finished the main code for the home control system! Tomorrow, I am going to finish up the bugs and then I will be finished the code! I have some changes to the PCB and CAD, so once those are finished, we will be done, and onto the GitHub! See you tomorrow!
MAJOR PROGRESS MAJOR PROGRESS MAJOR PROGRESS Day #36 of the Jay-Tab! I got this project to finally work!! Today, I cleared all bugs with the Govee API and the code finally works!!! IT IS SO COOL Tomorrow, I am going to make the final changes for the PCB and make some Blender renders of the project!
Day #37 of the Jay-Tab! Today was mainly about cleaning up the PCB! I finished up with all final touches to the PCB. In addition, I started adding the finishing touches to Jay-Tab OS. Tomorrow, I am going to add the finishing touches to the OS, and the CAD, and after that, I will start the readme! See you tomorrow!
Day #38 of the Jay-Tab! Today was a bit of a short day on paper because hackatime glitched out and didn’t fully record 😭 but it’s fine! I have finished all the stuff for the firmware and the CAD! Tomorrow, I will be uploading everything to GitHub and will also be starting the ReadMe! See you tomorrow!
Day #39 of the Jay-Tab! We are so close to the end; I SEE IT! Today, I pushed all the files to GitHub and also realized I forgot a few things in the software and the CAD, which I fixed, except that I need to make a small hole in the CAD model. I will do that tomorrow. After this, we are going to make the BOM, ReadMe, and then we are done! Here is a link to the GitHub repo: https://github.com/Jay-Tai/Jay-Tab See you tomorrow!
Day #40 of the Jay-Tab! Today, I started the README! I finished around half of the project, but then GITHUB GLITCHED AND DELETED THE README! I started the README again, and it is going pretty well so far! The image is what I have right now! See you tomorrow!
Day #41 of the Jay-Tab! Today, I made everything work for the Jay-Tab. I finished up the Readme! Tomorrow, I am going to update my CAD, and then start the BOM! Once all of this is done, we will be 100% finished the Jay-Tab!
Day #42 of the Jay-Tab! Today, I finished about 90% of the BOM, and I’m also planning to get the bottom weight CNC’d so it can actually support my project without looking bulky, since a lot of pre-made weights are bulky. Tomorrow, I am going to finish the BOM, and the Jay-Tab’s design story will come to an end! Here’s what the CNC model looks like! See you tomorrow!
Day #43 of the Jay-Tab: The final day. Today, I celebrate me finishing the Jay-Tab! I finished the entire readme, the updates to the CAD, and the BOM! It is all done, and I uploaded it to GitHub. Thank you to the people who have been seeing this daily! I see that you have been liking the posts! Thank you for the people who have been commenting, liking, and I am excited to see where this project goes!...
|
1793267653.0300944
|
1793872453.0300944
|
|
57671
|
LEDBLE controller by @shurayh | Stardance
|
shurayh
|
2
|
17.0
|
97
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T12:34:44Z", "hours": 2.0, "multiplier": 1.99, "payout": 3, "blessing": "neutral", "text": "What’s new: Added a demo mode for people that don’t have a BLE controller laying around. LEDBLE CONTROLLER is a web app that allows you to control various functions of your led light strips. It uses the Bluetooth webAPI to connect to your device and let’s you adjust brightness, set specific rgb values and create presets.", "repo": "https://github.com/Shu-rayh/Led-strip-controller", "demo": "https://starlit-lolly-326867.netlify.app"}, {"ship_num": 2, "ts": "2026-09-16T16:40:44Z", "hours": 15.0, "multiplier": 6.41, "payout": 94, "blessing": "neutral", "text": "LEDBLE CONTROLLER is a web app that allows you to control various functions of your led light strips. It uses the Bluetooth webAPI to connect to your device and let’s you adjust brightness, set specific rgb values and create presets.", "repo": "https://github.com/Shu-rayh/Led-strip-controller", "demo": "https://starlit-lolly-326867.netlify.app"}]...
|
[{"post_id": 70358, "ts": "202 [{"post_id": 70358, "ts": "2026-09-19T01:15:48Z", "hours": 1.6114, "text": "Dev log #10: worked on the things that were requested from me after I shipped. So it got rejected because there was no way for the shipwrights to test it even though i added a video demo I made, so I had to come up with an emulator and add it TwT. I also worked towards rewriting my ai code but that is a bit tricky because its only css I used ai in and how do I re-write it? I also added a feature where it scales the green and blue input values down so it matches the actual red strength on my strips because the red operates 50% dimmer than the other colors so if I select white in the web app what gets displayed irl is like a light blue color. Oh yes and I added the changes to my readme and explained how the emulator works. Lets hope I don’t get rejected again TwT"}, {"post_id": 69213, "ts": "2026-09-16T16:31:41Z", "hours": 1.1344, "text": "Dev log #9: Good news I debugged the code turns out the number inpits were not styling at all because i put a semicolon at the end of this line of code by mistake TwT. input[type=\"range\"]::-webkit-slider-thumb:hover{transform:scale(1.15);}; . I also optimized it for mobile display. I also worked on the Readme and recorded my demo video, I think im finally ready to ship :)"}, {"post_id": 68703, "ts": "2026-09-15T16:01:20Z", "hours": 2.2225, "text": "Dev log #8: Hi guys, Today was a productive day I finished most of the css , just the number input boxes aren’t styling at all for some reason and I need to optimise it for mobile. I also added a footer to let people know what browsers support web bluetooth so this web app can work. Bellow are some images of the webapp on mobile and on desktop."}, {"post_id": 67554, "ts": "2026-09-13T18:09:58Z", "hours": 1.1906, "text": "Dev log #7: I Sketched out the web apps ui design and started coding it, I also decided on a color pallet: #222831 #31363F #76ABAE #EEEEEE"}, {"post_id": 66970, "ts": "2026-09-12T23:27:07Z", "hours": 2.1267, "text": "Dev log #6: Today i started working on the final bits, I reworked the html so its easier to style. So not looking forward to battling with css tomorrow TwT"}, {"post_id": 66262, "ts": "2026-09-12T00:08:03Z", "hours": 1.79, "text": "Dev log #5: Finally got the preset feature working you can now save presets, edit them and delete and everything works when connected to the actually light strips 🥳 (again i apologize for the many pictures i still don’t know how to delete things TwT)"}, {"post_id": 66057, "ts": "2026-09-11T17:00:23Z", "hours": 2.21, "text": "Dev log #4: Im adding a new feature where you can create, edit and delete presets so all you need to do to set it to your favorite color is click on that preset. Unfortunately i haven’t gotten it working as yet will give it another go later today. (also i apologize for the repeated pictures it duplicated for some reason and i cant delete it)"}, {"post_id": 64997, "ts": "2026-09-09T19:28:08Z", "hours": 2.0125, "text": "Dev log #3: Color preview swatch works Hi guys I spent quite some time debugging and trying to figure out why my css for the swatch wasn’t working only to realize that I forgot to put a # in front of a div id number TwT. Everything is working with the BLE ."}, {"post_id": 63282, "ts": "2026-09-07T01:01:51Z", "hours": 0.7719, "text": "Dev log #2: Today I spent a good half an hour trying to figure out why it wasn’t working and why it doesn’t connect only to realise I copied and pasted a few repeated lines (so i don’t need to type it all over again TwT) and forgot to change certain values. Everythings working now though ^^"}, {"post_id": 63249, "ts": "2026-09-06T23:30:11Z", "hours": 1.2656, "text": "Dev log #1: A little bit of background to this project: Hello world! So I have these led light strips that came with a Bluetooth controller, unfortunately the app it came with is unresponsive and doesn’t always work, so I decided to build one myself. So far the website can connect to the light strips, I’m working on it being able to turn the strips on and off, set the rgb values and adjust brightness."}]...
|
Title: LEDBLE controller by @shurayh | Stardance
Title: LEDBLE controller by @shurayh | Stardance
Devlogs:
Dev log #1: A little bit of background to this project: Hello world! So I have these led light strips that came with a Bluetooth controller, unfortunately the app it came with is unresponsive and doesn’t always work, so I decided to build one myself. So far the website can connect to the light strips, I’m working on it being able to turn the strips on and off, set the rgb values and adjust brightness.
Dev log #2: Today I spent a good half an hour trying to figure out why it wasn’t working and why it doesn’t connect only to realise I copied and pasted a few repeated lines (so i don’t need to type it all over again TwT) and forgot to change certain values. Everythings working now though ^^
Dev log #3: Color preview swatch works Hi guys I spent quite some time debugging and trying to figure out why my css for the swatch wasn’t working only to realize that I forgot to put a # in front of a div id number TwT. Everything is working with the BLE .
Dev log #4: Im adding a new feature where you can create, edit and delete presets so all you need to do to set it to your favorite color is click on that preset. Unfortunately i haven’t gotten it working as yet will give it another go later today. (also i apologize for the repeated pictures it duplicated for some reason and i cant delete it)
Dev log #5: Finally got the preset feature working you can now save presets, edit them and delete and everything works when connected to the actually light strips 🥳 (again i apologize for the many pictures i still don’t know how to delete things TwT)
Dev log #6: Today i started working on the final bits, I reworked the html so its easier to style. So not looking forward to battling with css tomorrow TwT
Dev log #7: I Sketched out the web apps ui design and started coding it, I also decided on a color pallet: #222831 #31363F #76ABAE #EEEEEE
Dev log #8: Hi guys, Today was a productive day I finished most of the css , just the number input boxes aren’t styling at all for some reason and I need to optimise it for mobile. I also added a footer to let people know what browsers support web bluetooth so this web app can work. Bellow are some images of the webapp on mobile and on desktop.
Dev log #9: Good news I debugged the code turns out the number inpits were not styling at all because i put a semicolon at the end of this line of code by mistake TwT. input[type="range"]::-webkit-slider-thumb:hover{transform:scale(1.15);}; . I also optimized it for mobile display. I also worked on the Readme and recorded my demo video, I think im finally ready to ship :)
Dev log #10: worked on the things that were requested from me after I shipped. So it got rejected because there was no way for the shipwrights to test it even though i added a video demo I made, so I had to come up with an emulator and add it TwT. I also worked towards rewriting my ai code but that is a bit tricky because its only css I used ai in and how do I re-write it? I also added a feature where it scales the green and blue input values down so it matches the actual red strength on my strips because the red operates 50% dimmer than the other colors so if I select white in the web app what gets displayed irl is like a light blue color. Oh yes and I added the changes to my readme and explained how the emulator works. Lets hope I don’t get rejected again TwT
Ships:
LEDBLE CONTROLLER is a web app that allows you to control various functions of your led light strips. It uses the Bluetooth webAPI to connect to your device and let’s you adjust brightness, set specific rgb values and create presets.
What’s new: Added a demo mode for people that don’t have a BLE controller laying around. LEDBLE CONTROLLER is a web app that allows you to control various functions of your led light strips. It uses the Bluetooth webAPI to connect to your device and let’s you adjust brightness, set specific rgb values and create presets....
|
1793350207.3577483
|
1793436607.3577483
|
|
15290
|
Undertale OS by @ThaoVi | Stardance
|
ThaoVi
|
2
|
29.0
|
190
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T13:02:50Z", "hours": 15.0, "multiplier": 12.46, "payout": 190, "blessing": "neutral", "text": "WebOS I made an Undertale themed WebOs presenting me, with some other apps such as countdowns! This is the very first Stardance project i did, and also very first html project overall (including webos1) Features A top-bar with a live clock and a healthbar Draggable windows Closable windows Applications TrueNotes (personal) A personnal app where I put thoughts about true crime stories I enjoyed :D The design is centered around Undertale’s field of flowers, with each footstep being a story; I wanted to make it more original than the side bar I had in WebOS 1. To do app A very basic to do app. Countdown app A simple countdown app where you can set countdowns and a new window appears for each countdown. They are editable and deleteable :D You can also change the precision shown on each windows (in case seeing seconds stresses you out) Skeletale (personal) An undertale - anatomy based “autobiography” of me, it’s part of my WebOs 1 and I haven’t really updated it since. Future plans Undertale music player An intro page (WIP) where you can chose your character and background image. Make the notes apps more interactive by making the user add their own notes Undertale references The close button is a heart and it breaks when you hover on it to close the window! The field in TrueNotes are the yellow flowers from undertale. The health bar is also a reference from undertale. The fonts! They are from https://github.com/hujgup/Undertale-CSS", "repo": "https://github.com/TVDVT/webOS", "demo": "https://tvdvt.github.io/webOS/"}, {"ship_num": 2, "ts": "2026-06-27T15:46:19Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just finished my first WebOS. It has a top bar, welcome window and two apps. All the windows are draggable and closable, and both of the apps are representative of me :D One is about the true crimes I enjoy and the other one is a presentation of me through a skeleton. I had zero experience in website coding until I started the project, I am very proud of the result!", "repo": "https://github.com/TVDVT/webOS", "demo": "https://tvdvt.github.io/webOS/"}]...
|
[{"post_id": 70359, "ts": "202 [{"post_id": 70359, "ts": "2026-09-19T01:17:40Z", "hours": 4.2636, "text": "Pre-ship adjustments I’m shipping it, finally! I tried to make the user experience better by making the design more coherent (grayscale), although I am planning to add a lot more undertale references. I also changed my footprints color to contrast more with the yellow background. The countdown looks a little better, i removed some overlapping gaps that made everything look awkward but it’s better now!"}, {"post_id": 60796, "ts": "2026-09-03T12:03:37Z", "hours": 3.7294, "text": "i COMPLETELY changed the design of my OS to be full on undertale I found an amazing undertale css pack by chance and loved it so much so i went from wow blue aesthetic to undertale yay. I still have some customization to do I changed the close button to a heart and when you hover on it it becomes a broken heart im really proud of that I’m also almost done with the to do app the tasks are just not overflowing the way I want them to new ideas: music player to play undertale songs map to make wallpaper change based on map location have a preload screen that makes you choose your location and choose character"}, {"post_id": 57001, "ts": "2026-08-29T02:14:47Z", "hours": 2.5986, "text": "countdown working! I made it look a little better but I’m not completely satisfied yet. You can now edit and delete countdowns, change precision and some other stuff but now I want to work on making windows pinnable :^ I also want make a todo list app, I’m really thinking of making this OS my study compagnion haha but idk if its too basic for this mission. But anyways ill do it for myself not the stardust hee hee haw haw"}, {"post_id": 48918, "ts": "2026-08-17T14:13:01Z", "hours": 2.3319, "text": "Countdown app I added a countdown app/widget for some motivation so you can have something to look forward to! The CSS is definitely lacking so I will work on it once im done with JS. It was a bit hard to convert every input and change precision but I figured it out thanks to W3S. I still need to: Show a list of the cooldowns in the main window and make them editable and deleteable Make the new window closeable & pinnable Make the time input optionnal Make an icon for the app Find a way to save changes? (maybe)"}, {"post_id": 48335, "ts": "2026-08-16T17:26:05Z", "hours": 0.7083, "text": "First feature done My notes app is now cooler: Footprints instead of a text based sidebar Links open in new tab Upon first opening of the app, only footprints show on a grassy field Animations on footprints and sidebar after clicking the first footprint Things to add after finishing other features: More notes content A way to go back to the grassy field To work on next More animations Gamify Skeletale app"}, {"post_id": 47085, "ts": "2026-08-14T18:36:15Z", "hours": 1.0469, "text": "Devlog My side bar is now a menu? I made it so that content will only show after clicking on the footsteps (not yet but that’s the goal). For that, I need to write a new function in Java Script and add a blue grassy background to match with the cloudy background. My animations are now smoother as I added transitions and larger margins so that the icons getting bigger don’t impede on the other ones. I also added hover text so that we can know which story is selected when hovering on each footstep."}, {"post_id": 43615, "ts": "2026-08-08T23:50:59Z", "hours": 0.5525, "text": "WebOS 2 It’s been a month since I didn’t work on this so I forgot how to code a little. Looking at my old code is helping me remember the coding though. First new feature (Working on this) As my first new feature, I am revamping my True Notes app side bar . I want to change to to footsteps I can click on. As of now, I only imported the image and made the footprints appear for each entry. I have yet to make them as a path, center them and just have a better general layout. Second new feature I want to have hover animations. Eg if I hover on the footprints they get bigger, hovering on an app would change the top bar of the window header, etc. Third feature I haven’t really thought about it yet, either I’ll make my Skeletale app more interactive by changing back and next buttons to directly clicking on the skeleton either I will make a new app"}, {"post_id": 16967, "ts": "2026-06-27T15:30:36Z", "hours": 1.0411, "text": "Done!"}, {"post_id": 16632, "ts": "2026-06-27T01:42:50Z", "hours": 3.1203, "text": "Almost done with my second app My second app is an anatomical map of myself inspired by Undertale (not really, it’s just a pixelized skeleton). I just really like anatomy in general so I thought this would represent me well. I assigned a part of myself to many bones, the text is just placeholder right now, I will develop on it later. -I added back and next buttons for navigation to make it simpler than a side bar, It also takes less space I finished my first app a while ago but I do want to change the layout in WebOS 2 (have some art & a better side bar) Right now my goals for tomorrow are to: Put the back&next buttons inside the window Hide the skeleton image on the first tab of the app Zoom on each bone for each body part or have a heart cursor that goes in each body part like in Undertale Finish the content"}, {"post_id": 14671, "ts": "2026-06-23T21:10:04Z", "hours": 2.6467, "text": "I finished part 4, it took me a while to get it to work so I will focus on the aesthetic after i finish part 5. My notes app will show my thoughts about some true crime stories. My next app is going to be Undertale related I hope."}, {"post_id": 11551, "ts": "2026-06-18T20:54:43Z", "hours": 2.9986, "text": "Added a Notes App, but I’m not sure what its exact purpose will be"}, {"post_id": 10908, "ts": "2026-06-17T21:40:50Z", "hours": 1.8064, "text": "I’m done with part 3! Now I have: A pretty header A pretty background A CSS file with my window and window header designs that I will be able to use for my next windows. Draggable windows that can close (but will completely disappear, so I have to make a “minimize” button to be able to open it later) An open button that’s not very useful and doesn’t really work."}, {"post_id": 9556, "ts": "2026-06-15T22:40:55Z", "hours": 1.3453, "text": "Working on part 3"}, {"post_id": 6827, "ts": "2026-06-11T13:35:07Z", "hours": 0.6017, "text": "I just learned about dividers! The welcome still looks a bit awkward but it’s gonna be fine."}, {"post_id": 6805, "ts": "2026-06-11T12:41:43Z", "hours": 0.3239, "text": "First 15 minutes"}]...
|
Title: Undertale OS by @ThaoVi | Stardance
Devlog Title: Undertale OS by @ThaoVi | Stardance
Devlogs:
First 15 minutes
I just learned about dividers! The welcome still looks a bit awkward but it’s gonna be fine.
Working on part 3
I’m done with part 3! Now I have: A pretty header A pretty background A CSS file with my window and window header designs that I will be able to use for my next windows. Draggable windows that can close (but will completely disappear, so I have to make a “minimize” button to be able to open it later) An open button that’s not very useful and doesn’t really work.
Added a Notes App, but I’m not sure what its exact purpose will be
I finished part 4, it took me a while to get it to work so I will focus on the aesthetic after i finish part 5. My notes app will show my thoughts about some true crime stories. My next app is going to be Undertale related I hope.
Almost done with my second app My second app is an anatomical map of myself inspired by Undertale (not really, it’s just a pixelized skeleton). I just really like anatomy in general so I thought this would represent me well. I assigned a part of myself to many bones, the text is just placeholder right now, I will develop on it later. -I added back and next buttons for navigation to make it simpler than a side bar, It also takes less space I finished my first app a while ago but I do want to change the layout in WebOS 2 (have some art & a better side bar) Right now my goals for tomorrow are to: Put the back&next buttons inside the window Hide the skeleton image on the first tab of the app Zoom on each bone for each body part or have a heart cursor that goes in each body part like in Undertale Finish the content
Done!
WebOS 2 It’s been a month since I didn’t work on this so I forgot how to code a little. Looking at my old code is helping me remember the coding though. First new feature (Working on this) As my first new feature, I am revamping my True Notes app side bar . I want to change to to footsteps I can click on. As of now, I only imported the image and made the footprints appear for each entry. I have yet to make them as a path, center them and just have a better general layout. Second new feature I want to have hover animations. Eg if I hover on the footprints they get bigger, hovering on an app would change the top bar of the window header, etc. Third feature I haven’t really thought about it yet, either I’ll make my Skeletale app more interactive by changing back and next buttons to directly clicking on the skeleton either I will make a new app
Devlog My side bar is now a menu? I made it so that content will only show after clicking on the footsteps (not yet but that’s the goal). For that, I need to write a new function in Java Script and add a blue grassy background to match with the cloudy background. My animations are now smoother as I added transitions and larger margins so that the icons getting bigger don’t impede on the other ones. I also added hover text so that we can know which story is selected when hovering on each footstep.
First feature done My notes app is now cooler: Footprints instead of a text based sidebar Links open in new tab Upon first opening of the app, only footprints show on a grassy field Animations on footprints and sidebar after clicking the first footprint Things to add after finishing other features: More notes content A way to go back to the grassy field To work on next More animations Gamify Skeletale app
Countdown app I added a countdown app/widget for some motivation so you can have something to look forward to! The CSS is definitely lacking so I will work on it once im done with JS. It was a bit hard to convert every input and change precision but I figured it out thanks to W3S. I still need to: Show a list of the cooldowns in the main window and make them editable and deleteable Make the new window closeable & pinnable Make the time input optionnal Make an icon for the app Find a way to save changes? (maybe)
countdown working! I made it look a little better but I’m not completely satisfied yet. You can now edit and delete countdowns, change precision and some other stuff but now I want to work on making windows pinnable :^ I also want make a todo list app, I’m really thinking of making this OS my study compagnion haha but idk if its too basic for this mission. But anyways ill do it for myself not the stardust hee hee haw haw
i COMPLETELY changed the design of my OS to be full on undertale I found an amazing undertale css pack by chance and loved it so much so i went from wow blue aesthetic to undertale yay. I still have some customization to do I changed the close button to a heart and when you hover on it it becomes a broken heart im really proud of that I’m also almost done with the to do app the tasks are just not overflowing the way I want them to new ideas: music player to play undertale songs map to make wallpaper change based on map location have a preload screen that makes you choose your location and choose character
Pre-ship adjustments I’m shipping it, finally! I tried to make the user experience better by making the design more coherent (grayscale), although I am planning to add a lot more undertale references. I also changed my footprints color to contrast more with the yellow background. The countdown looks a little better, i removed some overlapping gaps that made everything look awkward but it’s better now!
Ships:
I just finished my first WebOS. It has a top bar, welcome window and two apps. All the windows are draggable and closable, and both of the apps are representative of me :D One is about the true crimes I enjoy and the other one is a presentation of me through a skeleton. I had zero experience in website coding until I started the project, I am very proud of the result!
WebOS I made an Undertale themed WebOs presenting me, with some other apps such as countdowns! This is the very first Stardance project i did, and also very first html project overall (including webos1) Features A top-bar with a live clock and a healthbar Draggable windows Closable windows Applications TrueNotes (personal) A personnal app where I put thoughts about true crime stories I enjoyed :D The design is centered around Undertale’s field of flowers, with each footstep being a story; I wanted to make it more original than the side bar I had in WebOS 1. To do app A very basic to do app. Countdown app A simple countdown app where you can set countdowns and a new window appears for each countdown. They are editable and deleteable :D You can also change the precision shown on each windows (in case seeing seconds stresses you out) Skeletale (personal) An undertale - anatomy based “autobiography” of me, it’s part of my WebOs 1 and I haven’t really updated it since. Future plans Undertale music player An intro page (WIP) where you can chose your character and background image. Make the notes apps more interactive by making the user add their own notes Undertale references The close button is a heart and it breaks when you hover on it to close the window! The field in TrueNotes are the yellow flowers from undertale. The health bar is also a reference from undertale. The fonts! They are from https://github.com/hujgup/Undertale-CSS...
|
1793278416.0012941
|
1793364816.0012941
|
|
62986
|
SL-60T-mk1 by @ShivShivam | Stardance
|
ShivShivam
|
0
|
4.37
|
0
|
[]
|
[{"post_id": 70361, "ts": "202 [{"post_id": 70361, "ts": "2026-09-19T01:22:14Z", "hours": 4.3669, "text": "Devlog 1 Things i did Found a F-class motor usable for my rocket Designed my rocket in open rocket Tried some diff fins config for best stability Learned equations for selecting parachute diameter for safer landing Designed the nose cone in Fusion 360 using a mathematical python script for accuracy Things i learned during the process Open rocket’s “time vs stability” graph tend of have some dip right after apogee due to low/zero velocity You must have java installed in-order to use openrocket without any bug Diff between Total mass and dry mass Parachute’s diameter equation Learned how to mathematically generate Haack series nosecone"}]...
|
Title: SL-60T-mk1 by @ShivShivam | Stardance
Devl Title: SL-60T-mk1 by @ShivShivam | Stardance
Devlogs:
Devlog 1 Things i did Found a F-class motor usable for my rocket Designed my rocket in open rocket Tried some diff fins config for best stability Learned equations for selecting parachute diameter for safer landing Designed the nose cone in Fusion 360 using a mathematical python script for accuracy Things i learned during the process Open rocket’s “time vs stability” graph tend of have some dip right after apogee due to low/zero velocity You must have java installed in-order to use openrocket without any bug Diff between Total mass and dry mass Parachute’s diameter equation Learned how to mathematically generate Haack series nosecone...
|
1793047941.1212523
|
1793652741.1212523
|
|
60859
|
Melee Unbound by @Floppy | Stardance
|
Floppy
|
1
|
85.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T01:42:18Z", "hours": 85.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I cant believe I’m finally done with this project 🥹", "repo": "https://github.com/HexDump0/melee", "demo": "https://melee.hexdump0.pw/"}]...
|
[{"post_id": 70365, "ts": "202 [{"post_id": 70365, "ts": "2026-09-19T01:39:41Z", "hours": 4.6103, "text": "Ninth devlog I’m finally done with polishing the project up,making a website for it, building it for different platforms,writing the readme and alot of other stuff and after so much work the web port is finally live too https://melee.hexdump0.pw/"}, {"post_id": 70040, "ts": "2026-09-18T10:53:38Z", "hours": 10.0236, "text": "Eighth devlog And yep I’ve just been fixing up more crashes, making the website, creating a custom menu item and a custom intro cutscene"}, {"post_id": 69487, "ts": "2026-09-17T04:40:08Z", "hours": 9.6197, "text": "Seventh devlog And I’m finally happy now, I manged to fix most if all of the crashes (thank you claude ) and I optimized the hell out of the render to make it even more playable And big news! The web port is working too , this took so much time and yep, the port is 90% of the way done just need to add some qol mods, design some graphics and we are done"}, {"post_id": 68989, "ts": "2026-09-16T05:20:39Z", "hours": 10.7094, "text": "Sixth devlog This is literal hell, I chose to read the disc data as little endian and write converters and walkers for the game Turns out doing that is not so easy, there is about ~100 different unique crashes that happen (100 is the number of ones I could actually find ) and each one requires a whole lot of time and effort to fix manually So yea the 10 hours were spent grinding away using my LLMs to get it down to ~20 crashes, there is still alot of work that needs to be done for the 20 crashes and even more for the ones I have found yet Hopefully by the next devlog I would actually be happy"}, {"post_id": 68372, "ts": "2026-09-15T00:59:23Z", "hours": 11.4506, "text": "Fifth devlog So more bug fixes! There was (and still is) alot of bugs and crashs coz of stupid endianess and layout, But I think I managed to fix a good chunk of them and the game is actually quite playable now excluding it panicing every now and them"}, {"post_id": 67817, "ts": "2026-09-14T02:18:29Z", "hours": 11.9217, "text": "Fourth devlog And we have the full game (almost!), It took alot of effort and time to get here, but now the whole game runs natively There is still alot of bugs, crashes and other stuff that has to be fixed before it actually playable tho Hopefully I would have a functional port by this week"}, {"post_id": 67090, "ts": "2026-09-13T04:30:29Z", "hours": 8.2089, "text": "Third devlog Crazy! Crazy! progress so far I have gotten to actual decompiled game logic to run It was not easy I spent a whole day fighting with endianness, finding little gamecube quirks and whole alot of other stuff But alas, we have a match running All thats left is the game ui and polish"}, {"post_id": 66479, "ts": "2026-09-12T10:00:45Z", "hours": 9.1558, "text": "Second devlog So I did a whole bunch of work, this included kinda throwing out my current progress as I realized hand porting 100k lines of code isn’t really viable The new architecture is to compile the actual decomped codebase and write shims/wrapper around it for the non portable stuff (dics,audio,render engine,etc) I rewrote the entire renderer for this new architecture and manged to get stages rendering"}, {"post_id": 65726, "ts": "2026-09-11T02:08:53Z", "hours": 9.3108, "text": "First devlog (p.s I am really bad at devlogging consistently ) Alright so Super Smash Bros Melee for the game cube was fully decompiled last week and its the perfect time to port it to modern computers and to also benchmark LLMs on what they can achieve So far I was able to get a model/animation viewer working! also nitendo please dont vaporizer me thank you"}]...
|
Title: Melee Unbound by @Floppy | Stardance
Devlo Title: Melee Unbound by @Floppy | Stardance
Devlogs:
First devlog (p.s I am really bad at devlogging consistently ) Alright so Super Smash Bros Melee for the game cube was fully decompiled last week and its the perfect time to port it to modern computers and to also benchmark LLMs on what they can achieve So far I was able to get a model/animation viewer working! also nitendo please dont vaporizer me thank you
Second devlog So I did a whole bunch of work, this included kinda throwing out my current progress as I realized hand porting 100k lines of code isn’t really viable The new architecture is to compile the actual decomped codebase and write shims/wrapper around it for the non portable stuff (dics,audio,render engine,etc) I rewrote the entire renderer for this new architecture and manged to get stages rendering
Third devlog Crazy! Crazy! progress so far I have gotten to actual decompiled game logic to run It was not easy I spent a whole day fighting with endianness, finding little gamecube quirks and whole alot of other stuff But alas, we have a match running All thats left is the game ui and polish
Fourth devlog And we have the full game (almost!), It took alot of effort and time to get here, but now the whole game runs natively There is still alot of bugs, crashes and other stuff that has to be fixed before it actually playable tho Hopefully I would have a functional port by this week
Fifth devlog So more bug fixes! There was (and still is) alot of bugs and crashs coz of stupid endianess and layout, But I think I managed to fix a good chunk of them and the game is actually quite playable now excluding it panicing every now and them
Sixth devlog This is literal hell, I chose to read the disc data as little endian and write converters and walkers for the game Turns out doing that is not so easy, there is about ~100 different unique crashes that happen (100 is the number of ones I could actually find ) and each one requires a whole lot of time and effort to fix manually So yea the 10 hours were spent grinding away using my LLMs to get it down to ~20 crashes, there is still alot of work that needs to be done for the 20 crashes and even more for the ones I have found yet Hopefully by the next devlog I would actually be happy
Seventh devlog And I’m finally happy now, I manged to fix most if all of the crashes (thank you claude ) and I optimized the hell out of the render to make it even more playable And big news! The web port is working too , this took so much time and yep, the port is 90% of the way done just need to add some qol mods, design some graphics and we are done
Eighth devlog And yep I’ve just been fixing up more crashes, making the website, creating a custom menu item and a custom intro cutscene
Ninth devlog I’m finally done with polishing the project up,making a website for it, building it for different platforms,writing the readme and alot of other stuff and after so much work the web port is finally live too https://melee.hexdump0.pw/
Ships:
I cant believe I’m finally done with this project 🥹...
|
1793206544.2642453
|
1793292944.2642453
|
|
59195
|
Pinpoint by @arpanshah102 | Stardance
|
arpanshah102
|
1
|
6.0
|
112
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T01:46:24Z", "hours": 6.0, "multiplier": 17.39, "payout": 112, "blessing": "neutral", "text": "Hello guys! This is a react game where you will guess the angle you see on a circle. Simply type it in using the buttons on the site or use your keyboard for keyboard shortcuts. There are two gamemodes, guess and set. In guess, you will have to guess the angle shown while on set, you’ll have to try your best to place the angle that was randomly picked. Enjoy!", "repo": "https://github.com/Arpan-Shah-102/pinpoint", "demo": "https://pinpoint-psi-rust.vercel.app/"}]...
|
[{"post_id": 70369, "ts": "202 [{"post_id": 70369, "ts": "2026-09-19T01:43:22Z", "hours": 0.3372, "text": "Today, I believe I’ve finally finished this project by adding the snapback feature. Basically, whether you’re in the set or guess gamemode, after the round ends, it shows you either what you put in the guess gamemode, or the correct answer in the set gamemode. In this screenshot, you can see it behind the main dial."}, {"post_id": 67055, "ts": "2026-09-13T03:09:36Z", "hours": 0.4867, "text": "Today, I added some bug fixes and streak tracking. You can now track how many you’ve gotten in a row and your all time highest. You can also reset your data if you don’t like it. Tomorrow, I’m probably gonna add a snapback feature, you will see you’re guess as a black outline of the line and the dial will move to the correct guess."}, {"post_id": 63281, "ts": "2026-09-07T00:59:24Z", "hours": 5.6336, "text": "I accidently forgot to upload this project to stardance so I’m doing that today. Here is a quick devlog for this project. Mobile Bug Fixes V2.1 - 8/25/2026 Added Buttons to move dial on set gamemode for mobile Bug Fixes Set Game Mode Update V2.0 - 8/25/2026 Added gamemode selection setting Added new ‘set’ gamemode Implemented Dial Dragging Added set gamemode functionality Bug Fixes Bug Fixing V1.1 - 8/21/2026 Fixed Settings not appearing on dark mode Fixed Wrap around values not being near Scaling Update V1.0 - 8/21/2026 Finished Game Improved Scaling on large screens Functionality Update V0.9 - 8/21/2026 Implemented Functionality for Pinpoint Added SFX for componentes UI Update V0.5 - 8/21/2026 Worked on UI Updated Readme Basic Template V0.0 - 8/21/2026 Initialized and started repo Got react via npx create-vite"}]...
|
Title: Pinpoint by @arpanshah102 | Stardance
Devl Title: Pinpoint by @arpanshah102 | Stardance
Devlogs:
I accidently forgot to upload this project to stardance so I’m doing that today. Here is a quick devlog for this project. Mobile Bug Fixes V2.1 - 8/25/2026 Added Buttons to move dial on set gamemode for mobile Bug Fixes Set Game Mode Update V2.0 - 8/25/2026 Added gamemode selection setting Added new ‘set’ gamemode Implemented Dial Dragging Added set gamemode functionality Bug Fixes Bug Fixing V1.1 - 8/21/2026 Fixed Settings not appearing on dark mode Fixed Wrap around values not being near Scaling Update V1.0 - 8/21/2026 Finished Game Improved Scaling on large screens Functionality Update V0.9 - 8/21/2026 Implemented Functionality for Pinpoint Added SFX for componentes UI Update V0.5 - 8/21/2026 Worked on UI Updated Readme Basic Template V0.0 - 8/21/2026 Initialized and started repo Got react via npx create-vite
Today, I added some bug fixes and streak tracking. You can now track how many you’ve gotten in a row and your all time highest. You can also reset your data if you don’t like it. Tomorrow, I’m probably gonna add a snapback feature, you will see you’re guess as a black outline of the line and the dial will move to the correct guess.
Today, I believe I’ve finally finished this project by adding the snapback feature. Basically, whether you’re in the set or guess gamemode, after the round ends, it shows you either what you put in the guess gamemode, or the correct answer in the set gamemode. In this screenshot, you can see it behind the main dial.
Ships:
Hello guys! This is a react game where you will guess the angle you see on a circle. Simply type it in using the buttons on the site or use your keyboard for keyboard shortcuts. There are two gamemodes, guess and set. In guess, you will have to guess the angle shown while on set, you’ll have to try your best to place the angle that was randomly picked. Enjoy!...
|
1793350692.2457767
|
1793437092.2457767
|
|
63547
|
Hanny's Garage by @Hanny | Stardance
|
Hanny
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T23:32:15Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A personale website that tells a little bit about me and I wanted to give it an F1 Theme, which i love. There were a few error and fixes that I needed help with, but I liked the result.", "repo": "https://github.com/hannyd9/Personal-Blog/", "demo": "https://hannyd9.github.io/Personal-Blog/"}]...
|
[{"post_id": 70370, "ts": "202 [{"post_id": 70370, "ts": "2026-09-19T01:45:52Z", "hours": 1.2353, "text": "My first attemp of my personal blog. https://hannyd9.github.io/Personal-Blog/"}]...
|
Title: Hanny's Garage by @Hanny | Stardance
D Title: Hanny's Garage by @Hanny | Stardance
Devlogs:
My first attemp of my personal blog. https://hannyd9.github.io/Personal-Blog/
Ships:
A personale website that tells a little bit about me and I wanted to give it an F1 Theme, which i love. There were a few error and fixes that I needed help with, but I liked the result....
|
1793213328.0508957
|
1793299728.0508957
|
|
63181
|
JapanOS by @ViratReddy | Stardance
|
ViratReddy
|
0
|
0.36
|
0
|
[]
|
[{"post_id": 70374, "ts": "202 [{"post_id": 70374, "ts": "2026-09-19T02:08:55Z", "hours": 0.365, "text": "Adding images now"}]...
|
Title: JapanOS by @ViratReddy | Stardance
Devlogs Title: JapanOS by @ViratReddy | Stardance
Devlogs:
Adding images now...
|
1793048115.0908322
|
1793652915.0908322
|