|
657
|
My awesome macropad! by @QubXio | Stardance
|
QubXio
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @QubXio | Stardance
|
1792723754.7007992
|
1793328554.7007992
|
|
56946
|
Mfp my first project by @Huzaifah_Iswardi | Starda Mfp my first project by @Huzaifah_Iswardi | Stardance...
|
Huzaifah_Iswardi
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T11:54:55Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Here i make a slack bot where you can enter custom prompt or command to the bot and the bot answer it. The most challenging part of making this bot is when running at nest for 24/7. You can use it by going into slack bot-spam channel and type /a-bot-standup It will answer your command with “Rawr!” /a-bot-catfact This command will tell you a random cat fact the way it work is collecting data from a website through a code /a-bot-joke Same as number 2 but it will tell you a random funny joke. This work best when you are bored 🥱.", "repo": "https://github.com/fah67425/bookish-octo-adventure", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 63457, "ts": "202 [{"post_id": 63457, "ts": "2026-09-07T10:08:33Z", "hours": 0.7186, "text": "hello world, programmers and other people. im working on my first project which is a slack bot it might look boring but its really cool and awesome. help me reach 90 stardust b4 the end of the month pls i beg every of the viewer 🙏🙏. currently, my nest application review is still pending."}]...
|
Title: Mfp my first project by @Huzaifah_Iswardi | Title: Mfp my first project by @Huzaifah_Iswardi | Stardance
Devlogs:
hello world, programmers and other people. im working on my first project which is a slack bot it might look boring but its really cool and awesome. help me reach 90 stardust b4 the end of the month pls i beg every of the viewer 🙏🙏. currently, my nest application review is still pending.
Ships:
Here i make a slack bot where you can enter custom prompt or command to the bot and the bot answer it. The most challenging part of making this bot is when running at nest for 24/7. You can use it by going into slack bot-spam channel and type /a-bot-standup It will answer your command with “Rawr!” /a-bot-catfact This command will tell you a random cat fact the way it work is collecting data from a website through a code /a-bot-joke Same as number 2 but it will tell you a random funny joke. This work best when you are bored 🥱....
|
1793242155.2513196
|
1793328555.2513196
|
|
32021
|
Solar panels by @jesleerodrigues1 | Stardance
|
jesleerodrigues1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Solar panels by @jesleerodrigues1 | Stardan Title: Solar panels by @jesleerodrigues1 | Stardance...
|
1792723755.572956
|
1793328555.572956
|
|
28059
|
Untitled by @tanish_parida | Stardance
|
tanish_parida
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @tanish_parida | Stardance
|
1792723756.4749734
|
1793328556.4749734
|
|
22683
|
Untitled by @KarthikD | Stardance
|
KarthikD
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @KarthikD | Stardance
|
1792723757.3317118
|
1793328557.3317118
|
|
27782
|
My first slack bot! by @rileymcmanus1120 | Stardan My first slack bot! by @rileymcmanus1120 | Stardance...
|
rileymcmanus1120
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T20:11:09Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This was my first Slack bot, and it was really nice to follow along with the tutorial and learn how everything works step by step. I built and deployed a bot using Node.js, Slack Bolt, and Railway, which allows it to run 24/7. The commands are: /riley-bot-ping — checks latency /riley-bot-catfact — tells a random cat fact /riley-bot-joke — tells a joke /riley-bot-help — shows available commands These commands work inside Slack using slash commands. For transparency, my project was debugged with help from ChatGPT while I followed the tutorial.", "repo": "https://github.com/rileymcmanus1120-lang/rileybot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 17844, "ts": "202 [{"post_id": 17844, "ts": "2026-06-28T19:44:58Z", "hours": 0.4889, "text": "I built my first Slack that responds to slash commands like /riley-bot-ping, /riley-bot-catfact, and /riley-bot-joke!"}]...
|
Title: My first slack bot! by @rileymcmanus1120 | Title: My first slack bot! by @rileymcmanus1120 | Stardance
Devlogs:
I built my first Slack that responds to slash commands like /riley-bot-ping, /riley-bot-catfact, and /riley-bot-joke!
Ships:
This was my first Slack bot, and it was really nice to follow along with the tutorial and learn how everything works step by step. I built and deployed a bot using Node.js, Slack Bolt, and Railway, which allows it to run 24/7. The commands are: /riley-bot-ping — checks latency /riley-bot-catfact — tells a random cat fact /riley-bot-joke — tells a joke /riley-bot-help — shows available commands These commands work inside Slack using slash commands. For transparency, my project was debugged with help from ChatGPT while I followed the tutorial....
|
1793242157.913664
|
1793328557.913664
|
|
26891
|
VoltStrip v2.0 by @vilusic_alen | Stardance
|
vilusic_alen
|
0
|
15.36
|
0
|
[]
|
[{"post_id": 24136, "ts": "202 [{"post_id": 24136, "ts": "2026-07-07T14:41:00Z", "hours": 0.4167, "text": "Devlog #6: The Final Design is Ready! After hours of routing traces, tweaking tolerances, and reorganizing my Fusion 360 project tree, VoltStrip V2.0 has officially reached its final form! The Finished Look The latest design in the project gallery shows the absolute final version of the macropad. Everything is perfectly in place: 4 Mechanical Switch Sockets: Spaced out precisely for a clean and comfortable typing experience. ** 0.91” OLED Display:** The cutout is perfectly flushed with the top cover. ** EC11 Rotary Encoder:** Sits exactly where it needs to be for easy volume control and layer scrolling. ** Premium Branding:** Custom “VOLTSTRIP V2.0” branding and a sleek QR code are integrated directly onto the faceplate/PCB layer for that high-end, open-source aesthetic. What’s Next? The PCB layout is fully routed, and the 3D-printable enclosure parts ( lid and BottomShellSolid ) are perfectly aligned and ready for production. Status Update: Since I cannot physically manufacture or assemble it without the Hack Club support and hardware shipment, the digital phase of the project is officially wrapped up! All the files have been successfully pushed to GitHub, and the README.md is fully updated. Now, we wait for the hardware to arrive! 🚀 Got any thoughts on the final layout or the integrated faceplate branding? Drop a comment below or open an issue!"}, {"post_id": 23542, "ts": "2026-07-06T15:53:26Z", "hours": 2.1, "text": "Devlog #5: Enclosure and Design are Ready! (Voltstrip V2.0) A huge step forward — the 3D design and the complete enclosure for Voltstrip V2.0 are officially done! After playing around with dimensions, alignment, and fine details, everything has finally clicked into place. What’s Been Done ** Main Enclosure Design:** All mechanical components (4 switches and a rotary encoder) are perfectly positioned on the top plate. The honeycomb details on the sides give the enclosure a great visual contrast and a premium look. ** QR Code & Branding:** After a fierce battle trying to import SVG files into Fusion 360 (which completely refused to cooperate), I shifted the workflow to Tinkercad and Bambu Studio. The QR code was successfully imported, scaled up for better scanability, and debossed deep enough for the printer to cleanly resolve it. Right above it, the striking text \"VOLTSTRIP V2.0\" has been added. ** Final Visualization:** All components have been assembled and verified in Fusion 360 — aesthetically and geometrically, the macropad looks exactly as I envisioned. Current Status & Plan ** Fixing Minor Bugs:** All that’s left is to go through the model and fix a few small cosmetic and technical glitches, double-check the switch tolerances, and ensure the USB-C cutout is millimeter-accurate so the electronics don’t bind. Finishing the Project: I plan to fully finish the entire macropad starting tomorrow — locking in all files, generating the final STL/STEP versions, and prepping the repository for the Hack Club review. Let’s push to the finish line! What do you think about the honeycomb design and the QR code placement? Let me know in the comments or open an issue!"}, {"post_id": 22895, "ts": "2026-07-05T15:09:53Z", "hours": 1.0336, "text": "Devlog #4: Initial Programming, Enclosure Tweaks, and PCB Progress Today was all about making a gradual transition into the software phase while continuing to refine the hardware components. The project is moving forward steadily, with focus split between early code setup and design optimization. 1. Firmware & Programming: Taking it Slow Today marked the official start of the programming phase. I didn’t want to rush into the complex stuff right away, so I kept the pace deliberate and steady: ** Base Environment Setup:** Configured the initial workspace and initialized the core environment. Solid Foundation: Focused on laying down a rock-solid structural foundation for the code, ensuring the basic logic is clean before expanding into more advanced scripts. 2. CAD Design: Enclosure Tweaks (Work in Progress) Spent some time back in the modeling software to iron out the physical design. It’s not completely wrapped up yet, but the main housing is getting closer to completion: ** Refined the Main Body:** Adjusted a few dimensions and fitments on the main enclosure to ensure a cleaner look and better structural integrity. ** Next Up for CAD:** The main body tweaks are done, leaving only the lid (cover) left to design and finalize. 3. Hardware: Polishing the PCB The rest of the session was dedicated to cleaning up the electronics layout and fixing the remaining board elements: ** Trace Cleanup:** Ran a pass over the PCB design to clean up the remaining traces and check clearances. ** Layout Optimization:** Tweaked the overall layout to optimize the paths, making sure the board is solid and well-routed. What’s Next? Designing the enclosure lid to finally close up the physical model. Diving deeper into the firmware functionality now that the environment is set up. One step at a time! 🏁 Have you ever worked on integrating a custom PCB with a 3D-printed enclosure? Share your tips or feedback in the comments below!"}, {"post_id": 20918, "ts": "2026-07-02T17:15:16Z", "hours": 5.0333, "text": "🚀 STARDANCE DEVLOG: DAY 4The Base is Perfect, but the Lid is Destroying Me…Day 4 has been a total emotional rollercoaster. It started off amazing, but ended with me closing Fusion 360 because my brain completely melted. 🤯🛠️ What’s Done (The Good Part)I managed to fully finish the case base! Since there’s no room inside the case for the PCB and component screws, I decided to go with external mounting ears in the corners.External Mounting Ears: Sketched them out in the corners, extruded them downwards by about 6mm, and joined them to the base.Solid Build: It looks incredibly clean and ready for 3D printing.Cutouts: The USB cutout and the PCB standoffs are also perfectly in place.🛑 Where I Got Stuck (The Bad Part)And then I started working on the top lid… and everything went downhill. I’m trying to achieve that awesome high-profile look where the lid is raised and the plastic precisely surrounds the switches, OLED display, and encoder.Here is what drove me crazy today:DXF Hell: I generated the plate layout using an online plate generator and imported the DXF into Fusion. Of course, it imported 10 times larger than it should be (classic scaling/units issue). 📉Lost in Options: I tried to shrink it down using Sketch Scale, but the program started messing with me with some weird Precision 0.123 settings. The units got messed up, and whenever I activate the lid component, everything else turns translucent so I can’t even see what I’m alignment-checking against.“Kinda-Sorta” 3D Body: In the end, I managed to extrude some random body, but it looks terrible. The switch cutouts are misaligned, the encoder isn’t even showing up, and I have no idea how to precisely cut the opening for the OLED screen since I don’t have its 3D model on the PCB layout.Current Mood: Had to close the program for today because my head hurts and I got sick of constantly hitting Ctrl + Z. 🛑🙋♂️ SOS! Need Some Help (Question for the Comments)Guys, I honestly have no idea what I’m doing with this lid right now. If anyone has experience designing keyboard/macropad cases in Fusion 360, please help me out!What’s the easiest and most accurate way to “drill” the cutouts for 4 Cherry switches, an EC11 encoder, and an OLED screen so that they actually fit perfectly after 3D printing?Do you have a foolproof trick for importing DXF files without ruining the scale, or is it better to just draw everything manually over the PCB layout?Any advice, tutorial, or step-by-step guidance would literally save my life for Day 5. Let me know below! 👇"}, {"post_id": 19192, "ts": "2026-06-30T13:39:41Z", "hours": 1.45, "text": "Devlog #3: PCB Done! ✅ Design: Complete. PCB: Verified. Image: Attached below. I’m officially closing the chapter on the PCB design today. It’s my first one, so it’s not fancy, but I couldn’t be happier with the result. Next up: 3D modeling the enclosure. Let’s get to work! 💻🖨️"}, {"post_id": 18538, "ts": "2026-06-29T18:36:02Z", "hours": 5.0503, "text": "Devlog #2: Finally making moves! 🚀 Yesterday was a bit of a struggle, but today felt like a win. I powered through the PCB schematic, finished the layout, and managed to hunt down and fix all the errors!I’m left with a few lingering warnings (check the second image). Are these actually important, or just “noise”? Would love some advice from the pros here!On top of the board work, I’ve officially started drafting the enclosure. It’s looking solid, and I’m aiming to have the design finished by tomorrow. Let’s keep this momentum going!"}, {"post_id": 18203, "ts": "2026-06-29T08:23:50Z", "hours": 0.2794, "text": "This is my first devlog.Working on the OrpheusPad or Macropad project has been a real challenge that turned into a pretty frustrating experience. I started with a lot of enthusiasm, following the instructions from Hackpad, and spent hours in KiCad trying to put together the PCB design. Every step was a struggle—from resolving those annoying DRC errors to dealing with library configurations that were giving me a headache. Just when I thought I was close to the finish line and tried to finally link those libraries, the system failed me. The Windows manager glitched and KiCad crashed. Since I hadn’t manually saved my progress, and all my attempts to pull something from those .bak and .lck files failed, I’m back to square one. Now I have to start everything from scratch. It was a painful but useful lesson about how important it is to constantly hit “Save” and have a well-organized workspace. Besides losing my nerves over the technical issues, I’m now struggling with whether this is even worth it. I tried to open the submission form to order parts, but I keep getting an error. I don’t even know if the project is still active or if it’s already finished. I really don’t want to waste time drawing the board if the form doesn’t work or if the program has long since closed, so that’s my main dilemma before I decide to dive back into the work. So yeah for now i dont have any images for work but I will try again tomorrow."}]...
|
Title: VoltStrip v2.0 by @vilusic_alen | Stardance Title: VoltStrip v2.0 by @vilusic_alen | Stardance
Devlogs:
This is my first devlog.Working on the OrpheusPad or Macropad project has been a real challenge that turned into a pretty frustrating experience. I started with a lot of enthusiasm, following the instructions from Hackpad, and spent hours in KiCad trying to put together the PCB design. Every step was a struggle—from resolving those annoying DRC errors to dealing with library configurations that were giving me a headache. Just when I thought I was close to the finish line and tried to finally link those libraries, the system failed me. The Windows manager glitched and KiCad crashed. Since I hadn’t manually saved my progress, and all my attempts to pull something from those .bak and .lck files failed, I’m back to square one. Now I have to start everything from scratch. It was a painful but useful lesson about how important it is to constantly hit “Save” and have a well-organized workspace. Besides losing my nerves over the technical issues, I’m now struggling with whether this is even worth it. I tried to open the submission form to order parts, but I keep getting an error. I don’t even know if the project is still active or if it’s already finished. I really don’t want to waste time drawing the board if the form doesn’t work or if the program has long since closed, so that’s my main dilemma before I decide to dive back into the work. So yeah for now i dont have any images for work but I will try again tomorrow.
Devlog #2: Finally making moves! 🚀 Yesterday was a bit of a struggle, but today felt like a win. I powered through the PCB schematic, finished the layout, and managed to hunt down and fix all the errors!I’m left with a few lingering warnings (check the second image). Are these actually important, or just “noise”? Would love some advice from the pros here!On top of the board work, I’ve officially started drafting the enclosure. It’s looking solid, and I’m aiming to have the design finished by tomorrow. Let’s keep this momentum going!
Devlog #3: PCB Done! ✅ Design: Complete. PCB: Verified. Image: Attached below. I’m officially closing the chapter on the PCB design today. It’s my first one, so it’s not fancy, but I couldn’t be happier with the result. Next up: 3D modeling the enclosure. Let’s get to work! 💻🖨️
🚀 STARDANCE DEVLOG: DAY 4The Base is Perfect, but the Lid is Destroying Me…Day 4 has been a total emotional rollercoaster. It started off amazing, but ended with me closing Fusion 360 because my brain completely melted. 🤯🛠️ What’s Done (The Good Part)I managed to fully finish the case base! Since there’s no room inside the case for the PCB and component screws, I decided to go with external mounting ears in the corners.External Mounting Ears: Sketched them out in the corners, extruded them downwards by about 6mm, and joined them to the base.Solid Build: It looks incredibly clean and ready for 3D printing.Cutouts: The USB cutout and the PCB standoffs are also perfectly in place.🛑 Where I Got Stuck (The Bad Part)And then I started working on the top lid… and everything went downhill. I’m trying to achieve that awesome high-profile look where the lid is raised and the plastic precisely surrounds the switches, OLED display, and encoder.Here is what drove me crazy today:DXF Hell: I generated the plate layout using an online plate generator and imported the DXF into Fusion. Of course, it imported 10 times larger than it should be (classic scaling/units issue). 📉Lost in Options: I tried to shrink it down using Sketch Scale, but the program started messing with me with some weird Precision 0.123 settings. The units got messed up, and whenever I activate the lid component, everything else turns translucent so I can’t even see what I’m alignment-checking against.“Kinda-Sorta” 3D Body: In the end, I managed to extrude some random body, but it looks terrible. The switch cutouts are misaligned, the encoder isn’t even showing up, and I have no idea how to precisely cut the opening for the OLED screen since I don’t have its 3D model on the PCB layout.Current Mood: Had to close the program for today because my head hurts and I got sick of constantly hitting Ctrl + Z. 🛑🙋♂️ SOS! Need Some Help (Question for the Comments)Guys, I honestly have no idea what I’m doing with this lid right now. If anyone has experience designing keyboard/macropad cases in Fusion 360, please help me out!What’s the easiest and most accurate way to “drill” the cutouts for 4 Cherry switches, an EC11 encoder, and an OLED screen so that they actually fit perfectly after 3D printing?Do you have a foolproof trick for importing DXF files without ruining the scale, or is it better to just draw everything manually over the PCB layout?Any advice, tutorial, or step-by-step guidance would literally save my life for Day 5. Let me know below! 👇
Devlog #4: Initial Programming, Enclosure Tweaks, and PCB Progress Today was all about making a gradual transition into the software phase while continuing to refine the hardware components. The project is moving forward steadily, with focus split between early code setup and design optimization. 1. Firmware & Programming: Taking it Slow Today marked the official start of the programming phase. I didn’t want to rush into the complex stuff right away, so I kept the pace deliberate and steady: ** Base Environment Setup:** Configured the initial workspace and initialized the core environment. Solid Foundation: Focused on laying down a rock-solid structural foundation for the code, ensuring the basic logic is clean before expanding into more advanced scripts. 2. CAD Design: Enclosure Tweaks (Work in Progress) Spent some time back in the modeling software to iron out the physical design. It’s not completely wrapped up yet, but the main housing is getting closer to completion: ** Refined the Main Body:** Adjusted a few dimensions and fitments on the main enclosure to ensure a cleaner look and better structural integrity. ** Next Up for CAD:** The main body tweaks are done, leaving only the lid (cover) left to design and finalize. 3. Hardware: Polishing the PCB The rest of the session was dedicated to cleaning up the electronics layout and fixing the remaining board elements: ** Trace Cleanup:** Ran a pass over the PCB design to clean up the remaining traces and check clearances. ** Layout Optimization:** Tweaked the overall layout to optimize the paths, making sure the board is solid and well-routed. What’s Next? Designing the enclosure lid to finally close up the physical model. Diving deeper into the firmware functionality now that the environment is set up. One step at a time! 🏁 Have you ever worked on integrating a custom PCB with a 3D-printed enclosure? Share your tips or feedback in the comments below!
Devlog #5: Enclosure and Design are Ready! (Voltstrip V2.0) A huge step forward — the 3D design and the complete enclosure for Voltstrip V2.0 are officially done! After playing around with dimensions, alignment, and fine details, everything has finally clicked into place. What’s Been Done ** Main Enclosure Design:** All mechanical components (4 switches and a rotary encoder) are perfectly positioned on the top plate. The honeycomb details on the sides give the enclosure a great visual contrast and a premium look. ** QR Code & Branding:** After a fierce battle trying to import SVG files into Fusion 360 (which completely refused to cooperate), I shifted the workflow to Tinkercad and Bambu Studio. The QR code was successfully imported, scaled up for better scanability, and debossed deep enough for the printer to cleanly resolve it. Right above it, the striking text "VOLTSTRIP V2.0" has been added. ** Final Visualization:** All components have been assembled and verified in Fusion 360 — aesthetically and geometrically, the macropad looks exactly as I envisioned. Current Status & Plan ** Fixing Minor Bugs:** All that’s left is to go through the model and fix a few small cosmetic and technical glitches, double-check the switch tolerances, and ensure the USB-C cutout is millimeter-accurate so the electronics don’t bind. Finishing the Project: I plan to fully finish the entire macropad starting tomorrow — locking in all files, generating the final STL/STEP versions, and prepping the repository for the Hack Club review. Let’s push to the finish line! What do you think about the honeycomb design and the QR code placement? Let me know in the comments or open an issue!
Devlog #6: The Final Design is Ready! After hours of routing traces, tweaking tolerances, and reorganizing my Fusion 360 project tree, VoltStrip V2.0 has officially reached its final form! The Finished Look The latest design in the project gallery shows the absolute final version of the macropad. Everything is perfectly in place: 4 Mechanical Switch Sockets: Spaced out precisely for a clean and comfortable typing experience. ** 0.91” OLED Display:** The cutout is perfectly flushed with the top cover. ** EC11 Rotary Encoder:** Sits exactly where it needs to be for easy volume control and layer scrolling. ** Premium Branding:** Custom “VOLTSTRIP V2.0” branding and a sleek QR code are integrated directly onto the faceplate/PCB layer for that high-end, open-source aesthetic. What’s Next? The PCB layout is fully routed, and the 3D-printable enclosure parts ( lid and BottomShellSolid ) are perfectly aligned and ready for production. Status Update: Since I cannot physically manufacture or assemble it without the Hack Club support and hardware shipment, the digital phase of the project is officially wrapped up! All the files have been successfully pushed to GitHub, and the README.md is fully updated. Now, we wait for the hardware to arrive! 🚀 Got any thoughts on the final layout or the integrated faceplate branding? Drop a comment below or open an issue!...
|
1792723758.1812742
|
1793328558.1812742
|
|
28754
|
My awesome macropad! by @SAKSHAM71 | Stardance
|
SAKSHAM71
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @SAKSHAM71 | Starda Title: My awesome macropad! by @SAKSHAM71 | Stardance...
|
1792723759.3455024
|
1793328559.3455024
|
|
35951
|
Slopmark by @hariharann | Stardance
|
hariharann
|
1
|
23.0
|
127
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T05:38:15Z", "hours": 23.0, "multiplier": 12.72, "payout": 127, "blessing": "neutral", "text": "-> slopmark is an open ai eval platform where models get the same harness and a rule-based verifier scores them (no llm-as-judge). live at —»> https://slopmark.vercel.app «<–– -> check the three sessions: niche sprint, drawing contest (models draw raw svg very sick btw 🎨), and game night (party-game instruction traps, including the printer haiku 👾). also poke around /bench (byok), /shame, /leaderboard, and /goal if you want. source: https://github.com/nothariharan/benchmark", "repo": "https://github.com/nothariharan/slopmark", "demo": "https://slopmark.vercel.app/"}]...
|
[{"post_id": 30519, "ts": "202 [{"post_id": 30519, "ts": "2026-07-18T04:59:03Z", "hours": 22.8531, "text": "first: why this is one giant devlog instead of a bunch of small ones 🤔 ok so quick context before the actual product dump ive been shipping this under hack club macondo this whole time. i had multiple journals (devlogs) posted there everything was fine until i tried to ship it which then hit me with the ‘u r ‘old’ unc’ so i had to shift programs and here i am that means im not gonna re-post every old macondo update one by one. this single post is the catch-up. everything we built so far in one place. after this normal session-by-session posts continue on stardance live: https://slopmark.vercel.app repo: https://github.com/nothariharan/benchmark what slopmark even is slopmark = the honest slop detector public ai benches are cooked. contamination. saturation. goodhart. vibes scoring. llm-as-judge lying to itself so we built an open eval platform where every model eats the same harness and a rule-based verifier decides pass/fail. never another llm judging another llm spine is dumb on purpose: novel task → fixed harness → behavioral verifier → score + receipt if a model sounds smart but misses the contract it fails. that is the whole product architecture real quick next.js on vercel · eval in lib/harness + lib/eval · providers: openrouter / aiml / fireworks / byok · ~364 seed tasks · rule verifiers only deploy trick: vercel has no sqlite so curated results are committed as results.json and the site just reads them. challenges = curated forever sprints. sessions = ad-hoc byok runs that dont pollute the scoreboards ok architecture done. sessions are the real work the sessions revisitable sprints. fixed tasks. fixed models. fixed harness. run the grid. commit the receipt. anyone can reopen later and see who failed what 1. niche sprint v1 https://slopmark.vercel.app/challenge/niche-sprint-v1 6 aiml models x 10 mixed niche tasks = 60 runs. zero_context. procedural + extract + html + 8-word constraint + json + regex gemini 2.5 flash 90% · deepseek v3 70% · gpt-4o mini + llama 3.1 8b 60% · ministral + qwen 50% every model ate dirt on the 8-word constraint. that one task justified the whole sprint 2. drawing contest v1 https://slopmark.vercel.app/challenge/drawing-contest-v1 text models only. raw svg. no image models. html_contract verifier + live gallery 10 draws (house cat snowman bicycle rocket etc). 5 fireworks models gpt-oss 120b + glm 5.1 = 100%. rest at 90%. common miss: rocket flame color. looking fine is not passing 3. game night v1 https://slopmark.vercel.app/challenge/game-night-v1 same fireworks lineup. party-game instruction contracts: no-e pizza lipogram, pirate wifi, questions-only db explain, taboo cat, 12-word black holes, printer haiku with jam, ALL CAPS chef, haunted house review, internet in one word gpt-oss 90% · deepseek 60% · kimi 30% · glm 5.2 20% · glm 5.1 10% drawing said everyone can draw kinda. game night said almost nobody can shut up and follow a party rule under zero context everything else around it bench + byok · build your own sprint (/challenges/new) · sessions wall · realshot duels · goal games · hall of shame · leaderboard started as arena, pivoted to verifier-first slopmark, stripped auth so vercel just works where we at rn shipped: verifier engine, 3 public sessions with committed receipts, byok + ad-hoc sprints, realshot/goal/shame/leaderboard, vercel json deploy this post is the macondo → stardance handoff. product is slopmark. program is now stardance. building continues from here"}]...
|
Title: Slopmark by @hariharann | Stardance
Devlog Title: Slopmark by @hariharann | Stardance
Devlogs:
first: why this is one giant devlog instead of a bunch of small ones 🤔 ok so quick context before the actual product dump ive been shipping this under hack club macondo this whole time. i had multiple journals (devlogs) posted there everything was fine until i tried to ship it which then hit me with the ‘u r ‘old’ unc’ so i had to shift programs and here i am that means im not gonna re-post every old macondo update one by one. this single post is the catch-up. everything we built so far in one place. after this normal session-by-session posts continue on stardance live: https://slopmark.vercel.app repo: https://github.com/nothariharan/benchmark what slopmark even is slopmark = the honest slop detector public ai benches are cooked. contamination. saturation. goodhart. vibes scoring. llm-as-judge lying to itself so we built an open eval platform where every model eats the same harness and a rule-based verifier decides pass/fail. never another llm judging another llm spine is dumb on purpose: novel task → fixed harness → behavioral verifier → score + receipt if a model sounds smart but misses the contract it fails. that is the whole product architecture real quick next.js on vercel · eval in lib/harness + lib/eval · providers: openrouter / aiml / fireworks / byok · ~364 seed tasks · rule verifiers only deploy trick: vercel has no sqlite so curated results are committed as results.json and the site just reads them. challenges = curated forever sprints. sessions = ad-hoc byok runs that dont pollute the scoreboards ok architecture done. sessions are the real work the sessions revisitable sprints. fixed tasks. fixed models. fixed harness. run the grid. commit the receipt. anyone can reopen later and see who failed what 1. niche sprint v1 https://slopmark.vercel.app/challenge/niche-sprint-v1 6 aiml models x 10 mixed niche tasks = 60 runs. zero_context. procedural + extract + html + 8-word constraint + json + regex gemini 2.5 flash 90% · deepseek v3 70% · gpt-4o mini + llama 3.1 8b 60% · ministral + qwen 50% every model ate dirt on the 8-word constraint. that one task justified the whole sprint 2. drawing contest v1 https://slopmark.vercel.app/challenge/drawing-contest-v1 text models only. raw svg. no image models. html_contract verifier + live gallery 10 draws (house cat snowman bicycle rocket etc). 5 fireworks models gpt-oss 120b + glm 5.1 = 100%. rest at 90%. common miss: rocket flame color. looking fine is not passing 3. game night v1 https://slopmark.vercel.app/challenge/game-night-v1 same fireworks lineup. party-game instruction contracts: no-e pizza lipogram, pirate wifi, questions-only db explain, taboo cat, 12-word black holes, printer haiku with jam, ALL CAPS chef, haunted house review, internet in one word gpt-oss 90% · deepseek 60% · kimi 30% · glm 5.2 20% · glm 5.1 10% drawing said everyone can draw kinda. game night said almost nobody can shut up and follow a party rule under zero context everything else around it bench + byok · build your own sprint (/challenges/new) · sessions wall · realshot duels · goal games · hall of shame · leaderboard started as arena, pivoted to verifier-first slopmark, stripped auth so vercel just works where we at rn shipped: verifier engine, 3 public sessions with committed receipts, byok + ad-hoc sprints, realshot/goal/shame/leaderboard, vercel json deploy this post is the macondo → stardance handoff. product is slopmark. program is now stardance. building continues from here
Ships:
-> slopmark is an open ai eval platform where models get the same harness and a rule-based verifier scores them (no llm-as-judge). live at —»> https://slopmark.vercel.app «<–– -> check the three sessions: niche sprint, drawing contest (models draw raw svg very sick btw 🎨), and game night (party-game instruction traps, including the printer haiku 👾). also poke around /bench (byok), /shame, /leaderboard, and /goal if you want. source: https://github.com/nothariharan/benchmark...
|
1793242159.7456267
|
1793328559.7456267
|
|
1255
|
My first slack bot! by @dabhipriyanshu13 | Stardan My first slack bot! by @dabhipriyanshu13 | Stardance...
|
dabhipriyanshu13
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @dabhipriyanshu13 | Title: My first slack bot! by @dabhipriyanshu13 | Stardance...
|
1792723761.375936
|
1793328561.375936
|
|
18100
|
OmniOS by @tanav13 | Stardance
|
tanav13
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: OmniOS by @tanav13 | Stardance
|
1792723762.2525523
|
1793328562.2525523
|
|
19533
|
Cricket by @hyphen-26 | Stardance
|
hyphen-26
|
1
|
22.14
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T04:18:21Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a working web OS named: #Cricket! Cricket has a few basic features: a text editor (Notes) a terminal (doesn’t do much at the moment) a browser and an about page. I’m planning on adding some other stuff soon, but this is it for now.", "repo": "https://github.com/26097ek/WebOS", "demo": "https://26097ek.github.io/WebOS/"}]...
|
[{"post_id": 28102, "ts": "202 [{"post_id": 28102, "ts": "2026-07-14T04:56:50Z", "hours": 5.1422, "text": "Devlog #4: Music Player I made a music player! I used some AI since it’s been a while since I coded JavaScript, but I put together the thing myself. Here’s how it works. First, I get the file from the user in the form of <input id=\"musicFile\" accept\"audio/*\" type=\"file\"> . Then, I listen for a change in the input by adding an event listener: musicFile.addEventListener(\"change\", loadMusic); . Once the user adds a file, I fetch the file : const file = this.files[0]; . Then I assign it to a blob URL: musicURL = URL.createObjectURL(file); . Next, I assign the blob URL to the source tag: musicSource.src = musicURL; . Finally, I reload the audio tag for the changes to take place: musicPlayer.load(); . Here’s the code: HTML Code: <input id= \"musicFile\" type= \"file\" accept= \"audio/*\" > <audio id= \"musicPlayer\" controls > <source id= \"musicSource\" src= \"\" > </audio> JavaScript Code: function loadMusic () { const file = this . files [ 0 ]; if ( file ) { if ( globalThis . musicURLblob ){ URL . revokeObjectURL ( globalThis . musicURLblob ); } globalThis . musicURLblob = URL . createObjectURL ( file ); musicSource . src = globalThis . musicURLblob ; musicPlayer . load (); musicPlayer . play (); } } let musicURLblob = null ; const musicFile = document . querySelector ( \" #musicFile \" ); const musicSource = document . querySelector ( \" #musicSource \" ); const musicPlayer = document . querySelector ( \" #musicPlayer \" ); musicFile . addEventListener ( \" change \" , loadMusic );"}, {"post_id": 17221, "ts": "2026-06-27T22:39:36Z", "hours": 0.4517, "text": "Devlog 3: About Screen About my project:"}, {"post_id": 17143, "ts": "2026-06-27T20:36:07Z", "hours": 0.5508, "text": "Browser!! I’ve created a browser! Most links don’t work(because it’s an <iframe>)"}, {"post_id": 16788, "ts": "2026-06-27T08:01:37Z", "hours": 16.0978, "text": "Cricket, a very basic OS Cricket is a very basic operating system. When it’s done, it will have a lot of features, including: a text editor [✓], a terminal [-], a web browser [-], a media player/viewer [ ], and a bunch of other stuff. So far, I’ve done the first one, the second two are in progress, and the third has not been started yet. Here is an image:"}]...
|
Title: Cricket by @hyphen-26 | Stardance
Devlogs: Title: Cricket by @hyphen-26 | Stardance
Devlogs:
Cricket, a very basic OS Cricket is a very basic operating system. When it’s done, it will have a lot of features, including: a text editor [✓], a terminal [-], a web browser [-], a media player/viewer [ ], and a bunch of other stuff. So far, I’ve done the first one, the second two are in progress, and the third has not been started yet. Here is an image:
Browser!! I’ve created a browser! Most links don’t work(because it’s an <iframe>)
Devlog 3: About Screen About my project:
Devlog #4: Music Player I made a music player! I used some AI since it’s been a while since I coded JavaScript, but I put together the thing myself. Here’s how it works. First, I get the file from the user in the form of <input id="musicFile" accept"audio/*" type="file"> . Then, I listen for a change in the input by adding an event listener: musicFile.addEventListener("change", loadMusic); . Once the user adds a file, I fetch the file : const file = this.files[0]; . Then I assign it to a blob URL: musicURL = URL.createObjectURL(file); . Next, I assign the blob URL to the source tag: musicSource.src = musicURL; . Finally, I reload the audio tag for the changes to take place: musicPlayer.load(); . Here’s the code: HTML Code: <input id= "musicFile" type= "file" accept= "audio/*" > <audio id= "musicPlayer" controls > <source id= "musicSource" src= "" > </audio> JavaScript Code: function loadMusic () { const file = this . files [ 0 ]; if ( file ) { if ( globalThis . musicURLblob ){ URL . revokeObjectURL ( globalThis . musicURLblob ); } globalThis . musicURLblob = URL . createObjectURL ( file ); musicSource . src = globalThis . musicURLblob ; musicPlayer . load (); musicPlayer . play (); } } let musicURLblob = null ; const musicFile = document . querySelector ( " #musicFile " ); const musicSource = document . querySelector ( " #musicSource " ); const musicPlayer = document . querySelector ( " #musicPlayer " ); musicFile . addEventListener ( " change " , loadMusic );
Ships:
I made a working web OS named: #Cricket! Cricket has a few basic features: a text editor (Notes) a terminal (doesn’t do much at the moment) a browser and an about page. I’m planning on adding some other stuff soon, but this is it for now....
|
1793242162.7410479
|
1793328562.7410479
|
|
13195
|
My very own WebOS by @klikisva10 | Stardance
|
klikisva10
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @klikisva10 | Stardanc Title: My very own WebOS by @klikisva10 | Stardance...
|
1792723763.180623
|
1793328563.180623
|
|
21012
|
My awesome macropad! by @Jelly_fish | Stardance
|
Jelly_fish
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Jelly_fish | Stard Title: My awesome macropad! by @Jelly_fish | Stardance...
|
1792723764.0307689
|
1793328564.0307689
|
|
37101
|
My own site! by @LukeCodes | Stardance
|
LukeCodes
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @LukeCodes | Stardance
|
1792723764.8679435
|
1793328564.8679435
|
|
38422
|
Fedora Macro system by @fede_femia | Stardance
|
fede_femia
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Fedora Macro system by @fede_femia | Starda Title: Fedora Macro system by @fede_femia | Stardance...
|
1792723765.709738
|
1793328565.709738
|
|
8561
|
My awesome macropad! by @HYDRA01 | Stardance
|
HYDRA01
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @HYDRA01 | Stardanc Title: My awesome macropad! by @HYDRA01 | Stardance...
|
1792723766.5520017
|
1793328566.5520017
|
|
35974
|
Sujay's Personal Site by @sujay_innovator_robu Sujay's Personal Site by @sujay_innovator_robu | Stardance...
|
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T14:22:40Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a minimalist personal website using pure HTML and custom CSS to showcase my credentials, technical project portfolio, and robotics achievements. What I made: A responsive, light-mode split layout developer portfolio with modern Inter typography, featuring technical project cards, a bio detailing my start at GP Ahmedabad, and clean contact channels. What was challenging: Crafting a highly polished, premium visual style from scratch without relying on Tailwind or any utility frameworks. Aligning the split layout and handling smooth transitions for buttons and cards required exact layout control. What I’m proud of: The visual balance, the custom cropped profile photo styling with soft shadows, and establishing a robust Hackatime integration for transparent development logging. Testing details: You can click “Try project” to view the live site hosted on Netlify, or inspect the clean, structured source code in the GitHub repository.", "repo": "https://github.com/sujayinnovatorrobu-ui/personal-site", "demo": "https://sujay-website.netlify.app/"}]...
|
[{"post_id": 29492, "ts": "202 [{"post_id": 29492, "ts": "2026-07-16T13:48:21Z", "hours": 3.5333, "text": "Shipped the final minimalist split-layout design for my personal portfolio site! 🚀 Here’s what I did in this session: Designed a clean, light-mode split layout inspired by Behance portfolios using custom CSS. Added a circular-cropped profile photo of myself with a subtle drop shadow and white borders. Integrated cyan accent styling (#0284c7) for buttons, hover transitions, and header links. Cleared old commit histories to initialize a clean repository with a single commit (“self code push”) matching my Git author configurations. Configured .wakatime-project to track all coding hours under ‘personal-site’ and synced it."}]...
|
Title: Sujay's Personal Site by @sujay_innovat Title: Sujay's Personal Site by @sujay_innovator_robu | Stardance
Devlogs:
Shipped the final minimalist split-layout design for my personal portfolio site! 🚀 Here’s what I did in this session: Designed a clean, light-mode split layout inspired by Behance portfolios using custom CSS. Added a circular-cropped profile photo of myself with a subtle drop shadow and white borders. Integrated cyan accent styling (#0284c7) for buttons, hover transitions, and header links. Cleared old commit histories to initialize a clean repository with a single commit (“self code push”) matching my Git author configurations. Configured .wakatime-project to track all coding hours under ‘personal-site’ and synced it.
Ships:
I built a minimalist personal website using pure HTML and custom CSS to showcase my credentials, technical project portfolio, and robotics achievements. What I made: A responsive, light-mode split layout developer portfolio with modern Inter typography, featuring technical project cards, a bio detailing my start at GP Ahmedabad, and clean contact channels. What was challenging: Crafting a highly polished, premium visual style from scratch without relying on Tailwind or any utility frameworks. Aligning the split layout and handling smooth transitions for buttons and cards required exact layout control. What I’m proud of: The visual balance, the custom cropped profile photo styling with soft shadows, and establishing a robust Hackatime integration for transparent development logging. Testing details: You can click “Try project” to view the live site hosted on Netlify, or inspect the clean, structured source code in the GitHub repository....
|
1793242166.6172152
|
1793328566.6172152
|
|
40412
|
WarioWare Game by @kanda | Stardance
|
kanda
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @kanda | Stardance
|
1792723767.4007404
|
1793328567.4007404
|
|
28006
|
DevShield by @Tushyan | Stardance
|
Tushyan
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T04:44:07Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website where user paste or upload their code and AI can scan and give a detailed report that user can also export as pdf as well as it will remember so you can revisit anytime. I tried to add github repo scanner but there was some API issue so I dropped it for now.", "repo": "https://github.com/tushyan-parsana/DevShield", "demo": "https://dev-shield-rouge.vercel.app/"}]...
|
[{"post_id": 18979, "ts": "202 [{"post_id": 18979, "ts": "2026-06-30T04:42:03Z", "hours": 1.0606, "text": "Added a option for file upload so User can directly upload their file and scan code as well as also add T&C. Added Memory so even after refreshing or re-opening the website it can still show previous history"}, {"post_id": 18154, "ts": "2026-06-29T05:26:08Z", "hours": 0.4603, "text": "Made some changes now it can do multiple things like: ->Multi-language Support ->Secret / API Key Detector ->Dependency Vulnerability Checker ->Security Score Dashboard ->Fix-It Mode ->Scan History (in-memory) ->PDF Report Export"}]...
|
Title: DevShield by @Tushyan | Stardance
Devlogs: Title: DevShield by @Tushyan | Stardance
Devlogs:
Made some changes now it can do multiple things like: ->Multi-language Support ->Secret / API Key Detector ->Dependency Vulnerability Checker ->Security Score Dashboard ->Fix-It Mode ->Scan History (in-memory) ->PDF Report Export
Added a option for file upload so User can directly upload their file and scan code as well as also add T&C. Added Memory so even after refreshing or re-opening the website it can still show previous history
Ships:
I made a website where user paste or upload their code and AI can scan and give a detailed report that user can also export as pdf as well as it will remember so you can revisit anytime. I tried to add github repo scanner but there was some API issue so I dropped it for now....
|
1793242167.543121
|
1793328567.543121
|
|
24561
|
My awesome macropad! by @SohamHack | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @SohamHack | Starda Title: My awesome macropad! by @SohamHack | Stardance...
|
1792723768.251068
|
1793328568.251068
|
|
8291
|
My first slack bot! by @harshsc25_5506 | Stardance
|
harshsc25_5506
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @harshsc25_5506 | St Title: My first slack bot! by @harshsc25_5506 | Stardance...
|
1792723769.1047416
|
1793328569.1047416
|
|
32941
|
My very own WebOS by @Nate_ | Stardance
|
Nate_
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Nate_ | Stardance
|
1792723769.9532945
|
1793328569.9532945
|
|
19346
|
Reaction game by @KrishM | Stardance
|
KrishM
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Reaction game by @KrishM | Stardance
|
1792723770.8001113
|
1793328570.8001113
|
|
15583
|
My first slack bot! by @yatharthsah | Stardance
|
yatharthsah
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @yatharthsah | Stard Title: My first slack bot! by @yatharthsah | Stardance...
|
1792723771.6279833
|
1793328571.6279833
|
|
34052
|
My own site! by @sarvesh1 | Stardance
|
sarvesh1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @sarvesh1 | Stardance
|
1792723772.9524143
|
1793328572.9524143
|
|
21938
|
lockrs by @confused-ace-noises | Stardance
|
confused-ace-noises
|
2
|
49.0
|
865
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T18:19:09Z", "hours": 16.0, "multiplier": 15.58, "payout": 249, "blessing": "neutral", "text": "This ship adds some new functionality! Namely, the ability to take a screenshot of the lockscreen (if you dont want this, it can be disabled through the disabling of the default screenshot feature), new builtin widgets, and some stuff buried a bit more deeply in the logic, such as adding a worker thread for slow operations, fixing some bad output-dependant handling and adding support for more keyboard keys. The most challenging thing about this ship was trying to understand how to make vulkan play nice with ext_session_lock_v1 when setting the buffer scaling, it took me a long time for like- no reason TuT. Anyways, here’s two screenshots of lockscreens i made while developing lockrs:", "repo": "https://github.com/confused-ace-noises/lockrs/", "demo": "https://crates.io/crates/lockrs"}, {"ship_num": 2, "ts": "2026-06-30T14:45:51Z", "hours": 33.0, "multiplier": 18.69, "payout": 616, "blessing": "neutral", "text": "Lockrs is a library that aims to make Wayland screen lockers as customizable as possible. First of all, it’s written in the Rust language, and it’s essentially an implementation of the egui crate for lock screen surfaces; This means it can be truly used for anything (or well, anything egui can possibly do). This project was born out of frustration of the little customizability that other projects offer, relying at most on a simple config file to define everything. It is based on the wayland-client, wgpu and egui crates, which make it compatible with practically any modern Wayland compositor (to be specific, all compositors implementing the ext-session-lock-v1 protocol); using wayland-client was quite hard, as it was really my first time making something that supports graphics and juggling communications with an outside application in the meantime. I think this project was very successful in helping me learn about how Wayland works, and a little bit of how rendering works too. Overall, I’m quite proud of how it turned out, and i have already made my own lock screen (see picture below).", "repo": "https://github.com/confused-ace-noises/lockrs/", "demo": "https://crates.io/crates/lockrs"}]...
|
[{"post_id": 72759, "ts": "202 [{"post_id": 72759, "ts": "2026-09-23T17:56:49Z", "hours": 0.5272, "text": "Reviewed the code before the ship! noting much to report, i’ll just put the new lockscreen again"}, {"post_id": 71234, "ts": "2026-09-20T14:25:17Z", "hours": 10.2025, "text": "A lot of big changes! these 10 hours of coding felt like a constant rabbit hole, but i finally fixed all the things i found TuT. First of all, i made some new widgets: namely, a text input for the password that reserves space for the “login failed” failure text, an uptime widget and widget that fetches the default network interface. While making an example lock screen using these new widgets, i noticed that taking a screenshot was just a huge pain; One had to go do gpu texture copying magic and it was just A Bad Time in general. So, i decided to bake that functionality into lockrs itself, so now there’s a screenshot feature (enabled by default) which makes it able to save screenshots. But while implementing the screenshot feature, i noticed that there were some inconsistencies in the multiple output logic and in the buffer scaling logic, so i fixed those (this took surprisingly long :p). After implementing that, i went to take that screenshot, and noticed that the UI would freeze for a bit while the disk I/O of saving the image was running. This was quite annoying, so i also decided to make a whole ass worker thread that handles password checking (which also used to hang the UI thread, albeit for a short time) and to save the screenshot. Anyways, after this journey of a few days of coding, here’s the example screenshot, finally: P.S.: while trying to put an image here, firefox crashed and i had to rewrite this whole thing… to anyone seeing this, save your devlogs somewhere before adding pics :p"}, {"post_id": 61515, "ts": "2026-09-04T13:55:26Z", "hours": 5.4758, "text": "Well, im at it again with this project. I took quite a long break to make another project, and now have had the time to come back to this. I’ve finally written some in-depth docs, and will review them later today with a fresh mind to be sure that they’re as right as possible. I also fixed a design flaw, but im not very sure if how i did it really fixed it. Before, this is the old way it’s doing it: app .ui (| _ , ui | { // put stuff inside some ui levels egui :: CentralPanel :: default () .frame ( egui :: Frame :: NONE ) .show ( ui , | ui | { // maybe make new ui levels // inside the levels, return TryExit TryExit :: Force }) .inner.inner.inner //as many .inner as ui levels // TryExit is in, because you need to return the inner TryExit }) this felt extremely clunky. So, i solved it like this: // mutable reference to a TryExit app .ui (| _ , ui , exit : & mut TryExit | { // as many levels as you want egui :: CentralPanel :: default () .frame ( egui :: Frame :: NONE ) .show ( ui , | ui | { // instead of returning it, mutate the passed-in reference * exit = TryExit :: Force ; }); // no need to return anything, so no .inner }) this feels a bit better, but idrk still. For the time being, the API will be the latter. Anyways, have a look at the new docs:"}, {"post_id": 19151, "ts": "2026-06-30T12:13:07Z", "hours": 5.495, "text": "After taking a small break, i finally finished this project. I decided to turn it into a library instead of a really customizable lockscreen, because what would be the purpose in making something that could very well work in any number of ways and then limiting it to a few widgets? I’m quite satisfied with how it turned out, even if there are a few rough spots. Also, i decided to license it under MIT or Apache 2.0, as per convention for rust libraries. In the end, i’ll be definitely using lockrs, and i hope some other people will too."}, {"post_id": 15087, "ts": "2026-06-24T14:53:06Z", "hours": 3.2564, "text": "I managed to add PAM authentication. I also tried to add support for shaders and in general gpu work, and discovering i bit off way more than i can chew, i just decided not to. So, i tried to add a background, but i stumbled upon an obstacle which sent me diving into egui’s source code, because it kept claiming that it couldn’t load images with side bigger than 2048px; turns out this is only a limitation of the WebGPU API, that, as the name suggests, runs on browsers, not on desktops. Anyways, after a lot of fiddling with egui’s components, i managed to make it use images with sides up to 8000px. Now i’ll probably customize the bar a little, and maybe make a few egui widgets for it."}, {"post_id": 14354, "ts": "2026-06-23T13:37:48Z", "hours": 9.2189, "text": "After wrecking my mind unnecessarily over how to handle pointer events for a ridiculous amount of time, I finally got something that somehow works; now i also have a working text input! It just prints the input to the terminal for now, but I’ll be messing with PAM a bit to do authentication now. wish me luck!"}, {"post_id": 12838, "ts": "2026-06-21T00:42:13Z", "hours": 8.1453, "text": "I finally got the keyboard to work! for now, it just exits as soon as a key is pressed, but i’m working on implementing full functionality. also, now the code is much much cleaner, properly divided in functions instead of being all chucked into main. I don’t really have a way to display this with a screenshot, so i’ll just reuse an old one unfortunately :p"}, {"post_id": 11926, "ts": "2026-06-19T13:25:36Z", "hours": 2.0419, "text": "Well, i managed to render to the lock screen with egui instead of using the raw buffer; for now, it’s still a mess of spaghetti code that barely works and will turn into a footgun very quickly if i don’t get working on the lower level part of it instead of throwing stuff at the wall and seeing if it sticks. The next step is tidying the code up instead of throwing everything into main, so that i can get some customization going. Also, i should probably add the authentication part of the lock screen instead of having it unlock after a few seconds."}, {"post_id": 11649, "ts": "2026-06-19T00:01:07Z", "hours": 4.8064, "text": "I finished a first proof of concept for wl-lock; right now, it locks the user out for two seconds while displaying a mauve screen. For now, it’s still fully cpu rendered, but i plan on adding gpu-accelerated background blur and general effects. The next step is hooking egui into it!"}]...
|
Title: lockrs by @confused-ace-noises | Stardance
Title: lockrs by @confused-ace-noises | Stardance
Devlogs:
I finished a first proof of concept for wl-lock; right now, it locks the user out for two seconds while displaying a mauve screen. For now, it’s still fully cpu rendered, but i plan on adding gpu-accelerated background blur and general effects. The next step is hooking egui into it!
Well, i managed to render to the lock screen with egui instead of using the raw buffer; for now, it’s still a mess of spaghetti code that barely works and will turn into a footgun very quickly if i don’t get working on the lower level part of it instead of throwing stuff at the wall and seeing if it sticks. The next step is tidying the code up instead of throwing everything into main, so that i can get some customization going. Also, i should probably add the authentication part of the lock screen instead of having it unlock after a few seconds.
I finally got the keyboard to work! for now, it just exits as soon as a key is pressed, but i’m working on implementing full functionality. also, now the code is much much cleaner, properly divided in functions instead of being all chucked into main. I don’t really have a way to display this with a screenshot, so i’ll just reuse an old one unfortunately :p
After wrecking my mind unnecessarily over how to handle pointer events for a ridiculous amount of time, I finally got something that somehow works; now i also have a working text input! It just prints the input to the terminal for now, but I’ll be messing with PAM a bit to do authentication now. wish me luck!
I managed to add PAM authentication. I also tried to add support for shaders and in general gpu work, and discovering i bit off way more than i can chew, i just decided not to. So, i tried to add a background, but i stumbled upon an obstacle which sent me diving into egui’s source code, because it kept claiming that it couldn’t load images with side bigger than 2048px; turns out this is only a limitation of the WebGPU API, that, as the name suggests, runs on browsers, not on desktops. Anyways, after a lot of fiddling with egui’s components, i managed to make it use images with sides up to 8000px. Now i’ll probably customize the bar a little, and maybe make a few egui widgets for it.
After taking a small break, i finally finished this project. I decided to turn it into a library instead of a really customizable lockscreen, because what would be the purpose in making something that could very well work in any number of ways and then limiting it to a few widgets? I’m quite satisfied with how it turned out, even if there are a few rough spots. Also, i decided to license it under MIT or Apache 2.0, as per convention for rust libraries. In the end, i’ll be definitely using lockrs, and i hope some other people will too.
Well, im at it again with this project. I took quite a long break to make another project, and now have had the time to come back to this. I’ve finally written some in-depth docs, and will review them later today with a fresh mind to be sure that they’re as right as possible. I also fixed a design flaw, but im not very sure if how i did it really fixed it. Before, this is the old way it’s doing it: app .ui (| _ , ui | { // put stuff inside some ui levels egui :: CentralPanel :: default () .frame ( egui :: Frame :: NONE ) .show ( ui , | ui | { // maybe make new ui levels // inside the levels, return TryExit TryExit :: Force }) .inner.inner.inner //as many .inner as ui levels // TryExit is in, because you need to return the inner TryExit }) this felt extremely clunky. So, i solved it like this: // mutable reference to a TryExit app .ui (| _ , ui , exit : & mut TryExit | { // as many levels as you want egui :: CentralPanel :: default () .frame ( egui :: Frame :: NONE ) .show ( ui , | ui | { // instead of returning it, mutate the passed-in reference * exit = TryExit :: Force ; }); // no need to return anything, so no .inner }) this feels a bit better, but idrk still. For the time being, the API will be the latter. Anyways, have a look at the new docs:
A lot of big changes! these 10 hours of coding felt like a constant rabbit hole, but i finally fixed all the things i found TuT. First of all, i made some new widgets: namely, a text input for the password that reserves space for the “login failed” failure text, an uptime widget and widget that fetches the default network interface. While making an example lock screen using these new widgets, i noticed that taking a screenshot was just a huge pain; One had to go do gpu texture copying magic and it was just A Bad Time in general. So, i decided to bake that functionality into lockrs itself, so now there’s a screenshot feature (enabled by default) which makes it able to save screenshots. But while implementing the screenshot feature, i noticed that there were some inconsistencies in the multiple output logic and in the buffer scaling logic, so i fixed those (this took surprisingly long :p). After implementing that, i went to take that screenshot, and noticed that the UI would freeze for a bit while the disk I/O of saving the image was running. This was quite annoying, so i also decided to make a whole ass worker thread that handles password checking (which also used to hang the UI thread, albeit for a short time) and to save the screenshot. Anyways, after this journey of a few days of coding, here’s the example screenshot, finally: P.S.: while trying to put an image here, firefox crashed and i had to rewrite this whole thing… to anyone seeing this, save your devlogs somewhere before adding pics :p
Reviewed the code before the ship! noting much to report, i’ll just put the new lockscreen again
Ships:
Lockrs is a library that aims to make Wayland screen lockers as customizable as possible. First of all, it’s written in the Rust language, and it’s essentially an implementation of the egui crate for lock screen surfaces; This means it can be truly used for anything (or well, anything egui can possibly do). This project was born out of frustration of the little customizability that other projects offer, relying at most on a simple config file to define everything. It is based on the wayland-client, wgpu and egui crates, which make it compatible with practically any modern Wayland compositor (to be specific, all compositors implementing the ext-session-lock-v1 protocol); using wayland-client was quite hard, as it was really my first time making something that supports graphics and juggling communications with an outside application in the meantime. I think this project was very successful in helping me learn about how Wayland works, and a little bit of how rendering works too. Overall, I’m quite proud of how it turned out, and i have already made my own lock screen (see picture below).
This ship adds some new functionality! Namely, the ability to take a screenshot of the lockscreen (if you dont want this, it can be disabled through the disabling of the default screenshot feature), new builtin widgets, and some stuff buried a bit more deeply in the logic, such as adding a worker thread for slow operations, fixing some bad output-dependant handling and adding support for more keyboard keys. The most challenging thing about this ship was trying to understand how to make vulkan play nice with ext_session_lock_v1 when setting the buffer scaling, it took me a long time for like- no reason TuT. Anyways, here’s two screenshots of lockscreens i made while developing lockrs:...
|
1793242174.2687666
|
1793328574.2687666
|
|
37192
|
A split keeb by @aryatajne14 | Stardance
|
aryatajne14
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A split keeb by @aryatajne14 | Stardance
|
1792723774.305805
|
1793328574.305805
|
|
9404
|
My awesome macropad! by @Wolfy1337 | Stardance
|
Wolfy1337
|
0
|
0.27
|
0
|
[]
|
[{"post_id": 3454, "ts": "2026 [{"post_id": 3454, "ts": "2026-06-06T12:15:36Z", "hours": 0.2739, "text": "Cyberdek"}]...
|
Title: My awesome macropad! by @Wolfy1337 | Starda Title: My awesome macropad! by @Wolfy1337 | Stardance
Devlogs:
Cyberdek...
|
1792723775.13082
|
1793328575.13082
|
|
2429
|
OddQuest Air by @airpod | Stardance
|
airpod
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: OddQuest Air by @airpod | Stardance
|
1792723776.0233395
|
1793328576.0233395
|
|
4856
|
My first slack bot! by @julianas82311 | Stardance
|
julianas82311
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @julianas82311 | Sta Title: My first slack bot! by @julianas82311 | Stardance...
|
1792723776.8668776
|
1793328576.8668776
|
|
17509
|
RandOS by @hpeen | Stardance
|
hpeen
|
2
|
8.0
|
20
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T18:04:35Z", "hours": 1.0, "multiplier": 17.68, "payout": 20, "blessing": "neutral", "text": "I added new features to my WebOS called RandOS. The new additions are a terminal, a trophy app and a Gollum inspired critter that comes to annoy the user.", "repo": "https://github.com/Hpeen/RandOS", "demo": "https://hpeen.github.io/RandOS/"}, {"ship_num": 2, "ts": "2026-06-14T16:43:03Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a webOS with the gimmick that everything is random, from the wallpaper to the apps themselves called RandOS (randos, get it?). There are plenty of features to convey the chaos, like quick-time events and reshuffles (chaos time as I call them). I am pretty new to using AI to help build a project, but I managed to get a handle on how to utilize it. I do enjoy the eastereggs and fun minigames that I made.", "repo": "https://github.com/Hpeen/RandOS", "demo": "https://hpeen.github.io/RandOS/"}]...
|
[{"post_id": 22290, "ts": "202 [{"post_id": 22290, "ts": "2026-07-04T18:00:20Z", "hours": 1.1492, "text": "For part two of WebOS I wanted a few more actual features, not just more ways to annoy you, so there’s three new things, one being a lil guy. First up, there’s a terminal now. It’s a proper little retro shell, and like everything else in RandOS it rerolls itself every time you open it: new prompt, new monospace font, new ink colour (sometimes that classic phosphor green, sometimes it borrows the desktop’s accent). It’s got the normal stuff, help and echo and whoami and fortune, but the fun part is it can actually drive the OS. you can type apps to see everything installed, open paint to launch it, windows to list what’s open, close all to nuke them and it keeps no secrets, everything’s right there in help. That includes the dumb stuff like matrix drops digital rain over the window, hack runs a fake “access granted” intrusion sequence, glitch shudders the whole thing, panic fakes a kernel panic with a red flash, party throws confetti. and boo . We don’t talk about boo… The second thing is trophies. There’s an achievements system wired through the whole os now, backed by localStorage so they actually stick between visits, and a little toast slides in when you unlock one. there’s a trophies app to see what you’ve got and what you’re missing. you earn them by doing the things, surviving the backrooms, winning five quick-time events, opening every app, poking the gremlin, finding the secret terminal command. it quietly ties all the scattered easter eggs together into something you can actually see you found. And then the gremlin. He started this round as a small critter that scurried in and shoved your desktop icons around. He makes little noises coming and going. and the main event: he poses a riddle. four choices, two tries and you cannot get rid of him any other way. Clicking him just gets you a hiss. No waiting him out either, he’ll stand there until you answer. Guess right and he shrieks and flees, misses both tries and he slinks off muttering. He also shows up a little more often than before, because of course he does.."}, {"post_id": 8793, "ts": "2026-06-14T16:29:18Z", "hours": 1.9461, "text": "added some more apps! there are some basic ones like paint and notepad … just a little more chaotic :D some other apps I added to be on theme are a random quote/joke generator, a sound board, a suggestion box and a wheel of names (pretty tuff). to add to the CHAOS there are now quick-time events that close all your windows if you fail to complete them :P P.S. don’t spam the shuffle button (might noclip)"}, {"post_id": 8142, "ts": "2026-06-13T16:12:29Z", "hours": 2.5156, "text": "spent some time on this, but I upped the UI. everything has random effects / themes, the wallpapers are full of movement and the cursor is a different sprite each shuffle. also I added a boot animation with a jack in the box…neat. there’s a chaos shuffle event now that happens every ~3 mins. you get a 3 sec heads up and then EVERYTHING gets randomized, so gl trying to do something lol next up: make the OS more interactive with more apps and quick-time events (kinda tuff). Also might want to add other basic apps… ;)"}, {"post_id": 7927, "ts": "2026-06-13T06:52:44Z", "hours": 2.0994, "text": "so my first stardust project is a webos, but making a normal one sounded boring so i made randos. the whole gimmick: everything is randomized. open the calculator and it looks one way, close it, open it again and it’s totally different colors, different font, different vibe. nothing looks the same twice. right now it’s got the basics. windows you can drag around, a taskbar, and a handful of apps: a calculator that actually does math, a clock that’s sometimes digital, sometimes an analog dial, sometimes just spells the time out in words, a calendar, and a randomizer that flips coins, rolls dice, or spits out a number from 1 to 100. plus a shuffle button that re-rolls the entire desktop theme whenever you feel like it. it’s pretty rough rn ngl. the ui is a little janky and the background is just a flat gradient. but it runs, it’s online, and there’s no login so anyone can poke at it at https://hpeen.github.io/RandOS/ . next up: make it look less rough, give the background some actual patterns, and add a couple things i’ve been cooking (a lot more chaotic </3)."}]...
|
Title: RandOS by @hpeen | Stardance
Devlogs:
so m Title: RandOS by @hpeen | Stardance
Devlogs:
so my first stardust project is a webos, but making a normal one sounded boring so i made randos. the whole gimmick: everything is randomized. open the calculator and it looks one way, close it, open it again and it’s totally different colors, different font, different vibe. nothing looks the same twice. right now it’s got the basics. windows you can drag around, a taskbar, and a handful of apps: a calculator that actually does math, a clock that’s sometimes digital, sometimes an analog dial, sometimes just spells the time out in words, a calendar, and a randomizer that flips coins, rolls dice, or spits out a number from 1 to 100. plus a shuffle button that re-rolls the entire desktop theme whenever you feel like it. it’s pretty rough rn ngl. the ui is a little janky and the background is just a flat gradient. but it runs, it’s online, and there’s no login so anyone can poke at it at https://hpeen.github.io/RandOS/ . next up: make it look less rough, give the background some actual patterns, and add a couple things i’ve been cooking (a lot more chaotic </3).
spent some time on this, but I upped the UI. everything has random effects / themes, the wallpapers are full of movement and the cursor is a different sprite each shuffle. also I added a boot animation with a jack in the box…neat. there’s a chaos shuffle event now that happens every ~3 mins. you get a 3 sec heads up and then EVERYTHING gets randomized, so gl trying to do something lol next up: make the OS more interactive with more apps and quick-time events (kinda tuff). Also might want to add other basic apps… ;)
added some more apps! there are some basic ones like paint and notepad … just a little more chaotic :D some other apps I added to be on theme are a random quote/joke generator, a sound board, a suggestion box and a wheel of names (pretty tuff). to add to the CHAOS there are now quick-time events that close all your windows if you fail to complete them :P P.S. don’t spam the shuffle button (might noclip)
For part two of WebOS I wanted a few more actual features, not just more ways to annoy you, so there’s three new things, one being a lil guy. First up, there’s a terminal now. It’s a proper little retro shell, and like everything else in RandOS it rerolls itself every time you open it: new prompt, new monospace font, new ink colour (sometimes that classic phosphor green, sometimes it borrows the desktop’s accent). It’s got the normal stuff, help and echo and whoami and fortune, but the fun part is it can actually drive the OS. you can type apps to see everything installed, open paint to launch it, windows to list what’s open, close all to nuke them and it keeps no secrets, everything’s right there in help. That includes the dumb stuff like matrix drops digital rain over the window, hack runs a fake “access granted” intrusion sequence, glitch shudders the whole thing, panic fakes a kernel panic with a red flash, party throws confetti. and boo . We don’t talk about boo… The second thing is trophies. There’s an achievements system wired through the whole os now, backed by localStorage so they actually stick between visits, and a little toast slides in when you unlock one. there’s a trophies app to see what you’ve got and what you’re missing. you earn them by doing the things, surviving the backrooms, winning five quick-time events, opening every app, poking the gremlin, finding the secret terminal command. it quietly ties all the scattered easter eggs together into something you can actually see you found. And then the gremlin. He started this round as a small critter that scurried in and shoved your desktop icons around. He makes little noises coming and going. and the main event: he poses a riddle. four choices, two tries and you cannot get rid of him any other way. Clicking him just gets you a hiss. No waiting him out either, he’ll stand there until you answer. Guess right and he shrieks and flees, misses both tries and he slinks off muttering. He also shows up a little more often than before, because of course he does..
Ships:
I made a webOS with the gimmick that everything is random, from the wallpaper to the apps themselves called RandOS (randos, get it?). There are plenty of features to convey the chaos, like quick-time events and reshuffles (chaos time as I call them). I am pretty new to using AI to help build a project, but I managed to get a handle on how to utilize it. I do enjoy the eastereggs and fun minigames that I made.
I added new features to my WebOS called RandOS. The new additions are a terminal, a trophy app and a Gollum inspired critter that comes to annoy the user....
|
1793242177.903741
|
1793328577.903741
|
|
25679
|
PING PONG GAME by @sarita | Stardance
|
sarita
|
0
|
5.24
|
0
|
[]
|
[{"post_id": 18276, "ts": "202 [{"post_id": 18276, "ts": "2026-06-29T11:27:35Z", "hours": 1.73, "text": "Devlog #2 : i finished my game!!!!! hello guyssss yesterday i complete coding my ping pong game it was really fun to make im looking to think of other games to build its a 2 player game Now, i just need to publish it on github see you on the next devlog!!!!"}, {"post_id": 16905, "ts": "2026-06-27T13:37:16Z", "hours": 3.5078, "text": "Devlog #1: as someone who is a complete beginner Hello, This is my first-ever project. I’m making a simple 2D Ping Pong game with Unity/C#. I found this game really interesting to make as a beginner. Even though the game is simple,I’m focusing heavily on the visual design I will keep updating here"}]...
|
Title: PING PONG GAME by @sarita | Stardance
Devl Title: PING PONG GAME by @sarita | Stardance
Devlogs:
Devlog #1: as someone who is a complete beginner Hello, This is my first-ever project. I’m making a simple 2D Ping Pong game with Unity/C#. I found this game really interesting to make as a beginner. Even though the game is simple,I’m focusing heavily on the visual design I will keep updating here
Devlog #2 : i finished my game!!!!! hello guyssss yesterday i complete coding my ping pong game it was really fun to make im looking to think of other games to build its a 2 player game Now, i just need to publish it on github see you on the next devlog!!!!...
|
1792723778.1863985
|
1793328578.1863985
|
|
34932
|
My own site! by @DeadNetworky | Stardance
|
DeadNetworky
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @DeadNetworky | Stardance
|
1792723779.0553703
|
1793328579.0553703
|
|
21228
|
Frictionless by @aqsakhan46space | Stardance
|
aqsakhan46space
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @aqsakhan46space | Stardanc Title: Frictionless by @aqsakhan46space | Stardance...
|
1792723779.9061384
|
1793328579.9061384
|
|
5648
|
My first slack bot! by @avniarya | Stardance
|
avniarya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @avniarya | Stardanc Title: My first slack bot! by @avniarya | Stardance...
|
1792723780.7691784
|
1793328580.7691784
|
|
21029
|
Untitled project by @sanvi_pareek | Stardance
|
sanvi_pareek
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @sanvi_pareek | Stardan Title: Untitled project by @sanvi_pareek | Stardance...
|
1792723781.6035466
|
1793328581.6035466
|
|
9775
|
FRC Strat Extension by @Scrax99 | Stardance
|
Scrax99
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T07:25:00Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an extension that helps a user find stats on an First Robotics Team by simply entering their number and getting all the stats they will need. I made this after seeing the need on our scouting team from getting bogged down by switching in between so many different tabs while scouting. I hope that this will speed up our workflow and hope to make this a tool for teams around the globe. I used A.I. for some parts of the code and troubleshooting as this was the first project I’ve made of this type and I really needed the help. Thanks to all of you for following along on this journey :)", "repo": "https://github.com/scraxx99/FRCextension", "demo": "https://github.com/scraxx99/FRCextension/releases/tag/ScoutBuddyV1"}]...
|
[{"post_id": 9801, "ts": "2026 [{"post_id": 9801, "ts": "2026-06-16T07:22:26Z", "hours": 0.6153, "text": "Finished work on the project and have final working version. I learned a whole bunch from this project that I’ll carry with me on my future projects."}, {"post_id": 6119, "ts": "2026-06-10T09:08:51Z", "hours": 1.52, "text": "Alright after a bit more work (and absolutely no issues ;) ) i have my working demo. I’m pretty proud of myself for not using A.I. for everything. I only used it when i faced issues (definitely did not face issues where the popup was so small you couldn’t see it) After I fix this buggy piece of software, I’ll port it to chrome so normal people can use it (not that firefox users aren’t normal) Current Features —————> User enters the number of their team and gets *The name of the team *The Rookie Year *The headquartered Area of the team *A photo of the team robot On the right hand side using the previously entered team number it displays *All events team went to during this season *The 5 most recent matches *The score from said matches and which alliance the team was on *The link to the match video Future Goals and Features —————> *Win or Loss (I’m dumb I remembered to add this while typing this up) *Statbotics stats like EPA and expected win or lose next match (have to learn Statbotics API) *Cooler Color scheme (I’m a fudgin child ) Notes ———––> Still learning a lot and have a lot more to learn, but this is prob gonna be one of the most useful projects that I build. I have to learn how to use the statbotics api, but shouldn’t be that hard since I already mastered TBA’s. I’m gonna start asking for feedback and adding more stuff to it. P.S. getting this authenticated on the extension store is gonna SUCK. Alright thank you for listening, and the featured team is the World Champ team 4414 High Tide. My team was in their division at worlds and we lowkey felt the aura."}, {"post_id": 5680, "ts": "2026-06-09T15:41:59Z", "hours": 0.7647, "text": "Alright this time the MVP is actually done. After a whole lot of dumb mistakes and other mishaps that I had to fix with the help of Mr. GPT (GASP!!! I know, AI right, but this my first time working on a project like this and I needed the help especially since I’m making this for firefox and have much less resources available. Current Features ––––––––––> The user enters a team number and gets a reply with team name, rookie year, and headquarters location (Superuseful I knowwwww) I hope to add more strat stuff in the future for my team’s strat team. Future Features and Goals ———–> *Get rid of headquarters location (Not super useful) *Add district (Helpful) *Add Epa (VERY IMPORTANT) *Add 5 past match scores *Add a photo of latest robot (helps user get a grasp on score) Notes —————> I think i’m actually learning on this project, and I’m trying to use A.I. for help instead of code generation. Doing a somewhat good job of that. The project is turning out pretty well and will get some feedback after about 5 more hours of development from an actual strat person that isn’t me. I think there’s a paradox where when a person is designing something they find it easier to use as they are used to the controls and thats why they should have another human being test it out to tell them what’s wrong so i’m gonna do that (holy yap) Thank you for tagging along and listening to this madman talk. Todays demo features team 7769 THE CREW!!!!"}, {"post_id": 4979, "ts": "2026-06-08T17:03:10Z", "hours": 1.2503, "text": "After about an Hour of work the MVP bare bones version of this extension is finished! Currently the only functionality is that it finds a picture of FRC team 4188 (totally not biased) and displays it. The U.I. is completely bare, and I made so many dumb mistakes while building that I had to use A.I. for (Not Proud of a year error :( in the slightest) Future Features to Work on ———––> Variable Team input (VERY IMPORTANT) *Specific Match Stats *Pretty Maybe???? Notes —————––> I think that I am making good progress on this extension, but I’ll let you judge. I’m a strat bug so I thought this would help me and those in the FIRST Community. I’ve attached a video demo at the bottom of the post. I’m kinda embarrassed it took me this long only for it to have a one button feature, but hey! I’m learning. Thank you for listening to my rant, that’s all. Bye !!!!"}]...
|
Title: FRC Strat Extension by @Scrax99 | Stardance Title: FRC Strat Extension by @Scrax99 | Stardance
Devlogs:
After about an Hour of work the MVP bare bones version of this extension is finished! Currently the only functionality is that it finds a picture of FRC team 4188 (totally not biased) and displays it. The U.I. is completely bare, and I made so many dumb mistakes while building that I had to use A.I. for (Not Proud of a year error :( in the slightest) Future Features to Work on ———––> Variable Team input (VERY IMPORTANT) *Specific Match Stats *Pretty Maybe???? Notes —————––> I think that I am making good progress on this extension, but I’ll let you judge. I’m a strat bug so I thought this would help me and those in the FIRST Community. I’ve attached a video demo at the bottom of the post. I’m kinda embarrassed it took me this long only for it to have a one button feature, but hey! I’m learning. Thank you for listening to my rant, that’s all. Bye !!!!
Alright this time the MVP is actually done. After a whole lot of dumb mistakes and other mishaps that I had to fix with the help of Mr. GPT (GASP!!! I know, AI right, but this my first time working on a project like this and I needed the help especially since I’m making this for firefox and have much less resources available. Current Features ––––––––––> The user enters a team number and gets a reply with team name, rookie year, and headquarters location (Superuseful I knowwwww) I hope to add more strat stuff in the future for my team’s strat team. Future Features and Goals ———–> *Get rid of headquarters location (Not super useful) *Add district (Helpful) *Add Epa (VERY IMPORTANT) *Add 5 past match scores *Add a photo of latest robot (helps user get a grasp on score) Notes —————> I think i’m actually learning on this project, and I’m trying to use A.I. for help instead of code generation. Doing a somewhat good job of that. The project is turning out pretty well and will get some feedback after about 5 more hours of development from an actual strat person that isn’t me. I think there’s a paradox where when a person is designing something they find it easier to use as they are used to the controls and thats why they should have another human being test it out to tell them what’s wrong so i’m gonna do that (holy yap) Thank you for tagging along and listening to this madman talk. Todays demo features team 7769 THE CREW!!!!
Alright after a bit more work (and absolutely no issues ;) ) i have my working demo. I’m pretty proud of myself for not using A.I. for everything. I only used it when i faced issues (definitely did not face issues where the popup was so small you couldn’t see it) After I fix this buggy piece of software, I’ll port it to chrome so normal people can use it (not that firefox users aren’t normal) Current Features —————> User enters the number of their team and gets *The name of the team *The Rookie Year *The headquartered Area of the team *A photo of the team robot On the right hand side using the previously entered team number it displays *All events team went to during this season *The 5 most recent matches *The score from said matches and which alliance the team was on *The link to the match video Future Goals and Features —————> *Win or Loss (I’m dumb I remembered to add this while typing this up) *Statbotics stats like EPA and expected win or lose next match (have to learn Statbotics API) *Cooler Color scheme (I’m a fudgin child ) Notes ———––> Still learning a lot and have a lot more to learn, but this is prob gonna be one of the most useful projects that I build. I have to learn how to use the statbotics api, but shouldn’t be that hard since I already mastered TBA’s. I’m gonna start asking for feedback and adding more stuff to it. P.S. getting this authenticated on the extension store is gonna SUCK. Alright thank you for listening, and the featured team is the World Champ team 4414 High Tide. My team was in their division at worlds and we lowkey felt the aura.
Finished work on the project and have final working version. I learned a whole bunch from this project that I’ll carry with me on my future projects.
Ships:
I made an extension that helps a user find stats on an First Robotics Team by simply entering their number and getting all the stats they will need. I made this after seeing the need on our scouting team from getting bogged down by switching in between so many different tabs while scouting. I hope that this will speed up our workflow and hope to make this a tool for teams around the globe. I used A.I. for some parts of the code and troubleshooting as this was the first project I’ve made of this type and I really needed the help. Thanks to all of you for following along on this journey :)...
|
1793242182.883709
|
1793328582.883709
|
|
27505
|
WarioWare Game by @mlody_synowiec | Stardance
|
mlody_synowiec
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @mlody_synowiec | Stardan Title: WarioWare Game by @mlody_synowiec | Stardance...
|
1792723785.4712157
|
1793328585.4712157
|
|
29917
|
icanhelp by @TheShovel | Stardance
|
TheShovel
|
1
|
54.0
|
1020
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-22T09:04:44Z", "hours": 54.0, "multiplier": 19.73, "payout": 1020, "blessing": "neutral", "text": "I decided to make an AI chatbot, that runs locally, without burning your computer. It is designed around using a 500mb, 0.8B model and to work even on weak hardware. Compatibility and actually giving you a result eventually was the priority, not speed! I also made a YouTube video about it if you wanna check that out :3 https://www.youtube.com/watch?v=GhmLUcdesqw", "repo": "https://github.com/TheShovel/icanhelp", "demo": "https://theshovel.rocks/icanhelp/"}]...
|
[{"post_id": 32596, "ts": "202 [{"post_id": 32596, "ts": "2026-07-21T21:27:35Z", "hours": 0.2581, "text": "just a small patch related to memory usage, nothing more :) though, the video is ready! im just waiting for it to get approved for the hackclub video thing and then im gonna post it! Heres the thumbnail"}, {"post_id": 31199, "ts": "2026-07-19T12:23:08Z", "hours": 5.2222, "text": "i think i am finally done! I have optimized, refined stuff and tested a bunch of random things on the lowest model possible, that still has some kind of a intelligence. Nothing really too interesting to talk about, but i DID get it working on my 7gb of ram old laptop! This is the first local chat app that actually works on that thing, so thats pretty damn cool me thinks. Working on a youtube video right now, im proud of the project and i want people to find it and contribute to it. In the meantime, until i finish that video, here is icanhelp writing a document about the importance of vitamin C!"}, {"post_id": 29946, "ts": "2026-07-17T04:07:10Z", "hours": 9.3467, "text": "finally a devlog where not everything was a colossal failure! As i said in my previous dev log, whats left to do is tools and refinement, and thats exactly what i did. The search tool has been updated to let the llm browse websites and their contents, which improved the quality a lot. also, i have implemented an addon system that lets you install external smaller llms to do tasks that are then outputed to the bigger llm. llmception. decided to get rid of the rag since with the improved web search its no longer needed. Besides this, all i did was little tweaks, refinement refinement testing refinement. As one smart video once said: “solution problem, problem solution problem.”"}, {"post_id": 28767, "ts": "2026-07-15T07:30:06Z", "hours": 12.7231, "text": "well well well. This project has been the most frustrating back and forth of my life. It felt like 3 steps forward, 2.5 steps back, CONSTANTLY. Well, after hours and hours of testing, refinement and research, i have found the solution… I have decided to change my approach in how i handle responses. Now, instead of having 1 model that does everything, we have 2 super tiny ones. The flow is kinda like: user types prompt -> small llm analyzes prompt -> small llm returns the instructions for how to solve it using the tools it has -> if it decides that the complexity is too high, then it lets the larger llm continue -> system does knowladgebase + web search -> the chosen llm presents the data to you. This is REALLY fast as you can see, and quite reliable as well. Right now the answer quality is not exceptional, but thats just about refinement and gradual improvements. So hopefully in the next devlog i have some really cool stuff to show you, like graphs, visual explanations, letting the user choose a website to summarize and so on. Along side working on the app, i worked on the website for it! Its still a work in progress but im proud of how it turned out :D https://theshovel.rocks/icanhelp/ ok well, anyway, thats it for now. see you next time in “im going crazy because lobotomy ai doesnt want to follow my instructions”"}, {"post_id": 27563, "ts": "2026-07-13T08:01:26Z", "hours": 8.0653, "text": "well, today was a disaster. 8 ours that didnt really account for much to be honest :( I have tried to move from qwen to minicpm 1b, a model that ALLEGEDLY is a lot better at using tools to gather data rather than using its internal baked in weights. Well, apparently thats not true. I have spent hours making the tools, adapting the outputs and everything for that model, just to then realized that “wow people are wrong and im so tired of ai bros hyping stuff up for nothing!”. So, in the end, i reverted to the qwen models, since they are decent enough for this. Even the 0.8b model gives better results than minicpm… Well, at least thats not all i did. After reverting to a older commit, i have re implemented all the improvements that dont have to do with minicpm. You can now see the sources of where the llm fetched data from under the response bubble, and you can click them to open up the pages and double check the information and stuff. Also, i have worked on large file handling. Previously, for large files it would try to read the entire thing at once. That is insanely inefficient for large files, so i have added a new tool that lets it read from line x to line y. Like that it can only retrieve relevant stuff and not flood its context. I have ALSO worked on compatibility. Now you can change between cpu and gpu inference. If you have under 6gb of vram, the gpu option is grayed out. You might say “thats a little overkill”, but you have to take into account that context also eats up vram, and quite a lot as well. So now you can use the cpu, which uses your system ram, to reliably have long conversations. Sadly in the demo it ended up crashing the app and freezing the process with a node api error, but after i killed the process and reopened the app, the cpu inference worked fine. Thats a small oversight i didnt take into account where llamacpp is still doing stuff while im trying to kill the node process. Well, thats it! See you next time in “trying to make lobotomy ai useful so people stop using giant datacenters to ask about how long to boil and egg for”"}, {"post_id": 26597, "ts": "2026-07-11T14:51:17Z", "hours": 6.4203, "text": "well, i am going to sleep for a few days. The last 24 hours have been tough. First of all, i started getting harassed for making an ai project in my friend groups, which just broke my heart. I got actively attacked and called names for just wanting to make something cool. The point of this project is to make a completely local, light and fast ai assistant for your pc. I dont like the big corporations that do harm economically and environmentally. That is exactly why im making this. With that out of the way, i have spent way longer than 6 hours and a half since the last devlog, bug a lot of that time was not coding, it was data stuff. I have started to build a knowledge base by asking local larger ai that run slower, to write information and documentation for different topics (linux, programming, science, health etc). Right now i have 10 categories with a total of 463 files. Then, i run an embedding model to turn those into searchable vectors that the ai can use during conversation. In the video bellow, i asked it how bash commands work in linux, and it found all the knowladge for that, and started telling me about it. Normally, the quality of the response is pretty short, vague and not very precise, since the model is so small, but now, it actually gives some usable output. I have also worked a lot on making this as easy to install as possible. I have made a install script that covers all dependencies you need, registers the app on your system, and also lets you choose what knowledge categories you want to be included in the embedding process, which also happens locally during install. Yes that means all that knowledge if free and open source in the repository. If you want, you could even make your own categories, or improve existing ones! To make this easier to use, i have also worked on the UI. Now theres a built in light and dark mode that you can use, along side whatever themes you ask the assistant to make for you. You can also now open all of the apps data folders. You can change whatever you want in there, and even customize your buddy! Would be cool to see some user made designs with like miku or something. That would be so cool :3 Sadly, in the process, i also broked the vision model stuff and i just realized that when i recorded the video for this devlog. I am too tired after doing data training for an entire day to debug and fix that right now. Also pretty demotivated after the stuff i had to endure lately for making projects based on ai. I want to remind you that most of this project is made by me, and like my other project for stardance, Irongingot, i will make a graph with all of the files that were touched by ai, how many lines it wrote and what % is ai in the readme of the repository, using my opencode history on this project. I am a human being making stuff for human beings. Anyway, pretty grim devlog i know. Hopefully, the next one will be happier and i can show some more cool stuff i have planned, like real time interaction with your desktop and select text and ask and so on. Thank you to everyone who has been kind to me on here <3"}, {"post_id": 25787, "ts": "2026-07-10T07:37:39Z", "hours": 5.8194, "text": "well well well… turns out cloud AIs are expensive and dont work offline. Also not very accessible for everyone to use!!! So, i have decided to make all of this run LOCALLY!!! Thats right, instead of making you put in an api key to whatever provider you wanna use, you instead get to choose from a list of qwen 3.5 models. It auto detects your hardware, and displays all of the models that work on your system. Now, obviously, this is less high quality than the cloud models. In the previous devlogs i used deepseek v4 flash from opencode, and it was way more competent. Here, i used the 2B version of qwen 3.5. With that said, even the 0.8B model is still fairly capable, considering that deepseek v4 flash is over 200b parameters. I worked a lot on optimizing this. I added chat history compression, so instead of it remembering everything in the conversation precisely, it makes a summary within a token budget instead, to keep system requirements low even for the bigger models. More context tokens = more ram, and who the hell has ram nowadays, am i right gamers. Along with that i made a bunch of small tool and ui improvements. Still a work in progress, but at least the UI is not vibe coded slop for the most part anymore. Next up im going to try and work on a theory that i have. What if i give the small 0.8B model, access to a dataset, and a search engine… Could i possibly make this super tiny model really smart? I dont know. Saw a youtube video about it but it was just a theory, not applied practically. But since im here might as well try it out. Oh also i renamed the little guy to Icanhelpy because i think its very cute"}, {"post_id": 24810, "ts": "2026-07-08T16:43:53Z", "hours": 4.9122, "text": "I got a lot done. Added OCR with tesseract and then i realized it sucked so i switched to BLIP. Runs in a child process so it doesnt freeze the app. The buddy icon animates now based on whats happening, pulses tilts shakes spins depending on state. Also i drew some nice little assets for it :3 Moved the effort dropdown and model selector to the top bar. Settings has sub menus, theme panel lets you browse saved themes and apply or delete them. The AI can change css now through a set_theme tool. Colors gradients images whatever. It can save named themes and they persist across restarts in the encrypted config. Had to consolidate the theme tools cuz the llm request got too big. Screenshots took forever. desktopCapturer asked for permission, imagemagick import has broken syntax, mss gave black screens on wayland, grim doesnt work on kde. Finally spectacle works. Falls back through a chain of tools and tries to auto install imagemagick with a sudo popup if nothing is found. The attach button shows a file and screenshot popup, hides after picking, comes back when you send or remove. Attachment label is a clickable pill that opens files. Fixed the llm re analyzing already attached files. Fixed bubble overflow on long lines. Added chat history, cancel stream, sudo password popup, markdown, web search, file tools, right click menu, window position persistence, burger menu navigation blah blah blah this is getting soooo long bro i dont wanna type no more and a readme. Still need to add proper security beyond the sudo prompt and encrypted config. Gonna work on that next maybe, but thats pretty boring stuff so idk… also sorry for the video quality i just realized my settings were wrong right as i uploaded this. woops"}, {"post_id": 20869, "ts": "2026-07-02T16:18:14Z", "hours": 1.6497, "text": "I have started work on this thing! So far, I have implemented some placeholder ui, a way for you to register your LLM provider, cloud or local, and some basic tools! Copy pasted a lot of code from some of my other projects, so this didnt take too long to do. The thing that took me the longest was to find a method to detect when a console command that the llm runs would return a sudo prompt, so i can prompt the user through the UI to enter their password. So far, thats also the only security thing i have in place. Will work on more of that. The UI is very ugly and clunky right now because its just some css i vibe coded. Trust me i know its ugly ill work on making it better myself once i get everything backend related done."}]...
|
Title: icanhelp by @TheShovel | Stardance
Devlogs Title: icanhelp by @TheShovel | Stardance
Devlogs:
I have started work on this thing! So far, I have implemented some placeholder ui, a way for you to register your LLM provider, cloud or local, and some basic tools! Copy pasted a lot of code from some of my other projects, so this didnt take too long to do. The thing that took me the longest was to find a method to detect when a console command that the llm runs would return a sudo prompt, so i can prompt the user through the UI to enter their password. So far, thats also the only security thing i have in place. Will work on more of that. The UI is very ugly and clunky right now because its just some css i vibe coded. Trust me i know its ugly ill work on making it better myself once i get everything backend related done.
I got a lot done. Added OCR with tesseract and then i realized it sucked so i switched to BLIP. Runs in a child process so it doesnt freeze the app. The buddy icon animates now based on whats happening, pulses tilts shakes spins depending on state. Also i drew some nice little assets for it :3 Moved the effort dropdown and model selector to the top bar. Settings has sub menus, theme panel lets you browse saved themes and apply or delete them. The AI can change css now through a set_theme tool. Colors gradients images whatever. It can save named themes and they persist across restarts in the encrypted config. Had to consolidate the theme tools cuz the llm request got too big. Screenshots took forever. desktopCapturer asked for permission, imagemagick import has broken syntax, mss gave black screens on wayland, grim doesnt work on kde. Finally spectacle works. Falls back through a chain of tools and tries to auto install imagemagick with a sudo popup if nothing is found. The attach button shows a file and screenshot popup, hides after picking, comes back when you send or remove. Attachment label is a clickable pill that opens files. Fixed the llm re analyzing already attached files. Fixed bubble overflow on long lines. Added chat history, cancel stream, sudo password popup, markdown, web search, file tools, right click menu, window position persistence, burger menu navigation blah blah blah this is getting soooo long bro i dont wanna type no more and a readme. Still need to add proper security beyond the sudo prompt and encrypted config. Gonna work on that next maybe, but thats pretty boring stuff so idk… also sorry for the video quality i just realized my settings were wrong right as i uploaded this. woops
well well well… turns out cloud AIs are expensive and dont work offline. Also not very accessible for everyone to use!!! So, i have decided to make all of this run LOCALLY!!! Thats right, instead of making you put in an api key to whatever provider you wanna use, you instead get to choose from a list of qwen 3.5 models. It auto detects your hardware, and displays all of the models that work on your system. Now, obviously, this is less high quality than the cloud models. In the previous devlogs i used deepseek v4 flash from opencode, and it was way more competent. Here, i used the 2B version of qwen 3.5. With that said, even the 0.8B model is still fairly capable, considering that deepseek v4 flash is over 200b parameters. I worked a lot on optimizing this. I added chat history compression, so instead of it remembering everything in the conversation precisely, it makes a summary within a token budget instead, to keep system requirements low even for the bigger models. More context tokens = more ram, and who the hell has ram nowadays, am i right gamers. Along with that i made a bunch of small tool and ui improvements. Still a work in progress, but at least the UI is not vibe coded slop for the most part anymore. Next up im going to try and work on a theory that i have. What if i give the small 0.8B model, access to a dataset, and a search engine… Could i possibly make this super tiny model really smart? I dont know. Saw a youtube video about it but it was just a theory, not applied practically. But since im here might as well try it out. Oh also i renamed the little guy to Icanhelpy because i think its very cute
well, i am going to sleep for a few days. The last 24 hours have been tough. First of all, i started getting harassed for making an ai project in my friend groups, which just broke my heart. I got actively attacked and called names for just wanting to make something cool. The point of this project is to make a completely local, light and fast ai assistant for your pc. I dont like the big corporations that do harm economically and environmentally. That is exactly why im making this. With that out of the way, i have spent way longer than 6 hours and a half since the last devlog, bug a lot of that time was not coding, it was data stuff. I have started to build a knowledge base by asking local larger ai that run slower, to write information and documentation for different topics (linux, programming, science, health etc). Right now i have 10 categories with a total of 463 files. Then, i run an embedding model to turn those into searchable vectors that the ai can use during conversation. In the video bellow, i asked it how bash commands work in linux, and it found all the knowladge for that, and started telling me about it. Normally, the quality of the response is pretty short, vague and not very precise, since the model is so small, but now, it actually gives some usable output. I have also worked a lot on making this as easy to install as possible. I have made a install script that covers all dependencies you need, registers the app on your system, and also lets you choose what knowledge categories you want to be included in the embedding process, which also happens locally during install. Yes that means all that knowledge if free and open source in the repository. If you want, you could even make your own categories, or improve existing ones! To make this easier to use, i have also worked on the UI. Now theres a built in light and dark mode that you can use, along side whatever themes you ask the assistant to make for you. You can also now open all of the apps data folders. You can change whatever you want in there, and even customize your buddy! Would be cool to see some user made designs with like miku or something. That would be so cool :3 Sadly, in the process, i also broked the vision model stuff and i just realized that when i recorded the video for this devlog. I am too tired after doing data training for an entire day to debug and fix that right now. Also pretty demotivated after the stuff i had to endure lately for making projects based on ai. I want to remind you that most of this project is made by me, and like my other project for stardance, Irongingot, i will make a graph with all of the files that were touched by ai, how many lines it wrote and what % is ai in the readme of the repository, using my opencode history on this project. I am a human being making stuff for human beings. Anyway, pretty grim devlog i know. Hopefully, the next one will be happier and i can show some more cool stuff i have planned, like real time interaction with your desktop and select text and ask and so on. Thank you to everyone who has been kind to me on here <3
well, today was a disaster. 8 ours that didnt really account for much to be honest :( I have tried to move from qwen to minicpm 1b, a model that ALLEGEDLY is a lot better at using tools to gather data rather than using its internal baked in weights. Well, apparently thats not true. I have spent hours making the tools, adapting the outputs and everything for that model, just to then realized that “wow people are wrong and im so tired of ai bros hyping stuff up for nothing!”. So, in the end, i reverted to the qwen models, since they are decent enough for this. Even the 0.8b model gives better results than minicpm… Well, at least thats not all i did. After reverting to a older commit, i have re implemented all the improvements that dont have to do with minicpm. You can now see the sources of where the llm fetched data from under the response bubble, and you can click them to open up the pages and double check the information and stuff. Also, i have worked on large file handling. Previously, for large files it would try to read the entire thing at once. That is insanely inefficient for large files, so i have added a new tool that lets it read from line x to line y. Like that it can only retrieve relevant stuff and not flood its context. I have ALSO worked on compatibility. Now you can change between cpu and gpu inference. If you have under 6gb of vram, the gpu option is grayed out. You might say “thats a little overkill”, but you have to take into account that context also eats up vram, and quite a lot as well. So now you can use the cpu, which uses your system ram, to reliably have long conversations. Sadly in the demo it ended up crashing the app and freezing the process with a node api error, but after i killed the process and reopened the app, the cpu inference worked fine. Thats a small oversight i didnt take into account where llamacpp is still doing stuff while im trying to kill the node process. Well, thats it! See you next time in “trying to make lobotomy ai useful so people stop using giant datacenters to ask about how long to boil and egg for”
well well well. This project has been the most frustrating back and forth of my life. It felt like 3 steps forward, 2.5 steps back, CONSTANTLY. Well, after hours and hours of testing, refinement and research, i have found the solution… I have decided to change my approach in how i handle responses. Now, instead of having 1 model that does everything, we have 2 super tiny ones. The flow is kinda like: user types prompt -> small llm analyzes prompt -> small llm returns the instructions for how to solve it using the tools it has -> if it decides that the complexity is too high, then it lets the larger llm continue -> system does knowladgebase + web search -> the chosen llm presents the data to you. This is REALLY fast as you can see, and quite reliable as well. Right now the answer quality is not exceptional, but thats just about refinement and gradual improvements. So hopefully in the next devlog i have some really cool stuff to show you, like graphs, visual explanations, letting the user choose a website to summarize and so on. Along side working on the app, i worked on the website for it! Its still a work in progress but im proud of how it turned out :D https://theshovel.rocks/icanhelp/ ok well, anyway, thats it for now. see you next time in “im going crazy because lobotomy ai doesnt want to follow my instructions”
finally a devlog where not everything was a colossal failure! As i said in my previous dev log, whats left to do is tools and refinement, and thats exactly what i did. The search tool has been updated to let the llm browse websites and their contents, which improved the quality a lot. also, i have implemented an addon system that lets you install external smaller llms to do tasks that are then outputed to the bigger llm. llmception. decided to get rid of the rag since with the improved web search its no longer needed. Besides this, all i did was little tweaks, refinement refinement testing refinement. As one smart video once said: “solution problem, problem solution problem.”
i think i am finally done! I have optimized, refined stuff and tested a bunch of random things on the lowest model possible, that still has some kind of a intelligence. Nothing really too interesting to talk about, but i DID get it working on my 7gb of ram old laptop! This is the first local chat app that actually works on that thing, so thats pretty damn cool me thinks. Working on a youtube video right now, im proud of the project and i want people to find it and contribute to it. In the meantime, until i finish that video, here is icanhelp writing a document about the importance of vitamin C!
just a small patch related to memory usage, nothing more :) though, the video is ready! im just waiting for it to get approved for the hackclub video thing and then im gonna post it! Heres the thumbnail
Ships:
I decided to make an AI chatbot, that runs locally, without burning your computer. It is designed around using a 500mb, 0.8B model and to work even on weak hardware. Compatibility and actually giving you a result eventually was the priority, not speed! I also made a YouTube video about it if you wanna check that out :3 https://www.youtube.com/watch?v=GhmLUcdesqw...
|
1793242185.9131036
|
1793328585.9131036
|
|
7602
|
Pipe by @NAHIN | Stardance
|
NAHIN
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Pipe by @NAHIN | Stardance
|
1792723786.3175561
|
1793328586.3175561
|
|
14107
|
My first slack bot! by @Sangy | Stardance
|
Sangy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Sangy | Stardance
|
1792723787.141234
|
1793328587.141234
|
|
24376
|
Switch by @Hadrian | Stardance
|
Hadrian
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Switch by @Hadrian | Stardance
|
1792723787.9902244
|
1793328587.9902244
|
|
13894
|
FlowOS by @axeld | Stardance
|
axeld
|
0
|
0.84
|
0
|
[]
|
[{"post_id": 8474, "ts": "2026 [{"post_id": 8474, "ts": "2026-06-14T02:49:08Z", "hours": 0.4667, "text": "Multiple windows working!"}, {"post_id": 8461, "ts": "2026-06-14T02:13:22Z", "hours": 0.3753, "text": "Window and top bar (kind of) working!"}]...
|
Title: FlowOS by @axeld | Stardance
Devlogs:
Wind Title: FlowOS by @axeld | Stardance
Devlogs:
Window and top bar (kind of) working!
Multiple windows working!...
|
1792723788.8299236
|
1793328588.8299236
|
|
23537
|
Nature's cyberdeck by @LinuxDino | Stardance
|
LinuxDino
|
0
|
33.88
|
0
|
[]
|
[{"post_id": 41883, "ts": "202 [{"post_id": 41883, "ts": "2026-08-06T11:40:38Z", "hours": 6.9253, "text": "Fixed all schematic, PCB, and CAD Ok first I need to crash out because why did my KiCAD crash 4 times during these sessions is my laptop genuinely that bad its 16GB it cannot be that bad also why did I have to almost rewire everything because I flipped around the connectors dude this cannot be real I spent 4 hours of my life on routing it and found out it was flipped. Thank god I found a much more elegant solution - flipping it around and rotating it 180degs Crashout over sorry Anyways, finally finished the PCB. Well at least for now. What I have done: Routed the connectors on both of the boards (I don’t think I have mentioned this in my last devlog, but I’ve decided to remove the rp2040 zero for its redundancy and extra power usage. It is much easier if I connect the two PCBs with FFC wires - 15pins - and hence that’s why you see 15 errors in the DRC). This actually took very long and was comparable to solving a jigsaw puzzle. Made the schematic a bit prettier and organised Added a space for the Lipo battery on the KEYBOARD side. This saved so much space and now I have so much freedom, mightve been my proudest moment. But this will require me to use the 400mAh battery instead. I removed the pads for 3 of the buttons in order to fit the traces in this tight space, and since tactile buttons do not require all 4 pins, this should work fine. What I need to do: Add some protection system for the solar panel, still need to research off camera Create CAD cases for everything, and make sure everything fits And then I think I’m finally done after the README and BOM! Some stuff I need to correct from my previous devpost Turns out, there is a much more efficient way to change all CAD models of a footprint in KiCAD - there is a button in the menu for that in the update footprint from the library page. No need to use Notepad++, we aren’t in 2013 anymore. Panelisation may not be cheaper, in fact it might be more expensive than if you ordered the boards separately."}, {"post_id": 41235, "ts": "2026-08-05T09:50:14Z", "hours": 0.9833, "text": "Oh no Major revelation - This may not work at all - I may have to go back to the drawing board There were at least 10 hours of unlogged time over the last few days because I honestly forgot to. Ok, so good news and bad news. Good news: I brought some components from a local electronics store I can actually test and measure dimensions of, including Cheap LCD Screen 160x128, smaller than what I wanted That charging module that can convert from 3.7v to 5v Lipo batteries, which I found 800mAh and 400mAh, which was perfect, and I don’t know why this wasn’t listed on their website I got the LCD to work! This is a major breakthorugh as now I can actually run the raspberry pi zero 2 w on the LCD via SPI protocol. This took way longer than expected because the raspberry pi os 64 bit didn’t support this way of displaying the screen due to outdated drivers I think. Exercising ingenuity - the YouTube channel - have also noticed this problem. Bad news: I have to redesign the CAD to fit the 800mAh battery instead of my 10440 battery I have to redesign the PCB because of an evil little resistor I circled in the image below, which would in no way make it flush and solder well with the PCB. I have to redesign the schematic because I need to remove the rp2040 zero and simply add 11 wires between the keyboard and the pi. But honestly, this is not as bad as it seems. It’s just that all my efforts into making the mousebites perfect might have been wasted. I need to redo so much stuff gah"}, {"post_id": 34078, "ts": "2026-07-24T15:21:28Z", "hours": 3.3169, "text": "Finally found it (and created Readme.md + GH Repo) My long, arduous search for a 3.7V Li-po/Li-ion battery has finally come to an end. Since my local area has quite strict import of dangerous Lipo battery rules, I had to go find a LiPo battery from local vendors. This actually took way longer than I expected, because I refused to believe that the Mouser Electronics and DigiKey websites were legit. Turns out, they literally have a headquarters here in Hong Kong. I can source my battery holders from them The problem was always this - the battery was too big and bulky. A flat rectangular LiPo battery would fit into that box nicely, but it wasted a lot of space for the flat solar panel, and the space I had constrained the volume I could put. So I decided on 3.7V Li-ion batteries - the little cylindrical ones. Here’s a cool thing I learnt. Many electronics projects use the 18650 battery, but I never knew what it meant until I found its AA(14400) and AAA(10440) counterparts. It is actually very systematic: 18(mm) is the diameter of the cell 65.0(mm) is the length of the cell Isn’t that cool? Just wanted to share that. So finally, I decided to use the 10440 batteries (3.7V, 350mAh), and I would also need keystone clips to handle the 2A+ current draw from the RPis. I can insert these clips into my 3D-printed case to save some space. Things I need to do next: CAD case: hopefully this is less cortisol-demanding Firmware and software Finish Readme and submit this project for funding I’ll see you soon, probably taking a break over the weekend due to some family visits."}, {"post_id": 33501, "ts": "2026-07-23T14:38:41Z", "hours": 9.6867, "text": "PCB Part 2/2 (Finished) As the saying goes: The definition is 50% of the work. These 10 hours (and some more unlogged hours) were some of the most perfectionist work I’ve done in a while, aligning everything nicely and drawing clean tracks. I really wanted this to be a quality piece of open source hardware instead of some lazy slop. Steps I’ll describe my process in these 10 hours, since I think it is not only good for me to reflect on the stuff I did, but also great (debatable) experiences I could share with others so you could learn from the inefficient work I’ve done: 1.Imported 3D models for 1-to-1 sizing and making sure it all fitted in the case, and transferring over to a CAD model with my tin. This actually took a while because of the niche modules I’m using, and I had to design many of them myself. I recommend you try to design it as simply as possible for layout. This will give you a rough idea of the size of each component. As you can see, I had many components with lots of details, and that lagged the hell out of my Shapr (and caused my KiCAD to crash as well, didn’t press ctrl + s again when checking DRC), so making simple polygons would be the way to go. A neat trick I learnt to quickly add 3D models to KiCAD was to edit the PCB in a text file using Notepad++ (and plugins) to find all and replace all. The 3D models also let you know how wrong you designed your footprints, so don’t skip this step. ALL of this should be done before routing, or else 1 reposition could waste so much time. 2.Create clean, manageable tracks. I spent a lot of time making sure the tracks were arranged in a logical way where I can draw the tracks through my 2-layer PCB. Vias were very useful when I topologically had no way to get to my endpoint. 3.Add mouse bites to finish it off. I used mouse bites to make the PCB into 1 piece instead of 2 separate ones so I can save a bit of money. Again, my goal for this cyberdeck is to make it relatively cheap. I used mousebite footprints from this amazing library: https://github.com/AchimPieters/mouse-bite.pretty 4.Switched protocols from USB to UART, because the USB pins were too difficult to solder on the other piece if I soldered it flush against the PCB - this is a trade-off between compactness and functionality. So yeah, to the ones reading this devlog, hopefully you learnt something. I certainly wish I’d learnt all of this before I started the design so that I could’ve saved 5 hours. Problems The battery and solar panel cannot fit together at the same time. The wires may not fit for crossing the channel (UART wires) when the lid is closed. It may not be rechargeable with a solar panel because the charging module would break, unless I make room for another switch. I cannot order LiPO batteries from overseas due to legal customs constraints (at least I don’t think I can unless I pay hefty fees) What I need to do next Now that the PCB is done, I need to find a smaller solar panel and lipo battery to fit everything inside - at the cost of power, however. Once the space issue is solved, I need to create a CAD case for the keyboard and the screen. And finally, I can create the firmware and finish the project at last."}, {"post_id": 24760, "ts": "2026-07-08T15:26:38Z", "hours": 5.85, "text": "PCB layout 1/2 done It felt like this was a very unproductive 6 hours, but the struggle genuinely paid off as the layout is essentially perfect right now. The layout is CRUCIAL. Without a good layout for a compact and smart design, there is no difference between handwiring the components on a breadboard and using a PCB. There are a few things I wanted to achieve in the PCB: Understandable for anyone editing/fabricating this as it will be open source Easy to edit - clean tracks Compact (duh, for the altoids case) “Mountable” on a 3D printed case/frame - so it looks cleaner So far, goals 1,3,4 are done, and I have yet to draw the tracks because I’ve been so busy with making everything aligned in a grid (like the keyboard), and making sure everything was readable (literally had to handpick the silkscreen out of each component). To make sure everything was fitting correctly, I drew some temporary silkscreen on top of everything to know exactly how big it would be. Improvements I have made since the last one: Screen has been reconfigured to SPI instead of I2C by rewiring SDA to MOSI and SCK to CLK on the zero 2W. Added a switch for on-off; I’m currently struggling to find a good enough switch with enough current rating so it doesn’t melt and break. The diodes are placed under the buttons so that they can save space - this however, may lead to an uneven bottom, and the keyboard would need a good 3D modelled case. (At first, it was placed in the blank space above the keyboard as seen, but now, it can be made a lot more compact) P.S. Tragedy struck during this session - 2 hours of work was lost because I didn’t save, and KiCAD crashed. Will never forget ctrl + s ever again."}, {"post_id": 21552, "ts": "2026-07-03T15:59:04Z", "hours": 5.9461, "text": "Completed KiCAD schematic I’m fairly confident with KiCAD by now so I did this pretty quickly, just under 6 hours. Again, this is a nature themed mini cyberdeck that fits in an altoids tin, with an LCD screen, a PCB keyboard, and a rechargeable battery (possibly by solar panels). What I have essentially done: Found all the components I need from Aliexpress Created and assigned footprints/symbols such as the battery charger and LCD Changed up a lot of the initial plan - might add a solar panel to enhance the “Nature” theme and possibly make it a doomsday device as well XD, will confirm at the CAD design stage when I finally fit all of these components in that lil tiny box Wired everything up! 0 ERC errors (we can ignore some of it because I just can’t figure out how to assing the pins functions right like wdym bidirectional is not allowed for power output) This is great progress, I’m excited to wire the PCB up and become miserable once I find out these components dont fit on one board :( But that’s for tomorrow, see you then! P.S. Also awaiting sanity check in the slack channel for the schematic, might make minor edits tomorrow"}, {"post_id": 15515, "ts": "2026-06-25T06:36:29Z", "hours": 1.1667, "text": "Idea and research “When life gives you mints, you make a cyberdeck with the box.” -Tsun su or something Overview of the project and the plan I got a Ricola box that reminded me of the cool cyberdecks I’ve seen on Pinterest, and I really wanted to make one. I wanted to make a cyberdeck that is nature-themed (really matches with the mountainous terrain on the box), and is a general-purpose computer. I would also prefer it if this could be used as a portable gaming console XD, running Pokemon Red or Doom or Tetris, etc. I measured the dimensions, and it turns out it was exactly like an Altoids tin, which most people usually use to make cyberdecks and other stuff. This will likely be powered with a Raspberry Pi Zero W for its compactness (and the fact that I already have one), and use 1 PCB for the keyboard (probably QMK). This is subject to change, but still a rough idea of what I’m aiming for. What I need to work on I need to figure out the different components I will use and source them from Alibaba, preferably for a lower price and faster shipping due to my geographical advantage. Need to design the PCB for keyboard matrix layout and figure out what microcontroller to use."}]...
|
Title: Nature's cyberdeck by @LinuxDino | Star Title: Nature's cyberdeck by @LinuxDino | Stardance
Devlogs:
Idea and research “When life gives you mints, you make a cyberdeck with the box.” -Tsun su or something Overview of the project and the plan I got a Ricola box that reminded me of the cool cyberdecks I’ve seen on Pinterest, and I really wanted to make one. I wanted to make a cyberdeck that is nature-themed (really matches with the mountainous terrain on the box), and is a general-purpose computer. I would also prefer it if this could be used as a portable gaming console XD, running Pokemon Red or Doom or Tetris, etc. I measured the dimensions, and it turns out it was exactly like an Altoids tin, which most people usually use to make cyberdecks and other stuff. This will likely be powered with a Raspberry Pi Zero W for its compactness (and the fact that I already have one), and use 1 PCB for the keyboard (probably QMK). This is subject to change, but still a rough idea of what I’m aiming for. What I need to work on I need to figure out the different components I will use and source them from Alibaba, preferably for a lower price and faster shipping due to my geographical advantage. Need to design the PCB for keyboard matrix layout and figure out what microcontroller to use.
Completed KiCAD schematic I’m fairly confident with KiCAD by now so I did this pretty quickly, just under 6 hours. Again, this is a nature themed mini cyberdeck that fits in an altoids tin, with an LCD screen, a PCB keyboard, and a rechargeable battery (possibly by solar panels). What I have essentially done: Found all the components I need from Aliexpress Created and assigned footprints/symbols such as the battery charger and LCD Changed up a lot of the initial plan - might add a solar panel to enhance the “Nature” theme and possibly make it a doomsday device as well XD, will confirm at the CAD design stage when I finally fit all of these components in that lil tiny box Wired everything up! 0 ERC errors (we can ignore some of it because I just can’t figure out how to assing the pins functions right like wdym bidirectional is not allowed for power output) This is great progress, I’m excited to wire the PCB up and become miserable once I find out these components dont fit on one board :( But that’s for tomorrow, see you then! P.S. Also awaiting sanity check in the slack channel for the schematic, might make minor edits tomorrow
PCB layout 1/2 done It felt like this was a very unproductive 6 hours, but the struggle genuinely paid off as the layout is essentially perfect right now. The layout is CRUCIAL. Without a good layout for a compact and smart design, there is no difference between handwiring the components on a breadboard and using a PCB. There are a few things I wanted to achieve in the PCB: Understandable for anyone editing/fabricating this as it will be open source Easy to edit - clean tracks Compact (duh, for the altoids case) “Mountable” on a 3D printed case/frame - so it looks cleaner So far, goals 1,3,4 are done, and I have yet to draw the tracks because I’ve been so busy with making everything aligned in a grid (like the keyboard), and making sure everything was readable (literally had to handpick the silkscreen out of each component). To make sure everything was fitting correctly, I drew some temporary silkscreen on top of everything to know exactly how big it would be. Improvements I have made since the last one: Screen has been reconfigured to SPI instead of I2C by rewiring SDA to MOSI and SCK to CLK on the zero 2W. Added a switch for on-off; I’m currently struggling to find a good enough switch with enough current rating so it doesn’t melt and break. The diodes are placed under the buttons so that they can save space - this however, may lead to an uneven bottom, and the keyboard would need a good 3D modelled case. (At first, it was placed in the blank space above the keyboard as seen, but now, it can be made a lot more compact) P.S. Tragedy struck during this session - 2 hours of work was lost because I didn’t save, and KiCAD crashed. Will never forget ctrl + s ever again.
PCB Part 2/2 (Finished) As the saying goes: The definition is 50% of the work. These 10 hours (and some more unlogged hours) were some of the most perfectionist work I’ve done in a while, aligning everything nicely and drawing clean tracks. I really wanted this to be a quality piece of open source hardware instead of some lazy slop. Steps I’ll describe my process in these 10 hours, since I think it is not only good for me to reflect on the stuff I did, but also great (debatable) experiences I could share with others so you could learn from the inefficient work I’ve done: 1.Imported 3D models for 1-to-1 sizing and making sure it all fitted in the case, and transferring over to a CAD model with my tin. This actually took a while because of the niche modules I’m using, and I had to design many of them myself. I recommend you try to design it as simply as possible for layout. This will give you a rough idea of the size of each component. As you can see, I had many components with lots of details, and that lagged the hell out of my Shapr (and caused my KiCAD to crash as well, didn’t press ctrl + s again when checking DRC), so making simple polygons would be the way to go. A neat trick I learnt to quickly add 3D models to KiCAD was to edit the PCB in a text file using Notepad++ (and plugins) to find all and replace all. The 3D models also let you know how wrong you designed your footprints, so don’t skip this step. ALL of this should be done before routing, or else 1 reposition could waste so much time. 2.Create clean, manageable tracks. I spent a lot of time making sure the tracks were arranged in a logical way where I can draw the tracks through my 2-layer PCB. Vias were very useful when I topologically had no way to get to my endpoint. 3.Add mouse bites to finish it off. I used mouse bites to make the PCB into 1 piece instead of 2 separate ones so I can save a bit of money. Again, my goal for this cyberdeck is to make it relatively cheap. I used mousebite footprints from this amazing library: https://github.com/AchimPieters/mouse-bite.pretty 4.Switched protocols from USB to UART, because the USB pins were too difficult to solder on the other piece if I soldered it flush against the PCB - this is a trade-off between compactness and functionality. So yeah, to the ones reading this devlog, hopefully you learnt something. I certainly wish I’d learnt all of this before I started the design so that I could’ve saved 5 hours. Problems The battery and solar panel cannot fit together at the same time. The wires may not fit for crossing the channel (UART wires) when the lid is closed. It may not be rechargeable with a solar panel because the charging module would break, unless I make room for another switch. I cannot order LiPO batteries from overseas due to legal customs constraints (at least I don’t think I can unless I pay hefty fees) What I need to do next Now that the PCB is done, I need to find a smaller solar panel and lipo battery to fit everything inside - at the cost of power, however. Once the space issue is solved, I need to create a CAD case for the keyboard and the screen. And finally, I can create the firmware and finish the project at last.
Finally found it (and created Readme.md + GH Repo) My long, arduous search for a 3.7V Li-po/Li-ion battery has finally come to an end. Since my local area has quite strict import of dangerous Lipo battery rules, I had to go find a LiPo battery from local vendors. This actually took way longer than I expected, because I refused to believe that the Mouser Electronics and DigiKey websites were legit. Turns out, they literally have a headquarters here in Hong Kong. I can source my battery holders from them The problem was always this - the battery was too big and bulky. A flat rectangular LiPo battery would fit into that box nicely, but it wasted a lot of space for the flat solar panel, and the space I had constrained the volume I could put. So I decided on 3.7V Li-ion batteries - the little cylindrical ones. Here’s a cool thing I learnt. Many electronics projects use the 18650 battery, but I never knew what it meant until I found its AA(14400) and AAA(10440) counterparts. It is actually very systematic: 18(mm) is the diameter of the cell 65.0(mm) is the length of the cell Isn’t that cool? Just wanted to share that. So finally, I decided to use the 10440 batteries (3.7V, 350mAh), and I would also need keystone clips to handle the 2A+ current draw from the RPis. I can insert these clips into my 3D-printed case to save some space. Things I need to do next: CAD case: hopefully this is less cortisol-demanding Firmware and software Finish Readme and submit this project for funding I’ll see you soon, probably taking a break over the weekend due to some family visits.
Oh no Major revelation - This may not work at all - I may have to go back to the drawing board There were at least 10 hours of unlogged time over the last few days because I honestly forgot to. Ok, so good news and bad news. Good news: I brought some components from a local electronics store I can actually test and measure dimensions of, including Cheap LCD Screen 160x128, smaller than what I wanted That charging module that can convert from 3.7v to 5v Lipo batteries, which I found 800mAh and 400mAh, which was perfect, and I don’t know why this wasn’t listed on their website I got the LCD to work! This is a major breakthorugh as now I can actually run the raspberry pi zero 2 w on the LCD via SPI protocol. This took way longer than expected because the raspberry pi os 64 bit didn’t support this way of displaying the screen due to outdated drivers I think. Exercising ingenuity - the YouTube channel - have also noticed this problem. Bad news: I have to redesign the CAD to fit the 800mAh battery instead of my 10440 battery I have to redesign the PCB because of an evil little resistor I circled in the image below, which would in no way make it flush and solder well with the PCB. I have to redesign the schematic because I need to remove the rp2040 zero and simply add 11 wires between the keyboard and the pi. But honestly, this is not as bad as it seems. It’s just that all my efforts into making the mousebites perfect might have been wasted. I need to redo so much stuff gah
Fixed all schematic, PCB, and CAD Ok first I need to crash out because why did my KiCAD crash 4 times during these sessions is my laptop genuinely that bad its 16GB it cannot be that bad also why did I have to almost rewire everything because I flipped around the connectors dude this cannot be real I spent 4 hours of my life on routing it and found out it was flipped. Thank god I found a much more elegant solution - flipping it around and rotating it 180degs Crashout over sorry Anyways, finally finished the PCB. Well at least for now. What I have done: Routed the connectors on both of the boards (I don’t think I have mentioned this in my last devlog, but I’ve decided to remove the rp2040 zero for its redundancy and extra power usage. It is much easier if I connect the two PCBs with FFC wires - 15pins - and hence that’s why you see 15 errors in the DRC). This actually took very long and was comparable to solving a jigsaw puzzle. Made the schematic a bit prettier and organised Added a space for the Lipo battery on the KEYBOARD side. This saved so much space and now I have so much freedom, mightve been my proudest moment. But this will require me to use the 400mAh battery instead. I removed the pads for 3 of the buttons in order to fit the traces in this tight space, and since tactile buttons do not require all 4 pins, this should work fine. What I need to do: Add some protection system for the solar panel, still need to research off camera Create CAD cases for everything, and make sure everything fits And then I think I’m finally done after the README and BOM! Some stuff I need to correct from my previous devpost Turns out, there is a much more efficient way to change all CAD models of a footprint in KiCAD - there is a button in the menu for that in the update footprint from the library page. No need to use Notepad++, we aren’t in 2013 anymore. Panelisation may not be cheaper, in fact it might be more expensive than if you ordered the boards separately....
|
1792723789.687853
|
1793328589.687853
|
|
1870
|
My first slack bot! by @Gaxthecool | Stardance
|
Gaxthecool
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Gaxthecool | Starda Title: My first slack bot! by @Gaxthecool | Stardance...
|
1792723790.8144085
|
1793328590.8144085
|
|
22849
|
Zeno-Bot by @kow4566 | Stardance
|
kow4566
|
2
|
3.0
|
7
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T08:30:29Z", "hours": 1.0, "multiplier": 4.94, "payout": 3, "blessing": "neutral", "text": "This is one of the best devlogs or maybe ships i have made so far cuz i made loads of things here - /zeno-bot-roll /zeno-bot-book /zeno-bot-duck /zeno-bot-study /zeno-bot-aura /zeno-bot-news /zeno-bot-pingChecks if the bot is online And it works really well right now, i have made about 7 useful commands extra to my bot and will soon get better. I will soon make better commands and maybe design a new icon for zeno bot soon!", "repo": "https://github.com/koushikrajd2011-rgb/Zeno-Bot", "demo": "https://koushikrajd2011-rgb.github.io/Zeno-Bot/"}, {"ship_num": 2, "ts": "2026-06-27T15:40:22Z", "hours": 2.0, "multiplier": 1.77, "payout": 4, "blessing": "neutral", "text": "I built a Slack bot - Zeno. The bot can fetch real-time data from APIs like jokes, facts, dictionary definitions, and images, all directly inside Slack. The hardest part was deployment and debugging. Getting the bot to run continuously on a server using systemd Handling API failures (like broken or missing responses) Making sure Slack slash commands respond correctly using ack() To test the bot, users can use these Slack slash commands: /zeno-bot-help → shows all available commands /zeno-bot-fact → returns a random fact /zeno-bot-joke → returns a joke /zeno-bot-define → gives definition of a word /zeno-bot-image → shows a random image /zeno-bot-ping → checks bot latency Im actually pretty much proud of making one slack-bot that i was glazing quite a lot since it was my first time every trying out such a project!", "repo": "https://github.com/koushikrajd2011-rgb/Zeno-Bot", "demo": "https://koushikrajd2011-rgb.github.io/Zeno-Bot/"}]...
|
[{"post_id": 22663, "ts": "202 [{"post_id": 22663, "ts": "2026-07-05T06:46:13Z", "hours": 0.5728, "text": "I have added new commands for zeno-bot and i think there were quite loads of bugs here but fixed them. I also removed the introduction page since reviews said they were not necessary and have made the required changes. The picture below is a command which reccomends u a book to read. Ok so lastly, here are the new commands - /zeno-bot-roll /zeno-bot-book /zeno-bot-duck /zeno-bot-study /zeno-bot-aura /zeno-bot-news /zeno-bot-pingChecks if the bot is online"}, {"post_id": 16968, "ts": "2026-06-27T15:31:18Z", "hours": 0.5814, "text": "Zeno-Bot can finally run 24/7. Here is what i have done within half an hour - -Set up Slack Bolt app using Socket Mode -Connected environment variables using a .env file -Integrated external APIs for real-time data ."}, {"post_id": 14277, "ts": "2026-06-23T10:10:27Z", "hours": 1.5181, "text": "Zeno-Bot is a slack bot i made especially to be useful when it comes to using slashed as commands. It can now make jokes,fetch facts,get u some images of space and do more. Demo will be soon found in the introduction website (which is under the try project button)."}]...
|
Title: Zeno-Bot by @kow4566 | Stardance
Devlogs:
Title: Zeno-Bot by @kow4566 | Stardance
Devlogs:
Zeno-Bot is a slack bot i made especially to be useful when it comes to using slashed as commands. It can now make jokes,fetch facts,get u some images of space and do more. Demo will be soon found in the introduction website (which is under the try project button).
Zeno-Bot can finally run 24/7. Here is what i have done within half an hour - -Set up Slack Bolt app using Socket Mode -Connected environment variables using a .env file -Integrated external APIs for real-time data .
I have added new commands for zeno-bot and i think there were quite loads of bugs here but fixed them. I also removed the introduction page since reviews said they were not necessary and have made the required changes. The picture below is a command which reccomends u a book to read. Ok so lastly, here are the new commands - /zeno-bot-roll /zeno-bot-book /zeno-bot-duck /zeno-bot-study /zeno-bot-aura /zeno-bot-news /zeno-bot-pingChecks if the bot is online
Ships:
I built a Slack bot - Zeno. The bot can fetch real-time data from APIs like jokes, facts, dictionary definitions, and images, all directly inside Slack. The hardest part was deployment and debugging. Getting the bot to run continuously on a server using systemd Handling API failures (like broken or missing responses) Making sure Slack slash commands respond correctly using ack() To test the bot, users can use these Slack slash commands: /zeno-bot-help → shows all available commands /zeno-bot-fact → returns a random fact /zeno-bot-joke → returns a joke /zeno-bot-define → gives definition of a word /zeno-bot-image → shows a random image /zeno-bot-ping → checks bot latency Im actually pretty much proud of making one slack-bot that i was glazing quite a lot since it was my first time every trying out such a project!
This is one of the best devlogs or maybe ships i have made so far cuz i made loads of things here - /zeno-bot-roll /zeno-bot-book /zeno-bot-duck /zeno-bot-study /zeno-bot-aura /zeno-bot-news /zeno-bot-pingChecks if the bot is online And it works really well right now, i have made about 7 useful commands extra to my bot and will soon get better. I will soon make better commands and maybe design a new icon for zeno bot soon!...
|
1793242190.9646811
|
1793328590.9646811
|
|
39669
|
Ethio-share Air Gap by @ayitegebtilahun | Stardanc Ethio-share Air Gap by @ayitegebtilahun | Stardance...
|
ayitegebtilahun
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Ethio-share Air Gap by @ayitegebtilahun | S Title: Ethio-share Air Gap by @ayitegebtilahun | Stardance...
|
1792723791.6632216
|
1793328591.6632216
|
|
12601
|
My first slack bot! by @dom1kus | Stardance
|
dom1kus
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @dom1kus | Stardance
|
1792723792.505847
|
1793328592.505847
|
|
37311
|
Untitled by @anishbhangar | Stardance
|
anishbhangar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @anishbhangar | Stardance
|
1792723793.4356954
|
1793328593.4356954
|