|
13945
|
Motion scencer device by @yadavbibek119 | Stardanc Motion scencer device by @yadavbibek119 | Stardance...
|
yadavbibek119
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Motion scencer device by @yadavbibek119 | S Title: Motion scencer device by @yadavbibek119 | Stardance...
|
1793249717.8998432
|
1793854517.8998432
|
|
70869
|
My very own WebOS by @yadav_kr_shiv | Stardance
|
yadav_kr_shiv
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @yadav_kr_shiv | Stard Title: My very own WebOS by @yadav_kr_shiv | Stardance...
|
1792626423.7962022
|
1793231223.7962022
|
|
70054
|
BLARE by @yadarithvik | Stardance
|
yadarithvik
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @yadarithvik | Stardance
|
1792957988.435456
|
1793562788.435456
|
|
32085
|
My awesome macropad! by @yachu | Stardance
|
yachu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @yachu | Stardance
|
1792939725.5197148
|
1793803725.5197148
|
|
34669
|
WarioWare Game by @yachu | Stardance
|
yachu
|
0
|
1.24
|
0
|
[]
|
[{"post_id": 27939, "ts": "202 [{"post_id": 27939, "ts": "2026-07-13T21:37:29Z", "hours": 1.2383, "text": "ive been working on making minigames and ive got to say this is not as easy as i thought it was going to be. I got stuck many times and had to spend a lot of time trouble shooting and all. Im new to godot and github so it was a bit hard project for me. I faced a lot of problem when i couldnt find the super wakatime olugin on the asset lib. If anyone esle is facing this problem i would suggest them to install an older version of godot and the issue gets fixed. As you can see when i tried it in the older version of godot i did get the super wakatime plugin. Hope this was helpful to any of you.(sorry if i said sm dumb. Im new to this)"}]...
|
Title: WarioWare Game by @yachu | Stardance
Devlo Title: WarioWare Game by @yachu | Stardance
Devlogs:
ive been working on making minigames and ive got to say this is not as easy as i thought it was going to be. I got stuck many times and had to spend a lot of time trouble shooting and all. Im new to godot and github so it was a bit hard project for me. I faced a lot of problem when i couldnt find the super wakatime olugin on the asset lib. If anyone esle is facing this problem i would suggest them to install an older version of godot and the issue gets fixed. As you can see when i tried it in the older version of godot i did get the super wakatime plugin. Hope this was helpful to any of you.(sorry if i said sm dumb. Im new to this)...
|
1792626896.478649
|
1793231696.478649
|
|
35049
|
my APOD site by @yachu | Stardance
|
yachu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: my APOD site by @yachu | Stardance
|
1793199242.0582528
|
1793804042.0582528
|
|
35050
|
F1 RB20 Scroll Concept by @yachu | Stardance
|
yachu
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-21T20:35:17Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made a Scroll concept website with a F1 car that I could learn JS from as i know html and css to some level. I did use AI to help me with debugging and explaining hard concepts like GLTFLoader and scroll trigger animations. The website is a very basic scroll animation website with a RB20 3d model by Dave Love on sketchfab that i choreographed to get to positions that i wanted it to go to and some basic details about the RB20 championship car.", "repo": "https://github.com/yaaachuuh/Personalite", "demo": "http://redb20.nkv.ee/"}]...
|
[{"post_id": 32110, "ts": "202 [{"post_id": 32110, "ts": "2026-07-21T01:36:09Z", "hours": 1.0494, "text": "Devlog #4 Aaaaannnnddd, thats itt for my first javascript project. Today was basically just aligning the car, adding text blocks here n there and a table at the end. I did run into some problems of a very dumb mistake of not adding the stats part of css into my class in html. It was a very easy fix so nothing much about it. I added the CC Attribution and stuff at the end of the website as i had downloaded it from sketchfab and the real creator of the 3d model deserves it for his time and hardwork. Thats all i guess, now its time to ship. Thanks to anyone who has been following my small journey and i hope to make a better website with better scroll animations for my own design brand called Nokovi."}, {"post_id": 31727, "ts": "2026-07-20T11:08:06Z", "hours": 1.7142, "text": "Devlog #3 Today, I changed the static rotation in place and designed and choreographed an actual proper scroll animation for the website so it doesnt just look like the car is rotating in one place and made it actually fun to scroll through. I had to play with the 3 axises and camera angles and took some time to figure out what is what and finally when i got the grasp of it, it was so much easier and felt so easy to just place things wherever i want to and not. I did use AI a lot today tbh but i can positively say i learned much more today than other days. I sent the car flying like a ninja star quite a few times and it was honestly funny to see how it looked. Ive put the recording down below so watch it if u wanna see the “bloopers” of my small project. Debugging was also a problem today as the sizes and stuff that AI recommended i put them in the wrong places and thankfully i figured it out later as i learned. And at last i genuinely had no way to understand how the responsive thing worked so i watched few videos and asked doubts to ai and then finally found the answer to make my website responsive(it was just 4 lines bro). yea thats all for devlog 3 and now imma go work on the actual history and details of the rb20. Thank youu"}, {"post_id": 30332, "ts": "2026-07-17T20:04:56Z", "hours": 1.195, "text": "Devlog #2 Ok so, today i figured that primitives wasnt gonna work out as it took forever to understand and im pretty bad at it. So i switched to the next best thing my tiny head suggested, a 3d model(best dicision i made). I learned about the world of sketchfab and how many extremely talented people exist in this world.i had to work with CC attribution vs NonCommercial(i didnt quite know them before)and figure out which was usable for my project. I first tried a lightweight model with separate wheel meshes (good for the explode effect), but pivoted to the detailed RB20 (365k triangles) for visual quality which was quite the tradeoff. I havent actually changed much text or anything and thats for tomorrow with better angles and more history about the car. I downloaded the wrong formats and then finally got to .glb ,26MB,1k texture. Then came the real debugging round 2(yes, again). Every time, I got a cleann 404 on the model path even though the file was litrelly sitting right there in the folder. Turns out the liveserver doesnt just notice the new files or folders sometimes. I had to fully stop and restart it and had it double checked with curl in terminal just to be sure if the server actually had the file before touching the browser again, and it did. Then the model “loaded” with zero errors, console looked totally clean, but absolutely nothing showed up on screen.Then came back n forth with AI and finally realized I’d deleted my entire render loop when I swapped out the old primitive car code for the model-loading code. WOW. And then with the help of AI i added requestAnimationFrame + renderer.render back and the car finally appeared. Finally , the car came and everything looked alright but the cars color was a bit off so i did a little tweaking here and there and then changed the bg asw . Thats it for my day 2 and devlog 2. (Let me know which bg color is better)!!"}, {"post_id": 29648, "ts": "2026-07-16T18:31:42Z", "hours": 2.7431, "text": "Dev Log#1 Ive always wanted to learn js and what better way to learn it by making a project. I love F1 and hope to work as a race engineer one day. So i combined the both and thought of a plan to make a smooth scroll animation website using html,css and js. Yea, AI was used to explain a lot of stuff and otherwise I’ll be honest id just be copy pasting whats on youtube and other websites. i learned a lot in just one day of “trying” to make a decent scroll animation. I started my project by watching a yt vid and then later realised this was nowhere near my level of expertise and got a taste of the real deal but I still followed through it and when it felt like just copying what hes doing, i added my own twist and deviated from the original yt vid and turned to the exploding F1 car concept. As for the name DRIVEN, it is a bigger project of mine which i have been working on for a while and i hope to share it with you all soon. The Build: it started with just scrolling through four coloured blocks and got to much better level. Building the car out of Three.js primitives was an actual hell for me. and took most of my day watching tutorials and chats with friends and ai. Then came the debugging part. OH MY DAYS. I swear now i hate people who use ai for every part of their code more. Yea using a little i can see the point. Locomotive scroll and gsap scrolltrigger was a real issue. the scroll bar was visible but it wouldnt scroll down and no tutorials that i watched helped me out. The fix was to rip out Locomotive Scroll and just going native scroll. yea now my brain hurts so thats all for my first ever dev log. I hope to polish this website more tomorrow and hopefully i get a better looking F1 car than this cubes and cones."}]...
|
Title: F1 RB20 Scroll Concept by @yachu | Stardanc Title: F1 RB20 Scroll Concept by @yachu | Stardance
Devlogs:
Dev Log#1 Ive always wanted to learn js and what better way to learn it by making a project. I love F1 and hope to work as a race engineer one day. So i combined the both and thought of a plan to make a smooth scroll animation website using html,css and js. Yea, AI was used to explain a lot of stuff and otherwise I’ll be honest id just be copy pasting whats on youtube and other websites. i learned a lot in just one day of “trying” to make a decent scroll animation. I started my project by watching a yt vid and then later realised this was nowhere near my level of expertise and got a taste of the real deal but I still followed through it and when it felt like just copying what hes doing, i added my own twist and deviated from the original yt vid and turned to the exploding F1 car concept. As for the name DRIVEN, it is a bigger project of mine which i have been working on for a while and i hope to share it with you all soon. The Build: it started with just scrolling through four coloured blocks and got to much better level. Building the car out of Three.js primitives was an actual hell for me. and took most of my day watching tutorials and chats with friends and ai. Then came the debugging part. OH MY DAYS. I swear now i hate people who use ai for every part of their code more. Yea using a little i can see the point. Locomotive scroll and gsap scrolltrigger was a real issue. the scroll bar was visible but it wouldnt scroll down and no tutorials that i watched helped me out. The fix was to rip out Locomotive Scroll and just going native scroll. yea now my brain hurts so thats all for my first ever dev log. I hope to polish this website more tomorrow and hopefully i get a better looking F1 car than this cubes and cones.
Devlog #2 Ok so, today i figured that primitives wasnt gonna work out as it took forever to understand and im pretty bad at it. So i switched to the next best thing my tiny head suggested, a 3d model(best dicision i made). I learned about the world of sketchfab and how many extremely talented people exist in this world.i had to work with CC attribution vs NonCommercial(i didnt quite know them before)and figure out which was usable for my project. I first tried a lightweight model with separate wheel meshes (good for the explode effect), but pivoted to the detailed RB20 (365k triangles) for visual quality which was quite the tradeoff. I havent actually changed much text or anything and thats for tomorrow with better angles and more history about the car. I downloaded the wrong formats and then finally got to .glb ,26MB,1k texture. Then came the real debugging round 2(yes, again). Every time, I got a cleann 404 on the model path even though the file was litrelly sitting right there in the folder. Turns out the liveserver doesnt just notice the new files or folders sometimes. I had to fully stop and restart it and had it double checked with curl in terminal just to be sure if the server actually had the file before touching the browser again, and it did. Then the model “loaded” with zero errors, console looked totally clean, but absolutely nothing showed up on screen.Then came back n forth with AI and finally realized I’d deleted my entire render loop when I swapped out the old primitive car code for the model-loading code. WOW. And then with the help of AI i added requestAnimationFrame + renderer.render back and the car finally appeared. Finally , the car came and everything looked alright but the cars color was a bit off so i did a little tweaking here and there and then changed the bg asw . Thats it for my day 2 and devlog 2. (Let me know which bg color is better)!!
Devlog #3 Today, I changed the static rotation in place and designed and choreographed an actual proper scroll animation for the website so it doesnt just look like the car is rotating in one place and made it actually fun to scroll through. I had to play with the 3 axises and camera angles and took some time to figure out what is what and finally when i got the grasp of it, it was so much easier and felt so easy to just place things wherever i want to and not. I did use AI a lot today tbh but i can positively say i learned much more today than other days. I sent the car flying like a ninja star quite a few times and it was honestly funny to see how it looked. Ive put the recording down below so watch it if u wanna see the “bloopers” of my small project. Debugging was also a problem today as the sizes and stuff that AI recommended i put them in the wrong places and thankfully i figured it out later as i learned. And at last i genuinely had no way to understand how the responsive thing worked so i watched few videos and asked doubts to ai and then finally found the answer to make my website responsive(it was just 4 lines bro). yea thats all for devlog 3 and now imma go work on the actual history and details of the rb20. Thank youu
Devlog #4 Aaaaannnnddd, thats itt for my first javascript project. Today was basically just aligning the car, adding text blocks here n there and a table at the end. I did run into some problems of a very dumb mistake of not adding the stats part of css into my class in html. It was a very easy fix so nothing much about it. I added the CC Attribution and stuff at the end of the website as i had downloaded it from sketchfab and the real creator of the 3d model deserves it for his time and hardwork. Thats all i guess, now its time to ship. Thanks to anyone who has been following my small journey and i hope to make a better website with better scroll animations for my own design brand called Nokovi.
Ships:
Made a Scroll concept website with a F1 car that I could learn JS from as i know html and css to some level. I did use AI to help me with debugging and explaining hard concepts like GLTFLoader and scroll trigger animations. The website is a very basic scroll animation website with a RB20 3d model by Dave Love on sketchfab that i choreographed to get to positions that i wanted it to go to and some basic details about the RB20 championship car....
|
1793120053.7415316
|
1793206453.7415316
|
|
39351
|
IdeaVault by @yachu | Stardance
|
yachu
|
0
|
8.22
|
0
|
[]
|
[{"post_id": 52600, "ts": "202 [{"post_id": 52600, "ts": "2026-08-22T20:06:34Z", "hours": 0.7386, "text": "Devlog#4 Got done with the history page, didnt face any trouble doing so, i removed the home page section as it didnt serve much purpose anyways and it felt useless. I made the background more dim and made it better for the eyes so viewing it at night wouldnt be an issue. Thats all for today, tomorrow i plan on making the profile page. Thank you"}, {"post_id": 49626, "ts": "2026-08-18T14:48:52Z", "hours": 0.9469, "text": "Devlog#3 - IdeaVault Been busy with doing the history part and this where i genuinely had no clue of what to do, so after a few youtube videos which didnt help i asked the great claude for help and finally figured it out. I have to add the scroll section for the history page but that is a very easy job and ill be done with it fast as ive already done something similar in the idea section."}, {"post_id": 47620, "ts": "2026-08-15T16:59:02Z", "hours": 4.5389, "text": "Devlog #2 — IdeaVault Back after a very long timee. It took me days to figure out js and my mind was just blank for the other few day. I got the supabase auth working with login and register both working properly. I can authenticate real users now, session gets checked on Home so no one can just waltz in without logging in.Then came the New idea page where all my time went. I just couldnt figure out which was the best layout and all and this is honestly the core of the whole app. You can either type your idea or hit the mic and just talk it out(YES TEXT TO SPEECH WORKEDDD!!!) recording goes through the browser’s MediaRecorder with a live waveform so you can actually see it’s picking up your voice, then it gets sent to Groq’s Whisper model to transcribe. From there it goes to Groq’s LLM with a prompt I tuned hard to actually be harsh and skeptical instead of just hyping up every idea like how every ai does and now it gives a real viability score, names competitors, calls out the biggest risk, asks a pointed question, and gives next steps.I also added a little donut-chart style score circle and a copy button so users can copy the full report and paste it into another AI later if they want to dig deeper. Debugging again was like hell today. From typos everywhere to duplicate ids and a broken loading state that kept wiping out my entire HTML (honestly my mistake, i was sleeeepy as hell). Anyways, next steps are history page and profile page. I might ditch the profile page entirely but i would like your opinion on it. Thank You"}, {"post_id": 35939, "ts": "2026-07-27T18:25:07Z", "hours": 1.9975, "text": "Devlog #1 — IdeaVault I started building IdeaVault today.Its an app where you can dump a raw idea and it tells you if it’s actually worth pursuing (viability, money potential, risks) using an AI judge behind the scenes. I decided to skip fancy animations and stuff as the project in my head is supposed to be a cozy place that i can open up at 2 am and just dump my ideas without wasting much time typing it out and potentially forgetting the idea. Today i built the login page with glassmorphism card over the background. Now next up i have to set up wiring supabase auth so this login can actually work and then step by step make the home/new idea/histroy/profile shell… And yea ill probably use ai to help me out here as ive never used supabase yet."}]...
|
Title: IdeaVault by @yachu | Stardance
Devlogs:
D Title: IdeaVault by @yachu | Stardance
Devlogs:
Devlog #1 — IdeaVault I started building IdeaVault today.Its an app where you can dump a raw idea and it tells you if it’s actually worth pursuing (viability, money potential, risks) using an AI judge behind the scenes. I decided to skip fancy animations and stuff as the project in my head is supposed to be a cozy place that i can open up at 2 am and just dump my ideas without wasting much time typing it out and potentially forgetting the idea. Today i built the login page with glassmorphism card over the background. Now next up i have to set up wiring supabase auth so this login can actually work and then step by step make the home/new idea/histroy/profile shell… And yea ill probably use ai to help me out here as ive never used supabase yet.
Devlog #2 — IdeaVault Back after a very long timee. It took me days to figure out js and my mind was just blank for the other few day. I got the supabase auth working with login and register both working properly. I can authenticate real users now, session gets checked on Home so no one can just waltz in without logging in.Then came the New idea page where all my time went. I just couldnt figure out which was the best layout and all and this is honestly the core of the whole app. You can either type your idea or hit the mic and just talk it out(YES TEXT TO SPEECH WORKEDDD!!!) recording goes through the browser’s MediaRecorder with a live waveform so you can actually see it’s picking up your voice, then it gets sent to Groq’s Whisper model to transcribe. From there it goes to Groq’s LLM with a prompt I tuned hard to actually be harsh and skeptical instead of just hyping up every idea like how every ai does and now it gives a real viability score, names competitors, calls out the biggest risk, asks a pointed question, and gives next steps.I also added a little donut-chart style score circle and a copy button so users can copy the full report and paste it into another AI later if they want to dig deeper. Debugging again was like hell today. From typos everywhere to duplicate ids and a broken loading state that kept wiping out my entire HTML (honestly my mistake, i was sleeeepy as hell). Anyways, next steps are history page and profile page. I might ditch the profile page entirely but i would like your opinion on it. Thank You
Devlog#3 - IdeaVault Been busy with doing the history part and this where i genuinely had no clue of what to do, so after a few youtube videos which didnt help i asked the great claude for help and finally figured it out. I have to add the scroll section for the history page but that is a very easy job and ill be done with it fast as ive already done something similar in the idea section.
Devlog#4 Got done with the history page, didnt face any trouble doing so, i removed the home page section as it didnt serve much purpose anyways and it felt useless. I made the background more dim and made it better for the eyes so viewing it at night wouldnt be an issue. Thats all for today, tomorrow i plan on making the profile page. Thank you...
|
1793235313.2675223
|
1793840113.2675223
|
|
39538
|
WarioWare Game by @yabu | Stardance
|
yabu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @yabu | Stardance
|
1792626522.9785838
|
1793231322.9785838
|
|
39547
|
My own site! by @yabu | Stardance
|
yabu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @yabu | Stardance
|
1793170390.6947517
|
1793775190.6947517
|
|
20344
|
My very own WebOS by @yaboyjeffthegoat | Stardance
|
yaboyjeffthegoat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @yaboyjeffthegoat | St Title: My very own WebOS by @yaboyjeffthegoat | Stardance...
|
1792734540.3613284
|
1793339340.3613284
|
|
66190
|
My first slack bot! by @yabdillah60 | Stardance
|
yabdillah60
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @yabdillah60 | Stard Title: My first slack bot! by @yabdillah60 | Stardance...
|
1793094825.3466344
|
1793699625.3466344
|
|
35432
|
My very own WebOS by @yabbas | Stardance
|
yabbas
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @yabbas | Stardance
|
1792802867.9488027
|
1793407667.9488027
|
|
37132
|
Untitled by @yabbas | Stardance
|
yabbas
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @yabbas | Stardance
|
1793224374.9827046
|
1793829174.9827046
|
|
7843
|
EMG Signal Recorder by @yaasshh | Stardance
|
yaasshh
|
0
|
10.16
|
0
|
[]
|
[{"post_id": 23494, "ts": "202 [{"post_id": 23494, "ts": "2026-07-06T14:51:24Z", "hours": 9.0856, "text": "It’s a wonderful day. I feel like I am completely finished with this project—or at least finished to some extent—because I still need to get the PCB, solder everything, and test it properly. However, I’ve done as much as I can to the best of my abilities for now. I am definitely proud of the work that led me here. It has been close to 50 hours of work over a month. It was a long month with a lot of school and personal things going on, but I powered through it. I made a lot of mistakes and had to redo the entire thing twice, which led me to a breaking point at one stage, but I pushed through and I’m proud of that. I have checked everything and gone through all the materials. Regarding the next steps: PCB Manufacturing After the discount, this will be around $20–$30. I am hoping to get funding for that. Individual Parts The rest of the money will be for the components. I’ll get those from AliExpress or somewhere similar where I can buy in bulk for very cheap. I’m not opting for Digi-Key because I was having a lot of trouble going through their system. On AliExpress, I can get most of what I need for around 60–80 AED (approximately $25). Buying in bulk means I can keep extra parts for other projects, which will reduce the funding I need later on. All the PCB files, schematics, and Gerber files have been pushed to GitHub. I’m hoping to get the funding as soon as possible so I can start working on this ASAP. I am really looking forward to the next project, which should include the sensor itself. The faster this gets done, the sooner I can start working on that next project much more efficiently. P.S. Basically, I have put close to or above 50 hours of work into this project over a month of work, averaging almost two hours every day. I’m proud of this, and for those who don’t believe me, everything is documented on Macondo (the Hack Club challenge). You are free to view the journals over there. However, I will also be adding a journal.md to my GitHub in a bit. Not right now, though, as I am severely burned out from this project. I need to start a new project and put my mind to something else for a while. I hope I get the funding for this because I really want to move on to the actual hardware aspect, start soldering, and actually test it out. I will be using this in multiple other projects as well. So yeah, thank you for reading."}, {"post_id": 6147, "ts": "2026-06-10T10:30:11Z", "hours": 1.0794, "text": "So first Dev-Post, I am building a signal recorder for electromyography (EMG) signals, which are essentially the electrical impulses that muscles produce when you contract or relax. I am recording those signals through electrodes on an arm that will be connected to a circuit I am currently working on. My plan is to: Create and test the circuit Convert it into a PCB that I can manufacture to be quite small Integrate it into a bunch of my own projects Make it open source so other people can use it in the future So far, two stages have been completed: Stage Zero: 2.5V bias circuit Stage 1: INA (instrumentation amplifier) circuit and setup Stage 2: 20Hz notch filter"}]...
|
Title: EMG Signal Recorder by @yaasshh | Stardance Title: EMG Signal Recorder by @yaasshh | Stardance
Devlogs:
So first Dev-Post, I am building a signal recorder for electromyography (EMG) signals, which are essentially the electrical impulses that muscles produce when you contract or relax. I am recording those signals through electrodes on an arm that will be connected to a circuit I am currently working on. My plan is to: Create and test the circuit Convert it into a PCB that I can manufacture to be quite small Integrate it into a bunch of my own projects Make it open source so other people can use it in the future So far, two stages have been completed: Stage Zero: 2.5V bias circuit Stage 1: INA (instrumentation amplifier) circuit and setup Stage 2: 20Hz notch filter
It’s a wonderful day. I feel like I am completely finished with this project—or at least finished to some extent—because I still need to get the PCB, solder everything, and test it properly. However, I’ve done as much as I can to the best of my abilities for now. I am definitely proud of the work that led me here. It has been close to 50 hours of work over a month. It was a long month with a lot of school and personal things going on, but I powered through it. I made a lot of mistakes and had to redo the entire thing twice, which led me to a breaking point at one stage, but I pushed through and I’m proud of that. I have checked everything and gone through all the materials. Regarding the next steps: PCB Manufacturing After the discount, this will be around $20–$30. I am hoping to get funding for that. Individual Parts The rest of the money will be for the components. I’ll get those from AliExpress or somewhere similar where I can buy in bulk for very cheap. I’m not opting for Digi-Key because I was having a lot of trouble going through their system. On AliExpress, I can get most of what I need for around 60–80 AED (approximately $25). Buying in bulk means I can keep extra parts for other projects, which will reduce the funding I need later on. All the PCB files, schematics, and Gerber files have been pushed to GitHub. I’m hoping to get the funding as soon as possible so I can start working on this ASAP. I am really looking forward to the next project, which should include the sensor itself. The faster this gets done, the sooner I can start working on that next project much more efficiently. P.S. Basically, I have put close to or above 50 hours of work into this project over a month of work, averaging almost two hours every day. I’m proud of this, and for those who don’t believe me, everything is documented on Macondo (the Hack Club challenge). You are free to view the journals over there. However, I will also be adding a journal.md to my GitHub in a bit. Not right now, though, as I am severely burned out from this project. I need to start a new project and put my mind to something else for a while. I hope I get the funding for this because I really want to move on to the actual hardware aspect, start soldering, and actually test it out. I will be using this in multiple other projects as well. So yeah, thank you for reading....
|
1792947162.9260356
|
1793811162.9260356
|
|
10685
|
15 P.O.A Bionic Hand by @yaasshh | Stardance
|
yaasshh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 15 P.O.A Bionic Hand by @yaasshh | Stardanc Title: 15 P.O.A Bionic Hand by @yaasshh | Stardance...
|
1792925410.380824
|
1793789410.380824
|
|
27878
|
Maestro by @yaasshh | Stardance
|
yaasshh
|
0
|
10.38
|
0
|
[]
|
[{"post_id": 20015, "ts": "202 [{"post_id": 20015, "ts": "2026-07-01T14:43:58Z", "hours": 10.3825, "text": "I have been working on a custom macro pad, which is based on the HackPad. I had an idea of making it usable with external apps through APIs and other integrations. I completed the PCB quite a while ago. I have put about 14 hours of total work into this, although I have only logged close to 10 hours. The other four hours were unlogged because I was working on a different laptop, but that is fine since it is only a few hours. The device itself is a macro pad with: Six MK-style switches One rotary encoder An OLED screen The PCB is quite impressive; I added some silkscreens to make it look aesthetically pleasing, which I hope will come across well in the finalized product. I designed the case in three parts: (a) The base (b) The plate (c) The top part that encloses everything The top part leaves space so that the screen can be viewed, making for a really nice, aesthetic-looking piece of hardware. I have decided to call it Maestro because it fits the theme I have going for it. It is going to be something I use in my daily life to shorten my work time and streamline my workflows. I am pretty excited for the funding to go out so I can start working on this."}]...
|
Title: Maestro by @yaasshh | Stardance
Devlogs:
I Title: Maestro by @yaasshh | Stardance
Devlogs:
I have been working on a custom macro pad, which is based on the HackPad. I had an idea of making it usable with external apps through APIs and other integrations. I completed the PCB quite a while ago. I have put about 14 hours of total work into this, although I have only logged close to 10 hours. The other four hours were unlogged because I was working on a different laptop, but that is fine since it is only a few hours. The device itself is a macro pad with: Six MK-style switches One rotary encoder An OLED screen The PCB is quite impressive; I added some silkscreens to make it look aesthetically pleasing, which I hope will come across well in the finalized product. I designed the case in three parts: (a) The base (b) The plate (c) The top part that encloses everything The top part leaves space so that the screen can be viewed, making for a really nice, aesthetic-looking piece of hardware. I have decided to call it Maestro because it fits the theme I have going for it. It is going to be something I use in my daily life to shorten my work time and streamline my workflows. I am pretty excited for the funding to go out so I can start working on this....
|
1792918351.3145595
|
1793782351.3145595
|
|
33660
|
PartSourcer by @yaasshh | Stardance
|
yaasshh
|
1
|
47.23
|
515
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-20T14:26:23Z", "hours": 37.0, "multiplier": 18.84, "payout": 515, "blessing": "neutral", "text": "PartSourcer Find the cheapest in-stock part for your PCB in one search. Live at “part-sourcer.vercel.app” Search any electronic component and get its stock, price, footprint and datasheet in one place. Every number is stamped with the moment it was read, so you always know how new it is. The useful bit: for a part you searched, it looks for one cheaper drop-in that is actually in stock, and tells you why it counts as a match. Same package, matching specs, real stock, and both prices re-read the same way before any saving gets claimed. If it cannot find a genuine match, it elaborates so. Right now that works for resistors and capacitors. Everything else gets an “no match found”. (Perhaps later implementation) Rules it sticks to: No made-up stock or prices. If the data is stale, you get an error, not a number pretending to be fresh. A part with no published price says “no price”, never $0.00. A zero would read as free and win every comparison. Missing fields are left out rather than filled with a placeholder. Built with FastAPI and React, both on Vercel, with Postgres behind the price history. Part data comes from Mouser in real time, plus an open snapshot of the LCSC catalogue that refreshes about once a day. There is a DigiKey adapter too, and it switches on once credentials are set. Free, open source, no login, no paywall. MIT licensed.", "repo": "https://github.com/yaasshh09/PartSourcer", "demo": "https://part-sourcer.vercel.app"}]...
|
[{"post_id": 82642, "ts": "202 [{"post_id": 82642, "ts": "2026-10-25T14:22:03Z", "hours": 4.1617, "text": "Devlog 6 Since the last devlog I’ve been working through my list of 60 ideas. Part pages got a lot more useful. Each one now has a price history chart, a hint about when a sold-out part might come back, and whether the part is still being made or is on its way out. Sometimes it also suggests a part with better specs for the same money, and now it can show up to three cheaper swaps instead of just one. Search results also get small badges when a price or stock level changes. I added a currency picker, a watchlist for parts you care about, and RSS feeds that tell you when a part’s price or stock moves. For BOMs, you can now see whether buying everything from one store beats splitting the order between stores. I also made tools for people who don’t want to use the website. There’s a developer page for the API, a command line tool that prices a BOM, a GitHub Action that posts your BOM cost on pull requests, and a KiCad plugin. I tested the plugin on real KiCad boards and found it was missing some part number fields, so I fixed that. Other fixes: the BOM page works better on phones, the colors are easier to read, dark mode looks right, and downloaded BOMs can’t carry sneaky spreadsheet formulas anymore. The free data source I use still has broken search, so I’ve started applying for the official LCSC API. Fingers crossed it gets approved!"}, {"post_id": 79259, "ts": "2026-10-13T07:30:24Z", "hours": 6.0697, "text": "#Devlog 5 After the security pass, I mostly worked on new features. I added a Browse section, so you can look through six part categories without knowing a part number. Then I built a compare tray. You pin up to four parts from anywhere on the site and see them side by side. I moved the site to Vercel with a database in Singapore. A small job now runs every night and records prices, so later I can show how a part’s price changes over time. Search had some problems. The free data source I use started returning broken results, so I wrote up what was going wrong and reported it to the people who run it. I also stopped showing results that had nothing to do with what you searched, and I made the “part not found” message more clear. Now it says when a distributor just didn’t answer, instead of saying the part doesn’t exist. You can also sort results by price now. The biggest new thing is BOM check. You paste in your whole parts list, or load a spreadsheet, and it prices every line at the quantity you need. It tells you which lines it skipped and why, and you can share the checked list as a link. Part pages now show each distributor’s bulk pricing. There’s also a quantity box, so you see what you’d actually pay for 250 parts and not just one. If you click a part from your BOM, that box already has your quantity in it. Next, I made a list of 60 more ideas and started building them."}, {"post_id": 51003, "ts": "2026-08-20T14:21:47Z", "hours": 1.0139, "text": "Dev log #5?? Ran a 20-item polish checklist over the site. Ten things were already fine: links all work, buttons all do something, the 404 page is real, errors show up properly. Six items from the checklist were missing, so I built them. Fixed the page titles. Every page was showing the same title because nothing reloads in a single-page app. Now a part page names the part, a search names what you searched. Put a year in the footer, read live so it never goes stale. Dropped the “404 demo” link, that was a leftover dev thing sitting next to real links. Then two actual bugs I only found by measuring in a browser at phone size. The home page really was scrolling sideways: a card grid was asking for 400px inside a 319px space. About had the same thing at 340px. Fixed both. The header was the other one. It needed 390px of room for the logo and five links on a 375px phone. It had been wrapping onto three rows and leaving Contact stranded alone. Now the links tuck behind a menu button below 640px. Header went from 281px tall to 69px. Last thing: the pages were too narrow and floated in empty space. Widened them a lot, 1600px for the main shell and 1400px for the text pages. Width alone would’ve just made long ugly lines, so the card grids reshaped too. FAQ goes two across, the three how-it-works steps share a row, the four-card grids go four across and step down cleanly. Plus a few more minor changes, The project is built enough to be shipped!"}, {"post_id": 50904, "ts": "2026-08-20T11:35:02Z", "hours": 7.1633, "text": "Dev log #3 or #4?? After the site went multi-distributor, I kept going. I added a contact page with my email, Instagram and GitHub, dropped GitHub out of the header, gave the footer real columns with links that work, moved the data source note over to the About page and wrote more there. The front page got more to read too, and the About cards now sit in a clean 2x2 grid. Then I did a proper security pass. I added a middleware that stamps security headers on every API response, including CSP, frame options and HSTS. Wrote a rate limiter that reads the client IP from headers the platform actually writes, never the one a caller can fake, and capped its key table so the limiter itself cannot be turned into the attack. Added input caps: query at 200 characters, page at 50, part key at 128, all refused early so nobody can burn my distributor quota. Added a body size ceiling and tightened CORS. The static site got its own CSP through vercel.json, checked against the real built bundle. I also wrote guard tests: they fail if a stray .env gets committed, if a credential literal shows up in source, if SQL starts joining values instead of using placeholders, or if a Set-Cookie ever appears. Then I documented the whole posture in the backend README, including what I deliberately left out and why."}, {"post_id": 48452, "ts": "2026-08-16T20:03:22Z", "hours": 13.2792, "text": "PartSourcer devlog #2 Started with a simple annoyance: finding a part that is actually in stock means opening six distributor tabs per line of a BOM. Wrote a throwaway script to poke at the free jlcsearch API and see what the data really looked like. Turned out it has no brand and no datasheet. Decided early to show that as blank rather than show wrong results. Also built the backend. FastAPI, a swappable data source so the real LCSC API can drop in later. Also tweaked the frontend a bit. React, inline styles, a loud yellow-and-black look. Then deploy configs, and the site went live on Render. Implemented a price history recorder, so the data is there later even if nothing reads it yet. The big addition. The site finally became multi-distributor: Mouser and DigiKey alongside LCSC. Every part now carries a list of offers, one per distributor, and a per-source status so a partial failure shows as a partial answer rather than an error."}, {"post_id": 27780, "ts": "2026-07-13T17:10:53Z", "hours": 15.7958, "text": "I’ve been working on a personal project called PartSourcer. Essentially, it’s a database, a bit beautified, but a database nevertheless, that scours the internet for major electronic component distributors in bulk, such as Mouser, DigiKey, JLCPCB, and LCSC. It goes through all of these major component databases, fetching real-time data from API keys I generated myself, and outputs the components and their prices. So far, I have the frontend and most of the backend done. The next step is to actually implement the Mouser and DigiKey API keys. I have the Mouser one ready; DigiKey is a bit more confusing to get, but I will get it. I already have the LCSC and JLCPCB integration working for each component, showing real-time stock and unit prices per item. I’m going to keep a very early version of the project open source under the MIT license. Later on, I plan to remove the MIT license and host it on the internet for free, but it won’t remain open source. Only that very early version will stay under the MIT license. Moving forward, my roadmap for the project includes: Completing the actual API implementations. Implementing a side-by-side comparison tool. Adding a large-scale, bulk BOM (bill of materials) upload feature. Creating a price history chart. Implementing a “browse by category” feature. Adding a “biggest savings this week” section to show people where the best deals are and what they can save money on."}]...
|
Title: PartSourcer by @yaasshh | Stardance
Devlog Title: PartSourcer by @yaasshh | Stardance
Devlogs:
I’ve been working on a personal project called PartSourcer. Essentially, it’s a database, a bit beautified, but a database nevertheless, that scours the internet for major electronic component distributors in bulk, such as Mouser, DigiKey, JLCPCB, and LCSC. It goes through all of these major component databases, fetching real-time data from API keys I generated myself, and outputs the components and their prices. So far, I have the frontend and most of the backend done. The next step is to actually implement the Mouser and DigiKey API keys. I have the Mouser one ready; DigiKey is a bit more confusing to get, but I will get it. I already have the LCSC and JLCPCB integration working for each component, showing real-time stock and unit prices per item. I’m going to keep a very early version of the project open source under the MIT license. Later on, I plan to remove the MIT license and host it on the internet for free, but it won’t remain open source. Only that very early version will stay under the MIT license. Moving forward, my roadmap for the project includes: Completing the actual API implementations. Implementing a side-by-side comparison tool. Adding a large-scale, bulk BOM (bill of materials) upload feature. Creating a price history chart. Implementing a “browse by category” feature. Adding a “biggest savings this week” section to show people where the best deals are and what they can save money on.
PartSourcer devlog #2 Started with a simple annoyance: finding a part that is actually in stock means opening six distributor tabs per line of a BOM. Wrote a throwaway script to poke at the free jlcsearch API and see what the data really looked like. Turned out it has no brand and no datasheet. Decided early to show that as blank rather than show wrong results. Also built the backend. FastAPI, a swappable data source so the real LCSC API can drop in later. Also tweaked the frontend a bit. React, inline styles, a loud yellow-and-black look. Then deploy configs, and the site went live on Render. Implemented a price history recorder, so the data is there later even if nothing reads it yet. The big addition. The site finally became multi-distributor: Mouser and DigiKey alongside LCSC. Every part now carries a list of offers, one per distributor, and a per-source status so a partial failure shows as a partial answer rather than an error.
Dev log #3 or #4?? After the site went multi-distributor, I kept going. I added a contact page with my email, Instagram and GitHub, dropped GitHub out of the header, gave the footer real columns with links that work, moved the data source note over to the About page and wrote more there. The front page got more to read too, and the About cards now sit in a clean 2x2 grid. Then I did a proper security pass. I added a middleware that stamps security headers on every API response, including CSP, frame options and HSTS. Wrote a rate limiter that reads the client IP from headers the platform actually writes, never the one a caller can fake, and capped its key table so the limiter itself cannot be turned into the attack. Added input caps: query at 200 characters, page at 50, part key at 128, all refused early so nobody can burn my distributor quota. Added a body size ceiling and tightened CORS. The static site got its own CSP through vercel.json, checked against the real built bundle. I also wrote guard tests: they fail if a stray .env gets committed, if a credential literal shows up in source, if SQL starts joining values instead of using placeholders, or if a Set-Cookie ever appears. Then I documented the whole posture in the backend README, including what I deliberately left out and why.
Dev log #5?? Ran a 20-item polish checklist over the site. Ten things were already fine: links all work, buttons all do something, the 404 page is real, errors show up properly. Six items from the checklist were missing, so I built them. Fixed the page titles. Every page was showing the same title because nothing reloads in a single-page app. Now a part page names the part, a search names what you searched. Put a year in the footer, read live so it never goes stale. Dropped the “404 demo” link, that was a leftover dev thing sitting next to real links. Then two actual bugs I only found by measuring in a browser at phone size. The home page really was scrolling sideways: a card grid was asking for 400px inside a 319px space. About had the same thing at 340px. Fixed both. The header was the other one. It needed 390px of room for the logo and five links on a 375px phone. It had been wrapping onto three rows and leaving Contact stranded alone. Now the links tuck behind a menu button below 640px. Header went from 281px tall to 69px. Last thing: the pages were too narrow and floated in empty space. Widened them a lot, 1600px for the main shell and 1400px for the text pages. Width alone would’ve just made long ugly lines, so the card grids reshaped too. FAQ goes two across, the three how-it-works steps share a row, the four-card grids go four across and step down cleanly. Plus a few more minor changes, The project is built enough to be shipped!
#Devlog 5 After the security pass, I mostly worked on new features. I added a Browse section, so you can look through six part categories without knowing a part number. Then I built a compare tray. You pin up to four parts from anywhere on the site and see them side by side. I moved the site to Vercel with a database in Singapore. A small job now runs every night and records prices, so later I can show how a part’s price changes over time. Search had some problems. The free data source I use started returning broken results, so I wrote up what was going wrong and reported it to the people who run it. I also stopped showing results that had nothing to do with what you searched, and I made the “part not found” message more clear. Now it says when a distributor just didn’t answer, instead of saying the part doesn’t exist. You can also sort results by price now. The biggest new thing is BOM check. You paste in your whole parts list, or load a spreadsheet, and it prices every line at the quantity you need. It tells you which lines it skipped and why, and you can share the checked list as a link. Part pages now show each distributor’s bulk pricing. There’s also a quantity box, so you see what you’d actually pay for 250 parts and not just one. If you click a part from your BOM, that box already has your quantity in it. Next, I made a list of 60 more ideas and started building them.
Devlog 6 Since the last devlog I’ve been working through my list of 60 ideas. Part pages got a lot more useful. Each one now has a price history chart, a hint about when a sold-out part might come back, and whether the part is still being made or is on its way out. Sometimes it also suggests a part with better specs for the same money, and now it can show up to three cheaper swaps instead of just one. Search results also get small badges when a price or stock level changes. I added a currency picker, a watchlist for parts you care about, and RSS feeds that tell you when a part’s price or stock moves. For BOMs, you can now see whether buying everything from one store beats splitting the order between stores. I also made tools for people who don’t want to use the website. There’s a developer page for the API, a command line tool that prices a BOM, a GitHub Action that posts your BOM cost on pull requests, and a KiCad plugin. I tested the plugin on real KiCad boards and found it was missing some part number fields, so I fixed that. Other fixes: the BOM page works better on phones, the colors are easier to read, dark mode looks right, and downloaded BOMs can’t carry sneaky spreadsheet formulas anymore. The free data source I use still has broken search, so I’ve started applying for the official LCSC API. Fingers crossed it gets approved!
Ships:
PartSourcer Find the cheapest in-stock part for your PCB in one search. Live at “part-sourcer.vercel.app” Search any electronic component and get its stock, price, footprint and datasheet in one place. Every number is stamped with the moment it was read, so you always know how new it is. The useful bit: for a part you searched, it looks for one cheaper drop-in that is actually in stock, and tells you why it counts as a match. Same package, matching specs, real stock, and both prices re-read the same way before any saving gets claimed. If it cannot find a genuine match, it elaborates so. Right now that works for resistors and capacitors. Everything else gets an “no match found”. (Perhaps later implementation) Rules it sticks to: No made-up stock or prices. If the data is stale, you get an error, not a number pretending to be fresh. A part with no published price says “no price”, never $0.00. A zero would read as free and win every comparison. Missing fields are left out rather than filled with a placeholder. Built with FastAPI and React, both on Vercel, with Postgres behind the price history. Part data comes from Mouser in real time, plus an open snapshot of the LCSC catalogue that refreshes about once a day. There is a DigiKey adapter too, and it switches on once credentials are set. Free, open source, no login, no paywall. MIT licensed....
|
1793138277.9877877
|
1793224677.9877877
|
|
33771
|
AtomSim by @yaasshh | Stardance
|
yaasshh
|
2
|
77.09
|
847
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T11:10:43Z", "hours": 12.0, "multiplier": 13.8, "payout": 163, "blessing": "neutral", "text": "AtomSim is a website I built that lets you actually see what an atom looks like. You pick an element, or hydrogen, and pick which electron shell you want to look at. Then it draws it. Not a cartoon of dots going around a circle like the diagrams in school, the real shape, the cloud where the electron actually is. Some of them look like spheres, some look like dumbbells, some look like weird four leaf clovers. All of that is real, it just falls out of the math. You can spin it around, slice it in half, look at it as a graph instead, or look at the colored lines of light the atom gives off when it gets hot. That last one is how we know what stars are made of, and you can watch it happen. The part I care about most is that it never fakes anything. Every single number on the screen carries a label saying how it was made. Some are exact, straight from the equations. Some are computed numerically with an error bar attached. Some are approximations, and it says which physical effects it left out. And a few are deliberate “what if” experiments, like turning off the rule that stops two electrons sitting in the same place, just to see the atom collapse. Those are labeled too. So if a picture is pretty rather than true, the app tells you. I wanted something a curious fifteen year old could poke at for an hour and come away with a correct picture in their head, not a comfortable wrong one. It runs in a browser, works on a phone, and every view has its own link you can share. PS: It also has mobile view now!", "repo": "https://github.com/yaasshh09/AtomSim", "demo": "https://atomsim.fly.dev"}, {"ship_num": 2, "ts": "2026-08-07T18:00:05Z", "hours": 52.0, "multiplier": 18.43, "payout": 684, "blessing": "neutral", "text": "Atom Sim is a browser app that solves atoms from scratch and shows you the result. Hydrogen comes out of closed-form math, real atoms like carbon and argon come out of a Hartree-Fock solver I wrote, and you can look at any of them as a 3D electron cloud, a 2D slice, a radial plot, an energy-level diagram or an emission spectrum. You can also break physics on purpose: switch off the Pauli exclusion principle, switch off electron exchange, or type in your own potential V(r) and see what kind of atom falls out. The rule I built everything around is that the model never quietly lies. Every number carries a tag saying how it was made: exact, numerical, approximation, counterfactual, or just a visual choice. That tag follows the number from the solver all the way to the label on screen. What was challenging Hartree-Fock was brutal. The angular coefficients in the Fock operator are easy to get slightly wrong, and when you do, the solver still converges and hands you smooth, beautiful, completely wrong orbitals. Nothing crashes, nothing warns you. I had to re-derive the algebra instead of nudging numbers until a benchmark matched. Error bars were the other trap. Mine looked great for a while and were simply lying, because the real error was coming from the box size, not the grid spacing I was measuring. Argon also took about an hour on a uniform grid until I moved to an exponential mesh, which cut it to seconds. What I’m proud of That it’s honest. Plenty of simulators draw a pretty orbital and say nothing about where it came from. Mine tells you, and the tests enforce it. The spectra are checked against real NIST data inside the test suite, so a physics regression fails CI rather than shipping quietly. How to test it It’s live at https://atomsim.fly.dev . The server sleeps when nobody is using it, so the very first load can take around 15 seconds. After that it’s quick. Good things to try: pick n=3, l=1 and rotate the cloud, then flip to Plane view for the cross-section. Switch the element to argon. Open a guided tour if you want the short version. Every view is a shareable URL, so you can link someone to an exact state.", "repo": "https://github.com/yaasshh09/AtomSim", "demo": "https://atomsim.fly.dev"}]...
|
[{"post_id": 82647, "ts": "202 [{"post_id": 82647, "ts": "2026-10-25T14:39:55Z", "hours": 2.1572, "text": "Devlog #10 Since last time I’ve mostly been adding new physics, so here’s the list. Momentum space: The Radial view now shows how fast the electron is likely to be moving, not just where it is. This one is exact math too. Decay cascade: An excited hydrogen atom doesn’t fall straight to the bottom. It drops down step by step, and now you can watch every path it might take and how likely each one is. Lasers: There’s a new laser panel where you shine light on the atom and watch the electron flip back and forth between two levels (these are called Rabi oscillations). Relativity: For one-electron atoms you can now see the Dirac version of the wavefunction, which is what you get when you add Einstein’s relativity to quantum mechanics. The proton radius puzzle: The nucleus isn’t a perfect point. It has a size, and that shifts the energy levels a tiny bit. Two different experiments measured the proton’s size and got different answers, and you can see both predictions side by side. Antihydrogen: You can now make an atom out of antimatter. It matches normal hydrogen exactly, and the app explains why. Nuclear mass slider: You can drag the nucleus mass anywhere from as light as an electron to heavier than tritium and watch the atom change as you go. All of this is getting pushed to the live site now, so it should be up soon!"}, {"post_id": 82281, "ts": "2026-10-24T13:30:25Z", "hours": 9.3114, "text": "Devlog #9 God Ive got a lot show since the last update. First, the atom moves now. If you mix two states, you can watch the electron cloud slosh back and forth. Arrows show where the electron is flowing, and you can color the cloud by its phase. I also changed the look to seem more natural and less AI, I added a plain white theme with a dark mode, grids on every graph, and buttons to save any graph as a picture or a spreadsheet. Then I added a bunch of other features such as: Potassium and calcium, the first atoms past argon. There’s a mini experiment showing why 4s fills before 3d, even when 3d is lower in energy. A table that checks my calculations against real lab measurements for every atom from helium to calcium. sp, sp2 and sp3 hybrid orbitals, the shapes chemists use for bonds. Lines showing exactly where the electron can never be (nodes), and a scale bar in real units. A “measure the electron” button that drops dots one at a time until they build up the real shape. Some smaller things: Every graph has a “Reproduce in Python” box with code you can copy. Any number can be cited with one click. You can export 3D models for printing. Shared links now preview the actual orbital. There’s an API guide, a changelog and a feedback link. I also made the site faster by saving common results, and I fixed the phase colors so colorblind people can tell them apart. I still need to test it in a browser and then deploy it so stay tuned for that!"}, {"post_id": 79261, "ts": "2026-10-13T07:33:52Z", "hours": 1.625, "text": "Devlog #8 This update was mostly about cleaning things up. Firstly, I went through the whole site with a checklist of things that make websites feel cheap or fake. I took out the gradients, made the rounded pill-shaped buttons and badges square, and replaced an emoji warning icon with a normal one. Then I added a Terms page and a Privacy page, linked at the bottom of the side panel. The privacy page explains what the app does and doesn’t track, which isn’t much. All of this was to remove any “ALL AI” msgs ive received I also changed the license. AtomSim used to be MIT, which meant anyone could take it and sell it. Now it’s CC BY-NC 4.0, so people can still use it, share it and change it, as long as they credit me and don’t make money off it. Every font on the site is now Poppins, and it’s bundled with the app so it doesn’t have to load from Google. After that I reread all the text on the site and in the README and fixed anything that sounded robotic. That included a few curly quotes and one sentence that sounded like a press release. I also rewrote the line explaining “provenance” so it just says what it means. All of that is live on the site now. Next up is making the atom move. If you mix two states, the electron cloud sloshes back and forth at the exact frequency of the light the atom gives off. I’ve planned it out and I’m starting on it next. I also wrote down a big list of other ideas for later."}, {"post_id": 62105, "ts": "2026-09-05T11:07:13Z", "hours": 5.0147, "text": "DEVLOG : 7? Since that last update, the cleanup turned into actual features. I finished the frontend narrator pass. Every disclosure string, every physics note, every view intro is now plain prose instead of the app talking about itself in first person. Then I went after the parts of the app that were just annoying to use. Plots are zoomable now. Wheel to zoom, drag to pan, on all five analytic views. I also built a small notation layer so the ASCII the engine emits gets typeset properly at render time, subscripts and superscripts where they belong, without dragging in a whole math library. The big one was mobile. The app used to just refuse to render below a certain width. Now it works down to 320px: a proper mobile shell, view tabs instead of a sidebar list, controls that collapse, and per-view width floors so nothing spills sideways. That took a lot of small fixes I did not expect, a fixed SVG viewBox that hid fixed-width text, and an overflow rule that was already scrolling the page sideways before I touched anything. After that, the URL got a real history. Back and Forward actually work now, and moving between orbitals pushes a history entry while flipping a display toggle just replaces one. Added a copy-link button and keyboard shortcuts for stepping through n, l, m and switching views. Last thing, the title is now just AtomSim. The tagline was doing nothing for anyone."}, {"post_id": 61040, "ts": "2026-09-03T19:03:50Z", "hours": 6.8908, "text": "Devlog #5 or 6??? Since the site went live, most of the work has been cleanup rather than new physics. The whole app used to talk in first person. Every explanation said “I compute this” or “what I’m showing you.” It read like the code was narrating itself, which was odd. So I went through the entire Python engine module by module and rewrote it in plain technical prose. That’s done. Then I started on the frontend, which had way more of it. The disclosure text, the physics notes under each equation, the view intros. That’s still in progress. there were 2 things I had to be extra careful about. Some of those strings are checked word-for-word by tests, so rewording one has potential to break complete the build by itself. In addition, I also tidied the repo layout for public viewing, fixed a deploy pipeline failure, and added privacy-safe visitor counting. Right now i’m cutting padding, and pitching it so a high schooler can follow it without boring a physics grad."}, {"post_id": 42762, "ts": "2026-08-07T17:14:45Z", "hours": 7.1225, "text": "Devlog: Phase 30 to now Phase 30, Instrument frontend. Redesigned the UI to read like a physics instrument. Bundled the fonts, dropped four fields nothing actually measured, and learned that text-transform: uppercase turns 3d into 3D and α² into A², so uppercase is now confined to section headings only. Phase 31, Guided tours. Added walkthroughs that drive the app for you. Nearly shipped a tour that quoted the wrong hydrogen energy because it skipped reduced mass, and fixed two spotlight rings that measured their target before layout settled. Absorption band cleanup. Abutting sub-pixel SVG rects were drawing lines that weren’t in the data. Settled the mean vs deepest-per-column question and fixed decade ticks that failed at both ends of the axis. Housekeeping. Moved specs and plans out to docs/specs and docs/plans. Personal ignores went into .git/info/exclude so no tracked file carries tooling names. Rate limiting. Sized the burst from the app’s real fan-out per action rather than from click counts. The n=6 row plus an auto-refetch was quietly doubling the load. Web hosting. Containerized and deployed to Fly.io as a single process. Cold start from a snapshot is about 1.6s, occasionally up to 22s if the snapshot gets discarded. Argon solves in 2.8s on the deployed box against 1.4s locally. Suspended machines cost nothing, so occasional use stays near a dollar or two a month. Also added rate-limiter logging that identifies refused clients, and confirmed the proxy overwrites forged IP headers, so spoofing doesn’t get you past the limit."}, {"post_id": 41525, "ts": "2026-08-05T19:44:43Z", "hours": 10.4456, "text": "DevLog #3: New Frontend, Plus Small Bits Phase 22 to now. P22, distinguishable electrons. Turned off exchange in Hartree-Fock. Electrons still repel, they just stop being identical. Marked COUNTERFACTUAL. Helium came back exactly zero, so it was gone. P24, Pauli off. Dropped the occupancy cap and everything falls into the 1s. Argon becomes 1s^18 and the periodic table stops existing. P22’s slow convergence was shells, not exchange. P25, isosurfaces. Never size a box on the grid you draw on. The fraction error bar is blind to the box. A 90% p orbital is one piece, not two lobes. P26, HF in 3D. Now in Cloud, Plane, Radial and Surface. Whole-atom and one-orbital radii move opposite ways. Fidelity tiers were literals under the solve. P27, total density. Added D(r), the shape both models describe. A uniform grid steps over the 1s peak, so the test asserts convergence rate, not tolerance. P28, screened density. GSZ gets its own D(r). A density needs its own box. A log axis quietly breaks area = electron count. P29, comparison. Both models on one axis, gap measured. Caught a noise floor, a real number printing as zero, and a wrong caption. Sulfur, chlorine. Split ATOM_KEYS into identity and capability. Derive flags, never pass them. A client check exposed a deep-link race. P30, instrument frontend. Fonts bundled for offline. –edge is a border colour, never a fill. Dropped four fields with no engine behind them. Uppercase turned 3d into 3D, so headings only now. Plot polish. Zoomed line profile labels offsets from window centre, since absolute wavelengths printed the same string six times. Drew xyz axes through the cloud. Absorption, curve of growth. Stopped a zero equivalent width stretching the axis 300 decades. The band drew anti-aliasing seams as absorption lines where transmission was really 0.98 to 1.00. It now bins one column per unit and draws the deepest sample, beside what a real detector pixel would see."}, {"post_id": 38322, "ts": "2026-07-31T17:22:25Z", "hours": 11.7469, "text": "DevLog: Phase 18 to now P18, line shapes. Real lines are not infinitely thin spikes. Atoms move (Doppler) and get jostled by neighbours (pressure), so each line spreads into a bell shape, a Voigt profile. I added that, plus a zoom so you can look at one line up close. The useful trick was a flux-closure check: whatever area a line has before broadening, it has to still have after. That caught two grid bugs that were invisible on screen. P19, optical depth. Until now every line acted as if light escaped freely. In a thick gas strong lines saturate, so doubling the atoms stops doubling the brightness. That is the curve of growth. Lesson: decide which regime a line sits in from the physics, not by eyeballing the slope. Also the wavelength window has to widen as the column thickens, or you clip the wings you are trying to measure. P20, absorption. The mirror of emission. Shine a continuum through the gas, look at what is missing. The trap was that 14 hydrogen lines land on only 6 distinct wavelengths, so matching a profile to its source line by wavelength quietly pairs the wrong ones. I key on the transition instead. P21, Hartree-Fock. The big one. Instead of a fitted screening formula, each electron feels a potential built from all the others, solved over and over until it stops changing. That gets me sulfur and chlorine, which the old model could not touch, plus ions with no preset. Two things worth remembering: the solver’s own error bar was lying to me and needed re-deriving, and what made convergence fast was not a clever algorithm, it was the right mixing constant. P22, cleanup. Made features honest about where they apply. The classical ghost and the force-law lab only make sense for one-electron atoms, so they explain themselves now instead of erroring on a screened atom. Fixed He+ breaking every API call, because the “+” was never URL-encoded. Unknown systems say so instead of spinning. Right now I am fixing hint text that escapes its panel on narrow screens."}, {"post_id": 35332, "ts": "2026-07-26T17:27:28Z", "hours": 22.3797, "text": "Atom_Sim: Physics Simulator Dev Log An atom simulator built on one rule: Every number has a label ( exact , numerical , approximation , counterfactual , or visual_liberty ). Unlabeled numbers are treated as bugs. Stack: Python physics engine -> React + Three.js frontend. Phase Logs Phases 1–3: The Hydrogen Foundation Hydrogen Core: Uses exact math for energies and wavefunctions. Validates its electron clouds using statistical KS tests. Numerical Solver: Solves the Schrödinger equation for custom shapes. It calculates its own accuracy by halving the grid spacing. Constants Lab: Allows changing fundamental constants (hbar, e, c). It proves that changing individual units changes nothing if the ratio between them stays the same. Classical Ghost: Shows old Bohr orbits collapsing, proving why classical physics cannot explain atoms. Phases 4–6: Altered Potential & Real Atoms Fake Physics: Simulates universes with non-standard forces (like Yukawa or power laws) under a clear warning banner. Screened Atoms: Models elements from Helium to Argon using historic 1974 data. If an element (like Sulfur or Chlorine) lacks clean data, it is left out entirely rather than guessed. Phases 7–12: Fields, Relativity & Nuance Dirac Math: Tracks exact relativistic shifts and highlights what the math misses (the Lamb shift). External Fields: Simulates atoms splitting under magnetic fields (Zeeman effect) and electric fields (Stark effect). Hyperfine: Models the 21 cm hydrogen line using the precise electron-to-proton mass ratio. Phases 13–17: Light, Speed & Thermodynamics Fast Math: Uses a custom integration trick to calculate atomic lifetimes exactly and 13x faster. Doublet Ratios: Proves via quantum math (Wigner 6j) why certain spectral lines are twice as bright as others. Heat Sliders: Combines Saha and Boltzmann equations to turn raw rates into actual visible light. Dragging the temperature slider smoothly hands Lyman lines over to Balmer lines. Phase 18: Line Profiles (Current Work) Replaces infinitely sharp lines with realistic Voigt profiles using three combined factors: Natural Width: A Lorentzian shape caused by how fast an excited state decays. Doppler Width: A Gaussian shape caused by thermal motion. Works perfectly for normal hydrogen, positronium, and muonic hydrogen. Instrumental Width: A Gaussian blur based on the user’s chosen telescope or sensor resolution. Note on Missing Physics: Collision/pressure broadening is not simulated. Instead of a text disclaimer, the app calculates how large that missing effect would be and prints the raw margin of error right next to the chart. Core Development Rules No Smoke Tests: Every physics feature must pass an automated math test. No Live Fetches: All reference data is saved locally with a hard citation. No Silent Approximations: If the code cannot calculate something honestly, it stops and prints exactly what data is missing."}]...
|
Title: AtomSim by @yaasshh | Stardance
Devlogs:
A Title: AtomSim by @yaasshh | Stardance
Devlogs:
Atom_Sim: Physics Simulator Dev Log An atom simulator built on one rule: Every number has a label ( exact , numerical , approximation , counterfactual , or visual_liberty ). Unlabeled numbers are treated as bugs. Stack: Python physics engine -> React + Three.js frontend. Phase Logs Phases 1–3: The Hydrogen Foundation Hydrogen Core: Uses exact math for energies and wavefunctions. Validates its electron clouds using statistical KS tests. Numerical Solver: Solves the Schrödinger equation for custom shapes. It calculates its own accuracy by halving the grid spacing. Constants Lab: Allows changing fundamental constants (hbar, e, c). It proves that changing individual units changes nothing if the ratio between them stays the same. Classical Ghost: Shows old Bohr orbits collapsing, proving why classical physics cannot explain atoms. Phases 4–6: Altered Potential & Real Atoms Fake Physics: Simulates universes with non-standard forces (like Yukawa or power laws) under a clear warning banner. Screened Atoms: Models elements from Helium to Argon using historic 1974 data. If an element (like Sulfur or Chlorine) lacks clean data, it is left out entirely rather than guessed. Phases 7–12: Fields, Relativity & Nuance Dirac Math: Tracks exact relativistic shifts and highlights what the math misses (the Lamb shift). External Fields: Simulates atoms splitting under magnetic fields (Zeeman effect) and electric fields (Stark effect). Hyperfine: Models the 21 cm hydrogen line using the precise electron-to-proton mass ratio. Phases 13–17: Light, Speed & Thermodynamics Fast Math: Uses a custom integration trick to calculate atomic lifetimes exactly and 13x faster. Doublet Ratios: Proves via quantum math (Wigner 6j) why certain spectral lines are twice as bright as others. Heat Sliders: Combines Saha and Boltzmann equations to turn raw rates into actual visible light. Dragging the temperature slider smoothly hands Lyman lines over to Balmer lines. Phase 18: Line Profiles (Current Work) Replaces infinitely sharp lines with realistic Voigt profiles using three combined factors: Natural Width: A Lorentzian shape caused by how fast an excited state decays. Doppler Width: A Gaussian shape caused by thermal motion. Works perfectly for normal hydrogen, positronium, and muonic hydrogen. Instrumental Width: A Gaussian blur based on the user’s chosen telescope or sensor resolution. Note on Missing Physics: Collision/pressure broadening is not simulated. Instead of a text disclaimer, the app calculates how large that missing effect would be and prints the raw margin of error right next to the chart. Core Development Rules No Smoke Tests: Every physics feature must pass an automated math test. No Live Fetches: All reference data is saved locally with a hard citation. No Silent Approximations: If the code cannot calculate something honestly, it stops and prints exactly what data is missing.
DevLog: Phase 18 to now P18, line shapes. Real lines are not infinitely thin spikes. Atoms move (Doppler) and get jostled by neighbours (pressure), so each line spreads into a bell shape, a Voigt profile. I added that, plus a zoom so you can look at one line up close. The useful trick was a flux-closure check: whatever area a line has before broadening, it has to still have after. That caught two grid bugs that were invisible on screen. P19, optical depth. Until now every line acted as if light escaped freely. In a thick gas strong lines saturate, so doubling the atoms stops doubling the brightness. That is the curve of growth. Lesson: decide which regime a line sits in from the physics, not by eyeballing the slope. Also the wavelength window has to widen as the column thickens, or you clip the wings you are trying to measure. P20, absorption. The mirror of emission. Shine a continuum through the gas, look at what is missing. The trap was that 14 hydrogen lines land on only 6 distinct wavelengths, so matching a profile to its source line by wavelength quietly pairs the wrong ones. I key on the transition instead. P21, Hartree-Fock. The big one. Instead of a fitted screening formula, each electron feels a potential built from all the others, solved over and over until it stops changing. That gets me sulfur and chlorine, which the old model could not touch, plus ions with no preset. Two things worth remembering: the solver’s own error bar was lying to me and needed re-deriving, and what made convergence fast was not a clever algorithm, it was the right mixing constant. P22, cleanup. Made features honest about where they apply. The classical ghost and the force-law lab only make sense for one-electron atoms, so they explain themselves now instead of erroring on a screened atom. Fixed He+ breaking every API call, because the “+” was never URL-encoded. Unknown systems say so instead of spinning. Right now I am fixing hint text that escapes its panel on narrow screens.
DevLog #3: New Frontend, Plus Small Bits Phase 22 to now. P22, distinguishable electrons. Turned off exchange in Hartree-Fock. Electrons still repel, they just stop being identical. Marked COUNTERFACTUAL. Helium came back exactly zero, so it was gone. P24, Pauli off. Dropped the occupancy cap and everything falls into the 1s. Argon becomes 1s^18 and the periodic table stops existing. P22’s slow convergence was shells, not exchange. P25, isosurfaces. Never size a box on the grid you draw on. The fraction error bar is blind to the box. A 90% p orbital is one piece, not two lobes. P26, HF in 3D. Now in Cloud, Plane, Radial and Surface. Whole-atom and one-orbital radii move opposite ways. Fidelity tiers were literals under the solve. P27, total density. Added D(r), the shape both models describe. A uniform grid steps over the 1s peak, so the test asserts convergence rate, not tolerance. P28, screened density. GSZ gets its own D(r). A density needs its own box. A log axis quietly breaks area = electron count. P29, comparison. Both models on one axis, gap measured. Caught a noise floor, a real number printing as zero, and a wrong caption. Sulfur, chlorine. Split ATOM_KEYS into identity and capability. Derive flags, never pass them. A client check exposed a deep-link race. P30, instrument frontend. Fonts bundled for offline. –edge is a border colour, never a fill. Dropped four fields with no engine behind them. Uppercase turned 3d into 3D, so headings only now. Plot polish. Zoomed line profile labels offsets from window centre, since absolute wavelengths printed the same string six times. Drew xyz axes through the cloud. Absorption, curve of growth. Stopped a zero equivalent width stretching the axis 300 decades. The band drew anti-aliasing seams as absorption lines where transmission was really 0.98 to 1.00. It now bins one column per unit and draws the deepest sample, beside what a real detector pixel would see.
Devlog: Phase 30 to now Phase 30, Instrument frontend. Redesigned the UI to read like a physics instrument. Bundled the fonts, dropped four fields nothing actually measured, and learned that text-transform: uppercase turns 3d into 3D and α² into A², so uppercase is now confined to section headings only. Phase 31, Guided tours. Added walkthroughs that drive the app for you. Nearly shipped a tour that quoted the wrong hydrogen energy because it skipped reduced mass, and fixed two spotlight rings that measured their target before layout settled. Absorption band cleanup. Abutting sub-pixel SVG rects were drawing lines that weren’t in the data. Settled the mean vs deepest-per-column question and fixed decade ticks that failed at both ends of the axis. Housekeeping. Moved specs and plans out to docs/specs and docs/plans. Personal ignores went into .git/info/exclude so no tracked file carries tooling names. Rate limiting. Sized the burst from the app’s real fan-out per action rather than from click counts. The n=6 row plus an auto-refetch was quietly doubling the load. Web hosting. Containerized and deployed to Fly.io as a single process. Cold start from a snapshot is about 1.6s, occasionally up to 22s if the snapshot gets discarded. Argon solves in 2.8s on the deployed box against 1.4s locally. Suspended machines cost nothing, so occasional use stays near a dollar or two a month. Also added rate-limiter logging that identifies refused clients, and confirmed the proxy overwrites forged IP headers, so spoofing doesn’t get you past the limit.
Devlog #5 or 6??? Since the site went live, most of the work has been cleanup rather than new physics. The whole app used to talk in first person. Every explanation said “I compute this” or “what I’m showing you.” It read like the code was narrating itself, which was odd. So I went through the entire Python engine module by module and rewrote it in plain technical prose. That’s done. Then I started on the frontend, which had way more of it. The disclosure text, the physics notes under each equation, the view intros. That’s still in progress. there were 2 things I had to be extra careful about. Some of those strings are checked word-for-word by tests, so rewording one has potential to break complete the build by itself. In addition, I also tidied the repo layout for public viewing, fixed a deploy pipeline failure, and added privacy-safe visitor counting. Right now i’m cutting padding, and pitching it so a high schooler can follow it without boring a physics grad.
DEVLOG : 7? Since that last update, the cleanup turned into actual features. I finished the frontend narrator pass. Every disclosure string, every physics note, every view intro is now plain prose instead of the app talking about itself in first person. Then I went after the parts of the app that were just annoying to use. Plots are zoomable now. Wheel to zoom, drag to pan, on all five analytic views. I also built a small notation layer so the ASCII the engine emits gets typeset properly at render time, subscripts and superscripts where they belong, without dragging in a whole math library. The big one was mobile. The app used to just refuse to render below a certain width. Now it works down to 320px: a proper mobile shell, view tabs instead of a sidebar list, controls that collapse, and per-view width floors so nothing spills sideways. That took a lot of small fixes I did not expect, a fixed SVG viewBox that hid fixed-width text, and an overflow rule that was already scrolling the page sideways before I touched anything. After that, the URL got a real history. Back and Forward actually work now, and moving between orbitals pushes a history entry while flipping a display toggle just replaces one. Added a copy-link button and keyboard shortcuts for stepping through n, l, m and switching views. Last thing, the title is now just AtomSim. The tagline was doing nothing for anyone.
Devlog #8 This update was mostly about cleaning things up. Firstly, I went through the whole site with a checklist of things that make websites feel cheap or fake. I took out the gradients, made the rounded pill-shaped buttons and badges square, and replaced an emoji warning icon with a normal one. Then I added a Terms page and a Privacy page, linked at the bottom of the side panel. The privacy page explains what the app does and doesn’t track, which isn’t much. All of this was to remove any “ALL AI” msgs ive received I also changed the license. AtomSim used to be MIT, which meant anyone could take it and sell it. Now it’s CC BY-NC 4.0, so people can still use it, share it and change it, as long as they credit me and don’t make money off it. Every font on the site is now Poppins, and it’s bundled with the app so it doesn’t have to load from Google. After that I reread all the text on the site and in the README and fixed anything that sounded robotic. That included a few curly quotes and one sentence that sounded like a press release. I also rewrote the line explaining “provenance” so it just says what it means. All of that is live on the site now. Next up is making the atom move. If you mix two states, the electron cloud sloshes back and forth at the exact frequency of the light the atom gives off. I’ve planned it out and I’m starting on it next. I also wrote down a big list of other ideas for later.
Devlog #9 God Ive got a lot show since the last update. First, the atom moves now. If you mix two states, you can watch the electron cloud slosh back and forth. Arrows show where the electron is flowing, and you can color the cloud by its phase. I also changed the look to seem more natural and less AI, I added a plain white theme with a dark mode, grids on every graph, and buttons to save any graph as a picture or a spreadsheet. Then I added a bunch of other features such as: Potassium and calcium, the first atoms past argon. There’s a mini experiment showing why 4s fills before 3d, even when 3d is lower in energy. A table that checks my calculations against real lab measurements for every atom from helium to calcium. sp, sp2 and sp3 hybrid orbitals, the shapes chemists use for bonds. Lines showing exactly where the electron can never be (nodes), and a scale bar in real units. A “measure the electron” button that drops dots one at a time until they build up the real shape. Some smaller things: Every graph has a “Reproduce in Python” box with code you can copy. Any number can be cited with one click. You can export 3D models for printing. Shared links now preview the actual orbital. There’s an API guide, a changelog and a feedback link. I also made the site faster by saving common results, and I fixed the phase colors so colorblind people can tell them apart. I still need to test it in a browser and then deploy it so stay tuned for that!
Devlog #10 Since last time I’ve mostly been adding new physics, so here’s the list. Momentum space: The Radial view now shows how fast the electron is likely to be moving, not just where it is. This one is exact math too. Decay cascade: An excited hydrogen atom doesn’t fall straight to the bottom. It drops down step by step, and now you can watch every path it might take and how likely each one is. Lasers: There’s a new laser panel where you shine light on the atom and watch the electron flip back and forth between two levels (these are called Rabi oscillations). Relativity: For one-electron atoms you can now see the Dirac version of the wavefunction, which is what you get when you add Einstein’s relativity to quantum mechanics. The proton radius puzzle: The nucleus isn’t a perfect point. It has a size, and that shifts the energy levels a tiny bit. Two different experiments measured the proton’s size and got different answers, and you can see both predictions side by side. Antihydrogen: You can now make an atom out of antimatter. It matches normal hydrogen exactly, and the app explains why. Nuclear mass slider: You can drag the nucleus mass anywhere from as light as an electron to heavier than tritium and watch the atom change as you go. All of this is getting pushed to the live site now, so it should be up soon!
Ships:
Atom Sim is a browser app that solves atoms from scratch and shows you the result. Hydrogen comes out of closed-form math, real atoms like carbon and argon come out of a Hartree-Fock solver I wrote, and you can look at any of them as a 3D electron cloud, a 2D slice, a radial plot, an energy-level diagram or an emission spectrum. You can also break physics on purpose: switch off the Pauli exclusion principle, switch off electron exchange, or type in your own potential V(r) and see what kind of atom falls out. The rule I built everything around is that the model never quietly lies. Every number carries a tag saying how it was made: exact, numerical, approximation, counterfactual, or just a visual choice. That tag follows the number from the solver all the way to the label on screen. What was challenging Hartree-Fock was brutal. The angular coefficients in the Fock operator are easy to get slightly wrong, and when you do, the solver still converges and hands you smooth, beautiful, completely wrong orbitals. Nothing crashes, nothing warns you. I had to re-derive the algebra instead of nudging numbers until a benchmark matched. Error bars were the other trap. Mine looked great for a while and were simply lying, because the real error was coming from the box size, not the grid spacing I was measuring. Argon also took about an hour on a uniform grid until I moved to an exponential mesh, which cut it to seconds. What I’m proud of That it’s honest. Plenty of simulators draw a pretty orbital and say nothing about where it came from. Mine tells you, and the tests enforce it. The spectra are checked against real NIST data inside the test suite, so a physics regression fails CI rather than shipping quietly. How to test it It’s live at https://atomsim.fly.dev . The server sleeps when nobody is using it, so the very first load can take around 15 seconds. After that it’s quick. Good things to try: pick n=3, l=1 and rotate the cloud, then flip to Plane view for the cross-section. Switch the element to argon. Open a guided tour if you want the short version. Every view is a shareable URL, so you can link someone to an exact state.
AtomSim is a website I built that lets you actually see what an atom looks like. You pick an element, or hydrogen, and pick which electron shell you want to look at. Then it draws it. Not a cartoon of dots going around a circle like the diagrams in school, the real shape, the cloud where the electron actually is. Some of them look like spheres, some look like dumbbells, some look like weird four leaf clovers. All of that is real, it just falls out of the math. You can spin it around, slice it in half, look at it as a graph instead, or look at the colored lines of light the atom gives off when it gets hot. That last one is how we know what stars are made of, and you can watch it happen. The part I care about most is that it never fakes anything. Every single number on the screen carries a label saying how it was made. Some are exact, straight from the equations. Some are computed numerically with an error bar attached. Some are approximations, and it says which physical effects it left out. And a few are deliberate “what if” experiments, like turning off the rule that stops two electrons sitting in the same place, just to see the atom collapse. Those are labeled too. So if a picture is pretty rather than true, the app tells you. I wanted something a curious fifteen year old could poke at for an hour and come away with a correct picture in their head, not a comfortable wrong one. It runs in a browser, works on a phone, and every view has its own link you can share. PS: It also has mobile view now!...
|
1793119700.6696346
|
1793206100.6696346
|
|
43416
|
FlightController by @yaasshh | Stardance
|
yaasshh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: FlightController by @yaasshh | Stardance
|
1792925280.8502176
|
1793789280.8502176
|
|
46162
|
RePSU by @yaasshh | Stardance
|
yaasshh
|
0
|
2.69
|
0
|
[]
|
[{"post_id": 46932, "ts": "202 [{"post_id": 46932, "ts": "2026-08-14T14:27:17Z", "hours": 2.685, "text": "Devlog: Sourcing the CAD Files & Building the BOM This stage was mostly about getting the physical side of RePSU figured out before moving further into the build. I started by sourcing the CAD files for the enclosure and checking the different views to understand how everything would fit together. Having the enclosure laid out made it much easier to plan where the displays, banana sockets, buttons, fans, and other components would go. Once the enclosure was taking shape, I started putting together the Bill of Materials. I went through each component needed for the build, recorded the quantity, found suitable parts, and added the approximate prices and purchase links. The current BOM includes the displays, banana sockets, fuses, buttons, fans, MOSFETs, and the 85W USB charger. The estimated cost is around $35 USD, excluding the original ATX PSU and miscellaneous hardware. This gives me a much clearer idea of what I actually need to source before starting the physical assembly."}]...
|
Title: RePSU by @yaasshh | Stardance
Devlogs:
Dev Title: RePSU by @yaasshh | Stardance
Devlogs:
Devlog: Sourcing the CAD Files & Building the BOM This stage was mostly about getting the physical side of RePSU figured out before moving further into the build. I started by sourcing the CAD files for the enclosure and checking the different views to understand how everything would fit together. Having the enclosure laid out made it much easier to plan where the displays, banana sockets, buttons, fans, and other components would go. Once the enclosure was taking shape, I started putting together the Bill of Materials. I went through each component needed for the build, recorded the quantity, found suitable parts, and added the approximate prices and purchase links. The current BOM includes the displays, banana sockets, fuses, buttons, fans, MOSFETs, and the 85W USB charger. The estimated cost is around $35 USD, excluding the original ATX PSU and miscellaneous hardware. This gives me a much clearer idea of what I actually need to source before starting the physical assembly....
|
1792954317.71697
|
1793818317.71697
|
|
52241
|
DDSim by @yaasshh | Stardance
|
yaasshh
|
1
|
124.76
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T16:51:16Z", "hours": 87.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built DDSim, a program that simulates what happens inside the tiny parts that computer chips are made of, ie diodes, capacitors and transistors. You describe a device by its shape and which parts of the silicon have extra electrons or holes. DDSim then works out how those electrons and holes move, and draws the current and voltage curves. I didn’t fit anything to make the graphs look right. Everything comes straight from the physics equations. (NOTE: ITS STILL VERY CLUNKY SO ITS NOT GOING TO BE PERFECT AS OF RIGHT NOW. IF YOU FACE ANY TROUBLES IM REALLY SORRY) To make sure everything accurate, I checked it against textbook formulas and against DEVSIM, a simulator other people wrote. They agree to within a few percent, and the project has about 2,700 automated tests. You can try it in your browser at ddsim.fly.dev. Pick a device, press solve, and watch the answer draw itself. Every button and graph has a little “i” that explains what it means, and there are guided lessons if you’re new to this. It’s a school-level instrument, not a chip design tool. Below about 50 nanometers the physics it uses stops being accurate, so I didn’t go beyond that", "repo": "https://github.com/yaasshh09/DDSim", "demo": "https://ddsim.fly.dev"}]...
|
[{"post_id": 82276, "ts": "202 [{"post_id": 82276, "ts": "2026-10-24T13:22:27Z", "hours": 9.6742, "text": "Devlog #23 The trick for the MOS capacitor worked. Making the electrons react faster put the slow wiggles at a speed the computer can handle, and the answers came out right. That FINALLY finished the AC phase. I also added noise, a tiny random jitter in current that every device has. Next I added time. Now its possible to flip a diode from on to off and watch it recover. When you switch a diode off, it keeps conducting for a moment because of all the charge stored inside it. I compared that against DEVSIM, and our results were within 0.03% of each other which is quite frankly something im really proud off. Then I added a feature where the simulator shows how inaccurate it may be. It now checks its own answer against a finer mesh and puts a little error bar on every point in the plots. It can also improve its own mesh by adding points only where they’re needed. On 5 of my 8 test devices it hit the target accuracy with fewer points than my hand-made meshes. I was aiming for around 6, so that’s still doable. The newest addition is a bipolar transistor, where a small current into the middle layer controls a much bigger current through the whole device. I built a simple 1D version and a more realistic 2D one. The 1D version matches the textbook formula to within 0.03%. The best part is that its gain drops off at both very low and very high current, the way real transistors do, and I never told it to. It figured that out from the physics."}, {"post_id": 80341, "ts": "2026-10-17T10:12:36Z", "hours": 1.9553, "text": "Devlog #22 The long DEVSIM run finally finished. It took about 6 hours and matched the expert result almost exactly, which closes out the scoreboard phase. Then I started the next phase, which is about AC. That essentially means wiggling the voltage back and forth and watching how the device reacts at different speeds. Before, my simulator could only handle super slow wiggles, or fast ones where I froze some electrons by hand. Now it can handle any speed. To get there, I first taught the simulator how fast electrons and holes pile up or drain away over time. Then I wrote the part that works out how much current flows into each contact when one of them gets wiggled. I tested it on diodes, since they have textbook formulas to compare against. A long diode matched within about 1%, and a short one within 1.3%. Along the way I found a bug where my mesh maker gave up on very long devices, so I fixed that too. The MOS capacitor is giving me some trouble. At really slow wiggles, the math needs more precision than normal computer numbers have, so the answers came out wrong by up to 46%. Fast wiggles work fine. Right now I’m trying a trick where I make the electrons react faster, so the slow case happens at a speed the computer can handle. Below are some of the DEVSIM scoreboard values"}, {"post_id": 80105, "ts": "2026-10-16T07:52:45Z", "hours": 4.8328, "text": "Devlog #21 Since the last devlog I finished most of the temperature phases. First I compared the diode at 400 K against DEVSIM. I saved that result so my other tests compare with it from now on. Then I added two new sliders to the website. One sets the temperature, from 200 to 500 K. The other sets the fixed charge where the silicon meets the oxide. I picked both ranges by running the simulator across them. Each slider also has a short lesson that explains what it does. While I was writing those, I found some broken math formatting in the temperature lesson and fixed it. The biggest addition is freeze-out. To make silicon conduct, we add extra atoms that give up electrons. When it gets really cold, those atoms stop giving up their electrons. Before, my simulator assumed they always did. Now there’s a switch for it, and it works. At 100, 200 and 300 K it matches the textbook formula almost exactly. I also checked that a plain frozen silicon bar still follows Ohm’s law, and that the capacitance results still work at 150 K."}, {"post_id": 79306, "ts": "2026-10-13T13:29:32Z", "hours": 4.9631, "text": "Devlog #20 In this devlog i firstly fixed up the website. It now has a little icon in the browser tab, a terms page, a privacy page and a footer with a contact button. The icon didn’t show up on the live site at first, so I fixed that too. Then I started the next phase, which is all about fixing temperature related stuff. A lot of the calculations of the simulator took room temperature which might have led to some wrong calculations, so I’ve been fixing that. The gate’s energy level was stuck at its room-temperature value. it was a real bug and its fixed now. When the silicon gets hotter, electrons now max out at a lower speed, just like in real-life chips. From 250 to 400 K, the junction’s built-in voltage matches the textbook formula. From 300 to 400 K, the diode’s leakage current stays within 0.3% of the formula. I also added a fixed charge that sits where the silicon meets the oxide layer. Real chips always have some, and it changes the voltage where a transistor turns on. Next up are the big jobs. A long DEVSIM run is still going, and after that I’ll test the temperature effects on a full 2D transistor. I also still need to put the website changes live."}, {"post_id": 76513, "ts": "2026-10-03T19:43:47Z", "hours": 7.6606, "text": "Devlog #19 The speed and robustness numbers are now saved on the scoreboard. On the first 8 benchmarks, my solver takes about 1.6x less time per bias point than DEVSIM. I also added a test that reads the README and fails if the README claims anything the data doesn’t back up (I hate getting 100% vibe code assumptions on my readme btw). I renamed a lot of variables across the code (to pass the 30% ai rule that im apparently violating) to shorter names. That kind of change can break the tests if some of the variables reference each other across multiple files, so I checked that python turns the old code and the new code into exactly the same instructions. Thankfully it did. I also moved all the settings into one file. Things like how many tries the solver gets, how small the mesh can get, and the server limits used to be scattered across about 20 files. I checked that every single value stayed exactly the same after the move. I also deleted the last few leftover comments. Then I pushed everything. The tests ran on three Python versions, and 2,723 of 2,724 passed. The one that failed was a browser test on Python 3.11 that waited too long for the page to load. The same test passed on the other two versions, so it’s probably just a slow test machine, but I’m going to rerun it to make sure. My laptop ran out of memory again, which stopped me from finishing the type hints in the tests. That’s next, once I’m not running a bunch of other stuff at the same time."}, {"post_id": 74357, "ts": "2026-09-27T07:21:49Z", "hours": 2.1619, "text": "Devlog #18 The robustness runs are almost done. Robustness checks a simple concept, if I give the solver a device cold, with no warm-up, does it actually finish? I ran 200 test cases through my solver and through DEVSIM, each in a few different setups. The robustness numbers aren’t final yet. One DEVSIM result is still missing. The first time my laptop ran out of memory, and the second time it went to sleep overnight, so it’s running again now. I also found out DEVSIM acts much differently depending on how many CPU threads it gets. With only one, some solves failed or took forever which was kinda interesting to see. On the cleanup side, I turned on the strictest type checking across the whole project and fixed what it found. Every color on the website now comes from one file. I also deleted a bunch of old files nobody used and cut the README down."}, {"post_id": 73883, "ts": "2026-09-26T07:55:09Z", "hours": 4.0261, "text": "Devlog #17 I restarted the scoreboard runs, and before looking/mentioning any of the results I checked my own setup for DEVSIM. That showed a few bugs on my side. My starting guess for the voltage inside the device did a log of zero on heavily doped chips, so DEVSIM crashed INSTANTLY. I also wasn’t giving it enough steps to settle on some devices. I fixed both, because it wouldn’t be fair to count my mistakes as DEVSIM’s. I also cleaned up the code, I tried to ship all progress so far but there was just too much AI (guilty) so I am working on redoing the python, css and javascript code again mainly from scratch. (The image shows all the values from the DDSim tests)"}, {"post_id": 73631, "ts": "2026-09-25T15:22:18Z", "hours": 2.4842, "text": "Devlog #16 Now that DDSim is live, my next goal is to make it better than DEVSIM, a free, open-source simulator a lot of people already use. “Better” doesn’t count unless I can measure it, so I planned out the next 11 stages of the project, and the first one is a scoreboard. The scoreboard runs both simulators on the same set of devices and compares them in four ways: how often each one finishes a solve without crashing, how accurate the answers are, how fast they run, and what each one can do at all. Some of these runs take hours, and my laptop ran out of memory partway through, so I paused them. I’ll post the results once they’re done, even the parts where DEVSIM is better than mine. While building the accuracy check, I found a bug in my own math. Sometimes it reported numbers that didn’t make physical sense, so now it throws those out instead of trusting them. I also went through all the style files for the website. They’re about a third smaller now, and I checked that the page still looks exactly the same. Then I found a small bug that had been there all along. The little “i” buttons that explain each setting were supposed to turn blue when you hover over them, but a different style rule was overriding it. Last, I cleaned up the README again. The pictures are centered now, I took out the GIF, and I rewrote some of the text so it reads more naturally."}, {"post_id": 73215, "ts": "2026-09-24T16:47:16Z", "hours": 1.6669, "text": "Devlog #15 DDSim is FINALLY deployed and live! You can try it at ddsim.fly.dev Getting it online took one extra step. The cheap shared server was too slow: the hardest transistor solve takes about 50 seconds on my laptop and would have taken around 7 minutes there. That’s past the 5-minute limit I set, so it would have been stopped every time. I moved it to a faster server, and now it finishes in under a minute. Once it was up, I found a bug. When every contact on a transistor was at the same voltage, the picture still drew current flowing through it. That’s impossible, because with no voltage difference nothing moves. I fixed it, and now the page says “no current flows” instead of showing an empty plot with no explanation. Then I rewrote the README from scratch. The old one was over 500 lines and way too dense. The new one is about 200 lines, mostly screenshots from the live site plus a few tables, so someone can see what the project does in a couple of minutes. While doing that, I caught a mistake. One number in my results table didn’t match the graph right next to it. I reran the full simulation, which took 20 minutes, and fixed the table so it matches. Last, I took the deployment files out of the public code. Anyone who downloads it gets everything they need to run it on their own computer, but not the setup for putting it online. Next up, I might be thinking of getting a custom name for this simulator and my other atom simulator. If anyone knows where I can get free domains, lmk in the comments"}, {"post_id": 72803, "ts": "2026-09-23T19:24:31Z", "hours": 2.5789, "text": "Devlog #14 Since then, most of my work has been getting DDSim ready for other people to use. First I cleaned up the controls. Some sliders and number boxes let you pick values that made the solver fail, which just showed up as a red error. I went through the diode, the MOS capacitor, the transistor and the draw-your-own device and found the range where each setting actually works. The sliders now stay inside those ranges, so a beginner can’t break things by accident. Then I cleaned up the code. I deleted about 2,400 lines of comments that just repeated what the code already said and kept the ones that explain something nessessary. Next came the writing. The site has about 40 short articles that explain the physics, and a lot of them sounded stiff, so I rewrote all of them. I did the same for the project docs, and on the way I found a few places where the docs no longer matched what the code does, so I fixed those too. Now I’m working on putting it online. I picked Fly.io to host it, and I’m hoping to get a free custom name. Since anyone will be able to use it, I’m adding some safety limits first. Only a couple of solves can run at the same time, old results get cleared out after a while, and a solve that runs too long gets stopped with a message explaining why. I tested each limit by breaking it on purpose to make sure the test catches it. It isn’t live yet, but it’s close! [lazy pic, i dont wanna open server again :( ]"}, {"post_id": 72407, "ts": "2026-09-22T21:05:00Z", "hours": 1.9161, "text": "Devlog #13 This one is all about the page itself. The physics didn’t change, but you’ll notice everything else did. I rebuilt the whole look from scratch. The old version was only friendly if you already knew semiconductors, and I want someone who has never heard of a diode to open it and get somewhere. Now it opens by asking you to pick a device: a diode, a MOS capacitor, a transistor, or draw your own. Each one comes with a sentence or two on what it is. Every number and switch has a little “i” next to it that explains it, and an empty plot tells you what it’s waiting for instead of sitting blank. Drawing your own device used to happen in a tiny box off to the side. Now it gets the whole screen. Some layers are so thin they basically disappeared, so I stretch the picture up and down until you can see them, and a label says when it’s stretched. Doped areas get a soft color so you can tell them apart. I also changed the font a couple of times. It started in a terminal style that felt cold. I tried one replacement and ended on Poppins, which just feels warmer. My favorite change is in the runs panel. It used to list your old runs as text, like “doping 1e17.” Now every solve saves a little picture of its own curve, and they all share the same scale, so you can see at a glance how each change moved the result. I switched the license to CC BY-NC so that it still stays technically open source but I own intellectual property for commercial use. Anyone can use it and change it for free, as long as they credit me and don’t sell it. A bit of AI usage in the frontend i will agree but not overkill in terms of it."}, {"post_id": 72227, "ts": "2026-09-22T14:20:14Z", "hours": 2.8683, "text": "Devlog #12 Last time I left off with a transistor sitting on oxide that would not solve. I think ive fixed it. The silicon body had no contact touching it anywhere, so the solver had no idea what voltage that body should sit at. There is no single right answer, so it just wanders. That is not a bug I can fix, it is the physics of the thing, so now the simulator refuses that drawing up front and says why instead of grinding away at it. Then I went hunting for every other way someone could break it. I wrote something that tries every combination of settings the page can send and watched what fell over. A few things did: A gate metal with a work function no real metal has. Surface scattering asked for on a 1D device, which has no surface to scatter off. A shape so thin the grid ends up dividing by zero. All of them now get refused before the solve starts, with a sentence saying what to change. A few smaller ones. The device picture was drawn half a grid cell off, which threw off the line you drag across it to read values. That same line returned nothing at all where silicon meets oxide. And the explanations could load out of order and show you the wrong one. I think now i should wrap the version 1 of the project and finish polishing the frontend considering stardance is getting over soon. another lazy code pic btw cause i dont wanna open the servers again"}, {"post_id": 70662, "ts": "2026-09-19T15:24:06Z", "hours": 2.4228, "text": "Devlog #11 Since the last devlog, you can draw your own 2D devices, not just stack layers in a line. You draw rectangles of silicon and oxide, paint doping onto them, and place metal contacts along the edges. The simulator builds a grid that fits your drawing and solves it. Before it solves, it checks for mistakes and tells you what’s wrong in plain words: a piece of silicon with no contact touching it, a gate sitting right on silicon, or a shape too small for the grid to see. To make sure drawing works, I redrew the MOS capacitor and the transistor I already had and checked that they give the same answers. The capacitor matched almost exactly and the transistor was within about 1%. Testing it in a real browser caught two bugs. One made every solve hang forever. The other made the picture of the device grow every time it redrew on high resolution screens. Both seem to be fixed now but I’ll be on the lookout for similar bugs. Then I tried something new, a transistor sitting on a layer of oxide, the way a lot of modern chips are built. It won’t solve yet. I narrowed it down to the oxide underneath the silicon, and I’m still wondering how breaks things. More on that next time. random picture cause im too lazy to start the servers again"}, {"post_id": 70075, "ts": "2026-09-18T12:25:44Z", "hours": 3.6847, "text": "Devlog #10 Since the last devlog, the simulator has gone from explaining things to letting you play with them. First, you can now compare runs. Every time you solve, the curve stays on the plot, so you can change one thing and see exactly what moved. The diode also got live sliders. Drag the doping or voltage and the answer updates while you drag. The 2D devices like the MOSFET are too slow for that, so I added a quick mode that uses a rougher grid. It’s a little less accurate, and I wrote down exactly how much. Then I built five guided lessons: a diode sitting at rest, a diode with voltage on it, a MOS capacitor, a transistor turning on, and what goes wrong when transistors get really small. Each lesson walks you through experiments step by step. The important part is that every claim a lesson makes is checked by a test against the solver I developed as part of the project. For example: if a lesson says “the current goes up,” a test runs it and makes sure it actually does. The biggest addition is a device builder. You stack layers of doped silicon however you want, and the simulator solves whatever you made. You can also save a design and load it again later. I agree I used AI for the frontend but I did not go VERY heavy on it. Only to build upon the frontend base I coded"}, {"post_id": 69600, "ts": "2026-09-17T12:07:30Z", "hours": 6.0439, "text": "Devlog #9 Since my last devlog, my solver and DEVSIM have started to cooperate. All ten benchmark devices match, the MOSFETs included, so the physics phase is done. THANK THE LORD Now I’m working on the part I care about most personally, which is making the simulator teach. The browser used to be a wall of knobs and plots with no explanation. Now every knob and every plot has a small “i” button. Click it and a drawer slides out with a plain explanation first, then the real equations for anyone who wants to go deeper. I wrote 35 of these explanations covering the physics, how the solver works, the devices, and how to read each plot. Then I checked them against the code. One credited the diodes with an accuracy number that actually belonged to a different device. Another claimed that one failed point in a sweep doesn’t ruin the rest, but the code stops at the first failure. The equations turned out to be hard to figure. The markdown reader treated the backslashes inside the math as its own escape characters and deleted them, so 92 bits of spacing and notation came out messed up. Now I pull the math out before the markdown step and put it back after. I also bundled the math and markdown libraries into the project, so the page works with no internet. Next up are band diagrams, which show the energy levels electrons can sit at. The page will draw them straight from the solved device."}, {"post_id": 68669, "ts": "2026-09-15T14:33:26Z", "hours": 1.7181, "text": "Devlog #8 Really tired today. Just ran a bunch of tests today and got a bunch of values ill sort through tomorrow."}, {"post_id": 67223, "ts": "2026-09-13T08:42:33Z", "hours": 3.7983, "text": "Devlog #7 Since my last devlog I have been teaching DEVSIM to run the same physics my own solver runs. Before this it was on a stripped down model set, so the two codes had similar geometry and nothing about mobility. Now it runs the real thing: doping dependent mobility, surface scattering at the oxide, velocity saturation, and proper Fermi-Dirac statistics. Getting there meant three more small lies. DEVSIM will easily chain a derivative through one kind of model and silently return zero for another. No error, no warning. My solver just diverged on the first step. It took a dump of every derivative on the device to see a column of exact zeros where numbers should have been. Then a field magnitude written as a square root of a square. Mathematically, sounds good but numerically it produces a nan wherever the field is exactly zero, which in a neutral chunk of silicon is nearly every edge. Then the surface mobility. I was refreshing it on every pass, forever. That is not a converging loop, that is two numbers chasing each other. The gate walk climbed to 0.50 V and then refused 0.55 V at every step size I gave it, down to a tenth of a millivolt. A failure that ignores step size is not a step size problem. I gave the refresh a stopping rule and re-ran it. Same answer to the last digit, just reachable now. The 1 micron device now agrees between the two codes to under 3.3 percent at low drain and under 1.3 percent at high drain, across four decades of current. The remaining blocker is not code. My browser is holding 15 of the machine’s 16 GB."}, {"post_id": 66590, "ts": "2026-09-12T13:16:11Z", "hours": 3.9589, "text": "Devlog #6 Im not going to say much this devlog. I hate Github CI errors with a passion and everybody that creates software relates."}, {"post_id": 65940, "ts": "2026-09-11T12:39:46Z", "hours": 2.6142, "text": "Devlog #5 Since the license was added, all my time has gone into one stubborn thing, that is getting DEVSIM simulator, to produce trustworthy MOSFET curves. It has been a long journey of small lies the application tells you. DEVSIM’s solve doesn’t take a device argument, so it solves everything you’ve ever built in that process at once. I was building one device per curve and leaving them around, so the second curve was dragging a finished device along with it and ruining the shared error check. Deleting each device when its curve finishes fixed a whole family of weird failures. Then I found the equilibrium solve was starting from all zeros, which on this device is 0.6 V off. I supply it from charge neutrality now. Same final output but far less trouble getting there. 2 of my own ideas turned out wrong and got reverted, but I wrote the measurements rather than dropping them. Capping the solver’s pass budget moved the current by 0.4%. Pinning the math library to one thread made a four second step take three minutes. Big Ouch. Currently, the 1 micron transfer curve at 50 mV of drain runs end to end and confirms with my simulator to within 0.23% above threshold. The 1 V curve still stalls at 0.4 V of gate, and I checked it properly rather than simply loosening the tolerance, because it turns out DEVSIM isn’t converging there at all. My own code, for contrast, does the same curve in 4.6 seconds."}, {"post_id": 65618, "ts": "2026-09-10T21:14:24Z", "hours": 1.4086, "text": "Dev log #4 After the last devlog I pushed and CI went red on all three Python versions. One test, one solver that would not converge. I guessed this before and fixed the wrong line. Last time I saw the residual and assumed a gate step was missing the convergence basin, so I put continuation on the gate ramp. That was a real improvement, just not this bug. This time I actually read the CI log The failing solve was the one before the ramp even starts. Gate at zero, drain already at 1 V, starting from a cold guess. So I measured it instead of guessing. Cold at 0 V drain takes 1 step. At 1 V it takes 22, and 12 of those get clipped by the step limiter, which means the solver is being dragged the whole way instead of converging properly The fix walks the bias in from zero using the continuation I already had. I regenerated the whole roll-off table through the new path and every digit came out identical. Only the path changed, not the answer. Also added the Open-Source MIT license, and cleaned the commit history."}, {"post_id": 65362, "ts": "2026-09-10T13:29:09Z", "hours": 2.1169, "text": "Dev log #3 I found a bug that made every 2D current in the simulator wrong by a factor of about 245, WAY too big. The cause, i believe, was one missing conversion. The code turns an internal number into a real current, and in 2D that conversion needs an extra length factor that I never included. In 1D it happened to be right, which is why it went un-noticed. I fixed it and then wrote a test that compares a 2D current against Ohm’s law, worked out by hand with no solver involved. This test was missing before. The reassuring part: I measure the turn-on voltage two completely different ways. They used to differ by 180 mV, which I didnt pay much attention to previously. After the fix they agree to about 2 mV. I did not tune anything to make that happen, so I might have to start believing in miracles. I also fixed two divide-by-zero crashes in the surface mobility code that were blocking a whole test combination. Also updated the README numbers and the decisions log. The full test suite is still running, and I will push to github once done."}, {"post_id": 64702, "ts": "2026-09-09T10:05:49Z", "hours": 15.2131, "text": "Devlog #2 Two things this stretch, and both started as “that’s odd” rather than “that’s broken.” First, the solver was crawling. Every step up in voltage cost more than the last, and past a point it just gave up. I traced it back to the starting guess, which was asking what makes glass electrically neutral. That question has no answer, because glass has no charges to balance in the first place. The solver was grinding away at something stupid before it ever got to the real problem. I gave it a proper starting answer instead, and the slowdown disappeared entirely. Second, I stopped trusting my tests and went to check them. I broke my own code ten different ways on purpose, one at a time, and watched to see which breakages the suite would catch. 9/10 failed, which is what I wanted. 1 slipped through clean, and that is the interesting one, because a test that cannot fail is not a test. Chasing the one that got away turned up a real bug hiding underneath it. Setting the voltage on the bottom contact was silently doing nothing at all. The code ran, reported success, and ignored the value. One line to fix, and it would have been very hard to find any other way, since nothing about the output looked wrong. Heads up! Light AI usage to debug the tests and break code to find errors"}, {"post_id": 54968, "ts": "2026-08-26T12:21:42Z", "hours": 35.26, "text": "DDSim Devlog I’m building a chip simulator from scratch. Today I got it to simulate a MOS capacitor, a silicon slab with a thin glass layer and a metal plate on top. It’s the heart of every transistor ever made. What I built: I stacked two grids together: a fine one near the silicon surface where all the action is, and a coarse one for the glass where nothing happens. Then I wrote one function that builds the whole sandwich. I wrote every test before the code. This kind of maths loves to give you wrong answers that look perfectly reasonable, so I only trust it when it matches something I can work out on paper. I’m happy that the “flatband” voltage came out exact to 15 decimal places. The threshold voltage matched the textbook to 0.13 millivolts, 50 times better than I needed. I also identified a few problems; the solver was getting slower and slower at high voltage, then giving up. The starting guess was asking “what makes glass electrically neutral?”, a meaningless question, since glass has no charges. I gave it a proper answer instead and the slowdown vanished completely. Then I deliberately broke my own code ten ways to check the tests would catch it. Nine got caught. One didn’t. Chasing that turned up a real bug: the bottom-contact voltage setting was silently doing nothing. One line to fix. Current Position: 1339 tests passing, everything clean, C-V curve working across all three regimes."}]...
|
Title: DDSim by @yaasshh | Stardance
Devlogs:
DDS Title: DDSim by @yaasshh | Stardance
Devlogs:
DDSim Devlog I’m building a chip simulator from scratch. Today I got it to simulate a MOS capacitor, a silicon slab with a thin glass layer and a metal plate on top. It’s the heart of every transistor ever made. What I built: I stacked two grids together: a fine one near the silicon surface where all the action is, and a coarse one for the glass where nothing happens. Then I wrote one function that builds the whole sandwich. I wrote every test before the code. This kind of maths loves to give you wrong answers that look perfectly reasonable, so I only trust it when it matches something I can work out on paper. I’m happy that the “flatband” voltage came out exact to 15 decimal places. The threshold voltage matched the textbook to 0.13 millivolts, 50 times better than I needed. I also identified a few problems; the solver was getting slower and slower at high voltage, then giving up. The starting guess was asking “what makes glass electrically neutral?”, a meaningless question, since glass has no charges. I gave it a proper answer instead and the slowdown vanished completely. Then I deliberately broke my own code ten ways to check the tests would catch it. Nine got caught. One didn’t. Chasing that turned up a real bug: the bottom-contact voltage setting was silently doing nothing. One line to fix. Current Position: 1339 tests passing, everything clean, C-V curve working across all three regimes.
Devlog #2 Two things this stretch, and both started as “that’s odd” rather than “that’s broken.” First, the solver was crawling. Every step up in voltage cost more than the last, and past a point it just gave up. I traced it back to the starting guess, which was asking what makes glass electrically neutral. That question has no answer, because glass has no charges to balance in the first place. The solver was grinding away at something stupid before it ever got to the real problem. I gave it a proper starting answer instead, and the slowdown disappeared entirely. Second, I stopped trusting my tests and went to check them. I broke my own code ten different ways on purpose, one at a time, and watched to see which breakages the suite would catch. 9/10 failed, which is what I wanted. 1 slipped through clean, and that is the interesting one, because a test that cannot fail is not a test. Chasing the one that got away turned up a real bug hiding underneath it. Setting the voltage on the bottom contact was silently doing nothing at all. The code ran, reported success, and ignored the value. One line to fix, and it would have been very hard to find any other way, since nothing about the output looked wrong. Heads up! Light AI usage to debug the tests and break code to find errors
Dev log #3 I found a bug that made every 2D current in the simulator wrong by a factor of about 245, WAY too big. The cause, i believe, was one missing conversion. The code turns an internal number into a real current, and in 2D that conversion needs an extra length factor that I never included. In 1D it happened to be right, which is why it went un-noticed. I fixed it and then wrote a test that compares a 2D current against Ohm’s law, worked out by hand with no solver involved. This test was missing before. The reassuring part: I measure the turn-on voltage two completely different ways. They used to differ by 180 mV, which I didnt pay much attention to previously. After the fix they agree to about 2 mV. I did not tune anything to make that happen, so I might have to start believing in miracles. I also fixed two divide-by-zero crashes in the surface mobility code that were blocking a whole test combination. Also updated the README numbers and the decisions log. The full test suite is still running, and I will push to github once done.
Dev log #4 After the last devlog I pushed and CI went red on all three Python versions. One test, one solver that would not converge. I guessed this before and fixed the wrong line. Last time I saw the residual and assumed a gate step was missing the convergence basin, so I put continuation on the gate ramp. That was a real improvement, just not this bug. This time I actually read the CI log The failing solve was the one before the ramp even starts. Gate at zero, drain already at 1 V, starting from a cold guess. So I measured it instead of guessing. Cold at 0 V drain takes 1 step. At 1 V it takes 22, and 12 of those get clipped by the step limiter, which means the solver is being dragged the whole way instead of converging properly The fix walks the bias in from zero using the continuation I already had. I regenerated the whole roll-off table through the new path and every digit came out identical. Only the path changed, not the answer. Also added the Open-Source MIT license, and cleaned the commit history.
Devlog #5 Since the license was added, all my time has gone into one stubborn thing, that is getting DEVSIM simulator, to produce trustworthy MOSFET curves. It has been a long journey of small lies the application tells you. DEVSIM’s solve doesn’t take a device argument, so it solves everything you’ve ever built in that process at once. I was building one device per curve and leaving them around, so the second curve was dragging a finished device along with it and ruining the shared error check. Deleting each device when its curve finishes fixed a whole family of weird failures. Then I found the equilibrium solve was starting from all zeros, which on this device is 0.6 V off. I supply it from charge neutrality now. Same final output but far less trouble getting there. 2 of my own ideas turned out wrong and got reverted, but I wrote the measurements rather than dropping them. Capping the solver’s pass budget moved the current by 0.4%. Pinning the math library to one thread made a four second step take three minutes. Big Ouch. Currently, the 1 micron transfer curve at 50 mV of drain runs end to end and confirms with my simulator to within 0.23% above threshold. The 1 V curve still stalls at 0.4 V of gate, and I checked it properly rather than simply loosening the tolerance, because it turns out DEVSIM isn’t converging there at all. My own code, for contrast, does the same curve in 4.6 seconds.
Devlog #6 Im not going to say much this devlog. I hate Github CI errors with a passion and everybody that creates software relates.
Devlog #7 Since my last devlog I have been teaching DEVSIM to run the same physics my own solver runs. Before this it was on a stripped down model set, so the two codes had similar geometry and nothing about mobility. Now it runs the real thing: doping dependent mobility, surface scattering at the oxide, velocity saturation, and proper Fermi-Dirac statistics. Getting there meant three more small lies. DEVSIM will easily chain a derivative through one kind of model and silently return zero for another. No error, no warning. My solver just diverged on the first step. It took a dump of every derivative on the device to see a column of exact zeros where numbers should have been. Then a field magnitude written as a square root of a square. Mathematically, sounds good but numerically it produces a nan wherever the field is exactly zero, which in a neutral chunk of silicon is nearly every edge. Then the surface mobility. I was refreshing it on every pass, forever. That is not a converging loop, that is two numbers chasing each other. The gate walk climbed to 0.50 V and then refused 0.55 V at every step size I gave it, down to a tenth of a millivolt. A failure that ignores step size is not a step size problem. I gave the refresh a stopping rule and re-ran it. Same answer to the last digit, just reachable now. The 1 micron device now agrees between the two codes to under 3.3 percent at low drain and under 1.3 percent at high drain, across four decades of current. The remaining blocker is not code. My browser is holding 15 of the machine’s 16 GB.
Devlog #8 Really tired today. Just ran a bunch of tests today and got a bunch of values ill sort through tomorrow.
Devlog #9 Since my last devlog, my solver and DEVSIM have started to cooperate. All ten benchmark devices match, the MOSFETs included, so the physics phase is done. THANK THE LORD Now I’m working on the part I care about most personally, which is making the simulator teach. The browser used to be a wall of knobs and plots with no explanation. Now every knob and every plot has a small “i” button. Click it and a drawer slides out with a plain explanation first, then the real equations for anyone who wants to go deeper. I wrote 35 of these explanations covering the physics, how the solver works, the devices, and how to read each plot. Then I checked them against the code. One credited the diodes with an accuracy number that actually belonged to a different device. Another claimed that one failed point in a sweep doesn’t ruin the rest, but the code stops at the first failure. The equations turned out to be hard to figure. The markdown reader treated the backslashes inside the math as its own escape characters and deleted them, so 92 bits of spacing and notation came out messed up. Now I pull the math out before the markdown step and put it back after. I also bundled the math and markdown libraries into the project, so the page works with no internet. Next up are band diagrams, which show the energy levels electrons can sit at. The page will draw them straight from the solved device.
Devlog #10 Since the last devlog, the simulator has gone from explaining things to letting you play with them. First, you can now compare runs. Every time you solve, the curve stays on the plot, so you can change one thing and see exactly what moved. The diode also got live sliders. Drag the doping or voltage and the answer updates while you drag. The 2D devices like the MOSFET are too slow for that, so I added a quick mode that uses a rougher grid. It’s a little less accurate, and I wrote down exactly how much. Then I built five guided lessons: a diode sitting at rest, a diode with voltage on it, a MOS capacitor, a transistor turning on, and what goes wrong when transistors get really small. Each lesson walks you through experiments step by step. The important part is that every claim a lesson makes is checked by a test against the solver I developed as part of the project. For example: if a lesson says “the current goes up,” a test runs it and makes sure it actually does. The biggest addition is a device builder. You stack layers of doped silicon however you want, and the simulator solves whatever you made. You can also save a design and load it again later. I agree I used AI for the frontend but I did not go VERY heavy on it. Only to build upon the frontend base I coded
Devlog #11 Since the last devlog, you can draw your own 2D devices, not just stack layers in a line. You draw rectangles of silicon and oxide, paint doping onto them, and place metal contacts along the edges. The simulator builds a grid that fits your drawing and solves it. Before it solves, it checks for mistakes and tells you what’s wrong in plain words: a piece of silicon with no contact touching it, a gate sitting right on silicon, or a shape too small for the grid to see. To make sure drawing works, I redrew the MOS capacitor and the transistor I already had and checked that they give the same answers. The capacitor matched almost exactly and the transistor was within about 1%. Testing it in a real browser caught two bugs. One made every solve hang forever. The other made the picture of the device grow every time it redrew on high resolution screens. Both seem to be fixed now but I’ll be on the lookout for similar bugs. Then I tried something new, a transistor sitting on a layer of oxide, the way a lot of modern chips are built. It won’t solve yet. I narrowed it down to the oxide underneath the silicon, and I’m still wondering how breaks things. More on that next time. random picture cause im too lazy to start the servers again
Devlog #12 Last time I left off with a transistor sitting on oxide that would not solve. I think ive fixed it. The silicon body had no contact touching it anywhere, so the solver had no idea what voltage that body should sit at. There is no single right answer, so it just wanders. That is not a bug I can fix, it is the physics of the thing, so now the simulator refuses that drawing up front and says why instead of grinding away at it. Then I went hunting for every other way someone could break it. I wrote something that tries every combination of settings the page can send and watched what fell over. A few things did: A gate metal with a work function no real metal has. Surface scattering asked for on a 1D device, which has no surface to scatter off. A shape so thin the grid ends up dividing by zero. All of them now get refused before the solve starts, with a sentence saying what to change. A few smaller ones. The device picture was drawn half a grid cell off, which threw off the line you drag across it to read values. That same line returned nothing at all where silicon meets oxide. And the explanations could load out of order and show you the wrong one. I think now i should wrap the version 1 of the project and finish polishing the frontend considering stardance is getting over soon. another lazy code pic btw cause i dont wanna open the servers again
Devlog #13 This one is all about the page itself. The physics didn’t change, but you’ll notice everything else did. I rebuilt the whole look from scratch. The old version was only friendly if you already knew semiconductors, and I want someone who has never heard of a diode to open it and get somewhere. Now it opens by asking you to pick a device: a diode, a MOS capacitor, a transistor, or draw your own. Each one comes with a sentence or two on what it is. Every number and switch has a little “i” next to it that explains it, and an empty plot tells you what it’s waiting for instead of sitting blank. Drawing your own device used to happen in a tiny box off to the side. Now it gets the whole screen. Some layers are so thin they basically disappeared, so I stretch the picture up and down until you can see them, and a label says when it’s stretched. Doped areas get a soft color so you can tell them apart. I also changed the font a couple of times. It started in a terminal style that felt cold. I tried one replacement and ended on Poppins, which just feels warmer. My favorite change is in the runs panel. It used to list your old runs as text, like “doping 1e17.” Now every solve saves a little picture of its own curve, and they all share the same scale, so you can see at a glance how each change moved the result. I switched the license to CC BY-NC so that it still stays technically open source but I own intellectual property for commercial use. Anyone can use it and change it for free, as long as they credit me and don’t sell it. A bit of AI usage in the frontend i will agree but not overkill in terms of it.
Devlog #14 Since then, most of my work has been getting DDSim ready for other people to use. First I cleaned up the controls. Some sliders and number boxes let you pick values that made the solver fail, which just showed up as a red error. I went through the diode, the MOS capacitor, the transistor and the draw-your-own device and found the range where each setting actually works. The sliders now stay inside those ranges, so a beginner can’t break things by accident. Then I cleaned up the code. I deleted about 2,400 lines of comments that just repeated what the code already said and kept the ones that explain something nessessary. Next came the writing. The site has about 40 short articles that explain the physics, and a lot of them sounded stiff, so I rewrote all of them. I did the same for the project docs, and on the way I found a few places where the docs no longer matched what the code does, so I fixed those too. Now I’m working on putting it online. I picked Fly.io to host it, and I’m hoping to get a free custom name. Since anyone will be able to use it, I’m adding some safety limits first. Only a couple of solves can run at the same time, old results get cleared out after a while, and a solve that runs too long gets stopped with a message explaining why. I tested each limit by breaking it on purpose to make sure the test catches it. It isn’t live yet, but it’s close! [lazy pic, i dont wanna open server again :( ]
Devlog #15 DDSim is FINALLY deployed and live! You can try it at ddsim.fly.dev Getting it online took one extra step. The cheap shared server was too slow: the hardest transistor solve takes about 50 seconds on my laptop and would have taken around 7 minutes there. That’s past the 5-minute limit I set, so it would have been stopped every time. I moved it to a faster server, and now it finishes in under a minute. Once it was up, I found a bug. When every contact on a transistor was at the same voltage, the picture still drew current flowing through it. That’s impossible, because with no voltage difference nothing moves. I fixed it, and now the page says “no current flows” instead of showing an empty plot with no explanation. Then I rewrote the README from scratch. The old one was over 500 lines and way too dense. The new one is about 200 lines, mostly screenshots from the live site plus a few tables, so someone can see what the project does in a couple of minutes. While doing that, I caught a mistake. One number in my results table didn’t match the graph right next to it. I reran the full simulation, which took 20 minutes, and fixed the table so it matches. Last, I took the deployment files out of the public code. Anyone who downloads it gets everything they need to run it on their own computer, but not the setup for putting it online. Next up, I might be thinking of getting a custom name for this simulator and my other atom simulator. If anyone knows where I can get free domains, lmk in the comments
Devlog #16 Now that DDSim is live, my next goal is to make it better than DEVSIM, a free, open-source simulator a lot of people already use. “Better” doesn’t count unless I can measure it, so I planned out the next 11 stages of the project, and the first one is a scoreboard. The scoreboard runs both simulators on the same set of devices and compares them in four ways: how often each one finishes a solve without crashing, how accurate the answers are, how fast they run, and what each one can do at all. Some of these runs take hours, and my laptop ran out of memory partway through, so I paused them. I’ll post the results once they’re done, even the parts where DEVSIM is better than mine. While building the accuracy check, I found a bug in my own math. Sometimes it reported numbers that didn’t make physical sense, so now it throws those out instead of trusting them. I also went through all the style files for the website. They’re about a third smaller now, and I checked that the page still looks exactly the same. Then I found a small bug that had been there all along. The little “i” buttons that explain each setting were supposed to turn blue when you hover over them, but a different style rule was overriding it. Last, I cleaned up the README again. The pictures are centered now, I took out the GIF, and I rewrote some of the text so it reads more naturally.
Devlog #17 I restarted the scoreboard runs, and before looking/mentioning any of the results I checked my own setup for DEVSIM. That showed a few bugs on my side. My starting guess for the voltage inside the device did a log of zero on heavily doped chips, so DEVSIM crashed INSTANTLY. I also wasn’t giving it enough steps to settle on some devices. I fixed both, because it wouldn’t be fair to count my mistakes as DEVSIM’s. I also cleaned up the code, I tried to ship all progress so far but there was just too much AI (guilty) so I am working on redoing the python, css and javascript code again mainly from scratch. (The image shows all the values from the DDSim tests)
Devlog #18 The robustness runs are almost done. Robustness checks a simple concept, if I give the solver a device cold, with no warm-up, does it actually finish? I ran 200 test cases through my solver and through DEVSIM, each in a few different setups. The robustness numbers aren’t final yet. One DEVSIM result is still missing. The first time my laptop ran out of memory, and the second time it went to sleep overnight, so it’s running again now. I also found out DEVSIM acts much differently depending on how many CPU threads it gets. With only one, some solves failed or took forever which was kinda interesting to see. On the cleanup side, I turned on the strictest type checking across the whole project and fixed what it found. Every color on the website now comes from one file. I also deleted a bunch of old files nobody used and cut the README down.
Devlog #19 The speed and robustness numbers are now saved on the scoreboard. On the first 8 benchmarks, my solver takes about 1.6x less time per bias point than DEVSIM. I also added a test that reads the README and fails if the README claims anything the data doesn’t back up (I hate getting 100% vibe code assumptions on my readme btw). I renamed a lot of variables across the code (to pass the 30% ai rule that im apparently violating) to shorter names. That kind of change can break the tests if some of the variables reference each other across multiple files, so I checked that python turns the old code and the new code into exactly the same instructions. Thankfully it did. I also moved all the settings into one file. Things like how many tries the solver gets, how small the mesh can get, and the server limits used to be scattered across about 20 files. I checked that every single value stayed exactly the same after the move. I also deleted the last few leftover comments. Then I pushed everything. The tests ran on three Python versions, and 2,723 of 2,724 passed. The one that failed was a browser test on Python 3.11 that waited too long for the page to load. The same test passed on the other two versions, so it’s probably just a slow test machine, but I’m going to rerun it to make sure. My laptop ran out of memory again, which stopped me from finishing the type hints in the tests. That’s next, once I’m not running a bunch of other stuff at the same time.
Devlog #20 In this devlog i firstly fixed up the website. It now has a little icon in the browser tab, a terms page, a privacy page and a footer with a contact button. The icon didn’t show up on the live site at first, so I fixed that too. Then I started the next phase, which is all about fixing temperature related stuff. A lot of the calculations of the simulator took room temperature which might have led to some wrong calculations, so I’ve been fixing that. The gate’s energy level was stuck at its room-temperature value. it was a real bug and its fixed now. When the silicon gets hotter, electrons now max out at a lower speed, just like in real-life chips. From 250 to 400 K, the junction’s built-in voltage matches the textbook formula. From 300 to 400 K, the diode’s leakage current stays within 0.3% of the formula. I also added a fixed charge that sits where the silicon meets the oxide layer. Real chips always have some, and it changes the voltage where a transistor turns on. Next up are the big jobs. A long DEVSIM run is still going, and after that I’ll test the temperature effects on a full 2D transistor. I also still need to put the website changes live.
Devlog #21 Since the last devlog I finished most of the temperature phases. First I compared the diode at 400 K against DEVSIM. I saved that result so my other tests compare with it from now on. Then I added two new sliders to the website. One sets the temperature, from 200 to 500 K. The other sets the fixed charge where the silicon meets the oxide. I picked both ranges by running the simulator across them. Each slider also has a short lesson that explains what it does. While I was writing those, I found some broken math formatting in the temperature lesson and fixed it. The biggest addition is freeze-out. To make silicon conduct, we add extra atoms that give up electrons. When it gets really cold, those atoms stop giving up their electrons. Before, my simulator assumed they always did. Now there’s a switch for it, and it works. At 100, 200 and 300 K it matches the textbook formula almost exactly. I also checked that a plain frozen silicon bar still follows Ohm’s law, and that the capacitance results still work at 150 K.
Devlog #22 The long DEVSIM run finally finished. It took about 6 hours and matched the expert result almost exactly, which closes out the scoreboard phase. Then I started the next phase, which is about AC. That essentially means wiggling the voltage back and forth and watching how the device reacts at different speeds. Before, my simulator could only handle super slow wiggles, or fast ones where I froze some electrons by hand. Now it can handle any speed. To get there, I first taught the simulator how fast electrons and holes pile up or drain away over time. Then I wrote the part that works out how much current flows into each contact when one of them gets wiggled. I tested it on diodes, since they have textbook formulas to compare against. A long diode matched within about 1%, and a short one within 1.3%. Along the way I found a bug where my mesh maker gave up on very long devices, so I fixed that too. The MOS capacitor is giving me some trouble. At really slow wiggles, the math needs more precision than normal computer numbers have, so the answers came out wrong by up to 46%. Fast wiggles work fine. Right now I’m trying a trick where I make the electrons react faster, so the slow case happens at a speed the computer can handle. Below are some of the DEVSIM scoreboard values
Devlog #23 The trick for the MOS capacitor worked. Making the electrons react faster put the slow wiggles at a speed the computer can handle, and the answers came out right. That FINALLY finished the AC phase. I also added noise, a tiny random jitter in current that every device has. Next I added time. Now its possible to flip a diode from on to off and watch it recover. When you switch a diode off, it keeps conducting for a moment because of all the charge stored inside it. I compared that against DEVSIM, and our results were within 0.03% of each other which is quite frankly something im really proud off. Then I added a feature where the simulator shows how inaccurate it may be. It now checks its own answer against a finer mesh and puts a little error bar on every point in the plots. It can also improve its own mesh by adding points only where they’re needed. On 5 of my 8 test devices it hit the target accuracy with fewer points than my hand-made meshes. I was aiming for around 6, so that’s still doable. The newest addition is a bipolar transistor, where a small current into the middle layer controls a much bigger current through the whole device. I built a simple 1D version and a more realistic 2D one. The 1D version matches the textbook formula to within 0.03%. The best part is that its gain drops off at both very low and very high current, the way real transistors do, and I never told it to. It figured that out from the physics.
Ships:
I built DDSim, a program that simulates what happens inside the tiny parts that computer chips are made of, ie diodes, capacitors and transistors. You describe a device by its shape and which parts of the silicon have extra electrons or holes. DDSim then works out how those electrons and holes move, and draws the current and voltage curves. I didn’t fit anything to make the graphs look right. Everything comes straight from the physics equations. (NOTE: ITS STILL VERY CLUNKY SO ITS NOT GOING TO BE PERFECT AS OF RIGHT NOW. IF YOU FACE ANY TROUBLES IM REALLY SORRY) To make sure everything accurate, I checked it against textbook formulas and against DEVSIM, a simulator other people wrote. They agree to within a few percent, and the project has about 2,700 automated tests. You can try it in your browser at ddsim.fly.dev. Pick a device, press solve, and watch the answer draw itself. Every button and graph has a little “i” that explains what it means, and there are guided lessons if you’re new to this. It’s a school-level instrument, not a chip design tool. Below about 50 nanometers the physics it uses stops being accurate, so I didn’t go beyond that...
|
1793152243.3827555
|
1793238643.3827555
|
|
52912
|
AdamBoard by @yaasshh | Stardance
|
yaasshh
|
0
|
6.97
|
0
|
[]
|
[{"post_id": 52401, "ts": "202 [{"post_id": 52401, "ts": "2026-08-22T14:58:24Z", "hours": 6.9731, "text": "Decided to build my own custom RP2040 board to learn hardware design. The RP2040 is awesome for this because it has incredible documentation. I started by blocking out the schematic into logical chunks. The power supply needs to deliver both 3.3V and 1.1V, so I used an MCP1700 regulator and stacked up a dense bank of 0.1uF and 1uF decoupling capacitors to keep the power rails stable. For storage, I connected a 128Mb flash chip. I also integrated a USB-C connector and wired up a standard 12MHz crystal oscillator circuit to handle the clocking. Moving from the schematic to the layout sort of tricky but we got there. Hopefully everything runs"}]...
|
Title: AdamBoard by @yaasshh | Stardance
Devlogs: Title: AdamBoard by @yaasshh | Stardance
Devlogs:
Decided to build my own custom RP2040 board to learn hardware design. The RP2040 is awesome for this because it has incredible documentation. I started by blocking out the schematic into logical chunks. The power supply needs to deliver both 3.3V and 1.1V, so I used an MCP1700 regulator and stacked up a dense bank of 0.1uF and 1uF decoupling capacitors to keep the power rails stable. For storage, I connected a 128Mb flash chip. I also integrated a USB-C connector and wired up a standard 12MHz crystal oscillator circuit to handle the clocking. Moving from the schematic to the layout sort of tricky but we got there. Hopefully everything runs...
|
1792730904.416635
|
1793335704.416635
|
|
54617
|
MyoRead by @yaasshh | Stardance
|
yaasshh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MyoRead by @yaasshh | Stardance
|
1792939794.6036777
|
1793803794.6036777
|
|
55592
|
RePSU by @yaasshh | Stardance
|
yaasshh
|
0
|
8.62
|
0
|
[]
|
[{"post_id": 58157, "ts": "202 [{"post_id": 58157, "ts": "2026-08-30T14:49:10Z", "hours": 0.6725, "text": "Devlog #2 I think everything is ready to ship. I changed up a lot of things but i couldn’t record around 3 hours of it but that’s alright cause there were some recent hackatime issues. Changed up the CAD and the whole BOM. I also added a 0-36V buck-boost converter for a variable voltage/current supply which I am pretty sure will be incredibly helpful with my bionic projects"}, {"post_id": 56900, "ts": "2026-08-28T22:08:18Z", "hours": 7.9456, "text": "Devlog #1 Sourcing the CAD Files & Building the BOM This stage was mostly about getting the physical side of RePSU figured out before moving further into the build. I started by sourcing the CAD files for the enclosure and checking the different views to understand how everything would fit together. Having the enclosure laid out made it much easier to plan where the displays, banana sockets, buttons and other components would go. Once the enclosure was taking shape, I started putting together the Bill of Materials (BOM). I went through each component needed for the build, recorded the quantity, found suitable parts, and added the approximate prices and purchase links. The current BOM includes the displays, banana sockets, fuses, buttons, fans, MOSFETs, and the 85W USB charger. The estimated cost is around $35 USD, excluding the original ATX PSU and miscellaneous hardware. This gives me a much clearer idea of what I actually need to source before starting the physical assembly."}]...
|
Title: RePSU by @yaasshh | Stardance
Devlogs:
Dev Title: RePSU by @yaasshh | Stardance
Devlogs:
Devlog #1 Sourcing the CAD Files & Building the BOM This stage was mostly about getting the physical side of RePSU figured out before moving further into the build. I started by sourcing the CAD files for the enclosure and checking the different views to understand how everything would fit together. Having the enclosure laid out made it much easier to plan where the displays, banana sockets, buttons and other components would go. Once the enclosure was taking shape, I started putting together the Bill of Materials (BOM). I went through each component needed for the build, recorded the quantity, found suitable parts, and added the approximate prices and purchase links. The current BOM includes the displays, banana sockets, fuses, buttons, fans, MOSFETs, and the 85W USB charger. The estimated cost is around $35 USD, excluding the original ATX PSU and miscellaneous hardware. This gives me a much clearer idea of what I actually need to source before starting the physical assembly.
Devlog #2 I think everything is ready to ship. I changed up a lot of things but i couldn’t record around 3 hours of it but that’s alright cause there were some recent hackatime issues. Changed up the CAD and the whole BOM. I also added a 0-36V buck-boost converter for a variable voltage/current supply which I am pretty sure will be incredibly helpful with my bionic projects...
|
1793166840.8542173
|
1793771640.8542173
|
|
58531
|
Maestro by @yaasshh | Stardance
|
yaasshh
|
0
|
10.38
|
0
|
[]
|
[{"post_id": 63580, "ts": "202 [{"post_id": 63580, "ts": "2026-09-07T14:31:50Z", "hours": 10.3825, "text": "This is a 6-key macropad arranged in a 2x3 matrix, with a rotary encoder for analog-style control and a 0.91” OLED for live feedback. It is built on a custom PCB, with the Seeeduino XIAO RP2040 socketed on top. It runs QMK, so every key, layer, and encoder action is fully remappable, and you get access to the entire QMK feature set (layers, tap-dance, macros, combos.The whole thing is housed in a 3D printed case designed to hold the PCB, switches, encoder, OLED, and XIAO board in place. Features 6 mechanical switches wired in a 2x3 matrix Rotary encoder with push-button. 0.91” OLED display for layer and status readout Seeeduino XIAO RP2040 microcontroller. Runs QMK firmware with full layer and macro support. Custom designed PCB with socketed XIAO RP20403D printed three-part case."}]...
|
Title: Maestro by @yaasshh | Stardance
Devlogs:
T Title: Maestro by @yaasshh | Stardance
Devlogs:
This is a 6-key macropad arranged in a 2x3 matrix, with a rotary encoder for analog-style control and a 0.91” OLED for live feedback. It is built on a custom PCB, with the Seeeduino XIAO RP2040 socketed on top. It runs QMK, so every key, layer, and encoder action is fully remappable, and you get access to the entire QMK feature set (layers, tap-dance, macros, combos.The whole thing is housed in a 3D printed case designed to hold the PCB, switches, encoder, OLED, and XIAO board in place. Features 6 mechanical switches wired in a 2x3 matrix Rotary encoder with push-button. 0.91” OLED display for layer and status readout Seeeduino XIAO RP2040 microcontroller. Runs QMK firmware with full layer and macro support. Custom designed PCB with socketed XIAO RP20403D printed three-part case....
|
1792756079.5856128
|
1793360879.5856128
|
|
59416
|
alpha-hand by @yaasshh | Stardance
|
yaasshh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: alpha-hand by @yaasshh | Stardance
|
1792939805.5640514
|
1793803805.5640514
|
|
24880
|
starstruck 💫 by @yaanacore | Stardance
|
yaanacore
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: starstruck 💫 by @yaanacore | Stardance
|
1792745743.6817043
|
1793350543.6817043
|
|
34430
|
Chess by @yaaits_ayaz | Stardance
|
yaaits_ayaz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Chess by @yaaits_ayaz | Stardance
|
1792676900.2399037
|
1793281700.2399037
|
|
20761
|
My first slack bot! by @y_ozg_a | Stardance
|
y_ozg_a
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @y_ozg_a | Stardance
|
1793162855.2179046
|
1793767655.2179046
|
|
14165
|
art one by @yOSS | Stardance
|
yOSS
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: art one by @yOSS | Stardance
|
1792673307.4370315
|
1793278107.4370315
|
|
14168
|
art one by @yOS | Stardance
|
yOS
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: art one by @yOS | Stardance
|
1792795731.512204
|
1793400531.512204
|
|
45322
|
Abu by @y552g0_3373bc81z7u5c | Stardance
|
y552g0_3373bc81z7u5c
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Abu by @y552g0_3373bc81z7u5c | Stardance
|
1792619568.5344083
|
1793224368.5344083
|
|
49635
|
WarioWare Game by @y4vi | Stardance
|
y4vi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @y4vi | Stardance
|
1792598129.2534513
|
1793202929.2534513
|
|
44292
|
KINEXV7 by @y4sh | Stardance
|
y4sh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: KINEXV7 by @y4sh | Stardance
|
1792579912.5412488
|
1793184712.5412488
|
|
5573
|
My first slack bot! by @y4r4 | Stardance
|
y4r4
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @y4r4 | Stardance
|
1792885951.4258702
|
1793749951.4258702
|
|
26064
|
To do list by @y4r4 | Stardance
|
y4r4
|
1
|
2.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T11:46:17Z", "hours": 2.0, "multiplier": 1.38, "payout": 3, "blessing": "neutral", "text": "If you need to write down your tasks in order to achieve them this website is for you! This is a ( beautiful ) to do list website where you can write and check off your tasks. The most challenging part of this project was probably the java script since i’m not that familiar with it.", "repo": "https://github.com/y4r4a/todo", "demo": "https://y4r4a.github.io/todo/"}]...
|
[{"post_id": 16002, "ts": "202 [{"post_id": 16002, "ts": "2026-06-26T00:01:08Z", "hours": 2.0, "text": "i just finished coding this to do list website!"}]...
|
Title: To do list by @y4r4 | Stardance
Devlogs:
i Title: To do list by @y4r4 | Stardance
Devlogs:
i just finished coding this to do list website!
Ships:
If you need to write down your tasks in order to achieve them this website is for you! This is a ( beautiful ) to do list website where you can write and check off your tasks. The most challenging part of this project was probably the java script since i’m not that familiar with it....
|
1792878797.8720424
|
1793742797.8720424
|
|
27620
|
'Amazing' Jokes Generator by @y4r4 | Stard 'Amazing' Jokes Generator by @y4r4 | Stardance...
|
y4r4
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T13:42:42Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website that generates random (dad) jokes using HTML, CSS and JavaScript. To get a joke you just have to click the button. The hardest part was probably the java script code and finding out how it can generate random jokes without repeating them or using a loop of handwritten notes. I am very proud of how the styling of the website turned out.", "repo": "https://github.com/y4r4a/legoo", "demo": "https://y4r4a.github.io/legoo/"}]...
|
[{"post_id": 17592, "ts": "202 [{"post_id": 17592, "ts": "2026-06-28T13:38:49Z", "hours": 2.0, "text": "I made a website that generates random (dad) jokes using HTML, CSS and JavaScript. When you click the button a random joke appears."}]...
|
Title: 'Amazing' Jokes Generator by @y4r4 Title: 'Amazing' Jokes Generator by @y4r4 | Stardance
Devlogs:
I made a website that generates random (dad) jokes using HTML, CSS and JavaScript. When you click the button a random joke appears.
Ships:
I made a website that generates random (dad) jokes using HTML, CSS and JavaScript. To get a joke you just have to click the button. The hardest part was probably the java script code and finding out how it can generate random jokes without repeating them or using a loop of handwritten notes. I am very proud of how the styling of the website turned out....
|
1792878792.9351435
|
1793742792.9351435
|
|
26814
|
Gym progress tracker by @y4gg | Stardance
|
y4gg
|
1
|
8.0
|
21
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T21:20:00Z", "hours": 8.0, "multiplier": 2.54, "payout": 21, "blessing": "neutral", "text": "I made a gym tracker for gym rats like me that realized that tracking workouts is one of the most important things in the gym, alongside tracking nutrients. By far the hardest thing was the multi device sync, and I am not proud of that, but I gave that work over to AI, this was done before I knew about stardance tho. However what I am proud of is the fronted store made with zustand! Not only can my project be tested completely account free, but the only features missing from the guest version are the multi device sync & logging. The rest of the features still work! The website is hopefully simple to understand and I hope you’ll think that as well. The way the website is meant to be experienced on a mobile device.", "repo": "https://github.com/y4gg/gym-progress", "demo": "https://gym.y4.gg"}]...
|
[{"post_id": 16812, "ts": "202 [{"post_id": 16812, "ts": "2026-06-27T09:23:48Z", "hours": 8.2219, "text": "I added logging & past weight changes to my gym progress tracker."}]...
|
Title: Gym progress tracker by @y4gg | Stardance
Title: Gym progress tracker by @y4gg | Stardance
Devlogs:
I added logging & past weight changes to my gym progress tracker.
Ships:
I made a gym tracker for gym rats like me that realized that tracking workouts is one of the most important things in the gym, alongside tracking nutrients. By far the hardest thing was the multi device sync, and I am not proud of that, but I gave that work over to AI, this was done before I knew about stardance tho. However what I am proud of is the fronted store made with zustand! Not only can my project be tested completely account free, but the only features missing from the guest version are the multi device sync & logging. The rest of the features still work! The website is hopefully simple to understand and I hope you’ll think that as well. The way the website is meant to be experienced on a mobile device....
|
1793098510.6244028
|
1793184910.6244028
|
|
26834
|
Frictionless by @y4gg | Stardance
|
y4gg
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @y4gg | Stardance
|
1792605224.9123607
|
1793210024.9123607
|
|
26863
|
Buget bug by @y4gg | Stardance
|
y4gg
|
0
|
1.79
|
0
|
[]
|
[{"post_id": 24334, "ts": "202 [{"post_id": 24334, "ts": "2026-07-07T20:55:04Z", "hours": 0.6253, "text": "Added auth with Hackclub oauth2. The setup was rather quick thanks to better-auth and shadcn, which I will customize later to make it more mobile friendly and stand out from other shadcn websites."}, {"post_id": 16877, "ts": "2026-06-27T12:09:31Z", "hours": 1.1617, "text": "Finally finished with the better-auth & drizzle-orm set up and ready to build!"}]...
|
Title: Buget bug by @y4gg | Stardance
Devlogs:
Fi Title: Buget bug by @y4gg | Stardance
Devlogs:
Finally finished with the better-auth & drizzle-orm set up and ready to build!
Added auth with Hackclub oauth2. The setup was rather quick thanks to better-auth and shadcn, which I will customize later to make it more mobile friendly and stand out from other shadcn websites....
|
1792637549.636706
|
1793242349.636706
|
|
27074
|
My very own WebOS by @y4gg | Stardance
|
y4gg
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @y4gg | Stardance
|
1792788869.9682233
|
1793393669.9682233
|
|
62995
|
Idle duck clicker game by @y3zd | Stardance
|
y3zd
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Idle duck clicker game by @y3zd | Stardance
|
1793047952.0276637
|
1793652752.0276637
|
|
39875
|
My very own WebOS by @y19835399432 | Stardance
|
y19835399432
|
4
|
16.0
|
10
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-26T04:52:46Z", "hours": 6.0, "multiplier": 1.12, "payout": 0, "blessing": "neutral", "text": "Glass Toolbox is a pure front-end glassmorphism toolbox, including image preview, calendar, stopwatch, dice, todo list, unit converter, note, countdown, audio player, password generator, 15×15 Gomoku with simple AI, and personalized interface settings. All data is stored locally.", "repo": "https://github.com/yzk198/zk001", "demo": "https://yzk198.github.io/zk001/"}, {"ship_num": 2, "ts": "2026-09-20T14:07:45Z", "hours": 6.0, "multiplier": 1.37, "payout": 8, "blessing": "neutral", "text": "Short Name: GlassToolbox GlassToolbox is a glassmorphism-style toolbox running locally in the browser with no backend required. The main panel stays displayed, and other tools can be triggered on demand via hyperlinks. Floating windows are draggable. It integrates many practical utilities with local data storage and can be used immediately.", "repo": "https://github.com/yzk198/zk001", "demo": "https://yzk198.github.io/zk001/"}, {"ship_num": 3, "ts": "2026-08-07T06:33:08Z", "hours": 2.0, "multiplier": 1.11, "payout": 2, "blessing": "neutral", "text": "Added dice game, note‑taking and timer features based on the previous generation", "repo": "https://github.com/yzk198/zk001", "demo": "https://yzk198.github.io/zk001/"}, {"ship_num": 4, "ts": "2026-07-31T06:00:36Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This system features a draggable calendar and a photo album clock.", "repo": "https://github.com/yzk198/zk001", "demo": "https://yzk198.github.io/zk001/"}]...
|
[{"post_id": 82885, "ts": "202 [{"post_id": 82885, "ts": "2026-10-26T04:50:26Z", "hours": 5.7831, "text": "Added more personalized settings and the Gomoku game."}, {"post_id": 71215, "ts": "2026-09-20T13:47:16Z", "hours": 6.0769, "text": "1. 🎵 Music Player Support for uploading local audio files Play / pause controls and clickable progress bar Real-time playback time and total duration display Slider volume adjustment 2. 🔑 Password Generator Custom length from 4 to 64 characters Toggle options for uppercase, lowercase, numbers and symbols One-click strong password generation and copy to clipboard 📐 Code Optimizations Code refactoring, full code formatting: split long single lines and add indent hierarchy Extract common window style classes to reduce duplicated CSS code Add a 5-column grid tool launch area at the bottom of the main toolbox"}, {"post_id": 42456, "ts": "2026-08-07T06:28:31Z", "hours": 0.3914, "text": "Added draggable to-do notes"}, {"post_id": 41947, "ts": "2026-08-06T14:06:25Z", "hours": 0.6108, "text": "added a timer and a dice game."}, {"post_id": 40530, "ts": "2026-08-04T03:44:10Z", "hours": 0.4797, "text": "I redesigned the entire system."}, {"post_id": 38129, "ts": "2026-07-31T10:55:30Z", "hours": 0.2961, "text": "Fixed an issue where images failed to display"}, {"post_id": 38029, "ts": "2026-07-31T05:46:31Z", "hours": 0.4364, "text": "Added a draggable calendar."}, {"post_id": 38004, "ts": "2026-07-31T03:47:02Z", "hours": 0.8342, "text": "Have added a time indicator to the top-right corner."}, {"post_id": 35158, "ts": "2026-07-26T12:24:38Z", "hours": 0.3481, "text": "a photo album that lets you save and view images"}]...
|
Title: My very own WebOS by @y19835399432 | Starda Title: My very own WebOS by @y19835399432 | Stardance
Devlogs:
a photo album that lets you save and view images
Have added a time indicator to the top-right corner.
Added a draggable calendar.
Fixed an issue where images failed to display
I redesigned the entire system.
added a timer and a dice game.
Added draggable to-do notes
1. 🎵 Music Player Support for uploading local audio files Play / pause controls and clickable progress bar Real-time playback time and total duration display Slider volume adjustment 2. 🔑 Password Generator Custom length from 4 to 64 characters Toggle options for uppercase, lowercase, numbers and symbols One-click strong password generation and copy to clipboard 📐 Code Optimizations Code refactoring, full code formatting: split long single lines and add indent hierarchy Extract common window style classes to reduce duplicated CSS code Add a 5-column grid tool launch area at the bottom of the main toolbox
Added more personalized settings and the Gomoku game.
Ships:
This system features a draggable calendar and a photo album clock.
Added dice game, note‑taking and timer features based on the previous generation
Short Name: GlassToolbox GlassToolbox is a glassmorphism-style toolbox running locally in the browser with no backend required. The main panel stays displayed, and other tools can be triggered on demand via hyperlinks. Floating windows are draggable. It integrates many practical utilities with local data storage and can be used immediately.
Glass Toolbox is a pure front-end glassmorphism toolbox, including image preview, calendar, stopwatch, dice, todo list, unit converter, note, countdown, audio player, password generator, 15×15 Gomoku with simple AI, and personalized interface settings. All data is stored locally....
|
1793138197.5954225
|
1793224597.5954225
|
|
70896
|
My very own WebOS by @xzenxhunter | Stardance
|
xzenxhunter
|
0
|
0.31
|
0
|
[]
|
[{"post_id": 81727, "ts": "202 [{"post_id": 81727, "ts": "2026-10-22T07:33:17Z", "hours": 0.3122, "text": "i added an welcome page"}]...
|
Title: My very own WebOS by @xzenxhunter | Stardan Title: My very own WebOS by @xzenxhunter | Stardance
Devlogs:
i added an welcome page...
|
1792655241.3054972
|
1793260041.3054972
|
|
8218
|
My awesome macropad! by @xytx | Stardance
|
xytx
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @xytx | Stardance
|
1792792082.3076823
|
1793396882.3076823
|
|
57790
|
My awesome macropad! by @xxvc | Stardance
|
xxvc
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @xxvc | Stardance
|
1792723925.0220058
|
1793328725.0220058
|
|
45309
|
My own site! by @xxrtyrant | Stardance
|
xxrtyrant
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @xxrtyrant | Stardance
|
1792619557.4402616
|
1793224357.4402616
|
|
26040
|
My awesome macropad! by @xxoh | Stardance
|
xxoh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @xxoh | Stardance
|
1792795994.3739336
|
1793400794.3739336
|
|
26043
|
CyberTeacher by @xxoh | Stardance
|
xxoh
|
0
|
5.37
|
0
|
[]
|
[{"post_id": 27925, "ts": "202 [{"post_id": 27925, "ts": "2026-07-13T21:05:15Z", "hours": 4.5397, "text": "created website that will have basic ctf functionality with accounts using gpt for all the css style stuff and for debugging"}, {"post_id": 15985, "ts": "2026-06-25T23:12:44Z", "hours": 0.8267, "text": "Followed guide to create basic user auth: https://www.digitalocean.com/community/tutorials/how-to-add-authentication-to-your-app-with-flask-login#step-6-configuring-the-database"}]...
|
Title: CyberTeacher by @xxoh | Stardance
Devlogs: Title: CyberTeacher by @xxoh | Stardance
Devlogs:
Followed guide to create basic user auth: https://www.digitalocean.com/community/tutorials/how-to-add-authentication-to-your-app-with-flask-login#step-6-configuring-the-database
created website that will have basic ctf functionality with accounts using gpt for all the css style stuff and for debugging...
|
1792659009.6998131
|
1793263809.6998131
|