|
1884
|
Edu-Quity by @SynthReaper | Stardance
|
SynthReaper
|
1
|
7.24
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-03T19:06:16Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A youth-focused investment education platform combining simulated stock trading, structured financial literacy curriculum, gamified token rewards, and parental oversight", "repo": "https://github.com/SynthReaper/EduQuity", "demo": "https://edu-quity.vercel.app/"}]...
|
[{"post_id": 6621, "ts": "2026 [{"post_id": 6621, "ts": "2026-06-11T03:21:09Z", "hours": 4.8431, "text": "changed from sandbox to live data improve ui ,animations etc and solving bugs"}, {"post_id": 4181, "ts": "2026-06-07T12:21:04Z", "hours": 1.3994, "text": "Upgraded my website to next level with new features"}, {"post_id": 1612, "ts": "2026-06-03T19:03:25Z", "hours": 1.0811, "text": "A youth-focused investment education platform combining simulated stock trading, structured financial literacy curriculum, gamified token rewards, and parental oversight"}]...
|
Title: Edu-Quity by @SynthReaper | Stardance
Devl Title: Edu-Quity by @SynthReaper | Stardance
Devlogs:
A youth-focused investment education platform combining simulated stock trading, structured financial literacy curriculum, gamified token rewards, and parental oversight
Upgraded my website to next level with new features
changed from sandbox to live data improve ui ,animations etc and solving bugs
Ships:
A youth-focused investment education platform combining simulated stock trading, structured financial literacy curriculum, gamified token rewards, and parental oversight...
|
1793303669.4782717
|
1793390069.4782717
|
|
61035
|
Check Calculator X person by @Helos | Stardance
|
Helos
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T21:55:52Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is a bill splitter that helps on everyday hangouts", "repo": "https://github.com/Helos-dev/bill-splitter", "demo": "https://bill-splitter-si1u.onrender.com"}]...
|
[{"post_id": 66211, "ts": "202 [{"post_id": 66211, "ts": "2026-09-11T21:54:50Z", "hours": 0.7469, "text": "after this project i dont know if im gonna keep doing this challange because i basically did everything i know im gonna try to learn more because im getting SO EXCITED to have a chance to get my hands on a raspberry pi for free i need it for home labbing"}]...
|
Title: Check Calculator X person by @Helos | Stard Title: Check Calculator X person by @Helos | Stardance
Devlogs:
after this project i dont know if im gonna keep doing this challange because i basically did everything i know im gonna try to learn more because im getting SO EXCITED to have a chance to get my hands on a raspberry pi for free i need it for home labbing
Ships:
this is a bill splitter that helps on everyday hangouts...
|
1793411802.9749184
|
1793498202.9749184
|
|
30259
|
sqush by @Dackel | Stardance
|
Dackel
|
1
|
441.32
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T16:54:50Z", "hours": 428.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Sqush is an indie game store with a comic 90s look. You can add games as a dev or use the platform as a normal user. You can interact with others message them and earn badges. And of course you can download games. The backend was one of the hardest things I have ever done. I had to fix so many errors along the way (see devlogs). One time I forgot to initialise a value the other time my complete logic was bullax. Sometimes I even pushed code without proper testing. It did not turn out well. And then there was how I organized the code first. It was messy and hard to read. Implementing something new could take ages because of the code not being easy enough to read through. Also some platforms just hated me for no reason and made it harder for me to add something new. On the other hand it was extremly refreshing to try something new and fail misrebaly at it. I can now propely set up automatic emailing systems use payment services like Stripe, make automatic file scanners, hash password, make upload systems that will hopefully not fail after 1000 game uploads, even learnt a bit of drawing (name me Picasso) ,migrate databases (couldn’t actually do it before. Even tho its easy) and set up servers for the site ( even if I did use AI for that last part). My plan was actually to put up a real game on this platform and actually test it. But school is starting now and I don’t know if there is still enough time for it (Cause I signed up for something big). Stress Test it to your’e liking but PLEASE dont upload thousands of 2 GB files cause that costs money. This name is peak btw. I don’t accept other opinions. And for testing: Dev-Login: developer / test | Stripe Testcard: 4242 4242 4242 4242 (Exp: 12/34, CVC: 123, Zip: 12345) The full Feature List is on the Readme on git.", "repo": "https://github.com/DerRealeHier/sqush", "demo": "https://sqush.dev/"}]...
|
[{"post_id": 66216, "ts": "202 [{"post_id": 66216, "ts": "2026-09-11T21:59:59Z", "hours": 6.0431, "text": "added moderation Now I have an AI model that constantly scans new messages and searches for inappropriate content. If the AI finds such content the person that wrote it will be banned and every single message the user wrote will be checked for issues. Oh I forgot to mention that Copilot fixed some critical secruity vulnerabilitys for me. The user that got banned will also be put on the Wall of Shame where there is a record of every single banned Account ever on the Platform. Developers of games can also always search for not so cool content. And of course Admins can manually ban accounts. (Yeah your private messages are also getting scanned)"}, {"post_id": 66009, "ts": "2026-09-11T15:02:37Z", "hours": 6.5411, "text": "added Inventory, Card drops You can now get cards dropped by buying or reviewing games. There are 4 rarities you can get and you can also just test pull these (so you can try it out yourself). Also because of this new feature I found a Issue with the notification system I am gonna fix. You can also trade these card with others through the chat or the trade tab. And you can also forge cards together if you have to many duplicates. Because of this new feature I also found a issue with the notification system, Hopefully have it fixed tommorow."}, {"post_id": 64370, "ts": "2026-09-08T17:55:35Z", "hours": 0.7389, "text": "Didn’t know that I could format it at the shipment so there is the text again formatted. Also I fixed a little download error ( The Site didn’t have the test files in the folder) Sqush is an indie game store with a comic 90s look. You can add games as a dev or use the platform as a normal user. You can interact with others message them and earn badges. And of course you can download games. Issues: The backend was one of the hardest things I have ever done. I had to fix so many errors along the way (see devlogs). One time I forgot to initialise a value the other time my complete logic was bullax. Sometimes I even pushed code without proper testing. It did not turn out well. And then there was how I organized the code first. It was messy and hard to read. Implementing something new could take ages because of the code not being easy enough to read through. Also some platforms just hated me for no reason and made it harder for me to add something new. The good side: On the other hand it was extremly refreshing to try something new and fail misrebaly at it. I can now propely set up automatic emailing systems use payment services like Stripe, make automatic file scanners, hash password, make upload systems that will hopefully not fail after 1000 game uploads, even learnt a bit of drawing (name me Picasso) ,migrate databases (couldn’t actually do it before. Even tho its easy) and set up servers for the site ( even if I did use AI for that last part). What I didn’t do: My plan was actually to put up a real game on this platform and actually test it. But school is starting now and I don’t know if there is still enough time for it (Cause I signed up for something big). Stress Test it to your’e liking but PLEASE dont upload thousands of 2 GB files cause that costs money. This name is peak btw. I don’t accept other opinions. And for testing: Dev-Login: developer / test | Stripe Testcard: 4242 4242 4242 4242 (Exp: 12/34, CVC: 123, Zip: 12345) The full Feature List is on the Readme on git."}, {"post_id": 64237, "ts": "2026-09-08T14:23:48Z", "hours": 5.1408, "text": "looked for errors and started website Today I overlooked the site one last time and fixed secruity issues and others. I fixed Email service added an option to change the background Image of the score and made my testdata a bit more secure (had my real emails in there before). I used AI for much of the progress cause it was my first time starting a server (see commits). I ran into many issues while setting everything up."}, {"post_id": 63722, "ts": "2026-09-07T17:34:18Z", "hours": 7.1667, "text": "added dev cut and reworked Background Image I also added test Data. Thats entirely made by AI except some covers that were made by me. Cause I ain’t interactng thousands of times with my own platform. Also which background banner would you like more?"}, {"post_id": 63175, "ts": "2026-09-06T20:44:54Z", "hours": 7.1403, "text": "added roadmap So there is the list of what I have done: Public Roadmaps and Feature Voting the roadmaap can have the status (Planned/In Progress/Done) and the Types (Feature/Bug/Improvment) the dev can Drag and Drop the items into the status it is in and also mdelete it. Users can comment and upvote those Items Redesign of Game Detail site Its not 9 Buttons in one row anymore It’s seperatd into two sections. updated the sale section And I also added Unit Tests."}, {"post_id": 62518, "ts": "2026-09-05T22:36:59Z", "hours": 6.4219, "text": "fixed optimization and UI errors (and not ill anymore) So i fixed many Issues regarding the performance of the website Performance (Optimization) videos don’t get loaded instantly anymore (180ms cooldown) Search is done in memmory atribut caches and requestAnimationFrame. all countdown intervalls have been put into one. background image is done locally instead of GitHub Offscreen Cards now use content-visibility:auto. Database and Queries: SQLite changed to 64MB Cahe. made 10 indizes for Foreign Keys/Filter. Even the translator doesn’t wanna tell me what this means in English. You have to find out yourself. UI and Interaction errors js doesnt crash when pressing a button without being logged in (don’t ask how that happend) guest cart can now delete a game from their carts. when checking out and not being logged in you get forwarded to login. Didn’t actually happen before. Wishlist and card buttons now syncronize when a game is there two times or even more on the front page. It pissed me off before. collection badge gets added after animation. Thats all I wanna write for today"}, {"post_id": 61045, "ts": "2026-09-03T19:12:23Z", "hours": 10.5322, "text": "added tip jar, fixed some UI bugs So now you can tip the game devs and they can see it on their dashboard and on the game detail page. You can also add a message to your donation. And I fixed the message button that hid under the profiles in the community tab."}, {"post_id": 60467, "ts": "2026-09-02T20:05:43Z", "hours": 12.0164, "text": "added messaging , updated UI Now users can message devlopers and other ussers. They can also include game Links and Update Links so you can discuss games."}, {"post_id": 59753, "ts": "2026-09-01T18:00:53Z", "hours": 9.7142, "text": "added Readme and fixed some visual bugs Yesterday the UI looked a bit off. Especially at the unlocking of the badges. It’s now looking good."}, {"post_id": 59207, "ts": "2026-08-31T21:27:06Z", "hours": 11.2833, "text": "added profile badges It’s hard getting the badges right. Cause currently I’m only using Plain HTML and CSS for these badges. And I added the js to the HTML files. Thats much cleaner then in a seperate js file."}, {"post_id": 58172, "ts": "2026-08-30T15:09:34Z", "hours": 9.8781, "text": "cleaned up all of the backend code So yeah I’ve done it! I cleaned up all of the code and now its much easier to get through all. It’s so much better now."}, {"post_id": 57497, "ts": "2026-08-29T17:39:29Z", "hours": 5.1814, "text": "fixed the gifting system (and beginning to clean up that code) So i fixed the gifting system and I also began my work on cleaning up all of this. And as you see it doesnt look beautyfull right now if someone gifts you something but I’ll make it better."}, {"post_id": 56823, "ts": "2026-08-28T19:12:19Z", "hours": 10.8536, "text": "added gifting system and failed miserably (again) Yea I promised to make the code cleaner today. But I found out that doing that is boring. Thats why I added more features. Now I’m paying for it by having new errors pop up every few minutes. If I’d like to just feel some progress at cleaning this mess up I had to do it in small steps. (cause I ain’t fixing 3000 lines in one day) So tommorow I’ll at least try getting the first 1000 lines cleaned up again"}, {"post_id": 56200, "ts": "2026-08-27T21:06:27Z", "hours": 9.985, "text": "Fixed it ☺️ So now it’s totally possible to make new collections. No errors anymore. Also I fixed some more bugs. And tommorow I will begin cleaning up some of the code."}, {"post_id": 55149, "ts": "2026-08-26T16:57:07Z", "hours": 11.1111, "text": "added library collections (tried) Yeah so I did get to add a good UI but currently it does not work to add a collection. I will have it fixed tommorow. Most likely a minor mistae breaking everything."}, {"post_id": 54559, "ts": "2026-08-25T16:06:35Z", "hours": 10.0472, "text": "added honeypot and fixed this horrendeus cart UI So yeah I fixed the UI I had yesterday to make it look more like everything else on the store."}, {"post_id": 53985, "ts": "2026-08-24T18:17:31Z", "hours": 11.4483, "text": "added cart system So for today I added a new cart system. I know I’ve done more than epic. You can now get games into your cart and buy them later. You will also get a warning if a game is cheaper in a bundle.HTML will be fixed tommorow"}, {"post_id": 53215, "ts": "2026-08-23T17:35:14Z", "hours": 9.9589, "text": "fixed that fricking page(couldn’t buy something before) Yeah I just made a completly new route for buying bundles and also a completly new HTML page. For some reason I always find a way to make something extremly complicated"}, {"post_id": 52631, "ts": "2026-08-22T21:06:14Z", "hours": 10.3861, "text": "updated my super dubba design So yeah it should look good now. see for yourself"}, {"post_id": 51791, "ts": "2026-08-21T17:07:05Z", "hours": 11.7708, "text": "fixed backend added first HTML Page with bundles It willl look better tommorow (I PROMISE) But for now it looks like that. I also fixed the backend code so now you should actually be able to buy bundles. It will look more like the dev dashboard tommorow I just used the store.html as template."}, {"post_id": 51181, "ts": "2026-08-20T18:00:39Z", "hours": 10.2681, "text": "added backend for bundles Here a little code snippet. HTML will be finished tommorow. I hope"}, {"post_id": 50504, "ts": "2026-08-19T17:49:13Z", "hours": 10.3353, "text": "fixed the backend So you can now buy games and should get the monopoly money back when refunding it. But if I wanted to make it for a real system I would have to save the payment_tenent_id which I cxurrently don’t. But that should be a easy fix.So it should work like in that cool drawing I made."}, {"post_id": 49756, "ts": "2026-08-18T17:55:42Z", "hours": 10.4592, "text": "added Refund Handling (firs code) So I added Refund Handling for my Store. Unfourtanely I could’t finish it but I did get to finish the frontend. So what did I do. I updated the library page so its now easier to see that you can actually refund the game and how long you have until its not possible anymore. For the backend I currently have some problems with the real refund. You cant really get the money back because of how the buying of a game currently works. Especially automated refunding would be extremly hard in the current system."}, {"post_id": 49062, "ts": "2026-08-17T17:33:22Z", "hours": 12.0856, "text": "added Rate Limits Unfourtanetly I can’t push the code right now cause of github having problems with their API. So but it did take very long cause im Albert himself. So first I tried hardcoding Rate Limits with timers and stuff like that and I very much had very dumb ways to deal with it. Then I found out that Flask actually has a own Libary just for Limits. So after failing doing it my own way I just sticked with that."}, {"post_id": 48247, "ts": "2026-08-16T15:29:51Z", "hours": 12.3036, "text": "added Account Linking/fixed Hackclub auth (again) So now its getting rememberd if you also have a password and not only auth with google or hackclub. Also in the database there is a completly new columm for the hackclub ID. Backend:hackclub_callback() now also checks for Login/register or Link Modus. google_login() now accepts link mode.There are two new routes for unlinking google and hackclub. And last but not least. There is also a secruity check. The last used login methoid cant be deleted."}, {"post_id": 47643, "ts": "2026-08-15T17:49:50Z", "hours": 10.6342, "text": "fixed the hackclub auth So I finally fixed the authentication. So here is a list of all of my mistakes: Used the wrong email field; use identity.primary_emailRequested (I did not need this) use openid emailValidated state even though the callback only returned code (how do I even get to sucessfully code anything) Added duplicate OAuth routes/functions (the dumbest mistake of mine) Left the callback incomplete: no user creation, login, or redirectLogged sensitive access and refresh tokens (name me albstein) Kept Flask debug mode enabled outside local development (hopefully no one saw that) Tommorow I’ll do something. Maybe I’ll even be finished. Cause I dont know what to add anymore. If you have some recommendations just drop them off. thats the list of all current features: User registrationUsername and password login Email verification Resend email verification Email based 2FA 2FA code resend Enable or disable 2FA Change username Change email address Change password Logout Google login Hack Club login First login username setup User profiles Profile pictures Profile comments Delete profile comments Enable or disable profile comments Community page User search Follow users Unfollow users Friend requests Accept friend requests Notifications Unread notification counter Mark notifications as read User roles Developer roles Developer dashboard Create games Edit games Upload game files Upload demo files Upload screenshots Upload images Upload videos Add YouTube videos ZIP game uploads EXE game uploads Optional ClamAV malware scanning Game updates Version labels Patch notes Update history Update comments Update upvotes Update downvotes Update view counts Follow games Game update notifications Store page Genre grouping Game tags Tag filter data Game details Game descriptions Game screenshots Game videos Game view counter Positive/negative ratings Written reviews Edit reviews Helpful review votes Funny review votes Review scoring Wishlist Add to wishlist Remove from wishlist Personal game library Purchases Duplicate purchase prevention Buy page Stripe Checkout Payment success page Sales Discounts Sale end dates Automatic sale expiration Price calculation Developer revenue page Revenue per game Sales count per game Game analytics Daily view statistics Daily wishlist statistics Daily purchase statistics Daily revenue statistics Personalized game recommendations(Yeah thats real) Popular game recommendations SQLite database SQLAlchemy ORMDatabase migrations SMTP email support Firebase configuration Stripe configuration Hack Club OAuth configuration Environment variable secret configuration Please drop some recommendatins🥲"}, {"post_id": 47073, "ts": "2026-08-14T18:18:25Z", "hours": 10.4444, "text": "added hackclub auth (or atleast tried) Thats just because of me being a dum dum. You may see whats the mistake. Will have it fixed tommorow."}, {"post_id": 46511, "ts": "2026-08-13T19:48:06Z", "hours": 10.3497, "text": "Fixed the code (again) So like I said yesterday I rewrote the js. So what was the problem? Well yesterday while testing out the Site I found out that the buy button didn’t send a GET request to the backend. So when I looked at the js I first looked confused cause everything seemed to be fine. After some debugging I found out that my new feature somehow collided with the buy button (Don’t ask how) So I fixed it. Here is my totally real payment information, Everything works fine now:"}, {"post_id": 45999, "ts": "2026-08-12T20:57:45Z", "hours": 7.4628, "text": "fixed all the issues of yesterday made new ones(kinda) So I fixed the old issues you can now see the updates page and actual updates. But I began cleaning up some of the js code and I’m still not finished. So now I need to get over 100 more lines of js. Also I need to look over my python code cause well. 1800 lines of code in one file is horrendeus(At least for me) So wish me luck for tommorow!"}, {"post_id": 45326, "ts": "2026-08-11T18:24:42Z", "hours": 10.7886, "text": "Added update feed SO today I did end up making an update feed but I still have to fix some frustrating errors. You can view your own games updates these of your friends or the updates of the hole platform. You should also be able to upvote these but I currently have some errors with that."}, {"post_id": 44766, "ts": "2026-08-10T19:21:12Z", "hours": 10.5611, "text": "I’m back So I’m back from my holidays and my stress with Oracle. So I added a new simple feature and also updated some of my secruity checks. So I did test the file scanner on my PC and it turns out to be good enough. It can find malicious files and get them out before even anyone sees them. Also you can now update your game. Currently you can write what you changed but there is no way of seeing what you wrote for now. I will add that tommorow. It will just be a thread of all updates and the newest come out on top."}, {"post_id": 30891, "ts": "2026-07-18T21:16:48Z", "hours": 10.9772, "text": "Can’t show real progress because of Oracle. So I have fnished the backend and already had a plan, but Oracle had to ruin the fun. I wanted to host a VirtualMachine on Oracle Servers because I already have experience with them. But after wanting to sign up I was straight up rejected from getting the Server I paid for . They also debited my money twice (Not cool) . So now I have to wait for the support to answer me and give me some of my money back. There is a small snippet of the code:"}, {"post_id": 30418, "ts": "2026-07-17T22:52:15Z", "hours": 10.2122, "text": "It’s getting somewhere That was a lot less work than in the last days. So what have I added today? overworked Dropdown Menu Beforehands the Dropdown Menu always was a bit behind the page. Now I have fixed it and also it has become much more interactive. overworked Store Search Now the Store search has more options to search for a game. made Settings Page You can now change Important settings on the help tab. For example your Email Adress, your username, or your password. made Page to choose username when logging in with Google You can now choose a username when logging in with google. You couldn’t do that yesterday!"}, {"post_id": 29842, "ts": "2026-07-17T00:01:04Z", "hours": 11.6853, "text": "Google is not that cool 🤬 So guys like I said I finished it today so thats what I added: Basic Recommendation System So there are the three factors for the Recommendations: Tag taste: users who own a game sharing tags with your library also own the canditate Popularity: how many people in total own the candidate (Thats the least important) Similar library wishlists: users who share games with your library wishlisted the candidate All of that is done in phython, which is very dumb to do if you wanna have thousands of games. (But for that small store its enough) 2fa authentification So for that I have used firebase. For me it was extremly hard configuring this.But I made it. Also I have used a gmail address to send a potential user the verification and email confirmation. And if you dont wanna verify anything you can deactivate it with the checkmark( But please if the demo is online do it(Note: Analytics are activated on firebase )) added google login You can also login in with google. For that I had to use the most irrating API Keys. Really why is Google making it so hard? IMPORTANT: For now your Username will automatically be the name you have on you Google account."}, {"post_id": 29221, "ts": "2026-07-16T00:04:58Z", "hours": 10.5619, "text": "havent finished anything today So today I began working on something big. But I havent really made any real progress in that. I had to work around so many logic problems. Also over the course of working on this I found out that my code isn’t really optimised for much data. If this code would ever be used with 10.000 games or even more it would most likely crash. But still I will finish the feature tommorow. And also I will start a Demo site in the next days. It would be great if anyone just tested it out. Here a code snippet"}, {"post_id": 28557, "ts": "2026-07-14T21:38:29Z", "hours": 10.1431, "text": "added revenue tab and new background image So today I added a new metric to the stats page. It was really hard getting it right. Especially in the graph because I didnt wanna use the same axis for the revenue again. I also made the backround image more pixelated so it gets more of a retro look. Tomorrow I’ll begin making something big(I already did some of the work today but yeah)"}, {"post_id": 27955, "ts": "2026-07-13T21:55:59Z", "hours": 10.12, "text": "added stats page I added a stats page for every game a developer has published. You can see the history of how your game has developed. Thats why I’ve worked on the wishlist ,views and purchase features, so I can actually put them on a stats page. Adding the graph was especially hard and also saving the old datapoints was difficult. For example I had used simple Optimization like if its the same data as yesterday there will just be no new datapoint added. So there is a look at the new page::"}, {"post_id": 27383, "ts": "2026-07-12T22:09:28Z", "hours": 10.1817, "text": "added comments to user profiles I added comments to user profiles. The great thing is you can deactivate the comment tab and delete comments you dont like. It really took super long making this feature. Especially handling the errors. In the end I did make it but I still have to fix some errors tomoorow. Now I’ll go to sleep (:"}, {"post_id": 26883, "ts": "2026-07-11T22:34:49Z", "hours": 10.6103, "text": "added demos, user badge, blurred email and default picture(penguins of madagascar) overworked login, register, profile, community , game_detail , dashboard and edit game So today I added Demos you can install. I just copied the code of the game upload. I also added a user badge so you can see who is a dev and who is a user. Now youn will also not see your whole email but reade just the first three letters. (That took way too long to do) And I also overworked all of these pages so they have a look that better fits the entire store."}, {"post_id": 26225, "ts": "2026-07-10T21:46:58Z", "hours": 10.6775, "text": "added reactions to reviews and wishlist so today I already began working on bigger features. It was a bit hard to do all off this but I made it. I just found out today that you can actually migrate databases wth Flask. I always thought I had to delete the hole database and set it up again to make everything work. Also I spent around 4 hours searching for a mistake just to find out that I linked the wrong javascript file. My backend code gets worse every day. I must find a solution for that. Here my new wishlist page and the reactions:"}, {"post_id": 25527, "ts": "2026-07-09T20:53:38Z", "hours": 10.2692, "text": "fixed several bugs and commented,optimized the code So today I decided to look through all of my code and look for ways to improve. In the end I made several fixes and I’am satisfied with how it ended up. The reason I did this is because I wanna add many more features tommorow. But yesterday I already noticed that its hard to look through the code and that there were so many issues. Also some on the performance side. I believe that all errors are fixed for now. Here a code snipet:"}, {"post_id": 25006, "ts": "2026-07-08T22:20:11Z", "hours": 10.1572, "text": "added notifications, countdown for sales, friend request (not just following like yesterday) ,overworked UI aspects and reviews For the notifications I mjust had to add a new route and add it to the front end. The countdown was really hard to figure out for my but it worked out with unix time I searched for an error the entire time just to find out that my countdown was written in white on a white background. The friend request are why I added notifications. Because I wanted to let the user see who sent a request and respond to that. For the new system I had to delete the entire database to make it work. After that I added reviews. You can now give a game a thumbs up or down. The average score will be shown and your text (the review). When finishing that I overworked some of the most Important UI’s and made it much better to look at. Like you see here:"}, {"post_id": 24404, "ts": "2026-07-07T22:50:08Z", "hours": 10.1739, "text": "added views, befriending, community, paying, user profiles and searching for users So first the biggest: I added paying with Stripe . I only used the sandbox but you could basicially just add your own API Keys in an .env file and youd be able to start. The documentation was really tuff to read through but I made it with the help of a tutorial. After that I added user profiles. I just reused my game backend with the screenshots and so for the avatar. When I was finished with the unique users I started with the view system. For now it’s pretty basic and you just have to view a site for 5 seconds to count as a view. After that I added the community tab where you can search users and befriend them. Some of my error highlights: “stripe is not defined”; I forgot to add the API key. Not an error but. I hardcoded the API Keys. Already fixed but still. “Template…… unexpected” I had to delete the database because I added a new velue for it."}, {"post_id": 23753, "ts": "2026-07-06T21:37:45Z", "hours": 1.93, "text": "Libary and buying today I just added a basic libary where you can view the games added to your account and even download them and I overworked the login and register page. Tommorow I’ll begin the payment process when buying a game. For that I will use the sandbox tools of Stripe."}, {"post_id": 23122, "ts": "2026-07-05T21:45:27Z", "hours": 10.1194, "text": "Most Productive day Today was really crazy. I worked for the hole day and made some big progress. Dashboard I first added a dashboard for developers. So you can finally add a game. I used flask (python) for the backend. You can also add screenshots and youtube links or mp.4. On the homepage you can preview the games trailer by hovering over it. Secruity Also editing of the game is only possible if you are the owner of the game. So I had to add a System for User Authorization and hashing for the passwords of course. Luckily Flask did most of it.So its getting checked if you are even a developer. When you are not you dont even get the options shown to publish a game or edit one. Media I also expanded on the media upload . You can now add as many screenshots or videos as you want (Little side note: don’t keep the video upload blank). And the biggest part you can add games now. UI Changes The UI also got a big Overhaul. I have decided to use a comic style for the site. Please Note that the background image at the nav is still AI generated(Even tho I did edit it a bit too get more of a retro style) Also I fixed several error. Mostly just typos that ended up getting the hole site down. Features: I also added new features such as tags, genres, game pages, the developer dashboard, search and an edit page for the games you made."}, {"post_id": 22423, "ts": "2026-07-04T21:40:26Z", "hours": 2.1081, "text": "Interactive Home Screen with Banner Today I began overworking my initial concept from yesterday and I made some progress. The home site now has a background banner with the most important things in the nav. The background Image currently is AI generated but I will make my own in the next few days. I also made the site much more interactive. Everything you see here has an effect when hovering it. But don’t worry I didn’t exaggerate with the effects. For the pulsing Image I used the inbuild keyframes CSS has. I also blurred the text when hovering the image but that may has to be reverted tommorow. I also don’t think that I’l be able to make much more in the next 3 days. But I will try making small changes. I will most likely begin with the backend in the next week at the current pace."}, {"post_id": 21706, "ts": "2026-07-03T20:03:19Z", "hours": 2.1947, "text": "Ideas for the front end Today I only ended up making some bold prototypes for the front end in HTML and CSS. I did have a small error already because of using bootstrap. I always load up the scripts for the HTML and CSS from the Bootstrap site, and that was not a good idea. I ended up searching for an error that didn’t really exist . In the end I found out what was wrong by seeking help from gemini. Nothing else was done with the help of AI as you can see by the bad UX. I didn’t really have time for anything big so thats what I ended up with. I will make it much nicer tomorrow if I have the time to do it."}]...
|
Title: sqush by @Dackel | Stardance
Devlogs:
Idea Title: sqush by @Dackel | Stardance
Devlogs:
Ideas for the front end Today I only ended up making some bold prototypes for the front end in HTML and CSS. I did have a small error already because of using bootstrap. I always load up the scripts for the HTML and CSS from the Bootstrap site, and that was not a good idea. I ended up searching for an error that didn’t really exist . In the end I found out what was wrong by seeking help from gemini. Nothing else was done with the help of AI as you can see by the bad UX. I didn’t really have time for anything big so thats what I ended up with. I will make it much nicer tomorrow if I have the time to do it.
Interactive Home Screen with Banner Today I began overworking my initial concept from yesterday and I made some progress. The home site now has a background banner with the most important things in the nav. The background Image currently is AI generated but I will make my own in the next few days. I also made the site much more interactive. Everything you see here has an effect when hovering it. But don’t worry I didn’t exaggerate with the effects. For the pulsing Image I used the inbuild keyframes CSS has. I also blurred the text when hovering the image but that may has to be reverted tommorow. I also don’t think that I’l be able to make much more in the next 3 days. But I will try making small changes. I will most likely begin with the backend in the next week at the current pace.
Most Productive day Today was really crazy. I worked for the hole day and made some big progress. Dashboard I first added a dashboard for developers. So you can finally add a game. I used flask (python) for the backend. You can also add screenshots and youtube links or mp.4. On the homepage you can preview the games trailer by hovering over it. Secruity Also editing of the game is only possible if you are the owner of the game. So I had to add a System for User Authorization and hashing for the passwords of course. Luckily Flask did most of it.So its getting checked if you are even a developer. When you are not you dont even get the options shown to publish a game or edit one. Media I also expanded on the media upload . You can now add as many screenshots or videos as you want (Little side note: don’t keep the video upload blank). And the biggest part you can add games now. UI Changes The UI also got a big Overhaul. I have decided to use a comic style for the site. Please Note that the background image at the nav is still AI generated(Even tho I did edit it a bit too get more of a retro style) Also I fixed several error. Mostly just typos that ended up getting the hole site down. Features: I also added new features such as tags, genres, game pages, the developer dashboard, search and an edit page for the games you made.
Libary and buying today I just added a basic libary where you can view the games added to your account and even download them and I overworked the login and register page. Tommorow I’ll begin the payment process when buying a game. For that I will use the sandbox tools of Stripe.
added views, befriending, community, paying, user profiles and searching for users So first the biggest: I added paying with Stripe . I only used the sandbox but you could basicially just add your own API Keys in an .env file and youd be able to start. The documentation was really tuff to read through but I made it with the help of a tutorial. After that I added user profiles. I just reused my game backend with the screenshots and so for the avatar. When I was finished with the unique users I started with the view system. For now it’s pretty basic and you just have to view a site for 5 seconds to count as a view. After that I added the community tab where you can search users and befriend them. Some of my error highlights: “stripe is not defined”; I forgot to add the API key. Not an error but. I hardcoded the API Keys. Already fixed but still. “Template…… unexpected” I had to delete the database because I added a new velue for it.
added notifications, countdown for sales, friend request (not just following like yesterday) ,overworked UI aspects and reviews For the notifications I mjust had to add a new route and add it to the front end. The countdown was really hard to figure out for my but it worked out with unix time I searched for an error the entire time just to find out that my countdown was written in white on a white background. The friend request are why I added notifications. Because I wanted to let the user see who sent a request and respond to that. For the new system I had to delete the entire database to make it work. After that I added reviews. You can now give a game a thumbs up or down. The average score will be shown and your text (the review). When finishing that I overworked some of the most Important UI’s and made it much better to look at. Like you see here:
fixed several bugs and commented,optimized the code So today I decided to look through all of my code and look for ways to improve. In the end I made several fixes and I’am satisfied with how it ended up. The reason I did this is because I wanna add many more features tommorow. But yesterday I already noticed that its hard to look through the code and that there were so many issues. Also some on the performance side. I believe that all errors are fixed for now. Here a code snipet:
added reactions to reviews and wishlist so today I already began working on bigger features. It was a bit hard to do all off this but I made it. I just found out today that you can actually migrate databases wth Flask. I always thought I had to delete the hole database and set it up again to make everything work. Also I spent around 4 hours searching for a mistake just to find out that I linked the wrong javascript file. My backend code gets worse every day. I must find a solution for that. Here my new wishlist page and the reactions:
added demos, user badge, blurred email and default picture(penguins of madagascar) overworked login, register, profile, community , game_detail , dashboard and edit game So today I added Demos you can install. I just copied the code of the game upload. I also added a user badge so you can see who is a dev and who is a user. Now youn will also not see your whole email but reade just the first three letters. (That took way too long to do) And I also overworked all of these pages so they have a look that better fits the entire store.
added comments to user profiles I added comments to user profiles. The great thing is you can deactivate the comment tab and delete comments you dont like. It really took super long making this feature. Especially handling the errors. In the end I did make it but I still have to fix some errors tomoorow. Now I’ll go to sleep (:
added stats page I added a stats page for every game a developer has published. You can see the history of how your game has developed. Thats why I’ve worked on the wishlist ,views and purchase features, so I can actually put them on a stats page. Adding the graph was especially hard and also saving the old datapoints was difficult. For example I had used simple Optimization like if its the same data as yesterday there will just be no new datapoint added. So there is a look at the new page::
added revenue tab and new background image So today I added a new metric to the stats page. It was really hard getting it right. Especially in the graph because I didnt wanna use the same axis for the revenue again. I also made the backround image more pixelated so it gets more of a retro look. Tomorrow I’ll begin making something big(I already did some of the work today but yeah)
havent finished anything today So today I began working on something big. But I havent really made any real progress in that. I had to work around so many logic problems. Also over the course of working on this I found out that my code isn’t really optimised for much data. If this code would ever be used with 10.000 games or even more it would most likely crash. But still I will finish the feature tommorow. And also I will start a Demo site in the next days. It would be great if anyone just tested it out. Here a code snippet
Google is not that cool 🤬 So guys like I said I finished it today so thats what I added: Basic Recommendation System So there are the three factors for the Recommendations: Tag taste: users who own a game sharing tags with your library also own the canditate Popularity: how many people in total own the candidate (Thats the least important) Similar library wishlists: users who share games with your library wishlisted the candidate All of that is done in phython, which is very dumb to do if you wanna have thousands of games. (But for that small store its enough) 2fa authentification So for that I have used firebase. For me it was extremly hard configuring this.But I made it. Also I have used a gmail address to send a potential user the verification and email confirmation. And if you dont wanna verify anything you can deactivate it with the checkmark( But please if the demo is online do it(Note: Analytics are activated on firebase )) added google login You can also login in with google. For that I had to use the most irrating API Keys. Really why is Google making it so hard? IMPORTANT: For now your Username will automatically be the name you have on you Google account.
It’s getting somewhere That was a lot less work than in the last days. So what have I added today? overworked Dropdown Menu Beforehands the Dropdown Menu always was a bit behind the page. Now I have fixed it and also it has become much more interactive. overworked Store Search Now the Store search has more options to search for a game. made Settings Page You can now change Important settings on the help tab. For example your Email Adress, your username, or your password. made Page to choose username when logging in with Google You can now choose a username when logging in with google. You couldn’t do that yesterday!
Can’t show real progress because of Oracle. So I have fnished the backend and already had a plan, but Oracle had to ruin the fun. I wanted to host a VirtualMachine on Oracle Servers because I already have experience with them. But after wanting to sign up I was straight up rejected from getting the Server I paid for . They also debited my money twice (Not cool) . So now I have to wait for the support to answer me and give me some of my money back. There is a small snippet of the code:
I’m back So I’m back from my holidays and my stress with Oracle. So I added a new simple feature and also updated some of my secruity checks. So I did test the file scanner on my PC and it turns out to be good enough. It can find malicious files and get them out before even anyone sees them. Also you can now update your game. Currently you can write what you changed but there is no way of seeing what you wrote for now. I will add that tommorow. It will just be a thread of all updates and the newest come out on top.
Added update feed SO today I did end up making an update feed but I still have to fix some frustrating errors. You can view your own games updates these of your friends or the updates of the hole platform. You should also be able to upvote these but I currently have some errors with that.
fixed all the issues of yesterday made new ones(kinda) So I fixed the old issues you can now see the updates page and actual updates. But I began cleaning up some of the js code and I’m still not finished. So now I need to get over 100 more lines of js. Also I need to look over my python code cause well. 1800 lines of code in one file is horrendeus(At least for me) So wish me luck for tommorow!
Fixed the code (again) So like I said yesterday I rewrote the js. So what was the problem? Well yesterday while testing out the Site I found out that the buy button didn’t send a GET request to the backend. So when I looked at the js I first looked confused cause everything seemed to be fine. After some debugging I found out that my new feature somehow collided with the buy button (Don’t ask how) So I fixed it. Here is my totally real payment information, Everything works fine now:
added hackclub auth (or atleast tried) Thats just because of me being a dum dum. You may see whats the mistake. Will have it fixed tommorow.
fixed the hackclub auth So I finally fixed the authentication. So here is a list of all of my mistakes: Used the wrong email field; use identity.primary_emailRequested (I did not need this) use openid emailValidated state even though the callback only returned code (how do I even get to sucessfully code anything) Added duplicate OAuth routes/functions (the dumbest mistake of mine) Left the callback incomplete: no user creation, login, or redirectLogged sensitive access and refresh tokens (name me albstein) Kept Flask debug mode enabled outside local development (hopefully no one saw that) Tommorow I’ll do something. Maybe I’ll even be finished. Cause I dont know what to add anymore. If you have some recommendations just drop them off. thats the list of all current features: User registrationUsername and password login Email verification Resend email verification Email based 2FA 2FA code resend Enable or disable 2FA Change username Change email address Change password Logout Google login Hack Club login First login username setup User profiles Profile pictures Profile comments Delete profile comments Enable or disable profile comments Community page User search Follow users Unfollow users Friend requests Accept friend requests Notifications Unread notification counter Mark notifications as read User roles Developer roles Developer dashboard Create games Edit games Upload game files Upload demo files Upload screenshots Upload images Upload videos Add YouTube videos ZIP game uploads EXE game uploads Optional ClamAV malware scanning Game updates Version labels Patch notes Update history Update comments Update upvotes Update downvotes Update view counts Follow games Game update notifications Store page Genre grouping Game tags Tag filter data Game details Game descriptions Game screenshots Game videos Game view counter Positive/negative ratings Written reviews Edit reviews Helpful review votes Funny review votes Review scoring Wishlist Add to wishlist Remove from wishlist Personal game library Purchases Duplicate purchase prevention Buy page Stripe Checkout Payment success page Sales Discounts Sale end dates Automatic sale expiration Price calculation Developer revenue page Revenue per game Sales count per game Game analytics Daily view statistics Daily wishlist statistics Daily purchase statistics Daily revenue statistics Personalized game recommendations(Yeah thats real) Popular game recommendations SQLite database SQLAlchemy ORMDatabase migrations SMTP email support Firebase configuration Stripe configuration Hack Club OAuth configuration Environment variable secret configuration Please drop some recommendatins🥲
added Account Linking/fixed Hackclub auth (again) So now its getting rememberd if you also have a password and not only auth with google or hackclub. Also in the database there is a completly new columm for the hackclub ID. Backend:hackclub_callback() now also checks for Login/register or Link Modus. google_login() now accepts link mode.There are two new routes for unlinking google and hackclub. And last but not least. There is also a secruity check. The last used login methoid cant be deleted.
added Rate Limits Unfourtanetly I can’t push the code right now cause of github having problems with their API. So but it did take very long cause im Albert himself. So first I tried hardcoding Rate Limits with timers and stuff like that and I very much had very dumb ways to deal with it. Then I found out that Flask actually has a own Libary just for Limits. So after failing doing it my own way I just sticked with that.
added Refund Handling (firs code) So I added Refund Handling for my Store. Unfourtanely I could’t finish it but I did get to finish the frontend. So what did I do. I updated the library page so its now easier to see that you can actually refund the game and how long you have until its not possible anymore. For the backend I currently have some problems with the real refund. You cant really get the money back because of how the buying of a game currently works. Especially automated refunding would be extremly hard in the current system.
fixed the backend So you can now buy games and should get the monopoly money back when refunding it. But if I wanted to make it for a real system I would have to save the payment_tenent_id which I cxurrently don’t. But that should be a easy fix.So it should work like in that cool drawing I made.
added backend for bundles Here a little code snippet. HTML will be finished tommorow. I hope
fixed backend added first HTML Page with bundles It willl look better tommorow (I PROMISE) But for now it looks like that. I also fixed the backend code so now you should actually be able to buy bundles. It will look more like the dev dashboard tommorow I just used the store.html as template.
updated my super dubba design So yeah it should look good now. see for yourself
fixed that fricking page(couldn’t buy something before) Yeah I just made a completly new route for buying bundles and also a completly new HTML page. For some reason I always find a way to make something extremly complicated
added cart system So for today I added a new cart system. I know I’ve done more than epic. You can now get games into your cart and buy them later. You will also get a warning if a game is cheaper in a bundle.HTML will be fixed tommorow
added honeypot and fixed this horrendeus cart UI So yeah I fixed the UI I had yesterday to make it look more like everything else on the store.
added library collections (tried) Yeah so I did get to add a good UI but currently it does not work to add a collection. I will have it fixed tommorow. Most likely a minor mistae breaking everything.
Fixed it ☺️ So now it’s totally possible to make new collections. No errors anymore. Also I fixed some more bugs. And tommorow I will begin cleaning up some of the code.
added gifting system and failed miserably (again) Yea I promised to make the code cleaner today. But I found out that doing that is boring. Thats why I added more features. Now I’m paying for it by having new errors pop up every few minutes. If I’d like to just feel some progress at cleaning this mess up I had to do it in small steps. (cause I ain’t fixing 3000 lines in one day) So tommorow I’ll at least try getting the first 1000 lines cleaned up again
fixed the gifting system (and beginning to clean up that code) So i fixed the gifting system and I also began my work on cleaning up all of this. And as you see it doesnt look beautyfull right now if someone gifts you something but I’ll make it better.
cleaned up all of the backend code So yeah I’ve done it! I cleaned up all of the code and now its much easier to get through all. It’s so much better now.
added profile badges It’s hard getting the badges right. Cause currently I’m only using Plain HTML and CSS for these badges. And I added the js to the HTML files. Thats much cleaner then in a seperate js file.
added Readme and fixed some visual bugs Yesterday the UI looked a bit off. Especially at the unlocking of the badges. It’s now looking good.
added messaging , updated UI Now users can message devlopers and other ussers. They can also include game Links and Update Links so you can discuss games.
added tip jar, fixed some UI bugs So now you can tip the game devs and they can see it on their dashboard and on the game detail page. You can also add a message to your donation. And I fixed the message button that hid under the profiles in the community tab.
fixed optimization and UI errors (and not ill anymore) So i fixed many Issues regarding the performance of the website Performance (Optimization) videos don’t get loaded instantly anymore (180ms cooldown) Search is done in memmory atribut caches and requestAnimationFrame. all countdown intervalls have been put into one. background image is done locally instead of GitHub Offscreen Cards now use content-visibility:auto. Database and Queries: SQLite changed to 64MB Cahe. made 10 indizes for Foreign Keys/Filter. Even the translator doesn’t wanna tell me what this means in English. You have to find out yourself. UI and Interaction errors js doesnt crash when pressing a button without being logged in (don’t ask how that happend) guest cart can now delete a game from their carts. when checking out and not being logged in you get forwarded to login. Didn’t actually happen before. Wishlist and card buttons now syncronize when a game is there two times or even more on the front page. It pissed me off before. collection badge gets added after animation. Thats all I wanna write for today
added roadmap So there is the list of what I have done: Public Roadmaps and Feature Voting the roadmaap can have the status (Planned/In Progress/Done) and the Types (Feature/Bug/Improvment) the dev can Drag and Drop the items into the status it is in and also mdelete it. Users can comment and upvote those Items Redesign of Game Detail site Its not 9 Buttons in one row anymore It’s seperatd into two sections. updated the sale section And I also added Unit Tests.
added dev cut and reworked Background Image I also added test Data. Thats entirely made by AI except some covers that were made by me. Cause I ain’t interactng thousands of times with my own platform. Also which background banner would you like more?
looked for errors and started website Today I overlooked the site one last time and fixed secruity issues and others. I fixed Email service added an option to change the background Image of the score and made my testdata a bit more secure (had my real emails in there before). I used AI for much of the progress cause it was my first time starting a server (see commits). I ran into many issues while setting everything up.
Didn’t know that I could format it at the shipment so there is the text again formatted. Also I fixed a little download error ( The Site didn’t have the test files in the folder) Sqush is an indie game store with a comic 90s look. You can add games as a dev or use the platform as a normal user. You can interact with others message them and earn badges. And of course you can download games. Issues: The backend was one of the hardest things I have ever done. I had to fix so many errors along the way (see devlogs). One time I forgot to initialise a value the other time my complete logic was bullax. Sometimes I even pushed code without proper testing. It did not turn out well. And then there was how I organized the code first. It was messy and hard to read. Implementing something new could take ages because of the code not being easy enough to read through. Also some platforms just hated me for no reason and made it harder for me to add something new. The good side: On the other hand it was extremly refreshing to try something new and fail misrebaly at it. I can now propely set up automatic emailing systems use payment services like Stripe, make automatic file scanners, hash password, make upload systems that will hopefully not fail after 1000 game uploads, even learnt a bit of drawing (name me Picasso) ,migrate databases (couldn’t actually do it before. Even tho its easy) and set up servers for the site ( even if I did use AI for that last part). What I didn’t do: My plan was actually to put up a real game on this platform and actually test it. But school is starting now and I don’t know if there is still enough time for it (Cause I signed up for something big). Stress Test it to your’e liking but PLEASE dont upload thousands of 2 GB files cause that costs money. This name is peak btw. I don’t accept other opinions. And for testing: Dev-Login: developer / test | Stripe Testcard: 4242 4242 4242 4242 (Exp: 12/34, CVC: 123, Zip: 12345) The full Feature List is on the Readme on git.
added Inventory, Card drops You can now get cards dropped by buying or reviewing games. There are 4 rarities you can get and you can also just test pull these (so you can try it out yourself). Also because of this new feature I found a Issue with the notification system I am gonna fix. You can also trade these card with others through the chat or the trade tab. And you can also forge cards together if you have to many duplicates. Because of this new feature I also found a issue with the notification system, Hopefully have it fixed tommorow.
added moderation Now I have an AI model that constantly scans new messages and searches for inappropriate content. If the AI finds such content the person that wrote it will be banned and every single message the user wrote will be checked for issues. Oh I forgot to mention that Copilot fixed some critical secruity vulnerabilitys for me. The user that got banned will also be put on the Wall of Shame where there is a record of every single banned Account ever on the Platform. Developers of games can also always search for not so cool content. And of course Admins can manually ban accounts. (Yeah your private messages are also getting scanned)
Ships:
Sqush is an indie game store with a comic 90s look. You can add games as a dev or use the platform as a normal user. You can interact with others message them and earn badges. And of course you can download games. The backend was one of the hardest things I have ever done. I had to fix so many errors along the way (see devlogs). One time I forgot to initialise a value the other time my complete logic was bullax. Sometimes I even pushed code without proper testing. It did not turn out well. And then there was how I organized the code first. It was messy and hard to read. Implementing something new could take ages because of the code not being easy enough to read through. Also some platforms just hated me for no reason and made it harder for me to add something new. On the other hand it was extremly refreshing to try something new and fail misrebaly at it. I can now propely set up automatic emailing systems use payment services like Stripe, make automatic file scanners, hash password, make upload systems that will hopefully not fail after 1000 game uploads, even learnt a bit of drawing (name me Picasso) ,migrate databases (couldn’t actually do it before. Even tho its easy) and set up servers for the site ( even if I did use AI for that last part). My plan was actually to put up a real game on this platform and actually test it. But school is starting now and I don’t know if there is still enough time for it (Cause I signed up for something big). Stress Test it to your’e liking but PLEASE dont upload thousands of 2 GB files cause that costs money. This name is peak btw. I don’t accept other opinions. And for testing: Dev-Login: developer / test | Stripe Testcard: 4242 4242 4242 4242 (Exp: 12/34, CVC: 123, Zip: 12345) The full Feature List is on the Readme on git....
|
1792878701.8847983
|
1793742701.8847983
|
|
44484
|
Card-Arcade by @MrKnowledge | Stardance
|
MrKnowledge
|
0
|
46.56
|
0
|
[]
|
[{"post_id": 66217, "ts": "202 [{"post_id": 66217, "ts": "2026-09-11T22:01:41Z", "hours": 9.8403, "text": "Poker Logic HandRanks I added the evaluation algorithms to check what hand every player has. WebSocket Finally I added the websocket. It still has only its ground features, but I’ll port all of the game functions that I wrote already in the static server to the websocket. NewCards I previously handled the cards as Strings and got the rank/suit through charAt(int) but that is not clean and breaks for eg. 10S. I changed it to two enums and the record Card."}, {"post_id": 59043, "ts": "2026-08-31T17:04:16Z", "hours": 9.8775, "text": "Nothing big but still a lot Expanding Game and Player In the last devlog I started with Spring and just added these classes. Now those classes have a lot of additional functions to make them work for poker some of the game functions will move later to the websocket. Although they had a big upgrade they are not complete. The Game class is still only for poker, when I’m done with poker I’ll try to seperate them for a cleaner structure. Something you can see The frontend has now the ability to load and render the players with all of their data(chips, Name) to the correct spot. This is one of the functions that will later be present in the websocket but for now are just an endpoint in the server. Cookies, yum so tasty I created my first cookie, to store the playerUUID. Cookie are for the game very Important so I dont have to store these things in the js frontend, but I a storage that was designed for these things."}, {"post_id": 48443, "ts": "2026-08-16T19:50:29Z", "hours": 12.7128, "text": "Time for a new Backend Because the backend I had felt like to basic stuff that a framework could do much better I started using Spring framework. It reduced so much work and improved my code by a lot. So I deleted my manual written server code and went for the framework. And it was a great decision. Spring It is a great framework that makes adding endpoints very easy. And using the RestControllers as well as normal Controllers make communication a lot easier via JSON. And the overall structure is supported by the good structuring of the generated template. Logic I created the classes Game, Poker and Player but I’m not sure for the final server/game structure jet Frontend To test the backend you need of course a corresponding frontend. I added an start page to enter your name, create and join an game. I also added a function that takes a value and turns in into chip stacks. Next is the websocket to run the actual poker game along with the frontend running this"}, {"post_id": 44062, "ts": "2026-08-09T16:08:19Z", "hours": 1.7569, "text": "Backend time. To give the game a function and not to be just some unfinished design I wrote an Java HTML Server that will replace my live preview local webserver. At the moment the server is just loading the website poker.html and all of the textures. but because of my file structure the fileHandler didn’t wanted to work with 3 Roots but eventually I got it to work. I wrote this server with help of an ai assisted version of an html server from an previous private project. Next I will add the functionality to create new games (for new games the frontend of this will come later) and to load such an game"}, {"post_id": 43434, "ts": "2026-08-08T17:48:54Z", "hours": 2.5153, "text": "The front end is visually done. In the center is the playing table with the pot and community cards and on the bottom you got 4 buttons to Raise Call Fold and Check. Now I will continue with the Code for the room generation in both frontend and backend."}, {"post_id": 42941, "ts": "2026-08-07T22:37:09Z", "hours": 9.8525, "text": "Hi this is the first post of my project where I recreate some card games. The first I chose to do is poker Texas Hold’Em. In this first post I present you the design for a player but there is unfortunately just the design by now I spend to much time on this. I made too many small adjustments and also changed the unit of the chips and cards that took so much time to finally make them appear in the right way it. the pattern reminds a little of honeycombs. The next steps are to add buttons and the positioning of the community cards and the chips in the pot. Additionally I need to add the positioning of the players when playing with 2-8 players (oh and maybe also a portrait mode for phones)"}]...
|
Title: Card-Arcade by @MrKnowledge | Stardance
De Title: Card-Arcade by @MrKnowledge | Stardance
Devlogs:
Hi this is the first post of my project where I recreate some card games. The first I chose to do is poker Texas Hold’Em. In this first post I present you the design for a player but there is unfortunately just the design by now I spend to much time on this. I made too many small adjustments and also changed the unit of the chips and cards that took so much time to finally make them appear in the right way it. the pattern reminds a little of honeycombs. The next steps are to add buttons and the positioning of the community cards and the chips in the pot. Additionally I need to add the positioning of the players when playing with 2-8 players (oh and maybe also a portrait mode for phones)
The front end is visually done. In the center is the playing table with the pot and community cards and on the bottom you got 4 buttons to Raise Call Fold and Check. Now I will continue with the Code for the room generation in both frontend and backend.
Backend time. To give the game a function and not to be just some unfinished design I wrote an Java HTML Server that will replace my live preview local webserver. At the moment the server is just loading the website poker.html and all of the textures. but because of my file structure the fileHandler didn’t wanted to work with 3 Roots but eventually I got it to work. I wrote this server with help of an ai assisted version of an html server from an previous private project. Next I will add the functionality to create new games (for new games the frontend of this will come later) and to load such an game
Time for a new Backend Because the backend I had felt like to basic stuff that a framework could do much better I started using Spring framework. It reduced so much work and improved my code by a lot. So I deleted my manual written server code and went for the framework. And it was a great decision. Spring It is a great framework that makes adding endpoints very easy. And using the RestControllers as well as normal Controllers make communication a lot easier via JSON. And the overall structure is supported by the good structuring of the generated template. Logic I created the classes Game, Poker and Player but I’m not sure for the final server/game structure jet Frontend To test the backend you need of course a corresponding frontend. I added an start page to enter your name, create and join an game. I also added a function that takes a value and turns in into chip stacks. Next is the websocket to run the actual poker game along with the frontend running this
Nothing big but still a lot Expanding Game and Player In the last devlog I started with Spring and just added these classes. Now those classes have a lot of additional functions to make them work for poker some of the game functions will move later to the websocket. Although they had a big upgrade they are not complete. The Game class is still only for poker, when I’m done with poker I’ll try to seperate them for a cleaner structure. Something you can see The frontend has now the ability to load and render the players with all of their data(chips, Name) to the correct spot. This is one of the functions that will later be present in the websocket but for now are just an endpoint in the server. Cookies, yum so tasty I created my first cookie, to store the playerUUID. Cookie are for the game very Important so I dont have to store these things in the js frontend, but I a storage that was designed for these things.
Poker Logic HandRanks I added the evaluation algorithms to check what hand every player has. WebSocket Finally I added the websocket. It still has only its ground features, but I’ll port all of the game functions that I wrote already in the static server to the websocket. NewCards I previously handled the cards as Strings and got the rank/suit through charAt(int) but that is not clean and breaks for eg. 10S. I changed it to two enums and the record Card....
|
1793278052.5092266
|
1793882852.5092266
|
|
57274
|
Chronotameion by @Ayin | Stardance
|
Ayin
|
0
|
8.75
|
0
|
[]
|
[{"post_id": 66231, "ts": "202 [{"post_id": 66231, "ts": "2026-09-11T22:39:04Z", "hours": 8.7539, "text": "Added a gun lil style meter, it generates points randomly around a line that represents your actual style points, and stays self contained within the box."}]...
|
Title: Chronotameion by @Ayin | Stardance
Devlogs Title: Chronotameion by @Ayin | Stardance
Devlogs:
Added a gun lil style meter, it generates points randomly around a line that represents your actual style points, and stays self contained within the box....
|
1793426081.783387
|
1794030881.783387
|
|
10499
|
CHRONOTAMEION by @dylz | Stardance
|
dylz
|
0
|
73.75
|
0
|
[]
|
[{"post_id": 66238, "ts": "202 [{"post_id": 66238, "ts": "2026-09-11T22:56:31Z", "hours": 11.9531, "text": "game Most of the time here has been transferring stuff over to be honest and a lot less of actual coding, but turns out the editor needed some pretty major changes (yeah i know i just made it lol) anyways below is a screenshot of what i’ve been starting to do"}, {"post_id": 31632, "ts": "2026-07-20T05:58:38Z", "hours": 12.22, "text": "THE EDITOR admittedly this was done a couple of days ago i lowk forgor ANYWAYS now we have a level editor yippee!! I’m very happy with it, all you have to do is decorate a property in a class with ExportAttribute and badabing badaboom it’ll appear in the editor! There’s still a lot more work to be done, I had my friend review the code and there are a good amount of changes I need to make, but honestly I think the base I’ve made for myself is shockingly good, I’m very content! The images below should illustrate how it all works, it’s 11pm, I’m going to bed. Oh also, there might not be a devlog on this project for a while – GMTK is coming up and I’m gonna be spending a crap ton of time on that and you can bet your bottom dollar I’m getting hours and devlogs from that. That begins on wednesday, take a look at those devlogs if you’re interested :)"}, {"post_id": 29329, "ts": "2026-07-16T06:13:17Z", "hours": 6.1492, "text": "Daily Devlog 7/15/26 - UI… i guess I added a bunch of UI components behind the scenes and more work on the editor. Didn’t get as much time to work today as I’d hoped but I do actually have something to show (even if it is just a textbox lol)"}, {"post_id": 28726, "ts": "2026-07-15T05:07:04Z", "hours": 2.8992, "text": "Daily Devlog 7/14/26 – Even MORE editor stuff + training Alright, today was definitely less productive than yesterday, but I still got a good amount of stuff done. First of all, the Editor code is very close to being finished! I refactored basically all of it and I’m really proud of how it turned out; genuinely some of the cleanest large-scale code I’ve written basically ever. Very happy with that! Tomorrow, I’ll actually have something to show for all of it 100%; cannot wait for that! Second of all, I’ve been teaching my friend C#, raylib, and how to work with/contribute to the codebase! I’m not a great teacher so I can’t say it’s the smoothest thing, but progress is no doubt being made. Hopefully once he’s all caught up, we’ll be able to make this game 2x faster than before. That’s all, see y’all tommorow! see below the Read/Write functions for the EntityMap (the entities) of the level (at least a high-level abstraction of them ig)"}, {"post_id": 28112, "ts": "2026-07-14T05:32:35Z", "hours": 7.1333, "text": "Daily Devlog 7/13/26 – More editor stuff Alright, today there really isn’t anything much to add. I will say, C# source (ok actually incremental but you get what i mean) generators are very cool. That’s what I’ve been using to avoid reflection when making classes acessable, editable, loadable and saveable in the editor and it’s been great. 1000% recommend over reflection any day of the week unless you definitely don’t need the like 100x performance gains. Anyways, hopefully tomorrow I’ll be able to actually finish up an early version of the editor and show y’all what it actually looks like! See you all then :) see below – lambdas, discards, syntax trees, LINQ, and pattern matching all in one function call. doesn’t get more C# than this."}, {"post_id": 26206, "ts": "2026-07-10T21:18:51Z", "hours": 14.6358, "text": "Sprite packing, teaching, etc. Honestly, everything I did is still backend, so nothing super interesting to report on. Lots of the hours here was teaching my friend proficiency with C# and general gamedev/SWE practices, but I still do have some stuff to share! I have an irrational hatred of dictionaries. So, while a normal human might be inclined to create a Dict<string, Sprite>, I made a whole seperate project that packs sprites into a texture atlas and makes a slightly absurd amount of properties so you can statically access every one! Honestly, it works very well and makes sprites super easy to use – I know manually writing out a .cs file is a little odd, but hey, if it works it works. Side note, I switched to linux! After windows decided to randomly lock me out of my laptop for an hour because it “detected odd activity”, I decided to finally bite the bullet and just install Linux. And it’s been pretty good! Honestly, everything is very tranferable from Windows, at least for a programmer, it’s a shockingly easy switch. Also it’s fun using the terminal more often and feeling like a hacker lol. Currently running Fedora w/ KDE Plasma for anyone who’s curious, although I think I’m going to switch to either Arch or Debian, I’m not super content with the dnf package manager or Red hat, altho I will say KDE Plasma is great. Alright, I’m going to wrap this up early(ish) b/c I still have a days of coding ahead of me (I just realized that it stops counting after 10hrs) Oh last thing – I’m going to start doing daily devlogs to track my progress a bit more accurately as me and my friend start to lock in more. Look forward to seeing you guys later today then!"}, {"post_id": 19693, "ts": "2026-07-01T02:38:23Z", "hours": 18.2056, "text": "Devlog 1 - Level Editor, Collision, Sprite Management and more!!!! (god that’s a lot of hours i hope most of it was afk) Alright, it’s been a while since my first devlog but for good reason! I’ve done a metric ton of stuff since then, literally none of which you will actually see as a player! Anyways, I’ll split this up into sections as usual. Level Editor Alright, this obviously comes pre-packaged with tilemap & tileset loading, file saving, compression, ids, and all of that, but I’ll try to just focus on the interesting things – firstly, my Autotiling system! Because most of the walls in my (top down) game are going to be quite simple, I’ve decided to go with a 16-piece tileset for most of them. Basically, there are 16 different tiles representing what each tile looks like depending on what’s around it – one for having one filled tile to the north only, another for having a tile to the south and east. These tiles can be uniquely represented by essentially assigning a binary flag to each of the four cardinal directions – North -> 1, East -> 2, South -> 4, etc. Now normally, you’d use a table, maybe a switch case, to match these up with their respective tiles… but I’m lazy and didn’t want to code all of that. Instead, I just decided to force the tile set to be in order so the id mathematically correlates directly to the tile’s position in the tileset! To visualize this, look at the (row-major) ordered tileset image I’ve included. The first 8x8 square is 0 – no filled tiles around it, the second is 1 – representing the tile to the north being filled… you can check this for every one, it all works out. Collision Ok, this one’s a lot more simple. The tilemap is stored in the code fundamentally as a grid of ids – 0 = air, anything else means full. To check if a player is colliding with one of these tiles, we just see what grid tiles the player would be colliding with, calculate the grid positions of those places from the world positions, and if those places are full we have a collision! There’s a bit more to it than that because you have to actually handle the collision afterwards but that’s the gist. Sprite Management Ok, this one’s pretty simple. At first, I was thinking of assigning each sprite in my game a UUID. But then I realized I wouldn’t using the first U (they don’t need to be universally unique), and sequential would be better, so now I have a sequentially id’d way to get sprites, woohoo. I still have to hook it up to some automation (it would NOT be fun to manually add a new id constant for every sprite in the future), but the core is done. Alright, I omitted a lot of stuff but I’ve already spent an unusually high amount of effort writing this, so I’ll stop there. Next devlog will hopefully be a lot smaller – refining the tilemap system and adding entities to the editor so I can add props and whatnot. See you all on the other side!"}, {"post_id": 13943, "ts": "2026-06-22T21:47:58Z", "hours": 0.5517, "text": "Devlog 0 – Movement, Occlusion, Debug Console, etc. hey y’all, thanks for checking out my devlog! In case you’re wondering why this is titled “Devlog 0” and not “Devlog 1”, it’s because everything in this devlog is actually just rehashed from some random testing I did a while back for a game I never ended up developing further. Anyways, I’ll go over the three main parts. Bear in mind, a lot of the work in this build is backend and the end result looks like I made it in 10 minutes, but I promise there’s a lot going on behind the scenes! 1. Occlusion Pretty simple, just drawing a shadowed area where the player won’t be able to see. 2. Debug Console So this is definitely one of the things that I did not code right now. A while back I made this really handy debug console thingamajig and I figured I’d show it off here. The system was originally made in Monogame, and I coded a whole text input system just for the debug console lol. This project is in Raylib C# but they’re similar enough that I just ported the code over. 3. other random info ok i kind of realized that I haven’t really explained what this project is about. To be honest I’m not quite sure – I’m going off the vague idea of a top-down heisting game (like Payday 2 or Entry Point on Roblox), but obviously I’ll have to see what’s fun. Right now I’m going to start working on guns, a level editor, and enemies. After that’s done, I’ll hopefully have a more concrete idea of what I want to make. ok that’s it thanks for reading bybye"}]...
|
Title: CHRONOTAMEION by @dylz | Stardance
Devlogs Title: CHRONOTAMEION by @dylz | Stardance
Devlogs:
Devlog 0 – Movement, Occlusion, Debug Console, etc. hey y’all, thanks for checking out my devlog! In case you’re wondering why this is titled “Devlog 0” and not “Devlog 1”, it’s because everything in this devlog is actually just rehashed from some random testing I did a while back for a game I never ended up developing further. Anyways, I’ll go over the three main parts. Bear in mind, a lot of the work in this build is backend and the end result looks like I made it in 10 minutes, but I promise there’s a lot going on behind the scenes! 1. Occlusion Pretty simple, just drawing a shadowed area where the player won’t be able to see. 2. Debug Console So this is definitely one of the things that I did not code right now. A while back I made this really handy debug console thingamajig and I figured I’d show it off here. The system was originally made in Monogame, and I coded a whole text input system just for the debug console lol. This project is in Raylib C# but they’re similar enough that I just ported the code over. 3. other random info ok i kind of realized that I haven’t really explained what this project is about. To be honest I’m not quite sure – I’m going off the vague idea of a top-down heisting game (like Payday 2 or Entry Point on Roblox), but obviously I’ll have to see what’s fun. Right now I’m going to start working on guns, a level editor, and enemies. After that’s done, I’ll hopefully have a more concrete idea of what I want to make. ok that’s it thanks for reading bybye
Devlog 1 - Level Editor, Collision, Sprite Management and more!!!! (god that’s a lot of hours i hope most of it was afk) Alright, it’s been a while since my first devlog but for good reason! I’ve done a metric ton of stuff since then, literally none of which you will actually see as a player! Anyways, I’ll split this up into sections as usual. Level Editor Alright, this obviously comes pre-packaged with tilemap & tileset loading, file saving, compression, ids, and all of that, but I’ll try to just focus on the interesting things – firstly, my Autotiling system! Because most of the walls in my (top down) game are going to be quite simple, I’ve decided to go with a 16-piece tileset for most of them. Basically, there are 16 different tiles representing what each tile looks like depending on what’s around it – one for having one filled tile to the north only, another for having a tile to the south and east. These tiles can be uniquely represented by essentially assigning a binary flag to each of the four cardinal directions – North -> 1, East -> 2, South -> 4, etc. Now normally, you’d use a table, maybe a switch case, to match these up with their respective tiles… but I’m lazy and didn’t want to code all of that. Instead, I just decided to force the tile set to be in order so the id mathematically correlates directly to the tile’s position in the tileset! To visualize this, look at the (row-major) ordered tileset image I’ve included. The first 8x8 square is 0 – no filled tiles around it, the second is 1 – representing the tile to the north being filled… you can check this for every one, it all works out. Collision Ok, this one’s a lot more simple. The tilemap is stored in the code fundamentally as a grid of ids – 0 = air, anything else means full. To check if a player is colliding with one of these tiles, we just see what grid tiles the player would be colliding with, calculate the grid positions of those places from the world positions, and if those places are full we have a collision! There’s a bit more to it than that because you have to actually handle the collision afterwards but that’s the gist. Sprite Management Ok, this one’s pretty simple. At first, I was thinking of assigning each sprite in my game a UUID. But then I realized I wouldn’t using the first U (they don’t need to be universally unique), and sequential would be better, so now I have a sequentially id’d way to get sprites, woohoo. I still have to hook it up to some automation (it would NOT be fun to manually add a new id constant for every sprite in the future), but the core is done. Alright, I omitted a lot of stuff but I’ve already spent an unusually high amount of effort writing this, so I’ll stop there. Next devlog will hopefully be a lot smaller – refining the tilemap system and adding entities to the editor so I can add props and whatnot. See you all on the other side!
Sprite packing, teaching, etc. Honestly, everything I did is still backend, so nothing super interesting to report on. Lots of the hours here was teaching my friend proficiency with C# and general gamedev/SWE practices, but I still do have some stuff to share! I have an irrational hatred of dictionaries. So, while a normal human might be inclined to create a Dict<string, Sprite>, I made a whole seperate project that packs sprites into a texture atlas and makes a slightly absurd amount of properties so you can statically access every one! Honestly, it works very well and makes sprites super easy to use – I know manually writing out a .cs file is a little odd, but hey, if it works it works. Side note, I switched to linux! After windows decided to randomly lock me out of my laptop for an hour because it “detected odd activity”, I decided to finally bite the bullet and just install Linux. And it’s been pretty good! Honestly, everything is very tranferable from Windows, at least for a programmer, it’s a shockingly easy switch. Also it’s fun using the terminal more often and feeling like a hacker lol. Currently running Fedora w/ KDE Plasma for anyone who’s curious, although I think I’m going to switch to either Arch or Debian, I’m not super content with the dnf package manager or Red hat, altho I will say KDE Plasma is great. Alright, I’m going to wrap this up early(ish) b/c I still have a days of coding ahead of me (I just realized that it stops counting after 10hrs) Oh last thing – I’m going to start doing daily devlogs to track my progress a bit more accurately as me and my friend start to lock in more. Look forward to seeing you guys later today then!
Daily Devlog 7/13/26 – More editor stuff Alright, today there really isn’t anything much to add. I will say, C# source (ok actually incremental but you get what i mean) generators are very cool. That’s what I’ve been using to avoid reflection when making classes acessable, editable, loadable and saveable in the editor and it’s been great. 1000% recommend over reflection any day of the week unless you definitely don’t need the like 100x performance gains. Anyways, hopefully tomorrow I’ll be able to actually finish up an early version of the editor and show y’all what it actually looks like! See you all then :) see below – lambdas, discards, syntax trees, LINQ, and pattern matching all in one function call. doesn’t get more C# than this.
Daily Devlog 7/14/26 – Even MORE editor stuff + training Alright, today was definitely less productive than yesterday, but I still got a good amount of stuff done. First of all, the Editor code is very close to being finished! I refactored basically all of it and I’m really proud of how it turned out; genuinely some of the cleanest large-scale code I’ve written basically ever. Very happy with that! Tomorrow, I’ll actually have something to show for all of it 100%; cannot wait for that! Second of all, I’ve been teaching my friend C#, raylib, and how to work with/contribute to the codebase! I’m not a great teacher so I can’t say it’s the smoothest thing, but progress is no doubt being made. Hopefully once he’s all caught up, we’ll be able to make this game 2x faster than before. That’s all, see y’all tommorow! see below the Read/Write functions for the EntityMap (the entities) of the level (at least a high-level abstraction of them ig)
Daily Devlog 7/15/26 - UI… i guess I added a bunch of UI components behind the scenes and more work on the editor. Didn’t get as much time to work today as I’d hoped but I do actually have something to show (even if it is just a textbox lol)
THE EDITOR admittedly this was done a couple of days ago i lowk forgor ANYWAYS now we have a level editor yippee!! I’m very happy with it, all you have to do is decorate a property in a class with ExportAttribute and badabing badaboom it’ll appear in the editor! There’s still a lot more work to be done, I had my friend review the code and there are a good amount of changes I need to make, but honestly I think the base I’ve made for myself is shockingly good, I’m very content! The images below should illustrate how it all works, it’s 11pm, I’m going to bed. Oh also, there might not be a devlog on this project for a while – GMTK is coming up and I’m gonna be spending a crap ton of time on that and you can bet your bottom dollar I’m getting hours and devlogs from that. That begins on wednesday, take a look at those devlogs if you’re interested :)
game Most of the time here has been transferring stuff over to be honest and a lot less of actual coding, but turns out the editor needed some pretty major changes (yeah i know i just made it lol) anyways below is a screenshot of what i’ve been starting to do...
|
1793188386.4245977
|
1793793186.4245977
|
|
41970
|
Speak Tachl7it by @Houad | Stardance
|
Houad
|
1
|
11.0
|
112
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T23:33:39Z", "hours": 11.0, "multiplier": 11.24, "payout": 112, "blessing": "neutral", "text": "A website that translate numbers for a 4,000-year-old language using python. I realized that numbers from 1 to 1M has the same words but in different positions so i made an algorithm using maths rules to change the number into a corresponding name in the language", "repo": "https://github.com/xtrawalo/Speak-Tachl7it", "demo": "https://speak-tachl7it.up.railway.app/"}]...
|
[{"post_id": 66246, "ts": "202 [{"post_id": 66246, "ts": "2026-09-11T23:28:44Z", "hours": 11.3511, "text": "Hi! I just finished my first translator website. I tried to make something using my mother tongue which is a very old language and I thought it would be cool. Check out the website and try speaking a 4000 year old language ( numbers only )"}]...
|
Title: Speak Tachl7it by @Houad | Stardance
Devlo Title: Speak Tachl7it by @Houad | Stardance
Devlogs:
Hi! I just finished my first translator website. I tried to make something using my mother tongue which is a very old language and I thought it would be cool. Check out the website and try speaking a 4000 year old language ( numbers only )
Ships:
A website that translate numbers for a 4,000-year-old language using python. I realized that numbers from 1 to 1M has the same words but in different positions so i made an algorithm using maths rules to change the number into a corresponding name in the language...
|
1793336027.5807898
|
1793422427.5807898
|
|
54000
|
starlit stories (⌒▽⌒)☆ by @rinimee | Stardance
|
rinimee
|
1
|
7.29
|
97
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T01:03:13Z", "hours": 6.0, "multiplier": 15.68, "payout": 97, "blessing": "neutral", "text": "Starlit Stories is a AI-Chat platform designed for writers and authors who are struggling with writing plot elements and forming their story. Starry, the chatbot, doesn’t write the story for you, but helps you write the story, which is something that many people are looking forward to in the creative industry! Something that was challenging for me included working with JavaScript: I ran into a lot of errors but I ended up getting loads of help from reliable sources and real-life people to complete it! I am really proud of this concept and the project output: this was the first time I 100% designed my own content and it looks really amazing! All of the information in how to use the website is located on the website’s Github repository in its READme. Thank you for checking out my website!", "repo": "https://github.com/rinimee/starlitstories", "demo": "https://starlitstories-pi.vercel.app/"}]...
|
[{"post_id": 66247, "ts": "202 [{"post_id": 66247, "ts": "2026-09-11T23:29:06Z", "hours": 0.3139, "text": "**quick update ** Woah I just figured out about these emojis…anyway I have to reship because Render projects do not work! I switched it to Vercel so hoping for the best! It didn’t take long to deploy either! I don’t have much to drop into the screenshot section so here’s a free Ryder for you (I really like this drawing). Ok rinimee out"}, {"post_id": 65688, "ts": "2026-09-11T00:38:00Z", "hours": 0.9764, "text": "I LOWKENUINLY CRASHED OUT OH MY GOD You thought I was done? Yeah, yeah no. Apparently, GitHub wants to be a really annoying doodoo-head and wont accept Flask, which is the way I run my Google Gemini for my website. I had to look for another hostname, for like 3 separate times and finally landed on Render! After that, my bot kept on NOT connecting to the backend, which was a whole other dilemma. I made like 10 commits in this hour. It was not fun. Finally, Starry stopped passing out! She works now, phew! Also, I made the font less of an eyesore! Here’s how it looks now!"}, {"post_id": 65116, "ts": "2026-09-10T00:57:13Z", "hours": 0.2508, "text": "Completely Done! So…I know I said I was done, but after fixing a cache issue because apparently Github Pages is case sensitive and everything, starlit stories is up and running! I’m making this devlog just to tell you guys that. Yep. Insert sigh. Anyway, check out my project guys!"}, {"post_id": 65074, "ts": "2026-09-09T22:49:23Z", "hours": 0.3697, "text": "Really short but…she’s complete! After some CSS and some backend fixing (an error that the retry loop in my python AI bot file was being stubborn ended up being the culprit…) I finally finished! It looks really good, and I’m really proud of it! I’ll be working on getting it running on Github Pages and adding a READme for it. Here’s a snapshot! Last devlog, the next one’s gonna be the project deets! PS: My devlogs aren’t straight bullet points because I like seeing devlogs as a journal that shows emotion and how it would feel if you all were in my shoes, which is why these devlogs look different ;)"}, {"post_id": 64547, "ts": "2026-09-09T01:35:25Z", "hours": 1.1244, "text": "CSS is backbreaking ;-; Alright! CSS is mostly done, still got a couple tweaks and stuff, and I also lowkey need to make a delete chat button…oh well! You can see it turning our pretty well! The title looks bland, and I plan on switching it up just a tad. Also, I added a scroll instead of a book since that’s too much work. Anyway, this is how it looks now! The delete button is kind of functioning, but this is based off of previous knowledge from my journaling website. Here’s a snapshot! I’ll report back in say…another hour? 30 minutes? Hard to say… ;)"}, {"post_id": 63014, "ts": "2026-09-06T16:05:14Z", "hours": 1.5069, "text": "CSS Time! A couple of updates! First off, I added a feature to import images (trying to do PDFS took forever!) so that the user can paste in pictures of their character to develop characterstics and other needs for the story! I also made sure all of the files are saved locally! After that I did a quick fix with the whole “nameless” chat by allowsing users to change it. Now that all the technical stuff is complete, I decided to start working on the CSS! My plan is a little bit complex, which is why I am working on the chat window first. I found this reall cool gothic font on Google Fonts and this really pretty background. Attached is how it looks right now. Since I’m wokring on the chat box, the other features are pretty plain, and the notes features is at the complete bottom…hopefully I’ll look much nicer!"}, {"post_id": 58242, "ts": "2026-08-30T16:33:10Z", "hours": 0.555, "text": "very quick updates ;) so, i fixed up starry’s yapping problem by developing a better addition to her prompt that basically says to stop yapping and stop using asterisks and hashtags since HTML can’t pick up those as actual formatting commands. i also added local storage to it which was pretty easy since i’ve done it a bajillion times. this was applied to the notes the user can write for and the chats that starry has. that too, when you “flip to a new page” or start a new chat, starry is reset for that specific page and your notes are refreshed too. when you go to the previous page, all your previous work stays. while it might sound complicated, HTML provides functions that are quite literal and allow you to use them anywhere you want!"}, {"post_id": 58148, "ts": "2026-08-30T14:31:40Z", "hours": 0.9514, "text": "updates! today i started to format the next part of my platform, the new chats, or in this case, pages! each page is a new story, and basically how it works is that each chat is assigned a chat id, and therefore is attached to each page. every time you go to a previous page, it is connected to its specific chat id. now, starry is a bit of a yapper, she loves to yap… we are going to fix starrys chatting and also fix her formatting so that she isnt yapping in asterisks 24/7! ps: i had no idea ← and → meant being rendered as left and right arrows…html rules!!"}, {"post_id": 57750, "ts": "2026-08-30T00:44:06Z", "hours": 1.4294, "text": "first devlog: first thoughts! if you haven’t read through my project details yet, starlit stories is a platform where an ai can help you write a plot without it writing it for you! you can see previous chats and take your own, human notes! this time around, i got my ai api key and used it in a python script as the backend while the html is at the frontend. I’ve decided to work on the css last, since it takes up the least time. after running some errors, talking with real life refs, and getting help from the amazing google gemini, i was finally able to get my ai to work successfully! here’s a snapshot from below!"}]...
|
Title: starlit stories (⌒▽⌒)☆ by @rinimee | Starda Title: starlit stories (⌒▽⌒)☆ by @rinimee | Stardance
Devlogs:
first devlog: first thoughts! if you haven’t read through my project details yet, starlit stories is a platform where an ai can help you write a plot without it writing it for you! you can see previous chats and take your own, human notes! this time around, i got my ai api key and used it in a python script as the backend while the html is at the frontend. I’ve decided to work on the css last, since it takes up the least time. after running some errors, talking with real life refs, and getting help from the amazing google gemini, i was finally able to get my ai to work successfully! here’s a snapshot from below!
updates! today i started to format the next part of my platform, the new chats, or in this case, pages! each page is a new story, and basically how it works is that each chat is assigned a chat id, and therefore is attached to each page. every time you go to a previous page, it is connected to its specific chat id. now, starry is a bit of a yapper, she loves to yap… we are going to fix starrys chatting and also fix her formatting so that she isnt yapping in asterisks 24/7! ps: i had no idea ← and → meant being rendered as left and right arrows…html rules!!
very quick updates ;) so, i fixed up starry’s yapping problem by developing a better addition to her prompt that basically says to stop yapping and stop using asterisks and hashtags since HTML can’t pick up those as actual formatting commands. i also added local storage to it which was pretty easy since i’ve done it a bajillion times. this was applied to the notes the user can write for and the chats that starry has. that too, when you “flip to a new page” or start a new chat, starry is reset for that specific page and your notes are refreshed too. when you go to the previous page, all your previous work stays. while it might sound complicated, HTML provides functions that are quite literal and allow you to use them anywhere you want!
CSS Time! A couple of updates! First off, I added a feature to import images (trying to do PDFS took forever!) so that the user can paste in pictures of their character to develop characterstics and other needs for the story! I also made sure all of the files are saved locally! After that I did a quick fix with the whole “nameless” chat by allowsing users to change it. Now that all the technical stuff is complete, I decided to start working on the CSS! My plan is a little bit complex, which is why I am working on the chat window first. I found this reall cool gothic font on Google Fonts and this really pretty background. Attached is how it looks right now. Since I’m wokring on the chat box, the other features are pretty plain, and the notes features is at the complete bottom…hopefully I’ll look much nicer!
CSS is backbreaking ;-; Alright! CSS is mostly done, still got a couple tweaks and stuff, and I also lowkey need to make a delete chat button…oh well! You can see it turning our pretty well! The title looks bland, and I plan on switching it up just a tad. Also, I added a scroll instead of a book since that’s too much work. Anyway, this is how it looks now! The delete button is kind of functioning, but this is based off of previous knowledge from my journaling website. Here’s a snapshot! I’ll report back in say…another hour? 30 minutes? Hard to say… ;)
Really short but…she’s complete! After some CSS and some backend fixing (an error that the retry loop in my python AI bot file was being stubborn ended up being the culprit…) I finally finished! It looks really good, and I’m really proud of it! I’ll be working on getting it running on Github Pages and adding a READme for it. Here’s a snapshot! Last devlog, the next one’s gonna be the project deets! PS: My devlogs aren’t straight bullet points because I like seeing devlogs as a journal that shows emotion and how it would feel if you all were in my shoes, which is why these devlogs look different ;)
Completely Done! So…I know I said I was done, but after fixing a cache issue because apparently Github Pages is case sensitive and everything, starlit stories is up and running! I’m making this devlog just to tell you guys that. Yep. Insert sigh. Anyway, check out my project guys!
I LOWKENUINLY CRASHED OUT OH MY GOD You thought I was done? Yeah, yeah no. Apparently, GitHub wants to be a really annoying doodoo-head and wont accept Flask, which is the way I run my Google Gemini for my website. I had to look for another hostname, for like 3 separate times and finally landed on Render! After that, my bot kept on NOT connecting to the backend, which was a whole other dilemma. I made like 10 commits in this hour. It was not fun. Finally, Starry stopped passing out! She works now, phew! Also, I made the font less of an eyesore! Here’s how it looks now!
**quick update ** Woah I just figured out about these emojis…anyway I have to reship because Render projects do not work! I switched it to Vercel so hoping for the best! It didn’t take long to deploy either! I don’t have much to drop into the screenshot section so here’s a free Ryder for you (I really like this drawing). Ok rinimee out
Ships:
Starlit Stories is a AI-Chat platform designed for writers and authors who are struggling with writing plot elements and forming their story. Starry, the chatbot, doesn’t write the story for you, but helps you write the story, which is something that many people are looking forward to in the creative industry! Something that was challenging for me included working with JavaScript: I ran into a lot of errors but I ended up getting loads of help from reliable sources and real-life people to complete it! I am really proud of this concept and the project output: this was the first time I 100% designed my own content and it looks really amazing! All of the information in how to use the website is located on the website’s Github repository in its READme. Thank you for checking out my website!...
|
1793274726.3399618
|
1793361126.3399618
|
|
15984
|
C-level OS by @sarvesh | Stardance
|
sarvesh
|
0
|
0.86
|
0
|
[]
|
[{"post_id": 6625, "ts": "2026 [{"post_id": 6625, "ts": "2026-06-11T03:30:57Z", "hours": 0.8572, "text": "Coded a basic custom C kernal that maps text to VGA hardware memory and a startup file. I also managed to make a watch.sh script that automatically build the .bin file and push it inside a browser emulator using v86."}]...
|
Title: C-level OS by @sarvesh | Stardance
Devlogs Title: C-level OS by @sarvesh | Stardance
Devlogs:
Coded a basic custom C kernal that maps text to VGA hardware memory and a startup file. I also managed to make a watch.sh script that automatically build the .bin file and push it inside a browser emulator using v86....
|
1792749300.9281023
|
1793354100.9281023
|
|
58991
|
HEY GUYS LOOK AT MY DOG by @fish-in-a-puddle | Sta HEY GUYS LOOK AT MY DOG by @fish-in-a-puddle | Stardance...
|
fish-in-a-puddle
|
1
|
7.0
|
44
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T23:54:00Z", "hours": 7.0, "multiplier": 6.45, "payout": 44, "blessing": "neutral", "text": "I have spent the past couple weeks, I have made a website where you can look at pictures of my dog. That’s it. Just my dog. I wanted the site to be pretty simple, as a fun practice project, and I’m very happy with how it’s turned out. One of 55 images is chosen with Javascript when the page loads and the corresponding caption is shown as well. The function repeats any time the “New Image” button is clicked. The “Share” button copies the URL of the site to the visitor’s clipboard. The hardest part of this project was probably getting the random image generation to work. I started by making a CSS class setting the background of an empty div as well as its height and width, but this did not work at all. I don’t know why, but I replaced the div with an image element and used Javascript to change the SRC of the element depending on the result of a random number generated in a variable. Most of the other elements were pretty easy to work with, though. I hope that someone enjoys this fun little project and the pictures of my dog!", "repo": "https://github.com/fish-in-a-puddle/heyguyslookatmydog", "demo": "https://fish-in-a-puddle.github.io/heyguyslookatmydog/"}]...
|
[{"post_id": 66251, "ts": "202 [{"post_id": 66251, "ts": "2026-09-11T23:34:31Z", "hours": 0.6711, "text": "Devlog 5 - Fixed a few formatting issues, added a custom paw print cursor and made a share button that copies the (currently nonexistent) URL to the visitor’s keyboard. I’m very happy with how this site is turning out, so this is probably the last devlog for the actual coding. Next I need to do some shipping prep - writing a README and making a demo page - but that’s probably only about half an hour of work, tops."}, {"post_id": 65582, "ts": "2026-09-10T20:24:54Z", "hours": 1.2819, "text": "Devlog 4 - Finished writing the JS for the image generating and added a “New Image” button so you don’t have to reload the page to see another picture. The project is getting close to done, but there’s one more thing I want to add - a paw print custom cursor. Last time I tried to add that on another project it didn’t work, but I’m hoping I’ll be able to figure it out."}, {"post_id": 65024, "ts": "2026-09-09T20:34:56Z", "hours": 1.8703, "text": "Devlog 3 - Ok, so all that time writing out the CSS classes may have been pointless…. After trying a lot of different stuff, I found that the only way I could get the image to show was by turning the original div into an img element and changing the src to match different files in Javascript. Oh well, live and learn and all that. I’m back in buisness with the old copy paste for now, though, as I use a switch() function to check the variable that stores the random number and the case/break parts are all very similar (save the src, caption and, you know, the number it checks for). I’m feeling fairly confident that this will work out, though. After I finish this part, I’ll add a button to change the picture and caption so you don’t have to reload the page every time."}, {"post_id": 64392, "ts": "2026-09-08T18:38:21Z", "hours": 0.6322, "text": "Devlog 2 - Hooray, I finished making the CSS classes. It was very boring as I had to copy paste basically the same thing fifty times and check and change the dimensions of the image each time but it’s finally done. Now that all the images exist for the website to choose from, I have to venture into Javascript to make the images change. Time to look up a random number generator tutorial and distort it beyond recognition"}, {"post_id": 63206, "ts": "2026-09-06T21:37:26Z", "hours": 2.3839, "text": "Devlog 1 - Today I started a project I’ve been thinking about for a while - a website to show the viewer pictures of my dog. When it’s done, it will show an image of my dog picked randomly with a corresponding caption. So far I have resized 56 photos to fit the page (which took about an hour) and created 14 of the 56 classes in CSS. Each class includes the image and dimensions to the image doesn’t get stretched. The idea is that the script will pick a random number and using a switch/case function will set the class of the image div as well as the appropriate caption depending on the number. I have basically no experience coding in Javascript except for the couple of hours I spent working on it for the WebOS challenge, so this project will be a good way to get some practice."}]...
|
Title: HEY GUYS LOOK AT MY DOG by @fish-in-a-puddl Title: HEY GUYS LOOK AT MY DOG by @fish-in-a-puddle | Stardance
Devlogs:
Devlog 1 - Today I started a project I’ve been thinking about for a while - a website to show the viewer pictures of my dog. When it’s done, it will show an image of my dog picked randomly with a corresponding caption. So far I have resized 56 photos to fit the page (which took about an hour) and created 14 of the 56 classes in CSS. Each class includes the image and dimensions to the image doesn’t get stretched. The idea is that the script will pick a random number and using a switch/case function will set the class of the image div as well as the appropriate caption depending on the number. I have basically no experience coding in Javascript except for the couple of hours I spent working on it for the WebOS challenge, so this project will be a good way to get some practice.
Devlog 2 - Hooray, I finished making the CSS classes. It was very boring as I had to copy paste basically the same thing fifty times and check and change the dimensions of the image each time but it’s finally done. Now that all the images exist for the website to choose from, I have to venture into Javascript to make the images change. Time to look up a random number generator tutorial and distort it beyond recognition
Devlog 3 - Ok, so all that time writing out the CSS classes may have been pointless…. After trying a lot of different stuff, I found that the only way I could get the image to show was by turning the original div into an img element and changing the src to match different files in Javascript. Oh well, live and learn and all that. I’m back in buisness with the old copy paste for now, though, as I use a switch() function to check the variable that stores the random number and the case/break parts are all very similar (save the src, caption and, you know, the number it checks for). I’m feeling fairly confident that this will work out, though. After I finish this part, I’ll add a button to change the picture and caption so you don’t have to reload the page every time.
Devlog 4 - Finished writing the JS for the image generating and added a “New Image” button so you don’t have to reload the page to see another picture. The project is getting close to done, but there’s one more thing I want to add - a paw print custom cursor. Last time I tried to add that on another project it didn’t work, but I’m hoping I’ll be able to figure it out.
Devlog 5 - Fixed a few formatting issues, added a custom paw print cursor and made a share button that copies the (currently nonexistent) URL to the visitor’s keyboard. I’m very happy with how this site is turning out, so this is probably the last devlog for the actual coding. Next I need to do some shipping prep - writing a README and making a demo page - but that’s probably only about half an hour of work, tops.
Ships:
I have spent the past couple weeks, I have made a website where you can look at pictures of my dog. That’s it. Just my dog. I wanted the site to be pretty simple, as a fun practice project, and I’m very happy with how it’s turned out. One of 55 images is chosen with Javascript when the page loads and the corresponding caption is shown as well. The function repeats any time the “New Image” button is clicked. The “Share” button copies the URL of the site to the visitor’s clipboard. The hardest part of this project was probably getting the random image generation to work. I started by making a CSS class setting the background of an empty div as well as its height and width, but this did not work at all. I don’t know why, but I replaced the div with an image element and used Javascript to change the SRC of the element depending on the result of a random number generated in a variable. Most of the other elements were pretty easy to work with, though. I hope that someone enjoys this fun little project and the pictures of my dog!...
|
1793350661.7770388
|
1793437061.7770388
|
|
59939
|
First Project by @golo | Stardance
|
golo
|
0
|
1.37
|
0
|
[]
|
[{"post_id": 66255, "ts": "202 [{"post_id": 66255, "ts": "2026-09-11T23:47:29Z", "hours": 1.3736, "text": "Just working on the hackpad, almost done with my model but having some trouble actually figuring out how Fusion 360 actually works D:"}]...
|
Title: First Project by @golo | Stardance
Devlogs Title: First Project by @golo | Stardance
Devlogs:
Just working on the hackpad, almost done with my model but having some trouble actually figuring out how Fusion 360 actually works D:...
|
1793029992.5687363
|
1793634792.5687363
|
|
41364
|
Custom Drone Racing League Simulator Server by @Mr Custom Drone Racing League Simulator Server by @Mr-Milky-Way | Stardance...
|
Mr-Milky-Way
|
0
|
30.75
|
0
|
[]
|
[{"post_id": 66274, "ts": "202 [{"post_id": 66274, "ts": "2026-09-12T00:44:26Z", "hours": 3.2117, "text": "Got tournaments fully working!!! I think? Playing with 2 players I can go from start to finish and the scores actually save now, I set up a tournament on the public servers for Sunday, so that’s going to be the real test (if anyone signs up lol). pics: A fully finished tournament with 2 players (not much of a tournament lol) The layout for that tournament The Tournament on the live servers"}, {"post_id": 64011, "ts": "2026-09-08T03:44:48Z", "hours": 6.0025, "text": "So it’s been about a month… I added some more stuff to make the leaderboard shift on prod easier, it’s just a very small script, but it removes the pain of the whole thing so I can just run it and be done I changed some of the scoring system for the final heat, I learned that during the golden_heat there is 7 heats, and to qualify you need to get second 2 times or first once. This took a while sadly, but I’m much closer to getting this on prod, just need to finish up the progression system and I can get some real live testers. I also will be getting a real press racer4, wont fly out of the box, but getting it to fly will be easy. (again not much to show bc of it all being backend work )"}, {"post_id": 45483, "ts": "2026-08-12T00:16:56Z", "hours": 9.7006, "text": "I’ve been working a lot on getting the scoring, replays , and leaderboards right. During this 9 hours, I spent most of it breaking a system that already worked!!!!!!!!! The leaderboards! I had to add like 3 new columns (into the primary key 💀) and rework my leaderboard code to work right. It only took 5 hours Oh and it’s going to be a pain to get that on prod. yay :( Right next to that I had to implement a brand new scoring system for the tournaments (which is mostly done besides saving). I’m using a map of maps to map each match to tournament. That should keep lookup times to O(1) and worst case O(N) which should be fine. Good news tho, I’m might be able to get my hands on a real life DRL Racer 4!!!!! If I do, you can bet I will be reverse engineering that so hard. pics in order Tournament scoring thingy? Image from the replay system (replays now work on tournaments) Sorry that I dont have more to show, it’s all backend work :("}, {"post_id": 38655, "ts": "2026-08-01T04:59:52Z", "hours": 4.5617, "text": "I kinda ran into a roadblock today, not really a roadblock just a lack of planning lol. When i started to try and automate the rounds a matches I realized I had no clue what I was doing. I just starting throwing things out there and hoping it worked. It felt like a lot of guess and check, but I did get somewhere: I got rounds to mark as active, complete, and set start and end times dynamically, and matches are marked complete at their end dates. I also fixed one of the endpoints ( /tournaments/:guid/matches/:mid ). It wanted the data I was giving it in an array even though it only wanted 1 match . Fixing this made the round end timer work right (It auto ends the quals if you are racing) Results didn’t get any updates today sadly BUT I did some work on player displays and how matches are marked. I was mad that I didn’t know what to do, so I watched some old livestreams of tournaments and found out that empty matches didn’t say waiting, they said inactive, so I changed the default match state to idle and fixed that I also worked on getting player icons to display, but they are greyed out so I need to fix that later."}, {"post_id": 37954, "ts": "2026-07-31T00:26:08Z", "hours": 3.1522, "text": "I got the full tournament generation working! I got rounds to save and also matches are created and saved. The whole tournament generation is now (mostly) done. I’ve been putting off building this system for like 3 months, but it’s lowkey kinda easy except when you mistype a SQL statement and but fix for 30 mins without looking at the SQL Although currently there is no player logic, so no players a entered into matches or anything like that so I need to work on that, then the results system ect ect. (Last img is pulled from a very old livestream when the servers were still working)"}, {"post_id": 37233, "ts": "2026-07-29T19:43:42Z", "hours": 4.1178, "text": "I’m getting back to work on tournaments (from my 3 break of working on this project) I talked to some of the old DRL devs/the Community, and even got this video of one of the DRL Community tournaments. This allowed me to make a plan: 48 people can register and that will be cut down into either 24, 12, or 6 depending on how many people there are. if under 6 people have registered, it just does the finals basically and they all have a face off. if there is only 1 person registered, the whole thing gets marked as failed and that tournament gets called off. As it is right now I have a bit of an auto system in place if tournament.register_end >= now the tournament status auto goes to idle, and if the tournament isn’t full it opens up to registration. if the tournament is marked as idle and tournament.register_end <= now registration is auto closed and the status is moved to active. if the tournament is marked as active but has less than 2 players it’s marked as failed. I also created function createTournamentRounds which takes in the tournament data, player Count, and the tournament Type. It’s only set up for tournamentType === \"DRL\" at the moment tho. It creates all the rounds (3 if 12 person tournament, 4 if 24 person) and sets QUALIFIERS to active. It still needs to create matches and save the rounds tho ALSO LOOK AT THOSE STATS!!!!!! (last 2 imgs)"}]...
|
Title: Custom Drone Racing League Simulator Server Title: Custom Drone Racing League Simulator Server by @Mr-Milky-Way | Stardance
Devlogs:
I’m getting back to work on tournaments (from my 3 break of working on this project) I talked to some of the old DRL devs/the Community, and even got this video of one of the DRL Community tournaments. This allowed me to make a plan: 48 people can register and that will be cut down into either 24, 12, or 6 depending on how many people there are. if under 6 people have registered, it just does the finals basically and they all have a face off. if there is only 1 person registered, the whole thing gets marked as failed and that tournament gets called off. As it is right now I have a bit of an auto system in place if tournament.register_end >= now the tournament status auto goes to idle, and if the tournament isn’t full it opens up to registration. if the tournament is marked as idle and tournament.register_end <= now registration is auto closed and the status is moved to active. if the tournament is marked as active but has less than 2 players it’s marked as failed. I also created function createTournamentRounds which takes in the tournament data, player Count, and the tournament Type. It’s only set up for tournamentType === "DRL" at the moment tho. It creates all the rounds (3 if 12 person tournament, 4 if 24 person) and sets QUALIFIERS to active. It still needs to create matches and save the rounds tho ALSO LOOK AT THOSE STATS!!!!!! (last 2 imgs)
I got the full tournament generation working! I got rounds to save and also matches are created and saved. The whole tournament generation is now (mostly) done. I’ve been putting off building this system for like 3 months, but it’s lowkey kinda easy except when you mistype a SQL statement and but fix for 30 mins without looking at the SQL Although currently there is no player logic, so no players a entered into matches or anything like that so I need to work on that, then the results system ect ect. (Last img is pulled from a very old livestream when the servers were still working)
I kinda ran into a roadblock today, not really a roadblock just a lack of planning lol. When i started to try and automate the rounds a matches I realized I had no clue what I was doing. I just starting throwing things out there and hoping it worked. It felt like a lot of guess and check, but I did get somewhere: I got rounds to mark as active, complete, and set start and end times dynamically, and matches are marked complete at their end dates. I also fixed one of the endpoints ( /tournaments/:guid/matches/:mid ). It wanted the data I was giving it in an array even though it only wanted 1 match . Fixing this made the round end timer work right (It auto ends the quals if you are racing) Results didn’t get any updates today sadly BUT I did some work on player displays and how matches are marked. I was mad that I didn’t know what to do, so I watched some old livestreams of tournaments and found out that empty matches didn’t say waiting, they said inactive, so I changed the default match state to idle and fixed that I also worked on getting player icons to display, but they are greyed out so I need to fix that later.
I’ve been working a lot on getting the scoring, replays , and leaderboards right. During this 9 hours, I spent most of it breaking a system that already worked!!!!!!!!! The leaderboards! I had to add like 3 new columns (into the primary key 💀) and rework my leaderboard code to work right. It only took 5 hours Oh and it’s going to be a pain to get that on prod. yay :( Right next to that I had to implement a brand new scoring system for the tournaments (which is mostly done besides saving). I’m using a map of maps to map each match to tournament. That should keep lookup times to O(1) and worst case O(N) which should be fine. Good news tho, I’m might be able to get my hands on a real life DRL Racer 4!!!!! If I do, you can bet I will be reverse engineering that so hard. pics in order Tournament scoring thingy? Image from the replay system (replays now work on tournaments) Sorry that I dont have more to show, it’s all backend work :(
So it’s been about a month… I added some more stuff to make the leaderboard shift on prod easier, it’s just a very small script, but it removes the pain of the whole thing so I can just run it and be done I changed some of the scoring system for the final heat, I learned that during the golden_heat there is 7 heats, and to qualify you need to get second 2 times or first once. This took a while sadly, but I’m much closer to getting this on prod, just need to finish up the progression system and I can get some real live testers. I also will be getting a real press racer4, wont fly out of the box, but getting it to fly will be easy. (again not much to show bc of it all being backend work )
Got tournaments fully working!!! I think? Playing with 2 players I can go from start to finish and the scores actually save now, I set up a tournament on the public servers for Sunday, so that’s going to be the real test (if anyone signs up lol). pics: A fully finished tournament with 2 players (not much of a tournament lol) The layout for that tournament The Tournament on the live servers...
|
1792802919.3847418
|
1793407719.3847418
|
|
59567
|
WarioWare Game by @Steff | Stardance
|
Steff
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T00:50:18Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So i made a WarioWare game , but instead of garlic i used godot’s robot. The most challenging part was the designing part, not the coding part. I am proud that i learned new coding skills and godot skills. Sorry for bad English but it is not my first language:(", "repo": "https://github.com/costachestefy90-source/WarioGame", "demo": "https://steff11.itch.io/the-best-wario-game-ever-made"}]...
|
[{"post_id": 66275, "ts": "202 [{"post_id": 66275, "ts": "2026-09-12T00:44:41Z", "hours": 0.5617, "text": "This time I actually finished the game!!!"}, {"post_id": 64575, "ts": "2026-09-09T02:38:23Z", "hours": 5.6358, "text": "I just finished MarioWare whohooo!! This is just a random photo I found and liked cause I don’t really have a screenshot to put in:("}]...
|
Title: WarioWare Game by @Steff | Stardance
Devlo Title: WarioWare Game by @Steff | Stardance
Devlogs:
I just finished MarioWare whohooo!! This is just a random photo I found and liked cause I don’t really have a screenshot to put in:(
This time I actually finished the game!!!
Ships:
So i made a WarioWare game , but instead of garlic i used godot’s robot. The most challenging part was the designing part, not the coding part. I am proud that i learned new coding skills and godot skills. Sorry for bad English but it is not my first language:(...
|
1792878712.5312376
|
1793742712.5312376
|
|
43234
|
Nike website by @Alan_X | Stardance
|
Alan_X
|
3
|
45.0
|
398
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T11:18:15Z", "hours": 25.0, "multiplier": 13.62, "payout": 343, "blessing": "neutral", "text": "I corrected all the errors from the first ship in voting pool, to make it more polished again and have a much more better UI. The most challenging part was to go and learn some concepts that I used here especially JS. It was tedious, an as school started again it did not help. To test the project you just have to click on the Try project link. For those on mobile devices, I advise you to set your browser to desktop mode and turn it landscape for maximal experience I’m very proud of the UI and to see how far I went with this project is so fulfilling.", "repo": "https://github.com/onanaalan69-ctrl/Nike-website", "demo": "https://nike-website-gilt.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-26T18:27:10Z", "hours": 10.0, "multiplier": 5.5, "payout": 55, "blessing": "neutral", "text": "To the previous ship, I added more posts to the feed to make it more compelling to scroll through and a JS animation to change the theme of the landing page. I added two sections to the shoe page: In the first, you can see the releases from Converse, as it is a subbranch of Nike. The second concerns the releases from the Air Jordan line. Writing the code for the animation was very complex, as I had to go and learn back some concepts. That is why that index.html took me so much time. Just for a single animation T~T. Also, finding the exact image and text for the post was very tiring. Now the feed is much more fulfilling, to read and I’m so happy with that. Moreover, the diversity with the converse and Jordan makes it more satisfying. Something I advise when testing, click the swoosh on the landing page.", "repo": "https://github.com/onanaalan69-ctrl/Nike-website", "demo": "https://nike-website-gilt.vercel.app/"}, {"ship_num": 3, "ts": "2026-08-21T18:55:39Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello guys, I made a website to presents Nike’s products. The websites does feature only shoes for now, and is made of 3 active pages (the landing, the shoe section and the collaborations) The greatest challenge was the CSS. Having this done when I had still very little experience with CSS was difficult. But the most difficult to do was surely the animation with the javaScript code block. I literally had to ask advice from 15+ peers to get it ready for ship. Nevertheless, that is also one my top fulfilling achievements. I am also proud of how the colors change with the product displayed. Oh, I almost forgot! Click on the small swoosh in the nav bar to go back to landing page, and on the big one to change theme.", "repo": "https://github.com/onanaalan69-ctrl/Nike-website", "demo": "https://nike-website-gilt.vercel.app/"}]...
|
[{"post_id": 66280, "ts": "202 [{"post_id": 66280, "ts": "2026-09-12T00:55:46Z", "hours": 1.0908, "text": "The results will reflect the dedication and work done on a task I am finally shipping my project for the second time under vote pool after more than +15 hours of constant improvement. I based this new Nike website on the feedbacks I read over and over to understand the reviewers point of view, the other great websites here in stardance and my own introspection. I won’t say much as today was entirely dedicated to debugging the code and correcting UI. Thanks to all those who helped found the spelling errors and those who followed the progression of my work up to this stage. I had a 5.50x last ship, so I am expecting much more. Keep up and Aspire greatness!"}, {"post_id": 63854, "ts": "2026-09-07T20:44:44Z", "hours": 4.4319, "text": "Get Prestige out of the equation. What people buy is the story! When during the researches for the different items, I often see how there is a whole story behind each shoe, making it even more valuable. And I taught, why not have a section dedicated to Nike’s story? At first I thought that every knew about those stories, but after a small survey (less than a 1000 people), only ~17% knew about this. I went on and did this beautiful “Genesis”. I want to note that I am trying as much as possible to reduce AI text, as it was one of the review critics. So, the section is 100% AI free text and the total AI text is now less than 10% and I am very proud of that :D. During this coding session, I also: Added another group of posts for hydrating bottles Fixed some image bugs that failed to display when I went online Here is a call for all people reaching up to here. I am trying to correct all the typos errors in the site, and I need your help for that. Please take a minute to just check a single page and share with people you know. This post will make more than 20 views and I am sure we can make it to find any error. Input them in the comments, TIA. Click here"}, {"post_id": 61788, "ts": "2026-09-04T21:23:41Z", "hours": 5.1894, "text": "You remember when I said all the stuffs in my website were mostly what people know about ? Well, I added more stuffs than just shoes…again Today I added a section called “Sports Daily”. It features some of the sport tools that Nike produces like the balls. I started introducing the Soccer balls (using soccer for my Americans buddies :D) and the Basket balls. The interface is not yet operational so, if you’ve any suggestions to better it I am full ears. It was so much effort to search for all the balls and writing the text based on the official data set. All the text written here is human written, or copied from an official data set. During this session I also: Added more posts to the other pages that I felt really light and does not create the illusion of feed. As always, constructive feedback is welcomed. I will push these modifs in the repo soon."}, {"post_id": 60900, "ts": "2026-09-03T15:32:28Z", "hours": 4.3531, "text": "If you’ve an idea that seems feasible, work on it. If you succeed: Great Job! Else you’ll have tried! This is the lesson I learned the hard way when I wanted to add a magnetic_heart animation in the Nike website using JS. After spending +2hours of hard coding JS lines, and opening a handful of sites on how to do that, I succeeded, but not in the site (In a test site I created to see if I mastered the concept). Even Gemini could not help me out. It’s a loss, but a beautiful one. I learnt new JS concepts and I have tried at least. I left the codeblock in my repo just as reminder of that lesson. During the session I also: Added 5 more posts to the organization.html Updated the image links so we can see them online Removed some README.md dispalys that did not fit me Adjusted the links to like the posts and remove the false “Buy” links Removed the “Get yours here lines to make the interface better I am not abandoning the possibility of adding another JS animation or just an implementation. I keep up!"}, {"post_id": 59706, "ts": "2026-09-01T17:10:18Z", "hours": 5.2636, "text": "We often tend to see the black dot on a white sheet of paper, and forget of all the white space around I was once more reviewing my website and the feedbacks I had from the last ship. One of them is that my website is to focus on the common stuffs we know about Nike (though the reviewer said they learnt new stuffs). So I did a page in the collab section on the organizations that collaborate with Nike and what they do a little bit. I also: Diversified the feed more by adding more female figures and athletes that are in sports that are not very known. Correct the major readability error in some posts. Greatly reduced the average amount of words per posts and started writing them by myself. Centered most of the titles that looked weird and added some paddings Added more posts to make the feed more scrollable (I will always do this. It helps ensuring diversity and compelling feed) This is a small plus for those who make it up till here! If you get to visit the site (not now, but soon), visit the collab between Billie Eilish and Nike. There is a small animation I want to see if it fits."}, {"post_id": 58308, "ts": "2026-08-30T18:00:04Z", "hours": 4.8394, "text": "The first thing the user sees decides if they stay on the site, or leave! I entered my website, and I did not want to continue exploring it. Just from the landing page. Why would I expect people to love what I did, when I don’t even like it myself ? So, I decided to arrange that landing page. I added a background image, that represents Nike. It features its stars and logos. I also made the links to be more attractive and intuitive to the user. I removed the trash intro text that was there, making the site vapid. I also: I added more posts to the feed to make it more consistent, I corrected all the grammar errors of the pages, Made the animation clear for the user to change theme, I updated the README.md to suit the changes I did in the session. As always, constructive feedback is always welcomed. Thanks for reading!"}, {"post_id": 55075, "ts": "2026-08-26T14:45:14Z", "hours": 5.175, "text": "We on go I remember when I put the last word for Jordan section. During these hours, I added more items to the feed to make it more consistent and compelling to scroll through. I also refined the structure of the landing page and took the decision to only leave the JS to change color of landing page. I think what took me so long, is to search the text that I think that fits best the shoe and the colors that match the main theme. Anyway, you can try it with the demo link in the README.md and constructive feedback is always welcomed !"}, {"post_id": 54028, "ts": "2026-08-24T19:37:39Z", "hours": 4.7642, "text": "EXHAUSTING This is the word that resumes this 4 hours coding session I had. So, what was that exhausting ? That is the interesting part. I did all the time trying to: Building a javaScript to change the theme of the landing page. It is important for me, but I had to read dozen of documented pages T-T I also added the number of posts in the feed. Yeah the “feed” is that main section where the user sees the products I added a functional link to the 💓 icon to send an email of appreciation to me Most importantly, I did my README.md entirely back, as I went through the the resources(according to it, my README.md sucked T-T) And it was extremely tedious as I had to revise my bases first. But I am so proud of the result. I advice you to just give it a try in the demo link. As you know constructive feedback is always welcomed"}, {"post_id": 51849, "ts": "2026-08-21T18:30:38Z", "hours": 2.0303, "text": "Final Devlog before first ship To end the first part of this coding journey I had to “find 10,000 ways that won’t work”. In other words, I to start over and over to make that one block javaScript code to run as I wanted. Now you can change the theme of the landing page by clicking on the swoosh (Try it out. I find it fun ;D). I think I will implement this is in one of my web design projects. I profited of the fire on my fingers (a way to say inspiration. Don’t worry) to change the structure of the site’s presentation. I want to ship the project first before adding complete modifications for the second ship."}, {"post_id": 46004, "ts": "2026-08-12T21:06:11Z", "hours": 0.8356, "text": "Devlog #02 I decided to restructure the presentation of the website, and a new manner of presenting it. This method will recquire me to introduce JavaScript and make the animations more lively. I’m keeping you updated on the advancement guys #Aspiregreatness"}, {"post_id": 41153, "ts": "2026-08-05T05:57:38Z", "hours": 0.9786, "text": "Devlog #01 Today I published a demo of my website online: It was quite tedious since it was my first time, and the to and fro movements from VS code to Github, passing through Vercel was a great challenge. I had to do it before going to my morning activities. I added inside a section talking about Jannick Sinner too, so tennis fans may visit and give me some constructive feedback. Link in demo. #Aspiregreatness"}, {"post_id": 39746, "ts": "2026-08-02T22:13:34Z", "hours": 6.5506, "text": "This is were I’m upto with the Nike website. Is it nice enough :D"}]...
|
Title: Nike website by @Alan_X | Stardance
Devlog Title: Nike website by @Alan_X | Stardance
Devlogs:
This is were I’m upto with the Nike website. Is it nice enough :D
Devlog #01 Today I published a demo of my website online: It was quite tedious since it was my first time, and the to and fro movements from VS code to Github, passing through Vercel was a great challenge. I had to do it before going to my morning activities. I added inside a section talking about Jannick Sinner too, so tennis fans may visit and give me some constructive feedback. Link in demo. #Aspiregreatness
Devlog #02 I decided to restructure the presentation of the website, and a new manner of presenting it. This method will recquire me to introduce JavaScript and make the animations more lively. I’m keeping you updated on the advancement guys #Aspiregreatness
Final Devlog before first ship To end the first part of this coding journey I had to “find 10,000 ways that won’t work”. In other words, I to start over and over to make that one block javaScript code to run as I wanted. Now you can change the theme of the landing page by clicking on the swoosh (Try it out. I find it fun ;D). I think I will implement this is in one of my web design projects. I profited of the fire on my fingers (a way to say inspiration. Don’t worry) to change the structure of the site’s presentation. I want to ship the project first before adding complete modifications for the second ship.
EXHAUSTING This is the word that resumes this 4 hours coding session I had. So, what was that exhausting ? That is the interesting part. I did all the time trying to: Building a javaScript to change the theme of the landing page. It is important for me, but I had to read dozen of documented pages T-T I also added the number of posts in the feed. Yeah the “feed” is that main section where the user sees the products I added a functional link to the 💓 icon to send an email of appreciation to me Most importantly, I did my README.md entirely back, as I went through the the resources(according to it, my README.md sucked T-T) And it was extremely tedious as I had to revise my bases first. But I am so proud of the result. I advice you to just give it a try in the demo link. As you know constructive feedback is always welcomed
We on go I remember when I put the last word for Jordan section. During these hours, I added more items to the feed to make it more consistent and compelling to scroll through. I also refined the structure of the landing page and took the decision to only leave the JS to change color of landing page. I think what took me so long, is to search the text that I think that fits best the shoe and the colors that match the main theme. Anyway, you can try it with the demo link in the README.md and constructive feedback is always welcomed !
The first thing the user sees decides if they stay on the site, or leave! I entered my website, and I did not want to continue exploring it. Just from the landing page. Why would I expect people to love what I did, when I don’t even like it myself ? So, I decided to arrange that landing page. I added a background image, that represents Nike. It features its stars and logos. I also made the links to be more attractive and intuitive to the user. I removed the trash intro text that was there, making the site vapid. I also: I added more posts to the feed to make it more consistent, I corrected all the grammar errors of the pages, Made the animation clear for the user to change theme, I updated the README.md to suit the changes I did in the session. As always, constructive feedback is always welcomed. Thanks for reading!
We often tend to see the black dot on a white sheet of paper, and forget of all the white space around I was once more reviewing my website and the feedbacks I had from the last ship. One of them is that my website is to focus on the common stuffs we know about Nike (though the reviewer said they learnt new stuffs). So I did a page in the collab section on the organizations that collaborate with Nike and what they do a little bit. I also: Diversified the feed more by adding more female figures and athletes that are in sports that are not very known. Correct the major readability error in some posts. Greatly reduced the average amount of words per posts and started writing them by myself. Centered most of the titles that looked weird and added some paddings Added more posts to make the feed more scrollable (I will always do this. It helps ensuring diversity and compelling feed) This is a small plus for those who make it up till here! If you get to visit the site (not now, but soon), visit the collab between Billie Eilish and Nike. There is a small animation I want to see if it fits.
If you’ve an idea that seems feasible, work on it. If you succeed: Great Job! Else you’ll have tried! This is the lesson I learned the hard way when I wanted to add a magnetic_heart animation in the Nike website using JS. After spending +2hours of hard coding JS lines, and opening a handful of sites on how to do that, I succeeded, but not in the site (In a test site I created to see if I mastered the concept). Even Gemini could not help me out. It’s a loss, but a beautiful one. I learnt new JS concepts and I have tried at least. I left the codeblock in my repo just as reminder of that lesson. During the session I also: Added 5 more posts to the organization.html Updated the image links so we can see them online Removed some README.md dispalys that did not fit me Adjusted the links to like the posts and remove the false “Buy” links Removed the “Get yours here lines to make the interface better I am not abandoning the possibility of adding another JS animation or just an implementation. I keep up!
You remember when I said all the stuffs in my website were mostly what people know about ? Well, I added more stuffs than just shoes…again Today I added a section called “Sports Daily”. It features some of the sport tools that Nike produces like the balls. I started introducing the Soccer balls (using soccer for my Americans buddies :D) and the Basket balls. The interface is not yet operational so, if you’ve any suggestions to better it I am full ears. It was so much effort to search for all the balls and writing the text based on the official data set. All the text written here is human written, or copied from an official data set. During this session I also: Added more posts to the other pages that I felt really light and does not create the illusion of feed. As always, constructive feedback is welcomed. I will push these modifs in the repo soon.
Get Prestige out of the equation. What people buy is the story! When during the researches for the different items, I often see how there is a whole story behind each shoe, making it even more valuable. And I taught, why not have a section dedicated to Nike’s story? At first I thought that every knew about those stories, but after a small survey (less than a 1000 people), only ~17% knew about this. I went on and did this beautiful “Genesis”. I want to note that I am trying as much as possible to reduce AI text, as it was one of the review critics. So, the section is 100% AI free text and the total AI text is now less than 10% and I am very proud of that :D. During this coding session, I also: Added another group of posts for hydrating bottles Fixed some image bugs that failed to display when I went online Here is a call for all people reaching up to here. I am trying to correct all the typos errors in the site, and I need your help for that. Please take a minute to just check a single page and share with people you know. This post will make more than 20 views and I am sure we can make it to find any error. Input them in the comments, TIA. Click here
The results will reflect the dedication and work done on a task I am finally shipping my project for the second time under vote pool after more than +15 hours of constant improvement. I based this new Nike website on the feedbacks I read over and over to understand the reviewers point of view, the other great websites here in stardance and my own introspection. I won’t say much as today was entirely dedicated to debugging the code and correcting UI. Thanks to all those who helped found the spelling errors and those who followed the progression of my work up to this stage. I had a 5.50x last ship, so I am expecting much more. Keep up and Aspire greatness!
Ships:
Hello guys, I made a website to presents Nike’s products. The websites does feature only shoes for now, and is made of 3 active pages (the landing, the shoe section and the collaborations) The greatest challenge was the CSS. Having this done when I had still very little experience with CSS was difficult. But the most difficult to do was surely the animation with the javaScript code block. I literally had to ask advice from 15+ peers to get it ready for ship. Nevertheless, that is also one my top fulfilling achievements. I am also proud of how the colors change with the product displayed. Oh, I almost forgot! Click on the small swoosh in the nav bar to go back to landing page, and on the big one to change theme.
To the previous ship, I added more posts to the feed to make it more compelling to scroll through and a JS animation to change the theme of the landing page. I added two sections to the shoe page: In the first, you can see the releases from Converse, as it is a subbranch of Nike. The second concerns the releases from the Air Jordan line. Writing the code for the animation was very complex, as I had to go and learn back some concepts. That is why that index.html took me so much time. Just for a single animation T~T. Also, finding the exact image and text for the post was very tiring. Now the feed is much more fulfilling, to read and I’m so happy with that. Moreover, the diversity with the converse and Jordan makes it more satisfying. Something I advise when testing, click the swoosh on the landing page.
I corrected all the errors from the first ship in voting pool, to make it more polished again and have a much more better UI. The most challenging part was to go and learn some concepts that I used here especially JS. It was tedious, an as school started again it did not help. To test the project you just have to click on the Try project link. For those on mobile devices, I advise you to set your browser to desktop mode and turn it landscape for maximal experience I’m very proud of the UI and to see how far I went with this project is so fulfilling....
|
1793314058.0507932
|
1793400458.0507932
|
|
60908
|
Slack Bot by @Tom1234 | Stardance
|
Tom1234
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T01:11:12Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a basic slack bot that runs 24/7. It features commands like a coin flip and dice roll.", "repo": "https://github.com/Timmyaintit12/Slack-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 66281, "ts": "202 [{"post_id": 66281, "ts": "2026-09-12T00:55:54Z", "hours": 0.7197, "text": "I have written the code for the bot, I used the commands from the instructions along with adding some more such as a coin flip, dice roll and the weather in Wellington, NZ"}]...
|
Title: Slack Bot by @Tom1234 | Stardance
Devlogs: Title: Slack Bot by @Tom1234 | Stardance
Devlogs:
I have written the code for the bot, I used the commands from the instructions along with adding some more such as a coin flip, dice roll and the weather in Wellington, NZ
Ships:
I made a basic slack bot that runs 24/7. It features commands like a coin flip and dice roll....
|
1793411777.5194776
|
1793498177.5194776
|
|
37765
|
nano65 by @lynx1076 | Stardance
|
lynx1076
|
0
|
62.17
|
0
|
[]
|
[{"post_id": 66283, "ts": "202 [{"post_id": 66283, "ts": "2026-09-12T00:59:04Z", "hours": 8.9686, "text": "Big things in the happening yall! The LCD just seemed oh so limiting so I decided to switch to a 64x64 LCD panel. Obviously the 6502 is nowhere near fast enough to control the display AND calculate stuff to put there so I’m using a tang nano 20k as a sort of GPU. It kind of feels like a waste though, using a device that could emulate a faster processor and drive the display at the same time so I might switch to a hardware implementation in the future. For now though this will suffice as I care more about the calculations I want to plot onto the display. (Ohoh what ever might he do with an array of pixels that can be arbitrarily colored and turned on/off )"}, {"post_id": 61195, "ts": "2026-09-04T00:28:40Z", "hours": 0.7014, "text": "Yall. Its wozzing time Running wozmon on a diy computer that I alone developed, debugged and produced is really something else. I dont know how much this applies to you guys but I think its time we all took a step back as junior devs and consider the stuff weve built. Im really amazed as to what we are all capable of when we put our minds to it. A few months ago I was a teen with a stupid idea, in way over my head. Now Im running 50 years old software on my very own machine, just as the computer gods intended. Ive certainly got quite a journey ahead of me but Im excited to see whats coming my way. Happy hacking yall"}, {"post_id": 61170, "ts": "2026-09-03T23:27:36Z", "hours": 1.5656, "text": "American layout… But hey ITS WORKING Next Stop: Wozmon on the nano65"}, {"post_id": 61124, "ts": "2026-09-03T21:27:24Z", "hours": 8.0733, "text": "Quick status update Im racking up hours too quickly so heres a quick update on what Im doing: Built hardware to support PS2 keyboard Switched LCD to 4-bit mode Started to work on interpreting keyboard signals Some of you might recognize the circuitry from Ben Eater’s video series. If you’re looking to implement this in your own project make sure to add some series resistors for the 74HC14 outputs as they may ring heavily distorting your interrupts."}, {"post_id": 58401, "ts": "2026-08-30T20:09:51Z", "hours": 5.9656, "text": "We ballin’! Last time I caught some heat for not using a project related pic so here are some exciting pictures of my messy desk and horrible wiring. I am excited to announce that flashing and dumping the memory is now a somewhat survivable experience even though its kind of slow. Right now Im just looking to hook up a PS2 keyboard so we can get some interactive stuff going but its lookin good. I had loads of issues with the wiring and since I was doing an internship up until friday I havent had much time but Im free now so expect more frequent updates more monke (lookin at you @fsh ) and more fanatic rambling about a processor nobody cares about (I LOVE ASSEMBLY)"}, {"post_id": 48484, "ts": "2026-08-16T21:07:50Z", "hours": 1.8153, "text": "Finally got flashing to work. The speed is absolutely abysmal (~30s for dumping and flashing) but it works and since single bytes can be quickly edited without re-flashing everything I don’t mind"}, {"post_id": 48412, "ts": "2026-08-16T19:03:51Z", "hours": 2.2406, "text": "Memory dumps now implemented. It’s a bit sketchy but you know… “Nothing more permanent than a temporary fix” It’s a bit slow all in all but I already increased the baudrate to 500k and I feel if I go any higher it’ll probably die like a hamster in a microwave."}, {"post_id": 44218, "ts": "2026-08-09T20:41:09Z", "hours": 9.3833, "text": "Just doing a quick post since I am racking up some time. Haven’t been working a lot on the software as I’ve been really busy recently. Anyways the command to dump the entire memory is almost done. Right now I am just making it print some specific known bytes from the dump."}, {"post_id": 35355, "ts": "2026-07-26T18:04:16Z", "hours": 3.2119, "text": "Tried running the nano65 at 2.5 MHz aaaannddd… IT WORKS PERFECTLY!!! I just ran a simple program that reads a byte from SRAM, adds 1 and then writes it back. This program loops infinitely so I could see if the CPU would go haywire and it actually didn’t. This means more intense programs like video games (oooh spoilers) could theoretically already run."}, {"post_id": 35119, "ts": "2026-07-26T10:55:48Z", "hours": 1.0125, "text": "Memory manipulation while processor is running!!! The memory can now be safely written to WHILE THE CPU IS RUNNING INSTRUCTIONS AT THE SAME ADDRESS! After adding a pull-up to the RWB pin (low means write so I’d have to assert the clock low before turning off the CPU) the SRAM and EEPROM can be written to/read from arbitrarily while the CPU is paused and all registers are preserved. Spot a bug while stepping through your code? Change the byte immediately before the CPU even sees it."}, {"post_id": 34921, "ts": "2026-07-26T00:57:06Z", "hours": 1.4275, "text": "UI starting to look good and memory interaction is working splendidly I also decided to finally change the font so we don’t all get eye cancer. Next is just going to be some QOL features like the panel on the left I haven’t really used. Probably going to put some status info there like if a vector is being pulled and the current clock state. Also going to implement writing a whole binary file to the nano65’s memory and dumping the memory. Once that’s all done I’ll treat myself to actually doing some projects with the nano65 to see if any other features might be nice."}, {"post_id": 34830, "ts": "2026-07-25T20:48:30Z", "hours": 1.4211, "text": "“The debugger is very confusing. It exists, but it’s very confusing. I don’t understand my debugger. It’s a low-level debugger and if you’re not familiar with a low-level debugger you don’t know what you’re talking about.” Terry A. Davis"}, {"post_id": 34713, "ts": "2026-07-25T17:24:35Z", "hours": 8.7947, "text": "THE HOST APP WORKS It’s now possible to step through a 6502 program using the debugger software instead of manually sending commands via serial. The GUI doesn’t look as good as I’d like it to but that’s a bridge I’ll burn when I get to it. For now the CPU can be reset with the hardware reset button and the stp (step [count]) command allows stepping through individual clock cycles. This will soon be changed to step through individual instructions instead to allow easier debugging but I’ll leave the direct clock manipulation in just in case. The screenshot clearly shows the W65C02S processor stepping through it’s reset cycle (the pseudo-reads were omitted since they are meaningless). The oscilloscope shows the external clock doing the 7 cycles until the reading of 0xFFFC is reached (bus is sampled on high clock so the positive edges count as clock ticks). Woah you read all that? Thx <3 From here on out it’s just a matter of implementing the rest of the commands on the host’s side and then doing some cool projects."}, {"post_id": 33241, "ts": "2026-07-22T23:51:47Z", "hours": 1.88, "text": "Well I decided to fully scrap the TUI afteralll since doing that would not let me compile for Windows and Linux easily and a GUI was going to be the end goal anyways. Using raylib and microui and it’s looking good (so far). https://www.raylib.com/ https://github.com/rxi/microui"}, {"post_id": 32733, "ts": "2026-07-22T02:21:39Z", "hours": 1.8928, "text": "Can’t get ncurses to work because I’d have to patch together like 5 different libraries just to get input working somewhat and you guys deserve better than me generating half of this project using ai cause I’m too dumb to figure out a 40 year old library. Stumbled upon this gem of a library (haven’t even tried it yet but the trailer so fire I had to share). Next update will hopefully be one about the hardware once I figure out this TUI-mess. notcurses https://www.youtube.com/watch?v=dcjkezf1ARY"}, {"post_id": 32131, "ts": "2026-07-21T02:45:01Z", "hours": 3.5219, "text": "Well I haven’t broken the firmware (yet) but the host software is really making me go through a lot. Setting up a “simple” ui using ncurses turned out to not be that simple afterall which might be due to the fact I decided to write this whole project in C. I’ll get back to logging once I have some decent program running on the nano65 so I can show off all the cool features of the arduBug. Since I don’t have much to show for all my work right now I’m just going to flex my C sloc on all the react kiddies ; ). Anyways that’s all for today folks (well I guess that’s just you, dear mod, reading this until I get verified). I’ve got to catch up on some sleep now (-_-)zzZZz"}, {"post_id": 31993, "ts": "2026-07-20T20:42:27Z", "hours": 0.2978, "text": "Working on the debugger (arduBug). Basically a little tool that I’ll use to manipulate the W65C02 processor and any devices on the bus. Its working well firmware-wise so I’m working on the host to let me interact with the nano65 (the actual computer) on a more abstract level. If all goes well I’ll hook up the VIA soon and from there on all sorts of cool things will be possible. In the picture you can see the full setup (arduBug, motherboard, and storage board). The oscilloscope shows the internal clock (2.5 MHz; will likely be decreased to 2 MHz). The interesting thing is that the arduBug boots up and turns off the internal clock to overwrite it with it’s own clock source. I was now able to revert that setup from the host software via a serial command."}]...
|
Title: nano65 by @lynx1076 | Stardance
Devlogs:
W Title: nano65 by @lynx1076 | Stardance
Devlogs:
Working on the debugger (arduBug). Basically a little tool that I’ll use to manipulate the W65C02 processor and any devices on the bus. Its working well firmware-wise so I’m working on the host to let me interact with the nano65 (the actual computer) on a more abstract level. If all goes well I’ll hook up the VIA soon and from there on all sorts of cool things will be possible. In the picture you can see the full setup (arduBug, motherboard, and storage board). The oscilloscope shows the internal clock (2.5 MHz; will likely be decreased to 2 MHz). The interesting thing is that the arduBug boots up and turns off the internal clock to overwrite it with it’s own clock source. I was now able to revert that setup from the host software via a serial command.
Well I haven’t broken the firmware (yet) but the host software is really making me go through a lot. Setting up a “simple” ui using ncurses turned out to not be that simple afterall which might be due to the fact I decided to write this whole project in C. I’ll get back to logging once I have some decent program running on the nano65 so I can show off all the cool features of the arduBug. Since I don’t have much to show for all my work right now I’m just going to flex my C sloc on all the react kiddies ; ). Anyways that’s all for today folks (well I guess that’s just you, dear mod, reading this until I get verified). I’ve got to catch up on some sleep now (-_-)zzZZz
Can’t get ncurses to work because I’d have to patch together like 5 different libraries just to get input working somewhat and you guys deserve better than me generating half of this project using ai cause I’m too dumb to figure out a 40 year old library. Stumbled upon this gem of a library (haven’t even tried it yet but the trailer so fire I had to share). Next update will hopefully be one about the hardware once I figure out this TUI-mess. notcurses https://www.youtube.com/watch?v=dcjkezf1ARY
Well I decided to fully scrap the TUI afteralll since doing that would not let me compile for Windows and Linux easily and a GUI was going to be the end goal anyways. Using raylib and microui and it’s looking good (so far). https://www.raylib.com/ https://github.com/rxi/microui
THE HOST APP WORKS It’s now possible to step through a 6502 program using the debugger software instead of manually sending commands via serial. The GUI doesn’t look as good as I’d like it to but that’s a bridge I’ll burn when I get to it. For now the CPU can be reset with the hardware reset button and the stp (step [count]) command allows stepping through individual clock cycles. This will soon be changed to step through individual instructions instead to allow easier debugging but I’ll leave the direct clock manipulation in just in case. The screenshot clearly shows the W65C02S processor stepping through it’s reset cycle (the pseudo-reads were omitted since they are meaningless). The oscilloscope shows the external clock doing the 7 cycles until the reading of 0xFFFC is reached (bus is sampled on high clock so the positive edges count as clock ticks). Woah you read all that? Thx <3 From here on out it’s just a matter of implementing the rest of the commands on the host’s side and then doing some cool projects.
“The debugger is very confusing. It exists, but it’s very confusing. I don’t understand my debugger. It’s a low-level debugger and if you’re not familiar with a low-level debugger you don’t know what you’re talking about.” Terry A. Davis
UI starting to look good and memory interaction is working splendidly I also decided to finally change the font so we don’t all get eye cancer. Next is just going to be some QOL features like the panel on the left I haven’t really used. Probably going to put some status info there like if a vector is being pulled and the current clock state. Also going to implement writing a whole binary file to the nano65’s memory and dumping the memory. Once that’s all done I’ll treat myself to actually doing some projects with the nano65 to see if any other features might be nice.
Memory manipulation while processor is running!!! The memory can now be safely written to WHILE THE CPU IS RUNNING INSTRUCTIONS AT THE SAME ADDRESS! After adding a pull-up to the RWB pin (low means write so I’d have to assert the clock low before turning off the CPU) the SRAM and EEPROM can be written to/read from arbitrarily while the CPU is paused and all registers are preserved. Spot a bug while stepping through your code? Change the byte immediately before the CPU even sees it.
Tried running the nano65 at 2.5 MHz aaaannddd… IT WORKS PERFECTLY!!! I just ran a simple program that reads a byte from SRAM, adds 1 and then writes it back. This program loops infinitely so I could see if the CPU would go haywire and it actually didn’t. This means more intense programs like video games (oooh spoilers) could theoretically already run.
Just doing a quick post since I am racking up some time. Haven’t been working a lot on the software as I’ve been really busy recently. Anyways the command to dump the entire memory is almost done. Right now I am just making it print some specific known bytes from the dump.
Memory dumps now implemented. It’s a bit sketchy but you know… “Nothing more permanent than a temporary fix” It’s a bit slow all in all but I already increased the baudrate to 500k and I feel if I go any higher it’ll probably die like a hamster in a microwave.
Finally got flashing to work. The speed is absolutely abysmal (~30s for dumping and flashing) but it works and since single bytes can be quickly edited without re-flashing everything I don’t mind
We ballin’! Last time I caught some heat for not using a project related pic so here are some exciting pictures of my messy desk and horrible wiring. I am excited to announce that flashing and dumping the memory is now a somewhat survivable experience even though its kind of slow. Right now Im just looking to hook up a PS2 keyboard so we can get some interactive stuff going but its lookin good. I had loads of issues with the wiring and since I was doing an internship up until friday I havent had much time but Im free now so expect more frequent updates more monke (lookin at you @fsh ) and more fanatic rambling about a processor nobody cares about (I LOVE ASSEMBLY)
Quick status update Im racking up hours too quickly so heres a quick update on what Im doing: Built hardware to support PS2 keyboard Switched LCD to 4-bit mode Started to work on interpreting keyboard signals Some of you might recognize the circuitry from Ben Eater’s video series. If you’re looking to implement this in your own project make sure to add some series resistors for the 74HC14 outputs as they may ring heavily distorting your interrupts.
American layout… But hey ITS WORKING Next Stop: Wozmon on the nano65
Yall. Its wozzing time Running wozmon on a diy computer that I alone developed, debugged and produced is really something else. I dont know how much this applies to you guys but I think its time we all took a step back as junior devs and consider the stuff weve built. Im really amazed as to what we are all capable of when we put our minds to it. A few months ago I was a teen with a stupid idea, in way over my head. Now Im running 50 years old software on my very own machine, just as the computer gods intended. Ive certainly got quite a journey ahead of me but Im excited to see whats coming my way. Happy hacking yall
Big things in the happening yall! The LCD just seemed oh so limiting so I decided to switch to a 64x64 LCD panel. Obviously the 6502 is nowhere near fast enough to control the display AND calculate stuff to put there so I’m using a tang nano 20k as a sort of GPU. It kind of feels like a waste though, using a device that could emulate a faster processor and drive the display at the same time so I might switch to a hardware implementation in the future. For now though this will suffice as I care more about the calculations I want to plot onto the display. (Ohoh what ever might he do with an array of pixels that can be arbitrarily colored and turned on/off )...
|
1793152480.857652
|
1793757280.857652
|
|
26772
|
Post Office art by @kelvindabest | Stardance
|
kelvindabest
|
0
|
2.59
|
0
|
[]
|
[{"post_id": 66284, "ts": "202 [{"post_id": 66284, "ts": "2026-09-12T01:06:28Z", "hours": 2.5872, "text": "I am making art of a post office, this is based off of my first python turtle art piece. There is more to this story but today I’m tired and I’ll tell you about it in the next few devlogs."}]...
|
Title: Post Office art by @kelvindabest | Stardanc Title: Post Office art by @kelvindabest | Stardance
Devlogs:
I am making art of a post office, this is based off of my first python turtle art piece. There is more to this story but today I’m tired and I’ll tell you about it in the next few devlogs....
|
1793281883.059887
|
1793886683.059887
|
|
3391
|
Run 999 miles to beat the game! by @PhantomPorter Run 999 miles to beat the game! by @PhantomPorter | Stardance...
|
PhantomPorter
|
0
|
2.39
|
0
|
[]
|
[{"post_id": 6629, "ts": "2026 [{"post_id": 6629, "ts": "2026-06-11T03:36:33Z", "hours": 1.2428, "text": "Worked on a stage hazard that requires you to slide under. This came with changing how collisions work at all, which I couldn’t finish for right now."}, {"post_id": 3236, "ts": "2026-06-06T02:00:39Z", "hours": 1.1447, "text": "Added a parry action for the player, with sounds and all."}]...
|
Title: Run 999 miles to beat the game! by @Phantom Title: Run 999 miles to beat the game! by @PhantomPorter | Stardance
Devlogs:
Added a parry action for the player, with sounds and all.
Worked on a stage hazard that requires you to slide under. This came with changing how collisions work at all, which I couldn’t finish for right now....
|
1793148786.2241535
|
1793753586.2241535
|
|
57039
|
Southbag Mobile Banking by @sometgirldotonline | S Southbag Mobile Banking by @sometgirldotonline | Stardance...
|
sometgirldotonline
|
1
|
4.55
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T10:50:06Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Ship #1 of Southbag Mobile (V1 V2) The naming is horrible on purpose. We intend to have a second version of the mobile app that is entirely different to the current one because we can This app is intentionally bad (it took effort to make it bad loll)", "repo": "https://github.com/southbaghq/mobile-v1", "demo": "https://github.com/SouthbagHQ/mobile-v1/releases/latest"}]...
|
[{"post_id": 66303, "ts": "202 [{"post_id": 66303, "ts": "2026-09-12T02:02:00Z", "hours": 1.5544, "text": "i’m going to be real i dont remember what happened in this time but: If you are the person who reviewed the project previously and rejected because of the banner, please re-test the project! The project was previously pointed at an old domain for its API and that is what was resulting in the “your internet is broken” thing (random unrelated picture because it needed one)"}, {"post_id": 59434, "ts": "2026-09-01T09:01:03Z", "hours": 2.9283, "text": "Southbag Mobile banking app is now avaliable for use. Nobody asked for this, but we deliver what you didn’t know you wanted. Androids only, Kevin hates iPhones. More serious talk: Built basic app yesterday, added all functions except for support Added support today tbh i cant really detail this too much because i was never thinking of submitting to Stardance"}]...
|
Title: Southbag Mobile Banking by @sometgirldotonl Title: Southbag Mobile Banking by @sometgirldotonline | Stardance
Devlogs:
Southbag Mobile banking app is now avaliable for use. Nobody asked for this, but we deliver what you didn’t know you wanted. Androids only, Kevin hates iPhones. More serious talk: Built basic app yesterday, added all functions except for support Added support today tbh i cant really detail this too much because i was never thinking of submitting to Stardance
i’m going to be real i dont remember what happened in this time but: If you are the person who reviewed the project previously and rejected because of the banner, please re-test the project! The project was previously pointed at an old domain for its API and that is what was resulting in the “your internet is broken” thing (random unrelated picture because it needed one)
Ships:
Ship #1 of Southbag Mobile (V1 V2) The naming is horrible on purpose. We intend to have a second version of the mobile app that is entirely different to the current one because we can This app is intentionally bad (it took effort to make it bad loll)...
|
1793249481.864934
|
1793335881.864934
|
|
61187
|
My personal website by @jivak | Stardance
|
jivak
|
0
|
2.77
|
0
|
[]
|
[{"post_id": 66314, "ts": "202 [{"post_id": 66314, "ts": "2026-09-12T02:30:28Z", "hours": 2.7661, "text": "Simple Version 1 is ready now"}]...
|
Title: My personal website by @jivak | Stardance
Title: My personal website by @jivak | Stardance
Devlogs:
Simple Version 1 is ready now...
|
1793037255.138208
|
1793642055.138208
|
|
55648
|
DIY Desk Audio Amplifier with Tone Control & D DIY Desk Audio Amplifier with Tone Control & Dual Input by @jeremyngai | Stardance...
|
jeremyngai
|
1
|
14.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T10:04:24Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a desk audio amplifier I designed and built to quickly switch between 2 audio sources and apply custom analogue Baxandall EQ to audio without software dependency. It is capable of delivering a maximum of 2x5W output compatible with 4 ohm and 8 ohm speakers. I was frustrated when switching speaker input between my pc and my piano keyboard because I had to move my pc off my desk just to unplug the audio cable from the chassis and plug it back in after my piano practice multiple times a day. That time, I was using my PAM8403 module with the audio cable directly soldered onboard. So, the audio cable cannot be unplugged on the module end. A while after that, I decided to make another amplifier board upgraded with removable audio jack connector onboard to make my life easier. However, just as I thought it would finally be over, the module came faulty.. Total waste of time. This is why I came up with this over-engineered audio amplifier that lets me switch 2 audio sources with just a switch and lets me control EQ without software. Power Input The build is powered with 5V input via USB Type-C and through a toggle switch to control power. It also works with PD negotiation with a pull-down resistor on CC lines. Audio Input Allows 2 distinct audio sources to be quickly switched with a DPDT toggle switch without unplugging/replugging audio jacks. It is compatible with TRRS and TRS connectors Audio Tone Control The build uses a passive 2 channel Baxandall tone control circuit to alter bass and treble frequencies before reaching the main amplifier module. This introduces an insertion loss of around 20dB. Bass Turnover Frequency ( f c ): ~72Hz Treble Turnover Frequency ( f c ): ~7.2kHz Amplification The amplifier system is powered by the HT8696 Class D/AB stereo ready-made module capable of outputting ~10W at 5V with anti-clipping capability to reduce buzzing issues.", "repo": "https://github.com/Jeremy-Ngai-Sew-Poh/DIY-Audio-Tone-Amplifier", "demo": ""}]...
|
[{"post_id": 66320, "ts": "202 [{"post_id": 66320, "ts": "2026-09-12T02:40:10Z", "hours": 3.1667, "text": "Yesterday, all my parts have arrived!! Soldering them one by one took me 3 hours. The PCB turns out perfect as expected and the slide potentiometer is just as smooth. It didn’t work at first… However a reflow saved both my time and money spent lol. Overall it worked great, the baxandall tone control works and it is so fascinating to be building one myself. However at first the tone control didn’t work because of a mismatch of ground plane of the aux input and common ground. So i shorted the aux ground directly to the common ground. I made 3 shorts on the best location for EMI, and the buzzing noise is completely gone (at least to my ears)! The soft underglow also turned out greattt. So ill be vibing and booming with my new audio amplifier 24/7, and as i vibe, ill continue with my github repo. stay tuned then!"}, {"post_id": 61999, "ts": "2026-09-05T06:30:13Z", "hours": 0.9333, "text": "While waiting for all my parts to arrive, i worked on the github repository bill of materials. once all parts arrive, ill solder them!!"}, {"post_id": 60159, "ts": "2026-09-02T10:52:29Z", "hours": 3.0358, "text": "Last few days, i worked on the PCB layout, i kept it at a size of 90x90 to fit on my desk, and also there’s a warm white backlight on the bottom so it gives vibee i dont really know how will it look like but i have good feeling about it! anyways i ordered the pcb on JLCPCB and ill be very excited for it haha, then i can solder everything and hopefully it works.. if not, uhh…."}, {"post_id": 57341, "ts": "2026-08-29T13:50:58Z", "hours": 6.6906, "text": "Today is the first progress of my diy custom audio amp. i completed my schematics and pcb layout. Im basically using a ht8696 audio amplifier module alongside with baxandoll tone control circuit, also made it togglable whether to apply tone or not. Im surprized by today’s progress its really quick without realising, im excited to move on to the pcb wiring tomorrow. today’s task definitely motivated me alot and i plan to order my pcb in a few days!!"}]...
|
Title: DIY Desk Audio Amplifier with Tone Control Title: DIY Desk Audio Amplifier with Tone Control & Dual Input by @jeremyngai | Stardance
Devlogs:
Today is the first progress of my diy custom audio amp. i completed my schematics and pcb layout. Im basically using a ht8696 audio amplifier module alongside with baxandoll tone control circuit, also made it togglable whether to apply tone or not. Im surprized by today’s progress its really quick without realising, im excited to move on to the pcb wiring tomorrow. today’s task definitely motivated me alot and i plan to order my pcb in a few days!!
Last few days, i worked on the PCB layout, i kept it at a size of 90x90 to fit on my desk, and also there’s a warm white backlight on the bottom so it gives vibee i dont really know how will it look like but i have good feeling about it! anyways i ordered the pcb on JLCPCB and ill be very excited for it haha, then i can solder everything and hopefully it works.. if not, uhh….
While waiting for all my parts to arrive, i worked on the github repository bill of materials. once all parts arrive, ill solder them!!
Yesterday, all my parts have arrived!! Soldering them one by one took me 3 hours. The PCB turns out perfect as expected and the slide potentiometer is just as smooth. It didn’t work at first… However a reflow saved both my time and money spent lol. Overall it worked great, the baxandall tone control works and it is so fascinating to be building one myself. However at first the tone control didn’t work because of a mismatch of ground plane of the aux input and common ground. So i shorted the aux ground directly to the common ground. I made 3 shorts on the best location for EMI, and the buzzing noise is completely gone (at least to my ears)! The soft underglow also turned out greattt. So ill be vibing and booming with my new audio amplifier 24/7, and as i vibe, ill continue with my github repo. stay tuned then!
Ships:
This is a desk audio amplifier I designed and built to quickly switch between 2 audio sources and apply custom analogue Baxandall EQ to audio without software dependency. It is capable of delivering a maximum of 2x5W output compatible with 4 ohm and 8 ohm speakers. I was frustrated when switching speaker input between my pc and my piano keyboard because I had to move my pc off my desk just to unplug the audio cable from the chassis and plug it back in after my piano practice multiple times a day. That time, I was using my PAM8403 module with the audio cable directly soldered onboard. So, the audio cable cannot be unplugged on the module end. A while after that, I decided to make another amplifier board upgraded with removable audio jack connector onboard to make my life easier. However, just as I thought it would finally be over, the module came faulty.. Total waste of time. This is why I came up with this over-engineered audio amplifier that lets me switch 2 audio sources with just a switch and lets me control EQ without software. Power Input The build is powered with 5V input via USB Type-C and through a toggle switch to control power. It also works with PD negotiation with a pull-down resistor on CC lines. Audio Input Allows 2 distinct audio sources to be quickly switched with a DPDT toggle switch without unplugging/replugging audio jacks. It is compatible with TRRS and TRS connectors Audio Tone Control The build uses a passive 2 channel Baxandall tone control circuit to alter bass and treble frequencies before reaching the main amplifier module. This introduces an insertion loss of around 20dB. Bass Turnover Frequency ( f c ): ~72Hz Treble Turnover Frequency ( f c ): ~7.2kHz Amplification The amplifier system is powered by the HT8696 Class D/AB stereo ready-made module capable of outputting ~10W at 5V with anti-clipping capability to reduce buzzing issues....
|
1793346560.5153644
|
1793432960.5153644
|
|
41747
|
My own site! by @wxie223 | Stardance
|
wxie223
|
2
|
3.5
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-20T14:04:53Z", "hours": 0.0, "multiplier": 1.45, "payout": 1, "blessing": "neutral", "text": "I made a personal site about me! It has 3 pages, a main page, a projects page, and an extracurriculars page. I don’t want this website to just be all about me. I also want to include resources for highschoolers just like me, so I’m planning to add a new page with resources for like SAT, or AP, or any other useful website. Hope you like it! I made this in the personal site workshop so it is still a bit simple.", "repo": "https://github.com/WillyX12/PersonalWebsite", "demo": "https://willyx12.github.io/PersonalWebsite/"}, {"ship_num": 2, "ts": "2026-08-19T19:30:17Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I shipped V1 of my personal site. Its really simple, but I hope it makes ur day.", "repo": "https://github.com/WillyX12/PersonalWebsite", "demo": "https://willyx12.github.io/PersonalWebsite/"}]...
|
[{"post_id": 66322, "ts": "202 [{"post_id": 66322, "ts": "2026-09-12T02:52:38Z", "hours": 0.7303, "text": "Havent been working on it a long time cuz of school and all that. Progress: added some gradients and listings based on a tutorial I saw, to make it more aesthetic. Check out the resources page!"}, {"post_id": 56998, "ts": "2026-08-29T02:05:22Z", "hours": 1.0589, "text": "added a contact page and some details now you can reach me by email and insta! (follow me pls) also I have very niche resources"}, {"post_id": 51934, "ts": "2026-08-21T21:19:00Z", "hours": 0.7114, "text": "Added Resources Slide. Said I wasn’t gonna make it all about myself, so I added a resources page (check it out it might be useful). I also added an image for my skyextendo on the project page. Hope yal enjoy it!"}, {"post_id": 50762, "ts": "2026-08-20T03:47:54Z", "hours": 0.4417, "text": "ADDED PAGES. I added an extracurricular page and a projects page. I also plan on adding study materials for sat, ap, and random stuff"}, {"post_id": 50563, "ts": "2026-08-19T19:28:47Z", "hours": 0.5008, "text": "I just made v1 of me personal site!"}]...
|
Title: My own site! by @wxie223 | Stardance
Devlo Title: My own site! by @wxie223 | Stardance
Devlogs:
I just made v1 of me personal site!
ADDED PAGES. I added an extracurricular page and a projects page. I also plan on adding study materials for sat, ap, and random stuff
Added Resources Slide. Said I wasn’t gonna make it all about myself, so I added a resources page (check it out it might be useful). I also added an image for my skyextendo on the project page. Hope yal enjoy it!
added a contact page and some details now you can reach me by email and insta! (follow me pls) also I have very niche resources
Havent been working on it a long time cuz of school and all that. Progress: added some gradients and listings based on a tutorial I saw, to make it more aesthetic. Check out the resources page!
Ships:
I shipped V1 of my personal site. Its really simple, but I hope it makes ur day.
I made a personal site about me! It has 3 pages, a main page, a projects page, and an extracurriculars page. I don’t want this website to just be all about me. I also want to include resources for highschoolers just like me, so I’m planning to add a new page with resources for like SAT, or AP, or any other useful website. Hope you like it! I made this in the personal site workshop so it is still a bit simple....
|
1793105308.0938907
|
1793969308.0938907
|
|
3697
|
Emoji Bot by @butterlabs | Stardance
|
butterlabs
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T03:03:25Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Slack bot with the main goal of letting you play around with emojis! The project took 3 hours over the course of 5 days coinciding with my high school work. Apart from that, the main struggle was trying to write a good readme as this is my first proper one! For people testing my project, in #bot-spam in Slack, you can use any of the following commands /emoji-bot-ping - Checks the bots latency /emoji-bot-cat-fact - Get a cat fact from the https://catfact.ninja/fact api /emoji-bot-fire - Replies a single ‘🔥’ emoji (joke command) /emoji-bot-help - Shows the help message /emoji-bot-convert - Returns the provided text in emoji form /emoji-bot-about - Displays info about the bot", "repo": "https://github.com/butterific/slackmoji", "demo": "https://hackclub.enterprise.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 66323, "ts": "202 [{"post_id": 66323, "ts": "2026-09-12T02:53:34Z", "hours": 1.0961, "text": "Devlog #4 The final devlog before shipping For the last hour and 4 minutes, I completely rewrote the Readme from a basic doc to a clean looking article take a look for yourself! (also fixed some small bugs that don’t really matter + hosted it on nest!) (look based on image order) (I DID NOT USE AI)"}, {"post_id": 66260, "ts": "2026-09-12T00:04:32Z", "hours": 0.7453, "text": "Devlog #3 Sofar, I have finished most of the bot including adding moderation, writing the readme, and adding an about command. Look at the images for more details! (ps: might rewrite the readme)"}, {"post_id": 64582, "ts": "2026-09-09T02:52:00Z", "hours": 1.0922, "text": "Dev Log #2 Finished the emoji convert command along with some bug fixes as well as more code comments for later. The emoji table was the hardest part due to choosing the right emojis for each character. Credit to https://www.reddit.com/r/copypasta/comments/1cf5dg7/emoji_alphabet_emojis_that_look_like_or_contain/ Also added basic error handling (see images)"}, {"post_id": 64000, "ts": "2026-09-08T03:21:58Z", "hours": 0.2989, "text": "Finished basic bot setup and 4 starter commands! /emoji-bot help fire cat-fact ping"}]...
|
Title: Emoji Bot by @butterlabs | Stardance
Devlo Title: Emoji Bot by @butterlabs | Stardance
Devlogs:
Finished basic bot setup and 4 starter commands! /emoji-bot help fire cat-fact ping
Dev Log #2 Finished the emoji convert command along with some bug fixes as well as more code comments for later. The emoji table was the hardest part due to choosing the right emojis for each character. Credit to https://www.reddit.com/r/copypasta/comments/1cf5dg7/emoji_alphabet_emojis_that_look_like_or_contain/ Also added basic error handling (see images)
Devlog #3 Sofar, I have finished most of the bot including adding moderation, writing the readme, and adding an about command. Look at the images for more details! (ps: might rewrite the readme)
Devlog #4 The final devlog before shipping For the last hour and 4 minutes, I completely rewrote the Readme from a basic doc to a clean looking article take a look for yourself! (also fixed some small bugs that don’t really matter + hosted it on nest!) (look based on image order) (I DID NOT USE AI)
Ships:
I made a Slack bot with the main goal of letting you play around with emojis! The project took 3 hours over the course of 5 days coinciding with my high school work. Apart from that, the main struggle was trying to write a good readme as this is my first proper one! For people testing my project, in #bot-spam in Slack, you can use any of the following commands /emoji-bot-ping - Checks the bots latency /emoji-bot-cat-fact - Get a cat fact from the https://catfact.ninja/fact api /emoji-bot-fire - Replies a single ‘🔥’ emoji (joke command) /emoji-bot-help - Shows the help message /emoji-bot-convert - Returns the provided text in emoji form /emoji-bot-about - Displays info about the bot...
|
1793335751.3454037
|
1793422151.3454037
|
|
59205
|
Crypto Clicker by @arpanshah102 | Stardance
|
arpanshah102
|
0
|
4.53
|
0
|
[]
|
[{"post_id": 66324, "ts": "202 [{"post_id": 66324, "ts": "2026-09-12T02:58:27Z", "hours": 0.2942, "text": "Today, I finished working on the overclocking section. I also added a new overclock level stat. Lastly, I added a settings section where you can reset the game if you want."}, {"post_id": 65725, "ts": "2026-09-11T02:08:19Z", "hours": 0.2919, "text": "Today, I finished the overclocking UI. Tomorrow, I should be done with its functionality."}, {"post_id": 65122, "ts": "2026-09-10T01:15:12Z", "hours": 0.3047, "text": "Today, I created the stats section (for what few stats I have). I also got started on the overclocking feature which will allow you to make your coins you bought better."}, {"post_id": 64565, "ts": "2026-09-09T02:23:46Z", "hours": 0.3983, "text": "Today, I added the functionality of the buy coins section, I’m probably gonna work on the stats section tomorrow."}, {"post_id": 63975, "ts": "2026-09-08T02:10:42Z", "hours": 0.3061, "text": "Today, I finished working on the UI of the buy coins section. Tomorrow, I will finish the functionality."}, {"post_id": 63317, "ts": "2026-09-07T02:12:06Z", "hours": 0.3511, "text": "Today, I started work on implementing the buying coins feature. I should be done with the UI by tomorrow."}, {"post_id": 63283, "ts": "2026-09-07T01:02:42Z", "hours": 2.5803, "text": "I created the basic clicking gameplay and UI. I will work on other aspects like the menu, achievements, upgrades, etc. later."}]...
|
Title: Crypto Clicker by @arpanshah102 | Stardance Title: Crypto Clicker by @arpanshah102 | Stardance
Devlogs:
I created the basic clicking gameplay and UI. I will work on other aspects like the menu, achievements, upgrades, etc. later.
Today, I started work on implementing the buying coins feature. I should be done with the UI by tomorrow.
Today, I finished working on the UI of the buy coins section. Tomorrow, I will finish the functionality.
Today, I added the functionality of the buy coins section, I’m probably gonna work on the stats section tomorrow.
Today, I created the stats section (for what few stats I have). I also got started on the overclocking feature which will allow you to make your coins you bought better.
Today, I finished the overclocking UI. Tomorrow, I should be done with its functionality.
Today, I finished working on the overclocking section. I also added a new overclock level stat. Lastly, I added a settings section where you can reset the game if you want....
|
1792788692.0911498
|
1793393492.0911498
|
|
44701
|
StudyBuddy by @Vedant_Daga | Stardance
|
Vedant_Daga
|
2
|
76.0
|
1064
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T03:35:26Z", "hours": 23.0, "multiplier": 18.54, "payout": 436, "blessing": "neutral", "text": "StudyBuddy - https://trystudybuddy.vercel.app fyi before u try it: reading runs on a free model with a shared daily cap, and ship day is way more traffic than a normal day. please use the sample worksheets wherever u can (they’re the first thing on the upload page, one click) and upload at most one of ur own pdfs for the next day or two. if the homepage says the free reads are used up, the samples still work. what it does upload a worksheet pdf. it reads every question off the page, tags each one by topic, and works out the answer key. u mark which ones u got wrong and it brings them back on an FSRS schedule (the algo anki uses). across every test u upload it turns “i got 12 wrong” into “ur bad at ratios”. what changed since last time runs on openrouter’s free tier instead of my gpu. not a proof of concept anymore one worksheet is ~4 requests instead of ~42. pages are read in groups the site says when the day’s free reads are running low. clear about the trial: 3 worksheets free, then still free, u just add questions by hand or plug in ur own key. what was hard free models reason before they answer and bill that against the output limit which ends up causing an error, but its really hard to figure out the embedding-only shortcut for sorting looked fine and was wrong a third of the time so fixed it", "repo": "https://github.com/DagaVedant/StudyBuddy", "demo": "https://trystudybuddy.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-19T19:30:17Z", "hours": 53.0, "multiplier": 12.7, "payout": 628, "blessing": "neutral", "text": "StudyBuddy Turn the worksheets you have already done into a record of what you actually know. Try it: https://trystudybuddy.vercel.app Code: https://github.com/DagaVedant/StudyBuddy What I made Upload a worksheet you already finished, as a PDF or photos. A vision model pulls out every question, its options and its answer key. You mark what you got wrong. That is the only input it needs. It sorts questions into 87 topics across SAT and competition maths. Then it ranks your weak areas and schedules revision using FSRS, the algorithm behind Anki. It also writes practice questions on your weak topics and exports misses to Blooket. Built on my own past papers: 387 real questions from 22 worksheets. What was challenging The models can run in four places: my GPU, your API key, your own Ollama, or not at all. A student with a GPU should never send homework to my server. A student with nothing should still get something. Topic tagging needs an embedding model that serverless hosting cannot run. So the shortlist is a pgvector query on the server and the vector is computed anywhere, including in your browser under WebAssembly. Worst bug was three characters: I stored the global fetch on a class field, which passes the object as the receiver. Node allows it, browsers throw Illegal invocation. Every test passed and the only runtime that mattered was broken. What I am proud of It does not lie to you. Weak topics are ranked by a Wilson lower bound, not a raw percentage, so two unlucky answers cannot fake a weakness. Model-written questions are kept out of your accuracy, so the ranking cannot feed the questions it generates. Every model response is schema-checked before it reaches the database. Generated practice is sifted against thirteen specific failure modes. When my GPU is off, the upload screen says so instead of spinning. 1,459 unit tests, 84 end to end, 293 commits. How to test it Sign in with Google, or an email and password. Upload any worksheet you have already done. A past paper works well. Check what it read. Each question sits beside the page image it came from. Mark what you missed, then open the dashboard. The free trial reads three worksheets on my own GPU. If it is off, your upload queues and the app tells you. To skip the wait, settings takes your own API key or connects to Ollama on your machine. guys i wish this was markdown compatible but its not so sorry", "repo": "https://github.com/DagaVedant/StudyBuddy", "demo": "https://trystudybuddy.vercel.app/"}]...
|
[{"post_id": 66334, "ts": "202 [{"post_id": 66334, "ts": "2026-09-12T03:21:31Z", "hours": 3.7986, "text": "Devlog 24: StudyBuddy so a lot of the feedback said “cool but it needs ur gpu on”. that made it seem like a PoC, so now its running on the free tier of openrouter. making the free tier work one request per question was never going to fit a daily cap. extraction now sends up to 10 pages / 25 questions per call, sorting and answer key go 10 questions at a time. ~4 requests per worksheet instead of ~42 the homepage and upload page count the day’s calls. 80% says busy, 100% stops reading and points u at the samples. samples upload page leads with the three samples as one-click cards; ur own pdf is the second option and says how much of the shared allowance is used. removed phone photo uploads (highly innaccurate on the free tier of models i have)"}, {"post_id": 61499, "ts": "2026-09-04T13:23:50Z", "hours": 0.4864, "text": "Devlog 23 - StudyBuddy i just had some minutes left on this so im just making the devlog still waiting for my ship to be approved (been waiting a few days) no big changes at all (waiting for feedback)"}, {"post_id": 57722, "ts": "2026-08-29T23:49:06Z", "hours": 0.3544, "text": "Devlog 22 - StudyBuddy fixed more bugs and rewrote code by hand"}, {"post_id": 56688, "ts": "2026-08-28T15:28:49Z", "hours": 3.3164, "text": "Devlog 21 - StudyBuddy patched even more bugs rewrote tons of my code (ai to human) cleaned up old files (a lot of old features were removed and reupdated) just more QoL fixes"}, {"post_id": 55293, "ts": "2026-08-27T01:04:56Z", "hours": 0.7281, "text": "Devlog 20 - StudyBuddy more bug fixes continous reships (they keep saying its too AI generated even after i rebuilt the UI) started working on the API key integration (like almost there rn) tons of dead code removal and code clean up added support for firefox too (now it works on edge, firefox, chrome, and prolly a ton others i just havent really tested it)"}, {"post_id": 55212, "ts": "2026-08-26T19:29:14Z", "hours": 2.0147, "text": "Devlog 19 - StudyBuddy even more bug fixes so i pushed a change, and that somehow broke the entire pipeline so i patched it no real content just fixes going to add API key integration soon (follow to see it happen)"}, {"post_id": 54267, "ts": "2026-08-25T04:59:03Z", "hours": 1.3939, "text": "Devlog 18 - StudyBuddy lowk not a lot of content in this one but like 1000000 different bugs popped up and reviewers are pointing it out so thank you smmm ( @blowupthenoobs ur the goat) fixed the trials having no limit other fixes just check my commits"}, {"post_id": 53477, "ts": "2026-08-24T01:28:48Z", "hours": 6.445, "text": "Devlog 17 - StudyBuddy (ah im losing track of these devlogs uh my ship keeps getting rejected for look to AI, and ive literally rebuilt everything, removed all teh ai generated thing. (im gonna ship again rn) made a logo cuz i thought it would look cool added a Terms of Services page cuz its risky cuz people could upload worksheets they dont have access for an i could be fried so i made them agree to that cleaned up more code fixed a few more bugs"}, {"post_id": 51966, "ts": "2026-08-21T23:14:31Z", "hours": 0.5383, "text": "Devlog 16 - StudyBuddy added some sample worksheets so you can try it out added the borders back to the buttons because i accidently removed them before"}, {"post_id": 51893, "ts": "2026-08-21T19:51:51Z", "hours": 0.3522, "text": "Devlog 15 more cleaninggggggg cleaned up repo, removed more dead logic and stuff instead of a css wallpaper, i added a image of lined paper to really give that school/learning feel asked ai to help me get the ui to look kinda fresh and add the pencil style heading"}, {"post_id": 51715, "ts": "2026-08-21T15:23:46Z", "hours": 3.1414, "text": "Devlog 14 shipwrights rejected the project so im fixing their things decided to clean up the code, get rid of old functions, and i also cleaned up the UI because no one really needs the heading and then what it means, like i think you know that topics means topics and doesnt need a whole sentence after that. cleaned up the repo, got rid of ai generated code fixed a 500 error when uploading worksheets, cuz something happened and some linux kernel wasnt compaitble with the library i was using wrapped up my last few fixes lowk not a lot of new features, rather like fixes"}, {"post_id": 51288, "ts": "2026-08-20T20:55:12Z", "hours": 0.9239, "text": "Devlog 13 - StudyBuddy update the ui to make it look liek sticky notes and lined paper"}, {"post_id": 50557, "ts": "2026-08-19T19:22:57Z", "hours": 1.2472, "text": "ANYONE RATING THIS PROJECT - THE VIDEO ON THE SHIP IS OUTDATED, THERE IS ALSO ANOTHER FEW DEVLOGS SO CHECK THAT OUT BEFORE JUDGING BECAUSE IT GIVES MORE INFO ABOUT THE BUILDING AND WHY THE CHANGED A LOT SORRYYYY ALSO USE THE SAMPLE WORKSHEETS I ATTACHED OR EASILY PARSEABLE WORKSHEETS. TEMPORAILY IVE CLOSED THE API KEY VERSION AS MOST PEOPLE DONT HAVE THEM. COMPLEX WORKSHEETS ARE TO BE USED ONLY WITH LARGE LLM Devlog 12 - StudyBuddy got everything ready to ship turns out that ollama needed some permissions so fixed that and added it to readme for people to set up, and other stuff like that shipping it in 5 mins 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉"}, {"post_id": 49640, "ts": "2026-08-18T15:06:19Z", "hours": 3.8678, "text": "Devlog 11 - StudyBuddy this is a short one got the google sign in to work added email verification and forgot ur password thing cleaned up the overall UI made the topic tree standardized cleaned up some of the extraction issues added ollama integration for everyone added practice question generation, topic overview, etc tested everything fully the attached image is the app after a ton of testing *"}, {"post_id": 48576, "ts": "2026-08-17T00:58:42Z", "hours": 5.8406, "text": "Devlog 10 - StudyBuddy mostly the same bug wearing different clothes: a screen that exists, that u can get to, that quietly does less than it says tier C was sitting in settings doing nothing save an ollama address and the app resolves u to a browser executor. that executor had nowhere to go, so ur worksheet just sat there looking queued it claims the job now and reads each page against localhost:11434 , posting back through the same queue my gpu posts through has to run in the browser cuz a server cant reach ur localhost, so the tab stays open. checkpointed per page tho, closing it resumes instead of restarting the paper a mark u mis-tapped was permanent tap through 40 of these and ur going to hit the wrong one eventually that one tap feeds the FSRS schedule, the topic accuracy, the weakness ranking and the blooket export only way back was deleting the worksheet and uploading it again, which costs u a trial credit. so the fix for a mistap was paying for it two defences that were never on WORKER_ALLOWED_IPS was optional and empty meant no restriction empty is the state every deployment starts in, so the normal outcome was a defence thats off that nobody ever decided to turn off refused now. * still allows any address but somebody has to type it untagged worksheets looked identical to broken ones tier B cant auto-classify, the embedding model needs a native runtime the serverless host doesnt have so ur questions saved fine and were reviewable fine, they just had no topic and nothing said why. reads exactly like it silently failed every tier that can come back untagged says so now nothing told u when a worksheet finished u uploaded and then u guessed. sat on the status page or came back later and hoped in-app bell that needs zero setup, plus web push for a tab u closed also “Review these now” now reviews those questions. the word had drifted onto three screens meaning three different things dashboard was missing three of its panels, and the trend arrow was specified ages ago and never computed taxonomy had no front door and the subject panel only went one level deep. Math > Geometry > Triangles walks now pagination was capping at the fiftieth worksheet and saying nothing about it the AI setup prompt showed up after ur trial ran out, which is the one moment it cant help u grouped scripts/ by what it does to ur data. inspect/ reads, repair/ writes behind a guard, benchmark/ measures 1285 tests green. playwright hasnt run yet and app/ moved a lot this time, so thats next"}, {"post_id": 47159, "ts": "2026-08-14T20:52:31Z", "hours": 5.0856, "text": "Devlog 9 - StudyBuddy the merge tool could double up a question number renumbering the survivor of a duplicate pair used Math.min of just those two rows, blind to the rest of the paper merging a phantom #5 into a real #9 could hand the paper a second #5, the exact thing the tool exists to prevent zero tests on a function that deletes rows. five now, including the repro $15/hour was losing its sign, not just $5 the math-stripper runs from one $ to the next, so “earns $15/hour and $18/hour” reads the slash as a fraction and eats both signs. same with $40 = $25 + $15 on the = i wrote this down once as “one weird case.” it’s the whole unit-rate and equation category fix checks the char after the closing $ : a digit means it’s opening the next price, not real math figure crops didnt need a new pipeline, just reusing one filed as “never produced,” which reads like crop, store, backfill the verify screen already computes a crop window from the bbox over the stored page image. review got wired to the same math, every old worksheet gets it free the real work was the guards: zero-area, inverted, off-page, or no recorded page size all have to degrade to nothing rather than to the wrong crop a fence i built to be un-escapable, wasnt the comment says a new tag can’t be added without going through the escaping. page-seam work added two by typing them directly a page whose OCR contains the literal closing tag closes the fence early, and everything after reads as instructions instead of data tag list exists once now, every fence built from it every worksheets.status write was a bare UPDATE no guard on the current value, so a stale job retry could drag an already-reviewed worksheet back to failed one transitionWorksheet(from, to) now, every write through it preview deploys were migrating the prod database guard only checked VERCEL_ENV === 'production' , but previews fire on every push against one shared DATABASE_URL two finishing together were racing through the migration folder 9 tests could go quiet and nobody would know one e2e file, 12 tests serial in a single tab, everything past “verify” depending on a question a drag gesture created three tests earlier a drag regression silently skipped 9 unrelated tests instead of failing them api fixture, split the file, broke the drag on purpose to prove it. held the question list rendered all 114 cards for a screen that edits one at a time deferred a while back: virtualizing editable rows risks one unmounting mid-edit only one card can ever be expanded, so the risk surface is exactly one row virtualizes past 40 now, open row pinned into the rendered range wherever scrolling goes. typed into one at 60 questions, scrolled thousands of px away, still there, still focused, still holding the edit also profile save had devlog 4’s router.refresh() remount bug login rate limit skipped Auth.js’s own credentials endpoint ollama worker had no startup timeout and just hung worksheet text leaked into console logs on schema rejections review screen shipped every page’s OCR text on page-1 load admin console got merge, tree edit, queue, usage doc-count drift (third time), and a false-positive LaTeX check flagging real set notation as broken math"}, {"post_id": 46100, "ts": "2026-08-13T02:23:56Z", "hours": 3.2192, "text": "Devlog 8 - StudyBuddy im too lazy to have a full write up for this (watched spiderman tdy IT WAS REALLY GOOD) for each topic that a user gets wrong, a seperate model (gpt-oss:20b, sorry if i miswrote the model) gives a walkthrough of the topic also added missed questions to the csv export added a AI answer key system if the worksheet doesnt have one."}, {"post_id": 45521, "ts": "2026-08-12T02:04:02Z", "hours": 3.0014, "text": "Devlog 7 - StudyBuddy the drag box was broken in the real app. for months u upload a worksheet, u draw a box around question 1, it fills in. thats the whole manual editor, thats the whole free tier. and it didnt work. click through the app to get there and nothing responds. reload and its fine. four previous commits went looking for this. the test had a 24 line comment explaining why it was probably a test problem. it was not. elementFromPoint(100, 28) -> HTML elementsFromPoint(100, 28) -> [HTML] thats the browser saying nothing is at this pixel , for every pixel on the page. the cause was 8 view transition animations, 6 stuck running forever . one that never finishes sits in the top layer and covers everything. and its a pseudo element so it shows up in no ancestor walk and no element stack, which is why every previous investigation contradicted itself. bisected on clean builds: next flag react component result on on broken off on broken on off clean off off clean so its react’s <ViewTransition> , not next. three lines of css. the drag test used to fake the mouse with dispatched events, now it uses a real one, which is the only thing that proves anything. gemini has never completed a single request 4 providers in settings. one says “has a free tier worth starting on”. zero successful calls, ever. every nullable field is anyOf: [{type:'x'}, {type:'null'}] gemini doesnt understand anyOf , so a filter strips keywords it rejects the filter dropped anyOf and left {} behind, while leaving the field in required a required field with no type = rejected request. every time funny part: the allowlist already had nullable in it, gemini’s own word for the same idea. someone knew. nothing connected them. the landing page was lying about 3 of its 4 topics theres a comment above them saying “kept honest on purpose: these are real taxonomy names” . Ratio & proportion - not real Linear equations - not real Reading inference - not real Vocabulary in context - real so the one claim the page made about its own honesty was the false one lol. theres a test now instead of a comment. tests found 2 bugs i wasnt looking for new Date(\"sometime in 2010\") returns jan 1 2010, cuz v8 scrapes a year out of almost anything. and it parses as local midnight while everything next to it is UTC. on a 13th birthday thats the whole question one route answered 404 to someone with no session. the client sends u to sign in on a 401 and brings u back after, so a tab that sat open till the session expired just ate what u typed the rest a reload could cost u a 114 question paper. markup saves nothing till every question is marked, so its a local draft now / , /signin , /signup are static html now. the topbar called auth() from the root layout, which made all 39 routes render per request the 23mb embedding model was getting fetched inside a background task on every cold start, and failing silently one commit recorded 32 renames and none of the code . the git add failed and i’d redirected the error away so i never saw it"}, {"post_id": 44852, "ts": "2026-08-10T21:45:18Z", "hours": 1.3739, "text": "Devlog 6 - StudyBuddy u can throw everything u got wrong into blooket now button on the dashboard for the whole account, and one per worksheet if u only want that paper it gives u a file, u upload it to blooket, u get a set of exactly the questions u missed wrong means ever wrong, not currently wrong. if u got it wrong on paper and then right in review, its still in there. thats the one u actually want to drill and it wouldve been weird to leave out blooket hands u an .xlsx template so everyone calls this an xlsx export, but its uploader only accepts csv. took a while to work out also its importer just silently imports nothing if the file is slightly off. no error, no warning, zero questions. three separate ways to trip that picking a subject barely did anything theres a dropdown on upload for what subject the worksheet is. it offers things like “Algebra 1” only the first bit of that was ever used, so picking Algebra 1 searched all of high school maths. exactly the same as picking “all of high school maths” the one control u have over how ur questions get sorted, doing basically nothing long papers were quietly losing questions to a limit the topic tagger takes questions 100 at a time. fine except it grabbed 100 in no particular order and then removed the ones already done, so on a 114 question paper 14 never got looked at, and which 14 was down to whatever the database felt like that day worse on a second pass: if 100 were already tagged it handed back an empty list, which reads as “nothing left to do”, and the rest never got tagged at all two screens counting the same paper differently the worksheets page filters out page junk like “CONTINUE TO THE NEXT PAGE” before counting. the dashboard didnt so the same worksheet was 25 questions on one screen and 26 on the other, and nothing tells u which one is lying the chart was lying about time the accuracy chart draws a bar per week. it was only making bars for weeks u actually did something in so 12 bars looked like 12 weeks in a row but werent. practise in march and again in june and u see two bars side by side like it was steady every week is a bar now, empty ones included, and it says which weeks its showing scrolling changed my settings without me touching anything the page range and question count boxes were number inputs, and number inputs treat the scroll wheel as a way to change the value so scrolling down the upload page with ur cursor over one of them silently rewrote which pages get read found a pile of other accessibility stuff while i was in there: buttons a bit too small to reliably hit on a phone, cards that vanish in high contrast mode, and a “skip to content” link that didnt actually skip anything also asking to see an explanation u already had was using up ur hourly limit for generating new ones the topic picker was built in a way that made screen readers think the list had nothing in it button labels were half Title Case and half sentence case, sometimes on the same screen"}, {"post_id": 44789, "ts": "2026-08-10T20:01:20Z", "hours": 1.8522, "text": "Devlog 5 - StudyBuddy “accept the remaining 114” checked none of them that button fires one save per question, and on my test paper thats 114 of them at once nothing read the answers back, so a save that failed looked exactly like one that worked the tick stayed on, u moved to the next screen, and it was never stored deleting a question said “Saved” and then didnt delete it delete waits a few seconds so u can undo it. it dropped the question from the list first and threw away whatever came back from the server so if it failed u got told it saved, and the question showed up in ur study queue later like nothing happened also there was no undo button anywhere. it was just a slow delete $5 was being eaten maths sometimes comes wrapped in dollar signs so i strip them off. money also comes wrapped in dollar signs “Sam has $5 and Ana has $12” was being read as “Sam has 5 and Ana has 12” checked a real saved question and yep. paper says $5, database said 5 if my worker died, ur worksheet said “queued” forever the machine that reads the pages runs at my house. if it fell over mid job, nothing anywhere ever marked that job as failed it just sat there, and the free credit it charged u never came back the topic tagging could fail without failing it needs a bit of software thats not always there on the server. when it wasnt, it came back with “no matches” which is a completely normal answer. so the job finished, every question was untagged, ur weak areas page was empty, and nothing anywhere was an error one i was told to do and didnt had a note to cap the page number by how many pages the worksheet has except if u upload pages 10 to 15 of a pdf thats six pages numbered 10 to 15, so that check refuses every single one of them capped the two things separately instead also the screen asking u to check questions against the page never showed the page finishing a review session stopped saying u finished it the AI could print its own error onto ur status page, which sometimes meant quoting ur own worksheet back at u the upload checked the image size by asking the browser instead of opening the image"}, {"post_id": 44684, "ts": "2026-08-10T16:42:14Z", "hours": 2.2806, "text": "Devlog 4 - StudyBuddy no new features today. just went hunting for stuff that was quietly broken, and there was way more of it than i expected the sign-in page could send u to a different website if someone handed u a link like /signin?next=someothersite.com , u would log in and then land on their page immediately after typing ur password, which is about the worst possible moment for that to happen this one went first there was no limit on login attempts i had limits on signing up and on uploading. somehow not on the actual password box so u could sit there and guess forever getting blocked now looks identical to just getting the password wrong. telling someone “too many attempts” quietly confirms the account exists file storage was writing into the void if one setting went missing it silently saved ur page images somewhere that doesnt survive on the server uploads said they worked. returned a success. images just gone nothing errored anywhere, which is why it sat there so long now it refuses to start up at all instead of pretending everything is fine i almost broke my whole test suite fixing something unrelated locked down two internal-only routes with what seemed like the obvious check except my tests run against a production build, so that check wouldve locked the tests out too caught it before it shipped, then wrote a test explaining it so future me doesnt helpfully undo it added security headers and instantly caught myself put them in report-only mode first so nothing could actually break about 40 seconds later it flagged a script that my own analytics loads the strict version wouldve blocked it in prod. i absolutely wouldve shipped that one fix i deleted instead of shipping had a note to add another check to the duplicate-question detector actually tested it against real papers first, and it turns out it can never trigger. the answers on a maths paper are just “4” and “9” and stuff, way too short for it to match on wouldve quietly made things worse all tests green at the end of it. onto the next pile"}, {"post_id": 44340, "ts": "2026-08-10T01:14:54Z", "hours": 6.0992, "text": "Devlog 3 - StudyBuddy wrote a script that reads each papers own answer key out of the source pdf and diffs it against my database. so the paper grades me instead of me grading myself. those 14 sheets scored 1 of 14 the first time i pointed it at them. tonight theyre 14 of 14 . barely any of it was the model. one paper stored 8 of its 15 questions. the model had read all 15 the log said dropped 6 unreadable question(s) . a count. no reason. it said that for two days made it print which field rejected the question and it told me on the first run: choices.0.label: Too big: expected string to have <=8 characters answer labels are capped at 8 chars, but the cap runs before the function that shortens them. that function only exists cuz the model returns A. 60 instead of A so the cap was checked against exactly the thing the transform was written to fix. coordinate geometry paper, every option reads A. (-2, 3) , ten chars, binned a count with no reason cant tell u “model returned garbage” from “ur schema is stricter than the paper” and those have opposite fixes also 44 duplicate-answer flags, every one wrong: -2 and 2 both normalised to 2 lol. on a maths paper the sign IS the question."}, {"post_id": 43025, "ts": "2026-08-08T02:19:09Z", "hours": 0.3111, "text": "if any of you guys wanna try this out here is the link: https://trystudybuddy.vercel.app/ YOOOOO WE GOT OUR FIRST FEW USERS i just checked before sleeping and yo we have 14 worksheets in the processing queue right now i wonder how much we had before THANK YOU GUYS"}, {"post_id": 42970, "ts": "2026-08-07T23:33:19Z", "hours": 5.2603, "text": "Devlog 2 - StudyBuddy HERE IS THE LINK TO TRY IT ( https://trystudybuddy.vercel.app/ ) left a pile of worksheets extracting overnight cuz i was sick of testing every fix against the same two papers. woke up to 9 worksheets, 713 questions, 353 pages everything below only shipped after i swept it over all of that first. rule i have now, after two earlier “fixes” that read perfectly and were wrong on real data a question that shipped reading ?rac{44}{11} i tell the model to write plain text. it writes LaTeX anyway sometimes that fails loudly. \\sqrt isnt a valid JSON escape so the response explodes and i lose a page. thats fine?? at least i know the other half is the problem. \\f is a form feed and \\t is a tab, both totally valid , so \\frac{44}{11} parses perfectly and quietly becomes a form feed followed by rac{44}{11} i had an AMC8 question in my database reading ?rac{44}{11} and nothing anywhere reported a problem fix has to run before the first parse , not in the catch block, cuz the version that actually hurts u never throws it doubles the backslash on letter runs JSON would misread, but only the six that collide (b f n r t u) and only when the run spells a real command. otherwise a real line break stops being a line break, which is a fun way to make things worse questions torn in half by the page break extraction reads one page at a time and never sees the page before or after. so a question ending at the bottom of page 3 with its answer choices at the top of page 4 is never whole in either request . five of them on the AMC8 paper one fix folds the halves back together. the other is for the worse case where the extractor returned nothing at all for the second half, cuz a bare block of answer choices isnt a question so the model just drops it. theyre still sitting in the next pages text layer tho, u just have to go get them sorting questions within a page needed its own module cuz the bounding boxes lie . question 4 came back with a top of 1428 and question 5 with 1379, so pure geometry puts them backwards AMC8 went from 19 of 25 questions having their answer choices to 24 of 25 , zero false positives across 348 SHSAT pages stuff that broke a worksheet told me it had 26 questions when the paper has 25 . the extra one was the axis labels off a diagram, and the SHSAT ones had rows that just said CONTINUE TO THE NEXT PAGE. dropped 23 rows, all page furniture then immediately shipped a followup bug where the card read “Questions 25” next to “Unchecked 26” cuz i filtered one count and forgot the other one lol tried just asking the model to return a carried answer block as half a question. produced zero of them and started relabelling stem-only questions as free response, which hides the damage from every check i have. reverted the landing page every animation was gated behind prefers-reduced-motion , which sounds responsible until u find out some managed windows installs ship with animation effects off by default . so the page whose whole job is showing the product working was showing a static screenshot the hero panel gets dealt onto the page like a card now. needs a perspective on the parent or the rotations collapse into a shear and it just looks like a slide the forgetting curve draws itself left to right. stroke-dashoffset does not work here , pathLength is silently ignored under vector-effect: non-scaling-stroke so the dash tiles across the path instead of spanning it once. and i need non-scaling-stroke or the line renders 9x too thick . used a page-coloured shutter instead next things: that one AMC8 question needs reading off the page image since the text layer doesnt have it. and theres a cheaper reduced-motion compromise i wrote down but havent built."}, {"post_id": 42187, "ts": "2026-08-06T20:02:11Z", "hours": 13.8281, "text": "Devlog 1 - StudyBuddy so ive been doing SHSAT practice tests for a while and the thing that always got me is that after i mark one, i have like 20 wrong answers and no idea what to actually do with that info . like ok i got 12 questions wrong, but am i bad at geometry or did i just misread three questions? no clue. so id end up redoing entire sections i was already fine at. basically what im building is a web app where u upload a worksheet or a practice test (pdf or even just a photo of the page) and it reads every question off it, figures out what topic each one is, and then after u mark which ones u got wrong it schedules them to come back later using FSRS (same spaced repetition algo anki uses). the thing that makes it diff from just writing ur mistakes in a notebook is that it tracks topics across every test u ever upload . one test says nothing. five tests and it can actually tell u “ur bad at ratios” with a straight face. the AI runs on my own laptop i did not want to pay for an api. so the vision model that reads the pages runs on my own rtx 5080 . it sits at home and asks the deployed site for jobs, and it only ever dials outward so theres no port open on my home network. if my laptops off, uploads just queue instead of dying. the part i was most wrong about i picked the model i was using (qwen2.5vl:7b) literally because it was the first one i pulled . thats the whole reason. so i finally benchmarked it properly, 9 models on a real 58 page shsat paper, 114 questions . the one i already had won?? the 27b model is 4x bigger, scored 6 points WORSE , and took 183 seconds per page vs 7.8 . id been assuming for weeks that upgrading would fix my accuracy problems lol. also the grading was free which i was way too happy about. every question number 1-114 shows up exactly once on the paper so the test just grades itself , i never labelled a single page by hand. the bug that was actually my fault so when i looked at WHICH questions got missed they werent random, they came in chunks . one model dropped 17 questions in a row . turns out every single miss on every model was a page that came back completely empty . not a wrong answer. nothing. and that was my bug not the models . an empty reply gives 0 questions and no error, so my checker (which only looked for gaps in question numbering) saw nothing wrong and the upload said success while a whole page just quietly disappeared . fixed with one retry at a slightly higher temperature cuz a model that decided to output nothing will decide that again if u ask it the exact same way. stuff that broke i wrote a check to catch questions that got cut off mid sentence (flag anything not ending in punctuation) and it flagged 25 out of 114 questions on a CLEAN run . all wrong. turns out shsat questions end with like “by” or “through” all the time and the answer choices finish the sentence. fixed it and it changed literally zero outcomes so the rule was doing nothing the whole time. also added rate limiting and instantly locked myself out of my own test suite , which signs up way more than 5 times an hour from localhost. also deleted my entire email system . u need a domain u own to send emails (spf/dkim records) and a free .vercel.app subdomain cant do that. so instead of buying a domain i deleted 274 lines and made google sign in the front door. next things: tier B uploads dont get topic tags yet, and theres one test failing on purpose cuz FSRS says a question u just got wrong is due in 1 minute but i think it should be due immediately. gotta pick one."}]...
|
Title: StudyBuddy by @Vedant_Daga | Stardance
Dev Title: StudyBuddy by @Vedant_Daga | Stardance
Devlogs:
Devlog 1 - StudyBuddy so ive been doing SHSAT practice tests for a while and the thing that always got me is that after i mark one, i have like 20 wrong answers and no idea what to actually do with that info . like ok i got 12 questions wrong, but am i bad at geometry or did i just misread three questions? no clue. so id end up redoing entire sections i was already fine at. basically what im building is a web app where u upload a worksheet or a practice test (pdf or even just a photo of the page) and it reads every question off it, figures out what topic each one is, and then after u mark which ones u got wrong it schedules them to come back later using FSRS (same spaced repetition algo anki uses). the thing that makes it diff from just writing ur mistakes in a notebook is that it tracks topics across every test u ever upload . one test says nothing. five tests and it can actually tell u “ur bad at ratios” with a straight face. the AI runs on my own laptop i did not want to pay for an api. so the vision model that reads the pages runs on my own rtx 5080 . it sits at home and asks the deployed site for jobs, and it only ever dials outward so theres no port open on my home network. if my laptops off, uploads just queue instead of dying. the part i was most wrong about i picked the model i was using (qwen2.5vl:7b) literally because it was the first one i pulled . thats the whole reason. so i finally benchmarked it properly, 9 models on a real 58 page shsat paper, 114 questions . the one i already had won?? the 27b model is 4x bigger, scored 6 points WORSE , and took 183 seconds per page vs 7.8 . id been assuming for weeks that upgrading would fix my accuracy problems lol. also the grading was free which i was way too happy about. every question number 1-114 shows up exactly once on the paper so the test just grades itself , i never labelled a single page by hand. the bug that was actually my fault so when i looked at WHICH questions got missed they werent random, they came in chunks . one model dropped 17 questions in a row . turns out every single miss on every model was a page that came back completely empty . not a wrong answer. nothing. and that was my bug not the models . an empty reply gives 0 questions and no error, so my checker (which only looked for gaps in question numbering) saw nothing wrong and the upload said success while a whole page just quietly disappeared . fixed with one retry at a slightly higher temperature cuz a model that decided to output nothing will decide that again if u ask it the exact same way. stuff that broke i wrote a check to catch questions that got cut off mid sentence (flag anything not ending in punctuation) and it flagged 25 out of 114 questions on a CLEAN run . all wrong. turns out shsat questions end with like “by” or “through” all the time and the answer choices finish the sentence. fixed it and it changed literally zero outcomes so the rule was doing nothing the whole time. also added rate limiting and instantly locked myself out of my own test suite , which signs up way more than 5 times an hour from localhost. also deleted my entire email system . u need a domain u own to send emails (spf/dkim records) and a free .vercel.app subdomain cant do that. so instead of buying a domain i deleted 274 lines and made google sign in the front door. next things: tier B uploads dont get topic tags yet, and theres one test failing on purpose cuz FSRS says a question u just got wrong is due in 1 minute but i think it should be due immediately. gotta pick one.
Devlog 2 - StudyBuddy HERE IS THE LINK TO TRY IT ( https://trystudybuddy.vercel.app/ ) left a pile of worksheets extracting overnight cuz i was sick of testing every fix against the same two papers. woke up to 9 worksheets, 713 questions, 353 pages everything below only shipped after i swept it over all of that first. rule i have now, after two earlier “fixes” that read perfectly and were wrong on real data a question that shipped reading ?rac{44}{11} i tell the model to write plain text. it writes LaTeX anyway sometimes that fails loudly. \sqrt isnt a valid JSON escape so the response explodes and i lose a page. thats fine?? at least i know the other half is the problem. \f is a form feed and \t is a tab, both totally valid , so \frac{44}{11} parses perfectly and quietly becomes a form feed followed by rac{44}{11} i had an AMC8 question in my database reading ?rac{44}{11} and nothing anywhere reported a problem fix has to run before the first parse , not in the catch block, cuz the version that actually hurts u never throws it doubles the backslash on letter runs JSON would misread, but only the six that collide (b f n r t u) and only when the run spells a real command. otherwise a real line break stops being a line break, which is a fun way to make things worse questions torn in half by the page break extraction reads one page at a time and never sees the page before or after. so a question ending at the bottom of page 3 with its answer choices at the top of page 4 is never whole in either request . five of them on the AMC8 paper one fix folds the halves back together. the other is for the worse case where the extractor returned nothing at all for the second half, cuz a bare block of answer choices isnt a question so the model just drops it. theyre still sitting in the next pages text layer tho, u just have to go get them sorting questions within a page needed its own module cuz the bounding boxes lie . question 4 came back with a top of 1428 and question 5 with 1379, so pure geometry puts them backwards AMC8 went from 19 of 25 questions having their answer choices to 24 of 25 , zero false positives across 348 SHSAT pages stuff that broke a worksheet told me it had 26 questions when the paper has 25 . the extra one was the axis labels off a diagram, and the SHSAT ones had rows that just said CONTINUE TO THE NEXT PAGE. dropped 23 rows, all page furniture then immediately shipped a followup bug where the card read “Questions 25” next to “Unchecked 26” cuz i filtered one count and forgot the other one lol tried just asking the model to return a carried answer block as half a question. produced zero of them and started relabelling stem-only questions as free response, which hides the damage from every check i have. reverted the landing page every animation was gated behind prefers-reduced-motion , which sounds responsible until u find out some managed windows installs ship with animation effects off by default . so the page whose whole job is showing the product working was showing a static screenshot the hero panel gets dealt onto the page like a card now. needs a perspective on the parent or the rotations collapse into a shear and it just looks like a slide the forgetting curve draws itself left to right. stroke-dashoffset does not work here , pathLength is silently ignored under vector-effect: non-scaling-stroke so the dash tiles across the path instead of spanning it once. and i need non-scaling-stroke or the line renders 9x too thick . used a page-coloured shutter instead next things: that one AMC8 question needs reading off the page image since the text layer doesnt have it. and theres a cheaper reduced-motion compromise i wrote down but havent built.
if any of you guys wanna try this out here is the link: https://trystudybuddy.vercel.app/ YOOOOO WE GOT OUR FIRST FEW USERS i just checked before sleeping and yo we have 14 worksheets in the processing queue right now i wonder how much we had before THANK YOU GUYS
Devlog 3 - StudyBuddy wrote a script that reads each papers own answer key out of the source pdf and diffs it against my database. so the paper grades me instead of me grading myself. those 14 sheets scored 1 of 14 the first time i pointed it at them. tonight theyre 14 of 14 . barely any of it was the model. one paper stored 8 of its 15 questions. the model had read all 15 the log said dropped 6 unreadable question(s) . a count. no reason. it said that for two days made it print which field rejected the question and it told me on the first run: choices.0.label: Too big: expected string to have <=8 characters answer labels are capped at 8 chars, but the cap runs before the function that shortens them. that function only exists cuz the model returns A. 60 instead of A so the cap was checked against exactly the thing the transform was written to fix. coordinate geometry paper, every option reads A. (-2, 3) , ten chars, binned a count with no reason cant tell u “model returned garbage” from “ur schema is stricter than the paper” and those have opposite fixes also 44 duplicate-answer flags, every one wrong: -2 and 2 both normalised to 2 lol. on a maths paper the sign IS the question.
Devlog 4 - StudyBuddy no new features today. just went hunting for stuff that was quietly broken, and there was way more of it than i expected the sign-in page could send u to a different website if someone handed u a link like /signin?next=someothersite.com , u would log in and then land on their page immediately after typing ur password, which is about the worst possible moment for that to happen this one went first there was no limit on login attempts i had limits on signing up and on uploading. somehow not on the actual password box so u could sit there and guess forever getting blocked now looks identical to just getting the password wrong. telling someone “too many attempts” quietly confirms the account exists file storage was writing into the void if one setting went missing it silently saved ur page images somewhere that doesnt survive on the server uploads said they worked. returned a success. images just gone nothing errored anywhere, which is why it sat there so long now it refuses to start up at all instead of pretending everything is fine i almost broke my whole test suite fixing something unrelated locked down two internal-only routes with what seemed like the obvious check except my tests run against a production build, so that check wouldve locked the tests out too caught it before it shipped, then wrote a test explaining it so future me doesnt helpfully undo it added security headers and instantly caught myself put them in report-only mode first so nothing could actually break about 40 seconds later it flagged a script that my own analytics loads the strict version wouldve blocked it in prod. i absolutely wouldve shipped that one fix i deleted instead of shipping had a note to add another check to the duplicate-question detector actually tested it against real papers first, and it turns out it can never trigger. the answers on a maths paper are just “4” and “9” and stuff, way too short for it to match on wouldve quietly made things worse all tests green at the end of it. onto the next pile
Devlog 5 - StudyBuddy “accept the remaining 114” checked none of them that button fires one save per question, and on my test paper thats 114 of them at once nothing read the answers back, so a save that failed looked exactly like one that worked the tick stayed on, u moved to the next screen, and it was never stored deleting a question said “Saved” and then didnt delete it delete waits a few seconds so u can undo it. it dropped the question from the list first and threw away whatever came back from the server so if it failed u got told it saved, and the question showed up in ur study queue later like nothing happened also there was no undo button anywhere. it was just a slow delete $5 was being eaten maths sometimes comes wrapped in dollar signs so i strip them off. money also comes wrapped in dollar signs “Sam has $5 and Ana has $12” was being read as “Sam has 5 and Ana has 12” checked a real saved question and yep. paper says $5, database said 5 if my worker died, ur worksheet said “queued” forever the machine that reads the pages runs at my house. if it fell over mid job, nothing anywhere ever marked that job as failed it just sat there, and the free credit it charged u never came back the topic tagging could fail without failing it needs a bit of software thats not always there on the server. when it wasnt, it came back with “no matches” which is a completely normal answer. so the job finished, every question was untagged, ur weak areas page was empty, and nothing anywhere was an error one i was told to do and didnt had a note to cap the page number by how many pages the worksheet has except if u upload pages 10 to 15 of a pdf thats six pages numbered 10 to 15, so that check refuses every single one of them capped the two things separately instead also the screen asking u to check questions against the page never showed the page finishing a review session stopped saying u finished it the AI could print its own error onto ur status page, which sometimes meant quoting ur own worksheet back at u the upload checked the image size by asking the browser instead of opening the image
Devlog 6 - StudyBuddy u can throw everything u got wrong into blooket now button on the dashboard for the whole account, and one per worksheet if u only want that paper it gives u a file, u upload it to blooket, u get a set of exactly the questions u missed wrong means ever wrong, not currently wrong. if u got it wrong on paper and then right in review, its still in there. thats the one u actually want to drill and it wouldve been weird to leave out blooket hands u an .xlsx template so everyone calls this an xlsx export, but its uploader only accepts csv. took a while to work out also its importer just silently imports nothing if the file is slightly off. no error, no warning, zero questions. three separate ways to trip that picking a subject barely did anything theres a dropdown on upload for what subject the worksheet is. it offers things like “Algebra 1” only the first bit of that was ever used, so picking Algebra 1 searched all of high school maths. exactly the same as picking “all of high school maths” the one control u have over how ur questions get sorted, doing basically nothing long papers were quietly losing questions to a limit the topic tagger takes questions 100 at a time. fine except it grabbed 100 in no particular order and then removed the ones already done, so on a 114 question paper 14 never got looked at, and which 14 was down to whatever the database felt like that day worse on a second pass: if 100 were already tagged it handed back an empty list, which reads as “nothing left to do”, and the rest never got tagged at all two screens counting the same paper differently the worksheets page filters out page junk like “CONTINUE TO THE NEXT PAGE” before counting. the dashboard didnt so the same worksheet was 25 questions on one screen and 26 on the other, and nothing tells u which one is lying the chart was lying about time the accuracy chart draws a bar per week. it was only making bars for weeks u actually did something in so 12 bars looked like 12 weeks in a row but werent. practise in march and again in june and u see two bars side by side like it was steady every week is a bar now, empty ones included, and it says which weeks its showing scrolling changed my settings without me touching anything the page range and question count boxes were number inputs, and number inputs treat the scroll wheel as a way to change the value so scrolling down the upload page with ur cursor over one of them silently rewrote which pages get read found a pile of other accessibility stuff while i was in there: buttons a bit too small to reliably hit on a phone, cards that vanish in high contrast mode, and a “skip to content” link that didnt actually skip anything also asking to see an explanation u already had was using up ur hourly limit for generating new ones the topic picker was built in a way that made screen readers think the list had nothing in it button labels were half Title Case and half sentence case, sometimes on the same screen
Devlog 7 - StudyBuddy the drag box was broken in the real app. for months u upload a worksheet, u draw a box around question 1, it fills in. thats the whole manual editor, thats the whole free tier. and it didnt work. click through the app to get there and nothing responds. reload and its fine. four previous commits went looking for this. the test had a 24 line comment explaining why it was probably a test problem. it was not. elementFromPoint(100, 28) -> HTML elementsFromPoint(100, 28) -> [HTML] thats the browser saying nothing is at this pixel , for every pixel on the page. the cause was 8 view transition animations, 6 stuck running forever . one that never finishes sits in the top layer and covers everything. and its a pseudo element so it shows up in no ancestor walk and no element stack, which is why every previous investigation contradicted itself. bisected on clean builds: next flag react component result on on broken off on broken on off clean off off clean so its react’s <ViewTransition> , not next. three lines of css. the drag test used to fake the mouse with dispatched events, now it uses a real one, which is the only thing that proves anything. gemini has never completed a single request 4 providers in settings. one says “has a free tier worth starting on”. zero successful calls, ever. every nullable field is anyOf: [{type:'x'}, {type:'null'}] gemini doesnt understand anyOf , so a filter strips keywords it rejects the filter dropped anyOf and left {} behind, while leaving the field in required a required field with no type = rejected request. every time funny part: the allowlist already had nullable in it, gemini’s own word for the same idea. someone knew. nothing connected them. the landing page was lying about 3 of its 4 topics theres a comment above them saying “kept honest on purpose: these are real taxonomy names” . Ratio & proportion - not real Linear equations - not real Reading inference - not real Vocabulary in context - real so the one claim the page made about its own honesty was the false one lol. theres a test now instead of a comment. tests found 2 bugs i wasnt looking for new Date("sometime in 2010") returns jan 1 2010, cuz v8 scrapes a year out of almost anything. and it parses as local midnight while everything next to it is UTC. on a 13th birthday thats the whole question one route answered 404 to someone with no session. the client sends u to sign in on a 401 and brings u back after, so a tab that sat open till the session expired just ate what u typed the rest a reload could cost u a 114 question paper. markup saves nothing till every question is marked, so its a local draft now / , /signin , /signup are static html now. the topbar called auth() from the root layout, which made all 39 routes render per request the 23mb embedding model was getting fetched inside a background task on every cold start, and failing silently one commit recorded 32 renames and none of the code . the git add failed and i’d redirected the error away so i never saw it
Devlog 8 - StudyBuddy im too lazy to have a full write up for this (watched spiderman tdy IT WAS REALLY GOOD) for each topic that a user gets wrong, a seperate model (gpt-oss:20b, sorry if i miswrote the model) gives a walkthrough of the topic also added missed questions to the csv export added a AI answer key system if the worksheet doesnt have one.
Devlog 9 - StudyBuddy the merge tool could double up a question number renumbering the survivor of a duplicate pair used Math.min of just those two rows, blind to the rest of the paper merging a phantom #5 into a real #9 could hand the paper a second #5, the exact thing the tool exists to prevent zero tests on a function that deletes rows. five now, including the repro $15/hour was losing its sign, not just $5 the math-stripper runs from one $ to the next, so “earns $15/hour and $18/hour” reads the slash as a fraction and eats both signs. same with $40 = $25 + $15 on the = i wrote this down once as “one weird case.” it’s the whole unit-rate and equation category fix checks the char after the closing $ : a digit means it’s opening the next price, not real math figure crops didnt need a new pipeline, just reusing one filed as “never produced,” which reads like crop, store, backfill the verify screen already computes a crop window from the bbox over the stored page image. review got wired to the same math, every old worksheet gets it free the real work was the guards: zero-area, inverted, off-page, or no recorded page size all have to degrade to nothing rather than to the wrong crop a fence i built to be un-escapable, wasnt the comment says a new tag can’t be added without going through the escaping. page-seam work added two by typing them directly a page whose OCR contains the literal closing tag closes the fence early, and everything after reads as instructions instead of data tag list exists once now, every fence built from it every worksheets.status write was a bare UPDATE no guard on the current value, so a stale job retry could drag an already-reviewed worksheet back to failed one transitionWorksheet(from, to) now, every write through it preview deploys were migrating the prod database guard only checked VERCEL_ENV === 'production' , but previews fire on every push against one shared DATABASE_URL two finishing together were racing through the migration folder 9 tests could go quiet and nobody would know one e2e file, 12 tests serial in a single tab, everything past “verify” depending on a question a drag gesture created three tests earlier a drag regression silently skipped 9 unrelated tests instead of failing them api fixture, split the file, broke the drag on purpose to prove it. held the question list rendered all 114 cards for a screen that edits one at a time deferred a while back: virtualizing editable rows risks one unmounting mid-edit only one card can ever be expanded, so the risk surface is exactly one row virtualizes past 40 now, open row pinned into the rendered range wherever scrolling goes. typed into one at 60 questions, scrolled thousands of px away, still there, still focused, still holding the edit also profile save had devlog 4’s router.refresh() remount bug login rate limit skipped Auth.js’s own credentials endpoint ollama worker had no startup timeout and just hung worksheet text leaked into console logs on schema rejections review screen shipped every page’s OCR text on page-1 load admin console got merge, tree edit, queue, usage doc-count drift (third time), and a false-positive LaTeX check flagging real set notation as broken math
Devlog 10 - StudyBuddy mostly the same bug wearing different clothes: a screen that exists, that u can get to, that quietly does less than it says tier C was sitting in settings doing nothing save an ollama address and the app resolves u to a browser executor. that executor had nowhere to go, so ur worksheet just sat there looking queued it claims the job now and reads each page against localhost:11434 , posting back through the same queue my gpu posts through has to run in the browser cuz a server cant reach ur localhost, so the tab stays open. checkpointed per page tho, closing it resumes instead of restarting the paper a mark u mis-tapped was permanent tap through 40 of these and ur going to hit the wrong one eventually that one tap feeds the FSRS schedule, the topic accuracy, the weakness ranking and the blooket export only way back was deleting the worksheet and uploading it again, which costs u a trial credit. so the fix for a mistap was paying for it two defences that were never on WORKER_ALLOWED_IPS was optional and empty meant no restriction empty is the state every deployment starts in, so the normal outcome was a defence thats off that nobody ever decided to turn off refused now. * still allows any address but somebody has to type it untagged worksheets looked identical to broken ones tier B cant auto-classify, the embedding model needs a native runtime the serverless host doesnt have so ur questions saved fine and were reviewable fine, they just had no topic and nothing said why. reads exactly like it silently failed every tier that can come back untagged says so now nothing told u when a worksheet finished u uploaded and then u guessed. sat on the status page or came back later and hoped in-app bell that needs zero setup, plus web push for a tab u closed also “Review these now” now reviews those questions. the word had drifted onto three screens meaning three different things dashboard was missing three of its panels, and the trend arrow was specified ages ago and never computed taxonomy had no front door and the subject panel only went one level deep. Math > Geometry > Triangles walks now pagination was capping at the fiftieth worksheet and saying nothing about it the AI setup prompt showed up after ur trial ran out, which is the one moment it cant help u grouped scripts/ by what it does to ur data. inspect/ reads, repair/ writes behind a guard, benchmark/ measures 1285 tests green. playwright hasnt run yet and app/ moved a lot this time, so thats next
Devlog 11 - StudyBuddy this is a short one got the google sign in to work added email verification and forgot ur password thing cleaned up the overall UI made the topic tree standardized cleaned up some of the extraction issues added ollama integration for everyone added practice question generation, topic overview, etc tested everything fully the attached image is the app after a ton of testing *
ANYONE RATING THIS PROJECT - THE VIDEO ON THE SHIP IS OUTDATED, THERE IS ALSO ANOTHER FEW DEVLOGS SO CHECK THAT OUT BEFORE JUDGING BECAUSE IT GIVES MORE INFO ABOUT THE BUILDING AND WHY THE CHANGED A LOT SORRYYYY ALSO USE THE SAMPLE WORKSHEETS I ATTACHED OR EASILY PARSEABLE WORKSHEETS. TEMPORAILY IVE CLOSED THE API KEY VERSION AS MOST PEOPLE DONT HAVE THEM. COMPLEX WORKSHEETS ARE TO BE USED ONLY WITH LARGE LLM Devlog 12 - StudyBuddy got everything ready to ship turns out that ollama needed some permissions so fixed that and added it to readme for people to set up, and other stuff like that shipping it in 5 mins 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉
Devlog 13 - StudyBuddy update the ui to make it look liek sticky notes and lined paper
Devlog 14 shipwrights rejected the project so im fixing their things decided to clean up the code, get rid of old functions, and i also cleaned up the UI because no one really needs the heading and then what it means, like i think you know that topics means topics and doesnt need a whole sentence after that. cleaned up the repo, got rid of ai generated code fixed a 500 error when uploading worksheets, cuz something happened and some linux kernel wasnt compaitble with the library i was using wrapped up my last few fixes lowk not a lot of new features, rather like fixes
Devlog 15 more cleaninggggggg cleaned up repo, removed more dead logic and stuff instead of a css wallpaper, i added a image of lined paper to really give that school/learning feel asked ai to help me get the ui to look kinda fresh and add the pencil style heading
Devlog 16 - StudyBuddy added some sample worksheets so you can try it out added the borders back to the buttons because i accidently removed them before
Devlog 17 - StudyBuddy (ah im losing track of these devlogs uh my ship keeps getting rejected for look to AI, and ive literally rebuilt everything, removed all teh ai generated thing. (im gonna ship again rn) made a logo cuz i thought it would look cool added a Terms of Services page cuz its risky cuz people could upload worksheets they dont have access for an i could be fried so i made them agree to that cleaned up more code fixed a few more bugs
Devlog 18 - StudyBuddy lowk not a lot of content in this one but like 1000000 different bugs popped up and reviewers are pointing it out so thank you smmm ( @blowupthenoobs ur the goat) fixed the trials having no limit other fixes just check my commits
Devlog 19 - StudyBuddy even more bug fixes so i pushed a change, and that somehow broke the entire pipeline so i patched it no real content just fixes going to add API key integration soon (follow to see it happen)
Devlog 20 - StudyBuddy more bug fixes continous reships (they keep saying its too AI generated even after i rebuilt the UI) started working on the API key integration (like almost there rn) tons of dead code removal and code clean up added support for firefox too (now it works on edge, firefox, chrome, and prolly a ton others i just havent really tested it)
Devlog 21 - StudyBuddy patched even more bugs rewrote tons of my code (ai to human) cleaned up old files (a lot of old features were removed and reupdated) just more QoL fixes
Devlog 22 - StudyBuddy fixed more bugs and rewrote code by hand
Devlog 23 - StudyBuddy i just had some minutes left on this so im just making the devlog still waiting for my ship to be approved (been waiting a few days) no big changes at all (waiting for feedback)
Devlog 24: StudyBuddy so a lot of the feedback said “cool but it needs ur gpu on”. that made it seem like a PoC, so now its running on the free tier of openrouter. making the free tier work one request per question was never going to fit a daily cap. extraction now sends up to 10 pages / 25 questions per call, sorting and answer key go 10 questions at a time. ~4 requests per worksheet instead of ~42 the homepage and upload page count the day’s calls. 80% says busy, 100% stops reading and points u at the samples. samples upload page leads with the three samples as one-click cards; ur own pdf is the second option and says how much of the shared allowance is used. removed phone photo uploads (highly innaccurate on the free tier of models i have)
Ships:
StudyBuddy Turn the worksheets you have already done into a record of what you actually know. Try it: https://trystudybuddy.vercel.app Code: https://github.com/DagaVedant/StudyBuddy What I made Upload a worksheet you already finished, as a PDF or photos. A vision model pulls out every question, its options and its answer key. You mark what you got wrong. That is the only input it needs. It sorts questions into 87 topics across SAT and competition maths. Then it ranks your weak areas and schedules revision using FSRS, the algorithm behind Anki. It also writes practice questions on your weak topics and exports misses to Blooket. Built on my own past papers: 387 real questions from 22 worksheets. What was challenging The models can run in four places: my GPU, your API key, your own Ollama, or not at all. A student with a GPU should never send homework to my server. A student with nothing should still get something. Topic tagging needs an embedding model that serverless hosting cannot run. So the shortlist is a pgvector query on the server and the vector is computed anywhere, including in your browser under WebAssembly. Worst bug was three characters: I stored the global fetch on a class field, which passes the object as the receiver. Node allows it, browsers throw Illegal invocation. Every test passed and the only runtime that mattered was broken. What I am proud of It does not lie to you. Weak topics are ranked by a Wilson lower bound, not a raw percentage, so two unlucky answers cannot fake a weakness. Model-written questions are kept out of your accuracy, so the ranking cannot feed the questions it generates. Every model response is schema-checked before it reaches the database. Generated practice is sifted against thirteen specific failure modes. When my GPU is off, the upload screen says so instead of spinning. 1,459 unit tests, 84 end to end, 293 commits. How to test it Sign in with Google, or an email and password. Upload any worksheet you have already done. A past paper works well. Check what it read. Each question sits beside the page image it came from. Mark what you missed, then open the dashboard. The free trial reads three worksheets on my own GPU. If it is off, your upload queues and the app tells you. To skip the wait, settings takes your own API key or connects to Ollama on your machine. guys i wish this was markdown compatible but its not so sorry
StudyBuddy - https://trystudybuddy.vercel.app fyi before u try it: reading runs on a free model with a shared daily cap, and ship day is way more traffic than a normal day. please use the sample worksheets wherever u can (they’re the first thing on the upload page, one click) and upload at most one of ur own pdfs for the next day or two. if the homepage says the free reads are used up, the samples still work. what it does upload a worksheet pdf. it reads every question off the page, tags each one by topic, and works out the answer key. u mark which ones u got wrong and it brings them back on an FSRS schedule (the algo anki uses). across every test u upload it turns “i got 12 wrong” into “ur bad at ratios”. what changed since last time runs on openrouter’s free tier instead of my gpu. not a proof of concept anymore one worksheet is ~4 requests instead of ~42. pages are read in groups the site says when the day’s free reads are running low. clear about the trial: 3 worksheets free, then still free, u just add questions by hand or plug in ur own key. what was hard free models reason before they answer and bill that against the output limit which ends up causing an error, but its really hard to figure out the embedding-only shortcut for sorting looked fine and was wrong a third of the time so fixed it...
|
1793407978.798839
|
1793494378.798839
|
|
57981
|
Crablings Game by @kudakoki | Stardance
|
kudakoki
|
0
|
4.74
|
0
|
[]
|
[{"post_id": 66351, "ts": "202 [{"post_id": 66351, "ts": "2026-09-12T03:58:30Z", "hours": 0.5639, "text": "Figured out how to make the background, adjusted some hitboxes for my crab, and got to see it move! I think I coded other things too but I can’t remember (was working today)"}, {"post_id": 64560, "ts": "2026-09-09T02:05:17Z", "hours": 0.3339, "text": "My sprite instead of garlic for Wario Ware! Sorry that most of my work has been…. well, a little small. School is picking back up, and being sick made it a lot harder."}, {"post_id": 63957, "ts": "2026-09-08T01:32:28Z", "hours": 0.5436, "text": "FIRST SPRITE OF A CRABLING! Some of my minutes weren’t logged on Krita cause I broke it, but it makes up for like the 10 minutes i was idle on Godot on accident, but ITS SO CUTE!!!!! Anyway production will be really slow because of college apps so I’m glad I was about to make a sprite!"}, {"post_id": 63117, "ts": "2026-09-06T18:57:14Z", "hours": 0.3667, "text": "Followed the guide for a timer but… Son what did I just code (high cortisol)… Kinda wish I had more of an understanding at this point but I basically know that when the lives = 4/3/2/1/0, claws disappear. Still really curious on what get_tree exactly means if any Godot pro wants to share"}, {"post_id": 63096, "ts": "2026-09-06T18:19:11Z", "hours": 0.7347, "text": "Garlic is now a carb claw! Mostly just drew, I know a lot of my time has gone to making nice graphics so I will try to focus on actually getting through code :) though I’m sick so I might have to take a break from the little crablings."}, {"post_id": 62541, "ts": "2026-09-05T23:46:38Z", "hours": 0.7133, "text": "I think I fixed the global script! (honestly just going to wing that from here, looked strange and acted weirdly) I drew a background for the lives screen but thats about it for now. Hopefully the minigames will have simpler visuals and I’ll be used to drawing on krita by then!"}, {"post_id": 61544, "ts": "2026-09-04T14:48:11Z", "hours": 0.4625, "text": "I made a (not functioning) title screen! Buttons worked nicely and I liked customizing things. However, I had to do a whole lot of troubleshooting, and my play test shows non-working buttons. I also made a global script, but I don’t really know where to find it so we will see when I get there."}, {"post_id": 61512, "ts": "2026-09-04T13:48:54Z", "hours": 1.0172, "text": "Decided on a name for my Wario Ware game and drew the background! These little things are called Crablings, and they’re going to be EVERYWHERE! Also working on the title screen, but I’m hoping to get that done soon :)"}]...
|
Title: Crablings Game by @kudakoki | Stardance
De Title: Crablings Game by @kudakoki | Stardance
Devlogs:
Decided on a name for my Wario Ware game and drew the background! These little things are called Crablings, and they’re going to be EVERYWHERE! Also working on the title screen, but I’m hoping to get that done soon :)
I made a (not functioning) title screen! Buttons worked nicely and I liked customizing things. However, I had to do a whole lot of troubleshooting, and my play test shows non-working buttons. I also made a global script, but I don’t really know where to find it so we will see when I get there.
I think I fixed the global script! (honestly just going to wing that from here, looked strange and acted weirdly) I drew a background for the lives screen but thats about it for now. Hopefully the minigames will have simpler visuals and I’ll be used to drawing on krita by then!
Garlic is now a carb claw! Mostly just drew, I know a lot of my time has gone to making nice graphics so I will try to focus on actually getting through code :) though I’m sick so I might have to take a break from the little crablings.
Followed the guide for a timer but… Son what did I just code (high cortisol)… Kinda wish I had more of an understanding at this point but I basically know that when the lives = 4/3/2/1/0, claws disappear. Still really curious on what get_tree exactly means if any Godot pro wants to share
FIRST SPRITE OF A CRABLING! Some of my minutes weren’t logged on Krita cause I broke it, but it makes up for like the 10 minutes i was idle on Godot on accident, but ITS SO CUTE!!!!! Anyway production will be really slow because of college apps so I’m glad I was about to make a sprite!
My sprite instead of garlic for Wario Ware! Sorry that most of my work has been…. well, a little small. School is picking back up, and being sick made it a lot harder.
Figured out how to make the background, adjusted some hitboxes for my crab, and got to see it move! I think I coded other things too but I can’t remember (was working today)...
|
1792731147.580264
|
1793335947.580264
|
|
40879
|
River by @henry1155 | Stardance
|
henry1155
|
0
|
50.81
|
0
|
[]
|
[{"post_id": 66354, "ts": "202 [{"post_id": 66354, "ts": "2026-09-12T04:25:19Z", "hours": 1.7753, "text": "9/11/2026 - 20th Update! well, it’s 10:17 PM, lets get to it! a while before i updated the background of the banner so its darker and added a glow, thought it made things look a bit better? idk anyways, bom time, more like everything time, what do we have left to do? test code (bare sample) cad double check and export update bom (add M2 screws, double check) ship??? so yeah, let’s get that done tonight! well, you know my main source for all screws :p ( here on aliexpress!) ok, bom should be good, cad should be good, exporting… ok, another banner update! it now has the pcb in the background! (faded, of course!) ok, it’s 11:56 PM now, gonna quickly commit, did a ton of docs, readme stuff, bom stuff, basically i think (might be missing something?) mostly everythings ready except for the firmware! well, tried my best, really cant write the firmware right now, its kinda weird to do it without constantly flashing and testing it (yeah, its not optimal, but still, thats my favorite way to do it) ok, a bit more clean up work, i think we’re ready to ship! The rushing torrent of water. It’s rushing and rushing, basking below a warm summer sun, except the water keeps rushing, streaming as a tidal wave rather than a river. It’s fast, almost unstoppable, gushing as it passes by. The torrent’s calming! Quick, swim to the side! And indeed it was. After nearly two months, bobbing, rather, tumbling, through the crashing flow of the waters, it found its rhythm. Swimming to the shore, this adventure, has come to an end, and a considerably unfamiliar land presents itself, much different than the place upstream… ok, it’s 12:22 AM now, gonna move this to the website so its updated with today’s stuff! hope you enjoyed that little bit of writing, and yeah, for now, good night! hey its 1:13 AM and im back, added some basic firmware stuff so its more than a blinking led, still gotta work on it a bit, also updated the readme with the audio part names but yeah, for now, good night!"}, {"post_id": 66310, "ts": "2026-09-12T02:18:43Z", "hours": 1.4944, "text": "9/10/2026 - 19th Update! ok, 10:42 PM, wow, we’re locked in tonight! no time to waste, to onshape! wow got started so fast i forgot to post last updates log to the site, one second… ok, back to onshape! ok, here it is! added the port holes and stuff, did a couple checks, it should be ok? of course, the cad can be adjusted when the actually parts arrive! anyways, exporting stuff so that i can make a thing for this! so some how i only have 6.7GB of storage left. kinda funny but not very good, ill deal with that later… ok, good amount of work today! wrapped up the cad work it seems, also did some banner stuff! (check the readme!) anyways, i think i need another day for this, with that said, it’s 12:24 AM, and yeah, good night!"}, {"post_id": 65743, "ts": "2026-09-11T03:01:09Z", "hours": 2.4803, "text": "9/5/2026 - 18th Update! ok, it’s 9:28 PM, they rejected the part request (lel) back on like 8/28/2026, yeah its been a week anyways, lets finish this one up? ignore the bottom right corner if youre on lookout, idk if it even records it but i need to watch a video right now anyways gonna change the sd card footprint thing now nvm dont need to watch this video i guess ok, should be replaced, gonna double check it has a model ok, it does, just came back after a quick half hour break (well thats not quick), 10:40 PM and checking for errors… ok, 10:56 PM, it should be good! added a couple more vias for ground stuff, gonna commit and prepare to export! ok, back at 11:38 PM, let’s export! (also for reference this is the jlcpcb part for the microsd card) anyways, all exported, doing jlcpcb stuff now! ok, stuff should be moved over, time to go to placement! well, seems good now? huh looks like jlcpcb got an update some time recently, anyways, after comparing images, looks good! hmm well, ggs! the boards good to go it seems! quick commit well, now all we need to do is clean up the repository and prepare to ship! (and some test code, cant really do much right now, of course) ok its been like half an hour, havent done much, i think im gonna end it here! so yeah, shipping and maybe updating the cad is the only thing really left (oh wait and screws for the bom), so yeah, it’s 1:14 AM, good night!"}, {"post_id": 62581, "ts": "2026-09-06T01:27:52Z", "hours": 1.4269, "text": "8/27/2026 - 17th Update! ok, 10:39 PM, lets speed through this! ok, quite a bit of rotating stuff on jlcpcb’s side, but here it is! it should mostly be good? only thing im not sure of is the crystal but yeah! hopefully when i reload the page it saves… no it doesnt. well, thats annoying. well, 11:21 PM, made an application for the sd card thing to actually get a model, so yeah, not much i can do today, unfortunately? just kididng, cad could use some work, brb ok, 11:47 PM, im back! shrunk the middle section from 1.4cm to 0.75cm! nvm its back at 0.95cm, anyways, total height decreased from 2.1cm to 1.5cm! ok, 11:54 PM, brb! back at 12:44 AM, i guess its a good time to assemble a bom? (for the other parts) well, 1:07 AM, that wasnt really much… yeah, gotta wait till the 3d model for the micro sd card slot appears or i just gotta replace it, idk, but yeah, i guess ill check tomorrow evening, if its not there, i guess ill just replace it? but yeah, 1:21 AM now (yes i got distracted), so yeah, good night!"}, {"post_id": 56344, "ts": "2026-08-28T02:39:22Z", "hours": 4.7917, "text": "8/26/2026 - 16th Update! well, welcome back, it’s 3:00 PM here in nyc right now, a bit of a warm day, i kinda want to get this done, its taken far too long (its been a month already?). i kinda have more important things to sort out, but they can wait a bit, they’re not like extremely time sensitive! ok, 3:10 PM, im actually back now, ive been considering removing the encoder (yet itll look crazy weird, i know), imo, most features should be still possible without it, just a bit more annoying to navigate with long presses and stuff, idk. eh, whatever, im gonna first play around with the layout to see if its possible first ok, audio jack moved to the bottom (and added the 3d model!), lets run drc… uh, suspiciously no error? quick commit! had a great idea (flipping the switches upside down for more space) uh it would probably be better to keep the data lines short right hold on did i reverse the audio jack direction… anyways, 5:10 PM, micro sd card is there and all drc errors fixed! gonna commit real quick and then run to the bathroom… ok, 5:38 PM and back! ok, did a bunch of via stuff so all the grounds are more connected, fixed up some silkscreen text, the only thing really left is to fix the silkscreen art stuff, but yeah! so yeah! gotta double check that audio jack direction again (it should be correct now?), but yeah, it’s 6:33 PM, off to dinner, brb! 9:48 PM, did a good amount of work off camera fixing the silkscreen and stuff, but yeah, pretty happy with where it is now! could probably start exporting stuff now? gonna quickly commit first though… oh yeah, also checked the length of the traces that should be equal (usb c connections), they’re still good! ok, 11:32 PM, im back for a bit, time to export stuff! (again!) 12:23 AM, lots of part picking, gonna brb! im back at 1:53 AM, lets quickly finish this up! i really cant find an led that works. well, had a little help, but C524052 works!!! well, that said, it’s 2:43 AM, the bom has been exported and should be there, im gonna go to sleep now, gotta wake up earlier tomorrow for something, so yeah, good night!"}, {"post_id": 55203, "ts": "2026-08-26T19:00:27Z", "hours": 2.8567, "text": "8/23/2026 - 15th Update! so. how much silkscreen art can someone make? turns out, not enough, but i think im at the point where im mostly satisfied with the decoration and the layout, in theory, we can kinda finish everything today? it’s 6:01 PM right now in nyc, im just gonna get ready to post yesterday’s (well, two days ago’s) updatelog onto the website oh yeah, another cool thing, i figured out how to fix my s key! its staying in there pretty well so far, so let’s see how it holds up… ok, ive posted it there, what do we have left? finish the pcb clean up (not much, really, just notes and checks) drc again, check its all updated and good export and do the jlcpcb stuff, create and calculate bom/prices decide whether or not to use female headers for the removable screen on one side is the audio jack, repairability and, well, the art on the other side is increased height and possible connection issues its really just that the audio jack probably doesnt fit make the side heights readable (this cad is abysmal) well, what are we waiting for? let’s get to it! i, in fact, did not lock in. just kidding! this looks good for the header stuff i was talking about, id say the screws should also be able to secure everything, so thats another plus! quick commit, one second ok, 7:35 PM now, gonna go to dinner now, lots of cad work! ok, see ya in a bit! back at 10:57 PM, let’s just finish this :p so. i just realized something. it’s not a good realization. the sd card is on the top. the microphone jacks is on the top, that’s fine, but the sd card holder is on the top. why is this an issue? well, i was particularly avoiding double sided assembly for the costs. and then i forget about this. i guess we cant avoid it then, 11:44 PM, these docs are confusing im back at 1:52 AM, im gonna try this again thanks to this help article! i guess doing it manually instead of the fabrication toolkit or something back with hackpad was needed… ok, 2:15 AM, im basically not able to do anything right now. im pretty sure i cant keep going with standard pcba, since it gets crazy expensive (yeah, im trying to not make it super expensive) and it has some weird setup thing that i really dont want to figure out (something about adding extra rails to the side? i mean, thats not optimal here). so yeah, i cant do anything for now. what that means is that i have to do a ton of redesigning, specifically moving the sd card and audio jack to the bottom (maybe ill remove the encoder for it??? who knows), and of course the leds (just kidding, maybe the resistor, but the rest is staying on top! ill just have to do some (abysmal) hand soldering…) so yeah. that’s where things are at, it seems. ill probably have to remove the female pin header row and just direct solder it then? but yeah, that’s it for now. well, i guess theres more to do know, it’s 2:21 AM, so yeah, good night!"}, {"post_id": 53375, "ts": "2026-08-23T22:04:20Z", "hours": 0.2781, "text": "8/21/2026 - 14th Update! so… where have i been? it’s 10:51 PM, one second… though it may appear like ive locked out, ive spent like a least three hours drawing the silkscreen stuffs! yeah! looks pretty nice, along with that, fixed a whole bunch of errors and warnings, so now, the only warning are just silkscreen stuffs (and that the debug pins arent connected). also, yeah, added the run pads, idk how useful that is, also, the only warnings right now are that and the fact that we had to make one of the audio chip holes bigger (shouldnt be a problem i hope? i mean, the things are already connected so…) might have to look into that one anyways, yeah! added more vias here and there, cleaned stuff up a bit! mostly was working on silkscreen art, probably shouldve timelapsed it but its really whatever, idk if it wouldve counted anyways, but yeah so… what now? yeah, tha’s pretty much an update of where ive been, idk what happened the third day i wasnt here, i think a reasonable goal is shipping this by the end of the month, then fermion work starts brb! ok, back at 2:40 AM, obviously not an eventful day and more of a catch up and commit thing, snuck in a couple more jokes and references, they’re under the oled! (the 128x32 display, not the other one) well, that’s it for me today! it’s 2:41 AM, so good night!"}, {"post_id": 52048, "ts": "2026-08-22T02:51:57Z", "hours": 3.5461, "text": "8/18/2026 - 13th Update! a little later, but here nevertheless! it’s 10:02 PM in nyc, and yeah, here we go! goal today is to mostly (???) finish the pcb! so uh, i ran drc and the whole thing froze, 73 errors and 200 warnings, wow, anyways, most of the stuff is complete! well, issues aside, we still have to add the test points and stuff, but yeah, good progress! it’s currently 11:40 PM, gonna brb! via spam go brr, anyways, yeah, see ya in a bit! back at 1:23 AM, yeah, earlier than usual, back to pcb work! so i kinda dont have anywhere to place the test/debug pins. yeah. well, 3:10 AM, all DRC errors solved! theres some goofy shenanigans to get U9 to have the thermal relief to zone incomplete error to go away, but its really whatever, nothing really changes about the real area! now, we have a ton of warnings (lots of them are about silkscreen size), but its really whatever, its more for aesthetics anyways, at least the smaller text! so yeah! i think thats a good place to end for today, that said, it’s 3:14 AM (wow, pi digits huh?), so good night!"}, {"post_id": 50038, "ts": "2026-08-19T02:03:40Z", "hours": 4.2569, "text": "8/17/2026 - 12th Update! is bro actually locked in? 8:55 PM today, the goal’s to finish most of the pcb today! which would kinda be insane good news! its the right connector. bad news? its kinda too big in the current setup. so yeah. we have three choices flip the rp2040 into the middle lots of moving and redesigning i dont really want to do increased chance of hitting the things on the bottom of the display silkscreen on the bottom would be cooler make the center thicker makes the entire thing bigger, idk move the rp2040s closer makes size stuff tricky/annoying to deal with evil upside stuff probably the best but definitely the most jank solution shouldnt do it since its not really designed for it so i. uh. dont understand my own cad. why did i make this so unreadable i think making the center thicker is the best choice here sd card wired, idk how necessary similar trace lengths are needed, but i did it within 5mm so it should be alright according to some random sources? ok, 2 hours later, it’s 10:57 PM! the audio stuff is wired together, havent added it to the rp2040 yet, it’s kinda a bit wonky right now, might need to rotate the stuff to properly add it, so yeah! ok, gonna brb! some three hours later and back! it’s 1:51 AM, let’s lock in real quick another bit more than 2 hours later, a ton of stuffs wired up! mcu communication and displays, the audios to the mcu pins, buttons, and more! so yeah! good progress today, that said, it’s super late now, since it’s 3:59 AM, so yeah, good night!"}, {"post_id": 49294, "ts": "2026-08-18T00:54:53Z", "hours": 6.1933, "text": "8/16/2026 - 11th Update! ok, 6:23 PM, and some 10 days later, the one week project turned into three, yeah, i got demotivated again however, after practicing jumpstyle out of nowhere, something flipped in my head and now i just wanna lock in. yeah. thats really the only reason why im back lol. anyways, pcb time, im thinking that we dont really need to expose so many pins, but its ok if we need to vscode looking a little different today. huh. anyways, pcb time ok, the base is done! all the holes should be laid out, added some extra effort and added curved edges! wow, 10:42 PM! 4 hours and 10 minutes later, straight lock in and pcb work, mcu a is done! at least, mostly done, havent double checked for issues yet so yeah, gonna go watch a movie, brb! 2:13 AM and back, here we go! ok a bit thirsty, pretty sure that the tap water here in nyc is very good, anyways, its a nice cool rainy night here in nyc! so uh, idk if theres a faster way to like copy paste what i just did ok, 1 hour and some 37 minutes later, it’s nearing 4am (it’s 3:55 AM), so i think here’s a good place to end! great lock in today, around 6 hours of work done! so yeah! that’s pretty nice, good start to pcb stuff, should go pretty smoothly from here? idk lol, anyways, it’s 3:58 AM, good night!"}, {"post_id": 43101, "ts": "2026-08-08T05:44:58Z", "hours": 1.8058, "text": "8/6/2026 - 10th Update! double digits uh oh, 9:37 PM, gotta go fast (sonic reference?) we do need a schottky diode (like a specific one) (no way, did i spell that right? wow) ok, lots of things assigned footprints, cleaned some stuff up, fixed some ERC stuffs, imports schematic to pcb well, no errors other than the rotary encoder, gonna look into that real quick oops didnt use the switch version ok, thats fixed, updates well, some warnings but no errors, gonna look into that in a second but for now, quick commit! (yes i undid all the pcb stuff so that it actually updates when we do real stuff) ok 10:37 PM, gonna go watch a movie now, brb! back at 1:23 AM, let’s quickly fix it, idk why my shoulders hurt a bunch today… ok, looked in a bit deeper, shouldnt be an issue! hmm thinking about layout and we probably should break up all the gpio 20 pins into sections based on what they do for debug rather than in header form, since, well, it’s not gonna be fun to route around them. yeah, probably will do that tomorrow… or why not now? so uh, idk why the crystal size is off, gonna look into that tomorrow, but yeah, pin groups made! the spi and uart and run pins have headers in the lower area for mcu communication (outside of the picture), so yeah, got a couple things to double check, but pcb work should be able to start soon! and yeah! it’s 2:27 AM, so that’s about it for today, good night!"}, {"post_id": 42367, "ts": "2026-08-07T01:38:45Z", "hours": 2.4814, "text": "8/5/2026 - 9th Update! yeah, took a day off yesterday for some silly art, anyways, 5:15 PM, and we’re back! ok, added the updatelog from 8/3/2026 onto the website, so we have to finish the schematic today! todo update pins to add spi communication between the two mcus add backup for uart or some other communciation method add redundancy for other peripherals other audio jack formats other than TRS, USB, etc. and more lists MCU A 0-3: SPI0 MCU (to implement) 0-6: Buttons (switch to 4-10) updated, GPIO10 is the connector 8-11: Micro SD Card (switch to 11-14) changed RX from 8 to 12 changed CS from 9 to 13 changed SCK from 10 to 14 12-13: OLED 128x32 Display (switch to 18-19) changed SDA from 12 to 18 changed SCL from 13 to 19 16-17: UART0 MCU (backup) (to implement) 23-25: RGB, Board, Boot LEDS 26-28: Audio MCU B 0-3: SPI0 MCU (to implement) 0-5: LCD 128x160 Display (switch to 8-13) changed BLK, generic from 5 to 13 changed CS, SPI1 CSn from 1 to 9 changed DC, generic from 0 to 8 changed RST, generic from 4 to 12 changed SDA, SPI1 TX (MOSI) from 3 to 11 changed SCL, SPI1 SCK from 2 to 10 16-17: UART0 MCU (backup) (to implement) 23-25: RGB, Board, Boot LEDS ok, stuff updated, gotta implement the connection now, ok, pin set thingy added, also gotta consider how to do the board connection thing since it’ll be more repairable if we have an array of pins headers instead of soldering the display directly to the board, but for now, quick commit! so, in trying to rename a commit, i seem to have deleted the commit for 8/3/2026… uh, my bad oh the timelines messed up a bit… uh, let’s ignore that, 6:24 PM, off to dinner! im back at 12:53 AM. no, dinner was not 6 hours lol added a TS audio jack, then learned that, according to the docs under section 3.4, its not exactly for headphones but is meant for amplifier inputs (they do work with high impedance headphones but idk whether i have those) huh kicad just went black ok, back from kicad, just did a bunch of audio stuff, idk how much of its correct, but it’s kinda 2:18 AM right now so yeah, here’s a picture! yeah, had to mvoe things around a bit, idk, still gotta look more into this, had to pull up the datasheets lol (pull up? like pull up resistors???) anyways, it’s now 2:20 AM, so yeah, good night!"}, {"post_id": 41573, "ts": "2026-08-05T21:18:00Z", "hours": 3.1422, "text": "8/3/2026 - 8th Update! 9:20 PM, let’s go ok, figure 23 on page 25 of this raspberry pi documentation seems good, did a bit of research, seems that pcm is better than pwm here for audio use cases, with the tradeoff of requiring more electronics ok, so its like 11:16 PM, here’s the progess! audio thing and sd card thing should both be done, need to look into how to program them (and to verify that its correct), but seems nice so far! still need to work on the display stuff, might also add some leds, quick commit! ok, back at 11:57 PM (as in, i took a bit of a break), time to do the display and leds (maybe? idk) ok, everythings looking good! still need to check if the spi for the displays are correct, but now we also need to consider how we’re gonna do the communication between the rp2040s! 1:03 AM, gonna take a second to rest, quick commit! ok, its a bit later now, i think im gonna end today here, decent progress, really need to finish the schematic and start layout tomorrow! yeah! that said, it’s 1:48 AM, so good night!"}, {"post_id": 40479, "ts": "2026-08-04T01:19:38Z", "hours": 3.3236, "text": "8/2/2026 - 7th Update! 3:56 PM, goal for today is to finish the schematic, verify it, then start work on the pcb itself! looking forward to that, seld reminder to double check what should be close with what and trace width too welcome back! its actually 4:22 PM, i am not locked in mfw i learn that you can flip components in schematic ok, back at 5:35 PM! good progress, just placed a bunch of the out pins, of course, we’re not exactly gonna use them, but it would be cool to actually just use them as a devboard as well! anyways, quick commit! ok, 5:41 PM, brb! (bro is not coming back for a bit) ok, 9:50 PM, im back! back to kicad… idk what im doing, made a footprint though! ok, added the stuff, assigned a bunch footprints to stuff, hmm still gotta wire the stuff back at 11:40 PM, added the 128x160 display footprint and symbol, along with the switches and encoder wiring! gonna need a jumper thing there, probably should implement them more? idk also, one more thing, i forgot. yeah, oh right, we need an audio jack thing (or some speaker? idk, research time) quick commit! ok, 1:17 AM, yeah, didnt get much done between then and now, didnt really feel exactly motivated to get back to it? anyways, idk how, but my short video on the capacitor text flying off screen has amassed 400+ likes and 8.8k+ views in 10 hours (which is like x20+ the amount of views the spark edit had, which took 5 hours lol), not complaining though! so yeah! that’s the progress on the schematic so far, good amount of assigning footprints too! anyways, at the time of writing, it now has 9k+ views. which is kinda insane. anyways, yeah! so, that’s it for now, it’s 1:24 AM, good night!"}, {"post_id": 39665, "ts": "2026-08-02T19:51:27Z", "hours": 3.6836, "text": "8/1/2026 - 6th Update! its 5:26 PM, time to lock in, new month by the way! just moved yesterdays log onto the website i dont think i can design it to have the top of the screws flush with the surface, idk, it might look better without that? who knows cad work is pretty good! time to move the work to kicad… (also, do note that the main screens gonna have some stuff so it can actually align well, we still have spacers and tabs to cad!) the main point of getting the case and layout ok, 6:56 PM, made the kicad, gonna get started after dinner! quick commit ok, 8:56 PM now, wow, basically exactly two hours later! no, i didnt eat dinner for two whole hours (yes ill keep making this joke) anyways, pcb time, seems like theres no dedicated kicad wakatime/hackatime thing, thats kinda sad (im also on kicad 8 lel) just checked the stardance site, why does my updatelog from yesterday have more views/reactions than any of the posts in spark lol i have no clue where to start. probably gonna heavily reference this guide back from blueprint for resources! well, what am i waiting for? here we go! once i get lookout/timelapse thing set up! ok, 10:14 PM, lots of stuff done! basically, im up to adding the io stuffs, but since we’re not making a devboard (im still gonna break out a good amount of pins), we’re just gonna gloss over that… anyways, yeah, quick commit! so uh, ive been thinking. how does one power/program this. well, the idea right now is three usb c ports, one for only power and controlling everything, and the other two for individual power/flash! its a little jank, but idk how the power stuff is gonna work (at least for the capacitors) we also need diodes aaaaaaa ok, 10:45 PM, gonna go watch a movie, brb! back at 1:39 AM, why am i scared to make changes, i have version control… mfw there are 67 footprints in total (according to the assign footprints list), anyways, 2:37 AM, with that, i think here’s a good place to stop for today, discovered the blue boxes existed and had a ton of fun with it! so yeah, that’s it for tonight, it’s currently 2:40 AM, good night!"}, {"post_id": 39150, "ts": "2026-08-01T21:27:39Z", "hours": 1.7869, "text": "7/31/2026 - 5th Update! well, it’s 9:41 PM, on the last day of july. quite a month lol anyways, gotta lock in, back to cad!!! since when were headers (long side, past the black square section) 6mm? guess they always were we should also probably have a simple oled on the top for the text, with the graphics beneath it… it could probably be driven by the main rp2040 since its not that intensive hmm might be better to put this on the second? idk, i dont think im gonna add a scrub bar (as in saying the progress of the track) in order to save processing power, i actually dont know, it might be a good idea actually ok, some ui drawing later, we have a 128x32 image! probably not gonna actually put an image on the disc place, shouldnt take much effort for anything to update it (since its both monochrome and only 128x32) (maybe we can do some optimization to only update section of it if that’s possible? idk) this looks pretty good, time to cad the picture! nvm, it doesnt have the pin locations in the picture… this is also pretty good, this time with the pin locations in the diagram! wait it doesnt have the side profile mfw these are like the exact same products, just gonna go with the first one erm this things gonna be 1.5cm tall in total, at least currently, thats pretty compact! self reminder to add extra clearance on the sides of the display ok, 10:42 PM, movie time, brb back at 2:05 AM, so the layout of this things gonna have to be super super super annoying, gonna draw something out real quick, actually its probably faster to write it, basically, the base is obvious, just pla, but after that, we’re gonna need some form of four screws to hold everything together, with spacers in between! mentioned yesterday, with the ideas of the buttons on the side, it’s still possible, but i’d say unlikely. it’s not exactly easy to make easy push buttons on the side, we’ll probably have to have some mount, which is also not pleasant to make, especially with the fact we have to wire that up. i’d more prefer if we could have it on the board itself, but that’s obviouslly not possible or is it? turns out, while write that, i remembered that, since the height’s 1.5cm, we can, in fact, have a couple of switches on the bottom! like, actual buttons! we cant really fit full keyswitches there… well, we can fit three, and have the rotary encoder on the top we might be onto something, speakers are gonna have to wait, probably unlikely, headphone jack is gonna be on the side, probably next to the power section back to cad work so i just researched 18650 batteries again. probably best to just use a charger. idk, still like the jumper for usb c and battery power idea erm hows it 2:43 AM, ok, did a bit more cad work, here’s the state of stuff yeah, that’s gonna be it for now, i should probably design this with more space, the x direction right now is set by the display itself, which is quite interesting, gonna probably have to make a protection thing so stuff doesnt collide, havent considered if i actually am gonna add a battery to it and exactly where (would need to find a battery holding unit and get the dimensions, probably gonna quickly grab that from the 18650 battery holders from raven or something) anyways, 2:47 AM right now here in NYC, good night!"}, {"post_id": 38022, "ts": "2026-07-31T05:14:09Z", "hours": 5.4819, "text": "NEW PROJECT WOOOO I probably should’ve started writing this sooner Anyways, welcome back! After Open Sauce, I’ve been brainstorming plans for my next build, ????? (you’re gonna have to check my updatelogs on github for the secret name :p), where there are some constraints on the build that I’ve planned that might require it to have a custom PCB… Looking at that now, it might not happen, but who knows, fun to explore custom pcbs anyways! The goal for River? Basically to create a cursed setup where it just stores and plays music, which displaying some synced graphics, similar to something like the Internet Archive (and Milkdrop inside it)! It’s kinda an evil RP2040 devboard in a sense, which the twist being that… theres kinda two RP2040s (at least, the plan is). Simply, one is to work on the music, the second is to work as a display/graphics controller! So, what’s been done? Currently, a LOT of benchmarking with circuitpython (and C (wow, scary!)) to measure whats a reasonable way to do this. As mentioned, we’re gonna probably have to use C for reasonable speeds for the graphics controller (which appears blazingly fast! no, not gonna try rust lol). Currently, 128x128 with an SPI interface seems like the plan! Talking about the display, today (7/30/2026) has mostly been part sourcing, specifically for the display, as that’s what everything’s gonna have to revolve around! One was found (check the repo and today’s updatelog for the link), and CAD has started! Well, that’s it for now! See ya in a bit!"}]...
|
Title: River by @henry1155 | Stardance
Devlogs:
N Title: River by @henry1155 | Stardance
Devlogs:
NEW PROJECT WOOOO I probably should’ve started writing this sooner Anyways, welcome back! After Open Sauce, I’ve been brainstorming plans for my next build, ????? (you’re gonna have to check my updatelogs on github for the secret name :p), where there are some constraints on the build that I’ve planned that might require it to have a custom PCB… Looking at that now, it might not happen, but who knows, fun to explore custom pcbs anyways! The goal for River? Basically to create a cursed setup where it just stores and plays music, which displaying some synced graphics, similar to something like the Internet Archive (and Milkdrop inside it)! It’s kinda an evil RP2040 devboard in a sense, which the twist being that… theres kinda two RP2040s (at least, the plan is). Simply, one is to work on the music, the second is to work as a display/graphics controller! So, what’s been done? Currently, a LOT of benchmarking with circuitpython (and C (wow, scary!)) to measure whats a reasonable way to do this. As mentioned, we’re gonna probably have to use C for reasonable speeds for the graphics controller (which appears blazingly fast! no, not gonna try rust lol). Currently, 128x128 with an SPI interface seems like the plan! Talking about the display, today (7/30/2026) has mostly been part sourcing, specifically for the display, as that’s what everything’s gonna have to revolve around! One was found (check the repo and today’s updatelog for the link), and CAD has started! Well, that’s it for now! See ya in a bit!
7/31/2026 - 5th Update! well, it’s 9:41 PM, on the last day of july. quite a month lol anyways, gotta lock in, back to cad!!! since when were headers (long side, past the black square section) 6mm? guess they always were we should also probably have a simple oled on the top for the text, with the graphics beneath it… it could probably be driven by the main rp2040 since its not that intensive hmm might be better to put this on the second? idk, i dont think im gonna add a scrub bar (as in saying the progress of the track) in order to save processing power, i actually dont know, it might be a good idea actually ok, some ui drawing later, we have a 128x32 image! probably not gonna actually put an image on the disc place, shouldnt take much effort for anything to update it (since its both monochrome and only 128x32) (maybe we can do some optimization to only update section of it if that’s possible? idk) this looks pretty good, time to cad the picture! nvm, it doesnt have the pin locations in the picture… this is also pretty good, this time with the pin locations in the diagram! wait it doesnt have the side profile mfw these are like the exact same products, just gonna go with the first one erm this things gonna be 1.5cm tall in total, at least currently, thats pretty compact! self reminder to add extra clearance on the sides of the display ok, 10:42 PM, movie time, brb back at 2:05 AM, so the layout of this things gonna have to be super super super annoying, gonna draw something out real quick, actually its probably faster to write it, basically, the base is obvious, just pla, but after that, we’re gonna need some form of four screws to hold everything together, with spacers in between! mentioned yesterday, with the ideas of the buttons on the side, it’s still possible, but i’d say unlikely. it’s not exactly easy to make easy push buttons on the side, we’ll probably have to have some mount, which is also not pleasant to make, especially with the fact we have to wire that up. i’d more prefer if we could have it on the board itself, but that’s obviouslly not possible or is it? turns out, while write that, i remembered that, since the height’s 1.5cm, we can, in fact, have a couple of switches on the bottom! like, actual buttons! we cant really fit full keyswitches there… well, we can fit three, and have the rotary encoder on the top we might be onto something, speakers are gonna have to wait, probably unlikely, headphone jack is gonna be on the side, probably next to the power section back to cad work so i just researched 18650 batteries again. probably best to just use a charger. idk, still like the jumper for usb c and battery power idea erm hows it 2:43 AM, ok, did a bit more cad work, here’s the state of stuff yeah, that’s gonna be it for now, i should probably design this with more space, the x direction right now is set by the display itself, which is quite interesting, gonna probably have to make a protection thing so stuff doesnt collide, havent considered if i actually am gonna add a battery to it and exactly where (would need to find a battery holding unit and get the dimensions, probably gonna quickly grab that from the 18650 battery holders from raven or something) anyways, 2:47 AM right now here in NYC, good night!
8/1/2026 - 6th Update! its 5:26 PM, time to lock in, new month by the way! just moved yesterdays log onto the website i dont think i can design it to have the top of the screws flush with the surface, idk, it might look better without that? who knows cad work is pretty good! time to move the work to kicad… (also, do note that the main screens gonna have some stuff so it can actually align well, we still have spacers and tabs to cad!) the main point of getting the case and layout ok, 6:56 PM, made the kicad, gonna get started after dinner! quick commit ok, 8:56 PM now, wow, basically exactly two hours later! no, i didnt eat dinner for two whole hours (yes ill keep making this joke) anyways, pcb time, seems like theres no dedicated kicad wakatime/hackatime thing, thats kinda sad (im also on kicad 8 lel) just checked the stardance site, why does my updatelog from yesterday have more views/reactions than any of the posts in spark lol i have no clue where to start. probably gonna heavily reference this guide back from blueprint for resources! well, what am i waiting for? here we go! once i get lookout/timelapse thing set up! ok, 10:14 PM, lots of stuff done! basically, im up to adding the io stuffs, but since we’re not making a devboard (im still gonna break out a good amount of pins), we’re just gonna gloss over that… anyways, yeah, quick commit! so uh, ive been thinking. how does one power/program this. well, the idea right now is three usb c ports, one for only power and controlling everything, and the other two for individual power/flash! its a little jank, but idk how the power stuff is gonna work (at least for the capacitors) we also need diodes aaaaaaa ok, 10:45 PM, gonna go watch a movie, brb! back at 1:39 AM, why am i scared to make changes, i have version control… mfw there are 67 footprints in total (according to the assign footprints list), anyways, 2:37 AM, with that, i think here’s a good place to stop for today, discovered the blue boxes existed and had a ton of fun with it! so yeah, that’s it for tonight, it’s currently 2:40 AM, good night!
8/2/2026 - 7th Update! 3:56 PM, goal for today is to finish the schematic, verify it, then start work on the pcb itself! looking forward to that, seld reminder to double check what should be close with what and trace width too welcome back! its actually 4:22 PM, i am not locked in mfw i learn that you can flip components in schematic ok, back at 5:35 PM! good progress, just placed a bunch of the out pins, of course, we’re not exactly gonna use them, but it would be cool to actually just use them as a devboard as well! anyways, quick commit! ok, 5:41 PM, brb! (bro is not coming back for a bit) ok, 9:50 PM, im back! back to kicad… idk what im doing, made a footprint though! ok, added the stuff, assigned a bunch footprints to stuff, hmm still gotta wire the stuff back at 11:40 PM, added the 128x160 display footprint and symbol, along with the switches and encoder wiring! gonna need a jumper thing there, probably should implement them more? idk also, one more thing, i forgot. yeah, oh right, we need an audio jack thing (or some speaker? idk, research time) quick commit! ok, 1:17 AM, yeah, didnt get much done between then and now, didnt really feel exactly motivated to get back to it? anyways, idk how, but my short video on the capacitor text flying off screen has amassed 400+ likes and 8.8k+ views in 10 hours (which is like x20+ the amount of views the spark edit had, which took 5 hours lol), not complaining though! so yeah! that’s the progress on the schematic so far, good amount of assigning footprints too! anyways, at the time of writing, it now has 9k+ views. which is kinda insane. anyways, yeah! so, that’s it for now, it’s 1:24 AM, good night!
8/3/2026 - 8th Update! 9:20 PM, let’s go ok, figure 23 on page 25 of this raspberry pi documentation seems good, did a bit of research, seems that pcm is better than pwm here for audio use cases, with the tradeoff of requiring more electronics ok, so its like 11:16 PM, here’s the progess! audio thing and sd card thing should both be done, need to look into how to program them (and to verify that its correct), but seems nice so far! still need to work on the display stuff, might also add some leds, quick commit! ok, back at 11:57 PM (as in, i took a bit of a break), time to do the display and leds (maybe? idk) ok, everythings looking good! still need to check if the spi for the displays are correct, but now we also need to consider how we’re gonna do the communication between the rp2040s! 1:03 AM, gonna take a second to rest, quick commit! ok, its a bit later now, i think im gonna end today here, decent progress, really need to finish the schematic and start layout tomorrow! yeah! that said, it’s 1:48 AM, so good night!
8/5/2026 - 9th Update! yeah, took a day off yesterday for some silly art, anyways, 5:15 PM, and we’re back! ok, added the updatelog from 8/3/2026 onto the website, so we have to finish the schematic today! todo update pins to add spi communication between the two mcus add backup for uart or some other communciation method add redundancy for other peripherals other audio jack formats other than TRS, USB, etc. and more lists MCU A 0-3: SPI0 MCU (to implement) 0-6: Buttons (switch to 4-10) updated, GPIO10 is the connector 8-11: Micro SD Card (switch to 11-14) changed RX from 8 to 12 changed CS from 9 to 13 changed SCK from 10 to 14 12-13: OLED 128x32 Display (switch to 18-19) changed SDA from 12 to 18 changed SCL from 13 to 19 16-17: UART0 MCU (backup) (to implement) 23-25: RGB, Board, Boot LEDS 26-28: Audio MCU B 0-3: SPI0 MCU (to implement) 0-5: LCD 128x160 Display (switch to 8-13) changed BLK, generic from 5 to 13 changed CS, SPI1 CSn from 1 to 9 changed DC, generic from 0 to 8 changed RST, generic from 4 to 12 changed SDA, SPI1 TX (MOSI) from 3 to 11 changed SCL, SPI1 SCK from 2 to 10 16-17: UART0 MCU (backup) (to implement) 23-25: RGB, Board, Boot LEDS ok, stuff updated, gotta implement the connection now, ok, pin set thingy added, also gotta consider how to do the board connection thing since it’ll be more repairable if we have an array of pins headers instead of soldering the display directly to the board, but for now, quick commit! so, in trying to rename a commit, i seem to have deleted the commit for 8/3/2026… uh, my bad oh the timelines messed up a bit… uh, let’s ignore that, 6:24 PM, off to dinner! im back at 12:53 AM. no, dinner was not 6 hours lol added a TS audio jack, then learned that, according to the docs under section 3.4, its not exactly for headphones but is meant for amplifier inputs (they do work with high impedance headphones but idk whether i have those) huh kicad just went black ok, back from kicad, just did a bunch of audio stuff, idk how much of its correct, but it’s kinda 2:18 AM right now so yeah, here’s a picture! yeah, had to mvoe things around a bit, idk, still gotta look more into this, had to pull up the datasheets lol (pull up? like pull up resistors???) anyways, it’s now 2:20 AM, so yeah, good night!
8/6/2026 - 10th Update! double digits uh oh, 9:37 PM, gotta go fast (sonic reference?) we do need a schottky diode (like a specific one) (no way, did i spell that right? wow) ok, lots of things assigned footprints, cleaned some stuff up, fixed some ERC stuffs, imports schematic to pcb well, no errors other than the rotary encoder, gonna look into that real quick oops didnt use the switch version ok, thats fixed, updates well, some warnings but no errors, gonna look into that in a second but for now, quick commit! (yes i undid all the pcb stuff so that it actually updates when we do real stuff) ok 10:37 PM, gonna go watch a movie now, brb! back at 1:23 AM, let’s quickly fix it, idk why my shoulders hurt a bunch today… ok, looked in a bit deeper, shouldnt be an issue! hmm thinking about layout and we probably should break up all the gpio 20 pins into sections based on what they do for debug rather than in header form, since, well, it’s not gonna be fun to route around them. yeah, probably will do that tomorrow… or why not now? so uh, idk why the crystal size is off, gonna look into that tomorrow, but yeah, pin groups made! the spi and uart and run pins have headers in the lower area for mcu communication (outside of the picture), so yeah, got a couple things to double check, but pcb work should be able to start soon! and yeah! it’s 2:27 AM, so that’s about it for today, good night!
8/16/2026 - 11th Update! ok, 6:23 PM, and some 10 days later, the one week project turned into three, yeah, i got demotivated again however, after practicing jumpstyle out of nowhere, something flipped in my head and now i just wanna lock in. yeah. thats really the only reason why im back lol. anyways, pcb time, im thinking that we dont really need to expose so many pins, but its ok if we need to vscode looking a little different today. huh. anyways, pcb time ok, the base is done! all the holes should be laid out, added some extra effort and added curved edges! wow, 10:42 PM! 4 hours and 10 minutes later, straight lock in and pcb work, mcu a is done! at least, mostly done, havent double checked for issues yet so yeah, gonna go watch a movie, brb! 2:13 AM and back, here we go! ok a bit thirsty, pretty sure that the tap water here in nyc is very good, anyways, its a nice cool rainy night here in nyc! so uh, idk if theres a faster way to like copy paste what i just did ok, 1 hour and some 37 minutes later, it’s nearing 4am (it’s 3:55 AM), so i think here’s a good place to end! great lock in today, around 6 hours of work done! so yeah! that’s pretty nice, good start to pcb stuff, should go pretty smoothly from here? idk lol, anyways, it’s 3:58 AM, good night!
8/17/2026 - 12th Update! is bro actually locked in? 8:55 PM today, the goal’s to finish most of the pcb today! which would kinda be insane good news! its the right connector. bad news? its kinda too big in the current setup. so yeah. we have three choices flip the rp2040 into the middle lots of moving and redesigning i dont really want to do increased chance of hitting the things on the bottom of the display silkscreen on the bottom would be cooler make the center thicker makes the entire thing bigger, idk move the rp2040s closer makes size stuff tricky/annoying to deal with evil upside stuff probably the best but definitely the most jank solution shouldnt do it since its not really designed for it so i. uh. dont understand my own cad. why did i make this so unreadable i think making the center thicker is the best choice here sd card wired, idk how necessary similar trace lengths are needed, but i did it within 5mm so it should be alright according to some random sources? ok, 2 hours later, it’s 10:57 PM! the audio stuff is wired together, havent added it to the rp2040 yet, it’s kinda a bit wonky right now, might need to rotate the stuff to properly add it, so yeah! ok, gonna brb! some three hours later and back! it’s 1:51 AM, let’s lock in real quick another bit more than 2 hours later, a ton of stuffs wired up! mcu communication and displays, the audios to the mcu pins, buttons, and more! so yeah! good progress today, that said, it’s super late now, since it’s 3:59 AM, so yeah, good night!
8/18/2026 - 13th Update! a little later, but here nevertheless! it’s 10:02 PM in nyc, and yeah, here we go! goal today is to mostly (???) finish the pcb! so uh, i ran drc and the whole thing froze, 73 errors and 200 warnings, wow, anyways, most of the stuff is complete! well, issues aside, we still have to add the test points and stuff, but yeah, good progress! it’s currently 11:40 PM, gonna brb! via spam go brr, anyways, yeah, see ya in a bit! back at 1:23 AM, yeah, earlier than usual, back to pcb work! so i kinda dont have anywhere to place the test/debug pins. yeah. well, 3:10 AM, all DRC errors solved! theres some goofy shenanigans to get U9 to have the thermal relief to zone incomplete error to go away, but its really whatever, nothing really changes about the real area! now, we have a ton of warnings (lots of them are about silkscreen size), but its really whatever, its more for aesthetics anyways, at least the smaller text! so yeah! i think thats a good place to end for today, that said, it’s 3:14 AM (wow, pi digits huh?), so good night!
8/21/2026 - 14th Update! so… where have i been? it’s 10:51 PM, one second… though it may appear like ive locked out, ive spent like a least three hours drawing the silkscreen stuffs! yeah! looks pretty nice, along with that, fixed a whole bunch of errors and warnings, so now, the only warning are just silkscreen stuffs (and that the debug pins arent connected). also, yeah, added the run pads, idk how useful that is, also, the only warnings right now are that and the fact that we had to make one of the audio chip holes bigger (shouldnt be a problem i hope? i mean, the things are already connected so…) might have to look into that one anyways, yeah! added more vias here and there, cleaned stuff up a bit! mostly was working on silkscreen art, probably shouldve timelapsed it but its really whatever, idk if it wouldve counted anyways, but yeah so… what now? yeah, tha’s pretty much an update of where ive been, idk what happened the third day i wasnt here, i think a reasonable goal is shipping this by the end of the month, then fermion work starts brb! ok, back at 2:40 AM, obviously not an eventful day and more of a catch up and commit thing, snuck in a couple more jokes and references, they’re under the oled! (the 128x32 display, not the other one) well, that’s it for me today! it’s 2:41 AM, so good night!
8/23/2026 - 15th Update! so. how much silkscreen art can someone make? turns out, not enough, but i think im at the point where im mostly satisfied with the decoration and the layout, in theory, we can kinda finish everything today? it’s 6:01 PM right now in nyc, im just gonna get ready to post yesterday’s (well, two days ago’s) updatelog onto the website oh yeah, another cool thing, i figured out how to fix my s key! its staying in there pretty well so far, so let’s see how it holds up… ok, ive posted it there, what do we have left? finish the pcb clean up (not much, really, just notes and checks) drc again, check its all updated and good export and do the jlcpcb stuff, create and calculate bom/prices decide whether or not to use female headers for the removable screen on one side is the audio jack, repairability and, well, the art on the other side is increased height and possible connection issues its really just that the audio jack probably doesnt fit make the side heights readable (this cad is abysmal) well, what are we waiting for? let’s get to it! i, in fact, did not lock in. just kidding! this looks good for the header stuff i was talking about, id say the screws should also be able to secure everything, so thats another plus! quick commit, one second ok, 7:35 PM now, gonna go to dinner now, lots of cad work! ok, see ya in a bit! back at 10:57 PM, let’s just finish this :p so. i just realized something. it’s not a good realization. the sd card is on the top. the microphone jacks is on the top, that’s fine, but the sd card holder is on the top. why is this an issue? well, i was particularly avoiding double sided assembly for the costs. and then i forget about this. i guess we cant avoid it then, 11:44 PM, these docs are confusing im back at 1:52 AM, im gonna try this again thanks to this help article! i guess doing it manually instead of the fabrication toolkit or something back with hackpad was needed… ok, 2:15 AM, im basically not able to do anything right now. im pretty sure i cant keep going with standard pcba, since it gets crazy expensive (yeah, im trying to not make it super expensive) and it has some weird setup thing that i really dont want to figure out (something about adding extra rails to the side? i mean, thats not optimal here). so yeah, i cant do anything for now. what that means is that i have to do a ton of redesigning, specifically moving the sd card and audio jack to the bottom (maybe ill remove the encoder for it??? who knows), and of course the leds (just kidding, maybe the resistor, but the rest is staying on top! ill just have to do some (abysmal) hand soldering…) so yeah. that’s where things are at, it seems. ill probably have to remove the female pin header row and just direct solder it then? but yeah, that’s it for now. well, i guess theres more to do know, it’s 2:21 AM, so yeah, good night!
8/26/2026 - 16th Update! well, welcome back, it’s 3:00 PM here in nyc right now, a bit of a warm day, i kinda want to get this done, its taken far too long (its been a month already?). i kinda have more important things to sort out, but they can wait a bit, they’re not like extremely time sensitive! ok, 3:10 PM, im actually back now, ive been considering removing the encoder (yet itll look crazy weird, i know), imo, most features should be still possible without it, just a bit more annoying to navigate with long presses and stuff, idk. eh, whatever, im gonna first play around with the layout to see if its possible first ok, audio jack moved to the bottom (and added the 3d model!), lets run drc… uh, suspiciously no error? quick commit! had a great idea (flipping the switches upside down for more space) uh it would probably be better to keep the data lines short right hold on did i reverse the audio jack direction… anyways, 5:10 PM, micro sd card is there and all drc errors fixed! gonna commit real quick and then run to the bathroom… ok, 5:38 PM and back! ok, did a bunch of via stuff so all the grounds are more connected, fixed up some silkscreen text, the only thing really left is to fix the silkscreen art stuff, but yeah! so yeah! gotta double check that audio jack direction again (it should be correct now?), but yeah, it’s 6:33 PM, off to dinner, brb! 9:48 PM, did a good amount of work off camera fixing the silkscreen and stuff, but yeah, pretty happy with where it is now! could probably start exporting stuff now? gonna quickly commit first though… oh yeah, also checked the length of the traces that should be equal (usb c connections), they’re still good! ok, 11:32 PM, im back for a bit, time to export stuff! (again!) 12:23 AM, lots of part picking, gonna brb! im back at 1:53 AM, lets quickly finish this up! i really cant find an led that works. well, had a little help, but C524052 works!!! well, that said, it’s 2:43 AM, the bom has been exported and should be there, im gonna go to sleep now, gotta wake up earlier tomorrow for something, so yeah, good night!
8/27/2026 - 17th Update! ok, 10:39 PM, lets speed through this! ok, quite a bit of rotating stuff on jlcpcb’s side, but here it is! it should mostly be good? only thing im not sure of is the crystal but yeah! hopefully when i reload the page it saves… no it doesnt. well, thats annoying. well, 11:21 PM, made an application for the sd card thing to actually get a model, so yeah, not much i can do today, unfortunately? just kididng, cad could use some work, brb ok, 11:47 PM, im back! shrunk the middle section from 1.4cm to 0.75cm! nvm its back at 0.95cm, anyways, total height decreased from 2.1cm to 1.5cm! ok, 11:54 PM, brb! back at 12:44 AM, i guess its a good time to assemble a bom? (for the other parts) well, 1:07 AM, that wasnt really much… yeah, gotta wait till the 3d model for the micro sd card slot appears or i just gotta replace it, idk, but yeah, i guess ill check tomorrow evening, if its not there, i guess ill just replace it? but yeah, 1:21 AM now (yes i got distracted), so yeah, good night!
9/5/2026 - 18th Update! ok, it’s 9:28 PM, they rejected the part request (lel) back on like 8/28/2026, yeah its been a week anyways, lets finish this one up? ignore the bottom right corner if youre on lookout, idk if it even records it but i need to watch a video right now anyways gonna change the sd card footprint thing now nvm dont need to watch this video i guess ok, should be replaced, gonna double check it has a model ok, it does, just came back after a quick half hour break (well thats not quick), 10:40 PM and checking for errors… ok, 10:56 PM, it should be good! added a couple more vias for ground stuff, gonna commit and prepare to export! ok, back at 11:38 PM, let’s export! (also for reference this is the jlcpcb part for the microsd card) anyways, all exported, doing jlcpcb stuff now! ok, stuff should be moved over, time to go to placement! well, seems good now? huh looks like jlcpcb got an update some time recently, anyways, after comparing images, looks good! hmm well, ggs! the boards good to go it seems! quick commit well, now all we need to do is clean up the repository and prepare to ship! (and some test code, cant really do much right now, of course) ok its been like half an hour, havent done much, i think im gonna end it here! so yeah, shipping and maybe updating the cad is the only thing really left (oh wait and screws for the bom), so yeah, it’s 1:14 AM, good night!
9/10/2026 - 19th Update! ok, 10:42 PM, wow, we’re locked in tonight! no time to waste, to onshape! wow got started so fast i forgot to post last updates log to the site, one second… ok, back to onshape! ok, here it is! added the port holes and stuff, did a couple checks, it should be ok? of course, the cad can be adjusted when the actually parts arrive! anyways, exporting stuff so that i can make a thing for this! so some how i only have 6.7GB of storage left. kinda funny but not very good, ill deal with that later… ok, good amount of work today! wrapped up the cad work it seems, also did some banner stuff! (check the readme!) anyways, i think i need another day for this, with that said, it’s 12:24 AM, and yeah, good night!
9/11/2026 - 20th Update! well, it’s 10:17 PM, lets get to it! a while before i updated the background of the banner so its darker and added a glow, thought it made things look a bit better? idk anyways, bom time, more like everything time, what do we have left to do? test code (bare sample) cad double check and export update bom (add M2 screws, double check) ship??? so yeah, let’s get that done tonight! well, you know my main source for all screws :p ( here on aliexpress!) ok, bom should be good, cad should be good, exporting… ok, another banner update! it now has the pcb in the background! (faded, of course!) ok, it’s 11:56 PM now, gonna quickly commit, did a ton of docs, readme stuff, bom stuff, basically i think (might be missing something?) mostly everythings ready except for the firmware! well, tried my best, really cant write the firmware right now, its kinda weird to do it without constantly flashing and testing it (yeah, its not optimal, but still, thats my favorite way to do it) ok, a bit more clean up work, i think we’re ready to ship! The rushing torrent of water. It’s rushing and rushing, basking below a warm summer sun, except the water keeps rushing, streaming as a tidal wave rather than a river. It’s fast, almost unstoppable, gushing as it passes by. The torrent’s calming! Quick, swim to the side! And indeed it was. After nearly two months, bobbing, rather, tumbling, through the crashing flow of the waters, it found its rhythm. Swimming to the shore, this adventure, has come to an end, and a considerably unfamiliar land presents itself, much different than the place upstream… ok, it’s 12:22 AM now, gonna move this to the website so its updated with today’s stuff! hope you enjoyed that little bit of writing, and yeah, for now, good night! hey its 1:13 AM and im back, added some basic firmware stuff so its more than a blinking led, still gotta work on it a bit, also updated the readme with the audio part names but yeah, for now, good night!...
|
1792781372.935754
|
1793386172.935754
|
|
61211
|
Vandal by @shankkyyyy | Stardance
|
shankkyyyy
|
0
|
0.35
|
0
|
[]
|
[{"post_id": 66359, "ts": "202 [{"post_id": 66359, "ts": "2026-09-12T04:42:33Z", "hours": 0.3539, "text": "Right now init the project, PURELY MADE OUT OF CUROSITY GNG"}]...
|
Title: Vandal by @shankkyyyy | Stardance
Devlogs: Title: Vandal by @shankkyyyy | Stardance
Devlogs:
Right now init the project, PURELY MADE OUT OF CUROSITY GNG...
|
1793040459.2526636
|
1793645259.2526636
|
|
61179
|
Slack Bot by @saatvik_270211 | Stardance
|
saatvik_270211
|
0
|
0.57
|
0
|
[]
|
[{"post_id": 66365, "ts": "202 [{"post_id": 66365, "ts": "2026-09-12T05:02:24Z", "hours": 0.5742, "text": "Added basic guides for Slack Bot . It works for Hi and hello for now."}]...
|
Title: Slack Bot by @saatvik_270211 | Stardance
D Title: Slack Bot by @saatvik_270211 | Stardance
Devlogs:
Added basic guides for Slack Bot . It works for Hi and hello for now....
|
1793037250.4733305
|
1793642050.4733305
|
|
61178
|
sol by @x_youaplaya | Stardance
|
x_youaplaya
|
0
|
0.32
|
0
|
[]
|
[{"post_id": 66368, "ts": "202 [{"post_id": 66368, "ts": "2026-09-12T05:09:25Z", "hours": 0.3206, "text": "working on code"}]...
|
Title: sol by @x_youaplaya | Stardance
Devlogs:
w Title: sol by @x_youaplaya | Stardance
Devlogs:
working on code...
|
1793037249.5649507
|
1793642049.5649507
|
|
16048
|
projOS by @Leah | Stardance
|
Leah
|
0
|
1.79
|
0
|
[]
|
[{"post_id": 6637, "ts": "2026 [{"post_id": 6637, "ts": "2026-06-11T03:54:50Z", "hours": 0.6186, "text": "We have a dock now!!!"}, {"post_id": 6595, "ts": "2026-06-11T02:24:18Z", "hours": 1.1725, "text": "Added a macOS style menubar!!! I wanna style it like Mavericks"}]...
|
Title: projOS by @Leah | Stardance
Devlogs:
Added Title: projOS by @Leah | Stardance
Devlogs:
Added a macOS style menubar!!! I wanna style it like Mavericks
We have a dock now!!!...
|
1793173681.2389338
|
1793778481.2389338
|
|
46587
|
DayFlow-Pro by @Julian | Stardance
|
Julian
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T05:20:47Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Now I am sending DayFlow in its initial but ignagural state, and since I hated it in the last devlog I did, I did it for an investment in haven, in truth it was a project that put my soul into it, because it was something that helped me for my academic life, that’s how I want it to be for other people:)", "repo": "https://github.com/GhostlyJunior/DayFlow-Pro", "demo": "https://ghostlyjunior.github.io/DayFlow-Pro/"}]...
|
[{"post_id": 66370, "ts": "202 [{"post_id": 66370, "ts": "2026-09-12T05:12:58Z", "hours": 1.0111, "text": "I have finished DayFlow:), and although I know that I did not upload many devlogs, I made them very long, the screenshots reflect what dayflow looks like visually, and some programming lines about the project, obviously there were tears, obviously there were frustrations and Just on the last day I finished but I found errors, I had to use a touch of ia but only for that, the truth is I do this project for a graphics tablet for haven, help me and thank you, I did this project based on my needs and I always went to bed at 11PM for work and programming, thank you for the opportunity"}, {"post_id": 63348, "ts": "2026-09-07T03:48:23Z", "hours": 2.6561, "text": "I have finished 25% of the style.css, I already programmed the entire visual part of the login and utilities, although I need to correct things since as seen in the first image it looks smudged and you can see all the sections in one, at least it no longer looks like a skeleton :)"}, {"post_id": 58319, "ts": "2026-08-30T18:14:10Z", "hours": 12.6053, "text": "hiiii, I started DayFlow Pro by figuring out what I actually wanted the project to become. At first, it was basically just a personal tool made around the way I organize my own school life, but while building it I decided to turn it into something that could be useful for other students too. I worked on the main HTML structure, planned out the different sections, added elective courses so users could build their own schedules, and made options to reset levels, reset streaks, or log out whenever they wanted. I also started building a language system so the website could be switched between different languages with one click. On top of the coding, I gave DayFlow its own identity by creating a logo, setting up social media accounts, adding a copyright notice, and designing Cod, a little book mascot inspired by 90s-style characters. It’s still a work in progress, but this was the point where DayFlow started feeling like an actual project instead of just an idea."}]...
|
Title: DayFlow-Pro by @Julian | Stardance
Devlogs Title: DayFlow-Pro by @Julian | Stardance
Devlogs:
hiiii, I started DayFlow Pro by figuring out what I actually wanted the project to become. At first, it was basically just a personal tool made around the way I organize my own school life, but while building it I decided to turn it into something that could be useful for other students too. I worked on the main HTML structure, planned out the different sections, added elective courses so users could build their own schedules, and made options to reset levels, reset streaks, or log out whenever they wanted. I also started building a language system so the website could be switched between different languages with one click. On top of the coding, I gave DayFlow its own identity by creating a logo, setting up social media accounts, adding a copyright notice, and designing Cod, a little book mascot inspired by 90s-style characters. It’s still a work in progress, but this was the point where DayFlow started feeling like an actual project instead of just an idea.
I have finished 25% of the style.css, I already programmed the entire visual part of the login and utilities, although I need to correct things since as seen in the first image it looks smudged and you can see all the sections in one, at least it no longer looks like a skeleton :)
I have finished DayFlow:), and although I know that I did not upload many devlogs, I made them very long, the screenshots reflect what dayflow looks like visually, and some programming lines about the project, obviously there were tears, obviously there were frustrations and Just on the last day I finished but I found errors, I had to use a touch of ia but only for that, the truth is I do this project for a graphics tablet for haven, help me and thank you, I did this project based on my needs and I always went to bed at 11PM for work and programming, thank you for the opportunity
Ships:
Now I am sending DayFlow in its initial but ignagural state, and since I hated it in the last devlog I did, I did it for an investment in haven, in truth it was a project that put my soul into it, because it was something that helped me for my academic life, that’s how I want it to be for other people:)...
|
1793346893.6349947
|
1793433293.6349947
|
|
58009
|
Nailem: AI Powered Smart Aquascape by @abieprxalt Nailem: AI Powered Smart Aquascape by @abieprxalt | Stardance...
|
abieprxalt
|
0
|
29.42
|
0
|
[]
|
[{"post_id": 66374, "ts": "202 [{"post_id": 66374, "ts": "2026-09-12T05:26:25Z", "hours": 6.435, "text": "Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). For all the information you need, check the repo here As I have promised on my previous devlog, I spent 6.5 hours on the CAD of the Aquascape. Below are some of the stuff I implemented Most of the gantry mechanism Frames includes endstops, stepper motors, and rails The from control box The HMI display A cable guide that I’m not sure will even go into the final design Whie it may look complete, there’s still a bunch of stuff left to design: Lights Auto feeder The rest of the control box Pumps and plumbing The actual aquascape itself So on the next few devlogs I will work on those !"}, {"post_id": 62874, "ts": "2026-09-06T12:23:50Z", "hours": 9.3294, "text": "PCB DONE! Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). For all the information you need, check the repo here As I had promised on my previous devlog on this project, I am pretty much done building the primary PCB! After nine hours, I’ve: Routed the final subfunctions on the PCB Cleared all DRC Created awesome silkscreen and flair Exported gerbers Next should be CAD, I guess."}, {"post_id": 62067, "ts": "2026-09-05T09:29:40Z", "hours": 2.2333, "text": "GITHUB PAGE IS UP ! Check it out pls Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). Changes Create the README page of the repo Create wiring diagram of the project Add the PCB to version control Check it out here What to expect next The PCB has seen substantial progress, and should be done by the next devlog!"}, {"post_id": 61228, "ts": "2026-09-04T01:55:04Z", "hours": 11.4181, "text": "Nailem AI Aquascape: Substantial progress on the PCB! Github page is still empty This is kind of my first devlog, as I got carried away and completely forgot to make a devlog. It’s powered by an ESP32-S3, and ALL of the (usable) pins are used. The schematic is done, but may be revised on-the-fly Done routing: Relays Analog input headers INA3221 module UART program header The ESP32-S3 itself Partially routed: Digital IO headers MOSFETs Stepper motor driver + supporting components ARGB indicator LED Reset/boot pushbuttons"}]...
|
Title: Nailem: AI Powered Smart Aquascape by @abie Title: Nailem: AI Powered Smart Aquascape by @abieprxalt | Stardance
Devlogs:
Nailem AI Aquascape: Substantial progress on the PCB! Github page is still empty This is kind of my first devlog, as I got carried away and completely forgot to make a devlog. It’s powered by an ESP32-S3, and ALL of the (usable) pins are used. The schematic is done, but may be revised on-the-fly Done routing: Relays Analog input headers INA3221 module UART program header The ESP32-S3 itself Partially routed: Digital IO headers MOSFETs Stepper motor driver + supporting components ARGB indicator LED Reset/boot pushbuttons
GITHUB PAGE IS UP ! Check it out pls Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). Changes Create the README page of the repo Create wiring diagram of the project Add the PCB to version control Check it out here What to expect next The PCB has seen substantial progress, and should be done by the next devlog!
PCB DONE! Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). For all the information you need, check the repo here As I had promised on my previous devlog on this project, I am pretty much done building the primary PCB! After nine hours, I’ve: Routed the final subfunctions on the PCB Cleared all DRC Created awesome silkscreen and flair Exported gerbers Next should be CAD, I guess.
Abstract Nailem is an AIoT-powered highly automated aquascape maintenance system, originally designed for Nilem fish (Osteochilus Vittatus). For all the information you need, check the repo here As I have promised on my previous devlog, I spent 6.5 hours on the CAD of the Aquascape. Below are some of the stuff I implemented Most of the gantry mechanism Frames includes endstops, stepper motors, and rails The from control box The HMI display A cable guide that I’m not sure will even go into the final design Whie it may look complete, there’s still a bunch of stuff left to design: Lights Auto feeder The rest of the control box Pumps and plumbing The actual aquascape itself So on the next few devlogs I will work on those !...
|
1792734535.4550261
|
1793339335.4550261
|
|
58062
|
Personal Site by @BigBrainNevin | Stardance
|
BigBrainNevin
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T16:32:41Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a personal website. I know it doesn’t look as polished but I hope to improve it one day and make it seem more beautiful. The most challenging part was the CSS. There is so much stuff in CSS I did eventually use the documentation so that’s a W. But of course there is a bunch to learn!", "repo": "https://github.com/Nevin-Thomas1810/Personal-Website", "demo": "https://nevin-thomas1810.github.io/Personal-Website/"}]...
|
[{"post_id": 66378, "ts": "202 [{"post_id": 66378, "ts": "2026-09-12T05:28:54Z", "hours": 0.2533, "text": "Gonna ship my project i know it doesnt look good but i dont know css and i dont know how to have those cool layouts and stuff"}, {"post_id": 64190, "ts": "2026-09-08T12:46:43Z", "hours": 1.6139, "text": "I am writing a personal website"}]...
|
Title: Personal Site by @BigBrainNevin | Stardance Title: Personal Site by @BigBrainNevin | Stardance
Devlogs:
I am writing a personal website
Gonna ship my project i know it doesnt look good but i dont know css and i dont know how to have those cool layouts and stuff
Ships:
I made a personal website. I know it doesn’t look as polished but I hope to improve it one day and make it seem more beautiful. The most challenging part was the CSS. There is so much stuff in CSS I did eventually use the documentation so that’s a W. But of course there is a bunch to learn!...
|
1793350343.9852889
|
1793436743.9852889
|
|
57889
|
CGPA calculator by @vinayakbhargav | Stardance
|
vinayakbhargav
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T17:17:06Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "CGPA Calculator A simple and easy-to-use CGPA calculator made for students to calculate their CGPA using subject credits, grade points, and marks. About the Project This project helps students calculate their CGPA without doing the calculations manually. The calculator takes the required details for each subject and calculates the final CGPA based on the entered values. Features Enter subject credits Enter grade points Enter marks Convert marks into grade points Calculate CGPA Simple and clean interface Easy to use for students Works directly in the browser", "repo": "https://github.com/vinayakbhargav834-dotcom/CGPA-calculator-new", "demo": "https://vinayakbhargav834-dotcom.github.io/CGPA-calculator-new/"}]...
|
[{"post_id": 66388, "ts": "202 [{"post_id": 66388, "ts": "2026-09-12T06:11:03Z", "hours": 1.3447, "text": "70% work complete app.js is ready almost.."}, {"post_id": 62377, "ts": "2026-09-05T18:21:49Z", "hours": 0.5953, "text": "working on css …"}, {"post_id": 61982, "ts": "2026-09-05T05:47:51Z", "hours": 0.5714, "text": "starts a new project, the College CGPA calculator…"}, {"post_id": 60952, "ts": "2026-09-03T17:11:08Z", "hours": 0.3619, "text": "Today I worked on the basic structure of my CGPA calculator. I created the main layout with fields for credits, grade points, and marks for five subjects. I also added Calculate and Reset buttons and sections to display the CGPA and percentage."}]...
|
Title: CGPA calculator by @vinayakbhargav | Starda Title: CGPA calculator by @vinayakbhargav | Stardance
Devlogs:
Today I worked on the basic structure of my CGPA calculator. I created the main layout with fields for credits, grade points, and marks for five subjects. I also added Calculate and Reset buttons and sections to display the CGPA and percentage.
starts a new project, the College CGPA calculator…
working on css …
70% work complete app.js is ready almost..
Ships:
CGPA Calculator A simple and easy-to-use CGPA calculator made for students to calculate their CGPA using subject credits, grade points, and marks. About the Project This project helps students calculate their CGPA without doing the calculations manually. The calculator takes the required details for each subject and calculates the final CGPA based on the entered values. Features Enter subject credits Enter grade points Enter marks Convert marks into grade points Calculate CGPA Simple and clean interface Easy to use for students Works directly in the browser...
|
1793350269.5746646
|
1793436669.5746646
|
|
57380
|
3D-google-dino-game by @BeytiKebab | Stardance
|
BeytiKebab
|
0
|
1.98
|
0
|
[]
|
[{"post_id": 66392, "ts": "202 [{"post_id": 66392, "ts": "2026-09-12T06:21:36Z", "hours": 0.4486, "text": "tried to add the go forward logic, i think something is wrong but its getting late…"}, {"post_id": 61947, "ts": "2026-09-05T03:59:44Z", "hours": 0.3125, "text": "Just added cactus obejct not need to generate them continously and add colision detection"}, {"post_id": 60384, "ts": "2026-09-02T17:55:34Z", "hours": 0.8833, "text": "added jumping to the dino object! I will make obstacles next."}, {"post_id": 60068, "ts": "2026-09-02T05:57:04Z", "hours": 0.3333, "text": "Did some of the dino shape and made the ground. Now have to figure out how to make the dino jump!"}]...
|
Title: 3D-google-dino-game by @BeytiKebab | Starda Title: 3D-google-dino-game by @BeytiKebab | Stardance
Devlogs:
Did some of the dino shape and made the ground. Now have to figure out how to make the dino jump!
added jumping to the dino object! I will make obstacles next.
Just added cactus obejct not need to generate them continously and add colision detection
tried to add the go forward logic, i think something is wrong but its getting late…...
|
1793436540.3889875
|
1794041340.3889875
|
|
43709
|
OpenVDE by @simplyrohan | Stardance
|
simplyrohan
|
0
|
63.69
|
0
|
[]
|
[{"post_id": 66393, "ts": "202 [{"post_id": 66393, "ts": "2026-09-12T06:23:42Z", "hours": 7.1575, "text": "Project Loader + Operation types Added the concept of a “Project” which is a collection of “Studios”. When you open the app you select a project directory and it will look at the files in it to load each Studio. This also unlocks persistent storage and multi-studio projects. One limitation is it relies on the Filesystem API which Firefox doesn’t support for security reasons. That is a bummer, but since the primary target for this app is anyways native it shouldn’t matter too much. I also implemented operation types for extrudes, including negative and intersection operations."}, {"post_id": 64537, "ts": "2026-09-09T00:59:14Z", "hours": 8.3597, "text": "Bidirectional Serialization I’ve been building up to this feature for a while but I finally got lossless and bidirectional conversion between the AST and UI representations. This means you can design something, pull up just the Python file on another device, and continue working seamlessly. This also means you can edit the code in real-time and see it immediately reflect in the UI and vice versa."}, {"post_id": 61917, "ts": "2026-09-05T02:46:53Z", "hours": 8.0708, "text": "Fillet feature and reparsable AST Completely forgot to log for a while but got a lot done. I wanted to add the fillet feature and in order to get there had to be able to select edges of the model. This was mostly just duplicating the same logic that I used for face selection. I basically just export the edge as it’s own poly-line in the .GLB file. Adding the fillet feature was pretty easy after this since the framework I made before makes it pretty simple. Then I added back the script view on the left to show a live preview of the code. Each feature exports python AST, which depending on the context can be run on Pyodide or be ran through a quick transformation to export. I’m currently working on making the script editable. Each feature and expression now has a fromAST method which gives an instance of that feature/expression based on the code. This gives a bi-directional and lossless conversion between the UI representation and code."}, {"post_id": 56465, "ts": "2026-08-28T07:32:19Z", "hours": 3.7097, "text": "More consistent dependency tracking and more! I generally cleaned up a lot of the jank from my rush to get an MVP working. Big thing is I actually have a somewhat working “timeline” now so each feature saves its output and it doesn’t get overwritten by the next one. Also added a new feature called “Script” which is sort of a back-up feature which allows you to inject arbitrary build123d code into the project and build off of it. This allowed me to remove the code editor along with the weird code to deal with manual code generation that wasn’t a feature. Overall, much less buggy experience and stuff working!"}, {"post_id": 55385, "ts": "2026-08-27T05:51:47Z", "hours": 7.2239, "text": "Working extrude! It works! I expanded a lot on the idea I had of Primitives and chunked the entire code-generation architecture into “Tools”, “Expressions”, “Primitives”, and “Bindings”. These all work with py-ast to generate an AST for Python and the AST get analyzed for dependencies (eg. the model its operating on, the face its extruding) and the deps are looked up in a “symbol table” which Pyodide then injects into the global namespace. All that to say, I can write features and have them operate on the model without rerunning the whole script and without duplicating a bunch of code. Here is an example of me selecting a face on the auto-generated key cap and extruding it 10mm. Since we can’t sketch yet, I need to auto-generate a model to be able to get faces in the scene."}, {"post_id": 50068, "ts": "2026-08-19T03:42:29Z", "hours": 6.5108, "text": "RPC with worker I started using Comlink to implement RPC with the worker. The idea was to be able to interact with PyProxies from the main thread through Comlink, but unfortunately since PyProxies are already proxies it makes the whole system incredibly weird. Instead, I started using a “registry” for PyProxies and referenced them with a string-type key in the main thread. This all needed a lot of refactoring and I also improved the types across the project. No new features have been added but I should be able to actually implement working features/tools now. P.S: Model regen is taking 200sec+ on my Mac which is very concerning, I need to look into it."}, {"post_id": 47352, "ts": "2026-08-15T07:35:03Z", "hours": 5.0864, "text": "Feature Menu I expanded on the feature templates, honestly went through 3 different iterations before settling on this one. This new one introduces dynamic fields, meaning sections can be shown or hidden based on the values of other fields. I also wrote a nicer interface for the menu, and got the a lot of different data-type inputs working. The nice thing about my custom schema-format for the fields is primitive inputs like numbers and check boxes are just as seamless as custom ones like face selectors. The next obvious step is making the feature actually work, which will require a small bit of refactoring. It would be really inefficient to recompute the entire script each time a feature is modified (especially if I want live updates while editing the feature) so I’d like to use Pyodide’s ability to interact with Python objects directly. Unfortunatly, the object responsible for that ( PyProxy ) is not serializable and can’t be shared between the worker and UI. The fix is setting up an RPC system and having all the features/tools live on the worker and the UI just uses comlink to call them."}, {"post_id": 45604, "ts": "2026-08-12T06:20:24Z", "hours": 4.6058, "text": "Feature Templates I want to start getting sketching and other features working and created a reusable object oriented way to make them. This forced me to learn a lot about TypeScript and I’m not even sure if I understand it now. But the end result is a Tool class that has a Zod schema defining the parameter types for the tool’s callback function. The function is automatically typed based on the schema, as well as a defaults object. This was crazy complicated because I had to juggle generic types, static vs instance properties, and a bunch of other weird typing stuff. There’s not much to show here but now when I click a feature a pop-up shows the parameter names and types. Next I’ll write a UI “generator” which has inputs for the parameter, even custom types like faces/planes."}, {"post_id": 44398, "ts": "2026-08-10T03:35:44Z", "hours": 2.7219, "text": "Face Selection I was going to start working on sketching and other features but realized I needed to be able to select faces first. Three.js does have a Raycaster to select objects in the scene but it returns the whole object or triangles since it has no knowledge of the B-REP model (which stores the actual faces we want rather than triangle approximations ) after exporting it. The solution was replacing build123d’s builtin export for a more manual process. I used the trimesh library to manually add each face of the model as it’s own mesh and exporting them all together as a scene. Three.js load’s the whole scene as a Group which is practically identical to a normal mesh in code. Now when the Raycaster returns a Mesh, it’s actually a face."}, {"post_id": 41797, "ts": "2026-08-06T06:47:20Z", "hours": 2.9908, "text": "GLB Optimizations and Improved Toolbar I got the regenerate+re-render times down to about 800ms. The biggest part was actually just letting the browser’s JIT compile the hot parts so that subsequent regens would run way faster. It only takes 1 eval to get there, although that one eval is about 15 seconds. After that its super fast. Another thing I did was switch to the GLB file format for transfering mesh data between build123d and three.js. GLB is very compact and encodes+decodes super fast. This took the encode + parse time from 3 seconds to about 100ms. I’d really like to be able to cache the “JIT”ed WASM between page loads and apparently the browser should do this already but it’s clearly not. I also worked on the toolbar and used Bits UI to get a really nice search function with the features. I want to have a nice reusable interface for defining features with an automatic UI builder which would also make an equivalent to OnShape’s FeatureScripts super easy to implement (literally just a build123d generator with some UI bindings)."}, {"post_id": 40561, "ts": "2026-08-04T06:09:59Z", "hours": 7.2558, "text": "The Idea OpenVDE (need a better name) is on the surface a standard CAD software to design parts and assemblies. I was frustrated with existing solutions like OnShape because it’s completely cloud-based (you will own nothing and be happy), and only runs in the browser which often lags a lot with WebGL and both of these mean offline use is impossible. However, these together do give the convenience of seamless collaboration. On the other hand, apps like Fusion360 (and I’m assuming SolidWorks although I’ve never used it) do run locally but run like garbage because they’re from the 20th century (I’m not even kidding) and will crash unless you make a sacrifice to Andrew Anagnost himself. As a side effect of running locally, the collaboration features are lacking and don’t work well with modern workflows. OpenVDE My solution is CodeCAD, which is an approach to designing parts using code to call a CAD kernel in order to generate parts. OpenVDE is a generator for build123d Python scripts. You use it just like any other CAD software but it saves to a Git repository (or whatever you want to use) which allows for advanced version control and collaboration (eg. live editing of the same file). Storing designs as text also unlocks true parametric design and can be used to also write generators for parts using the logic flows programming languages provide. I want this app to be an cross-platform and not look like crap, so I decided to go with a Tauri app with a Svelte front-end. A big feature of OpenVDE is the hybrid RPC CAD kernel, which is just jargon for you can run the heavy CAD operations natively, in WASM, in a cloud server, or on your own self-hosted server. This works because at it’s core OpenVDE just generates Python code and it can either be run through Pyodide in WASM, Py03 for native via Rust, or by calling a server. Progress I setup the project with some basic styles, Three.js, and Pyodide. Huge thanks to this project which provides the WASM compiled wheels for build123d (although I’m pretty sure the project is vibe coded). After getting that all setup plus IndexedDB caching of the packages and an async Web Worker to free the main thread, I got a bare-minimum example of a build123d sandbox in the browser. I’ll try optimizing it, but the WASM version is running extremely slowly right now (15sec+ to generate this simple part)."}]...
|
Title: OpenVDE by @simplyrohan | Stardance
Devlog Title: OpenVDE by @simplyrohan | Stardance
Devlogs:
The Idea OpenVDE (need a better name) is on the surface a standard CAD software to design parts and assemblies. I was frustrated with existing solutions like OnShape because it’s completely cloud-based (you will own nothing and be happy), and only runs in the browser which often lags a lot with WebGL and both of these mean offline use is impossible. However, these together do give the convenience of seamless collaboration. On the other hand, apps like Fusion360 (and I’m assuming SolidWorks although I’ve never used it) do run locally but run like garbage because they’re from the 20th century (I’m not even kidding) and will crash unless you make a sacrifice to Andrew Anagnost himself. As a side effect of running locally, the collaboration features are lacking and don’t work well with modern workflows. OpenVDE My solution is CodeCAD, which is an approach to designing parts using code to call a CAD kernel in order to generate parts. OpenVDE is a generator for build123d Python scripts. You use it just like any other CAD software but it saves to a Git repository (or whatever you want to use) which allows for advanced version control and collaboration (eg. live editing of the same file). Storing designs as text also unlocks true parametric design and can be used to also write generators for parts using the logic flows programming languages provide. I want this app to be an cross-platform and not look like crap, so I decided to go with a Tauri app with a Svelte front-end. A big feature of OpenVDE is the hybrid RPC CAD kernel, which is just jargon for you can run the heavy CAD operations natively, in WASM, in a cloud server, or on your own self-hosted server. This works because at it’s core OpenVDE just generates Python code and it can either be run through Pyodide in WASM, Py03 for native via Rust, or by calling a server. Progress I setup the project with some basic styles, Three.js, and Pyodide. Huge thanks to this project which provides the WASM compiled wheels for build123d (although I’m pretty sure the project is vibe coded). After getting that all setup plus IndexedDB caching of the packages and an async Web Worker to free the main thread, I got a bare-minimum example of a build123d sandbox in the browser. I’ll try optimizing it, but the WASM version is running extremely slowly right now (15sec+ to generate this simple part).
GLB Optimizations and Improved Toolbar I got the regenerate+re-render times down to about 800ms. The biggest part was actually just letting the browser’s JIT compile the hot parts so that subsequent regens would run way faster. It only takes 1 eval to get there, although that one eval is about 15 seconds. After that its super fast. Another thing I did was switch to the GLB file format for transfering mesh data between build123d and three.js. GLB is very compact and encodes+decodes super fast. This took the encode + parse time from 3 seconds to about 100ms. I’d really like to be able to cache the “JIT”ed WASM between page loads and apparently the browser should do this already but it’s clearly not. I also worked on the toolbar and used Bits UI to get a really nice search function with the features. I want to have a nice reusable interface for defining features with an automatic UI builder which would also make an equivalent to OnShape’s FeatureScripts super easy to implement (literally just a build123d generator with some UI bindings).
Face Selection I was going to start working on sketching and other features but realized I needed to be able to select faces first. Three.js does have a Raycaster to select objects in the scene but it returns the whole object or triangles since it has no knowledge of the B-REP model (which stores the actual faces we want rather than triangle approximations ) after exporting it. The solution was replacing build123d’s builtin export for a more manual process. I used the trimesh library to manually add each face of the model as it’s own mesh and exporting them all together as a scene. Three.js load’s the whole scene as a Group which is practically identical to a normal mesh in code. Now when the Raycaster returns a Mesh, it’s actually a face.
Feature Templates I want to start getting sketching and other features working and created a reusable object oriented way to make them. This forced me to learn a lot about TypeScript and I’m not even sure if I understand it now. But the end result is a Tool class that has a Zod schema defining the parameter types for the tool’s callback function. The function is automatically typed based on the schema, as well as a defaults object. This was crazy complicated because I had to juggle generic types, static vs instance properties, and a bunch of other weird typing stuff. There’s not much to show here but now when I click a feature a pop-up shows the parameter names and types. Next I’ll write a UI “generator” which has inputs for the parameter, even custom types like faces/planes.
Feature Menu I expanded on the feature templates, honestly went through 3 different iterations before settling on this one. This new one introduces dynamic fields, meaning sections can be shown or hidden based on the values of other fields. I also wrote a nicer interface for the menu, and got the a lot of different data-type inputs working. The nice thing about my custom schema-format for the fields is primitive inputs like numbers and check boxes are just as seamless as custom ones like face selectors. The next obvious step is making the feature actually work, which will require a small bit of refactoring. It would be really inefficient to recompute the entire script each time a feature is modified (especially if I want live updates while editing the feature) so I’d like to use Pyodide’s ability to interact with Python objects directly. Unfortunatly, the object responsible for that ( PyProxy ) is not serializable and can’t be shared between the worker and UI. The fix is setting up an RPC system and having all the features/tools live on the worker and the UI just uses comlink to call them.
RPC with worker I started using Comlink to implement RPC with the worker. The idea was to be able to interact with PyProxies from the main thread through Comlink, but unfortunately since PyProxies are already proxies it makes the whole system incredibly weird. Instead, I started using a “registry” for PyProxies and referenced them with a string-type key in the main thread. This all needed a lot of refactoring and I also improved the types across the project. No new features have been added but I should be able to actually implement working features/tools now. P.S: Model regen is taking 200sec+ on my Mac which is very concerning, I need to look into it.
Working extrude! It works! I expanded a lot on the idea I had of Primitives and chunked the entire code-generation architecture into “Tools”, “Expressions”, “Primitives”, and “Bindings”. These all work with py-ast to generate an AST for Python and the AST get analyzed for dependencies (eg. the model its operating on, the face its extruding) and the deps are looked up in a “symbol table” which Pyodide then injects into the global namespace. All that to say, I can write features and have them operate on the model without rerunning the whole script and without duplicating a bunch of code. Here is an example of me selecting a face on the auto-generated key cap and extruding it 10mm. Since we can’t sketch yet, I need to auto-generate a model to be able to get faces in the scene.
More consistent dependency tracking and more! I generally cleaned up a lot of the jank from my rush to get an MVP working. Big thing is I actually have a somewhat working “timeline” now so each feature saves its output and it doesn’t get overwritten by the next one. Also added a new feature called “Script” which is sort of a back-up feature which allows you to inject arbitrary build123d code into the project and build off of it. This allowed me to remove the code editor along with the weird code to deal with manual code generation that wasn’t a feature. Overall, much less buggy experience and stuff working!
Fillet feature and reparsable AST Completely forgot to log for a while but got a lot done. I wanted to add the fillet feature and in order to get there had to be able to select edges of the model. This was mostly just duplicating the same logic that I used for face selection. I basically just export the edge as it’s own poly-line in the .GLB file. Adding the fillet feature was pretty easy after this since the framework I made before makes it pretty simple. Then I added back the script view on the left to show a live preview of the code. Each feature exports python AST, which depending on the context can be run on Pyodide or be ran through a quick transformation to export. I’m currently working on making the script editable. Each feature and expression now has a fromAST method which gives an instance of that feature/expression based on the code. This gives a bi-directional and lossless conversion between the UI representation and code.
Bidirectional Serialization I’ve been building up to this feature for a while but I finally got lossless and bidirectional conversion between the AST and UI representations. This means you can design something, pull up just the Python file on another device, and continue working seamlessly. This also means you can edit the code in real-time and see it immediately reflect in the UI and vice versa.
Project Loader + Operation types Added the concept of a “Project” which is a collection of “Studios”. When you open the app you select a project directory and it will look at the files in it to load each Studio. This also unlocks persistent storage and multi-studio projects. One limitation is it relies on the Filesystem API which Firefox doesn’t support for security reasons. That is a bummer, but since the primary target for this app is anyways native it shouldn’t matter too much. I also implemented operation types for extrudes, including negative and intersection operations....
|
1793235153.6336834
|
1793839953.6336834
|
|
60252
|
Personal Website by @rniraclefire | Stardance
|
rniraclefire
|
0
|
2.17
|
0
|
[]
|
[{"post_id": 66397, "ts": "202 [{"post_id": 66397, "ts": "2026-09-12T06:43:56Z", "hours": 2.1708, "text": "First update to my personal website: the homepage! I decided to showcase my portfolio front and center. The entries themself are an Astro content collection, which let’s me define some metadata from the title and colors. I plan on writing some prose for all entires soon! I plan on giving all these entries their own portfolio pages which I plan to use Astro’s content routes. Will be very fun as I haven’t bothered to try them out yet! Aside from the portfolio, I also refreshed myself with Astro.js to implement the header banner with a little portrait made wit Figma. I also sprinkled in several animations, and I think they turned out great!"}]...
|
Title: Personal Website by @rniraclefire | Stardan Title: Personal Website by @rniraclefire | Stardance
Devlogs:
First update to my personal website: the homepage! I decided to showcase my portfolio front and center. The entries themself are an Astro content collection, which let’s me define some metadata from the title and colors. I plan on writing some prose for all entires soon! I plan on giving all these entries their own portfolio pages which I plan to use Astro’s content routes. Will be very fun as I haven’t bothered to try them out yet! Aside from the portfolio, I also refreshed myself with Astro.js to implement the header banner with a little portrait made wit Figma. I also sprinkled in several animations, and I think they turned out great!...
|
1793033362.3170838
|
1793638162.3170838
|
|
1702
|
My first slack bot! by @Gokul | Stardance
|
Gokul
|
0
|
1.0
|
0
|
[]
|
[{"post_id": 664, "ts": "2026- [{"post_id": 664, "ts": "2026-06-02T06:30:31Z", "hours": 0.9972, "text": "Have applied for Nest ssh. Waiting for admin to approve."}]...
|
Title: My first slack bot! by @Gokul | Stardance
Title: My first slack bot! by @Gokul | Stardance
Devlogs:
Have applied for Nest ssh. Waiting for admin to approve....
|
1793321316.660252
|
1793926116.660252
|
|
61234
|
My very own WebOS by @bluenoise | Stardance
|
bluenoise
|
0
|
0.47
|
0
|
[]
|
[{"post_id": 66400, "ts": "202 [{"post_id": 66400, "ts": "2026-09-12T06:47:54Z", "hours": 0.4694, "text": "Created the welcome screen for my website"}]...
|
Title: My very own WebOS by @bluenoise | Stardance Title: My very own WebOS by @bluenoise | Stardance
Devlogs:
Created the welcome screen for my website...
|
1793040470.459339
|
1793645270.459339
|
|
50767
|
My very own WebOS by @Dexpate | Stardance
|
Dexpate
|
1
|
2.65
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-25T12:08:57Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "The Origin Story of V.A.Y.U. Every great software begins with a spark of frustration or a wild “what if?” thought. For V.A.Y.U. the question was simple: Why must a portfolio or project showcase look like every other dull static scrolling website on the internet? As a developer who loves low-level systems programming, clean web design and building things from scratch Dennis wanted something that felt alive. Not only a page of text. A living environment—a digital space that shows how a real programmer thinks. So V.A.Y.U. (Personal Web Operating System) was born. Phase 1: Laying the Foundations The journey began with HTML5, CSS3 and Vanilla JavaScript. Than using heavy frontend frameworks the core architecture of V.A.Y.U. Was built from scratch. The Desktop Environment: The first challenge was building a working desktop. A translucent blurred top bar (filter) was designed with a live clock to give it a real modern OS feel. The Window Manager (z-index & Dragging): Creating windows was simple. Making them act like a real OS was hard. Dennis built a custom dragging system that followed mouse coordinates (clientX/clientY) and handled CSS transforms. With a z-index layering (biggestIndex) clicking any window or icon lifts it to the front so windows never hide behind the top bar. Phase 2: Building the Native App Ecosystem A desktop is nothing without apps to run on it. Over iterations Dennis expanded V.A.Y.U. From a simple welcome screen into a feature-rich operating system: V.A.Y.U. Logs (Notes App): A dynamic notes manager that fills itself from JavaScript objects with a clean interactive sidebar. Tech Stack Showcase: A window that lists developer architectures, system tools and project goals. Terminal CLI (>_): A command-line interface that handles real system commands such as help, bio, skills, projects and clear. Sketchpad App: A tribute to his love of drawing with an HTML5 canvas where visitors can sketch directly inside the OS. VibePlayer (Music & Video Apps): media players with custom audio and video streams, progress bars and volume sliders. StickyPad: A scratchpad that uses browser memory (localStorage) to auto‑save temporary code ideas. Code Playground & StardustMiner: A multi‑language snippet sandbox (JavaScript, Python, C++). An interactive hacking minigame where users mine “stardust” points. Settings Control Center: A hub that cycles wallpapers, shows system specs and toggles between classic looks and a futuristic Neon Mode. Phase 3: The Philosophy Behind V.A.Y.U. V.A.Y.U. Is not a set of code snippets inside window divs; it reflects Dennis’s journey, as a student and builder. Balancing school, board exam prep and late‑night coding V.A.Y.U. Shows disciplined execution. Each feature was added deliberately pushing what plain web technologies can do without weight. Today, V.A.Y.U. Stands fully realized: a glassmorphism‑styled interactive operating system that runs right inside the browser. It shows that with logic, creativity and steady pace a blank screen can become an entire digital universe.", "repo": "https://github.com/dennispathe123/vayu-webos", "demo": "https://dennispathe123.github.io/vayu-webos/"}]...
|
[{"post_id": 66401, "ts": "202 [{"post_id": 66401, "ts": "2026-09-12T06:48:21Z", "hours": 1.6533, "text": "Spent today fixing a bunch of annoying bugs that made the OS feel broken whenever I tried using it. The dock was totally messed up—the icons were invisible because of some dumb CSS hover and pointer-events bug, so I had no idea what I was clicking on. Fixed it so the emojis and app names actually stay visible at the bottom, and added little glowing blue dots under them so I know what’s open. Made minimize and maximize work properly. Before this, closing and opening windows would glitch out and reset their spots, which was super annoying. Fixed the window dragging. If I dragged a window too high, the header would get stuck under the top bar forever. Added a quick check in the code so it physically can’t go above 38px now. Added real sound to VibePlayer. I didn’t want to mess with broken MP3 links or CORS errors, so I used the browser’s built-in AudioContext to make raw synth beeps using oscillators. You can slide the pitch slider and it actually changes live. Had to fight Git for a bit because my local repo was out of sync with GitHub, but rebased it, pushed everything, and updated the README. Feels way smoother to click around now!"}, {"post_id": 54391, "ts": "2026-08-25T12:04:09Z", "hours": 0.2603, "text": "During this project I built V.A.Y.U. From the ground up. V.A.Y.U. Is an operating system that runs right in your web browser. I used HTML5, CSS3 and Vanilla JavaScript to make V.A.Y.U. Feel like a desktop. It has windows you can move icons you can click and apps that work like a real computer. Desktop. Top Bar: I made a desktop grid that keeps all the icons lined up neatly. There is a top bar at the top of the screen that uses a blur effect. This top bar has a clock, a way to change the wallpaper and a button to switch to Neon Theme Mode. Window Management System: I worked hard on the window management. I added layers so windows sit on top of each other correctly. I also added custom drag mechanics and smooth animations moving apps around the screen feels natural. Complete Native App Suite: V.A.Y.U. Logs (Notes App): This is a notes app. It uses JavaScript to pull in notes and shows them in a sidebar. Projects Showcase: This window lets you see my tech stack and what I want to build Terminal CLI: This is a command-line tool. You can type commands like help, bio, skills, projects and clear to make it work. Sketchpad App: I built a drawing tool using an HTML5 canvas so you can sketch things out. VibePlayer (Music & Video Stream Apps): These are media players. You can play music or videos using custom controls, volume sliders and progress bars. StickyPad: This is a scratchpad. It saves your code notes to your browser memory so you do not lose them. Stardustminer: The Playground is a sandbox where you can see code snippets. StardustMiner is a hacking game that you can play. Settings Control Center: This is the control panel. You can use the Settings Control Center to change how the system looks, cycle, through wallpapers or check system diagnostics."}, {"post_id": 53854, "ts": "2026-08-24T15:37:44Z", "hours": 0.3389, "text": "During this batch I built V.A.Y.U.—a browser‑based personal operating system that I coded from scratch with HTML5, CSS3 and Vanilla JavaScript.V.A.Y.U. Goes beyond a portfolio. V.A.Y.U. Creates a real desktop feel with custom windows, movable UI parts, a clock in the top bar and apps that look and act like real ones:Desktop & Top Bar: A clean dark‑mode desktop, a translucent blurred top bar that uses backdrop‑filter, a clock that stays up‑to‑date and a wallpaper changer.Window Management System: I added z‑index layers and custom event listeners so windows glide smoothly come to the front when clicked and open or close without a glitch.Custom App Suite:V.A.Y.U. Logs (Notes App): A notes manager that builds itself from JavaScript objects with a sidebar.Tech Stack Showcase: A window that shows my tech stack and the structure of my projects.Terminal CLI: A working command line that accepts commands such as help, bio, skills, projects and clear.Sketchpad App: An HTML5 drawing canvas that lets me sketch and prototype, on the fly.Settings Control Center: A main panel where I can change the look set wallpaper cycles and check OS diagnostics."}, {"post_id": 49498, "ts": "2026-08-18T11:24:00Z", "hours": 0.3231, "text": "completed the my app in the vayuos"}]...
|
Title: My very own WebOS by @Dexpate | Stardance
Title: My very own WebOS by @Dexpate | Stardance
Devlogs:
completed the my app in the vayuos
During this batch I built V.A.Y.U.—a browser‑based personal operating system that I coded from scratch with HTML5, CSS3 and Vanilla JavaScript.V.A.Y.U. Goes beyond a portfolio. V.A.Y.U. Creates a real desktop feel with custom windows, movable UI parts, a clock in the top bar and apps that look and act like real ones:Desktop & Top Bar: A clean dark‑mode desktop, a translucent blurred top bar that uses backdrop‑filter, a clock that stays up‑to‑date and a wallpaper changer.Window Management System: I added z‑index layers and custom event listeners so windows glide smoothly come to the front when clicked and open or close without a glitch.Custom App Suite:V.A.Y.U. Logs (Notes App): A notes manager that builds itself from JavaScript objects with a sidebar.Tech Stack Showcase: A window that shows my tech stack and the structure of my projects.Terminal CLI: A working command line that accepts commands such as help, bio, skills, projects and clear.Sketchpad App: An HTML5 drawing canvas that lets me sketch and prototype, on the fly.Settings Control Center: A main panel where I can change the look set wallpaper cycles and check OS diagnostics.
During this project I built V.A.Y.U. From the ground up. V.A.Y.U. Is an operating system that runs right in your web browser. I used HTML5, CSS3 and Vanilla JavaScript to make V.A.Y.U. Feel like a desktop. It has windows you can move icons you can click and apps that work like a real computer. Desktop. Top Bar: I made a desktop grid that keeps all the icons lined up neatly. There is a top bar at the top of the screen that uses a blur effect. This top bar has a clock, a way to change the wallpaper and a button to switch to Neon Theme Mode. Window Management System: I worked hard on the window management. I added layers so windows sit on top of each other correctly. I also added custom drag mechanics and smooth animations moving apps around the screen feels natural. Complete Native App Suite: V.A.Y.U. Logs (Notes App): This is a notes app. It uses JavaScript to pull in notes and shows them in a sidebar. Projects Showcase: This window lets you see my tech stack and what I want to build Terminal CLI: This is a command-line tool. You can type commands like help, bio, skills, projects and clear to make it work. Sketchpad App: I built a drawing tool using an HTML5 canvas so you can sketch things out. VibePlayer (Music & Video Stream Apps): These are media players. You can play music or videos using custom controls, volume sliders and progress bars. StickyPad: This is a scratchpad. It saves your code notes to your browser memory so you do not lose them. Stardustminer: The Playground is a sandbox where you can see code snippets. StardustMiner is a hacking game that you can play. Settings Control Center: This is the control panel. You can use the Settings Control Center to change how the system looks, cycle, through wallpapers or check system diagnostics.
Spent today fixing a bunch of annoying bugs that made the OS feel broken whenever I tried using it. The dock was totally messed up—the icons were invisible because of some dumb CSS hover and pointer-events bug, so I had no idea what I was clicking on. Fixed it so the emojis and app names actually stay visible at the bottom, and added little glowing blue dots under them so I know what’s open. Made minimize and maximize work properly. Before this, closing and opening windows would glitch out and reset their spots, which was super annoying. Fixed the window dragging. If I dragged a window too high, the header would get stuck under the top bar forever. Added a quick check in the code so it physically can’t go above 38px now. Added real sound to VibePlayer. I didn’t want to mess with broken MP3 links or CORS errors, so I used the browser’s built-in AudioContext to make raw synth beeps using oscillators. You can slide the pitch slider and it actually changes live. Had to fight Git for a bit because my local repo was out of sync with GitHub, but rebased it, pushed everything, and updated the README. Feels way smoother to click around now!
Ships:
The Origin Story of V.A.Y.U. Every great software begins with a spark of frustration or a wild “what if?” thought. For V.A.Y.U. the question was simple: Why must a portfolio or project showcase look like every other dull static scrolling website on the internet? As a developer who loves low-level systems programming, clean web design and building things from scratch Dennis wanted something that felt alive. Not only a page of text. A living environment—a digital space that shows how a real programmer thinks. So V.A.Y.U. (Personal Web Operating System) was born. Phase 1: Laying the Foundations The journey began with HTML5, CSS3 and Vanilla JavaScript. Than using heavy frontend frameworks the core architecture of V.A.Y.U. Was built from scratch. The Desktop Environment: The first challenge was building a working desktop. A translucent blurred top bar (filter) was designed with a live clock to give it a real modern OS feel. The Window Manager (z-index & Dragging): Creating windows was simple. Making them act like a real OS was hard. Dennis built a custom dragging system that followed mouse coordinates (clientX/clientY) and handled CSS transforms. With a z-index layering (biggestIndex) clicking any window or icon lifts it to the front so windows never hide behind the top bar. Phase 2: Building the Native App Ecosystem A desktop is nothing without apps to run on it. Over iterations Dennis expanded V.A.Y.U. From a simple welcome screen into a feature-rich operating system: V.A.Y.U. Logs (Notes App): A dynamic notes manager that fills itself from JavaScript objects with a clean interactive sidebar. Tech Stack Showcase: A window that lists developer architectures, system tools and project goals. Terminal CLI (>_): A command-line interface that handles real system commands such as help, bio, skills, projects and clear. Sketchpad App: A tribute to his love of drawing with an HTML5 canvas where visitors can sketch directly inside the OS. VibePlayer (Music & Video Apps): media players with custom audio and video streams, progress bars and volume sliders. StickyPad: A scratchpad that uses browser memory (localStorage) to auto‑save temporary code ideas. Code Playground & StardustMiner: A multi‑language snippet sandbox (JavaScript, Python, C++). An interactive hacking minigame where users mine “stardust” points. Settings Control Center: A hub that cycles wallpapers, shows system specs and toggles between classic looks and a futuristic Neon Mode. Phase 3: The Philosophy Behind V.A.Y.U. V.A.Y.U. Is not a set of code snippets inside window divs; it reflects Dennis’s journey, as a student and builder. Balancing school, board exam prep and late‑night coding V.A.Y.U. Shows disciplined execution. Each feature was added deliberately pushing what plain web technologies can do without weight. Today, V.A.Y.U. Stands fully realized: a glassmorphism‑styled interactive operating system that runs right inside the browser. It shows that with logic, creativity and steady pace a blank screen can become an entire digital universe....
|
1793227836.1802914
|
1793314236.1802914
|
|
61141
|
Élan by @boberto | Stardance
|
boberto
|
0
|
15.09
|
0
|
[]
|
[{"post_id": 66408, "ts": "202 [{"post_id": 66408, "ts": "2026-09-12T07:00:37Z", "hours": 15.0875, "text": "REGAINING YOUR FOCUS ONE STEP AT A TIME!!! I keep opening my laptop to work and somehow ending up on YouTube 10 minutes later. So I started building Élan, a cross-platform momentum app designed to notice when you drift and gently pull you back. The first working MVP is Élan v0: a passive Mac focus companion + Chrome extension. You can find the landing page at elan-web-neon.vercel.app/ Right now, it can: Let you pick a task and distracting websites. Detect when you spend 5+ seconds on one of those sites. Send a gentle reminder instead of blocking anything. Give you 30 minutes of task-free browsing, plus 15 minutes after dismissing a reminder. Track aggregate focus time, reminders, and completed tasks."}]...
|
Title: Élan by @boberto | Stardance
Devlogs:
REGA Title: Élan by @boberto | Stardance
Devlogs:
REGAINING YOUR FOCUS ONE STEP AT A TIME!!! I keep opening my laptop to work and somehow ending up on YouTube 10 minutes later. So I started building Élan, a cross-platform momentum app designed to notice when you drift and gently pull you back. The first working MVP is Élan v0: a passive Mac focus companion + Chrome extension. You can find the landing page at elan-web-neon.vercel.app/ Right now, it can: Let you pick a task and distracting websites. Detect when you spend 5+ seconds on one of those sites. Send a gentle reminder instead of blocking anything. Give you 30 minutes of task-free browsing, plus 15 minutes after dismissing a reminder. Track aggregate focus time, reminders, and completed tasks....
|
1793037231.7650793
|
1793642031.7650793
|
|
61263
|
guess the number in python by @BhargavKelkar | Sta guess the number in python by @BhargavKelkar | Stardance...
|
BhargavKelkar
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T08:42:33Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built an game in python which is Guess the number", "repo": "https://github.com/Bhargavkelkar/Guess-the-number-in-python", "demo": "https://onecompiler.com/python/452zum7hd"}]...
|
[{"post_id": 66433, "ts": "202 [{"post_id": 66433, "ts": "2026-09-12T08:18:38Z", "hours": 0.6203, "text": "I am trying to build a guess the number game in python"}]...
|
Title: guess the number in python by @BhargavKelka Title: guess the number in python by @BhargavKelkar | Stardance
Devlogs:
I am trying to build a guess the number game in python
Ships:
I built an game in python which is Guess the number...
|
1793414924.7469046
|
1793501324.7469046
|
|
57495
|
My first Linux PCB by @Ahmad_Malas | Stardance
|
Ahmad_Malas
|
0
|
10.18
|
0
|
[]
|
[{"post_id": 66440, "ts": "202 [{"post_id": 66440, "ts": "2026-09-12T08:38:26Z", "hours": 7.3756, "text": "I have a horrible feeling that the 2nd TF card or all USB-C ports won’t work (4th ever PCB, not very confident)"}, {"post_id": 60326, "ts": "2026-09-02T16:36:34Z", "hours": 2.8006, "text": "Having some struggle with USB-C, help pls"}]...
|
Title: My first Linux PCB by @Ahmad_Malas | Starda Title: My first Linux PCB by @Ahmad_Malas | Stardance
Devlogs:
Having some struggle with USB-C, help pls
I have a horrible feeling that the 2nd TF card or all USB-C ports won’t work (4th ever PCB, not very confident)...
|
1792709329.7195356
|
1793314129.7195356
|
|
35488
|
My Portfolio Site by @nightowl | Stardance
|
nightowl
|
1
|
14.47
|
102
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T15:52:22Z", "hours": 14.0, "multiplier": 7.26, "payout": 102, "blessing": "neutral", "text": "Created my personal portfolio website accessible at: https://botwinkaportfolio.vercel.app its stick! check it out.", "repo": "https://github.com/nightowl-devs/portfolio/", "demo": "https://botwinkaportfolio.vercel.app"}]...
|
[{"post_id": 66446, "ts": "202 [{"post_id": 66446, "ts": "2026-09-12T08:53:59Z", "hours": 0.4658, "text": "removed ai generated image and replaced it with an svg generated from it via pot race it looks better now tbh since the colors got sharper because I hardcoded the color, also the no “ai art” thing I never claimed the image was any sort of art im just not placing 1000 dots in Figma. The image is how the site looks after I think its even better because the dots got bigger so it looks more “fun” and not perfectly calculated."}, {"post_id": 66021, "ts": "2026-09-11T15:42:26Z", "hours": 0.6072, "text": "opengraph\\n-spelling mistakes\\n+ GitHub repo I STILL CANT MAKE AN ENTER HERE AAAA someone fix this please"}, {"post_id": 65827, "ts": "2026-09-11T07:13:28Z", "hours": 2.6058, "text": "I worked on polish translations but not only repos a lot changed some subtle things like the nav reading the # better etc. um also added back the Home to the nav. The polish translation is like 70% completed I think im gonna be done with it today and mabe even the entire site!"}, {"post_id": 60457, "ts": "2026-09-02T19:55:51Z", "hours": 0.7856, "text": "some polish translations added icons of the brands the links will take you in the project cards to make them more lively + made the contact section more responsive and updated the figma design to keep it up to date with my new ideas I directly implemented into code! oh I also added Home in nav since it looks better with more items :> Also I added my photo to be hosted on the website itself not gotten from linkedin since the temp url expired already. glad it did before it went live!"}, {"post_id": 59636, "ts": "2026-09-01T15:37:49Z", "hours": 0.8658, "text": "added: 404 page and started polish translations"}, {"post_id": 55225, "ts": "2026-08-26T20:20:08Z", "hours": 0.7744, "text": "okay now I added the featured project section with 3 cards yes the (non capital I is intentional it looks so much worse when its capitalized) also added a nice contact me CTA at the bottom! next up ill need to make a favicon (probably ill jst put myself) optimize for SEO for opengraph to appear cool on social media some optimizations and a 404 page!"}, {"post_id": 51297, "ts": "2026-08-20T21:09:04Z", "hours": 2.1925, "text": "devlog #2 added about section, also made the hero responsive on all screens, writing the about me took so long I didn’t know what to say but I think its alr. Also added tooltips when you hover over the words to make it easy for non tech pepole to understand and it just looks cooler!"}, {"post_id": 49061, "ts": "2026-08-17T17:29:55Z", "hours": 6.1669, "text": "devlog 1 um made: hero and nav and like idk a stack? with my linkedin and GitHub screenshot attached below also the buttons are pretty cool. overall I love how this is starting I also started designing the rest of the site."}]...
|
Title: My Portfolio Site by @nightowl | Stardance
Title: My Portfolio Site by @nightowl | Stardance
Devlogs:
devlog 1 um made: hero and nav and like idk a stack? with my linkedin and GitHub screenshot attached below also the buttons are pretty cool. overall I love how this is starting I also started designing the rest of the site.
devlog #2 added about section, also made the hero responsive on all screens, writing the about me took so long I didn’t know what to say but I think its alr. Also added tooltips when you hover over the words to make it easy for non tech pepole to understand and it just looks cooler!
okay now I added the featured project section with 3 cards yes the (non capital I is intentional it looks so much worse when its capitalized) also added a nice contact me CTA at the bottom! next up ill need to make a favicon (probably ill jst put myself) optimize for SEO for opengraph to appear cool on social media some optimizations and a 404 page!
added: 404 page and started polish translations
some polish translations added icons of the brands the links will take you in the project cards to make them more lively + made the contact section more responsive and updated the figma design to keep it up to date with my new ideas I directly implemented into code! oh I also added Home in nav since it looks better with more items :> Also I added my photo to be hosted on the website itself not gotten from linkedin since the temp url expired already. glad it did before it went live!
I worked on polish translations but not only repos a lot changed some subtle things like the nav reading the # better etc. um also added back the Home to the nav. The polish translation is like 70% completed I think im gonna be done with it today and mabe even the entire site!
opengraph\n-spelling mistakes\n+ GitHub repo I STILL CANT MAKE AN ENTER HERE AAAA someone fix this please
removed ai generated image and replaced it with an svg generated from it via pot race it looks better now tbh since the colors got sharper because I hardcoded the color, also the no “ai art” thing I never claimed the image was any sort of art im just not placing 1000 dots in Figma. The image is how the site looks after I think its even better because the dots got bigger so it looks more “fun” and not perfectly calculated.
Ships:
Created my personal portfolio website accessible at: https://botwinkaportfolio.vercel.app its stick! check it out....
|
1793346671.1461396
|
1793433071.1461396
|
|
61285
|
the adventure to nowhere PART - 1 by @senthilnatha the adventure to nowhere PART - 1 by @senthilnathan_arun | Stardance...
|
senthilnathan_arun
|
1
|
6.0
|
9
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T14:26:47Z", "hours": 6.0, "multiplier": 1.51, "payout": 9, "blessing": "neutral", "text": "hi i created ths text based rpg game . my goal is the cmf buds so rate this as you think it is . there are a lot of reliability issues with github streamlit . so i also have a backup link : https://the-adventure-to-nowhere-part-1-c8cyynjokisz4bzutjomy8.streamlit.app/", "repo": "https://github.com/senthilnathanarun15/the-adventure-to-nowhere-part-1", "demo": "https://senthilnathanarun15.github.io/the-adventure-to-nowhere-part-1/"}]...
|
[{"post_id": 66457, "ts": "202 [{"post_id": 66457, "ts": "2026-09-12T09:29:38Z", "hours": 5.7253, "text": "i am doing the story first"}]...
|
Title: the adventure to nowhere PART - 1 by @senth Title: the adventure to nowhere PART - 1 by @senthilnathan_arun | Stardance
Devlogs:
i am doing the story first
Ships:
hi i created ths text based rpg game . my goal is the cmf buds so rate this as you think it is . there are a lot of reliability issues with github streamlit . so i also have a backup link : https://the-adventure-to-nowhere-part-1-c8cyynjokisz4bzutjomy8.streamlit.app/...
|
1793414937.5477543
|
1793501337.5477543
|
|
55312
|
Car For Speed by @Dexpate | Stardance
|
Dexpate
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T09:35:00Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It is a retro 100-octane garage portfolio and a playable 16-bit arcade racing game like OutRun. I built the entire thing with just vanilla HTML, CSS, and JavaScript without using any big libraries or npm packages! What works & what did you build? An ECU computer boot screen that pretends to test twin turbochargers and 100-octane fuel maps before revealing the site. A real playable pseudo-3D perspective road engine on HTML5 Canvas where you use W/A/S/D or arrow keys to steer, drift along curves, and beat the 45-second timer. Fixed a crazy bug where overtaking yellow traffic cars became giant boxes covering the entire screen! Telemetry gauges, boost monitors, and showcase cards for my hardware and coding projects. Uploaded everything cleanly to GitHub and hosted it live on GitHub Pages.", "repo": "https://github.com/dennispathe123/cars-for-speed", "demo": "https://dennispathe123.github.io/cars-for-speed/"}]...
|
[{"post_id": 66458, "ts": "202 [{"post_id": 66458, "ts": "2026-09-12T09:29:42Z", "hours": 1.8828, "text": "I made a super cool website called Cars for Speed! It has a giant car garage and a retro 80s racing game like OutRun, and I made the WHOLE THING myself with just normal HTML, CSS, and JavaScript. No giant boring libraries or cheats!Stuff I made and fixed:Cool Computer Boot Screen: When you open the page, a black hacker screen pops up that says it’s checking the turbo boost and putting 100 octane race gas in the engine before the game starts.Fake 3D Road That Doesn’t Make Your Tummy Hurt: At first, the road lines were moving weird and made me feel dizzy. So I did tricky math with perspective so the road looks like real 3D curving left and right into the sunset!Fixed The Giant Monster Car Bug: Earlier, when I tried to pass a yellow car, it got HUGE like a giant yellow box that covered the whole screen haha! I fixed the size numbers so it stays regular car-sized and zooms past my bumper.My Real Garage: I added boxes showing my other favorite stuff, like my 21-speed mountain bike with lockout and my computer boards with real wires.Put it on the Internet: I put all the code nicely into separate files, uploaded it to GitHub, wrote the instructions, and turned on the website so anyone can click and drive!"}]...
|
Title: Car For Speed by @Dexpate | Stardance
Devl Title: Car For Speed by @Dexpate | Stardance
Devlogs:
I made a super cool website called Cars for Speed! It has a giant car garage and a retro 80s racing game like OutRun, and I made the WHOLE THING myself with just normal HTML, CSS, and JavaScript. No giant boring libraries or cheats!Stuff I made and fixed:Cool Computer Boot Screen: When you open the page, a black hacker screen pops up that says it’s checking the turbo boost and putting 100 octane race gas in the engine before the game starts.Fake 3D Road That Doesn’t Make Your Tummy Hurt: At first, the road lines were moving weird and made me feel dizzy. So I did tricky math with perspective so the road looks like real 3D curving left and right into the sunset!Fixed The Giant Monster Car Bug: Earlier, when I tried to pass a yellow car, it got HUGE like a giant yellow box that covered the whole screen haha! I fixed the size numbers so it stays regular car-sized and zooms past my bumper.My Real Garage: I added boxes showing my other favorite stuff, like my 21-speed mountain bike with lockout and my computer boards with real wires.Put it on the Internet: I put all the code nicely into separate files, uploaded it to GitHub, wrote the instructions, and turned on the website so anyone can click and drive!
Ships:
It is a retro 100-octane garage portfolio and a playable 16-bit arcade racing game like OutRun. I built the entire thing with just vanilla HTML, CSS, and JavaScript without using any big libraries or npm packages! What works & what did you build? An ECU computer boot screen that pretends to test twin turbochargers and 100-octane fuel maps before revealing the site. A real playable pseudo-3D perspective road engine on HTML5 Canvas where you use W/A/S/D or arrow keys to steer, drift along curves, and beat the 45-second timer. Fixed a crazy bug where overtaking yellow traffic cars became giant boxes covering the entire screen! Telemetry gauges, boost monitors, and showcase cards for my hardware and coding projects. Uploaded everything cleanly to GitHub and hosted it live on GitHub Pages....
|
1793336029.6380136
|
1793422429.6380136
|
|
60345
|
AmazingBot by @Darknow90 | Stardance
|
Darknow90
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T09:40:22Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It’s a very basic bot slack that I make but it is funny and cool ! :) Thank you so much for this guide and this project !", "repo": "https://github.com/Manu7611/AmazingBot-Slack", "demo": "https://hackclub.enterprise.slack.com/archives/C0C0XT281HD"}]...
|
[{"post_id": 66464, "ts": "202 [{"post_id": 66464, "ts": "2026-09-12T09:38:05Z", "hours": 0.3333, "text": "DevLog #3 : The end of my little project , the VM is more easy than i thinked and pretty good for my project ! Thank you for this project"}, {"post_id": 66020, "ts": "2026-09-11T15:41:54Z", "hours": 1.2333, "text": "DevLog #3 : Working on the github of this project and I missed the gitignore lmao , a lot of time to fix it… But now , it’s work ! I go to create a VM for the bot and after all of good :)"}, {"post_id": 65563, "ts": "2026-09-10T19:43:44Z", "hours": 0.5772, "text": "DevLog #2 : Elaborating the code of the bot , It’s more easy than I thinked…"}, {"post_id": 65001, "ts": "2026-09-09T19:41:20Z", "hours": 0.45, "text": "DevLog #1 : I begin to configure my bot slack with the api creation and files structure… Not fully good but It’s okay , I just have a initialization bot problem…"}]...
|
Title: AmazingBot by @Darknow90 | Stardance
Devlo Title: AmazingBot by @Darknow90 | Stardance
Devlogs:
DevLog #1 : I begin to configure my bot slack with the api creation and files structure… Not fully good but It’s okay , I just have a initialization bot problem…
DevLog #2 : Elaborating the code of the bot , It’s more easy than I thinked…
DevLog #3 : Working on the github of this project and I missed the gitignore lmao , a lot of time to fix it… But now , it’s work ! I go to create a VM for the bot and after all of good :)
DevLog #3 : The end of my little project , the VM is more easy than i thinked and pretty good for my project ! Thank you for this project
Ships:
It’s a very basic bot slack that I make but it is funny and cool ! :) Thank you so much for this guide and this project !...
|
1793411565.8352869
|
1793497965.8352869
|
|
57148
|
Intent-An Extension you need. by @PrakstheBruce | Intent-An Extension you need. by @PrakstheBruce | Stardance...
|
PrakstheBruce
|
0
|
2.24
|
0
|
[]
|
[{"post_id": 66470, "ts": "202 [{"post_id": 66470, "ts": "2026-09-12T09:48:02Z", "hours": 1.2667, "text": "The Crazyyy CHAotic Bug!!: Hey Guyss Today I successfully hard coded my JS, html and CSS files for Intent. BUt I encountered a Crazy and fun looking Logical Bug. Seee…Intent is supposed to remind you your task/reason for opening the website, but Its supposed to do it only once!!! Now due to an error The popup appears everytime I switch between subpages, for example: Scrolling Shorts on Yt…..and just Look AT IT!!! 😭😂"}, {"post_id": 59680, "ts": "2026-09-01T16:31:54Z", "hours": 0.9764, "text": "Hey Guys, I just started working on my simple Yet effective Chrome Extension- “Intent”- Which simply Reminds you of “Why you opened a website(distracting ones), (sometimes it could be for useful purposes!!)” and gently reminds you!"}]...
|
Title: Intent-An Extension you need. by @PrakstheB Title: Intent-An Extension you need. by @PrakstheBruce | Stardance
Devlogs:
Hey Guys, I just started working on my simple Yet effective Chrome Extension- “Intent”- Which simply Reminds you of “Why you opened a website(distracting ones), (sometimes it could be for useful purposes!!)” and gently reminds you!
The Crazyyy CHAotic Bug!!: Hey Guyss Today I successfully hard coded my JS, html and CSS files for Intent. BUt I encountered a Crazy and fun looking Logical Bug. Seee…Intent is supposed to remind you your task/reason for opening the website, but Its supposed to do it only once!!! Now due to an error The popup appears everytime I switch between subpages, for example: Scrolling Shorts on Yt…..and just Look AT IT!!! 😭😂...
|
1793418676.8414466
|
1794023476.8414466
|
|
47431
|
the LAST SIGNAL by @Makkonen | Stardance
|
Makkonen
|
1
|
82.0
|
1366
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T09:50:10Z", "hours": 82.0, "multiplier": 16.6, "payout": 1366, "blessing": "neutral", "text": "How to play Go to my itch.io page (the demo link) and download the game, extract the .zip file and launch the file called LAST SIGNAL.EXE If you are on another OS than windows Just go to the GitHub readme and there will be an link to my unity play page. MY CUSTOM SHADER DOESNT WORK IN THE BROWSER SO PLEASE TEST THE ACTUAL VERSION IF YOU CAN! What did i make? I made an horror game in unity from scratch with the following made by me: All of the 3D models All of the scripts Whole storyline Majority of the music All of the scripts What is it about? LASTSIGNAL follows an story of an random guy finding himself inside weird rooms, later he realizes that this is an simulation and he has to find his way out, in the game the objective shifts from just finding an way out, to destroying the simulation and freeing everybody in there. How did i make it? I made the 3D models in blockbench, made scripts in VS code using C# and made the storyline in my head :D Controls In the game you will use your mouse to look around and WASD to move, you can interact with objects by looking at them and pressing E. In the end of the game in the parkour sections you will have to use SHIFT to sprint and SPACE to jump. Secrets and easter eggs I have made paper files all around the game telling the stories of other people in the simulation, i also made easter eggs hinting at stardance and my other projects. Minigames LASTSIGNAL has many minigames like hacking, password remembering and submitting codes.", "repo": "https://github.com/MakkonenHugo/LASTSIGNAL", "demo": "https://hugo-virtanen.itch.io/lastsignal"}]...
|
[{"post_id": 66471, "ts": "202 [{"post_id": 66471, "ts": "2026-09-12T09:49:21Z", "hours": 0.8703, "text": "Last changes before shipping Itch.io and unity play I have made an working itch.io page and an unity play page Small changes I have made small changes all around the game, like in level 2 i added an fade transition when leaving I also made changes to the first room with better dialogue and more interactable stuff. Bug fixes I fixed bugs like in the first parkour section where the teleport back up wasnt working, or when some sounds didnt work in some levels So this is my LAST DEVLOG (pun intended) and thanks to everyone who has been liking my devlogs and stuff!"}, {"post_id": 66048, "ts": "2026-09-11T16:40:58Z", "hours": 8.6517, "text": "Improvements! Sounds Now every time dialogue shows up, an small keyboard soundeffect is played with every character, i think it improves the game alot! Now some objects have interaction sounds, for example, when listening to the radio, you will hear the radios startup beep. Every level has either ambiance sounds or music of some kind! New physical stuff Now, every level has new stuff to interact with or just for show, like: wires, coffee cups, vents, pencils, trash cans! I have also positioned some stuff better, for example in level 2, jeff is now more away from the radio, but still looking at it! Easter eggs and stuff to find I have added “documents” and “logs” about previous subjects all around the game, for example in level 2 there now is an table with some guy called Gary’s note. In level 4 there is an hint to LuckyOS in an paper stack, and in Level 9, you can find an laptop that has an reference to StarDance! Ending changes I made small improvements to the ending scene, like how the fire is and how Jeff appears sometimes. I also now have completely finished the first and second parkour sections!"}, {"post_id": 64923, "ts": "2026-09-09T17:20:23Z", "hours": 8.1214, "text": "Ending! Parkour After level 9 you will get to have some “fun”… Its an PARKOUR SECTION! Actually two of them, in the first one you have to jump to different platforms while an REALLY good breakcore track plays and alarms are yelling, i also added alarm lights so it sets the vibe. In the second section you will have to just run straight and avoid obstacles in the way. Ending In the end you will go into the main server room and open up an… OPERATING SYSTEM! It has currently one app only but i might make it better (or worse). In the OS you will click on an Simulation Manager icon, and it opens an app, where you DELETE the whole simulation. But you realise IT ISNT ENOUGH! So you do the only logical thing… BURN THE WHOLE PLACE DOWN! So after you delete the simulation, you interact with anything in the room (exept the pc) and the scene fades to an burning server room with the pc setup completely in pieces, and even Jeff kinda flickers in the room from time to time! Bad ending So now in level 8 you have another portal, the stay portal! Its only an model right now but i will make it so it will lead to an bad ending. You gettng turned into… JEFF 2! (get it cuz you are Jeff too, but also the second jeff so jeff2) Intro or startup! I added an small animation when you start the game, it first shows my studios logo, and then it does this typewriter effect with. “LASTSIGNAL” “Finding signal…” “SIgnal lost” and then an glitch effect! The whole thing is packed with soundeffects too so it feels nice!"}, {"post_id": 64080, "ts": "2026-09-08T07:21:49Z", "hours": 8.1936, "text": "New levels and effects! Level 7, the CHASE I really dont want to be the guy to spoil anything, but i kinda have to. Level 7 will be an ACTION filled level, it will be really short, around 1 minute, but it will be fun! In the level you will have this GIANT hallway in front of you with GIANT furniture, and then an small table and radio infront of you! When you listen to the radio it will say: “ITS A TRAP! RUN!” And then chase music that I MADE will start playing, and your camera will start to shake violently, your mouse gets locked to an few degrees and these red messages will start showing saying “RUN” “IT’S BEHIND YOU” and so on, right now its so if you dont get out of the level in an generous 50 seconds, the level restarts, no “you died” nothing, just an do it again. Level 8 Level 8 will feature an big gray room, with nothing than an radio, when you listen to the radio the lights dim and your mouse gets locked, music starts playing and the radio starts speaking, this dialouge contains TOO MUCH spoilers, so i will not put it in this devlog, after that you will turn around and walk into an EXIT portal, you get sent straight THROUGH the floor, your vision will pixelate to 16 and 9 pixels (REALLY PIXELATED) and you will get teleported to… the real world! Level 9, the real world In level 9 the first thing you will realize is that this is an office, there are many office desks with computers on them, in the real world there is NO PIXELATION! You will realize that the door is LOCKED! With an same kind of lock than in level 4, but now there aren’t just papers on the ground… There are THE PC’s! You will need to check them for vulnerabilities and HACK them for the door code! (in this level there even is an STARDANCE easter egg :D) Small stuff Password minigame I added an password remembering game to lvl 6! In there the game you will have to look at passwords, remember them, and type them! Right now it serves no purpose but idk i might make it have something after completeon! Minigame visual upgrade! Some people might remember my other project, the hacking panel, so i made the matrix rain feature from there to LASTSIGNAL! Now everytime you are in an minigame, there will be green glowing text in the background!"}, {"post_id": 62911, "ts": "2026-09-06T13:28:14Z", "hours": 9.3292, "text": "New levels! Storyline impact Level 5 will be kind of an “filler level”, it introduses the player to the new objective of the game, destroying the signal world! Thats right, the games objective has switched from just getting out, to putting an stop to this! MASSIVE graphics update! I made an custom shader, to make the game PIXELATED! I know, “so many games are pixelated do something of your own” IM NOT GOOD WITH MODELING, OK!? My models are pretty bad and i dont want it to be the downfall of my game. But thats not really the reason, the reason is, that when an game is pixelated, it looks good if done right, and also when the graphics are bad, the players have to use their imagination, and THAT is the true reason, i want the players to imagine, to theorise what is going on and how everything looks. I also made an crosshair, because my very nice and good playtester @silvonik left some REALLY GOOD feedback and gave me the idea to make an crosshair! Thank you silvonik :D Level 5 In level 5, you spawn into an two section room, in the first section there will be an laptop and the radio, the radio has some interesting dialogue that tells you how to HACK THE SYSTEM until the message cuts off, and another voice comes trough telling you the message cannot be played, the hacking minigame is this pause at the right time type of game, i added some… “interesting” log messages to the screens right, “hugoAPT” comes from “sudoAPT” but sudo is LITERALLY JUST MY NAME. In the second section, theres an actual pc and an monitor, where by pressing E you can actually watch cameras from the levels you have survived. Level 6 THATS RIGHT! Level 6 is already in developement and it will feature… FLICKERING LIGHTS, who doesnt love those? AN HALLUSINATION, of Jeff… You havent seen him in some time? NORMAL MUSIC THAT BECOMES DISTORTED, thats one way to make ambiance… SELF SLAMMING DOORS, wow so spooky! DISTANT SOUNDS, are they there or are you going crazy? MOVING OBJECTS, level 2’s chair is proud! The level itself is just an box and an hallway, lets just say that the hallway leads to some prettyyyy… “Intensive” stuff… MORE SETTINGS! I realized that the settings was looking an little thin… so i got into work and i made more. Headbob toggle, some people might get nauseous or feel discomfort if the camera is shaking all over the place, so you can now toggle it! Crosshair, i added an toggle to the crosshair, because it could ruin the immersion for some people. Sensitivity, this one is kind of self explanatory, every game needs an sensitivity slider."}, {"post_id": 61000, "ts": "2026-09-03T18:13:08Z", "hours": 8.1131, "text": "AHH EVERYTHING IS BREAKING! Bug fixing Soo it has not been rly “sunshines and rainbows” developing LASTSIGNAL so ive spent an long time fixing bugs, here are an few i have fixed: Camera glitching when spawning, radio not working, objects not vanishing, objects not spawning, interacion breaking COMPLETELY, TWO “press E to interact” prompts, “press E to interact” flashing, interaction detector NOT SEEING THE OBJECTS, after interacting some objects you cant do anything anymore. Level 4 developement So now the good stuff, Level 4 is mostly done! (yay) Ill still polish it an little bit but its in good shape! Level 4 is an GIANT in terms of the LORE, it features the radio not working as normal… it wont open the door because the door has an CODE LOCK! You will have to look at manu pieces of paper to find the code and put the code into the number pad next to the door to get out. This levels background music is activated when interacting with an laptop, the laptop has been live streaming for infinite hours? its really clear time works differently here… (go crazy with the theories) The level tells about “subjects” and that there have been many befor you here… Or have there!? Is this just all mind games? Are you actually just sleeping?(ill answer this one: no you are not sleeping it would be so boring if you were) Level 3 changes I have changed the radio messages to imply more of that sweet LORE. The radio goes along the lines of “Do you know that Jeff guy? Hes weird, but hes been here more than you have, more than anyone has, i cant say too much now… Somebody is ALWAYS LISTENING” Wow so lore :O ! Small stuff I have updated the lvl 1 dialogue to again, make more LOREEEEE! And i also added some more credits to the main menu! Nothing much this time!"}, {"post_id": 59087, "ts": "2026-08-31T18:21:29Z", "hours": 5.6414, "text": "Small changes and level 4 development Level 1 update In the last devlog, i promised an level 1 update, so that is what i made, first i modeled an office desk, drawers, and stacks of paper, i put them on the empty side of the room. after that i created two scripts (similar to the chair event) First is an script that makes an object/objects vanish when you are not looking (after listening to dialogue) And the other one does the complete OPPOSITE, it makes an object/objects appear when you are not looking, (you guessed it, after listening to dialogue) So now, when you inspect the office desk, an paper stack appears in front of the door, the paper tells you to look at the desk again, but when you turn around the desk is gone, and when you look back at the paper, its NOT THERE! Level transition rework Before, you just walked into an trigger and it teleported you into the next level, now it does just that but with an cool ANIMATION (so cool) So now loading to the next level, you will have an fade in and out animation! Level 4 Im happy to say, level 4 IS IN DEVELOPEMENT! (hooray, took me long enough) Level 4 is going to be an studio room that gets the player REALLY thinking what is going on… But if that gets you thinking, just WAIT WHAT LEVEL 5 IS GOING TO BE! Plans for the future In the next devlog i think i will add more settings and make the main menu better, maybe ill even add some cheat codes or something in the README… AS ALWAYS STAY TUNED FOR FUTURE STUFF!"}, {"post_id": 58063, "ts": "2026-08-30T12:33:06Z", "hours": 5.5022, "text": "(major) Third level update! Lights out update First off, i updated the lights out mechanic, so now it isnt as snappy and is pretty smooth, the table is where it was before and everything looks nice :D New trigger! Now after the lights go out, you walk to the the door, where its still locked, so you have to go back, but at the door you just walked through an invisible trigger that spawned the radio and an mysterious object…(an sign) when you walk to the other side of the hallway, you see an sign, the sign says “why do you want to leave?” Hmm, who could have put that there… and when you interact with the radio and turn around, THE SIGN IS GONE :O More mysterious stuff After interacting with the radio, you will see more stuff that was not there in the beginning, an cardboard box, and an MICROWAVE? (sorry i ran out of ideas) Just kidding, i chose those two because they are random and get the player to question what is happening, and also to indicate, the mc doesnt feel hunger or thirst, so maybe this is all an dream? Maybe none of this is real? STAY TUNED TO FIND OUT! Lvl 1 styling Im also working on making the first level better, i already modeled an desk and drawers for it so stay tuned… Bug fixes! Yes so game developing isnt all sunshine and rainbows because of THE BUGS! Today i fixed an bug where the camera would randomly just tweak out and move on its own, and i also fixed an bug with the interaction detector where the text would just start flashing REALLY fast and it REALLY got on my nerves but they are fixed now!"}, {"post_id": 57335, "ts": "2026-08-29T13:36:10Z", "hours": 8.1325, "text": "BIG changes and lvl3 test version Changes to looking around For an long time i was trying to make an little change how looking around feels, by making the look speed accelerate and decelerate when moving the mouse, but that made an very big problem, the camera would just snap around when looking at an interractable object, so i tried to fix it numerous times but with no luck, but FINALLY after 2 days of bug fixing i finally got it to work and the game feels smooth to play! Camera overlay Now, because of the looking around effect(idk what to call it sry :D ) looking around feels kind of heavy, so i thought that it could be that the mc would be holding an camera! So thats what i did, the camera has an battery indicator and then the cool part, the time recorded is ACTUALLY the time the scene has been loaded! Level 3 Level 3 now has an event called lights out event, “what does it do?” well when you are close to the door, suddenly the lights go out and when they come back, the door is suddenly farther away. It works using an empty game object that i put my script in and made it an trigger, when the lights are out you get teleported to an different hallway that is identical to the first one exept its bigger, so it creates the illusion that the hallway has stretched."}, {"post_id": 55102, "ts": "2026-08-26T15:39:45Z", "hours": 5.5144, "text": "This is another big devlog First off, i added an pausemenu where right now you can only exit the game, resume, and adjust your settings. The “settings” is only the games volume right now but there will be more once i just think about what… Another big thing is the main menu I added an mainmenu that shows up when you start the game where you can “continue” (right now just start from lvl 1 bc the game has no checkpoints but i will add them later) tweak the settings, quit the game and wiew the credits, there currently is no settings or credits but i will add them an little bit later. The design for the settings and menu Both the settings and mainmenu have this starry live wallpaper feel and if you look closely, you might see an shootting star… I also added an glitch hover effect to the buttons because it fits the weird theme of the game. (every buttons effect is different) And i also started working on lvl3 its an hallway that doesnt behave like an normal hallway… But there really isnt much there so you will hear more about lvl3 in the next devlog :O (i also just now discovered headings so thats nice)"}, {"post_id": 53224, "ts": "2026-08-23T17:45:03Z", "hours": 3.3136, "text": "Alright, things just got interesting… First off i added an walking sound effect so now when you are walking in lvl2 you will be rustling the grass below you, and it also depends what sound it is on what surface you are walking on (GTA 6 has some competition am i right) And then i spent TOO LONG on making this headbob feature so now when you are walking your head will bounce up and down! And then i added this weird chair that moves after you inspect it and look away! And i made some bug fixes like how the interaction box was too small for some reason and also i made some little changes like wich way the door opens and stuff. :O"}, {"post_id": 51628, "ts": "2026-08-21T12:28:14Z", "hours": 6.0508, "text": "Alright this is an pretty big devlog. Well first, i added an door opening feature, where after the radio event, you can interract with the door and open it! I also made some small bug fixes like the camera snapping into somewhere else when you tried to interract. And now is the interesting part, i made an second levelm, but first, how do you get into the second level? Well after opening the door in lvl 1 you jump into the void and pass 3 triggers, first one plays an swoosh sound effect, second puts an picture where i drew LASTSIGNAL, and the third teleports you to the second room. Now, the second room is not an room at all, it is an grassy field with an bed in the middle, an house, and ofc Jeff and the radio, the gameplay is: spawn, look around, inspect stuff, find Jeff and the radio, get scared bc of jeff(probably just me), listen to what the radio has to say(actual lore now), open the door and get out of there. The level is focused around dreamcore and liminal spaces so it ofc has some lil creepy but calming music too!"}, {"post_id": 47959, "ts": "2026-08-16T07:29:31Z", "hours": 1.2506, "text": "so we now got alot of stuff so first i remodeled jeff and made him tall so now hes kinda scary, and going with the scary theme i also made the room pretty dark and added some fog, i put an light source on the table so players wouldnt have problems using the radio. The first room is purposelly small not much to do but now im making the second room/level, im thinking ill make it this low poly grass field kinda like an liminal space or something.AND i also added an ambiance soundtrack that (sadly) isnt self made but if i find some good free software i will make everything myself"}, {"post_id": 47334, "ts": "2026-08-15T06:45:18Z", "hours": 1.9967, "text": "Alright, big game update, i added an door to the room(3D modeled myself) and added that guy whos name is jeff(also modeled) and an table and an radio ontop of the table(also modeled) and then made an system where when you are close enough and looking at something you can press E and inspect it, i will probably add an inspection to everything bc its so easy to do! And i added an little gameplay too, first you spawn in, inspect jeff, the table and then you inspect the radio, first it says the radio isnt plugged in but then an voice comes through, jeff is gone, and the door is open. Pretty nice :O"}, {"post_id": 46472, "ts": "2026-08-13T18:26:56Z", "hours": 1.6111, "text": "I 3D modeled (Myself) an little test room and wrote “LAB” in it so i could test my scripts, but as you can see, its just an gray box. I think even though this is just an test room, it will be seen in the game at some point for the weird feeling. And then i added two C# scripts, one for walking around and the other one for looking around. I also made an little soundtrack for the game but it doesnt show in the time. I will make an actual map and something more tomorrow :O and also if you have any ideas let me know!"}]...
|
Title: the LAST SIGNAL by @Makkonen | Stardance
D Title: the LAST SIGNAL by @Makkonen | Stardance
Devlogs:
I 3D modeled (Myself) an little test room and wrote “LAB” in it so i could test my scripts, but as you can see, its just an gray box. I think even though this is just an test room, it will be seen in the game at some point for the weird feeling. And then i added two C# scripts, one for walking around and the other one for looking around. I also made an little soundtrack for the game but it doesnt show in the time. I will make an actual map and something more tomorrow :O and also if you have any ideas let me know!
Alright, big game update, i added an door to the room(3D modeled myself) and added that guy whos name is jeff(also modeled) and an table and an radio ontop of the table(also modeled) and then made an system where when you are close enough and looking at something you can press E and inspect it, i will probably add an inspection to everything bc its so easy to do! And i added an little gameplay too, first you spawn in, inspect jeff, the table and then you inspect the radio, first it says the radio isnt plugged in but then an voice comes through, jeff is gone, and the door is open. Pretty nice :O
so we now got alot of stuff so first i remodeled jeff and made him tall so now hes kinda scary, and going with the scary theme i also made the room pretty dark and added some fog, i put an light source on the table so players wouldnt have problems using the radio. The first room is purposelly small not much to do but now im making the second room/level, im thinking ill make it this low poly grass field kinda like an liminal space or something.AND i also added an ambiance soundtrack that (sadly) isnt self made but if i find some good free software i will make everything myself
Alright this is an pretty big devlog. Well first, i added an door opening feature, where after the radio event, you can interract with the door and open it! I also made some small bug fixes like the camera snapping into somewhere else when you tried to interract. And now is the interesting part, i made an second levelm, but first, how do you get into the second level? Well after opening the door in lvl 1 you jump into the void and pass 3 triggers, first one plays an swoosh sound effect, second puts an picture where i drew LASTSIGNAL, and the third teleports you to the second room. Now, the second room is not an room at all, it is an grassy field with an bed in the middle, an house, and ofc Jeff and the radio, the gameplay is: spawn, look around, inspect stuff, find Jeff and the radio, get scared bc of jeff(probably just me), listen to what the radio has to say(actual lore now), open the door and get out of there. The level is focused around dreamcore and liminal spaces so it ofc has some lil creepy but calming music too!
Alright, things just got interesting… First off i added an walking sound effect so now when you are walking in lvl2 you will be rustling the grass below you, and it also depends what sound it is on what surface you are walking on (GTA 6 has some competition am i right) And then i spent TOO LONG on making this headbob feature so now when you are walking your head will bounce up and down! And then i added this weird chair that moves after you inspect it and look away! And i made some bug fixes like how the interaction box was too small for some reason and also i made some little changes like wich way the door opens and stuff. :O
This is another big devlog First off, i added an pausemenu where right now you can only exit the game, resume, and adjust your settings. The “settings” is only the games volume right now but there will be more once i just think about what… Another big thing is the main menu I added an mainmenu that shows up when you start the game where you can “continue” (right now just start from lvl 1 bc the game has no checkpoints but i will add them later) tweak the settings, quit the game and wiew the credits, there currently is no settings or credits but i will add them an little bit later. The design for the settings and menu Both the settings and mainmenu have this starry live wallpaper feel and if you look closely, you might see an shootting star… I also added an glitch hover effect to the buttons because it fits the weird theme of the game. (every buttons effect is different) And i also started working on lvl3 its an hallway that doesnt behave like an normal hallway… But there really isnt much there so you will hear more about lvl3 in the next devlog :O (i also just now discovered headings so thats nice)
BIG changes and lvl3 test version Changes to looking around For an long time i was trying to make an little change how looking around feels, by making the look speed accelerate and decelerate when moving the mouse, but that made an very big problem, the camera would just snap around when looking at an interractable object, so i tried to fix it numerous times but with no luck, but FINALLY after 2 days of bug fixing i finally got it to work and the game feels smooth to play! Camera overlay Now, because of the looking around effect(idk what to call it sry :D ) looking around feels kind of heavy, so i thought that it could be that the mc would be holding an camera! So thats what i did, the camera has an battery indicator and then the cool part, the time recorded is ACTUALLY the time the scene has been loaded! Level 3 Level 3 now has an event called lights out event, “what does it do?” well when you are close to the door, suddenly the lights go out and when they come back, the door is suddenly farther away. It works using an empty game object that i put my script in and made it an trigger, when the lights are out you get teleported to an different hallway that is identical to the first one exept its bigger, so it creates the illusion that the hallway has stretched.
(major) Third level update! Lights out update First off, i updated the lights out mechanic, so now it isnt as snappy and is pretty smooth, the table is where it was before and everything looks nice :D New trigger! Now after the lights go out, you walk to the the door, where its still locked, so you have to go back, but at the door you just walked through an invisible trigger that spawned the radio and an mysterious object…(an sign) when you walk to the other side of the hallway, you see an sign, the sign says “why do you want to leave?” Hmm, who could have put that there… and when you interact with the radio and turn around, THE SIGN IS GONE :O More mysterious stuff After interacting with the radio, you will see more stuff that was not there in the beginning, an cardboard box, and an MICROWAVE? (sorry i ran out of ideas) Just kidding, i chose those two because they are random and get the player to question what is happening, and also to indicate, the mc doesnt feel hunger or thirst, so maybe this is all an dream? Maybe none of this is real? STAY TUNED TO FIND OUT! Lvl 1 styling Im also working on making the first level better, i already modeled an desk and drawers for it so stay tuned… Bug fixes! Yes so game developing isnt all sunshine and rainbows because of THE BUGS! Today i fixed an bug where the camera would randomly just tweak out and move on its own, and i also fixed an bug with the interaction detector where the text would just start flashing REALLY fast and it REALLY got on my nerves but they are fixed now!
Small changes and level 4 development Level 1 update In the last devlog, i promised an level 1 update, so that is what i made, first i modeled an office desk, drawers, and stacks of paper, i put them on the empty side of the room. after that i created two scripts (similar to the chair event) First is an script that makes an object/objects vanish when you are not looking (after listening to dialogue) And the other one does the complete OPPOSITE, it makes an object/objects appear when you are not looking, (you guessed it, after listening to dialogue) So now, when you inspect the office desk, an paper stack appears in front of the door, the paper tells you to look at the desk again, but when you turn around the desk is gone, and when you look back at the paper, its NOT THERE! Level transition rework Before, you just walked into an trigger and it teleported you into the next level, now it does just that but with an cool ANIMATION (so cool) So now loading to the next level, you will have an fade in and out animation! Level 4 Im happy to say, level 4 IS IN DEVELOPEMENT! (hooray, took me long enough) Level 4 is going to be an studio room that gets the player REALLY thinking what is going on… But if that gets you thinking, just WAIT WHAT LEVEL 5 IS GOING TO BE! Plans for the future In the next devlog i think i will add more settings and make the main menu better, maybe ill even add some cheat codes or something in the README… AS ALWAYS STAY TUNED FOR FUTURE STUFF!
AHH EVERYTHING IS BREAKING! Bug fixing Soo it has not been rly “sunshines and rainbows” developing LASTSIGNAL so ive spent an long time fixing bugs, here are an few i have fixed: Camera glitching when spawning, radio not working, objects not vanishing, objects not spawning, interacion breaking COMPLETELY, TWO “press E to interact” prompts, “press E to interact” flashing, interaction detector NOT SEEING THE OBJECTS, after interacting some objects you cant do anything anymore. Level 4 developement So now the good stuff, Level 4 is mostly done! (yay) Ill still polish it an little bit but its in good shape! Level 4 is an GIANT in terms of the LORE, it features the radio not working as normal… it wont open the door because the door has an CODE LOCK! You will have to look at manu pieces of paper to find the code and put the code into the number pad next to the door to get out. This levels background music is activated when interacting with an laptop, the laptop has been live streaming for infinite hours? its really clear time works differently here… (go crazy with the theories) The level tells about “subjects” and that there have been many befor you here… Or have there!? Is this just all mind games? Are you actually just sleeping?(ill answer this one: no you are not sleeping it would be so boring if you were) Level 3 changes I have changed the radio messages to imply more of that sweet LORE. The radio goes along the lines of “Do you know that Jeff guy? Hes weird, but hes been here more than you have, more than anyone has, i cant say too much now… Somebody is ALWAYS LISTENING” Wow so lore :O ! Small stuff I have updated the lvl 1 dialogue to again, make more LOREEEEE! And i also added some more credits to the main menu! Nothing much this time!
New levels! Storyline impact Level 5 will be kind of an “filler level”, it introduses the player to the new objective of the game, destroying the signal world! Thats right, the games objective has switched from just getting out, to putting an stop to this! MASSIVE graphics update! I made an custom shader, to make the game PIXELATED! I know, “so many games are pixelated do something of your own” IM NOT GOOD WITH MODELING, OK!? My models are pretty bad and i dont want it to be the downfall of my game. But thats not really the reason, the reason is, that when an game is pixelated, it looks good if done right, and also when the graphics are bad, the players have to use their imagination, and THAT is the true reason, i want the players to imagine, to theorise what is going on and how everything looks. I also made an crosshair, because my very nice and good playtester @silvonik left some REALLY GOOD feedback and gave me the idea to make an crosshair! Thank you silvonik :D Level 5 In level 5, you spawn into an two section room, in the first section there will be an laptop and the radio, the radio has some interesting dialogue that tells you how to HACK THE SYSTEM until the message cuts off, and another voice comes trough telling you the message cannot be played, the hacking minigame is this pause at the right time type of game, i added some… “interesting” log messages to the screens right, “hugoAPT” comes from “sudoAPT” but sudo is LITERALLY JUST MY NAME. In the second section, theres an actual pc and an monitor, where by pressing E you can actually watch cameras from the levels you have survived. Level 6 THATS RIGHT! Level 6 is already in developement and it will feature… FLICKERING LIGHTS, who doesnt love those? AN HALLUSINATION, of Jeff… You havent seen him in some time? NORMAL MUSIC THAT BECOMES DISTORTED, thats one way to make ambiance… SELF SLAMMING DOORS, wow so spooky! DISTANT SOUNDS, are they there or are you going crazy? MOVING OBJECTS, level 2’s chair is proud! The level itself is just an box and an hallway, lets just say that the hallway leads to some prettyyyy… “Intensive” stuff… MORE SETTINGS! I realized that the settings was looking an little thin… so i got into work and i made more. Headbob toggle, some people might get nauseous or feel discomfort if the camera is shaking all over the place, so you can now toggle it! Crosshair, i added an toggle to the crosshair, because it could ruin the immersion for some people. Sensitivity, this one is kind of self explanatory, every game needs an sensitivity slider.
New levels and effects! Level 7, the CHASE I really dont want to be the guy to spoil anything, but i kinda have to. Level 7 will be an ACTION filled level, it will be really short, around 1 minute, but it will be fun! In the level you will have this GIANT hallway in front of you with GIANT furniture, and then an small table and radio infront of you! When you listen to the radio it will say: “ITS A TRAP! RUN!” And then chase music that I MADE will start playing, and your camera will start to shake violently, your mouse gets locked to an few degrees and these red messages will start showing saying “RUN” “IT’S BEHIND YOU” and so on, right now its so if you dont get out of the level in an generous 50 seconds, the level restarts, no “you died” nothing, just an do it again. Level 8 Level 8 will feature an big gray room, with nothing than an radio, when you listen to the radio the lights dim and your mouse gets locked, music starts playing and the radio starts speaking, this dialouge contains TOO MUCH spoilers, so i will not put it in this devlog, after that you will turn around and walk into an EXIT portal, you get sent straight THROUGH the floor, your vision will pixelate to 16 and 9 pixels (REALLY PIXELATED) and you will get teleported to… the real world! Level 9, the real world In level 9 the first thing you will realize is that this is an office, there are many office desks with computers on them, in the real world there is NO PIXELATION! You will realize that the door is LOCKED! With an same kind of lock than in level 4, but now there aren’t just papers on the ground… There are THE PC’s! You will need to check them for vulnerabilities and HACK them for the door code! (in this level there even is an STARDANCE easter egg :D) Small stuff Password minigame I added an password remembering game to lvl 6! In there the game you will have to look at passwords, remember them, and type them! Right now it serves no purpose but idk i might make it have something after completeon! Minigame visual upgrade! Some people might remember my other project, the hacking panel, so i made the matrix rain feature from there to LASTSIGNAL! Now everytime you are in an minigame, there will be green glowing text in the background!
Ending! Parkour After level 9 you will get to have some “fun”… Its an PARKOUR SECTION! Actually two of them, in the first one you have to jump to different platforms while an REALLY good breakcore track plays and alarms are yelling, i also added alarm lights so it sets the vibe. In the second section you will have to just run straight and avoid obstacles in the way. Ending In the end you will go into the main server room and open up an… OPERATING SYSTEM! It has currently one app only but i might make it better (or worse). In the OS you will click on an Simulation Manager icon, and it opens an app, where you DELETE the whole simulation. But you realise IT ISNT ENOUGH! So you do the only logical thing… BURN THE WHOLE PLACE DOWN! So after you delete the simulation, you interact with anything in the room (exept the pc) and the scene fades to an burning server room with the pc setup completely in pieces, and even Jeff kinda flickers in the room from time to time! Bad ending So now in level 8 you have another portal, the stay portal! Its only an model right now but i will make it so it will lead to an bad ending. You gettng turned into… JEFF 2! (get it cuz you are Jeff too, but also the second jeff so jeff2) Intro or startup! I added an small animation when you start the game, it first shows my studios logo, and then it does this typewriter effect with. “LASTSIGNAL” “Finding signal…” “SIgnal lost” and then an glitch effect! The whole thing is packed with soundeffects too so it feels nice!
Improvements! Sounds Now every time dialogue shows up, an small keyboard soundeffect is played with every character, i think it improves the game alot! Now some objects have interaction sounds, for example, when listening to the radio, you will hear the radios startup beep. Every level has either ambiance sounds or music of some kind! New physical stuff Now, every level has new stuff to interact with or just for show, like: wires, coffee cups, vents, pencils, trash cans! I have also positioned some stuff better, for example in level 2, jeff is now more away from the radio, but still looking at it! Easter eggs and stuff to find I have added “documents” and “logs” about previous subjects all around the game, for example in level 2 there now is an table with some guy called Gary’s note. In level 4 there is an hint to LuckyOS in an paper stack, and in Level 9, you can find an laptop that has an reference to StarDance! Ending changes I made small improvements to the ending scene, like how the fire is and how Jeff appears sometimes. I also now have completely finished the first and second parkour sections!
Last changes before shipping Itch.io and unity play I have made an working itch.io page and an unity play page Small changes I have made small changes all around the game, like in level 2 i added an fade transition when leaving I also made changes to the first room with better dialogue and more interactable stuff. Bug fixes I fixed bugs like in the first parkour section where the teleport back up wasnt working, or when some sounds didnt work in some levels So this is my LAST DEVLOG (pun intended) and thanks to everyone who has been liking my devlogs and stuff!
Ships:
How to play Go to my itch.io page (the demo link) and download the game, extract the .zip file and launch the file called LAST SIGNAL.EXE If you are on another OS than windows Just go to the GitHub readme and there will be an link to my unity play page. MY CUSTOM SHADER DOESNT WORK IN THE BROWSER SO PLEASE TEST THE ACTUAL VERSION IF YOU CAN! What did i make? I made an horror game in unity from scratch with the following made by me: All of the 3D models All of the scripts Whole storyline Majority of the music All of the scripts What is it about? LASTSIGNAL follows an story of an random guy finding himself inside weird rooms, later he realizes that this is an simulation and he has to find his way out, in the game the objective shifts from just finding an way out, to destroying the simulation and freeing everybody in there. How did i make it? I made the 3D models in blockbench, made scripts in VS code using C# and made the storyline in my head :D Controls In the game you will use your mouse to look around and WASD to move, you can interact with objects by looking at them and pressing E. In the end of the game in the parkour sections you will have to use SHIFT to sprint and SPACE to jump. Secrets and easter eggs I have made paper files all around the game telling the stories of other people in the simulation, i also made easter eggs hinting at stardance and my other projects. Minigames LASTSIGNAL has many minigames like hacking, password remembering and submitting codes....
|
1793339273.6854758
|
1793425673.6854758
|