|
6951
|
Zeus (ORC Robot) by @JakeThrun | Stardance
|
JakeThrun
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Zeus (ORC Robot) by @JakeThrun | Stardance
|
1793382797.4798574
|
1793987597.4798574
|
|
6952
|
VACCUM ENGINE by @Mitchell | Stardance
|
Mitchell
|
0
|
2.69
|
0
|
[]
|
[{"post_id": 4809, "ts": "2026 [{"post_id": 4809, "ts": "2026-06-08T09:53:03Z", "hours": 0.34, "text": "Devlog 4: I have printed out all of the different parts and assembled them, as you can see down the bottom there is a black piece of filament holding the connecting rod to the crank. The knob that is on the end of the crankshaft is a key way for a flywheel to allow it to spin with the axle. It needs the flywheel to take keep the momentum. when the piston gets sucked up the valve will come down and let air in. On this stroke the piston is no powered at all and if not for the flywheel, it will stop. The crank all spins smoothly and if the first big step in this project. I am now designing the main body that will house the crank and the piston."}, {"post_id": 4636, "ts": "2026-06-08T00:55:42Z", "hours": 0.7753, "text": "I have finished making the crankshaft . I will soon print it all out to make sure that everything lines up and spin freely"}, {"post_id": 2614, "ts": "2026-06-05T07:24:29Z", "hours": 1.16, "text": "I am have now finished the con rod for the piston and have a pin to connect the two. The two other little pieces are going to connect the con rod to the crank that is soon to come. The pin will be held in with a little piece of filament about 5mm long. The whole idea of this vacuum engine to be able to assemble and run it without much other hardware (nuts, bolts and ball bearings)."}, {"post_id": 1896, "ts": "2026-06-04T03:40:17Z", "hours": 0.4142, "text": "I have finished making the piston for the vacuum engine. It is going to have a wrist pin to hold the connecting rod. it is 30mm in diameter and is 40mm tall."}]...
|
Title: VACCUM ENGINE by @Mitchell | Stardance
Dev Title: VACCUM ENGINE by @Mitchell | Stardance
Devlogs:
I have finished making the piston for the vacuum engine. It is going to have a wrist pin to hold the connecting rod. it is 30mm in diameter and is 40mm tall.
I am have now finished the con rod for the piston and have a pin to connect the two. The two other little pieces are going to connect the con rod to the crank that is soon to come. The pin will be held in with a little piece of filament about 5mm long. The whole idea of this vacuum engine to be able to assemble and run it without much other hardware (nuts, bolts and ball bearings).
I have finished making the crankshaft . I will soon print it all out to make sure that everything lines up and spin freely
Devlog 4: I have printed out all of the different parts and assembled them, as you can see down the bottom there is a black piece of filament holding the connecting rod to the crank. The knob that is on the end of the crankshaft is a key way for a flywheel to allow it to spin with the axle. It needs the flywheel to take keep the momentum. when the piston gets sucked up the valve will come down and let air in. On this stroke the piston is no powered at all and if not for the flywheel, it will stop. The crank all spins smoothly and if the first big step in this project. I am now designing the main body that will house the crank and the piston....
|
1792727718.8117578
|
1793332518.8117578
|
|
6953
|
Taskerr by @Lukemon | Stardance
|
Lukemon
|
0
|
64.44
|
0
|
[]
|
[{"post_id": 59206, "ts": "202 [{"post_id": 59206, "ts": "2026-08-31T21:19:30Z", "hours": 10.5025, "text": "Fixing up code"}, {"post_id": 41622, "ts": "2026-08-05T22:49:49Z", "hours": 35.2319, "text": "I have made a profile page for users"}, {"post_id": 32293, "ts": "2026-07-21T11:27:06Z", "hours": 18.7017, "text": "Working on UI to show Jobs"}]...
|
Title: Taskerr by @Lukemon | Stardance
Devlogs:
W Title: Taskerr by @Lukemon | Stardance
Devlogs:
Working on UI to show Jobs
I have made a profile page for users
Fixing up code...
|
1793191790.8761275
|
1793796590.8761275
|
|
6954
|
Untitled by @Zachary | Stardance
|
Zachary
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Zachary | Stardance
|
1792713256.5183873
|
1793318056.5183873
|
|
6955
|
My awesome macropad! by @elmire_m00 | Stardance
|
elmire_m00
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @elmire_m00 | Stard Title: My awesome macropad! by @elmire_m00 | Stardance...
|
1793332210.6700368
|
1793937010.6700368
|
|
6956
|
Untitled by @fabledboneling | Stardance
|
fabledboneling
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @fabledboneling | Stardance
|
1792774421.8236744
|
1793379221.8236744
|
|
6957
|
trell0 by @pizzalover125 | Stardance
|
pizzalover125
|
0
|
14.0
|
0
|
[]
|
[{"post_id": 20340, "ts": "202 [{"post_id": 20340, "ts": "2026-07-01T22:18:40Z", "hours": 1.0, "text": "implemented checkboxes! idk why i didn’t add this earlier; this feature is super essential to the app. i focused a lot on the animation part, as that’s my priority for this project."}, {"post_id": 18029, "ts": "2026-06-29T00:15:49Z", "hours": 0.0, "text": "i was trying to implement a feature when pretty much everything broke. i reverted to the old commit and decided to refactor the code to be more readable!"}, {"post_id": 17978, "ts": "2026-06-28T22:50:42Z", "hours": 1.0, "text": "implemented link sharing! basically, it saves your board state, packages it up into a string of characters, and makes it sharable with anyone in the world.this was an interesting feature to add, as I’ve never done something like this before."}, {"post_id": 16370, "ts": "2026-06-26T17:12:48Z", "hours": 2.0, "text": "fixed a lot of visual bugs with delays, including one major one with the cards disappearing on mobile. i fixed that, but in order to test it, I needed to deploy it on vercel. I did so, and it worked! try it out at trell0.vercel.app!"}, {"post_id": 13804, "ts": "2026-06-22T16:58:59Z", "hours": 1.0, "text": "implemented board management! now, you can manage all your projects. i have the same animation style as the rest of the application. there were several bugs with the animations, but I got them all fixed up!"}, {"post_id": 13234, "ts": "2026-06-21T17:47:35Z", "hours": 2.0, "text": "completely redesigned the project! no more icons; everything accessible through command palette (CMD + SHIFT + P) centered grainy gradient background that looks epic changing backgrounds has epic animations no more columns; made the UI too cluttered. going to add board management to manage several projects i tried to add liquid glass like apple, but there were just too many bugs."}, {"post_id": 11760, "ts": "2026-06-19T04:27:13Z", "hours": 0.0, "text": "added undo/redo! it was pretty easy to add ngl; it works as you would expect"}, {"post_id": 11446, "ts": "2026-06-18T18:31:02Z", "hours": 0.0, "text": "implemented a favicon that automatically changes based on the current theme. the favicon is generated using a canvas element, creating a gradient based on the theme’s colors."}, {"post_id": 11025, "ts": "2026-06-18T01:44:22Z", "hours": 0.0, "text": "implemented mobile support! now, the website works on all devices, including smart phones. it was pretty easy but I still faced a couple of small bugs."}, {"post_id": 10984, "ts": "2026-06-18T00:29:01Z", "hours": 2.0, "text": "implemented column support! now you can create as many columns as you want, edit their titles, and more! there were A LOT of visual errors but I eventually got through them all!"}, {"post_id": 9586, "ts": "2026-06-15T23:34:09Z", "hours": 1.0, "text": "implemented card tags! now you can add tags to your cards. example cards include school, work, personal, extracurriculars, etc."}, {"post_id": 5010, "ts": "2026-06-08T17:34:39Z", "hours": 0.0, "text": "tried to add column management but it worked out to be super clunky and just terrible to use. i decided to revert my changes and start afresh. i added more themes!"}, {"post_id": 4713, "ts": "2026-06-08T04:17:37Z", "hours": 0.0, "text": "created a landing page! i was originally going to make it a lot bulkier like https://www.notion.com , but eventually decided to keep it minimalist to fit the vibe."}, {"post_id": 4349, "ts": "2026-06-07T17:09:41Z", "hours": 2.0, "text": "created a command pallete! omg this is actually super cool. simply press CMD+SHIFT+P and access everything you could possibly need to interact with the website! i’ve added a timer, stopwatch, and Pomdoro timer!"}, {"post_id": 3890, "ts": "2026-06-06T23:56:25Z", "hours": 0.0, "text": "implemented upload/download in JSON format! it works like a charm :)"}, {"post_id": 3870, "ts": "2026-06-06T23:12:23Z", "hours": 1.0, "text": "(these were originally 2 devlogs but there was some problems with my wifi so ill combine this into 1) added slick animations that give the app so much more polish! there were so many visual bugs but i got them all figured out! added dark mode!"}, {"post_id": 2274, "ts": "2026-06-04T17:49:40Z", "hours": 1.0, "text": "built the MVP for this minimalist trello board features include: custom colors clean UI local storage what i plan to add next? animations! i want to make this the cleanest thing ever"}]...
|
Title: trell0 by @pizzalover125 | Stardance
Devlo Title: trell0 by @pizzalover125 | Stardance
Devlogs:
built the MVP for this minimalist trello board features include: custom colors clean UI local storage what i plan to add next? animations! i want to make this the cleanest thing ever
(these were originally 2 devlogs but there was some problems with my wifi so ill combine this into 1) added slick animations that give the app so much more polish! there were so many visual bugs but i got them all figured out! added dark mode!
implemented upload/download in JSON format! it works like a charm :)
created a command pallete! omg this is actually super cool. simply press CMD+SHIFT+P and access everything you could possibly need to interact with the website! i’ve added a timer, stopwatch, and Pomdoro timer!
created a landing page! i was originally going to make it a lot bulkier like https://www.notion.com , but eventually decided to keep it minimalist to fit the vibe.
tried to add column management but it worked out to be super clunky and just terrible to use. i decided to revert my changes and start afresh. i added more themes!
implemented card tags! now you can add tags to your cards. example cards include school, work, personal, extracurriculars, etc.
implemented column support! now you can create as many columns as you want, edit their titles, and more! there were A LOT of visual errors but I eventually got through them all!
implemented mobile support! now, the website works on all devices, including smart phones. it was pretty easy but I still faced a couple of small bugs.
implemented a favicon that automatically changes based on the current theme. the favicon is generated using a canvas element, creating a gradient based on the theme’s colors.
added undo/redo! it was pretty easy to add ngl; it works as you would expect
completely redesigned the project! no more icons; everything accessible through command palette (CMD + SHIFT + P) centered grainy gradient background that looks epic changing backgrounds has epic animations no more columns; made the UI too cluttered. going to add board management to manage several projects i tried to add liquid glass like apple, but there were just too many bugs.
implemented board management! now, you can manage all your projects. i have the same animation style as the rest of the application. there were several bugs with the animations, but I got them all fixed up!
fixed a lot of visual bugs with delays, including one major one with the cards disappearing on mobile. i fixed that, but in order to test it, I needed to deploy it on vercel. I did so, and it worked! try it out at trell0.vercel.app!
implemented link sharing! basically, it saves your board state, packages it up into a string of characters, and makes it sharable with anyone in the world.this was an interesting feature to add, as I’ve never done something like this before.
i was trying to implement a feature when pretty much everything broke. i reverted to the old commit and decided to refactor the code to be more readable!
implemented checkboxes! idk why i didn’t add this earlier; this feature is super essential to the app. i focused a lot on the animation part, as that’s my priority for this project....
|
1792925329.3548198
|
1793789329.3548198
|
|
6958
|
Untitled by @venkata_m | Stardance
|
venkata_m
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @venkata_m | Stardance
|
1792929187.8336852
|
1793793187.8336852
|
|
6959
|
skys the limit by @make_aguess | Stardance
|
make_aguess
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: skys the limit by @make_aguess | Stardance
|
1792759770.0586925
|
1793364570.0586925
|
|
6960
|
My first slack bot! by @Dave | Stardance
|
Dave
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Dave | Stardance
|
1793371982.501675
|
1793976782.501675
|
|
6961
|
My first slack bot! by @Luna_B | Stardance
|
Luna_B
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Luna_B | Stardance
|
1792677114.0907164
|
1793281914.0907164
|
|
6962
|
My awesome macropad! by @Azrkiel | Stardance
|
Azrkiel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Azrkiel | Stardanc Title: My awesome macropad! by @Azrkiel | Stardance...
|
1792698857.896898
|
1793303657.896898
|
|
6963
|
My awesome macropad! by @taquito | Stardance
|
taquito
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @taquito | Stardanc Title: My awesome macropad! by @taquito | Stardance...
|
1792785275.4270825
|
1793390075.4270825
|
|
6964
|
myPad by @Wyatt26 | Stardance
|
Wyatt26
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: myPad by @Wyatt26 | Stardance
|
1792666086.5632348
|
1793270886.5632348
|
|
6965
|
animatronic by @bytefaz | Stardance
|
bytefaz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: animatronic by @bytefaz | Stardance
|
1793134296.6228333
|
1793739096.6228333
|
|
6966
|
Robotic arm by @Allan | Stardance
|
Allan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Robotic arm by @Allan | Stardance
|
1793350383.4652114
|
1793955183.4652114
|
|
6967
|
My first slack bot! by @aiydanmontas | Stardance
|
aiydanmontas
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @aiydanmontas | Star Title: My first slack bot! by @aiydanmontas | Stardance...
|
1793145308.5809505
|
1793750108.5809505
|
|
6968
|
Untitled project by @daltyn_breyer | Stardance
|
daltyn_breyer
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @daltyn_breyer | Starda Title: Untitled project by @daltyn_breyer | Stardance...
|
1792785236.102114
|
1793390036.102114
|
|
6969
|
Graphify by @lab18bke | Stardance
|
lab18bke
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Graphify by @lab18bke | Stardance
|
1793156146.9341598
|
1793760946.9341598
|
|
6970
|
3DGameEngine by @KhoaTruong | Stardance
|
KhoaTruong
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 3DGameEngine by @KhoaTruong | Stardance
|
1792760082.9829073
|
1793364882.9829073
|
|
6971
|
PacGUI by @Me | Stardance
|
Me
|
0
|
3.02
|
0
|
[]
|
[{"post_id": 5940, "ts": "2026 [{"post_id": 5940, "ts": "2026-06-09T22:45:33Z", "hours": 2.1158, "text": "Let there be box instead of all of the buttons"}, {"post_id": 2597, "ts": "2026-06-05T06:34:49Z", "hours": 0.9006, "text": "I have a(very basic) UI, it looks like it may do something(But it won’t)."}]...
|
Title: PacGUI by @Me | Stardance
Devlogs:
I have Title: PacGUI by @Me | Stardance
Devlogs:
I have a(very basic) UI, it looks like it may do something(But it won’t).
Let there be box instead of all of the buttons...
|
1792670017.5595443
|
1793274817.5595443
|
|
6972
|
My first slack bot! by @dpk_mocha13 | Stardance
|
dpk_mocha13
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @dpk_mocha13 | Stard Title: My first slack bot! by @dpk_mocha13 | Stardance...
|
1793231400.29086
|
1793836200.29086
|
|
6973
|
My first slack bot! by @Santii | Stardance
|
Santii
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Santii | Stardance
|
1792781273.7222376
|
1793386073.7222376
|
|
6974
|
c00lRadio by @picelboi | Stardance
|
picelboi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: c00lRadio by @picelboi | Stardance
|
1793029693.7567136
|
1793634493.7567136
|
|
6975
|
Volunteering Platform by @Lasya | Stardance
|
Lasya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Volunteering Platform by @Lasya | Stardance
|
1793249407.9647243
|
1793854207.9647243
|
|
6976
|
Untitled by @dpk_mocha13 | Stardance
|
dpk_mocha13
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @dpk_mocha13 | Stardance
|
1793235111.2898965
|
1793839911.2898965
|
|
6977
|
My first slack bot! by @chrisp | Stardance
|
chrisp
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @chrisp | Stardance
|
1792767255.5283656
|
1793372055.5283656
|
|
6978
|
ReelFinder by @alexander_currano12 | Stardance
|
alexander_currano12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ReelFinder by @alexander_currano12 | Starda Title: ReelFinder by @alexander_currano12 | Stardance...
|
1793281892.7652035
|
1793886692.7652035
|
|
6979
|
Blinky Board by @aillama | Stardance
|
aillama
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Blinky Board by @aillama | Stardance
|
1793368389.1548052
|
1793973189.1548052
|
|
6980
|
PrivacyLens by @saigiridhar_chitturi | Stardance
|
saigiridhar_chitturi
|
0
|
8.66
|
0
|
[]
|
[{"post_id": 21679, "ts": "202 [{"post_id": 21679, "ts": "2026-07-03T19:18:22Z", "hours": 3.0225, "text": "DevOps is the stuff that lurks under my bed and keeps me at night: DevLog #3 Dramatic title, but there is definitely truth to the statement. From the beginning, my goal was to make this extension available to anyone, anywhere, at all times. You might think “Oh Sai, doesn’t that mean you have to actually deploy your app to the webstore?” Yes dear reader, it does mean that. It also means I have to go around miles of red tape set up by the dear dear developers at google. This hellish landscape of DevOps is shaped my monoliths of docker images and rolling hills of AWS provisioning. I’ve spent over 10 hours configuring AWS setups and begging my dockerfile to do what I want it to, and only 3 hours logged to show for it. If only there was a way to log hours outside the IDE ig So what all did I accomplish? Well, the backend of my extension runs off a python backend with a postGres database. Yes, I could have used something like supabase, but thats for cowards, real ones build their own. I’m just kidding, I chose not to use Supabase because: I wanted to build my full-stack skills Costs need to be low, i’m kinda broke I could have more freedom with my database if I used my own configuration So wish me luck as I push through the long haul of making my project prod-ready"}, {"post_id": 7166, "ts": "2026-06-11T23:30:52Z", "hours": 4.5586, "text": "Devlog 2!! It turns out, there’s a reason that webscraping is such a pain for so many people, and I found that out the HARD way. Normally, programs trying to get info off of a website have to check the robots.txt website to see if the creators of the website: Are okay with you scraping Will make it easy for you to scrape Will sue you into oblivion (satire) These things are great for regulating scrapers, but unfortunately, browser extensions are collateral damage. The way a browser extension get info off a webpage is VERY similar to web scraping but not exactly the same thing, so websites hostile to webcrawlers are also inadvertently harming extensions that try to read site content. What exact problems did I face to find all this out you ask? Well, my project reads privacy policies off of websites, which happen to be copyrighted material, so web developers take care to prevent any automating stealing of the policies; however, my project needs to read those policies in order to send them to the backend and summarize the whole thing. Most of my initial attempts resulted in the scraped information being cluttered with JS, HTML Tags, Formatting, and other junk stuff that wayyy increased the tokens I used inputting the policy into AI. This is when I discovered Mozilla’s Readability Library. This was SUCH a lifesaver as it automatically took out any junk and left the REAL text. It way outperformed my previous methods and reduced the token usage up to three fold! Currently, I just imported the library js file into my frontend, but I know that’s not prod-ready, so it’s likely that I have to import it another way and add a build step 😑 (Image is of the Readability Library)"}, {"post_id": 2497, "ts": "2026-06-05T00:48:32Z", "hours": 1.0753, "text": "Are you tired of getting your data stolen by companies without even knowing why? I’m fixing that with PrivacyLens, an AI tool that summarizes and gives you the information you need to know about when you visit a site. PrivacyLens gives you the major Red flags and some green flags about the website’s privacy policy. Right now, im working on making the UI better and looking for some clean, and thematic layouts that match the investigator type look i’m going for."}]...
|
Title: PrivacyLens by @saigiridhar_chitturi | Star Title: PrivacyLens by @saigiridhar_chitturi | Stardance
Devlogs:
Are you tired of getting your data stolen by companies without even knowing why? I’m fixing that with PrivacyLens, an AI tool that summarizes and gives you the information you need to know about when you visit a site. PrivacyLens gives you the major Red flags and some green flags about the website’s privacy policy. Right now, im working on making the UI better and looking for some clean, and thematic layouts that match the investigator type look i’m going for.
Devlog 2!! It turns out, there’s a reason that webscraping is such a pain for so many people, and I found that out the HARD way. Normally, programs trying to get info off of a website have to check the robots.txt website to see if the creators of the website: Are okay with you scraping Will make it easy for you to scrape Will sue you into oblivion (satire) These things are great for regulating scrapers, but unfortunately, browser extensions are collateral damage. The way a browser extension get info off a webpage is VERY similar to web scraping but not exactly the same thing, so websites hostile to webcrawlers are also inadvertently harming extensions that try to read site content. What exact problems did I face to find all this out you ask? Well, my project reads privacy policies off of websites, which happen to be copyrighted material, so web developers take care to prevent any automating stealing of the policies; however, my project needs to read those policies in order to send them to the backend and summarize the whole thing. Most of my initial attempts resulted in the scraped information being cluttered with JS, HTML Tags, Formatting, and other junk stuff that wayyy increased the tokens I used inputting the policy into AI. This is when I discovered Mozilla’s Readability Library. This was SUCH a lifesaver as it automatically took out any junk and left the REAL text. It way outperformed my previous methods and reduced the token usage up to three fold! Currently, I just imported the library js file into my frontend, but I know that’s not prod-ready, so it’s likely that I have to import it another way and add a build step 😑 (Image is of the Readability Library)
DevOps is the stuff that lurks under my bed and keeps me at night: DevLog #3 Dramatic title, but there is definitely truth to the statement. From the beginning, my goal was to make this extension available to anyone, anywhere, at all times. You might think “Oh Sai, doesn’t that mean you have to actually deploy your app to the webstore?” Yes dear reader, it does mean that. It also means I have to go around miles of red tape set up by the dear dear developers at google. This hellish landscape of DevOps is shaped my monoliths of docker images and rolling hills of AWS provisioning. I’ve spent over 10 hours configuring AWS setups and begging my dockerfile to do what I want it to, and only 3 hours logged to show for it. If only there was a way to log hours outside the IDE ig So what all did I accomplish? Well, the backend of my extension runs off a python backend with a postGres database. Yes, I could have used something like supabase, but thats for cowards, real ones build their own. I’m just kidding, I chose not to use Supabase because: I wanted to build my full-stack skills Costs need to be low, i’m kinda broke I could have more freedom with my database if I used my own configuration So wish me luck as I push through the long haul of making my project prod-ready...
|
1792691235.4594824
|
1793296035.4594824
|
|
6981
|
My awesome macropad! by @adamhimier | Stardance
|
adamhimier
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @adamhimier | Stard Title: My awesome macropad! by @adamhimier | Stardance...
|
1792810083.224719
|
1793414883.224719
|
|
6982
|
My awesome macropad! by @nicole | Stardance
|
nicole
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @nicole | Stardance
|
1793281879.9569886
|
1793886679.9569886
|
|
6983
|
My first slack bot! by @polypixeldev | Stardance
|
polypixeldev
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @polypixeldev | Star Title: My first slack bot! by @polypixeldev | Stardance...
|
1793206232.683095
|
1793811032.683095
|
|
6984
|
Cosmo-Arachnid by @sundeep | Stardance
|
sundeep
|
0
|
0.97
|
0
|
[]
|
[{"post_id": 2097, "ts": "2026 [{"post_id": 2097, "ts": "2026-06-04T12:55:13Z", "hours": 0.9708, "text": "Cosmo-arachnid devlog - 1 (Plan)"}]...
|
Title: Cosmo-Arachnid by @sundeep | Stardance
Dev Title: Cosmo-Arachnid by @sundeep | Stardance
Devlogs:
Cosmo-arachnid devlog - 1 (Plan)...
|
1793145044.3843594
|
1793749844.3843594
|
|
6985
|
Model United Nations - A Software Approach by @Sea Model United Nations - A Software Approach by @SeanBlitz | Stardance...
|
SeanBlitz
|
0
|
15.27
|
0
|
[]
|
[{"post_id": 7153, "ts": "2026 [{"post_id": 7153, "ts": "2026-06-11T23:00:33Z", "hours": 2.8156, "text": "Fully debugged my Command Line Interface after moving everything into OOP. Change twin logic variable call (it was supposed to call list index 0, but called 1) to solve linking issue for double delegate committees. Fix relative imports by adding “.” to my init .py files. During this I learned a lot about how the python interpreter views files and locations. Also separated responsibilities by splitting functions. Now, my libraries are no longer aware of each other, to allow for easier debug and changes later. I will need to take out my business logic from the infrastructure and put it with my main files, to further separate responsibilties."}, {"post_id": 6470, "ts": "2026-06-10T21:42:22Z", "hours": 2.8264, "text": "Moved everything into Object Oriented Programming Classes This included Gmail, Sheets, and Drive Functions. I will probably do the same for the other folders soon, but they are not connected. I have yet to fully debug the command line interface, especially after these changes. Will do that soon."}, {"post_id": 5979, "ts": "2026-06-10T00:56:27Z", "hours": 1.085, "text": "Continued debugging my command line interface and adding some necessary business features. Previously a new committee was only checked against the main list of names. Now, it is split by type of committee to prevent switching between types. Add ability to print suggestions to user if committee selections are double, advising them to change the other delegate in the same committee if needed. Fix twin logic error and place code into more organized functions. With this part of the debugging, I began to understand the importance of splitting all code into functions, and grouping those functions into classes. Previously, all my code was a rough draft minimum viable product designed to just get the job done. Now, with the need to edit things in the future and share with other developers in my team, I began to sort things into functions (which turn out to be amazingly useful and easy to debug). In the next update I might begin writing classes."}, {"post_id": 5726, "ts": "2026-06-09T17:00:07Z", "hours": 2.3719, "text": "Began debugging my command line interface code. Discover that the columns which referred to my Google Sheet were incorrect; fixed string in code. Bold print statements in terminal for readability, and fixed ANSI escape codes to properly clear the terminal. Fix iterator problems. Previously, there did not exist a global tracker variable, and since i reset after every while loop, the number stored to finalassignments dictionary was incorrect. Fix infinite looping in the while loop for edge cases where none of the conditions are satisfied. Now with a proper error statement and ending of loop. Added a continue statement to prevent code from pushing before the questionary interface has finished receiving all inputs. Most of these errors were small bugs in the system, not major conceptual issues. However, I did learn how to use the VSCode debugging feature while going through this, as it is a program that is easy to set breakpoints in and analyze variables."}, {"post_id": 5249, "ts": "2026-06-08T23:15:54Z", "hours": 4.1458, "text": "Finished making the Command Line Interface. It checks for availability whenever the user inputs assignments in the questionary interface using sets. Stores all assignments in a dictionary, which is then converted into a cell map after the user finished all assignments. This cell map accurately recreates the cells that were pulled, except that used assignments now get blank cells. School assignments go into a separate sheet, where they are listed as “country name (committee name)”. During this process I learned a lot about safely converting data between types, i.e. from dictionaries to lists to sets, and their respective advantages for later processing. For example, sets are great with the “in” keyword, which gives O(1) time complexity, an important feature when I expect datasets with 800+ values. I also learned some intuitive strategies on improving code efficiency. Instead of writing multiple for loops, using tuples to do multiple jobs within one loop is usually much more efficient. Converting the dictionary that contains {(“committee”, “country_name”): “sheet_coordinate”} into a dictionary with the sheet coordinate as the key and the value as committee and country name took some thought and studying into dictionary rules in python. The function add_assignments_and_map_cells() took a lot of editing. What started as a simple questionary function that returns user inputs in a dictionary evolved into a full input-checker and cell mapper. I originally wanted the latter process to happen in the main code, but I discovered that the function had all necessary variables, and that it would be cleaner to simply pass back all the completed variables. Also decided that pushes are inherently untrustworthy, because my data goes from Google Sheets into a dictionary into a cell map, and finally back to Google Sheets. Multiple edge cases and errors may be possible during this time. Implemented a basic checker at the very end to confirm against the counta() function built into the sheet. Screenshot is not all; have yet to test the code for errors. Very excited to see this work! It used to take dozens of hours to complete, with plenty of human errors (especially double assignments), but with the loop pushing final values after every school and only operating within the list of possible assignments, many human errors are eliminated."}, {"post_id": 1953, "ts": "2026-06-04T06:19:55Z", "hours": 0.7656, "text": "Added an Inquirer to confirm committee auto-assignments and add assignments manually."}, {"post_id": 1932, "ts": "2026-06-04T05:29:00Z", "hours": 1.2558, "text": "Finished committee auto-selection greedy algorithm, accounting for double delegation committees and committee types."}]...
|
Title: Model United Nations - A Software Approach Title: Model United Nations - A Software Approach by @SeanBlitz | Stardance
Devlogs:
Finished committee auto-selection greedy algorithm, accounting for double delegation committees and committee types.
Added an Inquirer to confirm committee auto-assignments and add assignments manually.
Finished making the Command Line Interface. It checks for availability whenever the user inputs assignments in the questionary interface using sets. Stores all assignments in a dictionary, which is then converted into a cell map after the user finished all assignments. This cell map accurately recreates the cells that were pulled, except that used assignments now get blank cells. School assignments go into a separate sheet, where they are listed as “country name (committee name)”. During this process I learned a lot about safely converting data between types, i.e. from dictionaries to lists to sets, and their respective advantages for later processing. For example, sets are great with the “in” keyword, which gives O(1) time complexity, an important feature when I expect datasets with 800+ values. I also learned some intuitive strategies on improving code efficiency. Instead of writing multiple for loops, using tuples to do multiple jobs within one loop is usually much more efficient. Converting the dictionary that contains {(“committee”, “country_name”): “sheet_coordinate”} into a dictionary with the sheet coordinate as the key and the value as committee and country name took some thought and studying into dictionary rules in python. The function add_assignments_and_map_cells() took a lot of editing. What started as a simple questionary function that returns user inputs in a dictionary evolved into a full input-checker and cell mapper. I originally wanted the latter process to happen in the main code, but I discovered that the function had all necessary variables, and that it would be cleaner to simply pass back all the completed variables. Also decided that pushes are inherently untrustworthy, because my data goes from Google Sheets into a dictionary into a cell map, and finally back to Google Sheets. Multiple edge cases and errors may be possible during this time. Implemented a basic checker at the very end to confirm against the counta() function built into the sheet. Screenshot is not all; have yet to test the code for errors. Very excited to see this work! It used to take dozens of hours to complete, with plenty of human errors (especially double assignments), but with the loop pushing final values after every school and only operating within the list of possible assignments, many human errors are eliminated.
Began debugging my command line interface code. Discover that the columns which referred to my Google Sheet were incorrect; fixed string in code. Bold print statements in terminal for readability, and fixed ANSI escape codes to properly clear the terminal. Fix iterator problems. Previously, there did not exist a global tracker variable, and since i reset after every while loop, the number stored to finalassignments dictionary was incorrect. Fix infinite looping in the while loop for edge cases where none of the conditions are satisfied. Now with a proper error statement and ending of loop. Added a continue statement to prevent code from pushing before the questionary interface has finished receiving all inputs. Most of these errors were small bugs in the system, not major conceptual issues. However, I did learn how to use the VSCode debugging feature while going through this, as it is a program that is easy to set breakpoints in and analyze variables.
Continued debugging my command line interface and adding some necessary business features. Previously a new committee was only checked against the main list of names. Now, it is split by type of committee to prevent switching between types. Add ability to print suggestions to user if committee selections are double, advising them to change the other delegate in the same committee if needed. Fix twin logic error and place code into more organized functions. With this part of the debugging, I began to understand the importance of splitting all code into functions, and grouping those functions into classes. Previously, all my code was a rough draft minimum viable product designed to just get the job done. Now, with the need to edit things in the future and share with other developers in my team, I began to sort things into functions (which turn out to be amazingly useful and easy to debug). In the next update I might begin writing classes.
Moved everything into Object Oriented Programming Classes This included Gmail, Sheets, and Drive Functions. I will probably do the same for the other folders soon, but they are not connected. I have yet to fully debug the command line interface, especially after these changes. Will do that soon.
Fully debugged my Command Line Interface after moving everything into OOP. Change twin logic variable call (it was supposed to call list index 0, but called 1) to solve linking issue for double delegate committees. Fix relative imports by adding “.” to my init .py files. During this I learned a lot about how the python interpreter views files and locations. Also separated responsibilities by splitting functions. Now, my libraries are no longer aware of each other, to allow for easier debug and changes later. I will need to take out my business logic from the infrastructure and put it with my main files, to further separate responsibilties....
|
1793364725.7625513
|
1793969525.7625513
|
|
6986
|
Untitled by @nicole | Stardance
|
nicole
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @nicole | Stardance
|
1792738295.5373087
|
1793343095.5373087
|
|
6987
|
Learning JS by @Rian | Stardance
|
Rian
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Learning JS by @Rian | Stardance
|
1793360923.1769845
|
1793965723.1769845
|
|
6988
|
My awesome macropad! by @hamzayasir9211 | Stardanc My awesome macropad! by @hamzayasir9211 | Stardance...
|
hamzayasir9211
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @hamzayasir9211 | S Title: My awesome macropad! by @hamzayasir9211 | Stardance...
|
1792727614.0142167
|
1793332414.0142167
|
|
6989
|
My first slack bot! by @JishnuDutta | Stardance
|
JishnuDutta
|
0
|
0.5
|
0
|
[]
|
[{"post_id": 1945, "ts": "2026 [{"post_id": 1945, "ts": "2026-06-04T06:05:24Z", "hours": 0.5011, "text": "I added jso-hello command which says Hello!"}]...
|
Title: My first slack bot! by @JishnuDutta | Stard Title: My first slack bot! by @JishnuDutta | Stardance
Devlogs:
I added jso-hello command which says Hello!...
|
1792939907.8175933
|
1793803907.8175933
|
|
6990
|
Untitled project by @Jestvyrn | Stardance
|
Jestvyrn
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Jestvyrn | Stardance
|
1793293046.5149455
|
1793897846.5149455
|
|
6991
|
Satisfya Bike by @HarekrishnaJaware | Stardance
|
HarekrishnaJaware
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Satisfya Bike by @HarekrishnaJaware | Stard Title: Satisfya Bike by @HarekrishnaJaware | Stardance...
|
1792749173.291796
|
1793353973.291796
|
|
6992
|
Untitled project by @sami_bibs | Stardance
|
sami_bibs
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @sami_bibs | Stardance
|
1792723746.1697333
|
1793328546.1697333
|
|
6993
|
Untitled by @Jwo | Stardance
|
Jwo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Jwo | Stardance
|
1793235000.4765983
|
1793839800.4765983
|
|
6994
|
Hilopad by @ahclip89 | Stardance
|
ahclip89
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T19:29:27Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hilopad It has A 3x2 grid of mechanical switches A radial dial A 0.9” OLED panel A 2x8 LED matrix Render (Attached image) I made sure to include several peepholes to see the PCB. The Schemetic As you can see, the entire thing will be controlled by a Module-Seeeduino-XIAO. The 6 buttons and rotary switch are all routed through a 2x4 matrix. I also added a 2x8 RGB LED matrix, but I have not used it in the current firmware. In the future, I plan to make it an audio visualizer. Lastly, I have an OLED panel. It will display the current keyboard layout that is controlled by the encoder. (I only have 2 right now) The PCB This was my first time designing a PCB, so it is probably very messy. I rerouted it a couple of times due to errors in the schematic, and I learned a lot. Overall, I am very proud of it. I also had fun adding silkscreen art. The Case I designed the case in Fusion 360, which I had just taken a class for during my freshman year. I added holes for all the buttons and art, as well as some more for the fun of it. BOM 1 Seeed XIAO RP2040 7 through-hole 1N4148 Diodes 6 MX-Style switches 1 EC11 Rotary encoder 1 0.91 inch OLED display (pin order: GND-VCC-SCL-SDA) 6 DSA keycaps 16 SK6812 MINI-E LEDs 4 M3x16mm screws 4 M3x5mx4mm heatset inserts", "repo": "https://github.com/ahclip89/My-Hackpad", "demo": ""}]...
|
[{"post_id": 8283, "ts": "2026 [{"post_id": 8283, "ts": "2026-06-13T19:34:47Z", "hours": 3.0, "text": "Created the firmware and README I finished making the firmware for my keyboard as well as creating a render and submitting the GitHub repo with a README."}, {"post_id": 3230, "ts": "2026-06-06T01:55:11Z", "hours": 1.0, "text": "I Finished The Case For My Hackpad The case will have slots for all the buttons and lights, as well as a hole to see the mural and a vent-looking thing to peek at the diodes."}, {"post_id": 2562, "ts": "2026-06-05T03:50:19Z", "hours": 3.0, "text": "I finished the PCB design for my hackpad. It will have: a 2x3 button array a radial dial a 2x8 LED array I plan to use the LED array as an audio visualizer or volume percentage. The OLED will likely display the CPU’s temperature."}]...
|
Title: Hilopad by @ahclip89 | Stardance
Devlogs:
Title: Hilopad by @ahclip89 | Stardance
Devlogs:
I finished the PCB design for my hackpad. It will have: a 2x3 button array a radial dial a 2x8 LED array I plan to use the LED array as an audio visualizer or volume percentage. The OLED will likely display the CPU’s temperature.
I Finished The Case For My Hackpad The case will have slots for all the buttons and lights, as well as a hole to see the mural and a vent-looking thing to peek at the diodes.
Created the firmware and README I finished making the firmware for my keyboard as well as creating a render and submitting the GitHub repo with a README.
Ships:
Hilopad It has A 3x2 grid of mechanical switches A radial dial A 0.9” OLED panel A 2x8 LED matrix Render (Attached image) I made sure to include several peepholes to see the PCB. The Schemetic As you can see, the entire thing will be controlled by a Module-Seeeduino-XIAO. The 6 buttons and rotary switch are all routed through a 2x4 matrix. I also added a 2x8 RGB LED matrix, but I have not used it in the current firmware. In the future, I plan to make it an audio visualizer. Lastly, I have an OLED panel. It will display the current keyboard layout that is controlled by the encoder. (I only have 2 right now) The PCB This was my first time designing a PCB, so it is probably very messy. I rerouted it a couple of times due to errors in the schematic, and I learned a lot. Overall, I am very proud of it. I also had fun adding silkscreen art. The Case I designed the case in Fusion 360, which I had just taken a class for during my freshman year. I added holes for all the buttons and art, as well as some more for the fun of it. BOM 1 Seeed XIAO RP2040 7 through-hole 1N4148 Diodes 6 MX-Style switches 1 EC11 Rotary encoder 1 0.91 inch OLED display (pin order: GND-VCC-SCL-SDA) 6 DSA keycaps 16 SK6812 MINI-E LEDs 4 M3x16mm screws 4 M3x5mx4mm heatset inserts...
|
1793220891.615471
|
1793307291.615471
|
|
6995
|
My awesome macropad! by @Clivee | Stardance
|
Clivee
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Clivee | Stardance
|
1793256972.798249
|
1793861772.798249
|
|
6996
|
Gesture Link by @Mokxsh_ | Stardance
|
|
1
|
16.11
|
172
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T13:09:37Z", "hours": 15.0, "multiplier": 16.62, "payout": 172, "blessing": "neutral", "text": "What did you make? I built Gesture Link, a wearable assistive communication system designed to help visually impaired, hearing impaired, and speech impaired individuals communicate more easily. The project consists of three devices: Visora, a pair of AI-powered smart glasses that can identify objects and colors; Glove A, which converts hand gestures into spoken phrases; and Glove B, which converts speech into tactile Braille using vibration motors. Together, they create a real-time communication bridge that works completely offline. What was the challenge? The main problem I wanted to solve was that many people with disabilities face communication barriers every day, and most existing solutions are either expensive, require internet access, or only address a single disability. I wanted to create a system that could help different groups communicate with each other directly. From a technical side, the biggest challenge was getting multiple hardware devices, sensors, computer vision models, speech processing systems, and haptic feedback mechanisms to work together reliably. Since everything runs locally, I also had to optimize the software to work efficiently on resource-constrained hardware. What are you proud of? I’m proud that I was able to take a real-world problem affecting billions of people and turn it into a complete working ecosystem rather than just a concept or a single prototype. Gesture Link combines computer vision, speech technology, wearable electronics, health monitoring, and haptic feedback into one integrated system designed to make communication more accessible. Over the past two months, I worked through numerous hardware and software challenges, from sensor integration and device communication to real-time processing, to bring all three modules together into a functional solution that can genuinely improve people’s daily lives. What should people know when testing your project? Gesture Link is primarily a hardware project, so it can’t be fully tested directly from the repository. To make it as reproducible as possible, I’ve included the source code, documentation, component lists, and circuit diagrams for all the modules so anyone interested can build and test it themselves. I’m also currently working on custom PCBs for the project and plan to open-source them soon, which will make the system much easier for others to build, modify, and improve.", "repo": "https://github.com/Mokxsh404/Gesture-Link/", "demo": ""}]...
|
[{"post_id": 14938, "ts": "202 [{"post_id": 14938, "ts": "2026-06-24T08:34:49Z", "hours": 0.7842, "text": "Devlog: Visora is Finally Done !!! After roughly 40 Hours spread across the last 7 days, Visora is finally working. I genuinely thought this would be one of the easier parts of Gesture Link . I was very very wrong. Visora is the vision module of the project. The goal is simple: use an ESP32-CAM, run object detection using YOLOv8, figure out what’s around the user, and then provide audio feedback. Sounds straightforward until you actually try building it. The biggest problem was that nothing wanted to work consistently. One minute OpenCV would connect to the camera stream perfectly: cap = cv2.VideoCapture(CAM_URL) The next minute it would just sit there refusing to open the stream. while not cap.isOpened(): print(\"Cannot open stream...\") I spent hours thinking my code was broken when it turned out to be network issues, camera settings, and random ESP32-CAM problems fighting each other. Then came YOLO. Getting the model itself running wasn’t too bad. Getting it to run smoothly with a live camera stream was another story. results = model(frame, device=device)[0] Sometimes detections worked. Sometimes they didn’t. Sometimes the frame processing would slow down enough to make the whole thing feel unusable. My favorite bug was when everything looked correct. lol The camera worked. The AI worked. The ESP32 worked. The code ran without errors. And yet nothing happened. After staring at the screen for far longer than I’d like to admit, the issue ended up being something completely unrelated to where I was looking. What makes this extra painful is that the final code looks so simple. You look at it and think: That’s it? But behind every line is probably an hour of me wondering why it wasn’t working. With Glove A converting sign language into speech, Glove B converting speech into Braille through vibration motors, and Visora finally working, Gesture Link is now fully complete. 7 days 40 hours Way too much debugging ** Gesture Link is Officially Done !!**"}, {"post_id": 10527, "ts": "2026-06-17T08:57:37Z", "hours": 0.325, "text": "#Devlog: Glove A Done! Finally wrapped up Glove A! I don’t think I’ve ever spent this much time continuously debugging a single part of a project before. Since yesterday, I’ve probably put in around 20 hours trying to get everything working properly. Every time I fixed one issue, another one appeared. It started with the flex sensors. Two of them suddenly became unresponsive and started giving completely unreliable readings. Since the whole glove depends on accurately detecting finger movements, that basically meant the gesture recognition stopped working. After a lot of testing and checking connections, I ended up replacing both sensors. Then the DFPlayer decided to stop working. Naturally, I assumed it was a code issue and spent way too long looking through my program trying to figure out what I had broken. Turns out the code wasn’t the problem at all. The SD card had somehow become corrupted, which meant none of the audio files could be read. So after replacing and setting up the SD card again, the audio finally came back. At that point I thought I was done. I wasn’t. The OLED display suddenly stopped working. After even more troubleshooting, I found a wiring issue along with an address conflict that was preventing the display from communicating properly. A few rewires, some code changes, and a lot of patience later, the screen finally came back to life. After all of that debugging, soldering, rewiring, replacing components, and questioning my life choices, I’m finally here. Glove A is designed to help people with speech impairments communicate more easily. The glove recognizes hand gestures and converts them into pre-compiled speech. For example, bending a specific finger can trigger a phrase like “Hello”, and the glove will immediately speak it through the onboard speaker. Different gesture combinations can be mapped to different words or sentences, allowing the user to communicate quickly without needing to type or press buttons. I’ve attached a video showing the glove working in real time. In the demonstration, the glove detects the gesture, processes the finger positions from the flex sensors, matches it with the corresponding phrase, and instantly plays the audio output. This project might look simple from the outside, but getting all the sensors, audio modules, display, and processing logic to work together reliably was a much bigger challenge than I expected. Seeing the glove finally recognize gestures and speak them out loud made all those hours of debugging worth it. With Glove A now complete and Glove B already working, Now it’s time to focus on Visora and bring the final part of the system together."}, {"post_id": 9808, "ts": "2026-06-16T07:45:13Z", "hours": 0.0, "text": "Devlog: Glove B Completed After weeks of development, testing, and debugging, I have finally completed Glove B of Gesture Link. In the video, Glove B is working successfully and responding exactly as intended. You may notice a buzzing sound in the recording. That sound comes from the vibration motors activating to transmit Braille characters. For this demonstration, the speech input “Hello, how are you?” was converted into Braille and sent directly to the glove. Each finger contains three vibration motors. Two fingers work together to form one Braille cell, while the other two fingers form a second Braille cell. By activating specific vibration patterns, the glove communicates Braille characters through touch, allowing information to be read without visual or audio output. This marks a major milestone for the project, as the complete speech-to-Braille pipeline is now functioning on Glove B. The system can capture speech, process the text, convert it into Braille patterns, and deliver the output through haptic feedback in real time."}, {"post_id": 9067, "ts": "2026-06-15T04:29:02Z", "hours": 0.0, "text": "pulled an all nighter :D worked on the VISORA code, it had some bugs took me a while to fix them. Also added a really nice UI to it."}, {"post_id": 4196, "ts": "2026-06-07T12:47:04Z", "hours": 14.5497, "text": "almost done with the repo!"}, {"post_id": 2089, "ts": "2026-06-04T12:45:14Z", "hours": 0.0, "text": "I am currently developing a colour recognition system using an ESP32-S3 Sense camera and Python. At this stage, the ESP32-S3 Sense is being used primarily to capture and stream camera data, while all image processing and colour recognition tasks are performed locally on my computer using Python. The system is designed to detect and classify colours in real time."}]...
|
Title: Gesture Link by @Mokxsh_ | Stardance
Devlo Title: Gesture Link by @Mokxsh_ | Stardance
Devlogs:
I am currently developing a colour recognition system using an ESP32-S3 Sense camera and Python. At this stage, the ESP32-S3 Sense is being used primarily to capture and stream camera data, while all image processing and colour recognition tasks are performed locally on my computer using Python. The system is designed to detect and classify colours in real time.
almost done with the repo!
pulled an all nighter :D worked on the VISORA code, it had some bugs took me a while to fix them. Also added a really nice UI to it.
Devlog: Glove B Completed After weeks of development, testing, and debugging, I have finally completed Glove B of Gesture Link. In the video, Glove B is working successfully and responding exactly as intended. You may notice a buzzing sound in the recording. That sound comes from the vibration motors activating to transmit Braille characters. For this demonstration, the speech input “Hello, how are you?” was converted into Braille and sent directly to the glove. Each finger contains three vibration motors. Two fingers work together to form one Braille cell, while the other two fingers form a second Braille cell. By activating specific vibration patterns, the glove communicates Braille characters through touch, allowing information to be read without visual or audio output. This marks a major milestone for the project, as the complete speech-to-Braille pipeline is now functioning on Glove B. The system can capture speech, process the text, convert it into Braille patterns, and deliver the output through haptic feedback in real time.
#Devlog: Glove A Done! Finally wrapped up Glove A! I don’t think I’ve ever spent this much time continuously debugging a single part of a project before. Since yesterday, I’ve probably put in around 20 hours trying to get everything working properly. Every time I fixed one issue, another one appeared. It started with the flex sensors. Two of them suddenly became unresponsive and started giving completely unreliable readings. Since the whole glove depends on accurately detecting finger movements, that basically meant the gesture recognition stopped working. After a lot of testing and checking connections, I ended up replacing both sensors. Then the DFPlayer decided to stop working. Naturally, I assumed it was a code issue and spent way too long looking through my program trying to figure out what I had broken. Turns out the code wasn’t the problem at all. The SD card had somehow become corrupted, which meant none of the audio files could be read. So after replacing and setting up the SD card again, the audio finally came back. At that point I thought I was done. I wasn’t. The OLED display suddenly stopped working. After even more troubleshooting, I found a wiring issue along with an address conflict that was preventing the display from communicating properly. A few rewires, some code changes, and a lot of patience later, the screen finally came back to life. After all of that debugging, soldering, rewiring, replacing components, and questioning my life choices, I’m finally here. Glove A is designed to help people with speech impairments communicate more easily. The glove recognizes hand gestures and converts them into pre-compiled speech. For example, bending a specific finger can trigger a phrase like “Hello”, and the glove will immediately speak it through the onboard speaker. Different gesture combinations can be mapped to different words or sentences, allowing the user to communicate quickly without needing to type or press buttons. I’ve attached a video showing the glove working in real time. In the demonstration, the glove detects the gesture, processes the finger positions from the flex sensors, matches it with the corresponding phrase, and instantly plays the audio output. This project might look simple from the outside, but getting all the sensors, audio modules, display, and processing logic to work together reliably was a much bigger challenge than I expected. Seeing the glove finally recognize gestures and speak them out loud made all those hours of debugging worth it. With Glove A now complete and Glove B already working, Now it’s time to focus on Visora and bring the final part of the system together.
Devlog: Visora is Finally Done !!! After roughly 40 Hours spread across the last 7 days, Visora is finally working. I genuinely thought this would be one of the easier parts of Gesture Link . I was very very wrong. Visora is the vision module of the project. The goal is simple: use an ESP32-CAM, run object detection using YOLOv8, figure out what’s around the user, and then provide audio feedback. Sounds straightforward until you actually try building it. The biggest problem was that nothing wanted to work consistently. One minute OpenCV would connect to the camera stream perfectly: cap = cv2.VideoCapture(CAM_URL) The next minute it would just sit there refusing to open the stream. while not cap.isOpened(): print("Cannot open stream...") I spent hours thinking my code was broken when it turned out to be network issues, camera settings, and random ESP32-CAM problems fighting each other. Then came YOLO. Getting the model itself running wasn’t too bad. Getting it to run smoothly with a live camera stream was another story. results = model(frame, device=device)[0] Sometimes detections worked. Sometimes they didn’t. Sometimes the frame processing would slow down enough to make the whole thing feel unusable. My favorite bug was when everything looked correct. lol The camera worked. The AI worked. The ESP32 worked. The code ran without errors. And yet nothing happened. After staring at the screen for far longer than I’d like to admit, the issue ended up being something completely unrelated to where I was looking. What makes this extra painful is that the final code looks so simple. You look at it and think: That’s it? But behind every line is probably an hour of me wondering why it wasn’t working. With Glove A converting sign language into speech, Glove B converting speech into Braille through vibration motors, and Visora finally working, Gesture Link is now fully complete. 7 days 40 hours Way too much debugging ** Gesture Link is Officially Done !!**
Ships:
What did you make? I built Gesture Link, a wearable assistive communication system designed to help visually impaired, hearing impaired, and speech impaired individuals communicate more easily. The project consists of three devices: Visora, a pair of AI-powered smart glasses that can identify objects and colors; Glove A, which converts hand gestures into spoken phrases; and Glove B, which converts speech into tactile Braille using vibration motors. Together, they create a real-time communication bridge that works completely offline. What was the challenge? The main problem I wanted to solve was that many people with disabilities face communication barriers every day, and most existing solutions are either expensive, require internet access, or only address a single disability. I wanted to create a system that could help different groups communicate with each other directly. From a technical side, the biggest challenge was getting multiple hardware devices, sensors, computer vision models, speech processing systems, and haptic feedback mechanisms to work together reliably. Since everything runs locally, I also had to optimize the software to work efficiently on resource-constrained hardware. What are you proud of? I’m proud that I was able to take a real-world problem affecting billions of people and turn it into a complete working ecosystem rather than just a concept or a single prototype. Gesture Link combines computer vision, speech technology, wearable electronics, health monitoring, and haptic feedback into one integrated system designed to make communication more accessible. Over the past two months, I worked through numerous hardware and software challenges, from sensor integration and device communication to real-time processing, to bring all three modules together into a functional solution that can genuinely improve people’s daily lives. What should people know when testing your project? Gesture Link is primarily a hardware project, so it can’t be fully tested directly from the repository. To make it as reproducible as possible, I’ve included the source code, documentation, component lists, and circuit diagrams for all the modules so anyone interested can build and test it themselves. I’m also currently working on custom PCBs for the project and plan to open-source them soon, which will make the system much easier for others to build, modify, and improve....
|
1792878534.3093243
|
1793742534.3093243
|
|
6997
|
ESP32 CYBER THREAT ALERT SYSTEM by @Rameesha_Yasme ESP32 CYBER THREAT ALERT SYSTEM by @Rameesha_Yasmeen | Stardance...
|
Rameesha_Yasmeen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ESP32 CYBER THREAT ALERT SYSTEM by @Rameesh Title: ESP32 CYBER THREAT ALERT SYSTEM by @Rameesha_Yasmeen | Stardance...
|
1792810044.5333126
|
1793414844.5333126
|
|
6998
|
MacroPadV0 by @PANTHERA | Stardance
|
PANTHERA
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MacroPadV0 by @PANTHERA | Stardance
|
1793170406.8260787
|
1793775206.8260787
|
|
6999
|
Untitled project by @sethmudit12 | Stardance
|
sethmudit12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @sethmudit12 | Stardanc Title: Untitled project by @sethmudit12 | Stardance...
|
1793314514.1023343
|
1793919314.1023343
|
|
7000
|
My awesome macropad! by @chintajaswanthkumar | Sta My awesome macropad! by @chintajaswanthkumar | Stardance...
|
chintajaswanthkumar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @chintajaswanthkuma Title: My awesome macropad! by @chintajaswanthkumar | Stardance...
|
1793166855.4711592
|
1793771655.4711592
|