|
40567
|
Complex CSH Tracker by @CoolDuck | Stardance
|
CoolDuck
|
1
|
151.24
|
1894
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T16:35:25Z", "hours": 140.0, "multiplier": 14.51, "payout": 1894, "blessing": "neutral", "text": "Complex CSH Tracker My school runs on a very old tracking system for CSH (Community Service Hours) meaning it was hard for us students to see how much we have as well as see what happens to our CSH requests. I made this to solve this problem and decided to join stardance for the fun of it :O Please beware of the bugs Tester passwords are in the readme Unfortunely drive picker functionality doesn’t work cuz i didnt verify my google app :(", "repo": "https://github.com/coolduckmaster/ComplexCSHTracker", "demo": "https://complex-csh-tracker.vercel.app/"}]...
|
[{"post_id": 79501, "ts": "202 [{"post_id": 79501, "ts": "2026-10-14T10:18:26Z", "hours": 11.2411, "text": "They changed the deadline 💔💔 Fixed some bugs relating to CSH registering. Fixed loading screen bug. Fixed Welcome back appearing after clicking log out. Additionaly filter for Approvals. Export to PDF finally works. Split the Approval into different files."}, {"post_id": 75609, "ts": "2026-09-30T15:31:35Z", "hours": 11.1422, "text": "This is it vercel intergrated product ready to ship the time is currently 10:30 pm please let this ship go through :))))"}, {"post_id": 73643, "ts": "2026-09-25T15:56:06Z", "hours": 12.3236, "text": "And now, the end is near. Added first version of the history page with some filter edited backend intergration for said history small ui changes to Approval small ui changes to dashboard side bar. many other misc ui changes bug fixes (?)"}, {"post_id": 67461, "ts": "2026-09-13T15:57:54Z", "hours": 10.9419, "text": "GOOGLE DRIVE BACKEND INTERGRATION Title says it all Misc loading screens (so like it loads or smth) Bug fixes???? Some other random things (like placeholder images and stuff)."}, {"post_id": 60285, "ts": "2026-09-02T15:42:39Z", "hours": 10.4444, "text": "GOOGLE DRIVE INTERGRATION Yes google Oauth Yes upload section Yes multiple files (WITH FILE IMAGE) No teacher backend (yet) No personal infomation (i hope)"}, {"post_id": 52431, "ts": "2026-08-22T15:34:31Z", "hours": 13.3567, "text": "idk did smth? I did something i guess????? I dont rmb to much school work. btw the google frontend button is wip"}, {"post_id": 46093, "ts": "2026-08-13T01:50:16Z", "hours": 10.9692, "text": "10 hours in 2 days New teacher note tab for approval-deny New 404 page (easter egg hidden) Bugfixes (note: School has started, I do not have the free time to do manythings)"}, {"post_id": 44042, "ts": "2026-08-09T15:34:21Z", "hours": 5.4497, "text": "MongoServerError: E11000 duplicate key error collection: login.cshes index: userId_1 dup key: New functions have arrived! Approve and Deny have been fleshed out. Futhermore the description has a functioning backend to show it! Request pages has a new description box with a word limit! Dashboard has now show updates when your requests been approved or denied! Fixed backend bugs(?) Much more small UI changes!"}, {"post_id": 43358, "ts": "2026-08-08T15:49:56Z", "hours": 5.2531, "text": "[vite] Internal server error: Transform failed with 1 error: Added a new details screen for Approval page (missing approve-deny features). Frontend edits for pre-existing UI in “Approval” panel. Backend API edits for intergrating. Slept 4 hours."}, {"post_id": 42719, "ts": "2026-08-07T15:59:58Z", "hours": 7.2431, "text": "PENDING REQUEST! Pending request pages for all your pending request needs! (UI up to change). Authware updated to be more cool Intergrated Authware to the frontend (like, 60% intergrated) Burnt bugs (?) Much more!"}, {"post_id": 42022, "ts": "2026-08-06T15:51:51Z", "hours": 6.7397, "text": "REQUEST-FUNCTIONALITY The Request pages have gain functionality! All of the request now go to the “Pending Hours” and is automatically logged in the Backend Database! The Approval panel is still in the works however."}, {"post_id": 41375, "ts": "2026-08-05T15:30:06Z", "hours": 5.3767, "text": "Request Page in the work LACKS FUNCTIONALITY. Backend API fixes (?). Frontend Dashboard edits. Bugs? (Vouch doesn’t exist yet. still figuring out a image storage solution)"}, {"post_id": 40799, "ts": "2026-08-04T15:36:25Z", "hours": 7.1403, "text": "NAV MENU BUTTON! Frontend stuff for the “Request” pages Backend API for like request and stuff. Fixed MANY things(?)."}, {"post_id": 40167, "ts": "2026-08-03T15:55:16Z", "hours": 7.6592, "text": "7 and a half hours spend on doing what??? Bugs, loads, and loads, of bugs. Fixed code after spliting the dashboard side panel. Backend stuff. DASHBOARD LAYOUT (Spend a large amount of time styling)."}, {"post_id": 38979, "ts": "2026-08-01T16:26:58Z", "hours": 6.0889, "text": "OOGA BOOGA DASHBOARD IT TOOK ME 6 HOURS STRAIGHT TO GET THIS TO WORK, I HAD TO STEAL BORROW HACKATIME HTML CODE FOR THIS!"}, {"post_id": 38267, "ts": "2026-07-31T16:02:28Z", "hours": 5.05, "text": "What the hell is jsx?? Started work on the “Dashboard” screen. stole it from Hackatime dashboard Inspired by hack a time dashboard. Added a frontend router (?). Did some more stuff!"}, {"post_id": 37665, "ts": "2026-07-30T15:38:21Z", "hours": 4.1078, "text": "Log - 4: on boarding done (?), rename the project to “Complex CSH Tracker.”, started work on a dashboard. Beside from that, I might have to rework some of the log in UI with what I have in mind."}, {"post_id": 37072, "ts": "2026-07-29T15:34:59Z", "hours": 5.625, "text": "Added On boarding logic so users can pick their class and stuff. (this took longer then expected)"}, {"post_id": 36407, "ts": "2026-07-28T14:40:37Z", "hours": 3.25, "text": "ጮልጋቹ ነዐጮቹ ዪልክጋዐጮ “Login Page” የልፏቹ የረቹልነቹ ⶴቹረየ ጮቹ ጎ ፪ቹቹክ ልፕ ፕⶴጎነ ቻዐዪ ⶴዐ፱ዪነ"}, {"post_id": 35857, "ts": "2026-07-27T15:50:05Z", "hours": 1.5753, "text": "Started work on the full stack log in functionally of this tracker website (It’s no longer simple)."}]...
|
Title: Complex CSH Tracker by @CoolDuck | Stardanc Title: Complex CSH Tracker by @CoolDuck | Stardance
Devlogs:
Started work on the full stack log in functionally of this tracker website (It’s no longer simple).
ጮልጋቹ ነዐጮቹ ዪልክጋዐጮ “Login Page” የልፏቹ የረቹልነቹ ⶴቹረየ ጮቹ ጎ ፪ቹቹክ ልፕ ፕⶴጎነ ቻዐዪ ⶴዐ፱ዪነ
Added On boarding logic so users can pick their class and stuff. (this took longer then expected)
Log - 4: on boarding done (?), rename the project to “Complex CSH Tracker.”, started work on a dashboard. Beside from that, I might have to rework some of the log in UI with what I have in mind.
What the hell is jsx?? Started work on the “Dashboard” screen. stole it from Hackatime dashboard Inspired by hack a time dashboard. Added a frontend router (?). Did some more stuff!
OOGA BOOGA DASHBOARD IT TOOK ME 6 HOURS STRAIGHT TO GET THIS TO WORK, I HAD TO STEAL BORROW HACKATIME HTML CODE FOR THIS!
7 and a half hours spend on doing what??? Bugs, loads, and loads, of bugs. Fixed code after spliting the dashboard side panel. Backend stuff. DASHBOARD LAYOUT (Spend a large amount of time styling).
NAV MENU BUTTON! Frontend stuff for the “Request” pages Backend API for like request and stuff. Fixed MANY things(?).
Request Page in the work LACKS FUNCTIONALITY. Backend API fixes (?). Frontend Dashboard edits. Bugs? (Vouch doesn’t exist yet. still figuring out a image storage solution)
REQUEST-FUNCTIONALITY The Request pages have gain functionality! All of the request now go to the “Pending Hours” and is automatically logged in the Backend Database! The Approval panel is still in the works however.
PENDING REQUEST! Pending request pages for all your pending request needs! (UI up to change). Authware updated to be more cool Intergrated Authware to the frontend (like, 60% intergrated) Burnt bugs (?) Much more!
[vite] Internal server error: Transform failed with 1 error: Added a new details screen for Approval page (missing approve-deny features). Frontend edits for pre-existing UI in “Approval” panel. Backend API edits for intergrating. Slept 4 hours.
MongoServerError: E11000 duplicate key error collection: login.cshes index: userId_1 dup key: New functions have arrived! Approve and Deny have been fleshed out. Futhermore the description has a functioning backend to show it! Request pages has a new description box with a word limit! Dashboard has now show updates when your requests been approved or denied! Fixed backend bugs(?) Much more small UI changes!
10 hours in 2 days New teacher note tab for approval-deny New 404 page (easter egg hidden) Bugfixes (note: School has started, I do not have the free time to do manythings)
idk did smth? I did something i guess????? I dont rmb to much school work. btw the google frontend button is wip
GOOGLE DRIVE INTERGRATION Yes google Oauth Yes upload section Yes multiple files (WITH FILE IMAGE) No teacher backend (yet) No personal infomation (i hope)
GOOGLE DRIVE BACKEND INTERGRATION Title says it all Misc loading screens (so like it loads or smth) Bug fixes???? Some other random things (like placeholder images and stuff).
And now, the end is near. Added first version of the history page with some filter edited backend intergration for said history small ui changes to Approval small ui changes to dashboard side bar. many other misc ui changes bug fixes (?)
This is it vercel intergrated product ready to ship the time is currently 10:30 pm please let this ship go through :))))
They changed the deadline 💔💔 Fixed some bugs relating to CSH registering. Fixed loading screen bug. Fixed Welcome back appearing after clicking log out. Additionaly filter for Approvals. Export to PDF finally works. Split the Approval into different files.
Ships:
Complex CSH Tracker My school runs on a very old tracking system for CSH (Community Service Hours) meaning it was hard for us students to see how much we have as well as see what happens to our CSH requests. I made this to solve this problem and decided to join stardance for the fun of it :O Please beware of the bugs Tester passwords are in the readme Unfortunely drive picker functionality doesn’t work cuz i didnt verify my google app :(...
|
1793004694.396238
|
1793091094.396238
|
|
10684
|
Solve It by @Shish | Stardance
|
Shish
|
1
|
46.0
|
843
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T08:10:55Z", "hours": 46.0, "multiplier": 18.48, "payout": 843, "blessing": "neutral", "text": "As students, we all require notes and questions when we are practicing for any competitive exams, whenever I wanted the same, I had to ask my friends or I had to buy PYQs online. So to tackle that, I made a website where you can easily post notes and PYQs FOR FREE without even signing up. The website is called SolveIt. There are many things that can be done on the website like uploading PYQs or Notes or any other study related material for a specific competitive examination in a PDF format. If the exam is state specific, you can select the state too. Currently it is only available for India, USA, China, United Kingdom and Australia. It also includes many exams like Gaokao, NEET, JEE, SAT, ACT, QCE, etc. While uploading you can specify your country, state, examination name, year, class/grade and subject. In the settings page, you can make your own avatar (it is inspired by skribbl.io) and yes, the scribbles are hand drawn. You can also delete your account if you wish to, and many other things like changing the password, email and deleting previously uploaded papers. You can navigate easily on the browse page by using the searchbar as well as the filters. Filters will only show those options which are available. You can click on a card and view the paper inside the site itself if you don’t wish to download it. Moreover, you can see more details like uploaded by, uploaded on, length and size of the document and much more. The most challenging part of this project was the backend as always. Routes didn’t work initially when I started off, I couldn’t figure out a way to make scribbled borders so I took help of AI for that. MOST ANNOYING part was the avatar builder, I had to make hand drawn scribbles and convert it into svg paths and then modify those paths according to the container. I also took help of AI to encrypt the passwords of the user. I am very proud of the fact that I have self hosted this website, with the raspberry pi 5 that I received from Hackclub this year. I used Cloudflared private tunnel. Entire backend and database is on RPI. I really wanted to add more things to the project but due to academics and school work, I have to ship it now or else I won’t get time for my upcoming examinations. Before you test it, I would like to make a request that if you face any problem, please report it by going to Report a Bug page so that I come to know about it and can fix it as soon as possible. For more details about the project and if you want to know about it in detail, please read the README file.", "repo": "https://github.com/C0nfu5ing-5pring/SolveIt", "demo": "https://solve-it-nine.vercel.app"}]...
|
[{"post_id": 70459, "ts": "202 [{"post_id": 70459, "ts": "2026-09-19T07:27:32Z", "hours": 1.5328, "text": "v (0.7.0-Beta) Continue as Guest + README + more Updates Added hand drawn images to the home page reducing the white space that was looking ugly earlier Added continue as guest feature, if a user continues as guest, they won’t be able to delete their account or change their email address as well as password Wrote the README file I still do not consider this project as completely done, I will be adding more features to it once I am done with my academics What next? I’ll ship it most probably"}, {"post_id": 70419, "ts": "2026-09-19T04:55:34Z", "hours": 0.6714, "text": "v(0.6.0-Beta) Password change Updates I have decided not to include themes as I can no longer work on this project due to school work academics I just want to finish this project as soon as I can. Next devlog might be the last devlog of this project where I’ll add “Continue as guest” feature for shipwrights SO, in this update, I’ve just basically copy pasted the change email logic and made a change password feature. I literally copy pasted it and then modified it for password hence it took less time What next? I’ll be summing up this project by adding continue as guest feature"}, {"post_id": 69546, "ts": "2026-09-17T08:45:17Z", "hours": 4.2175, "text": "v(0.5.0-Beta) Avatar builder + bug fixes Updates Now you can make your own avatar just like skribbl.io!!!!! It took so much of my time tbh, I had to hand draw every doodle, I wanted to record it on lapse but couldn’t as screen recording wasn’t working on iPad for some reason and also when I screenshared, the screen went black for some reason. I contacted lapse-help on slack but didn’t find any solution so I decided not to let it go Added a new updateavatar component which lets you make your own avatar and update it if you want to!! Did layout fixes on large screen devices as only horizontal scroll was allowed and vertical scroll was disabled (my friend told me, I didn’t even notice it lol) Fixed frontend as well as backend bugs during the making of this avatar feature This devlog is toooooo big ik but i couldn’t find time daily due to school and assignments and all What next? I’ll work on themes, black white and system themes. The basic ones I’ll also work on “Continue as guest” so that shipwrights don’t have to login when they go through the project I’ll most probably end the project for now after these features are implemented as I need to prepare for upcoming examinations and also stardance is coming to an end :("}, {"post_id": 64001, "ts": "2026-09-08T03:22:18Z", "hours": 1.3669, "text": "v(0.4.4-Beta) Session expiry bug fix + responsiveness fixed Updates Fixed the responsiveness issue on small screen devices I also faced another issue, My friends were unable to download papers and it displayed “Error during downloading” So I took help of AI to know what the problem is and it said that It was because their token had expired SOOOOO…. I increased the token expiry limit to 30 days AND if the token is expired, you will be asked to login again. I applied this throughout the website, upload, browse, report and download I’ll also be switching to nest as I don’t fully trust my ISP and also because shipwright’s review policy said so. BUT i’ll do it towards the end once every feature is almost well built. I’ve applied to nest and hope they accept it as soon as possible! What next? Next, I’ll work on Avatar maker like skribbl.io (this is going to be tuffffffffff)"}, {"post_id": 62200, "ts": "2026-09-05T13:50:17Z", "hours": 1.7614, "text": "v(0.4.3-Beta) See uploads and delete them Updates Now you can see your uploads in the settings page and delete them if you wish to If you click on the card, it’ll redirect you to a separate page where you can see the paper in detail What next? Next, I’ll work on fixing the responsiveness issue on small screen devices"}, {"post_id": 62041, "ts": "2026-09-05T08:10:07Z", "hours": 0.8733, "text": "v(0.4.1-Beta) Delete account Updates Now you can permanently delete your account. Once you delete your account, all the posts from that account will be removed from the website. For this, I made /delete-me route What next? Next, I’ll make a section where users can manage their papers, they can delete their papers if they want After that, I’ll be working on fixing the responsiveness issue on small screen devices"}, {"post_id": 61935, "ts": "2026-09-05T03:30:17Z", "hours": 1.3983, "text": "v(0.4.1-Beta) Update Email address + Errors Updates Added errors and toasts throughout the website Added update email address feature I’ll be keeping next few devlogs small as I will be working on each feature one by one What next? Next, I’ll work on Delete account feature"}, {"post_id": 61644, "ts": "2026-09-04T17:18:43Z", "hours": 3.3133, "text": "(0.4.0-Beta) Settings page + 404 handling Updates Handled 404 error (I had to because my WiFi was down several times today. Many of my friends thought that it was my mistake but actually WiFi was down so my rpi couldn’t serve data) Made settings page and displayed user data on it. I have added an easter egg when the site is down, so basically when there’s an 404 err, you can see an easter can which I’ve added to the site. On the settings page, I have Apprearance settings, Account settings, Preference settings and Delete account. None of them are functional yet. Took a lot of time to create a route (/me). As I faced a lot of bugs while doing so. What next? I know i’ve again delayed making doodles, I WILL MAKE THEM istg I’ll also fix the resonsiveness issue on small screen devices I’ll work on making the settings page functional I have 2 days off at school so I am going yo use them very efficiently!!"}, {"post_id": 59537, "ts": "2026-09-01T12:41:50Z", "hours": 2.4753, "text": "v(0.3.0-Beta) Separate paper view + Searchbar Updates Added a searchbar (finally Now, you can view each paper separately inside the website itself Made very very very small changes in the design of the website Now you can click on the logo to direcly go back to the browse page (Yeah, I know it’s not something genius) What next? I REALLY want to add doodles but I have been delaying it TOO much now! I think I might be working on it (not sure tho) I also need to make a pfp maker, where users can make their own pfp kinda like the one on skribbl.io. Actually this entire design is inspired by skribbl.io I’ll also be adding user settings page and all where they can change theme, fonts and… okay, just font and themes for now."}, {"post_id": 57954, "ts": "2026-08-30T09:07:53Z", "hours": 3.155, "text": "v(0.2-Beta) Deployed + Reviews + More Updates Soooooo, the site it live. andithasalotofproblems!!! I made the site live and asked my friends to use it and fill it with notes. many of them complained about bugs so, I fixed some of them and NOW, I need to add a search bar on the site (I completely forgot lol). In these 3 hours, I deployed the website (this time didn’t get counted as I was working on the terminal. But it took around 1 and a half hour). So in 3 hours, I handled bugs and fixed some of them, enhanced responsiveness as some of my friends complained that they couldn’t scroll on the website or smthng. Added more information on the card, Added 2 new columns named description and type (as requested by a friend). Changed the layout of lower part of the card a little bit (made it a little bit clean). Made the upload code a bit efficient by removing repetitive code. What next? Next, I’ll work on making a search bar on the website so it is easy to use and navigate I’ll be taking inputs from friends and working on them I will be making a separate page where the user can see the pdf each separately insite the site Next devlog is going to be CHUNKY!!!"}, {"post_id": 55439, "ts": "2026-08-27T08:29:00Z", "hours": 2.7292, "text": "v(0.1.3-Alpha) Report bug feature and it’s backend + Enhanced responsiveness across the website + colours Updates Enhanced responsivess across the site Added colours and sketchy borders and colours wherever I could Added new report bug feature along with it’s backend (this one took time as WiFi went off and I couldn’t ssh into my rpi) What next? I’ll be making doodles (YES, i’ll be hand drawing them) I haven’t thought about anything else yet! BUT, I might be making the website public and push it into the beta version, for that, I’ll need to setup a cloudflare connection via my rpi (aghh i’ll look into it once I am fully convinced with the frontend."}, {"post_id": 55023, "ts": "2026-08-26T13:27:40Z", "hours": 2.46, "text": "v(0.1.2-Alpha) Scribbly Borders + New countries Updates Added scribbly lines/borders (used AI’s help) Added new countries and their examinations (UK, USA, Australia, China) Added mansory layout so that i don’t have to worry about responsiveness later What next? Next, i’ll work on adding colours to the site and add doodle"}, {"post_id": 54456, "ts": "2026-08-25T14:03:23Z", "hours": 3.4747, "text": "(v.0.1.1-Alpha) New UI + Notifications+ More info about the file Updates Added new design inspired by scribbles and doodles. (Still figuring out how to make scribbled borders) Enhanced responsiveness for new design Displayed more information about the file uploaded by the user such as File size and no. of pages file contains. Fixed a few bugs related to login and logout pages Added notifications (Yet to design it, atp, it’s just a basic design and not synced to the project design) Deleted unwanted files that I had made earlier during setting up the folder structure. What next? Next, I’ll work on adding design to the notification componentk Then, I’ll be adding doodles and stuff to fill up the white space I also wish to add more countries like The USA, Canada, UK, which have competitive exams."}, {"post_id": 48046, "ts": "2026-08-16T10:24:38Z", "hours": 1.7575, "text": "(v0.1.0-Alpha) Responsiveness + Fixed a loop hole + Showing more details in the card Updates Enhanced responsivess (sidebar, header, browse page for mob iles and large screen devices) Displayed more info like region, year, subject, uploaded by, uploaded at, exam name, etc. to the card Fixed loop hole, earlier, a user could access the browse page, basically entire website without logging in lol. Added a new field to the database in papers table which stores the user’s name instead of just storing the id number of that person What next? I am thinking of adding notifications using react-toastify and sound effects I’ll work on designing the card. I am considering to change the entire design and lean more towards a brutalist design Next update is going to be a major one Where was I since last 12 days? I have been busy with school work and also my mid-terms are commencing from 1st of September so, I couldn’t give more time to thr project. This could also happen in the near future until my exams are completed (11th Sept)"}, {"post_id": 40839, "ts": "2026-08-04T16:56:36Z", "hours": 1.3603, "text": "(v0.0.8-Alpha) Sidebar and Responsivenes Updates Added responsiveness to the login, signup, upload, home pages and header component Made the sidebar functional, you can now filter data based on year, country, state, exam i think currently, on smaller devices, the font size is a lot smaller, if you guys feel the same please give me a review so that I can improve it! What next? Next, I’ll work on enhancing the responsiveness And also, i’ll start designing the card which will contain details of the papers I also need to handle edge cases like not showing upload button to guest users and so many loop holes that are still there in this project."}, {"post_id": 40157, "ts": "2026-08-03T15:48:18Z", "hours": 1.5133, "text": "v(0.0.7-Alpha) Download Feature Updates Added the download feature. you can click on the card to open the PDF file on the browser What next? Next, I’ll work on responsiveness"}, {"post_id": 38911, "ts": "2026-08-01T14:31:53Z", "hours": 0.6728, "text": "v(0.0.6-Alpha) Log out + Showing data from db Update Added log out feature (it was quite easy just had to apply some display conditions to the buttons and remove the user’s token from the localStorage) Added data from the db in the form of cards on /browse. It is not at all good-looking. I’ll work on it once I implement the download feature in it. What next? I’ll be implementing the download files feature I’ll start working on making the website responsive"}, {"post_id": 38751, "ts": "2026-08-01T09:45:07Z", "hours": 2.0417, "text": "v(0.0.5) Frontend revamp Updates Revamped the frontend design Added drag and drop file submission feature The site is not yet responsive Log in and sign up pages are also changed Browse and home pages are changed (there are some white spaces that I hate rn but i’ll tackle that some other time) really loving working on this project can’t stop thinking about ideas!! Next steps Will enhance the functionality of the header (now it is static meaning even if the user is logged in, it will show login/sign up buttons) I’ll add a logout button or smthng. Currently, all the uploaded files don’t appear on the /browse section so i’ll have to deal with that too!"}, {"post_id": 38700, "ts": "2026-08-01T07:01:18Z", "hours": 0.6944, "text": "v(0.0.4-Alpha) Upload Feature - Frontend Updates Completed the frontend part of upload feature Added tags so that navigation is smoother Currently, i have only added india in the future, i’ll other countries too. I am not focusing much on design as well as responsiveness. I will tackle that towards the end. What next? Next, I’ll work on the home page + browse page Browse page will display all the files uploaded by people"}, {"post_id": 38679, "ts": "2026-08-01T05:58:47Z", "hours": 2.3167, "text": "v(0.0.4-Alpha) Upload Feature - Backend Updates Upload feature is working!!! (backend for now) that too smoothly! Used multer middleware to handle PDF uploads. Files up to 25MB are acceptable for now. PDFs are saved on /uploads folder on the server Only logged in logged in users can upload files Built /api/papers with filters like class, subject, exam_name, country, state, year and file_path. What next? Now i’ll work on the frontend part of this feature"}, {"post_id": 38386, "ts": "2026-07-31T18:48:52Z", "hours": 2.6156, "text": "v(0.0.3-Alpha) Layout Design Updates Making layouts is not a one time thing so I made a temporary layout which took a lot of trial and errors Don’t mind the colours/text size or fonts and all as it is still under development Currently it’s working only locally as the project is still in alpha version and also, nothing is responsive for smaller screen sizes What Next? Most probably next I will be working on the Upload feature along with it’s backend"}, {"post_id": 38145, "ts": "2026-07-31T12:00:46Z", "hours": 1.7397, "text": "v(0.0.2) Login and Sign up - Frontend Updates Almost lost the project (accidently deleted the repo Writing the logic for login/sign up for the first was kind of tough hence took more time! It works smoothly now What next? Most probably i’ll work on the landing page and the designing part"}, {"post_id": 38074, "ts": "2026-07-31T08:44:11Z", "hours": 0.8119, "text": "(v0.0.2-Alpha) Login and Sign up - Backend Updates Login and signup functionality completed and is functional I also used bcrypt to encrypt the user’s password What next? I will now work on the frontend part of the website so i will be making the dashboard, login and signup pages. I might have to look for good designs too"}, {"post_id": 38048, "ts": "2026-07-31T07:18:49Z", "hours": 0.6389, "text": "v(0.0.1-Alpha) Initial Setup Made a database on rpi with tables and their schemas Frontend basic setup completed with file structure What next? First I’ll work on the backend and then come to frontend so next few devlogs might be boring for some people :("}]...
|
Title: Solve It by @Shish | Stardance
Devlogs:
v( Title: Solve It by @Shish | Stardance
Devlogs:
v(0.0.1-Alpha) Initial Setup Made a database on rpi with tables and their schemas Frontend basic setup completed with file structure What next? First I’ll work on the backend and then come to frontend so next few devlogs might be boring for some people :(
(v0.0.2-Alpha) Login and Sign up - Backend Updates Login and signup functionality completed and is functional I also used bcrypt to encrypt the user’s password What next? I will now work on the frontend part of the website so i will be making the dashboard, login and signup pages. I might have to look for good designs too
v(0.0.2) Login and Sign up - Frontend Updates Almost lost the project (accidently deleted the repo Writing the logic for login/sign up for the first was kind of tough hence took more time! It works smoothly now What next? Most probably i’ll work on the landing page and the designing part
v(0.0.3-Alpha) Layout Design Updates Making layouts is not a one time thing so I made a temporary layout which took a lot of trial and errors Don’t mind the colours/text size or fonts and all as it is still under development Currently it’s working only locally as the project is still in alpha version and also, nothing is responsive for smaller screen sizes What Next? Most probably next I will be working on the Upload feature along with it’s backend
v(0.0.4-Alpha) Upload Feature - Backend Updates Upload feature is working!!! (backend for now) that too smoothly! Used multer middleware to handle PDF uploads. Files up to 25MB are acceptable for now. PDFs are saved on /uploads folder on the server Only logged in logged in users can upload files Built /api/papers with filters like class, subject, exam_name, country, state, year and file_path. What next? Now i’ll work on the frontend part of this feature
v(0.0.4-Alpha) Upload Feature - Frontend Updates Completed the frontend part of upload feature Added tags so that navigation is smoother Currently, i have only added india in the future, i’ll other countries too. I am not focusing much on design as well as responsiveness. I will tackle that towards the end. What next? Next, I’ll work on the home page + browse page Browse page will display all the files uploaded by people
v(0.0.5) Frontend revamp Updates Revamped the frontend design Added drag and drop file submission feature The site is not yet responsive Log in and sign up pages are also changed Browse and home pages are changed (there are some white spaces that I hate rn but i’ll tackle that some other time) really loving working on this project can’t stop thinking about ideas!! Next steps Will enhance the functionality of the header (now it is static meaning even if the user is logged in, it will show login/sign up buttons) I’ll add a logout button or smthng. Currently, all the uploaded files don’t appear on the /browse section so i’ll have to deal with that too!
v(0.0.6-Alpha) Log out + Showing data from db Update Added log out feature (it was quite easy just had to apply some display conditions to the buttons and remove the user’s token from the localStorage) Added data from the db in the form of cards on /browse. It is not at all good-looking. I’ll work on it once I implement the download feature in it. What next? I’ll be implementing the download files feature I’ll start working on making the website responsive
v(0.0.7-Alpha) Download Feature Updates Added the download feature. you can click on the card to open the PDF file on the browser What next? Next, I’ll work on responsiveness
(v0.0.8-Alpha) Sidebar and Responsivenes Updates Added responsiveness to the login, signup, upload, home pages and header component Made the sidebar functional, you can now filter data based on year, country, state, exam i think currently, on smaller devices, the font size is a lot smaller, if you guys feel the same please give me a review so that I can improve it! What next? Next, I’ll work on enhancing the responsiveness And also, i’ll start designing the card which will contain details of the papers I also need to handle edge cases like not showing upload button to guest users and so many loop holes that are still there in this project.
(v0.1.0-Alpha) Responsiveness + Fixed a loop hole + Showing more details in the card Updates Enhanced responsivess (sidebar, header, browse page for mob iles and large screen devices) Displayed more info like region, year, subject, uploaded by, uploaded at, exam name, etc. to the card Fixed loop hole, earlier, a user could access the browse page, basically entire website without logging in lol. Added a new field to the database in papers table which stores the user’s name instead of just storing the id number of that person What next? I am thinking of adding notifications using react-toastify and sound effects I’ll work on designing the card. I am considering to change the entire design and lean more towards a brutalist design Next update is going to be a major one Where was I since last 12 days? I have been busy with school work and also my mid-terms are commencing from 1st of September so, I couldn’t give more time to thr project. This could also happen in the near future until my exams are completed (11th Sept)
(v.0.1.1-Alpha) New UI + Notifications+ More info about the file Updates Added new design inspired by scribbles and doodles. (Still figuring out how to make scribbled borders) Enhanced responsiveness for new design Displayed more information about the file uploaded by the user such as File size and no. of pages file contains. Fixed a few bugs related to login and logout pages Added notifications (Yet to design it, atp, it’s just a basic design and not synced to the project design) Deleted unwanted files that I had made earlier during setting up the folder structure. What next? Next, I’ll work on adding design to the notification componentk Then, I’ll be adding doodles and stuff to fill up the white space I also wish to add more countries like The USA, Canada, UK, which have competitive exams.
v(0.1.2-Alpha) Scribbly Borders + New countries Updates Added scribbly lines/borders (used AI’s help) Added new countries and their examinations (UK, USA, Australia, China) Added mansory layout so that i don’t have to worry about responsiveness later What next? Next, i’ll work on adding colours to the site and add doodle
v(0.1.3-Alpha) Report bug feature and it’s backend + Enhanced responsiveness across the website + colours Updates Enhanced responsivess across the site Added colours and sketchy borders and colours wherever I could Added new report bug feature along with it’s backend (this one took time as WiFi went off and I couldn’t ssh into my rpi) What next? I’ll be making doodles (YES, i’ll be hand drawing them) I haven’t thought about anything else yet! BUT, I might be making the website public and push it into the beta version, for that, I’ll need to setup a cloudflare connection via my rpi (aghh i’ll look into it once I am fully convinced with the frontend.
v(0.2-Beta) Deployed + Reviews + More Updates Soooooo, the site it live. andithasalotofproblems!!! I made the site live and asked my friends to use it and fill it with notes. many of them complained about bugs so, I fixed some of them and NOW, I need to add a search bar on the site (I completely forgot lol). In these 3 hours, I deployed the website (this time didn’t get counted as I was working on the terminal. But it took around 1 and a half hour). So in 3 hours, I handled bugs and fixed some of them, enhanced responsiveness as some of my friends complained that they couldn’t scroll on the website or smthng. Added more information on the card, Added 2 new columns named description and type (as requested by a friend). Changed the layout of lower part of the card a little bit (made it a little bit clean). Made the upload code a bit efficient by removing repetitive code. What next? Next, I’ll work on making a search bar on the website so it is easy to use and navigate I’ll be taking inputs from friends and working on them I will be making a separate page where the user can see the pdf each separately insite the site Next devlog is going to be CHUNKY!!!
v(0.3.0-Beta) Separate paper view + Searchbar Updates Added a searchbar (finally Now, you can view each paper separately inside the website itself Made very very very small changes in the design of the website Now you can click on the logo to direcly go back to the browse page (Yeah, I know it’s not something genius) What next? I REALLY want to add doodles but I have been delaying it TOO much now! I think I might be working on it (not sure tho) I also need to make a pfp maker, where users can make their own pfp kinda like the one on skribbl.io. Actually this entire design is inspired by skribbl.io I’ll also be adding user settings page and all where they can change theme, fonts and… okay, just font and themes for now.
(0.4.0-Beta) Settings page + 404 handling Updates Handled 404 error (I had to because my WiFi was down several times today. Many of my friends thought that it was my mistake but actually WiFi was down so my rpi couldn’t serve data) Made settings page and displayed user data on it. I have added an easter egg when the site is down, so basically when there’s an 404 err, you can see an easter can which I’ve added to the site. On the settings page, I have Apprearance settings, Account settings, Preference settings and Delete account. None of them are functional yet. Took a lot of time to create a route (/me). As I faced a lot of bugs while doing so. What next? I know i’ve again delayed making doodles, I WILL MAKE THEM istg I’ll also fix the resonsiveness issue on small screen devices I’ll work on making the settings page functional I have 2 days off at school so I am going yo use them very efficiently!!
v(0.4.1-Beta) Update Email address + Errors Updates Added errors and toasts throughout the website Added update email address feature I’ll be keeping next few devlogs small as I will be working on each feature one by one What next? Next, I’ll work on Delete account feature
v(0.4.1-Beta) Delete account Updates Now you can permanently delete your account. Once you delete your account, all the posts from that account will be removed from the website. For this, I made /delete-me route What next? Next, I’ll make a section where users can manage their papers, they can delete their papers if they want After that, I’ll be working on fixing the responsiveness issue on small screen devices
v(0.4.3-Beta) See uploads and delete them Updates Now you can see your uploads in the settings page and delete them if you wish to If you click on the card, it’ll redirect you to a separate page where you can see the paper in detail What next? Next, I’ll work on fixing the responsiveness issue on small screen devices
v(0.4.4-Beta) Session expiry bug fix + responsiveness fixed Updates Fixed the responsiveness issue on small screen devices I also faced another issue, My friends were unable to download papers and it displayed “Error during downloading” So I took help of AI to know what the problem is and it said that It was because their token had expired SOOOOO…. I increased the token expiry limit to 30 days AND if the token is expired, you will be asked to login again. I applied this throughout the website, upload, browse, report and download I’ll also be switching to nest as I don’t fully trust my ISP and also because shipwright’s review policy said so. BUT i’ll do it towards the end once every feature is almost well built. I’ve applied to nest and hope they accept it as soon as possible! What next? Next, I’ll work on Avatar maker like skribbl.io (this is going to be tuffffffffff)
v(0.5.0-Beta) Avatar builder + bug fixes Updates Now you can make your own avatar just like skribbl.io!!!!! It took so much of my time tbh, I had to hand draw every doodle, I wanted to record it on lapse but couldn’t as screen recording wasn’t working on iPad for some reason and also when I screenshared, the screen went black for some reason. I contacted lapse-help on slack but didn’t find any solution so I decided not to let it go Added a new updateavatar component which lets you make your own avatar and update it if you want to!! Did layout fixes on large screen devices as only horizontal scroll was allowed and vertical scroll was disabled (my friend told me, I didn’t even notice it lol) Fixed frontend as well as backend bugs during the making of this avatar feature This devlog is toooooo big ik but i couldn’t find time daily due to school and assignments and all What next? I’ll work on themes, black white and system themes. The basic ones I’ll also work on “Continue as guest” so that shipwrights don’t have to login when they go through the project I’ll most probably end the project for now after these features are implemented as I need to prepare for upcoming examinations and also stardance is coming to an end :(
v(0.6.0-Beta) Password change Updates I have decided not to include themes as I can no longer work on this project due to school work academics I just want to finish this project as soon as I can. Next devlog might be the last devlog of this project where I’ll add “Continue as guest” feature for shipwrights SO, in this update, I’ve just basically copy pasted the change email logic and made a change password feature. I literally copy pasted it and then modified it for password hence it took less time What next? I’ll be summing up this project by adding continue as guest feature
v (0.7.0-Beta) Continue as Guest + README + more Updates Added hand drawn images to the home page reducing the white space that was looking ugly earlier Added continue as guest feature, if a user continues as guest, they won’t be able to delete their account or change their email address as well as password Wrote the README file I still do not consider this project as completely done, I will be adding more features to it once I am done with my academics What next? I’ll ship it most probably
Ships:
As students, we all require notes and questions when we are practicing for any competitive exams, whenever I wanted the same, I had to ask my friends or I had to buy PYQs online. So to tackle that, I made a website where you can easily post notes and PYQs FOR FREE without even signing up. The website is called SolveIt. There are many things that can be done on the website like uploading PYQs or Notes or any other study related material for a specific competitive examination in a PDF format. If the exam is state specific, you can select the state too. Currently it is only available for India, USA, China, United Kingdom and Australia. It also includes many exams like Gaokao, NEET, JEE, SAT, ACT, QCE, etc. While uploading you can specify your country, state, examination name, year, class/grade and subject. In the settings page, you can make your own avatar (it is inspired by skribbl.io) and yes, the scribbles are hand drawn. You can also delete your account if you wish to, and many other things like changing the password, email and deleting previously uploaded papers. You can navigate easily on the browse page by using the searchbar as well as the filters. Filters will only show those options which are available. You can click on a card and view the paper inside the site itself if you don’t wish to download it. Moreover, you can see more details like uploaded by, uploaded on, length and size of the document and much more. The most challenging part of this project was the backend as always. Routes didn’t work initially when I started off, I couldn’t figure out a way to make scribbled borders so I took help of AI for that. MOST ANNOYING part was the avatar builder, I had to make hand drawn scribbles and convert it into svg paths and then modify those paths according to the container. I also took help of AI to encrypt the passwords of the user. I am very proud of the fact that I have self hosted this website, with the raspberry pi 5 that I received from Hackclub this year. I used Cloudflared private tunnel. Entire backend and database is on RPI. I really wanted to add more things to the project but due to academics and school work, I have to ship it now or else I won’t get time for my upcoming examinations. Before you test it, I would like to make a request that if you face any problem, please report it by going to Report a Bug page so that I come to know about it and can fix it as soon as possible. For more details about the project and if you want to know about it in detail, please read the README file....
|
1793004695.6807077
|
1793091095.6807077
|
|
44815
|
Differential Swerve by @precon | Stardance
|
precon
|
1
|
47.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T17:53:54Z", "hours": 47.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a differential swerve that is FTC legal, mainly out of 3D printed parts. The most challenging part was getting tolerances right, getting all the math correct, and getting the pod to fit in the build limit. I’m proud that it actually works. I have a working product right now and you should know that although the tuning can be a bit hard, the build is actually very easy. You can just download the files, print it out, get the parts, and build it in around a day or two", "repo": "https://github.com/Vixator/Phoenix-Force-10100-Differential-Swerve", "demo": ""}]...
|
[{"post_id": 71347, "ts": "202 [{"post_id": 71347, "ts": "2026-09-20T17:51:30Z", "hours": 4.35, "text": "Final design and print, need a bit more money for stronger filament/manufacturing, so will ship and then finish the project."}, {"post_id": 70478, "ts": "2026-09-19T08:16:24Z", "hours": 8.1925, "text": "Finished the full build and got everything assembled. It was very rough but it worked. Found a lot of problems and then started and almost finished redesigning it. I hope to print this out in a stronger material and try again to maybe have a more successful design."}, {"post_id": 70303, "ts": "2026-09-18T22:02:48Z", "hours": 14.9586, "text": "OMGGGG got first build done"}, {"post_id": 64029, "ts": "2026-09-08T04:39:06Z", "hours": 7.7411, "text": "It has been a long time working to fix all the previous issues. I think I have one of the most final versions of the model. I’ve only made very tiny tolerance revisions after the final version rebuild so I think I’m mostly stable for the CAD. I’ve been printing out everything to finally build both pods at once. I’ve compiled changes that I’ve done only on one pod or changes that should have plenty of clearance to work. Right now the final shell is printing. I’ll probably work on getting both pods disassembled tomorrow and reassembling them with brand new parts and it should all be coming together quickly. I also worked a lot on the code. I made the robot field-centric and also started using odometry to help out with the accuracy. I haven’t done anything with auto yet but I hope to do something with Pedro pathing to have an auto pathing system for my swerve. I’m pretty excited, to build the final version of my project and have a final product so this can come to a close."}, {"post_id": 63288, "ts": "2026-09-07T01:07:01Z", "hours": 12.1331, "text": "I finished doing the remodel with new parts. A lot of it was updating existing parts to fix what I noticed went wrong in the test build, which made V3. A lot of it was improving the clearances and tolerances between parts to reduce friction and increase efficiency. I also made a lot of changes to the software, which is currently uploaded to GitHub. My plans for the future are:Finish making the wheel grippier and make sure the tread doesn’t fall off.Make auto pathing software.Get a full drivetrain ready."}, {"post_id": 44981, "ts": "2026-08-11T03:18:09Z", "hours": 8.9275, "text": "After finding out about the previous issues in the last version, I finally finished version 2. This one uses different gears that avoid clipping and I changed a lot of the other tolerances. I also found a major thing that I got wrong in my design. Apparently somewhere along the line I dragged a component, which was messing up all the spacings and everything was out of line. I had to go back and fix all of that. I added a lot of convenience features for me to build this easier and made the pod shorter by a good 3 mm so I could actually add some aluminum protection on the ends to avoid the pod being damaged while driving. Overall I think there are a lot of improvements. Once I ship the mod and get the parts, I can finish building this pod and another pod to create a drive base. Hopefully I can finish programming it and hook it up soon so it works."}, {"post_id": 43735, "ts": "2026-08-09T04:35:17Z", "hours": 2.95, "text": "Just posted a devlog but forgot to publish my most recent timelapse and just wanted to give a couple updates. A lot of the tolerances for parts are highly dependent. When I’m inserting a bearing into a 3D printed part, I usually do 13.9 for a 14 mm bearing and 14.9 for the flange. Because some parts print really weirdly in a weird configuration or print vertically where the layers will collapse on each other, I had to make the outer race 15.2 mm and the inner race 14.2 mm, so 0.2 mm oversize instead of undersized. This gives proper tolerance.I also had a lot of weird print issues. I’ve been having a lot of stringing and I accidentally added supports on one of the parts so I’ve been losing a lot of material but it’s honestly taught me a lot as well.I attached a couple of pictures just to show you a difference from my last post. It’s been five minutes but it’s a slight difference. It’s just to show:- what I’ve gotten done- what I’ve assembled so far- what I’ve thrown away- what I’ve missed- okay this is an update after the 2-hour time lapse of me building an entire pod. There’s a lot of things but the biggest thing I noticed was that one of the bevel gears actually clips with the main drive ring gear, which ruins the entire model. This is the biggest issue I have to fix. Other issues I noticed were that assembling was very hard because a lot of the holes were too big and things would fall out when they were flipped over. I also didn’t have the right size screws often, which led me to have weird spacings. Mostly issues can be ironed out through CAD and now that I’ve built it once I can remember what went wrong. For the second version after I fix all these major and minor issues, I hope it’ll go much better and I can get a working pod that’s in size pretty soon for version two."}, {"post_id": 43078, "ts": "2026-08-08T04:46:01Z", "hours": 7.8169, "text": "I started recording and documenting this project halfway through the first revision. The first time lapse was me implementing the final preliminary designs, getting the encoder mounted, getting all the fittings correct, getting the bearing stacks right, and mounting everything in a way that it would technically fit in CAD. The second and third time lapses are mostly printing, getting tolerances right, and getting fits right. My first 3D build will be complete as soon as possible and I can get started on making revisions and iterations to improve the design. I think I focused a lot on trying to incorporate everything I saw. I looked at some designs online and reviewed everything that we needed to implement before hand. I think I’ve done a pretty good job of finding space for everything and putting everything in a nice compact fashion. I think after I get all the tolerances correct and finish assembling, this will be a great first iteration to improve upon. I hope this project can continue and I will get funding for my future prospects, which are getting this machined and getting higher quality parts."}]...
|
Title: Differential Swerve by @precon | Stardance
Title: Differential Swerve by @precon | Stardance
Devlogs:
I started recording and documenting this project halfway through the first revision. The first time lapse was me implementing the final preliminary designs, getting the encoder mounted, getting all the fittings correct, getting the bearing stacks right, and mounting everything in a way that it would technically fit in CAD. The second and third time lapses are mostly printing, getting tolerances right, and getting fits right. My first 3D build will be complete as soon as possible and I can get started on making revisions and iterations to improve the design. I think I focused a lot on trying to incorporate everything I saw. I looked at some designs online and reviewed everything that we needed to implement before hand. I think I’ve done a pretty good job of finding space for everything and putting everything in a nice compact fashion. I think after I get all the tolerances correct and finish assembling, this will be a great first iteration to improve upon. I hope this project can continue and I will get funding for my future prospects, which are getting this machined and getting higher quality parts.
Just posted a devlog but forgot to publish my most recent timelapse and just wanted to give a couple updates. A lot of the tolerances for parts are highly dependent. When I’m inserting a bearing into a 3D printed part, I usually do 13.9 for a 14 mm bearing and 14.9 for the flange. Because some parts print really weirdly in a weird configuration or print vertically where the layers will collapse on each other, I had to make the outer race 15.2 mm and the inner race 14.2 mm, so 0.2 mm oversize instead of undersized. This gives proper tolerance.I also had a lot of weird print issues. I’ve been having a lot of stringing and I accidentally added supports on one of the parts so I’ve been losing a lot of material but it’s honestly taught me a lot as well.I attached a couple of pictures just to show you a difference from my last post. It’s been five minutes but it’s a slight difference. It’s just to show:- what I’ve gotten done- what I’ve assembled so far- what I’ve thrown away- what I’ve missed- okay this is an update after the 2-hour time lapse of me building an entire pod. There’s a lot of things but the biggest thing I noticed was that one of the bevel gears actually clips with the main drive ring gear, which ruins the entire model. This is the biggest issue I have to fix. Other issues I noticed were that assembling was very hard because a lot of the holes were too big and things would fall out when they were flipped over. I also didn’t have the right size screws often, which led me to have weird spacings. Mostly issues can be ironed out through CAD and now that I’ve built it once I can remember what went wrong. For the second version after I fix all these major and minor issues, I hope it’ll go much better and I can get a working pod that’s in size pretty soon for version two.
After finding out about the previous issues in the last version, I finally finished version 2. This one uses different gears that avoid clipping and I changed a lot of the other tolerances. I also found a major thing that I got wrong in my design. Apparently somewhere along the line I dragged a component, which was messing up all the spacings and everything was out of line. I had to go back and fix all of that. I added a lot of convenience features for me to build this easier and made the pod shorter by a good 3 mm so I could actually add some aluminum protection on the ends to avoid the pod being damaged while driving. Overall I think there are a lot of improvements. Once I ship the mod and get the parts, I can finish building this pod and another pod to create a drive base. Hopefully I can finish programming it and hook it up soon so it works.
I finished doing the remodel with new parts. A lot of it was updating existing parts to fix what I noticed went wrong in the test build, which made V3. A lot of it was improving the clearances and tolerances between parts to reduce friction and increase efficiency. I also made a lot of changes to the software, which is currently uploaded to GitHub. My plans for the future are:Finish making the wheel grippier and make sure the tread doesn’t fall off.Make auto pathing software.Get a full drivetrain ready.
It has been a long time working to fix all the previous issues. I think I have one of the most final versions of the model. I’ve only made very tiny tolerance revisions after the final version rebuild so I think I’m mostly stable for the CAD. I’ve been printing out everything to finally build both pods at once. I’ve compiled changes that I’ve done only on one pod or changes that should have plenty of clearance to work. Right now the final shell is printing. I’ll probably work on getting both pods disassembled tomorrow and reassembling them with brand new parts and it should all be coming together quickly. I also worked a lot on the code. I made the robot field-centric and also started using odometry to help out with the accuracy. I haven’t done anything with auto yet but I hope to do something with Pedro pathing to have an auto pathing system for my swerve. I’m pretty excited, to build the final version of my project and have a final product so this can come to a close.
OMGGGG got first build done
Finished the full build and got everything assembled. It was very rough but it worked. Found a lot of problems and then started and almost finished redesigning it. I hope to print this out in a stronger material and try again to maybe have a more successful design.
Final design and print, need a bit more money for stronger filament/manufacturing, so will ship and then finish the project.
Ships:
I made a differential swerve that is FTC legal, mainly out of 3D printed parts. The most challenging part was getting tolerances right, getting all the math correct, and getting the pod to fit in the build limit. I’m proud that it actually works. I have a working product right now and you should know that although the tuning can be a bit hard, the build is actually very easy. You can just download the files, print it out, get the parts, and build it in around a day or two...
|
1793004697.0367296
|
1793091097.0367296
|
|
20896
|
Mr.BentOver by @Adarsh | Stardance
|
Adarsh
|
1
|
6.0
|
33
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T06:06:05Z", "hours": 6.0, "multiplier": 5.17, "payout": 33, "blessing": "neutral", "text": "This is my fun project so i build this project for fun and this is a bentover this reads our discord conversation and its judges in a GIF and we can call him by $Bentover . The hardest part building was a import override and also deployement", "repo": "https://github.com/stairmoss/Mr.BentOver", "demo": "https://discord.com/oauth2/authorize?client_id=1550551463011287100&permissions=274878114816&integration_type=0&scope=bot"}]...
|
[{"post_id": 70614, "ts": "202 [{"post_id": 70614, "ts": "2026-09-19T13:42:01Z", "hours": 0.4358, "text": "added requirements.txt and Readme file"}, {"post_id": 70566, "ts": "2026-09-19T11:32:20Z", "hours": 1.6689, "text": "integrated discord to the project and made all the things working . in the way there were many bugs and error and i solved with using AI gemini guidance"}, {"post_id": 70176, "ts": "2026-09-18T16:54:28Z", "hours": 1.7661, "text": "so i finished the terminal version of bentover and now i have to connect to the discord bot and also i got a huge error and i got confused and it took so much time to solve it was .. [ ImportError: cannot import name ‘get_gif’ from partially initialized module ‘Gif_search’ (most likely due to a circular import) ]"}, {"post_id": 69972, "ts": "2026-09-18T04:36:42Z", "hours": 2.5331, "text": "made the the AI to decide the search phrase of the conversation but its on terminal and not interated with the dicord"}]...
|
Title: Mr.BentOver by @Adarsh | Stardance
Devlogs Title: Mr.BentOver by @Adarsh | Stardance
Devlogs:
made the the AI to decide the search phrase of the conversation but its on terminal and not interated with the dicord
so i finished the terminal version of bentover and now i have to connect to the discord bot and also i got a huge error and i got confused and it took so much time to solve it was .. [ ImportError: cannot import name ‘get_gif’ from partially initialized module ‘Gif_search’ (most likely due to a circular import) ]
integrated discord to the project and made all the things working . in the way there were many bugs and error and i solved with using AI gemini guidance
added requirements.txt and Readme file
Ships:
This is my fun project so i build this project for fun and this is a bentover this reads our discord conversation and its judges in a GIF and we can call him by $Bentover . The hardest part building was a import override and also deployement...
|
1793004698.2169642
|
1793091098.2169642
|
|
5962
|
Insert Coin by @hamdaraksa | Stardance
|
hamdaraksa
|
1
|
25.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T23:28:54Z", "hours": 25.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created an arcade game that runs in the taskbar so it can be played flexibly.", "repo": "https://github.com/kyubiner/Insert-Coin", "demo": "https://drive.google.com/drive/folders/14mZBPSmJ7eGYQSYK2bIwrfAscWfY0NeD?usp=sharing"}]...
|
[{"post_id": 75038, "ts": "202 [{"post_id": 75038, "ts": "2026-09-28T23:17:30Z", "hours": 7.3944, "text": "My game is ready for now and can be installed from Google Drive :)"}, {"post_id": 73604, "ts": "2026-09-25T13:47:33Z", "hours": 8.2683, "text": "I’m creating various things here, such as a background for my game and a circle… It’s going to get even more interesting, and I can’t wait to try out the ship for the first time."}, {"post_id": 71051, "ts": "2026-09-20T07:46:05Z", "hours": 3.0236, "text": "Alright, so I’ve finished creating the first mini-game for my arcade game, GitHub Striker . The concept is similar to Blocky Breaker , but the levels are based on your GitHub contribution activity the more active you are, the easier the levels are to complete. And my next goal is to polish this mini-game."}, {"post_id": 70911, "ts": "2026-09-20T00:37:22Z", "hours": 6.5983, "text": "I’m making a block-breaker arcade game, but I’m thinking about making it more interesting hopefully, I can get it done in time."}]...
|
Title: Insert Coin by @hamdaraksa | Stardance
Dev Title: Insert Coin by @hamdaraksa | Stardance
Devlogs:
I’m making a block-breaker arcade game, but I’m thinking about making it more interesting hopefully, I can get it done in time.
Alright, so I’ve finished creating the first mini-game for my arcade game, GitHub Striker . The concept is similar to Blocky Breaker , but the levels are based on your GitHub contribution activity the more active you are, the easier the levels are to complete. And my next goal is to polish this mini-game.
I’m creating various things here, such as a background for my game and a circle… It’s going to get even more interesting, and I can’t wait to try out the ship for the first time.
My game is ready for now and can be installed from Google Drive :)
Ships:
I created an arcade game that runs in the taskbar so it can be played flexibly....
|
1793004699.3901649
|
1793091099.3901649
|
|
29956
|
Barrel Roll Bullet by @ShinyMist | Stardance
|
ShinyMist
|
1
|
118.0
|
2120
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T07:55:16Z", "hours": 118.0, "multiplier": 17.91, "payout": 2120, "blessing": "neutral", "text": "Barrel Roll Bullet A recoil-based platformer where, instead of traditional jumping and movement, you shoot to propel yourself around each level. My game includes multiple abilities, unlockable gun skins and 50 levels. The biggest challenge I faced was developing an accurate and efficient collision system. Initially, I planned to use AABB collision, but because it relies on rectangular bounding boxes, I found that the gun barrel could appear to float when rotating or interacting with objects. I then experimented with mask collision to achieve pixel-perfect accuracy. However, using a large number of masks throughout a level caused noticeable drops in performance. I eventually settled on a middle ground using SAT (Separating Axis Theorem) polygon-based collision. This provided much more accurate collision detection for the rotating gun while being significantly more performant than mask collision, allowing me to maintain both responsive gameplay and consistent performance. I am proud of the persistence I have demonstrated throughout the project. During the early stages of development, I encountered significant gaps in my knowledge, particularly as I was new to object-oriented programming. At times, I struggled with seemingly simple tasks, such as correctly initialising a game window or positioning a rectangle where I intended it to be. Despite these difficulties, I continued to learn, troubleshoot and refine my approach rather than abandoning features when they became challenging.", "repo": "https://github.com/Oliver-Attoe/StarDanceProject_FLStudioGrind", "demo": "https://github.com/Oliver-Attoe/StarDanceProject_FLStudioGrind/releases/tag/v1.0.0"}]...
|
[{"post_id": 73026, "ts": "202 [{"post_id": 73026, "ts": "2026-09-24T07:21:08Z", "hours": 0.5231, "text": "Dev Log #39 . THE FINAL DEV LOG . I am finally ready to ship!!! . I did the following: Made a working read me Made a working exe file of my game Removed de-bugging features so game works as intended. Stopped music overlap from happening Removed all copyrighted music (may have mentioned this previously) I used pyinstaller tocreate my exe file. . Level buttons now only work if player max player level is less than or equal to the level you are selecting. . Stopped music overlap by puting stop music into every game state + in load room function . Its been a pleasure to take part in the stardance event. Lets have a look to see how far this project has come!!!"}, {"post_id": 71415, "ts": "2026-09-20T19:44:37Z", "hours": 2.6217, "text": "Dev Log #38 . DONE . I did the following: Added music that plays while in level Removed copyrighted music Finished all GUI Made code neat using ruff Will ship at some point soon. See you on ship day!!!!"}, {"post_id": 71257, "ts": "2026-09-20T15:13:48Z", "hours": 4.6078, "text": "Dev Log #37 . All code is 100% complete now, the only thing left to do is finish all of the UI and then I am ready to ship. . Today I: Fixed portals Added level skip button Displayed bonus objectives Made button rotation work when pressed also Made gun select display gun images Portal code issue was caused by object overlapping with tiles, cause tile collision resolution to push the player out of the tile, and at times out of the map. Fixed this by teleporting player slightly above the object (above being determined by orientation). . Level skip increases player level, restarts level and spawns player in next level. . Bonus objectives screen.blitted on win, text appears green when objective met, red when it hasn’t . Used updated rotated button rect rather then previous and changed screen.blit to use center of rect rather than topleft . For each button in gun group, i screen.blited that gun into the center of the select gun skin rect . Thats all, hope to ship by tonight."}, {"post_id": 69536, "ts": "2026-09-17T07:47:24Z", "hours": 5.2261, "text": "Dev Log #36 . I have done most of the updating of UI, having only a few assests left and one level left to edit. . In addition to this, I have also made it so that buttons now appear pressed when pressed, rather than disappearing. . My easter egg room also stops the music correctly on level complete. . The final objectives are as follows: Have gun select each have image of gun Waiver has displayed text Hint video made and linked correctly All button can only be pressed when on screen Finish misc Assets Add death, win, and coins/stars collected based on mission objectives complete Thats all, I think 20/09/2026 could still be the date for the books, but I’ve got to put the burners on to get this finsished to a level of polish I’m happy with."}, {"post_id": 66573, "ts": "2026-09-12T12:32:48Z", "hours": 1.6919, "text": "Dev Log #35 . Been a bit distracted from this project due to school starting but I’ve been able to get a few things done. . I have done the following: Finished dialogue texts Made it so that dialogue box only appears when there is text Given kill tiles rotatable counterparts Added muzzle flash Added ability pick up sounds Updated a few more assets My Git commits have started to get a bit sloppy as i do these little bits on during my free periods, but im getting back into the swing of things . The dialogue box will only appear if text != “” and will put the player in the start playing state, without requiring a mouse click like it did previously. . Adding sounds was pretty simple so I wil leave an example bellow if self.rect.colliderect(ability[\"rect\"]): if self.gravity_flip > 0: up_gravity_fx.play() else: down_gravity_fx.play() ability[\"collected\"] = True self.gravity_flip *= -1 That’s all, I think 20/09/2026 will be a date for the books as I’m confident I will be finished by then. ALSO, if anyone sees this before ship, could you let me know any ideas for what my 16x16 tile for regular tiles could look like? Many thanks if you respond"}, {"post_id": 64309, "ts": "2026-09-08T16:27:15Z", "hours": 5.7308, "text": "Dev Log #34. . Just cleaning some things up now, we are in the home stretch . I did the following: Updated assest Updated object display code fixed broken dialogue Most assets have a fresh new look created in photopea . Buttons can now be loaded at rotated orientations . Dialogue now does display and does not disapear on first level load. This is because the start playing state was being skipped, i fixed this by using a continue, which skipped the rest of the current loop iteration, preventing the start-state code from continuing to run after changing playing_state. . Thats all, most of my time when into design. See you next devlog"}, {"post_id": 57440, "ts": "2026-08-29T16:21:03Z", "hours": 9.3847, "text": "Dev Log #33 . As you can probably guess, I have done alot I have done the following: • Gave all levels the correct level variables • Made buttons work correctly when rotated • Made teleport bullets work as intended • Made gates and broken tiles allow bullets to pass through when collision is removed • Created an EXE file of my game for friends to use for playtesting • Made a stat tracker to use playtest information to improve my game • Corrected all file directories that had to be moved for PyInstaller to work properly • Fixed the Easter egg room so it now loads correctly • Added AI declaration comments That is a lots, so let me quick fire explain how i did them Painful repetition, change variables, restart level, change tiles, reset level, change ability position, reset. Repeat for level in levels (do this 50 times) . This was partially assisted by AI, but from what I understand the buttons’ Tiled rotation number is used to adjust the collision rectangle’s position so it matches the rotated button object in tiled. Collision check works as did previously. . Teleport bullets originally tp the player if a bullet fired priviously hit a way after pickup, despite no bullet being fired after pickup and also sometimes caused the player to shoot downwards through tiles. . I fixed the wrong bullet tp by using a self.variable rather than a global one as previously, allowing each bullet to know if they were teleport enabled, rather than all bullets being teleport enabled. . The tile collision isssue was fixed by by moving the player backwards along the bullet’s path until they are outside the tile, preventing the gun from passing through walls and being pulled down . This one will just explain itself (if tile in list, then ignore kill on contact): for tile in Tiles.tiles: if self.rect.colliderect(tile[\"rect\"]): tile_property = tile[\"property\"].get(\"type\") if tile_property in Tiles.open_gates: continue This used pyinstaller, not something i really code or anything so, I’ll just say i did it sucessfully . Stat tracker records bullet count, time and deaths/restarts that a level took on completion. Difficulty of a level can also be decided by a play tester by pressing any number button during a level. . This data is level specific, and on key press of /, will create a json file that holds all the data, which can then be sent for me for review of things like bullet max, time complete bonus time, ect. . Self explanatory, just changed things like “Image/buttn.png” to “Game/Image/button.png” . Restart all function was required in load room function as it contains map load, so the level map that was supposed to load is not displayed instead of the secret easter egg map. . 9.Should have declared AI usage earlier, but I have been checking my chat history and I have been able to determine what sections of my code are AI generated . That’s all, gotta try and keep my daily streak alive this time to score myself a free plush."}, {"post_id": 54686, "ts": "2026-08-25T19:01:58Z", "hours": 3.5433, "text": "Dev Log #32 . Made 50 levels today, that is all. . Every 3 levels, a new ability/feature is added. This allows the player to get used to the new thing added, making their later appearance managble as the player is now used to how they function. . I have not set the player and goal location co-ordinates for each level, or other variables like if mini stars are required. . That’s all for today."}, {"post_id": 54018, "ts": "2026-08-24T19:16:39Z", "hours": 2.2183, "text": "Dev Log #31 . I AM FINISHED!!! . Well, pretty much at least. . Today I: Completed the Waiver Made some more levels I made it so that the text box works with word wrap, enter key and backspace key. . I did this by splitting the text into words and lines, then checking each word’s width against the rect boundaries. . If the word exceeds the boundaries x, the texts’ x position is reset and the Y-coordinate is incremented, creating a new line. . The Enter key creates a new line by resetting x and incrementing y, while Backspace removes the last character from the text string, preventing it from being displayed. . The waiver now checks if all fields are filled and allows you to press a button that is connected to a hyperlink that will, in the future, take you to a video created my me showing how each level is complete. . Also made 12 levels today, each new feature is slowly implemented one at time. . That’s all for today."}, {"post_id": 53326, "ts": "2026-08-23T20:00:08Z", "hours": 2.7178, "text": "Dev Log #30 . The big 30!!! . Done quite a bit today, just last bit of polishing and then we move towards UI, music, level design, ect. . Today I: FINISHED THE DIALOGUE SYTEM Added a leave waiver button (was a softlock) Added a text box to waiver [WIP] Dialogue system works fully (minus sound but thats still a win in my books). Plays on level start and level completion and once dialogue is viewed by the player, it is not shown to them again. . Mouse can be clicked to remove dialogue from the screen, without triggering bullet fire. . Also fixed the issue of the text backround being displayed on re-entry and re-completion of the level, but fixed that easily with a variable, setting it to true or false if level had already been completed, then only displaying the text bg when it was true. . Waiver leave button pretty simple, basic pygame rect collidepoint detection. . Text box sets text_active to true on mouse click, mouse clicks anywhere else set it to false, meaning player can only type when they have clicked on it (when they want to). . I appened every event.unicode into a list on key press, meaning I had a list of the players key storkes, then screen.blitted each letter in the list. . Final touches are making all fields complete required to acess button that is a hyperlink to video of me completing stages with instuctions to help, and also backspace and enter and wordwrap working with the text_box. . Then I think I’m done for the most part on the coding side of things, and will move onto level creation. . The only thing I haven’t completed from my long list from a preious dev_log are: Level editor Upside down ability James bond level start Hint dialogue on multiple deaths Boss fight Not to say these aren’t going to be added but they are not simple things and will not really add to much to my game in all honesty. Given the deadline of end of this month I have given myself, I don’t know if I will have time to add these (except for the James bond level start thing as that is a UI thing that will require art, music ect so might work on that when not coding. . That’s all, thanks for reading (:"}, {"post_id": 52887, "ts": "2026-08-23T08:25:38Z", "hours": 2.2633, "text": "Dev Log #29 . I’m pretty close to finishing the code side of my game now, the rest of my efforts will soon be focous toward things like: Writing dialogue Making nicer looking UI Making tiles look good rather than coloured blocks Animations Music Today I did the following: Re made the dialogue system AGAIN Created a gun selection screen My dialogue system displays a word at a time and plays a short noise for each word shown, similarily to undertale voice blips. However, I think it sounds quite bad and I plan to replace it with a set dialogue sound that plays at the start, like animal crossing. . My dialogue system now plays on level start and level completion, and does not re-trigger on level repeat, using similar code used in my star tracking code. . Gun select code is similar to my level select code, using a different class but the same code, just changing the lock out code to only unlock once star count is >= button number - 1 * 6, so that each button is unlocked for each 6 stars earned, as well as having the default gun already unlocked. . That’s all for today, I hope to have a complete game by the end of the month so I can have this finished before the school year starts."}, {"post_id": 51905, "ts": "2026-08-21T20:16:23Z", "hours": 2.1786, "text": "Dev Log #28 . Didn’t do alot today, or for the 2 other days… . I finally made ghost bullets work correctly and have changed the dialogue sytem a bit . The ghost bullets working and not working previously was juts a matter of using variables inside the bullet class rather than global ones, making it work better for some reason, I had the assistance of a friend in fixing the issue, and safe to say it solved it . Dialogue sytem has only been changed slightly so not much point documenting the changes, spacing, timing of letters, ect. . Sorry for short devlog, I hope I have more tommorrow."}, {"post_id": 49659, "ts": "2026-08-18T15:26:51Z", "hours": 3.4011, "text": "Dev Log #27 . More things checked of the list today: . Today I did: Added gravity flip ability Added teleport bullets Added player mission objectives However, some other things i worked on today are still a work in progress, such as: Diologue system Ghost bullets (travel through walls) Gravity flip works similarily to how slow time works, settings the variable self.gravity_flip to -1 on contact, then multiplying graivty strenght by it, reversing the direction of gravity . This however made my realign function not work when on the ceiling, so i added to re-align that if gravity_flip was negative, to detect ceiling hit rather than grounded, allowing it to work why gravity was flipped. . Teleport bullets work by setting a can teleport function to True on contact, then when true, if bullet collidesrect with tile, self.rect of bullet is equal to self.rect of gun. the can tele[port function is then set to false, making the ability only work once as intended. . Player mission objects are as follows: Complete level Complete level in set ammount of time Complete level with less bullets than provided This uses lists in a way i have never used them before and looks like this total_stars = 0 level_stars = [[False, False, False] for _ in range(levels)] If player completes level, level_stars[Settings.player_level - 1][0] for current player level is set to True. . If player completes level quickly (complete_time < bonus_time), then …[1] is set to true . If player reaches has_won game state with a number of bullets lower than the bullet max, then then …[2] is set to True. . Total stars is incremented by one for each goal completed, and if level_stars[Settings.player_level - 1][1,2 or 3] is already set to true, then the increment is skipped, meaning you can only get 3 stars per level. . That’s all for now, hope to fix the issues I had today in tomorrows devlog!!"}, {"post_id": 49172, "ts": "2026-08-17T20:15:54Z", "hours": 2.1058, "text": "Dev Log #26 . Popped ULT today!!! . Today I added the following: Slow time ability Breakable surfaces Bullet pickup Fixed up dialogue system (Not fully complete) Slow time ability works by setting a time to a decimal then multplying the following by it: Velocity (Bullet + Player) Rotation speed Gravity strength Multiplying by a decimal reduces the numbers, emulating slowed time rather than reducing fps which is a bit of a cop-out . Breakable surfaces work similarly to the gate tiles, the tiles having a alpha value of 0 when bullet rect makes contact with tile of that class and adding that tile type to a list: broken_tiles. . All tiles in that list are then ignored by tile collision . Bullet pickup works by detecting rect collision between the player and the surface, when contact is made the players bullet count (representing bullets shot total) is reduced by one, increasing the number of shots available to the player by one. . Dialogue system now works with full words, voice blips are annoying but will fix late stage when adding polish. Will also make it that player has to click mouse to go to next dialogue screen to give them time to read the text. . That is 3 and a bit things of the list, very good progress, juggling summer work, this and most importantly my Minecraft duties has been an upward hill battle but I’m getting there. . See you next develop with more progress!!!"}, {"post_id": 48445, "ts": "2026-08-16T19:54:18Z", "hours": 0.6561, "text": "Dev Log #25 . My love for videojuegos has got the better of me. . Over theses 2 days all I have done is made some level maps and fixed the spawing positions of both win condition and the player based on the new maps. . But I have structure now, and rather than geting destracted, I have set myself some goals to complete hopefully by the end of the month, leaving me time to make the UI look nice. . I present to you. THE TOD0 LIST: . A - DIOLOGUE Fix dialogue system Add hint dialogue Add new level dialogue Add completed dialogue B - ABILITIES/TILES Bullet Pickup Ghost bullets Teleport bullets Time SLOW (not stop) Gravity flip ? Map flip ? Breakable tiles Level editor ? C - UI James bond level start animation Gun skin menu All menus with all required buttons D - Miscellaneous Mission objectives (Bad piggies esque) Determine gun skin unlock criteria A FINAL BOSS !?!?! I hope tomorrow if filled with WAY more advancements of the work kind rather than the Minecraft kind (;"}, {"post_id": 47115, "ts": "2026-08-14T19:25:06Z", "hours": 2.7211, "text": "Dev Log #24 . A progress full day today, but mabye not for the best?? . Today I done the following: Added a charcater diologue box Fixes re-align function so that it works when rotation direction is reversed Just doing little sidequests for now as I’m trying to hide from my enemy, level design. The things is I’m not very good at games, so i dont have the reaction time to create very punishing levels with little room for error. . So to combat this, I end up making really hard levels or super easy ones. . Additionally, I barley add any time to my total when creating levels as it uses a piece of software outside of visual studio. . My character text box is pretty much a recreation of the ones seen in undertale, even using the voice blip of toriel as a place holder. . This should allow me to add a small story that I will make sure to keep simple, like a mario esque plot. . The re-align function was fixed by using the variable rotation direction, then setting that to 1 or -1 depending on contact with reverse direction ability or not . Then multiplying rot_speed by that value reverse the direction that re-align moves. . I will have to knuckle down on level design tomorrow and make sure each level introduces the abilities and tiles one at a time, letting the player get used to them, allowing for levels that include a mix of multiple to be more approachable."}, {"post_id": 46505, "ts": "2026-08-13T19:34:14Z", "hours": 3.1664, "text": "Dev Log #23 . Very good day today, embracing the foddian likeness of my game, making sure that the player gets as angry as possible, just to make that feeling of victory feel so sweet. . Here’s what I did today: LOSER document created (must be filled in to reveal hints, which will be added later) Change rotation direction ability New map (Still a WIP) Document uses follow mouse function and draw line function. Starting the line at the mouses previous position and ending it at its new position. . This happens very fast, so the lines do not appear blocky and appear like real pencil drawing. . The change rotation ability uses the pbject layer like my previous time stop ability, and now that I understand how object layers work, i was easily able to make this ability by copying my clock abiltiy load and changing the result of contact. . The result being making rotation speed negative, reversing direction of rotation. . The new map uses a mix of many abilities and objects, but I have not added them in just yet. . I could quite easily I feel but I’ve reached my 3 hour brain capacity limit, because realisticly with the time spent making pngs, finding sounds, reading pygame documentation and waching tutorials, I’ve probably spent about 5. . But rewards are not for the weak or the lazy, and this little project of mine is helping me leaps and bounds for my future A-level comp sci journey. . See you next time, with some jucy new progress!!!!"}, {"post_id": 45899, "ts": "2026-08-12T17:26:00Z", "hours": 3.3278, "text": "Dev log #22 . Back to business!! . Today I added: Uncompleted level select lockout Separated tile load into own file Easter egg room added Level lockout works by calculating max_player_level, the furthest level a player can select based on if they have beat the previous levels. . This works buy using a function to check if current player_level is greater than max_player_level, if it is then max_player_level = player level. . Then for level select button with number greater than max_player_level, a red cross is screen.blited ontop,as well as not allowing mouse clicks of the rect from having any function. . Tile file separation helped me remove 150 lines from my main file, improving readability. . My easter egg has a 2% chance of happening and gives the player a custom gun appearance on discovery. . The code used to change the guns appearenece should let me, in future, make custom skins for the gun, skins that could be rewarded for levels complete, secondary level goals reached, ect… . I will not share how to reach my secret room, but I think it would be better for someone to stumble across it by accident. . Good day today, progress is picking up pace again, good job me!!! . Strange, it seems, there is a man here…."}, {"post_id": 45339, "ts": "2026-08-11T18:45:05Z", "hours": 2.1411, "text": "Dev Log #21 . Getting lazy now, saw hacktime was down and decided not to bother doing anything before 12, but I hope I will break this cycle. . Today I added working buttons that when pressed, remove gate blocking path. . Had to over hall all my tile loading and map loading and parts of my collision resolution to allow me to reduce the lag being caused in some levels and be able to remove collision selectively for tile types. . I learn how to use set today. I used a set to store the types of gates that have been opened because it prevents duplicates and allows me to quickly check whether a specific gate is open. . No animations for button presses yet as I want to leave that stuff for the end. . I’m feeling the time crunch now because I really want this to be finished before I get back to school and focus on my studies, but this still counts as practice so I’ll continue a little bit during school days. . I will do better tomorrow I promise, cause I’ve got this far, it would be a waste to stop now."}, {"post_id": 44821, "ts": "2026-08-10T20:55:15Z", "hours": 2.8053, "text": "Dev Log #20 . Sorry for the hiatus, not a lot done, but sure I will be soaring tomorrow. . Today I addded: Killable enemies New reset all function Killable enemies act as win conditions, similar to the mini stars, having to all be killed for the goal polygon to spawn. . The reset function made my code much more readable and allowed me to condense all of the restart events like lose velocity, set position here, screen.blit things again if needed. . I started working on 3 buttons that when pressed, open a gate but didn’t get to finishing it sadly. . I want each button to have different press conditions, one can be pressed by bullets only, one only on direct gun contact and the other working with either or. . In later stages, I will have to think how i will communicate this functionality to the player but I’m saving texturing and making the game look good for last. . Hope to have more progress tomorrow. Fingers crossed."}, {"post_id": 42861, "ts": "2026-08-07T20:19:50Z", "hours": 2.4408, "text": "Dev Log #19 . Getting lazy, need to lock in and get 3 hours tomorrow. . Today I added: Working portals Time stop ability Portals and time stop ability use object layers in tiles, a much easier solution compared to my use of polygons for complete goals, may change that but not sure. . Time stop ability is pretty simple, works like pause menu, but allows image rotation and enables follow mouse. . Portals work by on contact, moving player position centre to other portal centre. . The velocity changes with the exit direction using the following code: rotation_difference = entry_angle - exit_angle self.velocity.rotate_ip(rotation_difference) Overall, ok day, not sure what I’ll do tmr, but I’m sure theres something hiding on my checklist. . ALSO!!, Fix this horrible performance issue I had, see bellow for comparison"}, {"post_id": 42135, "ts": "2026-08-06T18:44:20Z", "hours": 2.5461, "text": "Dev Log #18 . Good day, but stopped early today beacuse, well, i’m afraid… . What I did today: Added mini_stars Added re-align option when grounded Added new map Mini stars are to be collected first, unlocking the finish goal. They are hard coded right now so cant be moved for new levels, but I can change that if need be. . Re-align was initially supposed to allow A to rotate the player one direction and D the other, but my game seemed to really not like decreasing the angle value when grounded. . So I’ve made it so rotation only happens one direction, but a full 360 range of motion is possible. . The new map that uses portals, but the portals are not actually functional yet so, thats a job for tomorrow . . Almost everything added from last devlogs check list, but decided against adding placeholder music during playing state as i think I would go insane from listening to it on loop, so that can wait till the end. . Hope to have a longer more prosperous dev log next time, see you then!!!"}, {"post_id": 41536, "ts": "2026-08-05T20:08:05Z", "hours": 3.6981, "text": "Dev Log #17 . Feel kinda stuck in-between, but once a pass my last hurdle, all of my efforts will be focused on new abilities, new tiles and art, but the basics are sooo close to being complete. . Today i did the following: Level stopwatch Level complete goal changed Edited map Complete goal had to be changed to make animation of win goal possible, like coin pick up in Mario. Uses polygon collision, freezes on contact currently but working on fix. . Level stopwatch works well, and works with pause menu by subtracting time passed in pause menu from counter total on continue button pressed. . Map needed editing as I feel my game is too hard and my muscle memory from 100’s of tries makes it feel easy, but really isn’t. . Tried making a new map that requires you to collect many little stars to reveal the goal but found it hard to find a map that works with wide range of movement. . This issue is caused by gun being useless most of the time on collision with floor as it is aimed the wrong way. . I plan to have the player be able to rotate the gun while its grounded using A or D, this re-ajusting stopping players getting stuck. That or a jump ability. . Next devlog hope to have: Mini stars working New map Rotate/jump when grounded Game in progress music See you next devlog, no 1 day hiatus next time (;"}, {"post_id": 40339, "ts": "2026-08-03T19:40:47Z", "hours": 2.6639, "text": "Dev Log #16 . Today was good. I was welmed. . I did the following today: Added working kill tile Fixed image lagging behind player polygon Switched over to match cases Kill tile works as intended, but doen’t ‘kill’ the player yet, it just freezes everything, plays a sound and propts you to restart. . Image lagging behind was a big issue, causing the kill tile to look as if it were killing without contact, but this was cause by the image lag behind. . I tried changing the order of functions in update() but that didn’t work, tried other stuff like changing how some functions work, in the end, it was because i called update after player_group.draw(). Silly me!! . Match case switch over was easy, just the indentation was at times a pain, but I’ve sorted it now, thank goodness! . Going to try and finish the loss screen that appears, adding a level select button and a return to start, but might not as its not strictly necessary, but does look nice. . Not sure what other stuff to add, maybe a new level? . Who knows, see you next Dev Log!!!!"}, {"post_id": 39640, "ts": "2026-08-02T19:23:20Z", "hours": 3.0406, "text": "#Dev Log 15 . Good day at the office. . Did the following today: Working level select Fixed Music Issue Fixed map loading issues (didn’t discover until today) Added tile classes to replace gid based system for tile specific collision My issues today were caused by my moving of code into separate files, but I’m getting there. I’m no longer using from ___ import * and I am instead using import ______. . The sound issue was caused by a variable in settings setting play music to False without my knowledge. . Map loading broke because my maps are only loaded once outside of the while loop, so I fixed that. . Tiles now have a class that can be checked, allowing for different interactions with tiles dependent on tile class. . Thinking about storing some of my variables into match statements for readability but I find using match cases in Settings.py to be really difficult so I will proceed with caution and immense fear!!! . Not sure what tomorrow holds, thinking about making the kill and win tiles do something rather than print win or killed, but might be held up by this switch from many elifs to match cases. . Staying determined, see you next dev log. . PS, a little hint to my little easter egg 📂︎🖮︎"}, {"post_id": 39080, "ts": "2026-08-01T19:29:51Z", "hours": 4.105, "text": "#Dev Log 14 . Ying ang Yang session today: . I did the following: 2 new maps - one I’m keeping a secret for the complete game >;] Level select rect load (not working YET) Kill tile (detection only) Separating code into files outside of main Music Broke…. Level select menu was a perfect mix of challenge and enjoyability. . I loaded the squares in this even patter by creating a rect at (360, 260), then after the first rectangle is created, add 120 to the x value, until x >= 960. . Then I added 120 to y to create a new line and set x back to 360. . The kill tile collision was done the same way as the win tile collision, using tile ID’s. . The only issue I’ve come across is the music suddenyl not working after moving it into its own seperate file, despite it working like an hour before. . I’ve left this issue for tomorrow as I’ve already got a lot of hours under my belt today. . Also the new level is not possible despite all my effort so will have to change that also. . Good progress today, I’ve made a lit of all I want to achieve in Barrel Roll Bullet before the dedline and one by one, I’m checking that list of. . See you next devlog. Maybe then I’ll reveal the space in-between 💣︎♋︎■︎📬︎□︎♑︎♑︎"}, {"post_id": 38447, "ts": "2026-07-31T20:17:36Z", "hours": 2.0106, "text": "Dev Log #13.Unlucky for some, but not for me! . Collision resolution finally working!!!! . Here’s how it works: . SAT algorithm returns the axis with the smallest overlap (this is the shortest distance to separate the player and the tile). . Correct normal line direction so that it points from the tile to the player. . Move player across MTV (Minimum Translation Vector), pushing player out of the tile. Note: MTV is calculated by choosing the smallest overlap in the direction that moves the two shapes apart. . Remove velocity that is parallel to the collision surface, allowing the object to glide across it without getting stuck. . That’s the jist of it. There are some other things I didn’t include, like how only polygons are made for tiles touching the player’s polygon/rect, but I discussed this in a past dev log. . In all honesty, I don’t fully understand the maths behind it, but I was still able to make my own SAT collision system, so I obviously know enough. . Also added some smaller things like a bullet limit and a restart caused by holding the R button down. . This is good progress and should allow me to add more easily things like level select, new Tiled maps, new tile variants that cause different effects, etc. . Next dev log is going to be packed with stuff!!!!.See you then (;"}, {"post_id": 37832, "ts": "2026-07-30T19:46:46Z", "hours": 2.4217, "text": "#Dev Log 12 . Good honest session today. . Changed my collision resolution as it seemed to be causing me alot of trouble and hurting preformance. . Now using polygon collision detection instead of mask collision as it greatly improves preformance and simplicty of colllision resolution. . Although that is still not perfect. . I had it working quite well to a point but once I tried to prevent wall riding through on ground variables set to True or False, everyhting seemed to go wibledy wobeldy from there. . My collision detection works as follow: Dictionary of tiles is made, each tile with a rect and id (needed to make certain tile types do different things). . From that list, add the tiles with rectangles that colide with the player into a new list . 3.With this list, I then draw a mask on the tile, setting the co-ordinates to the corners of the rect . Last step, use self.polygon_collision() to check for collision . This worked without a hitch, but my collision resolution sytem is not so flawless. . This has been a 3ish day long ordeal, but I want to get it solved now so that once I’ve got the basics done I can divert my attention to more fun things like gun abilities, kill tiles, moving platforms, ect. . Progress is not necessarily slow, just stuck on one convoluted thing. I hope I get things sorted soon, this is starting to be a real de-motervator. . But I got that frisk undertale in me so I’ll stay DETERMINED!!!"}, {"post_id": 37179, "ts": "2026-07-29T18:07:52Z", "hours": 3.7003, "text": "Dev Log #11 . Not Good. Very NOT Good. . What I achieved today Victory tile added Aiming reticle completely destroyed Fixed aiming reticle Mask detection not working as intended Gun no longer stopping rotation on collision complete loss of sanity OK, fun. How did this all happen? . My aiming reticle misangling issue was caused by setting initial rotation angle to 15. I did this to increse rotation speed. . The issue being this caused my gun image to also be rotated 15 degrees, causing the barrel not to point to my mouse. . I solved the issue by making initial rotation angle to 0, only += it to = 15 once first shot had been fired. . The next issue I have yet to solve is collision resolution. . It had been an underlying issue for some time, and i still don’t yet know how to fix it. But in my attempt to fix it, I then broke my stop_rotation function, meaning rotation now continues despite collision. . Hope to fix these issues by next devlog, then also give my recoil a bit of calibrating as each bullet seems to be weaker than the last, i think this is caused by my collision resolution setting velocity to 0. . Next devlog will hopefully be more fruitful!"}, {"post_id": 36456, "ts": "2026-07-28T16:14:07Z", "hours": 3.5108, "text": "Dev log #10 . DOUBLE DIGITS!! . What I did today: Added a working pause menu Fixed start screen size Spruced up mask collisions An issue im having with my new and improved collision sytem is that when i reduce player velocity on collision, as well as rotation speed, my player comes to a hault. . In real life, as im sure many of you know, a gun isnt likely to ballance on the barrel verticly, its handle will fall due to being heavier. . I do not yet know how to combat this issue, but I have brain stormed some ideas. . I was going to try and find a center of mass, but that wouldn’t work because that would cause my barrel to float at times due to being disproportionally lighter compared to the gun grip, meaning when gravity acted on it, it would be lob sided. . My other idea was to break the gun into 3 rectangles, barrel, handel and inbetween, then give these rectangles set weights. But i was unable to implement that. . I’m going to try some other solutions, but i think this is going to be some of my toughest challenges yet! . Still undesided on the goals for next devlog, we will see what my brain decided that faithfull day."}, {"post_id": 35966, "ts": "2026-07-27T19:09:25Z", "hours": 3.4547, "text": "Dev Log #9 . Not the best keyboard clacking session, but not the worst. Looking at you Dev Log #4 >:[ . Today I added pixel perfect collision. . First I got the players mask and a list of the rectangle tiles touching my player rectangle. I then listed these rectangles and was able to detect collision based on if they made contact with the players mask. . The next step was collision resolution. . After a detected collision, the location of collision is then increase the y co-ordinate of the player mask, effectivly keeping the player above the ground. This is how collision resolution works for all the other directions, just with varying positions. . With this I then attempted to add a feature that stopped rotation as a surface was hit, to prevent a constanly spinning gun that sits on the floor. . This is still a WIP, but I have been able to make the gun stop all movement once on contact on a wall, but this is unrealistic as in real life if an object makes contact with a wall it does not loose all its momentum. . I will try to combat this isse by adding a bounce effect that gradually reduces momentum on wall contact, rather than causing it to loose all of it. . Next devlog I hope to have a working wall bounce system and maybe a finish goal that, when entered, plays a victory noise and victory screen. . Holding out hope for the future!!"}, {"post_id": 35259, "ts": "2026-07-26T15:42:00Z", "hours": 2.6272, "text": "Dev Log #8 . I new it was too good to be true, progress has slowed yet again. ): . Today I added: ‘Working’ collisions While my collisions ‘work’, they only work when my player rectangle is unchanged. . The issue being when my gun rotates, its rectangle changes size. . This change of size is interpreted as a movement by my collision sytem, therefore once I come in contact with a tile, the bottom of the rectangle slowly becomes bigger and smaller. . this caused it to move to the tops of different tiles, eventually causing it to be flung out of the game window at rapid speed. . I plan to combat this issue with either of these methods: . OPTION A: Pixel perfect collision done through player masks. . This option is harder and can effect preformance if not implemented properly, but with give a smooth and finished collision effect . OPTION B: Set hitbox collision . This option creates a set region on the player, only that region (probably a rectangle shape to make collision detection easy) being able to collide with tiles. . This option will likely be easier, but will look less pollished as the gun barrel would not fall due to gravity, it would stay above the ground while the grip sits on the ground. . My goals for next dev-log are unclear, but for now I hope to have a working collision system at least!!!"}, {"post_id": 34808, "ts": "2026-07-25T20:07:27Z", "hours": 2.8481, "text": "Dev Log #7 . Another prosperous coding session today! . I have added the following features: Correct bullet orientation Sound effects Tiled surface (no collisions) I also had to change the screen size as its height and length needed to be divisible by 16 in order for my tiles to be used easily. . I added the pytmx python library to allow me to use Tiled, a software that makes level creation very simple and quickly repeatable. . It should significantly increase my workflow speed when I get far enough in development to actually be making levels. . I also did some fine tuning on the strength of recoil, making it stronger but controllable. . Additionally, I increased the speed at which the gun rotates in air to make aiming more difficult but still manageable. . Overall, 7/10 work day today. . By next devlog I hope to have some of the following complete: Working collision Finish goal that takes you to the next level Possible moving colidable tile Bullet limit and UI to show this I’m back in business now, regained most of the knowledge I lost from my 1 week hiatus. Wishing future me luck for the next devlog! . And all you others out there as well. STAY DETERMINED!!!!!"}, {"post_id": 34255, "ts": "2026-07-24T19:58:07Z", "hours": 3.2694, "text": "Dev Log #6 . I have made some absolute serious progress!! . I have added: . Working recoil In-air gun rotation Aiming phase and playing phase (turning aiming guide on and off) Dotted aiming guide This has by far been my best coding session as of late and had little to no complications… . Well there was one… Where my entire recoil system was built on mouse position, a mouse which only controls the direction of the bullet once and never again per level. . So that caused me some grief. But I was able to calculate recoil based on the bullet’s movement rather than the mouse’s position. . A bullet which would spawn and move forward from the barrel despite orientation, solving my problem and making the rest of the other features added much simpler to implement. . In the next few dev logs I hope to have added the following: . Make bullet orientation match barrel orientation Add a start menu soundtrack Bullet trail Sound effects (e.g. gunshot, start button pressed) Complete level (with collisions) I hope progress continues at the rate it is, because if so, I will be drowning in stardust."}, {"post_id": 33415, "ts": "2026-07-23T10:41:34Z", "hours": 1.5733, "text": "Dev Log #5 . I have redeemed myself 10 fold. I have finally added recoil to my game!!!! . This moment shows real progress. I have been trying to implement recoil for a while now, and I have finally done it. . I did this by using the velocity I calculated to determine what direction and what speed bullets are shot at from the gun: def __init__(self, barrel_pos, m_pos): super().__init__() self.image = pygame.image.load(\"Images/BULLET.png\").convert_alpha() self.rect = self.image.get_rect(center=barrel_pos) direction = pygame.Vector2( m_pos[0] - barrel_pos[0], m_pos[1] - barrel_pos[1] ) if direction.length() > 0: direction = direction.normalize() self.velocity = direction * 10 Passing the velocity into my player group and subtracting it from the player’s centre, effectively creating movement opposite to the direction of the bullets, aka recoil!!! def recoil(self, velocity): self.recoiled = velocity self.rect.x -= (self.recoiled.x * 10) self.rect.y -= (self.recoiled.y * 10) I also made it so that bullets despawn once off-screen, optimising performance. . Finally, I re-ordered my code, making debugging and overall readability much easier. . While my recoil is not fully complete, this is a large step in the right direction. . I hope by the next devlog I have a fully working recoil system and possibly a working level. Who knows! . Aim for the stars and you’ll at least reach the moon."}, {"post_id": 33031, "ts": "2026-07-22T16:18:00Z", "hours": 5.3169, "text": "Dev Log Number 4 . With the amount of time logged, you would think a lot has been achieved. But no… . After an almost 2 week long holiday induced hiatus, it seemed I had lost my confidence with pygame, and at some points, felt like i had lost my brain entirely. . My attempt to add shootable bullets should have been a simple task, yet it seemed to be impossible. And its not like I could have packed up shop and tried something else, a shootable bullet is esential for a game where the only playable charcater is, well, A GUN! . The first challenge was getting the bullet to spawn from the correct location. Initially, the bullets appeared from the centre of the gun rather than the barrel. Obviously that was not the intent. . I eventually solved the issue (casued by my own ignorance) and passed the barrel position calculated previously into my bullet class rather than re-calculating this (why would i do this, what on earth was I thinking 😩) . With that issue conquered, i then had to do the maths required to shoot a bullet from the barrel to the position of the mouse. Easy enough. NOT. . To cut a long story short, I used the code attatched to finally make my gun work. . My shootable bullets are far from perfect, they sometimes don’t shoot at all even when the mouse is pressed, their orientation does not match the direction the gun is facing and they are far too small. . I plan to fix this by: killing bullets as they go offscreen, adding some sort of rotation to the bullets and for the bullets not being shot when intended, i have no real plan on how I’m going to fix that. . I hope I come back to you in the next dev log with some actually real progress, because this is a sad excuse. . But with determination and grit and endless scrolling of the pygame documentation, I am sure progress will come as fast as a speeding train [or some sort of blue mammal with quills (^_~)]"}, {"post_id": 24165, "ts": "2026-07-07T15:40:34Z", "hours": 2.0261, "text": "Dev log #3 . Today I got a bit sidetracked and decided to move all of my code within a sprite class to reduce clutter. As a newbie, this was my greatest challenge (besides my arch enemy recoil physics). . This process was tedious and caused my entire code to break completely on multiple occasions. But the risk and complication was worth the reward. I reduced my codes line count by 15. . Due to the length of this process, very little was added. However, I did manage to add a aiming reticle for your first initial shot of the gun. . As seen in the images below, this feature came with its own plethora of annoyances. Annoyances such as multiplying rapidly and staying fixed on the gun trigger rather than the barrel. . I also created a new gun sprite that now faced the mouse correctly. . In the next dev log, I hope I come bearing more features. . I plan to add: .Basic bullet firing .Dotted aiming line instead of solid .Player start game (in which gravity will be applied) .NOT recoil, sadly that will have to wait . Went back to my roots today and used my beginner tutorial to help me learn how to apply the sprite class, video linked here: https://youtu.be/AY9MnQ4x3zk?si=9UtUnmyWYpsHZ6d5 . While the sprite class has acted as a roadblock to speed of development, I believe that by the next devlog, my progress will be sure to amaze (I say with confidence 🤞)"}, {"post_id": 23525, "ts": "2026-07-06T15:26:32Z", "hours": 2.0483, "text": "Dev Log #2 – Start and Turn . Now with the basics ingrained in my head, my game is beginning to take shape. While I wasn’t able to add the recoil mechanics I had hoped for, I was able to: .Create a functioning start screen. .Make my player sprite follow the mouse direction. . Today I used a different tutorial to assist me, linked here: https://youtu.be/WnIycS9Gf_c?si=UhNQQ8ekJLdPhRZO . While these are small achievements, they will help build a much greater finished product. Thanks to implementing these new features, I now understand the importance of game states and how to apply them, as well as how to track mouse movement and mouse input. . The reason I implemented sprite rotation based on mouse direction was to allow the player to aim their initial shot and determine their trajectory. . Later, the player will have to use well-timed shots to control their direction rather than relying on this simpler aiming system, making my game’s movement feel more unique and rewarding fast reaction times. . By the next dev log, I hope to create a new gun sprite that follows the mouse correctly, make a shootable bullet, and finally implement the recoil effect when the gun is fired, although this still seems to be my biggest hurdle. . Progress is picking up pace. Every new feature is another lesson learned, helping build the foundations of what I hope will become my magnum opus. See you in the next dev log. ;)"}, {"post_id": 22879, "ts": "2026-07-05T14:44:05Z", "hours": 2.0386, "text": "Dev Log #1 – Grasping the Basics of Pygame . Since I’m new to Pygame, my first goal has been learning the fundamentals and applying them to build the foundations of my game. . So far I’ve implemented: . .Basic gravity .Collision detection with the floor .Upward player movement using mouse input .Loading and displaying sprites and backgrounds . Building these simple features helped me understand how the game loop works, how collision is detected using rectangles, and how offsetting the player’s y-coordinate can be used to create gravity. . At the moment, the player is represented with a placeholder sprite, as my focus is on the code behind my game (and art has never been my strong suit). . I’ve been using the following tutorial, a learning resource that has helped me greatly: . https://youtu.be/AY9MnQ4x3zk?si=x9KrrOI12N1CwT29 . Now that I have an understanding of the basics, I’m going to start moving towards creating the mechanics required for the actual game. . My goal before the next dev log is to have a basic title screen completed and, if possible, implement the recoil mechanic for my player. . Progress is slow at the moment, but every feature I build teaches me something new. Hopefully, the next update will be bigger and come together more quickly (as long as all goes well 🤞)."}]...
|
Title: Barrel Roll Bullet by @ShinyMist | Stardanc Title: Barrel Roll Bullet by @ShinyMist | Stardance
Devlogs:
Dev Log #1 – Grasping the Basics of Pygame . Since I’m new to Pygame, my first goal has been learning the fundamentals and applying them to build the foundations of my game. . So far I’ve implemented: . .Basic gravity .Collision detection with the floor .Upward player movement using mouse input .Loading and displaying sprites and backgrounds . Building these simple features helped me understand how the game loop works, how collision is detected using rectangles, and how offsetting the player’s y-coordinate can be used to create gravity. . At the moment, the player is represented with a placeholder sprite, as my focus is on the code behind my game (and art has never been my strong suit). . I’ve been using the following tutorial, a learning resource that has helped me greatly: . https://youtu.be/AY9MnQ4x3zk?si=x9KrrOI12N1CwT29 . Now that I have an understanding of the basics, I’m going to start moving towards creating the mechanics required for the actual game. . My goal before the next dev log is to have a basic title screen completed and, if possible, implement the recoil mechanic for my player. . Progress is slow at the moment, but every feature I build teaches me something new. Hopefully, the next update will be bigger and come together more quickly (as long as all goes well 🤞).
Dev Log #2 – Start and Turn . Now with the basics ingrained in my head, my game is beginning to take shape. While I wasn’t able to add the recoil mechanics I had hoped for, I was able to: .Create a functioning start screen. .Make my player sprite follow the mouse direction. . Today I used a different tutorial to assist me, linked here: https://youtu.be/WnIycS9Gf_c?si=UhNQQ8ekJLdPhRZO . While these are small achievements, they will help build a much greater finished product. Thanks to implementing these new features, I now understand the importance of game states and how to apply them, as well as how to track mouse movement and mouse input. . The reason I implemented sprite rotation based on mouse direction was to allow the player to aim their initial shot and determine their trajectory. . Later, the player will have to use well-timed shots to control their direction rather than relying on this simpler aiming system, making my game’s movement feel more unique and rewarding fast reaction times. . By the next dev log, I hope to create a new gun sprite that follows the mouse correctly, make a shootable bullet, and finally implement the recoil effect when the gun is fired, although this still seems to be my biggest hurdle. . Progress is picking up pace. Every new feature is another lesson learned, helping build the foundations of what I hope will become my magnum opus. See you in the next dev log. ;)
Dev log #3 . Today I got a bit sidetracked and decided to move all of my code within a sprite class to reduce clutter. As a newbie, this was my greatest challenge (besides my arch enemy recoil physics). . This process was tedious and caused my entire code to break completely on multiple occasions. But the risk and complication was worth the reward. I reduced my codes line count by 15. . Due to the length of this process, very little was added. However, I did manage to add a aiming reticle for your first initial shot of the gun. . As seen in the images below, this feature came with its own plethora of annoyances. Annoyances such as multiplying rapidly and staying fixed on the gun trigger rather than the barrel. . I also created a new gun sprite that now faced the mouse correctly. . In the next dev log, I hope I come bearing more features. . I plan to add: .Basic bullet firing .Dotted aiming line instead of solid .Player start game (in which gravity will be applied) .NOT recoil, sadly that will have to wait . Went back to my roots today and used my beginner tutorial to help me learn how to apply the sprite class, video linked here: https://youtu.be/AY9MnQ4x3zk?si=9UtUnmyWYpsHZ6d5 . While the sprite class has acted as a roadblock to speed of development, I believe that by the next devlog, my progress will be sure to amaze (I say with confidence 🤞)
Dev Log Number 4 . With the amount of time logged, you would think a lot has been achieved. But no… . After an almost 2 week long holiday induced hiatus, it seemed I had lost my confidence with pygame, and at some points, felt like i had lost my brain entirely. . My attempt to add shootable bullets should have been a simple task, yet it seemed to be impossible. And its not like I could have packed up shop and tried something else, a shootable bullet is esential for a game where the only playable charcater is, well, A GUN! . The first challenge was getting the bullet to spawn from the correct location. Initially, the bullets appeared from the centre of the gun rather than the barrel. Obviously that was not the intent. . I eventually solved the issue (casued by my own ignorance) and passed the barrel position calculated previously into my bullet class rather than re-calculating this (why would i do this, what on earth was I thinking 😩) . With that issue conquered, i then had to do the maths required to shoot a bullet from the barrel to the position of the mouse. Easy enough. NOT. . To cut a long story short, I used the code attatched to finally make my gun work. . My shootable bullets are far from perfect, they sometimes don’t shoot at all even when the mouse is pressed, their orientation does not match the direction the gun is facing and they are far too small. . I plan to fix this by: killing bullets as they go offscreen, adding some sort of rotation to the bullets and for the bullets not being shot when intended, i have no real plan on how I’m going to fix that. . I hope I come back to you in the next dev log with some actually real progress, because this is a sad excuse. . But with determination and grit and endless scrolling of the pygame documentation, I am sure progress will come as fast as a speeding train [or some sort of blue mammal with quills (^_~)]
Dev Log #5 . I have redeemed myself 10 fold. I have finally added recoil to my game!!!! . This moment shows real progress. I have been trying to implement recoil for a while now, and I have finally done it. . I did this by using the velocity I calculated to determine what direction and what speed bullets are shot at from the gun: def __init__(self, barrel_pos, m_pos): super().__init__() self.image = pygame.image.load("Images/BULLET.png").convert_alpha() self.rect = self.image.get_rect(center=barrel_pos) direction = pygame.Vector2( m_pos[0] - barrel_pos[0], m_pos[1] - barrel_pos[1] ) if direction.length() > 0: direction = direction.normalize() self.velocity = direction * 10 Passing the velocity into my player group and subtracting it from the player’s centre, effectively creating movement opposite to the direction of the bullets, aka recoil!!! def recoil(self, velocity): self.recoiled = velocity self.rect.x -= (self.recoiled.x * 10) self.rect.y -= (self.recoiled.y * 10) I also made it so that bullets despawn once off-screen, optimising performance. . Finally, I re-ordered my code, making debugging and overall readability much easier. . While my recoil is not fully complete, this is a large step in the right direction. . I hope by the next devlog I have a fully working recoil system and possibly a working level. Who knows! . Aim for the stars and you’ll at least reach the moon.
Dev Log #6 . I have made some absolute serious progress!! . I have added: . Working recoil In-air gun rotation Aiming phase and playing phase (turning aiming guide on and off) Dotted aiming guide This has by far been my best coding session as of late and had little to no complications… . Well there was one… Where my entire recoil system was built on mouse position, a mouse which only controls the direction of the bullet once and never again per level. . So that caused me some grief. But I was able to calculate recoil based on the bullet’s movement rather than the mouse’s position. . A bullet which would spawn and move forward from the barrel despite orientation, solving my problem and making the rest of the other features added much simpler to implement. . In the next few dev logs I hope to have added the following: . Make bullet orientation match barrel orientation Add a start menu soundtrack Bullet trail Sound effects (e.g. gunshot, start button pressed) Complete level (with collisions) I hope progress continues at the rate it is, because if so, I will be drowning in stardust.
Dev Log #7 . Another prosperous coding session today! . I have added the following features: Correct bullet orientation Sound effects Tiled surface (no collisions) I also had to change the screen size as its height and length needed to be divisible by 16 in order for my tiles to be used easily. . I added the pytmx python library to allow me to use Tiled, a software that makes level creation very simple and quickly repeatable. . It should significantly increase my workflow speed when I get far enough in development to actually be making levels. . I also did some fine tuning on the strength of recoil, making it stronger but controllable. . Additionally, I increased the speed at which the gun rotates in air to make aiming more difficult but still manageable. . Overall, 7/10 work day today. . By next devlog I hope to have some of the following complete: Working collision Finish goal that takes you to the next level Possible moving colidable tile Bullet limit and UI to show this I’m back in business now, regained most of the knowledge I lost from my 1 week hiatus. Wishing future me luck for the next devlog! . And all you others out there as well. STAY DETERMINED!!!!!
Dev Log #8 . I new it was too good to be true, progress has slowed yet again. ): . Today I added: ‘Working’ collisions While my collisions ‘work’, they only work when my player rectangle is unchanged. . The issue being when my gun rotates, its rectangle changes size. . This change of size is interpreted as a movement by my collision sytem, therefore once I come in contact with a tile, the bottom of the rectangle slowly becomes bigger and smaller. . this caused it to move to the tops of different tiles, eventually causing it to be flung out of the game window at rapid speed. . I plan to combat this issue with either of these methods: . OPTION A: Pixel perfect collision done through player masks. . This option is harder and can effect preformance if not implemented properly, but with give a smooth and finished collision effect . OPTION B: Set hitbox collision . This option creates a set region on the player, only that region (probably a rectangle shape to make collision detection easy) being able to collide with tiles. . This option will likely be easier, but will look less pollished as the gun barrel would not fall due to gravity, it would stay above the ground while the grip sits on the ground. . My goals for next dev-log are unclear, but for now I hope to have a working collision system at least!!!
Dev Log #9 . Not the best keyboard clacking session, but not the worst. Looking at you Dev Log #4 >:[ . Today I added pixel perfect collision. . First I got the players mask and a list of the rectangle tiles touching my player rectangle. I then listed these rectangles and was able to detect collision based on if they made contact with the players mask. . The next step was collision resolution. . After a detected collision, the location of collision is then increase the y co-ordinate of the player mask, effectivly keeping the player above the ground. This is how collision resolution works for all the other directions, just with varying positions. . With this I then attempted to add a feature that stopped rotation as a surface was hit, to prevent a constanly spinning gun that sits on the floor. . This is still a WIP, but I have been able to make the gun stop all movement once on contact on a wall, but this is unrealistic as in real life if an object makes contact with a wall it does not loose all its momentum. . I will try to combat this isse by adding a bounce effect that gradually reduces momentum on wall contact, rather than causing it to loose all of it. . Next devlog I hope to have a working wall bounce system and maybe a finish goal that, when entered, plays a victory noise and victory screen. . Holding out hope for the future!!
Dev log #10 . DOUBLE DIGITS!! . What I did today: Added a working pause menu Fixed start screen size Spruced up mask collisions An issue im having with my new and improved collision sytem is that when i reduce player velocity on collision, as well as rotation speed, my player comes to a hault. . In real life, as im sure many of you know, a gun isnt likely to ballance on the barrel verticly, its handle will fall due to being heavier. . I do not yet know how to combat this issue, but I have brain stormed some ideas. . I was going to try and find a center of mass, but that wouldn’t work because that would cause my barrel to float at times due to being disproportionally lighter compared to the gun grip, meaning when gravity acted on it, it would be lob sided. . My other idea was to break the gun into 3 rectangles, barrel, handel and inbetween, then give these rectangles set weights. But i was unable to implement that. . I’m going to try some other solutions, but i think this is going to be some of my toughest challenges yet! . Still undesided on the goals for next devlog, we will see what my brain decided that faithfull day.
Dev Log #11 . Not Good. Very NOT Good. . What I achieved today Victory tile added Aiming reticle completely destroyed Fixed aiming reticle Mask detection not working as intended Gun no longer stopping rotation on collision complete loss of sanity OK, fun. How did this all happen? . My aiming reticle misangling issue was caused by setting initial rotation angle to 15. I did this to increse rotation speed. . The issue being this caused my gun image to also be rotated 15 degrees, causing the barrel not to point to my mouse. . I solved the issue by making initial rotation angle to 0, only += it to = 15 once first shot had been fired. . The next issue I have yet to solve is collision resolution. . It had been an underlying issue for some time, and i still don’t yet know how to fix it. But in my attempt to fix it, I then broke my stop_rotation function, meaning rotation now continues despite collision. . Hope to fix these issues by next devlog, then also give my recoil a bit of calibrating as each bullet seems to be weaker than the last, i think this is caused by my collision resolution setting velocity to 0. . Next devlog will hopefully be more fruitful!
#Dev Log 12 . Good honest session today. . Changed my collision resolution as it seemed to be causing me alot of trouble and hurting preformance. . Now using polygon collision detection instead of mask collision as it greatly improves preformance and simplicty of colllision resolution. . Although that is still not perfect. . I had it working quite well to a point but once I tried to prevent wall riding through on ground variables set to True or False, everyhting seemed to go wibledy wobeldy from there. . My collision detection works as follow: Dictionary of tiles is made, each tile with a rect and id (needed to make certain tile types do different things). . From that list, add the tiles with rectangles that colide with the player into a new list . 3.With this list, I then draw a mask on the tile, setting the co-ordinates to the corners of the rect . Last step, use self.polygon_collision() to check for collision . This worked without a hitch, but my collision resolution sytem is not so flawless. . This has been a 3ish day long ordeal, but I want to get it solved now so that once I’ve got the basics done I can divert my attention to more fun things like gun abilities, kill tiles, moving platforms, ect. . Progress is not necessarily slow, just stuck on one convoluted thing. I hope I get things sorted soon, this is starting to be a real de-motervator. . But I got that frisk undertale in me so I’ll stay DETERMINED!!!
Dev Log #13.Unlucky for some, but not for me! . Collision resolution finally working!!!! . Here’s how it works: . SAT algorithm returns the axis with the smallest overlap (this is the shortest distance to separate the player and the tile). . Correct normal line direction so that it points from the tile to the player. . Move player across MTV (Minimum Translation Vector), pushing player out of the tile. Note: MTV is calculated by choosing the smallest overlap in the direction that moves the two shapes apart. . Remove velocity that is parallel to the collision surface, allowing the object to glide across it without getting stuck. . That’s the jist of it. There are some other things I didn’t include, like how only polygons are made for tiles touching the player’s polygon/rect, but I discussed this in a past dev log. . In all honesty, I don’t fully understand the maths behind it, but I was still able to make my own SAT collision system, so I obviously know enough. . Also added some smaller things like a bullet limit and a restart caused by holding the R button down. . This is good progress and should allow me to add more easily things like level select, new Tiled maps, new tile variants that cause different effects, etc. . Next dev log is going to be packed with stuff!!!!.See you then (;
#Dev Log 14 . Ying ang Yang session today: . I did the following: 2 new maps - one I’m keeping a secret for the complete game >;] Level select rect load (not working YET) Kill tile (detection only) Separating code into files outside of main Music Broke…. Level select menu was a perfect mix of challenge and enjoyability. . I loaded the squares in this even patter by creating a rect at (360, 260), then after the first rectangle is created, add 120 to the x value, until x >= 960. . Then I added 120 to y to create a new line and set x back to 360. . The kill tile collision was done the same way as the win tile collision, using tile ID’s. . The only issue I’ve come across is the music suddenyl not working after moving it into its own seperate file, despite it working like an hour before. . I’ve left this issue for tomorrow as I’ve already got a lot of hours under my belt today. . Also the new level is not possible despite all my effort so will have to change that also. . Good progress today, I’ve made a lit of all I want to achieve in Barrel Roll Bullet before the dedline and one by one, I’m checking that list of. . See you next devlog. Maybe then I’ll reveal the space in-between 💣︎♋︎■︎📬︎□︎♑︎♑︎
#Dev Log 15 . Good day at the office. . Did the following today: Working level select Fixed Music Issue Fixed map loading issues (didn’t discover until today) Added tile classes to replace gid based system for tile specific collision My issues today were caused by my moving of code into separate files, but I’m getting there. I’m no longer using from ___ import * and I am instead using import ______. . The sound issue was caused by a variable in settings setting play music to False without my knowledge. . Map loading broke because my maps are only loaded once outside of the while loop, so I fixed that. . Tiles now have a class that can be checked, allowing for different interactions with tiles dependent on tile class. . Thinking about storing some of my variables into match statements for readability but I find using match cases in Settings.py to be really difficult so I will proceed with caution and immense fear!!! . Not sure what tomorrow holds, thinking about making the kill and win tiles do something rather than print win or killed, but might be held up by this switch from many elifs to match cases. . Staying determined, see you next dev log. . PS, a little hint to my little easter egg 📂︎🖮︎
Dev Log #16 . Today was good. I was welmed. . I did the following today: Added working kill tile Fixed image lagging behind player polygon Switched over to match cases Kill tile works as intended, but doen’t ‘kill’ the player yet, it just freezes everything, plays a sound and propts you to restart. . Image lagging behind was a big issue, causing the kill tile to look as if it were killing without contact, but this was cause by the image lag behind. . I tried changing the order of functions in update() but that didn’t work, tried other stuff like changing how some functions work, in the end, it was because i called update after player_group.draw(). Silly me!! . Match case switch over was easy, just the indentation was at times a pain, but I’ve sorted it now, thank goodness! . Going to try and finish the loss screen that appears, adding a level select button and a return to start, but might not as its not strictly necessary, but does look nice. . Not sure what other stuff to add, maybe a new level? . Who knows, see you next Dev Log!!!!
Dev Log #17 . Feel kinda stuck in-between, but once a pass my last hurdle, all of my efforts will be focused on new abilities, new tiles and art, but the basics are sooo close to being complete. . Today i did the following: Level stopwatch Level complete goal changed Edited map Complete goal had to be changed to make animation of win goal possible, like coin pick up in Mario. Uses polygon collision, freezes on contact currently but working on fix. . Level stopwatch works well, and works with pause menu by subtracting time passed in pause menu from counter total on continue button pressed. . Map needed editing as I feel my game is too hard and my muscle memory from 100’s of tries makes it feel easy, but really isn’t. . Tried making a new map that requires you to collect many little stars to reveal the goal but found it hard to find a map that works with wide range of movement. . This issue is caused by gun being useless most of the time on collision with floor as it is aimed the wrong way. . I plan to have the player be able to rotate the gun while its grounded using A or D, this re-ajusting stopping players getting stuck. That or a jump ability. . Next devlog hope to have: Mini stars working New map Rotate/jump when grounded Game in progress music See you next devlog, no 1 day hiatus next time (;
Dev Log #18 . Good day, but stopped early today beacuse, well, i’m afraid… . What I did today: Added mini_stars Added re-align option when grounded Added new map Mini stars are to be collected first, unlocking the finish goal. They are hard coded right now so cant be moved for new levels, but I can change that if need be. . Re-align was initially supposed to allow A to rotate the player one direction and D the other, but my game seemed to really not like decreasing the angle value when grounded. . So I’ve made it so rotation only happens one direction, but a full 360 range of motion is possible. . The new map that uses portals, but the portals are not actually functional yet so, thats a job for tomorrow . . Almost everything added from last devlogs check list, but decided against adding placeholder music during playing state as i think I would go insane from listening to it on loop, so that can wait till the end. . Hope to have a longer more prosperous dev log next time, see you then!!!
Dev Log #19 . Getting lazy, need to lock in and get 3 hours tomorrow. . Today I added: Working portals Time stop ability Portals and time stop ability use object layers in tiles, a much easier solution compared to my use of polygons for complete goals, may change that but not sure. . Time stop ability is pretty simple, works like pause menu, but allows image rotation and enables follow mouse. . Portals work by on contact, moving player position centre to other portal centre. . The velocity changes with the exit direction using the following code: rotation_difference = entry_angle - exit_angle self.velocity.rotate_ip(rotation_difference) Overall, ok day, not sure what I’ll do tmr, but I’m sure theres something hiding on my checklist. . ALSO!!, Fix this horrible performance issue I had, see bellow for comparison
Dev Log #20 . Sorry for the hiatus, not a lot done, but sure I will be soaring tomorrow. . Today I addded: Killable enemies New reset all function Killable enemies act as win conditions, similar to the mini stars, having to all be killed for the goal polygon to spawn. . The reset function made my code much more readable and allowed me to condense all of the restart events like lose velocity, set position here, screen.blit things again if needed. . I started working on 3 buttons that when pressed, open a gate but didn’t get to finishing it sadly. . I want each button to have different press conditions, one can be pressed by bullets only, one only on direct gun contact and the other working with either or. . In later stages, I will have to think how i will communicate this functionality to the player but I’m saving texturing and making the game look good for last. . Hope to have more progress tomorrow. Fingers crossed.
Dev Log #21 . Getting lazy now, saw hacktime was down and decided not to bother doing anything before 12, but I hope I will break this cycle. . Today I added working buttons that when pressed, remove gate blocking path. . Had to over hall all my tile loading and map loading and parts of my collision resolution to allow me to reduce the lag being caused in some levels and be able to remove collision selectively for tile types. . I learn how to use set today. I used a set to store the types of gates that have been opened because it prevents duplicates and allows me to quickly check whether a specific gate is open. . No animations for button presses yet as I want to leave that stuff for the end. . I’m feeling the time crunch now because I really want this to be finished before I get back to school and focus on my studies, but this still counts as practice so I’ll continue a little bit during school days. . I will do better tomorrow I promise, cause I’ve got this far, it would be a waste to stop now.
Dev log #22 . Back to business!! . Today I added: Uncompleted level select lockout Separated tile load into own file Easter egg room added Level lockout works by calculating max_player_level, the furthest level a player can select based on if they have beat the previous levels. . This works buy using a function to check if current player_level is greater than max_player_level, if it is then max_player_level = player level. . Then for level select button with number greater than max_player_level, a red cross is screen.blited ontop,as well as not allowing mouse clicks of the rect from having any function. . Tile file separation helped me remove 150 lines from my main file, improving readability. . My easter egg has a 2% chance of happening and gives the player a custom gun appearance on discovery. . The code used to change the guns appearenece should let me, in future, make custom skins for the gun, skins that could be rewarded for levels complete, secondary level goals reached, ect… . I will not share how to reach my secret room, but I think it would be better for someone to stumble across it by accident. . Good day today, progress is picking up pace again, good job me!!! . Strange, it seems, there is a man here….
Dev Log #23 . Very good day today, embracing the foddian likeness of my game, making sure that the player gets as angry as possible, just to make that feeling of victory feel so sweet. . Here’s what I did today: LOSER document created (must be filled in to reveal hints, which will be added later) Change rotation direction ability New map (Still a WIP) Document uses follow mouse function and draw line function. Starting the line at the mouses previous position and ending it at its new position. . This happens very fast, so the lines do not appear blocky and appear like real pencil drawing. . The change rotation ability uses the pbject layer like my previous time stop ability, and now that I understand how object layers work, i was easily able to make this ability by copying my clock abiltiy load and changing the result of contact. . The result being making rotation speed negative, reversing direction of rotation. . The new map uses a mix of many abilities and objects, but I have not added them in just yet. . I could quite easily I feel but I’ve reached my 3 hour brain capacity limit, because realisticly with the time spent making pngs, finding sounds, reading pygame documentation and waching tutorials, I’ve probably spent about 5. . But rewards are not for the weak or the lazy, and this little project of mine is helping me leaps and bounds for my future A-level comp sci journey. . See you next time, with some jucy new progress!!!!
Dev Log #24 . A progress full day today, but mabye not for the best?? . Today I done the following: Added a charcater diologue box Fixes re-align function so that it works when rotation direction is reversed Just doing little sidequests for now as I’m trying to hide from my enemy, level design. The things is I’m not very good at games, so i dont have the reaction time to create very punishing levels with little room for error. . So to combat this, I end up making really hard levels or super easy ones. . Additionally, I barley add any time to my total when creating levels as it uses a piece of software outside of visual studio. . My character text box is pretty much a recreation of the ones seen in undertale, even using the voice blip of toriel as a place holder. . This should allow me to add a small story that I will make sure to keep simple, like a mario esque plot. . The re-align function was fixed by using the variable rotation direction, then setting that to 1 or -1 depending on contact with reverse direction ability or not . Then multiplying rot_speed by that value reverse the direction that re-align moves. . I will have to knuckle down on level design tomorrow and make sure each level introduces the abilities and tiles one at a time, letting the player get used to them, allowing for levels that include a mix of multiple to be more approachable.
Dev Log #25 . My love for videojuegos has got the better of me. . Over theses 2 days all I have done is made some level maps and fixed the spawing positions of both win condition and the player based on the new maps. . But I have structure now, and rather than geting destracted, I have set myself some goals to complete hopefully by the end of the month, leaving me time to make the UI look nice. . I present to you. THE TOD0 LIST: . A - DIOLOGUE Fix dialogue system Add hint dialogue Add new level dialogue Add completed dialogue B - ABILITIES/TILES Bullet Pickup Ghost bullets Teleport bullets Time SLOW (not stop) Gravity flip ? Map flip ? Breakable tiles Level editor ? C - UI James bond level start animation Gun skin menu All menus with all required buttons D - Miscellaneous Mission objectives (Bad piggies esque) Determine gun skin unlock criteria A FINAL BOSS !?!?! I hope tomorrow if filled with WAY more advancements of the work kind rather than the Minecraft kind (;
Dev Log #26 . Popped ULT today!!! . Today I added the following: Slow time ability Breakable surfaces Bullet pickup Fixed up dialogue system (Not fully complete) Slow time ability works by setting a time to a decimal then multplying the following by it: Velocity (Bullet + Player) Rotation speed Gravity strength Multiplying by a decimal reduces the numbers, emulating slowed time rather than reducing fps which is a bit of a cop-out . Breakable surfaces work similarly to the gate tiles, the tiles having a alpha value of 0 when bullet rect makes contact with tile of that class and adding that tile type to a list: broken_tiles. . All tiles in that list are then ignored by tile collision . Bullet pickup works by detecting rect collision between the player and the surface, when contact is made the players bullet count (representing bullets shot total) is reduced by one, increasing the number of shots available to the player by one. . Dialogue system now works with full words, voice blips are annoying but will fix late stage when adding polish. Will also make it that player has to click mouse to go to next dialogue screen to give them time to read the text. . That is 3 and a bit things of the list, very good progress, juggling summer work, this and most importantly my Minecraft duties has been an upward hill battle but I’m getting there. . See you next develop with more progress!!!
Dev Log #27 . More things checked of the list today: . Today I did: Added gravity flip ability Added teleport bullets Added player mission objectives However, some other things i worked on today are still a work in progress, such as: Diologue system Ghost bullets (travel through walls) Gravity flip works similarily to how slow time works, settings the variable self.gravity_flip to -1 on contact, then multiplying graivty strenght by it, reversing the direction of gravity . This however made my realign function not work when on the ceiling, so i added to re-align that if gravity_flip was negative, to detect ceiling hit rather than grounded, allowing it to work why gravity was flipped. . Teleport bullets work by setting a can teleport function to True on contact, then when true, if bullet collidesrect with tile, self.rect of bullet is equal to self.rect of gun. the can tele[port function is then set to false, making the ability only work once as intended. . Player mission objects are as follows: Complete level Complete level in set ammount of time Complete level with less bullets than provided This uses lists in a way i have never used them before and looks like this total_stars = 0 level_stars = [[False, False, False] for _ in range(levels)] If player completes level, level_stars[Settings.player_level - 1][0] for current player level is set to True. . If player completes level quickly (complete_time < bonus_time), then …[1] is set to true . If player reaches has_won game state with a number of bullets lower than the bullet max, then then …[2] is set to True. . Total stars is incremented by one for each goal completed, and if level_stars[Settings.player_level - 1][1,2 or 3] is already set to true, then the increment is skipped, meaning you can only get 3 stars per level. . That’s all for now, hope to fix the issues I had today in tomorrows devlog!!
Dev Log #28 . Didn’t do alot today, or for the 2 other days… . I finally made ghost bullets work correctly and have changed the dialogue sytem a bit . The ghost bullets working and not working previously was juts a matter of using variables inside the bullet class rather than global ones, making it work better for some reason, I had the assistance of a friend in fixing the issue, and safe to say it solved it . Dialogue sytem has only been changed slightly so not much point documenting the changes, spacing, timing of letters, ect. . Sorry for short devlog, I hope I have more tommorrow.
Dev Log #29 . I’m pretty close to finishing the code side of my game now, the rest of my efforts will soon be focous toward things like: Writing dialogue Making nicer looking UI Making tiles look good rather than coloured blocks Animations Music Today I did the following: Re made the dialogue system AGAIN Created a gun selection screen My dialogue system displays a word at a time and plays a short noise for each word shown, similarily to undertale voice blips. However, I think it sounds quite bad and I plan to replace it with a set dialogue sound that plays at the start, like animal crossing. . My dialogue system now plays on level start and level completion, and does not re-trigger on level repeat, using similar code used in my star tracking code. . Gun select code is similar to my level select code, using a different class but the same code, just changing the lock out code to only unlock once star count is >= button number - 1 * 6, so that each button is unlocked for each 6 stars earned, as well as having the default gun already unlocked. . That’s all for today, I hope to have a complete game by the end of the month so I can have this finished before the school year starts.
Dev Log #30 . The big 30!!! . Done quite a bit today, just last bit of polishing and then we move towards UI, music, level design, ect. . Today I: FINISHED THE DIALOGUE SYTEM Added a leave waiver button (was a softlock) Added a text box to waiver [WIP] Dialogue system works fully (minus sound but thats still a win in my books). Plays on level start and level completion and once dialogue is viewed by the player, it is not shown to them again. . Mouse can be clicked to remove dialogue from the screen, without triggering bullet fire. . Also fixed the issue of the text backround being displayed on re-entry and re-completion of the level, but fixed that easily with a variable, setting it to true or false if level had already been completed, then only displaying the text bg when it was true. . Waiver leave button pretty simple, basic pygame rect collidepoint detection. . Text box sets text_active to true on mouse click, mouse clicks anywhere else set it to false, meaning player can only type when they have clicked on it (when they want to). . I appened every event.unicode into a list on key press, meaning I had a list of the players key storkes, then screen.blitted each letter in the list. . Final touches are making all fields complete required to acess button that is a hyperlink to video of me completing stages with instuctions to help, and also backspace and enter and wordwrap working with the text_box. . Then I think I’m done for the most part on the coding side of things, and will move onto level creation. . The only thing I haven’t completed from my long list from a preious dev_log are: Level editor Upside down ability James bond level start Hint dialogue on multiple deaths Boss fight Not to say these aren’t going to be added but they are not simple things and will not really add to much to my game in all honesty. Given the deadline of end of this month I have given myself, I don’t know if I will have time to add these (except for the James bond level start thing as that is a UI thing that will require art, music ect so might work on that when not coding. . That’s all, thanks for reading (:
Dev Log #31 . I AM FINISHED!!! . Well, pretty much at least. . Today I: Completed the Waiver Made some more levels I made it so that the text box works with word wrap, enter key and backspace key. . I did this by splitting the text into words and lines, then checking each word’s width against the rect boundaries. . If the word exceeds the boundaries x, the texts’ x position is reset and the Y-coordinate is incremented, creating a new line. . The Enter key creates a new line by resetting x and incrementing y, while Backspace removes the last character from the text string, preventing it from being displayed. . The waiver now checks if all fields are filled and allows you to press a button that is connected to a hyperlink that will, in the future, take you to a video created my me showing how each level is complete. . Also made 12 levels today, each new feature is slowly implemented one at time. . That’s all for today.
Dev Log #32 . Made 50 levels today, that is all. . Every 3 levels, a new ability/feature is added. This allows the player to get used to the new thing added, making their later appearance managble as the player is now used to how they function. . I have not set the player and goal location co-ordinates for each level, or other variables like if mini stars are required. . That’s all for today.
Dev Log #33 . As you can probably guess, I have done alot I have done the following: • Gave all levels the correct level variables • Made buttons work correctly when rotated • Made teleport bullets work as intended • Made gates and broken tiles allow bullets to pass through when collision is removed • Created an EXE file of my game for friends to use for playtesting • Made a stat tracker to use playtest information to improve my game • Corrected all file directories that had to be moved for PyInstaller to work properly • Fixed the Easter egg room so it now loads correctly • Added AI declaration comments That is a lots, so let me quick fire explain how i did them Painful repetition, change variables, restart level, change tiles, reset level, change ability position, reset. Repeat for level in levels (do this 50 times) . This was partially assisted by AI, but from what I understand the buttons’ Tiled rotation number is used to adjust the collision rectangle’s position so it matches the rotated button object in tiled. Collision check works as did previously. . Teleport bullets originally tp the player if a bullet fired priviously hit a way after pickup, despite no bullet being fired after pickup and also sometimes caused the player to shoot downwards through tiles. . I fixed the wrong bullet tp by using a self.variable rather than a global one as previously, allowing each bullet to know if they were teleport enabled, rather than all bullets being teleport enabled. . The tile collision isssue was fixed by by moving the player backwards along the bullet’s path until they are outside the tile, preventing the gun from passing through walls and being pulled down . This one will just explain itself (if tile in list, then ignore kill on contact): for tile in Tiles.tiles: if self.rect.colliderect(tile["rect"]): tile_property = tile["property"].get("type") if tile_property in Tiles.open_gates: continue This used pyinstaller, not something i really code or anything so, I’ll just say i did it sucessfully . Stat tracker records bullet count, time and deaths/restarts that a level took on completion. Difficulty of a level can also be decided by a play tester by pressing any number button during a level. . This data is level specific, and on key press of /, will create a json file that holds all the data, which can then be sent for me for review of things like bullet max, time complete bonus time, ect. . Self explanatory, just changed things like “Image/buttn.png” to “Game/Image/button.png” . Restart all function was required in load room function as it contains map load, so the level map that was supposed to load is not displayed instead of the secret easter egg map. . 9.Should have declared AI usage earlier, but I have been checking my chat history and I have been able to determine what sections of my code are AI generated . That’s all, gotta try and keep my daily streak alive this time to score myself a free plush.
Dev Log #34. . Just cleaning some things up now, we are in the home stretch . I did the following: Updated assest Updated object display code fixed broken dialogue Most assets have a fresh new look created in photopea . Buttons can now be loaded at rotated orientations . Dialogue now does display and does not disapear on first level load. This is because the start playing state was being skipped, i fixed this by using a continue, which skipped the rest of the current loop iteration, preventing the start-state code from continuing to run after changing playing_state. . Thats all, most of my time when into design. See you next devlog
Dev Log #35 . Been a bit distracted from this project due to school starting but I’ve been able to get a few things done. . I have done the following: Finished dialogue texts Made it so that dialogue box only appears when there is text Given kill tiles rotatable counterparts Added muzzle flash Added ability pick up sounds Updated a few more assets My Git commits have started to get a bit sloppy as i do these little bits on during my free periods, but im getting back into the swing of things . The dialogue box will only appear if text != “” and will put the player in the start playing state, without requiring a mouse click like it did previously. . Adding sounds was pretty simple so I wil leave an example bellow if self.rect.colliderect(ability["rect"]): if self.gravity_flip > 0: up_gravity_fx.play() else: down_gravity_fx.play() ability["collected"] = True self.gravity_flip *= -1 That’s all, I think 20/09/2026 will be a date for the books as I’m confident I will be finished by then. ALSO, if anyone sees this before ship, could you let me know any ideas for what my 16x16 tile for regular tiles could look like? Many thanks if you respond
Dev Log #36 . I have done most of the updating of UI, having only a few assests left and one level left to edit. . In addition to this, I have also made it so that buttons now appear pressed when pressed, rather than disappearing. . My easter egg room also stops the music correctly on level complete. . The final objectives are as follows: Have gun select each have image of gun Waiver has displayed text Hint video made and linked correctly All button can only be pressed when on screen Finish misc Assets Add death, win, and coins/stars collected based on mission objectives complete Thats all, I think 20/09/2026 could still be the date for the books, but I’ve got to put the burners on to get this finsished to a level of polish I’m happy with.
Dev Log #37 . All code is 100% complete now, the only thing left to do is finish all of the UI and then I am ready to ship. . Today I: Fixed portals Added level skip button Displayed bonus objectives Made button rotation work when pressed also Made gun select display gun images Portal code issue was caused by object overlapping with tiles, cause tile collision resolution to push the player out of the tile, and at times out of the map. Fixed this by teleporting player slightly above the object (above being determined by orientation). . Level skip increases player level, restarts level and spawns player in next level. . Bonus objectives screen.blitted on win, text appears green when objective met, red when it hasn’t . Used updated rotated button rect rather then previous and changed screen.blit to use center of rect rather than topleft . For each button in gun group, i screen.blited that gun into the center of the select gun skin rect . Thats all, hope to ship by tonight.
Dev Log #38 . DONE . I did the following: Added music that plays while in level Removed copyrighted music Finished all GUI Made code neat using ruff Will ship at some point soon. See you on ship day!!!!
Dev Log #39 . THE FINAL DEV LOG . I am finally ready to ship!!! . I did the following: Made a working read me Made a working exe file of my game Removed de-bugging features so game works as intended. Stopped music overlap from happening Removed all copyrighted music (may have mentioned this previously) I used pyinstaller tocreate my exe file. . Level buttons now only work if player max player level is less than or equal to the level you are selecting. . Stopped music overlap by puting stop music into every game state + in load room function . Its been a pleasure to take part in the stardance event. Lets have a look to see how far this project has come!!!
Ships:
Barrel Roll Bullet A recoil-based platformer where, instead of traditional jumping and movement, you shoot to propel yourself around each level. My game includes multiple abilities, unlockable gun skins and 50 levels. The biggest challenge I faced was developing an accurate and efficient collision system. Initially, I planned to use AABB collision, but because it relies on rectangular bounding boxes, I found that the gun barrel could appear to float when rotating or interacting with objects. I then experimented with mask collision to achieve pixel-perfect accuracy. However, using a large number of masks throughout a level caused noticeable drops in performance. I eventually settled on a middle ground using SAT (Separating Axis Theorem) polygon-based collision. This provided much more accurate collision detection for the rotating gun while being significantly more performant than mask collision, allowing me to maintain both responsive gameplay and consistent performance. I am proud of the persistence I have demonstrated throughout the project. During the early stages of development, I encountered significant gaps in my knowledge, particularly as I was new to object-oriented programming. At times, I struggled with seemingly simple tasks, such as correctly initialising a game window or positioning a rectangle where I intended it to be. Despite these difficulties, I continued to learn, troubleshoot and refine my approach rather than abandoning features when they became challenging....
|
1793004700.526266
|
1793091100.526266
|
|
5119
|
Sigma macropad by @Nimoseq | Stardance
|
Nimoseq
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T17:49:41Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a custom macropad for the Hackpad Challenge! The hardest part for me was writing the firmware and getting it all to work properly.", "repo": "https://github.com/N1mos3q/sigma-pad", "demo": ""}]...
|
[{"post_id": 74579, "ts": "202 [{"post_id": 74579, "ts": "2026-09-27T17:45:35Z", "hours": 0.2697, "text": "today i made little changes to the case"}, {"post_id": 26049, "ts": "2026-07-10T17:11:02Z", "hours": 4.6997, "text": "Hackpad name: Sigmapad GitHub Repo: https://github.com/N1mos3q/sigma-pad Description:custom-built 3x3 macropad powered by the Seeed Studio XIAO RP2040. Designed for productivity and gaming, it features a rotary encoder for precise volume control, a 0.91” OLED display for real-time status updates, and 8 addressable RGB LEDs for dynamic underglow lighting. Fully customizable via QMK firmware."}, {"post_id": 4385, "ts": "2026-06-07T18:18:46Z", "hours": 3.2008, "text": "I am making a macropad for a Hackpad mission. And i am currently working on the pcb."}]...
|
Title: Sigma macropad by @Nimoseq | Stardance
Dev Title: Sigma macropad by @Nimoseq | Stardance
Devlogs:
I am making a macropad for a Hackpad mission. And i am currently working on the pcb.
Hackpad name: Sigmapad GitHub Repo: https://github.com/N1mos3q/sigma-pad Description:custom-built 3x3 macropad powered by the Seeed Studio XIAO RP2040. Designed for productivity and gaming, it features a rotary encoder for precise volume control, a 0.91” OLED display for real-time status updates, and 8 addressable RGB LEDs for dynamic underglow lighting. Fully customizable via QMK firmware.
today i made little changes to the case
Ships:
I made a custom macropad for the Hackpad Challenge! The hardest part for me was writing the firmware and getting it all to work properly....
|
1793004702.199737
|
1793091102.199737
|
|
49748
|
Portfolio Website by @DaintyDust | Stardance
|
DaintyDust
|
3
|
48.0
|
253
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T00:20:00Z", "hours": 3.0, "multiplier": 14.51, "payout": 44, "blessing": "neutral", "text": "In the reviews on my previous ships, people gave me alot of feedback on things that were missing or bugged, So i fixed most of them this update. First people asked for a for a fill tool. Secondly a few people pointed out that in a low grid size the paint page was really laggy. Lastly people mentioned that the mobile version was pretty bad. Try out the paint page at: https://daintydust.dev/paint Check out the site at: https://daintydust.dev", "repo": "https://github.com/DaintyDust/DaintyDust.github.io", "demo": "https://daintydust.dev/paint"}, {"ship_num": 2, "ts": "2026-09-30T21:13:00Z", "hours": 12.0, "multiplier": 7.38, "payout": 86, "blessing": "neutral", "text": "I added a sandbox page so people can play around with the text and pixel colors since alot of reviews like that! you can access it at https://daintydust.dev/sandbox (or press “ctrl+/” on any page to popup the commands menu But I didn’t find that enough, i wanted more. So a friend of mine suggested making a kind of paint program where you can draw pixels, shapes and text!", "repo": "https://github.com/DaintyDust/DaintyDust.github.io", "demo": "https://daintydust.dev/paint"}, {"ship_num": 3, "ts": "2026-09-23T21:00:04Z", "hours": 33.0, "multiplier": 5.24, "payout": 123, "blessing": "neutral", "text": "I made a portfolio website to show of my projects. I made the site using react + mantine because mantine UI makes it really easy to add and create components. In the beginning it was pretty challenging because i never created a site in react or with mantine before. So i had to learn all of those from the beginning A friend of mine recommended mantine UI, because it has really nice looking UI components, its free and its opensource! Since i updated my already existing site and rewriting it in react + mantine. I already had a stylesheet to style my website. So i could easily reuse that. Visit the site at: https://daintydust.dev View my portfolio at: https://daintydust.dev/portfolio", "repo": "https://github.com/DaintyDust/DaintyDust.github.io", "demo": "https://daintydust.dev/paint"}]...
|
[{"post_id": 76263, "ts": "202 [{"post_id": 76263, "ts": "2026-10-02T23:36:35Z", "hours": 0.6783, "text": "Added proper mobile support by changing some css selectors"}, {"post_id": 76241, "ts": "2026-10-02T20:26:50Z", "hours": 1.1919, "text": "Fixed the lag on small grid sizes by rebuilding the paint rendering by doing these changes: Drawings are now cached on an offscreen canvas and rendered via a single drawImage() call every frame instead of running 30,000+ fillRect() calls per second. Grouped pixels by color to avoid expensive canvas context switching. maybe still needs some work, but its already alot faster for things like text rendering"}, {"post_id": 75990, "ts": "2026-10-01T21:36:37Z", "hours": 1.1967, "text": "I added a fill tool, this was pretty hard to do since there are some complicated calculations that needed to be made. So for the really hard calculations i used forms online and a bit of AI"}, {"post_id": 75720, "ts": "2026-09-30T21:05:46Z", "hours": 3.6944, "text": "added a text tool to my paint page, you can now add text in different sizes. this was pretty easy to do since i already had a system to display text on my homepage, so i reused most stuff for that also added a tech stack to my portfolio, so others can see what languages i can program in. and I fix a bug where the electrons wouldn’t follow the grid when changing the grid size."}, {"post_id": 75381, "ts": "2026-09-29T21:49:13Z", "hours": 6.2064, "text": "Added a page to paint the pixels. https://daintydust.dev/paint you can use tools like: pencil, brush, rectangle, circle, eraser. or change the brush size or grid size. At first i thought it was pretty easy since i already had a working grid system that could display text. But after alot of trial and error i managed to add the first pen tool. After that was done it was pretty easy adding the other tools"}, {"post_id": 74645, "ts": "2026-09-27T20:44:28Z", "hours": 1.8028, "text": "Added a sandbox page so you can play around with the text and colors and stuff. you can also do this by pressing “ctrl + /” on any page. Also added a projects widget so you can easily go to my portfolio from the homepage"}, {"post_id": 72841, "ts": "2026-09-23T20:58:33Z", "hours": 0.8103, "text": "I updated the readme so i can ship my website!"}, {"post_id": 72784, "ts": "2026-09-23T18:49:33Z", "hours": 5.9961, "text": "added a portfolio page to display all the projects that i’ve worked on! I use multiple mantine packages to make the UI creation much easier. for example for the carousel, image compare and lightbox"}, {"post_id": 67646, "ts": "2026-09-13T20:04:53Z", "hours": 2.1081, "text": "added a page to display all my roblox accounts. it fetches the avatars, usernames and group info from the roblox api based on a list of userid’s."}, {"post_id": 63851, "ts": "2026-09-07T20:39:53Z", "hours": 4.6256, "text": "The site was still pretty laggy on lower end devices. So i reduces the amount of electrons for lower end devices. I also rewrote the whole UI with the mantine UI library. because of this i didn’t have to write my own widget dragging system."}, {"post_id": 48241, "ts": "2026-08-16T15:23:22Z", "hours": 19.7219, "text": "Previously my site was really laggy. my pc used 2gb of ram and 90% GPU (on a 3070 😭) on my site alone. This is why i wanted to rewrite the site. my old site just used basic html/css, thats also another reason i wanted to rewrite my site Since i wanted to learn create a site in react a chose that. Changes: Rewrote and redesigned my site in react. Add secret menu to change the text and colors of the site. Added possibility to add more languages"}]...
|
Title: Portfolio Website by @DaintyDust | Stardanc Title: Portfolio Website by @DaintyDust | Stardance
Devlogs:
Previously my site was really laggy. my pc used 2gb of ram and 90% GPU (on a 3070 😭) on my site alone. This is why i wanted to rewrite the site. my old site just used basic html/css, thats also another reason i wanted to rewrite my site Since i wanted to learn create a site in react a chose that. Changes: Rewrote and redesigned my site in react. Add secret menu to change the text and colors of the site. Added possibility to add more languages
The site was still pretty laggy on lower end devices. So i reduces the amount of electrons for lower end devices. I also rewrote the whole UI with the mantine UI library. because of this i didn’t have to write my own widget dragging system.
added a page to display all my roblox accounts. it fetches the avatars, usernames and group info from the roblox api based on a list of userid’s.
added a portfolio page to display all the projects that i’ve worked on! I use multiple mantine packages to make the UI creation much easier. for example for the carousel, image compare and lightbox
I updated the readme so i can ship my website!
Added a sandbox page so you can play around with the text and colors and stuff. you can also do this by pressing “ctrl + /” on any page. Also added a projects widget so you can easily go to my portfolio from the homepage
Added a page to paint the pixels. https://daintydust.dev/paint you can use tools like: pencil, brush, rectangle, circle, eraser. or change the brush size or grid size. At first i thought it was pretty easy since i already had a working grid system that could display text. But after alot of trial and error i managed to add the first pen tool. After that was done it was pretty easy adding the other tools
added a text tool to my paint page, you can now add text in different sizes. this was pretty easy to do since i already had a system to display text on my homepage, so i reused most stuff for that also added a tech stack to my portfolio, so others can see what languages i can program in. and I fix a bug where the electrons wouldn’t follow the grid when changing the grid size.
I added a fill tool, this was pretty hard to do since there are some complicated calculations that needed to be made. So for the really hard calculations i used forms online and a bit of AI
Fixed the lag on small grid sizes by rebuilding the paint rendering by doing these changes: Drawings are now cached on an offscreen canvas and rendered via a single drawImage() call every frame instead of running 30,000+ fillRect() calls per second. Grouped pixels by color to avoid expensive canvas context switching. maybe still needs some work, but its already alot faster for things like text rendering
Added proper mobile support by changing some css selectors
Ships:
I made a portfolio website to show of my projects. I made the site using react + mantine because mantine UI makes it really easy to add and create components. In the beginning it was pretty challenging because i never created a site in react or with mantine before. So i had to learn all of those from the beginning A friend of mine recommended mantine UI, because it has really nice looking UI components, its free and its opensource! Since i updated my already existing site and rewriting it in react + mantine. I already had a stylesheet to style my website. So i could easily reuse that. Visit the site at: https://daintydust.dev View my portfolio at: https://daintydust.dev/portfolio
I added a sandbox page so people can play around with the text and pixel colors since alot of reviews like that! you can access it at https://daintydust.dev/sandbox (or press “ctrl+/” on any page to popup the commands menu But I didn’t find that enough, i wanted more. So a friend of mine suggested making a kind of paint program where you can draw pixels, shapes and text!
In the reviews on my previous ships, people gave me alot of feedback on things that were missing or bugged, So i fixed most of them this update. First people asked for a for a fill tool. Secondly a few people pointed out that in a low grid size the paint page was really laggy. Lastly people mentioned that the mobile version was pretty bad. Try out the paint page at: https://daintydust.dev/paint Check out the site at: https://daintydust.dev...
|
1793004703.3474944
|
1793091103.3474944
|
|
30424
|
My own site! by @defnlwy | Stardance
|
defnlwy
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T15:22:57Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi! I tried to create my own website I used claude ai for debugging at some parts. I hope you guys like the project", "repo": "https://github.com/DefneMelisUngor/webme", "demo": "https://loquacious-druid-ba0acb.netlify.app"}]...
|
[{"post_id": 46476, "ts": "202 [{"post_id": 46476, "ts": "2026-08-13T18:29:25Z", "hours": 0.3478, "text": "I hope this will be the last devlog before i ship this project and this is the last contact me part"}, {"post_id": 32339, "ts": "2026-07-21T13:24:18Z", "hours": 0.3792, "text": "What do you think about this now page maybe it can be fancier"}, {"post_id": 31344, "ts": "2026-07-19T17:37:22Z", "hours": 0.4628, "text": "this looks better ig"}, {"post_id": 31309, "ts": "2026-07-19T16:35:33Z", "hours": 1.0928, "text": "I’ve add posters of the movies that i liked"}]...
|
Title: My own site! by @defnlwy | Stardance
Devlo Title: My own site! by @defnlwy | Stardance
Devlogs:
I’ve add posters of the movies that i liked
this looks better ig
What do you think about this now page maybe it can be fancier
I hope this will be the last devlog before i ship this project and this is the last contact me part
Ships:
Hi! I tried to create my own website I used claude ai for debugging at some parts. I hope you guys like the project...
|
1793004706.158915
|
1793091106.158915
|
|
27688
|
SATELIDOM by @Andrea | Stardance
|
Andrea
|
1
|
18.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T19:11:48Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is done, i wanna be on the builded queque", "repo": "https://github.com/Tei-Pancake/Satelite", "demo": ""}]...
|
[{"post_id": 61525, "ts": "202 [{"post_id": 61525, "ts": "2026-09-04T14:06:40Z", "hours": 2.1242, "text": "I finish building my project!"}, {"post_id": 28955, "ts": "2026-07-15T15:55:33Z", "hours": 1.2781, "text": "Proud of what I did this time, thank you all for the support :) see you next time on a (Hopefully) amazing project, this is everything, Andrea over and Out!"}, {"post_id": 24479, "ts": "2026-07-08T01:44:27Z", "hours": 8.8253, "text": "DEVLOG #2 Today I reached a major milestone in my project: I finished the complete 3D model of my satellite! After many hours of prototyping, wiring components, debugging code, and testing sensors, I finally assembled the full digital design. My goal was to build a compact satellite-inspired device where every component has a real purpose and the necessary sensors remain exposed to interact with the environment. Current hardware: 🔹 Raspberry Pi Pico W 🔹 PIR motion sensor 🔹 DHT11 temperature & humidity sensor 🔹 16×2 I2C LCD display 🔹 Status LED 🔹 Passive buzzer Current features: ✅ Motion detection ✅ Audible and visual intrusion alarm ✅ Real-time temperature and humidity monitoring ✅ LCD interface that alternates between the satellite status and environmental data Next milestone: 📡 Integrate Telegram notifications so the satellite can send real-time intrusion alerts directly to my phone. After that, I’ll move on to 3D printing the enclosure, assembling the final hardware, and testing the complete prototype. It’s exciting to see this idea evolve from a concept into a working project (a sexy one). There is still work to do, but every iteration gets me one step closer to the final satellite. Feedback and suggestions are always welcome!"}, {"post_id": 20770, "ts": "2026-07-02T13:47:28Z", "hours": 6.1689, "text": "DEVLOG #1 This is a summary about what I did from day 1 to day 3 (Today) of my newest project, a satelite, I hope u Like It: Throughout the days, I dedicated myself to making it work, because I didn’t really have an image in my head of how I wanted the polished version to look, so I got to work. I tested each component individually, which were: DHT11: A humidity and temperature sensor. LCD Screen. PIR: Presence sensor (Although let’s call it a motion detector). Buzzer: A little device that produces vibrations to generate sound. LED: Just an LED. Raspberry Pi Pico W: The brain of everything. In general, I didn’t have many problems with the components, EXCEPT for the LCD screen. It gave me the most trouble because I had never worked with one before, and there I was for an hour trying to make it work. Then I realized that I didn’t want to risk my components foolishly, so I did an online test (which I had to repeat because I didn’t do it right). But I already assembled it IRL, and these are its functions: An LED that blinks slowly when the satellite is active. The PIR detects when something moves in its field of vision, and triggers an alarm that is audible through the Buzzer, and the LED starts blinking faster. The DHT11 measures the ambient temperature and humidity and displays it on the LCD screen. The object is identified through a message on the screen. There is another part of the project in development, and I hope to show it soon."}]...
|
Title: SATELIDOM by @Andrea | Stardance
Devlogs:
Title: SATELIDOM by @Andrea | Stardance
Devlogs:
DEVLOG #1 This is a summary about what I did from day 1 to day 3 (Today) of my newest project, a satelite, I hope u Like It: Throughout the days, I dedicated myself to making it work, because I didn’t really have an image in my head of how I wanted the polished version to look, so I got to work. I tested each component individually, which were: DHT11: A humidity and temperature sensor. LCD Screen. PIR: Presence sensor (Although let’s call it a motion detector). Buzzer: A little device that produces vibrations to generate sound. LED: Just an LED. Raspberry Pi Pico W: The brain of everything. In general, I didn’t have many problems with the components, EXCEPT for the LCD screen. It gave me the most trouble because I had never worked with one before, and there I was for an hour trying to make it work. Then I realized that I didn’t want to risk my components foolishly, so I did an online test (which I had to repeat because I didn’t do it right). But I already assembled it IRL, and these are its functions: An LED that blinks slowly when the satellite is active. The PIR detects when something moves in its field of vision, and triggers an alarm that is audible through the Buzzer, and the LED starts blinking faster. The DHT11 measures the ambient temperature and humidity and displays it on the LCD screen. The object is identified through a message on the screen. There is another part of the project in development, and I hope to show it soon.
DEVLOG #2 Today I reached a major milestone in my project: I finished the complete 3D model of my satellite! After many hours of prototyping, wiring components, debugging code, and testing sensors, I finally assembled the full digital design. My goal was to build a compact satellite-inspired device where every component has a real purpose and the necessary sensors remain exposed to interact with the environment. Current hardware: 🔹 Raspberry Pi Pico W 🔹 PIR motion sensor 🔹 DHT11 temperature & humidity sensor 🔹 16×2 I2C LCD display 🔹 Status LED 🔹 Passive buzzer Current features: ✅ Motion detection ✅ Audible and visual intrusion alarm ✅ Real-time temperature and humidity monitoring ✅ LCD interface that alternates between the satellite status and environmental data Next milestone: 📡 Integrate Telegram notifications so the satellite can send real-time intrusion alerts directly to my phone. After that, I’ll move on to 3D printing the enclosure, assembling the final hardware, and testing the complete prototype. It’s exciting to see this idea evolve from a concept into a working project (a sexy one). There is still work to do, but every iteration gets me one step closer to the final satellite. Feedback and suggestions are always welcome!
Proud of what I did this time, thank you all for the support :) see you next time on a (Hopefully) amazing project, this is everything, Andrea over and Out!
I finish building my project!
Ships:
This is done, i wanna be on the builded queque...
|
1793004707.3075733
|
1793091107.3075733
|
|
35911
|
Board-Like by @KIR_KOS | Stardance
|
KIR_KOS
|
1
|
52.0
|
702
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T19:07:54Z", "hours": 52.0, "multiplier": 13.53, "payout": 702, "blessing": "neutral", "text": "Board-Like Board-Like is a 2-4 player roguelike videogame where you compete with your friends to get the biggest level in a set amount of rounds. Here’s a quick description of the game loop: -Players throw dice and step on tiles giving buffs/debuffs on quick 1-3 minute rounds. They can save, sacrifice, sell their levels in orded to sabotage other players or gain more levels in the long run thanks to active cards, tiles and passive power-ups gained by the winner of the last round. After a set amount of rounds(5-20), the winner is the player with the highest level. Board-like is fun because of how many combinations you can have with multiple cards, tiles, power-ups and round modifiers making every game you play unique and interesting! You can try it out here: https://kir-kos.itch.io/board-like", "repo": "https://github.com/kirillkosarev79/Board-Like", "demo": "https://kir-kos.itch.io/board-like"}]...
|
[{"post_id": 68225, "ts": "202 [{"post_id": 68225, "ts": "2026-09-14T18:44:28Z", "hours": 3.0883, "text": "Devlog #17 - Last before shipping Hey there! No updates for a while, i decided to fix last bugs and add a bit of QoL features brefore shipping. I have been doing this for almost 2 weeks so i don’t really remember everything i did, this devlog will probably not be full. Changelog Added: New tile: Inverted shop. You can sell your items for levels Players can now set their nicknames, icons and colors before starting the game An option to go back to main menu after finishing a game instead of being softlocked on the scoreboard scene More back buttons instead of ESCAPE to improve itch.io QoL Changed: Main menu background changed to an original one instead of the one i donwloaded from the internet Music now plays in all scenes"}, {"post_id": 60938, "ts": "2026-09-03T16:41:37Z", "hours": 2.2725, "text": "Devlog #16 Hi! I realized I unfortunetely don’t have enough time to complete my project with an online mode, so I’m gonna ship it with one-device mode only. I’ll do a couple of updates polishing the game and adding a bit of content. Fully finishing the game is gonna be done outside of Stardance later. Changelog Added: Players now can choose their nicknames and colors before the game starts New tile: Again. Anyone stepping on it throws the dice again A little crown now appears next to the winner’s nickname at the end of the game Changed: Players are now sorted by level at the scoreboard Various bug fixes"}, {"post_id": 55451, "ts": "2026-08-27T09:29:06Z", "hours": 2.4692, "text": "Devlog #15 Hii! Added a pause menu and settings(you can only change the volume and toggle the console on/off for now). Also there are little cogs in the background of settings instead of dice! I plan to keep expanding already existing content for a bit and then get to making online mode work"}, {"post_id": 52575, "ts": "2026-08-22T19:13:47Z", "hours": 2.0097, "text": "Devlog #14 - ROUND MODIFICATORS An exciting update today! Round modificators! Now every round except the first one will have a randomely chosen round modificator which can affect your strategy while playing. Changelog : Added: Round modificator mechanic New round modificator: Action Time. No Next and Back tiles appear on the board New round modificator: Half dice. All dice rolls are divided by 2(rounded to the lower number) New round modificator: Double XP. All players gain double levels from all sources. New round modificator: No conditions. All tiles have no conditions, meaning their effects wiil be active no matter the player’s level. New debug console command: mod. It changes curent round’s modificator Changed: The tooltip will now change position when out of screen so it’s visible Fixed a bug that caused tooltip to not show up sometimes on the stat-bars for power-ups and cards. Slightly changed the confirm button and roll button’s positions"}, {"post_id": 52236, "ts": "2026-08-22T10:28:05Z", "hours": 1.5842, "text": "Devlog #13 Vectorized the confirm button, looks alot nicer now. But most importantly added a debug console to ease testing. It has a bunch of commands such as add_card, set_level, etc…(see attachement)"}, {"post_id": 50228, "ts": "2026-08-19T11:33:44Z", "hours": 1.6153, "text": "MORE DICE Decided to add an animation for additional dice you can obtain through the Dice power-up(up to 6). This also fixed that bug that crashed the game when it tried to find the texture for the main die with more than 6 dots. Here’s a showcase of what it looks like with all 6 additional dice"}, {"post_id": 48773, "ts": "2026-08-17T09:42:03Z", "hours": 1.2283, "text": "Devlog #12 Changed the roll button and added a proper anymation instead of a label changing numbers. Also made a few other tweaks and bug fixes. Added: A title on top of choice menus indicating which player is choosing Roll button animation Changed: New roll button texture Fixed the bug that caused the game to crash if a player picked a new power-up when they already have the maximum. Fixed the 6th power-up not displaying correctly Removed the label displaying the roll"}, {"post_id": 47358, "ts": "2026-08-15T08:01:13Z", "hours": 3.3764, "text": "Devlog #11 Hello everyone! A small update mostly fixing bugs. Also added a new mechanic. Changelog: Added: When a player gets stuck in a Next-Back loop, a sound effect plays and he skips his turns until the end of the round.(Combined with the Cross Road card this can be used to set traps). Changed: Fixed a bug that caused the power-up choice menu to pop up multiple times simultaneously at the end of the round. Fixed the Shop tile not working properly Fixed a bug that caused the first player to take two turns in a row at the start of the game."}, {"post_id": 46221, "ts": "2026-08-13T09:30:00Z", "hours": 3.7564, "text": "Devlog #10 Hi, no devlog for over a week, i got a bit tired of fixing all the bugs. But i’m back in the game and today’s devlog is mainly about VFX. Changelog Added: New power-up: Safety net. Increases minimal level by 1. New power-up: Assets. Gain 2 levels if you have 3 cards in the end of the round. Visual effect for pressing the roll button. Visual effect for stepping on tile"}, {"post_id": 41471, "ts": "2026-08-05T18:11:49Z", "hours": 3.71, "text": "Devlog #9 - Tiers Changed the weight system to the tier system. Every power-up, tile and card now have their own tier which decides how often they appear. Also added a Shop tile where you can buy power-ups and cards in exchange for levels. Changelog: Added: New tile: Shop. When you step on it, a menu pops-up with 3 random card and/or power-ups for a set price(based on their tiers). Changed: Improved certain card’s textures Updated the weight-based calculation method to use the new tier system. 1 being the most common one and 5 the rarest. Higher conditions now appear in later rounds. For example in round 1 most tiles don’t require any level, but on round 5 most common condition are levels 2-3 meaning you’ll need at least these levels to access most tiles."}, {"post_id": 40013, "ts": "2026-08-03T11:14:18Z", "hours": 2.5736, "text": "Devlog #8 Hi, took a little break after trying to convert some of the UI from pixel-art to vectorial graphics. (i ended up only changing the stat-bars,they look alot cleaner now). Changelog: Added: New card: Air Conditionning. Set any level condition on a tile of you choice. Changed: Changed the way conditions are set for tiles(a complete rework incoming, i want later rounds to have harsher conditions) New stat-bar texture Fixed a bug which caused the game to crash at the end of the round if multiple power-ups were given out"}, {"post_id": 38439, "ts": "2026-07-31T20:04:43Z", "hours": 2.9572, "text": "Devlog #7 - ARROWS! YAY! Hello everyone, worked on tiles and cards that concern arrows (the ones that make you advance or retreat). Also a bit of visual work. Check out Devlog #0 to learn about Board-Like Changelog: Added: New tile: Back. Oppositely to Next, it makes the player who stepped on it to retreat to the previous tile. Weight: 20 New card: Crossroad. Change any tile to Next or Back. Weight: 15 Changed: Completely changed the background’s palette, looks alot better imo Next got a new texture to match Back New portal animation and texture More work into the game’s internal structure improvement. Mostly concerning conditions this time around."}, {"post_id": 37822, "ts": "2026-07-30T19:31:58Z", "hours": 0.3494, "text": "A new portal texture👀"}, {"post_id": 37530, "ts": "2026-07-30T10:38:55Z", "hours": 1.9533, "text": "Devlog #6 - Higher definition textures and updated tooltip. Hello! A quick update focused on visuals. (If you want to know about Board-Like, check out Devlog #0) Changelog: Higher definition textures for the dice button and stat bars Randomize card is now called Rainbow Paint Randomize card has a new texture Tooltip’s border changes color depending on the type of object the cursor is hovering over Tooltip’s text is now centered Tooltip now also works when you hover over other player’s cards on stat bars."}, {"post_id": 36415, "ts": "2026-07-28T15:00:48Z", "hours": 3.5189, "text": "Devlog #5 - Tooltip! Hi! A pretty cool update today! Made a useful tooltip, whenever you hover over a card, a tile or even a power, a tooltip will pop-up to explain what this item does!(see attached video). Also added taxes to the game(beware the IRS) Changelog : Added: 🖱️A tooltip for cards, powers and tiles displaying their name, type and a description 🪙New card: Taxes. Everyone except you looses 1 level for each power-up and card they have.(Level can’t go below 0) Changed: 🤞Bonuses and cards now use the weight system for calculating chances to appear, similar to powers. Improved game sctructure: – 🧑💼Levels are now managed by the LevelManager node(before it was all over the place)"}, {"post_id": 36018, "ts": "2026-07-27T20:49:20Z", "hours": 4.1611, "text": "Devlog #4 Hi! Bringing another update to Board-Like. Now all tiles and power-ups have “weight”, which is their chance to appear. This allowes me to do a much more balanced game where better items appear rarer than others. Also added a new very cool tile, and a couple of power-ups, one of them being a reference to a little something😉 Changelog Added: 📄 New tile: Blank Tile . This tile is blank at the start of the round, whenever a player steps on it, it changes to the player’s color. When current round changes, the player who last stepped on Blank Tile gets an additional power-up. 🟢New power-up: Caesium-137. Player gains 1 level each time they pass through the portals(from any side)(stacking) 🎲New power-up: Another dice. Player now rolls 1 more dice(stacking) ✖️A cancel button when using certain cards Changed: Power-ups now have different weight(chance to appear): – 🦇Vampire: 20 – 🍀The Lucky Clover: 30 – 🎲Another dice: 10 – Caesium-137: 10 Tiles now have different weight(chance to appear): – ➡️Skip To Next: 40 – Level up: 40 – 🧲Magnet: 20 – 🃏Chest with cards: 20 – 📄Blank Tile: 5 🌟Choice menus(for example when choosing powers) now have a pop-up animation. 💊Fixed a lot of Sleeping Pill card related bugs."}, {"post_id": 34717, "ts": "2026-07-25T17:33:43Z", "hours": 3.5053, "text": "Devlog #3 - Screen issue fixed and a new card! Hey everyone, no updates for a little while cause i was out in Belgium to see The Odyssey in IMAX 70MM, truly a unique experience. Anyway, in this update i fixed a weird screen issue which was cutting off part of the screen on smaller displays. Here’s the full changelog: Added: New card: Sleeping Pill. You may sacrifice one level to make another player(or yourself!!!) skip their next turn. Changed: Fixed screen scaling issues Multiple small code fixes"}, {"post_id": 30272, "ts": "2026-07-17T18:22:51Z", "hours": 4.4367, "text": "Devlog#2 Heyy, alot of changes today! Finally changed the background which looks alot nicer than the previous one imo. Also added 2 and 4 player support, and an actual end to the game(tho it doesn’t sort players by their lvl yet). Changelog: Added: 🎚️Number of players slider 🎚️Number of rounds slider 🧮Round counter at the bottom left 📊Ending screen with a scoreboard 👀A neat animation and SFX when tiles appear at the beggining of every round Changed: The background is now glowing in different colors and there are scaling-up-n-down dices all over it. Now playable with 2,3 and 4 player parties! The game finally has a goal and is playable(not so much fun just yet tho, still missing 90% of power-ups and tiles. But most importantly ROUND MODIFIERS ) Included screenshots of the scoreboard, and an example of what the stat bars can look like after 5 rounds. Also a recording showcasing other changes"}, {"post_id": 30013, "ts": "2026-07-17T08:13:53Z", "hours": 2.9414, "text": "Devlog #1 - Power-ups Hello there! Today I’m bringing to life a very important part of Board-Like! Power ups. As i explained in Devlog #0, the winner of the round gets to choose one of 3 random power ups. They all have different effects and synergies.I included a little recording where you can see that all your power-ups are shown on your personal UI, or what i call them - the stat bars . Also wanted to show you some more content, so here’s the dice re-roll card! Here’s the changelog: Added: Power-up choice menu 🍀Lucky Clover power-up:all positive effect are now 15% more likely to happen 🧛Vampire: get a level-up every time you cast a negative effect on another player 🌟A subtle scale up effect on hover for cards(bottom right) and tiles(middle of the screen) Changed: 🗝️Add Card tile texture is now a chest that opens whenever someone steps on it. My next steps are gonna be changing the background because this one looks horrible, adding more cards, tiles and power-ups. If you want a detailed explanation to Board-Like you’re welcome to see Devlog#0 P.S.: You can hear Board-Like’s OST in the video"}, {"post_id": 29379, "ts": "2026-07-16T09:23:02Z", "hours": 0.3833, "text": "Devlog #0 In this post I explain what Board-Like is, it’s state right now, and most importantly what I’m planning to change and add. What’s Board-Like? Board-Like is [like excpected from the name] a rogue-like multiplayer board(style) videogame developped on Godot. The game loop idea is: Quick(1-3 minutes) turn-based rounds where players throw dice, step on tiles, use their cards(to help themselves or punish others) and gain levels The player that crosses the finish line first chooses one of 3(???) power-ups to keep through the whole game, and next round starts. The power ups can have synergies and different rarities. That’s where the “rogue-like” part comes in, every game will feel completely different depending on what power ups you and your friends choose! Well, who wins? The player with the highest level by the end of /to be determined/ rounds! You can gain levels from(but not only!) stepping on special tiles or triggering your power-ups. But it’s not that simple! Levels are very dynamic, you can(and probably will have to) lose, sacrifice or trade your levels in order to obtain even more! Try different tactics and anticipate the next rounds. Oh, and also… ROUND MODIFIERS! Cool, no? The state of the game. I started the developpement in Summer 2025, but quickly abandoned it to priorotize school(and videogames obv). Right now it looks insanely ugly, but also lacks 90% of all mentioned features above. It has 3 different working cards to use(return to start, reroll dice, and change any tile on the board to a random one), 4 tiles(tp to next tile, level up, magnet, and get a card ). No power-ups yet, round modifiers or even an end to the game. So no chaos, no fun, no game. Plans Well, there’s a lot of work to do. I am planning to add everything i mentioned in the first section, plus adding more music, making a complete visual overhaul, and the hardest for me: online multiplayer. I have never done anything with online multiplayer and that’s where i think I’ll meet the most issues. I have no idea where to start with it so if you have any tips feel free to share. Well anyway, there’s a lot to do before that. So, that’s Board-Like! See ya!(Btw the screenshot is what the game looks like rn)"}]...
|
Title: Board-Like by @KIR_KOS | Stardance
Devlogs Title: Board-Like by @KIR_KOS | Stardance
Devlogs:
Devlog #0 In this post I explain what Board-Like is, it’s state right now, and most importantly what I’m planning to change and add. What’s Board-Like? Board-Like is [like excpected from the name] a rogue-like multiplayer board(style) videogame developped on Godot. The game loop idea is: Quick(1-3 minutes) turn-based rounds where players throw dice, step on tiles, use their cards(to help themselves or punish others) and gain levels The player that crosses the finish line first chooses one of 3(???) power-ups to keep through the whole game, and next round starts. The power ups can have synergies and different rarities. That’s where the “rogue-like” part comes in, every game will feel completely different depending on what power ups you and your friends choose! Well, who wins? The player with the highest level by the end of /to be determined/ rounds! You can gain levels from(but not only!) stepping on special tiles or triggering your power-ups. But it’s not that simple! Levels are very dynamic, you can(and probably will have to) lose, sacrifice or trade your levels in order to obtain even more! Try different tactics and anticipate the next rounds. Oh, and also… ROUND MODIFIERS! Cool, no? The state of the game. I started the developpement in Summer 2025, but quickly abandoned it to priorotize school(and videogames obv). Right now it looks insanely ugly, but also lacks 90% of all mentioned features above. It has 3 different working cards to use(return to start, reroll dice, and change any tile on the board to a random one), 4 tiles(tp to next tile, level up, magnet, and get a card ). No power-ups yet, round modifiers or even an end to the game. So no chaos, no fun, no game. Plans Well, there’s a lot of work to do. I am planning to add everything i mentioned in the first section, plus adding more music, making a complete visual overhaul, and the hardest for me: online multiplayer. I have never done anything with online multiplayer and that’s where i think I’ll meet the most issues. I have no idea where to start with it so if you have any tips feel free to share. Well anyway, there’s a lot to do before that. So, that’s Board-Like! See ya!(Btw the screenshot is what the game looks like rn)
Devlog #1 - Power-ups Hello there! Today I’m bringing to life a very important part of Board-Like! Power ups. As i explained in Devlog #0, the winner of the round gets to choose one of 3 random power ups. They all have different effects and synergies.I included a little recording where you can see that all your power-ups are shown on your personal UI, or what i call them - the stat bars . Also wanted to show you some more content, so here’s the dice re-roll card! Here’s the changelog: Added: Power-up choice menu 🍀Lucky Clover power-up:all positive effect are now 15% more likely to happen 🧛Vampire: get a level-up every time you cast a negative effect on another player 🌟A subtle scale up effect on hover for cards(bottom right) and tiles(middle of the screen) Changed: 🗝️Add Card tile texture is now a chest that opens whenever someone steps on it. My next steps are gonna be changing the background because this one looks horrible, adding more cards, tiles and power-ups. If you want a detailed explanation to Board-Like you’re welcome to see Devlog#0 P.S.: You can hear Board-Like’s OST in the video
Devlog#2 Heyy, alot of changes today! Finally changed the background which looks alot nicer than the previous one imo. Also added 2 and 4 player support, and an actual end to the game(tho it doesn’t sort players by their lvl yet). Changelog: Added: 🎚️Number of players slider 🎚️Number of rounds slider 🧮Round counter at the bottom left 📊Ending screen with a scoreboard 👀A neat animation and SFX when tiles appear at the beggining of every round Changed: The background is now glowing in different colors and there are scaling-up-n-down dices all over it. Now playable with 2,3 and 4 player parties! The game finally has a goal and is playable(not so much fun just yet tho, still missing 90% of power-ups and tiles. But most importantly ROUND MODIFIERS ) Included screenshots of the scoreboard, and an example of what the stat bars can look like after 5 rounds. Also a recording showcasing other changes
Devlog #3 - Screen issue fixed and a new card! Hey everyone, no updates for a little while cause i was out in Belgium to see The Odyssey in IMAX 70MM, truly a unique experience. Anyway, in this update i fixed a weird screen issue which was cutting off part of the screen on smaller displays. Here’s the full changelog: Added: New card: Sleeping Pill. You may sacrifice one level to make another player(or yourself!!!) skip their next turn. Changed: Fixed screen scaling issues Multiple small code fixes
Devlog #4 Hi! Bringing another update to Board-Like. Now all tiles and power-ups have “weight”, which is their chance to appear. This allowes me to do a much more balanced game where better items appear rarer than others. Also added a new very cool tile, and a couple of power-ups, one of them being a reference to a little something😉 Changelog Added: 📄 New tile: Blank Tile . This tile is blank at the start of the round, whenever a player steps on it, it changes to the player’s color. When current round changes, the player who last stepped on Blank Tile gets an additional power-up. 🟢New power-up: Caesium-137. Player gains 1 level each time they pass through the portals(from any side)(stacking) 🎲New power-up: Another dice. Player now rolls 1 more dice(stacking) ✖️A cancel button when using certain cards Changed: Power-ups now have different weight(chance to appear): – 🦇Vampire: 20 – 🍀The Lucky Clover: 30 – 🎲Another dice: 10 – Caesium-137: 10 Tiles now have different weight(chance to appear): – ➡️Skip To Next: 40 – Level up: 40 – 🧲Magnet: 20 – 🃏Chest with cards: 20 – 📄Blank Tile: 5 🌟Choice menus(for example when choosing powers) now have a pop-up animation. 💊Fixed a lot of Sleeping Pill card related bugs.
Devlog #5 - Tooltip! Hi! A pretty cool update today! Made a useful tooltip, whenever you hover over a card, a tile or even a power, a tooltip will pop-up to explain what this item does!(see attached video). Also added taxes to the game(beware the IRS) Changelog : Added: 🖱️A tooltip for cards, powers and tiles displaying their name, type and a description 🪙New card: Taxes. Everyone except you looses 1 level for each power-up and card they have.(Level can’t go below 0) Changed: 🤞Bonuses and cards now use the weight system for calculating chances to appear, similar to powers. Improved game sctructure: – 🧑💼Levels are now managed by the LevelManager node(before it was all over the place)
Devlog #6 - Higher definition textures and updated tooltip. Hello! A quick update focused on visuals. (If you want to know about Board-Like, check out Devlog #0) Changelog: Higher definition textures for the dice button and stat bars Randomize card is now called Rainbow Paint Randomize card has a new texture Tooltip’s border changes color depending on the type of object the cursor is hovering over Tooltip’s text is now centered Tooltip now also works when you hover over other player’s cards on stat bars.
A new portal texture👀
Devlog #7 - ARROWS! YAY! Hello everyone, worked on tiles and cards that concern arrows (the ones that make you advance or retreat). Also a bit of visual work. Check out Devlog #0 to learn about Board-Like Changelog: Added: New tile: Back. Oppositely to Next, it makes the player who stepped on it to retreat to the previous tile. Weight: 20 New card: Crossroad. Change any tile to Next or Back. Weight: 15 Changed: Completely changed the background’s palette, looks alot better imo Next got a new texture to match Back New portal animation and texture More work into the game’s internal structure improvement. Mostly concerning conditions this time around.
Devlog #8 Hi, took a little break after trying to convert some of the UI from pixel-art to vectorial graphics. (i ended up only changing the stat-bars,they look alot cleaner now). Changelog: Added: New card: Air Conditionning. Set any level condition on a tile of you choice. Changed: Changed the way conditions are set for tiles(a complete rework incoming, i want later rounds to have harsher conditions) New stat-bar texture Fixed a bug which caused the game to crash at the end of the round if multiple power-ups were given out
Devlog #9 - Tiers Changed the weight system to the tier system. Every power-up, tile and card now have their own tier which decides how often they appear. Also added a Shop tile where you can buy power-ups and cards in exchange for levels. Changelog: Added: New tile: Shop. When you step on it, a menu pops-up with 3 random card and/or power-ups for a set price(based on their tiers). Changed: Improved certain card’s textures Updated the weight-based calculation method to use the new tier system. 1 being the most common one and 5 the rarest. Higher conditions now appear in later rounds. For example in round 1 most tiles don’t require any level, but on round 5 most common condition are levels 2-3 meaning you’ll need at least these levels to access most tiles.
Devlog #10 Hi, no devlog for over a week, i got a bit tired of fixing all the bugs. But i’m back in the game and today’s devlog is mainly about VFX. Changelog Added: New power-up: Safety net. Increases minimal level by 1. New power-up: Assets. Gain 2 levels if you have 3 cards in the end of the round. Visual effect for pressing the roll button. Visual effect for stepping on tile
Devlog #11 Hello everyone! A small update mostly fixing bugs. Also added a new mechanic. Changelog: Added: When a player gets stuck in a Next-Back loop, a sound effect plays and he skips his turns until the end of the round.(Combined with the Cross Road card this can be used to set traps). Changed: Fixed a bug that caused the power-up choice menu to pop up multiple times simultaneously at the end of the round. Fixed the Shop tile not working properly Fixed a bug that caused the first player to take two turns in a row at the start of the game.
Devlog #12 Changed the roll button and added a proper anymation instead of a label changing numbers. Also made a few other tweaks and bug fixes. Added: A title on top of choice menus indicating which player is choosing Roll button animation Changed: New roll button texture Fixed the bug that caused the game to crash if a player picked a new power-up when they already have the maximum. Fixed the 6th power-up not displaying correctly Removed the label displaying the roll
MORE DICE Decided to add an animation for additional dice you can obtain through the Dice power-up(up to 6). This also fixed that bug that crashed the game when it tried to find the texture for the main die with more than 6 dots. Here’s a showcase of what it looks like with all 6 additional dice
Devlog #13 Vectorized the confirm button, looks alot nicer now. But most importantly added a debug console to ease testing. It has a bunch of commands such as add_card, set_level, etc…(see attachement)
Devlog #14 - ROUND MODIFICATORS An exciting update today! Round modificators! Now every round except the first one will have a randomely chosen round modificator which can affect your strategy while playing. Changelog : Added: Round modificator mechanic New round modificator: Action Time. No Next and Back tiles appear on the board New round modificator: Half dice. All dice rolls are divided by 2(rounded to the lower number) New round modificator: Double XP. All players gain double levels from all sources. New round modificator: No conditions. All tiles have no conditions, meaning their effects wiil be active no matter the player’s level. New debug console command: mod. It changes curent round’s modificator Changed: The tooltip will now change position when out of screen so it’s visible Fixed a bug that caused tooltip to not show up sometimes on the stat-bars for power-ups and cards. Slightly changed the confirm button and roll button’s positions
Devlog #15 Hii! Added a pause menu and settings(you can only change the volume and toggle the console on/off for now). Also there are little cogs in the background of settings instead of dice! I plan to keep expanding already existing content for a bit and then get to making online mode work
Devlog #16 Hi! I realized I unfortunetely don’t have enough time to complete my project with an online mode, so I’m gonna ship it with one-device mode only. I’ll do a couple of updates polishing the game and adding a bit of content. Fully finishing the game is gonna be done outside of Stardance later. Changelog Added: Players now can choose their nicknames and colors before the game starts New tile: Again. Anyone stepping on it throws the dice again A little crown now appears next to the winner’s nickname at the end of the game Changed: Players are now sorted by level at the scoreboard Various bug fixes
Devlog #17 - Last before shipping Hey there! No updates for a while, i decided to fix last bugs and add a bit of QoL features brefore shipping. I have been doing this for almost 2 weeks so i don’t really remember everything i did, this devlog will probably not be full. Changelog Added: New tile: Inverted shop. You can sell your items for levels Players can now set their nicknames, icons and colors before starting the game An option to go back to main menu after finishing a game instead of being softlocked on the scoreboard scene More back buttons instead of ESCAPE to improve itch.io QoL Changed: Main menu background changed to an original one instead of the one i donwloaded from the internet Music now plays in all scenes
Ships:
Board-Like Board-Like is a 2-4 player roguelike videogame where you compete with your friends to get the biggest level in a set amount of rounds. Here’s a quick description of the game loop: -Players throw dice and step on tiles giving buffs/debuffs on quick 1-3 minute rounds. They can save, sacrifice, sell their levels in orded to sabotage other players or gain more levels in the long run thanks to active cards, tiles and passive power-ups gained by the winner of the last round. After a set amount of rounds(5-20), the winner is the player with the highest level. Board-like is fun because of how many combinations you can have with multiple cards, tiles, power-ups and round modifiers making every game you play unique and interesting! You can try it out here: https://kir-kos.itch.io/board-like...
|
1793004708.3871732
|
1793091108.3871732
|
|
4238
|
red bull tracker by @neset | Stardance
|
neset
|
1
|
22.29
|
336
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-06T20:00:22Z", "hours": 22.0, "multiplier": 15.51, "payout": 336, "blessing": "neutral", "text": "this is a caffeine drink tracker allowing you to add and track your caffeine intake across multiple days. i wrote it using svelte and postgresql. this was one of my first projects that i wrote with svelte, so i learned quite a bit about it. i also did custom art and design for each of the drinks in figma.", "repo": "https://github.com/nesetkab/redbull", "demo": "https://redbull.nesetk.com"}]...
|
[{"post_id": 77666, "ts": "202 [{"post_id": 77666, "ts": "2026-10-07T19:35:28Z", "hours": 0.2911, "text": "bug fixes"}, {"post_id": 77399, "ts": "2026-10-06T19:58:44Z", "hours": 2.0128, "text": "ready to ship! added an intro explaining what this is added cookies so u can track ur own data made my data global for everyone to see minor bug fixes todo: add more drinks"}, {"post_id": 19639, "ts": "2026-07-01T00:46:56Z", "hours": 1.6789, "text": "more progress on ui, adding more drinks, polishing drink picker. currently on amtrack so very bad wifi"}, {"post_id": 18904, "ts": "2026-06-30T02:59:09Z", "hours": 2.9706, "text": "im highkey across the country but wtv working on makign picker ux way better look at this yummy anim"}, {"post_id": 16070, "ts": "2026-06-26T03:45:21Z", "hours": 1.8869, "text": "working on looks! statistics looks much better still a lot to do to finish it up, but i’m almost there"}, {"post_id": 15365, "ts": "2026-06-24T23:49:42Z", "hours": 0.5797, "text": "wowzers statistics tooltips need to fix the labels hitting each other $state() might be the best thing in the world"}, {"post_id": 15160, "ts": "2026-06-24T17:02:58Z", "hours": 0.585, "text": "statistics are a lot more prettyyyyy fixed mobile handling for statistics todo: add more drinks drink chooser ui ship!"}, {"post_id": 13894, "ts": "2026-06-22T19:36:41Z", "hours": 2.8711, "text": "LOTS done. changed how data is stored to allow for more drinks to be added added “caffeine” attribute in order to track my caffeine intake (addiction) added statistics in order to track how many redbulls im actually drinking began adding other drinks to do: finalize the UX of how drinks are chosen add more drinks! finish statistics to be more functional and look more pretty ship!"}, {"post_id": 12791, "ts": "2026-06-20T22:21:44Z", "hours": 1.43, "text": "new redbull designs that are more accurate to the real thing! fixed some ux bugs todo: make ui look better add monster? i love monster data analysis ship!"}, {"post_id": 12279, "ts": "2026-06-20T01:40:43Z", "hours": 0.5042, "text": "havent finished the data part yet but i want to make a dev log because look at how BEAUTIFUL the new icons look <3333"}, {"post_id": 12267, "ts": "2026-06-20T01:01:09Z", "hours": 1.1347, "text": "multi-submit works* improved ux a LOT, i really like these tilted incrementers i want to change it so that SF is a toggle rather than a diff redbull, to decrease scrolling (better ux) submitter is VERY chopped rn (that’s why there’s the asterisk) multi submit repeatedly adds the redbull into a list which works but is kind of chopped. also, SF toggle doesn’t rly work. once i restructure the picker, im going to design icons for plus, minus, and SF, improve ui/ux a bit more, and then add data statistics. after that, i think it’ll be good to ship !!!"}, {"post_id": 11668, "ts": "2026-06-19T00:38:31Z", "hours": 0.5356, "text": "added data sorting by day into the tracker! groups by today, yesterday, and then weekly. plan is to add day sorting within those weeks next. also, need to add a way to submit multiple of the same redbull without repeatedly submitting. also, adding statistics would be nice."}, {"post_id": 11048, "ts": "2026-06-18T02:29:21Z", "hours": 0.6739, "text": "today count works now. i wanna go eep but ill work on data analysis tmr"}, {"post_id": 11000, "ts": "2026-06-18T00:52:01Z", "hours": 1.2214, "text": "deleting works now. the beginnings of a viewer exists"}, {"post_id": 10916, "ts": "2026-06-17T21:50:28Z", "hours": 0.4422, "text": "finally added all of the red bull flavors, including the sugarfree ones"}, {"post_id": 10709, "ts": "2026-06-17T15:59:38Z", "hours": 3.16, "text": "i’m now able to choose a redbull and add it! red bulls are stored in a psql database which keeps track of the red bull name, whether its sugarfree or not, and the date it was submitted. todo: add more redbulls! make a more visual data viewer graphs to see my statistics host this so other ppl can see my stats"}]...
|
Title: red bull tracker by @neset | Stardance
Dev Title: red bull tracker by @neset | Stardance
Devlogs:
i’m now able to choose a redbull and add it! red bulls are stored in a psql database which keeps track of the red bull name, whether its sugarfree or not, and the date it was submitted. todo: add more redbulls! make a more visual data viewer graphs to see my statistics host this so other ppl can see my stats
finally added all of the red bull flavors, including the sugarfree ones
deleting works now. the beginnings of a viewer exists
today count works now. i wanna go eep but ill work on data analysis tmr
added data sorting by day into the tracker! groups by today, yesterday, and then weekly. plan is to add day sorting within those weeks next. also, need to add a way to submit multiple of the same redbull without repeatedly submitting. also, adding statistics would be nice.
multi-submit works* improved ux a LOT, i really like these tilted incrementers i want to change it so that SF is a toggle rather than a diff redbull, to decrease scrolling (better ux) submitter is VERY chopped rn (that’s why there’s the asterisk) multi submit repeatedly adds the redbull into a list which works but is kind of chopped. also, SF toggle doesn’t rly work. once i restructure the picker, im going to design icons for plus, minus, and SF, improve ui/ux a bit more, and then add data statistics. after that, i think it’ll be good to ship !!!
havent finished the data part yet but i want to make a dev log because look at how BEAUTIFUL the new icons look <3333
new redbull designs that are more accurate to the real thing! fixed some ux bugs todo: make ui look better add monster? i love monster data analysis ship!
LOTS done. changed how data is stored to allow for more drinks to be added added “caffeine” attribute in order to track my caffeine intake (addiction) added statistics in order to track how many redbulls im actually drinking began adding other drinks to do: finalize the UX of how drinks are chosen add more drinks! finish statistics to be more functional and look more pretty ship!
statistics are a lot more prettyyyyy fixed mobile handling for statistics todo: add more drinks drink chooser ui ship!
wowzers statistics tooltips need to fix the labels hitting each other $state() might be the best thing in the world
working on looks! statistics looks much better still a lot to do to finish it up, but i’m almost there
im highkey across the country but wtv working on makign picker ux way better look at this yummy anim
more progress on ui, adding more drinks, polishing drink picker. currently on amtrack so very bad wifi
ready to ship! added an intro explaining what this is added cookies so u can track ur own data made my data global for everyone to see minor bug fixes todo: add more drinks
bug fixes
Ships:
this is a caffeine drink tracker allowing you to add and track your caffeine intake across multiple days. i wrote it using svelte and postgresql. this was one of my first projects that i wrote with svelte, so i learned quite a bit about it. i also did custom art and design for each of the drinks in figma....
|
1793004709.6281958
|
1793091109.6281958
|
|
26071
|
Paint The Galaxy by @aditi1781 | Stardance
|
aditi1781
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T14:41:22Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Paint the Galaxy is a JWST-inspired infrared image mixer to create your own false-color space image.", "repo": "https://github.com/aditiahuja230-rgb/painttheuniverse", "demo": "https://aditiahuja230-rgb.github.io/painttheuniverse/index.html"}]...
|
[{"post_id": 74673, "ts": "202 [{"post_id": 74673, "ts": "2026-09-27T23:35:15Z", "hours": 3.765, "text": "Done with a simple html page to host my JWST images. Next, I will be looking to make the page dynamic to fetch latest JWST images"}]...
|
Title: Paint The Galaxy by @aditi1781 | Stardance
Title: Paint The Galaxy by @aditi1781 | Stardance
Devlogs:
Done with a simple html page to host my JWST images. Next, I will be looking to make the page dynamic to fetch latest JWST images
Ships:
Paint the Galaxy is a JWST-inspired infrared image mixer to create your own false-color space image....
|
1793004710.7853065
|
1793091110.7853065
|
|
24532
|
BARM by @priyanshu | Stardance
|
priyanshu
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T14:20:58Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Recently I was not available to finish this project or ship. I want not physically fine. This project will help you to build webapps faster as i have created a plugin that you can use with better auth to create resources that eventually help in building apps faster. i have also wrote a simple docs here https://barm.p8labs.in/ nothing more Thanks for reviewing!", "repo": "https://github.com/P8labs/barm", "demo": "https://npmjs.com/package/@p8labs/barm"}]...
|
[{"post_id": 68082, "ts": "202 [{"post_id": 68082, "ts": "2026-09-14T14:19:33Z", "hours": 0.2758, "text": "Added docs to finish this project so anyone can use it"}, {"post_id": 57258, "ts": "2026-08-29T11:23:40Z", "hours": 0.7411, "text": "I have published this plugin to npm and currently it is very early to use but it works for smaller applications like if you want to make simple todo app or simple crud application this will work fine."}, {"post_id": 54923, "ts": "2026-08-26T04:39:57Z", "hours": 4.0556, "text": "Finally it is working but there are alot of bugs and problems to fix like currently developer need to pass all the fields including id, created and updated at dates etc while creating resource instead i want to refine it more in terms of input schema"}, {"post_id": 46167, "ts": "2026-08-13T06:12:44Z", "hours": 2.7639, "text": "I am building a resource management plugin for better auth so we no longer need to create APIs manually instead just need to define what is needed so far I have setup a testbench of todo app and plugin connected to it."}]...
|
Title: BARM by @priyanshu | Stardance
Devlogs:
I Title: BARM by @priyanshu | Stardance
Devlogs:
I am building a resource management plugin for better auth so we no longer need to create APIs manually instead just need to define what is needed so far I have setup a testbench of todo app and plugin connected to it.
Finally it is working but there are alot of bugs and problems to fix like currently developer need to pass all the fields including id, created and updated at dates etc while creating resource instead i want to refine it more in terms of input schema
I have published this plugin to npm and currently it is very early to use but it works for smaller applications like if you want to make simple todo app or simple crud application this will work fine.
Added docs to finish this project so anyone can use it
Ships:
Recently I was not available to finish this project or ship. I want not physically fine. This project will help you to build webapps faster as i have created a plugin that you can use with better auth to create resources that eventually help in building apps faster. i have also wrote a simple docs here https://barm.p8labs.in/ nothing more Thanks for reviewing!...
|
1793004711.6653275
|
1793091111.6653275
|
|
34506
|
Grex by @Benkralex | Stardance
|
Benkralex
|
1
|
66.28
|
799
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T15:49:29Z", "hours": 49.0, "multiplier": 16.43, "payout": 799, "blessing": "neutral", "text": "I’m very proud, that I got to a point, where I can ship the project in just about 2 months. Thats when I started the new codebase. I learned a LOT developing the plattform with Next.js (old) and also learned, that I need better types, seperate server and client, … I just don’t like the structure, but now with Kotlin and Ktor on the server and JS on the client I am very satisfied. If you try the project keep in mind, that many features were in the old project and the most time I spent, was creating the base on the new version. This ship ships the foundation on which I will build many more (hopefully cool and usefull) features. Also try the web-client on mobile. I coded responsive for displayes of (hopefully) any size. I’m sorry, that I have no demo-instance, but it is to insecure for me to host a public instance for everyone. Maybe in the next ship I will have a solution for that. Hope you like the project!", "repo": "https://codeberg.org/Benkralex/Grex", "demo": "https://grex.benkralex.hackclub.app/register"}]...
|
[{"post_id": 78070, "ts": "202 [{"post_id": 78070, "ts": "2026-10-09T13:44:49Z", "hours": 6.3953, "text": "I clean up the code and made many fixes! I also added new features: You can upload profile pictures and the admins can allow bypassing the invite code for the instance."}, {"post_id": 74075, "ts": "2026-09-26T17:01:48Z", "hours": 3.3961, "text": "Added search to quotes and account settings"}, {"post_id": 72837, "ts": "2026-09-23T20:46:14Z", "hours": 6.0969, "text": "Add Settings Page with the option to choose a theme. I also changed some Database Stuff and added a user page."}, {"post_id": 70252, "ts": "2026-09-18T20:11:00Z", "hours": 1.3911, "text": "Add table for admins so they can see all registered users."}, {"post_id": 65981, "ts": "2026-09-11T14:14:21Z", "hours": 0.3258, "text": "Small fixes: Icons on login/register page Title support for my own client router Fix popups on mobile"}, {"post_id": 65964, "ts": "2026-09-11T13:43:52Z", "hours": 1.3897, "text": "I’ve added a /qpi/quotes/delete endpoint, where the poster or admins can delete a quote and also the button for it is in the UI. If you click it a confirmation popup opens. Also the register and login forms now show, whats wrong. I noticed the bad UX, as I registered a new user and the submit button just didn’t work. In the dev tools I could see the problem, but no normal user is looking into the devtools, so now every normal creature can now see it as well. These are the last finishing touches before shiping!"}, {"post_id": 65616, "ts": "2026-09-10T21:11:00Z", "hours": 2.7175, "text": "I’ve done some little things: I added a random quote endpoint to the server and the 404 - Not Found now displays one. I also started writing the API docs."}, {"post_id": 65050, "ts": "2026-09-09T21:45:57Z", "hours": 0.8633, "text": "I got hacked!! Oh no!! How bad!! ;-D Script injections should now be GONE. (Hacker is sad now ) The edit quote funtion now has an API endpoint and a UI. You can edit a quote with the edit symbol on the quote detail page, which is only displayed, if you are the creator of the post or the admin."}, {"post_id": 63915, "ts": "2026-09-07T23:08:03Z", "hours": 6.0872, "text": "I fixed the layout on mobile devices: The navbar, the admin page, … I edited the API endpoints for quotes: Now there are 2 Endpoints for quotes: get and list I also added the code for quote editing, but the API endpoint is not implemented yet In the client I added a detail page for quotes, where you can see the users, who liked the quote and in the future the comments would also be displayed here A new get user endpoint exists, so the quote posters and the likes can display the real username and not only the user-id I fixed the logout, that was not working, because the client side navigation couldn’t load the /logout because it loads pages from /pages/… so /pages/logout was a 404. Now the logout is in the pages directory, so it works with client side navigation The most time for this devlog was invested on the layout of users who liked a post. I just wanted the users to be displayed in collumns and rows. They should be exactly underneath each other, so the like-icon aligns perfectly. Also the names shouldn’t break, because then one row is larger then the others. It was such a pain getting that “simple” thing to work. I asked multiple AIs, after I had no idea anymore and all gave me trash. The Claude used JS and not only CSS and it finally worked!! It was such a pain but in the end I am very happy with the result."}, {"post_id": 61822, "ts": "2026-09-04T22:26:17Z", "hours": 2.5244, "text": "LIKES!!!!!! Finally!!!! Again only the db held me back. I hate databases! But it has a fun little animation if you click it and it is pretty spam proof (hope so)."}, {"post_id": 60390, "ts": "2026-09-02T18:08:36Z", "hours": 1.5778, "text": "Create quotes now works!!! It was a bit of pain modifing the db. I just wanted plain timestamps in milliseconds but Exposed and SQLite don’t want that, so I setteled on just using long type."}, {"post_id": 59559, "ts": "2026-09-01T13:30:27Z", "hours": 1.2533, "text": "The Server now autmoaticly migrates the DB 🎉🎉🎉🎉🎉🎉 It was not that easy, because Exposed (DB lib for Kotlin) doesn’t automaticly apply migrations. I can generate migration scripts with it but the execution and check if it was already executed I have to do on my own. But I learned a lot in the process."}, {"post_id": 59231, "ts": "2026-08-31T22:04:35Z", "hours": 1.3075, "text": "Now Woodpecker builds the server and client docker-image and releases it on codeberg.org docker registry! Yay!"}, {"post_id": 58878, "ts": "2026-08-31T13:33:37Z", "hours": 2.1544, "text": "I’ve added a form for admins to create invites so you don’t have to interact with the DB or the API manually ;-) Also the first user, that registers doesn’t need an invitation Code and automaticly is an admin. I also started creating the form to create quotes, but it has no functionality at the moment. My next steps that are planed at the moment: Add create quote form functionality Put everything in docker (Add QoL like display all invites & users for admins, display active sessions, …) First RELEASE/SHIP"}, {"post_id": 54823, "ts": "2026-08-25T23:47:38Z", "hours": 0.9147, "text": "New design for the quotes. Now it’s not a boring list but cards that look a lot better."}, {"post_id": 54795, "ts": "2026-08-25T22:23:16Z", "hours": 1.6778, "text": "I’ve added two new themes. Also the theme is now loaded via js, so at a later point the js could read the cookies and load a theme dynamicly."}, {"post_id": 54680, "ts": "2026-08-25T18:51:09Z", "hours": 0.9175, "text": "I’ve now added a logout api endpoint and an option to logout via web client. The difficult part is, that I can’t access the GREX_SESSION cookie via JS, so I have to set another cookie, to know, if the user is logged in. But now it works fine. I hope, that I’m not finding as many bugs if I’m testing the login/logout/register functions."}, {"post_id": 54143, "ts": "2026-08-24T23:40:24Z", "hours": 3.9428, "text": "Not much to say for this devlog, I only created the register form and designed it and the login form."}, {"post_id": 49485, "ts": "2026-08-18T11:02:36Z", "hours": 1.0444, "text": "I improved the navbar and designed an icon as a placeholder for the moment: At a later point the icon should be changable by admins and I think, I will also improve the default icon."}, {"post_id": 48096, "ts": "2026-08-16T11:55:29Z", "hours": 0.9681, "text": "The navigation now works…. But I’m not really happy about it. But for now I started styling a bit (also that I’m not getting flashbanged). How I implemented the client nav at the moment The server now returns the same index.html file for every page and js loads the page-content. This lags sometimes and is not very performant… Style and Themes I’ve started styling. All the colors and also some other properties are specified in a theme-css file, so later you could have your own theme as a css file with only vars or if you want to style even more, you can add custom styles for specifc components, thats the plan for theming."}, {"post_id": 47735, "ts": "2026-08-15T21:02:13Z", "hours": 1.1553, "text": "Started building the real client (at least a concept). I’m currently trying to figure client-side navigation out. I think I have to watch some tutorials…"}, {"post_id": 43988, "ts": "2026-08-09T14:02:55Z", "hours": 1.0517, "text": "I fixed, that if you are already logged in, it still showed the login-form. Also I added a createQuote function (not in the UI yet) and tried fixing the cookie, that don’t want to be saved because of security. I have not comittet the code, because it is at the moment just for me testing, until it can do the most part of the API and is a bit better designed."}, {"post_id": 39681, "ts": "2026-08-02T20:19:03Z", "hours": 1.3894, "text": "I started with a very simple UI (without CSS) to test if the API would work. At the moment you can only login and get all quotes."}, {"post_id": 39604, "ts": "2026-08-02T18:08:59Z", "hours": 1.5794, "text": "I cleaned up even more: Common RequestResult Interface RequestErrors combined into one enum Split the routing config into diffrent files I also added an api endpoint for getting quotes"}, {"post_id": 38407, "ts": "2026-07-31T19:14:05Z", "hours": 1.0397, "text": "I cleaned up the code and added an api endpoint for getting invites"}, {"post_id": 36505, "ts": "2026-07-28T17:40:25Z", "hours": 0.7836, "text": "server: The API now includes the creation of quotes"}, {"post_id": 36404, "ts": "2026-07-28T14:31:13Z", "hours": 1.1194, "text": "server: Now you also can create an account (only with invite) and admins can create invites."}, {"post_id": 35986, "ts": "2026-07-27T19:43:36Z", "hours": 2.0539, "text": "I’ve added DB tables and started with auth. Login works and register is on it’s way!"}, {"post_id": 35846, "ts": "2026-07-27T15:24:34Z", "hours": 1.1892, "text": "I started with a new codebase, because I was not happy with Next.js. Now I want to separate the server from the client for a cleaner architecture. I initalized the new repo I started the base for the server (Kotlin + sqlite)"}, {"post_id": 30137, "ts": "2026-07-17T14:04:35Z", "hours": 0.6931, "text": "IT WORKS!!!! And yea, I’rich, but in the negatives ;-). I just forgot to set a hidden value for the form."}, {"post_id": 29700, "ts": "2026-07-16T19:48:42Z", "hours": 0.8956, "text": "Now you can create transactions! Or can you? It doesn’t work :-( But I can’t find the mistake, I’ll hopefully do tomorrow"}, {"post_id": 28987, "ts": "2026-07-15T16:50:40Z", "hours": 1.5144, "text": "I’ve added the create quote form and the backend used for it. Also if you edit your account, it now uses the new backend."}, {"post_id": 28509, "ts": "2026-07-14T20:10:56Z", "hours": 0.7781, "text": "I finally did the woodpecker build 🎉🎉 I also updated the installer and the README for installation. Now you can test it easiely at home 😉"}, {"post_id": 28476, "ts": "2026-07-14T18:53:02Z", "hours": 2.4917, "text": "I’ve started implementing the backend from ground new, with a cleaner structure, because it was to unclean for me to do work in it. It is not finished, but everything should work at the moment with a mix of old- and new-backend."}, {"post_id": 27841, "ts": "2026-07-13T18:42:24Z", "hours": 0.8558, "text": "I’ve added quotes to the plattform. You can’t create them at the moment, but they are read from the db."}, {"post_id": 27766, "ts": "2026-07-13T16:40:58Z", "hours": 0.3986, "text": "I’ve tried adding woodpecker/forgejo actions for automatic docker builds. I haven’t got it working, but I applied to Codebergs Woodpecker."}]...
|
Title: Grex by @Benkralex | Stardance
Devlogs:
I’ Title: Grex by @Benkralex | Stardance
Devlogs:
I’ve tried adding woodpecker/forgejo actions for automatic docker builds. I haven’t got it working, but I applied to Codebergs Woodpecker.
I’ve added quotes to the plattform. You can’t create them at the moment, but they are read from the db.
I’ve started implementing the backend from ground new, with a cleaner structure, because it was to unclean for me to do work in it. It is not finished, but everything should work at the moment with a mix of old- and new-backend.
I finally did the woodpecker build 🎉🎉 I also updated the installer and the README for installation. Now you can test it easiely at home 😉
I’ve added the create quote form and the backend used for it. Also if you edit your account, it now uses the new backend.
Now you can create transactions! Or can you? It doesn’t work :-( But I can’t find the mistake, I’ll hopefully do tomorrow
IT WORKS!!!! And yea, I’rich, but in the negatives ;-). I just forgot to set a hidden value for the form.
I started with a new codebase, because I was not happy with Next.js. Now I want to separate the server from the client for a cleaner architecture. I initalized the new repo I started the base for the server (Kotlin + sqlite)
I’ve added DB tables and started with auth. Login works and register is on it’s way!
server: Now you also can create an account (only with invite) and admins can create invites.
server: The API now includes the creation of quotes
I cleaned up the code and added an api endpoint for getting invites
I cleaned up even more: Common RequestResult Interface RequestErrors combined into one enum Split the routing config into diffrent files I also added an api endpoint for getting quotes
I started with a very simple UI (without CSS) to test if the API would work. At the moment you can only login and get all quotes.
I fixed, that if you are already logged in, it still showed the login-form. Also I added a createQuote function (not in the UI yet) and tried fixing the cookie, that don’t want to be saved because of security. I have not comittet the code, because it is at the moment just for me testing, until it can do the most part of the API and is a bit better designed.
Started building the real client (at least a concept). I’m currently trying to figure client-side navigation out. I think I have to watch some tutorials…
The navigation now works…. But I’m not really happy about it. But for now I started styling a bit (also that I’m not getting flashbanged). How I implemented the client nav at the moment The server now returns the same index.html file for every page and js loads the page-content. This lags sometimes and is not very performant… Style and Themes I’ve started styling. All the colors and also some other properties are specified in a theme-css file, so later you could have your own theme as a css file with only vars or if you want to style even more, you can add custom styles for specifc components, thats the plan for theming.
I improved the navbar and designed an icon as a placeholder for the moment: At a later point the icon should be changable by admins and I think, I will also improve the default icon.
Not much to say for this devlog, I only created the register form and designed it and the login form.
I’ve now added a logout api endpoint and an option to logout via web client. The difficult part is, that I can’t access the GREX_SESSION cookie via JS, so I have to set another cookie, to know, if the user is logged in. But now it works fine. I hope, that I’m not finding as many bugs if I’m testing the login/logout/register functions.
I’ve added two new themes. Also the theme is now loaded via js, so at a later point the js could read the cookies and load a theme dynamicly.
New design for the quotes. Now it’s not a boring list but cards that look a lot better.
I’ve added a form for admins to create invites so you don’t have to interact with the DB or the API manually ;-) Also the first user, that registers doesn’t need an invitation Code and automaticly is an admin. I also started creating the form to create quotes, but it has no functionality at the moment. My next steps that are planed at the moment: Add create quote form functionality Put everything in docker (Add QoL like display all invites & users for admins, display active sessions, …) First RELEASE/SHIP
Now Woodpecker builds the server and client docker-image and releases it on codeberg.org docker registry! Yay!
The Server now autmoaticly migrates the DB 🎉🎉🎉🎉🎉🎉 It was not that easy, because Exposed (DB lib for Kotlin) doesn’t automaticly apply migrations. I can generate migration scripts with it but the execution and check if it was already executed I have to do on my own. But I learned a lot in the process.
Create quotes now works!!! It was a bit of pain modifing the db. I just wanted plain timestamps in milliseconds but Exposed and SQLite don’t want that, so I setteled on just using long type.
LIKES!!!!!! Finally!!!! Again only the db held me back. I hate databases! But it has a fun little animation if you click it and it is pretty spam proof (hope so).
I fixed the layout on mobile devices: The navbar, the admin page, … I edited the API endpoints for quotes: Now there are 2 Endpoints for quotes: get and list I also added the code for quote editing, but the API endpoint is not implemented yet In the client I added a detail page for quotes, where you can see the users, who liked the quote and in the future the comments would also be displayed here A new get user endpoint exists, so the quote posters and the likes can display the real username and not only the user-id I fixed the logout, that was not working, because the client side navigation couldn’t load the /logout because it loads pages from /pages/… so /pages/logout was a 404. Now the logout is in the pages directory, so it works with client side navigation The most time for this devlog was invested on the layout of users who liked a post. I just wanted the users to be displayed in collumns and rows. They should be exactly underneath each other, so the like-icon aligns perfectly. Also the names shouldn’t break, because then one row is larger then the others. It was such a pain getting that “simple” thing to work. I asked multiple AIs, after I had no idea anymore and all gave me trash. The Claude used JS and not only CSS and it finally worked!! It was such a pain but in the end I am very happy with the result.
I got hacked!! Oh no!! How bad!! ;-D Script injections should now be GONE. (Hacker is sad now ) The edit quote funtion now has an API endpoint and a UI. You can edit a quote with the edit symbol on the quote detail page, which is only displayed, if you are the creator of the post or the admin.
I’ve done some little things: I added a random quote endpoint to the server and the 404 - Not Found now displays one. I also started writing the API docs.
I’ve added a /qpi/quotes/delete endpoint, where the poster or admins can delete a quote and also the button for it is in the UI. If you click it a confirmation popup opens. Also the register and login forms now show, whats wrong. I noticed the bad UX, as I registered a new user and the submit button just didn’t work. In the dev tools I could see the problem, but no normal user is looking into the devtools, so now every normal creature can now see it as well. These are the last finishing touches before shiping!
Small fixes: Icons on login/register page Title support for my own client router Fix popups on mobile
Add table for admins so they can see all registered users.
Add Settings Page with the option to choose a theme. I also changed some Database Stuff and added a user page.
Added search to quotes and account settings
I clean up the code and made many fixes! I also added new features: You can upload profile pictures and the admins can allow bypassing the invite code for the instance.
Ships:
I’m very proud, that I got to a point, where I can ship the project in just about 2 months. Thats when I started the new codebase. I learned a LOT developing the plattform with Next.js (old) and also learned, that I need better types, seperate server and client, … I just don’t like the structure, but now with Kotlin and Ktor on the server and JS on the client I am very satisfied. If you try the project keep in mind, that many features were in the old project and the most time I spent, was creating the base on the new version. This ship ships the foundation on which I will build many more (hopefully cool and usefull) features. Also try the web-client on mobile. I coded responsive for displayes of (hopefully) any size. I’m sorry, that I have no demo-instance, but it is to insecure for me to host a public instance for everyone. Maybe in the next ship I will have a solution for that. Hope you like the project!...
|
1793004712.8044462
|
1793091112.8044462
|
|
27134
|
VEX App by @boberto | Stardance
|
boberto
|
1
|
37.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T16:28:41Z", "hours": 37.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey guys, soo since the dashboard invite link reroutes users to /onboarding, it doesnt return a code 200 “ok”. So please use this link instead: https://stlvexapp.guanine.org/join/b93d07e1-b1a8-467e-81fb-d3f36dcff0b7 But anyways, the point of this project wasn’t to build something beautiful, fun, or exciting. Compared to the other things people are building (I saw some awesome spider bots and rocket ship CADs), my project is pretty lame. Why did I build it? Well, around 4 months ago, I noticed some major bottlenecks in my school’s Robotics organization. Our calendar was on a google doc with only a single page, fragmented communications, field elements getting lost, first year members constantly asking for support, and nobody on any of the 6 teams had any idea what they were supposed to do Therefore, I set out to build a solution and I learned SO MUCH along the way! My VEX internal dashboard has taught me so much about backend design such as: rate-limiting throttling oAuth flows SQL databases & normalization database annotations monorepos prefetching & async fetching image preloading GIT!!!!! It was such an amazing journey and it has helped me build a portfolio of projects that actually show that I CAN engineer real apps that hold up against heavy user traffic. (AI WILL NEVER REPLACE ME) The result: I’ve used this app as a my FRONTIER project is SO MANY applications to organizer positions at JamHacks, IgnitionHacks, EurekaHacks, etc… And… Now I work as a backend engineer for THREE HACKATHONS!!! I’m so happy and I know that this may not be the most EXCITING of projects but if you could please support me and my future endeavours thanks :)", "repo": "https://github.com/RandomPerson5571/VEXApp", "demo": "https://stlvexapp.guanine.org"}]...
|
[{"post_id": 66166, "ts": "202 [{"post_id": 66166, "ts": "2026-09-11T20:20:18Z", "hours": 17.1692, "text": "Around four months ago, I noticed my school’s robotics organization had a lot of small problems adding up Our calendar was a one-page Google Doc Communication was scattered Field elements kept getting lost New members constantly needed help People across our 6 teams often had no idea what they were supposed to be doing So a friend and I started building a centralized management portal. A few technical decisions I made Turborepo for a monorepo, so I didn’t have to duplicate backend logic across multiple repos Supabase + Prisma for auth and database accessZuplo for API rate limiting RoboEvents API for competition data GitHub + Fusion 360 webhooks for Discord notifications Render + UptimeRobot to keep hosting cheap and reduce cold starts It was a long and difficult road to get here, as I had to learn so many new tools and resolve so many different problems. But now the portal has officially shipped to our robotics organization, with 200+ members across 6 teams!! Pretty crazy considering it started because our Google Doc calendar sucked."}, {"post_id": 23242, "ts": "2026-07-06T02:20:35Z", "hours": 0.7717, "text": "Feats: Code cleanup Debugging App is now production-ready."}, {"post_id": 22585, "ts": "2026-07-05T03:36:59Z", "hours": 0.8592, "text": "Feats: general testing planning 3d renders"}, {"post_id": 20988, "ts": "2026-07-02T18:45:08Z", "hours": 3.6522, "text": "Feats: added github integration added team repos fixed some dom hydration errors added push notifs for the discord bot"}, {"post_id": 19378, "ts": "2026-06-30T17:50:29Z", "hours": 1.3994, "text": "Feats: latency issues a lot of code refactoring pushed the app to prod"}, {"post_id": 18555, "ts": "2026-06-29T19:06:07Z", "hours": 1.0864, "text": "Feats: added documentation pages added markdown support added folder creation basically fully CRUD for documentation and folders added discord slash commands TODOs: add more discord slash commands add notificaitons add external integrations (github, fusion360, etc.)"}, {"post_id": 18066, "ts": "2026-06-29T01:45:38Z", "hours": 2.2067, "text": "Feats: implemented inventory items (signout, creation, viewing, etc.) implemented dashboard widgets implemented task creations implemented documentation view implemented inline edits for tasks implemented documentation + folders for proper storage TODOs: add more admin-based discord bot commands create a mobile app??? write a backend api server to fetch data from robotevents api"}, {"post_id": 17627, "ts": "2026-06-28T14:39:15Z", "hours": 2.0258, "text": "Feats: added tasks improved admin panel UI improved settings page UI and added actions such as user deletion, discord linking, onshape & github integration, password resets, and account information changes. added discord bot slash commands for task creation, task viewing, task sign offs, invite creation, event scheduling TODOs: improve tasks list UI/UX add inventory tracking improve dashboard add more discord bot functionalities"}, {"post_id": 17107, "ts": "2026-06-27T19:35:26Z", "hours": 7.6894, "text": "I just added a couple of slash commands for the discord bot related to admin features (such as creating platform invite links, event scheduling, etc) Updated web interface UI and wired dashboard with supabase db."}]...
|
Title: VEX App by @boberto | Stardance
Devlogs:
I Title: VEX App by @boberto | Stardance
Devlogs:
I just added a couple of slash commands for the discord bot related to admin features (such as creating platform invite links, event scheduling, etc) Updated web interface UI and wired dashboard with supabase db.
Feats: added tasks improved admin panel UI improved settings page UI and added actions such as user deletion, discord linking, onshape & github integration, password resets, and account information changes. added discord bot slash commands for task creation, task viewing, task sign offs, invite creation, event scheduling TODOs: improve tasks list UI/UX add inventory tracking improve dashboard add more discord bot functionalities
Feats: implemented inventory items (signout, creation, viewing, etc.) implemented dashboard widgets implemented task creations implemented documentation view implemented inline edits for tasks implemented documentation + folders for proper storage TODOs: add more admin-based discord bot commands create a mobile app??? write a backend api server to fetch data from robotevents api
Feats: added documentation pages added markdown support added folder creation basically fully CRUD for documentation and folders added discord slash commands TODOs: add more discord slash commands add notificaitons add external integrations (github, fusion360, etc.)
Feats: latency issues a lot of code refactoring pushed the app to prod
Feats: added github integration added team repos fixed some dom hydration errors added push notifs for the discord bot
Feats: general testing planning 3d renders
Feats: Code cleanup Debugging App is now production-ready.
Around four months ago, I noticed my school’s robotics organization had a lot of small problems adding up Our calendar was a one-page Google Doc Communication was scattered Field elements kept getting lost New members constantly needed help People across our 6 teams often had no idea what they were supposed to be doing So a friend and I started building a centralized management portal. A few technical decisions I made Turborepo for a monorepo, so I didn’t have to duplicate backend logic across multiple repos Supabase + Prisma for auth and database accessZuplo for API rate limiting RoboEvents API for competition data GitHub + Fusion 360 webhooks for Discord notifications Render + UptimeRobot to keep hosting cheap and reduce cold starts It was a long and difficult road to get here, as I had to learn so many new tools and resolve so many different problems. But now the portal has officially shipped to our robotics organization, with 200+ members across 6 teams!! Pretty crazy considering it started because our Google Doc calendar sucked.
Ships:
Hey guys, soo since the dashboard invite link reroutes users to /onboarding, it doesnt return a code 200 “ok”. So please use this link instead: https://stlvexapp.guanine.org/join/b93d07e1-b1a8-467e-81fb-d3f36dcff0b7 But anyways, the point of this project wasn’t to build something beautiful, fun, or exciting. Compared to the other things people are building (I saw some awesome spider bots and rocket ship CADs), my project is pretty lame. Why did I build it? Well, around 4 months ago, I noticed some major bottlenecks in my school’s Robotics organization. Our calendar was on a google doc with only a single page, fragmented communications, field elements getting lost, first year members constantly asking for support, and nobody on any of the 6 teams had any idea what they were supposed to do Therefore, I set out to build a solution and I learned SO MUCH along the way! My VEX internal dashboard has taught me so much about backend design such as: rate-limiting throttling oAuth flows SQL databases & normalization database annotations monorepos prefetching & async fetching image preloading GIT!!!!! It was such an amazing journey and it has helped me build a portfolio of projects that actually show that I CAN engineer real apps that hold up against heavy user traffic. (AI WILL NEVER REPLACE ME) The result: I’ve used this app as a my FRONTIER project is SO MANY applications to organizer positions at JamHacks, IgnitionHacks, EurekaHacks, etc… And… Now I work as a backend engineer for THREE HACKATHONS!!! I’m so happy and I know that this may not be the most EXCITING of projects but if you could please support me and my future endeavours thanks :)...
|
1793004714.139515
|
1793091114.139515
|
|
49801
|
StudyBuddy by @abdulqadir | Stardance
|
abdulqadir
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T20:03:00Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built StudyBuddy, a Slack bot with 4 commands. Hardest part was getting it deployed 24/7 on Hack Club Nest — kept hitting network issues with git pushes and had to work around a blocked SSH port by tunneling over 443, plus formatting bugs when creating config files through the terminal. Proud that it’s actually live on the server now, not just running on my laptop", "repo": "https://github.com/Qadir-eng/studybuddy-bot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0BQ3P8JTSB"}]...
|
[{"post_id": 57574, "ts": "202 [{"post_id": 57574, "ts": "2026-08-29T19:17:47Z", "hours": 0.345, "text": "Added few commands, probably planning to add more commands. Currently waiting on my pending application for the nest, which will allow it to run 24/7."}]...
|
Title: StudyBuddy by @abdulqadir | Stardance
Devl Title: StudyBuddy by @abdulqadir | Stardance
Devlogs:
Added few commands, probably planning to add more commands. Currently waiting on my pending application for the nest, which will allow it to run 24/7.
Ships:
Built StudyBuddy, a Slack bot with 4 commands. Hardest part was getting it deployed 24/7 on Hack Club Nest — kept hitting network issues with git pushes and had to work around a blocked SSH port by tunneling over 443, plus formatting bugs when creating config files through the terminal. Proud that it’s actually live on the server now, not just running on my laptop...
|
1793004715.3014746
|
1793091115.3014746
|
|
22029
|
Sentinel: Autonomous Exploration Rover by @Sriyan Sentinel: Autonomous Exploration Rover by @Sriyan | Stardance...
|
Sriyan
|
1
|
146.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T03:15:27Z", "hours": 146.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a robot controller and the code responding for it although I couldn’t finish the robot itself I feel like this Is worth the effort I put into it thanks, Sriyan", "repo": "https://github.com/BigestBrainestbozo/Sentinal-robot-website-and-code", "demo": ""}]...
|
[{"post_id": 75433, "ts": "202 [{"post_id": 75433, "ts": "2026-09-30T02:29:18Z", "hours": 20.4072, "text": "Devlog — Motor Control System Time: ~7 Hours I wasn’t able to finish building the physical robot, so this year I’ve been focusing more on the coding side of the project. During these 7 hours, I worked on the robot’s motor control system, including movement, motor power, direction, and stopping. I also spent time testing and debugging the code so that when I return to the physical robot, I’ll already have a stronger software foundation ready. Next I’m going to keep developing and improving the code this year, and eventually return to finishing and integrating it with the physical robot."}, {"post_id": 55358, "ts": "2026-08-27T04:21:04Z", "hours": 5.8667, "text": "––Devlog 17–– Continuing Sentinel’s Retrace System Today I continued working on Sentinel’s autonomous retrace system. The goal of this system is to give it a way to recover when autonomous navigation leads it into a bad situation. Instead of stopping, it will eventually be able to remember its recent route, retrace it, look for another path, and only return control to the user if autonomous recovery fails. Recording Autonomous Movement I continued connecting it’s existing autonomous navigation to the movement-history system. it can store recent movements using: rememberMovement ()"}, {"post_id": 54250, "ts": "2026-08-25T04:19:16Z", "hours": 14.075, "text": "––Devlog 16–– Testing Sentinel in the Real World Yesterday I focused on just testing it over obstacles I’ve spent a lot of recent sessions improving the autonomous navigation system, failsafe logic, sensor handling, mission statistics, and the beginning of the retrace system. Physical Testing I spent the session working with Sentinel’s real hardware and observing how the different systems behave outside of the Arduino IDE. I focused on: Motor movement Servo movement Ultrasonic sensor behavior Sensor positioning Current wiring Rover movement Existing manual controls Existing autonomous behavior"}, {"post_id": 52469, "ts": "2026-08-22T16:24:33Z", "hours": 4.9, "text": "––Devlog 15–– Remembering its Path Today I started working on a much more advanced recovery system for the rover. Until now, FAILSAFE has mainly been designed to stop the rover when autonomous navigation runs into a serious problem. I don’t want stopping to always be the rovers first and only solution. Instead, I want Sentinel to eventually remember where it came from, retrace part of its path, and search for another route. The New Recovery Idea The recovery system I’m building is designed to eventually work like this: Dead End? I v FAILSAFE I v Retrace Recent Path I v Scan Surroundings Again I v Try Another Route I v No Safe Route? I v Switch to Manual Mode"}, {"post_id": 51305, "ts": "2026-08-20T21:38:39Z", "hours": 5.5142, "text": "—Devlog 14— Making it more reliable today I continue improving the autonomous navigation system work better by making a better failsafe. Sensor Failures I improved sentinels ultrasonic sensor failure handling/ the rover now treats different situations respectively not just backing up when sensor failsafe now it will retrace its path and go a different way if there is no other way the rover will automatically switch to manual mode and your device will do a cool animation change in the schedule since school started I am trying hard to balance 6 hours of school and 5 hours of work each day, so now physical and catch up days are on weekends due to having no school."}, {"post_id": 45366, "ts": "2026-08-11T19:31:55Z", "hours": 4.9944, "text": "–Devlog 13– Finishing Sentinel’s Failsafe System Today I continued working on Sentinel’s autonomous safety system. The main goal was to make FAILSAFE more useful instead of having it simply stop the rover without explaining what happened."}, {"post_id": 44450, "ts": "2026-08-10T06:23:59Z", "hours": 13.1775, "text": "––Devlog 12–– Making Sentinel Safer Today I focused on improving autonomous navigation and making the rover safer when something goes maybe might go wrong. A lot of today’s work was about making sure Sentinel doesn’t just assume that every sensor reading is correct or that every direction is safe. Smarter Path Decisions I added a minimum turning clearance to the rover’s settings. Before this, Sentinel could scan both directions and simply choose whichever side had more space. For example: left: 8 cm right: 12 cm the right side has more space, but 12 cm still isn’t enough room to safely turn. Now it checks whether a direction actually has enough clearance before choosing it. If both directions are clear, it chooses the side with more room. If only one direction is clear, it chooses that direction. If neither direction is clear, it knows that it needs to try something else. gn"}, {"post_id": 43773, "ts": "2026-08-09T06:19:22Z", "hours": 7.4453, "text": "———––Devlog 11———— I made it to Colorado yeah Failsafe I decided to make the autonomous mode safer rather than faster. the purpose of the failsafe is if something is to ever go wrong it will know what to do. Smart Path Decision well you heard the title, well basically what I did is that it can tell the difference between: A clear path A path that is too close to an obstacle A failed sensor reading Both paths being blocked I also added a minimum turning distance so it doesn’t choose one side for being like 1 cm better than the other. Example: left: 11cm right 12cm"}, {"post_id": 42656, "ts": "2026-08-07T14:31:52Z", "hours": 5.2392, "text": "———––Devlog 10———— Improving Sentinel’s Brain And Hardware Today I finally did a hardware and software day I spent the digital part fixing my devlogs and coding the place holder awareness. Software Progress I continued working on the autonomous navigation system like: Tracking servo current position Improved logic for left, center, and right Remembering sensor readings Physical Work My solder wire is leaded im cooked I didnt like my solder work so I tried again but this time I watched a video and it said leaded is dangerous so yeah but I connected 1 wire cut in half\\ Important Info im going to colorado today for 10 days but 3 of them Im going to be in mountain so no work Thanks for following Project Sentinel!"}, {"post_id": 41798, "ts": "2026-08-06T06:53:25Z", "hours": 7.4844, "text": "———––Devlog 09———— Sentinel’s Software Gets Smarter Today I focused mainly on improving Sentinel’s software and project documentation . The rover is not physically ready for full testing yet, so I used the digital work session to organize the code, fix errors, add useful debugging features, and improve how I present the project. Software Progress I expanded Sentinel’s Arduino Mega code with several new systems: Manual and autonomous driving modes Emergency stop command Configurable rover settings Obstacle detection and stopping Reverse-and-turn behavior Servo-based left, center, and right scanning Mission statistics Current rover status reporting Structured communication messages TB6612 motor-driver control functions The autonomous system is designed to follow this sequence: Drive forward Detect an obstacle Stop Reverse Scan left, center, and right Compare the available paths Choose the clearer direction Turn Continue driving Mission Statistics I added a command that can report information such as: Mission runtime Number of obstacles detected Number of left turns Number of right turns Number of successful distance readings I also added a current-status command so I can check Sentinel’s mode, state, movement command, and latest sensor reading while debugging. 📡 Communication Protocol I standardized the messages Sentinel sends through the Serial Monitor. Examples include: MODE:MANUAL MODE:AUTONOMOUS STATE:DRIVING STATE:REVERSING STATE:SCANNING_LEFT CMD:FORWARD CMD:STOP DIST:32.4"}, {"post_id": 40925, "ts": "2026-08-04T19:19:32Z", "hours": 14.7436, "text": "———––Devlog 08———— Making The Navigation Brain Toda I focused on the software for Sentinel. instead of working on hardware all day I switch to digital to make the user interface easy and intuitive for everyone(me) to use without any brain power. What I coded I added code for : The stop distance before obstacles Sensor-reading interval duration for turning and reversing and movement speed changes I got these from looking at my robot vac believe it or not. Preparations I began preparing for the motors because i have to solder them to the Arduino and im a noob at it so i made self drving mode and manual mode with placeholders What I Learned those little disks roaming around houses are hard to code kudos to the engineers, but I think that I learned that sensor awarness is hard and that anyways, Thanks for listening to my thing and following my project."}, {"post_id": 39172, "ts": "2026-08-01T23:01:50Z", "hours": 10.3956, "text": "———––Devlog 07———— Sentinel’s Web Controller Is Fixed Today I fixed a major part of the website which was the mobile part not being able to work properly Desktop Controls On a computer, sentinel can be controlled using the keyboard. The main controls are (for now): W - Forward A - Left S - Backward D - Right Mobile Controls For phones, I designed a different interface, instead of trying to use small buttons to control I made a joystick . Device Detection The website automatically provides better control method depending on what device you are using. Thanks for following Project Sentinel ! We’re getting closer to actually driving this thing."}, {"post_id": 37934, "ts": "2026-07-30T23:16:10Z", "hours": 9.9833, "text": "—————— Devlog 06 —————— Building Sentinel’s Eyes & Control Center Over the past few days, I worked on both the physical rover and its control system. What I Finished I completed the custom mount for Sentinel’s ultrasonic sensors. The mount holds the sensors securely and prepares them to be mounted on the servo, allowing Sentinel to scan left, center, and right while navigating. Website Progress I also spent time building Sentinel’s web controller. So far I have created: 🖥️ Desktop version Mobile version Both versions are coming together nicely. The only problem is that the mobile version isn’t displaying correctly on my phone yet, so I’ll show it off in the next devlog after I fix it. What I Learned This project is becoming much bigger than just building a rover. I’m now working on: CAD 3D printing Web development C++ Electronics Hardware integration It’s exciting seeing all of these skills come together in one project. Next Mission Fix the mobile website layout Finish the web controller Mount the ultrasonic sensor onto the servo Continue building Sentinel’s autonomous navigation system Thanks for following Project Sentinel ! Every update gets me one step closer to bringing Sentinel to life."}, {"post_id": 36717, "ts": "2026-07-28T23:13:11Z", "hours": 4.4978, "text": "———––Devlog 05———— Learning CAD - Day 2 Today I continued learning CAD so I eventually design custom parts for Sentinel . What I Learned Its hard. also refined my skills and made some medium difficulty items. Thanks for following Project Sentinel!"}, {"post_id": 36078, "ts": "2026-07-27T22:48:14Z", "hours": 11.8211, "text": "———––Devlog 04———— Learning CAD After being away for a while, I finally made it home! Now that I access to all my hardware again, I decided to make a mount for my servo and sensor and for the battery. Why I’m Learning CAD The rover needs some mount for: Ultrasonic Sensor Servo Battery Other electronics What I’m Working On My first goal is to design a bracket that can mount the ultrasonic sensor on top of the servo. That setup will allow Sentinel to: Look left Look forward Look right Compare distances Choose the best path What I’m Learning This is my first time trying a 3d modeling software, so Im going to start off with the basics. Target for tomorrow Make simple 3d shapes Build a servo mount Maybe print Thanks for following Project Sentinel!"}, {"post_id": 33733, "ts": "2026-07-23T21:42:37Z", "hours": 4.36, "text": "———––Devlog 03———— Information It’s definitely been longer than I planned since my last update . I was on vacation for a while, and I honestly lost more time than I wanted to. Instead of letting that stop the project, I decided to get back on track by focusing on something that will help Sentinel in the long run: learning C++ . What I’ve Been Doing While I haven’t been home to work on the hardware, I’ve been spending my time learning the fundamentals of C++. Some of the topics I’ve been working through includes: Variables Loops Functions Enums Classes General programming concepts I’ve attached a few screenshots showing what I’ve been learning. The Plan Since I lost some time during vacay, I going to have to do 4 hours and 32 minutes a day until I reach my goal. It won’t be easy, but I know it’ll be worth it when Sentinel finally comes together. Progress Even though there hasn’t been much hardware progress yet, I believe learning C++ now will save me a lot of time later because I’ll be writing and understanding my own rover software instead of relying on tutorials. Next Mission Continue learning C++ Return home Start assembling Sentinel Begin writing the rover’s software Thanks for following Project Sentinel. The build will finally start picking up speed soon!"}, {"post_id": 14189, "ts": "2026-06-23T05:44:45Z", "hours": 1.0669, "text": "———––Devlog 02———— Preparing For Sentinel Welcome back to another devlog! While I’m still waiting for the rest of Sentinel’s parts to arrive (they should be here by the end of June), I’ve decided to spend this time learning C++ . Instead of relying only on the Arduino examples and documentation, I want to understand how everything works so I can build different project by myself. Current Plan While waiting for the hardware, I’m focusing on learning: Variables Functions Loops Classes Enums General C++ programming My goal is to write as much of Sentinel’s software myself as possible instead of just copying code. Hardware Update As I said before Most of the remaining parts are expected to arrive near the end of June . Once everything arrives, I’ll be able to start assembling the rover and putting everything I’ve learned into practice. Target For Tomorrow -Continue learning C++ Wait for the remaining hardware Begin assembling Sentinel when the parts arrive Thanks so much for following Project Sentinel! Every bit of support motivates me to keep improving."}, {"post_id": 14046, "ts": "2026-06-23T00:51:47Z", "hours": 0.3708, "text": "———––Devlog 01———— Giving Sentinel Its Eyes Today I connect the ultrasonic sensors that will act as the eyes of Sentinel What I Added Ultrasonic distance sensors Front-facing sensor layout Very basic obstacle detection software Why Ultrasonic Sensors? I considered using cameras, but they were outside my budget and would have made the project more complicated. Target for tomorrow Test distance readings Connect the sensor to the Arduino Mega Start obstacle-avoidance log"}]...
|
Title: Sentinel: Autonomous Exploration Rover by @ Title: Sentinel: Autonomous Exploration Rover by @Sriyan | Stardance
Devlogs:
———––Devlog 01———— Giving Sentinel Its Eyes Today I connect the ultrasonic sensors that will act as the eyes of Sentinel What I Added Ultrasonic distance sensors Front-facing sensor layout Very basic obstacle detection software Why Ultrasonic Sensors? I considered using cameras, but they were outside my budget and would have made the project more complicated. Target for tomorrow Test distance readings Connect the sensor to the Arduino Mega Start obstacle-avoidance log
———––Devlog 02———— Preparing For Sentinel Welcome back to another devlog! While I’m still waiting for the rest of Sentinel’s parts to arrive (they should be here by the end of June), I’ve decided to spend this time learning C++ . Instead of relying only on the Arduino examples and documentation, I want to understand how everything works so I can build different project by myself. Current Plan While waiting for the hardware, I’m focusing on learning: Variables Functions Loops Classes Enums General C++ programming My goal is to write as much of Sentinel’s software myself as possible instead of just copying code. Hardware Update As I said before Most of the remaining parts are expected to arrive near the end of June . Once everything arrives, I’ll be able to start assembling the rover and putting everything I’ve learned into practice. Target For Tomorrow -Continue learning C++ Wait for the remaining hardware Begin assembling Sentinel when the parts arrive Thanks so much for following Project Sentinel! Every bit of support motivates me to keep improving.
———––Devlog 03———— Information It’s definitely been longer than I planned since my last update . I was on vacation for a while, and I honestly lost more time than I wanted to. Instead of letting that stop the project, I decided to get back on track by focusing on something that will help Sentinel in the long run: learning C++ . What I’ve Been Doing While I haven’t been home to work on the hardware, I’ve been spending my time learning the fundamentals of C++. Some of the topics I’ve been working through includes: Variables Loops Functions Enums Classes General programming concepts I’ve attached a few screenshots showing what I’ve been learning. The Plan Since I lost some time during vacay, I going to have to do 4 hours and 32 minutes a day until I reach my goal. It won’t be easy, but I know it’ll be worth it when Sentinel finally comes together. Progress Even though there hasn’t been much hardware progress yet, I believe learning C++ now will save me a lot of time later because I’ll be writing and understanding my own rover software instead of relying on tutorials. Next Mission Continue learning C++ Return home Start assembling Sentinel Begin writing the rover’s software Thanks for following Project Sentinel. The build will finally start picking up speed soon!
———––Devlog 04———— Learning CAD After being away for a while, I finally made it home! Now that I access to all my hardware again, I decided to make a mount for my servo and sensor and for the battery. Why I’m Learning CAD The rover needs some mount for: Ultrasonic Sensor Servo Battery Other electronics What I’m Working On My first goal is to design a bracket that can mount the ultrasonic sensor on top of the servo. That setup will allow Sentinel to: Look left Look forward Look right Compare distances Choose the best path What I’m Learning This is my first time trying a 3d modeling software, so Im going to start off with the basics. Target for tomorrow Make simple 3d shapes Build a servo mount Maybe print Thanks for following Project Sentinel!
———––Devlog 05———— Learning CAD - Day 2 Today I continued learning CAD so I eventually design custom parts for Sentinel . What I Learned Its hard. also refined my skills and made some medium difficulty items. Thanks for following Project Sentinel!
—————— Devlog 06 —————— Building Sentinel’s Eyes & Control Center Over the past few days, I worked on both the physical rover and its control system. What I Finished I completed the custom mount for Sentinel’s ultrasonic sensors. The mount holds the sensors securely and prepares them to be mounted on the servo, allowing Sentinel to scan left, center, and right while navigating. Website Progress I also spent time building Sentinel’s web controller. So far I have created: 🖥️ Desktop version Mobile version Both versions are coming together nicely. The only problem is that the mobile version isn’t displaying correctly on my phone yet, so I’ll show it off in the next devlog after I fix it. What I Learned This project is becoming much bigger than just building a rover. I’m now working on: CAD 3D printing Web development C++ Electronics Hardware integration It’s exciting seeing all of these skills come together in one project. Next Mission Fix the mobile website layout Finish the web controller Mount the ultrasonic sensor onto the servo Continue building Sentinel’s autonomous navigation system Thanks for following Project Sentinel ! Every update gets me one step closer to bringing Sentinel to life.
———––Devlog 07———— Sentinel’s Web Controller Is Fixed Today I fixed a major part of the website which was the mobile part not being able to work properly Desktop Controls On a computer, sentinel can be controlled using the keyboard. The main controls are (for now): W - Forward A - Left S - Backward D - Right Mobile Controls For phones, I designed a different interface, instead of trying to use small buttons to control I made a joystick . Device Detection The website automatically provides better control method depending on what device you are using. Thanks for following Project Sentinel ! We’re getting closer to actually driving this thing.
———––Devlog 08———— Making The Navigation Brain Toda I focused on the software for Sentinel. instead of working on hardware all day I switch to digital to make the user interface easy and intuitive for everyone(me) to use without any brain power. What I coded I added code for : The stop distance before obstacles Sensor-reading interval duration for turning and reversing and movement speed changes I got these from looking at my robot vac believe it or not. Preparations I began preparing for the motors because i have to solder them to the Arduino and im a noob at it so i made self drving mode and manual mode with placeholders What I Learned those little disks roaming around houses are hard to code kudos to the engineers, but I think that I learned that sensor awarness is hard and that anyways, Thanks for listening to my thing and following my project.
———––Devlog 09———— Sentinel’s Software Gets Smarter Today I focused mainly on improving Sentinel’s software and project documentation . The rover is not physically ready for full testing yet, so I used the digital work session to organize the code, fix errors, add useful debugging features, and improve how I present the project. Software Progress I expanded Sentinel’s Arduino Mega code with several new systems: Manual and autonomous driving modes Emergency stop command Configurable rover settings Obstacle detection and stopping Reverse-and-turn behavior Servo-based left, center, and right scanning Mission statistics Current rover status reporting Structured communication messages TB6612 motor-driver control functions The autonomous system is designed to follow this sequence: Drive forward Detect an obstacle Stop Reverse Scan left, center, and right Compare the available paths Choose the clearer direction Turn Continue driving Mission Statistics I added a command that can report information such as: Mission runtime Number of obstacles detected Number of left turns Number of right turns Number of successful distance readings I also added a current-status command so I can check Sentinel’s mode, state, movement command, and latest sensor reading while debugging. 📡 Communication Protocol I standardized the messages Sentinel sends through the Serial Monitor. Examples include: MODE:MANUAL MODE:AUTONOMOUS STATE:DRIVING STATE:REVERSING STATE:SCANNING_LEFT CMD:FORWARD CMD:STOP DIST:32.4
———––Devlog 10———— Improving Sentinel’s Brain And Hardware Today I finally did a hardware and software day I spent the digital part fixing my devlogs and coding the place holder awareness. Software Progress I continued working on the autonomous navigation system like: Tracking servo current position Improved logic for left, center, and right Remembering sensor readings Physical Work My solder wire is leaded im cooked I didnt like my solder work so I tried again but this time I watched a video and it said leaded is dangerous so yeah but I connected 1 wire cut in half\ Important Info im going to colorado today for 10 days but 3 of them Im going to be in mountain so no work Thanks for following Project Sentinel!
———––Devlog 11———— I made it to Colorado yeah Failsafe I decided to make the autonomous mode safer rather than faster. the purpose of the failsafe is if something is to ever go wrong it will know what to do. Smart Path Decision well you heard the title, well basically what I did is that it can tell the difference between: A clear path A path that is too close to an obstacle A failed sensor reading Both paths being blocked I also added a minimum turning distance so it doesn’t choose one side for being like 1 cm better than the other. Example: left: 11cm right 12cm
––Devlog 12–– Making Sentinel Safer Today I focused on improving autonomous navigation and making the rover safer when something goes maybe might go wrong. A lot of today’s work was about making sure Sentinel doesn’t just assume that every sensor reading is correct or that every direction is safe. Smarter Path Decisions I added a minimum turning clearance to the rover’s settings. Before this, Sentinel could scan both directions and simply choose whichever side had more space. For example: left: 8 cm right: 12 cm the right side has more space, but 12 cm still isn’t enough room to safely turn. Now it checks whether a direction actually has enough clearance before choosing it. If both directions are clear, it chooses the side with more room. If only one direction is clear, it chooses that direction. If neither direction is clear, it knows that it needs to try something else. gn
–Devlog 13– Finishing Sentinel’s Failsafe System Today I continued working on Sentinel’s autonomous safety system. The main goal was to make FAILSAFE more useful instead of having it simply stop the rover without explaining what happened.
—Devlog 14— Making it more reliable today I continue improving the autonomous navigation system work better by making a better failsafe. Sensor Failures I improved sentinels ultrasonic sensor failure handling/ the rover now treats different situations respectively not just backing up when sensor failsafe now it will retrace its path and go a different way if there is no other way the rover will automatically switch to manual mode and your device will do a cool animation change in the schedule since school started I am trying hard to balance 6 hours of school and 5 hours of work each day, so now physical and catch up days are on weekends due to having no school.
––Devlog 15–– Remembering its Path Today I started working on a much more advanced recovery system for the rover. Until now, FAILSAFE has mainly been designed to stop the rover when autonomous navigation runs into a serious problem. I don’t want stopping to always be the rovers first and only solution. Instead, I want Sentinel to eventually remember where it came from, retrace part of its path, and search for another route. The New Recovery Idea The recovery system I’m building is designed to eventually work like this: Dead End? I v FAILSAFE I v Retrace Recent Path I v Scan Surroundings Again I v Try Another Route I v No Safe Route? I v Switch to Manual Mode
––Devlog 16–– Testing Sentinel in the Real World Yesterday I focused on just testing it over obstacles I’ve spent a lot of recent sessions improving the autonomous navigation system, failsafe logic, sensor handling, mission statistics, and the beginning of the retrace system. Physical Testing I spent the session working with Sentinel’s real hardware and observing how the different systems behave outside of the Arduino IDE. I focused on: Motor movement Servo movement Ultrasonic sensor behavior Sensor positioning Current wiring Rover movement Existing manual controls Existing autonomous behavior
––Devlog 17–– Continuing Sentinel’s Retrace System Today I continued working on Sentinel’s autonomous retrace system. The goal of this system is to give it a way to recover when autonomous navigation leads it into a bad situation. Instead of stopping, it will eventually be able to remember its recent route, retrace it, look for another path, and only return control to the user if autonomous recovery fails. Recording Autonomous Movement I continued connecting it’s existing autonomous navigation to the movement-history system. it can store recent movements using: rememberMovement ()
Devlog — Motor Control System Time: ~7 Hours I wasn’t able to finish building the physical robot, so this year I’ve been focusing more on the coding side of the project. During these 7 hours, I worked on the robot’s motor control system, including movement, motor power, direction, and stopping. I also spent time testing and debugging the code so that when I return to the physical robot, I’ll already have a stronger software foundation ready. Next I’m going to keep developing and improving the code this year, and eventually return to finishing and integrating it with the physical robot.
Ships:
I made a robot controller and the code responding for it although I couldn’t finish the robot itself I feel like this Is worth the effort I put into it thanks, Sriyan...
|
1793004716.1833975
|
1793091116.1833975
|
|
49819
|
My very own WebOS by @Alyssa889 | Stardance
|
Alyssa889
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T18:29:40Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my very Own WebOs! It was so fun following the guide and I enjoyed it so much! It was hard to follow the Javascript steps because I’m new to coding but I was able to follow. Hopefully there are no bugs or problems with it!", "repo": "https://github.com/alyssaelias/WebOS", "demo": "https://friendly-telegram-vpg4g6rp9ww9cxq47.github.dev/"}]...
|
[{"post_id": 71372, "ts": "202 [{"post_id": 71372, "ts": "2026-09-20T18:26:39Z", "hours": 0.3492, "text": "Added a ending message to my WebOs and changed the colors of the text. I think it’s ready to ship!"}, {"post_id": 71352, "ts": "2026-09-20T17:55:09Z", "hours": 0.5172, "text": "Styling my WebOS to make it unique"}, {"post_id": 71323, "ts": "2026-09-20T17:02:21Z", "hours": 0.3956, "text": "Editing the draggable window through JS"}, {"post_id": 70738, "ts": "2026-09-19T17:52:26Z", "hours": 1.1453, "text": "Finishing my WebOS and finally got Hackatime to work"}]...
|
Title: My very own WebOS by @Alyssa889 | Stardance Title: My very own WebOS by @Alyssa889 | Stardance
Devlogs:
Finishing my WebOS and finally got Hackatime to work
Editing the draggable window through JS
Styling my WebOS to make it unique
Added a ending message to my WebOs and changed the colors of the text. I think it’s ready to ship!
Ships:
I made my very Own WebOs! It was so fun following the guide and I enjoyed it so much! It was hard to follow the Javascript steps because I’m new to coding but I was able to follow. Hopefully there are no bugs or problems with it!...
|
1793004717.4430737
|
1793091117.4430737
|
|
10074
|
SCP: Containment Protocol by @Serra00 | Stardance
|
Serra00
|
1
|
83.9
|
335
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T20:22:35Z", "hours": 82.0, "multiplier": 4.21, "payout": 335, "blessing": "neutral", "text": "Only works by creating a server, at the online mode part and doesnt really work the offline part. Github has a lot of code dumps because I have been creating devlogs in here GAME DOESNT WORK WELL IN LINUX, BUT ITS A PROBLEM WITH THE BUILD FROM UNITY GAME ENGINE, PROBABLY SHADERS TOO, IT WORKS BUT LAGGY, PLEASE TRY ON WINDOWS. This game has reached its mvp playable state, at least on my levels. Network was fixed and everything syncs perfectly now, electricity works well, and building works, not well but works. B", "repo": "https://github.com/Serra110/reactor-breach", "demo": "https://serra110.itch.io/reactor-breach"}]...
|
[{"post_id": 73961, "ts": "202 [{"post_id": 73961, "ts": "2026-09-26T12:24:20Z", "hours": 1.8986, "text": "fixed webgl bugs and unity build bugs"}, {"post_id": 70254, "ts": "2026-09-18T20:14:01Z", "hours": 10.6819, "text": "Only works by creating a server, at the online mode part and doesnt really work the offline part. Github has a lot of code dumps because I have been creating devlogs in hereGAME DOESNT WORK WELL IN LINUX, BUT ITS A PROBLEM WITH THE BUILD FROM UNITY GAME ENGINE, PROBABLY SHADERS TOO, IT WORKS BUT LAGGY, PLEASE TRY ON WINDOWS. This game has reached its mvp playable state, at least on my levels. Network was fixed and everything syncs perfectly now, electricity works well, and building works, not well but works."}, {"post_id": 52368, "ts": "2026-08-22T14:12:28Z", "hours": 9.6375, "text": "Project: Core — Devlog 7 nuclear reactor (peak) REACTOR PHYSICS: built a proper six-factor formula model (K_eff = ε·L_f·ρ·L_th·f·η), i have no idea what this means but i saw it in a doc from the USA department of nuclear power or smth. each factor maps to something the player actually controls: rods affect thermal utilization, coolant affects resonance escape + void coefficient, temperature gives Doppler feedback. K_eff > 1 = supercritical, K_eff < 1 = subcritical. this took like 6 iterations to calibrate and a lot of help from AI cause i dont know nuclear physics. DELAYED NEUTRONS: power doesn’t change instantly when you move the rods. THERMAL CHAIN: power heat core temp steam production steam pressure turbine electrical output. nothing happens instantly. SCRAM & SAFETY: auto-SCRAM at temp ≥ 92%, pressure ≥ 95%, coolant ≤ 5%. meltdown at 98% with an 8s grace period. warning states at 75% temp, 70% pressure, 20% coolant. SCRAM drives rods to full insert at 0.3/s (~3s total). the void coefficient is BWR-positive (whatever this means), lose coolant and reactivity spikes before the SCRAM catches it. CONTROLS: SignalLever and SignalButton (more to come) now use the channel system. bidirectional sync, if the reactor changes a channel (SCRAM pushes rods), the lever position updates to match, or it will just break everything. BUGS:lever was so sensitive you could SCRAM by breathing on it. everyhing works but not that well"}, {"post_id": 46360, "ts": "2026-08-13T15:11:12Z", "hours": 10.3275, "text": "Project: Core — Devlog #6 so heres whats happened since devlog 5: the game has people in it now. kind of. MULTIPLAYER (oh god): threw Mirror in and made everything server authoritative. NETWORK PLAYER: movement runs on the server now. the client just sends “m holding W and shift and looking this way 30 times a second and the server does the actual math. sprint works, gravity works. INTERACTION: pressing E shoots the ray on the server now, with a distance check so you cant magnet-fist ores from across the map. HEALTH: health is a SyncVar with a hook so the bar updates everywhere, theres a kill plane and a respawn that resets the controller and velocity instead of leaving you glitching through the floor. Bug fixes: everyone can see the same world now, which is a big one. same bugs as before, just now they happen in two windows at once . current issues: machines still arent really networked yet, NetworkMachine is just the base drill battery, smelter insides and conveyor stuff are still convinced the game is singleplayer. power grid is basically how much power we say we have instead of a real grid, remote players dont have a visible body, building mode is not networked. whats next: machines actually syncing their insides (battery, smelter in/out), remote players getting real bodies and nametags, networking build mode, and probably the nuclear reactor. this game is starting to feel like a game you could play with a friend, which is either great or terrifying."}, {"post_id": 44029, "ts": "2026-08-09T15:13:14Z", "hours": 9.5672, "text": "#Project: Core — Devlog #5 so heres whats happened since devlog 4: INVENTORY (the MARRIAGE): the old and new inventory system finally live together happily SMELTER: turns out the smelter not working was just the inventory hiding things from it. Fixed tho. BUILD MODE (it did literally nothing): found out buildItems was an empty list, so pressing the build key did absolutely nothing except make me feel stupid, istg it had stuff before also the placement key was set to 1 which was fighting with the hotbar, so its back to B. SAVE SYSTEM: inventory was never being saved because the Inventory manager that was supposed to save disappeared. also fixed machineType on the mini drill so machines dont all respawn as the same drill on load. MINI DRILL (quality of life, battery edition): ~5 minutes of drilling. now it works until the battery dies. the UI also shows name + battery. Bug fixes: Everything works better now, still has the same bugs since the last time tho, less severe but still there. current issues: -machine internal state (battery, smelter input/output) –isnt saved yet — position yes, battery no. -building snap is still mid -cables still dont have a real material whats next: conveyors actually moving items visually, nuclear reactors (3.6 Roentgen), proper build UI instead of scroll wheel, and like the game itself. this game is starting to seem like an indie solo game and not an ugly prefabs spam."}, {"post_id": 41499, "ts": "2026-08-05T19:01:38Z", "hours": 9.8056, "text": "Project: Core — Devlog -4 soo things since devlog 3: POWER SYSTEM (ELECTRIC MAYHEM): we finally got electricity theres now a whole eletric system folder with ports, wires, a diesel engine and a battery. the diesel gen vibrates when its running (hu hum it is 48k triangles tho), ports light up when you look at them and you place actual cables by clicking port to port like a real electrician (no cap) also you hold right click on a port to remove a cable (still scared to add a nuclear reactor with these physics but SOMEDAY). Wires: the wire tool had like 30 compile errors because i was using the XOR operator (^) on gameobjects which apparently is not a thing in C# heheheh. then once it compiled the wires just didnt carry power at all. turns out the generator emits its value ONCE on startup before the wire even exists, and then never emits again because “nothing changed”. fixed it by pushing the value when the connection is made instead of waiting for a change. power flows now (i think). Smelter: the smelter works! put stuff in, timer, different stuff comes out. integrates with conveyors so production chains exist now (theoreticaly) drag and drop between inventory and smelter is still a gamble though. Performance patch: game was lagging near the diesel gen and battery. turns out vibrating a mesh with 19.2k vertices every single frame is expensive. cached materials instead of making new ones every frame and stopped writing transform values that never change. also found a real memory leak: wires were subscribing to ports and never unsubscribing, so every destroyed cable was eating the game forever.Bug fixes (the usual): wire tool now auto-creates its temp wire so you dont have to wire up the wire tool to use the wire tool, null checks on everything because apparently i hate myself. current issues:inventory drag is still 50/50 (better odds than a lot of stuff) still two inventory systems coexisting (im scared that if i delete the old one everything will break so ill just make them get married) building snap is still mid. wires look janky and cables dont have a real material yet. whats next:conveyors actually moving items visually, nuclear reactors (the power system is real now so the threat of chernobyl is real), proper build UI instead of scroll wheel making the drag and drop stop being a crying baby every time i fix one thing two more break, but now the electricity works AND the smelter works so my factory is basically a machine of machines. still eating me alive but its loopable."}, {"post_id": 35388, "ts": "2026-07-26T19:09:42Z", "hours": 10.3497, "text": "Project: Core — Devlog #3 (the “nothing works but also everything works” update) so heres whats happened since devlog 2: -Smelter :finally got a smelter working. You put resources in, it processes them, you get a different resource out. its on a timer and integrates with conveyors so you can actually start automating production chains now, the product doesnt really exist yet tho so… took way longer than it shouldve to make something that just… melts stuff too . -Ore Deposits & Regeneration minerals are no longer infinite free real estate. ore deposits now have a set amount and the drill actually depletes them. BUT they regenerate over time so the factory doesnt just die. also made an ore spawner that respawns ores when they get collected so the map doesnt end up empty ( dont have a map yet tho 😭 ) -Inventory Rework (pain) this was the big one. went through like 3 different versions of the inventory system. right now it has: items (ItemSO), Slot UI with drag and dropHotbar (keys 1-9), Toggle with TAB key . honestly the drag and drop is still a bit buggy but it works. the old inventory manager is still there in the background because the save system depends on it and im not touching that yet (maybe never i might just hide the ugly UI and update the old inventory items with the old one) Bug Fixes (the usual): drills spawning in the air instead of on the ground (TRIED fixing but didnt work), storage containers being clickable from across the map (added distance check), ghost buildings having memory leaks from duplicate materials (cached them). its actually starting to feel like a factory game tho :D current issues: inventory drag is 50/50 on whether it decides to cooperate (Gamble 🤑) still two inventory systems coexisting which is terrifying ( inventoryfobia) building snap is still mid ( to be generous) whats next: -conveyors actually moving items visually. -power system (nuclear reactors incoming someday) -proper build UI instead of scroll wheel -getting the inventory to stop being a crying baby. this project is eating me alive daily. every time i fix one thing two more break. but the gameplay loop is actually loopable now so thats something :D"}, {"post_id": 25570, "ts": "2026-07-09T22:05:25Z", "hours": 10.7139, "text": "Project: Core — Devlog #2 (The game finally remembers things.) Since the last devlog, I’ve been focusing less on adding random features and more on building the systems that will actually make the game playable in the long run. What’s New: -Saving & Loading One of the biggest additions is a proper save system. The game now saves: Player position Player rotation Inventory/resources Machines Closing the game no longer means starting from scratch, which is a huge step towards making the game feel like an actual factory game. Main Menu & Game Flow Added: Splah Screen (unity provides it) Main Menu New Game Continue (loads your save) Quit button The inventory system has been reworked and is now integrated with the save system. Resources are properly stored and restored when loading a save, making progression persistent. Mining Drill Improvements The drill animation has been completely redone, and the models aswell: Lowers into the ground. Starts spinning after reaching the surface. Continues drilling while slowly pushing deeper into the ground. (there is also another drill that is limited and another one ilimited) It’s a small detail, but it makes the machine feel much more believable. #General Improvements: Lots of bug fixes. ( now there is only like 14 of them) Cleaner project structure. Better organization of scripts and gameobjects. More preparation for future automation systems. #Current Progress Current gameplay looks something like this: Collect resources, Build machines,Save your progress,Continue expanding your factory The gameplay loop is slowly starting to feel complete, although there’s still a lot to add. What’s Next? turning this from a collection of systems into an actual game. Planned features include: -Resource deposits -Power generation ( YES NUCLEAR REACTORS TOO 🔥) -Factory progression -Better UI ( at least try) -Objectives, quotas and tutorial. -More machines ai workers (bots maybe not ai since i dont want it to be cpu consuming) -Multiplayer (later in development) Current Challenges The biggest challenge isn’t adding features anymore. It’s making all the different systems work together without breaking everything else. Every new feature somehow manages to create two new bugs, which is basically what i am programmed to do atp Overall, I’m really happy with the progress."}, {"post_id": 20350, "ts": "2026-07-01T22:35:06Z", "hours": 9.7589, "text": "Nuclear Factory ChaosDevlog #1 (The first devlog that actually counts) I chose to make this game on unity. What I’ve Done So Far: Player Systems: FPS Movement Frst Person Camera Sprinting Footstep Sounds (running only because of bug) Pause Menu (ESC) Head Bob System (this was a huge pain) Crosshair Interaction: Interaction System (E) Center Raycast System (or whatever the name of this might be) Resources: Collectable Ores Ore Spawner Inventory Manager Inventory UI (simple and ugly for now) Building System: Build Mode (B) Building Rotation (R) Scroll Wheel Building Selection ( only until i make a UI for it) Ghost Buildings Grid Placement System Build Costs Automation: First Mining Drill Automatic Resource Production The player now has a fully functional FPS controller, which is a bit buggy rn but works. Building is the most interactive and important part of the project so far, i made building simple while still feeling satisfying to do it. Resources are now required to construct buildings, creating the first real gameplay loop and there is also a mining drill so we can start automating the process. Current Issues & Bugs Like every Unity project, there are a few problems that still need to be solved. This is way harder than i thought and making a game even if its simple is very time consuming and hard, needing to fix bugs every minute. Overall, I think the project is progressing well, and the core gameplay loop is finally starting to come together. (yes thats a house dont mind the quality, currently it doesnt snap well to other parts)"}, {"post_id": 3678, "ts": "2026-06-06T18:45:15Z", "hours": 0.8994, "text": "Made a scene to set up building and character movement, I used a package for the Person Controller since it works very well, made some adjustements to it tho since it had a few bugs and unnecesary stuff."}]...
|
Title: SCP: Containment Protocol by @Serra00 | Sta Title: SCP: Containment Protocol by @Serra00 | Stardance
Devlogs:
Made a scene to set up building and character movement, I used a package for the Person Controller since it works very well, made some adjustements to it tho since it had a few bugs and unnecesary stuff.
Nuclear Factory ChaosDevlog #1 (The first devlog that actually counts) I chose to make this game on unity. What I’ve Done So Far: Player Systems: FPS Movement Frst Person Camera Sprinting Footstep Sounds (running only because of bug) Pause Menu (ESC) Head Bob System (this was a huge pain) Crosshair Interaction: Interaction System (E) Center Raycast System (or whatever the name of this might be) Resources: Collectable Ores Ore Spawner Inventory Manager Inventory UI (simple and ugly for now) Building System: Build Mode (B) Building Rotation (R) Scroll Wheel Building Selection ( only until i make a UI for it) Ghost Buildings Grid Placement System Build Costs Automation: First Mining Drill Automatic Resource Production The player now has a fully functional FPS controller, which is a bit buggy rn but works. Building is the most interactive and important part of the project so far, i made building simple while still feeling satisfying to do it. Resources are now required to construct buildings, creating the first real gameplay loop and there is also a mining drill so we can start automating the process. Current Issues & Bugs Like every Unity project, there are a few problems that still need to be solved. This is way harder than i thought and making a game even if its simple is very time consuming and hard, needing to fix bugs every minute. Overall, I think the project is progressing well, and the core gameplay loop is finally starting to come together. (yes thats a house dont mind the quality, currently it doesnt snap well to other parts)
Project: Core — Devlog #2 (The game finally remembers things.) Since the last devlog, I’ve been focusing less on adding random features and more on building the systems that will actually make the game playable in the long run. What’s New: -Saving & Loading One of the biggest additions is a proper save system. The game now saves: Player position Player rotation Inventory/resources Machines Closing the game no longer means starting from scratch, which is a huge step towards making the game feel like an actual factory game. Main Menu & Game Flow Added: Splah Screen (unity provides it) Main Menu New Game Continue (loads your save) Quit button The inventory system has been reworked and is now integrated with the save system. Resources are properly stored and restored when loading a save, making progression persistent. Mining Drill Improvements The drill animation has been completely redone, and the models aswell: Lowers into the ground. Starts spinning after reaching the surface. Continues drilling while slowly pushing deeper into the ground. (there is also another drill that is limited and another one ilimited) It’s a small detail, but it makes the machine feel much more believable. #General Improvements: Lots of bug fixes. ( now there is only like 14 of them) Cleaner project structure. Better organization of scripts and gameobjects. More preparation for future automation systems. #Current Progress Current gameplay looks something like this: Collect resources, Build machines,Save your progress,Continue expanding your factory The gameplay loop is slowly starting to feel complete, although there’s still a lot to add. What’s Next? turning this from a collection of systems into an actual game. Planned features include: -Resource deposits -Power generation ( YES NUCLEAR REACTORS TOO 🔥) -Factory progression -Better UI ( at least try) -Objectives, quotas and tutorial. -More machines ai workers (bots maybe not ai since i dont want it to be cpu consuming) -Multiplayer (later in development) Current Challenges The biggest challenge isn’t adding features anymore. It’s making all the different systems work together without breaking everything else. Every new feature somehow manages to create two new bugs, which is basically what i am programmed to do atp Overall, I’m really happy with the progress.
Project: Core — Devlog #3 (the “nothing works but also everything works” update) so heres whats happened since devlog 2: -Smelter :finally got a smelter working. You put resources in, it processes them, you get a different resource out. its on a timer and integrates with conveyors so you can actually start automating production chains now, the product doesnt really exist yet tho so… took way longer than it shouldve to make something that just… melts stuff too . -Ore Deposits & Regeneration minerals are no longer infinite free real estate. ore deposits now have a set amount and the drill actually depletes them. BUT they regenerate over time so the factory doesnt just die. also made an ore spawner that respawns ores when they get collected so the map doesnt end up empty ( dont have a map yet tho 😭 ) -Inventory Rework (pain) this was the big one. went through like 3 different versions of the inventory system. right now it has: items (ItemSO), Slot UI with drag and dropHotbar (keys 1-9), Toggle with TAB key . honestly the drag and drop is still a bit buggy but it works. the old inventory manager is still there in the background because the save system depends on it and im not touching that yet (maybe never i might just hide the ugly UI and update the old inventory items with the old one) Bug Fixes (the usual): drills spawning in the air instead of on the ground (TRIED fixing but didnt work), storage containers being clickable from across the map (added distance check), ghost buildings having memory leaks from duplicate materials (cached them). its actually starting to feel like a factory game tho :D current issues: inventory drag is 50/50 on whether it decides to cooperate (Gamble 🤑) still two inventory systems coexisting which is terrifying ( inventoryfobia) building snap is still mid ( to be generous) whats next: -conveyors actually moving items visually. -power system (nuclear reactors incoming someday) -proper build UI instead of scroll wheel -getting the inventory to stop being a crying baby. this project is eating me alive daily. every time i fix one thing two more break. but the gameplay loop is actually loopable now so thats something :D
Project: Core — Devlog -4 soo things since devlog 3: POWER SYSTEM (ELECTRIC MAYHEM): we finally got electricity theres now a whole eletric system folder with ports, wires, a diesel engine and a battery. the diesel gen vibrates when its running (hu hum it is 48k triangles tho), ports light up when you look at them and you place actual cables by clicking port to port like a real electrician (no cap) also you hold right click on a port to remove a cable (still scared to add a nuclear reactor with these physics but SOMEDAY). Wires: the wire tool had like 30 compile errors because i was using the XOR operator (^) on gameobjects which apparently is not a thing in C# heheheh. then once it compiled the wires just didnt carry power at all. turns out the generator emits its value ONCE on startup before the wire even exists, and then never emits again because “nothing changed”. fixed it by pushing the value when the connection is made instead of waiting for a change. power flows now (i think). Smelter: the smelter works! put stuff in, timer, different stuff comes out. integrates with conveyors so production chains exist now (theoreticaly) drag and drop between inventory and smelter is still a gamble though. Performance patch: game was lagging near the diesel gen and battery. turns out vibrating a mesh with 19.2k vertices every single frame is expensive. cached materials instead of making new ones every frame and stopped writing transform values that never change. also found a real memory leak: wires were subscribing to ports and never unsubscribing, so every destroyed cable was eating the game forever.Bug fixes (the usual): wire tool now auto-creates its temp wire so you dont have to wire up the wire tool to use the wire tool, null checks on everything because apparently i hate myself. current issues:inventory drag is still 50/50 (better odds than a lot of stuff) still two inventory systems coexisting (im scared that if i delete the old one everything will break so ill just make them get married) building snap is still mid. wires look janky and cables dont have a real material yet. whats next:conveyors actually moving items visually, nuclear reactors (the power system is real now so the threat of chernobyl is real), proper build UI instead of scroll wheel making the drag and drop stop being a crying baby every time i fix one thing two more break, but now the electricity works AND the smelter works so my factory is basically a machine of machines. still eating me alive but its loopable.
#Project: Core — Devlog #5 so heres whats happened since devlog 4: INVENTORY (the MARRIAGE): the old and new inventory system finally live together happily SMELTER: turns out the smelter not working was just the inventory hiding things from it. Fixed tho. BUILD MODE (it did literally nothing): found out buildItems was an empty list, so pressing the build key did absolutely nothing except make me feel stupid, istg it had stuff before also the placement key was set to 1 which was fighting with the hotbar, so its back to B. SAVE SYSTEM: inventory was never being saved because the Inventory manager that was supposed to save disappeared. also fixed machineType on the mini drill so machines dont all respawn as the same drill on load. MINI DRILL (quality of life, battery edition): ~5 minutes of drilling. now it works until the battery dies. the UI also shows name + battery. Bug fixes: Everything works better now, still has the same bugs since the last time tho, less severe but still there. current issues: -machine internal state (battery, smelter input/output) –isnt saved yet — position yes, battery no. -building snap is still mid -cables still dont have a real material whats next: conveyors actually moving items visually, nuclear reactors (3.6 Roentgen), proper build UI instead of scroll wheel, and like the game itself. this game is starting to seem like an indie solo game and not an ugly prefabs spam.
Project: Core — Devlog #6 so heres whats happened since devlog 5: the game has people in it now. kind of. MULTIPLAYER (oh god): threw Mirror in and made everything server authoritative. NETWORK PLAYER: movement runs on the server now. the client just sends “m holding W and shift and looking this way 30 times a second and the server does the actual math. sprint works, gravity works. INTERACTION: pressing E shoots the ray on the server now, with a distance check so you cant magnet-fist ores from across the map. HEALTH: health is a SyncVar with a hook so the bar updates everywhere, theres a kill plane and a respawn that resets the controller and velocity instead of leaving you glitching through the floor. Bug fixes: everyone can see the same world now, which is a big one. same bugs as before, just now they happen in two windows at once . current issues: machines still arent really networked yet, NetworkMachine is just the base drill battery, smelter insides and conveyor stuff are still convinced the game is singleplayer. power grid is basically how much power we say we have instead of a real grid, remote players dont have a visible body, building mode is not networked. whats next: machines actually syncing their insides (battery, smelter in/out), remote players getting real bodies and nametags, networking build mode, and probably the nuclear reactor. this game is starting to feel like a game you could play with a friend, which is either great or terrifying.
Project: Core — Devlog 7 nuclear reactor (peak) REACTOR PHYSICS: built a proper six-factor formula model (K_eff = ε·L_f·ρ·L_th·f·η), i have no idea what this means but i saw it in a doc from the USA department of nuclear power or smth. each factor maps to something the player actually controls: rods affect thermal utilization, coolant affects resonance escape + void coefficient, temperature gives Doppler feedback. K_eff > 1 = supercritical, K_eff < 1 = subcritical. this took like 6 iterations to calibrate and a lot of help from AI cause i dont know nuclear physics. DELAYED NEUTRONS: power doesn’t change instantly when you move the rods. THERMAL CHAIN: power heat core temp steam production steam pressure turbine electrical output. nothing happens instantly. SCRAM & SAFETY: auto-SCRAM at temp ≥ 92%, pressure ≥ 95%, coolant ≤ 5%. meltdown at 98% with an 8s grace period. warning states at 75% temp, 70% pressure, 20% coolant. SCRAM drives rods to full insert at 0.3/s (~3s total). the void coefficient is BWR-positive (whatever this means), lose coolant and reactivity spikes before the SCRAM catches it. CONTROLS: SignalLever and SignalButton (more to come) now use the channel system. bidirectional sync, if the reactor changes a channel (SCRAM pushes rods), the lever position updates to match, or it will just break everything. BUGS:lever was so sensitive you could SCRAM by breathing on it. everyhing works but not that well
Only works by creating a server, at the online mode part and doesnt really work the offline part. Github has a lot of code dumps because I have been creating devlogs in hereGAME DOESNT WORK WELL IN LINUX, BUT ITS A PROBLEM WITH THE BUILD FROM UNITY GAME ENGINE, PROBABLY SHADERS TOO, IT WORKS BUT LAGGY, PLEASE TRY ON WINDOWS. This game has reached its mvp playable state, at least on my levels. Network was fixed and everything syncs perfectly now, electricity works well, and building works, not well but works.
fixed webgl bugs and unity build bugs
Ships:
Only works by creating a server, at the online mode part and doesnt really work the offline part. Github has a lot of code dumps because I have been creating devlogs in here GAME DOESNT WORK WELL IN LINUX, BUT ITS A PROBLEM WITH THE BUILD FROM UNITY GAME ENGINE, PROBABLY SHADERS TOO, IT WORKS BUT LAGGY, PLEASE TRY ON WINDOWS. This game has reached its mvp playable state, at least on my levels. Network was fixed and everything syncs perfectly now, electricity works well, and building works, not well but works. B...
|
1793004718.5396101
|
1793091118.5396101
|
|
6382
|
Run and jump game by @charliebthomas | Stardance
|
charliebthomas
|
1
|
7.3
|
8
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T21:17:05Z", "hours": 7.0, "multiplier": 1.11, "payout": 8, "blessing": "neutral", "text": "I made a run-and-jump game. I am fully aware that it is not yet fully complete; however, I am starting to head into exam season, so I now need to focus on them, so I will not have time to fully finish before the deadline. I still need to make it so it starts on the Home Screen and the game over banner looks nicer, make the platforms go up and down, and have a moving background. However, I hope you like what is made. Sorry if this is hard to read; I have dyslexia.", "repo": "https://github.com/charliebthomas-source/Coding", "demo": "https://charlieburt.itch.io/jumping-game"}]...
|
[{"post_id": 73681, "ts": "202 [{"post_id": 73681, "ts": "2026-09-25T17:55:54Z", "hours": 0.3031, "text": "made a proper read me and made it so the the jump volocity is not working properly."}, {"post_id": 68142, "ts": "2026-09-14T16:08:22Z", "hours": 3.8286, "text": "I know not many updates for this project i just keep on forgetting. I have now got it so we have a home screen we have a max score and a restart button. there are still some bugs and am working on them."}, {"post_id": 14943, "ts": "2026-06-24T08:42:44Z", "hours": 3.5458, "text": "I know i have done a of code without e devlog i have just been forgetting to. So far i have made it so the platforms are veriable distance and the player jumps a veriable distance. I also have it so that when it misses a jump the game get restarted. I also have a progress bar."}]...
|
Title: Run and jump game by @charliebthomas | Star Title: Run and jump game by @charliebthomas | Stardance
Devlogs:
I know i have done a of code without e devlog i have just been forgetting to. So far i have made it so the platforms are veriable distance and the player jumps a veriable distance. I also have it so that when it misses a jump the game get restarted. I also have a progress bar.
I know not many updates for this project i just keep on forgetting. I have now got it so we have a home screen we have a max score and a restart button. there are still some bugs and am working on them.
made a proper read me and made it so the the jump volocity is not working properly.
Ships:
I made a run-and-jump game. I am fully aware that it is not yet fully complete; however, I am starting to head into exam season, so I now need to focus on them, so I will not have time to fully finish before the deadline. I still need to make it so it starts on the Home Screen and the game over banner looks nicer, make the platforms go up and down, and have a moving background. However, I hope you like what is made. Sorry if this is hard to read; I have dyslexia....
|
1793004719.6978276
|
1793091119.6978276
|
|
9883
|
THE WEBB by @Synt-0 | Stardance
|
Synt-0
|
1
|
22.0
|
209
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T19:51:11Z", "hours": 22.0, "multiplier": 9.67, "payout": 209, "blessing": "neutral", "text": "I made an interactive website that shows the journey of the James Webb Space Telescope through the universe! I had a lot of trouble with alignment and other things, but at last, I finished it. This is actually my “first website”, and I learned everything through YouTube and other resources. I’m genuinely proud to have made something of my own and I’m happy to finally share it I recommend visiting the website on a computer *, as it is more optimized for desktop and offers a fuller experience.", "repo": "https://github.com/Synt-0/The-WEBB", "demo": "https://synt-0.github.io/The-WEBB/"}]...
|
[{"post_id": 78426, "ts": "202 [{"post_id": 78426, "ts": "2026-10-10T19:35:32Z", "hours": 2.7153, "text": "FINISHED THE WEBSITE! and will be deployed in a few mins i gave the star icon a api gave the webb a font and all"}, {"post_id": 78137, "ts": "2026-10-09T18:27:32Z", "hours": 5.9328, "text": "THE WEBSITE IS ALMOST OVER! I’ve worked on the popups, the timeline dots, and almost everything else, except for the random image button, the NASA api, and a few related things. But I think I’ll be able to ship it tmw! Honestly, I’m pretty happy with how it’s turning out so far. hopefully you all like it too . i still have to make it reactive and a few more things also can i use brittany font like i downloaded it from a site but it said its for personal use only so can i implement it ? . ANYWAYS YOU CAN SEE THE WEBSITE TMW I BELIEVE"}, {"post_id": 77116, "ts": "2026-10-05T17:42:00Z", "hours": 3.77, "text": "I did the stars , more like i got the code from this site (actually ) https://codepen.io/rkuai/pen/ExLbPWG/ had to do a bit of tweeking to the code to make it work with my own stuff but its good. thank rena (owner of the site ) . and i also am starting to make the popup box for the dots etc did some code for it and broke some things but fixed it . when i started to do js , i found it too complicated and stff . btw after 2 to 3 dev post i will finish the project hopefully i get a good amount of sd/h .. ( funfact - i first started of and aimed for the macbook neo cause my pc is a dell aio with Pentium5405U with 12gb ram <its ddr3 not 5 or 4 > now i have downgraded and downgraded to get mabe the huion tablet [idk why i want it i dont draw]i dont have much time so i am quiting after oct 10th cause i am in 10th and well got a lot to study and my internet access is also getting restricted sometimes ( since my pc use i very high so ya thats it ) . i do have to fix viewport stuff in css since i used px at first and its like calibrated to my screen (not reactive to other screens or brakes on other screens and stuff)"}, {"post_id": 71877, "ts": "2026-09-21T18:02:07Z", "hours": 1.2653, "text": "i worked on aligning the pictures of earth and the jwst . Now the site is actually coming along as like in my design and well still have some issues with the alignment but will figure it out tmw . the issue is there is excess vertical height and its scroll-able to the bottom which has nothing"}, {"post_id": 70208, "ts": "2026-09-18T18:19:47Z", "hours": 2.1378, "text": "This time i worked on the css and a bit in html and i have done the top controls now and need to do the rest tmw. when i did one thing like, formatting another thing breaks and so on .i think i spend 30min on on fixing the mistakes i made and well i have made some progress i have also fixed the top controls after a bit of struggle . i have also formatted the bottom parts a bit too .well thats for it now i guess."}, {"post_id": 66346, "ts": "2026-09-12T03:43:12Z", "hours": 0.8767, "text": "today i finished my html fully now i need to learn css and use it to style my website . i am not going to learn css properly cause i am having less time but i will study the basics from YT and go on with a AI to teach me what all code i need to study for doing my site specifically ."}, {"post_id": 65481, "ts": "2026-09-10T17:21:24Z", "hours": 0.835, "text": "so i worked on the main things of the website today from the dots to a bit of footer . i still have to implement imgs and some other things but it is enough for today i think .for data i am thinking of placing it in js"}, {"post_id": 64926, "ts": "2026-09-09T17:23:40Z", "hours": 2.7072, "text": "I learned a html (not fully) and a bit of css . since i am new to coding i am using AI to teach myself coding but the code above is a bit ai written the “span” code but it did it to make me understand . and i think the website i wanted to make is does getting a bit of its shape i think.."}, {"post_id": 7505, "ts": "2026-06-12T14:52:13Z", "hours": 1.355, "text": "I started learning HTML about a few day ago, and logged my hour. I am thinking to make a website which shows the Earth in the left side, and the James Webb Telescope in the right, and a line connecting both which has dots. Which, when pressed, show the picture that was taken on that day and a bit of info about the pic and other things. So, I am starting off with HTML , and it’s not much. I learned a bit. and here is a sample rough sketch done in canva"}]...
|
Title: THE WEBB by @Synt-0 | Stardance
Devlogs:
I Title: THE WEBB by @Synt-0 | Stardance
Devlogs:
I started learning HTML about a few day ago, and logged my hour. I am thinking to make a website which shows the Earth in the left side, and the James Webb Telescope in the right, and a line connecting both which has dots. Which, when pressed, show the picture that was taken on that day and a bit of info about the pic and other things. So, I am starting off with HTML , and it’s not much. I learned a bit. and here is a sample rough sketch done in canva
I learned a html (not fully) and a bit of css . since i am new to coding i am using AI to teach myself coding but the code above is a bit ai written the “span” code but it did it to make me understand . and i think the website i wanted to make is does getting a bit of its shape i think..
so i worked on the main things of the website today from the dots to a bit of footer . i still have to implement imgs and some other things but it is enough for today i think .for data i am thinking of placing it in js
today i finished my html fully now i need to learn css and use it to style my website . i am not going to learn css properly cause i am having less time but i will study the basics from YT and go on with a AI to teach me what all code i need to study for doing my site specifically .
This time i worked on the css and a bit in html and i have done the top controls now and need to do the rest tmw. when i did one thing like, formatting another thing breaks and so on .i think i spend 30min on on fixing the mistakes i made and well i have made some progress i have also fixed the top controls after a bit of struggle . i have also formatted the bottom parts a bit too .well thats for it now i guess.
i worked on aligning the pictures of earth and the jwst . Now the site is actually coming along as like in my design and well still have some issues with the alignment but will figure it out tmw . the issue is there is excess vertical height and its scroll-able to the bottom which has nothing
I did the stars , more like i got the code from this site (actually ) https://codepen.io/rkuai/pen/ExLbPWG/ had to do a bit of tweeking to the code to make it work with my own stuff but its good. thank rena (owner of the site ) . and i also am starting to make the popup box for the dots etc did some code for it and broke some things but fixed it . when i started to do js , i found it too complicated and stff . btw after 2 to 3 dev post i will finish the project hopefully i get a good amount of sd/h .. ( funfact - i first started of and aimed for the macbook neo cause my pc is a dell aio with Pentium5405U with 12gb ram <its ddr3 not 5 or 4 > now i have downgraded and downgraded to get mabe the huion tablet [idk why i want it i dont draw]i dont have much time so i am quiting after oct 10th cause i am in 10th and well got a lot to study and my internet access is also getting restricted sometimes ( since my pc use i very high so ya thats it ) . i do have to fix viewport stuff in css since i used px at first and its like calibrated to my screen (not reactive to other screens or brakes on other screens and stuff)
THE WEBSITE IS ALMOST OVER! I’ve worked on the popups, the timeline dots, and almost everything else, except for the random image button, the NASA api, and a few related things. But I think I’ll be able to ship it tmw! Honestly, I’m pretty happy with how it’s turning out so far. hopefully you all like it too . i still have to make it reactive and a few more things also can i use brittany font like i downloaded it from a site but it said its for personal use only so can i implement it ? . ANYWAYS YOU CAN SEE THE WEBSITE TMW I BELIEVE
FINISHED THE WEBSITE! and will be deployed in a few mins i gave the star icon a api gave the webb a font and all
Ships:
I made an interactive website that shows the journey of the James Webb Space Telescope through the universe! I had a lot of trouble with alignment and other things, but at last, I finished it. This is actually my “first website”, and I learned everything through YouTube and other resources. I’m genuinely proud to have made something of my own and I’m happy to finally share it I recommend visiting the website on a computer *, as it is more optimized for desktop and offers a fuller experience....
|
1793004720.802435
|
1793091120.802435
|
|
32022
|
TungstenScore by @triple-colons | Stardance
|
triple-colons
|
1
|
12.0
|
138
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T11:57:36Z", "hours": 12.0, "multiplier": 11.09, "payout": 138, "blessing": "neutral", "text": "TungstenScore (v0.5.1) TungstenScore is a lightweight, open-source security assessment tool for Windows. It checks important Windows security settings and gives your system a security score, making it easier to understand how well your PC is protected and what could be improved. One of the hardest parts of building TungstenScore was working with the Windows APIs and reading security-related information from the Windows Registry. Different security features expose their state in different ways, so figuring out how to reliably retrieve and interpret that information was one of the biggest challenges during development. What I’m most proud of, though, is the structure of the project. TungstenScore still has a relatively small set of features, but I focused on making its foundation small, solid, and extensible. New security checks and other features can be added without having to redesign the entire application. Building that solid foundation is probably the part of this project I’m most proud of. TungstenScore is still under development, and I plan to add more security checks and improve the scoring system over time. You can now try TungstenScore yourself! You can download a pre-built version from my website, or download the source code and build it yourself using Cargo. Language note: English is not my native language, and I’m not very confident writing in English yet. I originally wrote this devlog in Korean and used an AI tool to help translate it into English.", "repo": "https://github.com/dw1210/TungstenScore", "demo": "https://dw1210.github.io/TungstenScore-website/"}]...
|
[{"post_id": 64166, "ts": "202 [{"post_id": 64166, "ts": "2026-09-08T11:47:36Z", "hours": 0.3094, "text": "devlog #7 (v0.5.1) I fixed some bugs for my first release!"}, {"post_id": 46804, "ts": "2026-08-14T09:49:41Z", "hours": 3.4444, "text": "Devlog #6 (v0.5.0) [Project Summary] TungstenScore is a Windows security assessment tool built with Rust. It evaluates your Windows system’s security posture and generates an overall security score. [Project Plan] Add security checks a. Firewall (Done) b. UAC (Done) c. TPM 2.0 (Added Today!) d. System integrity e. Hidden accounts f. Disk encryption g. etc. Add an auto-fix feature Add a GUI And more… [What I Did] I decided to remove the Windows version check from the roadmap because I couldn’t find a reliable way to retrieve the latest update info locally. I also don’t want the app to connect to the internet, as users might prefer an offline tool and maintaining a dedicated version API server would add extra overhead. Today, I added the TPM 2.0 check. It took a while to implement because this check requires admin privileges. I had to investigate what was causing the permission errors and figure out how to handle them gracefully. As a solution, I added an option to relaunch the app as administrator: If you type “Y”, the program will restart with admin privileges. If you type “N”, the check will be marked as “Requires administrator privileges” and excluded from the scan score (as shown in the attached screenshot). [Next Version Plan] I’ll be adding a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 34533, "ts": "2026-07-25T10:21:33Z", "hours": 2.4397, "text": "Devlog #5 (v0.4.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It evaluates your Windows system security and generates an overall security score. [Project Plan] (No changes today) 1.Add security checks a. Firewall (Done) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. 2.Add an auto-fix feature 3.Add a GUI 4.And more… [What I Did] I refactored the code structure! It was a bit challenging, but I’ve separated the codebase into multiple files, as shown in the attached screenshot. I decided not to release version 0.4.0 yet since there aren’t any major feature updates. Additionally, I fixed some typos. [Next Version Plan] I’ll add a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 33911, "ts": "2026-07-24T06:32:03Z", "hours": 0.9403, "text": "Devlog #4 (v0.3.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It checks your Windows system security and generates an overall security score. [Project Plan] Add security checks a. Firewall (Added today) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. Add an auto-fix feature Add a GUI And more… [What I Did] I finally managed to build the Firewall checker! It reads directly from the Windows Registry. Since I worked on a different computer that didn’t have Hackatime installed, my development time was only partially logged. [Next Version Plan] In the next release, I’ll fix some typos (my English isn’t great yet! 😅) and refactor the code structure for better maintainability. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 28289, "ts": "2026-07-14T13:31:54Z", "hours": 0.8381, "text": "Devlog #3 I made the TungstenScore website! https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 27017, "ts": "2026-07-12T04:57:02Z", "hours": 3.1203, "text": "Devlog #2 (v0.2.0) [Project summary] ‘TungstenScore’ is a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a. Firewall b.»UAC« - I made this today. c.Windows version d.Etc 2.Add an auto-fix feature 3.Add GUI 4.And more… [What I did] Initially, I attempted to add a Windows version checker but ran into issues. I’m going to find a new way to make this later. So, I made UAC checker and score system today! [Next version plan] In the next version, I’m going to make a Windows version checker and a companion website for the project! [Repo link] https://github.com/dw1210/TungstenScore"}, {"post_id": 26531, "ts": "2026-07-11T12:12:39Z", "hours": 1.315, "text": "Devlog #1 (v0.1.0) Today, I started building TungstenScore, a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a.Firewall b.UAC c.Windows version d.Etc. Add an auto-fix feature Add GUI And more… [What I did] I created a basic CLI structure, including the menu system and the ‘About’ screen. [What I’m going to do] In the next version, I will add some security checks, such as verifying the firewall status. [Repo link] https://github.com/dw1210/TungstenScore"}]...
|
Title: TungstenScore by @triple-colons | Stardance Title: TungstenScore by @triple-colons | Stardance
Devlogs:
Devlog #1 (v0.1.0) Today, I started building TungstenScore, a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a.Firewall b.UAC c.Windows version d.Etc. Add an auto-fix feature Add GUI And more… [What I did] I created a basic CLI structure, including the menu system and the ‘About’ screen. [What I’m going to do] In the next version, I will add some security checks, such as verifying the firewall status. [Repo link] https://github.com/dw1210/TungstenScore
Devlog #2 (v0.2.0) [Project summary] ‘TungstenScore’ is a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a. Firewall b.»UAC« - I made this today. c.Windows version d.Etc 2.Add an auto-fix feature 3.Add GUI 4.And more… [What I did] Initially, I attempted to add a Windows version checker but ran into issues. I’m going to find a new way to make this later. So, I made UAC checker and score system today! [Next version plan] In the next version, I’m going to make a Windows version checker and a companion website for the project! [Repo link] https://github.com/dw1210/TungstenScore
Devlog #3 I made the TungstenScore website! https://dw1210.github.io/TungstenScore-website/
Devlog #4 (v0.3.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It checks your Windows system security and generates an overall security score. [Project Plan] Add security checks a. Firewall (Added today) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. Add an auto-fix feature Add a GUI And more… [What I Did] I finally managed to build the Firewall checker! It reads directly from the Windows Registry. Since I worked on a different computer that didn’t have Hackatime installed, my development time was only partially logged. [Next Version Plan] In the next release, I’ll fix some typos (my English isn’t great yet! 😅) and refactor the code structure for better maintainability. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/
Devlog #5 (v0.4.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It evaluates your Windows system security and generates an overall security score. [Project Plan] (No changes today) 1.Add security checks a. Firewall (Done) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. 2.Add an auto-fix feature 3.Add a GUI 4.And more… [What I Did] I refactored the code structure! It was a bit challenging, but I’ve separated the codebase into multiple files, as shown in the attached screenshot. I decided not to release version 0.4.0 yet since there aren’t any major feature updates. Additionally, I fixed some typos. [Next Version Plan] I’ll add a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/
Devlog #6 (v0.5.0) [Project Summary] TungstenScore is a Windows security assessment tool built with Rust. It evaluates your Windows system’s security posture and generates an overall security score. [Project Plan] Add security checks a. Firewall (Done) b. UAC (Done) c. TPM 2.0 (Added Today!) d. System integrity e. Hidden accounts f. Disk encryption g. etc. Add an auto-fix feature Add a GUI And more… [What I Did] I decided to remove the Windows version check from the roadmap because I couldn’t find a reliable way to retrieve the latest update info locally. I also don’t want the app to connect to the internet, as users might prefer an offline tool and maintaining a dedicated version API server would add extra overhead. Today, I added the TPM 2.0 check. It took a while to implement because this check requires admin privileges. I had to investigate what was causing the permission errors and figure out how to handle them gracefully. As a solution, I added an option to relaunch the app as administrator: If you type “Y”, the program will restart with admin privileges. If you type “N”, the check will be marked as “Requires administrator privileges” and excluded from the scan score (as shown in the attached screenshot). [Next Version Plan] I’ll be adding a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/
devlog #7 (v0.5.1) I fixed some bugs for my first release!
Ships:
TungstenScore (v0.5.1) TungstenScore is a lightweight, open-source security assessment tool for Windows. It checks important Windows security settings and gives your system a security score, making it easier to understand how well your PC is protected and what could be improved. One of the hardest parts of building TungstenScore was working with the Windows APIs and reading security-related information from the Windows Registry. Different security features expose their state in different ways, so figuring out how to reliably retrieve and interpret that information was one of the biggest challenges during development. What I’m most proud of, though, is the structure of the project. TungstenScore still has a relatively small set of features, but I focused on making its foundation small, solid, and extensible. New security checks and other features can be added without having to redesign the entire application. Building that solid foundation is probably the part of this project I’m most proud of. TungstenScore is still under development, and I plan to add more security checks and improve the scoring system over time. You can now try TungstenScore yourself! You can download a pre-built version from my website, or download the source code and build it yourself using Cargo. Language note: English is not my native language, and I’m not very confident writing in English yet. I originally wrote this devlog in Korean and used an AI tool to help translate it into English....
|
1793004721.972546
|
1793091121.972546
|
|
13666
|
My very own WebOS by @starr | Stardance
|
starr
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T08:09:55Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have finally made my first webOS with a welcome window, notes app and stopwatch app. The most challenging part of this project was learning to use JavaScript and trying to code some of the logic myself (and debugging it too!!).", "repo": "https://github.com/userr73/First-WebOS", "demo": "https://userr73.github.io/First-WebOS/"}]...
|
[{"post_id": 73042, "ts": "202 [{"post_id": 73042, "ts": "2026-09-24T08:07:12Z", "hours": 0.4772, "text": "Made some quick updates to the desktop apps so that is is structured into a grid and also changed some content in the welcome and notes window"}, {"post_id": 71708, "ts": "2026-09-21T10:59:57Z", "hours": 0.9417, "text": "Stopwatch App I found a video tutorial for making a stopwatch in JS. The original vid had three separate buttons for START, STOP and RESET, but I changed this so that the START and STOP button are combined together."}, {"post_id": 68034, "ts": "2026-09-14T12:33:41Z", "hours": 1.1922, "text": "idk - Notes app content update + element exceeding window bug?? I updated the HTML so that I can add content through JavaScript so it does not need to be hard coded into the HTML file. I spent of bit of time debugging this as I couldn’t figure out why some of the content I added to the Notes app was disappearing when I clicked it. Turns out there were a few issues like calling the same function twice, but I also realised I added an event listener that ran the wrong function which was why some of the content was disappearing. Also, I did the ‘additional challenges’ in the guide, mainly the 4th point about the bug where windows can exceed the screen width and height. I used a bit of Gemini here to figure out how to get max and min values from a set of numbers (Maths.min and Maths.max) and also used W3Schools to get the window height and width as well as the div element’s own height and width. Using this, I implemented my own logic (with an if statement) to contain the element within the viewport height and width. This took a tiny bit of trial and error coz I kept getting confused on when to use min and when to use max but I got there eventually"}, {"post_id": 65925, "ts": "2026-09-11T11:55:43Z", "hours": 0.9047, "text": "Update JS code file structure + Creating the Notes app functionality I spent some time updating the structure of my js file by reordering some code and also creating functions for any repeated tasks such as initialising windows. I also worked on my Notes app and played around with some border and outline properties to see what combination of styles would make it easier for users to edit in the app. I ended up with going for a left border indicator type of thing (the colours in the screenshot below aren’t final since I haven’t worked on the overall style of my OS yet so I just went with grey and black)"}, {"post_id": 64728, "ts": "2026-09-09T11:13:39Z", "hours": 0.6311, "text": "Working with z-index Continuing with the guide, I’ve added code that ensures that whenever a window clicks, it rises to the top using the z-index property. I did the same for the top bar. Bugs An issue I faced was when I tried to use the function addWindowTapHandling() for my notes screen but I forgot that I defined the notesScreen variable later on in js file so the notes app disappeared from my OS screen for a bit. I also got really stuck on why my top bar wasn’t rising above the windows so I put my js file into Gemini and I realised it was because I had two openWindow() functions and the second one was the old version that did not have the added lines of code."}, {"post_id": 63485, "ts": "2026-09-07T11:20:20Z", "hours": 1.1106, "text": "Adding my second window I have begun working on my second window which will be a notes app. I continued to follow the guide and created an icon for the app and also a new window for it. It’s mostly taken a while to sort out the js file since I got confused with why the window wasn’t popping up at first (I didn’t name the classes and ids for the divs correctly). Here’s the update:"}, {"post_id": 61460, "ts": "2026-09-04T12:05:06Z", "hours": 2.1317, "text": "Setting up the background, top bar, window So far, I have followed the guide and created the background page with a top bar and created my first welcome page window (the content is random right now - I’ll update this later). The window is also draggable at the handle. I’m still working on what kind of style I want to aim for in my OS… Also, this is kinda my first devlog because I thought my devlogs were broken (turns out I just couldn’t figure out how to use this 💀)"}]...
|
Title: My very own WebOS by @starr | Stardance
De Title: My very own WebOS by @starr | Stardance
Devlogs:
Setting up the background, top bar, window So far, I have followed the guide and created the background page with a top bar and created my first welcome page window (the content is random right now - I’ll update this later). The window is also draggable at the handle. I’m still working on what kind of style I want to aim for in my OS… Also, this is kinda my first devlog because I thought my devlogs were broken (turns out I just couldn’t figure out how to use this 💀)
Adding my second window I have begun working on my second window which will be a notes app. I continued to follow the guide and created an icon for the app and also a new window for it. It’s mostly taken a while to sort out the js file since I got confused with why the window wasn’t popping up at first (I didn’t name the classes and ids for the divs correctly). Here’s the update:
Working with z-index Continuing with the guide, I’ve added code that ensures that whenever a window clicks, it rises to the top using the z-index property. I did the same for the top bar. Bugs An issue I faced was when I tried to use the function addWindowTapHandling() for my notes screen but I forgot that I defined the notesScreen variable later on in js file so the notes app disappeared from my OS screen for a bit. I also got really stuck on why my top bar wasn’t rising above the windows so I put my js file into Gemini and I realised it was because I had two openWindow() functions and the second one was the old version that did not have the added lines of code.
Update JS code file structure + Creating the Notes app functionality I spent some time updating the structure of my js file by reordering some code and also creating functions for any repeated tasks such as initialising windows. I also worked on my Notes app and played around with some border and outline properties to see what combination of styles would make it easier for users to edit in the app. I ended up with going for a left border indicator type of thing (the colours in the screenshot below aren’t final since I haven’t worked on the overall style of my OS yet so I just went with grey and black)
idk - Notes app content update + element exceeding window bug?? I updated the HTML so that I can add content through JavaScript so it does not need to be hard coded into the HTML file. I spent of bit of time debugging this as I couldn’t figure out why some of the content I added to the Notes app was disappearing when I clicked it. Turns out there were a few issues like calling the same function twice, but I also realised I added an event listener that ran the wrong function which was why some of the content was disappearing. Also, I did the ‘additional challenges’ in the guide, mainly the 4th point about the bug where windows can exceed the screen width and height. I used a bit of Gemini here to figure out how to get max and min values from a set of numbers (Maths.min and Maths.max) and also used W3Schools to get the window height and width as well as the div element’s own height and width. Using this, I implemented my own logic (with an if statement) to contain the element within the viewport height and width. This took a tiny bit of trial and error coz I kept getting confused on when to use min and when to use max but I got there eventually
Stopwatch App I found a video tutorial for making a stopwatch in JS. The original vid had three separate buttons for START, STOP and RESET, but I changed this so that the START and STOP button are combined together.
Made some quick updates to the desktop apps so that is is structured into a grid and also changed some content in the welcome and notes window
Ships:
I have finally made my first webOS with a welcome window, notes app and stopwatch app. The most challenging part of this project was learning to use JavaScript and trying to code some of the logic myself (and debugging it too!!)....
|
1793004723.120417
|
1793091123.120417
|
|
36761
|
Mistral Render by @nejenabinupa | Stardance
|
nejenabinupa
|
1
|
19.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T20:50:18Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is my video 3d project i make in blender, all of the details are in my readme :) hope you enjoy", "repo": "https://github.com/binupax6699/BUGATTI-MISTRAL-3D-CINEMATIC", "demo": "https://youtube.com/shorts/ZmAk8Z7RWeg?si=TdBVIASjr5qswlSs"}]...
|
[{"post_id": 58127, "ts": "202 [{"post_id": 58127, "ts": "2026-08-30T14:12:38Z", "hours": 3.4978, "text": "I rerendered the video because it look so noisy and Chang the render engine to eevee to make it look better and it’s good to go and ship"}, {"post_id": 46700, "ts": "2026-08-14T04:23:14Z", "hours": 1.9681, "text": "I Finshed animating and rendering the video."}, {"post_id": 35660, "ts": "2026-07-27T07:49:41Z", "hours": 6.5467, "text": "Shifted the Bugatti Mistral and Elephant scene from Satin Black to a Pearl White look with Gold accents Materials: Swapped to Pearl White paint and refined the gold tusk details. Lighting: Built a dynamic outdoor environment with soft sky lighting and ground reflections. Animation: Keyframed smooth camera sweeps and light movements to highlight the body lines."}, {"post_id": 33611, "ts": "2026-07-23T17:43:31Z", "hours": 6.9311, "text": "Imported a base 3D model of the Bugatti Mistral from Sketchfab, fixed geometry issues, and customized it with my own satin black and gold aesthetic. Modeled a low-poly dancing elephant sculpture to pair with the vehicle, setting up lighting, studio reflections, and camera angles for these high-contrast renders. I’m currently working on making the video and fixing some issues for the final ship."}]...
|
Title: Mistral Render by @nejenabinupa | Stardance Title: Mistral Render by @nejenabinupa | Stardance
Devlogs:
Imported a base 3D model of the Bugatti Mistral from Sketchfab, fixed geometry issues, and customized it with my own satin black and gold aesthetic. Modeled a low-poly dancing elephant sculpture to pair with the vehicle, setting up lighting, studio reflections, and camera angles for these high-contrast renders. I’m currently working on making the video and fixing some issues for the final ship.
Shifted the Bugatti Mistral and Elephant scene from Satin Black to a Pearl White look with Gold accents Materials: Swapped to Pearl White paint and refined the gold tusk details. Lighting: Built a dynamic outdoor environment with soft sky lighting and ground reflections. Animation: Keyframed smooth camera sweeps and light movements to highlight the body lines.
I Finshed animating and rendering the video.
I rerendered the video because it look so noisy and Chang the render engine to eevee to make it look better and it’s good to go and ship
Ships:
this is my video 3d project i make in blender, all of the details are in my readme :) hope you enjoy...
|
1793004724.3144934
|
1793091124.3144934
|
|
36694
|
Timetablr by @SunnyFlops | Stardance
|
SunnyFlops
|
1
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T00:36:40Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This app is very applike in the way that it is an app! Typically in the past I usually never used a timetable app because they were quite cumbersome to set up and use, so I decided to make a solution that felt quick and right for me personally. While my solution may not be the best fit for absolutely everyone, I think it’s certainly unique and worthwile. I found myself sideloading the app and genuinely using it on my phone, which was way more convenient than memorising off my school’s portal every morning. A video demonstration can be found on the previous devlog. Requires sideloading and trusting to work on an iPhone. The IPA file only works on iOS 26 and higher, will fix this later.", "repo": "https://github.com/SunnyFloppyDiskStudios/timetablr", "demo": "https://github.com/SunnyFloppyDiskStudios/timetablr/releases/tag/1.0"}]...
|
[{"post_id": 74690, "ts": "202 [{"post_id": 74690, "ts": "2026-09-28T00:28:14Z", "hours": 10.9881, "text": "it’s finisheddddddddddddd you can do all sorts of timetably stuff with it and um i didn’t do a very good job at documenting the development process but like it’s pretty good i think and it works so like yea it is working now so cool story but yeah feature list: timetable timetable setup process (set up a day “structure” which is the order of class/breaks and then add classes) edit mode settings multi-week timetables (i.e. week A, week B) automagically cycle between multiweek timetables (fancy) lots of overrides for stuff and generally easy to use. since my last devlog i have since added… everything that a timetable app needs! You can add classes, breaks, everything, and the setup process flows quite nicely I think."}, {"post_id": 46579, "ts": "2026-08-13T22:13:13Z", "hours": 6.1889, "text": "how have i not done a devlog yet wow that’s crazy ummm you can like. set up teh timeable and you can set dates and creat classes but you can’t actually like. set the classses into the times that you choose so like you can’t actually time your table with this app yet but it will soon time the table because I am being forced to create this app it has to be done because otherwise I will explode eyah so soon enoigh you’ll be able to actually set your timetable up but for now you can just go between views it’s kinda cool tbh I’ve set some default variables but it works nicely and soon enough it will be done so yeah. why is there no spellcheck here help."}]...
|
Title: Timetablr by @SunnyFlops | Stardance
Devlo Title: Timetablr by @SunnyFlops | Stardance
Devlogs:
how have i not done a devlog yet wow that’s crazy ummm you can like. set up teh timeable and you can set dates and creat classes but you can’t actually like. set the classses into the times that you choose so like you can’t actually time your table with this app yet but it will soon time the table because I am being forced to create this app it has to be done because otherwise I will explode eyah so soon enoigh you’ll be able to actually set your timetable up but for now you can just go between views it’s kinda cool tbh I’ve set some default variables but it works nicely and soon enough it will be done so yeah. why is there no spellcheck here help.
it’s finisheddddddddddddd you can do all sorts of timetably stuff with it and um i didn’t do a very good job at documenting the development process but like it’s pretty good i think and it works so like yea it is working now so cool story but yeah feature list: timetable timetable setup process (set up a day “structure” which is the order of class/breaks and then add classes) edit mode settings multi-week timetables (i.e. week A, week B) automagically cycle between multiweek timetables (fancy) lots of overrides for stuff and generally easy to use. since my last devlog i have since added… everything that a timetable app needs! You can add classes, breaks, everything, and the setup process flows quite nicely I think.
Ships:
This app is very applike in the way that it is an app! Typically in the past I usually never used a timetable app because they were quite cumbersome to set up and use, so I decided to make a solution that felt quick and right for me personally. While my solution may not be the best fit for absolutely everyone, I think it’s certainly unique and worthwile. I found myself sideloading the app and genuinely using it on my phone, which was way more convenient than memorising off my school’s portal every morning. A video demonstration can be found on the previous devlog. Requires sideloading and trusting to work on an iPhone. The IPA file only works on iOS 26 and higher, will fix this later....
|
1793004725.4647007
|
1793091125.4647007
|
|
49996
|
HackerOS by @simonhacker | Stardance
|
simonhacker
|
1
|
9.78
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T19:59:00Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "HackerOS is my WebOS! It was coded in CSS, HTML and JS!! It has a few simple apps and is styled to be dark and blue. It was made fully by me and you can try it at the link below.", "repo": "https://github.com/sevinatenine/HackerOS", "demo": "https://hacker-os.netlify.app"}]...
|
[{"post_id": 77978, "ts": "202 [{"post_id": 77978, "ts": "2026-10-09T03:00:01Z", "hours": 0.3142, "text": "I made the copy and move and open commands for the terminal of my WebOS"}, {"post_id": 77346, "ts": "2026-10-06T16:58:19Z", "hours": 0.4636, "text": "Modified the README and the about."}, {"post_id": 76491, "ts": "2026-10-03T18:55:48Z", "hours": 0.3675, "text": "HackerOS - Finished the about page and the file picker!"}, {"post_id": 76485, "ts": "2026-10-03T18:27:44Z", "hours": 0.5764, "text": "HackerOS - Prototype for my file picker"}, {"post_id": 76446, "ts": "2026-10-03T15:20:30Z", "hours": 3.7758, "text": "I got my file browser working with ZenFS for HackerOS!!!"}, {"post_id": 50374, "ts": "2026-08-19T15:24:39Z", "hours": 1.4139, "text": "I Worked on my file browser app for my WebOS! I used the Yet Another Monochrome Icon Set For KDE Plasma here for the icons and app images for my OS and I used ZenFS (which provides node:fs compatible functions) to store files in IndexedDB."}, {"post_id": 49543, "ts": "2026-08-18T12:52:08Z", "hours": 0.4025, "text": "Prototype for the app bar for my WebOS"}, {"post_id": 49291, "ts": "2026-08-18T00:46:48Z", "hours": 2.1136, "text": "I made a window system with draggable and resizable windows for my WebOS!"}]...
|
Title: HackerOS by @simonhacker | Stardance
Devlo Title: HackerOS by @simonhacker | Stardance
Devlogs:
I made a window system with draggable and resizable windows for my WebOS!
Prototype for the app bar for my WebOS
I Worked on my file browser app for my WebOS! I used the Yet Another Monochrome Icon Set For KDE Plasma here for the icons and app images for my OS and I used ZenFS (which provides node:fs compatible functions) to store files in IndexedDB.
I got my file browser working with ZenFS for HackerOS!!!
HackerOS - Prototype for my file picker
HackerOS - Finished the about page and the file picker!
Modified the README and the about.
I made the copy and move and open commands for the terminal of my WebOS
Ships:
HackerOS is my WebOS! It was coded in CSS, HTML and JS!! It has a few simple apps and is styled to be dark and blue. It was made fully by me and you can try it at the link below....
|
1793004726.539477
|
1793091126.539477
|
|
17903
|
FurgenOS by @furgenramen | Stardance
|
furgenramen
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T12:35:35Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a very simple OS, and though it has very little to show, I am very proud of it. More features should be on the way soon (I might build a hardware project, though). I feel that Hackatime was a bit confusing, especially when using a codespace in VS code. I hope the features are cool and you guys can mess around on my site!", "repo": "https://github.com/furgenramen04/FurgenOS", "demo": "https://furgenramen04.github.io/FurgenOS/"}]...
|
[{"post_id": 67335, "ts": "202 [{"post_id": 67335, "ts": "2026-09-13T12:26:47Z", "hours": 0.6833, "text": "Planning to ship now! I have made a simple app, where if you click the “Messing Around” button, a random website gets opened. I also updated my README, and I think I’m ready to ship now. Here’s the list of all website the button can open and my JS for it:"}, {"post_id": 66570, "ts": "2026-09-12T12:30:45Z", "hours": 1.4156, "text": "After more than a month of not doing anything, I came back and finished my text-based app, Ronaldo quotes. I used other sources on the internet because I found that the Jam was a little confusing. On the right is my new app and on the left is the JS code for it. Btw, if anyone here knows how to use the H1, H2, H3, without all of the text being affected please lmk in comments."}, {"post_id": 41264, "ts": "2026-08-05T11:33:26Z", "hours": 2.0903, "text": "Finally finished the first half of Jam 4 (I know, I know, but I had exams, okay?). I have two windows, they both drag, open, close, and, on tap and on open, go on top of each other. I really shouldn’t be feeling this accomplished but I am. Here’s my code (JS) and my final result! BTW if any of you has any suggestions PLEASE lmk, I’d love it. Thanks for your time!"}, {"post_id": 31743, "ts": "2026-07-20T11:48:49Z", "hours": 0.5125, "text": "Cleaned up my code. That’s pretty much all for today, just organised my in-line CSS into class-based CSS, and here are screenshots of my new code:"}, {"post_id": 30512, "ts": "2026-07-18T04:38:09Z", "hours": 0.4942, "text": "Devlog #5 Almost (almost) finished Jam 3. The welcome window opens and closes properly, and the “Messing around” button opens the tab, while the wheel icon closes it."}, {"post_id": 30121, "ts": "2026-07-17T13:09:15Z", "hours": 1.9697, "text": "Almost done Jam 3, looking to fix the close button option. I’m trying to make the wheel image a close button for the welcome window, but I am tired and I need to sleep so I will make that later. Otherwise, everything is going well, and my WebOS is coming together. The “Messing Around” button is currently the open button for the welcome screen. (P.S. only 1 screenshot today because I am not in the mood to reopen VS code again {its past my bedtime!})"}, {"post_id": 28650, "ts": "2026-07-15T01:03:34Z", "hours": 1.7339, "text": "Hi again! After a week of troubleshooting and struggling with Hackatime, I have finally finished the second Jam of the WebOS tutorial 😭. I removed the Ronaldo part (temporarily) but he will come back once I figure out how to add clickable elements in the OS. (the goat will come back). I also made the OS look much slicker (in my opinion)."}, {"post_id": 25076, "ts": "2026-07-09T01:29:13Z", "hours": 1.23, "text": "Finished part 1 of the WebOS 1 tutorial! My website still looks pretty basic, like this. The other screenshot is all the code in VS code for the website."}, {"post_id": 8450, "ts": "2026-06-14T01:28:34Z", "hours": 0.3092, "text": "Just started the tutorial, here’s a quick screenshot of my progress so far."}]...
|
Title: FurgenOS by @furgenramen | Stardance
Devlo Title: FurgenOS by @furgenramen | Stardance
Devlogs:
Just started the tutorial, here’s a quick screenshot of my progress so far.
Finished part 1 of the WebOS 1 tutorial! My website still looks pretty basic, like this. The other screenshot is all the code in VS code for the website.
Hi again! After a week of troubleshooting and struggling with Hackatime, I have finally finished the second Jam of the WebOS tutorial 😭. I removed the Ronaldo part (temporarily) but he will come back once I figure out how to add clickable elements in the OS. (the goat will come back). I also made the OS look much slicker (in my opinion).
Almost done Jam 3, looking to fix the close button option. I’m trying to make the wheel image a close button for the welcome window, but I am tired and I need to sleep so I will make that later. Otherwise, everything is going well, and my WebOS is coming together. The “Messing Around” button is currently the open button for the welcome screen. (P.S. only 1 screenshot today because I am not in the mood to reopen VS code again {its past my bedtime!})
Devlog #5 Almost (almost) finished Jam 3. The welcome window opens and closes properly, and the “Messing around” button opens the tab, while the wheel icon closes it.
Cleaned up my code. That’s pretty much all for today, just organised my in-line CSS into class-based CSS, and here are screenshots of my new code:
Finally finished the first half of Jam 4 (I know, I know, but I had exams, okay?). I have two windows, they both drag, open, close, and, on tap and on open, go on top of each other. I really shouldn’t be feeling this accomplished but I am. Here’s my code (JS) and my final result! BTW if any of you has any suggestions PLEASE lmk, I’d love it. Thanks for your time!
After more than a month of not doing anything, I came back and finished my text-based app, Ronaldo quotes. I used other sources on the internet because I found that the Jam was a little confusing. On the right is my new app and on the left is the JS code for it. Btw, if anyone here knows how to use the H1, H2, H3, without all of the text being affected please lmk in comments.
Planning to ship now! I have made a simple app, where if you click the “Messing Around” button, a random website gets opened. I also updated my README, and I think I’m ready to ship now. Here’s the list of all website the button can open and my JS for it:
Ships:
I made a very simple OS, and though it has very little to show, I am very proud of it. More features should be on the way soon (I might build a hardware project, though). I feel that Hackatime was a bit confusing, especially when using a codespace in VS code. I hope the features are cool and you guys can mess around on my site!...
|
1793004727.71135
|
1793091127.71135
|
|
6948
|
Needoh Factory by @Oscar_da_best | Stardance
|
Oscar_da_best
|
2
|
46.0
|
399
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T09:36:31Z", "hours": 6.0, "multiplier": 8.4, "payout": 54, "blessing": "neutral", "text": "I added a obby island to the project and made the game run a little better in general less bugs now and i am working on ading all the coming soon features", "repo": "https://github.com/Duder-coolman/needoh-tycoon", "demo": "https://www.roblox.com/games/85070662876748/Needoh-Factory"}, {"ship_num": 2, "ts": "2026-09-15T02:11:55Z", "hours": 40.0, "multiplier": 8.67, "payout": 345, "blessing": "neutral", "text": "I made a game called Needoh Factory where you buy needohs and merge them to get cooler needohs that make more money. This was a challanging project because I challenged myself to step away from AI an really test what I could do as well as basiclly learing Luau for the first time. I am proud of how far I have come on this journey and proud of the effort I put into this game. anyone who wats to test my project can test it as long as they make a roblox account!", "repo": "https://github.com/Duder-coolman/needoh-tycoon", "demo": "https://www.roblox.com/games/85070662876748/Needoh-Factory"}]...
|
[{"post_id": 78999, "ts": "202 [{"post_id": 78999, "ts": "2026-10-12T09:34:08Z", "hours": 1.1264, "text": "I made a new gem curency and fixed some more bugs that were pretty game breaking like things getting out of the droppers"}, {"post_id": 78019, "ts": "2026-10-09T07:03:58Z", "hours": 2.2419, "text": "I added a parkour island as somthing to do while you passivly make money and the parkour will reward a new currency called gems which will be very useful in the future."}, {"post_id": 77759, "ts": "2026-10-08T05:48:11Z", "hours": 3.0975, "text": "I replaced my script with a Module script allowing me to use the function in other parts of my game like when the player joins or amy other time I need to update the GUI. Mainly jut doing bug fixes right now before I add any more big features to the game and I dont really remember everything I did. :P"}, {"post_id": 68404, "ts": "2026-09-15T02:07:23Z", "hours": 2.4011, "text": "Finished up the game early, a lot is not done but there will be an update hopefully before stardance ends"}, {"post_id": 66425, "ts": "2026-09-12T07:50:55Z", "hours": 5.7147, "text": "There are three pictures I really dislike UI but I am pushing through it and had some fun making the map more decorated. made a working teleport system. Next I will make a shop for the ingame currency and I will add background music as well as making the purchases work. I’m really enjoying this project and hoping to finish in the next week!! :)"}, {"post_id": 65184, "ts": "2026-09-10T04:05:22Z", "hours": 5.5197, "text": "I finisshed the conversion sysstem that allows the player to convert thier needohs into monye finally completeing the core loop of the game. it is not playable and I will be debugging and decorating for the next 10-15 hours🥳🥳 then I can finally ship it I also completed a startup script so that all the UI can update when A player joins the game to display the correct prices and I watched a tutorial on how to make numbers with suffixes after them to make the pricees easier to read."}, {"post_id": 55382, "ts": "2026-08-27T05:38:59Z", "hours": 5.3786, "text": "i added coded the dropper models into the tower and now you can buy them and merge three to get the next level up. they also drop mini and simplified versions of themselves that the player can pick up for a currency that will then be turned into coins im super happy that this project is coming along and am looking forward to shiping it soon."}, {"post_id": 52062, "ts": "2026-08-22T03:48:39Z", "hours": 4.2428, "text": "I made the second row this time. give me some feedback please i like any critisizm just keep in mind I litteraly just started learning. the first row is in my last post. happy to begin working on the main loop of the game soon."}, {"post_id": 48697, "ts": "2026-08-17T06:30:55Z", "hours": 3.6744, "text": "Made a whole pack of runic symbols that I will sell on roblox’s marketplace for $0.99 and made 10 models for my game planning on finishing the other 10 tommorow."}, {"post_id": 47227, "ts": "2026-08-15T00:29:49Z", "hours": 2.0911, "text": "Made the buttons more appealing and rewrote the button purchasing script to make it less repetetive."}, {"post_id": 43160, "ts": "2026-08-08T08:30:52Z", "hours": 5.4481, "text": "Made a save data storage script and a script to buy droppers I cannot figure out how to add code blocks so these terrible pictures will have to do"}, {"post_id": 5630, "ts": "2026-06-09T14:38:25Z", "hours": 2.2406, "text": "I added the main element of the game and made a plot system that gives the player a plot when they load in. (lighting looks bad because it is not textured yet)"}, {"post_id": 4036, "ts": "2026-06-07T06:49:08Z", "hours": 1.775, "text": "Added pathways and portals for obstacle courses, its so hard to make pathways… planning on making a lot of progress tommorow and waiting to finishing building so I can start scripting 🙏"}, {"post_id": 3341, "ts": "2026-06-06T07:05:12Z", "hours": 0.5228, "text": "Added water around the islands and bridges connecting them. planning on locking in tomorrow"}, {"post_id": 2599, "ts": "2026-06-05T06:43:34Z", "hours": 0.3025, "text": "Currently very busy finishing up school but I was able to make a measured out map."}, {"post_id": 1982, "ts": "2026-06-04T07:40:57Z", "hours": 0.5017, "text": "Basic Hover effect for button along with other basic thing I like to set up when I start a project"}]...
|
Title: Needoh Factory by @Oscar_da_best | Stardanc Title: Needoh Factory by @Oscar_da_best | Stardance
Devlogs:
Basic Hover effect for button along with other basic thing I like to set up when I start a project
Currently very busy finishing up school but I was able to make a measured out map.
Added water around the islands and bridges connecting them. planning on locking in tomorrow
Added pathways and portals for obstacle courses, its so hard to make pathways… planning on making a lot of progress tommorow and waiting to finishing building so I can start scripting 🙏
I added the main element of the game and made a plot system that gives the player a plot when they load in. (lighting looks bad because it is not textured yet)
Made a save data storage script and a script to buy droppers I cannot figure out how to add code blocks so these terrible pictures will have to do
Made the buttons more appealing and rewrote the button purchasing script to make it less repetetive.
Made a whole pack of runic symbols that I will sell on roblox’s marketplace for $0.99 and made 10 models for my game planning on finishing the other 10 tommorow.
I made the second row this time. give me some feedback please i like any critisizm just keep in mind I litteraly just started learning. the first row is in my last post. happy to begin working on the main loop of the game soon.
i added coded the dropper models into the tower and now you can buy them and merge three to get the next level up. they also drop mini and simplified versions of themselves that the player can pick up for a currency that will then be turned into coins im super happy that this project is coming along and am looking forward to shiping it soon.
I finisshed the conversion sysstem that allows the player to convert thier needohs into monye finally completeing the core loop of the game. it is not playable and I will be debugging and decorating for the next 10-15 hours🥳🥳 then I can finally ship it I also completed a startup script so that all the UI can update when A player joins the game to display the correct prices and I watched a tutorial on how to make numbers with suffixes after them to make the pricees easier to read.
There are three pictures I really dislike UI but I am pushing through it and had some fun making the map more decorated. made a working teleport system. Next I will make a shop for the ingame currency and I will add background music as well as making the purchases work. I’m really enjoying this project and hoping to finish in the next week!! :)
Finished up the game early, a lot is not done but there will be an update hopefully before stardance ends
I replaced my script with a Module script allowing me to use the function in other parts of my game like when the player joins or amy other time I need to update the GUI. Mainly jut doing bug fixes right now before I add any more big features to the game and I dont really remember everything I did. :P
I added a parkour island as somthing to do while you passivly make money and the parkour will reward a new currency called gems which will be very useful in the future.
I made a new gem curency and fixed some more bugs that were pretty game breaking like things getting out of the droppers
Ships:
I made a game called Needoh Factory where you buy needohs and merge them to get cooler needohs that make more money. This was a challanging project because I challenged myself to step away from AI an really test what I could do as well as basiclly learing Luau for the first time. I am proud of how far I have come on this journey and proud of the effort I put into this game. anyone who wats to test my project can test it as long as they make a roblox account!
I added a obby island to the project and made the game run a little better in general less bugs now and i am working on ading all the coming soon features...
|
1793004728.8856325
|
1793091128.8856325
|
|
45204
|
My own site! by @nathany100 | Stardance
|
nathany100
|
1
|
18.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T21:11:43Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My 1st formal website! This is probably my most worked-on project, and i’m very proud of it :> Building the background was tricky (first time doing design on a website), especially animating the waves and stars. The hardest part of the project tho was the music player because it was very, very difficult to code in js as well as positioning all the elements to look good. The carousel in the hobbies section was not that hard to code but looks and works great. So, after a lot of effort, i’m happy to present to you my first website! its deployed on github pages, so you can go check out my small corner of the internet without installing anything :D (also, this website will be updated frequently with more songs, images, text or other stuff!)", "repo": "https://github.com/nathany213/aboutme", "demo": "https://nathany213.github.io/aboutme/"}]...
|
[{"post_id": 69338, "ts": "202 [{"post_id": 69338, "ts": "2026-09-16T20:44:47Z", "hours": 0.6158, "text": "Devlog #7! (this was a while ago, i just forgot to devlog it) Since it was my first time hosting in github, i asked ai to direct me and also help upload a large folder to github, and that did NOT go well (aka i nearly lost all my commits and reverted my code to a previous version) :("}, {"post_id": 64990, "ts": "2026-09-09T19:20:18Z", "hours": 2.4039, "text": "Devlog #6! Added carousel + images and it looks great! I’m not sure what else to add except maybe a little more text, so i think im nearly ready to ship"}, {"post_id": 59526, "ts": "2026-09-01T12:11:26Z", "hours": 2.3739, "text": "Devlog #5! (not that much stuff changed) Ok so I updated the github repo and added more text to my page, i’m thinking of putting a carousel and adding some images because text on its own looks a bit bland"}, {"post_id": 58173, "ts": "2026-08-30T15:09:48Z", "hours": 5.9375, "text": "Devlog 4! Sorry that i haven’t updated for a while, I was stuck on some code and forgot to devlog… Anyways i got the music player mostly working, and im working on making it look good now. (text hidden to make it easier to see)"}, {"post_id": 53808, "ts": "2026-08-24T14:43:39Z", "hours": 2.6353, "text": "Devlog #3 :> Ok so i absolutely locked in and it looks much better now! (it is animated btw) This took sooooo long but was definitely worth it. Now I’m probably going to add some actual text to read, but i think it would be cool to add in some bgm or like a music player for my website"}, {"post_id": 52939, "ts": "2026-08-23T09:54:53Z", "hours": 1.8328, "text": "2nd devlog :D Ok so as you can see it still looks meh (the space image is a placeholder) but soo much better than before. Also, I added a particle system in the background, after 10 google searches, 3 yt tutorials and a lot of failing. (anything you see here might change still cuz im just seeing what looks good as of now)"}, {"post_id": 51598, "ts": "2026-08-21T11:24:42Z", "hours": 2.1614, "text": "1st devlog!!!!!!!!!!!!! okok so i just finished the base of the project, and I know it looks very bad right now, but trust me it’s going to look better (this is my 1st attempt). 2nd devlog hopefully soon"}]...
|
Title: My own site! by @nathany100 | Stardance
De Title: My own site! by @nathany100 | Stardance
Devlogs:
1st devlog!!!!!!!!!!!!! okok so i just finished the base of the project, and I know it looks very bad right now, but trust me it’s going to look better (this is my 1st attempt). 2nd devlog hopefully soon
2nd devlog :D Ok so as you can see it still looks meh (the space image is a placeholder) but soo much better than before. Also, I added a particle system in the background, after 10 google searches, 3 yt tutorials and a lot of failing. (anything you see here might change still cuz im just seeing what looks good as of now)
Devlog #3 :> Ok so i absolutely locked in and it looks much better now! (it is animated btw) This took sooooo long but was definitely worth it. Now I’m probably going to add some actual text to read, but i think it would be cool to add in some bgm or like a music player for my website
Devlog 4! Sorry that i haven’t updated for a while, I was stuck on some code and forgot to devlog… Anyways i got the music player mostly working, and im working on making it look good now. (text hidden to make it easier to see)
Devlog #5! (not that much stuff changed) Ok so I updated the github repo and added more text to my page, i’m thinking of putting a carousel and adding some images because text on its own looks a bit bland
Devlog #6! Added carousel + images and it looks great! I’m not sure what else to add except maybe a little more text, so i think im nearly ready to ship
Devlog #7! (this was a while ago, i just forgot to devlog it) Since it was my first time hosting in github, i asked ai to direct me and also help upload a large folder to github, and that did NOT go well (aka i nearly lost all my commits and reverted my code to a previous version) :(
Ships:
My 1st formal website! This is probably my most worked-on project, and i’m very proud of it :> Building the background was tricky (first time doing design on a website), especially animating the waves and stars. The hardest part of the project tho was the music player because it was very, very difficult to code in js as well as positioning all the elements to look good. The carousel in the hobbies section was not that hard to code but looks and works great. So, after a lot of effort, i’m happy to present to you my first website! its deployed on github pages, so you can go check out my small corner of the internet without installing anything :D (also, this website will be updated frequently with more songs, images, text or other stuff!)...
|
1793004730.0653467
|
1793091130.0653467
|
|
50067
|
YSH v8 Uni by @Yousuff | Stardance
|
Yousuff
|
1
|
6.0
|
20
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T18:57:03Z", "hours": 6.0, "multiplier": 6.34, "payout": 20, "blessing": "neutral", "text": "YSH Terminal — A custom terminal environment built from the ground up, evolving YSH from a simple shell into a more complete terminal experience. It features real filesystem interaction, shell-style commands, networking tools, themes, ASCII branding, developer features, a mini CLI game, and a growing set of utilities.", "repo": "https://github.com/YousufProjs-exe/YSH-v8/", "demo": "https://yousufprojs-exe.github.io/YSH-WEBSITE/"}]...
|
[{"post_id": 66125, "ts": "202 [{"post_id": 66125, "ts": "2026-09-11T18:53:14Z", "hours": 0.5556, "text": "YSH v8, best of current YSH is ready and is live on Github, now YSH is an actual shell with Filesystem and utilities but YSH aint a regular termianl its comes with LAN Networking(Chat and Fileshare), CLI Applications, Eastereggs and more!"}, {"post_id": 49561, "ts": "2026-08-18T13:17:05Z", "hours": 1.5011, "text": "Fixed all the Shorcuts and better File Share"}, {"post_id": 49192, "ts": "2026-08-17T20:50:57Z", "hours": 4.2697, "text": "YSH-Terminal with LAN Networking , CLI Applications and more.!!"}]...
|
Title: YSH v8 Uni by @Yousuff | Stardance
Devlogs Title: YSH v8 Uni by @Yousuff | Stardance
Devlogs:
YSH-Terminal with LAN Networking , CLI Applications and more.!!
Fixed all the Shorcuts and better File Share
YSH v8, best of current YSH is ready and is live on Github, now YSH is an actual shell with Filesystem and utilities but YSH aint a regular termianl its comes with LAN Networking(Chat and Fileshare), CLI Applications, Eastereggs and more!
Ships:
YSH Terminal — A custom terminal environment built from the ground up, evolving YSH from a simple shell into a more complete terminal experience. It features real filesystem interaction, shell-style commands, networking tools, themes, ASCII branding, developer features, a mini CLI game, and a growing set of utilities....
|
1793004731.2335951
|
1793091131.2335951
|
|
6233
|
Ctrlpad by @brainlesslukas | Stardance
|
brainlesslukas
|
1
|
113.51
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T02:50:42Z", "hours": 97.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello everyone! I built an Elgato Stream Deck alternative called Ctrlpad. Ctrlpad runs actions when you press its button. For example, opening applications like Discord really fast. It can genuinely improve your workflow. At the beginning I had trouble getting the Ctrlpad to communicate with my computer, but then I learned about BLE. I also coded a desktop app to configure the layout, colors, icons, actions and more. The ecosystem is only available on Linux for now, since I wanted to focus on the important things first. The project is split into three separate repositories: the Firmware (the code flashed onto the ESP), the Desktop Application (the interface used to configure actions like opening apps or changing the volume), and the Daemon (a background service that runs continuously on your computer to execute those actions).", "repo": "https://github.com/CtrlPad/firmware", "demo": ""}]...
|
[{"post_id": 82289, "ts": "202 [{"post_id": 82289, "ts": "2026-10-24T14:13:56Z", "hours": 6.5797, "text": "Devlog #21 The last days I added some important updates to the Ctrlpad website: Major refactoring: Cleaned and reorganized parts Responsive design, full mobile and Tablet support The website is now better structured for future additions :)"}, {"post_id": 74628, "ts": "2026-09-27T20:09:54Z", "hours": 6.8083, "text": "Devlog #20 Today i created this fancy feature page on the website :)."}, {"post_id": 71859, "ts": "2026-09-21T17:43:40Z", "hours": 3.1214, "text": "Devlog #19 I’m back after my first week of school after the holidays :) The newest update is that I implemented rendering for the icons you select in the desktop software. The mechanism behind it wasn’t easy, but here’s my final implementation: Each button’s icon arrives over BLE as a base64-encoded bitmap in the JSON config. renderIcon() decodes it and hands it off to changeIcon(), which builds an lv_image_dsc_t and assigns it via lv_image_set_src() to that button’s LVGL image widget or blanks it out if no icon string was provided. I also fixed some things in the Desktop software :) The next step, is making the config persistent on the ESP"}, {"post_id": 59956, "ts": "2026-09-02T01:01:38Z", "hours": 2.4636, "text": "Devlog #18 Today I applied the features I built last week: editing button colors. One big problem was that I had used a button matrix, and it’s almost impossible to change the background color of just one button in a matrix. So I did some refactoring. I moved from a matrix to six normal, standalone buttons. After that, I wrote the functions to apply the config. In the pictures you can now see how it’s possible to change the button color you select in the app. (Please ignore my dusty, messy desk xD)"}, {"post_id": 59284, "ts": "2026-09-01T00:04:06Z", "hours": 3.7492, "text": "Devlog # 17 Today I made it possible to send the button background color and the icon SVG to the BLE config. I also built a little preview (left corner). The next step is to display the SVG icon and the background color on the CtrlPad."}, {"post_id": 57712, "ts": "2026-08-29T23:27:07Z", "hours": 7.4522, "text": "Devlog #16 I wasn’t really motivated to code this last week. But I did build something for the desktop software! I created a color and icon selector. The icons are fetched from Simple Icons. It’s only the UI for now. The feature for the ctrlPad firmware is coming in the next version(s) :) Stay tuned!"}, {"post_id": 52374, "ts": "2026-08-22T14:17:41Z", "hours": 5.5839, "text": "Devlog #15 I was on vacation for the last two weeks, so I didn’t get much done. But I’m back now. Since then I’ve been working on the hardware side: I 3D printed a case for the CYD, and it now sits perfectly on my desk. For now it’s a model from MakerWorld. I’d like to design my own later, but I haven’t had the time yet. I’m also working on a few fixes for the daemon. Unfortunately, I noticed that the problem with the path is still there. :("}, {"post_id": 45411, "ts": "2026-08-11T20:47:02Z", "hours": 2.315, "text": "Devlog #14 Today was a warm one, but I still managed to sit down at my PC :) I ended up writing some docs, mostly because I couldn’t decide what else to work on. Added installation instructions for the packages I released over the last few days. Nix and Snap. I couldn’t add the AUR one yet, since the AUR is still down and I haven’t been able to finish that release :( Wrote the README for Ctrlpad’s web project. It covers how to set up the web app and gives an overview of what the repo contains."}, {"post_id": 44701, "ts": "2026-08-10T17:19:22Z", "hours": 4.3517, "text": "Devlog #13 Originally, I wanted to release both packages (daemon & desktop app) on the AUR, but it’s still down. So instead I released the desktop app on Nix with a flake. Now both packages are on Nix(-OS). I also released the desktop app on Snap."}, {"post_id": 41974, "ts": "2026-08-06T14:44:36Z", "hours": 2.2144, "text": "#Devlog #12 The last two days I worked on releasing the daemon for Nix(-OS) users. It’s now available as a flake, so they can pull it in directly."}, {"post_id": 40655, "ts": "2026-08-04T10:36:17Z", "hours": 4.1378, "text": "Devlog #11 Last night I wanted to start publishing my ctrlpad-daemon library on the AUR, but it was down. So I released it on the Snap(craft) package manager instead. It took a while, but now it’s online! https://snapcraft.io/ctrlpad-daemon"}, {"post_id": 40080, "ts": "2026-08-03T13:44:48Z", "hours": 11.7772, "text": "Devlog #10 The last three days were pretty frustrating. In the last devlog I mentioned building a website with Next.js. But I soon realized a hero section wasn’t enough. I also needed documentation. So I set out to embed Markdown (Nextra). It was tedious work, and it took me over five hours to get it running (the /docs route just refused to render for the longest time). With that working, I started writing some basic docs. A few minutes in, a question hit me: “How is the user actually going to flash the board themselves?” For that I turned to ESP Web Tools, a neat library that lets you flash an ESP directly from the browser. I ran into plenty of problems, but the biggest one was my own browser. It worked fine on my second PC, yet failed on my main one. The reason? An outdated Chromium version. I spent six-plus hours tracking that down. But it’s all working now and everyone can flash the board with my firmware! Amazing"}, {"post_id": 35902, "ts": "2026-07-27T17:08:35Z", "hours": 6.8169, "text": "Devlog #9 Things have been busy with school over the last two weeks, but I managed to make some solid progress on CtrlPad: Website Launched: Built the landing page using Next.js and published it live at ctrlpad.xyz Hosting: Configured my local home server to host the site directly. CI/CD Pipeline: Set up an automated CI/CD pipeline so future commits deploy automatically. Source Code: The website repository is open source on GitHub . Stay tuned!"}, {"post_id": 21048, "ts": "2026-07-02T20:29:04Z", "hours": 8.6403, "text": "Devlog #8 Over the past day, I built the CtrlPad daemon using Golang. This background service listens for commands sent from the CtrlPad via BLE (Bluetooth Low Energy). In the example below, you can see the daemon logs in action as it successfully receives and executes commands for “Spotify” and “Proton VPN”. To make things even smoother, I also wrote a dedicated installation script for the daemon to streamline the setup process."}, {"post_id": 15883, "ts": "2026-06-25T20:13:12Z", "hours": 1.1181, "text": "Devlog #7 Today, I ventured into Inkscape to design an icon. I usually dread the intricacies of SVG creation, but, to my surprise, everything came together quite smoothly. With the design finalized, I generated the necessary icon variations and implemented them into the Tauri project. The icon is designed to be a clean, minimalist recreation of the CtrlPad."}, {"post_id": 15320, "ts": "2026-06-24T21:44:20Z", "hours": 7.8344, "text": "Devlog #6 In the last day, I was really busy and didn’t have much time to code, but I managed to accomplish some amazing things: CI/CD Pipeline: Created a pipeline to build the application automatically Tooling Integration: Added git-cliff for automated changelogs, alongside Prettier, ESLint, and commitlint for code quality Bug Fixes: Successfully found and resolved several existing bugs I also implemented real configuration uploads to the ctrlPad instead of using an example JSON string"}, {"post_id": 10903, "ts": "2026-06-17T21:22:54Z", "hours": 10.435, "text": "Devlog #5 This update was all about tackling the tough stuff. First, I had to figure out how to scan and display every installed application on your system, a feature that turned out to be incredibly tricky to implement. After that, I spent a lot of time wrestling with the drag-and-drop system for the ctrlPad actions. It took a while, but it was worth it. To wrap things up, I also built a solid README to guide you through the development setup and other project essentials."}, {"post_id": 6485, "ts": "2026-06-10T22:07:05Z", "hours": 7.2067, "text": "Devlog #4 Today was a refactoring day! I updated the entire desktop UI and made everything cleaner. I also made it possible to connect to Bluetooth devices and send an example layout configuration to them."}, {"post_id": 5176, "ts": "2026-06-08T21:19:28Z", "hours": 4.3003, "text": "Devlog #3 These past few days were intense, packed with non-stop coding. Listing every single detail would take forever, so let’s skip straight to the highlights! Right now, the main focus is building the ctrlPad Desktop App. The central hub for configuring button layouts, custom actions, and more. The biggest decision? Tauri vs. Electron. The winner: Tauri. Because let’s be honest: Rust is king. Here is the quick breakdown of what went down: Firmware Repo: Added a brand-new, foolproof “Development Setup” section to the README.md. App Architecture: Kicked off the Tauri application and integrated TanStack Router for seamless navigation. UI/UX: Designed the very first frontend layout, complete with a sleek sidebar and the core button layout on the dashboard. The foundation is laid. Stay tuned!"}, {"post_id": 3059, "ts": "2026-06-05T23:01:18Z", "hours": 0.8392, "text": "Devlog #2 In this devlog the following things were done: Created the README.md and added some basic information Added the compilation database for PlatformIO Formatted all files with a code formatter (clangd) Applied the “camelCase” naming convention instead of “snake_case”"}, {"post_id": 2769, "ts": "2026-06-05T15:45:09Z", "hours": 5.5439, "text": "Devlog #1 I started making my own DIY Stream Deck! It runs on an ESP32 (CYD) and I named it ctrlPad. It features six buttons, each of which can be dynamically customized with different programs, actions, and macros. Just like the official Elgato software, the layout will be configured using an external desktop application. To keep it completely wireless, the configuration is sent via Bluetooth (BLE). Soon I build a custom driver then handles executing the programs or triggering actions (like muting the microphone). Thanks to all the customization options, every single ctrlPad will be completely unique!"}]...
|
Title: Ctrlpad by @brainlesslukas | Stardance
Dev Title: Ctrlpad by @brainlesslukas | Stardance
Devlogs:
Devlog #1 I started making my own DIY Stream Deck! It runs on an ESP32 (CYD) and I named it ctrlPad. It features six buttons, each of which can be dynamically customized with different programs, actions, and macros. Just like the official Elgato software, the layout will be configured using an external desktop application. To keep it completely wireless, the configuration is sent via Bluetooth (BLE). Soon I build a custom driver then handles executing the programs or triggering actions (like muting the microphone). Thanks to all the customization options, every single ctrlPad will be completely unique!
Devlog #2 In this devlog the following things were done: Created the README.md and added some basic information Added the compilation database for PlatformIO Formatted all files with a code formatter (clangd) Applied the “camelCase” naming convention instead of “snake_case”
Devlog #3 These past few days were intense, packed with non-stop coding. Listing every single detail would take forever, so let’s skip straight to the highlights! Right now, the main focus is building the ctrlPad Desktop App. The central hub for configuring button layouts, custom actions, and more. The biggest decision? Tauri vs. Electron. The winner: Tauri. Because let’s be honest: Rust is king. Here is the quick breakdown of what went down: Firmware Repo: Added a brand-new, foolproof “Development Setup” section to the README.md. App Architecture: Kicked off the Tauri application and integrated TanStack Router for seamless navigation. UI/UX: Designed the very first frontend layout, complete with a sleek sidebar and the core button layout on the dashboard. The foundation is laid. Stay tuned!
Devlog #4 Today was a refactoring day! I updated the entire desktop UI and made everything cleaner. I also made it possible to connect to Bluetooth devices and send an example layout configuration to them.
Devlog #5 This update was all about tackling the tough stuff. First, I had to figure out how to scan and display every installed application on your system, a feature that turned out to be incredibly tricky to implement. After that, I spent a lot of time wrestling with the drag-and-drop system for the ctrlPad actions. It took a while, but it was worth it. To wrap things up, I also built a solid README to guide you through the development setup and other project essentials.
Devlog #6 In the last day, I was really busy and didn’t have much time to code, but I managed to accomplish some amazing things: CI/CD Pipeline: Created a pipeline to build the application automatically Tooling Integration: Added git-cliff for automated changelogs, alongside Prettier, ESLint, and commitlint for code quality Bug Fixes: Successfully found and resolved several existing bugs I also implemented real configuration uploads to the ctrlPad instead of using an example JSON string
Devlog #7 Today, I ventured into Inkscape to design an icon. I usually dread the intricacies of SVG creation, but, to my surprise, everything came together quite smoothly. With the design finalized, I generated the necessary icon variations and implemented them into the Tauri project. The icon is designed to be a clean, minimalist recreation of the CtrlPad.
Devlog #8 Over the past day, I built the CtrlPad daemon using Golang. This background service listens for commands sent from the CtrlPad via BLE (Bluetooth Low Energy). In the example below, you can see the daemon logs in action as it successfully receives and executes commands for “Spotify” and “Proton VPN”. To make things even smoother, I also wrote a dedicated installation script for the daemon to streamline the setup process.
Devlog #9 Things have been busy with school over the last two weeks, but I managed to make some solid progress on CtrlPad: Website Launched: Built the landing page using Next.js and published it live at ctrlpad.xyz Hosting: Configured my local home server to host the site directly. CI/CD Pipeline: Set up an automated CI/CD pipeline so future commits deploy automatically. Source Code: The website repository is open source on GitHub . Stay tuned!
Devlog #10 The last three days were pretty frustrating. In the last devlog I mentioned building a website with Next.js. But I soon realized a hero section wasn’t enough. I also needed documentation. So I set out to embed Markdown (Nextra). It was tedious work, and it took me over five hours to get it running (the /docs route just refused to render for the longest time). With that working, I started writing some basic docs. A few minutes in, a question hit me: “How is the user actually going to flash the board themselves?” For that I turned to ESP Web Tools, a neat library that lets you flash an ESP directly from the browser. I ran into plenty of problems, but the biggest one was my own browser. It worked fine on my second PC, yet failed on my main one. The reason? An outdated Chromium version. I spent six-plus hours tracking that down. But it’s all working now and everyone can flash the board with my firmware! Amazing
Devlog #11 Last night I wanted to start publishing my ctrlpad-daemon library on the AUR, but it was down. So I released it on the Snap(craft) package manager instead. It took a while, but now it’s online! https://snapcraft.io/ctrlpad-daemon
#Devlog #12 The last two days I worked on releasing the daemon for Nix(-OS) users. It’s now available as a flake, so they can pull it in directly.
Devlog #13 Originally, I wanted to release both packages (daemon & desktop app) on the AUR, but it’s still down. So instead I released the desktop app on Nix with a flake. Now both packages are on Nix(-OS). I also released the desktop app on Snap.
Devlog #14 Today was a warm one, but I still managed to sit down at my PC :) I ended up writing some docs, mostly because I couldn’t decide what else to work on. Added installation instructions for the packages I released over the last few days. Nix and Snap. I couldn’t add the AUR one yet, since the AUR is still down and I haven’t been able to finish that release :( Wrote the README for Ctrlpad’s web project. It covers how to set up the web app and gives an overview of what the repo contains.
Devlog #15 I was on vacation for the last two weeks, so I didn’t get much done. But I’m back now. Since then I’ve been working on the hardware side: I 3D printed a case for the CYD, and it now sits perfectly on my desk. For now it’s a model from MakerWorld. I’d like to design my own later, but I haven’t had the time yet. I’m also working on a few fixes for the daemon. Unfortunately, I noticed that the problem with the path is still there. :(
Devlog #16 I wasn’t really motivated to code this last week. But I did build something for the desktop software! I created a color and icon selector. The icons are fetched from Simple Icons. It’s only the UI for now. The feature for the ctrlPad firmware is coming in the next version(s) :) Stay tuned!
Devlog # 17 Today I made it possible to send the button background color and the icon SVG to the BLE config. I also built a little preview (left corner). The next step is to display the SVG icon and the background color on the CtrlPad.
Devlog #18 Today I applied the features I built last week: editing button colors. One big problem was that I had used a button matrix, and it’s almost impossible to change the background color of just one button in a matrix. So I did some refactoring. I moved from a matrix to six normal, standalone buttons. After that, I wrote the functions to apply the config. In the pictures you can now see how it’s possible to change the button color you select in the app. (Please ignore my dusty, messy desk xD)
Devlog #19 I’m back after my first week of school after the holidays :) The newest update is that I implemented rendering for the icons you select in the desktop software. The mechanism behind it wasn’t easy, but here’s my final implementation: Each button’s icon arrives over BLE as a base64-encoded bitmap in the JSON config. renderIcon() decodes it and hands it off to changeIcon(), which builds an lv_image_dsc_t and assigns it via lv_image_set_src() to that button’s LVGL image widget or blanks it out if no icon string was provided. I also fixed some things in the Desktop software :) The next step, is making the config persistent on the ESP
Devlog #20 Today i created this fancy feature page on the website :).
Devlog #21 The last days I added some important updates to the Ctrlpad website: Major refactoring: Cleaned and reorganized parts Responsive design, full mobile and Tablet support The website is now better structured for future additions :)
Ships:
Hello everyone! I built an Elgato Stream Deck alternative called Ctrlpad. Ctrlpad runs actions when you press its button. For example, opening applications like Discord really fast. It can genuinely improve your workflow. At the beginning I had trouble getting the Ctrlpad to communicate with my computer, but then I learned about BLE. I also coded a desktop app to configure the layout, colors, icons, actions and more. The ecosystem is only available on Linux for now, since I wanted to focus on the important things first. The project is split into three separate repositories: the Firmware (the code flashed onto the ESP), the Desktop Application (the interface used to configure actions like opening apps or changing the volume), and the Daemon (a background service that runs continuously on your computer to execute those actions)....
|
1793004732.3934894
|
1793091132.3934894
|
|
45273
|
Pirate game by @Martisos | Stardance
|
Martisos
|
1
|
32.3
|
437
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T16:06:09Z", "hours": 32.0, "multiplier": 13.56, "payout": 437, "blessing": "neutral", "text": "I made a survival, Vampire Survivors-like game! You control a ship that automatically shoots. I had so much fun creating this project—it’s only the second game I’ve ever created on a ‘professional’ level. For the art style, I wanted to try something interesting… imagine a kid drawing this game in their school notebook. I used just two main colors, and I hope the concept comes across clearly. I’m super proud of how it turned down, and I hope everyone has as much fun playing it as I did making it!", "repo": "https://github.com/Martisos/Pirate-rogue-like", "demo": "https://martisos.itch.io/piratink"}]...
|
[{"post_id": 71823, "ts": "202 [{"post_id": 71823, "ts": "2026-09-21T16:46:27Z", "hours": 0.3, "text": "Quick README UPDATE I rewrote the readme, so it’s more fitting to the resources -> “Writing a README that doesn’t suck”… Also added some screenshots to readme."}, {"post_id": 71797, "ts": "2026-09-21T15:58:23Z", "hours": 3.7986, "text": "I’M DONE The game is out! I named it PiratINK like I said in previous devlog. I added some stuff, here it is: Exp Loot So now there are 3 random sprites for exp. No more yellow rectangle! It’s random, also random scale and rotation so every loot looks unique. Cleaned project files and code There were a lot of trash files. I stored there every animation frame, even though i had spritesheet ready. Also code comments and prints. Cross Update No more green dot. Now I use special icon with shader! I think it looks good enough. README There is not much there, but small description, instructions and links are inside. IM SO EXCITED 30 hours is so much for me, I thought I will be working on this for 10? maybe 15 hours… That took a lot more time, but still I think i made really good job in quite small amount of time. Yesterday I was so excited i didn’t record 2 sprites I draw… Ooops. I made resprite for rare card and cross icon… I had so much fun… and sometimes hard time, but overall it was fantastic. Check out the game <3"}, {"post_id": 70823, "ts": "2026-09-19T20:33:26Z", "hours": 7.2333, "text": "(Probably) FINAL DEVLOG A lot happened, like always. There was a lot of work but I’m almost ready with the project. Here I come with 7 hours of coding and drawing assets. Major things that changed: THE NAME I think about… PiratINK….. Yup y’know. Pirating and INK. Something like that. Main Menu As you can see in the video there are small animations in it. The waves show in music beat (but for some reason OBS wasn’t recording the intro of music?), then Ship arrives. It floats on the water, synched with waves moving. I think it looks awesome :D Sounds There is music now in my game! I used sonatina - infinity-crystal (its on itch). I love how it sounds. This RPG music is doing well in my project and you can feel the battle on the sea. Large Enemy Last enemy i had to draw. I think it looks good enought. At first I wasn’t so sure about it, but now i think it’s okay. Cannonballs Now there are 6 unique sprites. Also size is random and rotation of each ball, so every feel unique. And more… A LOT of bug fixes, game feel etc etc. I hope you will like the game! I’m so close to release and I’m really really excited! Have a great day!"}, {"post_id": 67346, "ts": "2026-09-13T12:49:54Z", "hours": 5.8914, "text": "Another Updates! As always, i made a lot of changes, so I will summarise most of the major ones! Upgrade Cards got major update! Upgrade Cards Scene I’m now using a different scene for selecting upgrades. You can see 5 different card borders (dont look at the rare one, it was a placeholder and it looks terrible, so I will change it in the near future) Debuffs It now works perfectly fine! Last time enemies could run away from you instead of slowing down. Other really weird things kept happening… But now everything is under control 25 Unique Upgrade Cards I have 8 categories of upgrades, but you can get them in different rarities, so you can get a lot of power ups and debuffs to use on enemies! Main Menu Main menu has two sliding buttons, it will look cool when i’ll draw a big ship so the menu isn’t that empty. Options You can disable: camera shake, water; And you can enable player stats (i don’t think it will have any special styling, just plain text for nerds idk :D) Medium Enemy Added As always -> 3 frames for an enemy sprite. I wonder if the player should be able to upgrade their ship to this one… Maybe in some super-giga-epicly-legendary-1% upgrade. Cannonball Update Cannonball Range It’s not that big, but not only the ball disappears when it exit your screen, but also after +-3seconds. I had to make a small animation for it, because if you have a really big camera zoom you could see it just popping up in the middle of nothing. Particles It’s small a thing but i think it feels better now with it implemented That’s not all I made a lot in those 6h, but school started and sometimes i had to just write code for 5 minutes to get the streak… So I kinda don’t really remember the mini stuff i did lol. But it’s there! See ya on the sea or something <3"}, {"post_id": 61051, "ts": "2026-09-03T19:21:40Z", "hours": 4.2042, "text": "Pirate Game Updates! I (again) made a lot of stuff. The school started so… Nothing will change (i hope) and I will still be able to work on my small game :DDD. Major things are: Enemy Debuffs You can now draw upgrades cards that change enemy stats! I’m using global scripts to do that, I think the idea is cool and you will be able to combo it quite easily with player’s upgrades Mini Enemy I made two things for this enemy: Middle Cannon 3 frame sprite Middle cannon works differently from Left/Right cannon -> enemy DOES NOT rotate before shooting at you. I think now it looks more realistic? idk Sprite is kinda cool. I like the oars animation… It’s silly but i like it Upgrades Menu In Level Up Menu you can now see your upgrades! The style is only temporary (i know it looks awful but i will change it! Promise!). I had troubles making this one because menu in godot is just pain… Much more small details! I did a lot, even small changed matter to me so i’m happy i improved some other, smaller things"}, {"post_id": 57707, "ts": "2026-08-29T23:09:36Z", "hours": 2.0503, "text": "General Update I’ve added a lot of things! Most of them are really small changes that had to be done to upgrade the experience. Mainly: Upgrade Cards Rarities Now you have chance to get a card based on its rarity! # 0 - common; 1 - rare, 2 - epic, 3 - legendary const RARITY_WEIGHTS = { 0 : 40.0 , 1 : 30.0 , 2 : 20.0 , 3 : 10.0 } So it randomly chooses what cards are left and shuffles them! Player UI I mean it’s only two bars but they work perfectly fine. They have small animations and are connected to the player. Player now collects exp with magnet area Player has an area where you can collect the exp and it will go straight to you! It’s a small circle and if you catch exp in it, the exp will go into your ship I have ‘TODO’ list There are over 20 things i have to do… I know this devlog looks crappy, like i didn’t do that much but trust there are A LOT of small changes. I hope you like it!"}, {"post_id": 54117, "ts": "2026-08-24T22:48:57Z", "hours": 2.1286, "text": "Pirate Game - Testing & Updating I have much work to do… So i started with probably the major update in this devlog: Enemy pathfinding. It was simple at the beginning: Enemy just moved directly at you, and as you can imagine it wasn’t perfect. So I added Pathfinder (NavigatonAgent2D). Now enemies make space for each others… It still looks goofy and if there’s too many they just bump each other and still kill others… I have to manually change some properties and it will work more efficient (TRUST ME (maybe)) Some icons and cannonball I drew icons for almost all upgrades and, as you could see in the video, for the cannonball. Someone suggested that player’s and enemies bullets should be different -> yup, i agree i will probably add some shading/light on yours (like in isaac or something). Cannonball sprite looks a bit static so i wanna draw like 5 of those and change it mid-air. (IM NOT AN ARTIST SO PLEASE DON’T EXPECT ANYTHING CRAZY). Testing I did a lot of tests and minor changes, so i know what i should work on!"}, {"post_id": 52678, "ts": "2026-08-22T23:00:02Z", "hours": 2.4783, "text": "Pirate Game - Textures and Upgrade Cards I added 10+ upgrade cards (mostly for testing). You can see the stats in top-left corner. I really like the ship texture. Even if it’s simple, I think the 3 frame animation looks really good. I also added a shader for the water (also i made the water texture) but something isn’t quite right… I’ll be changing it later! I had to change water’s brightness… Even though i wanted the game to be only 2 colors, I think that’s impossible because you can’t see shi…p. It messes up with the player and i think darker version isn’t that bad (i think)."}, {"post_id": 51906, "ts": "2026-08-21T20:16:41Z", "hours": 1.3744, "text": "Pirate Rogue Like Game (late 2 day) I added upgrade cards system, so you can choose 3 (i made only 2, so there are no 3 on screen…) and then the stats will apply to the player! Next, I will make a lot of those cards and probably start drawing, because those color rects and godot icons don’t fit at all. That’s all for today, have a marvelous day (or night)"}, {"post_id": 51844, "ts": "2026-08-21T18:24:59Z", "hours": 3.0642, "text": "Pirate Rogue Like Game (day1+2) So i made basic systems: movement (click to move), enemies spawning and shooting. There are no textures yet but i want to try with some ink/paper design so it will look like a child is playing in his notebook or something."}]...
|
Title: Pirate game by @Martisos | Stardance
Devlo Title: Pirate game by @Martisos | Stardance
Devlogs:
Pirate Rogue Like Game (day1+2) So i made basic systems: movement (click to move), enemies spawning and shooting. There are no textures yet but i want to try with some ink/paper design so it will look like a child is playing in his notebook or something.
Pirate Rogue Like Game (late 2 day) I added upgrade cards system, so you can choose 3 (i made only 2, so there are no 3 on screen…) and then the stats will apply to the player! Next, I will make a lot of those cards and probably start drawing, because those color rects and godot icons don’t fit at all. That’s all for today, have a marvelous day (or night)
Pirate Game - Textures and Upgrade Cards I added 10+ upgrade cards (mostly for testing). You can see the stats in top-left corner. I really like the ship texture. Even if it’s simple, I think the 3 frame animation looks really good. I also added a shader for the water (also i made the water texture) but something isn’t quite right… I’ll be changing it later! I had to change water’s brightness… Even though i wanted the game to be only 2 colors, I think that’s impossible because you can’t see shi…p. It messes up with the player and i think darker version isn’t that bad (i think).
Pirate Game - Testing & Updating I have much work to do… So i started with probably the major update in this devlog: Enemy pathfinding. It was simple at the beginning: Enemy just moved directly at you, and as you can imagine it wasn’t perfect. So I added Pathfinder (NavigatonAgent2D). Now enemies make space for each others… It still looks goofy and if there’s too many they just bump each other and still kill others… I have to manually change some properties and it will work more efficient (TRUST ME (maybe)) Some icons and cannonball I drew icons for almost all upgrades and, as you could see in the video, for the cannonball. Someone suggested that player’s and enemies bullets should be different -> yup, i agree i will probably add some shading/light on yours (like in isaac or something). Cannonball sprite looks a bit static so i wanna draw like 5 of those and change it mid-air. (IM NOT AN ARTIST SO PLEASE DON’T EXPECT ANYTHING CRAZY). Testing I did a lot of tests and minor changes, so i know what i should work on!
General Update I’ve added a lot of things! Most of them are really small changes that had to be done to upgrade the experience. Mainly: Upgrade Cards Rarities Now you have chance to get a card based on its rarity! # 0 - common; 1 - rare, 2 - epic, 3 - legendary const RARITY_WEIGHTS = { 0 : 40.0 , 1 : 30.0 , 2 : 20.0 , 3 : 10.0 } So it randomly chooses what cards are left and shuffles them! Player UI I mean it’s only two bars but they work perfectly fine. They have small animations and are connected to the player. Player now collects exp with magnet area Player has an area where you can collect the exp and it will go straight to you! It’s a small circle and if you catch exp in it, the exp will go into your ship I have ‘TODO’ list There are over 20 things i have to do… I know this devlog looks crappy, like i didn’t do that much but trust there are A LOT of small changes. I hope you like it!
Pirate Game Updates! I (again) made a lot of stuff. The school started so… Nothing will change (i hope) and I will still be able to work on my small game :DDD. Major things are: Enemy Debuffs You can now draw upgrades cards that change enemy stats! I’m using global scripts to do that, I think the idea is cool and you will be able to combo it quite easily with player’s upgrades Mini Enemy I made two things for this enemy: Middle Cannon 3 frame sprite Middle cannon works differently from Left/Right cannon -> enemy DOES NOT rotate before shooting at you. I think now it looks more realistic? idk Sprite is kinda cool. I like the oars animation… It’s silly but i like it Upgrades Menu In Level Up Menu you can now see your upgrades! The style is only temporary (i know it looks awful but i will change it! Promise!). I had troubles making this one because menu in godot is just pain… Much more small details! I did a lot, even small changed matter to me so i’m happy i improved some other, smaller things
Another Updates! As always, i made a lot of changes, so I will summarise most of the major ones! Upgrade Cards got major update! Upgrade Cards Scene I’m now using a different scene for selecting upgrades. You can see 5 different card borders (dont look at the rare one, it was a placeholder and it looks terrible, so I will change it in the near future) Debuffs It now works perfectly fine! Last time enemies could run away from you instead of slowing down. Other really weird things kept happening… But now everything is under control 25 Unique Upgrade Cards I have 8 categories of upgrades, but you can get them in different rarities, so you can get a lot of power ups and debuffs to use on enemies! Main Menu Main menu has two sliding buttons, it will look cool when i’ll draw a big ship so the menu isn’t that empty. Options You can disable: camera shake, water; And you can enable player stats (i don’t think it will have any special styling, just plain text for nerds idk :D) Medium Enemy Added As always -> 3 frames for an enemy sprite. I wonder if the player should be able to upgrade their ship to this one… Maybe in some super-giga-epicly-legendary-1% upgrade. Cannonball Update Cannonball Range It’s not that big, but not only the ball disappears when it exit your screen, but also after +-3seconds. I had to make a small animation for it, because if you have a really big camera zoom you could see it just popping up in the middle of nothing. Particles It’s small a thing but i think it feels better now with it implemented That’s not all I made a lot in those 6h, but school started and sometimes i had to just write code for 5 minutes to get the streak… So I kinda don’t really remember the mini stuff i did lol. But it’s there! See ya on the sea or something <3
(Probably) FINAL DEVLOG A lot happened, like always. There was a lot of work but I’m almost ready with the project. Here I come with 7 hours of coding and drawing assets. Major things that changed: THE NAME I think about… PiratINK….. Yup y’know. Pirating and INK. Something like that. Main Menu As you can see in the video there are small animations in it. The waves show in music beat (but for some reason OBS wasn’t recording the intro of music?), then Ship arrives. It floats on the water, synched with waves moving. I think it looks awesome :D Sounds There is music now in my game! I used sonatina - infinity-crystal (its on itch). I love how it sounds. This RPG music is doing well in my project and you can feel the battle on the sea. Large Enemy Last enemy i had to draw. I think it looks good enought. At first I wasn’t so sure about it, but now i think it’s okay. Cannonballs Now there are 6 unique sprites. Also size is random and rotation of each ball, so every feel unique. And more… A LOT of bug fixes, game feel etc etc. I hope you will like the game! I’m so close to release and I’m really really excited! Have a great day!
I’M DONE The game is out! I named it PiratINK like I said in previous devlog. I added some stuff, here it is: Exp Loot So now there are 3 random sprites for exp. No more yellow rectangle! It’s random, also random scale and rotation so every loot looks unique. Cleaned project files and code There were a lot of trash files. I stored there every animation frame, even though i had spritesheet ready. Also code comments and prints. Cross Update No more green dot. Now I use special icon with shader! I think it looks good enough. README There is not much there, but small description, instructions and links are inside. IM SO EXCITED 30 hours is so much for me, I thought I will be working on this for 10? maybe 15 hours… That took a lot more time, but still I think i made really good job in quite small amount of time. Yesterday I was so excited i didn’t record 2 sprites I draw… Ooops. I made resprite for rare card and cross icon… I had so much fun… and sometimes hard time, but overall it was fantastic. Check out the game <3
Quick README UPDATE I rewrote the readme, so it’s more fitting to the resources -> “Writing a README that doesn’t suck”… Also added some screenshots to readme.
Ships:
I made a survival, Vampire Survivors-like game! You control a ship that automatically shoots. I had so much fun creating this project—it’s only the second game I’ve ever created on a ‘professional’ level. For the art style, I wanted to try something interesting… imagine a kid drawing this game in their school notebook. I used just two main colors, and I hope the concept comes across clearly. I’m super proud of how it turned down, and I hope everyone has as much fun playing it as I did making it!...
|
1793004733.8096113
|
1793091133.8096113
|
|
4994
|
Tamagochi pet by @S0l4Ce | Stardance
|
S0l4Ce
|
1
|
52.03
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T05:08:22Z", "hours": 45.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a tamagotchi pet (i am aware that throughout the project, the spelling of it has been inconsistent) But anyway, what i found most challenging was having to look through the loop constantly making adjustments based off minor errors during each test run and incorrect wiring making me feel like i had the code wrong. I am proud that I learned surprisingly a lot. The screenshot is merely just part of it and you should check it out yourself! both the source for the software and hardware is in there. The latest software build is in a separate branch and you may need to scope around for the latest hardware build. PLEASE note that all of the hardware additions - if you truly want to build it yourself, is pushing the limits of the esp32 so please run it while using a powerful cable.", "repo": "https://github.com/mootonlee/tamagotchi-", "demo": ""}]...
|
[{"post_id": 81143, "ts": "202 [{"post_id": 81143, "ts": "2026-10-20T02:14:13Z", "hours": 1.0578, "text": "spent this hour troubleshooting and figuring out how to add wires. was super unsucessful and wasted my time. im pretty annoyed"}, {"post_id": 80851, "ts": "2026-10-19T00:50:55Z", "hours": 2.3, "text": "Finished adding modules like the LEDs, resistors, etc. All i need now is the wiring which i heard is tedious"}, {"post_id": 80585, "ts": "2026-10-18T07:04:57Z", "hours": 1.4167, "text": "Im very proud of my work! i finished up the screen, fixed misalignments, ensured precision, and in the end, everything fit perfectly!"}, {"post_id": 80513, "ts": "2026-10-17T22:48:45Z", "hours": 2.26, "text": "got mad countless times. Im doing my CAD for my project because youll now get permanently rejected if you miss it and i never knew. Im making the screen myself because i cant find it online. Below is a picture of how its assembled so far, and i would post the part im making right now but this just looks better. Also, does the CAD have to be fully accurate? ive never done a CAD before so parts i make myself may look off but ill try my best to make the measurements right."}, {"post_id": 70980, "ts": "2026-09-20T04:48:45Z", "hours": 6.0014, "text": "finally finished the 2nd personality. will be shipping my project. only thing left to do is fix bugs (i already scanned software and hardware for bugs. though the code seems somewhat contradictory to itself, it still works but please report bugs under this one’s comment and check out my submission and the demo video!"}, {"post_id": 63407, "ts": "2026-09-07T07:10:06Z", "hours": 1.4625, "text": "im starting work on the radiobuttons for interchangable personality to wrap up the project. im using placeholders so the face looks red if the radiobuttons are selected so it would look unpleasant to see but yeah"}, {"post_id": 59986, "ts": "2026-09-02T02:11:14Z", "hours": 2.4203, "text": "Got back on track, finally! It now gets visibly dim below 50 value on light, and dark below 25, along with squint and sleep. Im now going to begin working on the other expressions after I finish adding the dim to smile and alone faces. This thing is ending soon so idk if i will be able to add the computer control functions as promised :( I also switched to cachyos so Idk how that would go either. Check out the hardware version on my page though! its finished"}, {"post_id": 52633, "ts": "2026-08-22T21:16:19Z", "hours": 0.5211, "text": "My windows OS broke, not sure how, so im running on my second SSD and my most recent work has been erased! (software version) random thumbnail ig but im gonna be re-doing whatever has been erased.."}, {"post_id": 41108, "ts": "2026-08-05T03:07:48Z", "hours": 3.4297, "text": "finally added a sleep system, dimming system, and a fully fixed and functional lonely system. when lights are at or below 50, the lights will go dim, and below 25, they will go even dimmer, and it will sleep (software) I will the face variants next, and then actual interactive computer controls. shy and moody are still not ready yet"}, {"post_id": 34593, "ts": "2026-07-25T13:29:57Z", "hours": 2.5967, "text": "added lonely, smile, and neutral, also added placeholders for the soon to be added personalities and a brightness slider. Both are unfunctional and i only have the 3 faces for now. go check out my hardware version, its fully functional"}, {"post_id": 32247, "ts": "2026-07-21T09:09:49Z", "hours": 1.2072, "text": "working on a software version of my project 🔥 I main micropython but I’m adjusting to python for this and learning the different ways things are written, and figuring out how to make faces. Can anyone tell me if theres a designer that gives you the code when you draw something on a canvas? similar to lopaka?? The software version is projected to have more features for computer control than the hardware version. After finishing the faces and overall logic, I will add the additional side controls for it, like light and stuff"}, {"post_id": 32144, "ts": "2026-07-21T03:23:42Z", "hours": 9.8794, "text": "built an extension for the pet. It connects to the pet using gnd and 4 labeled gpio pins, though the 4th one connects to 0 and not 40. It works somewhat like a stream deck; It opens 2 games, 2 code editors, a browser, and shuts off or closes tabs on my computer without needing special permissions, it is built for windows though. Most of the hours logged came from trial and error. Most of the time the buttons wouldnt register, spam the same commands, double clicks wouldnt register, and it was a mess for hours. did some bugfixes involving screen bugs during personality swaps, and the pet “forgetting” its personality. please suggest additional ideas."}, {"post_id": 30476, "ts": "2026-07-18T02:37:34Z", "hours": 1.7375, "text": "Rewired to remove clutter. Back isn’t looking too good but the front is, when I run out of ideas ill probably build a shell for it please make recommendations"}, {"post_id": 30124, "ts": "2026-07-17T13:22:42Z", "hours": 2.4481, "text": "Added another personality, shy. added “cores” that determine the personality when plugged in, red for moody and blue for shy. unplug for normal. The shy personality features new unique faces. led colors and shaken face remain same"}, {"post_id": 29977, "ts": "2026-07-17T06:07:54Z", "hours": 1.6644, "text": "Ignore devlog: Tried making online demo but i pressed a button and all my tabs refreshed all at once and reset my work. Im publishing the devlog because i still did the work and i dont want it to go to waste (IGNORE THIS DEVLOG)"}, {"post_id": 29812, "ts": "2026-07-16T23:08:57Z", "hours": 3.2333, "text": "Added extra personality. If you plug a red LED in, it will get a more of a moody personality. It will look angry, sleep angry, and will usually just be angry (shaken face does not change.) unplugging the red LED will make it instantly revert to default personality let me know other interchangeable personalities I should add, or other software and hardware suggestions. Thanks."}, {"post_id": 28868, "ts": "2026-07-15T13:02:50Z", "hours": 2.6472, "text": "Added a gyroscope so the pet can become dizzy when shook. It features a red backlight, and remains dizzy for about 5 seconds. It was really a 20-30 minute setup after learning how to code and use one, and installing the libraries, but that extra addition turned into hours of additional troubleshooting since I was unfamiliar with the hardware. I eventually got it working after plenty of trial and error, and the real issue was just a couple lines of code. I’m unfortunately not getting much views, which is discouraging, but if you do come across this and decide to click on it, please suggest something in the comments. Thanks."}, {"post_id": 28151, "ts": "2026-07-14T08:19:06Z", "hours": 0.6217, "text": "Added status lights; finishing off full basic functionality for the pet. any additional features would be improvements, hardware additions, and wiring. full explanation of functions below: The “pet” is a TFT resistive touchscreen. Its face, as you can see, is a simple white and black pixelated look. 4 functions (for now): lonely - after 30 seconds of no interaction, after waking up or not being pet, it will become lonely, which is a sad face of course. The backlight glows a gloomy blue, slightly purple. neutral - base face, the pet is neutral when it isn’t lonely, had just woken up, and had recently been pet. the 3 other moods can occur when it is neutral. the backlight is white. sleeping - when the ambient light is low enough the pet will sleep. It cannot be disturbed and cannot become lonely until woken up. This is what i personally thought was a nice addition to the pet and would bring more realism and life to the pet. This is done by having a photocell near the face for most light accuracy. the backlight features a light purple blue. happy - when you pet it (or interact with the screen), it will smile. the blush being blue and not red was both intentional and unintentional feature. The color system is inverted same with the screen rotation. I did not know how to correct it but i felt the blue looked different and I kinda liked it so I didn’t spend extra time troubleshooting. the backlight features a bright hot pink color. PLEASE add any suggestions and I will likely consider, like adding a thermistor, weather, USB OTG, etc. When i feel like it, I may add a USB mode where it can do things on my computer when plugged in, like opening an app or powering off my computer. (the 35 minutes logged was for fixing the code and adding the lights. Not the full code itself.)"}, {"post_id": 27970, "ts": "2026-07-13T22:34:39Z", "hours": 3.7561, "text": "added functionality to the pet and added made a separate smaller one. It now has multiple moods with the ability to sleep when lights are dimmed enough."}, {"post_id": 16541, "ts": "2026-06-26T22:02:40Z", "hours": 1.0939, "text": "working on the wiring of the tomogachi pet n stuff no coding yet has a touchscreen now"}]...
|
Title: Tamagochi pet by @S0l4Ce | Stardance
Devlo Title: Tamagochi pet by @S0l4Ce | Stardance
Devlogs:
working on the wiring of the tomogachi pet n stuff no coding yet has a touchscreen now
added functionality to the pet and added made a separate smaller one. It now has multiple moods with the ability to sleep when lights are dimmed enough.
Added status lights; finishing off full basic functionality for the pet. any additional features would be improvements, hardware additions, and wiring. full explanation of functions below: The “pet” is a TFT resistive touchscreen. Its face, as you can see, is a simple white and black pixelated look. 4 functions (for now): lonely - after 30 seconds of no interaction, after waking up or not being pet, it will become lonely, which is a sad face of course. The backlight glows a gloomy blue, slightly purple. neutral - base face, the pet is neutral when it isn’t lonely, had just woken up, and had recently been pet. the 3 other moods can occur when it is neutral. the backlight is white. sleeping - when the ambient light is low enough the pet will sleep. It cannot be disturbed and cannot become lonely until woken up. This is what i personally thought was a nice addition to the pet and would bring more realism and life to the pet. This is done by having a photocell near the face for most light accuracy. the backlight features a light purple blue. happy - when you pet it (or interact with the screen), it will smile. the blush being blue and not red was both intentional and unintentional feature. The color system is inverted same with the screen rotation. I did not know how to correct it but i felt the blue looked different and I kinda liked it so I didn’t spend extra time troubleshooting. the backlight features a bright hot pink color. PLEASE add any suggestions and I will likely consider, like adding a thermistor, weather, USB OTG, etc. When i feel like it, I may add a USB mode where it can do things on my computer when plugged in, like opening an app or powering off my computer. (the 35 minutes logged was for fixing the code and adding the lights. Not the full code itself.)
Added a gyroscope so the pet can become dizzy when shook. It features a red backlight, and remains dizzy for about 5 seconds. It was really a 20-30 minute setup after learning how to code and use one, and installing the libraries, but that extra addition turned into hours of additional troubleshooting since I was unfamiliar with the hardware. I eventually got it working after plenty of trial and error, and the real issue was just a couple lines of code. I’m unfortunately not getting much views, which is discouraging, but if you do come across this and decide to click on it, please suggest something in the comments. Thanks.
Added extra personality. If you plug a red LED in, it will get a more of a moody personality. It will look angry, sleep angry, and will usually just be angry (shaken face does not change.) unplugging the red LED will make it instantly revert to default personality let me know other interchangeable personalities I should add, or other software and hardware suggestions. Thanks.
Ignore devlog: Tried making online demo but i pressed a button and all my tabs refreshed all at once and reset my work. Im publishing the devlog because i still did the work and i dont want it to go to waste (IGNORE THIS DEVLOG)
Added another personality, shy. added “cores” that determine the personality when plugged in, red for moody and blue for shy. unplug for normal. The shy personality features new unique faces. led colors and shaken face remain same
Rewired to remove clutter. Back isn’t looking too good but the front is, when I run out of ideas ill probably build a shell for it please make recommendations
built an extension for the pet. It connects to the pet using gnd and 4 labeled gpio pins, though the 4th one connects to 0 and not 40. It works somewhat like a stream deck; It opens 2 games, 2 code editors, a browser, and shuts off or closes tabs on my computer without needing special permissions, it is built for windows though. Most of the hours logged came from trial and error. Most of the time the buttons wouldnt register, spam the same commands, double clicks wouldnt register, and it was a mess for hours. did some bugfixes involving screen bugs during personality swaps, and the pet “forgetting” its personality. please suggest additional ideas.
working on a software version of my project 🔥 I main micropython but I’m adjusting to python for this and learning the different ways things are written, and figuring out how to make faces. Can anyone tell me if theres a designer that gives you the code when you draw something on a canvas? similar to lopaka?? The software version is projected to have more features for computer control than the hardware version. After finishing the faces and overall logic, I will add the additional side controls for it, like light and stuff
added lonely, smile, and neutral, also added placeholders for the soon to be added personalities and a brightness slider. Both are unfunctional and i only have the 3 faces for now. go check out my hardware version, its fully functional
finally added a sleep system, dimming system, and a fully fixed and functional lonely system. when lights are at or below 50, the lights will go dim, and below 25, they will go even dimmer, and it will sleep (software) I will the face variants next, and then actual interactive computer controls. shy and moody are still not ready yet
My windows OS broke, not sure how, so im running on my second SSD and my most recent work has been erased! (software version) random thumbnail ig but im gonna be re-doing whatever has been erased..
Got back on track, finally! It now gets visibly dim below 50 value on light, and dark below 25, along with squint and sleep. Im now going to begin working on the other expressions after I finish adding the dim to smile and alone faces. This thing is ending soon so idk if i will be able to add the computer control functions as promised :( I also switched to cachyos so Idk how that would go either. Check out the hardware version on my page though! its finished
im starting work on the radiobuttons for interchangable personality to wrap up the project. im using placeholders so the face looks red if the radiobuttons are selected so it would look unpleasant to see but yeah
finally finished the 2nd personality. will be shipping my project. only thing left to do is fix bugs (i already scanned software and hardware for bugs. though the code seems somewhat contradictory to itself, it still works but please report bugs under this one’s comment and check out my submission and the demo video!
got mad countless times. Im doing my CAD for my project because youll now get permanently rejected if you miss it and i never knew. Im making the screen myself because i cant find it online. Below is a picture of how its assembled so far, and i would post the part im making right now but this just looks better. Also, does the CAD have to be fully accurate? ive never done a CAD before so parts i make myself may look off but ill try my best to make the measurements right.
Im very proud of my work! i finished up the screen, fixed misalignments, ensured precision, and in the end, everything fit perfectly!
Finished adding modules like the LEDs, resistors, etc. All i need now is the wiring which i heard is tedious
spent this hour troubleshooting and figuring out how to add wires. was super unsucessful and wasted my time. im pretty annoyed
Ships:
I made a tamagotchi pet (i am aware that throughout the project, the spelling of it has been inconsistent) But anyway, what i found most challenging was having to look through the loop constantly making adjustments based off minor errors during each test run and incorrect wiring making me feel like i had the code wrong. I am proud that I learned surprisingly a lot. The screenshot is merely just part of it and you should check it out yourself! both the source for the software and hardware is in there. The latest software build is in a separate branch and you may need to scope around for the latest hardware build. PLEASE note that all of the hardware additions - if you truly want to build it yourself, is pushing the limits of the esp32 so please run it while using a powerful cable....
|
1793004735.0102348
|
1793091135.0102348
|
|
28680
|
Copy-Paste-Pad by @kallioderso | Stardance
|
kallioderso
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T19:25:51Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey there i created the Copy-Paste-Pad, a macropad able provide up to six clipboards at the same time. So 6x more than normaly possible under windows. For this you have a so called copy mode (left down button) and a paste mofe (right down button) after activating the specific mode each click at the remaining keys triggers an specific copy or paste event for the pressed key slot. This happenes in a laptop sided software, reacting on hid signals from the device to trigger strg + c or strg + p to copy something and than store it in one of the 6 Storage variables. Creating this laptop sided software was really challanging in comparison to the firmware for the macropad itself due to how hid events work and to copy something without loosing the original clipboard context. I really hope you all like this project as much as i do. I am really proud of the geberal design and look of everything", "repo": "https://github.com/kallioderso/Copy-Paste-Pad", "demo": ""}]...
|
[{"post_id": 74608, "ts": "202 [{"post_id": 74608, "ts": "2026-09-27T19:20:08Z", "hours": 0.5119, "text": "Finally finished everything and now ready for ship (had to fix the CAD files another time xD)"}, {"post_id": 74516, "ts": "2026-09-27T15:27:13Z", "hours": 2.7533, "text": "In this Build-devlog did i assembly everything (while destroying 2 of the 5 platines) and compiling everything. As well did i fix my CAD files, so that everything is now fine"}, {"post_id": 48075, "ts": "2026-08-16T11:18:09Z", "hours": 2.0358, "text": "Long time since i uploaded the last devlog. one thing i forgot to upload was these changes which includes a lot of code reworking and commenting everthing to make it more understandable. in the future i will create custom applications with UI using .net Maui. at least if i got enough time remaining :)"}, {"post_id": 22912, "ts": "2026-07-05T15:32:29Z", "hours": 0.4372, "text": "i finally fixed everything. because inside the last devlog did i commpletly forgot to update the Readme file and therefore every important piece of information towards the firmware xD. but i fixed it :) and as well added the .dxf files needed for CNC machining, in case someone would like to CNC machine his copy of my creation. (i did it as well)"}, {"post_id": 22893, "ts": "2026-07-05T15:05:29Z", "hours": 1.7742, "text": "with this devlog, i finally finished the entire firmware for the first ship of the Copy-Paste-Pad and all of its functions. unfortunatly is it so, that it took very long to compile the qmk, which is the reason why i as well included it inside github. so that others dont have to life trough the same struggle xD. apart from that, did i comment every single file and as well understood the things i wrote with the help of ai, so that i could rewritte and improve it inside the next ship or better sayed until the next ship. i tried as well to documentate everything as good as possible, so that it would be easy to understand and use. up to this point i as well made some little but nice improvements towards the casing and the pcb, as i accidently put the oled towards the 5V and a bunch of other small mistakes as well :P"}, {"post_id": 22822, "ts": "2026-07-05T12:47:21Z", "hours": 1.4356, "text": "I created the whole firmware, but sadly did i had to use ai for most of the .exe firmware part, there to solve the copying and pasting inside the computere, as it had to do with complicated librarys. But dont worry, before shipping will i fix the code and rewritte it, so that the ai aspect almost gets missing, just wanted a prove of concept. As well did i create a wood casing inside my stephfathers cnc mashine as i loved the idea of letting the Copy-Paste-Pad appear premium with wood, glas and so on."}, {"post_id": 22033, "ts": "2026-07-04T09:03:11Z", "hours": 2.4039, "text": "I Tryed my best to create the firmware, but i struggle so much : P"}, {"post_id": 20691, "ts": "2026-07-02T11:02:40Z", "hours": 0.8958, "text": "Creating the Github Repo (forgot to record all of it, like 45min) and polished the casing"}, {"post_id": 19275, "ts": "2026-06-30T15:27:02Z", "hours": 0.65, "text": "Created the entire Casing for the Copy-Paste-Board"}, {"post_id": 19238, "ts": "2026-06-30T14:32:57Z", "hours": 1.2906, "text": "Finalized the PCB and Schematic"}]...
|
Title: Copy-Paste-Pad by @kallioderso | Stardance
Title: Copy-Paste-Pad by @kallioderso | Stardance
Devlogs:
Finalized the PCB and Schematic
Created the entire Casing for the Copy-Paste-Board
Creating the Github Repo (forgot to record all of it, like 45min) and polished the casing
I Tryed my best to create the firmware, but i struggle so much : P
I created the whole firmware, but sadly did i had to use ai for most of the .exe firmware part, there to solve the copying and pasting inside the computere, as it had to do with complicated librarys. But dont worry, before shipping will i fix the code and rewritte it, so that the ai aspect almost gets missing, just wanted a prove of concept. As well did i create a wood casing inside my stephfathers cnc mashine as i loved the idea of letting the Copy-Paste-Pad appear premium with wood, glas and so on.
with this devlog, i finally finished the entire firmware for the first ship of the Copy-Paste-Pad and all of its functions. unfortunatly is it so, that it took very long to compile the qmk, which is the reason why i as well included it inside github. so that others dont have to life trough the same struggle xD. apart from that, did i comment every single file and as well understood the things i wrote with the help of ai, so that i could rewritte and improve it inside the next ship or better sayed until the next ship. i tried as well to documentate everything as good as possible, so that it would be easy to understand and use. up to this point i as well made some little but nice improvements towards the casing and the pcb, as i accidently put the oled towards the 5V and a bunch of other small mistakes as well :P
i finally fixed everything. because inside the last devlog did i commpletly forgot to update the Readme file and therefore every important piece of information towards the firmware xD. but i fixed it :) and as well added the .dxf files needed for CNC machining, in case someone would like to CNC machine his copy of my creation. (i did it as well)
Long time since i uploaded the last devlog. one thing i forgot to upload was these changes which includes a lot of code reworking and commenting everthing to make it more understandable. in the future i will create custom applications with UI using .net Maui. at least if i got enough time remaining :)
In this Build-devlog did i assembly everything (while destroying 2 of the 5 platines) and compiling everything. As well did i fix my CAD files, so that everything is now fine
Finally finished everything and now ready for ship (had to fix the CAD files another time xD)
Ships:
Hey there i created the Copy-Paste-Pad, a macropad able provide up to six clipboards at the same time. So 6x more than normaly possible under windows. For this you have a so called copy mode (left down button) and a paste mofe (right down button) after activating the specific mode each click at the remaining keys triggers an specific copy or paste event for the pressed key slot. This happenes in a laptop sided software, reacting on hid signals from the device to trigger strg + c or strg + p to copy something and than store it in one of the 6 Storage variables. Creating this laptop sided software was really challanging in comparison to the firmware for the macropad itself due to how hid events work and to copy something without loosing the original clipboard context. I really hope you all like this project as much as i do. I am really proud of the geberal design and look of everything...
|
1793004740.0434165
|
1793091140.0434165
|
|
20172
|
Rakon's portfolio site by @Rakon150 | Stardanc Rakon's portfolio site by @Rakon150 | Stardance...
|
Rakon150
|
2
|
16.0
|
48
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-07T15:52:40Z", "hours": 6.0, "multiplier": 6.23, "payout": 34, "blessing": "neutral", "text": "This is the second ship of my personal portfolio with button to popup animations working on desktop and mobile, projects page, status dot linked to uptime kuma api and a carbon background. Even though this project took more than it should I learned a lot and I am happy with how this project turned out. Main challanges for me were the animations and uptime kuma api.", "repo": "https://github.com/Rakon150/Homepage", "demo": "https://rakon.qzz.io"}, {"ship_num": 2, "ts": "2026-09-26T18:11:20Z", "hours": 10.0, "multiplier": 1.37, "payout": 14, "blessing": "neutral", "text": "Selfhosted portfolio website for my projects, links and about me. To open any info the button expands into a popup windows with all the text. The animation was probably the hardest thing on this entire project. Then on /projects there is a list of all my projects with links to github. There are still things to improve but this is a finalised version of my website.", "repo": "https://github.com/Rakon150/Homepage", "demo": "https://rakon.qzz.io"}]...
|
[{"post_id": 77591, "ts": "202 [{"post_id": 77591, "ts": "2026-10-07T15:47:47Z", "hours": 2.4567, "text": "Devlog #5 The mobile UI is now fully usable although it depends on what screen you have but most phones are all right. The project is ready for a v2 ship with the new status dot, fully working mobile UI and some other small changes Everything now finished on rakon.qzz.io"}, {"post_id": 76502, "ts": "2026-10-03T19:26:49Z", "hours": 3.075, "text": "Devlog #4 - time for edits for second ship So because some people said that adding a back button to the projects page would be good so I added it 100% revolutionary feature - status dot, all it does is react to my uptime kuma API and show the status of my services. This took me too long to get it working because of CORS of all things but that is all fixed"}, {"post_id": 74041, "ts": "2026-09-26T16:10:14Z", "hours": 2.3339, "text": "#Devlog #3 the project is finally ready to ship TO-DO make it more mobile friendly possibly rewrite in react (if I have spare time) DONE the entire website is done along side the projects page /projects now shows all my projects I have done everything is deployed on rakon.qzz.io selfhosted on my server"}, {"post_id": 73184, "ts": "2026-09-24T15:22:57Z", "hours": 5.0536, "text": "Devlog #2 TO-DO add the /projects page ideally make the projects easily “addable” so its faster possibly rewrite in react (if I have spare time) The stuff that is actually done there is actually stuff now a beautiful popup animation with a beautiful blur (definitely not biased)"}, {"post_id": 13024, "ts": "2026-06-21T09:25:27Z", "hours": 3.0919, "text": "The first Devlog actually started work on the portfolio now and its going well I have the main structure of the page but still WIP cause nothing works (for now) I got the site up and hosted on my server so anyone can find it on rakon.qzz.io The plan: add popups with the info for all the buttons I would like to test out making some sort of animation for the background if I find a way how to implement that so it would work well possibly try to rewrite the site in Tailwind/React make it presentable"}]...
|
Title: Rakon's portfolio site by @Rakon150 | S Title: Rakon's portfolio site by @Rakon150 | Stardance
Devlogs:
The first Devlog actually started work on the portfolio now and its going well I have the main structure of the page but still WIP cause nothing works (for now) I got the site up and hosted on my server so anyone can find it on rakon.qzz.io The plan: add popups with the info for all the buttons I would like to test out making some sort of animation for the background if I find a way how to implement that so it would work well possibly try to rewrite the site in Tailwind/React make it presentable
Devlog #2 TO-DO add the /projects page ideally make the projects easily “addable” so its faster possibly rewrite in react (if I have spare time) The stuff that is actually done there is actually stuff now a beautiful popup animation with a beautiful blur (definitely not biased)
#Devlog #3 the project is finally ready to ship TO-DO make it more mobile friendly possibly rewrite in react (if I have spare time) DONE the entire website is done along side the projects page /projects now shows all my projects I have done everything is deployed on rakon.qzz.io selfhosted on my server
Devlog #4 - time for edits for second ship So because some people said that adding a back button to the projects page would be good so I added it 100% revolutionary feature - status dot, all it does is react to my uptime kuma API and show the status of my services. This took me too long to get it working because of CORS of all things but that is all fixed
Devlog #5 The mobile UI is now fully usable although it depends on what screen you have but most phones are all right. The project is ready for a v2 ship with the new status dot, fully working mobile UI and some other small changes Everything now finished on rakon.qzz.io
Ships:
Selfhosted portfolio website for my projects, links and about me. To open any info the button expands into a popup windows with all the text. The animation was probably the hardest thing on this entire project. Then on /projects there is a list of all my projects with links to github. There are still things to improve but this is a finalised version of my website.
This is the second ship of my personal portfolio with button to popup animations working on desktop and mobile, projects page, status dot linked to uptime kuma api and a carbon background. Even though this project took more than it should I learned a lot and I am happy with how this project turned out. Main challanges for me were the animations and uptime kuma api....
|
1793004741.2823746
|
1793091141.2823746
|
|
35569
|
Vinland Saga OS by @AriDev24 | Stardance
|
AriDev24
|
2
|
28.0
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T18:50:08Z", "hours": 3.0, "multiplier": 5.24, "payout": 15, "blessing": "neutral", "text": "(Vinland Saga OS v0.6) is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own. This is my WebOS 2 so in this WebOS 2 version i added and improved many things : The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…", "repo": "https://github.com/aridev24/Vinland-Saga-OS", "demo": "https://vinland-saga-os.vercel.app/"}, {"ship_num": 2, "ts": "2026-09-20T20:13:22Z", "hours": 25.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Vinland Saga OS is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own without AI, yea but i will be honest with you: there was a lil hidden bug in some 2 lines of JS, I tried my best to debug but at the end i asked copilot to tell me why this code is not working and it told me, the lines were swapped with each other, so then I debugged it.", "repo": "https://github.com/aridev24/Vinland-Saga-OS", "demo": "https://vinland-saga-os.vercel.app/"}]...
|
[{"post_id": 71889, "ts": "202 [{"post_id": 71889, "ts": "2026-09-21T18:19:14Z", "hours": 2.8381, "text": "(Vinland Saga OS v0.7) Added 4 new features. Today, in this, i added many new features to enhance the user experience, The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…"}, {"post_id": 71191, "ts": "2026-09-20T12:42:32Z", "hours": 1.2247, "text": "(Vinland Saga OS v0.6) Final polish has been completed and now i am finally shipping it. In the final polish i added Vikings Norse symbols to the OS and added more images to the gallery. Finding and editing the Norse symbols to match the theme took me too much time. Soo tell if something can be improved. BTW I’m going to ship it…😄"}, {"post_id": 70534, "ts": "2026-09-19T10:19:21Z", "hours": 8.4975, "text": "Finally Its Time To ship (Vinland Saga OS v0.5) Completed This Time i added many new features like opening and closing the windows/Apps, Actually my app are like widgets on screen, i also a pre loading screen, added more images to gallery and made a new beautiful clock widget. Now Its time for Just a final polish and Doneee…"}, {"post_id": 69306, "ts": "2026-09-16T19:31:34Z", "hours": 3.6294, "text": "Late Night New Features Update to Vinland Saga OS Today before adding new feature i thought to modify theme colors because they were looking boring so first i change the color, and then i started to add more features to my OS but i dont have any new feature idea after searching and thinking here and there i thought to add a song and a gallery, so first i downloaded a Vinland Saga opening song and some images stolen from Pinterest 😅, and start building the features and here the results are in front of you…(Please let me know I you like it😥) Now tomorrow i will add more features"}, {"post_id": 68762, "ts": "2026-09-15T18:14:07Z", "hours": 5.0728, "text": "Sooo… Finally New Features Added To Vinland Saga OS the most dangerous part was literally JavaScript 😭 Added a Side bar for apps icon and add a image at the top of it to make it look badass. Add a Quick Notes App that took me two Daaays because to make it draggable, open and close using java script ( Its my fist time of using Java script 😭) Still Adding new Apps and features 😉 (oh and also added a custom knife cursor but you cant see it in the screenshot)"}, {"post_id": 67937, "ts": "2026-09-14T07:59:02Z", "hours": 2.8878, "text": "Oh Finally now its far better than before after searching hours i found a perfect background for my OS, and i also changed the background color and text color of the pannels to make it look much better and match the theme. The most difficult part was choosing the theme color that will look perfect with the background and ancient theme, currently its not haiving much features but soon it will look greate with useful features (Maybe😅) oh and i fogot to tell that i also make some windows movable anywhere on screen"}, {"post_id": 67291, "ts": "2026-09-13T11:20:26Z", "hours": 3.7989, "text": "A Gift For Anime Fans, Building a Vinland Saga Web-Based OS"}]...
|
Title: Vinland Saga OS by @AriDev24 | Stardance
D Title: Vinland Saga OS by @AriDev24 | Stardance
Devlogs:
A Gift For Anime Fans, Building a Vinland Saga Web-Based OS
Oh Finally now its far better than before after searching hours i found a perfect background for my OS, and i also changed the background color and text color of the pannels to make it look much better and match the theme. The most difficult part was choosing the theme color that will look perfect with the background and ancient theme, currently its not haiving much features but soon it will look greate with useful features (Maybe😅) oh and i fogot to tell that i also make some windows movable anywhere on screen
Sooo… Finally New Features Added To Vinland Saga OS the most dangerous part was literally JavaScript 😭 Added a Side bar for apps icon and add a image at the top of it to make it look badass. Add a Quick Notes App that took me two Daaays because to make it draggable, open and close using java script ( Its my fist time of using Java script 😭) Still Adding new Apps and features 😉 (oh and also added a custom knife cursor but you cant see it in the screenshot)
Late Night New Features Update to Vinland Saga OS Today before adding new feature i thought to modify theme colors because they were looking boring so first i change the color, and then i started to add more features to my OS but i dont have any new feature idea after searching and thinking here and there i thought to add a song and a gallery, so first i downloaded a Vinland Saga opening song and some images stolen from Pinterest 😅, and start building the features and here the results are in front of you…(Please let me know I you like it😥) Now tomorrow i will add more features
Finally Its Time To ship (Vinland Saga OS v0.5) Completed This Time i added many new features like opening and closing the windows/Apps, Actually my app are like widgets on screen, i also a pre loading screen, added more images to gallery and made a new beautiful clock widget. Now Its time for Just a final polish and Doneee…
(Vinland Saga OS v0.6) Final polish has been completed and now i am finally shipping it. In the final polish i added Vikings Norse symbols to the OS and added more images to the gallery. Finding and editing the Norse symbols to match the theme took me too much time. Soo tell if something can be improved. BTW I’m going to ship it…😄
(Vinland Saga OS v0.7) Added 4 new features. Today, in this, i added many new features to enhance the user experience, The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…
Ships:
Vinland Saga OS is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own without AI, yea but i will be honest with you: there was a lil hidden bug in some 2 lines of JS, I tried my best to debug but at the end i asked copilot to tell me why this code is not working and it told me, the lines were swapped with each other, so then I debugged it.
(Vinland Saga OS v0.6) is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own. This is my WebOS 2 so in this WebOS 2 version i added and improved many things : The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…...
|
1793004742.4805794
|
1793091142.4805794
|
|
35928
|
Cheap, Versatile Robotic Arm by @Bennediktiner | S Cheap, Versatile Robotic Arm by @Bennediktiner | Stardance...
|
Bennediktiner
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T08:29:50Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A 3D Printed, 2 Segment Robotic Arm with IK Solver Find the Code at: https://github.com/MoustacheBob/2-Segment-Robotic-Arm/tree/main Find all models at: https://www.printables.com/model/1837281-simple-2-segment-robotic-arm I made a mostly 3D printed robotic Arm, thats controlledusing an Arduino doing the Inverse Kinematics calculations for the coordinates sent by a custom PyQt Desktop GUI. I made this mostly to learn Cad and proper Design, aswell as how to work with PyQt and the Arduino IDE Along the way I made semi Custom libraries to control the servos and stepper along with TMC2209 motor driver, learnt Fusion 360 from Scratch and got the basics of PyQt, PySerial and matplotlib. Note: I do not recommend recreating anything here as it is probably hopelessly flawed. In the demo video you will se me have to hold it down as i was too lazy to make a proper mount and smoother simultaneous movement of the motors would be possible if that would not surpass the current Limit of my Power supply. In the future I might expand the concept to a 6 dof Arm, though not as the very next project.", "repo": "https://github.com/MoustacheBob/2-Segment-Robotic-Arm", "demo": ""}]...
|
[{"post_id": 65260, "ts": "202 [{"post_id": 65260, "ts": "2026-09-10T08:17:06Z", "hours": 1.6672, "text": "Final Devlog I shall never give time estimates again So obviously didnt finish it that weekend and the couldnt work on it for a week because of School Nevertheless i had to make some small adjustments in the design as i had to change one of the motors and have a different way to attach the Motors to the axles. Unfortunately i dont have a proper soldering setup, which is why the wiring is done near entirely with Crocodile clamps. Finally though i am finished, achieving my main goal of creating a 2 segment arm that can move to specified coordinates with an IK-solver, and learnt a lot on the way there. Am shipping soon, thanks for your time."}, {"post_id": 56828, "ts": "2026-08-28T19:28:21Z", "hours": 0.9333, "text": "Devlog 3 School’s back, but so am I! Havent had a lot of time recently as you can tell, but im here to present the finished CAD!!! im very glad I don’t have to deal with Fusion 360 for a bit. Im pretty happy with how everythin turned out, the design is pretty decent, the file is Solidly parametric, just tolerances between the printed and non printed parts are going to be a hassle. To be fully honest though, the design is probably hot ass, i have no idea if any of it will hold up assembled, torque calculation for the length of the arms was all done on a complete whim, but hey, I made it and it’s mine :) I have some free time this weekend and nothing better to do, so im really sprinting to finish this project and assemble everything. Part of the work has already started, I just hope im not underestimating the time soldering will take. note: in red, all parts to be printed"}, {"post_id": 38141, "ts": "2026-07-31T11:37:06Z", "hours": 4.5456, "text": "Devlog 2 Ive been a bit lazy as always Good news Though: the entire software side of things is pretty much finished! The Stepper Motor for base rotation is using the AccelStepper ( by Mike McCauley ) alongside a custom wrapper class to work with degrees and some QoL functions. The 2 MG90s Servos use the SeroEasing library (by Armin Joachimsmeyer) to smoothly move to the desired position. This means that all motors can now move the respective degrees calculated by the arduino, which receives the desired Coordinates from the desktop programm. Bad News: Still have to do the entire goddamn CAD. i dont wannaaaa :( ."}, {"post_id": 34594, "ts": "2026-07-25T13:35:04Z", "hours": 0.8647, "text": "Devlog 1 Had a bit of a rough time if anyone has a recommendation for a reliable adjustable PSU or knows a design workaound for sliprings Please hit me up!! Good Stuff: Parts arrived!!! Had a great time trying out the new parts like a Nema 17 Stepper motor (which is way overkill but idc, probably need it later on anyway). Started the Cad. Its hit or miss, some parts work, others dont. printed Parts. As you can see in the picture, i started printing some parts from the Cad i was confident int, though i need to adjust some tolerances. (They were all printed on a Prusa Mini+ with .2mm layer height) Bad stuff: To power the motors I need a better power supply than a 9v battery. Will probably buy an adjustable psu soon, since i dont want to power every project off of a battery pack, but itll be expensive… the base of the arm also probably needs a slip ring (if anyone has ideas to not need one im very open) and some longer wires. Thats why im having problems with the cad design, since i failed to account for those thing. Forgot to track pretty much all the Cad work with lookout (who on earth remembers to turn that on…) Problems are a bit of a bummer, since it means waiting on parts to arrive and, since im great at procrastinating, my summer break is going to be over somewhat soon. Thx for reading my rant, thx to the contest organisers and if anyone has a recommendation for a reliable adjustable PSU or knows a design workaound for sliprings Please hit me up!!"}, {"post_id": 32291, "ts": "2026-07-21T11:26:27Z", "hours": 1.9497, "text": "Devlog 0 have to do a devlog 0 since i started workin on this before i knew about this event My basic goal with this project is just to learn and get better at CAD and coding by actually building something, not to create something crazy innovative. The current goal of the project is to build a 2 segment robotic arm, that can be controlled using desktop software, sending 3D coordinates to an arduino which then computes the motor angles. (having just 2 segments means i can use a simple trigonometric ik- solver) So far I have the basic software done, made using PyQt, Pyserial and matplotlib (see picture), aswell as the ik solver in the arduino IDE. Since you need some time captured in hackatime/lapse to post a devlog, the current tracked time is mostly dicking around with color settings in PyQt and starting some templates in Fusion what im planning to do now: Finish the cad Model Order Motors, Drivers, etc. Integrate the motor controls into the aruino code -> Probably ship the project -> if im not tired of it, expand every aspect to fit a 6 DoF robotic arm and ship that as a new project. once again, this project is just to learn and not anything impressive, thx for reading and to the competition organisors."}]...
|
Title: Cheap, Versatile Robotic Arm by @Bennedikti Title: Cheap, Versatile Robotic Arm by @Bennediktiner | Stardance
Devlogs:
Devlog 0 have to do a devlog 0 since i started workin on this before i knew about this event My basic goal with this project is just to learn and get better at CAD and coding by actually building something, not to create something crazy innovative. The current goal of the project is to build a 2 segment robotic arm, that can be controlled using desktop software, sending 3D coordinates to an arduino which then computes the motor angles. (having just 2 segments means i can use a simple trigonometric ik- solver) So far I have the basic software done, made using PyQt, Pyserial and matplotlib (see picture), aswell as the ik solver in the arduino IDE. Since you need some time captured in hackatime/lapse to post a devlog, the current tracked time is mostly dicking around with color settings in PyQt and starting some templates in Fusion what im planning to do now: Finish the cad Model Order Motors, Drivers, etc. Integrate the motor controls into the aruino code -> Probably ship the project -> if im not tired of it, expand every aspect to fit a 6 DoF robotic arm and ship that as a new project. once again, this project is just to learn and not anything impressive, thx for reading and to the competition organisors.
Devlog 1 Had a bit of a rough time if anyone has a recommendation for a reliable adjustable PSU or knows a design workaound for sliprings Please hit me up!! Good Stuff: Parts arrived!!! Had a great time trying out the new parts like a Nema 17 Stepper motor (which is way overkill but idc, probably need it later on anyway). Started the Cad. Its hit or miss, some parts work, others dont. printed Parts. As you can see in the picture, i started printing some parts from the Cad i was confident int, though i need to adjust some tolerances. (They were all printed on a Prusa Mini+ with .2mm layer height) Bad stuff: To power the motors I need a better power supply than a 9v battery. Will probably buy an adjustable psu soon, since i dont want to power every project off of a battery pack, but itll be expensive… the base of the arm also probably needs a slip ring (if anyone has ideas to not need one im very open) and some longer wires. Thats why im having problems with the cad design, since i failed to account for those thing. Forgot to track pretty much all the Cad work with lookout (who on earth remembers to turn that on…) Problems are a bit of a bummer, since it means waiting on parts to arrive and, since im great at procrastinating, my summer break is going to be over somewhat soon. Thx for reading my rant, thx to the contest organisers and if anyone has a recommendation for a reliable adjustable PSU or knows a design workaound for sliprings Please hit me up!!
Devlog 2 Ive been a bit lazy as always Good news Though: the entire software side of things is pretty much finished! The Stepper Motor for base rotation is using the AccelStepper ( by Mike McCauley ) alongside a custom wrapper class to work with degrees and some QoL functions. The 2 MG90s Servos use the SeroEasing library (by Armin Joachimsmeyer) to smoothly move to the desired position. This means that all motors can now move the respective degrees calculated by the arduino, which receives the desired Coordinates from the desktop programm. Bad News: Still have to do the entire goddamn CAD. i dont wannaaaa :( .
Devlog 3 School’s back, but so am I! Havent had a lot of time recently as you can tell, but im here to present the finished CAD!!! im very glad I don’t have to deal with Fusion 360 for a bit. Im pretty happy with how everythin turned out, the design is pretty decent, the file is Solidly parametric, just tolerances between the printed and non printed parts are going to be a hassle. To be fully honest though, the design is probably hot ass, i have no idea if any of it will hold up assembled, torque calculation for the length of the arms was all done on a complete whim, but hey, I made it and it’s mine :) I have some free time this weekend and nothing better to do, so im really sprinting to finish this project and assemble everything. Part of the work has already started, I just hope im not underestimating the time soldering will take. note: in red, all parts to be printed
Final Devlog I shall never give time estimates again So obviously didnt finish it that weekend and the couldnt work on it for a week because of School Nevertheless i had to make some small adjustments in the design as i had to change one of the motors and have a different way to attach the Motors to the axles. Unfortunately i dont have a proper soldering setup, which is why the wiring is done near entirely with Crocodile clamps. Finally though i am finished, achieving my main goal of creating a 2 segment arm that can move to specified coordinates with an IK-solver, and learnt a lot on the way there. Am shipping soon, thanks for your time.
Ships:
A 3D Printed, 2 Segment Robotic Arm with IK Solver Find the Code at: https://github.com/MoustacheBob/2-Segment-Robotic-Arm/tree/main Find all models at: https://www.printables.com/model/1837281-simple-2-segment-robotic-arm I made a mostly 3D printed robotic Arm, thats controlledusing an Arduino doing the Inverse Kinematics calculations for the coordinates sent by a custom PyQt Desktop GUI. I made this mostly to learn Cad and proper Design, aswell as how to work with PyQt and the Arduino IDE Along the way I made semi Custom libraries to control the servos and stepper along with TMC2209 motor driver, learnt Fusion 360 from Scratch and got the basics of PyQt, PySerial and matplotlib. Note: I do not recommend recreating anything here as it is probably hopelessly flawed. In the demo video you will se me have to hold it down as i was too lazy to make a proper mount and smoother simultaneous movement of the motors would be possible if that would not surpass the current Limit of my Power supply. In the future I might expand the concept to a 6 dof Arm, though not as the very next project....
|
1793004743.6435983
|
1793091143.6435983
|
|
45338
|
ESP32 MP3 Player by @tanvu | Stardance
|
tanvu
|
1
|
62.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T23:20:39Z", "hours": 62.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an ESP32 MP3 player on breadboard, complete with a file system and a multi-function playback controller. I went into this project essentially from zero - I had never used an ESP32 and had barely any experience with hobbyist electronics. I wasn’t even aware of the concept of debounce was until I naturally encountered button/encoder jitters in testing. What I’m most proud of is the journey from getting blinky on ESP32 just a few days before starting this project to having a complete embedded system.", "repo": "https://github.com/tanvu29/esp-mp3-player", "demo": ""}]...
|
[{"post_id": 57107, "ts": "202 [{"post_id": 57107, "ts": "2026-08-29T06:34:26Z", "hours": 4.5472, "text": "Final devlog! The main program came together pretty quick since I went through the gauntlet of writing classes for each major component. Quick summary of the MP3 player: Load up a microSD with songs/albums in MP3 format. Then navigate the file browser using the rotary encoder to scroll through and button to select. You can play/pause, skip to next song, and toggle between playback and browser mode at any time. I would love to continue improving this, like right now the ESP32 has trouble registering double button clicks if it’s also streaming audio at the same time. That’s why you see me pause songs before double clicking in the video LOL. Unfortunately with school starting soon I decided to wrap it up here. Still super proud of how far I’ve come considering I was only getting blinky on ESP32 one month ago. This is also meant to be a breadboard proof of concept for a larger PCB project I’ll be tackling, and I’m definitely glad I learned some lessons here and not while working on the PCB. I doubt finishing the PCB is in scope with a month left of stardance but stay tuned haha"}, {"post_id": 55329, "ts": "2026-08-27T02:18:26Z", "hours": 10.1339, "text": "File system stress tested When you start debugging you realize writing code was only half the battle"}, {"post_id": 54335, "ts": "2026-08-25T09:12:14Z", "hours": 3.8667, "text": "Day 9 - File system class written 700+ lines of code between the header and source files :o Once the final version of this class is tested, all classes will have been written and ready to be integrated into the final program. In the home stretch!"}, {"post_id": 54265, "ts": "2026-08-25T04:54:24Z", "hours": 10.0006, "text": "File system in progress Approaching 10 hrs so had to devlog lol Will be back once file system is finished"}, {"post_id": 52710, "ts": "2026-08-23T00:45:57Z", "hours": 11.8506, "text": "Day 8 - writing a proper class start to finish Display class for the LCD is now complete, ready to be integrated with rest of program. Learnings: Use C strings over String objects to avoid heap fragmentation Use structs when you want to store different kinds of information about a state Consider what the class needs to know about the program, but also what it doesn’t need to know"}, {"post_id": 51146, "ts": "2026-08-20T17:18:32Z", "hours": 4.4336, "text": "Day 7 - debugging, oop, state machines The only new functionality added today was updating my button state machine for double click and long press detection. Intended behavior: While a song is playing, double click to play the next song or long press to return to the file navigator / song selector. Demo test in video The more interesting part to me was getting experience with two real big potato things: debugging & oop in c++. I got a taste of debugging low-level errors using toolchains. In this case it was the Xtensa addr2line tool used to convert ESP32 memory address logs into the exact file and line number involved in the error. Shoutout RoboService on youtube with 10 subscribers for making a banger tutorial. I also kinda went headfirst into c++ classes. My main arduino ide sketch was getting long enough to the point where partitioning it into classes became the smart move. I got the hang of it faster than expected. The new part is learning c++ specific syntax, but the fundamental concepts are the same across all oop languages."}, {"post_id": 50137, "ts": "2026-08-19T07:22:05Z", "hours": 5.3003, "text": "Day 6 - song progress timer complete with the help of codex Didn’t realize how complicated calculating song duration from an MP3 would be. You would think duration is stored in metadata but you actually need to do some reverse engineering & check for a bunch of different compression formats yada yada Anyways now a basic timer is working. Also replaced the headphone jack with speakers like the engineers of the MAX98357 amp modules intended. Still lots more to implement like file navigation and song selection"}, {"post_id": 49358, "ts": "2026-08-18T04:15:32Z", "hours": 3.0836, "text": "Day 5 - hello world LCD display I2C protocol learnings: SDA and SCL lines are held HIGH by external pull-up resistors. Connecting to GPIO pins with internal pull-down resistors will interfere with the pull-ups and cause a serial error. I was stuck on that for a hot minute lol Looking forward, I’ll be implementing song title/artist, timer, progress bar, and hopefully file navigation functionality"}, {"post_id": 47356, "ts": "2026-08-15T07:45:24Z", "hours": 2.2667, "text": "Day 3 & 4 - Audio is now playing! Found a library called arduino-audio-tools that conveniently abstracts the MP3 -> PCM -> I2S pipeline, so no need to reinvent the wheel. This library provides functions like setVolume(), play(), and stop(). All I had to do was integrate these functions into my rotary encoder code from Day 1, and voila there’s volume control and pause/resume. The next session will likely be debugging the static & flicker coming out of the TRRS headphone jack"}, {"post_id": 46204, "ts": "2026-08-13T08:29:49Z", "hours": 3.2169, "text": "Day 2 - Researched SD card reading on the Arduino platform. This one took waayyyy too long - once I realized the native arduino SD library doesn’t support my >32GB exFAT microSD I spent the entire day looking into and testing various libraries.. turns out it was a hardware problem. I was using custom pins for SPI instead of the standard ESP32 VSPI pins and assumed it would work the same. Guess I chose a bad pin?"}, {"post_id": 45555, "ts": "2026-08-12T03:46:31Z", "hours": 3.0333, "text": "Day 1 - Prototyped volume control, scrolling, and button press on a KY-040 rotary encoder. Button press was done with a timer based debounce, but nailing down debounce logic for volume/scrolling was more tricky… The solution I landed on was making a state transition table, which maps changes in the encoder’s quadrature signal to a physical turn, CW or CCW. In the screenshot you can see debounce in action - button press is registered 3 times but the actual output only changes once!"}]...
|
Title: ESP32 MP3 Player by @tanvu | Stardance
Dev Title: ESP32 MP3 Player by @tanvu | Stardance
Devlogs:
Day 1 - Prototyped volume control, scrolling, and button press on a KY-040 rotary encoder. Button press was done with a timer based debounce, but nailing down debounce logic for volume/scrolling was more tricky… The solution I landed on was making a state transition table, which maps changes in the encoder’s quadrature signal to a physical turn, CW or CCW. In the screenshot you can see debounce in action - button press is registered 3 times but the actual output only changes once!
Day 2 - Researched SD card reading on the Arduino platform. This one took waayyyy too long - once I realized the native arduino SD library doesn’t support my >32GB exFAT microSD I spent the entire day looking into and testing various libraries.. turns out it was a hardware problem. I was using custom pins for SPI instead of the standard ESP32 VSPI pins and assumed it would work the same. Guess I chose a bad pin?
Day 3 & 4 - Audio is now playing! Found a library called arduino-audio-tools that conveniently abstracts the MP3 -> PCM -> I2S pipeline, so no need to reinvent the wheel. This library provides functions like setVolume(), play(), and stop(). All I had to do was integrate these functions into my rotary encoder code from Day 1, and voila there’s volume control and pause/resume. The next session will likely be debugging the static & flicker coming out of the TRRS headphone jack
Day 5 - hello world LCD display I2C protocol learnings: SDA and SCL lines are held HIGH by external pull-up resistors. Connecting to GPIO pins with internal pull-down resistors will interfere with the pull-ups and cause a serial error. I was stuck on that for a hot minute lol Looking forward, I’ll be implementing song title/artist, timer, progress bar, and hopefully file navigation functionality
Day 6 - song progress timer complete with the help of codex Didn’t realize how complicated calculating song duration from an MP3 would be. You would think duration is stored in metadata but you actually need to do some reverse engineering & check for a bunch of different compression formats yada yada Anyways now a basic timer is working. Also replaced the headphone jack with speakers like the engineers of the MAX98357 amp modules intended. Still lots more to implement like file navigation and song selection
Day 7 - debugging, oop, state machines The only new functionality added today was updating my button state machine for double click and long press detection. Intended behavior: While a song is playing, double click to play the next song or long press to return to the file navigator / song selector. Demo test in video The more interesting part to me was getting experience with two real big potato things: debugging & oop in c++. I got a taste of debugging low-level errors using toolchains. In this case it was the Xtensa addr2line tool used to convert ESP32 memory address logs into the exact file and line number involved in the error. Shoutout RoboService on youtube with 10 subscribers for making a banger tutorial. I also kinda went headfirst into c++ classes. My main arduino ide sketch was getting long enough to the point where partitioning it into classes became the smart move. I got the hang of it faster than expected. The new part is learning c++ specific syntax, but the fundamental concepts are the same across all oop languages.
Day 8 - writing a proper class start to finish Display class for the LCD is now complete, ready to be integrated with rest of program. Learnings: Use C strings over String objects to avoid heap fragmentation Use structs when you want to store different kinds of information about a state Consider what the class needs to know about the program, but also what it doesn’t need to know
File system in progress Approaching 10 hrs so had to devlog lol Will be back once file system is finished
Day 9 - File system class written 700+ lines of code between the header and source files :o Once the final version of this class is tested, all classes will have been written and ready to be integrated into the final program. In the home stretch!
File system stress tested When you start debugging you realize writing code was only half the battle
Final devlog! The main program came together pretty quick since I went through the gauntlet of writing classes for each major component. Quick summary of the MP3 player: Load up a microSD with songs/albums in MP3 format. Then navigate the file browser using the rotary encoder to scroll through and button to select. You can play/pause, skip to next song, and toggle between playback and browser mode at any time. I would love to continue improving this, like right now the ESP32 has trouble registering double button clicks if it’s also streaming audio at the same time. That’s why you see me pause songs before double clicking in the video LOL. Unfortunately with school starting soon I decided to wrap it up here. Still super proud of how far I’ve come considering I was only getting blinky on ESP32 one month ago. This is also meant to be a breadboard proof of concept for a larger PCB project I’ll be tackling, and I’m definitely glad I learned some lessons here and not while working on the PCB. I doubt finishing the PCB is in scope with a month left of stardance but stay tuned haha
Ships:
I made an ESP32 MP3 player on breadboard, complete with a file system and a multi-function playback controller. I went into this project essentially from zero - I had never used an ESP32 and had barely any experience with hobbyist electronics. I wasn’t even aware of the concept of debounce was until I naturally encountered button/encoder jitters in testing. What I’m most proud of is the journey from getting blinky on ESP32 just a few days before starting this project to having a complete embedded system....
|
1793004744.7573504
|
1793091144.7573504
|
|
33555
|
Rural Coders Society by @-Sophie- | Stardance
|
-Sophie-
|
1
|
12.0
|
252
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T18:58:04Z", "hours": 12.0, "multiplier": 17.99, "payout": 252, "blessing": "neutral", "text": "I made a revamped webpage for Rural Coders Society, a fiscally sponsored project under Hack Club! This was my first time using full blown React for an actual project, so there was a huge learning curve. But I’m really proud with how it turned out! Challenges: Using external libraries like NumberFlow and SplideJS for the first time (lots of documentation to read D:) Gauging what I should make a component and what I should just put on the page Making the card system modular (esp for different amounts of content and such) and streamlining the process of adding cards to the website Using useState for the first (practical) time to make a navbar :0 What I’m proud of: I’m proud that I overcame these challenges despite it being discouraging at times How I was able successfully integrate external libraries and troubleshoot through card issues and being stubborn to not use AI to debug (it was tempting but I know I wouldn’t learn) Using TailwindCSS for the first time and it’s actually so good I don’t think I can return to regular CSS anymore I’m glad I was able to reference other sites on the web and somewhat replicate it with react and tailwind with my own creativity on my own page Using and understanding how to use react routes and Link elements You can check the page out at www.ruralcoderssociety.org ! Thanks for reading :))))", "repo": "https://github.com/gwak-amole/ruralcoderssociety", "demo": "https://www.ruralcoderssociety.org/"}]...
|
[{"post_id": 71368, "ts": "202 [{"post_id": 71368, "ts": "2026-09-20T18:18:33Z", "hours": 1.7058, "text": "FINISHED THE SITE!! I added mobile compatibility The site was looking really good until someone looked on it on their phone or something other than a desktop, so this was the final element to ship it! No more fixed widths The fixed widths, I found, were the culprit for all the breaking when the website was viewed in other dimensions, so I made use of sm:some property and md:some property and lg:some property in tailwind and also w-full and max-w-some number to make the cards flexible depending on the dimensions it’s viewed from NAVBAR I’m really proud of this because I used useState for the first time on an actual website to create the hamburger navigation thing. It opens like a set of links if you click it and the text changes from a three-line hamburger thing to an x. useState is actually amazing so many use cases Challenges The main challenge was just tweaking what text/font sizes should go with sm/md/lg displays–just a lot of trial and error Another challenge was making the hamburger opening look good because the background was only coloring to the height of the navbar,, I realized that I needed to move the appearing navigation outside of the navbar and it worked wonders Future additions Just if the nonprofit gets more metrics or after outreach initiatives it’s apparent we’re missing some important content. but it’s done and I’m going to ship this!!"}, {"post_id": 66091, "ts": "2026-09-11T17:49:29Z", "hours": 1.1672, "text": "Finished About Me Page + program page struggles Finished the about me! It’ s a simple about me page; I got inspiration from other NPO about me pages online! Program Page work in progress I’m trying to use the same components across two pages for information cards on the programs we do, but the cards need to be two different heights. I’ve been hacking at this for a while but I’m going to rest before I try resolving this problem again :’))))) (as you can see the images go off the cards for this second component. I want each card to be a standardized height but differ across pages. gl to me in the future lol) Future additions After I finish adjusting these card heights, my website will be finished! I just need to hook it to our website domain and replace our outdated website!! yayyy"}, {"post_id": 59083, "ts": "2026-08-31T18:09:12Z", "hours": 2.5033, "text": "Added project carousel! React component I used React to make a reusable image carousel thing where you can pass an array of photos as an argument and it will put it into the the SplideJS slides Used SplideJS again Added a featured projects carousel that has some cool projects that our Code Without Borders Bootcamp participants made!! Added arrows to the carousel too Tailwind Added a gradient background for aesthetic purposes :) Challenges I generally had a hard time figuring out how to style the features component–it was really looking rough to start with but we landed on something 😭 I think the gradient helped a lot Additional information I also tweaked styling for the rest of the webpage I added some join buttons and linked the donation page Updated the impact numbers Future additions About to add the proper join form and also get started on the about us page :D"}, {"post_id": 29809, "ts": "2026-07-16T23:01:41Z", "hours": 1.1256, "text": "Added footer + more I added a footer to the home page to make it feel more complete Number animations now the number statistics animate when you scroll upon them. so i attached a video to show u what that looks like. I used the NumberFlow React library–it was pretty intuitive itself but then i had to use useState, useEffect, and useRef hooks and understand how to use those and how to defer the useEffect until the window detects it 😭 😭 u can do it with the native .getBoundingClientRect tho and u have to do it to an element you want to be the trigger, in my case i made the card the trigger, so if it shows then the animation will happen. and then make sure it’s less than window.innerHeight and element’s position.bottom must be greater than 0, which means that the element is below the top edge of ur screen holy yap but this is how i teach myself bc that was something new for me 😭"}, {"post_id": 28588, "ts": "2026-07-14T22:37:09Z", "hours": 0.6417, "text": "Added card types and prop types to specify the kind of card design you want I added different card types, and so now you can switch between them. So CardGrid is extra reusable LOL This is through capitalized variables that I just learned! I could work logic between choosing components using a capitalized variable (yk the one that uses PascalCase)"}, {"post_id": 28564, "ts": "2026-07-14T21:53:38Z", "hours": 0.3922, "text": "Reworked some card grid component logic I heard it’s better to create an array of the props rather than an array of the cards, so after struggling a bit I got to do it the conventional way with array mapping! Not entirely sure what the individual mapping keys are for but I will look more deeply into that. It says online that you have to keep keys stable so that React knows which item you’re referencing but don’t totally understand why it would need to know that lol"}, {"post_id": 28551, "ts": "2026-07-14T21:28:11Z", "hours": 0.8739, "text": "Card Component + Card Grid Both are reusable! Card Component I create InfoCard.jsx component which makes these light blue cards. I used props for the first time, so you can pass in an argument making these components completely reusable across the platform! Card Grid I created an array of cards and then passed them through the Card Grid. I made it so that the cols prop you pass in leads to the amount of columns created with Tailwind CSS by assigning 1 to “grid-col-1” etc etc in an object and then using that for part of the Tailwind CSS for the Card Grid. super simple logic but im still proud nevertheless LOL"}, {"post_id": 26415, "ts": "2026-07-11T06:05:56Z", "hours": 1.3447, "text": "I implemented Splide JS into the website so it could create this photo gallery carousel!! i’m so proud of it! and the syntax for Splide was surprisingly easy and intuitive–I followed a tutorial on Medium to understand how to use it. The home page is already looking more polished."}, {"post_id": 26386, "ts": "2026-07-11T04:30:11Z", "hours": 1.0606, "text": "Added a hero to the website. It’s currently a placeholder, I’m working on a swiping photo gallery as the hero. I also styled everything with tailwind-css because I’m trying to get used to it."}, {"post_id": 26290, "ts": "2026-07-11T00:20:44Z", "hours": 0.8678, "text": "Why is react so painful? anyhow I made a router without styling yet with react-router-dom and so yeah that’s progress :’). I’m getting used to the react-router-dom way of things and having to configure main.jsx and stuff it’s so painful LOL"}]...
|
Title: Rural Coders Society by @-Sophie- | Stardan Title: Rural Coders Society by @-Sophie- | Stardance
Devlogs:
Why is react so painful? anyhow I made a router without styling yet with react-router-dom and so yeah that’s progress :’). I’m getting used to the react-router-dom way of things and having to configure main.jsx and stuff it’s so painful LOL
Added a hero to the website. It’s currently a placeholder, I’m working on a swiping photo gallery as the hero. I also styled everything with tailwind-css because I’m trying to get used to it.
I implemented Splide JS into the website so it could create this photo gallery carousel!! i’m so proud of it! and the syntax for Splide was surprisingly easy and intuitive–I followed a tutorial on Medium to understand how to use it. The home page is already looking more polished.
Card Component + Card Grid Both are reusable! Card Component I create InfoCard.jsx component which makes these light blue cards. I used props for the first time, so you can pass in an argument making these components completely reusable across the platform! Card Grid I created an array of cards and then passed them through the Card Grid. I made it so that the cols prop you pass in leads to the amount of columns created with Tailwind CSS by assigning 1 to “grid-col-1” etc etc in an object and then using that for part of the Tailwind CSS for the Card Grid. super simple logic but im still proud nevertheless LOL
Reworked some card grid component logic I heard it’s better to create an array of the props rather than an array of the cards, so after struggling a bit I got to do it the conventional way with array mapping! Not entirely sure what the individual mapping keys are for but I will look more deeply into that. It says online that you have to keep keys stable so that React knows which item you’re referencing but don’t totally understand why it would need to know that lol
Added card types and prop types to specify the kind of card design you want I added different card types, and so now you can switch between them. So CardGrid is extra reusable LOL This is through capitalized variables that I just learned! I could work logic between choosing components using a capitalized variable (yk the one that uses PascalCase)
Added footer + more I added a footer to the home page to make it feel more complete Number animations now the number statistics animate when you scroll upon them. so i attached a video to show u what that looks like. I used the NumberFlow React library–it was pretty intuitive itself but then i had to use useState, useEffect, and useRef hooks and understand how to use those and how to defer the useEffect until the window detects it 😭 😭 u can do it with the native .getBoundingClientRect tho and u have to do it to an element you want to be the trigger, in my case i made the card the trigger, so if it shows then the animation will happen. and then make sure it’s less than window.innerHeight and element’s position.bottom must be greater than 0, which means that the element is below the top edge of ur screen holy yap but this is how i teach myself bc that was something new for me 😭
Added project carousel! React component I used React to make a reusable image carousel thing where you can pass an array of photos as an argument and it will put it into the the SplideJS slides Used SplideJS again Added a featured projects carousel that has some cool projects that our Code Without Borders Bootcamp participants made!! Added arrows to the carousel too Tailwind Added a gradient background for aesthetic purposes :) Challenges I generally had a hard time figuring out how to style the features component–it was really looking rough to start with but we landed on something 😭 I think the gradient helped a lot Additional information I also tweaked styling for the rest of the webpage I added some join buttons and linked the donation page Updated the impact numbers Future additions About to add the proper join form and also get started on the about us page :D
Finished About Me Page + program page struggles Finished the about me! It’ s a simple about me page; I got inspiration from other NPO about me pages online! Program Page work in progress I’m trying to use the same components across two pages for information cards on the programs we do, but the cards need to be two different heights. I’ve been hacking at this for a while but I’m going to rest before I try resolving this problem again :’))))) (as you can see the images go off the cards for this second component. I want each card to be a standardized height but differ across pages. gl to me in the future lol) Future additions After I finish adjusting these card heights, my website will be finished! I just need to hook it to our website domain and replace our outdated website!! yayyy
FINISHED THE SITE!! I added mobile compatibility The site was looking really good until someone looked on it on their phone or something other than a desktop, so this was the final element to ship it! No more fixed widths The fixed widths, I found, were the culprit for all the breaking when the website was viewed in other dimensions, so I made use of sm:some property and md:some property and lg:some property in tailwind and also w-full and max-w-some number to make the cards flexible depending on the dimensions it’s viewed from NAVBAR I’m really proud of this because I used useState for the first time on an actual website to create the hamburger navigation thing. It opens like a set of links if you click it and the text changes from a three-line hamburger thing to an x. useState is actually amazing so many use cases Challenges The main challenge was just tweaking what text/font sizes should go with sm/md/lg displays–just a lot of trial and error Another challenge was making the hamburger opening look good because the background was only coloring to the height of the navbar,, I realized that I needed to move the appearing navigation outside of the navbar and it worked wonders Future additions Just if the nonprofit gets more metrics or after outreach initiatives it’s apparent we’re missing some important content. but it’s done and I’m going to ship this!!
Ships:
I made a revamped webpage for Rural Coders Society, a fiscally sponsored project under Hack Club! This was my first time using full blown React for an actual project, so there was a huge learning curve. But I’m really proud with how it turned out! Challenges: Using external libraries like NumberFlow and SplideJS for the first time (lots of documentation to read D:) Gauging what I should make a component and what I should just put on the page Making the card system modular (esp for different amounts of content and such) and streamlining the process of adding cards to the website Using useState for the first (practical) time to make a navbar :0 What I’m proud of: I’m proud that I overcame these challenges despite it being discouraging at times How I was able successfully integrate external libraries and troubleshoot through card issues and being stubborn to not use AI to debug (it was tempting but I know I wouldn’t learn) Using TailwindCSS for the first time and it’s actually so good I don’t think I can return to regular CSS anymore I’m glad I was able to reference other sites on the web and somewhat replicate it with react and tailwind with my own creativity on my own page Using and understanding how to use react routes and Link elements You can check the page out at www.ruralcoderssociety.org ! Thanks for reading :))))...
|
1793004745.956177
|
1793091145.956177
|
|
5750
|
Halyra IDE by @aavarvd | Stardance
|
aavarvd
|
1
|
21.82
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T02:15:08Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi guys! Its been 19 hours of development and bug-fixing pain already! I’ve been working on this “little” project about a python IDE written with Kotlin Compose named Halyra, I am probably going to continue working in it in future ships, and this ship is just usable neough for me to publish it to the world! Current features: Lexer based Syntax highlighting Python execution I/O Open/Save/Save as Tab based editing Open folder as project(altho project does not save) Planned features: Write a text drawable canvas myself as BasicTextField has issues processing files over 100KB Make a working custom title bar because windows default sucks WONTFIX: Find/Replace bar(you can still check it with ctrl+F and ctrl+H, but i won’t fix it anymore) My main objectives making this IDE was lightweight and good UI, which I think is what I;m currently stepping towards to, and I wish I could still have a chance to continue on this project!", "repo": "https://github.com/aavarvdXD/HalyraUltra", "demo": "https://github.com/aavarvdXD/HalyraUltra/releases"}]...
|
[{"post_id": 70154, "ts": "202 [{"post_id": 70154, "ts": "2026-09-18T16:02:46Z", "hours": 0.2592, "text": "The ones who know should know"}, {"post_id": 69897, "ts": "2026-09-18T01:01:59Z", "hours": 0.4633, "text": "Finished fixing terminal bugs, moved the toggle button of PowerShell and output console to the bottom and added a stop button"}, {"post_id": 69470, "ts": "2026-09-17T03:56:47Z", "hours": 1.3422, "text": "Improved README as shipping staff said"}, {"post_id": 67720, "ts": "2026-09-13T22:34:21Z", "hours": 0.7578, "text": "guess what guys, I discovered a new bug sitting there and I went fixing it before it was reviewed for ship"}, {"post_id": 66296, "ts": "2026-09-12T01:51:41Z", "hours": 0.4822, "text": "I found the problem, it was becuase the file was too large it takes a minute to load and render, I’m trying to optimize by not giivng BasicTextField a big file in once, and while I’m fixing that, I added a user warning"}, {"post_id": 66282, "ts": "2026-09-12T00:59:01Z", "hours": 2.0608, "text": "I’ve been working on this feature that opens a folder to show a structure of the project but for some reason it crashes when opening an markdown file, I’m trying my best to fix it, I suspected it was the lexer trying to analyze through it and exploded because it wasnt python syntax, but even after disabling the lexer is still freezes, and crashes, the weird part is that i can’t close it with alt f4…. Btw for the ones who don’t know I absolutely gave up on making the find and replace bar work"}, {"post_id": 63313, "ts": "2026-09-07T01:58:56Z", "hours": 0.2778, "text": "Fixing tabs"}, {"post_id": 62283, "ts": "2026-09-05T16:04:18Z", "hours": 0.3231, "text": "Wow, tab handling went easier that what I was expecting.."}, {"post_id": 61957, "ts": "2026-09-05T04:27:50Z", "hours": 0.4111, "text": "Improved UI! and tab support still in demo details: I added a terminal button at the sidebar to toggle visibility and also made the terminal vertically resizeable"}, {"post_id": 61299, "ts": "2026-09-04T04:26:13Z", "hours": 0.4156, "text": "I made an icon based sidebar with tooltips once hovered! Now working on making temp file execution(aka no need to save to execute, perfect for prototyping)"}, {"post_id": 60627, "ts": "2026-09-03T02:56:36Z", "hours": 0.5039, "text": "Can anyone help me? I really don’t know how to deal with this error… Could not load the value of field valueSourceType of org.gradle.api.internal.provider.DefaultValueSourceProviderFactory$DefaultObtainedValue bean found in field obtainedValue of org.gradle.internal.cc.impl.fingerprint.ConfigurationCacheFingerprint$ValueSource bean found in Gradle runtime. Class ‘org.jetbrains.kotlin.gradle.internal.IsInIdeaSyncValueSource’ not found in class loader ‘InstrumentingVisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:]:root-project : })’ of type ‘org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader’."}, {"post_id": 59378, "ts": "2026-09-01T04:41:49Z", "hours": 0.3589, "text": "Im still working on findbar focus requesting, probably wont add devlogs more until i fix it"}, {"post_id": 58537, "ts": "2026-08-30T23:39:34Z", "hours": 2.1778, "text": "added auto closing brakcets, and still fixing search amd replace"}, {"post_id": 42841, "ts": "2026-08-07T19:39:16Z", "hours": 0.8042, "text": "Finished searchEngine, I decided to use the built-in Kotlin’s string searching, modified app.kt and hotkeys.kt for integrating ctrl+f(search) and ctrl+h(search and replace) Everything worked normally during the test, now aiming to make the UI to integrate to the app."}, {"post_id": 36683, "ts": "2026-07-28T22:00:14Z", "hours": 1.8456, "text": "Hi guys! Its been a long time since i posted my last devlog, the main reason was because….. LEXER IS SO HARD TO IMPLEMENT before in Halyra PySide6 Edition, I just used a regex and everything works perfectly, but in Kotlin, somehow it didnt work, so i had to search for techniques and try to implement one myself(Kotlin tutorials are hard to find ಥ_ಥ) I retried and retried until I got what i wanted, class definition/call rendering, keyword, numbers string, and others rendering perfectly…. I was planning to use parser to detect variable definitions and calls, but It was so hard that i eventually gave up.. Anyways, I made it! I’m aiming for find and replace next ;)"}, {"post_id": 27499, "ts": "2026-07-13T03:43:46Z", "hours": 2.1828, "text": "LETS GOOOOOOOOOOOOOOOOOOOOOO🎉🎉🎉🎉!!!!! After about 4 to 6 hours, I MADE TO FIX THE INDENTING GLITCHES!!! Summary: After trying 3 different algorithms, I reinspected the code of all my commits and noticed the true issue: I was trying to make the same implementation to handle different behaviors , which caused the bug. Basically Tab in editors had two different behaviors: prin|t(“a”) after tab: prin |t(“a”) the second behavior happens at the start of a line: |print(“a”) after tab: |print(\"a\") I originally planned to use the same code to detect what the user wants, and it didn’t work well no matter how hard I tried until I separated the two behaviors into two snnipets completely, which just ended the bug that I tried fixing for hours. I’ll never be lazy again…."}, {"post_id": 22971, "ts": "2026-07-05T17:26:02Z", "hours": 1.4756, "text": "found a bug at indenting and still fixing….. Im going to explode"}, {"post_id": 19584, "ts": "2026-06-30T22:37:32Z", "hours": 0.795, "text": "finished indenting part"}, {"post_id": 15832, "ts": "2026-06-25T19:00:36Z", "hours": 1.305, "text": "finished adding auto indenting to the IDE, it was the most difficult task ever….. at least for now"}, {"post_id": 11572, "ts": "2026-06-18T21:11:07Z", "hours": 0.3175, "text": "Finished fixing bugs"}, {"post_id": 11504, "ts": "2026-06-18T20:00:00Z", "hours": 1.3561, "text": "added a glitchy syntax higlighting, will continue fixing"}, {"post_id": 4677, "ts": "2026-06-08T02:28:13Z", "hours": 1.2625, "text": "Added a not very well-looking custom title bar, I will fix it later"}, {"post_id": 3954, "ts": "2026-06-07T02:43:37Z", "hours": 0.78, "text": "Changed Buttons and migrated to Box() instead of Button"}, {"post_id": 1740, "ts": "2026-06-03T22:29:53Z", "hours": 0.3461, "text": "I successfully added line numebrs and auto scrolling, aiming for keyword highlightin next"}]...
|
Title: Halyra IDE by @aavarvd | Stardance
Devlogs Title: Halyra IDE by @aavarvd | Stardance
Devlogs:
I successfully added line numebrs and auto scrolling, aiming for keyword highlightin next
Changed Buttons and migrated to Box() instead of Button
Added a not very well-looking custom title bar, I will fix it later
added a glitchy syntax higlighting, will continue fixing
Finished fixing bugs
finished adding auto indenting to the IDE, it was the most difficult task ever….. at least for now
finished indenting part
found a bug at indenting and still fixing….. Im going to explode
LETS GOOOOOOOOOOOOOOOOOOOOOO🎉🎉🎉🎉!!!!! After about 4 to 6 hours, I MADE TO FIX THE INDENTING GLITCHES!!! Summary: After trying 3 different algorithms, I reinspected the code of all my commits and noticed the true issue: I was trying to make the same implementation to handle different behaviors , which caused the bug. Basically Tab in editors had two different behaviors: prin|t(“a”) after tab: prin |t(“a”) the second behavior happens at the start of a line: |print(“a”) after tab: |print("a") I originally planned to use the same code to detect what the user wants, and it didn’t work well no matter how hard I tried until I separated the two behaviors into two snnipets completely, which just ended the bug that I tried fixing for hours. I’ll never be lazy again….
Hi guys! Its been a long time since i posted my last devlog, the main reason was because….. LEXER IS SO HARD TO IMPLEMENT before in Halyra PySide6 Edition, I just used a regex and everything works perfectly, but in Kotlin, somehow it didnt work, so i had to search for techniques and try to implement one myself(Kotlin tutorials are hard to find ಥ_ಥ) I retried and retried until I got what i wanted, class definition/call rendering, keyword, numbers string, and others rendering perfectly…. I was planning to use parser to detect variable definitions and calls, but It was so hard that i eventually gave up.. Anyways, I made it! I’m aiming for find and replace next ;)
Finished searchEngine, I decided to use the built-in Kotlin’s string searching, modified app.kt and hotkeys.kt for integrating ctrl+f(search) and ctrl+h(search and replace) Everything worked normally during the test, now aiming to make the UI to integrate to the app.
added auto closing brakcets, and still fixing search amd replace
Im still working on findbar focus requesting, probably wont add devlogs more until i fix it
Can anyone help me? I really don’t know how to deal with this error… Could not load the value of field valueSourceType of org.gradle.api.internal.provider.DefaultValueSourceProviderFactory$DefaultObtainedValue bean found in field obtainedValue of org.gradle.internal.cc.impl.fingerprint.ConfigurationCacheFingerprint$ValueSource bean found in Gradle runtime. Class ‘org.jetbrains.kotlin.gradle.internal.IsInIdeaSyncValueSource’ not found in class loader ‘InstrumentingVisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:]:root-project : })’ of type ‘org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader’.
I made an icon based sidebar with tooltips once hovered! Now working on making temp file execution(aka no need to save to execute, perfect for prototyping)
Improved UI! and tab support still in demo details: I added a terminal button at the sidebar to toggle visibility and also made the terminal vertically resizeable
Wow, tab handling went easier that what I was expecting..
Fixing tabs
I’ve been working on this feature that opens a folder to show a structure of the project but for some reason it crashes when opening an markdown file, I’m trying my best to fix it, I suspected it was the lexer trying to analyze through it and exploded because it wasnt python syntax, but even after disabling the lexer is still freezes, and crashes, the weird part is that i can’t close it with alt f4…. Btw for the ones who don’t know I absolutely gave up on making the find and replace bar work
I found the problem, it was becuase the file was too large it takes a minute to load and render, I’m trying to optimize by not giivng BasicTextField a big file in once, and while I’m fixing that, I added a user warning
guess what guys, I discovered a new bug sitting there and I went fixing it before it was reviewed for ship
Improved README as shipping staff said
Finished fixing terminal bugs, moved the toggle button of PowerShell and output console to the bottom and added a stop button
The ones who know should know
Ships:
Hi guys! Its been 19 hours of development and bug-fixing pain already! I’ve been working on this “little” project about a python IDE written with Kotlin Compose named Halyra, I am probably going to continue working in it in future ships, and this ship is just usable neough for me to publish it to the world! Current features: Lexer based Syntax highlighting Python execution I/O Open/Save/Save as Tab based editing Open folder as project(altho project does not save) Planned features: Write a text drawable canvas myself as BasicTextField has issues processing files over 100KB Make a working custom title bar because windows default sucks WONTFIX: Find/Replace bar(you can still check it with ctrl+F and ctrl+H, but i won’t fix it anymore) My main objectives making this IDE was lightweight and good UI, which I think is what I;m currently stepping towards to, and I wish I could still have a chance to continue on this project!...
|
1793004747.1430962
|
1793091147.1430962
|
|
50207
|
School Tracker by @Slime | Stardance
|
Slime
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T15:22:16Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Do you know which subject you are gonna study today? I don’t . So i made a website for it. This was a cool project to build specially since it is actually useful for me. And i am new to coding and specially new to JS so i took my time learning it. This is supposed to be a website that is useful for it work rather than looks so it looks ahhh… my bad abt that. Well, i used some AI too since i couldn’t have done it alone at all. And i didn’t onow abt devlog only being able to take 10hrs so only 1 devlog is available.", "repo": "https://github.com/Slime-x/School-Tracker", "demo": "https://slime-x.github.io/School-Tracker/"}]...
|
[{"post_id": 48768, "ts": "202 [{"post_id": 48768, "ts": "2026-08-17T09:20:34Z", "hours": 11.1114, "text": "I made a project for my school tracker! it helps me to know abt my subjects that i need to read today."}]...
|
Title: School Tracker by @Slime | Stardance
Devlo Title: School Tracker by @Slime | Stardance
Devlogs:
I made a project for my school tracker! it helps me to know abt my subjects that i need to read today.
Ships:
Do you know which subject you are gonna study today? I don’t . So i made a website for it. This was a cool project to build specially since it is actually useful for me. And i am new to coding and specially new to JS so i took my time learning it. This is supposed to be a website that is useful for it work rather than looks so it looks ahhh… my bad abt that. Well, i used some AI too since i couldn’t have done it alone at all. And i didn’t onow abt devlog only being able to take 10hrs so only 1 devlog is available....
|
1793004748.4045706
|
1793091148.4045706
|
|
27703
|
Dance App by @Venkatesh | Stardance
|
Venkatesh
|
1
|
28.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T15:19:10Z", "hours": 28.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Before you guys review this project poorly for the usage of AI, I would wanna make it clear that i still learnt a really good amount of development. At the end of the day software development is about shaping the user experience and design a product that solved the problem and is worth using. I used AI to aid me with the tedious work that would have otherwise been impossible within my timeframe of less than 2 weeks. ⠀ Cutting to the chase this dance game was made for a local competition in my country. The theme for the competition was about how culture can be preserved using technology. The full project also includes a physical arcade style device with a dancing servo robot with 6 joints (excluding knees). ⠀ The goal of the project is to act as an entry point for students in Singapore to learn more about cultural dances in Singapore. I chose to approach the preservation of culture via learning cultural dances as it bypasses any linguistic barriers to make it more widely accessible to better serve as an entry point for younger kids to have at least a faint idea on how other cultures are like. ⠀ With about 28 hours spent on coding this and countless more on the hardware, ideation, documentation, admin and much more, I managed to clench first place in the competition. I also feel that the current state of the app is satisfactory as a prototype. ⠀ Even though quite buggy and somewhat unstable, I would potentially update the project near the end of the year, until then i would be moving onto other projects! I hope yall find this attempt at preserving culture with technology meaningful, fun or at least interesting, thanks for reading!", "repo": "https://github.com/vensah-dev/wro-project", "demo": "https://vensah.dev/wro-project"}]...
|
[{"post_id": 64843, "ts": "202 [{"post_id": 64843, "ts": "2026-09-09T15:14:56Z", "hours": 5.7175, "text": "Added: Made all the songs more stable and lenient in detection for compete mode (took up a lot of time) added fun facts for each mode Made the select mode have a bg The grading system us revised to work on score rather than accuracy percentage Leaderboard badges"}, {"post_id": 64145, "ts": "2026-09-08T10:50:22Z", "hours": 12.1842, "text": "Features added: Working main menu page hosted on github itself to try ability to send serial input to an ESP controlled robot doll Additional Screen Effects added Leaderboards system to help compete mode"}, {"post_id": 48892, "ts": "2026-08-17T13:39:07Z", "hours": 7.9083, "text": "I am working on a dance app for a local competition where the theme is robots meet culture, so the idea is to make a software based dance game that will help users traditional dances and compete with their friends through dancing. Thus far, i have added in the ability to dance to a song and a learn mode which lets you move ur body to the different dance moves at ur own pace. Selection menu to choose song and select whether they wanna learn or dance (compete mode) to that song Soon i will be making compete mode a local 1v1 and add in a main menu like in minecraft for settings, quitting and entering the actual game."}, {"post_id": 28689, "ts": "2026-07-15T02:57:24Z", "hours": 1.7333, "text": "An app where an AI model will be able to detect the movement of body joints to verify if the player is dancing a certain dance. planned features: users can compete with someone else in real life by taking turns doing a certain dance. The ‘accuracy’ of the dance will affect the scoring users can learn how to dance by dancing certain moves until they get it correct current state: currently I have setup the Google MediaPipe Pose Landmarks model to detect realtime body movement, tuned to be able to track well in differig lighting conditions"}]...
|
Title: Dance App by @Venkatesh | Stardance
Devlog Title: Dance App by @Venkatesh | Stardance
Devlogs:
An app where an AI model will be able to detect the movement of body joints to verify if the player is dancing a certain dance. planned features: users can compete with someone else in real life by taking turns doing a certain dance. The ‘accuracy’ of the dance will affect the scoring users can learn how to dance by dancing certain moves until they get it correct current state: currently I have setup the Google MediaPipe Pose Landmarks model to detect realtime body movement, tuned to be able to track well in differig lighting conditions
I am working on a dance app for a local competition where the theme is robots meet culture, so the idea is to make a software based dance game that will help users traditional dances and compete with their friends through dancing. Thus far, i have added in the ability to dance to a song and a learn mode which lets you move ur body to the different dance moves at ur own pace. Selection menu to choose song and select whether they wanna learn or dance (compete mode) to that song Soon i will be making compete mode a local 1v1 and add in a main menu like in minecraft for settings, quitting and entering the actual game.
Features added: Working main menu page hosted on github itself to try ability to send serial input to an ESP controlled robot doll Additional Screen Effects added Leaderboards system to help compete mode
Added: Made all the songs more stable and lenient in detection for compete mode (took up a lot of time) added fun facts for each mode Made the select mode have a bg The grading system us revised to work on score rather than accuracy percentage Leaderboard badges
Ships:
Before you guys review this project poorly for the usage of AI, I would wanna make it clear that i still learnt a really good amount of development. At the end of the day software development is about shaping the user experience and design a product that solved the problem and is worth using. I used AI to aid me with the tedious work that would have otherwise been impossible within my timeframe of less than 2 weeks. ⠀ Cutting to the chase this dance game was made for a local competition in my country. The theme for the competition was about how culture can be preserved using technology. The full project also includes a physical arcade style device with a dancing servo robot with 6 joints (excluding knees). ⠀ The goal of the project is to act as an entry point for students in Singapore to learn more about cultural dances in Singapore. I chose to approach the preservation of culture via learning cultural dances as it bypasses any linguistic barriers to make it more widely accessible to better serve as an entry point for younger kids to have at least a faint idea on how other cultures are like. ⠀ With about 28 hours spent on coding this and countless more on the hardware, ideation, documentation, admin and much more, I managed to clench first place in the competition. I also feel that the current state of the app is satisfactory as a prototype. ⠀ Even though quite buggy and somewhat unstable, I would potentially update the project near the end of the year, until then i would be moving onto other projects! I hope yall find this attempt at preserving culture with technology meaningful, fun or at least interesting, thanks for reading!...
|
1793004749.259167
|
1793091149.259167
|
|
50256
|
Mihera F1 RC car by @Alcaraz9219 | Stardance
|
Alcaraz9219
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T17:40:10Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a F1 radio control car that works with Arduino and electronic components. The entire car and the remote control was build from scratch and with a 3D printer. This proyect teach me that they don’t always turn out the way we want them to the first time round, and I made a lot of mistakes that I had to solve them designing and printing again, or using the tools that I have, but I have learnt a lot in this proyect and , although I couldn’t compleately at all and I know that is not the best radio control car, I am so proud of it.", "repo": "https://github.com/Alcaraz9219/F1-RC-car", "demo": ""}]...
|
[{"post_id": 70694, "ts": "202 [{"post_id": 70694, "ts": "2026-09-19T16:29:33Z", "hours": 3.1525, "text": "To wrap up the project a bit, I’ve designed and printed the front nose and I’ve also printed the front wing. The car’s electronics are now complete after I replaced the transmitter and receiver modules with two NRF24L01 PA+LNA units with antennas, which work much better and have a much greater range. And although the F1 bodywork and the DRS are still missing, I’ll leave it as finished for the time being because I don’t have time to work on it any further and also because the Stardance deadline is approaching. So that’s it for now, and I hope people have enjoyed the project."}, {"post_id": 62812, "ts": "2026-09-06T10:29:26Z", "hours": 6.2022, "text": "After a few problems with the printer, I’ve finally finished making the control unit and fitting all the components inside; I can say that the car is now working. But there’s another problem: to connect the car’s Arduino R4 to the R3 – which I ended up having to use due to technical issues with the ESP32 – I’ve used a 433 MHz RF transmitter and receiver module that has a very short range, and as I want to fit it inside the casing on both the car and the remote control, the distance is practically zero. So I’ve already bought an NRF24L01 PA+LNA, which is another bidirectional transmitter with a much greater range and comes with an antenna; the next step will be to fit it and carry out the final test before installing the DRS and the casing."}, {"post_id": 52967, "ts": "2026-08-23T10:49:03Z", "hours": 1.7503, "text": "In this section, I have designed the casing for the controller, which I have decided should be shaped like an F1 steering wheel. The controller will use a Steamaker ESP32 Plus board; a joystick will be used to control the car’s steering, and there will be two buttons to control the motors so that the car can move forwards and backwards. Also, to make it look more like a real F1 car, the steering wheel will feature a display showing information about the controller and the car, such as battery level, speed and the status of the DRS – which is the opening of the rear wing to reduce aerodynamic drag, something that’s very helpful in real cars. The next step will be to create the 3D model of the hollow steering wheel and add the mounts for the components. If anyone can think of any extras to add to the car or the controller, please let me know; if it’s a good idea, I’ll take it into account and add it."}, {"post_id": 50886, "ts": "2026-08-20T10:58:06Z", "hours": 3.8042, "text": "On 2 June, I started a project. The idea was to build a radio-controlled car in the shape and style of a Formula 1 car, but I wanted to build the whole thing myself from scratch. The car is being built solely from my own designs, which are being 3D-printed. This project is divided into two parts: the car, which contains electronic components such as an Arduino R4 Wi-Fi, a servomotor for the steering, another for the DRS system, an L298N controller and two motors, as well as a battery holder with its own switch; and the remote control, which communicates with the car via a transmitter module in the remote and a receiver in the car. The remote control features components such as a Steemakers ESP32 Plus, a joystick for the motors, two buttons for steering, another to activate the DRS, and a display to show information. This is the plan for the project, which is not yet finished. Unfortunately, when I started this project I wasn’t familiar with Stardance, so I haven’t recorded all the hours spent doing calculations, looking through all the files and their dates, photos and videos – it could easily have been around 45 hours of unrecorded work. Anyway, what I’ve done so far has been to design the chassis and the mounts for the components, fit everything into the car, and build the steering system – which has undoubtedly been the most difficult part and caused me the most headaches, but which eventually ended up working. Since I started on Stardance, I’ve been designing the front wing, assembling the whole car to check that it works, and finally fitting just the remote control components to check that they work before designing the remote control itself. This isn’t proving to be an easy project – there are lots of errors cropping up – but you learn a lot from them. The next step will be to design the remote control in 3D and then print it."}]...
|
Title: Mihera F1 RC car by @Alcaraz9219 | Stardanc Title: Mihera F1 RC car by @Alcaraz9219 | Stardance
Devlogs:
On 2 June, I started a project. The idea was to build a radio-controlled car in the shape and style of a Formula 1 car, but I wanted to build the whole thing myself from scratch. The car is being built solely from my own designs, which are being 3D-printed. This project is divided into two parts: the car, which contains electronic components such as an Arduino R4 Wi-Fi, a servomotor for the steering, another for the DRS system, an L298N controller and two motors, as well as a battery holder with its own switch; and the remote control, which communicates with the car via a transmitter module in the remote and a receiver in the car. The remote control features components such as a Steemakers ESP32 Plus, a joystick for the motors, two buttons for steering, another to activate the DRS, and a display to show information. This is the plan for the project, which is not yet finished. Unfortunately, when I started this project I wasn’t familiar with Stardance, so I haven’t recorded all the hours spent doing calculations, looking through all the files and their dates, photos and videos – it could easily have been around 45 hours of unrecorded work. Anyway, what I’ve done so far has been to design the chassis and the mounts for the components, fit everything into the car, and build the steering system – which has undoubtedly been the most difficult part and caused me the most headaches, but which eventually ended up working. Since I started on Stardance, I’ve been designing the front wing, assembling the whole car to check that it works, and finally fitting just the remote control components to check that they work before designing the remote control itself. This isn’t proving to be an easy project – there are lots of errors cropping up – but you learn a lot from them. The next step will be to design the remote control in 3D and then print it.
In this section, I have designed the casing for the controller, which I have decided should be shaped like an F1 steering wheel. The controller will use a Steamaker ESP32 Plus board; a joystick will be used to control the car’s steering, and there will be two buttons to control the motors so that the car can move forwards and backwards. Also, to make it look more like a real F1 car, the steering wheel will feature a display showing information about the controller and the car, such as battery level, speed and the status of the DRS – which is the opening of the rear wing to reduce aerodynamic drag, something that’s very helpful in real cars. The next step will be to create the 3D model of the hollow steering wheel and add the mounts for the components. If anyone can think of any extras to add to the car or the controller, please let me know; if it’s a good idea, I’ll take it into account and add it.
After a few problems with the printer, I’ve finally finished making the control unit and fitting all the components inside; I can say that the car is now working. But there’s another problem: to connect the car’s Arduino R4 to the R3 – which I ended up having to use due to technical issues with the ESP32 – I’ve used a 433 MHz RF transmitter and receiver module that has a very short range, and as I want to fit it inside the casing on both the car and the remote control, the distance is practically zero. So I’ve already bought an NRF24L01 PA+LNA, which is another bidirectional transmitter with a much greater range and comes with an antenna; the next step will be to fit it and carry out the final test before installing the DRS and the casing.
To wrap up the project a bit, I’ve designed and printed the front nose and I’ve also printed the front wing. The car’s electronics are now complete after I replaced the transmitter and receiver modules with two NRF24L01 PA+LNA units with antennas, which work much better and have a much greater range. And although the F1 bodywork and the DRS are still missing, I’ll leave it as finished for the time being because I don’t have time to work on it any further and also because the Stardance deadline is approaching. So that’s it for now, and I hope people have enjoyed the project.
Ships:
I made a F1 radio control car that works with Arduino and electronic components. The entire car and the remote control was build from scratch and with a 3D printer. This proyect teach me that they don’t always turn out the way we want them to the first time round, and I made a lot of mistakes that I had to solve them designing and printing again, or using the tools that I have, but I have learnt a lot in this proyect and , although I couldn’t compleately at all and I know that is not the best radio control car, I am so proud of it....
|
1793004750.4154975
|
1793091150.4154975
|
|
50283
|
AEGIS by @sudarsh | Stardance
|
sudarsh
|
1
|
8.93
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T20:00:07Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "AEGIS (Advanced Earth Guard & Intelligence System) is a real-time planetary │ defense mission control dashboard that monitors near-Earth asteroids, solar │ weather events, and ISS orbital telemetry. Built with React, Three.js, Express, │ and SQLite, it visualizes an interactive 3D Solar System with custom GLSL │ planetary shaders while actively streaming live data from NASA NeoWs, NASA DONKI, │ NOAA SWPC, and WhereTheISS.at.", "repo": "https://github.com/sudarshandev-llm/aegis-star", "demo": "https://beastsudarsh09.hackclub.app"}]...
|
[{"post_id": 79052, "ts": "202 [{"post_id": 79052, "ts": "2026-10-12T14:34:27Z", "hours": 1.9278, "text": "AEGIS got returned, and that’s fair The Shipwrights returned AEGIS. Their feedback was that it reads as AI-generated end to end, without enough of my own input. I used AI heavily to build the first version, so I can’t really argue with that. So I’m going to remake it properly. This time: I’ll redesign the UI myself, with my own layout, colors and panel designs I’ll go through the code until I can explain how each part works (the NASA polling, the DEFCON logic, the ISS tracker, the Earth shader) I’ll make smaller, more frequent commits so the progress is visible I’ll add an “AI usage” section to the README that says honestly what was AI-assisted and what I wrote Will post updates as I go. To be continued…"}, {"post_id": 75705, "ts": "2026-09-30T19:58:52Z", "hours": 1.3342, "text": "Finally AEGIS is live check out 🎊🎊🎊🎊"}, {"post_id": 72251, "ts": "2026-09-22T15:08:34Z", "hours": 0.4294, "text": "I know I haven’t posted a devlog for a while — and there’s a reason. While working on AEGIS, I ran into an unexpected issue that broke the entire simulation tab and its mappings. A lot of the work had to be rebuilt and remapped from scratch, which completely disrupted the development timeline. Instead of rushing out an update, I decided to fix the foundation properly. Now I’m back on track, rebuilding the simulation system and continuing AEGIS toward its bigger goal: real-time space data, simulations, research tools, and eventually more advanced systems for exploring space technology."}, {"post_id": 71334, "ts": "2026-09-20T17:21:39Z", "hours": 0.3914, "text": "🚀 AEGIS — Development Update Just pushed another major update to AEGIS. I’ve now integrated NASA’s space-data APIs to bring live/near-real-time space data directly into the AEGIS interface — including: ☀️ Solar Activity & CME data ☄️ Near-Earth Object tracking 🛰️ ISS orbital-position data The goal isn’t to simply display numbers on a screen. AEGIS is being built as a foundation for exploring and researching space systems. I’m now focusing on taking it further — turning these real-time data streams into tools that can help us analyze space environments, study orbital behavior, monitor celestial events, and eventually support the design of more advanced devices for space research. This is still an early stage, but the direction is becoming much clearer: From data → to analysis → to research → to real space technology."}, {"post_id": 70682, "ts": "2026-09-19T16:12:29Z", "hours": 0.4678, "text": "I have just made an simulation for Aegis(Advanced Earth-orbit & Geospatial Intelligence System) I have made this 3D space visualization and simulation interface as part of AEGIS. It provides an interactive view of Earth, planetary bodies, orbital paths, asteroids, and space objects in a dynamic environment. Users can track objects, zoom through space, control simulation speed, enable real-time rotation, and switch between different simulation states. The interface is designed like a mission-control environment, combining scientific visualization with a clean futuristic HUD. My focus was on making complex orbital and space data visually understandable while keeping the experience interactive and immersive. This is one of the core visualization components I built for AEGIS."}, {"post_id": 70191, "ts": "2026-09-18T17:40:50Z", "hours": 4.2275, "text": "Designing the AEGIS Frontend 🚀"}]...
|
Title: AEGIS by @sudarsh | Stardance
Devlogs:
Des Title: AEGIS by @sudarsh | Stardance
Devlogs:
Designing the AEGIS Frontend 🚀
I have just made an simulation for Aegis(Advanced Earth-orbit & Geospatial Intelligence System) I have made this 3D space visualization and simulation interface as part of AEGIS. It provides an interactive view of Earth, planetary bodies, orbital paths, asteroids, and space objects in a dynamic environment. Users can track objects, zoom through space, control simulation speed, enable real-time rotation, and switch between different simulation states. The interface is designed like a mission-control environment, combining scientific visualization with a clean futuristic HUD. My focus was on making complex orbital and space data visually understandable while keeping the experience interactive and immersive. This is one of the core visualization components I built for AEGIS.
🚀 AEGIS — Development Update Just pushed another major update to AEGIS. I’ve now integrated NASA’s space-data APIs to bring live/near-real-time space data directly into the AEGIS interface — including: ☀️ Solar Activity & CME data ☄️ Near-Earth Object tracking 🛰️ ISS orbital-position data The goal isn’t to simply display numbers on a screen. AEGIS is being built as a foundation for exploring and researching space systems. I’m now focusing on taking it further — turning these real-time data streams into tools that can help us analyze space environments, study orbital behavior, monitor celestial events, and eventually support the design of more advanced devices for space research. This is still an early stage, but the direction is becoming much clearer: From data → to analysis → to research → to real space technology.
I know I haven’t posted a devlog for a while — and there’s a reason. While working on AEGIS, I ran into an unexpected issue that broke the entire simulation tab and its mappings. A lot of the work had to be rebuilt and remapped from scratch, which completely disrupted the development timeline. Instead of rushing out an update, I decided to fix the foundation properly. Now I’m back on track, rebuilding the simulation system and continuing AEGIS toward its bigger goal: real-time space data, simulations, research tools, and eventually more advanced systems for exploring space technology.
Finally AEGIS is live check out 🎊🎊🎊🎊
AEGIS got returned, and that’s fair The Shipwrights returned AEGIS. Their feedback was that it reads as AI-generated end to end, without enough of my own input. I used AI heavily to build the first version, so I can’t really argue with that. So I’m going to remake it properly. This time: I’ll redesign the UI myself, with my own layout, colors and panel designs I’ll go through the code until I can explain how each part works (the NASA polling, the DEFCON logic, the ISS tracker, the Earth shader) I’ll make smaller, more frequent commits so the progress is visible I’ll add an “AI usage” section to the README that says honestly what was AI-assisted and what I wrote Will post updates as I go. To be continued…
Ships:
AEGIS (Advanced Earth Guard & Intelligence System) is a real-time planetary │ defense mission control dashboard that monitors near-Earth asteroids, solar │ weather events, and ISS orbital telemetry. Built with React, Three.js, Express, │ and SQLite, it visualizes an interactive 3D Solar System with custom GLSL │ planetary shaders while actively streaming live data from NASA NeoWs, NASA DONKI, │ NOAA SWPC, and WhereTheISS.at....
|
1793004751.5412922
|
1793091151.5412922
|
|
28931
|
ploot by @yay | Stardance
|
yay
|
1
|
21.0
|
257
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T04:44:39Z", "hours": 21.0, "multiplier": 12.18, "payout": 257, "blessing": "neutral", "text": "this is ploot, an ai powered planner that helps you allocate time to your tasks. you drag your availability on the calendar, write down your tasks in the rich text editor, then it gives you an editable calendar that you can export to a real calendar app(.ics format)! this was my first time making an app like this, so i used a bit of ai in the debugging process, especially for small things that i didn’t notice. there were a lot of challenges, but some of the especially annoying ones were the models returning errors, having signup errors, and timezone mismatches. what i really like about this is that its actually usable in my daily life :D its not something i make and then leave to rot, and is really useful for my indecisiveness. things to note beforehand: its passwordless and uses magic link login, is very slow in loading events(so pls be patient), and the generated schedules are not saved into a database or anything so once you refresh the page they’re gone. also (this probably wont happen) but you might get ratelimited", "repo": "https://github.com/nxzeh727/ploot", "demo": "https://ploot1.vercel.app"}]...
|
[{"post_id": 74296, "ts": "202 [{"post_id": 74296, "ts": "2026-09-27T04:18:39Z", "hours": 4.8806, "text": "ploot devlog #3 :D i added a modifications section so that you can modify your schedule to how you would want it to be. i also changed the ai models so that it would be better and cleaned up remaining bugs. its almost ready to ship! :D"}, {"post_id": 62279, "ts": "2026-09-05T15:58:02Z", "hours": 6.3167, "text": "devlog #2 :D i fixed the ui :D and also got rid of a bunch of bugs related to scheduling and signup/login i also added a dashboard but theres nothing in it so far there are still some problems though, since the ai doesn’t generate schedules half the time. after this, i mostly plan on adding a modification part for the schedule, a place to save the calendar and check it, and some stuff in the dashboard. :D I’m also planning on upgrading the text place into a proper todo-list thanks for reading :D"}, {"post_id": 42754, "ts": "2026-08-07T17:03:52Z", "hours": 9.8656, "text": "ploot devlog #1: so far, I’ve added a lot of things: the basic funciton(a calendar where you select the times available, a somewhat formatted editor where you can put what you need to do for that day, and an AI schedule generated from these pieces of information). i also created authentication(using maigc link only). initially, i stored the events and resulting schedule in a json, but i changed the inputs and put them into a database, and then converted the resulting schedule into .ics format so you can download it. as of right now, its a bit ugly, but that will be fixed in the future!"}]...
|
Title: ploot by @yay | Stardance
Devlogs:
ploot d Title: ploot by @yay | Stardance
Devlogs:
ploot devlog #1: so far, I’ve added a lot of things: the basic funciton(a calendar where you select the times available, a somewhat formatted editor where you can put what you need to do for that day, and an AI schedule generated from these pieces of information). i also created authentication(using maigc link only). initially, i stored the events and resulting schedule in a json, but i changed the inputs and put them into a database, and then converted the resulting schedule into .ics format so you can download it. as of right now, its a bit ugly, but that will be fixed in the future!
devlog #2 :D i fixed the ui :D and also got rid of a bunch of bugs related to scheduling and signup/login i also added a dashboard but theres nothing in it so far there are still some problems though, since the ai doesn’t generate schedules half the time. after this, i mostly plan on adding a modification part for the schedule, a place to save the calendar and check it, and some stuff in the dashboard. :D I’m also planning on upgrading the text place into a proper todo-list thanks for reading :D
ploot devlog #3 :D i added a modifications section so that you can modify your schedule to how you would want it to be. i also changed the ai models so that it would be better and cleaned up remaining bugs. its almost ready to ship! :D
Ships:
this is ploot, an ai powered planner that helps you allocate time to your tasks. you drag your availability on the calendar, write down your tasks in the rich text editor, then it gives you an editable calendar that you can export to a real calendar app(.ics format)! this was my first time making an app like this, so i used a bit of ai in the debugging process, especially for small things that i didn’t notice. there were a lot of challenges, but some of the especially annoying ones were the models returning errors, having signup errors, and timezone mismatches. what i really like about this is that its actually usable in my daily life :D its not something i make and then leave to rot, and is really useful for my indecisiveness. things to note beforehand: its passwordless and uses magic link login, is very slow in loading events(so pls be patient), and the generated schedules are not saved into a database or anything so once you refresh the page they’re gone. also (this probably wont happen) but you might get ratelimited...
|
1793004752.7198625
|
1793091152.7198625
|
|
30836
|
calc82: Web Scientific Calculator by @rigel | Star calc82: Web Scientific Calculator by @rigel | Stardance...
|
rigel
|
1
|
120.0
|
2248
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T04:20:09Z", "hours": 120.0, "multiplier": 19.41, "payout": 2248, "blessing": "neutral", "text": "What did you make? calc82: A calculator web-app inspired by the Casio fx-82 series of scientific calculators. These calculators are common in high schools in my country. My project simulates the behaviour of the Casio calculator, while maintaining a good user experience on both desktop and mobile. What was challenging? Creating reliable algebraic (non-linear) input parsing was the most difficult part of the project. This was because it required some difficult array traversal to avoid invalid states - even one mistake would break the whole input. It took a lot of iterations to get to a working input system that passed all my tests. Close contenders for most challenging were the sheer volume of functions I needed to implement, as well as all possible states the calculator can be in. However, the challenge for this was finding time to get around to everything, rather than technical challenge. What are you proud of? I’m most proud of my implementation of the input-to-result pipeline. I was able to incorporate new-to-me concepts such as tokenisers and abstract syntax trees, yet the resulting code is arguably the cleanest part of the program. I’m also proud of the responsive layout, which supports desktop and mobile well, and that the user experience is similar enough to the Casio that my muscle memory carries over. Finally, I’m proud that I managed to finish the project, as it’s the largest software project I’ve ever managed to complete. Demo: https://rigelseven.github.io/calc82/ Source: https://github.com/rigelseven/calc82/", "repo": "https://github.com/rigelseven/calc82", "demo": "https://rigelseven.github.io/calc82/"}]...
|
[{"post_id": 64600, "ts": "202 [{"post_id": 64600, "ts": "2026-09-09T03:36:33Z", "hours": 1.0264, "text": "calc82: Devlog #14 9/09/2026 calc82: because calculators are for everyone Final devlog. It’s done!! This last stretch was writing the readme and publishing everything to Github pages. You can now access it at https://rigelseven.github.io/calc82/ Now for a short reflection calc82 is the largest personal software project I have ever completed. This project taught me a lot about input parsing - specifically, tokenisers and syntax trees - and the importance of keeping a large codebase tidy . Overall, the structure of the project is well laid out. However, there are architectural decisions I made early on that I came to regret later (such as the fact that input is represented as a string, whereas it should probably be a tree). Developing calc82 also showed me that I am capable of putting together such an app from scratch. I’m pleased to have participated in Stardance and be given this opportunity."}, {"post_id": 64551, "ts": "2026-09-09T01:44:48Z", "hours": 8.6039, "text": "calc82: Devlog #13 9/09/2026 calc82: because calculators are for everyone This devlog follows the addition of help and about menus to my calculator, as well as bundling into one js file. 🌟 New functionality summary Help menu Lookup function by calculator button (reuses key bind selector logic) Q&A About page About the calculator Contribute Legal License All JS files are bundled into one file Service worker makes app available offline 📦 Bundling and service worker I chose to use esbuild for bundling. This allows the many JS files to be condensed down into one file, reducing the number of requests that need to be made. This build system is much simpler than other options such as node.js. I also added a simple service worker that caches all requests locally. This makes the calculator available offline. ⚖️ Licensing & Legal I chose GPLv3 for this project as it is an end-user product. Essentially, this means others are free to modify and distribute the project as long as they make the source available. I also added legal disclaimers to the about page of the calculator. 📈 Next steps Write the readme, publicise the repo, and host! Thanks for reading :)"}, {"post_id": 63421, "ts": "2026-09-07T07:56:19Z", "hours": 9.6403, "text": "calc82: Devlog #12 7/09/2026 calc82: because calculators are for everyone This devlog follows the addition of customisable and accessible keyboard bindings to my calculator. 🌟 New functionality summary Settings menu Switches between sidebar and popup dependent on screen width Key rebinding Flow of choosing button, then pressing key to rebind Stores in local storage Help hotkey Shows all currently bound keys. Key hint consideration The default keyboard map has been implemented as a const dictionary for a while now, allowing lookup of buttons from keyboard keys. This was extended with a user dictionary that can be dynamically updated. However, generating the help hotkey hints needed to go in the opposite direction of the dictionary. The naive approach of iterating through values to find a key for each would perform poorly with O(n^2). Instead, we precalculate a reversed dictionary to lookup keyboard keys from each button. This precalculation is O(n), and setting the keys is also O(n), resulting in O(n) time overall. 📈 Next steps Development Brief manual for each calculator function (considering reusing the on click functionality from key mapper) ) Info menubar button with author & project information, and disclaimers Fullscreen button for mobile devices Preparation for shipping Webpack, choose a license, write readme, publicise repo, host. Thanks for reading :)"}, {"post_id": 62611, "ts": "2026-09-06T02:35:54Z", "hours": 8.5919, "text": "calc82: Devlog #11 6/09/2026 calc82: because calculators are for everyone This devlog follows the addition of a few final features to my calculator, and then my worst nightmare, frontend UI 😧 🌟 New functionality summary Prime factorisation using Pollard’s rho algorithm Engineering notation button Degree/minute/second output button CSS styling!! + menu bar buttons Fixed some input quirks Dark and light mode (based on system default) with manual toggle 🐚 Pollards rho algorithm for prime factorisation Prime factorisation or integer factorisation is the decomposition of a positive integer into a product of integers. The simplest way to implement this is trial division , which is straightforward but has O(√n) time complexity. I thought this would be too slow, so I decided to implement Pollard’s rho algorithm. This has a nicer complexity of O(√p) where p is the smallest prime factor of the number. However, further observation showed that that the Casio calculator probably doesn’t do this - for numbers without easy factors, it just doesn’t bother. Despite this, I’ve already implemented the algorithm, so I’m not going to remove functionality for the sake of exactly replicating the calculator’s behaviour. 🎨 CSS and styling My goal with the styling was to make the calculator as similar across browsers as possible. I bundled the Inter font (best font) into the program and removed browser-specific button styling. Implementing the CSS styling was mostly painless. I opted for a simple design with a menubar that adapts to horizontal or vertical depending on the window’s aspect ratio for the web app functionality. Additionally the css uses the system theme to automatically choose light or dark mode. 📈 Next steps This project is nearly finished - should only be one or two devlogs left until I ship. Here’s what I have left to do: Development Keybind show and edit Brief manual for each calculator function Info menubar button with author & project information, and disclaimers: that I am not affiliated with casio that the calculator is in a beta state and not guaranteed to be correct for all inputs Fullscreen button for mobile devices Preparation for shipping Webpack or similar Choose a license and publicise repo Write a readme Host on github pages (?) Hope that I did enough to not receive legal action from casio 🙃 Thanks for reading :)"}, {"post_id": 60028, "ts": "2026-09-02T04:16:18Z", "hours": 9.8953, "text": "calc82: Devlog #10 2/09/2026 calc82: because calculators are for everyone This devlog follows the addition of a lot of small features to my calculator that were last on my to-do list, as well as a slight shift in scope. 🌟 New functionality summary Colon operator for multiple operations Saving variables and settings to LocalStorage Clearing this memory Polar and rectangular coordinates (finally!) Forward delete key (keyboard only) Scrolling screen with a nicer cursor! Colon operator This is an operator I’ve never used on my calculator, but its quite powerful. you can type Ans+1:Ans*2:Ans^2 and it will calculate the first expression, then the second, and so on until it loops back to the start. ➡️ Forward delete Although this functionality is not part of the original calculator, it makes it much more pleasant to use on a computer keyboard. This was implemented as a hidden button. Scrolling Scrolling was surprisingly easy to implement! The browser handles all of the hard work, and all I had to do was set the right CSS tags. Granted, with my CSS experience, this was still difficult, but I made it work in the end. 📈 Next steps I have decided to shift the current scope of the project (before shipping) to just be implementing the main compute mode . This means I will not need to do STAT, VERIFY or LINEIO mode. This is for three reasons: With my semester starting, I will not have as much time to work on this project before the deadline I have very little experience with using these other modes I want to focus my time on the user experience. With this shift in scope, the calculator part of the project is all but done - I only have three buttons remaining. (I had to push this devlog out before 10 hours, which is why they’re not done). Then, I can focus on adding the surrounding UI and UX, which should make it actually possible for other people to use my project. Thanks for reading :)"}, {"post_id": 58608, "ts": "2026-08-31T02:44:52Z", "hours": 8.6944, "text": "calc82: Devlog #9 31/08/2026 calc82: because calculators are for everyone This devlog follows the addition of menus and the status bar to my calculator. 🌟 New functionality summary Extensible menu system that allows for easy creation of paginated and nested menus Status bar with indicators that change based on the current calculator state M+ and M- special variables Mixed fraction display 📋 Menu system The menu system uses a dictionary to encode the menu pages and their entries, making it easy to add new menus. However, I couldn’t find a way to easily encode functions and arguments in this structure, so the actual actions are handled by a big switch statement. When the menu is active, most buttons have no action and the input/output display is hidden. 🧀 Status bar The status bar consists of a row of elements with adjustable opacity (to represent their active state). It is handled by a class which allows items to be toggled with a single method call, meaning it can retroactively be integrated into other components. The original calculator has some menu elements that can never be activated - for example, there is a complex mode indicator, but the calculator cannot show complex numbers. I omitted these on calc82, as they took up unnecessary space. 📈 Next steps The project is almost nearing completion :) I made complete list of every feature missing from the calculator (too long to post here). It should should get shorter every devlog from now! Hopefully I can finally ship this project in the next couple of weeks. Thanks for reading :)"}, {"post_id": 45453, "ts": "2026-08-11T22:22:45Z", "hours": 10.3792, "text": "calc82: Devlog #8 12/08/2026 calc82: because calculators are for everyone Sorry its been a while since the last devlog, I’ve had this one sitting for a while and not had the chance to finish and post it. This devlog follows the improvement of the user interface to my calculator, as well as the addition of variables . 🌟 New functionality summary Add keyboard mappings for buttons Variables - assign and recall Navigate through history Recall history and edit it. 🦋 Modifier keys It was difficult porting the modifier (shift/alpha) keys to keyboard because Shift is used to type symbols such as + and *, and there is also a Shift key on the calculator… My solution was making tapping shift without any other input to toggle the calculator shift modifier, and combining it with another key to not toggle it. 🗒️ Notes Use of the calculator I’ve actually started using the calculator in class, and it’s been faithful to the original so far (for implemented functionality). I still don’t really trust it though and want to run it through some formalised tests before shipping. Keyboard mappings So far, I have been hardcoding keyboard mappings based on what feels natural to me. However, it would probably be better to have user-editable mappings for other people to customise. 📈 Next steps Immediate: M+ and M- special variable Variable and history persistence in the browser Implement polar/rectangualr conversion Medium: Add menu system and settings Add other modes (STAT, VERIFY) Create a test suite to ensure there is no unwanted behaviour Long-term: Tidy up visuals Ship :)"}, {"post_id": 32188, "ts": "2026-07-21T05:53:53Z", "hours": 9.9386, "text": "calc82: Devlog #7 21/07/2026 calc82: because calculators are for everyone This devlog follows the introduction of an actual user interface to my calculator. 🌟 New functionality summary Grid of calculator buttons Different button output when modifiers pressed Navigation buttons work Calculator resembles a real calculator 👇 Button handling The calculator needed buttons resembling that of the Casio to fulfil my purpose. Buttons are dynamically built from an array, which defines their labels and actions. This allows easy changes. For most buttons, the area surrounding the button also acts as a clickable area for better touch input. However, I didn’t find an easy way to do this for the navigation buttons (which are positioned off the grid). 🎨 CSS CSS Grid allows a 2D layout system based on rows and columns. It has been supported by all major browsers since October 2017. CSS Grid was used, as it allows consistent positioning across browsers. In addition, relative units were used to prevent resizing the calculator from affecting it. This should make it easier to make dynamic sizing in the future. 🗒️ Notes Accessibility <button> s are preferred over clickable <div> s because they work with screen readers and legacy browsers . However, I also made the surrounding elements clickable for a better touch experience. Also, keyboard input will make use significantly easier for computer users. Aesthetics The CSS applied so far is purely functional. In the future, I will improve the aesthetics of the calculator through CSS - but for now, this barebones look makes development easier and more focused. 📈 Next steps The todo list was getting too empty, so it has been updated with new tasks Immediate: Add remaining functions Add keyboard shortcuts Medium: Add menu system and settings Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion Add other modes (STAT, VERIFY) Add Long-term: Create a test suite to ensure there is no unwanted behaviour Ship :)"}, {"post_id": 30511, "ts": "2026-07-18T04:36:43Z", "hours": 9.605, "text": "calc82: Devlog #6 18/07/2026 calc82: because calculators are for everyone This devlog follows the further development of algebraic I/O to my calculator, including turning this into an actual result. 🌟 New functionality summary Input and output formatting through KaTeX Square root, arbitrary root, mixed fraction, and absolute values Tokeniser now directly reads input tokens Errors now move the cursor to the position where it occurred 🌊 New program flow inputHandler -> [input tokens] -> tokeniser -> [calculator tokens] -> parser -> AST -> evaluator -> result This: improves speed (compared to parsing text) allows cursor to be moved to error location since we never flatten to text You might notice I have two sets of tokens. They are similar, but input tokens deal with digits and combined symbols ( sin( ), and calculator tokens are whole numbers and separated symbols. 🗒️ Notes Avoiding the lazy route My first approach was turning the input tokens into a string, which my tokeniser already knew how to deal with. However, this added much processing overhead and made it harder to find out the position at which errors occurred. Spending the time to implement the token conversion made this step much easier Misplaced math errors When implementing error handling, I passed down the original position of each token in the input token array down to each step of the calculation process. However, because my evaluator is recursive, it would constantly update the error position to the latest token, meaning the errors were always placed at the end. This was an easy fix in the end - but hard to spot! 📈 Next steps Immediate: Buttons input Add remaining functions (once buttons are added can be done) Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)"}, {"post_id": 29405, "ts": "2026-07-16T10:32:06Z", "hours": 9.6708, "text": "calc82: Devlog #5 16/07/2026 calc82: because calculators are for everyone This devlog mainly follows the addition of algebraic I/O to my calculator. This is just a check-in since I was getting close to 10 hours since the last devlog - I still have some work to do on this aspect before I move on. 🌟 New functionality summary Input and output formatting through KaTeX Fractions and powers formatted correctly in the input Ability to intuitively traverse the input with arrow keys ⚖️ Algebraic IO with KaTeX I decided on KaTeX because it is both fast (no reflow!) and does not rely on dependencies . KaTeX is a math formatting library that uses LaTeX commands to create beautiful equations from code. For example, \\frac{2^{\\frac{3}{4}}}{4\\sin(30)}\\times 2\\pi turns into the attached image. Input is currently captured directly from the keyboard to build a 1D array of tokens. The tokens are then converted into KaTeX formatting for algebraic display. In the future, there will also be buttons onscreen as an alternative. Fractions and powers Fractions and powers cannot be represented as a single token. Rather, fractions have a beginning, middle and end, and powers have a beginning and end. The program traverses the array to decide where to put them (and take them out for deletion). 🗒️ Notes The cursor It is surprisingly difficult to make a vertical bar to act as a cursor in KaTeX, without affecting the spacing of the rest of the expression. For now, I am using a \\clap{\\rule{0.1em}{0.5em}} for the cursor, but I am looking to replace this with custom CSS in the future. Replicating exact behaviour? The fx-82 has some interesting behaviour wherein an empty power is not allowed to exist directly after another power. I am unsure whether I should replicate this - but for now, I am leaving it out. Dealing with broken LaTeX I have been able to get the display pretty bulletproof when it comes to not producing broken LaTeX. However, I’m sure there’s something I haven’t run into in debugging! I want to have this be dealt with gracefully rather than blowing up in the user’s face. 📈 Next steps Immediate: Implement mixed fractions, roots, and Abs to algebraic display Make the input token array able to be parsed into the AST to be calculated Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)"}, {"post_id": 27701, "ts": "2026-07-13T14:20:52Z", "hours": 7.1211, "text": "calc82: Devlog #4 14/07/2026 calc82: because calculators are for everyone This devlog mainly follows the addition of fractional I/O to my calculator. 🌟 New functionality summary Fractional input, including fractions Computation of fractions - add/sub,div/mult,power,root other operations convert the fraction to a decimal Fractional output (temporary UI) LCM/GCD separate execute and fraction/decimal converting buttons 🔢 fractional io :) I defined a separate fraction data type: it’s like a decimal, but with a numerator and denominator, and optionally a whole component: for example, 1 and 1/3, or 4/3. Using fractions means that numbers can be represented more naturally and precisely. I.e. 1/7 instead of 0.142857143 🧮 Fractional calculation Additionally calculations can be made more precise. For example (1/7) * (2/3) can be directly computed by multiplying the numerators and denominators. My implementation attempts to convert user input and the products of divisions into fractions wherever possible in order to chase this precision. 🗒️ Notes Web design is not my thing I realised the importance of UI and UX (user experience) by looking at other projects on Stardance. As of the current iteration, this project lacks this a bit.. But I will give it a shot My next developments will begin to focus more on this - starting with the algebraic input, and eventually moving onto the CSS and design aspects. I am also considering whether I should use a Javascript framework. 📈 Next steps Immediate: Create algebraic display functionality Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)"}, {"post_id": 25807, "ts": "2026-07-10T08:35:45Z", "hours": 6.5419, "text": "calc82: Devlog #3 10/07/2026 calc82: because calculators are for everyone Oh dear, looks like I lost 4 hours of counted time in the last devlog… let’s try to make this one a bit shorter! This devlog follows the implementation of the other inline functions of the calculator: 🌟 New functionality summary inverse and hyperbolic trig arbitrary roots absolute value percent random numbers: Ran and RanInt scientific notation: *10^x / E combinatorics: nPr and nCr variables (not yet adjustable) 📋 Implementation details Implementing most of this functionality followed the same general steps: identify implement test. As I undertook this process. other dependent requirements popped up - such as the implementation of multivariable functions , which in turn required the expansion of the tokeniser and parser. Also, I implemented degrees, radians, and gradians modes into the calculator, and the associated functions (as postfix expressions - e.g. sin(30d) for degrees) . 🗄️ decimal.js changes Finally, I applied some further changes to decimal.js.: Rounding now depends on the closeness of the output to a known value, rather than the input, reducing unnecessary rounding Near-decimal values close to 0, 0.25, 0.5, 0.75 and 1 are now caught. 🗒️ Notes: Remembering that Javascript is weird NaN === NaN is FALSE! Spent a good 10 minutes figuring this one out. The solution was to use isNaN() . Fixing negative-base powers: (-8)^(1/3) should equal 2 but returns NaN Fixed by taking the denominator from the output of a decimal.js toFraction() function, which attempts to create a rational fraction. This overcomes the tiny precision loss and evaluates the function correctly 📈 Next steps Immediate: Add fractional I/O Implement polar/rectangualr conversion Medium: Create algebraic display functionality Multi-line calculation (Ans) and setting variables Long-term: Build UI Ship :) This has been a bit of a shorter devlog. But I’m still proud of what I achieved! Thanks so much for reading. If you have any suggestions, please leave me a comment. Take care"}, {"post_id": 25217, "ts": "2026-07-09T10:31:56Z", "hours": 14.0967, "text": "calc82: Devlog #2 08/07/2026 calc82: because calculators are for everyone This devlog follows the handling of nasty floating point errors in my web calculator - inspired by and designed to work with Casio’s fx-82au. I realised that relying purely on the Javascript math system was unsuitable for a scientific calculator that works with decimal numbers. This is due to binary floating point not translating well to decimal. 0.1+0.2=0.30000000000000004 >:( I researched and considered a few approaches. 🥧 Symbolic simplifier? The idea behind this is to perform algebra and avoid evaluating constants and functions to values until strictly necessary. However, the scope of this seemed massive, and I did not observe this behaviour in the Casio. 🔟 Decimal arithmetic Instead, I stumbled upon the fact that decimal arithmetic can be implemented in a computer. While IEEE floats use binary representation, there is no reason we cannot use decimals internally, avoiding errors that arise from conversion. Decimal floats can be stored by: Sign: +/- Mantissa: the number itself, in my case an array of digits Exponent: what power of 10 the number should be multiplied by. I started implementation, made decent progress, but found out that I was re-doing work that was already done by other people. 🗄️ Decimal.js I found the decimal.js library after researching how to handle decimal addition. Implementing this quickly fixed my floating point errors, but did not fix trig approximation. 👀 Observing the calculator I observed some of the behaviour of the real calculator to work out how it functions. Handles small-angle approximation based on a threshold Drops precision as the trig function argument value increases Appears to use a 15-digit mantissa Refuses to evaluate trig functions with argument above a certain limit I tried my best to implement the behaviour I observed, some of which required editing the code of the decimal.js library. 📝 Editing decimal.js The decimal.js library uses more than the set precision for some internal calculations. However, arithmetic with pi is otherwise only the set precision, causing drift. My fix for this was to adjust the internal pi value to match the mantissa size of the real calculator. Troubles with the library When given a less accurate value for pi (in line with that of the real calculator) sine quadrant is incorrectly calculated. I found that the isOdd function is flawed! function isOdd(n) { return n.d[n.d.length - 1] & 1; } I replaced it with one that works for my use case (if less efficient): function isOdd(n) { return n.mod(2).eq(1); } I need to see if this is just due to my low precision pi, or an actual problem in the library, in the future. But for now my issue is fixed. I also found an error in the cosine function: if (x.isZero()) return x needed to be changed to if (x.isZero()) return new Ctor(1) . Again, I’m going to have to look into this more before submitting a pr or anything, since decimal.js is not made for such an imprecise pi. 🗒️ Notes Deviations There are still small deviations between my calculator and the real one at really, really large trig angles. One idea to reduce error could be optimising the order of operations in the AST to prevent dropping precision unnecessarily. I might explore this later However, I want to press on with other features, instead of tiny inaccuracies that would never show up in real-world use. I have slightly rearranged the to-do list below. 📈 Next steps Immediate: Implement the other calculator buttons and functions Add fractional I/O Medium: Create algebraic display functionality Multi-line calculation (Ans) and variables Long-term: Build UI Ship :) Thanks so much for reading! If you have any suggestions, please leave me a comment. Until next time"}, {"post_id": 23363, "ts": "2026-07-06T09:05:57Z", "hours": 6.4844, "text": "calc82: Project Introduction and Devlog #1 calc82: because calculators are for everyone The aim of this project is to create a free, software-based browser calculator which mimics the behaviour of the Casio fx-82au. This is the most common calculator in high schools in my country. 🔥 Motivation My motivation for this project is the following: calculators are cool i dont always have my calculator on me (most notably) not everyone has access to a scientific calculator 🎯 Approach I will take a black-box reverse engineering approach . This means analysing the inputs and outputs of the calculator and attempting to replicate the behaviour without looking at the underlying code. This along with avoiding patents and copyright should keep the project okay legally. 📈 Goals and scope The final goal for the project is to create a fully functional calculator (obviously) which works on most types of devices. This means both touch and keyboard input, resolution scaling, wide browser support… I have moderate experience with creating web apps. and a lot of experience using this calculator. so this project should be pretty fun :) Devlog #1 06/07/2026 This devlog covers the initial development of the parts of the calculator that do math. Essentially turning an input expression into an output. I chose a high-level structure similar to that used by programming language syntax analysers. That is: Input -> Tokeniser -> Parser -> Evaluator -> Output 🪙 Tokeniser yes, with an s >:( The tokeniser converts the input into a list of tokens (think individual pieces of the expression). It does this by scanning the input string and identifying what each character corresponds to. The tokeniser only knows what each symbol is , not what it does . Then it passes the token array to the… 🌲 Parser The parser converts the token array into an Abstract Syntax Tree (AST). Essentially this is a tree which shows how the expressions should be evaluated in order to produce the desired output. This properly lets me implement order of operations. The exact type of parser I am using is a recursive descent parser . It attempts to match the tokens with known symbols recursively, meaning i can rely on the call stack :) The order of operations can be defined by the order of function calls within the parser. 🧮 Evaluator The evaluator’s job is easy: it just traverses the tree made by the parser and runs the necessary operations. Because all of the hard work regarding order of operations has been done by the other components, implementing the evaluator was really easy. Its also recursive. your call stack is gonna love me for this 🗒️ Notes Why not eval? It’s true that JavaScript has a perfectly good expression parser, which I could have used. However, its behaviour is more suited to a programming language than a calculator. For example, 4(2+3) should implicitly multiply , but will instead complain TypeError: 4 is not a function . Writing my own system gives me more flexibility to make the calculator how I want. Floating point precision Because it uses Javascript’s internal math engine, i have floating-point problems. This results in expressions like sin(2pi) = -2.44929360e-16 I will likely fix this by using a math library, or a novel approach. Last-minute catch I was just writing an example for this devlog when I found that .3ln(4)*5^2 raised an error. In fact, ANYTHING * or / followed by x^n would error - but other operators wouldn’t. This was a quick fix, but I’m glad I caught it! 📈 Next steps Immediate: Fix math imprecision Add fractional I/O Medium: Create algebraic display functionality Multi-line calculation (Ans) and variables Long-term: Make the calculator functionally equivalent to the fx-82 Build UI Ship :) Thanks so much for reading! If you have any suggestions, please leave me a comment"}]...
|
Title: calc82: Web Scientific Calculator by @rigel Title: calc82: Web Scientific Calculator by @rigel | Stardance
Devlogs:
calc82: Project Introduction and Devlog #1 calc82: because calculators are for everyone The aim of this project is to create a free, software-based browser calculator which mimics the behaviour of the Casio fx-82au. This is the most common calculator in high schools in my country. 🔥 Motivation My motivation for this project is the following: calculators are cool i dont always have my calculator on me (most notably) not everyone has access to a scientific calculator 🎯 Approach I will take a black-box reverse engineering approach . This means analysing the inputs and outputs of the calculator and attempting to replicate the behaviour without looking at the underlying code. This along with avoiding patents and copyright should keep the project okay legally. 📈 Goals and scope The final goal for the project is to create a fully functional calculator (obviously) which works on most types of devices. This means both touch and keyboard input, resolution scaling, wide browser support… I have moderate experience with creating web apps. and a lot of experience using this calculator. so this project should be pretty fun :) Devlog #1 06/07/2026 This devlog covers the initial development of the parts of the calculator that do math. Essentially turning an input expression into an output. I chose a high-level structure similar to that used by programming language syntax analysers. That is: Input -> Tokeniser -> Parser -> Evaluator -> Output 🪙 Tokeniser yes, with an s >:( The tokeniser converts the input into a list of tokens (think individual pieces of the expression). It does this by scanning the input string and identifying what each character corresponds to. The tokeniser only knows what each symbol is , not what it does . Then it passes the token array to the… 🌲 Parser The parser converts the token array into an Abstract Syntax Tree (AST). Essentially this is a tree which shows how the expressions should be evaluated in order to produce the desired output. This properly lets me implement order of operations. The exact type of parser I am using is a recursive descent parser . It attempts to match the tokens with known symbols recursively, meaning i can rely on the call stack :) The order of operations can be defined by the order of function calls within the parser. 🧮 Evaluator The evaluator’s job is easy: it just traverses the tree made by the parser and runs the necessary operations. Because all of the hard work regarding order of operations has been done by the other components, implementing the evaluator was really easy. Its also recursive. your call stack is gonna love me for this 🗒️ Notes Why not eval? It’s true that JavaScript has a perfectly good expression parser, which I could have used. However, its behaviour is more suited to a programming language than a calculator. For example, 4(2+3) should implicitly multiply , but will instead complain TypeError: 4 is not a function . Writing my own system gives me more flexibility to make the calculator how I want. Floating point precision Because it uses Javascript’s internal math engine, i have floating-point problems. This results in expressions like sin(2pi) = -2.44929360e-16 I will likely fix this by using a math library, or a novel approach. Last-minute catch I was just writing an example for this devlog when I found that .3ln(4)*5^2 raised an error. In fact, ANYTHING * or / followed by x^n would error - but other operators wouldn’t. This was a quick fix, but I’m glad I caught it! 📈 Next steps Immediate: Fix math imprecision Add fractional I/O Medium: Create algebraic display functionality Multi-line calculation (Ans) and variables Long-term: Make the calculator functionally equivalent to the fx-82 Build UI Ship :) Thanks so much for reading! If you have any suggestions, please leave me a comment
calc82: Devlog #2 08/07/2026 calc82: because calculators are for everyone This devlog follows the handling of nasty floating point errors in my web calculator - inspired by and designed to work with Casio’s fx-82au. I realised that relying purely on the Javascript math system was unsuitable for a scientific calculator that works with decimal numbers. This is due to binary floating point not translating well to decimal. 0.1+0.2=0.30000000000000004 >:( I researched and considered a few approaches. 🥧 Symbolic simplifier? The idea behind this is to perform algebra and avoid evaluating constants and functions to values until strictly necessary. However, the scope of this seemed massive, and I did not observe this behaviour in the Casio. 🔟 Decimal arithmetic Instead, I stumbled upon the fact that decimal arithmetic can be implemented in a computer. While IEEE floats use binary representation, there is no reason we cannot use decimals internally, avoiding errors that arise from conversion. Decimal floats can be stored by: Sign: +/- Mantissa: the number itself, in my case an array of digits Exponent: what power of 10 the number should be multiplied by. I started implementation, made decent progress, but found out that I was re-doing work that was already done by other people. 🗄️ Decimal.js I found the decimal.js library after researching how to handle decimal addition. Implementing this quickly fixed my floating point errors, but did not fix trig approximation. 👀 Observing the calculator I observed some of the behaviour of the real calculator to work out how it functions. Handles small-angle approximation based on a threshold Drops precision as the trig function argument value increases Appears to use a 15-digit mantissa Refuses to evaluate trig functions with argument above a certain limit I tried my best to implement the behaviour I observed, some of which required editing the code of the decimal.js library. 📝 Editing decimal.js The decimal.js library uses more than the set precision for some internal calculations. However, arithmetic with pi is otherwise only the set precision, causing drift. My fix for this was to adjust the internal pi value to match the mantissa size of the real calculator. Troubles with the library When given a less accurate value for pi (in line with that of the real calculator) sine quadrant is incorrectly calculated. I found that the isOdd function is flawed! function isOdd(n) { return n.d[n.d.length - 1] & 1; } I replaced it with one that works for my use case (if less efficient): function isOdd(n) { return n.mod(2).eq(1); } I need to see if this is just due to my low precision pi, or an actual problem in the library, in the future. But for now my issue is fixed. I also found an error in the cosine function: if (x.isZero()) return x needed to be changed to if (x.isZero()) return new Ctor(1) . Again, I’m going to have to look into this more before submitting a pr or anything, since decimal.js is not made for such an imprecise pi. 🗒️ Notes Deviations There are still small deviations between my calculator and the real one at really, really large trig angles. One idea to reduce error could be optimising the order of operations in the AST to prevent dropping precision unnecessarily. I might explore this later However, I want to press on with other features, instead of tiny inaccuracies that would never show up in real-world use. I have slightly rearranged the to-do list below. 📈 Next steps Immediate: Implement the other calculator buttons and functions Add fractional I/O Medium: Create algebraic display functionality Multi-line calculation (Ans) and variables Long-term: Build UI Ship :) Thanks so much for reading! If you have any suggestions, please leave me a comment. Until next time
calc82: Devlog #3 10/07/2026 calc82: because calculators are for everyone Oh dear, looks like I lost 4 hours of counted time in the last devlog… let’s try to make this one a bit shorter! This devlog follows the implementation of the other inline functions of the calculator: 🌟 New functionality summary inverse and hyperbolic trig arbitrary roots absolute value percent random numbers: Ran and RanInt scientific notation: *10^x / E combinatorics: nPr and nCr variables (not yet adjustable) 📋 Implementation details Implementing most of this functionality followed the same general steps: identify implement test. As I undertook this process. other dependent requirements popped up - such as the implementation of multivariable functions , which in turn required the expansion of the tokeniser and parser. Also, I implemented degrees, radians, and gradians modes into the calculator, and the associated functions (as postfix expressions - e.g. sin(30d) for degrees) . 🗄️ decimal.js changes Finally, I applied some further changes to decimal.js.: Rounding now depends on the closeness of the output to a known value, rather than the input, reducing unnecessary rounding Near-decimal values close to 0, 0.25, 0.5, 0.75 and 1 are now caught. 🗒️ Notes: Remembering that Javascript is weird NaN === NaN is FALSE! Spent a good 10 minutes figuring this one out. The solution was to use isNaN() . Fixing negative-base powers: (-8)^(1/3) should equal 2 but returns NaN Fixed by taking the denominator from the output of a decimal.js toFraction() function, which attempts to create a rational fraction. This overcomes the tiny precision loss and evaluates the function correctly 📈 Next steps Immediate: Add fractional I/O Implement polar/rectangualr conversion Medium: Create algebraic display functionality Multi-line calculation (Ans) and setting variables Long-term: Build UI Ship :) This has been a bit of a shorter devlog. But I’m still proud of what I achieved! Thanks so much for reading. If you have any suggestions, please leave me a comment. Take care
calc82: Devlog #4 14/07/2026 calc82: because calculators are for everyone This devlog mainly follows the addition of fractional I/O to my calculator. 🌟 New functionality summary Fractional input, including fractions Computation of fractions - add/sub,div/mult,power,root other operations convert the fraction to a decimal Fractional output (temporary UI) LCM/GCD separate execute and fraction/decimal converting buttons 🔢 fractional io :) I defined a separate fraction data type: it’s like a decimal, but with a numerator and denominator, and optionally a whole component: for example, 1 and 1/3, or 4/3. Using fractions means that numbers can be represented more naturally and precisely. I.e. 1/7 instead of 0.142857143 🧮 Fractional calculation Additionally calculations can be made more precise. For example (1/7) * (2/3) can be directly computed by multiplying the numerators and denominators. My implementation attempts to convert user input and the products of divisions into fractions wherever possible in order to chase this precision. 🗒️ Notes Web design is not my thing I realised the importance of UI and UX (user experience) by looking at other projects on Stardance. As of the current iteration, this project lacks this a bit.. But I will give it a shot My next developments will begin to focus more on this - starting with the algebraic input, and eventually moving onto the CSS and design aspects. I am also considering whether I should use a Javascript framework. 📈 Next steps Immediate: Create algebraic display functionality Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)
calc82: Devlog #5 16/07/2026 calc82: because calculators are for everyone This devlog mainly follows the addition of algebraic I/O to my calculator. This is just a check-in since I was getting close to 10 hours since the last devlog - I still have some work to do on this aspect before I move on. 🌟 New functionality summary Input and output formatting through KaTeX Fractions and powers formatted correctly in the input Ability to intuitively traverse the input with arrow keys ⚖️ Algebraic IO with KaTeX I decided on KaTeX because it is both fast (no reflow!) and does not rely on dependencies . KaTeX is a math formatting library that uses LaTeX commands to create beautiful equations from code. For example, \frac{2^{\frac{3}{4}}}{4\sin(30)}\times 2\pi turns into the attached image. Input is currently captured directly from the keyboard to build a 1D array of tokens. The tokens are then converted into KaTeX formatting for algebraic display. In the future, there will also be buttons onscreen as an alternative. Fractions and powers Fractions and powers cannot be represented as a single token. Rather, fractions have a beginning, middle and end, and powers have a beginning and end. The program traverses the array to decide where to put them (and take them out for deletion). 🗒️ Notes The cursor It is surprisingly difficult to make a vertical bar to act as a cursor in KaTeX, without affecting the spacing of the rest of the expression. For now, I am using a \clap{\rule{0.1em}{0.5em}} for the cursor, but I am looking to replace this with custom CSS in the future. Replicating exact behaviour? The fx-82 has some interesting behaviour wherein an empty power is not allowed to exist directly after another power. I am unsure whether I should replicate this - but for now, I am leaving it out. Dealing with broken LaTeX I have been able to get the display pretty bulletproof when it comes to not producing broken LaTeX. However, I’m sure there’s something I haven’t run into in debugging! I want to have this be dealt with gracefully rather than blowing up in the user’s face. 📈 Next steps Immediate: Implement mixed fractions, roots, and Abs to algebraic display Make the input token array able to be parsed into the AST to be calculated Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)
calc82: Devlog #6 18/07/2026 calc82: because calculators are for everyone This devlog follows the further development of algebraic I/O to my calculator, including turning this into an actual result. 🌟 New functionality summary Input and output formatting through KaTeX Square root, arbitrary root, mixed fraction, and absolute values Tokeniser now directly reads input tokens Errors now move the cursor to the position where it occurred 🌊 New program flow inputHandler -> [input tokens] -> tokeniser -> [calculator tokens] -> parser -> AST -> evaluator -> result This: improves speed (compared to parsing text) allows cursor to be moved to error location since we never flatten to text You might notice I have two sets of tokens. They are similar, but input tokens deal with digits and combined symbols ( sin( ), and calculator tokens are whole numbers and separated symbols. 🗒️ Notes Avoiding the lazy route My first approach was turning the input tokens into a string, which my tokeniser already knew how to deal with. However, this added much processing overhead and made it harder to find out the position at which errors occurred. Spending the time to implement the token conversion made this step much easier Misplaced math errors When implementing error handling, I passed down the original position of each token in the input token array down to each step of the calculation process. However, because my evaluator is recursive, it would constantly update the error position to the latest token, meaning the errors were always placed at the end. This was an easy fix in the end - but hard to spot! 📈 Next steps Immediate: Buttons input Add remaining functions (once buttons are added can be done) Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)
calc82: Devlog #7 21/07/2026 calc82: because calculators are for everyone This devlog follows the introduction of an actual user interface to my calculator. 🌟 New functionality summary Grid of calculator buttons Different button output when modifiers pressed Navigation buttons work Calculator resembles a real calculator 👇 Button handling The calculator needed buttons resembling that of the Casio to fulfil my purpose. Buttons are dynamically built from an array, which defines their labels and actions. This allows easy changes. For most buttons, the area surrounding the button also acts as a clickable area for better touch input. However, I didn’t find an easy way to do this for the navigation buttons (which are positioned off the grid). 🎨 CSS CSS Grid allows a 2D layout system based on rows and columns. It has been supported by all major browsers since October 2017. CSS Grid was used, as it allows consistent positioning across browsers. In addition, relative units were used to prevent resizing the calculator from affecting it. This should make it easier to make dynamic sizing in the future. 🗒️ Notes Accessibility <button> s are preferred over clickable <div> s because they work with screen readers and legacy browsers . However, I also made the surrounding elements clickable for a better touch experience. Also, keyboard input will make use significantly easier for computer users. Aesthetics The CSS applied so far is purely functional. In the future, I will improve the aesthetics of the calculator through CSS - but for now, this barebones look makes development easier and more focused. 📈 Next steps The todo list was getting too empty, so it has been updated with new tasks Immediate: Add remaining functions Add keyboard shortcuts Medium: Add menu system and settings Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion Add other modes (STAT, VERIFY) Add Long-term: Create a test suite to ensure there is no unwanted behaviour Ship :)
calc82: Devlog #8 12/08/2026 calc82: because calculators are for everyone Sorry its been a while since the last devlog, I’ve had this one sitting for a while and not had the chance to finish and post it. This devlog follows the improvement of the user interface to my calculator, as well as the addition of variables . 🌟 New functionality summary Add keyboard mappings for buttons Variables - assign and recall Navigate through history Recall history and edit it. 🦋 Modifier keys It was difficult porting the modifier (shift/alpha) keys to keyboard because Shift is used to type symbols such as + and *, and there is also a Shift key on the calculator… My solution was making tapping shift without any other input to toggle the calculator shift modifier, and combining it with another key to not toggle it. 🗒️ Notes Use of the calculator I’ve actually started using the calculator in class, and it’s been faithful to the original so far (for implemented functionality). I still don’t really trust it though and want to run it through some formalised tests before shipping. Keyboard mappings So far, I have been hardcoding keyboard mappings based on what feels natural to me. However, it would probably be better to have user-editable mappings for other people to customise. 📈 Next steps Immediate: M+ and M- special variable Variable and history persistence in the browser Implement polar/rectangualr conversion Medium: Add menu system and settings Add other modes (STAT, VERIFY) Create a test suite to ensure there is no unwanted behaviour Long-term: Tidy up visuals Ship :)
calc82: Devlog #9 31/08/2026 calc82: because calculators are for everyone This devlog follows the addition of menus and the status bar to my calculator. 🌟 New functionality summary Extensible menu system that allows for easy creation of paginated and nested menus Status bar with indicators that change based on the current calculator state M+ and M- special variables Mixed fraction display 📋 Menu system The menu system uses a dictionary to encode the menu pages and their entries, making it easy to add new menus. However, I couldn’t find a way to easily encode functions and arguments in this structure, so the actual actions are handled by a big switch statement. When the menu is active, most buttons have no action and the input/output display is hidden. 🧀 Status bar The status bar consists of a row of elements with adjustable opacity (to represent their active state). It is handled by a class which allows items to be toggled with a single method call, meaning it can retroactively be integrated into other components. The original calculator has some menu elements that can never be activated - for example, there is a complex mode indicator, but the calculator cannot show complex numbers. I omitted these on calc82, as they took up unnecessary space. 📈 Next steps The project is almost nearing completion :) I made complete list of every feature missing from the calculator (too long to post here). It should should get shorter every devlog from now! Hopefully I can finally ship this project in the next couple of weeks. Thanks for reading :)
calc82: Devlog #10 2/09/2026 calc82: because calculators are for everyone This devlog follows the addition of a lot of small features to my calculator that were last on my to-do list, as well as a slight shift in scope. 🌟 New functionality summary Colon operator for multiple operations Saving variables and settings to LocalStorage Clearing this memory Polar and rectangular coordinates (finally!) Forward delete key (keyboard only) Scrolling screen with a nicer cursor! Colon operator This is an operator I’ve never used on my calculator, but its quite powerful. you can type Ans+1:Ans*2:Ans^2 and it will calculate the first expression, then the second, and so on until it loops back to the start. ➡️ Forward delete Although this functionality is not part of the original calculator, it makes it much more pleasant to use on a computer keyboard. This was implemented as a hidden button. Scrolling Scrolling was surprisingly easy to implement! The browser handles all of the hard work, and all I had to do was set the right CSS tags. Granted, with my CSS experience, this was still difficult, but I made it work in the end. 📈 Next steps I have decided to shift the current scope of the project (before shipping) to just be implementing the main compute mode . This means I will not need to do STAT, VERIFY or LINEIO mode. This is for three reasons: With my semester starting, I will not have as much time to work on this project before the deadline I have very little experience with using these other modes I want to focus my time on the user experience. With this shift in scope, the calculator part of the project is all but done - I only have three buttons remaining. (I had to push this devlog out before 10 hours, which is why they’re not done). Then, I can focus on adding the surrounding UI and UX, which should make it actually possible for other people to use my project. Thanks for reading :)
calc82: Devlog #11 6/09/2026 calc82: because calculators are for everyone This devlog follows the addition of a few final features to my calculator, and then my worst nightmare, frontend UI 😧 🌟 New functionality summary Prime factorisation using Pollard’s rho algorithm Engineering notation button Degree/minute/second output button CSS styling!! + menu bar buttons Fixed some input quirks Dark and light mode (based on system default) with manual toggle 🐚 Pollards rho algorithm for prime factorisation Prime factorisation or integer factorisation is the decomposition of a positive integer into a product of integers. The simplest way to implement this is trial division , which is straightforward but has O(√n) time complexity. I thought this would be too slow, so I decided to implement Pollard’s rho algorithm. This has a nicer complexity of O(√p) where p is the smallest prime factor of the number. However, further observation showed that that the Casio calculator probably doesn’t do this - for numbers without easy factors, it just doesn’t bother. Despite this, I’ve already implemented the algorithm, so I’m not going to remove functionality for the sake of exactly replicating the calculator’s behaviour. 🎨 CSS and styling My goal with the styling was to make the calculator as similar across browsers as possible. I bundled the Inter font (best font) into the program and removed browser-specific button styling. Implementing the CSS styling was mostly painless. I opted for a simple design with a menubar that adapts to horizontal or vertical depending on the window’s aspect ratio for the web app functionality. Additionally the css uses the system theme to automatically choose light or dark mode. 📈 Next steps This project is nearly finished - should only be one or two devlogs left until I ship. Here’s what I have left to do: Development Keybind show and edit Brief manual for each calculator function Info menubar button with author & project information, and disclaimers: that I am not affiliated with casio that the calculator is in a beta state and not guaranteed to be correct for all inputs Fullscreen button for mobile devices Preparation for shipping Webpack or similar Choose a license and publicise repo Write a readme Host on github pages (?) Hope that I did enough to not receive legal action from casio 🙃 Thanks for reading :)
calc82: Devlog #12 7/09/2026 calc82: because calculators are for everyone This devlog follows the addition of customisable and accessible keyboard bindings to my calculator. 🌟 New functionality summary Settings menu Switches between sidebar and popup dependent on screen width Key rebinding Flow of choosing button, then pressing key to rebind Stores in local storage Help hotkey Shows all currently bound keys. Key hint consideration The default keyboard map has been implemented as a const dictionary for a while now, allowing lookup of buttons from keyboard keys. This was extended with a user dictionary that can be dynamically updated. However, generating the help hotkey hints needed to go in the opposite direction of the dictionary. The naive approach of iterating through values to find a key for each would perform poorly with O(n^2). Instead, we precalculate a reversed dictionary to lookup keyboard keys from each button. This precalculation is O(n), and setting the keys is also O(n), resulting in O(n) time overall. 📈 Next steps Development Brief manual for each calculator function (considering reusing the on click functionality from key mapper) ) Info menubar button with author & project information, and disclaimers Fullscreen button for mobile devices Preparation for shipping Webpack, choose a license, write readme, publicise repo, host. Thanks for reading :)
calc82: Devlog #13 9/09/2026 calc82: because calculators are for everyone This devlog follows the addition of help and about menus to my calculator, as well as bundling into one js file. 🌟 New functionality summary Help menu Lookup function by calculator button (reuses key bind selector logic) Q&A About page About the calculator Contribute Legal License All JS files are bundled into one file Service worker makes app available offline 📦 Bundling and service worker I chose to use esbuild for bundling. This allows the many JS files to be condensed down into one file, reducing the number of requests that need to be made. This build system is much simpler than other options such as node.js. I also added a simple service worker that caches all requests locally. This makes the calculator available offline. ⚖️ Licensing & Legal I chose GPLv3 for this project as it is an end-user product. Essentially, this means others are free to modify and distribute the project as long as they make the source available. I also added legal disclaimers to the about page of the calculator. 📈 Next steps Write the readme, publicise the repo, and host! Thanks for reading :)
calc82: Devlog #14 9/09/2026 calc82: because calculators are for everyone Final devlog. It’s done!! This last stretch was writing the readme and publishing everything to Github pages. You can now access it at https://rigelseven.github.io/calc82/ Now for a short reflection calc82 is the largest personal software project I have ever completed. This project taught me a lot about input parsing - specifically, tokenisers and syntax trees - and the importance of keeping a large codebase tidy . Overall, the structure of the project is well laid out. However, there are architectural decisions I made early on that I came to regret later (such as the fact that input is represented as a string, whereas it should probably be a tree). Developing calc82 also showed me that I am capable of putting together such an app from scratch. I’m pleased to have participated in Stardance and be given this opportunity.
Ships:
What did you make? calc82: A calculator web-app inspired by the Casio fx-82 series of scientific calculators. These calculators are common in high schools in my country. My project simulates the behaviour of the Casio calculator, while maintaining a good user experience on both desktop and mobile. What was challenging? Creating reliable algebraic (non-linear) input parsing was the most difficult part of the project. This was because it required some difficult array traversal to avoid invalid states - even one mistake would break the whole input. It took a lot of iterations to get to a working input system that passed all my tests. Close contenders for most challenging were the sheer volume of functions I needed to implement, as well as all possible states the calculator can be in. However, the challenge for this was finding time to get around to everything, rather than technical challenge. What are you proud of? I’m most proud of my implementation of the input-to-result pipeline. I was able to incorporate new-to-me concepts such as tokenisers and abstract syntax trees, yet the resulting code is arguably the cleanest part of the program. I’m also proud of the responsive layout, which supports desktop and mobile well, and that the user experience is similar enough to the Casio that my muscle memory carries over. Finally, I’m proud that I managed to finish the project, as it’s the largest software project I’ve ever managed to complete. Demo: https://rigelseven.github.io/calc82/ Source: https://github.com/rigelseven/calc82/...
|
1793004753.863248
|
1793091153.863248
|
|
50393
|
Frictionless by @misbahgauri9 | Stardance
|
misbahgauri9
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T11:38:54Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a note taking website, so this is basically the Web version of good notes [ well we are not quite there yet] and I made it as a free and accessible. the most challenging part more than coding for me as someone who is doing it for the first time was to figure things and set up things:}", "repo": "https://github.com/misbahgauri/BeeMark", "demo": "https://misbahgauri.github.io/BeeMark/"}]...
|
[{"post_id": 75172, "ts": "202 [{"post_id": 75172, "ts": "2026-09-29T11:32:58Z", "hours": 0.4397, "text": "guys I added a readme and fixed the errors I was getting w GitHub, its shipped now so please check it out and leave honest revieww so happy RN!!!"}, {"post_id": 74460, "ts": "2026-09-27T12:51:19Z", "hours": 0.3867, "text": "it’s doneeee yayyyy try it ouut yall"}, {"post_id": 73570, "ts": "2026-09-25T12:40:07Z", "hours": 1.4192, "text": "things I did: 1. added new fonts, increased the storage & added grid. 2. change the whole css cuz i wanted to change the colour pallet and layout so it kinda fits the futuristic biophilic aesthetics and for that I added some unnatural shapes and textures. 3. worked on making the already existing features work better. [ AKA the hardest part]"}, {"post_id": 69674, "ts": "2026-09-17T15:31:28Z", "hours": 1.0711, "text": "after so many days of working its still glitching and storage sucks!!"}, {"post_id": 61445, "ts": "2026-09-04T11:26:04Z", "hours": 0.9364, "text": "dev log #3 ok i know it’s been a while that’s cuz i’ve been figuring out a few things in the code aswell as my life :) so far i have worked on the stylus writting feauture and adding more bg options. but I am yet to add a better storage system, more fonts , text editing optin and integrate AI feautures also improve th UI, Any tips?"}, {"post_id": 53747, "ts": "2026-08-24T12:40:04Z", "hours": 0.3094, "text": "devlog 2 guys I worked on my HTML, CSS and java and today I added a handwritten notes feature where users can write through stylus as well as type and also added a feature through which 3d models and images can be uploaded on the page and some more basic features."}, {"post_id": 53110, "ts": "2026-08-23T15:22:32Z", "hours": 5.3506, "text": "this my note taking app ‘bee mark’ I am working on this as my first ever coding project since I’m a newbie but the reason I chose to make an actual note taking app rather than a ‘quick notes’ web cuz I actually wanted to create a cutesy and Pinterest coded version that is actually function and has features that can help students make note taking process a bit easier and is free to use also I’ll explain more about my web in next post and if you have suggestions or features that you would personally like to see in such plsssss do let me know. here’s my HTML progress as of now. there is more but i could only upload one about 128 lines."}]...
|
Title: Frictionless by @misbahgauri9 | Stardance
Title: Frictionless by @misbahgauri9 | Stardance
Devlogs:
this my note taking app ‘bee mark’ I am working on this as my first ever coding project since I’m a newbie but the reason I chose to make an actual note taking app rather than a ‘quick notes’ web cuz I actually wanted to create a cutesy and Pinterest coded version that is actually function and has features that can help students make note taking process a bit easier and is free to use also I’ll explain more about my web in next post and if you have suggestions or features that you would personally like to see in such plsssss do let me know. here’s my HTML progress as of now. there is more but i could only upload one about 128 lines.
devlog 2 guys I worked on my HTML, CSS and java and today I added a handwritten notes feature where users can write through stylus as well as type and also added a feature through which 3d models and images can be uploaded on the page and some more basic features.
dev log #3 ok i know it’s been a while that’s cuz i’ve been figuring out a few things in the code aswell as my life :) so far i have worked on the stylus writting feauture and adding more bg options. but I am yet to add a better storage system, more fonts , text editing optin and integrate AI feautures also improve th UI, Any tips?
after so many days of working its still glitching and storage sucks!!
things I did: 1. added new fonts, increased the storage & added grid. 2. change the whole css cuz i wanted to change the colour pallet and layout so it kinda fits the futuristic biophilic aesthetics and for that I added some unnatural shapes and textures. 3. worked on making the already existing features work better. [ AKA the hardest part]
it’s doneeee yayyyy try it ouut yall
guys I added a readme and fixed the errors I was getting w GitHub, its shipped now so please check it out and leave honest revieww so happy RN!!!
Ships:
I made a note taking website, so this is basically the Web version of good notes [ well we are not quite there yet] and I made it as a free and accessible. the most challenging part more than coding for me as someone who is doing it for the first time was to figure things and set up things:}...
|
1793004755.0952144
|
1793091155.0952144
|
|
55629
|
Drawpad by @magomango | Stardance
|
magomango
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T01:55:01Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a drawpad using Arduino. It includes a screen and a reset button physically. There’s an intial passcode screen to protect your devious drawings and a clear button the side which functions as a lock button or a clear pass attempt. Currently there’s 4 colors and a clear button.", "repo": "https://github.com/magnolia345/Gamepad", "demo": ""}]...
|
[{"post_id": 71519, "ts": "202 [{"post_id": 71519, "ts": "2026-09-20T23:59:07Z", "hours": 3.7739, "text": "Added a simple pass You now need to enter the correct passcode to view the drawpad, and it locks by pressing the left side button. Necessary to protect any… private drawings. 👀 But then i just leaked it to everyone who sees this. Oops gotta change it"}, {"post_id": 63669, "ts": "2026-09-07T16:31:47Z", "hours": 6.2542, "text": "A cool gamepad - 1st Devlog, DRAWPAD This is the first time I’m posting hardware, and I lwk didn’t know there was an option to record build time lmao. Uh ok. And also forgot to make devlogs along the way so we got this. ~ What is this? I’m making a gamepad using Arduino, with different games on it. With Arduino Uno and a TFT LCD Display, I made this tiny drawing pad, which will eventually be one part of the overall gamepad, with 4 different colors and a clear button. For size reference, it’s about the size of an airpod pro case. ~ Plan For this drawpad specifically, I’ll add an erase button and possibly more colors! I will make a retro pingpong game and add it to the overall gameboard. More to come on that. corn…."}]...
|
Title: Drawpad by @magomango | Stardance
Devlogs: Title: Drawpad by @magomango | Stardance
Devlogs:
A cool gamepad - 1st Devlog, DRAWPAD This is the first time I’m posting hardware, and I lwk didn’t know there was an option to record build time lmao. Uh ok. And also forgot to make devlogs along the way so we got this. ~ What is this? I’m making a gamepad using Arduino, with different games on it. With Arduino Uno and a TFT LCD Display, I made this tiny drawing pad, which will eventually be one part of the overall gamepad, with 4 different colors and a clear button. For size reference, it’s about the size of an airpod pro case. ~ Plan For this drawpad specifically, I’ll add an erase button and possibly more colors! I will make a retro pingpong game and add it to the overall gameboard. More to come on that. corn….
Added a simple pass You now need to enter the correct passcode to view the drawpad, and it locks by pressing the left side button. Necessary to protect any… private drawings. 👀 But then i just leaked it to everyone who sees this. Oops gotta change it
Ships:
I made a drawpad using Arduino. It includes a screen and a reset button physically. There’s an intial passcode screen to protect your devious drawings and a clear button the side which functions as a lock button or a clear pass attempt. Currently there’s 4 colors and a clear button....
|
1793004756.2612386
|
1793091156.2612386
|
|
55635
|
Silly macropad :3 by @Lawnard | Stardance
|
Lawnard
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T20:09:07Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is just what i did for the macropad mission", "repo": "https://github.com/LawrnardKerman/mymacropad", "demo": ""}]...
|
[{"post_id": 78434, "ts": "202 [{"post_id": 78434, "ts": "2026-10-10T19:56:54Z", "hours": 1.9714, "text": "ITS ALIVE!!"}, {"post_id": 61181, "ts": "2026-09-03T23:57:25Z", "hours": 0.4561, "text": "gng, how long does it usually take for the people at hackclub hq to review a design, i really want to ship something during stardance(btw, my slack isnt working, thats why im posting here)(the image is of the final version of the pcb)"}, {"post_id": 58917, "ts": "2026-08-31T14:17:07Z", "hours": 1.0356, "text": "alr gng, i finished the firmware! yeppi yay :3"}, {"post_id": 58125, "ts": "2026-08-30T14:10:44Z", "hours": 1.2333, "text": "i set up the github page and made the BOM and CPL file because i am not going to hand solder those tiny smd componets"}, {"post_id": 58042, "ts": "2026-08-30T12:03:24Z", "hours": 1.805, "text": "i got done with the cad the final design has 5 cherry mx switched, 1 rotary encoder, and 1 led now i just have to make the firmware i redid the traces again because one of my friends called it “horrible” and they said it was so bad that they would “do it for me”"}, {"post_id": 57700, "ts": "2026-08-29T22:50:55Z", "hours": 2.2589, "text": "im having so much fun bro im gonna abandon all my other projects for like a week so i can actually ship something during stardance, im almost done with cad(pcb design is so fun) i also redid all the traces because it looked like spagetti. I’m DREADING the firmware though ps: rn i have no motivation for my other projects, im still riding the high from starting a new project"}, {"post_id": 57319, "ts": "2026-08-29T13:07:02Z", "hours": 2.1817, "text": "i finished the case & the pcb i have 6 switches and 3 leds i feel so much more motivation for this project tbh"}]...
|
Title: Silly macropad :3 by @Lawnard | Stardance
Title: Silly macropad :3 by @Lawnard | Stardance
Devlogs:
i finished the case & the pcb i have 6 switches and 3 leds i feel so much more motivation for this project tbh
im having so much fun bro im gonna abandon all my other projects for like a week so i can actually ship something during stardance, im almost done with cad(pcb design is so fun) i also redid all the traces because it looked like spagetti. I’m DREADING the firmware though ps: rn i have no motivation for my other projects, im still riding the high from starting a new project
i got done with the cad the final design has 5 cherry mx switched, 1 rotary encoder, and 1 led now i just have to make the firmware i redid the traces again because one of my friends called it “horrible” and they said it was so bad that they would “do it for me”
i set up the github page and made the BOM and CPL file because i am not going to hand solder those tiny smd componets
alr gng, i finished the firmware! yeppi yay :3
gng, how long does it usually take for the people at hackclub hq to review a design, i really want to ship something during stardance(btw, my slack isnt working, thats why im posting here)(the image is of the final version of the pcb)
ITS ALIVE!!
Ships:
This is just what i did for the macropad mission...
|
1793004757.345064
|
1793091157.345064
|