|
47713
|
Velora by @gavrilcatalin | Stardance
|
gavrilcatalin
|
2
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T19:15:47Z", "hours": 1.0, "multiplier": 2.82, "payout": 0, "blessing": "neutral", "text": "I did indeed add 3 new features into the WebOS: I added the Settings app that lets you customize the appearance of your WebOS. I added the Notes app where you can write anything you want. I added a new taskbar, i love it.", "repo": "https://github.com/nyvrixista/Velora", "demo": "https://nyvrixista.github.io/Velora/"}, {"ship_num": 2, "ts": "2026-08-27T19:32:57Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created m own Web OS, and im proud to call it Velora. Currently, it has 2 apps, the projects app, and an terminal. The terminal itself is something I thought of adding a long time ago. Everything will be available in my github repo. Go try it out!", "repo": "https://github.com/nyvrixista/Velora", "demo": "https://nyvrixista.github.io/Velora/"}]...
|
[{"post_id": 79630, "ts": "202 [{"post_id": 79630, "ts": "2026-10-14T19:12:56Z", "hours": 1.2053, "text": "Well, 2 months just gone, so here is what i made: Settings app - Lets you customize themes between dark and light and the transparency, for making Velora feel truly yours. Notes app - Lets you to write anything you want, and it saves automatically, how cool is that. A TASKBAR!!!! - I am gonna be very honest, this is my most waited feature, like its not perfect, but it’s a TASKBAR."}, {"post_id": 55770, "ts": "2026-08-27T19:28:32Z", "hours": 0.8389, "text": "I worked on a new app called Terminal"}, {"post_id": 55714, "ts": "2026-08-27T18:02:59Z", "hours": 4.3714, "text": "I started developing my own Web OS, and honestly, it looks really good."}]...
|
Title: Velora by @gavrilcatalin | Stardance
Devlo Title: Velora by @gavrilcatalin | Stardance
Devlogs:
I started developing my own Web OS, and honestly, it looks really good.
I worked on a new app called Terminal
Well, 2 months just gone, so here is what i made: Settings app - Lets you customize themes between dark and light and the transparency, for making Velora feel truly yours. Notes app - Lets you to write anything you want, and it saves automatically, how cool is that. A TASKBAR!!!! - I am gonna be very honest, this is my most waited feature, like its not perfect, but it’s a TASKBAR.
Ships:
I created m own Web OS, and im proud to call it Velora. Currently, it has 2 apps, the projects app, and an terminal. The terminal itself is something I thought of adding a long time ago. Everything will be available in my github repo. Go try it out!
I did indeed add 3 new features into the WebOS: I added the Settings app that lets you customize the appearance of your WebOS. I added the Notes app where you can write anything you want. I added a new taskbar, i love it....
|
1792189077.7031288
|
1793053077.7031288
|
|
64563
|
GLITCH OS by @singhshiv3108 | Stardance
|
singhshiv3108
|
2
|
30.0
|
34
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T18:46:19Z", "hours": 12.0, "multiplier": 2.82, "payout": 34, "blessing": "neutral", "text": "I updated my webos now it has weather, search bar, two new windows one of them having i frame to show case video , new terminal commands and few smaller features and fixes. Most challenging and frustrating part was actually small or big fixes becuz it used to felt boring and repetitive and thanks to me i added animation at starting , so for everytime i have to check whether my fixes worked i had to go through that torturing animation but….. the thing i am proud about is animation itself . I hope you like MY GLITCH OS!!!!!!. –Thank you", "repo": "https://github.com/ShivSingh3108/WebOS", "demo": "https://shivsingh3108.github.io/WebOS/"}, {"ship_num": 2, "ts": "2026-10-06T22:56:51Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Web OS , Challenging part was handling several similar codes like one miss and half of the windows disappears but later i got used to it. I am Actually proud of Whole project , i got to learn alot out of this.", "repo": "https://github.com/ShivSingh3108/WebOS", "demo": "https://shivsingh3108.github.io/WebOS/"}]...
|
[{"post_id": 79614, "ts": "202 [{"post_id": 79614, "ts": "2026-10-14T18:32:49Z", "hours": 5.9747, "text": "DEVLOG 14: The Biggest and the last devlog . i’ll divide this log in 3 parts. 1) Add : i added gallery tab , more videos in glitchtv and next and previous button to control them,few more commands such as contact,weather ,gallery, glitchtv. and added a basic manual in iris window. 2)Style: i improved scrollbar style and added scroll bar to windows that needed it .3) Debug: this is where most time is gone, earlier calendar used to show a junk of grid and to fix it user has to toggle with buttons but in this log i removed that junk or whatever you call that, then i saw that when i type beyond viewport of window in notes my window header disappears so i fixed that , terminal scroll bar was also going beyond the windowheader so i made another div it contain it and conntact command also had to much issue ig becuz of tag atlast i fixed searchbar it was the easy i just added name=“q” in form instead of input tag (there might me more fixes but these were major ones)."}, {"post_id": 79020, "ts": "2026-10-12T11:54:30Z", "hours": 1.4344, "text": "DEVLOG 13 Ig: in this devlog i added search bar. search bar wa easy to put but unfortunatly my header css was so weak no matter what i do it wont align as i wanted but somehow i did it . Coming back to search bar it still needs some fix when i search it doesnt show result instead just stays at google homepage."}, {"post_id": 78749, "ts": "2026-10-11T14:21:24Z", "hours": 1.8347, "text": "DEVLOG 12: In this devlog , I fixed video error actually it wasnt error ig. i searched on youtube and i found out i should use go live extension and it worked . i also added weather and it works for all user!!!! you just have to give it permission , earlier it was only showing my weather but then I surfed on yt for how to make it work for every user and i found . (ngl yt helped alot in this devlog)."}, {"post_id": 78672, "ts": "2026-10-11T08:00:05Z", "hours": 1.5678, "text": "DEVLOG 11: In this log i added booting animation , ngl it was hard more like lengthy , i earlier implemented animation in projects but this time it was big . Glitch TV is not debugged yet cuz i was bored with adding new window , it was repetitive so i thought lets add something ."}, {"post_id": 78133, "ts": "2026-10-09T17:55:34Z", "hours": 1.0669, "text": "DEVLOG 10: First Devlog for web OS 2 . In this log i added fully functional new window/app i.e. Glitch tv which uses I frame to show yt video although currently video aren’t working I tried for while but I will fix it by next devlog ."}, {"post_id": 77422, "ts": "2026-10-06T22:22:29Z", "hours": 4.1797, "text": "DEEVLOG 9: The last and the biggest devlog!!!!! in this devlog i added custom drag ,pointer cursor, new terminal commands, new app icons , fullscreen and minimize button ,improved css and few debugging."}, {"post_id": 76757, "ts": "2026-10-04T14:43:14Z", "hours": 2.135, "text": "Devlog 8: In this devlog i added terminal window , improved style and added a custom cursor."}, {"post_id": 76141, "ts": "2026-10-02T14:10:56Z", "hours": 1.9756, "text": "DEVLOG 7: Fixed several issues with notes window (dragging issue , notes’s div obstructing welcome windows icon, and majorly i couldnt type anything in notes tab) and Improved Calendars style."}, {"post_id": 75674, "ts": "2026-09-30T18:22:44Z", "hours": 2.3286, "text": "DEVLOG (I don’t remember no. ;) : In this devlog i added a new app calendar and also made its window draggable , closable and obviously openable. I struggled app opening later i found it was some variable name issue. I used Fullcalendar Javascript library to added dynamic calendar interface, currently its css is bit off but i’ll polish it later."}, {"post_id": 74462, "ts": "2026-09-27T12:54:09Z", "hours": 0.94, "text": "Devlog 5 : I added closing and opening of my window ."}, {"post_id": 73684, "ts": "2026-09-25T17:59:42Z", "hours": 2.78, "text": "DEVLOG 4: window is now movable, time had some problem but now it shows accurate timing , css of window was messed up so it took some time to fix also added handle to the window ."}, {"post_id": 72768, "ts": "2026-09-23T18:23:15Z", "hours": 0.6478, "text": "Devlog3: Not much in this devlog just added time and fixed viewport problem ."}, {"post_id": 72343, "ts": "2026-09-22T18:23:12Z", "hours": 1.9675, "text": "Devlog 2:Added Window , blur, and improved style. Currently it is going slightly outside of viewport ,although i fixed it but it still seems off so i might check it once."}, {"post_id": 71892, "ts": "2026-09-21T18:22:00Z", "hours": 0.9389, "text": "Devlog 1: I am making a webos named glitch . In this devlog i did basic setup such as background setup , text, and etc"}]...
|
Title: GLITCH OS by @singhshiv3108 | Stardance
De Title: GLITCH OS by @singhshiv3108 | Stardance
Devlogs:
Devlog 1: I am making a webos named glitch . In this devlog i did basic setup such as background setup , text, and etc
Devlog 2:Added Window , blur, and improved style. Currently it is going slightly outside of viewport ,although i fixed it but it still seems off so i might check it once.
Devlog3: Not much in this devlog just added time and fixed viewport problem .
DEVLOG 4: window is now movable, time had some problem but now it shows accurate timing , css of window was messed up so it took some time to fix also added handle to the window .
Devlog 5 : I added closing and opening of my window .
DEVLOG (I don’t remember no. ;) : In this devlog i added a new app calendar and also made its window draggable , closable and obviously openable. I struggled app opening later i found it was some variable name issue. I used Fullcalendar Javascript library to added dynamic calendar interface, currently its css is bit off but i’ll polish it later.
DEVLOG 7: Fixed several issues with notes window (dragging issue , notes’s div obstructing welcome windows icon, and majorly i couldnt type anything in notes tab) and Improved Calendars style.
Devlog 8: In this devlog i added terminal window , improved style and added a custom cursor.
DEEVLOG 9: The last and the biggest devlog!!!!! in this devlog i added custom drag ,pointer cursor, new terminal commands, new app icons , fullscreen and minimize button ,improved css and few debugging.
DEVLOG 10: First Devlog for web OS 2 . In this log i added fully functional new window/app i.e. Glitch tv which uses I frame to show yt video although currently video aren’t working I tried for while but I will fix it by next devlog .
DEVLOG 11: In this log i added booting animation , ngl it was hard more like lengthy , i earlier implemented animation in projects but this time it was big . Glitch TV is not debugged yet cuz i was bored with adding new window , it was repetitive so i thought lets add something .
DEVLOG 12: In this devlog , I fixed video error actually it wasnt error ig. i searched on youtube and i found out i should use go live extension and it worked . i also added weather and it works for all user!!!! you just have to give it permission , earlier it was only showing my weather but then I surfed on yt for how to make it work for every user and i found . (ngl yt helped alot in this devlog).
DEVLOG 13 Ig: in this devlog i added search bar. search bar wa easy to put but unfortunatly my header css was so weak no matter what i do it wont align as i wanted but somehow i did it . Coming back to search bar it still needs some fix when i search it doesnt show result instead just stays at google homepage.
DEVLOG 14: The Biggest and the last devlog . i’ll divide this log in 3 parts. 1) Add : i added gallery tab , more videos in glitchtv and next and previous button to control them,few more commands such as contact,weather ,gallery, glitchtv. and added a basic manual in iris window. 2)Style: i improved scrollbar style and added scroll bar to windows that needed it .3) Debug: this is where most time is gone, earlier calendar used to show a junk of grid and to fix it user has to toggle with buttons but in this log i removed that junk or whatever you call that, then i saw that when i type beyond viewport of window in notes my window header disappears so i fixed that , terminal scroll bar was also going beyond the windowheader so i made another div it contain it and conntact command also had to much issue ig becuz of tag atlast i fixed searchbar it was the easy i just added name=“q” in form instead of input tag (there might me more fixes but these were major ones).
Ships:
I made a Web OS , Challenging part was handling several similar codes like one miss and half of the windows disappears but later i got used to it. I am Actually proud of Whole project , i got to learn alot out of this.
I updated my webos now it has weather, search bar, two new windows one of them having i frame to show case video , new terminal commands and few smaller features and fixes. Most challenging and frustrating part was actually small or big fixes becuz it used to felt boring and repetitive and thanks to me i added animation at starting , so for everytime i have to check whether my fixes worked i had to go through that torturing animation but….. the thing i am proud about is animation itself . I hope you like MY GLITCH OS!!!!!!. –Thank you...
|
1792814153.7162821
|
1792900553.7162821
|
|
69470
|
Siyam-bot by @Siyam | Stardance
|
Siyam
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T16:53:44Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a slackbot. its running 24/7 in nest. it has 3 different commands like, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact Building was not so hard, but deploying it was a little bit hard. but i followed the guide and did it.", "repo": "https://github.com/Tanzil-Alam/Siyam-bot", "demo": "https://hackclub.slack.com/app_redirect?app=A0C9GQZUN1W"}]...
|
[{"post_id": 79265, "ts": "202 [{"post_id": 79265, "ts": "2026-10-13T08:14:55Z", "hours": 0.43, "text": "I have did everything according the mission guide and pushed to github. it has 3 commands and all of them works. the commands are, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact all of them are working well. iam just waiting to being approved in nest, then i will deploy and ship the project."}]...
|
Title: Siyam-bot by @Siyam | Stardance
Devlogs:
I Title: Siyam-bot by @Siyam | Stardance
Devlogs:
I have did everything according the mission guide and pushed to github. it has 3 commands and all of them works. the commands are, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact all of them are working well. iam just waiting to being approved in nest, then i will deploy and ship the project.
Ships:
This is a slackbot. its running 24/7 in nest. it has 3 different commands like, 1, /siyam-bot-ping 2, /siyam-bot-joke 3, /siyam-bot-catfact Building was not so hard, but deploying it was a little bit hard. but i followed the guide and did it....
|
1792853470.2492747
|
1792939870.2492747
|
|
20724
|
CRM by @F3rro_32 | Stardance
|
F3rro_32
|
1
|
124.74
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T16:34:42Z", "hours": 115.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "CRM An open-source CRM for Italian small businesses: contacts, companies, leads, quotes, orders, invoices with VAT, tickets, email campaigns, NPS surveys, reports and a customer portal. It started as a way to manage clients for a friend’s startup and became a working and valuable project. TRY IT (no install) https://crm.alessio.hackclub.app email: [email protected] password: HackClub-Demo-2026! The demo has full access and realistic fake data, so feel free to click everything, create, edit and delete. The data resets occasionally. Outgoing email is switched off on the demo. HEADS UP: the interface is in Italian. Use the translate widget in the corner of the app (or your browser’s translator) to read it in English. Real i18n is on my roadmap, sorry! WHAT TO LOOK AT A quote with line items, discounts and VAT by rate, and the “Print PDF” button. PDFs come from HTML templates you can edit, with a live preview on your last real document. A customer accepting a quote from a signed link, without an account. Full-text search across every module (PostgreSQL). Italian e-invoicing: it builds the FatturaPA XML and validates it against the official government XSD before saving. Invoices lock once sent to the SDI. The MCP server: an AI assistant can use the CRM through an API key, with seven generic tools that work on all 34 modules and respect permissions. 2FA (TOTP) with recovery codes, secrets encrypted at rest, installable PWA. HOW IT WORKS There is no “contacts” or “companies” table. One generic Record entity stores its fields in a jsonb column, and an ObjectType + FieldDef describe each module (39 field types). Adding a module is a configuration record, not a migration or a new controller. Permissions are checked per module and action at runtime. You can have more info in the README, so please check it. I hope you appreciate this project :)", "repo": "https://github.com/AlessioFerrari8/crm", "demo": "https://crm.alessio.hackclub.app"}]...
|
[{"post_id": 81469, "ts": "202 [{"post_id": 81469, "ts": "2026-10-21T11:47:01Z", "hours": 9.7417, "text": "Hey guys, what’s up? I’m finally in the last phase of getting my driving license, so that’s taking up some of my time too. The CRM is now online at crm.alessio.hackclub.app . The VPS has very little RAM, so I build the Docker images locally and transfer them to the server using docker save over SSH. It’s not the fanciest deployment process, but it works with the resources I have, so I’ll stick to it for now. One of the main things I worked on was the customer portal . The backend from last week finally has a frontend: customers can log in, see their tickets and documents, open requests, reply to messages, download PDFs and accept quotes. I also made sure that internal notes stay internal. Notes now have a Visible to customer checkbox, which is disabled by default. The portal only shows notes explicitly marked as visible, so there’s less risk of accidentally exposing something that should stay private. Another feature I added is Google Calendar import . It’s read-only for now, so the CRM can import events without modifying anything in your Google account. Events are created through the same service as normal CRM records, meaning workflows and the audit log still work as expected. Sync runs every 15 minutes, and if something goes wrong with an account, it won’t stop the others from syncing. I also started replacing the Google Translate workaround with proper internationalization (i18n). The translation system is in place, including support for parameters and locale-aware dates and numbers. The dictionary is type-checked, too, so missing English translations can be caught at compile time. There’s still a lot of work here: around 1,200 strings need to be translated by hand. It’s not the most exciting task, but I’d rather have proper translations than rely on Google Translate forever. Obviously that’s my opionion. I also started working on public registration, but it’s not ready yet. There’s one important limitation: the CRM currently has a single shared workspace, so everyone who registers would see the same data. Registration will stay disabled unless explicitly enabled until I decide how to handle that properly. That’s because the idea is to have 1 single DB for each workspace, since the CRM should be self-hosted. There’s still work to do, but the CRM is getting closer to the version I wanted to ship. See you in the next devlog!"}, {"post_id": 79560, "ts": "2026-10-14T16:31:36Z", "hours": 2.4331, "text": "Hey guys, how’s going? This will be a short devlog, and it’s the one before the shipping. I decided to ship the CRM, even if it’s not completely finished. That’s because I still have to do lots of things, but now I have a working product, so, since the changes I have to make are complementary. Unfortunately, I have a big issue: the whole interface is in Italian. The app is made for Italian small businesses (FatturaPA, VAT, SDI…), but if you come from Stardance you can’t read a single menu. Real i18n is still on my list and it is a big job, so for now I added the Google Translate widget in the corner of the app. If your browser is in English it starts translating by itself, otherwise you pick English from the selector. It’s not pretty, but it makes the demo usable today instead of “someday”. I had to widen the CSP in nginx for it, and I loaded the script as an external file so I didn’t need a second hash. I also fixed the README and cleaned the repo. Now everything should work fine, or at least let’s hope so. I hope you enjoy the product."}, {"post_id": 78818, "ts": "2026-10-11T17:58:49Z", "hours": 8.3728, "text": "Hey guys, how’s everythings going? I’m doing pretty well. As always I have lots of things to do, but I still have plenty of time for coding. School is demanding, and preparing for my driving license is also tough, but I’m managing everything little by little. Last time I ended up with an app that wouldn’t even start. Luckily, I fixed all those errors, and all 258 tests are now green and passing on the PostgreSQL db. After that, I added new features. First of all I worked on NPS surveys and quote acceptance. Customers can now receive surveys and answer them through a public link. They can also accept quotes directly from a link, without needing an account. I also made sure these features work with the existing workflows, so automations can still do their job properly. Another interesting addition is the MCP server. AI agents can now interact with the CRM through an API key. Instead of creating a separate set of tools for every module, I went with seven generic tools that can work across all 34 modules. This should make it easier for AI models to understand which actions they can perform, while keeping the CRM’s existing permissions and security rules in place. I also improved search quite a bit. Before, it mostly looked at record titles. Now it uses PostgreSQL full-text search to find relevant information inside the actual record data and rank the results. The audit history is also much easier to read, with related record IDs replaced by their actual titles. I worked on a couple of smaller but important things, too. The trash can now properly handle related files and records when permanently deleting something, while protecting fiscal documents that must be kept for ten years. Finally, I started working on the customer portal. It now has its own backend authentication and permission system, separate from the employee login. Customers will only be able to access records they’re actually allowed to see. The backend is ready, but I still need to connect the frontend pages and routes. There’s still quite a bit to do, but I’m getting closer to the first complete version of the CRM. See you in the next devlog!"}, {"post_id": 77578, "ts": "2026-10-07T15:01:58Z", "hours": 9.0769, "text": "Hey guys, how’s going? I have plenty of things to do, but coding is still one of my favorite activities, so I always try to save some time for it.This time I worked again on FatturaPA, which is the Italian electronic invoice.What I did, is that now, first of all, the CRM can now generate the FatturaPa XML directly from an invoice and validate it against the official XSD, before saving it. I also added the whole invoice lifecycle, from draft, to setn, delivered, accepted or rejected. The CRM can read the recepits from the SDI and show ufseful information when something goes wrong.Another important change is that invoices now become locked once they’re sent to the SDI. If something needs to be changed, the correct way is to create a credit note instead. This is much efficient in my opinion.I also started working on the SDI integration itself. For now there’s only a manual transport, but the system is built so that adding an actual provider later shouldn’t require changing the rest of the CRM. I did it this way, so I can decide which provider use, and not have to change everything.Besides invoicing, I added time tracking. You can start a timer from the top bar and see your hours directly on records. Timers also automatically close after a maximum amount of time, so nobody ends up with a 80-hour ticket because they forgot to stop it.Finally, I worked on email campaigns. You can create a campaign from a saved filter, send emails through a queue and manage unsubscribes. I also added some protections against things like open redirects and accidental unsubscribes.And now, the honest part: before writing this devlog, I ran the tests and guess what, the app didn’t even start.I used claude for debugging, cause I wans’t finding the error. Silly me, it was just a typo."}, {"post_id": 75572, "ts": "2026-09-30T13:58:27Z", "hours": 10.0467, "text": "Hey guys, how’s everything going? I’m alright. I’m so glad hackclub postponed the end of stardance, I have still another month to 1. finish this project 2. do other projects I had on my mind for such a long time. Before doing this devlog, I had to use claude to debug my work, because I had some errors I didn’t understand (I was using a class created for a test in the normal “code”), so bad :( and also other small issues. Lately I worked on one of the most significat features for me, which is 2FA . As my network teacher says \"zero trust, because the world is a place full of bastards\" . 2FA is one of the techniques I use to follow this approach. Basically, now you can press “Enable” in your preferences, scan the QR code with any authenticator app (f.e google), or just type the secret by hand, because half the people can’t frame a QR code at the first time, lol. You also have to confirm with a code. At login, if 2FA is on, there’s a second step for the six digits. You also get ten recovery codes that you can copy or download, shown only once. Turning it off asks for your password, so a stolen open session can’t remove this precaution. You’re probably wondering: are the secrets encrypted? Yes, they are. I mostly use AES-GCM, because it’s pretty simple, but also secure, so it’s the better compromise. The TOTP secret and the mailbox passwords are stored encrypted with AES-GCM. The key lives in an env variable, not in the db, so a database dump alone isn’t enough to generate codes or read someone’s email. I also turned the crm in a PWA . You can install it on your phone or desktop, it has its own icon and window, and when I deploy a new verion, it tells you to reload, instead of silently serving you the old one from cache (it also checks every 6 hours, maybe I’m gonna change it to 10, idk, for the tab you leave open for days) Like in every other devlog, I made some tests and updated the docs. The report engine now has tests against a real Postgres started in docker, and the repo finally has a real README (it’s not finished, just with some basic information, claude, thanks for the suggestion of making it). Oh, I nearly forgot. I also worked on emails. Now I’m currently working on the Italian electronic invoice, which is called FatturaPA. The crm builds the XML from an invoice, and the first test I wrote checks it against the official government XSD: if it doesn’t pass, it isn’t saved. I think I’m gonna study a bit of english / american law, to allow people out of Italy to use this app as well. I hope you like my product, see you soon"}, {"post_id": 71912, "ts": "2026-09-21T19:15:14Z", "hours": 9.0044, "text": "Hey guys, how have you been doing lately? I’m alright. I’m still getting my driver license, so I don’t have much time to code. Last devlog was all about the PDF engine on the backend, and I closed it saying that the UI was next. Here it is: Print button : I added a print button Print PDF on quotes, orders, delivery notes and invoices. The file is downloaded with the document number as its name, so you get for example 2025-47.pdf and not just document.pdf Template editor : I also added to settings a new tab called “Print”. On the left there’s the list of templates, on the right the HTML, the page size and the margin. The preview renders the last real document of that module instead of a fake one, so what you can see is exactly what your customer receives. The default templates can’t be edited you duplicate them: the seeder rewrites them at every boot, so any change would silently disapper on the next restart. I preferred to say it in the interface rather than let someoune lose an afternoon of work. Company data : The company settings now hold also the legal name, VAT number, tax code, address and contact line. That’s what the PDF header prints, and without them the header comes out empty. VAT that adds up to the cent The header discount is spread across the VAT rates and every share gets rounded, so the sum of the shares could end up one or two cents away from the total. On a quote nobody would ever notice. On an electronic invoice it’s rejection 00423. Now the rounding leftover goes on the last rate, so taxable + VAT = total, always. Tests on a real db : The report engine builds SQL at runtime, and mocking a database proves nothing, so its tests now start a throwaway Postgres in Docker and run against it: filters, grouping, ordering and counting. Two bugs closed : Merging two records didn’t look at the bin, so a deleted record could be merged into a live one. And editing a saved report answered 405, because the frontend was sending PUT to an endpoint that only has POST. Right now I’m working on the 2FA (for those who don’t know, the 2 factor auth). I’m writing the TOTP myself instead of pulling in a library: it’s an HMAC-SHA1 of the 30 second counter, and the six digits come out of the dynamic truncation described in the RFC. The secret is encrypted in the database with AES-GCM, because someone who can read the db must not be able to generate the codes, otherwise a second factor is just a second password. There are ten recovery codes, stored hashed and usable once each, and the last accepted counter is saved, so the same code can’t be replayed during its 30 seconds. The tests are the official RFC 6238 vectors: a TOTP written at home always “works” until you compare it with a real auth app, and at that point it’s too late to find out. Two things I know are missing: the second factor has no interface yet, there’s no page to scan the QR code from, and the mailbox that turns incoming emails into tickets is only half written. See you soon, the end of this project is near."}, {"post_id": 67216, "ts": "2026-09-13T08:29:02Z", "hours": 8.6217, "text": "Hey guys, how’s it going? I hope you’re all doing well. School started here in Italy, so I have less time compared to August. I also have to get my driver’s license, so I’m studying for that too. Unfortunately, coding isn’t the first thing I do every day anymore. I’m still working on the PDF generator. Last time I mentioned that relation fields were showing raw IDs and that document totals weren’t formatted properly. I fixed both of those, but I’ll get back to them later. About the PDF The template is HTML, and it lives in the DB. I didn’t hardcode the layout in Java. I created a PdfTemplate entity that stores the HTML, page size and margins. There is one default template for each document type: quote, order, delivery note and invoice. Thymeleaf fills the template with the document data, and OpenHTMLToPDF + PDFBox generate the PDF. Since the HTML is provided by the user, I also had to think about security. A template could try to load something like file:///etc/passwd or access an internal URL. Because of this, external protocols are disabled and only data: URIs are allowed. Page sizes are also checked against a whitelist. I also had to deal with the fact that HTML isn’t always valid XML. OpenHTMLToPDF expects XML, so I use jsoup to normalize the HTML first. Otherwise, perfectly normal HTML can cause a SAXParseException . And finally, fonts have to be embedded in the PDF. Without including DejaVu Sans in the jar, the PDF doesn’t render correctly. VAT summary I also worked on the VAT summary. Lines are grouped by VAT rate, shipping is added to the highest rate, and the document discount is distributed across the rates instead of being applied at the end. VAT is then calculated on the discounted amounts, so everything adds up correctly: taxable + VAT = total This actually fixed a bug where VAT was calculated before applying the document discount. It wasn’t very obvious until I started testing it with real numbers. Three endpoints The PDF system now has three endpoints: print a document preview a template print a batch For the preview, instead of creating a fake document, I use the last real document of that module. This way there is only one PDF generation system to maintain. The batch endpoint combines multiple documents into one PDF, while checking permissions for every document. A few other fixes The two ugly things from last time are also gone. Relation titles are now resolved by a shared backend service, so instead of UUIDs you see things like the company name. The same service is used by the lists, detail pages and PDFs. Amounts in the PDF are also formatted using the user’s preferences. I also added tags to the record lists. Tags are resolved in bulk instead of doing a permission check for every single row, which makes a big difference on larger lists. The backend part is basically done for this cycle. The print button and template editor are already written, but they’re not wired up yet. Right now I’m still using the API to test the generator. So, UI is next. See you in the next devlog!"}, {"post_id": 63513, "ts": "2026-09-07T12:44:46Z", "hours": 6.7903, "text": "Hey guys, how’s going? Soon school is going to start for me, but luckily it’s my last year in high school, so I’m really happy about this. Lately I had much time to code, so I continued working on this project. Last devlog was all backend; I said the engine was there and the screens weren’t. This time it’s quite the opposite. I didn’t really touch the backend, I spent the last 5-6 hours writing the frontend. Here’s the details of what I did: Document lines the grid is finally in the record detail. You can add lines, set quantity, price, discount and VAT, additionaly with the subtotal / VAT / total block, that updates while you type. When you save, the whole set of lines is sent at once. Tags I added the tag picker on the record detail, so you can attach and remove tags from a record as you wish. I also made the page that shows every record with a given tag, from all the modules together. Duplicates The duplicate finder now has its own screen: you choose a module, you get the pairs it thinks are duplicates, and the you see the two records side by side and pick field by field which value to keep before merging them. Reports There’s a page to build a report with a wizard (rows, columns, metrics, filters) and a preview that shows you the result before saving it. Dashboard widgets This is the main thing of this cycle. I wrote all six widget types, which are: - KPI tile - split KPI tile - chart - table - pivot - record list A widget is just a saved report query plus the type of rendering you want, so it runs on the report engine. Dashboards with tabs You can create a dashboard, add tabs to it and put widgets inside, so you can keep for example sales and support separated from each other. Sidebar and topbar The sidebar now has the routes for all the new pages, and the topbar has a quick-create button to make a record from anywhere without opening its module first. Two things are still not nice and I’m aware: in some places the relation fields show the raw id instead of the name of the record, and the totals of the document lines are not formatted with the user preferences yet, so you read 9054.00 instead of 9.054,00 EUR. Both are small and both are on the list to be improved. Now I’m working on the PDF generator See you, I hope you enjoy this project"}, {"post_id": 59674, "ts": "2026-09-01T16:28:33Z", "hours": 8.095, "text": "Hey guys, how it’s going? These days I’ve got quite a lot of work to do, since we’re in the middle of harvest season here in Italy, so I don’t have much time to work on the project. Unfortunately, today it rains, so I’m home, and I can spend some time on the PC. Lately I’ve been working a lot on the backend. The first two things I did are documents and document numbering : I created the model for document rows ( DocumentLine ), with its engine to calculate totals, including subtotals, discounts and VAT. I also added unit tests for the calculator. I also implemented automatic document numbering, so documents like quotes, invoices and tickets are automatically assigned a number when they’re created. Then I worked on quote revisions, with a new QuoteRevisionService to keep track of different versions of the same quote. Another thing I started working on is document conversion. The idea is to be able to convert a quote into an invoice, but this part is still a work in progress. I also spent quite a bit of time on reports and dashboards: added the Report model and the ReportEngine / ’ReportService` added default reports through a ReportSeeder created the Dashboard model, with tabs and widgets added the related controllers, services and repositories On the frontend side I’ve scaffolded the pieces for dashboards and widgets — the widgets/ and dashboard-tabs/ components exist and the dashboard and report services are written — but the components themselves are still empty shells. The data layer is ready, the screens aren’t written yet. That’s what I’ll pick up next. Another big thing I worked on is tags and data quality. I added the tag model and APIs, together with the services and repositories. I also started working on a duplicate finder and record merging system, so duplicate contacts/companies can be detected and merged instead of leaving messy data around. For PostgreSQL, I also enabled pg_trgm to improve fuzzy searches for duplicate detection. Finally, I added user preferences for number and date formats, including a live preview so users can immediately see how their chosen formats will look in the app. I’ve also added icons for the new modules. As you can probably tell, this was a very backend-heavy cycle. Almost everything I built this time: document lines, numbering, quote revisions, reports, dashboards, tags and duplicate detection lives in the models and the services, and the UI for most of it isn’t there yet. So this time there isn’t much to show in screenshots: the engine is in place, the screens come next. I’d rather get the model right first and build the interface on top of something solid than the other way around. Hopefully I’ll be able to find some more time to work on it after harvest, so see you in a while."}, {"post_id": 45652, "ts": "2026-08-12T09:05:39Z", "hours": 4.9961, "text": "Hey guys, back on this project. Last time I said the next round was going to be document lines, my quote was “the only part of this CRM that doesn’t fit the dynamic JSON engine”. That’s what this round was, plus the report engine on top of it. Document Lines : One single table for all four documents: quote, sales order, delivery note, invoice. The line is exactly the samein all of them, the only thing that changes is the document holding it, and a document here is just a Record like any other, so there’s no type constraint on the line at all. A line can be a product line, a free text line (no amounts, just something to say in the middle of the document) or a subtotal. Two things get copied at save time: the description and the vat percentage. The math is its own class, DocumentLineCalculator, and it’s the one piece of this project I wanted testable completely on its own, because it’s the only place where a wrong rounding produces a wrong tax document. The order is fixed: gross = quantity × unit price discount = a percentage of the gross, or a flat amount net = gross - discount, rounded to 2 decimals here vat = net × rate, rounded line total = net + vat Rounding happens after the discount and after the vat, never on the unit price: round the unit price and the error gets multiplied by the quantity. Rounding mode is HALF_UP, which is the commercial rounding used here, not HALF_EVEN. And a flat discount bigger than the line itself gets clamped instead of producing a negative amount, since that’s a typo 100% of the time. Lines are always saved all together. The endpoint is a PUT that replaces the whole set. It deletes and rewrites instead of diffing row by row, because a document has a few dozen lines at most and the diff would cost more code than it’s worth. The reason for this rule is the totals: they depend on every line, so a partial save would leave the header and the lines disagreeing, even if only for a moment. The totals (subtotal, vatTotal, total) get written back into the document’s own JSON, plus the header level discount and shipping cost. They live there so they can be list columns you filter and sort on, which is the whole point of having them. Now I’m working on the dashboard graphs, widget and this kind of things.I hope you like the project. I’m sorry if I don’t have any screenshot of the working website, it’s because I focused only on the backend, the frontend of this part still needs to be written."}, {"post_id": 42597, "ts": "2026-08-07T12:41:14Z", "hours": 6.4236, "text": "Hey guys, still on this project. This round was all about the stuff that sits on top of the modules, instead of new modules. Per-user formatting preferences . There’s a new “My preferences” page in the user menu. Every user picks how they want to see numbers and dates: thousands separator, decimal separator, currency (any ISO code, the symbol gets resolved automatically), how many decimals, whether the symbol goes before or after the number, and whether to cut trailing zeros. Same thing for the date format. There’s a live preview box that updates while you touch the selects, so you see 1.234,50 € turn into $ 1,234.5 as you change this. The setting applies everywhere, lists, record details and so on. Tags . These are cross-module, which is the whole point; a tag can sit on a lead and on a ticket. There are two kinds: shared ones, visible to the whole workspace, and private ones, which only you see. Each one has a color. You can attach and detach them from any record, and there’s a “all records with this tag” view that goes across modules, filtered by your permissions, so if you can see tickets but not opportunities, you only get the tickets.I did not build this as a field type, even though I already have a TAGS one. That one belongs to a single ObjectType with its own fixed options, so it gives you neither the shared catalog nor the cross-module search. Duplicate merge . You pick a module and it gives you back the candidate pairs, ranked by how similar their titles are (there’s a threshold you can move, default 0.6). Then you get the two records side by side and choose, field by field, which value survives. When you confirm: the winner keeps everything you picked, every relation that pointed at the loser now points at the winner, ids of the loser mentioned inside other records get rewritten too, including the ones stored in lists, notes and tags move over (and if the winner already had that tag, the duplicate link is dropped), the loser goes to the trash, not deleted. A wrong merge has to be recoverable, and I already have a bin, so I used it. Document numbering . Documents now number themselves. It’s configurable per module: prefix, whether to include the year, padding, separator. Right now it’s on for three of them: - quotes → 2025-47 - invoices → FT2025-0001 - tickets → TT643 The counter is per module and per year, and it’s locked while it’s being read, so two people creating a quote at the same time can’t get the same number. If you type a number by hand, yours wins, that matters when you’re entering an old document with its original number. On top of that, quotes have revisions. Revising 2025-13 gives you 2025-13_2 , a brand new document that links back to its parent, while the parent moves to the “revised” stage. And you can revise a revision, so 2025-13_2_2 works too, the counter is progressive per parent, not global, which took a bit more care than I expected. Next up is the big one: document lines. Quote → order → delivery note → invoice, with quantities, discounts and VAT per line. It’s the only part of this CRM that doesn’t fit the dynamic JSON engine everything else is built on, so it gets its own real tables. See ya in the next devlog, I hope you like the project. P.S. you’ll see the tag in the next devlog, I still have to implement the frontend"}, {"post_id": 40187, "ts": "2026-08-03T16:19:02Z", "hours": 5.575, "text": "Hey guys, I’m still working on this project, cause there are lots of things to do.Lately I focused on improving and adding things to the ObjectTypes. As you can see in the two images of the sidebar, I added like 10 fields. Among them, the most important are goals , basically contains the possibility of creating a goal, setting an owner, which is responsible for this goal (clearly depends on the situation), the actual goal and the period. Along with that you can set a metric, so if the goal is revenue , opportunities , leads , custom project_task , basically it contains the instruction for each member, on a certain project service_contract , the support, it contains the subject, the company which is referred to, start and end date, the actual status, so active , expiring , expired , terminated , hours spent and so on. Along with these and the other I didn’t cite here, I added 3 object for the sales, where this two are the most important: The first one is the supplier , it contains all the specs, so name, vat, email, phone, website, address, and eventual notes. The second one, the most important, is sales_order , which contains the subject, the number of the order, a relation with the company, and a relation with the contact, a relation with the quote (I don’t know if it’s right, in italian it’s called preventivo), the possibility of setting a status, so created , confirmed , shipped , closed , cancelled , the order date, a relation with the payment Method object, and all the financial part, so the subtotal, with maybe the discount, vat, the total and the infos for the shipping, billing and shipping address. I hope to finish this project asap, since it’s taking me so looong.See ya in the next devlogs"}, {"post_id": 38868, "ts": "2026-08-01T13:05:15Z", "hours": 5.2586, "text": "Hey guys, I have stopped this project for a bit, but here I am again. I’m currently improving the CRM, mostly the security, which, for me, is one of the most important parts, and adding functionalities. Lately I focused on the mails. I added my smtp server, and in the backend, I managed all mails. Here is an example, with the invitation email. It’s in italian, but don’t worry, basically it invites you to the CRM, and then you can create your own account, with password. As you can see in the third screenshot, I can manage the invitation link, whether I want to invite an admin, or a simple employee."}, {"post_id": 26409, "ts": "2026-07-11T05:54:20Z", "hours": 10.4239, "text": "Hey guys, this week was also about making the CRM feel more complete. Alongside several new features, I also spent a good amount of time improving security and fixing one particularly deceptive bug. First of all, I added a new global Calendar page that shows every record with a date in one monthly view. Events, tasks, reminders and subscription renewals are all displayed together, each with its own color. Before this, the calendar only existed inside each record type, so there wasn’t a way to see everything happening at once. I also integrated Cal.com. The booking page can now be embedded directly inside the CRM, and when someone books a meeting, a webhook automatically creates an Event record. If the meeting is rescheduled, the existing record is updated instead of creating a duplicate, and if it’s cancelled, the event is removed. To keep the integration secure, the webhook signature is verified using the raw request body instead of reserializing the JSON. I spent some time looking at features from Pipedrive, HubSpot and Attio, then implemented a few that I really liked. The Kanban board now shows the total value of each column, making it easy to see how much every stage of the pipeline is worth. I also added rotting, which highlights cards that haven’t been updated for more than two weeks so forgotten leads are easier to spot. Another big addition is public forms. Every record type can now expose a public form that can be shared with a link or embedded into any website. When someone submits it, a new record is created automatically and any related workflows are triggered. The feature also includes a honeypot for bots and per-IP rate limiting. Finally, I added a Trash Bin, allowing users to restore accidentally deleted records with a single click. I also added the ability to assign an owner directly from the record page. Passwords now follow the same rules everywhere in the application: at least 8 characters one uppercase letter one lowercase letter one number one special character. The backend enforces the policy, while the frontend shows a live checklist as the user types. I also added a Change Password page. When a password is changed, every other active session is logged out while the current one stays active. At one point login stopped working and always returned “Invalid credentials”. It turned out the password wasn’t the problem at all, the backend was stuck in a crash loop. A new database column was added as “not null” without a default value, so Hibernate couldn’t apply the change to an existing table. The application never finished starting, and the frontend showed a generic login error. I fixed the database manually, added a default value to the migration, and made a note for the future: every new “not null” column should always have a default value. After adding all these features, I went through another security pass. The rate limiter now also protects password changes and the Cal.com webhook. I also added a scheduled cleanup job that removes old expired sessions from the database. Finally, I configured proper security headers, including a CSP. Public forms can still be embedded on external websites, while the rest of the CRM remains protected from being embedded elsewhere. Stay tuned, cause I still have lots to do :)"}, {"post_id": 14329, "ts": "2026-06-23T12:44:44Z", "hours": 5.6103, "text": "I continued working on this wonderful project. The first thing I implemented was the sidebar, designed as a reusable component. You can expand and collapse it to switch between icons only and icons with text. I also added a top bar, which contains the company name (top left), a search bar that will allow users to scan the entire database and quickly find what they’re looking for. I also added translations (2 languages for now), light and dark mode, notifications, and a profile section with the user’s name. Additionally, I implemented a simple dashboard with fake data to start shaping the overall user experience. Stay tuned."}, {"post_id": 13650, "ts": "2026-06-22T12:28:12Z", "hours": 8.3619, "text": "Still working on my project. It’s been really tough so far, I’m still on the backend, which is very hard. I feel lucky to have AI helping me; it would be really difficult without it. Honestly, it’s hard even with AI, so I lean on it a lot. I don’t think using AI is a negative: as long as you understand the code it writes and can modify, fix, and improve it, you’re fine. On the backend I’m currently working on the engine underneath, mainly the database relations. For example, the record table stores its fields generically (as JSON), so users can define whatever fields they want. The catch is that validating the data is on me, since the fields are dynamic, the database can’t enforce their shape, so it all has to be checked in code, mostly in the frontend. I’ve also started on the frontend: first by dockerizing it, then by adding the login form that exercises my backend."}, {"post_id": 11904, "ts": "2026-06-19T12:16:33Z", "hours": 5.9808, "text": "Started working on a very big project, called CRM. I hope you know what a CRM is, but for who doesn’t, a crm is basically an app, or maybe a dashboard, used by companies to keep track of their clients, employees and all this kind of things. It helps growing a company, with integrated tickets and so on. This app will be built in the following tech stack: Angular for the frontend, with daisyUI and tailwindCSS as graphical libraries Java Spring for the backend, able to manage correctly users, types and endpoints. I chose this over nestJS with prisma, because I want to have more control on the db. db, I have still to choose what I want and should use, because now I’m focusing on other things, like JWT auth, creation of users and entities and so on. My idea is to use this as a base, and then for maybe companies who needs it, I could like improve this, add requested features, and optimize everything. My current situation: I started the angular project, but I still have to install all libraries and update determined packages I created backend, and I’m currently focusing on auth (as you can see from the pic), with jwt sessions, users, entities, permissions and this kind of things. db, still in progress The application will be dockerized for best practice."}]...
|
Title: CRM by @F3rro_32 | Stardance
Devlogs:
Star Title: CRM by @F3rro_32 | Stardance
Devlogs:
Started working on a very big project, called CRM. I hope you know what a CRM is, but for who doesn’t, a crm is basically an app, or maybe a dashboard, used by companies to keep track of their clients, employees and all this kind of things. It helps growing a company, with integrated tickets and so on. This app will be built in the following tech stack: Angular for the frontend, with daisyUI and tailwindCSS as graphical libraries Java Spring for the backend, able to manage correctly users, types and endpoints. I chose this over nestJS with prisma, because I want to have more control on the db. db, I have still to choose what I want and should use, because now I’m focusing on other things, like JWT auth, creation of users and entities and so on. My idea is to use this as a base, and then for maybe companies who needs it, I could like improve this, add requested features, and optimize everything. My current situation: I started the angular project, but I still have to install all libraries and update determined packages I created backend, and I’m currently focusing on auth (as you can see from the pic), with jwt sessions, users, entities, permissions and this kind of things. db, still in progress The application will be dockerized for best practice.
Still working on my project. It’s been really tough so far, I’m still on the backend, which is very hard. I feel lucky to have AI helping me; it would be really difficult without it. Honestly, it’s hard even with AI, so I lean on it a lot. I don’t think using AI is a negative: as long as you understand the code it writes and can modify, fix, and improve it, you’re fine. On the backend I’m currently working on the engine underneath, mainly the database relations. For example, the record table stores its fields generically (as JSON), so users can define whatever fields they want. The catch is that validating the data is on me, since the fields are dynamic, the database can’t enforce their shape, so it all has to be checked in code, mostly in the frontend. I’ve also started on the frontend: first by dockerizing it, then by adding the login form that exercises my backend.
I continued working on this wonderful project. The first thing I implemented was the sidebar, designed as a reusable component. You can expand and collapse it to switch between icons only and icons with text. I also added a top bar, which contains the company name (top left), a search bar that will allow users to scan the entire database and quickly find what they’re looking for. I also added translations (2 languages for now), light and dark mode, notifications, and a profile section with the user’s name. Additionally, I implemented a simple dashboard with fake data to start shaping the overall user experience. Stay tuned.
Hey guys, this week was also about making the CRM feel more complete. Alongside several new features, I also spent a good amount of time improving security and fixing one particularly deceptive bug. First of all, I added a new global Calendar page that shows every record with a date in one monthly view. Events, tasks, reminders and subscription renewals are all displayed together, each with its own color. Before this, the calendar only existed inside each record type, so there wasn’t a way to see everything happening at once. I also integrated Cal.com. The booking page can now be embedded directly inside the CRM, and when someone books a meeting, a webhook automatically creates an Event record. If the meeting is rescheduled, the existing record is updated instead of creating a duplicate, and if it’s cancelled, the event is removed. To keep the integration secure, the webhook signature is verified using the raw request body instead of reserializing the JSON. I spent some time looking at features from Pipedrive, HubSpot and Attio, then implemented a few that I really liked. The Kanban board now shows the total value of each column, making it easy to see how much every stage of the pipeline is worth. I also added rotting, which highlights cards that haven’t been updated for more than two weeks so forgotten leads are easier to spot. Another big addition is public forms. Every record type can now expose a public form that can be shared with a link or embedded into any website. When someone submits it, a new record is created automatically and any related workflows are triggered. The feature also includes a honeypot for bots and per-IP rate limiting. Finally, I added a Trash Bin, allowing users to restore accidentally deleted records with a single click. I also added the ability to assign an owner directly from the record page. Passwords now follow the same rules everywhere in the application: at least 8 characters one uppercase letter one lowercase letter one number one special character. The backend enforces the policy, while the frontend shows a live checklist as the user types. I also added a Change Password page. When a password is changed, every other active session is logged out while the current one stays active. At one point login stopped working and always returned “Invalid credentials”. It turned out the password wasn’t the problem at all, the backend was stuck in a crash loop. A new database column was added as “not null” without a default value, so Hibernate couldn’t apply the change to an existing table. The application never finished starting, and the frontend showed a generic login error. I fixed the database manually, added a default value to the migration, and made a note for the future: every new “not null” column should always have a default value. After adding all these features, I went through another security pass. The rate limiter now also protects password changes and the Cal.com webhook. I also added a scheduled cleanup job that removes old expired sessions from the database. Finally, I configured proper security headers, including a CSP. Public forms can still be embedded on external websites, while the rest of the CRM remains protected from being embedded elsewhere. Stay tuned, cause I still have lots to do :)
Hey guys, I have stopped this project for a bit, but here I am again. I’m currently improving the CRM, mostly the security, which, for me, is one of the most important parts, and adding functionalities. Lately I focused on the mails. I added my smtp server, and in the backend, I managed all mails. Here is an example, with the invitation email. It’s in italian, but don’t worry, basically it invites you to the CRM, and then you can create your own account, with password. As you can see in the third screenshot, I can manage the invitation link, whether I want to invite an admin, or a simple employee.
Hey guys, I’m still working on this project, cause there are lots of things to do.Lately I focused on improving and adding things to the ObjectTypes. As you can see in the two images of the sidebar, I added like 10 fields. Among them, the most important are goals , basically contains the possibility of creating a goal, setting an owner, which is responsible for this goal (clearly depends on the situation), the actual goal and the period. Along with that you can set a metric, so if the goal is revenue , opportunities , leads , custom project_task , basically it contains the instruction for each member, on a certain project service_contract , the support, it contains the subject, the company which is referred to, start and end date, the actual status, so active , expiring , expired , terminated , hours spent and so on. Along with these and the other I didn’t cite here, I added 3 object for the sales, where this two are the most important: The first one is the supplier , it contains all the specs, so name, vat, email, phone, website, address, and eventual notes. The second one, the most important, is sales_order , which contains the subject, the number of the order, a relation with the company, and a relation with the contact, a relation with the quote (I don’t know if it’s right, in italian it’s called preventivo), the possibility of setting a status, so created , confirmed , shipped , closed , cancelled , the order date, a relation with the payment Method object, and all the financial part, so the subtotal, with maybe the discount, vat, the total and the infos for the shipping, billing and shipping address. I hope to finish this project asap, since it’s taking me so looong.See ya in the next devlogs
Hey guys, still on this project. This round was all about the stuff that sits on top of the modules, instead of new modules. Per-user formatting preferences . There’s a new “My preferences” page in the user menu. Every user picks how they want to see numbers and dates: thousands separator, decimal separator, currency (any ISO code, the symbol gets resolved automatically), how many decimals, whether the symbol goes before or after the number, and whether to cut trailing zeros. Same thing for the date format. There’s a live preview box that updates while you touch the selects, so you see 1.234,50 € turn into $ 1,234.5 as you change this. The setting applies everywhere, lists, record details and so on. Tags . These are cross-module, which is the whole point; a tag can sit on a lead and on a ticket. There are two kinds: shared ones, visible to the whole workspace, and private ones, which only you see. Each one has a color. You can attach and detach them from any record, and there’s a “all records with this tag” view that goes across modules, filtered by your permissions, so if you can see tickets but not opportunities, you only get the tickets.I did not build this as a field type, even though I already have a TAGS one. That one belongs to a single ObjectType with its own fixed options, so it gives you neither the shared catalog nor the cross-module search. Duplicate merge . You pick a module and it gives you back the candidate pairs, ranked by how similar their titles are (there’s a threshold you can move, default 0.6). Then you get the two records side by side and choose, field by field, which value survives. When you confirm: the winner keeps everything you picked, every relation that pointed at the loser now points at the winner, ids of the loser mentioned inside other records get rewritten too, including the ones stored in lists, notes and tags move over (and if the winner already had that tag, the duplicate link is dropped), the loser goes to the trash, not deleted. A wrong merge has to be recoverable, and I already have a bin, so I used it. Document numbering . Documents now number themselves. It’s configurable per module: prefix, whether to include the year, padding, separator. Right now it’s on for three of them: - quotes → 2025-47 - invoices → FT2025-0001 - tickets → TT643 The counter is per module and per year, and it’s locked while it’s being read, so two people creating a quote at the same time can’t get the same number. If you type a number by hand, yours wins, that matters when you’re entering an old document with its original number. On top of that, quotes have revisions. Revising 2025-13 gives you 2025-13_2 , a brand new document that links back to its parent, while the parent moves to the “revised” stage. And you can revise a revision, so 2025-13_2_2 works too, the counter is progressive per parent, not global, which took a bit more care than I expected. Next up is the big one: document lines. Quote → order → delivery note → invoice, with quantities, discounts and VAT per line. It’s the only part of this CRM that doesn’t fit the dynamic JSON engine everything else is built on, so it gets its own real tables. See ya in the next devlog, I hope you like the project. P.S. you’ll see the tag in the next devlog, I still have to implement the frontend
Hey guys, back on this project. Last time I said the next round was going to be document lines, my quote was “the only part of this CRM that doesn’t fit the dynamic JSON engine”. That’s what this round was, plus the report engine on top of it. Document Lines : One single table for all four documents: quote, sales order, delivery note, invoice. The line is exactly the samein all of them, the only thing that changes is the document holding it, and a document here is just a Record like any other, so there’s no type constraint on the line at all. A line can be a product line, a free text line (no amounts, just something to say in the middle of the document) or a subtotal. Two things get copied at save time: the description and the vat percentage. The math is its own class, DocumentLineCalculator, and it’s the one piece of this project I wanted testable completely on its own, because it’s the only place where a wrong rounding produces a wrong tax document. The order is fixed: gross = quantity × unit price discount = a percentage of the gross, or a flat amount net = gross - discount, rounded to 2 decimals here vat = net × rate, rounded line total = net + vat Rounding happens after the discount and after the vat, never on the unit price: round the unit price and the error gets multiplied by the quantity. Rounding mode is HALF_UP, which is the commercial rounding used here, not HALF_EVEN. And a flat discount bigger than the line itself gets clamped instead of producing a negative amount, since that’s a typo 100% of the time. Lines are always saved all together. The endpoint is a PUT that replaces the whole set. It deletes and rewrites instead of diffing row by row, because a document has a few dozen lines at most and the diff would cost more code than it’s worth. The reason for this rule is the totals: they depend on every line, so a partial save would leave the header and the lines disagreeing, even if only for a moment. The totals (subtotal, vatTotal, total) get written back into the document’s own JSON, plus the header level discount and shipping cost. They live there so they can be list columns you filter and sort on, which is the whole point of having them. Now I’m working on the dashboard graphs, widget and this kind of things.I hope you like the project. I’m sorry if I don’t have any screenshot of the working website, it’s because I focused only on the backend, the frontend of this part still needs to be written.
Hey guys, how it’s going? These days I’ve got quite a lot of work to do, since we’re in the middle of harvest season here in Italy, so I don’t have much time to work on the project. Unfortunately, today it rains, so I’m home, and I can spend some time on the PC. Lately I’ve been working a lot on the backend. The first two things I did are documents and document numbering : I created the model for document rows ( DocumentLine ), with its engine to calculate totals, including subtotals, discounts and VAT. I also added unit tests for the calculator. I also implemented automatic document numbering, so documents like quotes, invoices and tickets are automatically assigned a number when they’re created. Then I worked on quote revisions, with a new QuoteRevisionService to keep track of different versions of the same quote. Another thing I started working on is document conversion. The idea is to be able to convert a quote into an invoice, but this part is still a work in progress. I also spent quite a bit of time on reports and dashboards: added the Report model and the ReportEngine / ’ReportService` added default reports through a ReportSeeder created the Dashboard model, with tabs and widgets added the related controllers, services and repositories On the frontend side I’ve scaffolded the pieces for dashboards and widgets — the widgets/ and dashboard-tabs/ components exist and the dashboard and report services are written — but the components themselves are still empty shells. The data layer is ready, the screens aren’t written yet. That’s what I’ll pick up next. Another big thing I worked on is tags and data quality. I added the tag model and APIs, together with the services and repositories. I also started working on a duplicate finder and record merging system, so duplicate contacts/companies can be detected and merged instead of leaving messy data around. For PostgreSQL, I also enabled pg_trgm to improve fuzzy searches for duplicate detection. Finally, I added user preferences for number and date formats, including a live preview so users can immediately see how their chosen formats will look in the app. I’ve also added icons for the new modules. As you can probably tell, this was a very backend-heavy cycle. Almost everything I built this time: document lines, numbering, quote revisions, reports, dashboards, tags and duplicate detection lives in the models and the services, and the UI for most of it isn’t there yet. So this time there isn’t much to show in screenshots: the engine is in place, the screens come next. I’d rather get the model right first and build the interface on top of something solid than the other way around. Hopefully I’ll be able to find some more time to work on it after harvest, so see you in a while.
Hey guys, how’s going? Soon school is going to start for me, but luckily it’s my last year in high school, so I’m really happy about this. Lately I had much time to code, so I continued working on this project. Last devlog was all backend; I said the engine was there and the screens weren’t. This time it’s quite the opposite. I didn’t really touch the backend, I spent the last 5-6 hours writing the frontend. Here’s the details of what I did: Document lines the grid is finally in the record detail. You can add lines, set quantity, price, discount and VAT, additionaly with the subtotal / VAT / total block, that updates while you type. When you save, the whole set of lines is sent at once. Tags I added the tag picker on the record detail, so you can attach and remove tags from a record as you wish. I also made the page that shows every record with a given tag, from all the modules together. Duplicates The duplicate finder now has its own screen: you choose a module, you get the pairs it thinks are duplicates, and the you see the two records side by side and pick field by field which value to keep before merging them. Reports There’s a page to build a report with a wizard (rows, columns, metrics, filters) and a preview that shows you the result before saving it. Dashboard widgets This is the main thing of this cycle. I wrote all six widget types, which are: - KPI tile - split KPI tile - chart - table - pivot - record list A widget is just a saved report query plus the type of rendering you want, so it runs on the report engine. Dashboards with tabs You can create a dashboard, add tabs to it and put widgets inside, so you can keep for example sales and support separated from each other. Sidebar and topbar The sidebar now has the routes for all the new pages, and the topbar has a quick-create button to make a record from anywhere without opening its module first. Two things are still not nice and I’m aware: in some places the relation fields show the raw id instead of the name of the record, and the totals of the document lines are not formatted with the user preferences yet, so you read 9054.00 instead of 9.054,00 EUR. Both are small and both are on the list to be improved. Now I’m working on the PDF generator See you, I hope you enjoy this project
Hey guys, how’s it going? I hope you’re all doing well. School started here in Italy, so I have less time compared to August. I also have to get my driver’s license, so I’m studying for that too. Unfortunately, coding isn’t the first thing I do every day anymore. I’m still working on the PDF generator. Last time I mentioned that relation fields were showing raw IDs and that document totals weren’t formatted properly. I fixed both of those, but I’ll get back to them later. About the PDF The template is HTML, and it lives in the DB. I didn’t hardcode the layout in Java. I created a PdfTemplate entity that stores the HTML, page size and margins. There is one default template for each document type: quote, order, delivery note and invoice. Thymeleaf fills the template with the document data, and OpenHTMLToPDF + PDFBox generate the PDF. Since the HTML is provided by the user, I also had to think about security. A template could try to load something like file:///etc/passwd or access an internal URL. Because of this, external protocols are disabled and only data: URIs are allowed. Page sizes are also checked against a whitelist. I also had to deal with the fact that HTML isn’t always valid XML. OpenHTMLToPDF expects XML, so I use jsoup to normalize the HTML first. Otherwise, perfectly normal HTML can cause a SAXParseException . And finally, fonts have to be embedded in the PDF. Without including DejaVu Sans in the jar, the PDF doesn’t render correctly. VAT summary I also worked on the VAT summary. Lines are grouped by VAT rate, shipping is added to the highest rate, and the document discount is distributed across the rates instead of being applied at the end. VAT is then calculated on the discounted amounts, so everything adds up correctly: taxable + VAT = total This actually fixed a bug where VAT was calculated before applying the document discount. It wasn’t very obvious until I started testing it with real numbers. Three endpoints The PDF system now has three endpoints: print a document preview a template print a batch For the preview, instead of creating a fake document, I use the last real document of that module. This way there is only one PDF generation system to maintain. The batch endpoint combines multiple documents into one PDF, while checking permissions for every document. A few other fixes The two ugly things from last time are also gone. Relation titles are now resolved by a shared backend service, so instead of UUIDs you see things like the company name. The same service is used by the lists, detail pages and PDFs. Amounts in the PDF are also formatted using the user’s preferences. I also added tags to the record lists. Tags are resolved in bulk instead of doing a permission check for every single row, which makes a big difference on larger lists. The backend part is basically done for this cycle. The print button and template editor are already written, but they’re not wired up yet. Right now I’m still using the API to test the generator. So, UI is next. See you in the next devlog!
Hey guys, how have you been doing lately? I’m alright. I’m still getting my driver license, so I don’t have much time to code. Last devlog was all about the PDF engine on the backend, and I closed it saying that the UI was next. Here it is: Print button : I added a print button Print PDF on quotes, orders, delivery notes and invoices. The file is downloaded with the document number as its name, so you get for example 2025-47.pdf and not just document.pdf Template editor : I also added to settings a new tab called “Print”. On the left there’s the list of templates, on the right the HTML, the page size and the margin. The preview renders the last real document of that module instead of a fake one, so what you can see is exactly what your customer receives. The default templates can’t be edited you duplicate them: the seeder rewrites them at every boot, so any change would silently disapper on the next restart. I preferred to say it in the interface rather than let someoune lose an afternoon of work. Company data : The company settings now hold also the legal name, VAT number, tax code, address and contact line. That’s what the PDF header prints, and without them the header comes out empty. VAT that adds up to the cent The header discount is spread across the VAT rates and every share gets rounded, so the sum of the shares could end up one or two cents away from the total. On a quote nobody would ever notice. On an electronic invoice it’s rejection 00423. Now the rounding leftover goes on the last rate, so taxable + VAT = total, always. Tests on a real db : The report engine builds SQL at runtime, and mocking a database proves nothing, so its tests now start a throwaway Postgres in Docker and run against it: filters, grouping, ordering and counting. Two bugs closed : Merging two records didn’t look at the bin, so a deleted record could be merged into a live one. And editing a saved report answered 405, because the frontend was sending PUT to an endpoint that only has POST. Right now I’m working on the 2FA (for those who don’t know, the 2 factor auth). I’m writing the TOTP myself instead of pulling in a library: it’s an HMAC-SHA1 of the 30 second counter, and the six digits come out of the dynamic truncation described in the RFC. The secret is encrypted in the database with AES-GCM, because someone who can read the db must not be able to generate the codes, otherwise a second factor is just a second password. There are ten recovery codes, stored hashed and usable once each, and the last accepted counter is saved, so the same code can’t be replayed during its 30 seconds. The tests are the official RFC 6238 vectors: a TOTP written at home always “works” until you compare it with a real auth app, and at that point it’s too late to find out. Two things I know are missing: the second factor has no interface yet, there’s no page to scan the QR code from, and the mailbox that turns incoming emails into tickets is only half written. See you soon, the end of this project is near.
Hey guys, how’s everything going? I’m alright. I’m so glad hackclub postponed the end of stardance, I have still another month to 1. finish this project 2. do other projects I had on my mind for such a long time. Before doing this devlog, I had to use claude to debug my work, because I had some errors I didn’t understand (I was using a class created for a test in the normal “code”), so bad :( and also other small issues. Lately I worked on one of the most significat features for me, which is 2FA . As my network teacher says "zero trust, because the world is a place full of bastards" . 2FA is one of the techniques I use to follow this approach. Basically, now you can press “Enable” in your preferences, scan the QR code with any authenticator app (f.e google), or just type the secret by hand, because half the people can’t frame a QR code at the first time, lol. You also have to confirm with a code. At login, if 2FA is on, there’s a second step for the six digits. You also get ten recovery codes that you can copy or download, shown only once. Turning it off asks for your password, so a stolen open session can’t remove this precaution. You’re probably wondering: are the secrets encrypted? Yes, they are. I mostly use AES-GCM, because it’s pretty simple, but also secure, so it’s the better compromise. The TOTP secret and the mailbox passwords are stored encrypted with AES-GCM. The key lives in an env variable, not in the db, so a database dump alone isn’t enough to generate codes or read someone’s email. I also turned the crm in a PWA . You can install it on your phone or desktop, it has its own icon and window, and when I deploy a new verion, it tells you to reload, instead of silently serving you the old one from cache (it also checks every 6 hours, maybe I’m gonna change it to 10, idk, for the tab you leave open for days) Like in every other devlog, I made some tests and updated the docs. The report engine now has tests against a real Postgres started in docker, and the repo finally has a real README (it’s not finished, just with some basic information, claude, thanks for the suggestion of making it). Oh, I nearly forgot. I also worked on emails. Now I’m currently working on the Italian electronic invoice, which is called FatturaPA. The crm builds the XML from an invoice, and the first test I wrote checks it against the official government XSD: if it doesn’t pass, it isn’t saved. I think I’m gonna study a bit of english / american law, to allow people out of Italy to use this app as well. I hope you like my product, see you soon
Hey guys, how’s going? I have plenty of things to do, but coding is still one of my favorite activities, so I always try to save some time for it.This time I worked again on FatturaPA, which is the Italian electronic invoice.What I did, is that now, first of all, the CRM can now generate the FatturaPa XML directly from an invoice and validate it against the official XSD, before saving it. I also added the whole invoice lifecycle, from draft, to setn, delivered, accepted or rejected. The CRM can read the recepits from the SDI and show ufseful information when something goes wrong.Another important change is that invoices now become locked once they’re sent to the SDI. If something needs to be changed, the correct way is to create a credit note instead. This is much efficient in my opinion.I also started working on the SDI integration itself. For now there’s only a manual transport, but the system is built so that adding an actual provider later shouldn’t require changing the rest of the CRM. I did it this way, so I can decide which provider use, and not have to change everything.Besides invoicing, I added time tracking. You can start a timer from the top bar and see your hours directly on records. Timers also automatically close after a maximum amount of time, so nobody ends up with a 80-hour ticket because they forgot to stop it.Finally, I worked on email campaigns. You can create a campaign from a saved filter, send emails through a queue and manage unsubscribes. I also added some protections against things like open redirects and accidental unsubscribes.And now, the honest part: before writing this devlog, I ran the tests and guess what, the app didn’t even start.I used claude for debugging, cause I wans’t finding the error. Silly me, it was just a typo.
Hey guys, how’s everythings going? I’m doing pretty well. As always I have lots of things to do, but I still have plenty of time for coding. School is demanding, and preparing for my driving license is also tough, but I’m managing everything little by little. Last time I ended up with an app that wouldn’t even start. Luckily, I fixed all those errors, and all 258 tests are now green and passing on the PostgreSQL db. After that, I added new features. First of all I worked on NPS surveys and quote acceptance. Customers can now receive surveys and answer them through a public link. They can also accept quotes directly from a link, without needing an account. I also made sure these features work with the existing workflows, so automations can still do their job properly. Another interesting addition is the MCP server. AI agents can now interact with the CRM through an API key. Instead of creating a separate set of tools for every module, I went with seven generic tools that can work across all 34 modules. This should make it easier for AI models to understand which actions they can perform, while keeping the CRM’s existing permissions and security rules in place. I also improved search quite a bit. Before, it mostly looked at record titles. Now it uses PostgreSQL full-text search to find relevant information inside the actual record data and rank the results. The audit history is also much easier to read, with related record IDs replaced by their actual titles. I worked on a couple of smaller but important things, too. The trash can now properly handle related files and records when permanently deleting something, while protecting fiscal documents that must be kept for ten years. Finally, I started working on the customer portal. It now has its own backend authentication and permission system, separate from the employee login. Customers will only be able to access records they’re actually allowed to see. The backend is ready, but I still need to connect the frontend pages and routes. There’s still quite a bit to do, but I’m getting closer to the first complete version of the CRM. See you in the next devlog!
Hey guys, how’s going? This will be a short devlog, and it’s the one before the shipping. I decided to ship the CRM, even if it’s not completely finished. That’s because I still have to do lots of things, but now I have a working product, so, since the changes I have to make are complementary. Unfortunately, I have a big issue: the whole interface is in Italian. The app is made for Italian small businesses (FatturaPA, VAT, SDI…), but if you come from Stardance you can’t read a single menu. Real i18n is still on my list and it is a big job, so for now I added the Google Translate widget in the corner of the app. If your browser is in English it starts translating by itself, otherwise you pick English from the selector. It’s not pretty, but it makes the demo usable today instead of “someday”. I had to widen the CSP in nginx for it, and I loaded the script as an external file so I didn’t need a second hash. I also fixed the README and cleaned the repo. Now everything should work fine, or at least let’s hope so. I hope you enjoy the product.
Hey guys, what’s up? I’m finally in the last phase of getting my driving license, so that’s taking up some of my time too. The CRM is now online at crm.alessio.hackclub.app . The VPS has very little RAM, so I build the Docker images locally and transfer them to the server using docker save over SSH. It’s not the fanciest deployment process, but it works with the resources I have, so I’ll stick to it for now. One of the main things I worked on was the customer portal . The backend from last week finally has a frontend: customers can log in, see their tickets and documents, open requests, reply to messages, download PDFs and accept quotes. I also made sure that internal notes stay internal. Notes now have a Visible to customer checkbox, which is disabled by default. The portal only shows notes explicitly marked as visible, so there’s less risk of accidentally exposing something that should stay private. Another feature I added is Google Calendar import . It’s read-only for now, so the CRM can import events without modifying anything in your Google account. Events are created through the same service as normal CRM records, meaning workflows and the audit log still work as expected. Sync runs every 15 minutes, and if something goes wrong with an account, it won’t stop the others from syncing. I also started replacing the Google Translate workaround with proper internationalization (i18n). The translation system is in place, including support for parameters and locale-aware dates and numbers. The dictionary is type-checked, too, so missing English translations can be caught at compile time. There’s still a lot of work here: around 1,200 strings need to be translated by hand. It’s not the most exciting task, but I’d rather have proper translations than rely on Google Translate forever. Obviously that’s my opionion. I also started working on public registration, but it’s not ready yet. There’s one important limitation: the CRM currently has a single shared workspace, so everyone who registers would see the same data. Registration will stay disabled unless explicitly enabled until I decide how to handle that properly. That’s because the idea is to have 1 single DB for each workspace, since the CRM should be self-hosted. There’s still work to do, but the CRM is getting closer to the version I wanted to ship. See you in the next devlog!
Ships:
CRM An open-source CRM for Italian small businesses: contacts, companies, leads, quotes, orders, invoices with VAT, tickets, email campaigns, NPS surveys, reports and a customer portal. It started as a way to manage clients for a friend’s startup and became a working and valuable project. TRY IT (no install) https://crm.alessio.hackclub.app email: [email protected] password: HackClub-Demo-2026! The demo has full access and realistic fake data, so feel free to click everything, create, edit and delete. The data resets occasionally. Outgoing email is switched off on the demo. HEADS UP: the interface is in Italian. Use the translate widget in the corner of the app (or your browser’s translator) to read it in English. Real i18n is on my roadmap, sorry! WHAT TO LOOK AT A quote with line items, discounts and VAT by rate, and the “Print PDF” button. PDFs come from HTML templates you can edit, with a live preview on your last real document. A customer accepting a quote from a signed link, without an account. Full-text search across every module (PostgreSQL). Italian e-invoicing: it builds the FatturaPA XML and validates it against the official government XSD before saving. Invoices lock once sent to the SDI. The MCP server: an AI assistant can use the CRM through an API key, with seven generic tools that work on all 34 modules and respect permissions. 2FA (TOTP) with recovery codes, secrets encrypted at rest, installable PWA. HOW IT WORKS There is no “contacts” or “companies” table. One generic Record entity stores its fields in a jsonb column, and an ObjectType + FieldDef describe each module (39 field types). Adding a module is a configuration record, not a migration or a new controller. Permissions are checked per module and action at runtime. You can have more info in the README, so please check it. I hope you appreciate this project :)...
|
1792731096.075204
|
1792817496.075204
|
|
53926
|
Manim derivative plotter by @TyrannoJ | Stardance
|
TyrannoJ
|
2
|
53.04
|
744
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T15:32:17Z", "hours": 27.0, "multiplier": 15.47, "payout": 420, "blessing": "neutral", "text": "I updated my python project: Last ship I had made a python library for plotting polynomial functions with manim. Th most common suggestion I got by reviewers is: put in on a website for better accesability, so I did :). The website runs on next.js and vercel and is connected to a python backend on a local laptop. The core logic is still my python project from before. It was quite hard to set up the site because I first wanted to host the backend on render but it didn’t like manim so i migrated it to local. Originally I also wanted to include more of my manim projects but I moved them into another project and repo now. What was very fun was the styling with tailwincss and I quite like how it turned out, also the video saving part is quite fun as it saves one new file for each request So in summary my site has the following features: A video and a picture tool where you can let the backend give you a picture/video of a function, its derivatives and the extremes and turning points… and a little joke generator :) I hope the site works and my PC can always crash but it has run for 4 days now and I’m confident. That’s about it, thank you for reading and have a good one", "repo": "https://github.com/TyrannoJ/manim", "demo": "https://manim-ochre.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-30T17:43:18Z", "hours": 24.0, "multiplier": 13.4, "payout": 324, "blessing": "neutral", "text": "Manim Derivative plotter: I started this project a week ago because I#m fascinated with 3b1b’s Animations and thougth being able to do them myself would be pretty cool, so I madde this because it was the first thing that came to mind as I had done derivatives a lot in school last year, so I just made something that can do a part of the tedious boring work for me, at least till we learn something new. Challenges At first it was a challenge to learn how exactly Manim works, but once you get the basics it is really easy to expand your knowledge because it is very logical. Then I had problems with manim sideview because it didn’t render so I had to manually render my videos through most of this project (but it was just two more clicks, so that’s okay). I also had to learn a little patience because rendering takes a long time, but I made a simple version with whih i could also test things much faster than with the long rendering animations. In the end I’m pretty proud of the logic behind the animations, especially the scaling of the axes correspnfing to the function and that I really made something I think is simple enough so I and will use it for school so it’s not just a project nobody needs but actually something useful. That’s it I think, if you want to see some of the programm outputs or test the project yourself then look in the Readme, it says there what you gotta do, i tested it and I think it should work. Thats all from me, this has been really fun, I hope you like my project and maybe someone will actually use it for school or something. Thanks for reading, have fun with the plotter :)", "repo": "https://github.com/TyrannoJ/manim", "demo": "https://manim-ochre.vercel.app/"}]...
|
[{"post_id": 80605, "ts": "202 [{"post_id": 80605, "ts": "2026-10-18T09:10:09Z", "hours": 2.0386, "text": "Devlog 13 First thanks for all the amazing reviews on my last ship, I’m very happy how it turned out. Since last time I put in a few things. What I did put in a copy button on the image (mostly with AI) so user can easily put the content somwhere else check for false inputs on the frontend, because before the backend always rendered 1x when a false input was given make the help more understandable added an alt image for testing when I can’t connect to the backend What I’ll do next I have like a 15 point to do list so I wont be running out of things to do Thank you for reading and have a nice day"}, {"post_id": 79542, "ts": "2026-10-14T15:01:58Z", "hours": 2.6258, "text": "Devlog 12 I mainly made some small help adjustments to get ready to ship What I did Added a help tab with infos and a link to the readme Made the server work on multiple workers (this is just one simple command LOL) Made all the python functions async, so it can connect to multiple users Ok, so I think I’ll get ready to ship now, there is still a ton of stuff I’ll be doing in the next version but it works for now and I want this shipped before stardance runs out. Thank you for reading, have a good one"}, {"post_id": 78880, "ts": "2026-10-11T21:08:30Z", "hours": 7.6142, "text": "Devlog 11 So, I coded a lot today, very fun stuff What I did I styled my website with tailwindcss with the help of the official documentation You can now also see the rendered videos on the site I have a joke tab on the website with jokes from here , thanks to this project where I found this awesome API I added little stuff like a very cool favicon Challenges Tailwindcss is al little messy but soooo useful Needed a little help from copilot for finding some errors as I am not that good with javascript What I’ll do next make the input more robust to user error fix a few small rendering issues make a more permanent cloudflared tunnel ship hopefully tomorrow That’s it, coding is cool, if you like, try my website here , have a nice one, thanks for reading"}, {"post_id": 78188, "ts": "2026-10-09T22:18:53Z", "hours": 6.4897, "text": "Devlog 10 Ok, so I didn’t write for some time but I have done some pretty cool stuff actually. What I did first I worked a little more on another explanatory video for school, before moving it to another project because it didn’t fit here very well Mainly I worked on getting the website working (with a lot of help from my friend perplexity) -first I made the video upload from python to next.js work on my PC then I deployed the frontend on vercel -Tried to deploy backend on render but it didn’t like manim very much so I instead put it on my Linux Laptop and it’s working now for pictures at least What I’ll do next Make the website more stable and let it upload videos too and make it look better (whoooo CSS) That’s about all, you’re welcome to try my project at manim-ochre.vercel.app"}, {"post_id": 75238, "ts": "2026-09-29T15:37:06Z", "hours": 6.1378, "text": "Devlog 9 So I didn’t write for long time because I have been busy with other projects but I have done mainly two new things while waiting for the project to get reviewed Add a new video I basically want to turn this repository into a collection of all the things I do with manim and I had to make a video about electric potential for school so I put it in there and it is quite cool and useful Start website development It appears that a python library is harder to do than I thought, so my plan is now to make a website and let my computer handle all the python. For now it is local and you can only send text to the backend but if it works it will be sooo cool. I’m using Next.js and FastAPI which I already know from a former project. That’s as they say it for now, thanks for reading, have a nice one"}, {"post_id": 69216, "ts": "2026-09-16T16:35:27Z", "hours": 2.6294, "text": "Devlog 8 I think I am finally finished now, I tried to make a standalone executable but the packaging tool didn’t like me and I didn’t like it. So I made a Pypi release!!! It was my first so I had to read through the documentation and also get a little explaining from copilot but it is actually surprisingly simple. I just had to create a folder structure a README (had it already) a pyproject-toml (configuration) a LICENSE then just build and ship finished!!! So you can very easily try my project out now just run pip install manim-derivative-plotter and use render_animation() and render_picture() but I explain all of it in the Readme Sooo, I’ll ship again now, hope it works Thanks for reading, have a nice one"}, {"post_id": 59840, "ts": "2026-09-01T20:18:53Z", "hours": 1.1686, "text": "Devlog 7 After resolving the last problem I tried to ship again however there was a bug, because I had used LaTex to show the functions in my code and you have to install a seperate programm for that. So thanks to the shipping team for pointing this out, I now changed it to Typst, which for my purposes works basically like Tex but I can put in my pyproject.toml dependencies. So that’s it, hope it works for everyone now, thank you for reading and have a good one"}, {"post_id": 59447, "ts": "2026-09-01T09:30:00Z", "hours": 0.5153, "text": "Devlog 6 In my first ship try I didn’t explain how to test the project yourself on the demo site, so I now fixed that and added the explanations from the readme to the site, thanks to the shipping team for pointing this out to me and I hope it is good now. thanks for reading, have a good one"}, {"post_id": 58280, "ts": "2026-08-30T17:27:55Z", "hours": 4.1336, "text": "Devlog 6 Okay so I wanted to ship after last time but then i decided to fix a few more errors and make my project more easily testable, so here’s what i did: Changes made the input better so you can inpu for example constants without writing x0 behind them fixed a problem with x=0, where sympy.solveset would give me infinite zeros, I made so that it gives none because it was the solution that made the most sense in keeping everything as simple as possible made thg curve indicator graph also work for lines with no curvature and lines with no turning points I made the whole thing downloadable and testable over pipx made the website design a little better -made a better Readme and commented my code That is pretty much it, thanks for reading, if anybody wants to try the project, the Readme says how it’s done, thank you for reading"}, {"post_id": 55139, "ts": "2026-08-26T16:36:38Z", "hours": 2.5172, "text": "Devlog 5 final Devlog I think, after patching the last little bugs and writing a better Readme, I had a little fight with github pages because it sometimes wouldn’t show my videos, luckily I got it to work. So my Demo is now a page with the rendered videos on it and that should hopefully work for everyone. The pictures are what the demo should look like. This has been fun and I’m amazed how fast you can create cool stuff with manim, thanks to Grant Sanderson from 3blue1brown. Right, I’ll get myself some rest and think about the next manim project I will do, thanks for reading and have a nice one."}, {"post_id": 54806, "ts": "2026-08-25T22:55:48Z", "hours": 4.4847, "text": "Devlog 4 Hello again, today I did a lot of bugfixing and little tweaks to make the animation better Bugfixes fixed a bug where some functions where only partially shown on screen solved some Transform Problems by sorting the zero points Other Stuff Made functions shown on screen more appealing by removing useless +es for example added boxes behind the text so you can read it if the functions go through there made user Input more resistant against false Inputs And I finally got Manim Sideview working correctly, before that I always had to render everything and then show it with sideview, Yay!!! Gotta sleep now, it’s 1am, thanks for reading and Good night"}, {"post_id": 54425, "ts": "2026-08-25T13:05:28Z", "hours": 2.2722, "text": "Devlog 3 Sooo after the main functionalities were finished I did everyones favourite job: Bugfixing yay!!! Here is what I did today and what I still have to do Bugfixes fixed a bug where curves werent shown because they were above/below the max y values of the coordinates fixed some division by zero stuff made custom boundaries for every function because some werent rendering because they had to render too many values outside of the screen “fixed” a weird type bug in sympy.solveset by just putting a try except there made some turning points with the same values on both sides better Animations Added the second derivative to the turning points Animation Fit zeros better To Do Make the Input of derivatives simple more flexible, user error proof Fix Problems with float Inputs Make Good Readme I will go eat lunch now, thanks for reading, have a nice day!!!"}, {"post_id": 54115, "ts": "2026-08-24T22:33:01Z", "hours": 1.5247, "text": "Devlog 2 After way tooo much work today I finished all the animations after fighting with data types for a while and I added the simple mode where it just gives you the finished picture without animations. Thank you for reading, have a nice night, I gotta sleep now"}, {"post_id": 54070, "ts": "2026-08-24T20:51:04Z", "hours": 9.3264, "text": "Devlog 1 I wanted to start creating Animations with manim for a while and this was a logical place to start because we just recently learned derivatives in school Here’s what i have so far -You can input normal polynomial expressions in the source code -They are plotted along with their first and second derivative -The program sows the zero points of all those functions -It then shows the Maxima/Minima and the Turning Points I also added some fn little tweaks like the coordinate system fitting itself to whatever function you input. What I want to do next: -Make the Animations better -Maybe add other types of functions That’s about it, thanks for reading, have a nice day"}]...
|
Title: Manim derivative plotter by @TyrannoJ | Sta Title: Manim derivative plotter by @TyrannoJ | Stardance
Devlogs:
Devlog 1 I wanted to start creating Animations with manim for a while and this was a logical place to start because we just recently learned derivatives in school Here’s what i have so far -You can input normal polynomial expressions in the source code -They are plotted along with their first and second derivative -The program sows the zero points of all those functions -It then shows the Maxima/Minima and the Turning Points I also added some fn little tweaks like the coordinate system fitting itself to whatever function you input. What I want to do next: -Make the Animations better -Maybe add other types of functions That’s about it, thanks for reading, have a nice day
Devlog 2 After way tooo much work today I finished all the animations after fighting with data types for a while and I added the simple mode where it just gives you the finished picture without animations. Thank you for reading, have a nice night, I gotta sleep now
Devlog 3 Sooo after the main functionalities were finished I did everyones favourite job: Bugfixing yay!!! Here is what I did today and what I still have to do Bugfixes fixed a bug where curves werent shown because they were above/below the max y values of the coordinates fixed some division by zero stuff made custom boundaries for every function because some werent rendering because they had to render too many values outside of the screen “fixed” a weird type bug in sympy.solveset by just putting a try except there made some turning points with the same values on both sides better Animations Added the second derivative to the turning points Animation Fit zeros better To Do Make the Input of derivatives simple more flexible, user error proof Fix Problems with float Inputs Make Good Readme I will go eat lunch now, thanks for reading, have a nice day!!!
Devlog 4 Hello again, today I did a lot of bugfixing and little tweaks to make the animation better Bugfixes fixed a bug where some functions where only partially shown on screen solved some Transform Problems by sorting the zero points Other Stuff Made functions shown on screen more appealing by removing useless +es for example added boxes behind the text so you can read it if the functions go through there made user Input more resistant against false Inputs And I finally got Manim Sideview working correctly, before that I always had to render everything and then show it with sideview, Yay!!! Gotta sleep now, it’s 1am, thanks for reading and Good night
Devlog 5 final Devlog I think, after patching the last little bugs and writing a better Readme, I had a little fight with github pages because it sometimes wouldn’t show my videos, luckily I got it to work. So my Demo is now a page with the rendered videos on it and that should hopefully work for everyone. The pictures are what the demo should look like. This has been fun and I’m amazed how fast you can create cool stuff with manim, thanks to Grant Sanderson from 3blue1brown. Right, I’ll get myself some rest and think about the next manim project I will do, thanks for reading and have a nice one.
Devlog 6 Okay so I wanted to ship after last time but then i decided to fix a few more errors and make my project more easily testable, so here’s what i did: Changes made the input better so you can inpu for example constants without writing x0 behind them fixed a problem with x=0, where sympy.solveset would give me infinite zeros, I made so that it gives none because it was the solution that made the most sense in keeping everything as simple as possible made thg curve indicator graph also work for lines with no curvature and lines with no turning points I made the whole thing downloadable and testable over pipx made the website design a little better -made a better Readme and commented my code That is pretty much it, thanks for reading, if anybody wants to try the project, the Readme says how it’s done, thank you for reading
Devlog 6 In my first ship try I didn’t explain how to test the project yourself on the demo site, so I now fixed that and added the explanations from the readme to the site, thanks to the shipping team for pointing this out to me and I hope it is good now. thanks for reading, have a good one
Devlog 7 After resolving the last problem I tried to ship again however there was a bug, because I had used LaTex to show the functions in my code and you have to install a seperate programm for that. So thanks to the shipping team for pointing this out, I now changed it to Typst, which for my purposes works basically like Tex but I can put in my pyproject.toml dependencies. So that’s it, hope it works for everyone now, thank you for reading and have a good one
Devlog 8 I think I am finally finished now, I tried to make a standalone executable but the packaging tool didn’t like me and I didn’t like it. So I made a Pypi release!!! It was my first so I had to read through the documentation and also get a little explaining from copilot but it is actually surprisingly simple. I just had to create a folder structure a README (had it already) a pyproject-toml (configuration) a LICENSE then just build and ship finished!!! So you can very easily try my project out now just run pip install manim-derivative-plotter and use render_animation() and render_picture() but I explain all of it in the Readme Sooo, I’ll ship again now, hope it works Thanks for reading, have a nice one
Devlog 9 So I didn’t write for long time because I have been busy with other projects but I have done mainly two new things while waiting for the project to get reviewed Add a new video I basically want to turn this repository into a collection of all the things I do with manim and I had to make a video about electric potential for school so I put it in there and it is quite cool and useful Start website development It appears that a python library is harder to do than I thought, so my plan is now to make a website and let my computer handle all the python. For now it is local and you can only send text to the backend but if it works it will be sooo cool. I’m using Next.js and FastAPI which I already know from a former project. That’s as they say it for now, thanks for reading, have a nice one
Devlog 10 Ok, so I didn’t write for some time but I have done some pretty cool stuff actually. What I did first I worked a little more on another explanatory video for school, before moving it to another project because it didn’t fit here very well Mainly I worked on getting the website working (with a lot of help from my friend perplexity) -first I made the video upload from python to next.js work on my PC then I deployed the frontend on vercel -Tried to deploy backend on render but it didn’t like manim very much so I instead put it on my Linux Laptop and it’s working now for pictures at least What I’ll do next Make the website more stable and let it upload videos too and make it look better (whoooo CSS) That’s about all, you’re welcome to try my project at manim-ochre.vercel.app
Devlog 11 So, I coded a lot today, very fun stuff What I did I styled my website with tailwindcss with the help of the official documentation You can now also see the rendered videos on the site I have a joke tab on the website with jokes from here , thanks to this project where I found this awesome API I added little stuff like a very cool favicon Challenges Tailwindcss is al little messy but soooo useful Needed a little help from copilot for finding some errors as I am not that good with javascript What I’ll do next make the input more robust to user error fix a few small rendering issues make a more permanent cloudflared tunnel ship hopefully tomorrow That’s it, coding is cool, if you like, try my website here , have a nice one, thanks for reading
Devlog 12 I mainly made some small help adjustments to get ready to ship What I did Added a help tab with infos and a link to the readme Made the server work on multiple workers (this is just one simple command LOL) Made all the python functions async, so it can connect to multiple users Ok, so I think I’ll get ready to ship now, there is still a ton of stuff I’ll be doing in the next version but it works for now and I want this shipped before stardance runs out. Thank you for reading, have a good one
Devlog 13 First thanks for all the amazing reviews on my last ship, I’m very happy how it turned out. Since last time I put in a few things. What I did put in a copy button on the image (mostly with AI) so user can easily put the content somwhere else check for false inputs on the frontend, because before the backend always rendered 1x when a false input was given make the help more understandable added an alt image for testing when I can’t connect to the backend What I’ll do next I have like a 15 point to do list so I wont be running out of things to do Thank you for reading and have a nice day
Ships:
Manim Derivative plotter: I started this project a week ago because I#m fascinated with 3b1b’s Animations and thougth being able to do them myself would be pretty cool, so I madde this because it was the first thing that came to mind as I had done derivatives a lot in school last year, so I just made something that can do a part of the tedious boring work for me, at least till we learn something new. Challenges At first it was a challenge to learn how exactly Manim works, but once you get the basics it is really easy to expand your knowledge because it is very logical. Then I had problems with manim sideview because it didn’t render so I had to manually render my videos through most of this project (but it was just two more clicks, so that’s okay). I also had to learn a little patience because rendering takes a long time, but I made a simple version with whih i could also test things much faster than with the long rendering animations. In the end I’m pretty proud of the logic behind the animations, especially the scaling of the axes correspnfing to the function and that I really made something I think is simple enough so I and will use it for school so it’s not just a project nobody needs but actually something useful. That’s it I think, if you want to see some of the programm outputs or test the project yourself then look in the Readme, it says there what you gotta do, i tested it and I think it should work. Thats all from me, this has been really fun, I hope you like my project and maybe someone will actually use it for school or something. Thanks for reading, have fun with the plotter :)
I updated my python project: Last ship I had made a python library for plotting polynomial functions with manim. Th most common suggestion I got by reviewers is: put in on a website for better accesability, so I did :). The website runs on next.js and vercel and is connected to a python backend on a local laptop. The core logic is still my python project from before. It was quite hard to set up the site because I first wanted to host the backend on render but it didn’t like manim so i migrated it to local. Originally I also wanted to include more of my manim projects but I moved them into another project and repo now. What was very fun was the styling with tailwincss and I quite like how it turned out, also the video saving part is quite fun as it saves one new file for each request So in summary my site has the following features: A video and a picture tool where you can let the backend give you a picture/video of a function, its derivatives and the extremes and turning points… and a little joke generator :) I hope the site works and my PC can always crash but it has run for 4 days now and I’m confident. That’s about it, thank you for reading and have a good one...
|
1792846113.4430408
|
1792932513.4430408
|
|
69649
|
ArsyWatch by @arsyad | Stardance
|
arsyad
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T14:30:35Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Day one on ArsyWatch. The idea: an ESP8266 sits in my house and scans the WiFi around it, plus counts how many devices are in the air. Every 30 seconds it sends that to my VPS. Then I get a dashboard that shows which channels are crowded and how many networks sit on each one. Mainly I want it to tell me when to switch my router’s channel. Barely wrote any code today. Most of it went into getting the server ready. Installed cloudflared so I can tunnel in without opening ports, then apt started complaining about a pending kernel upgrade. Running kernel is 7.0.0-1006-aws, the installed one is 7.0.0-1014-aws, so nothing new loads until I reboot. I wanted the ingest endpoint running tonight and now I have to reboot first. Not a big deal, just annoying. One decision I did make: VPS instead of serverless. The ESP sends data every 30 seconds and the dashboard keeps an SSE connection open the whole time. Both want a process that stays alive, and serverless would fight me on it. Tomorrow: database schema, then the ingest endpoint.", "repo": "https://github.com/AmirSys-dev/ArsyWatch", "demo": "https://arsywatch.arsyads.dev/"}]...
|
[{"post_id": 79531, "ts": "202 [{"post_id": 79531, "ts": "2026-10-14T14:04:50Z", "hours": 2.0028, "text": "Day one on ArsyWatch. The idea: an ESP8266 sits in my house and scans the WiFi around it, plus counts how many devices are in the air. Every 30 seconds it sends that to my VPS. Then I get a dashboard that shows which channels are crowded and how many networks sit on each one. Mainly I want it to tell me when to switch my router’s channel. Barely wrote any code today. Most of it went into getting the server ready. Installed cloudflared so I can tunnel in without opening ports, then apt started complaining about a pending kernel upgrade. Running kernel is 7.0.0-1006-aws, the installed one is 7.0.0-1014-aws, so nothing new loads until I reboot. I wanted the ingest endpoint running tonight and now I have to reboot first. Not a big deal, just annoying. One decision I did make: VPS instead of serverless. The ESP sends data every 30 seconds and the dashboard keeps an SSE connection open the whole time. Both want a process that stays alive, and serverless would fight me on it. Tomorrow: database schema, then the ingest endpoint."}]...
|
Title: ArsyWatch by @arsyad | Stardance
Devlogs:
Title: ArsyWatch by @arsyad | Stardance
Devlogs:
Day one on ArsyWatch. The idea: an ESP8266 sits in my house and scans the WiFi around it, plus counts how many devices are in the air. Every 30 seconds it sends that to my VPS. Then I get a dashboard that shows which channels are crowded and how many networks sit on each one. Mainly I want it to tell me when to switch my router’s channel. Barely wrote any code today. Most of it went into getting the server ready. Installed cloudflared so I can tunnel in without opening ports, then apt started complaining about a pending kernel upgrade. Running kernel is 7.0.0-1006-aws, the installed one is 7.0.0-1014-aws, so nothing new loads until I reboot. I wanted the ingest endpoint running tonight and now I have to reboot first. Not a big deal, just annoying. One decision I did make: VPS instead of serverless. The ESP sends data every 30 seconds and the dashboard keeps an SSE connection open the whole time. Both want a process that stays alive, and serverless would fight me on it. Tomorrow: database schema, then the ingest endpoint.
Ships:
Day one on ArsyWatch. The idea: an ESP8266 sits in my house and scans the WiFi around it, plus counts how many devices are in the air. Every 30 seconds it sends that to my VPS. Then I get a dashboard that shows which channels are crowded and how many networks sit on each one. Mainly I want it to tell me when to switch my router’s channel. Barely wrote any code today. Most of it went into getting the server ready. Installed cloudflared so I can tunnel in without opening ports, then apt started complaining about a pending kernel upgrade. Running kernel is 7.0.0-1006-aws, the installed one is 7.0.0-1014-aws, so nothing new loads until I reboot. I wanted the ingest endpoint running tonight and now I have to reboot first. Not a big deal, just annoying. One decision I did make: VPS instead of serverless. The ESP sends data every 30 seconds and the dashboard keeps an SSE connection open the whole time. Both want a process that stays alive, and serverless would fight me on it. Tomorrow: database schema, then the ingest endpoint....
|
1792857283.9412632
|
1792943683.9412632
|
|
67102
|
Heiwa by @Mayankkkksss | Stardance
|
Mayankkkksss
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T14:25:05Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This open-world game based on Japan is fully built with AI, so the player can move and drive around and interact with people.", "repo": "https://github.com/mayankkkksss/Heiwa", "demo": "https://heiwa-henna.vercel.app/"}]...
|
[{"post_id": 75673, "ts": "202 [{"post_id": 75673, "ts": "2026-09-30T18:16:26Z", "hours": 7.4078, "text": "This project is not finished yet, which we will making it better day by day"}]...
|
Title: Heiwa by @Mayankkkksss | Stardance
Devlogs Title: Heiwa by @Mayankkkksss | Stardance
Devlogs:
This project is not finished yet, which we will making it better day by day
Ships:
This open-world game based on Japan is fully built with AI, so the player can move and drive around and interact with people....
|
1792857169.8729
|
1792943569.8729
|
|
54651
|
Warren’s Sci-Fi & Pop Culture Archive by @PXLS Warren’s Sci-Fi & Pop Culture Archive by @PXLS | Stardance...
|
PXLS
|
2
|
33.0
|
341
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T14:16:54Z", "hours": 3.0, "multiplier": 5.17, "payout": 15, "blessing": "neutral", "text": "I made some updates to Warren’s Sci-Fi and Pop-Culture Archive, such as changing the background and adding a new font. My goal was to enhance the Frutiger Aero aesthetic, which fits much better with the new design. Overall, the project combines music, movies, sci-fi, and plenty of Easter eggs. Hope you guys enjoy it!", "repo": "https://github.com/PXLS-png/stardance-archive", "demo": "https://pxls-png.github.io/stardance-archive/"}, {"ship_num": 2, "ts": "2026-10-09T13:10:53Z", "hours": 30.0, "multiplier": 10.91, "payout": 326, "blessing": "neutral", "text": "“For every action, there’s a reaction.” That’s a line from Life is Strange, and honestly it’s the best way to describe how this project started: one obsession led to another, and somehow I ended up building a whole website about it. Over the last few months, I’ve been working on a project that truly fascinates me: Warren’s Sci-Fi & Pop Culture Archive. My main source of inspiration was my love for the video game Life is Strange, which contains a character, Warren, who is totally obsessed with sci-fi and science. That made me wonder: how could I create a website that combines movies with in-game references, a cool aesthetic, and easter eggs? In the end, this aspiration turned into the archive I’m proud to present. This is my first project for Hack Club, and even though I ran into a few bugs, especially with the timezone logic, I’m glad I made it this far. Feel free to test my project on desktop or mobile, just open the webpage!", "repo": "https://github.com/PXLS-png/stardance-archive", "demo": "https://pxls-png.github.io/stardance-archive/"}]...
|
[{"post_id": 78427, "ts": "202 [{"post_id": 78427, "ts": "2026-10-10T19:38:24Z", "hours": 2.9583, "text": "Hey, today I rewrote README with project background and credits, rewrote description and declaration, deleted and rewrote code sections, added a background image with license attribution (Public Domain Mark 1.0) and a new font that fits the Frutiger Aero aesthetic better. I also added a Curator’s Note in the code documenting the manual curation process for the 400+ movie list, cleaned up text, code and added a full legal disclaimer, and updated the screenshot link in README"}, {"post_id": 78064, "ts": "2026-10-09T12:51:02Z", "hours": 7.6728, "text": "Over the last few days, I’ve been working on the final version of the archive. I looked for duplicates in the movie list, did some debugging, made my repo public, tested the live URL, deleted some movies, cleaned up the code, made the top 5 cards keyboard-accessible, and tested the website on different browsers and devices. I also finished the README, checked for typos, checked the movie selection logic, activated GitHub Pages, refined some features, added easter eggs, added comments, and made sure the favicon works. I think I’m ready to ship!"}, {"post_id": 71914, "ts": "2026-09-21T19:19:09Z", "hours": 8.5761, "text": "Hey guys! This is gonna be a lot, because I had to lock in and the Stardance Challenge is slowly coming to an end. Here’s what I’ve been working on: -I created a “Warren’s Top 5 Picks” section consisting of glossy movie cards that open the IMDb page of the movie it’s about when clicked -I did some research on in game quotes from various characters with movie and/or pop culture references and added quotes to the movies that matched them. -In the end, I chose the following 5 movies: Planet of the Apes, LOTR, Blade Runner, Back to the Future, Twilight -I made sure that every card has a real IMDb link that opens in a brand new tab -I created “The Dual Clock” which is basically a glassy clock widget in the bottom-right corner with two timelines -Warren’s time (Oregon) and the user’s time (wherever you are) -I thought of this as a small nod to the time-travel theme of the game -I made sure that it updates every second -I created “The Eclipse Easter Egg” -Now this is one of my favorite features, consisting of an animated eclipse that only appears on October 8th (the day it happens in game in the end of Episode 2) -The Moon slides across the sun in an 8-second loop -If you click it you’ll be directed to a window with a Warren quote (quite literally what he says when he sees the eclipse before the episode ends) and a YouTube link to the song that was playing during that scene -After some debugging this works seamlessly now! -I cleaned up my repo and deleted my old messy prototype file -I added a disclaimer in the top-left (fan-project, all rights to Dontnod/Square Enix) -I added more movies (for the huge list the “Movie of the Day” is randomly chosen from) -Pushed to git ofc -Fixed some CSS typos If you read all of this, thanks for sticking around :) That’s it for now!"}, {"post_id": 63155, "ts": "2026-09-06T20:05:29Z", "hours": 2.7878, "text": "Hey guys! Here’s what I’ve been working on: -Built an Easter Egg that reveals secret messages (see down below) -Tested and polished the Easter egg -Debugged and fixed typos -Fixed heading readability (white font on a white background wasn’t my brightest idea, quite literally) -Added glass reflections -Added Aero window controls -Added a top glass glow -Adjusted shadows -Cleaned up my code That’s it for now :)"}, {"post_id": 61792, "ts": "2026-09-04T21:27:41Z", "hours": 1.3478, "text": "Unfortunately, I was kinda busy over the last few days, but here’s a quick update: I’ve been adding more movies to the Movie of The Day section! Here’s a sneak peek at the latest additions:"}, {"post_id": 59806, "ts": "2026-09-01T19:10:28Z", "hours": 3.5353, "text": "Hey guys! Quick update about the project! Since my last devlog, I’ve been working on the following: -Enhancing the Frutiger Aero style -Finishing the Movie of the Day movie list -Adding release years to the movies -Making the Movie of the Day change every 24h based on Pacific Time (since the game it’s inspired by takes place in OR) -Adding a well-hidden Easter egg -Making floating bubbles interactive + a pop effect anytime the bubbles are clicked! That’s all for today :)"}, {"post_id": 56857, "ts": "2026-08-28T20:18:24Z", "hours": 2.0628, "text": "Okay… my second devlog, and I somewhat changed the plan. Lol. While working on the website, I realized it became way more complicated than I initially expected, and seemed to drift away from my original design and the project I genuinely wanted to create. Since the vibe felt off, but I wanted the core idea to stay, I aimed for something more whimsical, nostalgic, playful, and fun. You might’ve guessed it, yes, I’m moving toward a Frutiger Aero-inspired look, and this definitely increased my overall fun and excitement about the project! Today, I mainly redesigned the front page (pic attached below)! Stay tuned for the next update :)"}, {"post_id": 56192, "ts": "2026-08-27T20:44:36Z", "hours": 3.9069, "text": "Welcome to my first devlog! I’ve been working on Warrens Sci-Fi & Pop Culture Archive, a project inspired by the Life is Strange character Warren Graham! I’ve recently added an interactive flash drive interface, an animated spiral loading screen with interesting (and random) science facts, and my first classic movie to the collection: Planet of the Apes. I’ve also added metadata and fan-made review notes written from his POV, along with a pixel-art grid system. Ironically, for someone named PXLS, the pixel-art grid isn’t looking quite right yet. I’m planning to fix that issue soon!"}]...
|
Title: Warren’s Sci-Fi & Pop Culture Archive b Title: Warren’s Sci-Fi & Pop Culture Archive by @PXLS | Stardance
Devlogs:
Welcome to my first devlog! I’ve been working on Warrens Sci-Fi & Pop Culture Archive, a project inspired by the Life is Strange character Warren Graham! I’ve recently added an interactive flash drive interface, an animated spiral loading screen with interesting (and random) science facts, and my first classic movie to the collection: Planet of the Apes. I’ve also added metadata and fan-made review notes written from his POV, along with a pixel-art grid system. Ironically, for someone named PXLS, the pixel-art grid isn’t looking quite right yet. I’m planning to fix that issue soon!
Okay… my second devlog, and I somewhat changed the plan. Lol. While working on the website, I realized it became way more complicated than I initially expected, and seemed to drift away from my original design and the project I genuinely wanted to create. Since the vibe felt off, but I wanted the core idea to stay, I aimed for something more whimsical, nostalgic, playful, and fun. You might’ve guessed it, yes, I’m moving toward a Frutiger Aero-inspired look, and this definitely increased my overall fun and excitement about the project! Today, I mainly redesigned the front page (pic attached below)! Stay tuned for the next update :)
Hey guys! Quick update about the project! Since my last devlog, I’ve been working on the following: -Enhancing the Frutiger Aero style -Finishing the Movie of the Day movie list -Adding release years to the movies -Making the Movie of the Day change every 24h based on Pacific Time (since the game it’s inspired by takes place in OR) -Adding a well-hidden Easter egg -Making floating bubbles interactive + a pop effect anytime the bubbles are clicked! That’s all for today :)
Unfortunately, I was kinda busy over the last few days, but here’s a quick update: I’ve been adding more movies to the Movie of The Day section! Here’s a sneak peek at the latest additions:
Hey guys! Here’s what I’ve been working on: -Built an Easter Egg that reveals secret messages (see down below) -Tested and polished the Easter egg -Debugged and fixed typos -Fixed heading readability (white font on a white background wasn’t my brightest idea, quite literally) -Added glass reflections -Added Aero window controls -Added a top glass glow -Adjusted shadows -Cleaned up my code That’s it for now :)
Hey guys! This is gonna be a lot, because I had to lock in and the Stardance Challenge is slowly coming to an end. Here’s what I’ve been working on: -I created a “Warren’s Top 5 Picks” section consisting of glossy movie cards that open the IMDb page of the movie it’s about when clicked -I did some research on in game quotes from various characters with movie and/or pop culture references and added quotes to the movies that matched them. -In the end, I chose the following 5 movies: Planet of the Apes, LOTR, Blade Runner, Back to the Future, Twilight -I made sure that every card has a real IMDb link that opens in a brand new tab -I created “The Dual Clock” which is basically a glassy clock widget in the bottom-right corner with two timelines -Warren’s time (Oregon) and the user’s time (wherever you are) -I thought of this as a small nod to the time-travel theme of the game -I made sure that it updates every second -I created “The Eclipse Easter Egg” -Now this is one of my favorite features, consisting of an animated eclipse that only appears on October 8th (the day it happens in game in the end of Episode 2) -The Moon slides across the sun in an 8-second loop -If you click it you’ll be directed to a window with a Warren quote (quite literally what he says when he sees the eclipse before the episode ends) and a YouTube link to the song that was playing during that scene -After some debugging this works seamlessly now! -I cleaned up my repo and deleted my old messy prototype file -I added a disclaimer in the top-left (fan-project, all rights to Dontnod/Square Enix) -I added more movies (for the huge list the “Movie of the Day” is randomly chosen from) -Pushed to git ofc -Fixed some CSS typos If you read all of this, thanks for sticking around :) That’s it for now!
Over the last few days, I’ve been working on the final version of the archive. I looked for duplicates in the movie list, did some debugging, made my repo public, tested the live URL, deleted some movies, cleaned up the code, made the top 5 cards keyboard-accessible, and tested the website on different browsers and devices. I also finished the README, checked for typos, checked the movie selection logic, activated GitHub Pages, refined some features, added easter eggs, added comments, and made sure the favicon works. I think I’m ready to ship!
Hey, today I rewrote README with project background and credits, rewrote description and declaration, deleted and rewrote code sections, added a background image with license attribution (Public Domain Mark 1.0) and a new font that fits the Frutiger Aero aesthetic better. I also added a Curator’s Note in the code documenting the manual curation process for the 400+ movie list, cleaned up text, code and added a full legal disclaimer, and updated the screenshot link in README
Ships:
“For every action, there’s a reaction.” That’s a line from Life is Strange, and honestly it’s the best way to describe how this project started: one obsession led to another, and somehow I ended up building a whole website about it. Over the last few months, I’ve been working on a project that truly fascinates me: Warren’s Sci-Fi & Pop Culture Archive. My main source of inspiration was my love for the video game Life is Strange, which contains a character, Warren, who is totally obsessed with sci-fi and science. That made me wonder: how could I create a website that combines movies with in-game references, a cool aesthetic, and easter eggs? In the end, this aspiration turned into the archive I’m proud to present. This is my first project for Hack Club, and even though I ran into a few bugs, especially with the timezone logic, I’m glad I made it this far. Feel free to test my project on desktop or mobile, just open the webpage!
I made some updates to Warren’s Sci-Fi and Pop-Culture Archive, such as changing the background and adding a new font. My goal was to enhance the Frutiger Aero aesthetic, which fits much better with the new design. Overall, the project combines music, movies, sci-fi, and plenty of Easter eggs. Hope you guys enjoy it!...
|
1792857005.9857748
|
1792943405.9857748
|
|
23222
|
Climate Shield by @HackerDpro | Stardance
|
HackerDpro
|
3
|
55.0
|
452
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T13:30:29Z", "hours": 26.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Dear voters, I made “CLIMATE SHIELD”, an interactive dashboard with real-time natural disasters (focussed mostly on fires) from NASA API’s being shown. Why: I made this project because I was surprised by hearing so much fire incidents on the news, I liked the idea of being able to see all fires and data in one place and easy-to-read. I also liked the idea of using NASA data for my project, as this Stardance challenge is sponsored by NASA. During the process of creating this project, I learn a lot about how to use API’s and merge multiple APIs into one dashboard. The difference between this and the previous ship I got lots of ideas and inspirations from the previous ship. So I did my best to implement them all into this ship, some examples: A canvas tutorial that explains the basics from my page to new users. You can replay it in the TELEMETRY page! Added more sources, this way some areas that weren’t covered before have also data (although I have done my best to only use free API’s, that means that it may not contain ALL the data there currently is). In my previous ship I added another way of seeing the world (if you click on the “RECON” buttons), now it is also a map you can select as standard-view. There was a bug that I can’t explain this short (you can see more info about it in my devlogs), but I mostly fixed it! I hope you have a great day, and thanks for voting!!!", "repo": "https://github.com/HackerDpro/climate-shield", "demo": "https://climate-shield.netlify.app/"}, {"ship_num": 2, "ts": "2026-10-08T20:49:50Z", "hours": 25.0, "multiplier": 15.5, "payout": 385, "blessing": "neutral", "text": "I made a web page with NASA live data (API’s) to track natural problems around the world. CLIMATE SHIELD! I am proud of it being one of my biggest projects. I got the idea of doing this by seeing in the news all the wildfires happening right now, it was perfect timing as I was searching for ideas of what I could make for Startdance. Even though I knew there are already bunch of other sites that do this and may be 100x better than mine I just thought thta I woudl be so proud if I were able to make one myself. To be honest I did use AI, maybe a little bit too much some times. But I tried my best to participate as much as I can on the project, I know that AI shouldn’t be doing this for me. I learnt about all the back end things and API’s (I was frontend dev before but had low experience of back end, so this learnt me much too). So dear reviewer, I hope you like, enjoy and support my project as much as I do, have fun reviewing all the parts of it. If even like this my project would dissapoint you, I’d be glad to be able to get a feedback so I can make it even better! P.S. I appear to sometimes still have problems with the backend, it is hosted on the hack club Nest servers that should run 24/7 but I sometimes have connection errors with it so if the backend data doesn’t show directly after reloading the site please don’t check my project as failed, I am doing my best to make it work! Oh and yeah, I ma sorry for this looking so unstructurised but I didn’t really know how this be represented to you, if I maybe should write this the same layout as a README or a DEVBLOG", "repo": "https://github.com/HackerDpro/climate-shield", "demo": "https://climate-shield.netlify.app/"}, {"ship_num": 3, "ts": "2026-06-21T19:03:22Z", "hours": 4.0, "multiplier": 17.74, "payout": 67, "blessing": "neutral", "text": "I built Climate Shield, an AI-enhanced dashboard for global wildfire prediction. What I made: A high-performance Command Center that tracks 6,000+ real-time wildfire events. It integrates NASA satellite data with Open-Meteo elevation and OpenWeatherMap metrics to predict fire spread behaviors based on terrain and wind vectors. What was challenging: Scaling! Rendering 6k+ fires crashed my browser initially. I solved this by migrating the map engine to HTML5 Canvas for instant performance. I also had to implement an ‘on-demand’ API fetching strategy to bypass rate limits while maintaining deep-dive analytics. What I’m proud of: The ‘Terrain AI.’ By calculating elevation data in real-time, the dashboard now identifies ‘Critical Uphill Alignment’ a major factor in wildfire spread, and generates a 24-hour linear projection for dangerous outbreaks. How to test: Visit the Live Dashboard. ( https://climate-shield.netlify.app/ ) Toggle between Tactical (full data), Orbital (map focus), and Telemetry (deep analytics) modes. Click any fire marker to view specific wind, elevation, and hazard score data. Have fun discovering all the data.", "repo": "https://github.com/HackerDpro/climate-shield", "demo": "https://climate-shield.netlify.app/"}]...
|
[{"post_id": 79522, "ts": "202 [{"post_id": 79522, "ts": "2026-10-14T13:05:26Z", "hours": 6.2528, "text": "ALL BUGS SOLVED (I think) This is my last devlog before 3rd ship! It was hard but I think I have done everything my 2nd ship’s voters told me to, I am exited to see what my 3rd ship’s voters will think of my project. I am happy with how my project turned out (Although I always like people giving me ideas and inspirations for future features and more)!"}, {"post_id": 79467, "ts": "2026-10-14T05:10:56Z", "hours": 8.4911, "text": "8 hours later = BUG FIXED After 8 hours of coding later and some frustrations: I finally fixed the annoying bug that I had (more info of the bug is to be seen in my previous devlogs). I am making my final changes before shipping, fixing a new smaller bug I found recently “NASA FIRMS data not loading”. After making all these changes: the bug fix, tutorial implementation, adding new sources and merging them, … I expect my 3rd ship to be soon!!!"}, {"post_id": 78883, "ts": "2026-10-11T21:15:19Z", "hours": 5.4208, "text": "More progress with merging Today I’ve mostly made progress with the codes to merge multiple API’s into the same details pup-up. I also did my best on finding a solution for the bug that has been happening when a fire pop-up shows and it touches the top of the page and dissapears. My only solution right now is to minimize the page (“ctrl” + “-”). Come back to see tomorrow’s devlog!"}, {"post_id": 78459, "ts": "2026-10-10T20:51:07Z", "hours": 6.0917, "text": "POST-SHIP PROGRESS I’ve been working on satisfying the reviews I got from my last shipment’s voters. I have been making a tutorial for first-timers on my page, it will show the basics of how to navigate and use my Climate-Shield project, a replay will be availble in the “TELEMETRY” tab. (view picture below). I am doing my best on fixing a very annoying bug that makes the details from a fire show for a split second and dissapear. It has been hard to fix that bug for now… I am working on adding more resources so I don’t only rely on 1 API but multiple (some may have more data than others). The difficult part has been trying to merge same fires from different api’s in one fire (to not have duplicates). These are my main issues I am working on right now, tomorrow I’ll continue, have a good day!"}, {"post_id": 77931, "ts": "2026-10-08T20:33:39Z", "hours": 7.9175, "text": "After coming back to Climate Shield I found that the backend (hack club Nest) had stopped, so the dashboard could no longer load its data. I got it running again (with PM2 and systemd), then replaced the map that suddenly was asking for an API key with another one (Esri tiles). When the fires still seemed missing, I checked the live data and found 7,130 valid reports. On the new map, the markers were just too small and hard to see, so I made them bigger and with a dark outline. I then tested the Netlify page with the API and saw that everything worked. I also updated the README and wrote my use of AI assistance (I am not sure if I would’ve been able to revive the project without it)."}, {"post_id": 22753, "ts": "2026-07-05T10:28:33Z", "hours": 2.4594, "text": "I have been a bit quiet lately, here is what is happening: I am on holidays with my family in Spain, this is what is keeping my time limited. I also don’t have a desktop here so that makes working and coding a bit more difficult (I work on a 14” schoollaptop). I am working on a very big update, about adding satelite cams and nearby webcams to visualize fires and maybe other things. This is a bit harder than expected but I expect it to be done in some hours, this would be the special update for celebrating my 25 or 30 hours in total coding time. I am also trying to make the feedback recieved from the shipping true, removing some bugs users found, … If you are reading this maybe you would like to try it out, I really appreciate feedback because it helps me improve what I don’t see. https://climate-shield.netlify.app/"}, {"post_id": 16198, "ts": "2026-06-26T10:01:54Z", "hours": 8.3156, "text": "Changing to a real server & a new TACTICAL UI Added a new Dropdown menu to the TACTICAL page to filter threats by layers and fully changed the backend to the Hack Club Nest server! The biggest friction this week was dealing with my old Render backend constantly going to sleep, which made the web app feel broken to new users. I finally set up my FastAPI app with PM2 so it stays awake 24/7. On the frontend, I built a sleek new dropdown to change between Earthquakes, Floods, Storms, and Volcanoes. The hard part was getting the map layers to play nicely together, toggling the new NASA API’s kept overwriting my core 6,000+ wildfire array! I had to rewrite the logic to separate the Leaflet layers so the map can stays fast and doesn’t wipe your data when you switch views. Right now, I am still trying to fix some bugs and improving the CO2 graph, I am also planning on updating my README.md to explain the new features (better). THANK YOU FOR READING! (I am almost at 20 hours of coding omg, I may need to add a special feature for when it happens. Any ideas or improvements are really appreciated!)"}, {"post_id": 15016, "ts": "2026-06-24T12:13:11Z", "hours": 0.7833, "text": "I hit 10 hours of coding! Here is what i lately changed: I just made a clock in the Tactical page (who doesn’t need a clock). I changed the font-family to Roboto. And I also changed the colors and some styling to feel more personal (I got much comments saying that I used AI so I am currently rewriting the most of the css to feel more like me)."}, {"post_id": 14306, "ts": "2026-06-23T11:47:37Z", "hours": 1.7369, "text": "Lastly I’ve remade the whole (first section) of the README.md, no more AI is used in it. I have made some improvement on the Orbital to be able to display the extra sensors too (btw extra sensors is a new feature too, read the README.md to learn more about it). I also made a costum favicon. Right now I am gathering API’s for more data and info comming soon, and also trying to categorize the things better so my site doesn’t look too messy (to new users)."}, {"post_id": 13910, "ts": "2026-06-22T20:14:16Z", "hours": 3.6611, "text": "Here is a summary of what I added on Day 3: Orbital Engine: Implemented a 3D WebGL globe with hardware-accelerated solar shading and physical height-mapped thermal pillars. Predictive “Pre-Crime” Scanning: Created a sector-based scan that analyzes soil moisture and weather data to calculate ignition probability for any empty landmass. Tactical Evacuation Routing: Integrated the Open Source Routing Machine (OSRM) to automatically generate safe civilian escape paths based on wind direction and terrain. Multi-Hazard Sensor Array: Added specialized monitoring layers for Mudslides (soil hydrophobicity), Cyclones (SST anomalies), Volcanic Ash (stratospheric tracking), and Seismic Activity (USGS lithospheric data). Raw Radiometry Engine: Added the ability to ingest NASA MODAPS CSV data to measure physical fire intensity in Megawatts (FRP), rather than just visual location. Performance Engineering: Optimized massive dataset rendering by offloading complex physics calculations to background CPU Web Workers to ensure zero UI lag. More info in https://github.com/HackerDpro/climate-shield"}, {"post_id": 13270, "ts": "2026-06-21T18:44:58Z", "hours": 2.8814, "text": "Read the README.dm for a full resume but here is a shortened version of my day 2: I’ve hit a major milestone in the development of Climate Shield. Scaling a dashboard to handle 6,000+ live wildfire events while maintaining a responsive user interface required a total re-architecture of my data pipeline. Technical Challenges & Solutions: Performance Scaling: To prevent browser crashes, I migrated from standard map markers to an HTML5 Canvas rendering engine. This allows for thousands of data points to load near-instantly without lag. API Intelligence: To handle 6,000+ potential weather requests without triggering rate limits, I implemented an “on-demand” fetching model. Wind vectors and elevation-based terrain analytics now trigger only when a user interacts with a specific fire, ensuring the dashboard remains fast and efficient. Terrain-Aware Analytics: I integrated elevation data to model fire spread. The engine now calculates whether a fire is on a “Critical Uphill Alignment”—a major factor in real-world wildfire behavior—providing a 24-hour linear projection for the most dangerous incidents. Dashboard Evolution: I’ve evolved the UI into a true Command Center with three distinct view modes:Tactical: The default full-dashboard view.Orbital: A map-focused mode for spatial tracking. Telemetry: A high-level data engine featuring carbon flux calculations, predictive risk averages, and hazard distribution matrices. This transition from a simple map to a multi-layered predictive engine has significantly improved the tool’s utility. Whether it’s tracking global CO2 trajectories or specific uphill fire spread, Climate Shield is now a high-performance asset for wildfire visualization."}, {"post_id": 13006, "ts": "2026-06-21T08:24:12Z", "hours": 0.9553, "text": "Spent our first session setting up the entire architecture for Climate Shield. Instead of just building a static map, we built a live data bridge. We successfully connected a Python backend engine using FastAPI to NASA’s live EONET satellite network, pulling in over 6,000 active global wildfires! To bypass cloud firewalls and handle messy data, we engineered a custom data-cleaning filter. Then, we linked the coordinates to the OpenWeatherMap API to calculate real-time wind speed and direction. Right now, the frontend map isn’t just displaying fire locations—it is actively rendering dynamic Risk Vectors (yellow trajectory lines) showing exactly where the wind is driving the fire spread. Next up: building the AI hazard scoring system!"}]...
|
Title: Climate Shield by @HackerDpro | Stardance
Title: Climate Shield by @HackerDpro | Stardance
Devlogs:
Spent our first session setting up the entire architecture for Climate Shield. Instead of just building a static map, we built a live data bridge. We successfully connected a Python backend engine using FastAPI to NASA’s live EONET satellite network, pulling in over 6,000 active global wildfires! To bypass cloud firewalls and handle messy data, we engineered a custom data-cleaning filter. Then, we linked the coordinates to the OpenWeatherMap API to calculate real-time wind speed and direction. Right now, the frontend map isn’t just displaying fire locations—it is actively rendering dynamic Risk Vectors (yellow trajectory lines) showing exactly where the wind is driving the fire spread. Next up: building the AI hazard scoring system!
Read the README.dm for a full resume but here is a shortened version of my day 2: I’ve hit a major milestone in the development of Climate Shield. Scaling a dashboard to handle 6,000+ live wildfire events while maintaining a responsive user interface required a total re-architecture of my data pipeline. Technical Challenges & Solutions: Performance Scaling: To prevent browser crashes, I migrated from standard map markers to an HTML5 Canvas rendering engine. This allows for thousands of data points to load near-instantly without lag. API Intelligence: To handle 6,000+ potential weather requests without triggering rate limits, I implemented an “on-demand” fetching model. Wind vectors and elevation-based terrain analytics now trigger only when a user interacts with a specific fire, ensuring the dashboard remains fast and efficient. Terrain-Aware Analytics: I integrated elevation data to model fire spread. The engine now calculates whether a fire is on a “Critical Uphill Alignment”—a major factor in real-world wildfire behavior—providing a 24-hour linear projection for the most dangerous incidents. Dashboard Evolution: I’ve evolved the UI into a true Command Center with three distinct view modes:Tactical: The default full-dashboard view.Orbital: A map-focused mode for spatial tracking. Telemetry: A high-level data engine featuring carbon flux calculations, predictive risk averages, and hazard distribution matrices. This transition from a simple map to a multi-layered predictive engine has significantly improved the tool’s utility. Whether it’s tracking global CO2 trajectories or specific uphill fire spread, Climate Shield is now a high-performance asset for wildfire visualization.
Here is a summary of what I added on Day 3: Orbital Engine: Implemented a 3D WebGL globe with hardware-accelerated solar shading and physical height-mapped thermal pillars. Predictive “Pre-Crime” Scanning: Created a sector-based scan that analyzes soil moisture and weather data to calculate ignition probability for any empty landmass. Tactical Evacuation Routing: Integrated the Open Source Routing Machine (OSRM) to automatically generate safe civilian escape paths based on wind direction and terrain. Multi-Hazard Sensor Array: Added specialized monitoring layers for Mudslides (soil hydrophobicity), Cyclones (SST anomalies), Volcanic Ash (stratospheric tracking), and Seismic Activity (USGS lithospheric data). Raw Radiometry Engine: Added the ability to ingest NASA MODAPS CSV data to measure physical fire intensity in Megawatts (FRP), rather than just visual location. Performance Engineering: Optimized massive dataset rendering by offloading complex physics calculations to background CPU Web Workers to ensure zero UI lag. More info in https://github.com/HackerDpro/climate-shield
Lastly I’ve remade the whole (first section) of the README.md, no more AI is used in it. I have made some improvement on the Orbital to be able to display the extra sensors too (btw extra sensors is a new feature too, read the README.md to learn more about it). I also made a costum favicon. Right now I am gathering API’s for more data and info comming soon, and also trying to categorize the things better so my site doesn’t look too messy (to new users).
I hit 10 hours of coding! Here is what i lately changed: I just made a clock in the Tactical page (who doesn’t need a clock). I changed the font-family to Roboto. And I also changed the colors and some styling to feel more personal (I got much comments saying that I used AI so I am currently rewriting the most of the css to feel more like me).
Changing to a real server & a new TACTICAL UI Added a new Dropdown menu to the TACTICAL page to filter threats by layers and fully changed the backend to the Hack Club Nest server! The biggest friction this week was dealing with my old Render backend constantly going to sleep, which made the web app feel broken to new users. I finally set up my FastAPI app with PM2 so it stays awake 24/7. On the frontend, I built a sleek new dropdown to change between Earthquakes, Floods, Storms, and Volcanoes. The hard part was getting the map layers to play nicely together, toggling the new NASA API’s kept overwriting my core 6,000+ wildfire array! I had to rewrite the logic to separate the Leaflet layers so the map can stays fast and doesn’t wipe your data when you switch views. Right now, I am still trying to fix some bugs and improving the CO2 graph, I am also planning on updating my README.md to explain the new features (better). THANK YOU FOR READING! (I am almost at 20 hours of coding omg, I may need to add a special feature for when it happens. Any ideas or improvements are really appreciated!)
I have been a bit quiet lately, here is what is happening: I am on holidays with my family in Spain, this is what is keeping my time limited. I also don’t have a desktop here so that makes working and coding a bit more difficult (I work on a 14” schoollaptop). I am working on a very big update, about adding satelite cams and nearby webcams to visualize fires and maybe other things. This is a bit harder than expected but I expect it to be done in some hours, this would be the special update for celebrating my 25 or 30 hours in total coding time. I am also trying to make the feedback recieved from the shipping true, removing some bugs users found, … If you are reading this maybe you would like to try it out, I really appreciate feedback because it helps me improve what I don’t see. https://climate-shield.netlify.app/
After coming back to Climate Shield I found that the backend (hack club Nest) had stopped, so the dashboard could no longer load its data. I got it running again (with PM2 and systemd), then replaced the map that suddenly was asking for an API key with another one (Esri tiles). When the fires still seemed missing, I checked the live data and found 7,130 valid reports. On the new map, the markers were just too small and hard to see, so I made them bigger and with a dark outline. I then tested the Netlify page with the API and saw that everything worked. I also updated the README and wrote my use of AI assistance (I am not sure if I would’ve been able to revive the project without it).
POST-SHIP PROGRESS I’ve been working on satisfying the reviews I got from my last shipment’s voters. I have been making a tutorial for first-timers on my page, it will show the basics of how to navigate and use my Climate-Shield project, a replay will be availble in the “TELEMETRY” tab. (view picture below). I am doing my best on fixing a very annoying bug that makes the details from a fire show for a split second and dissapear. It has been hard to fix that bug for now… I am working on adding more resources so I don’t only rely on 1 API but multiple (some may have more data than others). The difficult part has been trying to merge same fires from different api’s in one fire (to not have duplicates). These are my main issues I am working on right now, tomorrow I’ll continue, have a good day!
More progress with merging Today I’ve mostly made progress with the codes to merge multiple API’s into the same details pup-up. I also did my best on finding a solution for the bug that has been happening when a fire pop-up shows and it touches the top of the page and dissapears. My only solution right now is to minimize the page (“ctrl” + “-”). Come back to see tomorrow’s devlog!
8 hours later = BUG FIXED After 8 hours of coding later and some frustrations: I finally fixed the annoying bug that I had (more info of the bug is to be seen in my previous devlogs). I am making my final changes before shipping, fixing a new smaller bug I found recently “NASA FIRMS data not loading”. After making all these changes: the bug fix, tutorial implementation, adding new sources and merging them, … I expect my 3rd ship to be soon!!!
ALL BUGS SOLVED (I think) This is my last devlog before 3rd ship! It was hard but I think I have done everything my 2nd ship’s voters told me to, I am exited to see what my 3rd ship’s voters will think of my project. I am happy with how my project turned out (Although I always like people giving me ideas and inspirations for future features and more)!
Ships:
I built Climate Shield, an AI-enhanced dashboard for global wildfire prediction. What I made: A high-performance Command Center that tracks 6,000+ real-time wildfire events. It integrates NASA satellite data with Open-Meteo elevation and OpenWeatherMap metrics to predict fire spread behaviors based on terrain and wind vectors. What was challenging: Scaling! Rendering 6k+ fires crashed my browser initially. I solved this by migrating the map engine to HTML5 Canvas for instant performance. I also had to implement an ‘on-demand’ API fetching strategy to bypass rate limits while maintaining deep-dive analytics. What I’m proud of: The ‘Terrain AI.’ By calculating elevation data in real-time, the dashboard now identifies ‘Critical Uphill Alignment’ a major factor in wildfire spread, and generates a 24-hour linear projection for dangerous outbreaks. How to test: Visit the Live Dashboard. ( https://climate-shield.netlify.app/ ) Toggle between Tactical (full data), Orbital (map focus), and Telemetry (deep analytics) modes. Click any fire marker to view specific wind, elevation, and hazard score data. Have fun discovering all the data.
I made a web page with NASA live data (API’s) to track natural problems around the world. CLIMATE SHIELD! I am proud of it being one of my biggest projects. I got the idea of doing this by seeing in the news all the wildfires happening right now, it was perfect timing as I was searching for ideas of what I could make for Startdance. Even though I knew there are already bunch of other sites that do this and may be 100x better than mine I just thought thta I woudl be so proud if I were able to make one myself. To be honest I did use AI, maybe a little bit too much some times. But I tried my best to participate as much as I can on the project, I know that AI shouldn’t be doing this for me. I learnt about all the back end things and API’s (I was frontend dev before but had low experience of back end, so this learnt me much too). So dear reviewer, I hope you like, enjoy and support my project as much as I do, have fun reviewing all the parts of it. If even like this my project would dissapoint you, I’d be glad to be able to get a feedback so I can make it even better! P.S. I appear to sometimes still have problems with the backend, it is hosted on the hack club Nest servers that should run 24/7 but I sometimes have connection errors with it so if the backend data doesn’t show directly after reloading the site please don’t check my project as failed, I am doing my best to make it work! Oh and yeah, I ma sorry for this looking so unstructurised but I didn’t really know how this be represented to you, if I maybe should write this the same layout as a README or a DEVBLOG
Dear voters, I made “CLIMATE SHIELD”, an interactive dashboard with real-time natural disasters (focussed mostly on fires) from NASA API’s being shown. Why: I made this project because I was surprised by hearing so much fire incidents on the news, I liked the idea of being able to see all fires and data in one place and easy-to-read. I also liked the idea of using NASA data for my project, as this Stardance challenge is sponsored by NASA. During the process of creating this project, I learn a lot about how to use API’s and merge multiple APIs into one dashboard. The difference between this and the previous ship I got lots of ideas and inspirations from the previous ship. So I did my best to implement them all into this ship, some examples: A canvas tutorial that explains the basics from my page to new users. You can replay it in the TELEMETRY page! Added more sources, this way some areas that weren’t covered before have also data (although I have done my best to only use free API’s, that means that it may not contain ALL the data there currently is). In my previous ship I added another way of seeing the world (if you click on the “RECON” buttons), now it is also a map you can select as standard-view. There was a bug that I can’t explain this short (you can see more info about it in my devlogs), but I mostly fixed it! I hope you have a great day, and thanks for voting!!!...
|
1792084771.3176944
|
1792948771.3176944
|
|
57022
|
Frictionless by @Aditya_Singh | Stardance
|
Aditya_Singh
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T13:25:02Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "PATCHWORK — Your Personal Productivity Workspace PATCHWORK is a lightweight productivity app designed to help people organize tasks, capture ideas, and keep useful links in one place. Instead of spreading information across multiple apps and tabs, PATCHWORK brings everyday organization into a single, simple workspace. Key features: Task management: Create tasks, set priorities, assign due dates, and track completion. Notes: Capture and organize ideas. Link collection: Keep useful resources together. Quick Capture: Add information without navigating through multiple screens. Search and filtering: Find items more easily. Dashboard: Get an overview of tasks and progress. Persistent storage: Keep saved items after refreshing the page using browser local storage. Built with: React, TypeScript, Vite, and CSS. The problem I wanted to solve: Keeping track of tasks, ideas, and useful resources can become difficult when they are scattered across different places. I built PATCHWORK to bring these everyday productivity tools into one workspace that is straightforward to use. The challenges I faced: One of the biggest challenges was bringing all the different parts of PATCHWORK together into one working application. Getting the React components, TypeScript, styling, and local storage to work together took time, testing, and debugging. Setting up Git, publishing my code on GitHub, and deploying the app were also new experiences that I had to work through. There were moments when things didn’t work as expected, but I learned to troubleshoot problems one step at a time. Another important challenge was making sure that tasks and notes remained saved after refreshing the page. Since PATCHWORK uses browser local storage, I needed to ensure that the app could save data correctly and load it again when reopened. This project taught me that building an application involves much more than just writing code. It requires patience, problem-solving, testing, and a willingness to learn from mistakes. I know that future bugs and challenges may arise, and I’m ready to approach them by investigating the problem, trying solutions, and learning along the way. What makes me proud: I’m most proud of taking PATCHWORK from an idea to a working, publicly accessible application. And I’m proud of that I spent over eight hours working on this project, learning new things, fixing issues, and improving the result along the way. This experience gave me more confidence in my ability to build and publish projects of my own. Things I learned: Building PATCHWORK gave me practical experience with React components, TypeScript, UI styling, browser storage, Git, GitHub, and deploying a web application.", "repo": "https://github.com/zealot-adi/patchwork", "demo": "https://patchwork-gray.vercel.app/"}]...
|
[{"post_id": 79519, "ts": "202 [{"post_id": 79519, "ts": "2026-10-14T12:38:39Z", "hours": 0.9619, "text": "FINALLY!! it’s live now"}, {"post_id": 79480, "ts": "2026-10-14T07:16:19Z", "hours": 1.6156, "text": "making the README as professional as I can."}, {"post_id": 79377, "ts": "2026-10-13T18:40:16Z", "hours": 0.6389, "text": "I guess the UI is pretty decent but I found errors while saving a quick capture so I’ll fix that next"}, {"post_id": 79367, "ts": "2026-10-13T17:52:43Z", "hours": 2.565, "text": "just crashing out ..! (gotta add few more lines TvT) and I hope people don’t mind my short devlogs :p"}, {"post_id": 79262, "ts": "2026-10-13T07:39:43Z", "hours": 0.7411, "text": "It’s so mid right now"}, {"post_id": 79253, "ts": "2026-10-13T06:33:48Z", "hours": 1.1675, "text": "gng just completed the typescript thingy gonna do the CSS next xD"}, {"post_id": 79236, "ts": "2026-10-13T04:54:13Z", "hours": 0.3056, "text": "hello chat, I’m making a web app that helps people organize tasks, notes, links, and code snippets in one interactive workspace. Lol and I Just defined the type structures for the items so the interactive board knows how to handle tasks, notes, and links. Imma update ya’ll later and I hope I don’t run into bugs again😭"}]...
|
Title: Frictionless by @Aditya_Singh | Stardance
Title: Frictionless by @Aditya_Singh | Stardance
Devlogs:
hello chat, I’m making a web app that helps people organize tasks, notes, links, and code snippets in one interactive workspace. Lol and I Just defined the type structures for the items so the interactive board knows how to handle tasks, notes, and links. Imma update ya’ll later and I hope I don’t run into bugs again😭
gng just completed the typescript thingy gonna do the CSS next xD
It’s so mid right now
just crashing out ..! (gotta add few more lines TvT) and I hope people don’t mind my short devlogs :p
I guess the UI is pretty decent but I found errors while saving a quick capture so I’ll fix that next
making the README as professional as I can.
FINALLY!! it’s live now
Ships:
PATCHWORK — Your Personal Productivity Workspace PATCHWORK is a lightweight productivity app designed to help people organize tasks, capture ideas, and keep useful links in one place. Instead of spreading information across multiple apps and tabs, PATCHWORK brings everyday organization into a single, simple workspace. Key features: Task management: Create tasks, set priorities, assign due dates, and track completion. Notes: Capture and organize ideas. Link collection: Keep useful resources together. Quick Capture: Add information without navigating through multiple screens. Search and filtering: Find items more easily. Dashboard: Get an overview of tasks and progress. Persistent storage: Keep saved items after refreshing the page using browser local storage. Built with: React, TypeScript, Vite, and CSS. The problem I wanted to solve: Keeping track of tasks, ideas, and useful resources can become difficult when they are scattered across different places. I built PATCHWORK to bring these everyday productivity tools into one workspace that is straightforward to use. The challenges I faced: One of the biggest challenges was bringing all the different parts of PATCHWORK together into one working application. Getting the React components, TypeScript, styling, and local storage to work together took time, testing, and debugging. Setting up Git, publishing my code on GitHub, and deploying the app were also new experiences that I had to work through. There were moments when things didn’t work as expected, but I learned to troubleshoot problems one step at a time. Another important challenge was making sure that tasks and notes remained saved after refreshing the page. Since PATCHWORK uses browser local storage, I needed to ensure that the app could save data correctly and load it again when reopened. This project taught me that building an application involves much more than just writing code. It requires patience, problem-solving, testing, and a willingness to learn from mistakes. I know that future bugs and challenges may arise, and I’m ready to approach them by investigating the problem, trying solutions, and learning along the way. What makes me proud: I’m most proud of taking PATCHWORK from an idea to a working, publicly accessible application. And I’m proud of that I spent over eight hours working on this project, learning new things, fixing issues, and improving the result along the way. This experience gave me more confidence in my ability to build and publish projects of my own. Things I learned: Building PATCHWORK gave me practical experience with React components, TypeScript, UI styling, browser storage, Git, GitHub, and deploying a web application....
|
1792688030.6190953
|
1792774430.6190953
|
|
69557
|
DisonBOT by @yoru_ayan | Stardance
|
yoru_ayan
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T13:08:40Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Yop after finding a hosting for the bot it finally 24/7 online now. The bto is named after my stuff toy Dison. Soon i will add new commands which definatly going to be great", "repo": "https://github.com/aniway89/Dison-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0C94B0GX70"}]...
|
[{"post_id": 79409, "ts": "202 [{"post_id": 79409, "ts": "2026-10-13T20:53:37Z", "hours": 2.2353, "text": "Yo Guys I Built DisonBot with four slash commands: ping, help, cat facts, and random jokes. Waiting for the NEST account so I can make it 24/7……"}]...
|
Title: DisonBOT by @yoru_ayan | Stardance
Devlogs Title: DisonBOT by @yoru_ayan | Stardance
Devlogs:
Yo Guys I Built DisonBot with four slash commands: ping, help, cat facts, and random jokes. Waiting for the NEST account so I can make it 24/7……
Ships:
Yop after finding a hosting for the bot it finally 24/7 online now. The bto is named after my stuff toy Dison. Soon i will add new commands which definatly going to be great...
|
1792857119.4847977
|
1792943519.4847977
|
|
57085
|
expenditureAI by @ahnafiscool | Stardance
|
ahnafiscool
|
2
|
14.0
|
78
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T12:13:39Z", "hours": 8.0, "multiplier": 4.22, "payout": 35, "blessing": "neutral", "text": "This ship is to account for the few hours I could not log into the previous ship after some changes were requested. I almost forgot about cuz I was working on other YSWSs and stardance is coming to an end too. The major changes I made were updating of the service page with globes and a few redesigns + Added a new homepage/landing page.", "repo": "https://github.com/AhnafPro/ExpenditureAI/", "demo": "https://expenditureai.wasmer.app/"}, {"ship_num": 2, "ts": "2026-09-16T18:31:36Z", "hours": 6.0, "multiplier": 7.37, "payout": 43, "blessing": "neutral", "text": "A simple yet unique project idea that came in my mind at the start of this month has finally reached it’s first milestone. Here it is the first ship and the first beta preview of the project… The challenging part was creating the logic and the algorithm, at first I thought of using some AI api but then I realized that most of the credit would go to the AI not me so I came up with such a plan. The fun part was actually designing the UI of the website because It was cool to experiment with countless design and I’m glad of how it looks now. I’ve tried my best to keep the documentation and presentation side well so that each devlog, readme etc. were easy to understand by a glance. PLEASE 🙏 keep in mind that this project is still in development and for sure lacks options under “active expenses” as it just to give a peek on what I made. So please, do not rate the project negatively saying that there were less options, or outputs were not from real AI etc… Thank You!", "repo": "https://github.com/AhnafPro/ExpenditureAI/", "demo": "https://expenditureai.wasmer.app/"}]...
|
[{"post_id": 74720, "ts": "202 [{"post_id": 74720, "ts": "2026-09-28T02:13:38Z", "hours": 8.3244, "text": "We are almost dead end of the stardance and I hope this is gonna be my last devlog. Last time I had to make changes since AI use went over 30%, so I had to either add new features or rewrite the codes myself. Here are the changes: Added: New landing page (made purely out of HTML/CSS) Custom globe model with major regions marked (Made in sculptGL and textured in Paint3D, used google’s model-viewer to display) Region code legend marked in color emoji squares. Notes (for storing texts in local storage) Rewrote: Currency converter (redesinged with bare HTML/CSS and paired with existing script.) New README (reference from othneildrew/Best-README-Template, and Ileriayo/markdown-badges) note: for now the chart is not functional, I will fix it later."}, {"post_id": 69267, "ts": "2026-09-16T18:16:34Z", "hours": 0.5953, "text": "And here it is, finally forged a clean and simple README.md page. I have not got anything to say since it is the last log before I ship. So better read the ship message or check down other logs…"}, {"post_id": 68520, "ts": "2026-09-15T07:55:10Z", "hours": 0.3878, "text": "I made a small change before the ship. I have added a small widget and a legend for the country codes inside the forcast box. The widget is able to convert the other country rates to USD on a rough estimate. Along with that the forcast changes its currency too now. The analyze button now works manually unlike before where it just instantly show the output. After this I’ll have to upload it to infinity free for the hosting. I might make another log when I’m done writing the README.md. CYA…"}, {"post_id": 68494, "ts": "2026-09-15T07:02:06Z", "hours": 0.3819, "text": "The flowcharts and logic for the food delivery options are done. This one I made it on figma and as you can see it does not look as good as the one on the right (made on draw.io), plus it was kinda sluggish to make it cuz randomly the figma page gets corrupted and the texts get interchanged in the boxes. And the saddest thing was I spent an hour on it but the extension only recorded 22 mins. But, i’ve finally done it. I think I will ship it now for everyone to test it before I progress more into it."}, {"post_id": 67998, "ts": "2026-09-14T10:49:18Z", "hours": 0.2561, "text": "After juggling with lots of tight time management, I was able to finish the algorithm logic for the music subscription options. I made it on draw.io and honestly it was not that quick and easy as it looks. I will be switching to figma for the next data set since doing all these on draw.io won’t log anytime but it will get more complicated make these flowchart compared to how smooth it is on draw. I must get back to make another chart, CYA!"}, {"post_id": 66069, "ts": "2026-09-11T17:15:29Z", "hours": 0.915, "text": "Unfortunately, I had lost my streak… cuz I was having exams and stuff so I could not really do much until today and made a bit of progress on the UI side, nothings yet funtional do but this is how the finsihed UI is gonna look like. I might have to skip few more days until I get enough time to make my own algoritm since I’m not planning to use any kind of pre-made AI apis or any help from someone’s AI. It’s gonna be based on all present/given data. Cya"}, {"post_id": 63097, "ts": "2026-09-06T18:19:27Z", "hours": 1.0053, "text": "Everything is still static, nothing is yet functional but it soon will be. For now I have added heading and other UI components, skeleton etc. I have tried to make it look as professional looking as I can with simple fonts and good placement of texts. I did not make much progress in these days since my exams are coming up and tmrw is my first term exam. Everybody please pray for me, tysm. gtg sleep now, bye"}, {"post_id": 62001, "ts": "2026-09-05T06:31:19Z", "hours": 1.0628, "text": "I have completely made the layout, and I bet it looks really clean. And I have added hover animations to all of it. For the large boxes, those will have a card hover animation where it follows your pointer if you hover over them, and the smaller boxes will have a simple yet smooth pop-up hover animation. I have marked each of the boxes in different colors so that it can be understood what each of the section does: Red: It shows our total cost forecast, month, and what percentage each item costs. Blue: It is where you add your items along with cost. Black: Here is where the algorithm or AI gives the output Yellow: Bar graph comparison between our input and ai/algorithm saving suggestions and shows the total savings amount. cya until next log…"}, {"post_id": 60856, "ts": "2026-09-03T14:13:34Z", "hours": 1.2794, "text": "Just started this project, I am still making the layout and stuffs. I’m thinking of going for a clean, simple and minimalistic design for the site. And I have plans to make a landing page for it later on when I finish the actual project’s site (this one). Though I have to give it a sleek look, I don’t want to make it look dark and boring so there will be little tweaks to the design you might see on next log…"}]...
|
Title: expenditureAI by @ahnafiscool | Stardance
Title: expenditureAI by @ahnafiscool | Stardance
Devlogs:
Just started this project, I am still making the layout and stuffs. I’m thinking of going for a clean, simple and minimalistic design for the site. And I have plans to make a landing page for it later on when I finish the actual project’s site (this one). Though I have to give it a sleek look, I don’t want to make it look dark and boring so there will be little tweaks to the design you might see on next log…
I have completely made the layout, and I bet it looks really clean. And I have added hover animations to all of it. For the large boxes, those will have a card hover animation where it follows your pointer if you hover over them, and the smaller boxes will have a simple yet smooth pop-up hover animation. I have marked each of the boxes in different colors so that it can be understood what each of the section does: Red: It shows our total cost forecast, month, and what percentage each item costs. Blue: It is where you add your items along with cost. Black: Here is where the algorithm or AI gives the output Yellow: Bar graph comparison between our input and ai/algorithm saving suggestions and shows the total savings amount. cya until next log…
Everything is still static, nothing is yet functional but it soon will be. For now I have added heading and other UI components, skeleton etc. I have tried to make it look as professional looking as I can with simple fonts and good placement of texts. I did not make much progress in these days since my exams are coming up and tmrw is my first term exam. Everybody please pray for me, tysm. gtg sleep now, bye
Unfortunately, I had lost my streak… cuz I was having exams and stuff so I could not really do much until today and made a bit of progress on the UI side, nothings yet funtional do but this is how the finsihed UI is gonna look like. I might have to skip few more days until I get enough time to make my own algoritm since I’m not planning to use any kind of pre-made AI apis or any help from someone’s AI. It’s gonna be based on all present/given data. Cya
After juggling with lots of tight time management, I was able to finish the algorithm logic for the music subscription options. I made it on draw.io and honestly it was not that quick and easy as it looks. I will be switching to figma for the next data set since doing all these on draw.io won’t log anytime but it will get more complicated make these flowchart compared to how smooth it is on draw. I must get back to make another chart, CYA!
The flowcharts and logic for the food delivery options are done. This one I made it on figma and as you can see it does not look as good as the one on the right (made on draw.io), plus it was kinda sluggish to make it cuz randomly the figma page gets corrupted and the texts get interchanged in the boxes. And the saddest thing was I spent an hour on it but the extension only recorded 22 mins. But, i’ve finally done it. I think I will ship it now for everyone to test it before I progress more into it.
I made a small change before the ship. I have added a small widget and a legend for the country codes inside the forcast box. The widget is able to convert the other country rates to USD on a rough estimate. Along with that the forcast changes its currency too now. The analyze button now works manually unlike before where it just instantly show the output. After this I’ll have to upload it to infinity free for the hosting. I might make another log when I’m done writing the README.md. CYA…
And here it is, finally forged a clean and simple README.md page. I have not got anything to say since it is the last log before I ship. So better read the ship message or check down other logs…
We are almost dead end of the stardance and I hope this is gonna be my last devlog. Last time I had to make changes since AI use went over 30%, so I had to either add new features or rewrite the codes myself. Here are the changes: Added: New landing page (made purely out of HTML/CSS) Custom globe model with major regions marked (Made in sculptGL and textured in Paint3D, used google’s model-viewer to display) Region code legend marked in color emoji squares. Notes (for storing texts in local storage) Rewrote: Currency converter (redesinged with bare HTML/CSS and paired with existing script.) New README (reference from othneildrew/Best-README-Template, and Ileriayo/markdown-badges) note: for now the chart is not functional, I will fix it later.
Ships:
A simple yet unique project idea that came in my mind at the start of this month has finally reached it’s first milestone. Here it is the first ship and the first beta preview of the project… The challenging part was creating the logic and the algorithm, at first I thought of using some AI api but then I realized that most of the credit would go to the AI not me so I came up with such a plan. The fun part was actually designing the UI of the website because It was cool to experiment with countless design and I’m glad of how it looks now. I’ve tried my best to keep the documentation and presentation side well so that each devlog, readme etc. were easy to understand by a glance. PLEASE 🙏 keep in mind that this project is still in development and for sure lacks options under “active expenses” as it just to give a peek on what I made. So please, do not rate the project negatively saying that there were less options, or outputs were not from real AI etc… Thank You!
This ship is to account for the few hours I could not log into the previous ship after some changes were requested. I almost forgot about cuz I was working on other YSWSs and stardance is coming to an end too. The major changes I made were updating of the service page with globes and a few redesigns + Added a new homepage/landing page....
|
1792853766.7059546
|
1792940166.7059546
|
|
69638
|
BetterLectio infra/website by @jonbng | Stardance
|
jonbng
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T10:39:14Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created the BetterLectio website, it is the landing page for when people search up BetterLectio. BetterLectio is an improvement upon the danish school system “Lectio”, therefore the site is also in Danish. While developing the app i learned a lot about how to make a website that convert, and i spent a lot of time making the stats page, that shows like the impact of the project. Putting the project in good light of the public", "repo": "https://github.com/jonbng/betterlectio-website", "demo": "https://betterlectio.dk/"}]...
|
[{"post_id": 79503, "ts": "202 [{"post_id": 79503, "ts": "2026-10-14T10:37:43Z", "hours": 9.7608, "text": "Created the initial version of the website and published it! While developing the website I have had a lot of focus on making sure that the site converts well to getting people onboarded onto BetterLectio. I especially spent a lot of time on the stats page at https://betterlectio.dk/stats it highlights the impact and selected stats about the app (for example that over 3k people downloaded BetterLectio). Beaware, the site is in Danish"}]...
|
Title: BetterLectio infra/website by @jonbng | Sta Title: BetterLectio infra/website by @jonbng | Stardance
Devlogs:
Created the initial version of the website and published it! While developing the website I have had a lot of focus on making sure that the site converts well to getting people onboarded onto BetterLectio. I especially spent a lot of time on the stats page at https://betterlectio.dk/stats it highlights the impact and selected stats about the app (for example that over 3k people downloaded BetterLectio). Beaware, the site is in Danish
Ships:
I created the BetterLectio website, it is the landing page for when people search up BetterLectio. BetterLectio is an improvement upon the danish school system “Lectio”, therefore the site is also in Danish. While developing the app i learned a lot about how to make a website that convert, and i spent a lot of time making the stats page, that shows like the impact of the project. Putting the project in good light of the public...
|
1792857268.989405
|
1792943668.989405
|
|
29560
|
WarioWare Game by @NC | Stardance
|
NC
|
2
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T10:02:59Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my WarioWare Game for the 2nd mission. Something I changed was all the assets. I made them all by myself in Piskel! I made 5 minigames Minigame 1 - Collect all the pieces of garlic as Wario before the timer runs out Minigame 2 - Click all the pieces of garlic before the timer runs out Minigame 3 - Dodge the Boulders until the timer runs out Minigame 4 - Parkour up the platforms as the orange lava rises Minigame 5 - Jump over the Koopa Shells before time runs out", "repo": "https://github.com/NCGameMaking/WarioWare", "demo": "https://ncgamemaking.itch.io/warioware"}, {"ship_num": 2, "ts": "2026-07-04T01:46:29Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A Warioware style minigame project. Fast-paced levels with a life system. Custom lose screen interface tracking score. I made a WarioWare themed game with 5 minigames in total. You have to beat all 5 minigames What I found was challenging was designing and creating my own minigames as well as linking my own minigames to the ones in the guide. What I am most proud of is how polished the game feels especially and how fun the games turned out to be. The controls are intuitive and easy to learn as in most of the minigames, you only use the arrow keys", "repo": "https://github.com/NCGameMaking/WarioWare", "demo": "https://ncgamemaking.itch.io/warioware"}]...
|
[{"post_id": 79499, "ts": "202 [{"post_id": 79499, "ts": "2026-10-14T09:55:38Z", "hours": 0.4294, "text": "Finished the README Just added a few pics and description no big deal"}, {"post_id": 67103, "ts": "2026-09-13T05:05:04Z", "hours": 1.0717, "text": "Update on Game Assets and Minigame 4 I have made my own asset for the game, the Wario, the boulders, the koopa shells myself now and adjusted the platform layout for the lava rising level to make it easier for the player."}, {"post_id": 21838, "ts": "2026-07-03T23:42:02Z", "hours": 1.9581, "text": "its done… Just spent time fixing on Warioware game, it took a really long, I was trying to figure out why my level for some reason, was going on level 1,2,3 straight to 5! What happened to my level 4. I literally just exported the game, uploaded it on itch.io played it, then realised HUH? for the next hour I just sat there staring at lines of code scrutinizing every individual variable line of code, (heck I even paid attention to the yellow labels!) I realised that I had been giving an extra command Global.minigames_done += 1 when my timer screen was already running that command, so the Global variable will run twice causing it to skip the 4th level. And also it happened that the lose screen buttons happened to not work, it was so annoying, RAAAAH. After another whole hour, it works! I had this function func _process ( delta ): if lives == 0 : lives = 5 get_tree () . change_scene_to_file ( \"res://lose_screen.tscn\" ) so i just added a line in front of the get_tree() function lives = 5 . It’s finally working now!!"}, {"post_id": 21188, "ts": "2026-07-03T00:16:07Z", "hours": 0.7503, "text": "Minigames 3, 4, & 5 Complete! Just made minigames 3, 4, and 5! The code the course provided was really helpful. It was incredibly modular , in fact, almost like a copy-paste job, other than the individual logic behind each minigame. Minigame 3: Boulder Dodge Type : Dodging game Mechanic : Boulders fall out of the sky. Objective : Wario has to dodge them until the timer runs out. Minigame 4: The Floor is Lava Type : Survival Parkour Mechanic : Orange lava slowly rises up to catch you. It rises faster and faster as time goes on! Objective : Wario has to parkour up the platforms and survive the full 10 seconds by climbing up. Minigame 5: Koopa Shell dodge Type : Horizontal Dodging game Mechanic : Instead of boulders falling from the sky, Koopa Shells fly across the ground. Objective : Wario has to jump over the Koopa Shells and dodge them until the timer runs out!"}, {"post_id": 21110, "ts": "2026-07-02T22:09:07Z", "hours": 1.3694, "text": "Forgot to say I added minigame 1, yeah Wario just collects the Garlics, you have to collect the garlics before the timer runs out"}, {"post_id": 20551, "ts": "2026-07-02T05:07:12Z", "hours": 2.2422, "text": "Just made minigame 2, code is fairly simple its working, now onto the third game my own choice, I am thinking of making a dodging game. Boulder fall out of the sky and Wario has to dodge them before by the time the timer runs out"}, {"post_id": 20373, "ts": "2026-07-01T23:18:31Z", "hours": 0.7239, "text": "Just made the title slide and level lives thingy. Put basic functions for the buttons, yeah, its looking good. Now making the player for platformer"}]...
|
Title: WarioWare Game by @NC | Stardance
Devlogs: Title: WarioWare Game by @NC | Stardance
Devlogs:
Just made the title slide and level lives thingy. Put basic functions for the buttons, yeah, its looking good. Now making the player for platformer
Just made minigame 2, code is fairly simple its working, now onto the third game my own choice, I am thinking of making a dodging game. Boulder fall out of the sky and Wario has to dodge them before by the time the timer runs out
Forgot to say I added minigame 1, yeah Wario just collects the Garlics, you have to collect the garlics before the timer runs out
Minigames 3, 4, & 5 Complete! Just made minigames 3, 4, and 5! The code the course provided was really helpful. It was incredibly modular , in fact, almost like a copy-paste job, other than the individual logic behind each minigame. Minigame 3: Boulder Dodge Type : Dodging game Mechanic : Boulders fall out of the sky. Objective : Wario has to dodge them until the timer runs out. Minigame 4: The Floor is Lava Type : Survival Parkour Mechanic : Orange lava slowly rises up to catch you. It rises faster and faster as time goes on! Objective : Wario has to parkour up the platforms and survive the full 10 seconds by climbing up. Minigame 5: Koopa Shell dodge Type : Horizontal Dodging game Mechanic : Instead of boulders falling from the sky, Koopa Shells fly across the ground. Objective : Wario has to jump over the Koopa Shells and dodge them until the timer runs out!
its done… Just spent time fixing on Warioware game, it took a really long, I was trying to figure out why my level for some reason, was going on level 1,2,3 straight to 5! What happened to my level 4. I literally just exported the game, uploaded it on itch.io played it, then realised HUH? for the next hour I just sat there staring at lines of code scrutinizing every individual variable line of code, (heck I even paid attention to the yellow labels!) I realised that I had been giving an extra command Global.minigames_done += 1 when my timer screen was already running that command, so the Global variable will run twice causing it to skip the 4th level. And also it happened that the lose screen buttons happened to not work, it was so annoying, RAAAAH. After another whole hour, it works! I had this function func _process ( delta ): if lives == 0 : lives = 5 get_tree () . change_scene_to_file ( "res://lose_screen.tscn" ) so i just added a line in front of the get_tree() function lives = 5 . It’s finally working now!!
Update on Game Assets and Minigame 4 I have made my own asset for the game, the Wario, the boulders, the koopa shells myself now and adjusted the platform layout for the lava rising level to make it easier for the player.
Finished the README Just added a few pics and description no big deal
Ships:
A Warioware style minigame project. Fast-paced levels with a life system. Custom lose screen interface tracking score. I made a WarioWare themed game with 5 minigames in total. You have to beat all 5 minigames What I found was challenging was designing and creating my own minigames as well as linking my own minigames to the ones in the guide. What I am most proud of is how polished the game feels especially and how fun the games turned out to be. The controls are intuitive and easy to learn as in most of the minigames, you only use the arrow keys
I made my WarioWare Game for the 2nd mission. Something I changed was all the assets. I made them all by myself in Piskel! I made 5 minigames Minigame 1 - Collect all the pieces of garlic as Wario before the timer runs out Minigame 2 - Click all the pieces of garlic before the timer runs out Minigame 3 - Dodge the Boulders until the timer runs out Minigame 4 - Parkour up the platforms as the orange lava rises Minigame 5 - Jump over the Koopa Shells before time runs out...
|
1792849829.3629599
|
1792936229.3629599
|
|
69619
|
Ferrari chrome by @sqnder_ | Stardance
|
sqnder_
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T09:48:36Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a daily ferari generator. Every day it shows a diffrent ferrari, you can go back to past dates.", "repo": "https://github.com/sqnder0/ferrari-of-the-day", "demo": "https://sqnder0.github.io/ferrari-of-the-day/"}]...
|
[{"post_id": 79496, "ts": "202 [{"post_id": 79496, "ts": "2026-10-14T09:47:34Z", "hours": 1.2575, "text": "This was a rather short project ‘cause I already have a lot of expierence developing frontend stuff. It was a rather interesting project ‘cause I didn’t now I could use vite for gh pages and haven’t really ever written a github workflow."}]...
|
Title: Ferrari chrome by @sqnder_ | Stardance
Dev Title: Ferrari chrome by @sqnder_ | Stardance
Devlogs:
This was a rather short project ‘cause I already have a lot of expierence developing frontend stuff. It was a rather interesting project ‘cause I didn’t now I could use vite for gh pages and haven’t really ever written a github workflow.
Ships:
I built a daily ferari generator. Every day it shows a diffrent ferrari, you can go back to past dates....
|
1792857249.3968694
|
1792943649.3968694
|
|
40589
|
DoFresh by @promise | Stardance
|
promise
|
1
|
101.8
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T00:30:17Z", "hours": 99.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? This is DoFresh, a refreshing task manager that turns consistency into records and graphs! What was challenging? On top of the various bugs that arose on the way to refine and polish various features, one challenge in creating DoFresh was designing and implementing the Track system. Firstly, the logic system surrounding behind user completion and daily refreshing was complex, especially when considering the users didn’t visit the website every day. Secondly, I strove to make graphs and tracking widgets that were self-explanatory and simple but stylish and understandable, and I had to refactor the Track page completely after I changed my data storage system, changing the types of charts and how each was organized. What are you proud of? I’m quite proud of how the website looks, as I’m really artistically untalented and never really got around to learning CSS or aesthetics or color theory. The purple prettiness of DoFresh is really an achievement for me, and I’m especially proud of how much design and UI/UX consideration I learned through this app. Now, when I open websites, I look at how they design their login pages, where they put their collapsible sidebar icons, and what headings they use—sideways, click-collapse, fixed above, sticky—and why. Another thing I’m quite proud of is the AI agent I personalized and implemented in the Chat page. I wired the API call system for Flask, then Django, with many small bugs for both scenarios, connecting the Python backend with HuggingFace’s free models. Then, two days after I began wrapping up and testing the site, HuggingFace removed its free tier altogether. (●__●) Thus I switched to using GroqCloud as a platform, making a new API key, and set to further refining how the bot understood the user’s completion data, programming it to fit DoFresh’s philosophy and purposes. What should people know so they can test your project? You can go into https://dofresh.onrender.com/ and log in with the credentials stardance_tester + stardance_tester (username + pw both) if you want an example with pre-filled data and records! Please note that (free tier) Render takes about ~40 seconds to load and may spin down to inactiveness if you leave it open and untouched.", "repo": "https://github.com/PurpleSummit/DoFresh", "demo": "https://dofresh.vercel.app"}]...
|
[{"post_id": 81668, "ts": "202 [{"post_id": 81668, "ts": "2026-10-22T00:01:39Z", "hours": 0.8292, "text": "added a custom user creation form to enable flexibility and clean error messages when signing up; debugged the sign-up page, allowed form box to expand, and added password confirmation box and feedback on account security"}, {"post_id": 80866, "ts": "2026-10-19T03:11:43Z", "hours": 1.0806, "text": "ATTENTION, SHIPWRIGHTS!! HERE, PLEASE!! HERE!! READ BELOW!!! i couldn’t edit the ship message’s contents, but hopefully you see this message! here are some things about the (new) ship… ▸ the new link for my project is here: https://dofresh.vercel.app . please use the credentials stardance_tester for both the username and the password!! THIS HAS ALL THE DATA FOR THE ACCOUNT, OR ELSE YOU NEED TO CREATE YOUR OWN DATA FOR YOUR ACCOUNT! ▸AI was NOT used for my devlogs, AI declaration, ship message, or README. i copied ASCII art, GitHub commit messages, and stylized font to the devlogs, not AI-generated summaries. i wrote my AI declaration in a separate Google Docs because my computer tended to restart and update at the wrong times. i wrote my ship message by myself! i used a part of my app description for the README, which, again, I wrote by myself. i have screenshots of my work below. anyways, for the devlog.. fixed the chat page so that a message can’t be sent while another is still generating!! debugged record() not establishing the variable recent_completed_pair before using it in the else-if conditional"}, {"post_id": 80287, "ts": "2026-10-17T03:50:49Z", "hours": 0.8883, "text": "debugged the refreshing lists not appearing at the sidebar debugged the ‘i did list’ not working debugged subtasks not appearing changed hosting platform from Render to Vercel! https://dofresh.vercel.app/ new link: https://dofresh.vercel.app/"}, {"post_id": 79439, "ts": "2026-10-14T00:10:48Z", "hours": 1.7119, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #39 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ hopefully the last devlog!! today, my very artistically talented friend gave me some very nice feedback about the login page, both directly and indirectly. sooo… debugged the list titles appearing as ‘undefined’ modified the login and sign-up pages!! aren’t they just so pretty [totally not similar]"}, {"post_id": 79078, "ts": "2026-10-12T16:12:33Z", "hours": 2.3017, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #38 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ with the Free tier for Hugging Face being closed, I switched to using Groq for API calls!! refined the chat feature by adding previous message context and restructuring the user task data for the migration to django fixed sidebar sign out button toggle and Chat textbox size changing debugged track page not appearing edited looks of completion tracking graph added task list appearing with breaks for task page tooltips"}, {"post_id": 78888, "ts": "2026-10-11T21:41:51Z", "hours": 0.8911, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #37 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ added formatting and HTML tag support for article page debugged 0/0 tasks and 0/0 list completion modal, which spiraled to infinity added NASA pictures for article iamges"}, {"post_id": 78499, "ts": "2026-10-11T00:12:26Z", "hours": 0.9383, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #36 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ fixed 500 Service Error for record() in views.py, optimizing iteration through list data and refining logic!!"}, {"post_id": 78238, "ts": "2026-10-10T02:44:32Z", "hours": 2.3283, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #35 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ now i really want to start shipping…! and submitting… please… today, sitting in the subway & waiting for/on my train, i refactored the advice page with a new Article class to dynamically display articles and created a new article detail page! updated advice.html to loop through articles, all objects of class Article in models.py, and display them dynamically added article.html template and the URL article/<int:article_id> added new CSS styles for article layout and text formatting (especially pre HTML blocks) i tried to upload images for the article cards into the database, but in production, i would need to find a cloud service provider (…and i need more )… so i reversed my hard work and uploaded the images to the static folder instead. additionally: moved the welcome modal and the refreshing notification/progress report modal HTML from index.html to layout.html so that the users would be able to see them in other pages of the website & debugged this debugged / cleaned up the logic and code for the tracking page’s fill-when-blank graphics."}, {"post_id": 77984, "ts": "2026-10-09T03:42:34Z", "hours": 4.4894, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #34 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ created + debugged completeRefreshingTask() from nonfunctional buggy to visibly seamless condition. debugged the function call’s missing button parameter at the click event handler. simplified idsToChange array composition, debugged parent to-do box HTML getting, added view.py function for backend reflection and change. added and debugged support for completing and matching subtasks & parent tasks.added animations and implemented/fixed logic structure of function. implemented, improved, and debugged task completion function components and edge case logic. tracked down and debugged one case of subtask handling error in addHTMLCompletedRefreshingTask() by changing the original JS key ‘subTasks’ to ‘subtasks’ and ‘parentTask’ to ‘parent_task’. added CSRF tokens to layout.html to enable POST methods for the general record/ and setLastDate() functions. debugged track.js to solve naming conflict in repeated uploads. added confetti and fireworks effect to task completion animations. moved Lumi from top of screen to stay in the sidebar for the user’s continuous view. debugged parent tasks switching the activeness of subtasks. added a ‘Refreshing tasks completed:’ counter at the top of the I Did List added today’s tasks to update the Refreshing Tasks Completed count. enabled the count text to collapse with the sidebar list. fixed some remaining localStorage-reliant code and the welcome modal’s sequencing. fixed Lumi position in login page. Debugged last_accessed_date being set in an empty user state."}, {"post_id": 75779, "ts": "2026-10-01T02:54:37Z", "hours": 2.6497, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #33 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ implemented set_last_date API endpoint and update last accessed date logic in views. refactored date handling in layout.js and script.js and designed date structure (ISO string format) to free conflict in regional time changes. migrated task completion recording function to Django (work-in-progress, not tested thoroughly). debugged and refactored the completion of tasks and updating completed tasks for improved performance and smooth HTML animation sequences & transitions. [added a new boolean condition to updateCompletedDiv so that it wouldn’t need to re-add the tasks every time it ran. yay performance improvement!]"}, {"post_id": 75397, "ts": "2026-09-29T23:02:30Z", "hours": 1.1839, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #32 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ debugged I Did List integration with Django; working as usual now. re-implemented Chat functions [display, Django Message models, and API calls]. started layout.js’s lastAccessedDate and refreshing date record functions with Django migration."}, {"post_id": 75054, "ts": "2026-09-29T00:39:37Z", "hours": 3.4697, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #31 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ added edit task, edit details, and remove task functionalities. implemented Django migration for track page!! added mock test data and confirmed that the track page works edited subtasks attribute to lists and edited views.py for Task objects to debug duplicate ID tasks. the django migration is going smoothly!! i’m quite proud of myself for getting editTask() and editDetails() in less than 5 minutes each. done in one go!!"}, {"post_id": 73437, "ts": "2026-09-25T02:47:56Z", "hours": 1.0464, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #30 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ debugged addTodoBox() implementation with fetch()… turns out response.json() was missing the ()!! implemented removeTodoBox() and addTask() with matching Python views and functions getting there… kind of getting there… i need to finish this off…"}, {"post_id": 72916, "ts": "2026-09-24T00:56:49Z", "hours": 1.4336, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #29 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ debugged to-do list and task HTML appearance with JavaScript fetch and new Django interactions established new data/fetch/global constant variables throughout script.js debugged I Did list’s usage of localStorage enabled adding lists and renaming lists with Django functions!"}, {"post_id": 72466, "ts": "2026-09-23T01:00:10Z", "hours": 5.9472, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #28 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ on the way to a full switch to Django: added login, logout, and signup views and functionalities to allow different users & management through the admin page working through bridging original usage of ‘localStorage’ and Django’s SQLite database—replacing many JavaScript functions with fetch and API calls drafted task, to-do list, and chat messages’ models in models.py fairly completed the HTML appearance for the JS -> Python fetch switch. app correctly generates the to-do lists, tasks, completed tasks, completed refreshing tasks, buttons, and subtasks"}, {"post_id": 68937, "ts": "2026-09-16T02:24:10Z", "hours": 3.2589, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #27 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ refactored ‘onclick’ event listeners to conditionals and casework using event.target.nearest(). removed setListeners() entirely, saving memory leaks and unneeded recursive usage of setListeners(). uploaded the app on Render (for free!!)!! changing DoFresh platform from Flask to Django! initialized app + project foundations, changed settings, established urls, views, and models -> all task-related functions are working. still work-in-process for API calls and the backend."}, {"post_id": 67643, "ts": "2026-09-13T19:58:03Z", "hours": 2.2042, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #26 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added smooth collapsing/expanding animations for task addition and removal nested completed-for-good tasks in the completed tasks div and debugged the task ID retrieval in script.js debugged task completion handling and every small issue arising with each update and tweak"}, {"post_id": 64573, "ts": "2026-09-09T02:37:42Z", "hours": 5.3239, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #25 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added zero-state filler graphics to the track page! replaced querySelector with getElementById and getElementsByClassName for better performance, speed, and efficiency all around the app. added filler div for chat UI lots of minor tweaks to UX in the task add-remove-check sequence of the dashboard page"}, {"post_id": 61236, "ts": "2026-09-04T02:16:54Z", "hours": 4.9286, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #24 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ debugged removal and creation of tasks with refactored js localstorage system! added zero state filler for main page if no boxes are present. debugged the different day headers showing up in the ‘I Did!’ list so that they don’t appear when no tasks are there at all. filler image work-in-progress. modified task creation to initialize with empty task strings instead of default text. cleaned up unused code and improved readability."}, {"post_id": 57019, "ts": "2026-08-29T02:54:53Z", "hours": 0.8256, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #23 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added headers and div s for the different completion dates in the I Did List implemented date formatting functions in script.js and organized/debugging the display and orientation of I Did list items so that both refreshing and standard, completed-today and completed-previously tasks would appear correctly."}, {"post_id": 56357, "ts": "2026-08-28T03:17:22Z", "hours": 8.3, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #22 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added streak activity chart, maximum streak, and longest active streak widgets to the track v.2 page! implemented ‘I Did List’ to keep track of completed tasks with date tags. keeps track of refreshing tasks’ completion over 1 week and all of the standard task completions on a collapsible sidebar in the dashboard. there are a lot of things to organize when dealing with dates… ISO date format, JS dateString format, parsing into milliseconds for comparison, etc. give me my strawberry coding notebook 🥲🥲 at least i’m having fun"}, {"post_id": 51180, "ts": "2026-08-20T18:00:30Z", "hours": 3.5881, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #21 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ day 2 of refactoring the whole track system… added activity heatmap chart after refactoring task completion chart implemented an activity heatmap to visualize task completion over time created a system of div s and span s for a “Github heatmap” orientation. added Bootstrap tooltips to display more information. much CSS effort was invested in accessibility + making a clean scrolling system and the weekday/month grid"}, {"post_id": 50666, "ts": "2026-08-19T22:56:32Z", "hours": 2.6619, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #20 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ created a blinking passive mode animation for Lumi refactored setLumiCostume function to loop the blinking animation without pause or transition effects (work in progress to make smoother!) decided to refactor track !! 600 lines of code… hopefully it’ll come alive again… added chartCompletion function to show number of completed tasks across days. JavaScript dynamics and Chart.js, CSS to create a responsive grid for the track dashboard, and HTML to reorder elements whoo"}, {"post_id": 49892, "ts": "2026-08-18T21:09:16Z", "hours": 1.6903, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #19 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ went through the whole process of editing the jumping animation again so that it would align better with the existing static character… yay… 🥹🥹 added lumi to the top of the to-do list and added animation for task completion"}, {"post_id": 49316, "ts": "2026-08-18T02:05:03Z", "hours": 0.4831, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #18 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added to-do list interaction to progress circle. debugged and refactored refresh notification modal display logic. designing time!! work in progress: a gamification (?) system and a star icon. say hi to lumi!! i did NOT spend 26 minutes on this… that’s just on the debugging… please show lumi some love and affectionate feedback!! i’ve never animated anything in my life before. ⭐ 💌"}, {"post_id": 48614, "ts": "2026-08-17T02:34:54Z", "hours": 2.84, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #17 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added new modal to pop up with ‘it’s a new day!’ and completion information. work in progress. added progress circle animations added a completedDate portion to standard to-do tasks so that daily reports can be yielded enabled tooltips for hovering over sidebar navigation updated styles for various components brainstorming several design ideas…"}, {"post_id": 47844, "ts": "2026-08-16T02:07:37Z", "hours": 2.4144, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #16 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ debugged preservation and correction of chart generation settings (i.e. no weekly history with monthly chart type) adjusted color schemes and area fill for charts added dropdown task menus in track page for subtask organization and access enabled the “mainstream” task to be clicked without enabling dropdown, instead relying on hover to toggle dropdown menu note: the data is fake! i haven’t been doing the stardance challenge since may ;)"}, {"post_id": 47233, "ts": "2026-08-15T00:47:56Z", "hours": 1.96, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #15 – shoot for the stars like 📸 ˚₊‧ ଳ ‧₊˚ ⋅ debugged completion and re-activation of both subtasks and “mainstream” tasks! fixed subtask element selection in different task-controlling functions; improved localStorage handling for task completion and prevented duplicate entries. the long-awaited UI update!! used a free gradient as a background, edited opacity and blur in layout.css. changed color schemes further and added glassy / transparency aesthetic to to-do boxes. debugged the case where task dropdown menus didn’t disappear when other tasks were clicked!! small UX updates that make life significantly less frustrating. (small when they’re there, big when they’re not… guys… i’m a totally unartistic soul and a coder… ui/ux designers please save me!!! we love you 💖💖)"}, {"post_id": 46381, "ts": "2026-08-13T15:37:45Z", "hours": 1.2958, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #14 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ debugged completion and re-activation of subtasks and “mainstream” tasks. fixed subtask element selection in functions; improved localStorage handling for task completion and prevented duplicate entries!"}, {"post_id": 45971, "ts": "2026-08-12T20:05:01Z", "hours": 1.8119, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #13 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ lucky number #13… i’m certainly suffering because of the subtask changes… 😄 added CSS and adjusted JavaScript to prevent disabling accordion collapse (conflict with new task dropdown) added CSS to task dropdown for hover-appear features and styling. refactored JavaScript: enabled proper removal and completion of tasks + subtasks! if a “mainstream” task is removed, so are all its substacks. a substack is removed cleanly. similarly, if an active “mainstream” task is completed, so are all of its subtasks. if it’s recovered from completion, however, the subtasks remain completed."}, {"post_id": 45430, "ts": "2026-08-11T21:19:26Z", "hours": 3.2161, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #12 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ updated CSS styles for buttons and task elements to improve layout and aesthetics: changed button styles from Bootstrap’s primary blue to custom logo purple added dropdown menus for tasks for another layer of safety in deletion added subtasks! (major change… help…) adjusted localStorage interactions, data structure, HTML/CSS code, and JavaScript logic for subtask management. improved user experience by adding focus and click event listeners for task editing and subtasks. had to decide whether to nestle subtasks within their parent tasks or by themselves in localStorage. finally settled on keeping all tasks on the same level for the sake of accessing them easily—instead, each subtask has a parentTask key, and a “mainstream” task has an array of their substack IDs."}, {"post_id": 44913, "ts": "2026-08-10T23:48:07Z", "hours": 1.9881, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #11 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ lots of small updates for this devlog. added loading spinner to chat function. updated and debugged styles—padding, sidebar, the body moving instead of overlapping with the expanded sidebar. updated chat message time logging. it’s the small things that matter… ;-;"}, {"post_id": 44371, "ts": "2026-08-10T02:46:29Z", "hours": 4.8058, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #10 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ heavily edited and debugged the new sidebar. adjusted previous javascript and html to accommodate it: updated padding and margin styles for better alignment. refactored layout structure to improve sidebar functionality and aesthetics. added JavaScript functionality for sidebar toggle and dynamic list generation in layout.js. removed unnecessary sidebar code and adjusted layout accordingly. implemented typewriter effect for generated chat responses! ⌨️"}, {"post_id": 42901, "ts": "2026-08-07T21:07:05Z", "hours": 2.0761, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #9 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ refactored chat response handling and improved error handling/user display. debugged empty-space messages for home page. updated sidebar navigation link UI and enhanced layout structure."}, {"post_id": 41699, "ts": "2026-08-06T02:45:42Z", "hours": 4.6119, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #8 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added chat message storage and retrieval with a sql database! includes a refresh function w/ a safety modal improved chat UI [slightly, i really need to improve the entire app’s UI. designers help me. i’m aesthetic but i need to learn web UI ㅠ]"}, {"post_id": 40970, "ts": "2026-08-04T20:59:32Z", "hours": 3.9067, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #7– shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ attempting to connect huggingface’s ai models to dofresh as backend api have attempted for 3 hours and 52 minutes and success!! need to refine formatting, token length, and css styling, but the backend is connected and running."}, {"post_id": 39230, "ts": "2026-08-02T01:56:29Z", "hours": 0.8717, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #6 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added dynamic display of advice articles [wip] updated advice HTML structure and CSS for improved layout"}, {"post_id": 38596, "ts": "2026-08-01T02:25:26Z", "hours": 0.8856, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #5 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added HTML and CSS template for the advice page, which will feature a series of blogs offering advice on productivity, mental health, and consistent growth [based on personal experiences] considering using free AI APIs to create an interactive analysis/support chatbot… please recommend me some free sources if you know any!! ❤️"}, {"post_id": 37637, "ts": "2026-07-30T14:53:42Z", "hours": 1.9881, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #4 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ each task has a collapsible ‘details’ textarea! (i) modified HTML and CSS to accommodate changes (ii) modified JavaScript [mostly the .parentElement locations] to adjust to structure (iii) disabled space-key toggle so that the user’s typing wouldn’t be interrupted updated the track page’s sidebar from position: fixed; to position: relative; and juggled around CSS + CSS to restore the page structure debugged: the fill-if-blank text now appears only once, even when a completed task is deleted and the number of active tasks is consistently 0"}, {"post_id": 37090, "ts": "2026-07-29T15:56:15Z", "hours": 1.4378, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #3 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ refactored localStorage format of storing tasks → {taskId: ‘task_1785339829783’, task: ‘look out the window’, details: ‘look out at the sky’, completedDates: []}. - this took a lot of effort, as does all structural change to storage in javascript. every function that pulled task data from localStorage had to be edited to accommodate this change, although i brought it upon myself by starting in the wrong direction. added ‘details’ to each task and styled them as textareas! updated alert for empty charts; prepended now, rather than appearing below the empty canvas"}, {"post_id": 36668, "ts": "2026-07-28T21:30:55Z", "hours": 1.275, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #2 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added randomized text for filling blank pages :D changed the stored date formats from date string s to ISO string for cleaner splitting and organization debugged removing the completed tasks! [i felt like a forensic scientist, only with console.log(‘this should be appearing more than once’) and lots of if-else statements]. turns out i was forgetting to setListeners() for the newly created HTML task elements. added charts tracking monthly progress [work in progress]"}, {"post_id": 36359, "ts": "2026-07-28T12:42:27Z", "hours": 0.4286, "text": "𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #1 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added safety modal boxes for removing to-do lists. debugged removal of completed tasks. to-do: ⋅˚₊‧ debug the completed tasks more! right now, only one completed task can be deleted at a time. uh-oh… ⋅˚₊‧"}]...
|
Title: DoFresh by @promise | Stardance
Devlogs:
𝐍 Title: DoFresh by @promise | Stardance
Devlogs:
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #1 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added safety modal boxes for removing to-do lists. debugged removal of completed tasks. to-do: ⋅˚₊‧ debug the completed tasks more! right now, only one completed task can be deleted at a time. uh-oh… ⋅˚₊‧
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #2 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added randomized text for filling blank pages :D changed the stored date formats from date string s to ISO string for cleaner splitting and organization debugged removing the completed tasks! [i felt like a forensic scientist, only with console.log(‘this should be appearing more than once’) and lots of if-else statements]. turns out i was forgetting to setListeners() for the newly created HTML task elements. added charts tracking monthly progress [work in progress]
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #3 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ refactored localStorage format of storing tasks → {taskId: ‘task_1785339829783’, task: ‘look out the window’, details: ‘look out at the sky’, completedDates: []}. - this took a lot of effort, as does all structural change to storage in javascript. every function that pulled task data from localStorage had to be edited to accommodate this change, although i brought it upon myself by starting in the wrong direction. added ‘details’ to each task and styled them as textareas! updated alert for empty charts; prepended now, rather than appearing below the empty canvas
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #4 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ each task has a collapsible ‘details’ textarea! (i) modified HTML and CSS to accommodate changes (ii) modified JavaScript [mostly the .parentElement locations] to adjust to structure (iii) disabled space-key toggle so that the user’s typing wouldn’t be interrupted updated the track page’s sidebar from position: fixed; to position: relative; and juggled around CSS + CSS to restore the page structure debugged: the fill-if-blank text now appears only once, even when a completed task is deleted and the number of active tasks is consistently 0
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #5 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added HTML and CSS template for the advice page, which will feature a series of blogs offering advice on productivity, mental health, and consistent growth [based on personal experiences] considering using free AI APIs to create an interactive analysis/support chatbot… please recommend me some free sources if you know any!! ❤️
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #6 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added dynamic display of advice articles [wip] updated advice HTML structure and CSS for improved layout
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #7– shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ attempting to connect huggingface’s ai models to dofresh as backend api have attempted for 3 hours and 52 minutes and success!! need to refine formatting, token length, and css styling, but the backend is connected and running.
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #8 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added chat message storage and retrieval with a sql database! includes a refresh function w/ a safety modal improved chat UI [slightly, i really need to improve the entire app’s UI. designers help me. i’m aesthetic but i need to learn web UI ㅠ]
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #9 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ refactored chat response handling and improved error handling/user display. debugged empty-space messages for home page. updated sidebar navigation link UI and enhanced layout structure.
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #10 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ heavily edited and debugged the new sidebar. adjusted previous javascript and html to accommodate it: updated padding and margin styles for better alignment. refactored layout structure to improve sidebar functionality and aesthetics. added JavaScript functionality for sidebar toggle and dynamic list generation in layout.js. removed unnecessary sidebar code and adjusted layout accordingly. implemented typewriter effect for generated chat responses! ⌨️
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #11 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ lots of small updates for this devlog. added loading spinner to chat function. updated and debugged styles—padding, sidebar, the body moving instead of overlapping with the expanded sidebar. updated chat message time logging. it’s the small things that matter… ;-;
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #12 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ updated CSS styles for buttons and task elements to improve layout and aesthetics: changed button styles from Bootstrap’s primary blue to custom logo purple added dropdown menus for tasks for another layer of safety in deletion added subtasks! (major change… help…) adjusted localStorage interactions, data structure, HTML/CSS code, and JavaScript logic for subtask management. improved user experience by adding focus and click event listeners for task editing and subtasks. had to decide whether to nestle subtasks within their parent tasks or by themselves in localStorage. finally settled on keeping all tasks on the same level for the sake of accessing them easily—instead, each subtask has a parentTask key, and a “mainstream” task has an array of their substack IDs.
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #13 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ lucky number #13… i’m certainly suffering because of the subtask changes… 😄 added CSS and adjusted JavaScript to prevent disabling accordion collapse (conflict with new task dropdown) added CSS to task dropdown for hover-appear features and styling. refactored JavaScript: enabled proper removal and completion of tasks + subtasks! if a “mainstream” task is removed, so are all its substacks. a substack is removed cleanly. similarly, if an active “mainstream” task is completed, so are all of its subtasks. if it’s recovered from completion, however, the subtasks remain completed.
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #14 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ debugged completion and re-activation of subtasks and “mainstream” tasks. fixed subtask element selection in functions; improved localStorage handling for task completion and prevented duplicate entries!
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #15 – shoot for the stars like 📸 ˚₊‧ ଳ ‧₊˚ ⋅ debugged completion and re-activation of both subtasks and “mainstream” tasks! fixed subtask element selection in different task-controlling functions; improved localStorage handling for task completion and prevented duplicate entries. the long-awaited UI update!! used a free gradient as a background, edited opacity and blur in layout.css. changed color schemes further and added glassy / transparency aesthetic to to-do boxes. debugged the case where task dropdown menus didn’t disappear when other tasks were clicked!! small UX updates that make life significantly less frustrating. (small when they’re there, big when they’re not… guys… i’m a totally unartistic soul and a coder… ui/ux designers please save me!!! we love you 💖💖)
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #16 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ debugged preservation and correction of chart generation settings (i.e. no weekly history with monthly chart type) adjusted color schemes and area fill for charts added dropdown task menus in track page for subtask organization and access enabled the “mainstream” task to be clicked without enabling dropdown, instead relying on hover to toggle dropdown menu note: the data is fake! i haven’t been doing the stardance challenge since may ;)
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #17 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added new modal to pop up with ‘it’s a new day!’ and completion information. work in progress. added progress circle animations added a completedDate portion to standard to-do tasks so that daily reports can be yielded enabled tooltips for hovering over sidebar navigation updated styles for various components brainstorming several design ideas…
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #18 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added to-do list interaction to progress circle. debugged and refactored refresh notification modal display logic. designing time!! work in progress: a gamification (?) system and a star icon. say hi to lumi!! i did NOT spend 26 minutes on this… that’s just on the debugging… please show lumi some love and affectionate feedback!! i’ve never animated anything in my life before. ⭐ 💌
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #19 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ went through the whole process of editing the jumping animation again so that it would align better with the existing static character… yay… 🥹🥹 added lumi to the top of the to-do list and added animation for task completion
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #20 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ created a blinking passive mode animation for Lumi refactored setLumiCostume function to loop the blinking animation without pause or transition effects (work in progress to make smoother!) decided to refactor track !! 600 lines of code… hopefully it’ll come alive again… added chartCompletion function to show number of completed tasks across days. JavaScript dynamics and Chart.js, CSS to create a responsive grid for the track dashboard, and HTML to reorder elements whoo
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #21 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ day 2 of refactoring the whole track system… added activity heatmap chart after refactoring task completion chart implemented an activity heatmap to visualize task completion over time created a system of div s and span s for a “Github heatmap” orientation. added Bootstrap tooltips to display more information. much CSS effort was invested in accessibility + making a clean scrolling system and the weekday/month grid
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #22 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added streak activity chart, maximum streak, and longest active streak widgets to the track v.2 page! implemented ‘I Did List’ to keep track of completed tasks with date tags. keeps track of refreshing tasks’ completion over 1 week and all of the standard task completions on a collapsible sidebar in the dashboard. there are a lot of things to organize when dealing with dates… ISO date format, JS dateString format, parsing into milliseconds for comparison, etc. give me my strawberry coding notebook 🥲🥲 at least i’m having fun
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #23 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added headers and div s for the different completion dates in the I Did List implemented date formatting functions in script.js and organized/debugging the display and orientation of I Did list items so that both refreshing and standard, completed-today and completed-previously tasks would appear correctly.
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #24 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ debugged removal and creation of tasks with refactored js localstorage system! added zero state filler for main page if no boxes are present. debugged the different day headers showing up in the ‘I Did!’ list so that they don’t appear when no tasks are there at all. filler image work-in-progress. modified task creation to initialize with empty task strings instead of default text. cleaned up unused code and improved readability.
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #25 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added zero-state filler graphics to the track page! replaced querySelector with getElementById and getElementsByClassName for better performance, speed, and efficiency all around the app. added filler div for chat UI lots of minor tweaks to UX in the task add-remove-check sequence of the dashboard page
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #26 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ added smooth collapsing/expanding animations for task addition and removal nested completed-for-good tasks in the completed tasks div and debugged the task ID retrieval in script.js debugged task completion handling and every small issue arising with each update and tweak
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #27 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ refactored ‘onclick’ event listeners to conditionals and casework using event.target.nearest(). removed setListeners() entirely, saving memory leaks and unneeded recursive usage of setListeners(). uploaded the app on Render (for free!!)!! changing DoFresh platform from Flask to Django! initialized app + project foundations, changed settings, established urls, views, and models -> all task-related functions are working. still work-in-process for API calls and the backend.
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #28 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ on the way to a full switch to Django: added login, logout, and signup views and functionalities to allow different users & management through the admin page working through bridging original usage of ‘localStorage’ and Django’s SQLite database—replacing many JavaScript functions with fetch and API calls drafted task, to-do list, and chat messages’ models in models.py fairly completed the HTML appearance for the JS -> Python fetch switch. app correctly generates the to-do lists, tasks, completed tasks, completed refreshing tasks, buttons, and subtasks
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #29 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ debugged to-do list and task HTML appearance with JavaScript fetch and new Django interactions established new data/fetch/global constant variables throughout script.js debugged I Did list’s usage of localStorage enabled adding lists and renaming lists with Django functions!
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #30 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ ⋅ debugged addTodoBox() implementation with fetch()… turns out response.json() was missing the ()!! implemented removeTodoBox() and addTask() with matching Python views and functions getting there… kind of getting there… i need to finish this off…
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #31 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ added edit task, edit details, and remove task functionalities. implemented Django migration for track page!! added mock test data and confirmed that the track page works edited subtasks attribute to lists and edited views.py for Task objects to debug duplicate ID tasks. the django migration is going smoothly!! i’m quite proud of myself for getting editTask() and editDetails() in less than 5 minutes each. done in one go!!
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #32 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ debugged I Did List integration with Django; working as usual now. re-implemented Chat functions [display, Django Message models, and API calls]. started layout.js’s lastAccessedDate and refreshing date record functions with Django migration.
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #33 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ implemented set_last_date API endpoint and update last accessed date logic in views. refactored date handling in layout.js and script.js and designed date structure (ISO string format) to free conflict in regional time changes. migrated task completion recording function to Django (work-in-progress, not tested thoroughly). debugged and refactored the completion of tasks and updating completed tasks for improved performance and smooth HTML animation sequences & transitions. [added a new boolean condition to updateCompletedDiv so that it wouldn’t need to re-add the tasks every time it ran. yay performance improvement!]
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #34 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ created + debugged completeRefreshingTask() from nonfunctional buggy to visibly seamless condition. debugged the function call’s missing button parameter at the click event handler. simplified idsToChange array composition, debugged parent to-do box HTML getting, added view.py function for backend reflection and change. added and debugged support for completing and matching subtasks & parent tasks.added animations and implemented/fixed logic structure of function. implemented, improved, and debugged task completion function components and edge case logic. tracked down and debugged one case of subtask handling error in addHTMLCompletedRefreshingTask() by changing the original JS key ‘subTasks’ to ‘subtasks’ and ‘parentTask’ to ‘parent_task’. added CSRF tokens to layout.html to enable POST methods for the general record/ and setLastDate() functions. debugged track.js to solve naming conflict in repeated uploads. added confetti and fireworks effect to task completion animations. moved Lumi from top of screen to stay in the sidebar for the user’s continuous view. debugged parent tasks switching the activeness of subtasks. added a ‘Refreshing tasks completed:’ counter at the top of the I Did List added today’s tasks to update the Refreshing Tasks Completed count. enabled the count text to collapse with the sidebar list. fixed some remaining localStorage-reliant code and the welcome modal’s sequencing. fixed Lumi position in login page. Debugged last_accessed_date being set in an empty user state.
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #35 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ now i really want to start shipping…! and submitting… please… today, sitting in the subway & waiting for/on my train, i refactored the advice page with a new Article class to dynamically display articles and created a new article detail page! updated advice.html to loop through articles, all objects of class Article in models.py, and display them dynamically added article.html template and the URL article/<int:article_id> added new CSS styles for article layout and text formatting (especially pre HTML blocks) i tried to upload images for the article cards into the database, but in production, i would need to find a cloud service provider (…and i need more )… so i reversed my hard work and uploaded the images to the static folder instead. additionally: moved the welcome modal and the refreshing notification/progress report modal HTML from index.html to layout.html so that the users would be able to see them in other pages of the website & debugged this debugged / cleaned up the logic and code for the tracking page’s fill-when-blank graphics.
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #36 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ fixed 500 Service Error for record() in views.py, optimizing iteration through list data and refining logic!!
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #37 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ added formatting and HTML tag support for article page debugged 0/0 tasks and 0/0 list completion modal, which spiraled to infinity added NASA pictures for article iamges
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #38 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ with the Free tier for Hugging Face being closed, I switched to using Groq for API calls!! refined the chat feature by adding previous message context and restructuring the user task data for the migration to django fixed sidebar sign out button toggle and Chat textbox size changing debugged track page not appearing edited looks of completion tracking graph added task list appearing with breaks for task page tooltips
𝐍𝐨𝐰 𝐥𝐨𝐚𝐝𝐢𝐧𝐠. . . devlog #39 – shoot for the stars like 📸 ⋅˚₊‧ ଳ ‧₊˚ hopefully the last devlog!! today, my very artistically talented friend gave me some very nice feedback about the login page, both directly and indirectly. sooo… debugged the list titles appearing as ‘undefined’ modified the login and sign-up pages!! aren’t they just so pretty [totally not similar]
debugged the refreshing lists not appearing at the sidebar debugged the ‘i did list’ not working debugged subtasks not appearing changed hosting platform from Render to Vercel! https://dofresh.vercel.app/ new link: https://dofresh.vercel.app/
ATTENTION, SHIPWRIGHTS!! HERE, PLEASE!! HERE!! READ BELOW!!! i couldn’t edit the ship message’s contents, but hopefully you see this message! here are some things about the (new) ship… ▸ the new link for my project is here: https://dofresh.vercel.app . please use the credentials stardance_tester for both the username and the password!! THIS HAS ALL THE DATA FOR THE ACCOUNT, OR ELSE YOU NEED TO CREATE YOUR OWN DATA FOR YOUR ACCOUNT! ▸AI was NOT used for my devlogs, AI declaration, ship message, or README. i copied ASCII art, GitHub commit messages, and stylized font to the devlogs, not AI-generated summaries. i wrote my AI declaration in a separate Google Docs because my computer tended to restart and update at the wrong times. i wrote my ship message by myself! i used a part of my app description for the README, which, again, I wrote by myself. i have screenshots of my work below. anyways, for the devlog.. fixed the chat page so that a message can’t be sent while another is still generating!! debugged record() not establishing the variable recent_completed_pair before using it in the else-if conditional
added a custom user creation form to enable flexibility and clean error messages when signing up; debugged the sign-up page, allowed form box to expand, and added password confirmation box and feedback on account security
Ships:
What did you make? This is DoFresh, a refreshing task manager that turns consistency into records and graphs! What was challenging? On top of the various bugs that arose on the way to refine and polish various features, one challenge in creating DoFresh was designing and implementing the Track system. Firstly, the logic system surrounding behind user completion and daily refreshing was complex, especially when considering the users didn’t visit the website every day. Secondly, I strove to make graphs and tracking widgets that were self-explanatory and simple but stylish and understandable, and I had to refactor the Track page completely after I changed my data storage system, changing the types of charts and how each was organized. What are you proud of? I’m quite proud of how the website looks, as I’m really artistically untalented and never really got around to learning CSS or aesthetics or color theory. The purple prettiness of DoFresh is really an achievement for me, and I’m especially proud of how much design and UI/UX consideration I learned through this app. Now, when I open websites, I look at how they design their login pages, where they put their collapsible sidebar icons, and what headings they use—sideways, click-collapse, fixed above, sticky—and why. Another thing I’m quite proud of is the AI agent I personalized and implemented in the Chat page. I wired the API call system for Flask, then Django, with many small bugs for both scenarios, connecting the Python backend with HuggingFace’s free models. Then, two days after I began wrapping up and testing the site, HuggingFace removed its free tier altogether. (●__●) Thus I switched to using GroqCloud as a platform, making a new API key, and set to further refining how the bot understood the user’s completion data, programming it to fit DoFresh’s philosophy and purposes. What should people know so they can test your project? You can go into https://dofresh.onrender.com/ and log in with the credentials stardance_tester + stardance_tester (username + pw both) if you want an example with pre-filled data and records! Please note that (free tier) Render takes about ~40 seconds to load and may spin down to inactiveness if you leave it open and untouched....
|
1792860496.9765804
|
1792946896.9765804
|
|
69001
|
cool python rock paper scissors game by @swee02856 cool python rock paper scissors game by @swee02856 | Stardance...
|
swee02856
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T23:51:51Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a really simple python game that may look very simple and “not professional” but in my opinion this project helped me learn many stuff about python like fixing code, finding out about functions and modules, and so much more!", "repo": "https://github.com/swee02856-prog/Python-Rock-Paper-Scissors", "demo": "https://github.com/swee02856-prog/Python-Rock-Paper-Scissors/releases/tag/v1"}]...
|
[{"post_id": 79435, "ts": "202 [{"post_id": 79435, "ts": "2026-10-13T23:49:06Z", "hours": 4.8722, "text": "Made it so that the characters do a greeting right after you pick who your opponent will be, some stay to the plot and act tough, others will ruin the plot and completely say random stuff."}]...
|
Title: cool python rock paper scissors game by @sw Title: cool python rock paper scissors game by @swee02856 | Stardance
Devlogs:
Made it so that the characters do a greeting right after you pick who your opponent will be, some stay to the plot and act tough, others will ruin the plot and completely say random stuff.
Ships:
I created a really simple python game that may look very simple and “not professional” but in my opinion this project helped me learn many stuff about python like fixing code, finding out about functions and modules, and so much more!...
|
1792857218.112885
|
1792943618.112885
|
|
68696
|
Unrealism shaders by @sadevlokunarangoda | Stardan Unrealism shaders by @sadevlokunarangoda | Stardance...
|
sadevlokunarangoda
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T23:23:34Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Minecraft 26.2 (and 26.3) shaders to help me learn GLSL. Originally made for Hack Club Lumen, until I found out that it was closed Major features (copied from my GitHub readme) Stylized borders (adds some depth) fog (just fog) shadows (just shadows) Brighter caves than most shader packs (this is one of the things I hate the most about most shader packs. I don’t want to choose between my game being beautiful and being able to see the ores) Water ripples Slightly upped vibrance Waving leaves Unlisted Showcase video: https://youtu.be/2plQ0L1emYk My original vision: Stylized yet subtle outlines, plus some extra depth and vibrance To be clear, I did spend more than 2 hours on this, they were just on a different computer and synced via GitHub to the computer that I have Hackatime installed on", "repo": "https://github.com/naran-579/unrealism-shaders", "demo": "https://github.com/naran-579/unrealism-shaders/releases/tag/beta"}]...
|
[{"post_id": 79429, "ts": "202 [{"post_id": 79429, "ts": "2026-10-13T22:50:45Z", "hours": 0.5036, "text": "Got the pack ready to ship, now contains fog, slight block depth and highlights, and fixed all known bugs"}, {"post_id": 77953, "ts": "2026-10-08T22:57:02Z", "hours": 1.5356, "text": "Working on making a minecraft shader to help me learn GLSL, this project was started using the Lumen tutorial, until I found out that Lumen ended :(. Attached is an image of one of the (currently) worst bugs I’ve run into."}]...
|
Title: Unrealism shaders by @sadevlokunarangoda | Title: Unrealism shaders by @sadevlokunarangoda | Stardance
Devlogs:
Working on making a minecraft shader to help me learn GLSL, this project was started using the Lumen tutorial, until I found out that Lumen ended :(. Attached is an image of one of the (currently) worst bugs I’ve run into.
Got the pack ready to ship, now contains fog, slight block depth and highlights, and fixed all known bugs
Ships:
Minecraft 26.2 (and 26.3) shaders to help me learn GLSL. Originally made for Hack Club Lumen, until I found out that it was closed Major features (copied from my GitHub readme) Stylized borders (adds some depth) fog (just fog) shadows (just shadows) Brighter caves than most shader packs (this is one of the things I hate the most about most shader packs. I don’t want to choose between my game being beautiful and being able to see the ores) Water ripples Slightly upped vibrance Waving leaves Unlisted Showcase video: https://youtu.be/2plQ0L1emYk My original vision: Stylized yet subtle outlines, plus some extra depth and vibrance To be clear, I did spend more than 2 hours on this, they were just on a different computer and synced via GitHub to the computer that I have Hackatime installed on...
|
1792857202.1202276
|
1792943602.1202276
|
|
69524
|
Onshape Vehicles by @anushka_singh_ares | Stardanc Onshape Vehicles by @anushka_singh_ares | Stardance...
|
anushka_singh_ares
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T22:32:49Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So I didn’t really make anything world changing, just a few tiny toy vehicles people can 3D print. The most challenging thing was that I had ZERO CAD experience before this… I didn’t really create this project to do anything really, it was more of a byproduct of learning CAD. I’m personally really happy, considering I learned how to do it myself.", "repo": "https://github.com/anushkasinghares-jpg/CAD-stuff", "demo": "https://cad.onshape.com/documents/91001b3aa7e5d967b1bd58a7/w/ee9ffd1dbf3c0d0f37524257/e/1fca395ebe6d2bbee28a1002"}]...
|
[{"post_id": 79339, "ts": "202 [{"post_id": 79339, "ts": "2026-10-13T15:38:52Z", "hours": 5.2236, "text": "So I just started learning CAD…my first few projects are vehicles (since I love them) and the first one I made is this toy plane!"}]...
|
Title: Onshape Vehicles by @anushka_singh_ares | S Title: Onshape Vehicles by @anushka_singh_ares | Stardance
Devlogs:
So I just started learning CAD…my first few projects are vehicles (since I love them) and the first one I made is this toy plane!
Ships:
So I didn’t really make anything world changing, just a few tiny toy vehicles people can 3D print. The most challenging thing was that I had ZERO CAD experience before this… I didn’t really create this project to do anything really, it was more of a byproduct of learning CAD. I’m personally really happy, considering I learned how to do it myself....
|
1792857079.6128306
|
1792943479.6128306
|
|
69234
|
ObeBot - A Slack Helper Bot by @obedot | Stardance
|
obedot
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T20:39:44Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What is ObeBot? ObeBot is a simple Slack bot that can do simple things like respond to pings and send messages to the future. It was made with NodeJS and is being hosted on Nest. What was challenging? One of the harder parts was setting up the bot and hosting it on the Nest server. I was not really familiar with how to do this, because I haven’t used the Slack APIs before or hosted my code on a server. Making the command which sends a message to the future was a little tricky. I had to figure out how to use a timer in NodeJS, which I didn’t previously know how to do. What am I proud of? My favorite part was making the command which can send a message to the future, because it was the most interesting to make. It’s a useful feature that has the potential to help with setting reminders or looking back on memories if I expanded upon the idea more. How can you test the project? After clicking the Try Project button below, you will be taken to a slack workspace. If it doesn’t open immediately, you can click the “open this link in your browser”. You do need to be in the Slack server to use this bot. Please try to only test the bot in the channel bot-spam and not other channels.", "repo": "https://github.com/ObedH/ObeBot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 79085, "ts": "202 [{"post_id": 79085, "ts": "2026-10-12T16:24:43Z", "hours": 0.8031, "text": "Set up my first Slack bot and added three basic commands ObeBot can now run three commands: Respond to a ping Send a message to the future Display a list of available commands So far, this has been pretty easy. I’m not planning on doing any super complex commands, so I’ll probably finish this project soon."}]...
|
Title: ObeBot - A Slack Helper Bot by @obedot | St Title: ObeBot - A Slack Helper Bot by @obedot | Stardance
Devlogs:
Set up my first Slack bot and added three basic commands ObeBot can now run three commands: Respond to a ping Send a message to the future Display a list of available commands So far, this has been pretty easy. I’m not planning on doing any super complex commands, so I’ll probably finish this project soon.
Ships:
What is ObeBot? ObeBot is a simple Slack bot that can do simple things like respond to pings and send messages to the future. It was made with NodeJS and is being hosted on Nest. What was challenging? One of the harder parts was setting up the bot and hosting it on the Nest server. I was not really familiar with how to do this, because I haven’t used the Slack APIs before or hosted my code on a server. Making the command which sends a message to the future was a little tricky. I had to figure out how to use a timer in NodeJS, which I didn’t previously know how to do. What am I proud of? My favorite part was making the command which can send a message to the future, because it was the most interesting to make. It’s a useful feature that has the potential to help with setting reminders or looking back on memories if I expanded upon the idea more. How can you test the project? After clicking the Try Project button below, you will be taken to a slack workspace. If it doesn’t open immediately, you can click the “open this link in your browser”. You do need to be in the Slack server to use this bot. Please try to only test the bot in the channel bot-spam and not other channels....
|
1792857227.2791505
|
1792943627.2791505
|
|
68269
|
PyMaster by @Siyam | Stardance
|
Siyam
|
2
|
3.0
|
7
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T20:04:28Z", "hours": 2.0, "multiplier": 2.32, "payout": 6, "blessing": "neutral", "text": "PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges.", "repo": "https://github.com/Tanzil-Alam/PyMaster", "demo": "https://tanzil-alam.github.io/PyMaster/"}, {"ship_num": 2, "ts": "2026-10-06T17:13:03Z", "hours": 1.0, "multiplier": 1.07, "payout": 1, "blessing": "neutral", "text": "PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges.", "repo": "https://github.com/Tanzil-Alam/PyMaster", "demo": "https://tanzil-alam.github.io/PyMaster/"}]...
|
[{"post_id": 78433, "ts": "202 [{"post_id": 78433, "ts": "2026-10-10T19:54:15Z", "hours": 0.2758, "text": "Swapped out the background visual and updated the button labels to give the navigation a more conversational feel. Key updates include renaming “START” to “Try to do it”, “Quiet” to “Leave”, and “Next question” to “Let’s Go”."}, {"post_id": 78107, "ts": "2026-10-09T15:59:48Z", "hours": 0.3111, "text": "Re-writed the CSS and added Comments in every css line to prove that, i writed it…."}, {"post_id": 77663, "ts": "2026-10-07T19:23:09Z", "hours": 1.3247, "text": "Re-Writed the code, because old code was not accepted. here is what i changed, *The Background Image *Removed Particle animation *Made the Py Card transparent *Keept Simple Javascript"}, {"post_id": 77541, "ts": "2026-10-07T12:07:43Z", "hours": 0.5339, "text": "I changed the README and The button color to blue. Now i Will Ship the Project."}, {"post_id": 77349, "ts": "2026-10-06T17:09:57Z", "hours": 1.4381, "text": "PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges. You all can play it here = Click Me"}]...
|
Title: PyMaster by @Siyam | Stardance
Devlogs:
Py Title: PyMaster by @Siyam | Stardance
Devlogs:
PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges. You all can play it here = Click Me
I changed the README and The button color to blue. Now i Will Ship the Project.
Re-Writed the code, because old code was not accepted. here is what i changed, *The Background Image *Removed Particle animation *Made the Py Card transparent *Keept Simple Javascript
Re-writed the CSS and added Comments in every css line to prove that, i writed it….
Swapped out the background visual and updated the button labels to give the navigation a more conversational feel. Key updates include renaming “START” to “Try to do it”, “Quiet” to “Leave”, and “Next question” to “Let’s Go”.
Ships:
PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges.
PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges....
|
1792817673.999827
|
1792904073.999827
|
|
67976
|
Orbit OS by @Frostymist | Stardance
|
Frostymist
|
3
|
3.0
|
2
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T18:56:34Z", "hours": 1.0, "multiplier": 1.7, "payout": 1, "blessing": "neutral", "text": "Orbit OS is a minimal, macOS-inspired desktop environment that runs directly in your browser. I added apps like Finder, Calculator, Terminal, Notes, a browser launcher, and System Settings to make the desktop interactive. One challenge was getting the app icons to display correctly on the live Vercel deployment, which I managed to fix. I’m proud of how the project has grown into something people can actually explore online without downloading anything. Try the live project and open the different apps to explore Orbit OS!", "repo": "https://github.com/0xAvaneesh/Orbit-OS", "demo": "https://orbit-os-nine.vercel.app/"}, {"ship_num": 2, "ts": "2026-10-11T11:20:47Z", "hours": 0.0, "multiplier": 2.33, "payout": 1, "blessing": "neutral", "text": "Built Orbit OS, a web-based desktop using HTML, CSS, and JavaScript. Added draggable, resizable, and minimizable windows, a working calculator, terminal, browser search, notes with local storage, files, settings, a live clock, and an app dock.", "repo": "https://github.com/0xAvaneesh/Orbit-OS", "demo": "https://orbit-os-nine.vercel.app/"}, {"ship_num": 3, "ts": "2026-10-07T17:57:10Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made orbit os its a webos it was very fun i took inspiration from macos minizmize and close buttons but everything else is original", "repo": "https://github.com/0xAvaneesh/Orbit-OS", "demo": "https://orbit-os-nine.vercel.app/"}]...
|
[{"post_id": 79380, "ts": "202 [{"post_id": 79380, "ts": "2026-10-13T18:54:22Z", "hours": 0.2672, "text": "Devlog #6 — Orbit OS Is Live!I successfully deployed Orbit OS on Vercel, making it accessible directly through a browser without needing to download or run anything locally.I also fixed the app icon loading issue on the deployed website, so the desktop looks the way it should online and locally. The goal was to make Orbit OS feel like a clean, minimal desktop environment while keeping everything simple and functional.Next, I’ll continue testing the live version and polishing the user experience."}, {"post_id": 79372, "ts": "2026-10-13T18:06:31Z", "hours": 0.4778, "text": "Orbit OS — Devlog #5 I started working on Orbit OS after getting feedback on the first version.A lot of people liked the UI, but there were problems with dragging windows and some apps didn’t do much.I focused on improving the functionality while keeping the same dark space theme. I also started reworking the window controls so opening, closing, minimizing, and maximizing feel more consistent."}, {"post_id": 78706, "ts": "2026-10-11T11:18:55Z", "hours": 0.2803, "text": "Going to Ship Orbit OS today!"}, {"post_id": 77626, "ts": "2026-10-07T17:55:01Z", "hours": 0.2806, "text": "Going to ship Orbit OS today"}, {"post_id": 77337, "ts": "2026-10-06T16:36:41Z", "hours": 1.1128, "text": "ORBIT OS — Devlog #2 Today I started making ORBIT OS feel more like an actual desktop"}, {"post_id": 76816, "ts": "2026-10-04T17:59:32Z", "hours": 0.3739, "text": "I just started building my personal os i named it Orbit OS,and i just finished making the welcome screen"}]...
|
Title: Orbit OS by @Frostymist | Stardance
Devlog Title: Orbit OS by @Frostymist | Stardance
Devlogs:
I just started building my personal os i named it Orbit OS,and i just finished making the welcome screen
ORBIT OS — Devlog #2 Today I started making ORBIT OS feel more like an actual desktop
Going to ship Orbit OS today
Going to Ship Orbit OS today!
Orbit OS — Devlog #5 I started working on Orbit OS after getting feedback on the first version.A lot of people liked the UI, but there were problems with dragging windows and some apps didn’t do much.I focused on improving the functionality while keeping the same dark space theme. I also started reworking the window controls so opening, closing, minimizing, and maximizing feel more consistent.
Devlog #6 — Orbit OS Is Live!I successfully deployed Orbit OS on Vercel, making it accessible directly through a browser without needing to download or run anything locally.I also fixed the app icon loading issue on the deployed website, so the desktop looks the way it should online and locally. The goal was to make Orbit OS feel like a clean, minimal desktop environment while keeping everything simple and functional.Next, I’ll continue testing the live version and polishing the user experience.
Ships:
I made orbit os its a webos it was very fun i took inspiration from macos minizmize and close buttons but everything else is original
Built Orbit OS, a web-based desktop using HTML, CSS, and JavaScript. Added draggable, resizable, and minimizable windows, a working calculator, terminal, browser search, notes with local storage, files, settings, a live clock, and an app dock.
Orbit OS is a minimal, macOS-inspired desktop environment that runs directly in your browser. I added apps like Finder, Calculator, Terminal, Notes, a browser launcher, and System Settings to make the desktop interactive. One challenge was getting the app icons to display correctly on the live Vercel deployment, which I managed to fix. I’m proud of how the project has grown into something people can actually explore online without downloading anything. Try the live project and open the different apps to explore Orbit OS!...
|
1792817444.474865
|
1792903844.474865
|
|
69448
|
SIFT by @syedakhter | Stardance
|
syedakhter
|
1
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T18:44:58Z", "hours": 2.0, "multiplier": 1.02, "payout": 1, "blessing": "neutral", "text": "i made this website that talks about the sift dimension.", "repo": "https://github.com/8051987-eng/SIFT", "demo": "https://8051987-eng.github.io/SIFT/"}]...
|
[{"post_id": 79230, "ts": "202 [{"post_id": 79230, "ts": "2026-10-13T03:59:24Z", "hours": 1.9994, "text": "A website about the sift dimension"}]...
|
Title: SIFT by @syedakhter | Stardance
Devlogs:
A Title: SIFT by @syedakhter | Stardance
Devlogs:
A website about the sift dimension
Ships:
i made this website that talks about the sift dimension....
|
1792839016.6552126
|
1792925416.6552126
|
|
67318
|
unique by @vashi_21 | Stardance
|
vashi_21
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T18:02:20Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built XIAO-MAO, an interactive desktop cat pet developed in Godot! Getting the input handling right was the trickiest part. Initially dragging the pet or dropping her would accidentally trigger her to open my website. Adding right clicks (website link) using precise input logic took some debugging. Also the main issue I ran into while working on this project was getting the sizes of the window correct but i eventually figured it out. I am really proud of making a complete, functional desktop pet from scratch and getting my very first virtual pet project published! Her working behavior turned out super clean. Download: cat_pet.exe from my itch.io page. Controls: 1. Right click to open my custom website. 2. Click & Drag to move her anywhere across the screen. OS: Windows PC.", "repo": "https://github.com/wizard21-sudo/meow", "demo": "https://wookwink.itch.io/xiao-mao"}]...
|
[{"post_id": 79361, "ts": "202 [{"post_id": 79361, "ts": "2026-10-13T17:10:33Z", "hours": 1.1278, "text": "Today I worked on refining my desktop cat’s movements and interactions. I fixed the landing behavior so the cat rests cleanly right above the Windows taskbar when dropped . I also fixed the code so my cat will open my website only when right clicked . Lastly I updated the export setup and published the final standalone build on itch.io <3"}, {"post_id": 79049, "ts": "2026-10-12T14:19:54Z", "hours": 0.9861, "text": "I scaled up my desktop pet cat sprite and updated the collision shape to restore smooth drag-and-drop functioning. Also fixed the idle animation freeze by adding timer countdown logic and correcting a variable name typo. Added a cool feature for my pet from the given guide , I think it is really thoughtful that they included how to add more interesting features to the desktop pet in the guide so we all can level up our project !"}, {"post_id": 78813, "ts": "2026-10-11T17:51:21Z", "hours": 2.0822, "text": "Added boundary movements and drag controls. Resolved node hierarchy paths by just dragging it onto the main node, mismatched animation name from the guide (silly me) by just inserting my name in the code , and runtime errors. Fixed active debugger pauses and successfully got up to point 6 in the guide lets see if I can ship it before playground ends. lol !!"}, {"post_id": 78126, "ts": "2026-10-09T17:09:46Z", "hours": 0.8847, "text": "Just finished up to point 3 in the guide “Art and Script” and my Cat sprite setup is complete now the next step remains to make my sprite move. I also want to credit julesleech.itch.io for this free to use cute cat sprite animation <3"}]...
|
Title: unique by @vashi_21 | Stardance
Devlogs:
J Title: unique by @vashi_21 | Stardance
Devlogs:
Just finished up to point 3 in the guide “Art and Script” and my Cat sprite setup is complete now the next step remains to make my sprite move. I also want to credit julesleech.itch.io for this free to use cute cat sprite animation <3
Added boundary movements and drag controls. Resolved node hierarchy paths by just dragging it onto the main node, mismatched animation name from the guide (silly me) by just inserting my name in the code , and runtime errors. Fixed active debugger pauses and successfully got up to point 6 in the guide lets see if I can ship it before playground ends. lol !!
I scaled up my desktop pet cat sprite and updated the collision shape to restore smooth drag-and-drop functioning. Also fixed the idle animation freeze by adding timer countdown logic and correcting a variable name typo. Added a cool feature for my pet from the given guide , I think it is really thoughtful that they included how to add more interesting features to the desktop pet in the guide so we all can level up our project !
Today I worked on refining my desktop cat’s movements and interactions. I fixed the landing behavior so the cat rests cleanly right above the Windows taskbar when dropped . I also fixed the code so my cat will open my website only when right clicked . Lastly I updated the export setup and published the final standalone build on itch.io <3
Ships:
I built XIAO-MAO, an interactive desktop cat pet developed in Godot! Getting the input handling right was the trickiest part. Initially dragging the pet or dropping her would accidentally trigger her to open my website. Adding right clicks (website link) using precise input logic took some debugging. Also the main issue I ran into while working on this project was getting the sizes of the window correct but i eventually figured it out. I am really proud of making a complete, functional desktop pet from scratch and getting my very first virtual pet project published! Her working behavior turned out super clean. Download: cat_pet.exe from my itch.io page. Controls: 1. Right click to open my custom website. 2. Click & Drag to move her anywhere across the screen. OS: Windows PC....
|
1792857172.7447066
|
1792943572.7447066
|
|
46274
|
SnackbarOS by @222erik | Stardance
|
222erik
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T17:22:26Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a operating system that runs in the browser. It’s of course not a real operating system. In other words, it’s a website where you can open and close applications, and move their windows. There are two apps. A notes app and a calculator app. I think the calculator app was the hardest thing to code, like, it supports floating point numbers. The notes app was also challenging because of the editor, I’m most proud of that.", "repo": "https://github.com/222erik/web-os/", "demo": "https://222erik.github.io/web-os/"}]...
|
[{"post_id": 53202, "ts": "202 [{"post_id": 53202, "ts": "2026-08-23T17:16:27Z", "hours": 3.1464, "text": "devlog 3, i made a calculator app that calculates the four operations and supports floating-point numbers"}, {"post_id": 49792, "ts": "2026-08-18T18:44:39Z", "hours": 4.2172, "text": "devlog 2, i made a javascript-powered notes app where you can manage notes"}, {"post_id": 45631, "ts": "2026-08-12T07:48:52Z", "hours": 8.6433, "text": "The first devlog, i added a welcome window and a notes app (it doesn’t work yet), the windows have a close button. I also made two bars, one at the top that shows time and one at the bottom which is the application launcher."}]...
|
Title: SnackbarOS by @222erik | Stardance
Devlogs Title: SnackbarOS by @222erik | Stardance
Devlogs:
The first devlog, i added a welcome window and a notes app (it doesn’t work yet), the windows have a close button. I also made two bars, one at the top that shows time and one at the bottom which is the application launcher.
devlog 2, i made a javascript-powered notes app where you can manage notes
devlog 3, i made a calculator app that calculates the four operations and supports floating-point numbers
Ships:
I made a operating system that runs in the browser. It’s of course not a real operating system. In other words, it’s a website where you can open and close applications, and move their windows. There are two apps. A notes app and a calculator app. I think the calculator app was the hardest thing to code, like, it supports floating point numbers. The notes app was also challenging because of the editor, I’m most proud of that....
|
1792658961.233876
|
1792745361.233876
|
|
68067
|
dropbin by @nishank | Stardance
|
nishank
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T17:03:42Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i have made a small clipboard of sort where a person can paste their files and send it over the internet with the help of a code", "repo": "https://github.com/Devnish0/dropbin", "demo": "https://dropbin.vercel.app/"}]...
|
[{"post_id": 79355, "ts": "202 [{"post_id": 79355, "ts": "2026-10-13T16:49:59Z", "hours": 1.0842, "text": "completed the frontend"}, {"post_id": 79185, "ts": "2026-10-12T22:56:25Z", "hours": 5.5033, "text": "made the frontend"}, {"post_id": 77927, "ts": "2026-10-08T20:12:58Z", "hours": 4.3019, "text": "completed the drop route"}, {"post_id": 76988, "ts": "2026-10-05T08:22:49Z", "hours": 1.3953, "text": "initialised project with drizzle orm and postgresql"}]...
|
Title: dropbin by @nishank | Stardance
Devlogs:
i Title: dropbin by @nishank | Stardance
Devlogs:
initialised project with drizzle orm and postgresql
completed the drop route
made the frontend
completed the frontend
Ships:
i have made a small clipboard of sort where a person can paste their files and send it over the internet with the help of a code...
|
1792857187.394861
|
1792943587.394861
|
|
68967
|
astrawatch by @Ahad_Ghanchi | Stardance
|
Ahad_Ghanchi
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T16:57:24Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Building AstraWatch involved engineering a feature-rich, high-performance space telemetry dashboard using Vite, HTML, and Vanilla JavaScript, complete with live-updating digital clocks, custom Google search capabilities, modular DOM binding, and glassmorphism UI widgets that deliver a modern command-center aesthetic. The technical hurdles encountered along the way included orchestrating complex asynchronous NASA APOD API fetch pipelines to gracefully handle varying media types—ranging from standard images to direct video files and embedded YouTube players—while also troubleshooting local Git version control workflows, fixing branch synchronization errors, and resolving merge conflicts between local files and remote GitHub repositories. What stands out as the ultimate point of pride is the meticulous execution of advanced CSS design patterns, combining Google Fonts with intricate pseudo-element polygon clip-paths to create custom, striking geometric side decorations that elevate the visual presentation. For anyone looking to test or run the project locally, they should know that they need to clone the repository, install the required packages using npm, supply their own API key inside a secure local environment variable file, and launch the Vite development server to fully experience the interactive date picker and explore historical astronomy records.", "repo": "https://github.com/codewith876/astra-watch", "demo": "https://astrawatch.vercel.app/"}]...
|
[{"post_id": 79356, "ts": "202 [{"post_id": 79356, "ts": "2026-10-13T16:54:46Z", "hours": 2.3036, "text": "The development process involved setting up a modular Vite environment where local JavaScript files seamlessly bound to the DOM elements, managing asynchronous API calls to fetch JSON telemetry payloads from NASA while gracefully handling fallback states when media types varied between static images and dynamic videos. Special attention was dedicated to optimizing the user interface responsiveness, ensuring that the glassmorphism widgets, custom typography, and complex CSS layout properties rendered correctly across different viewports.Navigating the version control lifecycle further required initializing local Git repositories, configuring robust ignore rules to safeguard sensitive API keys and heavy dependency folders, and resolving remote merge conflicts during GitHub synchronization. Through careful branch management, commit organization, and final pushing, the complete frontend application was successfully archived and shared publicly, marking the culmination of an immersive coding and design journey."}]...
|
Title: astrawatch by @Ahad_Ghanchi | Stardance
De Title: astrawatch by @Ahad_Ghanchi | Stardance
Devlogs:
The development process involved setting up a modular Vite environment where local JavaScript files seamlessly bound to the DOM elements, managing asynchronous API calls to fetch JSON telemetry payloads from NASA while gracefully handling fallback states when media types varied between static images and dynamic videos. Special attention was dedicated to optimizing the user interface responsiveness, ensuring that the glassmorphism widgets, custom typography, and complex CSS layout properties rendered correctly across different viewports.Navigating the version control lifecycle further required initializing local Git repositories, configuring robust ignore rules to safeguard sensitive API keys and heavy dependency folders, and resolving remote merge conflicts during GitHub synchronization. Through careful branch management, commit organization, and final pushing, the complete frontend application was successfully archived and shared publicly, marking the culmination of an immersive coding and design journey.
Ships:
Building AstraWatch involved engineering a feature-rich, high-performance space telemetry dashboard using Vite, HTML, and Vanilla JavaScript, complete with live-updating digital clocks, custom Google search capabilities, modular DOM binding, and glassmorphism UI widgets that deliver a modern command-center aesthetic. The technical hurdles encountered along the way included orchestrating complex asynchronous NASA APOD API fetch pipelines to gracefully handle varying media types—ranging from standard images to direct video files and embedded YouTube players—while also troubleshooting local Git version control workflows, fixing branch synchronization errors, and resolving merge conflicts between local files and remote GitHub repositories. What stands out as the ultimate point of pride is the meticulous execution of advanced CSS design patterns, combining Google Fonts with intricate pseudo-element polygon clip-paths to create custom, striking geometric side decorations that elevate the visual presentation. For anyone looking to test or run the project locally, they should know that they need to clone the repository, install the required packages using npm, supply their own API key inside a secure local environment variable file, and launch the Vite development server to fully experience the interactive date picker and explore historical astronomy records....
|
1792857216.9918551
|
1792943616.9918551
|
|
68951
|
Nexus - All in One by @yeagerist | Stardance
|
yeagerist
|
1
|
8.96
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T15:57:55Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I Built NEXUS, my own new tab dashboard! It has a live analog clock, daily tasks features, shortcuts section , and a 5-minute focus timer for god knows why. Getting everything to work together and setting up GitHub Pages deployment was a good learning experience. Still got ideas for improvements, but I’m happy with where it is right now. Give it a try: https://aarjal.github.io/Nexus/", "repo": "https://github.com/Aarjal/Nexus", "demo": "https://aarjal.github.io/Nexus/"}]...
|
[{"post_id": 80939, "ts": "202 [{"post_id": 80939, "ts": "2026-10-19T09:42:30Z", "hours": 1.9617, "text": "My final log for NEXUS– I’ve added an actual background this time removing just the color gradient one. The whole UI theme is now based on the new bg. New layouts. Removed whole box- designs and unnecessary css. This time there’s mobile responsiveness as well. Here’s a before vs after for you."}, {"post_id": 79344, "ts": "2026-10-13T15:55:26Z", "hours": 0.6906, "text": "In this session I wrote the readme file for Nexus. I also made Nexus deployable and hosted through github pages. I took help from the guide for this process. Finally Nexus is live now"}, {"post_id": 79270, "ts": "2026-10-13T08:37:22Z", "hours": 1.4753, "text": "Two major updates at once this time.. –I’ve completed the daily task feature which was previously only a skeleton. Now you can add your tasks and mark it checked as in the pic after youve completed it. –I’ve also added the focus timer for you lots to get over-stimulated :) . For now, only I can choose the timer time which I’ve chosen 5 mins. You can pause and resume the timer. (adding this feature reminded me I’m good at maths ><)"}, {"post_id": 79010, "ts": "2026-10-12T10:25:54Z", "hours": 0.7928, "text": "I made the shortcuts section responsive and usuable. You can add a new shortcut with its link and it’ll update in the main page. It vanishes just after a reload tho >< Finally functions like an actual new tab page now"}, {"post_id": 78998, "ts": "2026-10-12T09:33:35Z", "hours": 0.8472, "text": "As promised, Nexus has its own analog clock now.. This design was what I initially envisioned. The previous version was just a placeholder for my html section. This one little update took a lot cus my math wasn’t mathing at all. After trials and error, I looked up some reference and finally managed a live-working one. Hope yall like the update"}, {"post_id": 78809, "ts": "2026-10-11T17:48:26Z", "hours": 0.9786, "text": "Nexus gets little life now.. I’ve added some JS functions for date and time functionality. The page even greets you as per your time of the day. Also added a feature for remaining time of the day to boost up your morale haha. I also embedded lucide for header icons and implemented the relevant CSS. Well, finally it’s now a html+css+js thing but still need to add more.. (dw i’ll replace that dirty thing with an analog clock later)"}, {"post_id": 78438, "ts": "2026-10-10T20:02:49Z", "hours": 1.0056, "text": "Nexus has its own look now. This session was supposed to be CSS along with JS but i figured i could just separate the logs for them. SO this is just the part for visual foundation. I’d envisioned a dark purpulish theme and pre-designed the layout in canva but implementing that in actual code was really troublesome. I’ve been trying to make the page fit-to-screen with all the sections unhindered but cant seem to manage it idk why. for now I’ve just decreased the box size of shortcuts and workspace to make it fit but later after actual content is added idk how I’m gonna manage that. If anyone can help, I’d be glad. Here’s the current look after CSS foundation."}, {"post_id": 78285, "ts": "2026-10-10T08:46:59Z", "hours": 0.8636, "text": "NEXUS- All in ONE –I’ve kicked off my new stardance mission - Give your website a pulse with “Nexus” which is a custom new-tab-style dashboard designed to make opening a new tab little more useful. I’ve spent the first hour of work setting up the project with Vite and Vanilla JS and planning the main sections and look of page in Canva and implementing it in html. So yes, The UI is still a skeleton right now, but the foundation is in place. Next up, I’ll be giving my page a little life with CSS and JS"}]...
|
Title: Nexus - All in One by @yeagerist | Stardanc Title: Nexus - All in One by @yeagerist | Stardance
Devlogs:
NEXUS- All in ONE –I’ve kicked off my new stardance mission - Give your website a pulse with “Nexus” which is a custom new-tab-style dashboard designed to make opening a new tab little more useful. I’ve spent the first hour of work setting up the project with Vite and Vanilla JS and planning the main sections and look of page in Canva and implementing it in html. So yes, The UI is still a skeleton right now, but the foundation is in place. Next up, I’ll be giving my page a little life with CSS and JS
Nexus has its own look now. This session was supposed to be CSS along with JS but i figured i could just separate the logs for them. SO this is just the part for visual foundation. I’d envisioned a dark purpulish theme and pre-designed the layout in canva but implementing that in actual code was really troublesome. I’ve been trying to make the page fit-to-screen with all the sections unhindered but cant seem to manage it idk why. for now I’ve just decreased the box size of shortcuts and workspace to make it fit but later after actual content is added idk how I’m gonna manage that. If anyone can help, I’d be glad. Here’s the current look after CSS foundation.
Nexus gets little life now.. I’ve added some JS functions for date and time functionality. The page even greets you as per your time of the day. Also added a feature for remaining time of the day to boost up your morale haha. I also embedded lucide for header icons and implemented the relevant CSS. Well, finally it’s now a html+css+js thing but still need to add more.. (dw i’ll replace that dirty thing with an analog clock later)
As promised, Nexus has its own analog clock now.. This design was what I initially envisioned. The previous version was just a placeholder for my html section. This one little update took a lot cus my math wasn’t mathing at all. After trials and error, I looked up some reference and finally managed a live-working one. Hope yall like the update
I made the shortcuts section responsive and usuable. You can add a new shortcut with its link and it’ll update in the main page. It vanishes just after a reload tho >< Finally functions like an actual new tab page now
Two major updates at once this time.. –I’ve completed the daily task feature which was previously only a skeleton. Now you can add your tasks and mark it checked as in the pic after youve completed it. –I’ve also added the focus timer for you lots to get over-stimulated :) . For now, only I can choose the timer time which I’ve chosen 5 mins. You can pause and resume the timer. (adding this feature reminded me I’m good at maths ><)
In this session I wrote the readme file for Nexus. I also made Nexus deployable and hosted through github pages. I took help from the guide for this process. Finally Nexus is live now
My final log for NEXUS– I’ve added an actual background this time removing just the color gradient one. The whole UI theme is now based on the new bg. New layouts. Removed whole box- designs and unnecessary css. This time there’s mobile responsiveness as well. Here’s a before vs after for you.
Ships:
I Built NEXUS, my own new tab dashboard! It has a live analog clock, daily tasks features, shortcuts section , and a 5-minute focus timer for god knows why. Getting everything to work together and setting up GitHub Pages deployment was a good learning experience. Still got ideas for improvements, but I’m happy with where it is right now. Give it a try: https://aarjal.github.io/Nexus/...
|
1792857215.8376584
|
1792943615.8376584
|
|
29716
|
NYX by @Paulaner | Stardance
|
Paulaner
|
1
|
421.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T15:54:07Z", "hours": 421.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "nyx is a small operating-system kernel for 32-bit x86 PCs, written from scratch in Zig 0.15.2 with no C library and no external dependencies. It boots directly in QEMU and brings the machine up in 20 checked stages, from interrupts and timers through memory paging, a kernel heap, thread scheduling, disk and PCI drivers, and an in-memory filesystem loaded from an embedded tar archive. At boot it runs 15 built-in self-tests, then drops into an interactive shell with 30 commands that you can drive from the keyboard or over the serial port. It’s about 5,000 lines in total.", "repo": "https://github.com/Paul231007/nyx", "demo": "https://nyx-zeta-opal.vercel.app/"}]...
|
[{"post_id": 68723, "ts": "202 [{"post_id": 68723, "ts": "2026-09-15T16:57:50Z", "hours": 7.0203, "text": "📓 devlog · 2026-09-14 added initial architecture definition, establishing core components and their interactions for modularity. implemented key architectural components, focusing on separation of concerns to enhance maintainability. fleshed out various parts of the architecture, refining data flow and control structures between modules. wired up essential components to ensure proper communication and data exchange across the architecture. started multiple architectural elements concurrently, facilitating a more integrated approach to development. added several new architecture layers to improve scalability and support future feature additions. continued to implement and refine architecture, addressing edge cases related to component interaction and data integrity."}, {"post_id": 67883, "ts": "2026-09-14T05:39:42Z", "hours": 6.0667, "text": "📓 devlog · 2026-09-13 added initial implementation of the shell, establishing basic command parsing and execution flow. fleshed out shell functionality, improving command handling and improving error reporting for invalid inputs. wired up shell components, ensuring proper integration with existing modules for input and output processing. started multiple iterations of shell refinement, focusing on memory allocation strategies for command history storage. implemented additional features for the shell, including support for built-in commands and improved environment variable management. continued to flesh out shell behavior, addressing edge cases related to command substitution and pipeline execution."}, {"post_id": 67063, "ts": "2026-09-13T03:32:24Z", "hours": 10.8517, "text": "📓 devlog · 2026-09-12 implemented memory management, focused on allocation strategies and freeing unused memory blocks to optimize resource usage. fleshed out memory module, added support for variable-sized memory chunks, improving efficiency for dynamic allocation. started integration of memory system with existing components, ensuring compatibility and smooth data flow. added shell functionality, enabling user interaction with the memory management system through command-line inputs. wired up shell to the memory module, establishing command execution pathways for memory operations. performed multiple wiring adjustments in the shell, ensuring proper communication and error handling between components."}, {"post_id": 66150, "ts": "2026-09-11T19:42:45Z", "hours": 1.7425, "text": "📓 devlog · 2026-09-11 implemented the shell module, established basic command parsing and execution flow. fleshed out the shell with support for built-in commands, enhancing user interaction. added memory management functionality, introduced a structure for allocation tracking. wired up memory to the shell, enabling commands to manipulate memory directly. performed multiple whitespace fixes and formatting cleanups across all modules for better readability. started and fleshed out the memory module, ensuring proper initialization and allocation patterns. tidied shell code for improved maintainability, focusing on reducing complexity in command handling."}, {"post_id": 65818, "ts": "2026-09-11T06:38:13Z", "hours": 6.0333, "text": "📓 devlog · 2026-09-10 implemented the filesystem (fs), focused on directory structure and file allocation strategies for improved access speed. wired up the fs to ensure proper integration with existing modules, tested data flow between components during initial operations. started the shell, establishing basic command parsing and execution control flow to interface with the filesystem. added memory management capabilities, implemented a new allocation strategy to minimize fragmentation and optimize performance. cleaned up the shell code for readability, removed redundant whitespace to maintain consistent coding standards across the project. performed additional wiring for memory to ensure it interacts correctly with both the filesystem and shell for seamless operation. fleshed out the fs with additional features like file permissions and metadata handling, ensuring robustness for concurrent access."}, {"post_id": 65255, "ts": "2026-09-10T08:03:20Z", "hours": 6.4386, "text": "📓 devlog · 2026-09-09 implemented shell functionality, used a simple command parsing approach to handle user inputs effectively. added shell module, structured to handle basic commands and provide feedback to users. fleshed out shell with support for additional built-in commands, improving user experience and functionality. performed cleanup across multiple files, removing unused variables and optimizing control flow where necessary. started filesystem integration in shell, allowing for basic file operations within the command line. continued formatting work across the project, ensuring consistent code style and readability. tidied shell code for better organization, enhancing maintainability and future development efforts. 📓 devlog · 2026-09-09 implemented shell functionality, used a simple command parsing approach to handle user inputs effectively. added shell module, structured to handle basic commands and provide feedback to users. fleshed out shell with support for additional built-in commands, improving user experience and functionality. performed cleanup across multiple files, removing unused variables and optimizing control flow where necessary. started filesystem integration in shell, allowing for basic file operations within the command line. continued formatting work across the project, ensuring consistent code style and readability. tidied shell code for better organization, enhancing maintainability and future development efforts."}, {"post_id": 64632, "ts": "2026-09-09T05:28:16Z", "hours": 9.9, "text": "📓 devlog · 2026-09-08 added shell module, implemented basic command parsing and execution flow, using a simple function pointer array for command dispatch fleshed out shell functionality, included support for built-in commands and input handling, ensuring proper memory allocation for command buffers tidied up shell code, removed redundant whitespace and improved consistency in formatting to enhance readability performed multiple cleanups, refactored shell initialization code for better modularity and maintainability wired up shell to the main application loop, ensuring proper integration and execution flow with other components addressed multiple whitespace issues across files, ensuring consistent coding standards throughout the project"}, {"post_id": 63857, "ts": "2026-09-07T20:46:33Z", "hours": 12.5, "text": "📓 devlog · 2026-09-07 implemented fs, focused on the core file system structure, ensuring proper data layout for efficient file access. fixed a typo in the shell, improving command parsing accuracy and preventing potential runtime errors. tidied shell code by removing unnecessary whitespace and organizing functions for better readability and maintenance. performed multiple formatting updates across various files to adhere to coding standards, ensuring uniformity in style. continued work in progress on shell functionality, refining command handling and improving control flow for user input. completed cleanup tasks to remove unused variables and redundant code, optimizing memory usage and enhancing performance."}, {"post_id": 62472, "ts": "2026-09-05T20:33:49Z", "hours": 11.9333, "text": "📓 devlog · 2026-09-05 added drivers for peripheral devices, ensuring proper initialization and configuration settings. implemented a basic shell structure, allowing for command processing and execution. performed multiple whitespace fixes across various files for improved readability and consistency. cleaned up existing code, removing unused variables and dead code to streamline execution paths. created a rough outline for the shell functionality, defining command handling and parsing logic. updated shell implementation to handle user inputs and provide feedback on command execution. added stubs for future shell commands, preparing for further functionality expansion."}, {"post_id": 61112, "ts": "2026-09-03T20:52:00Z", "hours": 6.3667, "text": "📓 devlog · 2026-09-03 added drivers for peripheral communication, structured to allow for easier integration with existing modules. fleshed out driver implementations, ensuring proper handling of initialization and resource allocation. started sketching a shell interface, focusing on command parsing and execution flow. performed multiple whitespace fixes across various files for improved readability and consistency. conducted cleanup of redundant code segments in the driver files, reducing overall complexity. wired up drivers to interact with the new shell, establishing a basic command execution pathway. implemented additional driver functionality to support expanded hardware features, enhancing overall system capability."}, {"post_id": 60480, "ts": "2026-09-02T20:34:28Z", "hours": 6.4333, "text": "📓 devlog · 2026-09-02 tidied up the main module, removed unused imports and improved code readability through consistent formatting. wired up the main module with initial control flow, ensuring proper function calls and data handling. added a preliminary structure for the main module, including stubs for future function implementations. started development on drivers, implementing basic functionality and ensuring proper interaction with the main module. fleshed out the drivers with additional features, focusing on data handling and performance. sketched out the shell interface for user interaction, laying groundwork for input handling and command processing. performed multiple whitespace fixes across various files to maintain code clarity and consistency."}, {"post_id": 59835, "ts": "2026-09-01T20:12:40Z", "hours": 6.6333, "text": "📓 devlog · 2026-09-01 added main module, defined basic structure and entry point for the application flow. cleaned up code formatting across multiple files, improved readability and maintained consistency. fleshed out main functionality, implemented key features and logic required for initial operation. performed multiple whitespace fixes, ensured compliance with style guide and improved diff clarity. started additional main implementations, focused on refining specific functions and control flow. tidied main module, reorganized code for better logical grouping and clarity, enhanced maintainability. conducted cleanup, removed unused variables and functions, streamlined overall codebase."}, {"post_id": 59152, "ts": "2026-08-31T19:40:38Z", "hours": 7.5333, "text": "📓 devlog · 2026-08-31 added main module, set up initial structure and entry points for control flow. wired up main, ensured proper integration with existing components. cleaned up codebase, removed unused variables and streamlined functions for better readability. tidied up main, focused on consistent naming conventions and indentation. addressed multiple whitespace issues, ensuring uniform formatting throughout the code. fleshed out main with additional functionality, enh"}, {"post_id": 57902, "ts": "2026-08-30T07:19:42Z", "hours": 10.1333, "text": "📓 devlog · 2026-08-29 implemented main module, structured the control flow to handle various inputs and outputs efficiently. wired up main functionality, ensured integration with existing components while maintaining modularity. performed multiple whitespace fixes across the codebase to enhance readability and comply with formatting standards. cleaned up redundant code in main, improving maintainability without altering the core logic. fleshed out main, added necessary functions to support additional features and edge cases. tidied up main to simplify the execution path, reducing cognitive load for future development. formatted code consistently, aligning with project style guidelines for better collaboration."}, {"post_id": 56858, "ts": "2026-08-28T20:25:55Z", "hours": 2.1333, "text": "📓 devlog · 2026-08-28 cleaned up whitespace in several files to maintain code consistency and readability. implemented stub functions in module m8 to outline future functionality without full implementation. organized and tidied code in m8, removing unnecessary lines and improving structure. continued work in progress on module m8, addressing various incomplete sections. fleshed out details in module m8, adding logic to improve functionality and integration. added new features to m8, enhancing its capabilities based on recent requirements. performed additional cleanup in m8 to remove deprecated code and streamline performance."}, {"post_id": 56412, "ts": "2026-08-28T05:27:02Z", "hours": 10.4667, "text": "📓 devlog · 2026-08-27 cleaned up various sections of the codebase, focusing on removing redundant comments and unused variables for better readability. added module m7, defining its structure and initial state, laying groundwork for subsequent implementations. wired up m7 to existing systems, ensuring data flow and control paths are correctly established. fleshed out m7 with core functionality, implementing key methods and internal logic to meet specifications. began rough implementation of m9, setting up initial framework and placeholders for upcoming features. fixed typos in m9, correcting variable names and comments for clarity and consistency. implemented core functions for m9, following through on the designs sketched in earlier commits."}, {"post_id": 55216, "ts": "2026-08-26T20:02:26Z", "hours": 5.6, "text": "📓 devlog · 2026-08-26 implemented module m2, focused on core functionality, ensured proper data handling and state management wired up module m2, established connections with existing components, validated data flow between modules started development on module m7, created initial stubs to define interface and behavior expectations fixed a bug in module m7 related to incorrect state transitions, improved control flow conducted cleanup across various modules, removed unused variables and optimized memory layout worked on ktest, tidied up existing tests, improved structure for better readability and maintainability performed whitespace fixes across multiple files to maintain consistency and adhere to coding standards"}, {"post_id": 54746, "ts": "2026-08-25T20:40:36Z", "hours": 2.2667, "text": "📓 devlog · 2026-08-25- worked on scheduling system, added preliminary structures for new scheduling algorithms while ensuring compatibility with existing code.- performed code tidying in the scheduling module, improving readability and reducing cyclomatic complexity.- implemented core functionality for module m5, focusing on resource allocation and control flow for task management.- fixed whitespace issues throughout the codebase, ensuring consistent formatting and adherence to style guidelines.- completed the implementation of module m5, integrating features from earlier sketches and ensuring edge cases are handled.- conducted cleanup on multiple modules, removing redundant code and ensuring proper memory allocation practices are followed.- added preliminary sketches for module m2, laying groundwork for future functionality and ensuring alignment with overall architecture."}, {"post_id": 54346, "ts": "2026-08-25T09:29:39Z", "hours": 10.2333, "text": "📓 devlog · 2026-08-23- added ramfs module, implemented initial allocation and file structure layout for in-memory file system.- cleaned up whitespace and formatting across multiple files to improve readability and maintainability.- stubs created for m4 module, establishing the basic structure and placeholders for future development.- wired up ramfs to the existing system, ensuring proper integration with the kernel and other subsystems.- worked on m4 module, refining control flow and preparing it for handling input and output operations.- multiple sketches of ramfs and m4 completed, outlining potential features and behaviors for further implementation.- conducted overall cleanup of the codebase, addressing minor issues and ensuring consistent coding standards."}, {"post_id": 53333, "ts": "2026-08-23T20:21:43Z", "hours": 2.0667, "text": "📓 devlog · 2026-08-23 added ramfs module, implemented initial allocation and file structure layout for in-memory file system. cleaned up whitespace and formatting across multiple files to improve readability and maintainability. stubs created for m4 module, establishing the basic structure and placeholders for future development. wired up ramfs to the existing system, ensuring proper integration with the kernel and other subsystems. worked on m4 module, refining control flow and preparing it for handling input and output operations. multiple sketches of ramfs and m4 completed, outlining potential features and behaviors for further implementation. conducted overall cleanup of the codebase, addressing minor issues and ensuring consistent coding standards."}, {"post_id": 52832, "ts": "2026-08-23T05:57:49Z", "hours": 19.9, "text": "📓 devlog · 2026-08-22 implemented ramfs, defined basic structure and operations for file handling and memory layout fleshed out ramfs, added functions for reading and writing files, ensuring proper memory allocation started ramfs, established initial setup for in-memory filesystem structure and controls cleaned up code across multiple files, removed unnecessary whitespace for better readability performed formatting adjustments, ensured consistent code style and indentation throughout the project worked on rough elf, iterated on the ELF parsing logic and data structures for improved parsing accuracy added additional cleanup commits for better organization and maintainability of the codebase"}, {"post_id": 50669, "ts": "2026-08-19T23:15:32Z", "hours": 10.7733, "text": "📓 devlog · 2026-08-19 - cleaned up ktest, removed unnecessary code and improved readability for better maintainability. - began outlining ktest structure, defined major test cases and expected outcomes to streamline future development. - fleshed out vfs, added initial functions for file handling and directory structure, focusing on memory layout. - implemented basic elf loading, structured code to handle ELF file format parsing and memory allocation. - performed multiple cleanups across modules, consolidated formatting and fixed whitespace issues to adhere to style guidelines. - initiated elf module, set up initial framework for ELF support including header parsing and section handling."}, {"post_id": 49378, "ts": "2026-08-18T05:17:25Z", "hours": 14.9333, "text": "📓 devlog · 2026-08-17- implemented tar functionality, focusing on the compression algorithm and ensuring efficient file handling during archiving.- added multiple methods for extracting and listing files within the tar format, ensuring compatibility with various file types.- began work on the virtual file system (vfs), outlining the necessary data structures for managing file metadata and storage locations.- added initial stubs for vfs functions, setting up a foundation for future integration with the tar operations.- performed formatting changes across several files to improve code readability and maintain consistency in style.- addressed whitespace issues in the codebase to enhance clarity and adhere to coding standards.- continued development on vfs, sketching out control flow and interactions between the file system and tar operations."}, {"post_id": 47755, "ts": "2026-08-15T21:51:30Z", "hours": 5.7333, "text": "added module m6, structured to handle new data processing tasks with lower memory overhead.- wired up module m6, integrated it into the existing control flow to ensure correct data handling.- implemented core functionality for module m6, focusing on efficient allocation and deallocation.- wired up the hello module, ensuring it interfaces properly with other components.- implemented motd, providing a simple message on system start to enhance user experience.- worked on tar, stubbing out initial functionality while preparing for future enhancements.- performed cleanup across various modules, focusing on code readability and eliminating unused variables."}, {"post_id": 47187, "ts": "2026-08-14T22:17:59Z", "hours": 8.0667, "text": "📓 devlog · 2026-08-14 added initial sketches for ktest and pci modules, outlining the basic structure and intended functionality. conducted general cleanup across the repository, removing unused code and improving overall organization. made multiple formatting adjustments to ensure consistent code style throughout the project. implemented the pci module, focusing on memory allocation and control flow to handle device interactions. fixed typos in ktest documentation and comments to improve clarity and maintainability. worked on stubbing out ktest functionality, laying the groundwork for future testing features. addressed whitespace issues in several files to maintain code readability and adherence to style guidelines."}, {"post_id": 46521, "ts": "2026-08-13T20:07:57Z", "hours": 6.1667, "text": "📓 devlog · 2026-08-13 formatted various files for consistency, improved readability across the codebase. performed multiple cleanup tasks, removing dead code and refactoring functions for better maintainability. wired up the pci subsystem, ensuring proper connection and control flow with existing components. started initial implementation of ktest, laying out the basic structure and functions required for testing. tidied up the pci module by organizing functions and consolidating related code segments. addressed whitespace issues in several files to enhance overall code quality. stubbed out ktest functions to create placeholders for future testing scenarios and implementations."}, {"post_id": 45973, "ts": "2026-08-12T20:06:31Z", "hours": 5.5333, "text": "📓 devlog · 2026-08-12 cleaned up various modules, removed unused imports and redundant code for better readability and maintainability. fixed whitespace issues across multiple files to ensure consistent formatting and adhere to coding standards. fleshed out the pci module, implementing initial structures and outlining the control flow for device communication. tidied up the ktest module, improved the organization of test cases and ensured proper initialization of test variables. stubbed the ktest module to establish a framework for future unit tests, setting up basic test cases without implementation. started the pci module, laying the groundwork for further development and integration with existing components."}, {"post_id": 45412, "ts": "2026-08-11T20:47:58Z", "hours": 6.0333, "text": "📓 devlog · 2026-08-11 added initial implementation for pci, structured to facilitate device communication in the system. performed multiple cleanup operations across the codebase, focusing on removing redundant code and improving readability. fixed whitespace issues in several files, enhancing consistency in formatting. refined the pci module’s layout to ensure efficient data flow and reduce memory overhead. ensured all cleanup efforts adhered to the existing coding standards, promoting maintainability. adjusted comments and documentation to reflect recent changes, particularly for the pci module."}, {"post_id": 44820, "ts": "2026-08-10T20:53:14Z", "hours": 6.4667, "text": "📓 plan · 2026-08-10 I’m starting the day later than usual, so I plan to tackle the whitespace fixes first to ensure our code adheres to the style guide. Once those are out of the way, I’ll focus on fleshing out the PCI subsystem, aiming for a more robust memory layout and control flow that supports our concurrency model. The evening will be dedicated to cleanup and further tidying of the PCI components, wrapping up with formatting to maintain consistency. If all goes well, I’ll end the day with a well-structured and polished segment of the codebase."}, {"post_id": 44214, "ts": "2026-08-09T20:34:21Z", "hours": 12.7667, "text": "📓 devlog · 2026-08-09 added ata module, structured data layout to optimize access patterns and reduce allocation overhead. implemented ktest, focusing on the test harness for kernel functionalities, ensuring control flow is correctly validated. wired up pci, improved integration with ata, facilitating better data transfer between components. tidied up ata, removed unnecessary complexity in the data handling logic to enhance maintainability. fixed typos in ktest to improve readability and avoid potential confusion in the test cases. worked on rough ktest, established initial test cases for future enhancements and iterations."}, {"post_id": 42854, "ts": "2026-08-07T20:02:05Z", "hours": 5.3667, "text": "📓 devlog · 2026-08-07 implemented ata, added core functionality and basic data processing logic. started ktest, set up initial test structure with basic stubs for functionality. fleshed out ktest, integrated test cases and improved coverage for ata interactions. cleaned up codebase, removed unused variables and simplified function calls across modules. performed multiple formatting updates, ensured consistent indentation and styling in source files. created stubs for ata, outlined functions for future implementation. addressed whitespace issues, standardized whitespace across all files for better readability."}, {"post_id": 42227, "ts": "2026-08-06T20:52:42Z", "hours": 3.6333, "text": "📓 devlog · 2026-08-06 tidied up the acpi module, removed unused variables and streamlined function calls for better readability. started work on the acpi module, established initial data structures for handling ACPI tables. performed whitespace fixes across multiple files to maintain consistent formatting, aiding in code maintainability. initiated ktest module, set up basic test framework for kernel testing. tidied up ktest, improved code organization by grouping related functions and reducing code duplication. began rough implementation of ata support, focused on defining data structures for device management. implemented core ata functionality, ensuring proper handling of ATA commands and data transfers."}, {"post_id": 41635, "ts": "2026-08-05T23:41:07Z", "hours": 9.1, "text": "📓 devlog · 2026-08-05 added cpu module with basic structure and initial function outlines for core operations, set up initial memory allocation patterns. tidied up cpu code to improve readability, removed unused variables, and streamlined control flow in functions. began implementation of acpi, defining key data structures and laying out the function signatures required for system power management. wired up ktest to interface with cpu and acpi modules, ensuring proper data flow and control between the components. performed multiple cleanups throughout the codebase, focusing on removing redundant code and addressing formatting inconsistencies. fleshed out ktest to include test cases for cpu and acpi functionality, verifying expected behavior under various scenarios."}, {"post_id": 40954, "ts": "2026-08-04T20:19:12Z", "hours": 6.3667, "text": "📓 devlog · 2026-08-04 added initial structure for rtc, defined basic functions and headers for timekeeping. implemented core rtc functionality, allowing for setting and getting time with precision. cleaned up memory allocation in the cpu module, optimizing data access patterns. wired up cpu to handle rtc interrupts, ensuring correct handling of time-based events. fixed several whitespace and formatting issues across multiple files for consistency. addressed a typo in rtc definitions to prevent compilation errors. started work on syscall implementation, focusing on establishing foundational interfaces."}, {"post_id": 40355, "ts": "2026-08-03T20:02:26Z", "hours": 5.4667, "text": "📓 devlog · 2026-08-03 implemented syscall in the kernel, handling input and output operations for better interaction with user processes. wired up syscall to ensure proper communication between user space and kernel space, adjusting control flow for seamless execution. cleaned up codebase multiple times, focusing on removing redundant code and improving readability across various modules. added stub for rtc, laying the groundwork for real-time clock functionality, enabling time management features in future updates. addressed whitespace issues in several files, ensuring consistent formatting and adherence to style guidelines throughout the project."}, {"post_id": 39704, "ts": "2026-08-02T20:46:18Z", "hours": 6.2333, "text": "📓 devlog · 2026-08-02 started initial implementation of the scheduling module, focusing on basic structure and control flow. sketched out the keyboard input handling, defining data layout and key event management. performed a cleanup of the existing codebase, removing unused variables and improving readability. fixed a typo in the scheduling module that could lead to misinterpretation of scheduling logic. wired up the keyboard functionality to capture input events, ensuring proper allocation of resources for key states. cleaned up whitespace across multiple files, improving overall code consistency and formatting. stubs created for keyboard handling, setting the stage for future development of input features."}, {"post_id": 39124, "ts": "2026-08-01T20:39:59Z", "hours": 12.5667, "text": "📓 devlog · 2026-08-01 implemented physical memory management (pmm), structured memory allocation routines to handle page frames efficiently. added a programmable interrupt controller (pic), designed to manage hardware interrupts with a focus on prioritization and handling edge cases. started input subsystem, defined initial data structures and control flow for handling keyboard events. fixed typos and cleaned up whitespace across various files to improve code readability and maintainability. implemented keyboard handling, established key state tracking and event generation for input processing. performed multiple rounds of formatting and organization on the input code to align with project standards. created stubs for future input features, ensuring basic structure without full implementation for now."}, {"post_id": 37846, "ts": "2026-07-30T20:17:09Z", "hours": 6.4333, "text": "📓 devlog · 2026-07-30 added physical memory management (pmm) module, implemented basic allocation and deallocation routines for memory blocks. fleshed out pmm with additional functions for tracking free memory and fragmentation reduction strategies. wired up pmm with the scheduler, ensuring proper memory allocation during task creation and context switching. started work on the scheduler, focusing on establishing control flow for task prioritization and execution sequence. performed whitespace fixes across multiple files to improve code readability and maintain consistency."}, {"post_id": 37240, "ts": "2026-07-29T19:55:46Z", "hours": 3.1333, "text": "📓 devlog · 2026-07-29 removed unused variables in the scheduler module, improving readability and reducing confusion. organized the scheduling logic into smaller functions, enhancing maintainability and clarity in control flow. started work on the physical memory manager, focusing on the initial layout and allocation strategy. added basic structure for the physical memory manager, ensuring it aligns with existing memory management routines. performed multiple cleanups across the codebase, addressing formatting issues and whitespace for consistent style. iterated on the physical memory manager with rough implementations to establish a foundation for future development."}, {"post_id": 36718, "ts": "2026-07-28T23:16:55Z", "hours": 8.6667, "text": "📓 devlog · 2026-07-28 implemented basic structure for the ring buffer, focusing on data insertion and deletion mechanics. fixed issues in the ring buffer related to overflow conditions, ensuring proper wrap-around logic. started initial work on the scheduler module, defining its role in managing task execution order. cleaned up code in various modules, removing unused variables and optimizing function calls for clarity. made progress on physical memory management (pmm), refining allocation strategies and data structures. wired up pmm with the existing memory system, ensuring compatibility with current allocation patterns. cleaned up and sketched additional plans for pmm, setting groundwork for more advanced features."}, {"post_id": 35423, "ts": "2026-07-26T20:27:13Z", "hours": 2.0667, "text": "📓 devlog · 2026-07-25 added a slab allocator to manage memory allocation more efficiently, reducing fragmentation and improving performance for small objects. implemented a rough version of the slab with basic allocation and deallocation logic, focusing on a fixed-size object layout. created a sketch for the slab design, outlining the data structures needed for cache management and object tracking. performed multiple cleanup commits to improve code readability, removing unnecessary whitespace and standardizing formatting. fixed a typo in the slab implementation to ensure consistency in naming conventions across the module. added stubs for future slab functionality, allowing for easier expansion and integration of additional features later. 📓 devlog · 2026-07-25 added a slab allocator to manage memory allocation more efficiently, reducing fragmentation and improving performance for small objects. implemented a rough version of the slab with basic allocation and deallocation logic, focusing on a fixed-size object layout. created a sketch for the slab design, outlining the data structures needed for cache management and object tracking. performed multiple cleanup commits to improve code readability, removing unnecessary whitespace and standardizing formatting. fixed a typo in the slab implementation to ensure consistency in naming conventions across the module. added stubs for future slab functionality, allowing for easier expansion and integration of additional features later."}, {"post_id": 35069, "ts": "2026-07-26T08:05:46Z", "hours": 8.6, "text": "📓 devlog · 2026-07-25 added a slab allocator to manage memory allocation more efficiently, reducing fragmentation and improving performance for small objects. implemented a rough version of the slab with basic allocation and deallocation logic, focusing on a fixed-size object layout. created a sketch for the slab design, outlining the data structures needed for cache management and object tracking. performed multiple cleanup commits to improve code readability, removing unnecessary whitespace and standardizing formatting. fixed a typo in the slab implementation to ensure consistency in naming conventions across the module. added stubs for future slab functionality, allowing for easier expansion and integration of additional features later."}, {"post_id": 34314, "ts": "2026-07-24T22:08:52Z", "hours": 3.6667, "text": "📓 devlog · 2026-07-24 implemented paging, added core functionality for memory management, ensuring proper control flow for page allocation and deallocation. fleshed out paging, defined page structures and their associated metadata for efficient access patterns. wired up slab, integrated slab allocation with paging to optimize memory usage and reduce fragmentation. rough paging, established initial framework for paging algorithms, focusing on basic page replacement strategies. performed cleanup in various modules, removing redundant code and improving readability. formatted code across multiple files, ensuring consistency in style and adherence to project guidelines. worked on libk, progressing on utility functions to support paging and slab management."}, {"post_id": 33893, "ts": "2026-07-24T05:28:56Z", "hours": 10.8333, "text": "📓 devlog · 2026-07-23 performed general cleanup across multiple files, removed unused variables and streamlined functions for better readability. initiated work on libk, added initial sketches for core functions and data structures, focused on modular design. formatted existing code for consistency, ensured alignment with style guide across all modified files. stubbed out additional functions in libk, set up basic structure for future implementation, no functional changes yet. implemented rough drafts of key algorithms in libk, focused on establishing functional outlines and placeholders. added sketches for paging functionality, laid ground for memory management, still a work in progress. fixed multiple instances of whitespace inconsistencies, ensured code meets formatting standards."}, {"post_id": 33142, "ts": "2026-07-22T19:42:34Z", "hours": 5.7667, "text": "📓 devlog · 2026-07-22 stub libk, added initial placeholder functions to define the interface and structure for future implementation. sketch libk, outlined key functionalities and features expected in libk to guide further development. ok actually fix libk, resolved an existing issue in the libk implementation that impacted function performance. cleanup, removed unnecessary code and comments in multiple files to improve readability and maintainability. formatting, standardized code formatting across several modules to ensure consistency in style and layout. add pic, integrated initial assets and images required for the project, ensuring proper paths and references. rough libk, created a basic version of libk to provide a foundational structure for ongoing enhancements."}, {"post_id": 32547, "ts": "2026-07-21T20:05:00Z", "hours": 3.4333, "text": "📓 devlog · 2026-07-21 added rough implementation of timefmt, establishing a basic structure for time formatting functionality. cleaned up code formatting across several modules to improve readability and maintainability. created stubs for timefmt, setting up placeholder functions for future development and integration. fixed a typo in the timefmt module, ensuring correct naming and preventing potential lookup errors. began work on paging, focusing on the initial design for memory management and data access. started implementing libk, aiming to enhance core library functions related to kernel operations. tidied up libk, removing unused code and optimizing existing functions for better performance."}, {"post_id": 32056, "ts": "2026-07-20T23:05:31Z", "hours": 8.8667, "text": "📓 devlog · 2026-07-20 implemented rough version of timefmt, focusing on initial parsing logic for time strings. wired up timefmt to the main application flow, ensuring it integrates correctly with existing date handling. sketched out the overall structure of timefmt, laying the groundwork for future enhancements. fixed whitespace inconsistencies in several files for better readability and maintainability. addressed a typo in the timefmt module to prevent potential runtime errors. performed additional cleanup across the codebase, removing unused variables and functions. added a stub for timefmt to facilitate further development and testing."}, {"post_id": 31435, "ts": "2026-07-19T20:03:21Z", "hours": 6.1, "text": "📓 devlog · 2026-07-19 implemented rough version of timefmt, focusing on initial parsing logic for time strings. wired up timefmt to the main application flow, ensuring it integrates correctly with existing date handling. sketched out the overall structure of timefmt, laying the groundwork for future enhancements. fixed whitespace inconsistencies in several files for better readability and maintainability. addressed a typo in the timefmt module to prevent potential runtime errors. performed additional cleanup across the codebase, removing unused variables and functions. added a stub for timefmt to facilitate further development and testing."}, {"post_id": 30855, "ts": "2026-07-18T20:05:37Z", "hours": 5.6028, "text": "📓 devlog · 2026-07-18 modified pic module to include initial implementation and basic structure, established interface for adding images. expanded functionality of pic module, incorporated methods for adding and manipulating image data. began initial work on timefmt module, implemented rough outline for time formatting functions. fixed identified issues in timefmt, corrected incorrect time string conversions and edge cases. performed multiple iterations and cleanups on timefmt, ensuring consistent formatting and removal of redundant code. addressed whitespace issues throughout the codebase, maintaining code readability and standards. completed additional stubs for timefmt, preparing for future enhancements and detailed functionality."}, {"post_id": 30370, "ts": "2026-07-17T20:56:25Z", "hours": 6.6667, "text": "📓 devlog · 2026-07-17 started working on the vga module, established initial structure and placeholder functions for further development. cleaned up existing code, focused on reducing redundant lines and improving readability across various modules. fleshed out vga functionality, added basic rendering capabilities and memory layout for pixel data. implemented a timer system, ensuring precise tracking of time intervals, adjusted allocation for timer objects. added stubs for pic and timefmt modules, set up basic function signatures for future implementation. made multiple whitespace fixes across all files to conform to coding standards and improve consistency. tidied up pic module, streamlined control flow and ensured compatibility with vga rendering logic."}, {"post_id": 29723, "ts": "2026-07-16T20:17:42Z", "hours": 6.6667, "text": "📓 devlog · 2026-07-16 implemented serial communication module, established basic data transfer protocols and control flow. added serial interface to the main system, allowing for external device communication. fleshed out serial functionality, including error checking and buffer management. wired up serial connections for data transmission, ensuring correct pin mappings and signal integrity. sketched out io module structure, focusing on input/output handling and data processing paths. added initial io functions, implementing basic read/write capabilities for peripheral devices. began rough implementation of vga module, focusing on pixel data handling and display timing."}, {"post_id": 29115, "ts": "2026-07-15T19:34:57Z", "hours": 5.3667, "text": "📓 devlog · 2026-07-15 implemented console, added basic input/output functionality for user interaction through standard input and output streams. wired up console, ensured proper integration with the main application loop for event handling. implemented blockcache, optimized data retrieval by caching frequently accessed blocks in memory. wired up blockcache, linked it to the data storage layer to enhance read performance. stubbed and tidied paging, established the foundational structure for memory paging without full implementation yet. tidied serial, cleaned up the existing codebase for serial communication, improving readability and maintainability. added serial, integrated serial port communication for external device interaction, allowing data transfer between the application and peripherals."}, {"post_id": 28515, "ts": "2026-07-14T20:24:25Z", "hours": 6.6283, "text": "📓 devlog · 2026-07-14 added initial work on interrupt handling, defined basic structure for interrupt service routines. performed code cleanup to improve readability, removed unnecessary comments and streamlined function definitions. cleaned up formatting across several files to adhere to style guidelines, ensuring consistent indentation and spacing. created stub implementations for interrupt handlers, laying groundwork for future development and testing. sketched out a more detailed design for interrupt architecture, focusing on data flow and control mechanisms. tidied up existing interrupt code, organized functions, and reduced duplication in the implementation. continued refining interrupt handling logic, addressing edge cases and ensuring proper allocation of resources."}, {"post_id": 27885, "ts": "2026-07-13T19:57:58Z", "hours": 6.5711, "text": "📓 devlog · 2026-07-13 added stub interrupts to initialize interrupt handling in the system, setting up for further implementation. created a work-in-progress blockcache module, laying the groundwork for efficient data storage and retrieval. implemented the timer functionality, ensuring accurate time tracking within the system for scheduling tasks. cleaned up various modules including blockcache and interrupts, improving readability and maintainability of the code. fleshed out timer implementation details, refining the control flow for better performance in timing operations. performed multiple formatting fixes across files for consistent coding style, aiding in future collaboration. organized and tidied blockcache code, improving memory layout and preparing it for future enhancements."}, {"post_id": 27323, "ts": "2026-07-12T20:03:59Z", "hours": 6.5561, "text": "📓 devlog · 2026-07-12 cleaned up interrupt handling code, focused on reducing redundancy and improving readability without changing functionality. implemented stubs for interrupt functions to facilitate future development, allowing for easier testing and integration. performed multiple whitespace fixes throughout the codebase to maintain consistency in style, improving overall readability. formatted code to align with the project’s style guide, ensuring uniformity across various modules and files. addressed various cleanup tasks, removing unused variables and optimizing import statements for better organization. worked on interrupt-related functionality, marked as work in progress, which requires further testing and validation. applied additional tidying to interrupt handling to ensure clear control flow and efficient resource management."}, {"post_id": 26805, "ts": "2026-07-11T20:12:50Z", "hours": 7.3297, "text": "📓 devlog · 2026-07-11 added basic interrupt handling, defined interrupt vectors and handlers for specific events, ensuring correct execution flow. cleaned up existing code, removed unused variables and streamlined function definitions for better readability and maintainability. implemented rough interrupt logic, focused on initial data capture and processing for incoming signals from hardware. tidied up the interrupt code, organized structure for clarity, and ensured consistent naming conventions across handlers. performed multiple whitespace fixes and formatting adjustments, ensuring adherence to style guidelines throughout the project. worked in progress on interrupt functionality, laying groundwork for future enhancements and optimizations in response handling."}, {"post_id": 26151, "ts": "2026-07-10T19:35:47Z", "hours": 1.6197, "text": "📓 devlog · 2026-07-10 implemented wiring for idt, ensuring proper interrupt handling flow. created initial sketches for gdt, focusing on data structure layout and alignment. performed multiple whitespace fixes across files for improved readability. refined gdt implementation with rough and tidy stages, optimizing memory layout. wired up gdt, enabling segment-based memory management for the system. cleaned up interrupt wiring, enhancing control flow during interrupt processing. standardized formatting across the codebase to maintain consistency and clarity."}, {"post_id": 25764, "ts": "2026-07-10T06:38:12Z", "hours": 13.3744, "text": "📓 devlog · 2026-07-09 fleshed out README content to provide clearer project guidelines and usage instructions, improved overall clarity. made multiple formatting adjustments across the README files to ensure consistency and readability. started and wired up the initial draft of the interrupt descriptor table (idt), focusing on basic structure and future implementation. added stubs for idt functions, preparing for further development while ensuring initial code integrity. corrected a typo in the idt implementation, ensuring accurate naming conventions in the codebase. performed cleanup tasks on both README and idt files, removing redundant lines and improving organization."}]...
|
Title: NYX by @Paulaner | Stardance
Devlogs:
📓 de Title: NYX by @Paulaner | Stardance
Devlogs:
📓 devlog · 2026-07-09 fleshed out README content to provide clearer project guidelines and usage instructions, improved overall clarity. made multiple formatting adjustments across the README files to ensure consistency and readability. started and wired up the initial draft of the interrupt descriptor table (idt), focusing on basic structure and future implementation. added stubs for idt functions, preparing for further development while ensuring initial code integrity. corrected a typo in the idt implementation, ensuring accurate naming conventions in the codebase. performed cleanup tasks on both README and idt files, removing redundant lines and improving organization.
📓 devlog · 2026-07-10 implemented wiring for idt, ensuring proper interrupt handling flow. created initial sketches for gdt, focusing on data structure layout and alignment. performed multiple whitespace fixes across files for improved readability. refined gdt implementation with rough and tidy stages, optimizing memory layout. wired up gdt, enabling segment-based memory management for the system. cleaned up interrupt wiring, enhancing control flow during interrupt processing. standardized formatting across the codebase to maintain consistency and clarity.
📓 devlog · 2026-07-11 added basic interrupt handling, defined interrupt vectors and handlers for specific events, ensuring correct execution flow. cleaned up existing code, removed unused variables and streamlined function definitions for better readability and maintainability. implemented rough interrupt logic, focused on initial data capture and processing for incoming signals from hardware. tidied up the interrupt code, organized structure for clarity, and ensured consistent naming conventions across handlers. performed multiple whitespace fixes and formatting adjustments, ensuring adherence to style guidelines throughout the project. worked in progress on interrupt functionality, laying groundwork for future enhancements and optimizations in response handling.
📓 devlog · 2026-07-12 cleaned up interrupt handling code, focused on reducing redundancy and improving readability without changing functionality. implemented stubs for interrupt functions to facilitate future development, allowing for easier testing and integration. performed multiple whitespace fixes throughout the codebase to maintain consistency in style, improving overall readability. formatted code to align with the project’s style guide, ensuring uniformity across various modules and files. addressed various cleanup tasks, removing unused variables and optimizing import statements for better organization. worked on interrupt-related functionality, marked as work in progress, which requires further testing and validation. applied additional tidying to interrupt handling to ensure clear control flow and efficient resource management.
📓 devlog · 2026-07-13 added stub interrupts to initialize interrupt handling in the system, setting up for further implementation. created a work-in-progress blockcache module, laying the groundwork for efficient data storage and retrieval. implemented the timer functionality, ensuring accurate time tracking within the system for scheduling tasks. cleaned up various modules including blockcache and interrupts, improving readability and maintainability of the code. fleshed out timer implementation details, refining the control flow for better performance in timing operations. performed multiple formatting fixes across files for consistent coding style, aiding in future collaboration. organized and tidied blockcache code, improving memory layout and preparing it for future enhancements.
📓 devlog · 2026-07-14 added initial work on interrupt handling, defined basic structure for interrupt service routines. performed code cleanup to improve readability, removed unnecessary comments and streamlined function definitions. cleaned up formatting across several files to adhere to style guidelines, ensuring consistent indentation and spacing. created stub implementations for interrupt handlers, laying groundwork for future development and testing. sketched out a more detailed design for interrupt architecture, focusing on data flow and control mechanisms. tidied up existing interrupt code, organized functions, and reduced duplication in the implementation. continued refining interrupt handling logic, addressing edge cases and ensuring proper allocation of resources.
📓 devlog · 2026-07-15 implemented console, added basic input/output functionality for user interaction through standard input and output streams. wired up console, ensured proper integration with the main application loop for event handling. implemented blockcache, optimized data retrieval by caching frequently accessed blocks in memory. wired up blockcache, linked it to the data storage layer to enhance read performance. stubbed and tidied paging, established the foundational structure for memory paging without full implementation yet. tidied serial, cleaned up the existing codebase for serial communication, improving readability and maintainability. added serial, integrated serial port communication for external device interaction, allowing data transfer between the application and peripherals.
📓 devlog · 2026-07-16 implemented serial communication module, established basic data transfer protocols and control flow. added serial interface to the main system, allowing for external device communication. fleshed out serial functionality, including error checking and buffer management. wired up serial connections for data transmission, ensuring correct pin mappings and signal integrity. sketched out io module structure, focusing on input/output handling and data processing paths. added initial io functions, implementing basic read/write capabilities for peripheral devices. began rough implementation of vga module, focusing on pixel data handling and display timing.
📓 devlog · 2026-07-17 started working on the vga module, established initial structure and placeholder functions for further development. cleaned up existing code, focused on reducing redundant lines and improving readability across various modules. fleshed out vga functionality, added basic rendering capabilities and memory layout for pixel data. implemented a timer system, ensuring precise tracking of time intervals, adjusted allocation for timer objects. added stubs for pic and timefmt modules, set up basic function signatures for future implementation. made multiple whitespace fixes across all files to conform to coding standards and improve consistency. tidied up pic module, streamlined control flow and ensured compatibility with vga rendering logic.
📓 devlog · 2026-07-18 modified pic module to include initial implementation and basic structure, established interface for adding images. expanded functionality of pic module, incorporated methods for adding and manipulating image data. began initial work on timefmt module, implemented rough outline for time formatting functions. fixed identified issues in timefmt, corrected incorrect time string conversions and edge cases. performed multiple iterations and cleanups on timefmt, ensuring consistent formatting and removal of redundant code. addressed whitespace issues throughout the codebase, maintaining code readability and standards. completed additional stubs for timefmt, preparing for future enhancements and detailed functionality.
📓 devlog · 2026-07-19 implemented rough version of timefmt, focusing on initial parsing logic for time strings. wired up timefmt to the main application flow, ensuring it integrates correctly with existing date handling. sketched out the overall structure of timefmt, laying the groundwork for future enhancements. fixed whitespace inconsistencies in several files for better readability and maintainability. addressed a typo in the timefmt module to prevent potential runtime errors. performed additional cleanup across the codebase, removing unused variables and functions. added a stub for timefmt to facilitate further development and testing.
📓 devlog · 2026-07-20 implemented rough version of timefmt, focusing on initial parsing logic for time strings. wired up timefmt to the main application flow, ensuring it integrates correctly with existing date handling. sketched out the overall structure of timefmt, laying the groundwork for future enhancements. fixed whitespace inconsistencies in several files for better readability and maintainability. addressed a typo in the timefmt module to prevent potential runtime errors. performed additional cleanup across the codebase, removing unused variables and functions. added a stub for timefmt to facilitate further development and testing.
📓 devlog · 2026-07-21 added rough implementation of timefmt, establishing a basic structure for time formatting functionality. cleaned up code formatting across several modules to improve readability and maintainability. created stubs for timefmt, setting up placeholder functions for future development and integration. fixed a typo in the timefmt module, ensuring correct naming and preventing potential lookup errors. began work on paging, focusing on the initial design for memory management and data access. started implementing libk, aiming to enhance core library functions related to kernel operations. tidied up libk, removing unused code and optimizing existing functions for better performance.
📓 devlog · 2026-07-22 stub libk, added initial placeholder functions to define the interface and structure for future implementation. sketch libk, outlined key functionalities and features expected in libk to guide further development. ok actually fix libk, resolved an existing issue in the libk implementation that impacted function performance. cleanup, removed unnecessary code and comments in multiple files to improve readability and maintainability. formatting, standardized code formatting across several modules to ensure consistency in style and layout. add pic, integrated initial assets and images required for the project, ensuring proper paths and references. rough libk, created a basic version of libk to provide a foundational structure for ongoing enhancements.
📓 devlog · 2026-07-23 performed general cleanup across multiple files, removed unused variables and streamlined functions for better readability. initiated work on libk, added initial sketches for core functions and data structures, focused on modular design. formatted existing code for consistency, ensured alignment with style guide across all modified files. stubbed out additional functions in libk, set up basic structure for future implementation, no functional changes yet. implemented rough drafts of key algorithms in libk, focused on establishing functional outlines and placeholders. added sketches for paging functionality, laid ground for memory management, still a work in progress. fixed multiple instances of whitespace inconsistencies, ensured code meets formatting standards.
📓 devlog · 2026-07-24 implemented paging, added core functionality for memory management, ensuring proper control flow for page allocation and deallocation. fleshed out paging, defined page structures and their associated metadata for efficient access patterns. wired up slab, integrated slab allocation with paging to optimize memory usage and reduce fragmentation. rough paging, established initial framework for paging algorithms, focusing on basic page replacement strategies. performed cleanup in various modules, removing redundant code and improving readability. formatted code across multiple files, ensuring consistency in style and adherence to project guidelines. worked on libk, progressing on utility functions to support paging and slab management.
📓 devlog · 2026-07-25 added a slab allocator to manage memory allocation more efficiently, reducing fragmentation and improving performance for small objects. implemented a rough version of the slab with basic allocation and deallocation logic, focusing on a fixed-size object layout. created a sketch for the slab design, outlining the data structures needed for cache management and object tracking. performed multiple cleanup commits to improve code readability, removing unnecessary whitespace and standardizing formatting. fixed a typo in the slab implementation to ensure consistency in naming conventions across the module. added stubs for future slab functionality, allowing for easier expansion and integration of additional features later.
📓 devlog · 2026-07-25 added a slab allocator to manage memory allocation more efficiently, reducing fragmentation and improving performance for small objects. implemented a rough version of the slab with basic allocation and deallocation logic, focusing on a fixed-size object layout. created a sketch for the slab design, outlining the data structures needed for cache management and object tracking. performed multiple cleanup commits to improve code readability, removing unnecessary whitespace and standardizing formatting. fixed a typo in the slab implementation to ensure consistency in naming conventions across the module. added stubs for future slab functionality, allowing for easier expansion and integration of additional features later. 📓 devlog · 2026-07-25 added a slab allocator to manage memory allocation more efficiently, reducing fragmentation and improving performance for small objects. implemented a rough version of the slab with basic allocation and deallocation logic, focusing on a fixed-size object layout. created a sketch for the slab design, outlining the data structures needed for cache management and object tracking. performed multiple cleanup commits to improve code readability, removing unnecessary whitespace and standardizing formatting. fixed a typo in the slab implementation to ensure consistency in naming conventions across the module. added stubs for future slab functionality, allowing for easier expansion and integration of additional features later.
📓 devlog · 2026-07-28 implemented basic structure for the ring buffer, focusing on data insertion and deletion mechanics. fixed issues in the ring buffer related to overflow conditions, ensuring proper wrap-around logic. started initial work on the scheduler module, defining its role in managing task execution order. cleaned up code in various modules, removing unused variables and optimizing function calls for clarity. made progress on physical memory management (pmm), refining allocation strategies and data structures. wired up pmm with the existing memory system, ensuring compatibility with current allocation patterns. cleaned up and sketched additional plans for pmm, setting groundwork for more advanced features.
📓 devlog · 2026-07-29 removed unused variables in the scheduler module, improving readability and reducing confusion. organized the scheduling logic into smaller functions, enhancing maintainability and clarity in control flow. started work on the physical memory manager, focusing on the initial layout and allocation strategy. added basic structure for the physical memory manager, ensuring it aligns with existing memory management routines. performed multiple cleanups across the codebase, addressing formatting issues and whitespace for consistent style. iterated on the physical memory manager with rough implementations to establish a foundation for future development.
📓 devlog · 2026-07-30 added physical memory management (pmm) module, implemented basic allocation and deallocation routines for memory blocks. fleshed out pmm with additional functions for tracking free memory and fragmentation reduction strategies. wired up pmm with the scheduler, ensuring proper memory allocation during task creation and context switching. started work on the scheduler, focusing on establishing control flow for task prioritization and execution sequence. performed whitespace fixes across multiple files to improve code readability and maintain consistency.
📓 devlog · 2026-08-01 implemented physical memory management (pmm), structured memory allocation routines to handle page frames efficiently. added a programmable interrupt controller (pic), designed to manage hardware interrupts with a focus on prioritization and handling edge cases. started input subsystem, defined initial data structures and control flow for handling keyboard events. fixed typos and cleaned up whitespace across various files to improve code readability and maintainability. implemented keyboard handling, established key state tracking and event generation for input processing. performed multiple rounds of formatting and organization on the input code to align with project standards. created stubs for future input features, ensuring basic structure without full implementation for now.
📓 devlog · 2026-08-02 started initial implementation of the scheduling module, focusing on basic structure and control flow. sketched out the keyboard input handling, defining data layout and key event management. performed a cleanup of the existing codebase, removing unused variables and improving readability. fixed a typo in the scheduling module that could lead to misinterpretation of scheduling logic. wired up the keyboard functionality to capture input events, ensuring proper allocation of resources for key states. cleaned up whitespace across multiple files, improving overall code consistency and formatting. stubs created for keyboard handling, setting the stage for future development of input features.
📓 devlog · 2026-08-03 implemented syscall in the kernel, handling input and output operations for better interaction with user processes. wired up syscall to ensure proper communication between user space and kernel space, adjusting control flow for seamless execution. cleaned up codebase multiple times, focusing on removing redundant code and improving readability across various modules. added stub for rtc, laying the groundwork for real-time clock functionality, enabling time management features in future updates. addressed whitespace issues in several files, ensuring consistent formatting and adherence to style guidelines throughout the project.
📓 devlog · 2026-08-04 added initial structure for rtc, defined basic functions and headers for timekeeping. implemented core rtc functionality, allowing for setting and getting time with precision. cleaned up memory allocation in the cpu module, optimizing data access patterns. wired up cpu to handle rtc interrupts, ensuring correct handling of time-based events. fixed several whitespace and formatting issues across multiple files for consistency. addressed a typo in rtc definitions to prevent compilation errors. started work on syscall implementation, focusing on establishing foundational interfaces.
📓 devlog · 2026-08-05 added cpu module with basic structure and initial function outlines for core operations, set up initial memory allocation patterns. tidied up cpu code to improve readability, removed unused variables, and streamlined control flow in functions. began implementation of acpi, defining key data structures and laying out the function signatures required for system power management. wired up ktest to interface with cpu and acpi modules, ensuring proper data flow and control between the components. performed multiple cleanups throughout the codebase, focusing on removing redundant code and addressing formatting inconsistencies. fleshed out ktest to include test cases for cpu and acpi functionality, verifying expected behavior under various scenarios.
📓 devlog · 2026-08-06 tidied up the acpi module, removed unused variables and streamlined function calls for better readability. started work on the acpi module, established initial data structures for handling ACPI tables. performed whitespace fixes across multiple files to maintain consistent formatting, aiding in code maintainability. initiated ktest module, set up basic test framework for kernel testing. tidied up ktest, improved code organization by grouping related functions and reducing code duplication. began rough implementation of ata support, focused on defining data structures for device management. implemented core ata functionality, ensuring proper handling of ATA commands and data transfers.
📓 devlog · 2026-08-07 implemented ata, added core functionality and basic data processing logic. started ktest, set up initial test structure with basic stubs for functionality. fleshed out ktest, integrated test cases and improved coverage for ata interactions. cleaned up codebase, removed unused variables and simplified function calls across modules. performed multiple formatting updates, ensured consistent indentation and styling in source files. created stubs for ata, outlined functions for future implementation. addressed whitespace issues, standardized whitespace across all files for better readability.
📓 devlog · 2026-08-09 added ata module, structured data layout to optimize access patterns and reduce allocation overhead. implemented ktest, focusing on the test harness for kernel functionalities, ensuring control flow is correctly validated. wired up pci, improved integration with ata, facilitating better data transfer between components. tidied up ata, removed unnecessary complexity in the data handling logic to enhance maintainability. fixed typos in ktest to improve readability and avoid potential confusion in the test cases. worked on rough ktest, established initial test cases for future enhancements and iterations.
📓 plan · 2026-08-10 I’m starting the day later than usual, so I plan to tackle the whitespace fixes first to ensure our code adheres to the style guide. Once those are out of the way, I’ll focus on fleshing out the PCI subsystem, aiming for a more robust memory layout and control flow that supports our concurrency model. The evening will be dedicated to cleanup and further tidying of the PCI components, wrapping up with formatting to maintain consistency. If all goes well, I’ll end the day with a well-structured and polished segment of the codebase.
📓 devlog · 2026-08-11 added initial implementation for pci, structured to facilitate device communication in the system. performed multiple cleanup operations across the codebase, focusing on removing redundant code and improving readability. fixed whitespace issues in several files, enhancing consistency in formatting. refined the pci module’s layout to ensure efficient data flow and reduce memory overhead. ensured all cleanup efforts adhered to the existing coding standards, promoting maintainability. adjusted comments and documentation to reflect recent changes, particularly for the pci module.
📓 devlog · 2026-08-12 cleaned up various modules, removed unused imports and redundant code for better readability and maintainability. fixed whitespace issues across multiple files to ensure consistent formatting and adhere to coding standards. fleshed out the pci module, implementing initial structures and outlining the control flow for device communication. tidied up the ktest module, improved the organization of test cases and ensured proper initialization of test variables. stubbed the ktest module to establish a framework for future unit tests, setting up basic test cases without implementation. started the pci module, laying the groundwork for further development and integration with existing components.
📓 devlog · 2026-08-13 formatted various files for consistency, improved readability across the codebase. performed multiple cleanup tasks, removing dead code and refactoring functions for better maintainability. wired up the pci subsystem, ensuring proper connection and control flow with existing components. started initial implementation of ktest, laying out the basic structure and functions required for testing. tidied up the pci module by organizing functions and consolidating related code segments. addressed whitespace issues in several files to enhance overall code quality. stubbed out ktest functions to create placeholders for future testing scenarios and implementations.
📓 devlog · 2026-08-14 added initial sketches for ktest and pci modules, outlining the basic structure and intended functionality. conducted general cleanup across the repository, removing unused code and improving overall organization. made multiple formatting adjustments to ensure consistent code style throughout the project. implemented the pci module, focusing on memory allocation and control flow to handle device interactions. fixed typos in ktest documentation and comments to improve clarity and maintainability. worked on stubbing out ktest functionality, laying the groundwork for future testing features. addressed whitespace issues in several files to maintain code readability and adherence to style guidelines.
added module m6, structured to handle new data processing tasks with lower memory overhead.- wired up module m6, integrated it into the existing control flow to ensure correct data handling.- implemented core functionality for module m6, focusing on efficient allocation and deallocation.- wired up the hello module, ensuring it interfaces properly with other components.- implemented motd, providing a simple message on system start to enhance user experience.- worked on tar, stubbing out initial functionality while preparing for future enhancements.- performed cleanup across various modules, focusing on code readability and eliminating unused variables.
📓 devlog · 2026-08-17- implemented tar functionality, focusing on the compression algorithm and ensuring efficient file handling during archiving.- added multiple methods for extracting and listing files within the tar format, ensuring compatibility with various file types.- began work on the virtual file system (vfs), outlining the necessary data structures for managing file metadata and storage locations.- added initial stubs for vfs functions, setting up a foundation for future integration with the tar operations.- performed formatting changes across several files to improve code readability and maintain consistency in style.- addressed whitespace issues in the codebase to enhance clarity and adhere to coding standards.- continued development on vfs, sketching out control flow and interactions between the file system and tar operations.
📓 devlog · 2026-08-19 - cleaned up ktest, removed unnecessary code and improved readability for better maintainability. - began outlining ktest structure, defined major test cases and expected outcomes to streamline future development. - fleshed out vfs, added initial functions for file handling and directory structure, focusing on memory layout. - implemented basic elf loading, structured code to handle ELF file format parsing and memory allocation. - performed multiple cleanups across modules, consolidated formatting and fixed whitespace issues to adhere to style guidelines. - initiated elf module, set up initial framework for ELF support including header parsing and section handling.
📓 devlog · 2026-08-22 implemented ramfs, defined basic structure and operations for file handling and memory layout fleshed out ramfs, added functions for reading and writing files, ensuring proper memory allocation started ramfs, established initial setup for in-memory filesystem structure and controls cleaned up code across multiple files, removed unnecessary whitespace for better readability performed formatting adjustments, ensured consistent code style and indentation throughout the project worked on rough elf, iterated on the ELF parsing logic and data structures for improved parsing accuracy added additional cleanup commits for better organization and maintainability of the codebase
📓 devlog · 2026-08-23 added ramfs module, implemented initial allocation and file structure layout for in-memory file system. cleaned up whitespace and formatting across multiple files to improve readability and maintainability. stubs created for m4 module, establishing the basic structure and placeholders for future development. wired up ramfs to the existing system, ensuring proper integration with the kernel and other subsystems. worked on m4 module, refining control flow and preparing it for handling input and output operations. multiple sketches of ramfs and m4 completed, outlining potential features and behaviors for further implementation. conducted overall cleanup of the codebase, addressing minor issues and ensuring consistent coding standards.
📓 devlog · 2026-08-23- added ramfs module, implemented initial allocation and file structure layout for in-memory file system.- cleaned up whitespace and formatting across multiple files to improve readability and maintainability.- stubs created for m4 module, establishing the basic structure and placeholders for future development.- wired up ramfs to the existing system, ensuring proper integration with the kernel and other subsystems.- worked on m4 module, refining control flow and preparing it for handling input and output operations.- multiple sketches of ramfs and m4 completed, outlining potential features and behaviors for further implementation.- conducted overall cleanup of the codebase, addressing minor issues and ensuring consistent coding standards.
📓 devlog · 2026-08-25- worked on scheduling system, added preliminary structures for new scheduling algorithms while ensuring compatibility with existing code.- performed code tidying in the scheduling module, improving readability and reducing cyclomatic complexity.- implemented core functionality for module m5, focusing on resource allocation and control flow for task management.- fixed whitespace issues throughout the codebase, ensuring consistent formatting and adherence to style guidelines.- completed the implementation of module m5, integrating features from earlier sketches and ensuring edge cases are handled.- conducted cleanup on multiple modules, removing redundant code and ensuring proper memory allocation practices are followed.- added preliminary sketches for module m2, laying groundwork for future functionality and ensuring alignment with overall architecture.
📓 devlog · 2026-08-26 implemented module m2, focused on core functionality, ensured proper data handling and state management wired up module m2, established connections with existing components, validated data flow between modules started development on module m7, created initial stubs to define interface and behavior expectations fixed a bug in module m7 related to incorrect state transitions, improved control flow conducted cleanup across various modules, removed unused variables and optimized memory layout worked on ktest, tidied up existing tests, improved structure for better readability and maintainability performed whitespace fixes across multiple files to maintain consistency and adhere to coding standards
📓 devlog · 2026-08-27 cleaned up various sections of the codebase, focusing on removing redundant comments and unused variables for better readability. added module m7, defining its structure and initial state, laying groundwork for subsequent implementations. wired up m7 to existing systems, ensuring data flow and control paths are correctly established. fleshed out m7 with core functionality, implementing key methods and internal logic to meet specifications. began rough implementation of m9, setting up initial framework and placeholders for upcoming features. fixed typos in m9, correcting variable names and comments for clarity and consistency. implemented core functions for m9, following through on the designs sketched in earlier commits.
📓 devlog · 2026-08-28 cleaned up whitespace in several files to maintain code consistency and readability. implemented stub functions in module m8 to outline future functionality without full implementation. organized and tidied code in m8, removing unnecessary lines and improving structure. continued work in progress on module m8, addressing various incomplete sections. fleshed out details in module m8, adding logic to improve functionality and integration. added new features to m8, enhancing its capabilities based on recent requirements. performed additional cleanup in m8 to remove deprecated code and streamline performance.
📓 devlog · 2026-08-29 implemented main module, structured the control flow to handle various inputs and outputs efficiently. wired up main functionality, ensured integration with existing components while maintaining modularity. performed multiple whitespace fixes across the codebase to enhance readability and comply with formatting standards. cleaned up redundant code in main, improving maintainability without altering the core logic. fleshed out main, added necessary functions to support additional features and edge cases. tidied up main to simplify the execution path, reducing cognitive load for future development. formatted code consistently, aligning with project style guidelines for better collaboration.
📓 devlog · 2026-08-31 added main module, set up initial structure and entry points for control flow. wired up main, ensured proper integration with existing components. cleaned up codebase, removed unused variables and streamlined functions for better readability. tidied up main, focused on consistent naming conventions and indentation. addressed multiple whitespace issues, ensuring uniform formatting throughout the code. fleshed out main with additional functionality, enh
📓 devlog · 2026-09-01 added main module, defined basic structure and entry point for the application flow. cleaned up code formatting across multiple files, improved readability and maintained consistency. fleshed out main functionality, implemented key features and logic required for initial operation. performed multiple whitespace fixes, ensured compliance with style guide and improved diff clarity. started additional main implementations, focused on refining specific functions and control flow. tidied main module, reorganized code for better logical grouping and clarity, enhanced maintainability. conducted cleanup, removed unused variables and functions, streamlined overall codebase.
📓 devlog · 2026-09-02 tidied up the main module, removed unused imports and improved code readability through consistent formatting. wired up the main module with initial control flow, ensuring proper function calls and data handling. added a preliminary structure for the main module, including stubs for future function implementations. started development on drivers, implementing basic functionality and ensuring proper interaction with the main module. fleshed out the drivers with additional features, focusing on data handling and performance. sketched out the shell interface for user interaction, laying groundwork for input handling and command processing. performed multiple whitespace fixes across various files to maintain code clarity and consistency.
📓 devlog · 2026-09-03 added drivers for peripheral communication, structured to allow for easier integration with existing modules. fleshed out driver implementations, ensuring proper handling of initialization and resource allocation. started sketching a shell interface, focusing on command parsing and execution flow. performed multiple whitespace fixes across various files for improved readability and consistency. conducted cleanup of redundant code segments in the driver files, reducing overall complexity. wired up drivers to interact with the new shell, establishing a basic command execution pathway. implemented additional driver functionality to support expanded hardware features, enhancing overall system capability.
📓 devlog · 2026-09-05 added drivers for peripheral devices, ensuring proper initialization and configuration settings. implemented a basic shell structure, allowing for command processing and execution. performed multiple whitespace fixes across various files for improved readability and consistency. cleaned up existing code, removing unused variables and dead code to streamline execution paths. created a rough outline for the shell functionality, defining command handling and parsing logic. updated shell implementation to handle user inputs and provide feedback on command execution. added stubs for future shell commands, preparing for further functionality expansion.
📓 devlog · 2026-09-07 implemented fs, focused on the core file system structure, ensuring proper data layout for efficient file access. fixed a typo in the shell, improving command parsing accuracy and preventing potential runtime errors. tidied shell code by removing unnecessary whitespace and organizing functions for better readability and maintenance. performed multiple formatting updates across various files to adhere to coding standards, ensuring uniformity in style. continued work in progress on shell functionality, refining command handling and improving control flow for user input. completed cleanup tasks to remove unused variables and redundant code, optimizing memory usage and enhancing performance.
📓 devlog · 2026-09-08 added shell module, implemented basic command parsing and execution flow, using a simple function pointer array for command dispatch fleshed out shell functionality, included support for built-in commands and input handling, ensuring proper memory allocation for command buffers tidied up shell code, removed redundant whitespace and improved consistency in formatting to enhance readability performed multiple cleanups, refactored shell initialization code for better modularity and maintainability wired up shell to the main application loop, ensuring proper integration and execution flow with other components addressed multiple whitespace issues across files, ensuring consistent coding standards throughout the project
📓 devlog · 2026-09-09 implemented shell functionality, used a simple command parsing approach to handle user inputs effectively. added shell module, structured to handle basic commands and provide feedback to users. fleshed out shell with support for additional built-in commands, improving user experience and functionality. performed cleanup across multiple files, removing unused variables and optimizing control flow where necessary. started filesystem integration in shell, allowing for basic file operations within the command line. continued formatting work across the project, ensuring consistent code style and readability. tidied shell code for better organization, enhancing maintainability and future development efforts. 📓 devlog · 2026-09-09 implemented shell functionality, used a simple command parsing approach to handle user inputs effectively. added shell module, structured to handle basic commands and provide feedback to users. fleshed out shell with support for additional built-in commands, improving user experience and functionality. performed cleanup across multiple files, removing unused variables and optimizing control flow where necessary. started filesystem integration in shell, allowing for basic file operations within the command line. continued formatting work across the project, ensuring consistent code style and readability. tidied shell code for better organization, enhancing maintainability and future development efforts.
📓 devlog · 2026-09-10 implemented the filesystem (fs), focused on directory structure and file allocation strategies for improved access speed. wired up the fs to ensure proper integration with existing modules, tested data flow between components during initial operations. started the shell, establishing basic command parsing and execution control flow to interface with the filesystem. added memory management capabilities, implemented a new allocation strategy to minimize fragmentation and optimize performance. cleaned up the shell code for readability, removed redundant whitespace to maintain consistent coding standards across the project. performed additional wiring for memory to ensure it interacts correctly with both the filesystem and shell for seamless operation. fleshed out the fs with additional features like file permissions and metadata handling, ensuring robustness for concurrent access.
📓 devlog · 2026-09-11 implemented the shell module, established basic command parsing and execution flow. fleshed out the shell with support for built-in commands, enhancing user interaction. added memory management functionality, introduced a structure for allocation tracking. wired up memory to the shell, enabling commands to manipulate memory directly. performed multiple whitespace fixes and formatting cleanups across all modules for better readability. started and fleshed out the memory module, ensuring proper initialization and allocation patterns. tidied shell code for improved maintainability, focusing on reducing complexity in command handling.
📓 devlog · 2026-09-12 implemented memory management, focused on allocation strategies and freeing unused memory blocks to optimize resource usage. fleshed out memory module, added support for variable-sized memory chunks, improving efficiency for dynamic allocation. started integration of memory system with existing components, ensuring compatibility and smooth data flow. added shell functionality, enabling user interaction with the memory management system through command-line inputs. wired up shell to the memory module, establishing command execution pathways for memory operations. performed multiple wiring adjustments in the shell, ensuring proper communication and error handling between components.
📓 devlog · 2026-09-13 added initial implementation of the shell, establishing basic command parsing and execution flow. fleshed out shell functionality, improving command handling and improving error reporting for invalid inputs. wired up shell components, ensuring proper integration with existing modules for input and output processing. started multiple iterations of shell refinement, focusing on memory allocation strategies for command history storage. implemented additional features for the shell, including support for built-in commands and improved environment variable management. continued to flesh out shell behavior, addressing edge cases related to command substitution and pipeline execution.
📓 devlog · 2026-09-14 added initial architecture definition, establishing core components and their interactions for modularity. implemented key architectural components, focusing on separation of concerns to enhance maintainability. fleshed out various parts of the architecture, refining data flow and control structures between modules. wired up essential components to ensure proper communication and data exchange across the architecture. started multiple architectural elements concurrently, facilitating a more integrated approach to development. added several new architecture layers to improve scalability and support future feature additions. continued to implement and refine architecture, addressing edge cases related to component interaction and data integrity.
Ships:
nyx is a small operating-system kernel for 32-bit x86 PCs, written from scratch in Zig 0.15.2 with no C library and no external dependencies. It boots directly in QEMU and brings the machine up in 20 checked stages, from interrupts and timers through memory paging, a kernel heap, thread scheduling, disk and PCI drivers, and an in-memory filesystem loaded from an embedded tar archive. At boot it runs 15 built-in self-tests, then drops into an interactive shell with 30 commands that you can drive from the keyboard or over the serial port. It’s about 5,000 lines in total....
|
1792604855.109941
|
1792691255.109941
|
|
54347
|
susOS by @bako | Stardance
|
bako
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T15:42:58Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WebOS which is in my opinion pretty funny. This sussy OS has everything you need (mainly the current hour- time is money eh?).", "repo": "https://github.com/Bakoxddd/SusOS", "demo": "https://bakoxddd.github.io/SusOS/"}]...
|
[{"post_id": 79331, "ts": "202 [{"post_id": 79331, "ts": "2026-10-13T15:27:05Z", "hours": 0.9803, "text": "Just finished!"}, {"post_id": 61764, "ts": "2026-09-04T20:29:08Z", "hours": 5.0439, "text": "Finally finished with the susOS!"}, {"post_id": 55751, "ts": "2026-08-27T18:48:29Z", "hours": 0.4486, "text": "Glowup of the year!"}, {"post_id": 54776, "ts": "2026-08-25T21:45:25Z", "hours": 0.4331, "text": "My Sussy OS is coming together"}]...
|
Title: susOS by @bako | Stardance
Devlogs:
My Sus Title: susOS by @bako | Stardance
Devlogs:
My Sussy OS is coming together
Glowup of the year!
Finally finished with the susOS!
Just finished!
Ships:
I made a WebOS which is in my opinion pretty funny. This sussy OS has everything you need (mainly the current hour- time is money eh?)....
|
1792785132.9809704
|
1792871532.9809704
|
|
69506
|
Ian's slackbot by @ianl | Stardance
|
ianl
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T15:36:01Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just finished my AstronBot. This is a simple slackbot that interfaces with NASA API to pull some images! Go check it out by calling /astronbot-help!", "repo": "https://github.com/ilaws/AstronBot/", "demo": "https://hackclub.enterprise.slack.com/archives/C0C9094SFSQ"}]...
|
[{"post_id": 79322, "ts": "202 [{"post_id": 79322, "ts": "2026-10-13T15:01:43Z", "hours": 0.7308, "text": "I am making a slackbot that uses data from NASA (such as APOD and EPIC). you should check it out by calling /astronbot-help!"}]...
|
Title: Ian's slackbot by @ianl | Stardance
De Title: Ian's slackbot by @ianl | Stardance
Devlogs:
I am making a slackbot that uses data from NASA (such as APOD and EPIC). you should check it out by calling /astronbot-help!
Ships:
I just finished my AstronBot. This is a simple slackbot that interfaces with NASA API to pull some images! Go check it out by calling /astronbot-help!...
|
1792857062.975046
|
1792943462.975046
|
|
67920
|
GitDpro's Amazing site by @GitDpro | Stardance
|
GitDpro
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T14:44:28Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own personal website yay! The hardest part was learning some maths T_T I always wanted to create one so i finally made it! Things I learnt! I learnt Html, Css and JS framework ( Been like 3 years lol) How to use some cool maths to make some movement! How animation works I will continue to update it with more of my works in the future!", "repo": "https://github.com/GitDpro/portfolio", "demo": "https://gitdpro.github.io/portfolio/"}]...
|
[{"post_id": 79316, "ts": "202 [{"post_id": 79316, "ts": "2026-10-13T14:34:55Z", "hours": 2.7747, "text": "Devlog 2: Finally added interactive stars! I used a bunch of cool maths to simulate the movement of stars towards the pointer I added 4 sections To be added in future ( My other works)"}, {"post_id": 77582, "ts": "2026-10-07T15:23:31Z", "hours": 1.0492, "text": "Devlog 1: I started to make my own website! Added the core functionality - Header- Main- Footer Added basic navbar Added main parts and sections To be added soon are pictures, full skills, and projects."}]...
|
Title: GitDpro's Amazing site by @GitDpro | St Title: GitDpro's Amazing site by @GitDpro | Stardance
Devlogs:
Devlog 1: I started to make my own website! Added the core functionality - Header- Main- Footer Added basic navbar Added main parts and sections To be added soon are pictures, full skills, and projects.
Devlog 2: Finally added interactive stars! I used a bunch of cool maths to simulate the movement of stars towards the pointer I added 4 sections To be added in future ( My other works)
Ships:
I made my own personal website yay! The hardest part was learning some maths T_T I always wanted to create one so i finally made it! Things I learnt! I learnt Html, Css and JS framework ( Been like 3 years lol) How to use some cool maths to make some movement! How animation works I will continue to update it with more of my works in the future!...
|
1792857184.4712284
|
1792943584.4712284
|
|
69500
|
nodeseed by @anshpatel9720 | Stardance
|
anshpatel9720
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T13:14:44Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I make a engineer calculator that’s calculate everything it’s hard but I completed in seven hours ,good.", "repo": "https://github.com/anshpatel9720-cmd/nodeseed", "demo": "https://anshpatel9720-cmd.github.io/nodeseed/"}]...
|
[{"post_id": 79302, "ts": "202 [{"post_id": 79302, "ts": "2026-10-13T13:10:22Z", "hours": 7.2858, "text": "something is working now"}]...
|
Title: nodeseed by @anshpatel9720 | Stardance
Dev Title: nodeseed by @anshpatel9720 | Stardance
Devlogs:
something is working now
Ships:
I make a engineer calculator that’s calculate everything it’s hard but I completed in seven hours ,good....
|
1792073847.642912
|
1792937847.642912
|
|
55712
|
APP BLOCKER (macOS) by @Dhanush_Mundra | Stardance
|
Dhanush_Mundra
|
1
|
63.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T12:58:49Z", "hours": 63.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finally!!! This is my first app, Multi-App-Blocker!!! So there would be two sections abut this project- What is this and How did I make this app. So let’s start with the first section:- What is this? So, this an application that only runs on macOS which blocks apps according to the time schedule set by the user. The app shows all the downloaded applications on the sysem in the dropdown list from where the user can select the app. When the user selects the app they want to block, the user need to enter the start time and the end time. After that the user gets the option of select the type of schedule. So there are four options to select the type of schedule, that are- Every Day; Today Only; Specific Days; Specific Date. So, here the user can select the type according to their needs. Another exciting feature of my app is that the user can set multiple schedules for a single app. However the condition is that the other schedules should not overlap or should be the same as the previous schedules. After this when the schedule has been checked by the app, the app starts to monitor the schedule. When the current time matches the schedule time, the app is blocked. Also, if you restart your system after setting the schedule, your app would be blocked then also within 3-5 minutes if you want the app to be instantly blocked after restarting the system otherwise normally, the app is immediately blocked depending on the speed of your system. Also, at last, another feature of this app is that you can delete, edit and disable or enable your scheudules. Like this, you can set as many schedules for as many apps you want. So, this was about how my App Blocker works. Now let’s move to the next section which is:- How did I make this app? So, I started making this project by building the time tracker of my app. When I completed making he time tracker, I learn about the processes of apps, PIDs(Process Identifier) and the terminal commands like mdfind and many libraries such as datetime, psutil, subprocess, pathlib, json etc. So, by combining all these I made a simple terminal working program that would block a single app for a particular period of time. After this, I thought of making a GUI using HTML and CSS and making the GUI functional using JavaScript. So, I wrote the code of HTML and CSS by myself and also learnt a bit of JavaScript to make the GUI functional. By now my GUI was ready and the backend for a single app blocker was also ready but were not connected. And then I got to know about Electron. So I explored about electron ad decided to use it for my app. Then I connected my GUI using Electron to my Python backend using some more JavaScript code. Now, it started to feel more like an app, But I wanted multi app blocker so I wrote the code for it also and added the features of multiple schedules, edit, delete, disable and enable, and schedule types. After all this, it was like, I built an app, but this so called app was not working after I restarted my mac. And just because of this, I needed to work 5 more days to figure out the solution. And when I got the solution. I did the final test. However, after restarting it takes around 3-5 minutes to block the app but it does block the app. Now, I can declare it a professional, working, Multi-App-Blocker. Note: This application is only for macOS. And you can download the .dmg file from the try project link below. Thank You so much for reading it till here.", "repo": "https://github.com/mundradhanush-lgtm/APP-BLOCKER", "demo": "https://github.com/mundradhanush-lgtm/APP-BLOCKER/releases/download/v1.0.0/App.Blocker-1.0.0-arm64.dmg"}]...
|
[{"post_id": 79280, "ts": "202 [{"post_id": 79280, "ts": "2026-10-13T09:45:42Z", "hours": 4.0328, "text": "Finally!!! I have created the MULTI-APP-BLOCKER!!! In this final session of app blocker I worked on the feature of blocking apps even after restarting the system if the current time is in the schedule. I literally worked on this feature for 3 days and it paid off. However this is not a strong feature because it takes around 3-5 minutes to block the application instantly after restarting the system. Normally, it immediately blocks the app. So, I worked on this feature in this final session and now I am going to set my APP BLOCKER out for rating soon. THANK YOU SO MUCH!!!"}, {"post_id": 78765, "ts": "2026-10-11T15:18:12Z", "hours": 9.7883, "text": "of so I have finally built a multi-app blocker. In this session I just made the GUI better, made a better backend and made it into a usable app. I added multiple schedule feature for a single app and then the feature of schedule types like today, specific date, specific days and every day from which the user can choose any and for multiple schedule I put a check that the second or the third or any later schedule should not overlap the earlier schedules. The App Blocker is working very nicely, but I want to fit the last piece of the puzzle and the is by making the App Blocker immune to computer restart or turning it on again after shutting down. So, I want to work on that that the app should be blocked even if the computer has been restarted or it has been turned on after shutting down. But, I can say that it is now a professional App Blocker and I would soon finish this project."}, {"post_id": 76373, "ts": "2026-10-03T10:29:23Z", "hours": 3.7033, "text": "ok so finally, I have created a professional single-app blocker. In the earlier section, I wrote my code for JavaScript and I was thinking that I have created the app, but I was wrong. After writing the code, in this section, I downloaded electron and connected it to my code using two json files and 2 JavaScript files. After that I worked on error handling which was a very complicated part. Also I took the help of AI to identify what kind of errors can happen and what kind of handling I should put. Also, I created a section in my GUI where I would be giving the status of the app blocker like is the app blocked or is it not blocked or is there any problem. I have done this much and it is working ratty decently. Now I have decided to make it a Multi-App Blocker where the user can set different schedules for different apps and set when to block the apps like after setting the time on which days the user want to block the apps or else the user wants to block the app in two different sections. For eg- The user wants to block the app from 2:00 pm to 3 pm and then from 6 pm to 8 pm. So, I would be trying to keep that functionality also. And if possible, the coolest thing I would want to do is that allowing the user to keep a password on it so that no one can block unwanted apps for 24 hours. Hopefully, I can do all of this because I have this idea in my mid only and I have no planning so I would be working very hard till 31st October."}, {"post_id": 75541, "ts": "2026-09-30T12:08:19Z", "hours": 3.2575, "text": "Let’s goooo everyone!! I have finally written my JavaScript code for my App Blocker. I am very happy as this was my first JavaScript code for this big project and I am very proud of myself as I wrote the whole code myself just taking the help of AI to know what step to take next. In this code I solved the time related problems like the checking of valid time, turning the time entered by the user into a 24 hour clock system and then turning it into a properly usable form. I also created a hardcoded list for now which included some app names, which would be replaced by my python list that would have all the app names downloaded in my system. And finally, I created an object containing app name, start time and end time. This object would be provided to my python code and it would block the app for that period of time."}, {"post_id": 75173, "ts": "2026-09-29T11:33:57Z", "hours": 1.0422, "text": "Ok Everyone!! I have made the structure for my GUI and designed it properly. Now, the only thing left is JavaScript and the coming up of these languages together in Electron. But there is still one problem. Right now my App Blocker is blocking only one app at a time, butI want to make it multi-app blocker and also my app blocker is not working after it is closed, so I want it to work forever and keep checking the time."}, {"post_id": 75042, "ts": "2026-09-28T23:41:53Z", "hours": 1.7242, "text": "Finally, I have completed the backend of my App Blocker and now I can start the work on my GUI and I would be using Electron to make my App Blocker into a real life desktop application. I am also very happy that Stardance has been extended till 31st October. I have given the final touches to my backend like the input of time by the user and in the future after making the GUI I would make the App Blocker block multiple apps. So, my next devlon would be of me updating you upon my GUI."}, {"post_id": 73229, "ts": "2026-09-24T17:02:27Z", "hours": 8.1553, "text": "ok so I am posting this devlon cuz i got a message on slack that more than 10 hours would not be counted in the devlon time. So after HTML and CSS I am learning JavaScript to work and know about Electron and make the interface with it. Then i would do the small tasks such as setting the password and the user inputs at various places and multiple app blocking feature. I am learning JavaScript with Dave Gray’s JavaScript course(I know its a bit old but the best). And I have like 2 chapters left and then i would start learning about electron. And the best thing is that Stardance has been extended by 1 month."}, {"post_id": 71934, "ts": "2026-09-21T20:13:44Z", "hours": 5.7328, "text": "ok so i have finally completed the course of CSS and HTML in just 5 days. this actually feels like an achievement to me. So, I learnt the basics of HTML and CSS that are required for my project. Now my next step would be to learn the basics of JavaScript and complete it in around 2 days and complete the APP BLOCKER."}, {"post_id": 70203, "ts": "2026-09-18T18:12:12Z", "hours": 5.0319, "text": "ok everyone, in this devlog I have not created anything, but I have gained a lot of knowledge. So, to make the GUI of my APP BLOCKER I want to use Electron and for that in these 2 days I have learnt CSS and HTML which are the basic languages. earlier what I as doing was I knew very little about HTML but not CSS, so I had to use AI, but now I want to make APP BLOCKER without AI and for that I am learning HTML, CSS and JavaScript. So after these I would read about Electron and make the GUI for this APP BLOCKER. NOTE: given below is the screenshot of me learning not of the project."}, {"post_id": 68764, "ts": "2026-09-15T18:21:59Z", "hours": 3.1256, "text": "Ok so earlier I was having a problem even after printing the dictionary and taking the number corresponding to it. the problem there was that my app blocker only blocked the apps that had no duplicates, which means like when i tried to block IDLE, I had 4 different versions of IDLE and after just telling my project that I need to block the IDLE it was not able to interpret which IDLE it had to block. So now I had to give it the parent folder also to find the mid but instead of trying two different ways to get the pid I gave the parent folder for every app and got the pid, hence dropping the idea of osascript. Then I continued my normal loop of blocking the app. Now I am happy it is blocking the app. Now i would first handle the small task like taking the start time and end time as the input from the user. Then I would add the feature of taking multiple apps as the input with their time and finally after all those things I would mage the GUI and end the project. In the image below is the part I added today."}, {"post_id": 65557, "ts": "2026-09-10T19:33:22Z", "hours": 6.5817, "text": "ok so earlier I was using hardcoded list of apps to block them, then I started taking the app name as an input, but then I realised that I would then want the user to type the app name in a specific type that is needed by the osascript to provide me its pid. but then I got an idea to give a dropdown of apps downloaded in the user’s system and they just simply had to select that app. so, I used multiple lists and dictionaries and splitted the path of the app into the app name that can be displayed. for now I have made a dictionary with the names of apps and serial numbers corresponding to them so the user just have to select the number. but in future when I would make the gui, the user would then just have to click on it. but currently I am facing a problem that after am printing the names of apps and the user is selecting the number, some apps are being blocked and and some are not. so I am currently working on this problem. if somebody can help me, please comment below. it would be of great pleasure. THANK YOU!!"}, {"post_id": 61734, "ts": "2026-09-04T19:42:57Z", "hours": 4.2442, "text": "ok so earlier my I made the time tracker and the hardcoded list for particular apps and then merged both of them so that it would just close the hardcoded apps in that list but now I modified it and took input from the user, ran the terminal command mdfind to check if the app is running or not then used osascript to get the pid of the process and then used that pid to terminate the app. but there was a challenge to find the difference of closed apps and already running apps and after that to keep them blocked till the designated time. so today I worked on that and made a good app blocker which can be used but some modifications like the input of time from the user, input of multiple apps and creating the gui. so after working on that my program would be ready."}, {"post_id": 60060, "ts": "2026-09-02T05:25:00Z", "hours": 0.5317, "text": "let’s go, today I added the loop for my program which was very important because earlier my program was just closing the app if it was running, but the user can again open it. now they couldn’t because I put all of that terminating part inside a loop that would work continuously for that time period."}, {"post_id": 59741, "ts": "2026-09-01T17:49:30Z", "hours": 1.1153, "text": "ok so this is my second devlog for this project. today I made the part where I would get the names of all the running processes on my Mac and then I made a list for the apps that I need to block then I compared the all the running processes with the apps I need to block and then just printed that this app needs to be closed just for the testing purpose. now my next work would be to terminate the app and then to modify it I would take the input of the app and time from the user itself and then in the end I would create a good GUI to give it a look of a fully polished project."}, {"post_id": 57999, "ts": "2026-08-30T10:29:51Z", "hours": 4.9769, "text": "ok so this is my first devlog of APP BLOCKER. this is a project where the app would be blocked between a specific period of time. and till now I have made the time system like for the testing purpose it would show blocked if the program is ran between the designated time period and would show allowed if not ran between the designated time. I also learnt about process and learnt how to print all the running processes using psutil (process and system utilities). now my target would be merging them after modifying both the codes"}]...
|
Title: APP BLOCKER (macOS) by @Dhanush_Mundra | St Title: APP BLOCKER (macOS) by @Dhanush_Mundra | Stardance
Devlogs:
ok so this is my first devlog of APP BLOCKER. this is a project where the app would be blocked between a specific period of time. and till now I have made the time system like for the testing purpose it would show blocked if the program is ran between the designated time period and would show allowed if not ran between the designated time. I also learnt about process and learnt how to print all the running processes using psutil (process and system utilities). now my target would be merging them after modifying both the codes
ok so this is my second devlog for this project. today I made the part where I would get the names of all the running processes on my Mac and then I made a list for the apps that I need to block then I compared the all the running processes with the apps I need to block and then just printed that this app needs to be closed just for the testing purpose. now my next work would be to terminate the app and then to modify it I would take the input of the app and time from the user itself and then in the end I would create a good GUI to give it a look of a fully polished project.
let’s go, today I added the loop for my program which was very important because earlier my program was just closing the app if it was running, but the user can again open it. now they couldn’t because I put all of that terminating part inside a loop that would work continuously for that time period.
ok so earlier my I made the time tracker and the hardcoded list for particular apps and then merged both of them so that it would just close the hardcoded apps in that list but now I modified it and took input from the user, ran the terminal command mdfind to check if the app is running or not then used osascript to get the pid of the process and then used that pid to terminate the app. but there was a challenge to find the difference of closed apps and already running apps and after that to keep them blocked till the designated time. so today I worked on that and made a good app blocker which can be used but some modifications like the input of time from the user, input of multiple apps and creating the gui. so after working on that my program would be ready.
ok so earlier I was using hardcoded list of apps to block them, then I started taking the app name as an input, but then I realised that I would then want the user to type the app name in a specific type that is needed by the osascript to provide me its pid. but then I got an idea to give a dropdown of apps downloaded in the user’s system and they just simply had to select that app. so, I used multiple lists and dictionaries and splitted the path of the app into the app name that can be displayed. for now I have made a dictionary with the names of apps and serial numbers corresponding to them so the user just have to select the number. but in future when I would make the gui, the user would then just have to click on it. but currently I am facing a problem that after am printing the names of apps and the user is selecting the number, some apps are being blocked and and some are not. so I am currently working on this problem. if somebody can help me, please comment below. it would be of great pleasure. THANK YOU!!
Ok so earlier I was having a problem even after printing the dictionary and taking the number corresponding to it. the problem there was that my app blocker only blocked the apps that had no duplicates, which means like when i tried to block IDLE, I had 4 different versions of IDLE and after just telling my project that I need to block the IDLE it was not able to interpret which IDLE it had to block. So now I had to give it the parent folder also to find the mid but instead of trying two different ways to get the pid I gave the parent folder for every app and got the pid, hence dropping the idea of osascript. Then I continued my normal loop of blocking the app. Now I am happy it is blocking the app. Now i would first handle the small task like taking the start time and end time as the input from the user. Then I would add the feature of taking multiple apps as the input with their time and finally after all those things I would mage the GUI and end the project. In the image below is the part I added today.
ok everyone, in this devlog I have not created anything, but I have gained a lot of knowledge. So, to make the GUI of my APP BLOCKER I want to use Electron and for that in these 2 days I have learnt CSS and HTML which are the basic languages. earlier what I as doing was I knew very little about HTML but not CSS, so I had to use AI, but now I want to make APP BLOCKER without AI and for that I am learning HTML, CSS and JavaScript. So after these I would read about Electron and make the GUI for this APP BLOCKER. NOTE: given below is the screenshot of me learning not of the project.
ok so i have finally completed the course of CSS and HTML in just 5 days. this actually feels like an achievement to me. So, I learnt the basics of HTML and CSS that are required for my project. Now my next step would be to learn the basics of JavaScript and complete it in around 2 days and complete the APP BLOCKER.
ok so I am posting this devlon cuz i got a message on slack that more than 10 hours would not be counted in the devlon time. So after HTML and CSS I am learning JavaScript to work and know about Electron and make the interface with it. Then i would do the small tasks such as setting the password and the user inputs at various places and multiple app blocking feature. I am learning JavaScript with Dave Gray’s JavaScript course(I know its a bit old but the best). And I have like 2 chapters left and then i would start learning about electron. And the best thing is that Stardance has been extended by 1 month.
Finally, I have completed the backend of my App Blocker and now I can start the work on my GUI and I would be using Electron to make my App Blocker into a real life desktop application. I am also very happy that Stardance has been extended till 31st October. I have given the final touches to my backend like the input of time by the user and in the future after making the GUI I would make the App Blocker block multiple apps. So, my next devlon would be of me updating you upon my GUI.
Ok Everyone!! I have made the structure for my GUI and designed it properly. Now, the only thing left is JavaScript and the coming up of these languages together in Electron. But there is still one problem. Right now my App Blocker is blocking only one app at a time, butI want to make it multi-app blocker and also my app blocker is not working after it is closed, so I want it to work forever and keep checking the time.
Let’s goooo everyone!! I have finally written my JavaScript code for my App Blocker. I am very happy as this was my first JavaScript code for this big project and I am very proud of myself as I wrote the whole code myself just taking the help of AI to know what step to take next. In this code I solved the time related problems like the checking of valid time, turning the time entered by the user into a 24 hour clock system and then turning it into a properly usable form. I also created a hardcoded list for now which included some app names, which would be replaced by my python list that would have all the app names downloaded in my system. And finally, I created an object containing app name, start time and end time. This object would be provided to my python code and it would block the app for that period of time.
ok so finally, I have created a professional single-app blocker. In the earlier section, I wrote my code for JavaScript and I was thinking that I have created the app, but I was wrong. After writing the code, in this section, I downloaded electron and connected it to my code using two json files and 2 JavaScript files. After that I worked on error handling which was a very complicated part. Also I took the help of AI to identify what kind of errors can happen and what kind of handling I should put. Also, I created a section in my GUI where I would be giving the status of the app blocker like is the app blocked or is it not blocked or is there any problem. I have done this much and it is working ratty decently. Now I have decided to make it a Multi-App Blocker where the user can set different schedules for different apps and set when to block the apps like after setting the time on which days the user want to block the apps or else the user wants to block the app in two different sections. For eg- The user wants to block the app from 2:00 pm to 3 pm and then from 6 pm to 8 pm. So, I would be trying to keep that functionality also. And if possible, the coolest thing I would want to do is that allowing the user to keep a password on it so that no one can block unwanted apps for 24 hours. Hopefully, I can do all of this because I have this idea in my mid only and I have no planning so I would be working very hard till 31st October.
of so I have finally built a multi-app blocker. In this session I just made the GUI better, made a better backend and made it into a usable app. I added multiple schedule feature for a single app and then the feature of schedule types like today, specific date, specific days and every day from which the user can choose any and for multiple schedule I put a check that the second or the third or any later schedule should not overlap the earlier schedules. The App Blocker is working very nicely, but I want to fit the last piece of the puzzle and the is by making the App Blocker immune to computer restart or turning it on again after shutting down. So, I want to work on that that the app should be blocked even if the computer has been restarted or it has been turned on after shutting down. But, I can say that it is now a professional App Blocker and I would soon finish this project.
Finally!!! I have created the MULTI-APP-BLOCKER!!! In this final session of app blocker I worked on the feature of blocking apps even after restarting the system if the current time is in the schedule. I literally worked on this feature for 3 days and it paid off. However this is not a strong feature because it takes around 3-5 minutes to block the application instantly after restarting the system. Normally, it immediately blocks the app. So, I worked on this feature in this final session and now I am going to set my APP BLOCKER out for rating soon. THANK YOU SO MUCH!!!
Ships:
Finally!!! This is my first app, Multi-App-Blocker!!! So there would be two sections abut this project- What is this and How did I make this app. So let’s start with the first section:- What is this? So, this an application that only runs on macOS which blocks apps according to the time schedule set by the user. The app shows all the downloaded applications on the sysem in the dropdown list from where the user can select the app. When the user selects the app they want to block, the user need to enter the start time and the end time. After that the user gets the option of select the type of schedule. So there are four options to select the type of schedule, that are- Every Day; Today Only; Specific Days; Specific Date. So, here the user can select the type according to their needs. Another exciting feature of my app is that the user can set multiple schedules for a single app. However the condition is that the other schedules should not overlap or should be the same as the previous schedules. After this when the schedule has been checked by the app, the app starts to monitor the schedule. When the current time matches the schedule time, the app is blocked. Also, if you restart your system after setting the schedule, your app would be blocked then also within 3-5 minutes if you want the app to be instantly blocked after restarting the system otherwise normally, the app is immediately blocked depending on the speed of your system. Also, at last, another feature of this app is that you can delete, edit and disable or enable your scheudules. Like this, you can set as many schedules for as many apps you want. So, this was about how my App Blocker works. Now let’s move to the next section which is:- How did I make this app? So, I started making this project by building the time tracker of my app. When I completed making he time tracker, I learn about the processes of apps, PIDs(Process Identifier) and the terminal commands like mdfind and many libraries such as datetime, psutil, subprocess, pathlib, json etc. So, by combining all these I made a simple terminal working program that would block a single app for a particular period of time. After this, I thought of making a GUI using HTML and CSS and making the GUI functional using JavaScript. So, I wrote the code of HTML and CSS by myself and also learnt a bit of JavaScript to make the GUI functional. By now my GUI was ready and the backend for a single app blocker was also ready but were not connected. And then I got to know about Electron. So I explored about electron ad decided to use it for my app. Then I connected my GUI using Electron to my Python backend using some more JavaScript code. Now, it started to feel more like an app, But I wanted multi app blocker so I wrote the code for it also and added the features of multiple schedules, edit, delete, disable and enable, and schedule types. After all this, it was like, I built an app, but this so called app was not working after I restarted my mac. And just because of this, I needed to work 5 more days to figure out the solution. And when I got the solution. I did the final test. However, after restarting it takes around 3-5 minutes to block the app but it does block the app. Now, I can declare it a professional, working, Multi-App-Blocker. Note: This application is only for macOS. And you can download the .dmg file from the try project link below. Thank You so much for reading it till here....
|
1792630422.5904446
|
1792716822.5904446
|
|
45943
|
Repliyer by @chaitanya | Stardance
|
chaitanya
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T10:58:42Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A discord bot using discord python package and hugging face api integration", "repo": "https://github.com/nums404/Repliyer-Bot", "demo": "https://discord.gg/WqYjcjzn3z"}]...
|
[{"post_id": 79286, "ts": "202 [{"post_id": 79286, "ts": "2026-10-13T10:18:52Z", "hours": 8.2108, "text": "Bot implemented for now"}]...
|
Title: Repliyer by @chaitanya | Stardance
Devlogs Title: Repliyer by @chaitanya | Stardance
Devlogs:
Bot implemented for now
Ships:
A discord bot using discord python package and hugging face api integration...
|
1792644527.8878038
|
1792730927.8878038
|
|
69475
|
Siyam-OS by @Siyam | Stardance
|
Siyam
|
1
|
1.0
|
1
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T10:17:18Z", "hours": 1.0, "multiplier": 1.03, "payout": 1, "blessing": "neutral", "text": "Siyam-OS Welcome to WebOS, a fully functional, lightweight desktop environment running entirely inside your browser, built using HTML, CSS, and vanilla JavaScript for the Hack Club Stardance event. This retro-modern web operating system is proudly crafted with human-written code, complemented by minor AI assistance. It features an interactive desktop environment complete with draggable and resizable windows, a custom taskbar, a start menu, a live clock, and personalizable themes. Users can interact with a variety of built-in applications, including a custom command-line terminal emulator with a simulated file system, retro mini-games, a simulated web browser interface, a file manager, and a text editor. Designed with zero heavy frameworks, WebOS relies solely on pure, optimized HTML5, CSS3, and JavaScript (ES6+) for blazing-fast performance without requiring complex installation steps or external build tools. Live Preview : https://tanzil-alam.github.io/Siyam-OS/", "repo": "https://github.com/Tanzil-Alam/Siyam-OS", "demo": "https://tanzil-alam.github.io/Siyam-OS/"}]...
|
[{"post_id": 79284, "ts": "202 [{"post_id": 79284, "ts": "2026-10-13T10:13:28Z", "hours": 0.7186, "text": "Siyam-OS Welcome to WebOS, a fully functional, lightweight desktop environment running entirely inside your browser, built using HTML, CSS, and vanilla JavaScript for the Hack Club Stardance event. This retro-modern web operating system is proudly crafted with human-written code, complemented by minor AI assistance. It features an interactive desktop environment complete with draggable and resizable windows, a custom taskbar, a start menu, a live clock, and personalizable themes. Users can interact with a variety of built-in applications, including a custom command-line terminal emulator with a simulated file system, retro mini-games, a simulated web browser interface, a file manager, and a text editor. Designed with zero heavy frameworks, WebOS relies solely on pure, optimized HTML5, CSS3, and JavaScript (ES6+) for blazing-fast performance without requiring complex installation steps or external build tools. Live Preview : Click me"}]...
|
Title: Siyam-OS by @Siyam | Stardance
Devlogs:
Si Title: Siyam-OS by @Siyam | Stardance
Devlogs:
Siyam-OS Welcome to WebOS, a fully functional, lightweight desktop environment running entirely inside your browser, built using HTML, CSS, and vanilla JavaScript for the Hack Club Stardance event. This retro-modern web operating system is proudly crafted with human-written code, complemented by minor AI assistance. It features an interactive desktop environment complete with draggable and resizable windows, a custom taskbar, a start menu, a live clock, and personalizable themes. Users can interact with a variety of built-in applications, including a custom command-line terminal emulator with a simulated file system, retro mini-games, a simulated web browser interface, a file manager, and a text editor. Designed with zero heavy frameworks, WebOS relies solely on pure, optimized HTML5, CSS3, and JavaScript (ES6+) for blazing-fast performance without requiring complex installation steps or external build tools. Live Preview : Click me
Ships:
Siyam-OS Welcome to WebOS, a fully functional, lightweight desktop environment running entirely inside your browser, built using HTML, CSS, and vanilla JavaScript for the Hack Club Stardance event. This retro-modern web operating system is proudly crafted with human-written code, complemented by minor AI assistance. It features an interactive desktop environment complete with draggable and resizable windows, a custom taskbar, a start menu, a live clock, and personalizable themes. Users can interact with a variety of built-in applications, including a custom command-line terminal emulator with a simulated file system, retro mini-games, a simulated web browser interface, a file manager, and a text editor. Designed with zero heavy frameworks, WebOS relies solely on pure, optimized HTML5, CSS3, and JavaScript (ES6+) for blazing-fast performance without requiring complex installation steps or external build tools. Live Preview : https://tanzil-alam.github.io/Siyam-OS/...
|
1792857033.205076
|
1792943433.205076
|
|
69465
|
OSX-inspired New Tab:) by @ianl | Stardance
|
ianl
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T09:01:10Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a dashboard that looks like an old macOS platform. The dashboard has some information related to space, like images from NASA and the weather near Mission Control in Houston. Working on the API was probably one of my biggest challenges, as well as working with GitHub. I honestly have no idea how GitHub works, and it’s definitely a learning experience every time I use it! I am most proud of the overall design of the site. Thank you for reading!", "repo": "https://github.com/ilaws/VintageMacOS-NewTab/", "demo": "https://newtab.ourdevbox.site"}]...
|
[{"post_id": 79274, "ts": "202 [{"post_id": 79274, "ts": "2026-10-13T08:56:32Z", "hours": 0.3411, "text": "Finished this really cool dashboard! I really enjoyed the design aspects, it is one of the first things that I made that I am somewhat proud of the design choices (how everything looks), etc! yes, its not perfect, but I still think its rly cool!"}, {"post_id": 79266, "ts": "2026-10-13T08:20:11Z", "hours": 0.5419, "text": "Linked NASA API to my new tab dashboard! It will now display a current photo of the earth, as well as the Astronomy Photo of the Day!"}, {"post_id": 79263, "ts": "2026-10-13T07:40:50Z", "hours": 0.7767, "text": "Started on my NewTab project- inspired by old MacOS X! I finished just a basic Finder window, the first step. This was made entirely in HTML and CSS. (the HTML is very simple but the CSS is super wonky). None of the buttons or anything work yet, but I am trying to add weather and other widgets to make it feel more real. :) (AI was used for fine-tuning shadows and color values. I could not figure it out myself.)"}]...
|
Title: OSX-inspired New Tab:) by @ianl | Stardance Title: OSX-inspired New Tab:) by @ianl | Stardance
Devlogs:
Started on my NewTab project- inspired by old MacOS X! I finished just a basic Finder window, the first step. This was made entirely in HTML and CSS. (the HTML is very simple but the CSS is super wonky). None of the buttons or anything work yet, but I am trying to add weather and other widgets to make it feel more real. :) (AI was used for fine-tuning shadows and color values. I could not figure it out myself.)
Linked NASA API to my new tab dashboard! It will now display a current photo of the earth, as well as the Astronomy Photo of the Day!
Finished this really cool dashboard! I really enjoyed the design aspects, it is one of the first things that I made that I am somewhat proud of the design choices (how everything looks), etc! yes, its not perfect, but I still think its rly cool!
Ships:
I made a dashboard that looks like an old macOS platform. The dashboard has some information related to space, like images from NASA and the weather near Mission Control in Houston. Working on the API was probably one of my biggest challenges, as well as working with GitHub. I honestly have no idea how GitHub works, and it’s definitely a learning experience every time I use it! I am most proud of the overall design of the site. Thank you for reading!...
|
1792849854.6377172
|
1792936254.6377172
|
|
46498
|
Bugatti Destrier by @nejenabinupa | Stardance
|
nejenabinupa
|
1
|
155.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T06:24:33Z", "hours": 155.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my fest car model I make from scratch and I make it in to a cool video to share with you guys, hope you enjoy it :). all the details are in the Readme.", "repo": "https://github.com/binupax6699/BUGATTI-DESTRIER-3D-MODEL-CINEMATIC", "demo": "https://youtu.be/0gfVzRgbG9k?si=vrqBCMsIrrrFTEiZ"}]...
|
[{"post_id": 76883, "ts": "202 [{"post_id": 76883, "ts": "2026-10-04T22:42:10Z", "hours": 3.3019, "text": "Modle and the video is all set now"}, {"post_id": 57506, "ts": "2026-08-29T17:53:22Z", "hours": 4.6228, "text": "In the modle the head lights didn’t look right so I fixed it and I finshed all of the animations now jest need to render it"}, {"post_id": 56434, "ts": "2026-08-28T06:21:57Z", "hours": 6.4069, "text": "I admitted sum cool shots and work on refining sum animations"}, {"post_id": 54990, "ts": "2026-08-26T12:45:25Z", "hours": 8.5239, "text": "I rig the car to animate and put in to the map and I’m starting to animating it"}, {"post_id": 54010, "ts": "2026-08-24T19:07:52Z", "hours": 10.4875, "text": "I heavily modified existing map custom textures, terrain/topology edits, foliage, mountains by me. to animate the car."}, {"post_id": 53277, "ts": "2026-08-23T18:46:47Z", "hours": 11.6706, "text": "Finish the interior room so long and so much effect, and need to adjust sum small theing around the body of the car"}, {"post_id": 51875, "ts": "2026-08-21T19:14:48Z", "hours": 3.8514, "text": "I lost around 10h off work because the house not recoded in the Stardance page, Add so much material normal maps and and good amount of stuff to make it the thing"}, {"post_id": 51637, "ts": "2026-08-21T12:42:44Z", "hours": 9.3028, "text": "Add texture/materials to the car and it look good and added normal maps to everything i think to give so much depth and detail"}, {"post_id": 50972, "ts": "2026-08-20T13:26:09Z", "hours": 24.4308, "text": "I close completing the interior and I make the rim design for the car,"}, {"post_id": 49163, "ts": "2026-08-17T20:02:34Z", "hours": 9.635, "text": "I work on the interior and som small sections of the car and I need to finalize the interior too and small details and things"}, {"post_id": 48516, "ts": "2026-08-16T22:18:10Z", "hours": 7.3842, "text": "Cut out sum sections and cut out the headlights and add things and i guess finally i make the engine bay caret this time, because i remake this engine bay around 4 time because i didn’t had much reference images to make it."}, {"post_id": 47928, "ts": "2026-08-16T06:11:42Z", "hours": 9.1111, "text": "Cut out sections and add things like the horse shoe grill and now remaking the engine bet with new reference images."}, {"post_id": 46936, "ts": "2026-08-14T14:32:31Z", "hours": 6.9164, "text": "Today I make the front part of the Bugatti and the it look so good, I need to model the saids and the cut out"}, {"post_id": 46523, "ts": "2026-08-13T20:12:03Z", "hours": 8.2425, "text": "I make the engine bed and the roof scoop and added the things from the things. And I also make the topology much more good"}, {"post_id": 45928, "ts": "2026-08-12T18:25:02Z", "hours": 10.4517, "text": "Make the said skirt and remake the body because the topography got bad."}, {"post_id": 45341, "ts": "2026-08-11T18:47:59Z", "hours": 9.6428, "text": "Make the rare diffuser, and also ajest the topology so much better body flow and to get details after the general shape come."}, {"post_id": 44782, "ts": "2026-08-10T19:53:31Z", "hours": 11.3414, "text": "I’m making the Bugatti Destriel from scratch and I want it be like the real thing, and I’m only did the back part of it and there is long way to go."}]...
|
Title: Bugatti Destrier by @nejenabinupa | Stardan Title: Bugatti Destrier by @nejenabinupa | Stardance
Devlogs:
I’m making the Bugatti Destriel from scratch and I want it be like the real thing, and I’m only did the back part of it and there is long way to go.
Make the rare diffuser, and also ajest the topology so much better body flow and to get details after the general shape come.
Make the said skirt and remake the body because the topography got bad.
I make the engine bed and the roof scoop and added the things from the things. And I also make the topology much more good
Today I make the front part of the Bugatti and the it look so good, I need to model the saids and the cut out
Cut out sections and add things like the horse shoe grill and now remaking the engine bet with new reference images.
Cut out sum sections and cut out the headlights and add things and i guess finally i make the engine bay caret this time, because i remake this engine bay around 4 time because i didn’t had much reference images to make it.
I work on the interior and som small sections of the car and I need to finalize the interior too and small details and things
I close completing the interior and I make the rim design for the car,
Add texture/materials to the car and it look good and added normal maps to everything i think to give so much depth and detail
I lost around 10h off work because the house not recoded in the Stardance page, Add so much material normal maps and and good amount of stuff to make it the thing
Finish the interior room so long and so much effect, and need to adjust sum small theing around the body of the car
I heavily modified existing map custom textures, terrain/topology edits, foliage, mountains by me. to animate the car.
I rig the car to animate and put in to the map and I’m starting to animating it
I admitted sum cool shots and work on refining sum animations
In the modle the head lights didn’t look right so I fixed it and I finshed all of the animations now jest need to render it
Modle and the video is all set now
Ships:
This is my fest car model I make from scratch and I make it in to a cool video to share with you guys, hope you enjoy it :). all the details are in the Readme....
|
1792666284.448898
|
1792752684.448898
|
|
64333
|
Zenith Assistant by @Orbernator | Stardance
|
Orbernator
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T06:14:46Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Presenting, Zenith! The only AI Assistant that is fully hand coded! Currently, Zenith can: Open Websites Say Hello and Goodbye Send Notfications Check the weather And More to come!", "repo": "https://github.com/Orbernator/zenith-assistant", "demo": "https://github.com/Orbernator/zenith-assistant/releases/tag/0.1.0"}]...
|
[{"post_id": 79247, "ts": "202 [{"post_id": 79247, "ts": "2026-10-13T06:12:37Z", "hours": 0.8203, "text": "I made another banner! So now, time to ship, and then after that, we make shudders documentation."}, {"post_id": 79234, "ts": "2026-10-13T04:35:21Z", "hours": 0.3125, "text": "Well, it can now talk about whats going on!"}, {"post_id": 78993, "ts": "2026-10-12T08:53:28Z", "hours": 0.9306, "text": "Well! I designed a logo! Check it out!"}, {"post_id": 78946, "ts": "2026-10-12T03:50:25Z", "hours": 0.5747, "text": "Ok! Fixed the issue with it misquoting the commands, it should now run the proper commands!"}, {"post_id": 78902, "ts": "2026-10-11T23:25:00Z", "hours": 0.3603, "text": "Well, the weather API supposedly works, but testing it now, shows that there is a big bug somewhere, causing it to pick the wrong commands. Time for some debugging!"}, {"post_id": 76936, "ts": "2026-10-05T04:04:04Z", "hours": 1.1131, "text": "Well, I have added some stuff to this! It can give you greetings, and I am now giving it access to the weather!"}, {"post_id": 72911, "ts": "2026-09-24T00:47:28Z", "hours": 1.0242, "text": "More sites have been added! Time to add some greetings, and other conversational phrases"}, {"post_id": 72085, "ts": "2026-09-22T04:21:36Z", "hours": 1.0839, "text": "So, more sites in, and added flags for noAI, noSocialMedia, sureBing and preferDesktop. I am currently adding Streaming Services!"}, {"post_id": 72038, "ts": "2026-09-22T01:26:20Z", "hours": 0.9989, "text": "So, what am I up to. Well, I decided to make a Assistant, that is fully hand coded, every web link, every company, all hand coded. This will be pain"}, {"post_id": 71615, "ts": "2026-09-21T05:14:30Z", "hours": 0.7558, "text": "Alright! This is going to take up my remaining time in Stardance. Zenith, a Voice Assistant in python. Currently, I plan to make it talk, open apps, and search the web. Future plans are to give it a better voice, hook it up to AI, give it a way of showing itself, and things I havent thought of yet!"}]...
|
Title: Zenith Assistant by @Orbernator | Stardance Title: Zenith Assistant by @Orbernator | Stardance
Devlogs:
Alright! This is going to take up my remaining time in Stardance. Zenith, a Voice Assistant in python. Currently, I plan to make it talk, open apps, and search the web. Future plans are to give it a better voice, hook it up to AI, give it a way of showing itself, and things I havent thought of yet!
So, what am I up to. Well, I decided to make a Assistant, that is fully hand coded, every web link, every company, all hand coded. This will be pain
So, more sites in, and added flags for noAI, noSocialMedia, sureBing and preferDesktop. I am currently adding Streaming Services!
More sites have been added! Time to add some greetings, and other conversational phrases
Well, I have added some stuff to this! It can give you greetings, and I am now giving it access to the weather!
Well, the weather API supposedly works, but testing it now, shows that there is a big bug somewhere, causing it to pick the wrong commands. Time for some debugging!
Ok! Fixed the issue with it misquoting the commands, it should now run the proper commands!
Well! I designed a logo! Check it out!
Well, it can now talk about whats going on!
I made another banner! So now, time to ship, and then after that, we make shudders documentation.
Ships:
Presenting, Zenith! The only AI Assistant that is fully hand coded! Currently, Zenith can: Open Websites Say Hello and Goodbye Send Notfications Check the weather And More to come!...
|
1792857129.781025
|
1792943529.781025
|
|
48068
|
My own site! by @bihanghimire | Stardance
|
bihanghimire
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T03:03:49Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a SPEEDCUBING website . I have been into cubing since a bit myself but can’t find website which contain algorithms in text aswell as animation form with a cubing timer. I tried to reach to the speedcubers with this project . Since I am pretty new to JavaScript I used library known as cubing js which eased my work by a lot . This project was done quickly as I wrote the plan and what to do before starting the project so it won’t be a hassle later on.", "repo": "https://github.com/bihanghimire/CUBING-WEBSITE-", "demo": "https://bihanghimire.github.io/CUBING-WEBSITE-/"}]...
|
[{"post_id": 79207, "ts": "202 [{"post_id": 79207, "ts": "2026-10-13T01:20:57Z", "hours": 10.3661, "text": "This is my cubing website that I have created for speedcubers that use cfop method.Only not that but it does give an introduction about cubing in general. It provides you with 41 case for f2l 51 for pll and 21 for oll . Each and every algorithm uses a visual representation for people who don’t wanna follow the readable algorithm or dont understand it"}]...
|
Title: My own site! by @bihanghimire | Stardance
Title: My own site! by @bihanghimire | Stardance
Devlogs:
This is my cubing website that I have created for speedcubers that use cfop method.Only not that but it does give an introduction about cubing in general. It provides you with 41 case for f2l 51 for pll and 21 for oll . Each and every algorithm uses a visual representation for people who don’t wanna follow the readable algorithm or dont understand it
Ships:
I made a SPEEDCUBING website . I have been into cubing since a bit myself but can’t find website which contain algorithms in text aswell as animation form with a cubing timer. I tried to reach to the speedcubers with this project . Since I am pretty new to JavaScript I used library known as cubing js which eased my work by a lot . This project was done quickly as I wrote the plan and what to do before starting the project so it won’t be a hassle later on....
|
1792857361.6155765
|
1792943761.6155765
|
|
69223
|
chiikawa game by @pigeon_ | Stardance
|
pigeon_
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T02:35:50Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a color matching battle game. A color shows for a few seconds, you memorize it, then you recreate it with hue, saturation and brightness sliders. The closer you get, the more damage you do to the enemy, and the enemy hits back for a random amount. It started as a plain color guessing game and turned into a fight with health bars, a guess timer, attack animations and a draggable color panel. The hardest part was the layout and the CSS. At one point half of my styles just weren’t saved, so EVERYTHING looked broken and I couldn’t figure out why. I’m proud that it went from a basic color guesser to a real game with its own design, and that I came up with the battle idea myself and built it from my own sketch. The squiggle health bars and the animated background are my fav parts To test it: open the demo link and press Start. Memorize the color, then match it with the sliders and press Attack. Try losing on purpose, try running out the 10 second timer, and drag the colors window around. It works best on a computer. It’s a fan project inspired by Chiikawa, not official.", "repo": "https://github.com/jiujiu-dot/aaa", "demo": "https://jiujiu-dot.github.io/aaa/"}]...
|
[{"post_id": 79219, "ts": "202 [{"post_id": 79219, "ts": "2026-10-13T02:33:07Z", "hours": 0.8497, "text": "devlog 5th finished!!"}, {"post_id": 79210, "ts": "2026-10-13T01:33:53Z", "hours": 0.5142, "text": "devlog 4th…. finishing touches"}, {"post_id": 79201, "ts": "2026-10-13T00:45:43Z", "hours": 0.4275, "text": "devlog 3th! made a animation"}, {"post_id": 79199, "ts": "2026-10-13T00:16:41Z", "hours": 2.555, "text": "devlog 2 but im too lazy to type all that sooo heres what i did yeahahha YAY I ADDED USAGI"}, {"post_id": 79167, "ts": "2026-10-12T21:10:33Z", "hours": 5.0342, "text": "DEVLOG 1 soo i started with a plain color guessing game (the kind where you memorize a color then try to match it with hue, saturation and brightness sliders) and today it turned into a whole battle game with chiikawa ofc um yea heres what i did today: Turned the color game into a fight player and the enemy both have a bar with 10 slots. the better your color guess the more damage you do (90+ = 5 damage, 80+ = 4, and sooo on down to a miss). then the enemy hits back for a random 1-4, so it’s a LITTLE easier to win. hp bars in the top corners, player and enemy in the middle, and the color controls in a little panel at the bottom left. i drew a really UGLY sketch and then built it"}]...
|
Title: chiikawa game by @pigeon_ | Stardance
Devl Title: chiikawa game by @pigeon_ | Stardance
Devlogs:
DEVLOG 1 soo i started with a plain color guessing game (the kind where you memorize a color then try to match it with hue, saturation and brightness sliders) and today it turned into a whole battle game with chiikawa ofc um yea heres what i did today: Turned the color game into a fight player and the enemy both have a bar with 10 slots. the better your color guess the more damage you do (90+ = 5 damage, 80+ = 4, and sooo on down to a miss). then the enemy hits back for a random 1-4, so it’s a LITTLE easier to win. hp bars in the top corners, player and enemy in the middle, and the color controls in a little panel at the bottom left. i drew a really UGLY sketch and then built it
devlog 2 but im too lazy to type all that sooo heres what i did yeahahha YAY I ADDED USAGI
devlog 3th! made a animation
devlog 4th…. finishing touches
devlog 5th finished!!
Ships:
I made a color matching battle game. A color shows for a few seconds, you memorize it, then you recreate it with hue, saturation and brightness sliders. The closer you get, the more damage you do to the enemy, and the enemy hits back for a random amount. It started as a plain color guessing game and turned into a fight with health bars, a guess timer, attack animations and a draggable color panel. The hardest part was the layout and the CSS. At one point half of my styles just weren’t saved, so EVERYTHING looked broken and I couldn’t figure out why. I’m proud that it went from a basic color guesser to a real game with its own design, and that I came up with the battle idea myself and built it from my own sketch. The squiggle health bars and the animated background are my fav parts To test it: open the demo link and press Start. Memorize the color, then match it with the sliders and press Attack. Try losing on purpose, try running out the 10 second timer, and drag the colors window around. It works best on a computer. It’s a fan project inspired by Chiikawa, not official....
|
1792857226.1406825
|
1792943626.1406825
|
|
69356
|
Help Wanted Bot by @noahplaysmario | Stardance
|
noahplaysmario
|
1
|
3.43
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T01:49:08Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a slack bot that helps you find people to help you with your projects and people to help if you want to help someone. It stores a database of help requests. Its channel is #get-help-with-projects. I really hope this becomes something actually useful to members of hack club and not just a forgotten project. Here is the channel link: https://hackclub.enterprise.slack.com/archives/C0C8900SNBZ", "repo": "https://github.com/noah560-hackclubprojects/Help-Wanted-Bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0C8900SNBZ"}]...
|
[{"post_id": 79444, "ts": "202 [{"post_id": 79444, "ts": "2026-10-14T00:50:52Z", "hours": 0.4281, "text": "I improved the documentation in the readme and I fixed a bunch of issues related to finished projects and duplicate titles. I worked significantly more than 25 minutes on this but I was using ssh to remotely develop and I only installed hackatime on vscodium since I don’t want all my terminal time to count for stuff."}, {"post_id": 79211, "ts": "2026-10-13T01:45:44Z", "hours": 0.5456, "text": "I added a command for when you are done and don’t need help anymore. I also changed the channel to #get-help-with-projects instead of #help-with-projects (see demo link for channel link)"}, {"post_id": 79173, "ts": "2026-10-12T21:44:43Z", "hours": 2.4778, "text": "I made a Slack bot! It helps people find help with their code. You can find it on this slack channel: https://hackclub.enterprise.slack.com/archives/C0C85PUG7AB Every hour, it posts what people want help with, and you can add things to the list using commands!"}]...
|
Title: Help Wanted Bot by @noahplaysmario | Starda Title: Help Wanted Bot by @noahplaysmario | Stardance
Devlogs:
I made a Slack bot! It helps people find help with their code. You can find it on this slack channel: https://hackclub.enterprise.slack.com/archives/C0C85PUG7AB Every hour, it posts what people want help with, and you can add things to the list using commands!
I added a command for when you are done and don’t need help anymore. I also changed the channel to #get-help-with-projects instead of #help-with-projects (see demo link for channel link)
I improved the documentation in the readme and I fixed a bunch of issues related to finished projects and duplicate titles. I worked significantly more than 25 minutes on this but I was using ssh to remotely develop and I only installed hackatime on vscodium since I don’t want all my terminal time to count for stuff.
Ships:
I made a slack bot that helps you find people to help you with your projects and people to help if you want to help someone. It stores a database of help requests. Its channel is #get-help-with-projects. I really hope this becomes something actually useful to members of hack club and not just a forgotten project. Here is the channel link: https://hackclub.enterprise.slack.com/archives/C0C8900SNBZ...
|
1792810292.6045196
|
1792896692.6045196
|
|
52113
|
SV-Deck by @SiddhantVerma_04 | Stardance
|
SiddhantVerma_04
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T00:30:20Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "SV - Deck This is my very own HackPad, SV - Deck. SV - Deck has a XIAO RP2040, 4 SK6812MINI-E LEDs, 9 switches, and an OLED display. I made this macropad mainly for gaming and simple shortcuts that I use regularly. I made the PCB in KiCad, the firmware using QMK, and the case with Onshape. It was pretty challenging because this is my first real hardware project, making things . But I got through it and I’m very happy with the outcome. It was a really great experience, thank you!", "repo": "https://github.com/siddhantverma04/My-HackPad", "demo": ""}]...
|
[{"post_id": 77199, "ts": "202 [{"post_id": 77199, "ts": "2026-10-06T02:13:40Z", "hours": 2.2836, "text": "Finally done with the HackPad! So I finished soldering the PCB and everything works fine! I also printed the case and put everything together. I just need to ship now!"}, {"post_id": 66899, "ts": "2026-09-12T21:02:12Z", "hours": 2.2378, "text": "Devlog 7 Ready to submit! I finished the firmware, and I’m ready to submit. I also decided to add some diodes to the PCB for each key. So I had to change a lot, including the case. But I am done now and everything is set up in my Github repository for submiting."}, {"post_id": 62473, "ts": "2026-09-05T20:36:22Z", "hours": 0.9383, "text": "Devlog 6 Made the basic firware for the hackpad. Started to make the firmware in VSCode. So far I have made a version with just the keys coded. Still need to add the LEDs and OLED screen."}, {"post_id": 58540, "ts": "2026-08-30T23:44:29Z", "hours": 2.1694, "text": "Devlog 5 Finished the case. Made a simple case for then PCB to sit in. Added a cutout for the USB, OLED screen and the keys. Might still add a design or something in the top right above the microcontroller. Need to code firmware now."}, {"post_id": 57106, "ts": "2026-08-29T06:30:40Z", "hours": 2.4258, "text": "Devlog 4 Big update. I’m now fully done with the PCB! I added LEDs, and and OLED screen. Finished wiring everything too. Hopefully I just need to code firmware now and design the case."}, {"post_id": 53492, "ts": "2026-08-24T02:05:17Z", "hours": 0.6436, "text": "Devlog 3 Made my PCB Made my PCB following the guide but then I decided to change it to be my own. So I scrapped everything and started again. I added 9 keys and wired it all. I left space for an OLED screen or something on the top left, that I’m going to add later."}, {"post_id": 52652, "ts": "2026-08-22T21:56:37Z", "hours": 1.5719, "text": "Devlog 2 Worked on the cad part of my hackpad. I made the case for the hackpad using Onshape. I know that I have to make it my own, but I’m just following the guide for now, and I’m going to change stuff later."}, {"post_id": 51982, "ts": "2026-08-21T23:51:50Z", "hours": 1.0978, "text": "Devlog 1 Finished schematic and imports. This is the start of me making my very own hack pad! I imported the care package and installed KiCad, Lapse, and lookout, so everything is working smoothly now. I had some trouble with the default KiCad files but I managed to import all of them manually. Going to start working on the PCB now!"}]...
|
Title: SV-Deck by @SiddhantVerma_04 | Stardance
D Title: SV-Deck by @SiddhantVerma_04 | Stardance
Devlogs:
Devlog 1 Finished schematic and imports. This is the start of me making my very own hack pad! I imported the care package and installed KiCad, Lapse, and lookout, so everything is working smoothly now. I had some trouble with the default KiCad files but I managed to import all of them manually. Going to start working on the PCB now!
Devlog 2 Worked on the cad part of my hackpad. I made the case for the hackpad using Onshape. I know that I have to make it my own, but I’m just following the guide for now, and I’m going to change stuff later.
Devlog 3 Made my PCB Made my PCB following the guide but then I decided to change it to be my own. So I scrapped everything and started again. I added 9 keys and wired it all. I left space for an OLED screen or something on the top left, that I’m going to add later.
Devlog 4 Big update. I’m now fully done with the PCB! I added LEDs, and and OLED screen. Finished wiring everything too. Hopefully I just need to code firmware now and design the case.
Devlog 5 Finished the case. Made a simple case for then PCB to sit in. Added a cutout for the USB, OLED screen and the keys. Might still add a design or something in the top right above the microcontroller. Need to code firmware now.
Devlog 6 Made the basic firware for the hackpad. Started to make the firmware in VSCode. So far I have made a version with just the keys coded. Still need to add the LEDs and OLED screen.
Devlog 7 Ready to submit! I finished the firmware, and I’m ready to submit. I also decided to add some diodes to the PCB for each key. So I had to change a lot, including the case. But I am done now and everything is set up in my Github repository for submiting.
Finally done with the HackPad! So I finished soldering the PCB and everything works fine! I also printed the case and put everything together. I just need to ship now!
Ships:
SV - Deck This is my very own HackPad, SV - Deck. SV - Deck has a XIAO RP2040, 4 SK6812MINI-E LEDs, 9 switches, and an OLED display. I made this macropad mainly for gaming and simple shortcuts that I use regularly. I made the PCB in KiCad, the firmware using QMK, and the case with Onshape. It was pretty challenging because this is my first real hardware project, making things . But I got through it and I’m very happy with the outcome. It was a really great experience, thank you!...
|
1792698450.257122
|
1792784850.257122
|
|
280
|
Ks' Corner by @Ks | Stardance
|
Ks
|
2
|
37.14
|
325
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T22:34:46Z", "hours": 15.0, "multiplier": 12.18, "payout": 177, "blessing": "neutral", "text": "This website is still a work in progress, but am shipping right now for Playground [I don’t know how to add it to the mission though] (Note: Find Lavender though Games -> Lavender’s Home -> Lavender) I hated doing the phone version, couldn’t get patting for the phone in any single way, but it works well on PC, (hover the mouse and move it a bit) In this update you also have the main Math page, still working on the smaller pages, might have to bring up Manim or something soon for them, and added a calculator!", "repo": "https://github.com/Ks-Marbs/ks-corner", "demo": "https://ks-marbs.github.io/ks-corner/"}, {"ship_num": 2, "ts": "2026-06-29T19:55:54Z", "hours": 20.0, "multiplier": 7.33, "payout": 148, "blessing": "neutral", "text": "My first website attempt Honestly too lazy to learn HTML so made it in Godot ’o-o Any and all feedback is appreciated", "repo": "https://github.com/Ks-Marbs/ks-corner", "demo": "https://ks-marbs.github.io/ks-corner/"}]...
|
[{"post_id": 81479, "ts": "202 [{"post_id": 81479, "ts": "2026-10-21T12:45:22Z", "hours": 2.1442, "text": "Added small pages for all three of my [old] series Tweaked Lavender a bit too"}, {"post_id": 79180, "ts": "2026-10-12T22:28:17Z", "hours": 2.5675, "text": "Finished adding Lavender, And her game page! Will ship for now so it qualifyies for Playground but ill still finish the other pages 🪻"}, {"post_id": 77385, "ts": "2026-10-06T19:00:40Z", "hours": 2.8272, "text": "Added the Lavender’s home page, and just added… Lavender?"}, {"post_id": 76020, "ts": "2026-10-02T02:34:12Z", "hours": 2.265, "text": "Made pages for room sokoban and Unn Rhyhtm game, as well as bugfixed the calculator on phone, as it was coming too small for the screen"}, {"post_id": 73376, "ts": "2026-09-25T01:17:36Z", "hours": 2.6642, "text": "Oh hey, we actually did a calculator… [sort of, its just a fancy keyboard and parcing in godot but i’m too lazy to make a full calculator] No idea what to do next except writing… ‘– It’s so boooooorinng"}, {"post_id": 70148, "ts": "2026-09-18T15:41:53Z", "hours": 2.2397, "text": "Added the Math page! Planning on adding a calculator “page” later, and maybe adding more articles written by myself when i have time ;-;"}, {"post_id": 65673, "ts": "2026-09-10T23:44:19Z", "hours": 2.0031, "text": "Updated godot from 4.5 to 4.7 It broke the image sizing so i fixed it ( ’–)"}, {"post_id": 18596, "ts": "2026-06-29T19:41:44Z", "hours": 4.6339, "text": "Finished the website (mostly) I think its nice enough to ship :] Should update with photos and irl prizes when i’m more comfortable sharing my irl name but except that, it works Added a very nice BG and pictures and audios"}, {"post_id": 13493, "ts": "2026-06-22T02:49:40Z", "hours": 4.1911, "text": "Week 15 to 21 worked mostly on getting the site phone ready. also began developing some features/Easter eggs. I’m develoging through phone and it does not have the enter key to type \\n"}, {"post_id": 9607, "ts": "2026-06-16T00:23:39Z", "hours": 5.5392, "text": "Week: 8->14/6 I’m not home so I hope this goes in time for the weekly stickers T-T This week I worked mostly on phone adaptation, also looked how to make each of the pages actual pages, and made the start screen text! Also discovered that images can go directly on text so will use that to my advantage :]"}, {"post_id": 4360, "ts": "2026-06-07T17:32:43Z", "hours": 0.7628, "text": "Images are now working! plans for the future is making the site diferent for phone i.e. vertical"}, {"post_id": 3881, "ts": "2026-06-06T23:37:48Z", "hours": 0.6258, "text": "Am I wrong for doing exactly 30 minutes everyday just so I can get all da stickers? But yeah, somehow typing all this and making it work for more than 1 mini page took 35 minutes"}, {"post_id": 3220, "ts": "2026-06-06T01:33:03Z", "hours": 3.0619, "text": "So in these last few days: Updated the site to make it scalable Made it so text exists Figuring out how to add images that move with the text (Hackatime changed the name of the project so I didn’t devlog since I didn’t see it did, please don’t remove my stickers)"}, {"post_id": 1014, "ts": "2026-06-02T20:06:21Z", "hours": 0.8453, "text": "Began building the website in Godot, and am creating the github repo (before i forget) Figured out how to make the mouse do the thingy where it turns into a “you can click here” thingy (unable to screenshot that but most of y’all know it) Began searching for how to turn scenes into pages in Godot -> HTML"}, {"post_id": 496, "ts": "2026-06-01T23:38:07Z", "hours": 0.5667, "text": "Heyyyy🟡 idk why but i can only type the title? Anyway, began doing a sketch at canva for reference"}]...
|
Title: Ks' Corner by @Ks | Stardance
Devlogs: Title: Ks' Corner by @Ks | Stardance
Devlogs:
Heyyyy🟡 idk why but i can only type the title? Anyway, began doing a sketch at canva for reference
Began building the website in Godot, and am creating the github repo (before i forget) Figured out how to make the mouse do the thingy where it turns into a “you can click here” thingy (unable to screenshot that but most of y’all know it) Began searching for how to turn scenes into pages in Godot -> HTML
So in these last few days: Updated the site to make it scalable Made it so text exists Figuring out how to add images that move with the text (Hackatime changed the name of the project so I didn’t devlog since I didn’t see it did, please don’t remove my stickers)
Am I wrong for doing exactly 30 minutes everyday just so I can get all da stickers? But yeah, somehow typing all this and making it work for more than 1 mini page took 35 minutes
Images are now working! plans for the future is making the site diferent for phone i.e. vertical
Week: 8->14/6 I’m not home so I hope this goes in time for the weekly stickers T-T This week I worked mostly on phone adaptation, also looked how to make each of the pages actual pages, and made the start screen text! Also discovered that images can go directly on text so will use that to my advantage :]
Week 15 to 21 worked mostly on getting the site phone ready. also began developing some features/Easter eggs. I’m develoging through phone and it does not have the enter key to type \n
Finished the website (mostly) I think its nice enough to ship :] Should update with photos and irl prizes when i’m more comfortable sharing my irl name but except that, it works Added a very nice BG and pictures and audios
Updated godot from 4.5 to 4.7 It broke the image sizing so i fixed it ( ’–)
Added the Math page! Planning on adding a calculator “page” later, and maybe adding more articles written by myself when i have time ;-;
Oh hey, we actually did a calculator… [sort of, its just a fancy keyboard and parcing in godot but i’m too lazy to make a full calculator] No idea what to do next except writing… ‘– It’s so boooooorinng
Made pages for room sokoban and Unn Rhyhtm game, as well as bugfixed the calculator on phone, as it was coming too small for the screen
Added the Lavender’s home page, and just added… Lavender?
Finished adding Lavender, And her game page! Will ship for now so it qualifyies for Playground but ill still finish the other pages 🪻
Added small pages for all three of my [old] series Tweaked Lavender a bit too
Ships:
My first website attempt Honestly too lazy to learn HTML so made it in Godot ’o-o Any and all feedback is appreciated
This website is still a work in progress, but am shipping right now for Playground [I don’t know how to add it to the mission though] (Note: Find Lavender though Games -> Lavender’s Home -> Lavender) I hated doing the phone version, couldn’t get patting for the phone in any single way, but it works well on PC, (hover the mouse and move it a bit) In this update you also have the main Math page, still working on the smaller pages, might have to bring up Manim or something soon for them, and added a calculator!...
|
1792835772.2337348
|
1792922172.2337348
|
|
61130
|
Frictionless by @DTFive | Stardance
|
DTFive
|
1
|
20.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T21:47:38Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A simple place to bring sellers and buyers together. No need to build an entire e-commerce website from scratch. Just publish your products and let people discover what you have to offer. The focus is on making the experience straightforward, accessible, and easy to use.", "repo": "https://github.com/JadSaissiHassani/0vibes", "demo": "https://0vibes.com"}]...
|
[{"post_id": 79172, "ts": "202 [{"post_id": 79172, "ts": "2026-10-12T21:44:07Z", "hours": 0.5572, "text": "DEVLOG #7 I just fixed some issues to finally shipping that project"}, {"post_id": 77370, "ts": "2026-10-06T18:05:33Z", "hours": 3.6439, "text": "DEVLOG #6 i fixed some host problemes and i start using pythonanywhere to host my project cause i could up date it any time and it is a free option for me"}, {"post_id": 76419, "ts": "2026-10-03T14:07:39Z", "hours": 1.4333, "text": "DEVLOG #5 i connected my folder to the domaine i bought for it 0vibes.com and i just need a host"}, {"post_id": 73934, "ts": "2026-09-26T11:05:24Z", "hours": 9.5567, "text": "DEVLOG #4 i spent today on building a powerfull and fully securised data base / i bought an domaine (0vibes.com) and i will connect it to my folder next devlog (maybe tmrw)"}, {"post_id": 69334, "ts": "2026-09-16T20:33:16Z", "hours": 3.7403, "text": "DEVLOG #3 Spent today mostly on design instead of new features. Got the project onto GitHub properly with a .gitignore so my venv/database don’t get uploaded. Then built out a real design system — one shared CSS file with color variables, so I can reskin the whole site by changing a few lines. Took the site from mismatched default styling to a consistent burgundy/cream theme that actually matches my logo, redid the product cards with hover effects, and added the real logo image to the nav. Hit a annoying bug where my CSS file was in the wrong folder and silently 404’d — good reminder to actually check the Network tab when something looks broken instead of guessing."}, {"post_id": 66723, "ts": "2026-09-12T16:47:24Z", "hours": 0.4642, "text": "DEVLOG #2 of working on my brand website Made more progress on 0vibe today. Users can now sign up and log in with just their email (no usernames), and there’s a dashboard for logged-in users. Built out the product system too — products live in the database now, there’s an admin panel to add them, and pages to browse and view individual products. Started building the actual customizer (the part where you’ll upload your design onto a product) — right now it just shows the product on a canvas, next up is letting people drop an image onto it and move it around. Also added a proper nav bar and this devlog page so people can follow along."}, {"post_id": 66509, "ts": "2026-09-12T10:55:24Z", "hours": 0.5311, "text": "DEVLOG #1 creating a website for my brand 0vibe of cloths same as printity (a web where u could desine a t-shirt by chosing the type of woll and color and the size and also what u want to write on it) im coding with python and html cause it kida easy to understand it , i created 6 pages like leaderboard and login and singup pages without forgetting admin page. if you have any advise for my project im free to read it and thanks"}]...
|
Title: Frictionless by @DTFive | Stardance
Devlog Title: Frictionless by @DTFive | Stardance
Devlogs:
DEVLOG #1 creating a website for my brand 0vibe of cloths same as printity (a web where u could desine a t-shirt by chosing the type of woll and color and the size and also what u want to write on it) im coding with python and html cause it kida easy to understand it , i created 6 pages like leaderboard and login and singup pages without forgetting admin page. if you have any advise for my project im free to read it and thanks
DEVLOG #2 of working on my brand website Made more progress on 0vibe today. Users can now sign up and log in with just their email (no usernames), and there’s a dashboard for logged-in users. Built out the product system too — products live in the database now, there’s an admin panel to add them, and pages to browse and view individual products. Started building the actual customizer (the part where you’ll upload your design onto a product) — right now it just shows the product on a canvas, next up is letting people drop an image onto it and move it around. Also added a proper nav bar and this devlog page so people can follow along.
DEVLOG #3 Spent today mostly on design instead of new features. Got the project onto GitHub properly with a .gitignore so my venv/database don’t get uploaded. Then built out a real design system — one shared CSS file with color variables, so I can reskin the whole site by changing a few lines. Took the site from mismatched default styling to a consistent burgundy/cream theme that actually matches my logo, redid the product cards with hover effects, and added the real logo image to the nav. Hit a annoying bug where my CSS file was in the wrong folder and silently 404’d — good reminder to actually check the Network tab when something looks broken instead of guessing.
DEVLOG #4 i spent today on building a powerfull and fully securised data base / i bought an domaine (0vibes.com) and i will connect it to my folder next devlog (maybe tmrw)
DEVLOG #5 i connected my folder to the domaine i bought for it 0vibes.com and i just need a host
DEVLOG #6 i fixed some host problemes and i start using pythonanywhere to host my project cause i could up date it any time and it is a free option for me
DEVLOG #7 I just fixed some issues to finally shipping that project
Ships:
A simple place to bring sellers and buyers together. No need to build an entire e-commerce website from scratch. Just publish your products and let people discover what you have to offer. The focus is on making the experience straightforward, accessible, and easy to use....
|
1792857088.5496776
|
1792943488.5496776
|
|
15091
|
tv-pad by @ThaoVi | Stardance
|
ThaoVi
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T21:36:32Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a a 9-key macropad with an OLED display used for note taking on a 2 in 1 laptop. Default keymap includes copy, cut, paste shortcuts as well as music control. My first hardware project! The designing part was manageable with the guide but the building part was very hard since the assembly guide is incomplete. I realized that my pcb made it so that my oled pins went through the xiao so the xiao is floating haha. Sadly only three keys out of nine work right now, but the oled display works so i plan to make fun animations on it!", "repo": "https://github.com/TVDVT/Macropad-for-2-in-1-laptop-notetaking", "demo": ""}]...
|
[{"post_id": 79165, "ts": "202 [{"post_id": 79165, "ts": "2026-10-12T21:04:57Z", "hours": 3.6883, "text": "BUILDING I was working in 5 min intervals for the sticky streak but gave up today and decided to finish everything today :D. While building I realized that my oled display pins went through the XIAO.. so i had to improvise a bit and make the xiao float. I flashed the xiao and i have only 3 out of 9 keys working oops. The hole in my case for the display was also too small so i had to use my soldering iron to melt it and expand it im a bit worried for my lungs tbh Now ima try to figure out how to make the other keys and the oled display work wee Update The screen and all my keys work! I was using qmk keycodes that didn’t work on windows that’s why 6 of the keys weren’t working :D"}, {"post_id": 42785, "ts": "2026-08-07T17:49:47Z", "hours": 0.8653, "text": "Firmware I finished my case so I have been trying to figure out how to do the firmware on QMK, so I thought about switching to KMK since I already know how to code in Python. In the end I just stuck with QMK since I was already almost done. Here is my layout:"}, {"post_id": 26294, "ts": "2026-07-11T00:31:02Z", "hours": 2.3172, "text": "Case I have been working on Onshape to make the case. Getting famiiliar with the platform took a long time before I could do something. I finished the case but I should adjust the USB port, it can be done later. I had to adjust it because I figured that I had flipped XIAO on my PCB but didn’t do it on my 3D model so I wasted a little bit of time. Right now my switches are in place but there still is a strange gap between the key holes and the switches so I have to fix that. I also have to add the LED screen in the assembly. I think I will be done after that!"}, {"post_id": 10762, "ts": "2026-06-17T17:39:20Z", "hours": 0.7964, "text": "I think I’m done we ith the PCB, I moved the XIAO so that it wouldn’t bother the oled display while keeping the OLED centered. For the OLED dimensions I downloaded the footprint from the ressources page, I didn’t see it before."}, {"post_id": 10621, "ts": "2026-06-17T14:00:46Z", "hours": 1.2981, "text": "PCB routing I had to spend a long time trying to fix rounting errors all because I didn’t see two connections.. I’m almost done routing the PCB now. I just need to find the right measurements for the OLED and then get it centered at the top. Then I’ll start the case!"}, {"post_id": 10019, "ts": "2026-06-16T15:45:45Z", "hours": 0.3514, "text": "I added 9 switches for basic keyboard shortcuts and used the matrix layout as recommended in the guide. I also added an OLED display but I don’t know what it will be for yet."}, {"post_id": 6412, "ts": "2026-06-10T19:47:10Z", "hours": 0.2517, "text": "i finished the macropad guide , something went wrong at the end but i will figure it out another time how do i log time for that on hackatime though i have no idea, i’ve been trying to figure it out but i’m so lost"}]...
|
Title: tv-pad by @ThaoVi | Stardance
Devlogs:
i f Title: tv-pad by @ThaoVi | Stardance
Devlogs:
i finished the macropad guide , something went wrong at the end but i will figure it out another time how do i log time for that on hackatime though i have no idea, i’ve been trying to figure it out but i’m so lost
I added 9 switches for basic keyboard shortcuts and used the matrix layout as recommended in the guide. I also added an OLED display but I don’t know what it will be for yet.
PCB routing I had to spend a long time trying to fix rounting errors all because I didn’t see two connections.. I’m almost done routing the PCB now. I just need to find the right measurements for the OLED and then get it centered at the top. Then I’ll start the case!
I think I’m done we ith the PCB, I moved the XIAO so that it wouldn’t bother the oled display while keeping the OLED centered. For the OLED dimensions I downloaded the footprint from the ressources page, I didn’t see it before.
Case I have been working on Onshape to make the case. Getting famiiliar with the platform took a long time before I could do something. I finished the case but I should adjust the USB port, it can be done later. I had to adjust it because I figured that I had flipped XIAO on my PCB but didn’t do it on my 3D model so I wasted a little bit of time. Right now my switches are in place but there still is a strange gap between the key holes and the switches so I have to fix that. I also have to add the LED screen in the assembly. I think I will be done after that!
Firmware I finished my case so I have been trying to figure out how to do the firmware on QMK, so I thought about switching to KMK since I already know how to code in Python. In the end I just stuck with QMK since I was already almost done. Here is my layout:
BUILDING I was working in 5 min intervals for the sticky streak but gave up today and decided to finish everything today :D. While building I realized that my oled display pins went through the XIAO.. so i had to improvise a bit and make the xiao float. I flashed the xiao and i have only 3 out of 9 keys working oops. The hole in my case for the display was also too small so i had to use my soldering iron to melt it and expand it im a bit worried for my lungs tbh Now ima try to figure out how to make the other keys and the oled display work wee Update The screen and all my keys work! I was using qmk keycodes that didn’t work on windows that’s why 6 of the keys weren’t working :D
Ships:
I made a a 9-key macropad with an OLED display used for note taking on a 2 in 1 laptop. Default keymap includes copy, cut, paste shortcuts as well as music control. My first hardware project! The designing part was manageable with the guide but the building part was very hard since the assembly guide is incomplete. I realized that my pcb made it so that my oled pins went through the xiao so the xiao is floating haha. Sadly only three keys out of nine work right now, but the oled display works so i plan to make fun animations on it!...
|
1792849890.863372
|
1792936290.863372
|
|
47485
|
clicker kingdom by @Sepkatt | Stardance
|
Sepkatt
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T20:41:59Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "1. What did I make? I made StarDance. I wanted to make something fun and I worked on getting everything to look and work the way I wanted. 2. What was hard? Some things didn’t work the first time, so I had to try again and fix them. It took some time to get everything right. 3. What am I proud of? I’m proud that I finished it and that I got it to work. I also learned some new things while making it. 4. What should people know about my project? I put time into making StarDance and tried to make it good. It wasn’t always easy, but I’m happy with how it turned out.", "repo": "https://github.com/katarinawattum-lgtm/New-folder", "demo": "https://katarinawattum-lgtm.github.io/New-folder/"}]...
|
[{"post_id": 79150, "ts": "202 [{"post_id": 79150, "ts": "2026-10-12T20:28:07Z", "hours": 1.2403, "text": "Just finished a game made with HTML, CSS, and JS."}, {"post_id": 79088, "ts": "2026-10-12T16:58:35Z", "hours": 3.0461, "text": "Clicker Kingdom - Stardance Challenge Progress Update I started building my own browser game called Clicker Kingdom using HTML, CSS, and JavaScript in Visual Studio Code. So far, I have: Created the basic game structure using HTML. Designed the game with CSS, using a dark background, gold colours, and a kingdom theme. Added a gold counter and a button that lets players earn gold by clicking. -Created a shop where players can buy gold workers for 10 gold. Added an automatic gold system where each worker produces 1 gold per second.Implemented a save system using the browser’s local storage, so game progress can be saved and loaded again. My next step is to test that all the features work correctly and continue adding new features to make the game more fun and interactive."}]...
|
Title: clicker kingdom by @Sepkatt | Stardance
De Title: clicker kingdom by @Sepkatt | Stardance
Devlogs:
Clicker Kingdom - Stardance Challenge Progress Update I started building my own browser game called Clicker Kingdom using HTML, CSS, and JavaScript in Visual Studio Code. So far, I have: Created the basic game structure using HTML. Designed the game with CSS, using a dark background, gold colours, and a kingdom theme. Added a gold counter and a button that lets players earn gold by clicking. -Created a shop where players can buy gold workers for 10 gold. Added an automatic gold system where each worker produces 1 gold per second.Implemented a save system using the browser’s local storage, so game progress can be saved and loaded again. My next step is to test that all the features work correctly and continue adding new features to make the game more fun and interactive.
Just finished a game made with HTML, CSS, and JS.
Ships:
1. What did I make? I made StarDance. I wanted to make something fun and I worked on getting everything to look and work the way I wanted. 2. What was hard? Some things didn’t work the first time, so I had to try again and fix them. It took some time to get everything right. 3. What am I proud of? I’m proud that I finished it and that I got it to work. I also learned some new things while making it. 4. What should people know about my project? I put time into making StarDance and tried to make it good. It wasn’t always easy, but I’m happy with how it turned out....
|
1792857330.3628716
|
1792943730.3628716
|
|
53836
|
FOU by @SHREX | Stardance
|
SHREX
|
3
|
71.0
|
1016
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T20:41:24Z", "hours": 50.0, "multiplier": 13.35, "payout": 664, "blessing": "neutral", "text": "FOU is my first serious programming project, and honestly, I never thought it would come this far. It started as a small Python CLI because I wanted an easy way to track crypto prices without opening an exchange every time. Slowly, I added live prices, coin validation, saving, and my own backend. And now, with v2.5, I’ve finally turned it into a proper desktop app! FOU now has three themes — FOU DEFAULT, THE FOOL, and VOID , each with its own companion and six different reactions. The hardest part was definitely building the GUI, especially getting the characters, decorative frames, and layouts to work properly when resizing the window. I spent way too much time fixing tiny details 😭 I also tried to work on almost every piece of feedback from my previous ships. A lot of people said my README and devlogs weren’t clear enough, so this time I’ve added better explanations, installation instructions, a full demo video, and more details about how I built everything. 💜 Please read this before testing! ⏳ First-time loading: Adding your first coin or loading saved prices might take around 60 seconds because my free hosted backend sometimes goes to sleep. Please give it a little time! 🛡️ Windows: I’ve tested the released app on two Windows laptops, and it worked fine. However, the executable is still unsigned, so Windows might show a security warning. I’ve already applied for code signing. Please don’t disable your security settings just to test it. 🐧 Linux and macOS: Both builds completed successfully, but I couldn’t test them on real Linux or Mac computers. So please treat them as experimental. If something doesn’t work, I’d really appreciate it if you could watch the demo video before rating, rather than judging FOU only by an untested build. 🐛 Bugs: Some recent tests found a few rare issues with saving and unexpected API responses. I’ve started fixing them, but those fixes aren’t in this release yet. If you find anything, please let me know! 🚀 How to try it Download the ZIP for your OS from the GitHub Release. On Windows, extract everything and open FOU.exe . Try adding BTC, ETH, or SOL, refreshing prices, saving your portfolio, and switching themes. FOU isn’t a wallet or trading app. It’s just a watchlist for coins you’re interested in. Release: https://github.com/FOU-SHREX/FOU/releases/tag/v2.5.0 README + Demo Video: https://github.com/FOU-SHREX/FOU I’m still learning Python, and this project taught me so much about coding, APIs, GUI development, and fixing things that randomly stop working. I also used ChatGPT, and AI image tools to help with coding, debugging, and artwork throughout development. I’m really happy with how far FOU has come, even though it’s still not perfect. Thanks to everyone who gave feedback on my earlier versions and helped me improve it. I hope you enjoy trying FOU! 💜 Please give feedback and good rating <(_ _)>", "repo": "https://github.com/FOU-SHREX/FOU", "demo": "https://github.com/FOU-SHREX/FOU/releases/tag/v2.5.0"}, {"ship_num": 2, "ts": "2026-09-22T14:25:57Z", "hours": 20.0, "multiplier": 17.33, "payout": 346, "blessing": "neutral", "text": "FOU is my first serious programming project and I made most of it while I was still learning Python. The idea actually came from a small problem I had myself. There were a lot of crypto coins I wanted to keep an eye on, but I didn’t want to open an exchange or search each coin again and again just to check the price. So I thought, why not make a small program where I can add the coins I care about once and then just open it whenever I want to check them. That’s how FOU started. V1.1 was very simple. It was just a CLI watchlist where you could add, remove, save and load coin symbols. While making V2 I learned a lot more and slowly upgraded it with live prices, valid coin checking, adding multiple coins, better save handling, error handling and builds for Windows, Linux and macOS. One of the hardest parts for me was learning how APIs and backend stuff work. I didn’t want to put the CoinGecko API key inside the app, so I built my own FastAPI backend and deployed it. I also learned caching, rate limiting, GitHub Actions, PyInstaller and a lot of testing while doing this. I also worked on the feedback from my V1.1 ship. A lot of people said the README and devlogs were not explaining the project enough, and some people didn’t even understand what a crypto watchlist was or thought it was related to wallets. So for V2 I added a beginner guide, clearer explanation of what FOU does, why I made it, better installation steps and I’m also adding better screenshots and more detailed devlogs. FOU does not connect to wallets, trade crypto or use real money. It is just a simple personal watchlist to track coins you are interested in. To test it, download the build for your OS from the V2 release, open FOU, add coins like BTC, ETH or SOL, type DONE, then open View Portfolio to see the live prices. Save it, close the app, reopen it and your watchlist should still be there. I’m still a beginner and this project is mainly how I’m learning by actually building something, so feedback really helps me improve it. If you try it and like what I made, I’d really appreciate a good rating and an honest review. And if something feels confusing or broken, please tell me that too so I can work on it in the next update.", "repo": "https://github.com/FOU-SHREX/FOU", "demo": "https://github.com/FOU-SHREX/FOU/releases/tag/v2.5.0"}, {"ship_num": 3, "ts": "2026-09-02T16:11:07Z", "hours": 1.0, "multiplier": 4.25, "payout": 6, "blessing": "neutral", "text": "I made FOU V1.1, a Python command-line cryptocurrency watchlist where users can add, view, remove, save, and reload coin symbols. The most challenging part was making the save system reliable both when running the Python file and when running the packaged Windows .exe . I also learned how to handle missing or corrupted save files and how to package the project with PyInstaller. I’m most proud that I took a simple Python project and turned it into a working standalone Windows release that other people can actually download and run. I also improved the code structure, added better error handling, and learned more about Git, GitHub releases, and project shipping. People should know that FOU V1.1 is still a watchlist-style project, not a full live crypto tracker yet. V2 is planned to add live prices and coin validation.", "repo": "https://github.com/FOU-SHREX/FOU", "demo": "https://github.com/FOU-SHREX/FOU/releases/tag/v2.5.0"}]...
|
[{"post_id": 79151, "ts": "202 [{"post_id": 79151, "ts": "2026-10-12T20:29:06Z", "hours": 4.8217, "text": "DEVLOG- 35: About to ship this here is important thing please read this if you encounter with and security issue please click run anyway as I applied for the authorized ownership but that will take weeks to fulfill so please co-operate and Linux and windows user if you want you can skip as i don’t have any system to test them, Thank you all for this journey will make more and be better if you rating me please rate me good. <(_ _)><(_ _)>"}, {"post_id": 78470, "ts": "2026-10-10T21:32:57Z", "hours": 2.5167, "text": "DEVLOG- 34: Here is the look of second theme the name is THE FOOL and the companion name is Mr. FOOL , the border around the portfolio takes so much time and effort of mine like in the end i need to use codex for calculation part as i learn MATH but the calculation is quiet complex so uses that, Appart from this I think i had done most of the work on feedback : 1st Feedback : Make a UI -> Now my project is shifted from cli to gui and have a proper UI 2nd Feedback : Timestap -> Added that in portfolio frame you can see the time its feacting the prices 3rd Feedback : Help -> Addded a help button at the bottom and that will open a youtube video that explain everything from how to use and what is for what! 4th Feedback : Nothing - > so everything is done so far ╰( °▽° )╯╰( °▽° )╯ BTW, working on the third theme too maybe ship tomorrow so don’t forget to try and Rate good my project ."}, {"post_id": 78181, "ts": "2026-10-09T21:53:47Z", "hours": 3.5731, "text": "DEVLOG- 33: Worked on so many things today, like adding the overall background in the second theme and living the frames that hiding that giving each frame its own border frame as per theme, created cards icon for change theme option using DRAW and also create local saving icon to use. i really think i cover most of the feedback as majorities of feedback were about UI which is done mostly and one feedback was about help option so I created a help button at the right bottom which will have a go through video of FOU explain everything if u needed help! will reveled the final look of second theme so stay tuned. - - () - -"}, {"post_id": 77929, "ts": "2026-10-08T20:20:52Z", "hours": 2.1711, "text": "DEVLOG- 32: After struggling and finding the result of the problem i learned math module and ceil and after learning this its so complicated for me that i need to take help from chat_gpt for the calculation part and then i got the desire result but still raise a another issue like the border of companion frame is not retracking its placement so I think i need to fix that next stay tuned ! ಥ_ಥ ┑( ̄Д  ̄)┍"}, {"post_id": 77643, "ts": "2026-10-07T18:38:28Z", "hours": 2.0833, "text": "DEVLOG - 31: Working on a same problem from yesterday but it didn’t fixed yet learned the new concepts and apply them but nothing happened will keep trying until crack that so stay tuned, if you can help please comment me the problem is i want a png border file to get perfectly fix around my portfolio and that file is not fitting perfectly so if anybody know i am using python only and making UI using coustomTkinter."}, {"post_id": 77375, "ts": "2026-10-06T18:17:46Z", "hours": 3.3803, "text": "DEVLOG - 30: Currently working on the second theme and just fixed done the companion frame and part like the emotion part and struggling in the frame of portfolio so i need to learn and understand some more concepts to fix that stay tuned! ( ̄┰ ̄*) ಥ_ಥ"}, {"post_id": 77134, "ts": "2026-10-05T19:03:05Z", "hours": 2.1525, "text": "DEVLOG- 29: Today I finally completed the FOU default theme UI and this is the locked result done some refinement today as remove button draw the prefect remove button icon and the companion sizing and placement the header of companion given a companion a 3D look ) and make companion fame fits to it as the upcoming theme will use that logic stay tuned may ship this this sunday or monday!)"}, {"post_id": 76822, "ts": "2026-10-04T18:27:03Z", "hours": 4.2847, "text": "DEVLOG- 28: So this is my default theme look today i fixed the style like the text fonts and placement and size worked on the activity section like the tick part take a lot just learned the image draw in python and use that to make the search icon clock and tick and loading so it take a while what do you think about this theme there will be more i give you a hint the second is from anime which is so mysterious! (⊙ (⊙ ⊙)_⊙) ( ̄┰ ̄ )( ̄┰ ̄ )"}, {"post_id": 76487, "ts": "2026-10-03T18:48:30Z", "hours": 4.4256, "text": "DEVLOG- 27: Today I fixed the major issue i am facing the image sizing part like when minimize and maximize done some calculation learn new concepts and do some compromise and apart from that added the logo section so the displayed coin will display there logo too and added the help button later when this finish will create a youtube video to guide it threw. The UI is taking the target set shape need some refinement and clarity the the default theme is done yes there will be more then one theme. ^0^ ^0^╰( °▽° )╯╰( °▽° )╯"}, {"post_id": 76239, "ts": "2026-10-02T20:22:19Z", "hours": 3.3644, "text": "DEVLOG- 26: Today I am working on the companion part of my GUI and from the morning working on the correct size fitting of the .png still didn’t get that like when minimize and maximize the size is getting larger and cropped or smaller then the frame and never fits if anybody know how to fix that issue do comment i am using CustomTkinter for this GUI. <(_ _)><(_ _)>o(TヘTo)o(TヘTo)"}, {"post_id": 75986, "ts": "2026-10-01T20:57:10Z", "hours": 2.2486, "text": "DEVLOG- 25: Today I worked on the enhancing the UI and making the default theme till now done the background part and color and border part screen size issue clear and ore UI fixed now working on the complete look and will update when the FOU Theme done."}, {"post_id": 75670, "ts": "2026-09-30T18:12:55Z", "hours": 3.1133, "text": "DEVLOG- 24: Today worked on the left side panels and activity tracer part and done both the part currently generating images as introducing the companion in the GUI with is image based for now but For V3 will change that too motion one. (❁´◡ ❁)(❁´◡ ❁)"}, {"post_id": 75298, "ts": "2026-09-29T17:46:30Z", "hours": 1.5606, "text": "DEVLOG- 23: ADDED some color and themes too, this V2.1 will have 6 theme to choose and currently working on the 2 of them then others right now leaning color change and multiple theme changer in CustomTkinter and apply them here. So far Done the border and background and button stuff will work on coin selection now see you soon."}, {"post_id": 74949, "ts": "2026-09-28T17:31:46Z", "hours": 1.7661, "text": "DEVLOG-22: Today i worked on adding functions to the buttons and handling the possible errors that could happened till now done the view_portfolio , remove_coin, add_coin part with there respective button now work on selection of coin and coin preview as a 3D image if possible. (〃 ̄︶ ̄)人( ̄︶ ̄〃)"}, {"post_id": 74476, "ts": "2026-09-27T13:48:46Z", "hours": 3.055, "text": "DEVLOG- 21: Currently working on the GUI structure and just done timeout error handling with this as a base structure the whole UI will be amazing and will take a while I am new to coustomTkinter so I need to learn first."}, {"post_id": 74143, "ts": "2026-09-26T19:20:12Z", "hours": 1.9086, "text": "DEVLOG-20: Done the refactor with the main.py and build some core functions so the same function will be used buy both CLI and GUI and now working on GUI skeleton stucture will update when finish do comment and like please."}, {"post_id": 73939, "ts": "2026-09-26T11:28:10Z", "hours": 1.1467, "text": "DEVLOG-19: Done with the test_GUI learned the major concepts and basics too no moving forward to work on actual FOU. (~ ̄▽ ̄)~(~ ̄▽ ̄)~"}, {"post_id": 73475, "ts": "2026-09-25T06:14:15Z", "hours": 1.5586, "text": "DEVLOG-18: Guys currently working on GUI and testing it while learning so this will take time i think. Do share some UI layouts ideas to put that."}, {"post_id": 73218, "ts": "2026-09-24T16:50:55Z", "hours": 0.5897, "text": "DEVLOG-17: Thanks everyone for reviews working on the reviews and fixed some issue too, currenty working on GUI as many suggest a good UI ,testing the GUI and learning it too will ship the V2.1 with GUI and fixed things as per feedback. THANKS EVERYONE! DO SUGGEST ME SOME GUI THEMES FOR UI."}, {"post_id": 71370, "ts": "2026-09-20T18:26:30Z", "hours": 1.005, "text": "DEVLOG-16: Guys, Finally the V2 is done and live check my github and try & test and do give the feedback and reviews its been a great journey I learned a lot while making this do like and follow. I can’t ship it right now my previous ship is still pending its been more then 2 week about 3 week still pending if anyone could help do reply please that’s it thanks for connecting. V3 will be delayed bcz of college stuff but will work on the feedback for sure. ☆ : .。. o(≧▽≦)o .。.: ☆☆ : .。. o(≧▽≦)o .。.: ☆ here is the whole story: FOU started as my first serious Python project and was originally just a simple CLI watchlist where you could add, remove, save and reload coin symbols. V1.1 made that version more stable and usable with better structure, save handling and a standalone Windows build. V2 is the biggest jump so far. I added live prices, coin validation, multiple-coin adding, better formatting, safer save-file handling, and a hosted FastAPI backend so the CoinGecko API key stays off the client. I also added caching, rate limiting, network error handling, and cross-platform builds for Windows, Linux and macOS using GitHub Actions. The V1.1 reviews also showed me that the project explanation was still too technical for beginners. Some people didn’t understand what a crypto watchlist was or thought it involved wallets. So I’m improving that too: clearer README beginner guide screenshots better devlogs simpler explanation of what FOU does and why I built it FOU is still a learning project and my first serious one, so a big part of this has been learning by building. Next I’m focusing on V2 feedback and polish before moving toward V3."}, {"post_id": 70741, "ts": "2026-09-19T17:59:07Z", "hours": 0.7525, "text": "DEVLOG-15: Don’t know why still pending if anyone seeing from the team please check my project the V2 is done and i want to ship that if the V1.1 will stay pending i will not able to ship it please team stardance help. BTW done the package part and multiple OS support too and testing there is still work needed but will finish tomorrow."}, {"post_id": 69844, "ts": "2026-09-17T21:52:56Z", "hours": 0.5375, "text": "DEVLOG-14: Done making the backend now some refactors and packages left to build and then V2 is done. if any shipwrights watching this please review my project so i can ship V2. BTW anyone wants to team up on the new programm by hack club “Third space” please comment on this devlog."}, {"post_id": 68760, "ts": "2026-09-15T18:12:26Z", "hours": 2.0439, "text": "DEVLOG-13: Currently working on Backend Error handling like time limit and request limits and after that will do the final cleanup and touch ups and then work on the package part will release the V2 for all os its currenty limited to window’s but V2 will be for linux and mac too. ^0^"}, {"post_id": 68214, "ts": "2026-09-14T18:21:46Z", "hours": 1.1408, "text": "DEVLOG- 12: Today Done some what robusting and will final this didn’t work much today cause of college but will wrap this V2 in 2 days hopely its going to be best thanks. For me learning backend then Appling it was a headache task but done it and learn about it more. try project and give ideas like what i can add in this next and reviews."}, {"post_id": 67588, "ts": "2026-09-13T18:52:15Z", "hours": 1.9956, "text": "DEVLOG-11: Guy Today worked on the Backend created the backend and test it its working and now the sunday feels worth drop the API robustness before but now work on that hope is that it will finished in 3-4 days. will update when API & Network Robustness done. ☆ : .。. o(≧▽≦)o .。.: ☆"}, {"post_id": 66486, "ts": "2026-09-12T10:16:00Z", "hours": 1.9486, "text": "DEVLOG- 10: Today I Done the view_portfolio part and now it shows the current_price of the coin and also a better UI is there to as I ass separator and anchor too add short part too where the coins with high market rank will appear at the top. Now work on the API handling will update soon. ( /ω\ )"}, {"post_id": 65507, "ts": "2026-09-10T18:18:00Z", "hours": 2.4475, "text": "DEVLOG-9: Today worked on the view_portfolio and add the almost every features, testing it now for a while and fixing the bugs and errors here GLM is useful as it test the code and returning the exact error that I am fixing hopply finish the view part tomorrow and move to something next. btw I take off from college for this still learning and then implementing it make it long (~ ̄▽ ̄)~ . will go college tomorrow hopply this will end. Please do follow me and like my log as i am working hard and who gonna like my log i will like there all log. (〃 ̄︶ ̄)人( ̄︶ ̄〃)"}, {"post_id": 64954, "ts": "2026-09-09T18:07:02Z", "hours": 1.3367, "text": "DEVLOG-8: Finally Fixed the add function part and API errors it take a lot of time and learnings to do so now starts working on view_portfolio function hopefully it get done quickly ( /ω\ )."}, {"post_id": 64386, "ts": "2026-09-08T18:26:31Z", "hours": 1.1236, "text": "DEVLOG-7: Work on the add function still handling API and debugging the problems as per my first project this is going to be crazy and lately getting busy as I had join a college for my BBA degree and classes are long ಥ_ಥಥ_ಥ"}, {"post_id": 63720, "ts": "2026-09-07T17:33:31Z", "hours": 1.8575, "text": "DEVLOG-6: Guys working the the API debugging part and it’s frustrating ಥ_ಥ since its keep failing and i had tried all the things asking AI for diagnosis, btw this hard work will be paid of once it’s made cause its gonna add the exciting components.(❁´◡`❁)"}, {"post_id": 62830, "ts": "2026-09-06T11:12:36Z", "hours": 1.7642, "text": "DEVLOG-5: Guys just completed the API function and working on the sorting , price reflecting , listing , and ranking so the V2 will be a considerable hit ╰( °▽° )╯"}, {"post_id": 62153, "ts": "2026-09-05T12:27:18Z", "hours": 0.9586, "text": "DEVLOG-4: Testing API and learning concepts its really time consuming guys please follow and share your reviews"}, {"post_id": 61750, "ts": "2026-09-04T20:10:07Z", "hours": 0.2939, "text": "DEVLOG-3: The Work on the V2 is going on write now the things are complicated for me cause as a learner and a beginner I have to learn before implementation so this will take the time I don’t know why my ship1 is not rated yet if anybody knows please comment. Do try my project and give feedbacks"}, {"post_id": 61487, "ts": "2026-09-04T13:03:38Z", "hours": 0.4081, "text": "DEVLOG-2: Complete the refactor part and now working on the V2 main comp. the API part will update soon"}, {"post_id": 61327, "ts": "2026-09-04T05:44:52Z", "hours": 0.3233, "text": "DEVLOG-1: Started Working on V2 before major updates just refactoring the code as per feedback adding loops in ADD and REMOVE feature and also making package for macos and linux"}, {"post_id": 60297, "ts": "2026-09-02T15:56:41Z", "hours": 0.6444, "text": "Just completed the packaging part now my project is in .exe and going to ship it now"}, {"post_id": 60097, "ts": "2026-09-02T07:41:35Z", "hours": 0.3394, "text": "Devlog 2 -_- Working on the packaging part making it a .exe for you guys so u could try and share reviews and soon shipping it too"}, {"post_id": 57119, "ts": "2026-08-29T06:50:58Z", "hours": 0.4653, "text": "Devlog:1 -_- Today I refactor my FOU-V1 add the separate function for all the functions and ready to move on the V2 of it.Please try and give reviews"}]...
|
Title: FOU by @SHREX | Stardance
Devlogs:
Devlog: Title: FOU by @SHREX | Stardance
Devlogs:
Devlog:1 -_- Today I refactor my FOU-V1 add the separate function for all the functions and ready to move on the V2 of it.Please try and give reviews
Devlog 2 -_- Working on the packaging part making it a .exe for you guys so u could try and share reviews and soon shipping it too
Just completed the packaging part now my project is in .exe and going to ship it now
DEVLOG-1: Started Working on V2 before major updates just refactoring the code as per feedback adding loops in ADD and REMOVE feature and also making package for macos and linux
DEVLOG-2: Complete the refactor part and now working on the V2 main comp. the API part will update soon
DEVLOG-3: The Work on the V2 is going on write now the things are complicated for me cause as a learner and a beginner I have to learn before implementation so this will take the time I don’t know why my ship1 is not rated yet if anybody knows please comment. Do try my project and give feedbacks
DEVLOG-4: Testing API and learning concepts its really time consuming guys please follow and share your reviews
DEVLOG-5: Guys just completed the API function and working on the sorting , price reflecting , listing , and ranking so the V2 will be a considerable hit ╰( °▽° )╯
DEVLOG-6: Guys working the the API debugging part and it’s frustrating ಥ_ಥ since its keep failing and i had tried all the things asking AI for diagnosis, btw this hard work will be paid of once it’s made cause its gonna add the exciting components.(❁´◡`❁)
DEVLOG-7: Work on the add function still handling API and debugging the problems as per my first project this is going to be crazy and lately getting busy as I had join a college for my BBA degree and classes are long ಥ_ಥಥ_ಥ
DEVLOG-8: Finally Fixed the add function part and API errors it take a lot of time and learnings to do so now starts working on view_portfolio function hopefully it get done quickly ( /ω\ ).
DEVLOG-9: Today worked on the view_portfolio and add the almost every features, testing it now for a while and fixing the bugs and errors here GLM is useful as it test the code and returning the exact error that I am fixing hopply finish the view part tomorrow and move to something next. btw I take off from college for this still learning and then implementing it make it long (~ ̄▽ ̄)~ . will go college tomorrow hopply this will end. Please do follow me and like my log as i am working hard and who gonna like my log i will like there all log. (〃 ̄︶ ̄)人( ̄︶ ̄〃)
DEVLOG- 10: Today I Done the view_portfolio part and now it shows the current_price of the coin and also a better UI is there to as I ass separator and anchor too add short part too where the coins with high market rank will appear at the top. Now work on the API handling will update soon. ( /ω\ )
DEVLOG-11: Guy Today worked on the Backend created the backend and test it its working and now the sunday feels worth drop the API robustness before but now work on that hope is that it will finished in 3-4 days. will update when API & Network Robustness done. ☆ : .。. o(≧▽≦)o .。.: ☆
DEVLOG- 12: Today Done some what robusting and will final this didn’t work much today cause of college but will wrap this V2 in 2 days hopely its going to be best thanks. For me learning backend then Appling it was a headache task but done it and learn about it more. try project and give ideas like what i can add in this next and reviews.
DEVLOG-13: Currently working on Backend Error handling like time limit and request limits and after that will do the final cleanup and touch ups and then work on the package part will release the V2 for all os its currenty limited to window’s but V2 will be for linux and mac too. ^0^
DEVLOG-14: Done making the backend now some refactors and packages left to build and then V2 is done. if any shipwrights watching this please review my project so i can ship V2. BTW anyone wants to team up on the new programm by hack club “Third space” please comment on this devlog.
DEVLOG-15: Don’t know why still pending if anyone seeing from the team please check my project the V2 is done and i want to ship that if the V1.1 will stay pending i will not able to ship it please team stardance help. BTW done the package part and multiple OS support too and testing there is still work needed but will finish tomorrow.
DEVLOG-16: Guys, Finally the V2 is done and live check my github and try & test and do give the feedback and reviews its been a great journey I learned a lot while making this do like and follow. I can’t ship it right now my previous ship is still pending its been more then 2 week about 3 week still pending if anyone could help do reply please that’s it thanks for connecting. V3 will be delayed bcz of college stuff but will work on the feedback for sure. ☆ : .。. o(≧▽≦)o .。.: ☆☆ : .。. o(≧▽≦)o .。.: ☆ here is the whole story: FOU started as my first serious Python project and was originally just a simple CLI watchlist where you could add, remove, save and reload coin symbols. V1.1 made that version more stable and usable with better structure, save handling and a standalone Windows build. V2 is the biggest jump so far. I added live prices, coin validation, multiple-coin adding, better formatting, safer save-file handling, and a hosted FastAPI backend so the CoinGecko API key stays off the client. I also added caching, rate limiting, network error handling, and cross-platform builds for Windows, Linux and macOS using GitHub Actions. The V1.1 reviews also showed me that the project explanation was still too technical for beginners. Some people didn’t understand what a crypto watchlist was or thought it involved wallets. So I’m improving that too: clearer README beginner guide screenshots better devlogs simpler explanation of what FOU does and why I built it FOU is still a learning project and my first serious one, so a big part of this has been learning by building. Next I’m focusing on V2 feedback and polish before moving toward V3.
DEVLOG-17: Thanks everyone for reviews working on the reviews and fixed some issue too, currenty working on GUI as many suggest a good UI ,testing the GUI and learning it too will ship the V2.1 with GUI and fixed things as per feedback. THANKS EVERYONE! DO SUGGEST ME SOME GUI THEMES FOR UI.
DEVLOG-18: Guys currently working on GUI and testing it while learning so this will take time i think. Do share some UI layouts ideas to put that.
DEVLOG-19: Done with the test_GUI learned the major concepts and basics too no moving forward to work on actual FOU. (~ ̄▽ ̄)~(~ ̄▽ ̄)~
DEVLOG-20: Done the refactor with the main.py and build some core functions so the same function will be used buy both CLI and GUI and now working on GUI skeleton stucture will update when finish do comment and like please.
DEVLOG- 21: Currently working on the GUI structure and just done timeout error handling with this as a base structure the whole UI will be amazing and will take a while I am new to coustomTkinter so I need to learn first.
DEVLOG-22: Today i worked on adding functions to the buttons and handling the possible errors that could happened till now done the view_portfolio , remove_coin, add_coin part with there respective button now work on selection of coin and coin preview as a 3D image if possible. (〃 ̄︶ ̄)人( ̄︶ ̄〃)
DEVLOG- 23: ADDED some color and themes too, this V2.1 will have 6 theme to choose and currently working on the 2 of them then others right now leaning color change and multiple theme changer in CustomTkinter and apply them here. So far Done the border and background and button stuff will work on coin selection now see you soon.
DEVLOG- 24: Today worked on the left side panels and activity tracer part and done both the part currently generating images as introducing the companion in the GUI with is image based for now but For V3 will change that too motion one. (❁´◡ ❁)(❁´◡ ❁)
DEVLOG- 25: Today I worked on the enhancing the UI and making the default theme till now done the background part and color and border part screen size issue clear and ore UI fixed now working on the complete look and will update when the FOU Theme done.
DEVLOG- 26: Today I am working on the companion part of my GUI and from the morning working on the correct size fitting of the .png still didn’t get that like when minimize and maximize the size is getting larger and cropped or smaller then the frame and never fits if anybody know how to fix that issue do comment i am using CustomTkinter for this GUI. <(_ _)><(_ _)>o(TヘTo)o(TヘTo)
DEVLOG- 27: Today I fixed the major issue i am facing the image sizing part like when minimize and maximize done some calculation learn new concepts and do some compromise and apart from that added the logo section so the displayed coin will display there logo too and added the help button later when this finish will create a youtube video to guide it threw. The UI is taking the target set shape need some refinement and clarity the the default theme is done yes there will be more then one theme. ^0^ ^0^╰( °▽° )╯╰( °▽° )╯
DEVLOG- 28: So this is my default theme look today i fixed the style like the text fonts and placement and size worked on the activity section like the tick part take a lot just learned the image draw in python and use that to make the search icon clock and tick and loading so it take a while what do you think about this theme there will be more i give you a hint the second is from anime which is so mysterious! (⊙ (⊙ ⊙)_⊙) ( ̄┰ ̄ )( ̄┰ ̄ )
DEVLOG- 29: Today I finally completed the FOU default theme UI and this is the locked result done some refinement today as remove button draw the prefect remove button icon and the companion sizing and placement the header of companion given a companion a 3D look ) and make companion fame fits to it as the upcoming theme will use that logic stay tuned may ship this this sunday or monday!)
DEVLOG - 30: Currently working on the second theme and just fixed done the companion frame and part like the emotion part and struggling in the frame of portfolio so i need to learn and understand some more concepts to fix that stay tuned! ( ̄┰ ̄*) ಥ_ಥ
DEVLOG - 31: Working on a same problem from yesterday but it didn’t fixed yet learned the new concepts and apply them but nothing happened will keep trying until crack that so stay tuned, if you can help please comment me the problem is i want a png border file to get perfectly fix around my portfolio and that file is not fitting perfectly so if anybody know i am using python only and making UI using coustomTkinter.
DEVLOG- 32: After struggling and finding the result of the problem i learned math module and ceil and after learning this its so complicated for me that i need to take help from chat_gpt for the calculation part and then i got the desire result but still raise a another issue like the border of companion frame is not retracking its placement so I think i need to fix that next stay tuned ! ಥ_ಥ ┑( ̄Д  ̄)┍
DEVLOG- 33: Worked on so many things today, like adding the overall background in the second theme and living the frames that hiding that giving each frame its own border frame as per theme, created cards icon for change theme option using DRAW and also create local saving icon to use. i really think i cover most of the feedback as majorities of feedback were about UI which is done mostly and one feedback was about help option so I created a help button at the right bottom which will have a go through video of FOU explain everything if u needed help! will reveled the final look of second theme so stay tuned. - - () - -
DEVLOG- 34: Here is the look of second theme the name is THE FOOL and the companion name is Mr. FOOL , the border around the portfolio takes so much time and effort of mine like in the end i need to use codex for calculation part as i learn MATH but the calculation is quiet complex so uses that, Appart from this I think i had done most of the work on feedback : 1st Feedback : Make a UI -> Now my project is shifted from cli to gui and have a proper UI 2nd Feedback : Timestap -> Added that in portfolio frame you can see the time its feacting the prices 3rd Feedback : Help -> Addded a help button at the bottom and that will open a youtube video that explain everything from how to use and what is for what! 4th Feedback : Nothing - > so everything is done so far ╰( °▽° )╯╰( °▽° )╯ BTW, working on the third theme too maybe ship tomorrow so don’t forget to try and Rate good my project .
DEVLOG- 35: About to ship this here is important thing please read this if you encounter with and security issue please click run anyway as I applied for the authorized ownership but that will take weeks to fulfill so please co-operate and Linux and windows user if you want you can skip as i don’t have any system to test them, Thank you all for this journey will make more and be better if you rating me please rate me good. <(_ _)><(_ _)>
Ships:
I made FOU V1.1, a Python command-line cryptocurrency watchlist where users can add, view, remove, save, and reload coin symbols. The most challenging part was making the save system reliable both when running the Python file and when running the packaged Windows .exe . I also learned how to handle missing or corrupted save files and how to package the project with PyInstaller. I’m most proud that I took a simple Python project and turned it into a working standalone Windows release that other people can actually download and run. I also improved the code structure, added better error handling, and learned more about Git, GitHub releases, and project shipping. People should know that FOU V1.1 is still a watchlist-style project, not a full live crypto tracker yet. V2 is planned to add live prices and coin validation.
FOU is my first serious programming project and I made most of it while I was still learning Python. The idea actually came from a small problem I had myself. There were a lot of crypto coins I wanted to keep an eye on, but I didn’t want to open an exchange or search each coin again and again just to check the price. So I thought, why not make a small program where I can add the coins I care about once and then just open it whenever I want to check them. That’s how FOU started. V1.1 was very simple. It was just a CLI watchlist where you could add, remove, save and load coin symbols. While making V2 I learned a lot more and slowly upgraded it with live prices, valid coin checking, adding multiple coins, better save handling, error handling and builds for Windows, Linux and macOS. One of the hardest parts for me was learning how APIs and backend stuff work. I didn’t want to put the CoinGecko API key inside the app, so I built my own FastAPI backend and deployed it. I also learned caching, rate limiting, GitHub Actions, PyInstaller and a lot of testing while doing this. I also worked on the feedback from my V1.1 ship. A lot of people said the README and devlogs were not explaining the project enough, and some people didn’t even understand what a crypto watchlist was or thought it was related to wallets. So for V2 I added a beginner guide, clearer explanation of what FOU does, why I made it, better installation steps and I’m also adding better screenshots and more detailed devlogs. FOU does not connect to wallets, trade crypto or use real money. It is just a simple personal watchlist to track coins you are interested in. To test it, download the build for your OS from the V2 release, open FOU, add coins like BTC, ETH or SOL, type DONE, then open View Portfolio to see the live prices. Save it, close the app, reopen it and your watchlist should still be there. I’m still a beginner and this project is mainly how I’m learning by actually building something, so feedback really helps me improve it. If you try it and like what I made, I’d really appreciate a good rating and an honest review. And if something feels confusing or broken, please tell me that too so I can work on it in the next update.
FOU is my first serious programming project, and honestly, I never thought it would come this far. It started as a small Python CLI because I wanted an easy way to track crypto prices without opening an exchange every time. Slowly, I added live prices, coin validation, saving, and my own backend. And now, with v2.5, I’ve finally turned it into a proper desktop app! FOU now has three themes — FOU DEFAULT, THE FOOL, and VOID , each with its own companion and six different reactions. The hardest part was definitely building the GUI, especially getting the characters, decorative frames, and layouts to work properly when resizing the window. I spent way too much time fixing tiny details 😭 I also tried to work on almost every piece of feedback from my previous ships. A lot of people said my README and devlogs weren’t clear enough, so this time I’ve added better explanations, installation instructions, a full demo video, and more details about how I built everything. 💜 Please read this before testing! ⏳ First-time loading: Adding your first coin or loading saved prices might take around 60 seconds because my free hosted backend sometimes goes to sleep. Please give it a little time! 🛡️ Windows: I’ve tested the released app on two Windows laptops, and it worked fine. However, the executable is still unsigned, so Windows might show a security warning. I’ve already applied for code signing. Please don’t disable your security settings just to test it. 🐧 Linux and macOS: Both builds completed successfully, but I couldn’t test them on real Linux or Mac computers. So please treat them as experimental. If something doesn’t work, I’d really appreciate it if you could watch the demo video before rating, rather than judging FOU only by an untested build. 🐛 Bugs: Some recent tests found a few rare issues with saving and unexpected API responses. I’ve started fixing them, but those fixes aren’t in this release yet. If you find anything, please let me know! 🚀 How to try it Download the ZIP for your OS from the GitHub Release. On Windows, extract everything and open FOU.exe . Try adding BTC, ETH, or SOL, refreshing prices, saving your portfolio, and switching themes. FOU isn’t a wallet or trading app. It’s just a watchlist for coins you’re interested in. Release: https://github.com/FOU-SHREX/FOU/releases/tag/v2.5.0 README + Demo Video: https://github.com/FOU-SHREX/FOU I’m still learning Python, and this project taught me so much about coding, APIs, GUI development, and fixing things that randomly stop working. I also used ChatGPT, and AI image tools to help with coding, debugging, and artwork throughout development. I’m really happy with how far FOU has come, even though it’s still not perfect. Thanks to everyone who gave feedback on my earlier versions and helped me improve it. I hope you enjoy trying FOU! 💜 Please give feedback and good rating <(_ _)>...
|
1792842787.0763652
|
1792929187.0763652
|
|
30756
|
Stardancer (formerly Unnamed Platformer) by @zahra Stardancer (formerly Unnamed Platformer) by @zahran | Stardance...
|
zahran
|
1
|
220.0
|
3505
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T20:37:52Z", "hours": 220.0, "multiplier": 13.35, "payout": 3505, "blessing": "neutral", "text": "For HackClub Stardance, I created Stardancer , a 30-level platformer featuring a unique mechanic: mid-level shapeshifting to unlock new abilities and powers! I used C++ and SFML (the Simple and Fast Multimedia Library) to code this game. During the development of this game, I ran into a couple of technical challenges. Collision was among the biggest; I had initially decided on AABB (Axis-Aligned Bounding Box) collision, but after implementing that I realized that it led to erroneous collision interactions, misalignments, and more issues. So, I switched to SAT (Separating Axis Theorem) collision instead. This, combined with general collision response logic, made coding collision one of the hardest endeavours of this project. There were many other challenges throughout development, however none are too disruptive to the experience of the final game. I’m still extremely proud of myself and this project for many reasons: This is the largest project I’ve ever made; Despite many challenges, bugs, and pieces of complex logic to work through, I made a fully functional and complete game; I managed to make this with no external engines; I was able to use my C++ and new SFML skills to create something I can proudly say I made! IMPORTANT NOTE FOR REVIEWERS!! PLEASE READ!!! A complete playthrough of the game takes a large amount of time due to how levels are structured: to play a level, you must beat the level before it, which poses an issue for one of the shapes which is only unlocked in the last set. I realize most reviewers do not have the time required to play through the full game and gain a complete understanding of its features. For this reason, I strongly urge reviewers to skim through/watch my full walkthrough video linked in my README, as well as check out the “Credits Easter Egg” section in that video. Playing through all 30 levels sequentially takes time, but you can unlock every level directly from the Credits screen so you can test all shape powers hands-on right away! This way, a reviewer will be able to understand the scope and gameplay of the game in a short amount of time. With that being said, I truly hope you enjoy my game.", "repo": "https://github.com/HughMann635/Stardancer", "demo": "https://zahran-635.itch.io/stardancer"}]...
|
[{"post_id": 79153, "ts": "202 [{"post_id": 79153, "ts": "2026-10-12T20:35:30Z", "hours": 8.0819, "text": "Unnamed Platformer - Devlog 27 WE’RE FINALLY HERE! What I did: I did a lot of final polish and testing before getting the game ready for release. Initially I was going to use Emscripten to port my game over to web assembly (inspired by this video: https://www.youtube.com/watch?v=1kiwpAIU454 ) but I soon realized that it was much more complex than it looked, and kind of took away from the spirit of being entirely made out of C++ and SFML. So, I decided to simply publish an executable rather than port the game over to web. I set up the release build and whatnot (which took a while because of cmake config issues and whatnot) but I finally got a release build working n it feels great! I ported to itch.io, now I just gotta finish up the itch page and readme, as well as record a walkthrough video for macOS and Linux users as I couldn’t figure out how to configure the game for either. Challenges: The whole odyssey of deciding how to port my game over was a slight hassle, but nothing too bad. Also, while recording my walkthrough vid, I ended up discovering A LOT of hidden bugs, so I managed to pick all those off and there shouldn’t be any left…hopefully. Plans for next time: Ship! This devlog will be my last for this project, and for this challenge. Aside from being done with everything, I accidentally created a completely new project according to Hackatime when I was renaming the file folder, executable, etc. from “WorldofBlockman” (my placeholder name) to Stardancer so everything would be more consistent with my final title. so any work I do on my project won’t count towards heartbeats and thus I can’t post another devlog (15 minutes minimum/devlog). Still, it’s been such an amazing journey, I learned so much and I made this game that I’m super proud of 🥹 even though this game gave me hell sometimes, I have virtually no regrets about any of it. This has been my biggest project ever, and many more to come in the future hopefully. K…bye guys."}, {"post_id": 74692, "ts": "2026-09-28T00:34:26Z", "hours": 9.5458, "text": "Unnamed Platformer - Devlog 26 Stardance extension + fatigue = holy procrastination 😂✌️ What I did: More random stuff: Level timer that stores each level’s personal best, displays a live timer in the level, and lets you access your PR for each level from level select menu Fixed issue where you couldn’t close game while in settings menu Death count (it just tracks deaths over every single level, accessed from level select menu, manual restarts count as death too) and coin count as well Adjusted some levels a bit Added a feature to handbook where items you haven’t come across yet are blacked out and have hidden descs, and add notification to handbook when you unlock these items Update README a little bit cause I was feeling lazy and didn’t want to do anything else Fix some bugs concerning rotation and tipping, as well as making it so you do not rotate when passing thru a 1 tile high gap (this is specially an issue with the square where it can feel a bit janky otherwise) I will note that some of these were multifaceted changes that took quite a bit of effort and iterations, but I couldn’t be bothered explaining everything I did here. And more playtesting too. Challenges: Probably the handbook feature…it was the longest one out of all of them. Plans for next time: I want to be done with pretty much everything related to the actual game by next devlog, so I can focus on the README and finally shipping! K bye guys"}, {"post_id": 70860, "ts": "2026-09-19T21:41:39Z", "hours": 9.0317, "text": "Unnamed Platformer - Devlog 25 I’m so tired omg What I did: Bunch of miscellaneous stuff: Added basic vfx: so far we only have a click sound, I’ll add more later but it took me a while to figure out how to get SFML’s audio system working since I also had to find out why my audio files weren’t loading in either. Added coins to every level: added new tile type for coin, added a coin into each level, added effects, etc. Fix bugs/gameplay issues such as the triangle being unable to teleport after a restart/new level, rearrange some levels to fit coin placements, find out some new bugs and try (and fail) to fix them, so decide to deal with them another day. Add simple death animation to the player. Make it so levels must be completed in progressive order (e.g. you start at level 1, cannot progress till you have completed), also add different colors to boxes on level select menu (check vid) Probably a few more things related to general playtesting but i can’t remember Challenges: Making level buttons in the levelmenu was kind of frustrating not only because of the selection aspect but also getting them to visually render in the proper colors. Honestly though, now the main challenge is dealing with my own fatigue, especially since I’ve been joining more clubs and getting more homework, so hopefully I can clutch up over the final few days cuz I highkey need that framework 13 🥺✌️ Plans for next time: I added a list of bugs I want to tackle/stuff I want to add: //BUGS!!!!! //cant close window while in settings menu //rotation bugs //levels 13, 17, 26, 4, 8, look into //as well as other levels but these ones I can remember //TO ADD!!!!! //speedrun timer //death count //updating handbook (notif icon, hidden objects) //more sfx (death especially) K bye guys"}, {"post_id": 68850, "ts": "2026-09-15T21:16:00Z", "hours": 7.4011, "text": "Unnamed Platformer - Devlog 24 The game is finally coming together… 🥹🔥 What I did: All the menus in the game are completed! Ngl, credits was really easy ofc, but I was deciding how I should go about doing it, still didnt take too long tho. Then settings was a lot harder 😭 volume adjustment was quite easy, but the real problem came with creating the keybind section, since I had already coded hard inputs all throughout my code. So I pretty much had to add a new system + helper func in vars.h, then replace every instance of isKeyPressed with that system+helper, then code the menu in the ui file (Which took forever cuz of bugs with msg updating + event handling + key updates + etc.). Well, it’s (mostly) done now, which is good. And ofc I was also testing the game for general bugs too. Challenges: The keybind menu took me a hella long time to get done…thats about it, aside from some other tiny bugs. Plans for next time: add vfx, polish up every single one of the menus…and then I’ll see where to go from there. Hopefully I can finish most of my stuff by the start of next week. K bye guys"}, {"post_id": 66830, "ts": "2026-09-12T19:00:20Z", "hours": 9.0458, "text": "Unnamed Platformer - Devlog 23 Hey guys. What I did: I did a lot of playtesting/bug hunting as usual, but I was mainly creating the entire handbook menu. Which took surprisingly long, cuz of designing the menu + figuring out how to include all the different tile icons + creating descriptions + making stuff functional + formatting + colors + bugs + you get the idea. Anyway I’m pretty happy with how it looks so far, I doubt I’ll make any major changes in the future. Also I did find a couple of bugs while testing, but i didn’t really do anything about them, I want to completely create all the core functions before tackling any small bugs/issues. Challenges: There were a few bugs and I went through a few designs for the menu, but overall everything was hella light so I wouldn’t say there were any real challenges. Plans for next time: Create credits menu, then work on adding vfx, add settings menu (thinking of adding volume + keybind toggles), polish up all the menus…and then I’ll see where to go from there. I’m pretty worried cuz now that school’s started (im in gr11 now) I’m probably gonna have a good amount of schoolwork, clubs, etc. that I’ll also have to make time for…so wish me luck ig. K bye guys"}, {"post_id": 63924, "ts": "2026-09-07T23:45:05Z", "hours": 6.8869, "text": "Unnamed Platformer - Devlog 22 School starts tomorrow ✌️so i decided to make a shorter devlog…also I’m so tired What I did: Honestly you can’t really tell that I did much at first glance. I was mainly playtesting a lot and polishing stuff up, and making sure all the background stuff was fine. For now I dont think I’ll return to background stuff for a while. Although I did manage to add a particle effect for the black holes (both the ones in the background as well as the actual obstacles). I was also experimenting with a horizon for a bit, but then I decided I don’t want it and scrapped a good chunk of time worth of changes. Challenges: Deciding how to add in particles was a bit challenging, specially the math part. But other than that it was a pretty chill 7 hours. Plans for next time: Hopefully finish menus, then: work on vfx, polish up all the menus, tackle any big issues with levels or physics, and finally work on bringing my game onto itch.io! not all in one go, though. K bye guys"}, {"post_id": 61060, "ts": "2026-09-03T19:34:17Z", "hours": 9.8472, "text": "Unnamed Platformer - Devlog 21 Background design is a bit easier now that I have a plan…also I did not lose track of time 👍 What I did: I added in every single sky element I want to have: comets, planets, black holes, stars, floating rocks, and a moon. I think I might tweak some elements later down the line (specifically the moon(adding craters) and black holes(I’ll think of some extra effects) ), but for now I’m fairly satisfied with how far I’ve come. Looking at the game now gives me a sense of pride at seeing everything finally come together after so long 🥹✌️ Challenges: Making comets was a bit of a hassle, because I had to decide how to do it (which took me some time for brainstorming + more time cuz of discarded changes + even more minutes of brainstorming), and implement it. It’s pretty complex cuz there’s a cooldown on each comet, then you have to set the spawn point and angle/speed, calculate the trail’s points, draw them, draw the head too etc etc…so it was pretty tedious, but comets are the most rewarding visually imo out of all the features. Other than that, I spent a bit of time per other feature figuring out how to implement each of them, but none of them were as complex as the comet. Plans for next time: Finish up any bugs or other issues in sky-related stuff, then I’ll try to make a visible horizon again and see if I’ve changed my mind since last time. Either that or I’ll start working more on smaller vfx, specially trying to find out how to make a particle effect. K bye guys"}, {"post_id": 59814, "ts": "2026-09-01T19:29:23Z", "hours": 11.1828, "text": "Unnamed Platformer - Devlog 20 Background design is a hell of a lot harder than I thought it would be…also I lost track of time 😭😭 What I did: I got started on background design, and partially implemented a background. I actually had a pretty different idea in mind compared to what I have now: the rest of the planet visible, stretching into the horizon, with mountains and volcanoes etc etc. scattered along its surface. After spending a while implementing that, I realized it a) didn’t look right, since everything was just following the player around at normal cam speed, and b) I didn’t like the idea anymore to begin with. So after scrapping all those changes, I started researching how to add a scrolling effect so it would look more natural. I found out how to implement a parallax scroll effect, which basicallymeans that objects in the background move along slower than objects closer to the front of the screen. I also restructured my scenes.h file which contains all background-related stuff, and made a couple of other small changes and fixes with certain levels. I know I don’t have much to show for it, but that’s mainly because I spent a lot of time tweaking certain elements and just undoing backgrounds I ended up not liking 😭🥀 Challenges: Deciding what to do visuals-wise cost me some time bcuz I kept going back on my old ideas, but restructuring scenes.h was the hardest part since after deciding what to do for visuals, I had to base the logic in scenes.h off that. Also it took me a while to decide how to add in a parallax scroll system. Plans for next time: Work on more background stuff. right now I’ve set up a lot of background elements’ structs and whatnot, but I’ve only redrawn the stars and added a rough brightening/dimming effect. Also Im gonna have to start thinking about what I’m going to add on each of the sub-menus accessible from the main menu (credits, handbook, and settings). K bye guys"}, {"post_id": 56961, "ts": "2026-08-29T00:22:59Z", "hours": 9.99, "text": "Unnamed Platformer - Devlog 19 The UI is coming along pretty nicely! Pt. 2 What I did: I believe I’ve fully created everything UI- and menu-wise, aside from 3 additional menus (credits, a ‘handbook’ that contains info about stuff, and a settings page) that are currently blank. I created a hovering effect for buttons that makes it so when you hover over a button, the button goes downward slightly and the shadow moves to match. Aside from that, I polished up/tweaked some minor details, and the only things I’ll add menu wise are probably those 3 sub-menus on the main menu and a universal backwards-nav button. The biggest thing (time-wise) was figuring out how to make the code more readable and actually making it more readable. I created two new functions for making text and button objects which made my life a lot easier, also the button-hover code took quite a few lines so I put that into a function too. Aside from that, I made a couple fixes here and there to make it more efficient memory wise. And even then, I ended up breaking stuff which took me a while to fix, such as the issue with unpausing ur game in the vid. Challenges: Probably efficiency stuff, since deciding how to do it + implementation took a while and had a couple of bugs due to me not accounting for stuff. For example: my hover function would change states on its own, but since sometimes you don’t need to directly change state or you need to do other things too, I made it into a boolean that each individual case takes and does its own thing with. Plans for next time: Start on background stuff probably, I don’t want to do anymore UI stuff for now. I have a fewideas in mind for my background visuals, but I hope they won’t be too hard/impossible to implement. K bye guys"}, {"post_id": 55174, "ts": "2026-08-26T17:32:12Z", "hours": 9.9275, "text": "Unnamed Platformer - Devlog 18 The UI is coming along pretty nicely! What I did: Designed a full level select menu (there are a couple more things left to add), add a heads up display for the current level, and add proper mouse input and extra details to buttons such as shadows (havent implemented shadows for everything, I’ll explain why) and changing color when hovering. Even though it doesn’t sound like much, it took me a surprisingly long time because my text wasn’t centering…What I didn’t realize is that sf::Text creates invisible offsets for some reason, so when I used getGlobalBounds() it would return that offset too and mess up the centering. I ended up doing some research and realized I had to use the local bounds (i.e. untransformed) when centering. Challenges: Ig the biggest ‘challenge’ was centering buttons with text, because at first I actually tried to manually fine tune coordinates and whatnot. But then I found out I had to use localbounds and blah blah. Another thing is, I spent a lot of time fine tuning sizes, colors, shadow darknesses and depths, etc. which took a lot of my time. Also no ai used this time either, although I did spend a lot of time researching why my text wouldn’t center itself. Plans for next time: I’ll just polish up existing menus, and work on background elements. Also I want to add a kind of handbook accessible from the main menu that tells you what stuff does, different powerups, etc. But most importantly, I’m gonna try to find out how to make shadow creation more efficient. For every text/button, I need a shadow. That means I have to add it as a member in the class, copy the actual object, change the color and offset it, then draw it too. Since I have so many objects that make shadows (all of them in the end, ideally), I’m probably going to make a shadow-making function for readability. Other than that I’ll just play the game and test levels a bunch, which I’ve already been doing a lot to make sure everything is as it should be. K bye guys P.S. there’s also still a couple bugs ( UI-related or otherwise) that I have to fix as well"}, {"post_id": 53440, "ts": "2026-08-24T00:04:55Z", "hours": 9.9042, "text": "Unnamed Platformer - Devlog 17 It’s actually no longer “Unnamed Platformer”, it’s “Worlds of Blockman”, I might change that later idk What I did: I designed level 30, playtested every level extensively and tweaked some levels, and made a basic main menu, level hud and pause menu. And it took me ~10 hours. Well, that’s not all I did. I also changed up the colors of the square to differentiate it from spikes and buttons, and I added a visual indicator for the triangle’s teleport. When you tp the triangle fades to a darker shade of green, and when it gets off cooldown (3 secs) it fades back to its normal color and then you can tp again. Also, level design took quite a long time since I was kind of making it up as I went along, and the whole game states implementation wasn’t too hard in itself, but I ran into errors with loading my font. I added the .ttf file to my assets folder and wrote the correct file name in font.loadFromFile() and whatnot, but turns out I didn’t have the actual font downloaded in the build folder or my project. So after a bit less than an hour I added it in and it fixed the issue. also I spent a bit of time deciding how the different menus would actually look which ate up some time. Challenges: ngl the font-loading thing was kind of the only hard part 😭most other stuff was solved relatively quickly and easily AI used, if any: None, also most likely no AI will be used in the future since the future just holds visual stuff which should not be hard enough to merit the help of AI. Plans for next time: Level select menu, add more stuff to main menu, also make it so the current level shows in the background when you go to the pause menu. also add mouse inputs so you can use those instead of kb inputs in the menu, and start on some more vfx and sfx. I’m also really tired"}, {"post_id": 51378, "ts": "2026-08-21T01:20:51Z", "hours": 9.9719, "text": "Unnamed Platformer - Devlog 16 Actually didn’t get a lot done over the last few days, let me explain. What I did: The biggest and only new feature I added was a major adjustment to black holes. Earlier they were just 2 tile x 2 tile circles that killed you upon touching. I’ve reworked them to how they’re supposed to be: 6 px x 6 px black circles, with a surrounding 6 tile x 6 tile ring. now if you enter the ring, you lose the ability to move normally (you can still jump tho) get pulled toward the black center, which kills you if you touch it Which is how it’s supposed to be (nevermind the astrophysical inaccuracy lmao). This took me 2 hours 😭 and then I designed levels 26 and 27. I also re-added the old texture system I implemented and then took down earlier cuz it was making things look hella grainy, but only for environment tiles cuz there’s no big changes visually compared to redrawing them every frame. Unfortunately it doesn’t seem to be doing much in terms of efficiency. I also designed levels 28 and 29 (ss of level 29 attached), and playtested every level from 1 to 28 and adjusted each one to remove any unwanted ways you can cheese a level, as well as to just make some of them less punishing for small mistakes. I also (FINALLY) designed level 6. I added extra sections and polished up some elements that were making the level impossible if you didn’t play it perfectly. I did 2 other things as well: I made it so blocks can’t be pushed by any character other than the square (before you could just push blocks w/ anything) and I reduced horizontal movespeed in zero-g. There’s still a lot more I have to do, mainly ui/menu stuff and visual polish. Challenges: Black hole physics took me a while since my first few implementations were completely wrong, and then I locked in nd figured out how to make it pull correctly. Also, level design is proving to be surprisingly challenging, I rly didn’t think it would take this long, but what with conceptualizing + creating + playtesting each level, especially the later ones where I want to make them more complex and difficult, it eats up a lot of time per level. Even going back through older levels and tweaking them can take a while, cuz you gotta track down all the problematic sections and figure out how to fix them. I also have a humble 18 more days till school starts so I gotta lock in🙏 AI used, if any: None, level design is hard but its not THAT hard Plans for next time: Finish level 30, playtest levels 29 and 30, and hopefully get started on + finish a main menu and level select menu. Im so behind on my schedule it aint even funny so wish me luck"}, {"post_id": 49286, "ts": "2026-08-18T00:22:13Z", "hours": 10.0053, "text": "Unnamed Platformer - Devlog 15 Actually got a lot done over the last few days ig What I did: first off, I reset my old changes and made it so env tiles layer over obstacles. At first I tried to assign an individual character to each combination (spike in water, block in zero-gravity, etc etc) but that didn’t work since I couldn’t get them to lay over each other. So what I did is I split my statictilelist into two: statictilelist now held all non-moving entities like spikes, ground, etc. while envtilelist held all my environment tiles. Then I changed my map loading function to take two map strings: one assigned tiles based on entities and the other pass assigned them based on environment. And now I can lay environments over things without breaking my game! Yippee! I also fixed an issue where blocks could clip through obstacles in zero-g when you moved them upward. The issue was blocks unconditionally being mtv-moved when the player was below them, so the player forced them through anything. I added an extra check before mtv-moving and made obstacle detection variables global to fix it. I also ran into an issue where spikes would incorrectly kill you even if you were not touching them, just near: the issue was that I wasn’t running SAT collision, just going straight to death logic if the initial AABB check turned out true (I run an AABB check first because running SAT for everything makes the game super laggy). both of these lowkey took me a while 😭 As for level design I reworked level 6 (still can’t play it) and level 17 (finished), and I designed levels 18-25 (I attached a video of level 24). Also in the vid I switched shapes randomly, that’s just because I had different keybinds earlier and it was js muscle memory kicking in. Challenges: Aside from a bunch of small bugs, the biggest challenges were the issue where spikes would kill you even if you weren’t touching them and the issue with blocks being pushed up forever in zerog. Even then, for both issues it was still easy to fix since it was easy to diagnose and a few lines per fix, even if it took me a while to find those few lines 🥀🥀 However, there’s still an issue where blocks sink slightly upon spawning in zero-g. This makes it impossible to play level 6, so I’ll have to look into/rework/do something to zero-g logic because I really want to keep its existing level mechanic. AI used, if any: None 🔥 Plans for next time: Finish levels 26-30, finish level 6, and test all the levels to make sure they’re not too hard/impossible/possible to cheese. Aside from that, I’ll most likely bring back the texture thing I implemented last time cuz it did actually make the game run a bit smoother, but I’ll only do it for environment tiles. K bye guys"}, {"post_id": 46621, "ts": "2026-08-14T00:27:19Z", "hours": 10.0767, "text": "Unnamed Platformer - Devlog 14 I’m genuinely so done What I did: I designed levels 5 and 7-16 (ss of a few levels should be attached idk which they are). I have a cool idea in mind for level 6 but my current code makes it hard to implement, and I also have a cool idea in mind for level 17 but my code made it hard to implement. So I changed everything up like an idiot. My 17th level features a massive pool, but that requires me to draw 1000+ water tiles. Since I redraw tiles every frame, it causes a big load on the computer. So I had the brilliant idea of creating an sf::RenderTexture . spoiler it’s not so brilliant. That led to a massive chain reaction where there were a bunch of nullptr issues at first, which I spent about 40 minutes on before actually getting the game to run. Then everything was super grainy due to aliasing issues caused by drawing everything to a RenderTexture, PLUS since I was drawing everything at the start of the frame and not updating it, stuff like buttons and doors would never update. SO, my dumb ahh moved half my static/environment tiles to dynamictilelist , reserved for strictly blocks which are the only tiles that can change position, and I did this cuz these would draw every frame and they didn’t have the same grainy look as the ones drawn to a texture. the result is probably self explanatory. That caused SO MANY ISSUES that I can’t even begin to describe them all, so after 50 minutes I undid 50 minutes worth of changes, added some spaghetti code to make it a bit more presentable, and call it a day. Challenges: Level design was fun, and easy. I did that for all of yesterday and the first half-ish of today. The vain attempt at making my code more efficient by changing how static tiles were drawn and then going on to deeply regret it and consider undoing it all the next day, was not. Also I probably shouldn’t have bothered trying seeing as I was pretty tired anyway, but ig my stupidity/ambition/idek led me to try. I’m genuinely too tired to bother elaborating, but it goes somewhat like this: I started on the texture-caching thing -> I ran into nullptr errors -> I got those out of the way -> I ran into issues with rendering and updating -> out of frustration I undid all my progress and started anew -> I decided to implement anti-aliasing -> I will probably(definitely) reset my code to where I had been right before I decided to do this stupid implementation AI used, if any: none. If I had I would’ve probably been done with this bs by now. Plans for next time: Realistically I’ll likely just undo all the changes I made to drawing processes, find out how to draw environment tiles underneath other entities/obstacles (which will be useful for many of my levels with spikes or the like in environments), and…thats it. Also, for level design, I want to have all preliminary designs down by the end of this Sunday (3 more days), and then I can playtest and refine later. I wanna cry P.S. the level with the white room is level 6 and it’s currently unfinished lmao"}, {"post_id": 44761, "ts": "2026-08-10T19:13:08Z", "hours": 9.9139, "text": "Unnamed Platformer - Devlog 13 No motivation… What I did: I solved the issue of vertically stacked blocks clipping through each other and through the player, which was a pretty big chunk of my time since I went through like 10 different approaches and changed up a bunch of stuff along the way. I ended up taking out the SAT collision function I had built and just plugging mtvCheck() (which checks the mtv( )) and the movement logic straight into the collision loops instead. I had to reorder a good chunk of logic too since a lot of the clipping was coming from stuff resolving in the wrong order relative to other stuff. Also did some cleanup: deleted the grounded member off the block class since entity already has one and I was just using two variables for the same thing like an idiot. I added an R keybind so I can restart instantly instead of walking into a spike every time I want to reset (useful for testing + as an actual game feature). I also made the player’s rotation reset on spawn so you don’t respawn tilted at some weird angle from your last death and shrunk the spike hitbox down a bit from 20x20 to 18x18 because I was dying to one-pixel overlaps that looked like it shouldn’t have counted and that are pretty frustrating to deal with. Also did a bunch of level design. I’ve only done levels 1 through 4 so I lowkey gotta lock in. Challenges: The stacked block thing took forever because the symptoms kept changing depending on how many blocks were stacked, which direction they were pushed from, whether the player was involved, etc etc, so it never felt like I was chasing ONE bug, more like four bugs wearing a trenchcoat. Eventually I just started brute-force testing every combo I could think of (2 stacked, 3 stacked, stacked + pushed, stacked + player jumping into it) until I ran out of ways to break it. Also I ran into some issues when designing levels: blockonhead , which makes it so you cannot jump if a block is on your head, was triggering if any block was lined up above your head, even if it was like on a platform way above you. I managed to fix that, and other than that + the block issue there wasn’t too many big obstacles this time. AI used, if any: none, since I’m not using it at all for game design and didn’t need to use it to solve block clipping issues since I just brute forced a bunch of possible solutions. Plans for next time: More level design…I’ll try to get most of the levels done by next devlog. K bye guys"}, {"post_id": 37384, "ts": "2026-07-30T02:06:51Z", "hours": 9.8561, "text": "Unnamed Platformer - Devlog 12 Man* Realizes True Meaning of ‘If it ain’t broke, don’t fix it’ What I did: First I ported pushable blocks to SAT collision so they use the same system as the player and it’s not split between two systems. Well. That broke blocks. so I spent 2 hours or so cross referencing my old versions and adding and deleting changes till it started working again. After that, I made sure blocks moved properly in zero-g. (they didn’t so I had to fix that too) Aside from that, I made a bunch of miscellaneous changes, such as fixing level progression bugs and altering player constants, but most importantly making sure blocks worked properly. Somewhere along the line I was investigating how stacked blocks interacted. I noticed they were clipping through the ground because of collision checks happening after the position of blocks was updated, and after some thought I tried adding another collision check pass to my main game loop. It worked like a charm! I added two extra checks for safety and it stopped working like a charm. The issue is my checkCollisions function is hella inefficient. 500+ lines of searching through every character in the tilemap (36x64, plus an extra column for new lines making it 36x65=2340) 6 times (!!!) Not only that, in some cases (block/player collision detection) I was nesting full passes within full passes, which caused insane lag, especially with my SAT collision which does a lot of math each frame. So I decided I wanted it to be more efficient (spoiler: it’s not efficient yet). I split my old tilelist into static tiles and dynamic tiles…and instantly regretted it. Challenges: Basically when I split tilelist into two separate vectors ( statictilelist which is everything except for blocks + dynamictilelist which is just blocks since nothing else moves lmao), I think I accidentally deleted a lot of existing logic that was the duct tape to my spaghetti code**. Aside from that, when I passed through tilelist it always passed through every tile, but with my new logic I had to decide which one to use. my stupid ahh didnt realize that there might be a chance I have to pass through both of them though 😭 well guess what there were a lot more gaps in my logic. All of these combined into the logic I had spent the last few hours working so hard to perfect, falling apart in 5 seconds. Similar to the whole block to SAT thing I worked out most of the issues just by adding, tweaking, and removing a bunch of checks as well as looking back at my old logic to figure out what I forgot. Among these general changes I also added a new grounded member to the block class, and tried to get it to register if it’s on top of a player. Unfortunately it didn’t work. It’s ok I’ll brute force my way to the root of the problem tomorrow. (Btw this doesn’t even cover the issues I faced prior to this😭 ✌️ ) AI used, if any: Now that the core elements of the game (physics) are out of the way, I’ve pretty much been grinding through bugs myself since it’s just existing logic and I’m not really adding much that’s new or unfamiliar. Honestly, I think it’s gonna stay this way because I don’t intend to use AI to design the game, I was using it more to help solve physics issues and the like. Plans for next time: I’ll try to hopefully fix the new block clipping issues. then idek anymore. Maybe i shouldn’t have tried to build the engine from scratch. K bye guys *I’m not actually over 18 **Tuff line?"}, {"post_id": 35959, "ts": "2026-07-27T19:01:15Z", "hours": 9.8747, "text": "Unnamed Platformer - Devlog 11 Rotation is finally working! Mostly. Anyway I have to post now cuz of the 10 hour limit per devlog. What I did: I fully implemented rolling and rotation physics across all player shapes! Shapes now physically rotate based on movement speed, tip over cliff edges, and smoothly snap back to a flat face when you stop moving. I also added a feature where shapes automatically realign when entering water or zero-G. To make everything smooth and frame-rate independent, I overhauled the settling and snapping math using fmod for shortest-path rotation and wrap-around handling. Challenges: Getting the angle snapping and tipping logic to work was the biggest hurdle. Non-square shapes were getting locked out of tipping due to floating-point issues, which I fixed with an epsilon tolerance check. There are still a couple of bugs that I’ll tackle later, notably the fact that shapes sometimes spin an extra time upon settling. but the core system is more or less functional now. AI used, if any: I managed to work out the math myself but I needed to ask AI with help debugging. Plans for next time: I’ll probably work on some visual effects for the next couple days + fine-tune and debug my physics a bit more. K bye guys"}, {"post_id": 33845, "ts": "2026-07-24T02:43:36Z", "hours": 7.1331, "text": "Unnamed Platformer - Devlog 10 I’m tired 😭 What I did: I ported the rest of my entities over to SAT collision. Every tile that can be collided with now uses SAT. I refactored some of my functions to handle the new logic properly across the board, and got rid of the old standalone AABB collision code for ground tiles. I also decided to make pushable blocks hybrid for simplicity: aside from general environment collisions which use SAT, I didn’t change much of the old AABB code. I also added an O(1) center/radius projection for circles to fix random micro-stutters, and updated drawdebug() so it stops drawing every vertex and instead renders one dynamic vector targeting the nearest tile vertex. (Circles in SFML are actually 30-sided polygons, so earlier the collision checks were looking at 15 different axes + all those axes were being drawn in the debug overlay.) Challenges: Thankfully most of the porting to SAT stuff was easy, I only had a couple of minor setbacks here and there. However, the harder part was getting the circle center-to-vertex collision logic down. I had to find out how to do it + add completely new logic to my function + add checks in my collision code to determine if the shape was a circle + rewrite my drawdebug() code. It took a while and a lot of my sanity but I got it done in the end AI used, if any: Used AI to help debug the updated circle collision detection system + its separate debug overlay code. Plans for next time: I’m going to work on rolling physics for real. I hope it goes well 👍 K bye guys"}, {"post_id": 32739, "ts": "2026-07-22T02:37:49Z", "hours": 9.0553, "text": "Unnamed Platformer - Devlog 9 I was “busy” watching the World Cup bronze/final matches over the weekend. No way we got a 10 goal third place game while everyone started throwing hands at the end of the final😭 What I did: I finally got started on SAT collision like I said I would, and it’s actually working! Mostly. I built all the fundamentals so far: vertex extraction, edge normal calculation, projection ranges, minimum translation vector (MTV) calculation, etc etc. I hooked it into checkCollisions for ground tiles, and the MTV push resolution actually stops shapes from clipping through geometry now, and it’s also sign-corrected and whatnot so it always pushes the right direction. I also made a debug overlay that draws vertices and axis normals directly in the game window, which saved my sanity countless times and looks pretty cool too. On top of collision math I had to go back and fix 3 out of my 5 characters’ movement code because switching to SAT caused bugs in features that worked just fine under the old AABB system, aside from all the general bugs I had to deal with. The hexagon’s double jump stopped working entirely, circle’s acceleration started randomly resetting mid-sprint, and octagon’s wall jump turned into an absolute mess (more on that below). The main thing was that my old flags for checking wall collisions were set with assumptions that crumble once you switch from checking 4 fixed direction to a bunch of axes. Challenges: Oh boy… The wall jump bug was hella frustrating: after switching to SAT, the octagon would do exactly one wall jump and then just slide down the second, no matter how many times I hit jump. It took me forever to figure out it was a chain of three separate bugs stacked on top of each other: wall contact flags getting cleared before the function ever read them, my walljumped flag never resetting between wall touches so it permanently locked my horizontal movement, and then once THAT was fixed, SAT was re-zeroing my wall-jump velocity on the same frame it fired because the player was technically still overlapping the wall geometry. So I fixed those and immediately got a NEW bug where wall jumping turned into a pogo stick that spam-bounced me up the wall, because a vertical MTV was getting misread as “landed on the ground,” which reset the wall jump lock and let it refire every single frame. Also spent quite a bit of time before realizing this one line I had, if (grounded) velocity.y = 0 , worked fine with AABB but not so much with SAT’s own grounding logic, since my SAT function sets grounded = true when it sees downward velocity, and that line was zeroing velocity before SAT checked it. Removed it and a lot of my bugs disappeared. AI used, if any: SAT math I mostly figured out myself, after reading through a ton of Stack Overflow threads, articles, watching a lot of YT videos, etc. on my own time. I did use AI to clarify/debug a couple of parts though. However, I ended up needing it a lot more for debugging the problems that stemmed from it, i.e. the octagon, hexagon and circle issues. Plans for next time: SAT works for ground tiles but I’ve still got all my other entities on the old AABB system so I gotta port those over. Although, probably the biggest thing is trying to make my code more efficient because sometimes the game randomly slows down/freezes and makes random clips occur. If this isn’t lag (which it might not be, I could just be stupid) I’ll still have to look into whats happening. Then, once ground collision is 100% finished: rolling physics, aka the reason I made this change in the first place. Gonna have to look into the math/physics behind that, but it should be pretty easy since I already got this down. Once this is done, the shapes should be tipping and rolling around instead of just sliding around like ice cubes. We’ll see how that goes. K bye guys"}, {"post_id": 30455, "ts": "2026-07-18T00:46:19Z", "hours": 6.8525, "text": "Unnamed Platformer - Devlog 8 Bro idk What I did: I finally wrapped up the character roster by implementing and debugging the last two shapes: the hexagon and the octagon. The biggest milestone was completely overhauling and fixing the wall jump implementation for the octagon (which took me like 1.5 hrs out of which 50 minutes worth of changes were discarded). I ended up shifting all the wall-jump physics directly into the jump event handler, rather than splitting the logic between two different functions (my jump and updatepos functions). This allowed me to make it so I can properly maintain and destroy momentum for wall bounces On top of physics stuff, I built the level progression system. When you touch the exit tile, the game increases your level index and loads the next stage. It’s finally starting to feel like a real game! Although, not really, since every level after the second is the exact same weird ahh testing level cuz I needed to make sure my system worked. Challenges: The real nightmare was the octagon’s wall jump. I spent about 50 minutes writing changes because the physics wouldn’t cooperate, only to discard them because I got too confused 🥀I had half of the wall jump math in jump() and the other half in updatepos() and it was making the normal movement code immediately overwrite/neutralize the walljump code the very next frame. Another thing was making it so you couldnt just hold down the w or up key and automatically bounce up forever. I had to add an input debounce check so you have to release+re-tap the key to jump again. Everything else was honestly smooth sailing and any other bugs took maybe <15 mins to solve. AI used, if any: I didn’t use much AI, since the two big features I added were pretty easy to implement/debug, but I did ask it to help me a bit with wall jump logic since I was pretty fried. Plans for next time: Now that the physics is working, I’ve decided I want to get rid of it all. Sliding shapes feel hella unnatural (also the hitboxes are pretty weird), so I’ve decided on making the shapes roll around/have accurate hitboxes using SAT (Separating Axis Theorem) vector math. I asked Gemini how long it would take and it literally told me to avoid it if I can 😭 so we’ll see how many hairs I lose over the course of trying to implement SAT. It’ll probably be all I do from now until around the start of August when I’ll be going on vacation K bye guys"}, {"post_id": 29243, "ts": "2026-07-16T00:59:37Z", "hours": 6.4681, "text": "Unnamed Platformer - Devlog 7 I typed words into a code editor and made shapes move around What I did: I finally took on the shape-switching system and got it working! I had to completely change how the player class worked, so I made it into a pure virtual class to handle polymorphism (which lets me switch between different shapes) and replaced the old static player setup with a dynamic shape-switching state w/ unique pointers. For shapes so far I implemented the circle with rolling physics and friction, and the triangle which can teleport forward a short distance. Also, keeping source code in header files was causing circular include errors, so I reorganized all the player class code into a brand new players.cpp file. And finally I made it so falling below the screen kills the player, which is a pretty small feature but still. Pretty much what was happening was that I needed to access my tilesettings.h file in my players.h class for movement-related checks, but tilesettings.h also needed players.h for hitbox/collision stuff. So I had to take out my code from my player header file and move it to player.cpp , which was lowkey a nightmare since I ran into a bunch of compiler and linker errors that took me an hour to fix😭 Anyway, Gemini helped rescue me (since my Claude 5-hour limit somehow ended after the first question I asked it today), so thanks Gemini. Challenges: Pretty chill today, since today was more designing and testing new features that were easy to implement; however the real nightmare was splitting my files. Moving code to players.cpp broke everything with a bunch of “multiple definition” linker errors. I didn’t define my global variables as inline at first, but since they were getting defined across many files I had mark them as inline. Also, the triangle’s teleport mechanic let you phase into solid tiles at first, so I made a position prediction system using swept AABB bounds. In fact, creating this swept check was the feature that needed me to call tilesettings.h in players.h in the first place, which led to my cortisol spiking when the compiler stopped working for an hour AI used, if any: Used Gemini to help me figure out why the compiler+linker were throwing errors, and some basic debugging in my other features. Plans for next time: I’m gonna design my other two shapes now (octagon and hexagon), then start making this into an actual game with multiple levels, progressing to the next level when you reach the finish, etc etc. Also, I feel like the sliding movement is kinda unnatural, but idk if I’m going to change it because I already have a whole system down and starting from scratch would be a chore. Anyway, I’ll think about it. K bye guys"}, {"post_id": 28035, "ts": "2026-07-14T01:42:05Z", "hours": 4.6406, "text": "Unnamed Platformer - Devlog 6 Guess what? More block physics issues! I’m gonna lose my mind! What I did: Implemented logic with the buttons and doors; now, being on a button opens a corresponding door. Also fixed EVEN MORE BUGS with block pushing logic. I also resolved block-block vertical clipping and horizontal stacking bugs. I replaced the ground collision function I had made with a manual check for blocks landing on other blocks; groundCollide (that function) was not accounting for if a block landed on top of the player. This fixes vertical clipping through players and blocks and unintentional behavior with horizontally stacked blocks. Additionally, I added a system to make sure you can’t get crushed by a door too. When I first discovered that could happen, I implemented a half baked system, but it didn’t work since it pretty much made the block/player fall through the door even if the button hadn’t been pressed prior. I replaced the old block-crush prevention logic with a new system. Now the button class has another variable, presscheck , which acts like sticky keys (idk how else to put it) even after you’re not on the button. It checks for if a player or block is within the closed door’s hitbox and if so props the door open until they leave, but it can only register that after you push the button. Challenges: Buttons not changing color; color change logic was in my constructor and not the draw function so it never updated. Other than that, general implementation was also tricky to plan out because I had to decide how they were gonna work (how buttons would be linked to doors; decided on an ID system) and then how to implement that (using dynamic casts just as my button class uses). And then the block clipping glitch was another nightmare, though it did take me less than an hour which is nice. Also, it took me a while to think of how I would figure out how to make doors not close on players/blocks, but I thought up a solution pretty quickly which is nice 👍 AI used, if any: Used Claude to help me figure out the part that stops the block from falling through the player (I was genuinely™ too exhausted with dealing with bugs to try to solve it myself 😭😭) + used Gemini and a bit of Claude for general debugging. Plans for next time: I’ll polish up some visual stuff, but I think I’ll leave block-related bugs alone for now. As you can see there are some clipping issues still with the door, but idk if I want to tackle those right now. Either way my main focus for next time (and like all of the next week or two) will be getting the shape-switching system down. I’ll also try to create some map layouts that force the player to utilize block placement on buttons to navigate doors, because it would be a shame for me to have spent all my sanity on a feature only like 5 levels use. K bye guys P.S. Last time, when I said I spent all weekend working on button-related stuff, I meant the pushable blocks too (since those can activate the buttons)"}, {"post_id": 27428, "ts": "2026-07-12T23:59:57Z", "hours": 5.0344, "text": "Unnamed Platformer - Devlog 5 I pretty much spent the last weekend working entirely on button-related stuff. Turns out there were a lot of bugs and other physics-related issues I had to address. Anyway I think they’re all good now. What I did: Day 1: I fixed a bug where nested loops using the same name (pos) caused only the first pushable block to register collisions. I also implemented a side-detection fix so the player doesn’t accidentally push blocks when standing on top of them + added a border/outline to pushable blocks for visual clarity. I also started work on button and door tile classes. Day 2: I made it so you can push blocks vertically in zero-gravity. A really big fix was a global physics bug. I had been using a gravity called blockgravity for block physics, but since it was a global variable, one block’s position dictated all the other’s physics. E.g. one block in a zero-g tile meant everything else was now unable to fall. I moved blockgravity into the block class and now a block entering a zero-g zone floats without shutting off gravity for every other block on the map. I also decided on two new features: a button that can be stood upon/have a block placed on it, and a door that opens when its button is pushed. I added each one’s sprite and loaded them into my map. Also, I made another big change to my plans: having spend so much time on block physics, I’ve decided they’ll become a core feature of the game and not just a small gimmick of the triangle shape. Challenges: The hardest problem (by miles) was the block push collision. the issue turned out to be one loop variable shadowing another, which meant only the first block in the list was ever processed. Another tricky bug was zerogactive being reset before the block push loop ran, meaning zero-g vertical pushing never triggered. Ironically I ended up removing the zero-g check because if you’re going to push a block vertically, you’re not going to be on solid ground anyway. Also I accidentally mismatched curly brackets so that made life a lot harder. Also, I faced a bunch of other bugs while trying to polish up collision. Imma be honest, about an hour or so from this devlog was useless cuz it was me trying to implement a solution, confusing myself, and just discarding all my changes😭💔 Also, I spent like 20 minutes trying to get the button looking good (it’s supposed to be an octagon, but the sides are uneven). AI used, if any: I used Claude for debugging my physics code, as well as helping me figure out why the upwards/downwards block push wasn’t working. Plans for next time: I’m going to try and begin implementing the 5 player shapes and their power-ups. I’ll start with the circle probably, since it seems the simplest (just get faster over time). Also, I’m going to make it so that each button actually is linked to a door, since right now they’re just visuals. K bye guys"}, {"post_id": 26274, "ts": "2026-07-10T23:35:39Z", "hours": 8.5728, "text": "Unnamed Platformer - Devlog 4 I hate AABB with a passion. I spent 8.5 hours over 2 days (hardest lock in yet 🔥) on 2 features and Im pretty sure there are still bugs in each. What I did: On day 1 I added collision detection for pretty much all my objects, added some custom physics (e.g. water and zero g now have custom physics), and implemented AABB collision. Since I got it working yesterday(mostly), I deleted the initial ground class I had for testing SFML and most features, as well as any related functions like the check ground function in the player class. On day 2 I spent 4 hours trying to get the block to push. It took me a while cuz I initially tried to just copy the groundcollide() function and tweak whatever I needed to. However that didn’t work, so after hitting up Stack Overflow + Claude I realized I had to change up a LOT of my pre existing code. I added a master entity class for anything that is affected by physics (all players + the block + more features in the future probably) then added more functions and commands in my checkCollisions function in order to get my block mechanic mostly working. I also ended up adding many more features to my block class(velocity, gravity, and a grounded check) since it has to react to physics and the environment. Overall the introduction of an entity class that everything else inherits from was a big help in getting the game to work properly. Challenges: my game crashed when I attempted to put the check collision function in main.cpp; then, implementing water and zero-g was a lot of trial and error not only to find physics that felt fluid but also because there were a lot of bugs in the logic as well as bugs that stopped the game from running at all. Also, it took me a while to wrap my head around AABB collision; I literally had to draw it out on a piece of paper and ask Claude to grasp the concept 😭 During bug fixes, I ended up breaking a bunch of stuff/realizing a bunch of stuff was still broken and spending a bunch of time fixing it. For example, while trying to fix collision, I ended up discovering a bug in my water/zero-g physics, and then while trying to fix that I broke my spring logic too. And creating the logic for pushing the block is a whole other can of worms. It took me 4 hours of implementing different strategies and adding different functions only to have a half baked block-pushing function. 😭 It does kind of work, but you can only push one block: any other blocks act like normal ground tiles. AI used, if any: I asked Claude for help on how to tackle block pushing logic, as well as helping me understand AABB collision. Plans for next time: I’m going to try and hopefully get all the block-pushing logic done without any issues, then fix up any collision-based bugs and work on implementing the rest of my player shapes. K bye guys"}, {"post_id": 25091, "ts": "2026-07-09T02:23:55Z", "hours": 4.3644, "text": "Unnamed Platformer - Devlog 3 My game is kind of coming together! It’ll still be many weeks, but I did something! What I did: finished my tile map parser (I decided to use a unique pointer to parse through each tile type and draw the according one, after a bit of thought). I also started working on collision detection. I created a basic checkCollisions function and added getGlobalBounds to every tile class. Before I did that though I had to do some research on Axis-Aligned Bounding Box collision, and how to implement it in SFML. I’m still far from done, but that’s tomorrow’s problem. Challenges: implementing the map drawing functions (couldn’t figure out how to get the draw functions in the classes to match up with the main class), and after that I was having a lot of trouble with the pointer logic I had implemented (had to use std::move, also there were errors in my file importing structure); then after I got that to work, and implemented the parser into main.cpp, it ended up causing my entire program to crash when I ran build 😭Ended up asking Claude for help for how to fix it; it turned out to be how I had formatted my levels and my level-parsing loop for assigning tile types to tilemap characters. Then lava, water, and zero-g block weren’t drawing properly either. After spending like an hour trying to decode why, I realized sf::Color’s transparency had to be an 8-bit integer rather than a decimal between 0 and 1. Also my doublespike was not drawing properly, so I made it 2 separate convexShape’s rather than 1. Apparently you can’t have mere points holding a single convexShape together, which kind of sucks. AI used, if any: Like I mentioned, I asked Claude for help on how to fix my level loading feature (it ended up being like 3 minute details) and also used it when debugging my initial collision functions (I ended up replacing <10 lines total by its suggestion). Plans for next time: I’m going to try to finish collision. That’s my entire goal, since I still don’t know entirely how I’m gonna deal with every collision possible and it might end up taking me a long time depending on the number of mistakes I make/bugs that pop up. K bye guys (btw the music in the background is because I was listening to music while I was working on this)"}, {"post_id": 23883, "ts": "2026-07-07T02:36:17Z", "hours": 3.9897, "text": "Unnamed Platformer - Devlog 2 I was a little busy yesterday but we’re back on track now. What I did: I think I got a solid amount done today and for a bit of time yesterday: I added a camera feature that scrolls with the player, created the tile map and tile types, and designed the first part of the tile map parser; also changed the background slightly and researched more on building tilemap loaders in SFML (YouTube videos + looking at Github repos and articles). Challenges: For a zero-gravity section I’m thinking of adding, I wanted to put thin gray stripes in those sections. I couldn’t figure out how to do that, so I just decided to depict it as a translucent white block. Also determining the coordinates of the spring pad in the game took a while too. Overall, my other challenges were mostly small bugs and didnt stand out too much. AI used, if any: Used Claude for debugging the switch case for my tile map parser. Also, not AI, but my camera system was more or less entirely designed using a YouTube video that I’ll credit in my readme later. Plans for next time: I want to finish my tile map parser and get an actual level loaded. I’m also going to start deciding what the UI will look like for the main menu, level selects, and pause menu. K bye guys"}, {"post_id": 22443, "ts": "2026-07-04T22:13:21Z", "hours": 3.4311, "text": "Unnamed Platformer - Devlog 1 It’s finally time for me to lock in. This is gonna be a big project to which I hope to add a lot of content, and I’m hoping I can accumulate a lot of good hours from this project. What I did: I set up SFML (the library I’m using to code this game), set up the required files, watched a lot of YouTube videos to get more familiar with SFML, and coded a basic thing where you control a square and jump around. Challenges: This is like my second time using SFML (I used it once for a small project a while ago), so I’m not that familiar with it. No worries though, as it’s nothing a bunch of YouTube videos can’t fix. Also, today was kind of a refresher for my barely existent SFML skills. AI used, if any: I used Claude for learning how to set up SFML and asking it for help on how to fix my jump button not working. (I was missing two characters. : \\ ) Plans for next time: I’ll try to add actual platforms, maybe working obstacles as well. I’ll focus on adding a menu some other time, and actual styling will come much later so the game is gonna look ahh for now. All my devlogs will pretty much follow the format of this one(accomplishments, challenges, plans, additional notes) so that I can lazily copy-paste the same template when I don’t feel like writing a whole new devlog each devlog will feel connected/cohesive and make it easier for readers to follow along on my journey."}]...
|
Title: Stardancer (formerly Unnamed Platformer) by Title: Stardancer (formerly Unnamed Platformer) by @zahran | Stardance
Devlogs:
Unnamed Platformer - Devlog 1 It’s finally time for me to lock in. This is gonna be a big project to which I hope to add a lot of content, and I’m hoping I can accumulate a lot of good hours from this project. What I did: I set up SFML (the library I’m using to code this game), set up the required files, watched a lot of YouTube videos to get more familiar with SFML, and coded a basic thing where you control a square and jump around. Challenges: This is like my second time using SFML (I used it once for a small project a while ago), so I’m not that familiar with it. No worries though, as it’s nothing a bunch of YouTube videos can’t fix. Also, today was kind of a refresher for my barely existent SFML skills. AI used, if any: I used Claude for learning how to set up SFML and asking it for help on how to fix my jump button not working. (I was missing two characters. : \ ) Plans for next time: I’ll try to add actual platforms, maybe working obstacles as well. I’ll focus on adding a menu some other time, and actual styling will come much later so the game is gonna look ahh for now. All my devlogs will pretty much follow the format of this one(accomplishments, challenges, plans, additional notes) so that I can lazily copy-paste the same template when I don’t feel like writing a whole new devlog each devlog will feel connected/cohesive and make it easier for readers to follow along on my journey.
Unnamed Platformer - Devlog 2 I was a little busy yesterday but we’re back on track now. What I did: I think I got a solid amount done today and for a bit of time yesterday: I added a camera feature that scrolls with the player, created the tile map and tile types, and designed the first part of the tile map parser; also changed the background slightly and researched more on building tilemap loaders in SFML (YouTube videos + looking at Github repos and articles). Challenges: For a zero-gravity section I’m thinking of adding, I wanted to put thin gray stripes in those sections. I couldn’t figure out how to do that, so I just decided to depict it as a translucent white block. Also determining the coordinates of the spring pad in the game took a while too. Overall, my other challenges were mostly small bugs and didnt stand out too much. AI used, if any: Used Claude for debugging the switch case for my tile map parser. Also, not AI, but my camera system was more or less entirely designed using a YouTube video that I’ll credit in my readme later. Plans for next time: I want to finish my tile map parser and get an actual level loaded. I’m also going to start deciding what the UI will look like for the main menu, level selects, and pause menu. K bye guys
Unnamed Platformer - Devlog 3 My game is kind of coming together! It’ll still be many weeks, but I did something! What I did: finished my tile map parser (I decided to use a unique pointer to parse through each tile type and draw the according one, after a bit of thought). I also started working on collision detection. I created a basic checkCollisions function and added getGlobalBounds to every tile class. Before I did that though I had to do some research on Axis-Aligned Bounding Box collision, and how to implement it in SFML. I’m still far from done, but that’s tomorrow’s problem. Challenges: implementing the map drawing functions (couldn’t figure out how to get the draw functions in the classes to match up with the main class), and after that I was having a lot of trouble with the pointer logic I had implemented (had to use std::move, also there were errors in my file importing structure); then after I got that to work, and implemented the parser into main.cpp, it ended up causing my entire program to crash when I ran build 😭Ended up asking Claude for help for how to fix it; it turned out to be how I had formatted my levels and my level-parsing loop for assigning tile types to tilemap characters. Then lava, water, and zero-g block weren’t drawing properly either. After spending like an hour trying to decode why, I realized sf::Color’s transparency had to be an 8-bit integer rather than a decimal between 0 and 1. Also my doublespike was not drawing properly, so I made it 2 separate convexShape’s rather than 1. Apparently you can’t have mere points holding a single convexShape together, which kind of sucks. AI used, if any: Like I mentioned, I asked Claude for help on how to fix my level loading feature (it ended up being like 3 minute details) and also used it when debugging my initial collision functions (I ended up replacing <10 lines total by its suggestion). Plans for next time: I’m going to try to finish collision. That’s my entire goal, since I still don’t know entirely how I’m gonna deal with every collision possible and it might end up taking me a long time depending on the number of mistakes I make/bugs that pop up. K bye guys (btw the music in the background is because I was listening to music while I was working on this)
Unnamed Platformer - Devlog 4 I hate AABB with a passion. I spent 8.5 hours over 2 days (hardest lock in yet 🔥) on 2 features and Im pretty sure there are still bugs in each. What I did: On day 1 I added collision detection for pretty much all my objects, added some custom physics (e.g. water and zero g now have custom physics), and implemented AABB collision. Since I got it working yesterday(mostly), I deleted the initial ground class I had for testing SFML and most features, as well as any related functions like the check ground function in the player class. On day 2 I spent 4 hours trying to get the block to push. It took me a while cuz I initially tried to just copy the groundcollide() function and tweak whatever I needed to. However that didn’t work, so after hitting up Stack Overflow + Claude I realized I had to change up a LOT of my pre existing code. I added a master entity class for anything that is affected by physics (all players + the block + more features in the future probably) then added more functions and commands in my checkCollisions function in order to get my block mechanic mostly working. I also ended up adding many more features to my block class(velocity, gravity, and a grounded check) since it has to react to physics and the environment. Overall the introduction of an entity class that everything else inherits from was a big help in getting the game to work properly. Challenges: my game crashed when I attempted to put the check collision function in main.cpp; then, implementing water and zero-g was a lot of trial and error not only to find physics that felt fluid but also because there were a lot of bugs in the logic as well as bugs that stopped the game from running at all. Also, it took me a while to wrap my head around AABB collision; I literally had to draw it out on a piece of paper and ask Claude to grasp the concept 😭 During bug fixes, I ended up breaking a bunch of stuff/realizing a bunch of stuff was still broken and spending a bunch of time fixing it. For example, while trying to fix collision, I ended up discovering a bug in my water/zero-g physics, and then while trying to fix that I broke my spring logic too. And creating the logic for pushing the block is a whole other can of worms. It took me 4 hours of implementing different strategies and adding different functions only to have a half baked block-pushing function. 😭 It does kind of work, but you can only push one block: any other blocks act like normal ground tiles. AI used, if any: I asked Claude for help on how to tackle block pushing logic, as well as helping me understand AABB collision. Plans for next time: I’m going to try and hopefully get all the block-pushing logic done without any issues, then fix up any collision-based bugs and work on implementing the rest of my player shapes. K bye guys
Unnamed Platformer - Devlog 5 I pretty much spent the last weekend working entirely on button-related stuff. Turns out there were a lot of bugs and other physics-related issues I had to address. Anyway I think they’re all good now. What I did: Day 1: I fixed a bug where nested loops using the same name (pos) caused only the first pushable block to register collisions. I also implemented a side-detection fix so the player doesn’t accidentally push blocks when standing on top of them + added a border/outline to pushable blocks for visual clarity. I also started work on button and door tile classes. Day 2: I made it so you can push blocks vertically in zero-gravity. A really big fix was a global physics bug. I had been using a gravity called blockgravity for block physics, but since it was a global variable, one block’s position dictated all the other’s physics. E.g. one block in a zero-g tile meant everything else was now unable to fall. I moved blockgravity into the block class and now a block entering a zero-g zone floats without shutting off gravity for every other block on the map. I also decided on two new features: a button that can be stood upon/have a block placed on it, and a door that opens when its button is pushed. I added each one’s sprite and loaded them into my map. Also, I made another big change to my plans: having spend so much time on block physics, I’ve decided they’ll become a core feature of the game and not just a small gimmick of the triangle shape. Challenges: The hardest problem (by miles) was the block push collision. the issue turned out to be one loop variable shadowing another, which meant only the first block in the list was ever processed. Another tricky bug was zerogactive being reset before the block push loop ran, meaning zero-g vertical pushing never triggered. Ironically I ended up removing the zero-g check because if you’re going to push a block vertically, you’re not going to be on solid ground anyway. Also I accidentally mismatched curly brackets so that made life a lot harder. Also, I faced a bunch of other bugs while trying to polish up collision. Imma be honest, about an hour or so from this devlog was useless cuz it was me trying to implement a solution, confusing myself, and just discarding all my changes😭💔 Also, I spent like 20 minutes trying to get the button looking good (it’s supposed to be an octagon, but the sides are uneven). AI used, if any: I used Claude for debugging my physics code, as well as helping me figure out why the upwards/downwards block push wasn’t working. Plans for next time: I’m going to try and begin implementing the 5 player shapes and their power-ups. I’ll start with the circle probably, since it seems the simplest (just get faster over time). Also, I’m going to make it so that each button actually is linked to a door, since right now they’re just visuals. K bye guys
Unnamed Platformer - Devlog 6 Guess what? More block physics issues! I’m gonna lose my mind! What I did: Implemented logic with the buttons and doors; now, being on a button opens a corresponding door. Also fixed EVEN MORE BUGS with block pushing logic. I also resolved block-block vertical clipping and horizontal stacking bugs. I replaced the ground collision function I had made with a manual check for blocks landing on other blocks; groundCollide (that function) was not accounting for if a block landed on top of the player. This fixes vertical clipping through players and blocks and unintentional behavior with horizontally stacked blocks. Additionally, I added a system to make sure you can’t get crushed by a door too. When I first discovered that could happen, I implemented a half baked system, but it didn’t work since it pretty much made the block/player fall through the door even if the button hadn’t been pressed prior. I replaced the old block-crush prevention logic with a new system. Now the button class has another variable, presscheck , which acts like sticky keys (idk how else to put it) even after you’re not on the button. It checks for if a player or block is within the closed door’s hitbox and if so props the door open until they leave, but it can only register that after you push the button. Challenges: Buttons not changing color; color change logic was in my constructor and not the draw function so it never updated. Other than that, general implementation was also tricky to plan out because I had to decide how they were gonna work (how buttons would be linked to doors; decided on an ID system) and then how to implement that (using dynamic casts just as my button class uses). And then the block clipping glitch was another nightmare, though it did take me less than an hour which is nice. Also, it took me a while to think of how I would figure out how to make doors not close on players/blocks, but I thought up a solution pretty quickly which is nice 👍 AI used, if any: Used Claude to help me figure out the part that stops the block from falling through the player (I was genuinely™ too exhausted with dealing with bugs to try to solve it myself 😭😭) + used Gemini and a bit of Claude for general debugging. Plans for next time: I’ll polish up some visual stuff, but I think I’ll leave block-related bugs alone for now. As you can see there are some clipping issues still with the door, but idk if I want to tackle those right now. Either way my main focus for next time (and like all of the next week or two) will be getting the shape-switching system down. I’ll also try to create some map layouts that force the player to utilize block placement on buttons to navigate doors, because it would be a shame for me to have spent all my sanity on a feature only like 5 levels use. K bye guys P.S. Last time, when I said I spent all weekend working on button-related stuff, I meant the pushable blocks too (since those can activate the buttons)
Unnamed Platformer - Devlog 7 I typed words into a code editor and made shapes move around What I did: I finally took on the shape-switching system and got it working! I had to completely change how the player class worked, so I made it into a pure virtual class to handle polymorphism (which lets me switch between different shapes) and replaced the old static player setup with a dynamic shape-switching state w/ unique pointers. For shapes so far I implemented the circle with rolling physics and friction, and the triangle which can teleport forward a short distance. Also, keeping source code in header files was causing circular include errors, so I reorganized all the player class code into a brand new players.cpp file. And finally I made it so falling below the screen kills the player, which is a pretty small feature but still. Pretty much what was happening was that I needed to access my tilesettings.h file in my players.h class for movement-related checks, but tilesettings.h also needed players.h for hitbox/collision stuff. So I had to take out my code from my player header file and move it to player.cpp , which was lowkey a nightmare since I ran into a bunch of compiler and linker errors that took me an hour to fix😭 Anyway, Gemini helped rescue me (since my Claude 5-hour limit somehow ended after the first question I asked it today), so thanks Gemini. Challenges: Pretty chill today, since today was more designing and testing new features that were easy to implement; however the real nightmare was splitting my files. Moving code to players.cpp broke everything with a bunch of “multiple definition” linker errors. I didn’t define my global variables as inline at first, but since they were getting defined across many files I had mark them as inline. Also, the triangle’s teleport mechanic let you phase into solid tiles at first, so I made a position prediction system using swept AABB bounds. In fact, creating this swept check was the feature that needed me to call tilesettings.h in players.h in the first place, which led to my cortisol spiking when the compiler stopped working for an hour AI used, if any: Used Gemini to help me figure out why the compiler+linker were throwing errors, and some basic debugging in my other features. Plans for next time: I’m gonna design my other two shapes now (octagon and hexagon), then start making this into an actual game with multiple levels, progressing to the next level when you reach the finish, etc etc. Also, I feel like the sliding movement is kinda unnatural, but idk if I’m going to change it because I already have a whole system down and starting from scratch would be a chore. Anyway, I’ll think about it. K bye guys
Unnamed Platformer - Devlog 8 Bro idk What I did: I finally wrapped up the character roster by implementing and debugging the last two shapes: the hexagon and the octagon. The biggest milestone was completely overhauling and fixing the wall jump implementation for the octagon (which took me like 1.5 hrs out of which 50 minutes worth of changes were discarded). I ended up shifting all the wall-jump physics directly into the jump event handler, rather than splitting the logic between two different functions (my jump and updatepos functions). This allowed me to make it so I can properly maintain and destroy momentum for wall bounces On top of physics stuff, I built the level progression system. When you touch the exit tile, the game increases your level index and loads the next stage. It’s finally starting to feel like a real game! Although, not really, since every level after the second is the exact same weird ahh testing level cuz I needed to make sure my system worked. Challenges: The real nightmare was the octagon’s wall jump. I spent about 50 minutes writing changes because the physics wouldn’t cooperate, only to discard them because I got too confused 🥀I had half of the wall jump math in jump() and the other half in updatepos() and it was making the normal movement code immediately overwrite/neutralize the walljump code the very next frame. Another thing was making it so you couldnt just hold down the w or up key and automatically bounce up forever. I had to add an input debounce check so you have to release+re-tap the key to jump again. Everything else was honestly smooth sailing and any other bugs took maybe <15 mins to solve. AI used, if any: I didn’t use much AI, since the two big features I added were pretty easy to implement/debug, but I did ask it to help me a bit with wall jump logic since I was pretty fried. Plans for next time: Now that the physics is working, I’ve decided I want to get rid of it all. Sliding shapes feel hella unnatural (also the hitboxes are pretty weird), so I’ve decided on making the shapes roll around/have accurate hitboxes using SAT (Separating Axis Theorem) vector math. I asked Gemini how long it would take and it literally told me to avoid it if I can 😭 so we’ll see how many hairs I lose over the course of trying to implement SAT. It’ll probably be all I do from now until around the start of August when I’ll be going on vacation K bye guys
Unnamed Platformer - Devlog 9 I was “busy” watching the World Cup bronze/final matches over the weekend. No way we got a 10 goal third place game while everyone started throwing hands at the end of the final😭 What I did: I finally got started on SAT collision like I said I would, and it’s actually working! Mostly. I built all the fundamentals so far: vertex extraction, edge normal calculation, projection ranges, minimum translation vector (MTV) calculation, etc etc. I hooked it into checkCollisions for ground tiles, and the MTV push resolution actually stops shapes from clipping through geometry now, and it’s also sign-corrected and whatnot so it always pushes the right direction. I also made a debug overlay that draws vertices and axis normals directly in the game window, which saved my sanity countless times and looks pretty cool too. On top of collision math I had to go back and fix 3 out of my 5 characters’ movement code because switching to SAT caused bugs in features that worked just fine under the old AABB system, aside from all the general bugs I had to deal with. The hexagon’s double jump stopped working entirely, circle’s acceleration started randomly resetting mid-sprint, and octagon’s wall jump turned into an absolute mess (more on that below). The main thing was that my old flags for checking wall collisions were set with assumptions that crumble once you switch from checking 4 fixed direction to a bunch of axes. Challenges: Oh boy… The wall jump bug was hella frustrating: after switching to SAT, the octagon would do exactly one wall jump and then just slide down the second, no matter how many times I hit jump. It took me forever to figure out it was a chain of three separate bugs stacked on top of each other: wall contact flags getting cleared before the function ever read them, my walljumped flag never resetting between wall touches so it permanently locked my horizontal movement, and then once THAT was fixed, SAT was re-zeroing my wall-jump velocity on the same frame it fired because the player was technically still overlapping the wall geometry. So I fixed those and immediately got a NEW bug where wall jumping turned into a pogo stick that spam-bounced me up the wall, because a vertical MTV was getting misread as “landed on the ground,” which reset the wall jump lock and let it refire every single frame. Also spent quite a bit of time before realizing this one line I had, if (grounded) velocity.y = 0 , worked fine with AABB but not so much with SAT’s own grounding logic, since my SAT function sets grounded = true when it sees downward velocity, and that line was zeroing velocity before SAT checked it. Removed it and a lot of my bugs disappeared. AI used, if any: SAT math I mostly figured out myself, after reading through a ton of Stack Overflow threads, articles, watching a lot of YT videos, etc. on my own time. I did use AI to clarify/debug a couple of parts though. However, I ended up needing it a lot more for debugging the problems that stemmed from it, i.e. the octagon, hexagon and circle issues. Plans for next time: SAT works for ground tiles but I’ve still got all my other entities on the old AABB system so I gotta port those over. Although, probably the biggest thing is trying to make my code more efficient because sometimes the game randomly slows down/freezes and makes random clips occur. If this isn’t lag (which it might not be, I could just be stupid) I’ll still have to look into whats happening. Then, once ground collision is 100% finished: rolling physics, aka the reason I made this change in the first place. Gonna have to look into the math/physics behind that, but it should be pretty easy since I already got this down. Once this is done, the shapes should be tipping and rolling around instead of just sliding around like ice cubes. We’ll see how that goes. K bye guys
Unnamed Platformer - Devlog 10 I’m tired 😭 What I did: I ported the rest of my entities over to SAT collision. Every tile that can be collided with now uses SAT. I refactored some of my functions to handle the new logic properly across the board, and got rid of the old standalone AABB collision code for ground tiles. I also decided to make pushable blocks hybrid for simplicity: aside from general environment collisions which use SAT, I didn’t change much of the old AABB code. I also added an O(1) center/radius projection for circles to fix random micro-stutters, and updated drawdebug() so it stops drawing every vertex and instead renders one dynamic vector targeting the nearest tile vertex. (Circles in SFML are actually 30-sided polygons, so earlier the collision checks were looking at 15 different axes + all those axes were being drawn in the debug overlay.) Challenges: Thankfully most of the porting to SAT stuff was easy, I only had a couple of minor setbacks here and there. However, the harder part was getting the circle center-to-vertex collision logic down. I had to find out how to do it + add completely new logic to my function + add checks in my collision code to determine if the shape was a circle + rewrite my drawdebug() code. It took a while and a lot of my sanity but I got it done in the end AI used, if any: Used AI to help debug the updated circle collision detection system + its separate debug overlay code. Plans for next time: I’m going to work on rolling physics for real. I hope it goes well 👍 K bye guys
Unnamed Platformer - Devlog 11 Rotation is finally working! Mostly. Anyway I have to post now cuz of the 10 hour limit per devlog. What I did: I fully implemented rolling and rotation physics across all player shapes! Shapes now physically rotate based on movement speed, tip over cliff edges, and smoothly snap back to a flat face when you stop moving. I also added a feature where shapes automatically realign when entering water or zero-G. To make everything smooth and frame-rate independent, I overhauled the settling and snapping math using fmod for shortest-path rotation and wrap-around handling. Challenges: Getting the angle snapping and tipping logic to work was the biggest hurdle. Non-square shapes were getting locked out of tipping due to floating-point issues, which I fixed with an epsilon tolerance check. There are still a couple of bugs that I’ll tackle later, notably the fact that shapes sometimes spin an extra time upon settling. but the core system is more or less functional now. AI used, if any: I managed to work out the math myself but I needed to ask AI with help debugging. Plans for next time: I’ll probably work on some visual effects for the next couple days + fine-tune and debug my physics a bit more. K bye guys
Unnamed Platformer - Devlog 12 Man* Realizes True Meaning of ‘If it ain’t broke, don’t fix it’ What I did: First I ported pushable blocks to SAT collision so they use the same system as the player and it’s not split between two systems. Well. That broke blocks. so I spent 2 hours or so cross referencing my old versions and adding and deleting changes till it started working again. After that, I made sure blocks moved properly in zero-g. (they didn’t so I had to fix that too) Aside from that, I made a bunch of miscellaneous changes, such as fixing level progression bugs and altering player constants, but most importantly making sure blocks worked properly. Somewhere along the line I was investigating how stacked blocks interacted. I noticed they were clipping through the ground because of collision checks happening after the position of blocks was updated, and after some thought I tried adding another collision check pass to my main game loop. It worked like a charm! I added two extra checks for safety and it stopped working like a charm. The issue is my checkCollisions function is hella inefficient. 500+ lines of searching through every character in the tilemap (36x64, plus an extra column for new lines making it 36x65=2340) 6 times (!!!) Not only that, in some cases (block/player collision detection) I was nesting full passes within full passes, which caused insane lag, especially with my SAT collision which does a lot of math each frame. So I decided I wanted it to be more efficient (spoiler: it’s not efficient yet). I split my old tilelist into static tiles and dynamic tiles…and instantly regretted it. Challenges: Basically when I split tilelist into two separate vectors ( statictilelist which is everything except for blocks + dynamictilelist which is just blocks since nothing else moves lmao), I think I accidentally deleted a lot of existing logic that was the duct tape to my spaghetti code**. Aside from that, when I passed through tilelist it always passed through every tile, but with my new logic I had to decide which one to use. my stupid ahh didnt realize that there might be a chance I have to pass through both of them though 😭 well guess what there were a lot more gaps in my logic. All of these combined into the logic I had spent the last few hours working so hard to perfect, falling apart in 5 seconds. Similar to the whole block to SAT thing I worked out most of the issues just by adding, tweaking, and removing a bunch of checks as well as looking back at my old logic to figure out what I forgot. Among these general changes I also added a new grounded member to the block class, and tried to get it to register if it’s on top of a player. Unfortunately it didn’t work. It’s ok I’ll brute force my way to the root of the problem tomorrow. (Btw this doesn’t even cover the issues I faced prior to this😭 ✌️ ) AI used, if any: Now that the core elements of the game (physics) are out of the way, I’ve pretty much been grinding through bugs myself since it’s just existing logic and I’m not really adding much that’s new or unfamiliar. Honestly, I think it’s gonna stay this way because I don’t intend to use AI to design the game, I was using it more to help solve physics issues and the like. Plans for next time: I’ll try to hopefully fix the new block clipping issues. then idek anymore. Maybe i shouldn’t have tried to build the engine from scratch. K bye guys *I’m not actually over 18 **Tuff line?
Unnamed Platformer - Devlog 13 No motivation… What I did: I solved the issue of vertically stacked blocks clipping through each other and through the player, which was a pretty big chunk of my time since I went through like 10 different approaches and changed up a bunch of stuff along the way. I ended up taking out the SAT collision function I had built and just plugging mtvCheck() (which checks the mtv( )) and the movement logic straight into the collision loops instead. I had to reorder a good chunk of logic too since a lot of the clipping was coming from stuff resolving in the wrong order relative to other stuff. Also did some cleanup: deleted the grounded member off the block class since entity already has one and I was just using two variables for the same thing like an idiot. I added an R keybind so I can restart instantly instead of walking into a spike every time I want to reset (useful for testing + as an actual game feature). I also made the player’s rotation reset on spawn so you don’t respawn tilted at some weird angle from your last death and shrunk the spike hitbox down a bit from 20x20 to 18x18 because I was dying to one-pixel overlaps that looked like it shouldn’t have counted and that are pretty frustrating to deal with. Also did a bunch of level design. I’ve only done levels 1 through 4 so I lowkey gotta lock in. Challenges: The stacked block thing took forever because the symptoms kept changing depending on how many blocks were stacked, which direction they were pushed from, whether the player was involved, etc etc, so it never felt like I was chasing ONE bug, more like four bugs wearing a trenchcoat. Eventually I just started brute-force testing every combo I could think of (2 stacked, 3 stacked, stacked + pushed, stacked + player jumping into it) until I ran out of ways to break it. Also I ran into some issues when designing levels: blockonhead , which makes it so you cannot jump if a block is on your head, was triggering if any block was lined up above your head, even if it was like on a platform way above you. I managed to fix that, and other than that + the block issue there wasn’t too many big obstacles this time. AI used, if any: none, since I’m not using it at all for game design and didn’t need to use it to solve block clipping issues since I just brute forced a bunch of possible solutions. Plans for next time: More level design…I’ll try to get most of the levels done by next devlog. K bye guys
Unnamed Platformer - Devlog 14 I’m genuinely so done What I did: I designed levels 5 and 7-16 (ss of a few levels should be attached idk which they are). I have a cool idea in mind for level 6 but my current code makes it hard to implement, and I also have a cool idea in mind for level 17 but my code made it hard to implement. So I changed everything up like an idiot. My 17th level features a massive pool, but that requires me to draw 1000+ water tiles. Since I redraw tiles every frame, it causes a big load on the computer. So I had the brilliant idea of creating an sf::RenderTexture . spoiler it’s not so brilliant. That led to a massive chain reaction where there were a bunch of nullptr issues at first, which I spent about 40 minutes on before actually getting the game to run. Then everything was super grainy due to aliasing issues caused by drawing everything to a RenderTexture, PLUS since I was drawing everything at the start of the frame and not updating it, stuff like buttons and doors would never update. SO, my dumb ahh moved half my static/environment tiles to dynamictilelist , reserved for strictly blocks which are the only tiles that can change position, and I did this cuz these would draw every frame and they didn’t have the same grainy look as the ones drawn to a texture. the result is probably self explanatory. That caused SO MANY ISSUES that I can’t even begin to describe them all, so after 50 minutes I undid 50 minutes worth of changes, added some spaghetti code to make it a bit more presentable, and call it a day. Challenges: Level design was fun, and easy. I did that for all of yesterday and the first half-ish of today. The vain attempt at making my code more efficient by changing how static tiles were drawn and then going on to deeply regret it and consider undoing it all the next day, was not. Also I probably shouldn’t have bothered trying seeing as I was pretty tired anyway, but ig my stupidity/ambition/idek led me to try. I’m genuinely too tired to bother elaborating, but it goes somewhat like this: I started on the texture-caching thing -> I ran into nullptr errors -> I got those out of the way -> I ran into issues with rendering and updating -> out of frustration I undid all my progress and started anew -> I decided to implement anti-aliasing -> I will probably(definitely) reset my code to where I had been right before I decided to do this stupid implementation AI used, if any: none. If I had I would’ve probably been done with this bs by now. Plans for next time: Realistically I’ll likely just undo all the changes I made to drawing processes, find out how to draw environment tiles underneath other entities/obstacles (which will be useful for many of my levels with spikes or the like in environments), and…thats it. Also, for level design, I want to have all preliminary designs down by the end of this Sunday (3 more days), and then I can playtest and refine later. I wanna cry P.S. the level with the white room is level 6 and it’s currently unfinished lmao
Unnamed Platformer - Devlog 15 Actually got a lot done over the last few days ig What I did: first off, I reset my old changes and made it so env tiles layer over obstacles. At first I tried to assign an individual character to each combination (spike in water, block in zero-gravity, etc etc) but that didn’t work since I couldn’t get them to lay over each other. So what I did is I split my statictilelist into two: statictilelist now held all non-moving entities like spikes, ground, etc. while envtilelist held all my environment tiles. Then I changed my map loading function to take two map strings: one assigned tiles based on entities and the other pass assigned them based on environment. And now I can lay environments over things without breaking my game! Yippee! I also fixed an issue where blocks could clip through obstacles in zero-g when you moved them upward. The issue was blocks unconditionally being mtv-moved when the player was below them, so the player forced them through anything. I added an extra check before mtv-moving and made obstacle detection variables global to fix it. I also ran into an issue where spikes would incorrectly kill you even if you were not touching them, just near: the issue was that I wasn’t running SAT collision, just going straight to death logic if the initial AABB check turned out true (I run an AABB check first because running SAT for everything makes the game super laggy). both of these lowkey took me a while 😭 As for level design I reworked level 6 (still can’t play it) and level 17 (finished), and I designed levels 18-25 (I attached a video of level 24). Also in the vid I switched shapes randomly, that’s just because I had different keybinds earlier and it was js muscle memory kicking in. Challenges: Aside from a bunch of small bugs, the biggest challenges were the issue where spikes would kill you even if you weren’t touching them and the issue with blocks being pushed up forever in zerog. Even then, for both issues it was still easy to fix since it was easy to diagnose and a few lines per fix, even if it took me a while to find those few lines 🥀🥀 However, there’s still an issue where blocks sink slightly upon spawning in zero-g. This makes it impossible to play level 6, so I’ll have to look into/rework/do something to zero-g logic because I really want to keep its existing level mechanic. AI used, if any: None 🔥 Plans for next time: Finish levels 26-30, finish level 6, and test all the levels to make sure they’re not too hard/impossible/possible to cheese. Aside from that, I’ll most likely bring back the texture thing I implemented last time cuz it did actually make the game run a bit smoother, but I’ll only do it for environment tiles. K bye guys
Unnamed Platformer - Devlog 16 Actually didn’t get a lot done over the last few days, let me explain. What I did: The biggest and only new feature I added was a major adjustment to black holes. Earlier they were just 2 tile x 2 tile circles that killed you upon touching. I’ve reworked them to how they’re supposed to be: 6 px x 6 px black circles, with a surrounding 6 tile x 6 tile ring. now if you enter the ring, you lose the ability to move normally (you can still jump tho) get pulled toward the black center, which kills you if you touch it Which is how it’s supposed to be (nevermind the astrophysical inaccuracy lmao). This took me 2 hours 😭 and then I designed levels 26 and 27. I also re-added the old texture system I implemented and then took down earlier cuz it was making things look hella grainy, but only for environment tiles cuz there’s no big changes visually compared to redrawing them every frame. Unfortunately it doesn’t seem to be doing much in terms of efficiency. I also designed levels 28 and 29 (ss of level 29 attached), and playtested every level from 1 to 28 and adjusted each one to remove any unwanted ways you can cheese a level, as well as to just make some of them less punishing for small mistakes. I also (FINALLY) designed level 6. I added extra sections and polished up some elements that were making the level impossible if you didn’t play it perfectly. I did 2 other things as well: I made it so blocks can’t be pushed by any character other than the square (before you could just push blocks w/ anything) and I reduced horizontal movespeed in zero-g. There’s still a lot more I have to do, mainly ui/menu stuff and visual polish. Challenges: Black hole physics took me a while since my first few implementations were completely wrong, and then I locked in nd figured out how to make it pull correctly. Also, level design is proving to be surprisingly challenging, I rly didn’t think it would take this long, but what with conceptualizing + creating + playtesting each level, especially the later ones where I want to make them more complex and difficult, it eats up a lot of time per level. Even going back through older levels and tweaking them can take a while, cuz you gotta track down all the problematic sections and figure out how to fix them. I also have a humble 18 more days till school starts so I gotta lock in🙏 AI used, if any: None, level design is hard but its not THAT hard Plans for next time: Finish level 30, playtest levels 29 and 30, and hopefully get started on + finish a main menu and level select menu. Im so behind on my schedule it aint even funny so wish me luck
Unnamed Platformer - Devlog 17 It’s actually no longer “Unnamed Platformer”, it’s “Worlds of Blockman”, I might change that later idk What I did: I designed level 30, playtested every level extensively and tweaked some levels, and made a basic main menu, level hud and pause menu. And it took me ~10 hours. Well, that’s not all I did. I also changed up the colors of the square to differentiate it from spikes and buttons, and I added a visual indicator for the triangle’s teleport. When you tp the triangle fades to a darker shade of green, and when it gets off cooldown (3 secs) it fades back to its normal color and then you can tp again. Also, level design took quite a long time since I was kind of making it up as I went along, and the whole game states implementation wasn’t too hard in itself, but I ran into errors with loading my font. I added the .ttf file to my assets folder and wrote the correct file name in font.loadFromFile() and whatnot, but turns out I didn’t have the actual font downloaded in the build folder or my project. So after a bit less than an hour I added it in and it fixed the issue. also I spent a bit of time deciding how the different menus would actually look which ate up some time. Challenges: ngl the font-loading thing was kind of the only hard part 😭most other stuff was solved relatively quickly and easily AI used, if any: None, also most likely no AI will be used in the future since the future just holds visual stuff which should not be hard enough to merit the help of AI. Plans for next time: Level select menu, add more stuff to main menu, also make it so the current level shows in the background when you go to the pause menu. also add mouse inputs so you can use those instead of kb inputs in the menu, and start on some more vfx and sfx. I’m also really tired
Unnamed Platformer - Devlog 18 The UI is coming along pretty nicely! What I did: Designed a full level select menu (there are a couple more things left to add), add a heads up display for the current level, and add proper mouse input and extra details to buttons such as shadows (havent implemented shadows for everything, I’ll explain why) and changing color when hovering. Even though it doesn’t sound like much, it took me a surprisingly long time because my text wasn’t centering…What I didn’t realize is that sf::Text creates invisible offsets for some reason, so when I used getGlobalBounds() it would return that offset too and mess up the centering. I ended up doing some research and realized I had to use the local bounds (i.e. untransformed) when centering. Challenges: Ig the biggest ‘challenge’ was centering buttons with text, because at first I actually tried to manually fine tune coordinates and whatnot. But then I found out I had to use localbounds and blah blah. Another thing is, I spent a lot of time fine tuning sizes, colors, shadow darknesses and depths, etc. which took a lot of my time. Also no ai used this time either, although I did spend a lot of time researching why my text wouldn’t center itself. Plans for next time: I’ll just polish up existing menus, and work on background elements. Also I want to add a kind of handbook accessible from the main menu that tells you what stuff does, different powerups, etc. But most importantly, I’m gonna try to find out how to make shadow creation more efficient. For every text/button, I need a shadow. That means I have to add it as a member in the class, copy the actual object, change the color and offset it, then draw it too. Since I have so many objects that make shadows (all of them in the end, ideally), I’m probably going to make a shadow-making function for readability. Other than that I’ll just play the game and test levels a bunch, which I’ve already been doing a lot to make sure everything is as it should be. K bye guys P.S. there’s also still a couple bugs ( UI-related or otherwise) that I have to fix as well
Unnamed Platformer - Devlog 19 The UI is coming along pretty nicely! Pt. 2 What I did: I believe I’ve fully created everything UI- and menu-wise, aside from 3 additional menus (credits, a ‘handbook’ that contains info about stuff, and a settings page) that are currently blank. I created a hovering effect for buttons that makes it so when you hover over a button, the button goes downward slightly and the shadow moves to match. Aside from that, I polished up/tweaked some minor details, and the only things I’ll add menu wise are probably those 3 sub-menus on the main menu and a universal backwards-nav button. The biggest thing (time-wise) was figuring out how to make the code more readable and actually making it more readable. I created two new functions for making text and button objects which made my life a lot easier, also the button-hover code took quite a few lines so I put that into a function too. Aside from that, I made a couple fixes here and there to make it more efficient memory wise. And even then, I ended up breaking stuff which took me a while to fix, such as the issue with unpausing ur game in the vid. Challenges: Probably efficiency stuff, since deciding how to do it + implementation took a while and had a couple of bugs due to me not accounting for stuff. For example: my hover function would change states on its own, but since sometimes you don’t need to directly change state or you need to do other things too, I made it into a boolean that each individual case takes and does its own thing with. Plans for next time: Start on background stuff probably, I don’t want to do anymore UI stuff for now. I have a fewideas in mind for my background visuals, but I hope they won’t be too hard/impossible to implement. K bye guys
Unnamed Platformer - Devlog 20 Background design is a hell of a lot harder than I thought it would be…also I lost track of time 😭😭 What I did: I got started on background design, and partially implemented a background. I actually had a pretty different idea in mind compared to what I have now: the rest of the planet visible, stretching into the horizon, with mountains and volcanoes etc etc. scattered along its surface. After spending a while implementing that, I realized it a) didn’t look right, since everything was just following the player around at normal cam speed, and b) I didn’t like the idea anymore to begin with. So after scrapping all those changes, I started researching how to add a scrolling effect so it would look more natural. I found out how to implement a parallax scroll effect, which basicallymeans that objects in the background move along slower than objects closer to the front of the screen. I also restructured my scenes.h file which contains all background-related stuff, and made a couple of other small changes and fixes with certain levels. I know I don’t have much to show for it, but that’s mainly because I spent a lot of time tweaking certain elements and just undoing backgrounds I ended up not liking 😭🥀 Challenges: Deciding what to do visuals-wise cost me some time bcuz I kept going back on my old ideas, but restructuring scenes.h was the hardest part since after deciding what to do for visuals, I had to base the logic in scenes.h off that. Also it took me a while to decide how to add in a parallax scroll system. Plans for next time: Work on more background stuff. right now I’ve set up a lot of background elements’ structs and whatnot, but I’ve only redrawn the stars and added a rough brightening/dimming effect. Also Im gonna have to start thinking about what I’m going to add on each of the sub-menus accessible from the main menu (credits, handbook, and settings). K bye guys
Unnamed Platformer - Devlog 21 Background design is a bit easier now that I have a plan…also I did not lose track of time 👍 What I did: I added in every single sky element I want to have: comets, planets, black holes, stars, floating rocks, and a moon. I think I might tweak some elements later down the line (specifically the moon(adding craters) and black holes(I’ll think of some extra effects) ), but for now I’m fairly satisfied with how far I’ve come. Looking at the game now gives me a sense of pride at seeing everything finally come together after so long 🥹✌️ Challenges: Making comets was a bit of a hassle, because I had to decide how to do it (which took me some time for brainstorming + more time cuz of discarded changes + even more minutes of brainstorming), and implement it. It’s pretty complex cuz there’s a cooldown on each comet, then you have to set the spawn point and angle/speed, calculate the trail’s points, draw them, draw the head too etc etc…so it was pretty tedious, but comets are the most rewarding visually imo out of all the features. Other than that, I spent a bit of time per other feature figuring out how to implement each of them, but none of them were as complex as the comet. Plans for next time: Finish up any bugs or other issues in sky-related stuff, then I’ll try to make a visible horizon again and see if I’ve changed my mind since last time. Either that or I’ll start working more on smaller vfx, specially trying to find out how to make a particle effect. K bye guys
Unnamed Platformer - Devlog 22 School starts tomorrow ✌️so i decided to make a shorter devlog…also I’m so tired What I did: Honestly you can’t really tell that I did much at first glance. I was mainly playtesting a lot and polishing stuff up, and making sure all the background stuff was fine. For now I dont think I’ll return to background stuff for a while. Although I did manage to add a particle effect for the black holes (both the ones in the background as well as the actual obstacles). I was also experimenting with a horizon for a bit, but then I decided I don’t want it and scrapped a good chunk of time worth of changes. Challenges: Deciding how to add in particles was a bit challenging, specially the math part. But other than that it was a pretty chill 7 hours. Plans for next time: Hopefully finish menus, then: work on vfx, polish up all the menus, tackle any big issues with levels or physics, and finally work on bringing my game onto itch.io! not all in one go, though. K bye guys
Unnamed Platformer - Devlog 23 Hey guys. What I did: I did a lot of playtesting/bug hunting as usual, but I was mainly creating the entire handbook menu. Which took surprisingly long, cuz of designing the menu + figuring out how to include all the different tile icons + creating descriptions + making stuff functional + formatting + colors + bugs + you get the idea. Anyway I’m pretty happy with how it looks so far, I doubt I’ll make any major changes in the future. Also I did find a couple of bugs while testing, but i didn’t really do anything about them, I want to completely create all the core functions before tackling any small bugs/issues. Challenges: There were a few bugs and I went through a few designs for the menu, but overall everything was hella light so I wouldn’t say there were any real challenges. Plans for next time: Create credits menu, then work on adding vfx, add settings menu (thinking of adding volume + keybind toggles), polish up all the menus…and then I’ll see where to go from there. I’m pretty worried cuz now that school’s started (im in gr11 now) I’m probably gonna have a good amount of schoolwork, clubs, etc. that I’ll also have to make time for…so wish me luck ig. K bye guys
Unnamed Platformer - Devlog 24 The game is finally coming together… 🥹🔥 What I did: All the menus in the game are completed! Ngl, credits was really easy ofc, but I was deciding how I should go about doing it, still didnt take too long tho. Then settings was a lot harder 😭 volume adjustment was quite easy, but the real problem came with creating the keybind section, since I had already coded hard inputs all throughout my code. So I pretty much had to add a new system + helper func in vars.h, then replace every instance of isKeyPressed with that system+helper, then code the menu in the ui file (Which took forever cuz of bugs with msg updating + event handling + key updates + etc.). Well, it’s (mostly) done now, which is good. And ofc I was also testing the game for general bugs too. Challenges: The keybind menu took me a hella long time to get done…thats about it, aside from some other tiny bugs. Plans for next time: add vfx, polish up every single one of the menus…and then I’ll see where to go from there. Hopefully I can finish most of my stuff by the start of next week. K bye guys
Unnamed Platformer - Devlog 25 I’m so tired omg What I did: Bunch of miscellaneous stuff: Added basic vfx: so far we only have a click sound, I’ll add more later but it took me a while to figure out how to get SFML’s audio system working since I also had to find out why my audio files weren’t loading in either. Added coins to every level: added new tile type for coin, added a coin into each level, added effects, etc. Fix bugs/gameplay issues such as the triangle being unable to teleport after a restart/new level, rearrange some levels to fit coin placements, find out some new bugs and try (and fail) to fix them, so decide to deal with them another day. Add simple death animation to the player. Make it so levels must be completed in progressive order (e.g. you start at level 1, cannot progress till you have completed), also add different colors to boxes on level select menu (check vid) Probably a few more things related to general playtesting but i can’t remember Challenges: Making level buttons in the levelmenu was kind of frustrating not only because of the selection aspect but also getting them to visually render in the proper colors. Honestly though, now the main challenge is dealing with my own fatigue, especially since I’ve been joining more clubs and getting more homework, so hopefully I can clutch up over the final few days cuz I highkey need that framework 13 🥺✌️ Plans for next time: I added a list of bugs I want to tackle/stuff I want to add: //BUGS!!!!! //cant close window while in settings menu //rotation bugs //levels 13, 17, 26, 4, 8, look into //as well as other levels but these ones I can remember //TO ADD!!!!! //speedrun timer //death count //updating handbook (notif icon, hidden objects) //more sfx (death especially) K bye guys
Unnamed Platformer - Devlog 26 Stardance extension + fatigue = holy procrastination 😂✌️ What I did: More random stuff: Level timer that stores each level’s personal best, displays a live timer in the level, and lets you access your PR for each level from level select menu Fixed issue where you couldn’t close game while in settings menu Death count (it just tracks deaths over every single level, accessed from level select menu, manual restarts count as death too) and coin count as well Adjusted some levels a bit Added a feature to handbook where items you haven’t come across yet are blacked out and have hidden descs, and add notification to handbook when you unlock these items Update README a little bit cause I was feeling lazy and didn’t want to do anything else Fix some bugs concerning rotation and tipping, as well as making it so you do not rotate when passing thru a 1 tile high gap (this is specially an issue with the square where it can feel a bit janky otherwise) I will note that some of these were multifaceted changes that took quite a bit of effort and iterations, but I couldn’t be bothered explaining everything I did here. And more playtesting too. Challenges: Probably the handbook feature…it was the longest one out of all of them. Plans for next time: I want to be done with pretty much everything related to the actual game by next devlog, so I can focus on the README and finally shipping! K bye guys
Unnamed Platformer - Devlog 27 WE’RE FINALLY HERE! What I did: I did a lot of final polish and testing before getting the game ready for release. Initially I was going to use Emscripten to port my game over to web assembly (inspired by this video: https://www.youtube.com/watch?v=1kiwpAIU454 ) but I soon realized that it was much more complex than it looked, and kind of took away from the spirit of being entirely made out of C++ and SFML. So, I decided to simply publish an executable rather than port the game over to web. I set up the release build and whatnot (which took a while because of cmake config issues and whatnot) but I finally got a release build working n it feels great! I ported to itch.io, now I just gotta finish up the itch page and readme, as well as record a walkthrough video for macOS and Linux users as I couldn’t figure out how to configure the game for either. Challenges: The whole odyssey of deciding how to port my game over was a slight hassle, but nothing too bad. Also, while recording my walkthrough vid, I ended up discovering A LOT of hidden bugs, so I managed to pick all those off and there shouldn’t be any left…hopefully. Plans for next time: Ship! This devlog will be my last for this project, and for this challenge. Aside from being done with everything, I accidentally created a completely new project according to Hackatime when I was renaming the file folder, executable, etc. from “WorldofBlockman” (my placeholder name) to Stardancer so everything would be more consistent with my final title. so any work I do on my project won’t count towards heartbeats and thus I can’t post another devlog (15 minutes minimum/devlog). Still, it’s been such an amazing journey, I learned so much and I made this game that I’m super proud of 🥹 even though this game gave me hell sometimes, I have virtually no regrets about any of it. This has been my biggest project ever, and many more to come in the future hopefully. K…bye guys.
Ships:
For HackClub Stardance, I created Stardancer , a 30-level platformer featuring a unique mechanic: mid-level shapeshifting to unlock new abilities and powers! I used C++ and SFML (the Simple and Fast Multimedia Library) to code this game. During the development of this game, I ran into a couple of technical challenges. Collision was among the biggest; I had initially decided on AABB (Axis-Aligned Bounding Box) collision, but after implementing that I realized that it led to erroneous collision interactions, misalignments, and more issues. So, I switched to SAT (Separating Axis Theorem) collision instead. This, combined with general collision response logic, made coding collision one of the hardest endeavours of this project. There were many other challenges throughout development, however none are too disruptive to the experience of the final game. I’m still extremely proud of myself and this project for many reasons: This is the largest project I’ve ever made; Despite many challenges, bugs, and pieces of complex logic to work through, I made a fully functional and complete game; I managed to make this with no external engines; I was able to use my C++ and new SFML skills to create something I can proudly say I made! IMPORTANT NOTE FOR REVIEWERS!! PLEASE READ!!! A complete playthrough of the game takes a large amount of time due to how levels are structured: to play a level, you must beat the level before it, which poses an issue for one of the shapes which is only unlocked in the last set. I realize most reviewers do not have the time required to play through the full game and gain a complete understanding of its features. For this reason, I strongly urge reviewers to skim through/watch my full walkthrough video linked in my README, as well as check out the “Credits Easter Egg” section in that video. Playing through all 30 levels sequentially takes time, but you can unlock every level directly from the Credits screen so you can test all shape powers hands-on right away! This way, a reviewer will be able to understand the scope and gameplay of the game in a short amount of time. With that being said, I truly hope you enjoy my game....
|
1792759984.4731371
|
1792846384.4731371
|
|
57893
|
Poopsweeper🐶💩 by @matyi | Stardance
|
matyi
|
1
|
25.0
|
180
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T20:30:22Z", "hours": 25.0, "multiplier": 7.3, "payout": 180, "blessing": "neutral", "text": "Hello guys! I am happy that I am finally able to ship Poopsweeper. I had worked a lot on this project and was heavily motivated at the start of it, but sadly I started slacking off in the last few days. However, I could push through it and finally finish the project. It was my most challenging idea so far, because of the logic of the whole game. Although most of the time I was really frustrated with it because I just couldn’t figure out how it had to work, I eventually got it to work. I had used AI for this project, but only for explaining stuff (more in the readme). When I showed my progress to my friends, they were all amazed by it and even started playing it in their free time. A funny memory I got from the project was when I was nearly finished with it, and I decided to show it to my I.T. teacher, Mr. John, who is a really interesting figure. He is funny-looking and acts funny, so most of the time we have a laugh about him. When he tried the game, he criticized the name of the project, saying that it’s inappropriate and that I should work on my naming. After he tried the game and failed, he just said “good”, which we then started laughing at because of the way he said it. I am really thankful to Stardance for getting me to do something and actually improve my skills and even rewarding me. Here is how the game works: the game is basically just a Minesweeper variant that has dog poop and bags instead of the traditional mines and flags. The idea came from my dog, Csoki. He is the reason why I was so motivated to finish this whole project. The whole game has about 1058 lines of code :) Website link: https://poop.matyi.top", "repo": "https://github.com/CSOKIIKA69/poopsweeper", "demo": "https://poop.matyi.top"}]...
|
[{"post_id": 79145, "ts": "202 [{"post_id": 79145, "ts": "2026-10-12T20:09:35Z", "hours": 8.315, "text": "FINALLY FINISHED HTML: Added efficiency to the results CSS: Made the main menu look a little better on bigger screens JS: Made timeSec global Added results display Adjusted 3BV display Fixed if statement Added exploreZero function Added tBV function The link is poop.matyi.top!"}, {"post_id": 74251, "ts": "2026-09-27T02:03:44Z", "hours": 7.8533, "text": "Poopsweeper Devlog #2 What I’ve done CSS: Changed class ‘bomb’ to ‘bombflag’ Changed the board’s and the cells’ colors HTML: Replaced the function on the click of the menu buttons Added restartGame function to button in board-header JS: Added flag, gameOver variable Disabled ContextMenu Cleaned up setDiff function Finished handleFlagCounter, function Added endGame function Added revealColor function Finished revealEmptyCell function Finished and cleaned up revealCell function Added placeFlag function Added mobile check Added restartGame function Cleaned up and finished createBoard function What is yet to be done Adding a leaderboard Adding the timer Adding a proper winning and losing system Adding CSS for PC Fixing the look of the counters Adding back buttons When clicking a cell that has all of its flags placed, it reveals the neighbours AI Usage Used it to explain how the whole website should be built up Guiding me with the code, what needs to be added, how it needs to be, what I don’t need, what to improve on No Spoon-feeding (I don’t ask for code from the AI) Website preview - Please give me feedback If you are visiting on PC, press Ctrl + Shift + M to switch into responsive mode, allowing you to use the phone version of the website!"}, {"post_id": 63651, "ts": "2026-09-07T16:00:06Z", "hours": 8.5047, "text": "Poopsweeper Devlog #1 In the red squares are the screenshots of the mobile version, blue is of the PC What I’ve done so far Finished the look for mobile Finished with HTML Cleaned / cleaning up the .js file and the functions in it What is yet to be done Adding the logistics Adding a leaderboard Adding CSS for PC AI Usage Used it to explain how the whole website should be built up Guiding me with the code, what needs to be added, how it needs to be, what I don’t need, what to imporve on No Spoon-feeding (I don’t ask for code from the AI) Website preview"}]...
|
Title: Poopsweeper🐶💩 by @matyi | Stardance
Devlog Title: Poopsweeper🐶💩 by @matyi | Stardance
Devlogs:
Poopsweeper Devlog #1 In the red squares are the screenshots of the mobile version, blue is of the PC What I’ve done so far Finished the look for mobile Finished with HTML Cleaned / cleaning up the .js file and the functions in it What is yet to be done Adding the logistics Adding a leaderboard Adding CSS for PC AI Usage Used it to explain how the whole website should be built up Guiding me with the code, what needs to be added, how it needs to be, what I don’t need, what to imporve on No Spoon-feeding (I don’t ask for code from the AI) Website preview
Poopsweeper Devlog #2 What I’ve done CSS: Changed class ‘bomb’ to ‘bombflag’ Changed the board’s and the cells’ colors HTML: Replaced the function on the click of the menu buttons Added restartGame function to button in board-header JS: Added flag, gameOver variable Disabled ContextMenu Cleaned up setDiff function Finished handleFlagCounter, function Added endGame function Added revealColor function Finished revealEmptyCell function Finished and cleaned up revealCell function Added placeFlag function Added mobile check Added restartGame function Cleaned up and finished createBoard function What is yet to be done Adding a leaderboard Adding the timer Adding a proper winning and losing system Adding CSS for PC Fixing the look of the counters Adding back buttons When clicking a cell that has all of its flags placed, it reveals the neighbours AI Usage Used it to explain how the whole website should be built up Guiding me with the code, what needs to be added, how it needs to be, what I don’t need, what to improve on No Spoon-feeding (I don’t ask for code from the AI) Website preview - Please give me feedback If you are visiting on PC, press Ctrl + Shift + M to switch into responsive mode, allowing you to use the phone version of the website!
FINALLY FINISHED HTML: Added efficiency to the results CSS: Made the main menu look a little better on bigger screens JS: Made timeSec global Added results display Adjusted 3BV display Fixed if statement Added exploreZero function Added tBV function The link is poop.matyi.top!
Ships:
Hello guys! I am happy that I am finally able to ship Poopsweeper. I had worked a lot on this project and was heavily motivated at the start of it, but sadly I started slacking off in the last few days. However, I could push through it and finally finish the project. It was my most challenging idea so far, because of the logic of the whole game. Although most of the time I was really frustrated with it because I just couldn’t figure out how it had to work, I eventually got it to work. I had used AI for this project, but only for explaining stuff (more in the readme). When I showed my progress to my friends, they were all amazed by it and even started playing it in their free time. A funny memory I got from the project was when I was nearly finished with it, and I decided to show it to my I.T. teacher, Mr. John, who is a really interesting figure. He is funny-looking and acts funny, so most of the time we have a laugh about him. When he tried the game, he criticized the name of the project, saying that it’s inappropriate and that I should work on my naming. After he tried the game and failed, he just said “good”, which we then started laughing at because of the way he said it. I am really thankful to Stardance for getting me to do something and actually improve my skills and even rewarding me. Here is how the game works: the game is basically just a Minesweeper variant that has dog poop and bags instead of the traditional mines and flags. The idea came from my dog, Csoki. He is the reason why I was so motivated to finish this whole project. The whole game has about 1058 lines of code :) Website link: https://poop.matyi.top...
|
1792727574.741099
|
1792813974.741099
|