|
59728
|
vn_folks by @lanhoamanh | Stardance
|
lanhoamanh
|
1
|
31.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T15:03:13Z", "hours": 31.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made VNfolks, a small website about Vietnamese folklore, traditional beliefs, and the stories I grew up hearing about. I wanted to present these topics in English and look at them from both a cultural and scientific perspective .The hardest part was probably deciding how to present these stories without making them feel like I was trying to prove that supernatural things are real. I also had to spend quite a lot of time researching the background of different beliefs and figuring out how to turn all of that information into something simple and easy to read. I’m most proud of the fact that I actually finished and shipped the website. It started as an idea based on my own interests, and I ended up turning it into something that other people can explore too .If you want to test it, you can start from the Home page and use the navigation to explore the different topics and stories. The website is mainly designed for people who are curious about Vietnamese culture, folklore, or just enjoy learning about strange and mysterious stories.", "repo": "https://github.com/lanhoamanh/vn_folks", "demo": "https://vnfolks.vercel.app/"}]...
|
[{"post_id": 69647, "ts": "202 [{"post_id": 69647, "ts": "2026-09-17T14:16:30Z", "hours": 6.6447, "text": "I’ve finally added the data and JS to the website—yes, it’s complete."}, {"post_id": 67924, "ts": "2026-09-14T07:24:46Z", "hours": 4.1164, "text": "I have finished the website’s interface. I used AI to generate illustrations because finding actual photos was difficult given the spiritual and folklore-related theme; however, I still make an effort to include human-created illustrations in each article to help users visualize the content better. I will proceed with the JavaScript implementation and provide updates later."}, {"post_id": 64833, "ts": "2026-09-09T14:53:00Z", "hours": 12.1892, "text": "I am currently designing the interface; it is not yet finished, so I will continue working on it."}, {"post_id": 64139, "ts": "2026-09-08T10:32:50Z", "hours": 8.3653, "text": "I am building a website that compiles information on spiritual and folk traditions in Vietnam. I have finished the HTML structure and am currently developing ideas for the interface; I will provide updates later."}]...
|
Title: vn_folks by @lanhoamanh | Stardance
Devlog Title: vn_folks by @lanhoamanh | Stardance
Devlogs:
I am building a website that compiles information on spiritual and folk traditions in Vietnam. I have finished the HTML structure and am currently developing ideas for the interface; I will provide updates later.
I am currently designing the interface; it is not yet finished, so I will continue working on it.
I have finished the website’s interface. I used AI to generate illustrations because finding actual photos was difficult given the spiritual and folklore-related theme; however, I still make an effort to include human-created illustrations in each article to help users visualize the content better. I will proceed with the JavaScript implementation and provide updates later.
I’ve finally added the data and JS to the website—yes, it’s complete.
Ships:
I made VNfolks, a small website about Vietnamese folklore, traditional beliefs, and the stories I grew up hearing about. I wanted to present these topics in English and look at them from both a cultural and scientific perspective .The hardest part was probably deciding how to present these stories without making them feel like I was trying to prove that supernatural things are real. I also had to spend quite a lot of time researching the background of different beliefs and figuring out how to turn all of that information into something simple and easy to read. I’m most proud of the fact that I actually finished and shipped the website. It started as an idea based on my own interests, and I ended up turning it into something that other people can explore too .If you want to test it, you can start from the Home page and use the navigation to explore the different topics and stories. The website is mainly designed for people who are curious about Vietnamese culture, folklore, or just enjoy learning about strange and mysterious stories....
|
1793008366.3432298
|
1793872366.3432298
|
|
59730
|
Orank Tab by @yoru_ayan | Stardance
|
yoru_ayan
|
1
|
3.19
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T20:45:52Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Orank Tab — done (for now) ok so this project is basically finished lol. started it cuz i wanted a new tab page that actually does something instead of just being a blank screen. ended up with a big clock, google search w autocomplete, custom shortcuts, a todo list, and NASA’s astronomy pic of the day (that part’s actually kinda cool ngl). also threw in a little achievements thing bc why not. built with React + TypeScript, kept the UI dark and minimal cuz that’s just what looks good imo. nothing crazy fancy, just something I’ll genuinely use every day when I open a new tab. not gonna lie some parts were annoying to debug (looking at u NASA API) but it works now and I’m happy with it. calling this one wrapped", "repo": "https://github.com/aniway89/Orank-Tab", "demo": "https://orank-tab.vercel.app/"}]...
|
[{"post_id": 65804, "ts": "202 [{"post_id": 65804, "ts": "2026-09-11T05:56:10Z", "hours": 1.1931, "text": "Here is the fix Canva gif which is converted by GhatGpt to png is roll back to gif. The search bar problem is not happening on my browser check on edge, chrome and on brave."}, {"post_id": 65552, "ts": "2026-09-10T19:22:30Z", "hours": 2.3244, "text": "getting start with the UI/UX. Here I am making a Custom tab which is functional and have practical use."}]...
|
Title: Orank Tab by @yoru_ayan | Stardance
Devlog Title: Orank Tab by @yoru_ayan | Stardance
Devlogs:
getting start with the UI/UX. Here I am making a Custom tab which is functional and have practical use.
Here is the fix Canva gif which is converted by GhatGpt to png is roll back to gif. The search bar problem is not happening on my browser check on edge, chrome and on brave.
Ships:
Orank Tab — done (for now) ok so this project is basically finished lol. started it cuz i wanted a new tab page that actually does something instead of just being a blank screen. ended up with a big clock, google search w autocomplete, custom shortcuts, a todo list, and NASA’s astronomy pic of the day (that part’s actually kinda cool ngl). also threw in a little achievements thing bc why not. built with React + TypeScript, kept the UI dark and minimal cuz that’s just what looks good imo. nothing crazy fancy, just something I’ll genuinely use every day when I open a new tab. not gonna lie some parts were annoying to debug (looking at u NASA API) but it works now and I’m happy with it. calling this one wrapped...
|
1793055061.8995469
|
1793141461.8995469
|
|
59735
|
scratch game by @juli13 | Stardance
|
juli13
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T10:52:08Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made my first scratch controls", "repo": "https://github.com/fueralles1233-sys/scratch-game", "demo": "https://scratch.mit.edu/projects/1379053351"}]...
|
[{"post_id": 64144, "ts": "202 [{"post_id": 64144, "ts": "2026-09-08T10:48:39Z", "hours": 0.5797, "text": "my scratch game has controls"}]...
|
Title: scratch game by @juli13 | Stardance
Devlog Title: scratch game by @juli13 | Stardance
Devlogs:
my scratch game has controls
Ships:
i made my first scratch controls...
|
1793055063.8675604
|
1793141463.8675604
|
|
59736
|
WarioWare Game by @sparklydinosaur310 | Stardance
|
sparklydinosaur310
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T14:30:50Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WarioWare game replicate. This is my first time coding so i had some struggles with my code but overcame it with the help of AI. I learned of AI and did not just abuse it. I learnt a lot in this project and cannot wait to do more projects!", "repo": "https://github.com/sparklydinosaur310-design/WarioWareGame", "demo": "https://sparklydinosaur310.itch.io/myfirstgame"}]...
|
[{"post_id": 65261, "ts": "202 [{"post_id": 65261, "ts": "2026-09-10T08:18:29Z", "hours": 1.1797, "text": "Devlog #3 I made the you win/lose screens and now collecting the garlic is interactive and my code seems to be working. will have to work on minigame 2 though as i have not finished it."}, {"post_id": 65219, "ts": "2026-09-10T06:11:19Z", "hours": 1.3067, "text": "Devlog #2 So i have made it so that you can use the arrow keys to walk and jump. now the start button works and it successfully directs you to the next scene. now i am having some issues on minigame 1 and what happens after completing/not completing it. i will probably spend more time on the code for minigame 1 and also i will find images for the win/lose screens."}, {"post_id": 64782, "ts": "2026-09-09T13:12:41Z", "hours": 4.7547, "text": "Devlog #1 WarioWare Game. This is my first project and i am having problems because when i press start game it does not go to the next scene. i have followed the guide step by step exactly the same. does anyone know the issue? i could use some help. i have already created minigame 1 and minigame 2 but minigame 2 wont play and i think the themed timer isnt working. the only thing that is good so far is the second scene which is the level scene that actually works because the timer counts down from 5 seconds."}]...
|
Title: WarioWare Game by @sparklydinosaur310 | Sta Title: WarioWare Game by @sparklydinosaur310 | Stardance
Devlogs:
Devlog #1 WarioWare Game. This is my first project and i am having problems because when i press start game it does not go to the next scene. i have followed the guide step by step exactly the same. does anyone know the issue? i could use some help. i have already created minigame 1 and minigame 2 but minigame 2 wont play and i think the themed timer isnt working. the only thing that is good so far is the second scene which is the level scene that actually works because the timer counts down from 5 seconds.
Devlog #2 So i have made it so that you can use the arrow keys to walk and jump. now the start button works and it successfully directs you to the next scene. now i am having some issues on minigame 1 and what happens after completing/not completing it. i will probably spend more time on the code for minigame 1 and also i will find images for the win/lose screens.
Devlog #3 I made the you win/lose screens and now collecting the garlic is interactive and my code seems to be working. will have to work on minigame 2 though as i have not finished it.
Ships:
I made a WarioWare game replicate. This is my first time coding so i had some struggles with my code but overcame it with the help of AI. I learned of AI and did not just abuse it. I learnt a lot in this project and cannot wait to do more projects!...
|
1793055067.2080567
|
1793141467.2080567
|
|
59746
|
the future of travelling by @chestagahlawat06 | St the future of travelling by @chestagahlawat06 | Stardance...
|
chestagahlawat06
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T11:07:06Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Travelling in Future, an interactive future-travel simulator where users choose a year, destination, and mode of transportation, then experience a simulated journey to places like a future city, the Moon, or Mars. After arriving, users can explore different locations, interact with them, scan discoveries, learn whether technologies are realistic, possible, or speculative, and earn XP, making the project feel more like an interactive experience than a normal website. One of the biggest challenges was making the project feel like an interactive future-travel experience instead of just a normal website. I had to figure out how to create the travel animation and progress system, make different destinations and years affect the experience, and build interactive exploration where users could click locations, scan them, discover information, and earn XP. I also had to work through coding errors and make the interface responsive and easy to use. I’m really proud that I turned the idea of Travelling in Future into an actual interactive project rather than just a concept. I especially like that users can choose a year, destination, and transportation, experience the journey, and then explore and discover things after arriving. It taught me how to make a project feel more like an experience than a simple webpage. To test my project, people should open the live Vercel demo, choose a year, destination, and transportation method, start the journey, and then use the interactive locations after arriving to explore, scan discoveries, and earn XP. They should try different years and destinations to see how the experience changes, and they don’t need to install anything because it runs directly in a web browser.", "repo": "https://github.com/chestagahlawat6-maker/travelling-in-future-", "demo": "https://travelling-in-future-m937.vercel.app"}]...
|
[{"post_id": 64148, "ts": "202 [{"post_id": 64148, "ts": "2026-09-08T10:57:33Z", "hours": 3.6917, "text": "hi finnaly completed 1st code after so much hardwork and errors"}]...
|
Title: the future of travelling by @chestagahlawat Title: the future of travelling by @chestagahlawat06 | Stardance
Devlogs:
hi finnaly completed 1st code after so much hardwork and errors
Ships:
I made Travelling in Future, an interactive future-travel simulator where users choose a year, destination, and mode of transportation, then experience a simulated journey to places like a future city, the Moon, or Mars. After arriving, users can explore different locations, interact with them, scan discoveries, learn whether technologies are realistic, possible, or speculative, and earn XP, making the project feel more like an interactive experience than a normal website. One of the biggest challenges was making the project feel like an interactive future-travel experience instead of just a normal website. I had to figure out how to create the travel animation and progress system, make different destinations and years affect the experience, and build interactive exploration where users could click locations, scan them, discover information, and earn XP. I also had to work through coding errors and make the interface responsive and easy to use. I’m really proud that I turned the idea of Travelling in Future into an actual interactive project rather than just a concept. I especially like that users can choose a year, destination, and transportation, experience the journey, and then explore and discover things after arriving. It taught me how to make a project feel more like an experience than a simple webpage. To test my project, people should open the live Vercel demo, choose a year, destination, and transportation method, start the journey, and then use the interactive locations after arriving to explore, scan discoveries, and earn XP. They should try different years and destinations to see how the experience changes, and they don’t need to install anything because it runs directly in a web browser....
|
1793055070.0137572
|
1793141470.0137572
|
|
59751
|
MyCreativePortfolio by @arshadpathan | Stardance
|
arshadpathan
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T17:19:12Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So basically I made My first and only Personal Portfolio. As i am a designer and a developer, i always wanted to have my own personal portfolio, made by my coding by myself. With The help of Stardance Personal Site Mission, I made it to real. I was very confuse and messed about how to create a logo or a style that differentiate me or myself, si i just created a stamp or a sticker (whatever you want to call) using figma. Before This, I also created static and dynamic data fetching website like 2-3 years ago, so the html and css phase was little bit because i do not remember the syntax and teminologies. So at the last I will ask to give your honest feedback and i’m very pleasured to have your good visions and votes. btw multiple same visual component are not sharing same content, they are my future projects that i will be working on.", "repo": "https://github.com/Arshad-Pathan/MyCreativePortfolio", "demo": "https://my-creative-portfolio-ten.vercel.app/"}]...
|
[{"post_id": 66060, "ts": "202 [{"post_id": 66060, "ts": "2026-09-11T17:03:17Z", "hours": 0.9269, "text": "Just Fixed Link Error and polished the design"}, {"post_id": 65953, "ts": "2026-09-11T13:11:02Z", "hours": 0.5008, "text": "made it, Go check it out."}, {"post_id": 65939, "ts": "2026-09-11T12:37:49Z", "hours": 1.2914, "text": "done another sedction and just working on last sedction. BTW so much more explore in my journey."}, {"post_id": 65562, "ts": "2026-09-10T19:42:03Z", "hours": 2.8942, "text": "a long night coding. done the hero section. i dont know why this is taking me so much time to build"}, {"post_id": 65298, "ts": "2026-09-10T10:38:59Z", "hours": 0.5567, "text": "Just setup the workspace and idea of how im going tp execute this. Will be completing my first ever project."}]...
|
Title: MyCreativePortfolio by @arshadpathan | Star Title: MyCreativePortfolio by @arshadpathan | Stardance
Devlogs:
Just setup the workspace and idea of how im going tp execute this. Will be completing my first ever project.
a long night coding. done the hero section. i dont know why this is taking me so much time to build
done another sedction and just working on last sedction. BTW so much more explore in my journey.
made it, Go check it out.
Just Fixed Link Error and polished the design
Ships:
So basically I made My first and only Personal Portfolio. As i am a designer and a developer, i always wanted to have my own personal portfolio, made by my coding by myself. With The help of Stardance Personal Site Mission, I made it to real. I was very confuse and messed about how to create a logo or a style that differentiate me or myself, si i just created a stamp or a sticker (whatever you want to call) using figma. Before This, I also created static and dynamic data fetching website like 2-3 years ago, so the html and css phase was little bit because i do not remember the syntax and teminologies. So at the last I will ask to give your honest feedback and i’m very pleasured to have your good visions and votes. btw multiple same visual component are not sharing same content, they are my future projects that i will be working on....
|
1793055071.7439966
|
1793141471.7439966
|
|
59752
|
PDF-Toolkit by @Greg_ios | Stardance
|
Greg_ios
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T12:54:34Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "PDF Toolkit is a small Python CLI tool for common PDF operations, with a simple interactive interface.", "repo": "https://github.com/travletothefurureprogramming/PDF-Toolkit/", "demo": "https://github.com/travletothefurureprogramming/PDF-Toolkit/releases/tag/v1.0.0"}]...
|
[{"post_id": 64183, "ts": "202 [{"post_id": 64183, "ts": "2026-09-08T12:28:51Z", "hours": 0.4144, "text": "PDF Toolkit — DevLog 3 Text Extraction & Final Polish The PDF Toolkit is starting to feel like a real application now. After finishing the main PDF operations and the interactive CLI, I focused this time on adding text extraction and improving the overall reliability of the program. PDF → Text I added a new PDF → Text operation using PyMuPDF. The tool goes through the pages of a PDF, extracts the text and saves everything into a .txt file. This makes it possible to quickly get the text from a PDF without manually copying it page by page. The extracted text keeps the content from all pages in the document. CLI Improvements I also spent some time making the CLI more reliable. The program now handles common problems such as: Cancelled file selection Missing input files Missing output paths Invalid page numbers Invalid page ranges Errors during PDF operations Instead of crashing immediately, the CLI can display an error and return to the main menu. Better User Feedback The CLI now gives clearer feedback when an operation finishes. For example: ✓ PDF merged successfully! If an operation fails, the user gets an error message instead of being left with a Python traceback. This makes the tool much easier to use, especially for someone who doesn’t know how the code works internally. Command-Line Options I also added basic command-line options to make the program easier to use outside of the interactive menu. The application now supports: --help for displaying information about the available commands and options, and: --version for displaying the current version of PDF Toolkit. These are small additions, but they make the project feel much more like a proper command-line application. Current Features At this point, PDF Toolkit supports: Merge PDFs PDF → Image Split PDF Extract Pages PDF → Text Interactive CLI --help --version Input validation Error handling Cancel handling The project is now much more complete than when I started. Testing I’ve been testing the different operations both individually and through the CLI. The main goal is to make sure that the normal workflow works correctly while also handling common user mistakes without crashing the application. There are still things I want to test more thoroughly before calling the project finished, especially when packaging it for other computers. What’s Next The core functionality is now basically finished. The next step is no longer about adding lots of new features. I want to focus on actually shipping the project. The next stage will be: Final testing Packaging PDF Toolkit as a Windows .exe Cleaning up the project Final README updates Preparing the first release Next milestone: v1.0.0 🚀 The goal is to have a version that someone can download and use without needing to manually set up the Python environment."}, {"post_id": 64168, "ts": "2026-09-08T11:56:04Z", "hours": 0.5736, "text": "PDF Toolkit — Development Log 2 CLI Complete The first usable version of the PDF Toolkit CLI is now complete. I created cli.py and connected all of the PDF operations that were already implemented to a single interactive interface. The CLI is built using Questionary for the terminal menu and Tkinter file dialogs for selecting input and output files. Available Operations The CLI currently supports: Merge PDFs PDF → Image Split PDF Extract Pages Exit Each operation can now be selected directly from the terminal. File Selection Instead of requiring users to manually type file paths, the CLI uses Tkinter file dialogs to select files and folders. For example, when merging PDFs, the user can: Select multiple PDF files Choose the output location Create the merged PDF The same approach is used for the other operations where appropriate. PDF → Image The CLI asks the user for the page number and then allows them to choose where the generated image should be saved. Split PDF For splitting PDFs, the user can select: The input PDF The output folder The output filename prefix This keeps the generated files organized. Extract Pages The CLI also supports the page selection syntax implemented in the extraction function. For example: 1-5 or: 1,3,5-8 The selected pages are then saved into a new PDF. Current Status The core PDF operations are now implemented and accessible through the CLI. The project has moved from individual PDF functions to an actual usable command-line application. What’s Next The next step is to improve the CLI experience and make the tool more reliable. Possible improvements include: Better error handling Input validation Success/error messages Cleaner terminal output More tests Additional PDF operations Packaging the project for easier installation and distribution"}, {"post_id": 64153, "ts": "2026-09-08T11:14:47Z", "hours": 0.6161, "text": "PDF Toolkit — Devlog 1 Current Progress I’ve started building PDF Toolkit , a small Python command-line utility for working with PDF files. The goal is to keep it simple and modular, while gradually adding useful PDF operations. Project Structure PDF-Toolkit/ ├── main.py ├── requirements.txt ├── operations/ │ ├── __init__.py │ ├── merge.py │ ├── convert.py │ ├── split.py │ └── extract.py └── tests/ ├── __init__.py └── test_merge.py The PDF operations are separated into individual modules instead of putting everything into one file. Implemented Features Merge PDFs Added support for combining multiple PDF files into a single PDF. The merge operation uses PyMuPDF and accepts multiple input files. PDF → Image Added support for converting a specific PDF page into an image. Current options include: Selecting a specific page PNG output JPG output Custom DPI Split PDF Added support for splitting a PDF into individual pages. For example, a multi-page PDF can be split into separate files: page_1.pdf page_2.pdf page_3.pdf ... Extract Pages Added support for extracting selected pages into a new PDF. Pages can be specified individually or as ranges. Example: 2,5,8-10 This creates a new PDF containing pages 2, 5, 8, 9 and 10. CLI The next step is to connect all the existing operations through a simple CLI interface . The user will be able to start PDF Toolkit and select an operation from a menu: PDF Toolkit 1. Merge PDFs 2. PDF → Image 3. Split PDF 4. Extract Pages 5. Exit This will make the current features easier to use without having to call the Python functions manually. What’s Next After the CLI is working, I plan to continue expanding the toolkit with more PDF operations. Planned features: Rotate Pages Delete Pages Reorder Pages Images → PDF PDF information / metadata PDF compression Password protection For now, the focus is on getting the existing features working properly and making them easy to use through the CLI."}]...
|
Title: PDF-Toolkit by @Greg_ios | Stardance
Devlo Title: PDF-Toolkit by @Greg_ios | Stardance
Devlogs:
PDF Toolkit — Devlog 1 Current Progress I’ve started building PDF Toolkit , a small Python command-line utility for working with PDF files. The goal is to keep it simple and modular, while gradually adding useful PDF operations. Project Structure PDF-Toolkit/ ├── main.py ├── requirements.txt ├── operations/ │ ├── __init__.py │ ├── merge.py │ ├── convert.py │ ├── split.py │ └── extract.py └── tests/ ├── __init__.py └── test_merge.py The PDF operations are separated into individual modules instead of putting everything into one file. Implemented Features Merge PDFs Added support for combining multiple PDF files into a single PDF. The merge operation uses PyMuPDF and accepts multiple input files. PDF → Image Added support for converting a specific PDF page into an image. Current options include: Selecting a specific page PNG output JPG output Custom DPI Split PDF Added support for splitting a PDF into individual pages. For example, a multi-page PDF can be split into separate files: page_1.pdf page_2.pdf page_3.pdf ... Extract Pages Added support for extracting selected pages into a new PDF. Pages can be specified individually or as ranges. Example: 2,5,8-10 This creates a new PDF containing pages 2, 5, 8, 9 and 10. CLI The next step is to connect all the existing operations through a simple CLI interface . The user will be able to start PDF Toolkit and select an operation from a menu: PDF Toolkit 1. Merge PDFs 2. PDF → Image 3. Split PDF 4. Extract Pages 5. Exit This will make the current features easier to use without having to call the Python functions manually. What’s Next After the CLI is working, I plan to continue expanding the toolkit with more PDF operations. Planned features: Rotate Pages Delete Pages Reorder Pages Images → PDF PDF information / metadata PDF compression Password protection For now, the focus is on getting the existing features working properly and making them easy to use through the CLI.
PDF Toolkit — Development Log 2 CLI Complete The first usable version of the PDF Toolkit CLI is now complete. I created cli.py and connected all of the PDF operations that were already implemented to a single interactive interface. The CLI is built using Questionary for the terminal menu and Tkinter file dialogs for selecting input and output files. Available Operations The CLI currently supports: Merge PDFs PDF → Image Split PDF Extract Pages Exit Each operation can now be selected directly from the terminal. File Selection Instead of requiring users to manually type file paths, the CLI uses Tkinter file dialogs to select files and folders. For example, when merging PDFs, the user can: Select multiple PDF files Choose the output location Create the merged PDF The same approach is used for the other operations where appropriate. PDF → Image The CLI asks the user for the page number and then allows them to choose where the generated image should be saved. Split PDF For splitting PDFs, the user can select: The input PDF The output folder The output filename prefix This keeps the generated files organized. Extract Pages The CLI also supports the page selection syntax implemented in the extraction function. For example: 1-5 or: 1,3,5-8 The selected pages are then saved into a new PDF. Current Status The core PDF operations are now implemented and accessible through the CLI. The project has moved from individual PDF functions to an actual usable command-line application. What’s Next The next step is to improve the CLI experience and make the tool more reliable. Possible improvements include: Better error handling Input validation Success/error messages Cleaner terminal output More tests Additional PDF operations Packaging the project for easier installation and distribution
PDF Toolkit — DevLog 3 Text Extraction & Final Polish The PDF Toolkit is starting to feel like a real application now. After finishing the main PDF operations and the interactive CLI, I focused this time on adding text extraction and improving the overall reliability of the program. PDF → Text I added a new PDF → Text operation using PyMuPDF. The tool goes through the pages of a PDF, extracts the text and saves everything into a .txt file. This makes it possible to quickly get the text from a PDF without manually copying it page by page. The extracted text keeps the content from all pages in the document. CLI Improvements I also spent some time making the CLI more reliable. The program now handles common problems such as: Cancelled file selection Missing input files Missing output paths Invalid page numbers Invalid page ranges Errors during PDF operations Instead of crashing immediately, the CLI can display an error and return to the main menu. Better User Feedback The CLI now gives clearer feedback when an operation finishes. For example: ✓ PDF merged successfully! If an operation fails, the user gets an error message instead of being left with a Python traceback. This makes the tool much easier to use, especially for someone who doesn’t know how the code works internally. Command-Line Options I also added basic command-line options to make the program easier to use outside of the interactive menu. The application now supports: --help for displaying information about the available commands and options, and: --version for displaying the current version of PDF Toolkit. These are small additions, but they make the project feel much more like a proper command-line application. Current Features At this point, PDF Toolkit supports: Merge PDFs PDF → Image Split PDF Extract Pages PDF → Text Interactive CLI --help --version Input validation Error handling Cancel handling The project is now much more complete than when I started. Testing I’ve been testing the different operations both individually and through the CLI. The main goal is to make sure that the normal workflow works correctly while also handling common user mistakes without crashing the application. There are still things I want to test more thoroughly before calling the project finished, especially when packaging it for other computers. What’s Next The core functionality is now basically finished. The next step is no longer about adding lots of new features. I want to focus on actually shipping the project. The next stage will be: Final testing Packaging PDF Toolkit as a Windows .exe Cleaning up the project Final README updates Preparing the first release Next milestone: v1.0.0 🚀 The goal is to have a version that someone can download and use without needing to manually set up the Python environment.
Ships:
PDF Toolkit is a small Python CLI tool for common PDF operations, with a simple interactive interface....
|
1793055073.8170266
|
1793141473.8170266
|
|
59758
|
portfolo by @sharma_manjuroyal | Stardance
|
sharma_manjuroyal
|
1
|
3.65
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T12:40:28Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "here protfolo", "repo": "https://github.com/sharmamanjuroyal-crypto/portfolo", "demo": "https://portfol-three-henna.vercel.app/"}]...
|
[{"post_id": 66689, "ts": "202 [{"post_id": 66689, "ts": "2026-09-12T15:46:06Z", "hours": 0.4678, "text": "good"}, {"post_id": 66218, "ts": "2026-09-11T22:01:43Z", "hours": 0.8394, "text": "changed css code"}, {"post_id": 64898, "ts": "2026-09-09T16:35:24Z", "hours": 0.3472, "text": "done wait for 2 days"}, {"post_id": 64762, "ts": "2026-09-09T12:34:15Z", "hours": 0.6017, "text": "finshed it shipping it and make some star dust to"}, {"post_id": 64641, "ts": "2026-09-09T06:20:00Z", "hours": 0.4125, "text": "added a emoji"}, {"post_id": 64631, "ts": "2026-09-09T05:27:47Z", "hours": 0.7172, "text": "adding more features"}, {"post_id": 64165, "ts": "2026-09-08T11:43:35Z", "hours": 0.3636, "text": "here coding portfolo"}]...
|
Title: portfolo by @sharma_manjuroyal | Stardance
Title: portfolo by @sharma_manjuroyal | Stardance
Devlogs:
here coding portfolo
adding more features
added a emoji
finshed it shipping it and make some star dust to
done wait for 2 days
changed css code
good
Ships:
here protfolo...
|
1793055075.850716
|
1793141475.850716
|
|
59778
|
My own site! by @bosompimobaayaapoku | Stardance
|
bosompimobaayaapoku
|
1
|
28.15
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T23:13:24Z", "hours": 27.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Oddly Orbital is my personal space-themed website where creativity meets code! I built it using HTML and CSS, experimenting with cosmic visuals, glowing cyan effects, smooth scrolling, and a Mission Control panel to bring the space-exploration vibe to life. What challenged me? Getting the design to feel immersive while making the different elements look good together. I had to experiment with CSS and adjust the glow effects until they looked right. What I’m proud of I’m proud that I turned my ideas into a real, working website. Seeing my space background and glowing Mission Control panel come together made the project feel like my own little universe. What you can test Explore the website and check out the space-themed design. Click the Explore button and test the page navigation. Scroll through the page to try the smooth-scrolling effect. Find Mission Control and look at the glowing ACTIVE status. Hover over Mission Control with your mouse to see if its cyan glow gets brighter. The mission is still active! I’m learning as I build, and this is just the beginning of my journey into web development.", "repo": "https://github.com/bosompimobaayaapoku-sys/yaa", "demo": "https://bosompimobaayaapoku-sys.github.io/yaa/"}]...
|
[{"post_id": 81785, "ts": "202 [{"post_id": 81785, "ts": "2026-10-22T14:21:52Z", "hours": 1.1542, "text": "Ok so now the website is rounding up nicely. The java script was the hardest part because it almost destroyed all my hard work. Thankfully I survived and it was worth it."}, {"post_id": 81658, "ts": "2026-10-21T23:00:09Z", "hours": 11.9217, "text": "What if a website felt like stepping into space? Oddly Orbital is my personal corner of the universe, where creativity meets code. With cosmic visuals, glowing cyan effects, and my own Mission Control panel, I’m turning my curiosity about space and technology into something real. The mission is active, and there’s more to explore!"}, {"post_id": 68294, "ts": "2026-09-14T21:25:00Z", "hours": 15.3208, "text": "my own site!"}]...
|
Title: My own site! by @bosompimobaayaapoku | Star Title: My own site! by @bosompimobaayaapoku | Stardance
Devlogs:
my own site!
What if a website felt like stepping into space? Oddly Orbital is my personal corner of the universe, where creativity meets code. With cosmic visuals, glowing cyan effects, and my own Mission Control panel, I’m turning my curiosity about space and technology into something real. The mission is active, and there’s more to explore!
Ok so now the website is rounding up nicely. The java script was the hardest part because it almost destroyed all my hard work. Thankfully I survived and it was worth it.
Ships:
Oddly Orbital is my personal space-themed website where creativity meets code! I built it using HTML and CSS, experimenting with cosmic visuals, glowing cyan effects, smooth scrolling, and a Mission Control panel to bring the space-exploration vibe to life. What challenged me? Getting the design to feel immersive while making the different elements look good together. I had to experiment with CSS and adjust the glow effects until they looked right. What I’m proud of I’m proud that I turned my ideas into a real, working website. Seeing my space background and glowing Mission Control panel come together made the project feel like my own little universe. What you can test Explore the website and check out the space-themed design. Click the Explore button and test the page navigation. Scroll through the page to try the smooth-scrolling effect. Find Mission Control and look at the glowing ACTIVE status. Hover over Mission Control with your mouse to see if its cyan glow gets brighter. The mission is still active! I’m learning as I build, and this is just the beginning of my journey into web development....
|
1793177582.8578076
|
1793263982.8578076
|
|
59780
|
my first godot project by @Anway | Stardance
|
Anway
|
1
|
13.35
|
13
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T15:27:11Z", "hours": 12.0, "multiplier": 1.27, "payout": 13, "blessing": "neutral", "text": "i made my first 2d project i know i may be not as good as advanced develob but iam really proud to make something like this as i changed in the theme of game with my imagination any one can play it and also used right up left down button to move shift to run and space to jump double space to double jump", "repo": "https://github.com/Ahmedanwar45555555/Platformer-Adventure", "demo": "https://ahmedanwar45555555.itch.io/platformer-adventure"}]...
|
[{"post_id": 66992, "ts": "202 [{"post_id": 66992, "ts": "2026-09-13T00:22:47Z", "hours": 1.3469, "text": "I edited the map of the game and added some features to make it more advanced and different from other tutorials. This is a surprise. Please give me you opoinion"}, {"post_id": 64243, "ts": "2026-09-08T14:34:36Z", "hours": 12.1158, "text": "i made a hidden win point for my game to be excited"}]...
|
Title: my first godot project by @Anway | Stardanc Title: my first godot project by @Anway | Stardance
Devlogs:
i made a hidden win point for my game to be excited
I edited the map of the game and added some features to make it more advanced and different from other tutorials. This is a surprise. Please give me you opoinion
Ships:
i made my first 2d project i know i may be not as good as advanced develob but iam really proud to make something like this as i changed in the theme of game with my imagination any one can play it and also used right up left down button to move shift to run and space to jump double space to double jump...
|
1793055077.9368796
|
1793141477.9368796
|
|
59781
|
Astronomical CNN by @RedPanda | Stardance
|
RedPanda
|
1
|
19.0
|
287
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T20:14:40Z", "hours": 19.0, "multiplier": 15.48, "payout": 287, "blessing": "neutral", "text": "ITS THE FINAL DEVLOG!!!!!! This project tests whether small datasets can be used to train CNN and AI models effectively. I use image augmentation to see which level of image variation affects the final result. To show that this can be done on my own principles, the project uses only open data from NASA and ESO, so no one’s work is used without permission. Check out the website (here)[https://pratyush-m-code.github.io/Basic-AI/]! Check out the Dataset (here)[https://zenodo.org/records/23287441?token=eyJhbGciOiJIUzUxMiJ9.eyJpZCI6ImEzN2NkYWFiLWQ2M2UtNDQ3ZC04M2M2LTMwNGI3YzhmNzk0MyIsImRhdGEiOnt9LCJyYW5kb20iOiIzYmI0ZTFiNDg0NTFlZDNjMjViYzg5OGJkMGJlN2U4MCJ9.GpXlO0vDV-MJe3aFGRJuTAim7Iuxs3wpL4-BY8u8GdQnvdKFwgvUiyiS1Oy0C5o-5pbJc8zXYqKGhH89W0f1Og]!", "repo": "https://github.com/Pratyush-M-code/Basic-AI", "demo": "https://pratyush-m-code.github.io/Basic-AI/"}]...
|
[{"post_id": 78324, "ts": "202 [{"post_id": 78324, "ts": "2026-10-10T12:58:33Z", "hours": 0.7536, "text": "Devlog <we’re so close> ReadMe Updated GETTING CLOSE TO SHIPPING THIS IM SOO PUMPED"}, {"post_id": 78250, "ts": "2026-10-10T04:36:05Z", "hours": 2.1536, "text": "Devlog 12 (penultimate) Model Architecture, Results Interactive Chart, Github Page Learned SVG for the first time and made the model architecture pages; I mostly copied what worked and didn’t play around with CSS, but in the future, I’ll make the code easier to parse. My actual pride and joy is the results section, where I completed the SVG, uploaded it to GitHub, got the graph, and promptly added it to my code. This section is the only (minor) part that was made with the help of AI, as I could not figure out the logic (it’s too much). Also added a link and instructions for the GitHub page!"}, {"post_id": 77905, "ts": "2026-10-08T18:25:01Z", "hours": 1.1144, "text": "Devlog 11 (I’m losing my sanity.) Added Photo Elements and Update Images Last we left off, I finally finished with the buttons. Now I’ve done the logic for displaying the images and overwriting them every time. The border and CSS files were also correct to reflect these changes. I also added the augmentation files that the website pulls from to display the images along with alt text for each one. ps did i also mention that it SCALES TO THE DEVICE? <chef’s kiss>"}, {"post_id": 77373, "ts": "2026-10-06T18:10:45Z", "hours": 2.0014, "text": "Devlog 10 (FINALLY) Header and Footer. Fixed the header to make it look more professional as well as add navigation buttons with small quirky animations. I also added the footer, finally removing the ever-present tester h1 tag and replacing it with my bog-standard footer. I also animated the icon to make them jump when you hover over them!"}, {"post_id": 76689, "ts": "2026-10-04T10:48:38Z", "hours": 1.6047, "text": "Devlog 9 Buttons for Demo Finally completed the button designs for the demo part of the website when I show what augmentations I use for every model. Added hover animations and a (I assume) novel way of tracking the active state of buttons on Javascript. It uses an active class and assigns it to the clicked button by removing it from all others, ensuring that 2 buttons of the same class are not selected together. I have also made the website=> This is a test website and is subject to changes p.s. If the link seems broken check the project page!"}, {"post_id": 76639, "ts": "2026-10-04T07:32:33Z", "hours": 1.4444, "text": "Devlog 8 Section 1 and Pixelated Borders Created and wrote the first section with the problem statement and a short description of the project and my motivations. I also added the pixelated corners of my website to continue with the pixel art theme. I am going to start working on the augmentation tester and model architecture next."}, {"post_id": 76125, "ts": "2026-10-02T12:51:43Z", "hours": 1.1747, "text": "Devlog 7 Background Star Twinkle and Base Sections. I changed the JavaScript section to have random timings, size and positions of the stars in the script. I also changed the css to reflect the same and also added the transform command to the keyframe. I also set up the font (pixl sans) and also made the headers and base divs for the sections."}, {"post_id": 75560, "ts": "2026-09-30T13:10:22Z", "hours": 1.3617, "text": "Devlog 6 Small explanatory website. Working on making an explanation for this project to help in shipping and also to show to people. I have started working on the base HTML and CSS, but I have also added small twinkling stars in the background."}, {"post_id": 74444, "ts": "2026-09-27T11:59:14Z", "hours": 1.7075, "text": "Devlog 5 Early stopping + Test Function Added early stopping to prevent the model from overfitting and to preserve the best values. Added scikit-learn to work on the testing side and to help with storing the data for the multiple runs I do. The be-all and end-all will be running the model multiple times with different augment values and to see the sweet spot where the augmentation of the dataset starts to help generate more accurate results."}, {"post_id": 71882, "ts": "2026-09-21T18:07:29Z", "hours": 1.0164, "text": "Devlog 4 Added Augment Number and Seed, Added Validation Test Set and introduced CSV files for proper attribution. In Augment.py I finally bit the bullet and changed the script to work with titles like the name of the file. It will now also generate reproducible random results based on a seed function and number augments needed. In the Main.py I added validation data step to more clearly see where the model was over fitting. Also added the 2 data CSV files."}, {"post_id": 68780, "ts": "2026-09-15T18:53:39Z", "hours": 1.2878, "text": "Devlog 3 Ok, so I just finished with the testing data set and logging all the data in the csv files, I hope to automate this in the future, but currently I’m working on making the data augmentation pipeline faster."}, {"post_id": 68163, "ts": "2026-09-14T17:02:13Z", "hours": 1.655, "text": "Added Validation and History for Tracking. I removed the dataset from git status updates and will update it to another website or upload it git in the last commit. I added a validation dataset (splitting) and added it to model.fit. On top of that to track the model, I added history and charts to track the model."}, {"post_id": 67936, "ts": "2026-09-14T07:58:15Z", "hours": 1.2464, "text": "Devlog 1 Augmented the Data. Fixed file structure again, making it more cleaner and using .gitignore properly. Fixed the augment.py to work with the entire file at once instead of needing to select each file seperately. Fixed the Readme file to have a format, will update it as and when I complete said project. To-do Input changes to the CNN for effective learning Adding a test/train split Documenting the changes that occur when Batch Size/Epochs are changed. (not really sure on this one)"}]...
|
Title: Astronomical CNN by @RedPanda | Stardance
Title: Astronomical CNN by @RedPanda | Stardance
Devlogs:
Devlog 1 Augmented the Data. Fixed file structure again, making it more cleaner and using .gitignore properly. Fixed the augment.py to work with the entire file at once instead of needing to select each file seperately. Fixed the Readme file to have a format, will update it as and when I complete said project. To-do Input changes to the CNN for effective learning Adding a test/train split Documenting the changes that occur when Batch Size/Epochs are changed. (not really sure on this one)
Added Validation and History for Tracking. I removed the dataset from git status updates and will update it to another website or upload it git in the last commit. I added a validation dataset (splitting) and added it to model.fit. On top of that to track the model, I added history and charts to track the model.
Devlog 3 Ok, so I just finished with the testing data set and logging all the data in the csv files, I hope to automate this in the future, but currently I’m working on making the data augmentation pipeline faster.
Devlog 4 Added Augment Number and Seed, Added Validation Test Set and introduced CSV files for proper attribution. In Augment.py I finally bit the bullet and changed the script to work with titles like the name of the file. It will now also generate reproducible random results based on a seed function and number augments needed. In the Main.py I added validation data step to more clearly see where the model was over fitting. Also added the 2 data CSV files.
Devlog 5 Early stopping + Test Function Added early stopping to prevent the model from overfitting and to preserve the best values. Added scikit-learn to work on the testing side and to help with storing the data for the multiple runs I do. The be-all and end-all will be running the model multiple times with different augment values and to see the sweet spot where the augmentation of the dataset starts to help generate more accurate results.
Devlog 6 Small explanatory website. Working on making an explanation for this project to help in shipping and also to show to people. I have started working on the base HTML and CSS, but I have also added small twinkling stars in the background.
Devlog 7 Background Star Twinkle and Base Sections. I changed the JavaScript section to have random timings, size and positions of the stars in the script. I also changed the css to reflect the same and also added the transform command to the keyframe. I also set up the font (pixl sans) and also made the headers and base divs for the sections.
Devlog 8 Section 1 and Pixelated Borders Created and wrote the first section with the problem statement and a short description of the project and my motivations. I also added the pixelated corners of my website to continue with the pixel art theme. I am going to start working on the augmentation tester and model architecture next.
Devlog 9 Buttons for Demo Finally completed the button designs for the demo part of the website when I show what augmentations I use for every model. Added hover animations and a (I assume) novel way of tracking the active state of buttons on Javascript. It uses an active class and assigns it to the clicked button by removing it from all others, ensuring that 2 buttons of the same class are not selected together. I have also made the website=> This is a test website and is subject to changes p.s. If the link seems broken check the project page!
Devlog 10 (FINALLY) Header and Footer. Fixed the header to make it look more professional as well as add navigation buttons with small quirky animations. I also added the footer, finally removing the ever-present tester h1 tag and replacing it with my bog-standard footer. I also animated the icon to make them jump when you hover over them!
Devlog 11 (I’m losing my sanity.) Added Photo Elements and Update Images Last we left off, I finally finished with the buttons. Now I’ve done the logic for displaying the images and overwriting them every time. The border and CSS files were also correct to reflect these changes. I also added the augmentation files that the website pulls from to display the images along with alt text for each one. ps did i also mention that it SCALES TO THE DEVICE? <chef’s kiss>
Devlog 12 (penultimate) Model Architecture, Results Interactive Chart, Github Page Learned SVG for the first time and made the model architecture pages; I mostly copied what worked and didn’t play around with CSS, but in the future, I’ll make the code easier to parse. My actual pride and joy is the results section, where I completed the SVG, uploaded it to GitHub, got the graph, and promptly added it to my code. This section is the only (minor) part that was made with the help of AI, as I could not figure out the logic (it’s too much). Also added a link and instructions for the GitHub page!
Devlog <we’re so close> ReadMe Updated GETTING CLOSE TO SHIPPING THIS IM SOO PUMPED
Ships:
ITS THE FINAL DEVLOG!!!!!! This project tests whether small datasets can be used to train CNN and AI models effectively. I use image augmentation to see which level of image variation affects the final result. To show that this can be done on my own principles, the project uses only open data from NASA and ESO, so no one’s work is used without permission. Check out the website (here)[https://pratyush-m-code.github.io/Basic-AI/]! Check out the Dataset (here)[https://zenodo.org/records/23287441?token=eyJhbGciOiJIUzUxMiJ9.eyJpZCI6ImEzN2NkYWFiLWQ2M2UtNDQ3ZC04M2M2LTMwNGI3YzhmNzk0MyIsImRhdGEiOnt9LCJyYW5kb20iOiIzYmI0ZTFiNDg0NTFlZDNjMjViYzg5OGJkMGJlN2U4MCJ9.GpXlO0vDV-MJe3aFGRJuTAim7Iuxs3wpL4-BY8u8GdQnvdKFwgvUiyiS1Oy0C5o-5pbJc8zXYqKGhH89W0f1Og]!...
|
1793055079.7120044
|
1793141479.7120044
|
|
59812
|
Cyber3000 by @Srikar1705 | Stardance
|
Srikar1705
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T14:08:01Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Cyber3000 is a Slack bot made for people obsessed over the 2000s era or who are interested on knowing more about it. This bot brings back a wave of nostalgia and retro technology. Coded in Node.js using Slack’s Bolt Framework, also developed two API Endpoints as part of this project (data formatted in JSON). Commands: /cyber3000-y2ktech - Gives a piece of info about iconic tech devices from the 2000s era. /cyber3000-nostalgia - Drops a nostalgic memory from the 1990s-2010s. /cyber3000-seek - Gives a summary about the keyword entered. /cyber3000-ascii - Converts the given text into ASCII Art and displays it. /cyber3000-advice - Drops a random piece of advice. /cyber3000-help and /cyber3000-ping - Basic commands What I Learnt Thanks to Stardance, I developed my first Slack bot in NodeJS. It was a great experience to express my interests and make a bot on it. Following the guide, writing the code, debugging, writing devlogs and good git commits was a really good journey. For a person like me, who’s very much interested in programming, I loved the idea of proper documentation for a project right from writing my first devlog to what I’m writing now. I learnt many things during the course of developing this bot, especially that coding is not the whole part and presentation is what makes your project the best! Where I Struggled Though this project being my first time writing the code for a Slackbot, I did not feel it to be very tough except for displaying the result from the API Endpoint as a response to the user on Slack, which returned [object Object] and [object Promise] multiple times but I soon learnt the reason behind it and solved it. I also didn’t know where know where to use async and await until my project came to an end. Thanks, Srikar.", "repo": "https://github.com/SRIKAR-B-S-S/Cyber3000", "demo": "https://hackclub.enterprise.slack.com/archives/C0C1MBX3RA8"}]...
|
[{"post_id": 66585, "ts": "202 [{"post_id": 66585, "ts": "2026-09-12T13:03:16Z", "hours": 0.6617, "text": "Devlog 5 - Ephemeral?? I have added all the commands to Cyber3000 which I wanted to and today is the day to run it 24/7 on Nest. I started seting up my bot on Nest from my command prompt, following the guide… And after I’ve done it, I opened Slack to try out my bot, just to get shocked that the responses were only visible to me! Throwback to 3 days ago, while testing my bot on Slack during the time of running my bot locally, I saw that all of it’s responses were ephemeral. I mistook that it was happening because I was running my bot locally. I had to add a line of code for every response in my code to fix it and I edited the index.js file from my command prompt itself using the command nano index.js (Nano is CLI-based text editor) and restarted the container from Nest. Now that everything is fixed, I’ve added the demo url to README.md on my Github Repo. Tested all the commands of my bot again and now I think am sure that my project is ready to be shipped! Do checkout the responses of the bot (it’s not ephemeral anymore!!) 👇🏻"}, {"post_id": 66006, "ts": "2026-09-11T15:00:10Z", "hours": 1.3344, "text": "Devlog 4 - The ASCII Art I was tinkering with my project, wondering which feature to add next. That’s when the ASCII Art came into my mind… For those who don’t know, ASCII was a character encoding standard and ASCII Art was a graphic design technique which used the those characters for art which was widely used during the 80s. I had known this art for a while and for Cyber3000’s theme, I thought it would be very cool to add it. Also added a help command for the bot. Do check out the ASCII Art below!"}, {"post_id": 65373, "ts": "2026-09-10T13:55:55Z", "hours": 1.6611, "text": "Devlog 3 - My Own API Endpoint for Cyber3000 Two days ago, I’ve just read the Hackclub guide on making a Slackbot which uses APIs to retrieve data such as a random cat image or a random joke.. And I found APIs interesting right from the start when I was trying to find a theme for making my Slack bot. I did some research on how basic API Endpoints work and how they retrieve and manage data formatted in JSON. Today, I started gathering a lot of information about 2000s tech and nostalgic memories of the 1990s-2010s(early) era and I have made two JSON files with the data from which my bot can retrieve the info and drop a random info. about 2000s tech or a nostalgic memory. Though I was not born in that era, I’m definitely very fond of it. I have added two commands for the above: /cyber3000-y2ktech /cyber3000-nostalgia Below attached are their screenshots:"}, {"post_id": 65247, "ts": "2026-09-10T07:38:40Z", "hours": 1.5194, "text": "Devlog 2 - The Seek Command Thought of adding a command which gives a summary of any keyword entered and went for the DuckDuckGO API. Struggled with catching the proper part I needed from the API and displaying it to the user. As the it returned a lot of information about the keyword(such as links and a lot of specifications related to it), I had to filter the result only to get the short summary. The bot was replying with [object Promise] until I realised that I’ve missed await when calling the function. The silly part was I’ve entered = instead of === in an if statement. Sorted everything at the end! The Seek Command! 👇🏻"}, {"post_id": 64934, "ts": "2026-09-09T17:35:42Z", "hours": 0.7225, "text": "Devlog 1 - The First Commit Started with setting up my bot on Slack API website and wrote the boilerplate code for the bot on VSC in Node.js. Thanks to the Hackclub guide on making a Slack bot, it made my work easy. Struggled with testing my bot on Slack channel until I realised that my ‘node index.js’ was not running on my Terminal. Added a ‘/cyber3000-advice’ command which fetches a random advice from the AdviceSlip API Lastly, committed everything into my Github Repo The advice command:"}]...
|
Title: Cyber3000 by @Srikar1705 | Stardance
Devlo Title: Cyber3000 by @Srikar1705 | Stardance
Devlogs:
Devlog 1 - The First Commit Started with setting up my bot on Slack API website and wrote the boilerplate code for the bot on VSC in Node.js. Thanks to the Hackclub guide on making a Slack bot, it made my work easy. Struggled with testing my bot on Slack channel until I realised that my ‘node index.js’ was not running on my Terminal. Added a ‘/cyber3000-advice’ command which fetches a random advice from the AdviceSlip API Lastly, committed everything into my Github Repo The advice command:
Devlog 2 - The Seek Command Thought of adding a command which gives a summary of any keyword entered and went for the DuckDuckGO API. Struggled with catching the proper part I needed from the API and displaying it to the user. As the it returned a lot of information about the keyword(such as links and a lot of specifications related to it), I had to filter the result only to get the short summary. The bot was replying with [object Promise] until I realised that I’ve missed await when calling the function. The silly part was I’ve entered = instead of === in an if statement. Sorted everything at the end! The Seek Command! 👇🏻
Devlog 3 - My Own API Endpoint for Cyber3000 Two days ago, I’ve just read the Hackclub guide on making a Slackbot which uses APIs to retrieve data such as a random cat image or a random joke.. And I found APIs interesting right from the start when I was trying to find a theme for making my Slack bot. I did some research on how basic API Endpoints work and how they retrieve and manage data formatted in JSON. Today, I started gathering a lot of information about 2000s tech and nostalgic memories of the 1990s-2010s(early) era and I have made two JSON files with the data from which my bot can retrieve the info and drop a random info. about 2000s tech or a nostalgic memory. Though I was not born in that era, I’m definitely very fond of it. I have added two commands for the above: /cyber3000-y2ktech /cyber3000-nostalgia Below attached are their screenshots:
Devlog 4 - The ASCII Art I was tinkering with my project, wondering which feature to add next. That’s when the ASCII Art came into my mind… For those who don’t know, ASCII was a character encoding standard and ASCII Art was a graphic design technique which used the those characters for art which was widely used during the 80s. I had known this art for a while and for Cyber3000’s theme, I thought it would be very cool to add it. Also added a help command for the bot. Do check out the ASCII Art below!
Devlog 5 - Ephemeral?? I have added all the commands to Cyber3000 which I wanted to and today is the day to run it 24/7 on Nest. I started seting up my bot on Nest from my command prompt, following the guide… And after I’ve done it, I opened Slack to try out my bot, just to get shocked that the responses were only visible to me! Throwback to 3 days ago, while testing my bot on Slack during the time of running my bot locally, I saw that all of it’s responses were ephemeral. I mistook that it was happening because I was running my bot locally. I had to add a line of code for every response in my code to fix it and I edited the index.js file from my command prompt itself using the command nano index.js (Nano is CLI-based text editor) and restarted the container from Nest. Now that everything is fixed, I’ve added the demo url to README.md on my Github Repo. Tested all the commands of my bot again and now I think am sure that my project is ready to be shipped! Do checkout the responses of the bot (it’s not ephemeral anymore!!) 👇🏻
Ships:
Cyber3000 is a Slack bot made for people obsessed over the 2000s era or who are interested on knowing more about it. This bot brings back a wave of nostalgia and retro technology. Coded in Node.js using Slack’s Bolt Framework, also developed two API Endpoints as part of this project (data formatted in JSON). Commands: /cyber3000-y2ktech - Gives a piece of info about iconic tech devices from the 2000s era. /cyber3000-nostalgia - Drops a nostalgic memory from the 1990s-2010s. /cyber3000-seek - Gives a summary about the keyword entered. /cyber3000-ascii - Converts the given text into ASCII Art and displays it. /cyber3000-advice - Drops a random piece of advice. /cyber3000-help and /cyber3000-ping - Basic commands What I Learnt Thanks to Stardance, I developed my first Slack bot in NodeJS. It was a great experience to express my interests and make a bot on it. Following the guide, writing the code, debugging, writing devlogs and good git commits was a really good journey. For a person like me, who’s very much interested in programming, I loved the idea of proper documentation for a project right from writing my first devlog to what I’m writing now. I learnt many things during the course of developing this bot, especially that coding is not the whole part and presentation is what makes your project the best! Where I Struggled Though this project being my first time writing the code for a Slackbot, I did not feel it to be very tough except for displaying the result from the API Endpoint as a response to the user on Slack, which returned [object Object] and [object Promise] multiple times but I soon learnt the reason behind it and solved it. I also didn’t know where know where to use async and await until my project came to an end. Thanks, Srikar....
|
1793055084.6645055
|
1793141484.6645055
|
|
59835
|
Text Sanitizer by @emin | Stardance
|
emin
|
1
|
3.0
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T11:45:07Z", "hours": 3.0, "multiplier": 2.86, "payout": 5, "blessing": "neutral", "text": "I built Text Sanitizer, a small web app that cleans up messy text before it gets copied, pasted, or shared. It removes extra whitespace, strips unwanted html content, normalizes formatting, and makes text safer and easier to reuse without making it feel over-processed. The biggest challenge was balancing simplicity with safety. I wanted the sanitizer to be fast and easy to use, while still handling edge cases like repeated spaces, malformed markup, and messy pasted content without breaking the original meaning. I’m proud of the overall user experience: the app is easy to test in real time. I also added a few quality-of-life improvements, including instant preview, simple copy workflow, and clearer output for users who want a cleaner result quickly. To test it, paste text with repeated spaces, HTML-like fragments, or noisy formatting into the input box and compare the cleaned output. The tool is meant to help people sanitize text in seconds while keeping the result readable and consistent.", "repo": "https://github.com/muhammet842/Text-Sanitizer", "demo": "https://text-sanitizer-gules.vercel.app/"}]...
|
[{"post_id": 64740, "ts": "202 [{"post_id": 64740, "ts": "2026-09-09T11:38:15Z", "hours": 0.6578, "text": "Finally, I finished the project. That’s how it looks right now. Link: https://text-sanitizer-gules.vercel.app/"}, {"post_id": 64718, "ts": "2026-09-09T10:45:38Z", "hours": 1.9881, "text": "That’s the current version of my project. I’m still developing it. I hope it will be usefull for people with their tasks and works. It’s on live, you can try it from the link: https://text-sanitizer-gules.vercel.app/"}, {"post_id": 64270, "ts": "2026-09-08T15:25:15Z", "hours": 0.3372, "text": "I am building a frictionless tool to clean up messy text, extract key metrics, and remove clutter instantly.Tested it on a real-world messy research snippet containing scattered email addresses, raw URLs, extra white spaces, and rogue HTML tags. With a single click, it extracted all 3 contact emails ( [email protected] , [email protected] , [email protected] ) and parsed out clean URLs effortlessly!"}]...
|
Title: Text Sanitizer by @emin | Stardance
Devlog Title: Text Sanitizer by @emin | Stardance
Devlogs:
I am building a frictionless tool to clean up messy text, extract key metrics, and remove clutter instantly.Tested it on a real-world messy research snippet containing scattered email addresses, raw URLs, extra white spaces, and rogue HTML tags. With a single click, it extracted all 3 contact emails ( [email protected] , [email protected] , [email protected] ) and parsed out clean URLs effortlessly!
That’s the current version of my project. I’m still developing it. I hope it will be usefull for people with their tasks and works. It’s on live, you can try it from the link: https://text-sanitizer-gules.vercel.app/
Finally, I finished the project. That’s how it looks right now. Link: https://text-sanitizer-gules.vercel.app/
Ships:
I built Text Sanitizer, a small web app that cleans up messy text before it gets copied, pasted, or shared. It removes extra whitespace, strips unwanted html content, normalizes formatting, and makes text safer and easier to reuse without making it feel over-processed. The biggest challenge was balancing simplicity with safety. I wanted the sanitizer to be fast and easy to use, while still handling edge cases like repeated spaces, malformed markup, and messy pasted content without breaking the original meaning. I’m proud of the overall user experience: the app is easy to test in real time. I also added a few quality-of-life improvements, including instant preview, simple copy workflow, and clearer output for users who want a cleaner result quickly. To test it, paste text with repeated spaces, HTML-like fragments, or noisy formatting into the input box and compare the cleaned output. The tool is meant to help people sanitize text in seconds while keeping the result readable and consistent....
|
1793055087.4611192
|
1793141487.4611192
|
|
59853
|
PulseBot by @NamasyuChallagarige | Stardance
|
NamasyuChallagarige
|
1
|
1.34
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T10:48:25Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built PulseBot, a Slack bot using Python and Slack Bolt with three custom commands: /pulse-help , /pulse-motivate , and /pulse-time . The most challenging part was setting up Slack Socket Mode, environment variables, and deploying the bot to Railway while keeping my tokens private. I’m proud that I took the project from local code to a working cloud deployment that runs independently of my laptop. To test it, open the Slack demo and try /pulse-help , /pulse-motivate , or /pulse-time . The bot should respond directly in Slack.", "repo": "https://github.com/namasyuch/pulsebot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0C2CT7RX5X"}]...
|
[{"post_id": 73944, "ts": "202 [{"post_id": 73944, "ts": "2026-09-26T11:49:45Z", "hours": 1.3403, "text": "I am working on creating a SLACK-BOT , which responds any time 24/7 with 3 useful commands."}, {"post_id": 64774, "ts": "2026-09-09T13:00:02Z", "hours": 0.2675, "text": "PulseBot I built PulseBot, a Python Slack bot using Slack Bolt and Socket Mode. Features: /pulse-help — Shows commands /pulse-motivate — Sends motivation /pulse-time — Shows the current time I first tested it locally, then deployed it to Railway. What I learned : Python + Slack Bolt, slash commands, Socket Mode, environment variables, GitHub, and cloud deployment."}]...
|
Title: PulseBot by @NamasyuChallagarige | Stardanc Title: PulseBot by @NamasyuChallagarige | Stardance
Devlogs:
PulseBot I built PulseBot, a Python Slack bot using Slack Bolt and Socket Mode. Features: /pulse-help — Shows commands /pulse-motivate — Sends motivation /pulse-time — Shows the current time I first tested it locally, then deployed it to Railway. What I learned : Python + Slack Bolt, slash commands, Socket Mode, environment variables, GitHub, and cloud deployment.
I am working on creating a SLACK-BOT , which responds any time 24/7 with 3 useful commands.
Ships:
I built PulseBot, a Slack bot using Python and Slack Bolt with three custom commands: /pulse-help , /pulse-motivate , and /pulse-time . The most challenging part was setting up Slack Socket Mode, environment variables, and deploying the bot to Railway while keeping my tokens private. I’m proud that I took the project from local code to a working cloud deployment that runs independently of my laptop. To test it, open the Slack demo and try /pulse-help , /pulse-motivate , or /pulse-time . The bot should respond directly in Slack....
|
1793055089.860234
|
1793141489.860234
|
|
59859
|
Our Portfolio🐼🐕 by @n_astdo | Stardance
|
n_astdo
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T15:00:37Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I did a project that’s called Our Portfolio. I made this project for me and my bestie. I added all the music, singers, films and many more that we like. One thing that was challenging was starting and finishing, but I did it. So now all teens will know a bit more about me and my bestie💛. Enjoy", "repo": "https://github.com/idonot-nas/Our_Portfolio", "demo": "https://idonot-nas.github.io/Our_Portfolio/"}]...
|
[{"post_id": 69168, "ts": "202 [{"post_id": 69168, "ts": "2026-09-16T14:53:56Z", "hours": 1.2131, "text": "Finally I did it🤩"}, {"post_id": 68770, "ts": "2026-09-15T18:42:49Z", "hours": 0.5886, "text": "Add some actors and actresses"}, {"post_id": 68264, "ts": "2026-09-14T20:07:11Z", "hours": 2.6222, "text": "Making some smth inside"}, {"post_id": 66155, "ts": "2026-09-11T19:51:38Z", "hours": 0.3403, "text": "Working on design"}, {"post_id": 65443, "ts": "2026-09-10T16:07:36Z", "hours": 0.7028, "text": "I am adding some buttons"}, {"post_id": 64693, "ts": "2026-09-09T09:21:21Z", "hours": 2.305, "text": "Working on portfolio with my friends"}]...
|
Title: Our Portfolio🐼🐕 by @n_astdo | Stardance
De Title: Our Portfolio🐼🐕 by @n_astdo | Stardance
Devlogs:
Working on portfolio with my friends
I am adding some buttons
Working on design
Making some smth inside
Add some actors and actresses
Finally I did it🤩
Ships:
I did a project that’s called Our Portfolio. I made this project for me and my bestie. I added all the music, singers, films and many more that we like. One thing that was challenging was starting and finishing, but I did it. So now all teens will know a bit more about me and my bestie💛. Enjoy...
|
1793055093.929708
|
1793141493.929708
|
|
59860
|
Duckosaur by @Harupi | Stardance
|
Harupi
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T17:36:48Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My girlfriend asked me to make a t-rex game with a duck she and her roommates had drawn, so I did it. This game features randomly spawning cactuses, score, and a beautiful duck. I’ll probably make a leaderboard and maybe add flying mobs in a future version. Hope you like it !", "repo": "https://github.com/Hvrnbi/duckosaur", "demo": "https://duckosaur.harupi.me"}]...
|
[{"post_id": 67532, "ts": "202 [{"post_id": 67532, "ts": "2026-09-13T17:31:59Z", "hours": 1.9417, "text": "Duckosaur devlog 3 - Ready to ship ! This time, I made the score system, the styling, the README, and the deployment ! Now the first version is ready to be shipped !"}, {"post_id": 65278, "ts": "2026-09-10T09:13:42Z", "hours": 2.0406, "text": "Duckosaur devlog 2 - Hellooooo The duck is not a yellow square anymore ! I also added randomly spawning cactus (I’ll have to draw a cactus by myself). They move and if they touch the player, the game is over. Have a nice day !"}, {"post_id": 64295, "ts": "2026-09-08T16:09:01Z", "hours": 0.395, "text": "Duckosaur devlog 1 - My girlfriend asked me to make a t-rex game with a duck she’d drawn, so I’m doing it. Hello ! I first tried to make it in Rust using Dioxus to publish it as a website, but after struggling for over 2 hours trying to remove the “jumping” class from the player after a certain amount of time, I decided to switch to javascript since this isn’t a serious project. Should I link the hackatime records of the 2 projects together ? I don’t really know. So I redid in js what I had done in Rust, and now the player can jump more than once ! She hasn’t sent me the drawing yet so for now the duck is a yellow square. See you soon !"}]...
|
Title: Duckosaur by @Harupi | Stardance
Devlogs:
Title: Duckosaur by @Harupi | Stardance
Devlogs:
Duckosaur devlog 1 - My girlfriend asked me to make a t-rex game with a duck she’d drawn, so I’m doing it. Hello ! I first tried to make it in Rust using Dioxus to publish it as a website, but after struggling for over 2 hours trying to remove the “jumping” class from the player after a certain amount of time, I decided to switch to javascript since this isn’t a serious project. Should I link the hackatime records of the 2 projects together ? I don’t really know. So I redid in js what I had done in Rust, and now the player can jump more than once ! She hasn’t sent me the drawing yet so for now the duck is a yellow square. See you soon !
Duckosaur devlog 2 - Hellooooo The duck is not a yellow square anymore ! I also added randomly spawning cactus (I’ll have to draw a cactus by myself). They move and if they touch the player, the game is over. Have a nice day !
Duckosaur devlog 3 - Ready to ship ! This time, I made the score system, the styling, the README, and the deployment ! Now the first version is ready to be shipped !
Ships:
My girlfriend asked me to make a t-rex game with a duck she and her roommates had drawn, so I did it. This game features randomly spawning cactuses, score, and a beautiful duck. I’ll probably make a leaderboard and maybe add flying mobs in a future version. Hope you like it !...
|
1793055095.9596264
|
1793141495.9596264
|
|
59861
|
Cirkuit by @spectra | Stardance
|
spectra
|
1
|
127.4
|
1802
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T22:09:45Z", "hours": 95.0, "multiplier": 18.99, "payout": 1802, "blessing": "neutral", "text": "Hi! I’m really happy to introduce you to my biggest project so far. It’s called Cirkuit, and it’s a logic circuit sandbox simulator… but with pixel art! That means you can basically build anything using just pixels. Why pixels? You may ask. Well, many logic simulators already exist, but the issue is that most of them aren’t very accessible to the average user. That’s why I wanted Cirkuit to be as easy to use as possible. I’m already quite familiar with TypeScript and React, which I used for this project. So the most difficult part was actually figuring out how to implement features without having 100 nested loops :D I had a hard time figuring out how to build the core engine (obviously), as well as the annotation system. I’m quite proud of how it looks and how well it works. This project was a perfect opportunity for me to improve my design skills. I worked hard to reduce friction between the interface and the user (aka you, dear shipwriters). One piece of advice: try it on a computer with a mouse. Phones and trackpads are supported, but it’s not the best experience. Hope you’ll like this project!", "repo": "https://github.com/NaFo44/Cirkuit", "demo": "https://nafo44.github.io/Cirkuit/"}]...
|
[{"post_id": 83044, "ts": "202 [{"post_id": 83044, "ts": "2026-10-26T17:30:29Z", "hours": 4.7797, "text": "Devlog 42 : Integrated circuits (almost done!) It wasn’t easy! The UX part is actually really challenging. I had to rely on AI more than usual because Stardance is ending really soon, and I’m honestly a bit scared of not having enough time to ship :/ I’ll still try to polish the UI as much as possible! The screenshot below shows what it currently looks like. I added a new section for modules in the sidebar, where you can see all the modules you’ve created, edit them, or create new ones. When creating a new module, you can set its name, preview the footprint, add or remove inputs/outputs, and place them directly on the footprint. It’s almost ready tho! I’m just polishing the UX now. Next steps: finish this feature, polish the UI/UX, ship!"}, {"post_id": 82831, "ts": "2026-10-25T23:44:06Z", "hours": 2.5764, "text": "Devlog 41 : Integrated Circuits I’m working on the UI! The picture below shows what it currently looks like. I’m still not sure about the colors, so they might change. I still have the hardest part to figure out: How will users create and modify a module, UX-wise? Will it have its own sub-editor? How will users assign pins, name them, and define the module’s size and name? As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: Keep working on the UI, polish the UX/UI, and ship!"}, {"post_id": 82612, "ts": "2026-10-25T12:50:30Z", "hours": 2.0128, "text": "Devlog #40 : Integrated circuits I’m (again) still working on this feature! Since my last devlog, I’ve updated the project document format to serialize the new modules. And that’s basically it! Next step: integrate them into the UI, polish the UX, and ship!"}, {"post_id": 82446, "ts": "2026-10-24T20:32:14Z", "hours": 3.4561, "text": "Devlog #39 : Integrated circuits (again) I’m still working on this feature! I’m not at the frontend part yet, still adapting the engine. More details if you’re curious: A module has a definition that includes its name, public pins, and internal circuit. It can be used multiple times (it’s called an instance in the code). And all modules are listed in a catalog (that I’ll probably integrate in the frontend later). Instances can be selected, moved, copied and pasted, across the layers… The picture bellow shows how this feature could be used. It will make things much easier if you want to build more complex circuits like an 8 bit adder. You’ll just have to stack 8x 1-bit full adder modules! As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: finish the backend side, then integrate everything into the frontend, polish the UI, and ship!"}, {"post_id": 81890, "ts": "2026-10-22T21:14:45Z", "hours": 1.7631, "text": "Devlog #38 : Integrated circuits Some of you have requested this, so I’m working on it! It’s not out yet, as it’s a pretty big feature. Integrated circuits will basically be custom components (most likely rectangles) with multiple inputs and outputs, all defined by the user. It’s literally a footprint, kinda like what you’d find in KiCad. I’ve started modifying the engine’s internals so it can handle these new types of connections (alongside the classic 1-pixel components). The real challenge here is keeping everything simple on the UX side, even though this feature targets more advanced users. The image below only shows what it might look like, this will probably change over time. As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: keep working on this feature, polish the UI/UX, ship it, and sadly… the end of stardance :("}, {"post_id": 80656, "ts": "2026-10-18T12:34:55Z", "hours": 0.6414, "text": "Devlog #37 : Probe tool is out! You can now inspect your circuits with this new tool. It highlights equipotential wires. I also added small circles to every connected ports. Next steps: UI polish, and maybe a “challenge” or “community circuits” tab."}, {"post_id": 80469, "ts": "2026-10-17T19:03:13Z", "hours": 1.3664, "text": "Devlog #36 : Probe tool and 4-bit calculator. While I was working on improving my 7-segment display, I had quite a hard time simplifying the circuit. Then I thought it could be really useful to have a tool that shows all the equipotential wires. So I’m currently working on it! It’s working, but I still have to improve its style before publishing it. Aside from that, I actually spent way too many hours improving the 4-bit calculator. And it’s now finished! It’s available in the demo circuit if you want to try it. I’ll see if I can build a keyboard later so users don’t have to enter numbers in binary. As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: finish the Probe tool, polish the UI, add a “challenge” tab."}, {"post_id": 79615, "ts": "2026-10-14T18:37:38Z", "hours": 1.4939, "text": "Devlog #35 : UI cleanup and (another) demo circuit The sidebar was getting a bit too crowded, so I added a small button to show/hide the more advanced components. The idea is to make things a little less overwhelming for new users, instead of throwing everything at them right away. I also worked on a 4-bit adder and wired it up to my 7-segment decoder! I’m going to try making it a 4-bit decoder instead of a 3-bit one, but things are going to get a lot more complicated (more numbers = more logic gates). One small issue with the adder for now: the most significant bit is on the right, so the input is basically reversed. I’ll fix that soon. In the meantime, you can already try it out in the live demo project! As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: more UI/UX improvements, adding challenges, and continuing to waste way too much of my time messing around with circuits xd"}, {"post_id": 79427, "ts": "2026-10-13T22:49:03Z", "hours": 0.4678, "text": "Devlog #34 : New component: Memory! This is one step up in difficulty! It has two inputs: a clock input (at the top) and a signal input (on the left). The output signal is provided on the right. This component can store a 1-bit value, which is updated on every rising edge of the clock signal. You can basically build anything with the component available: calculator, more advanced display (e.g. a 7-segment decoder that can go from 0 to 9). I added a 3-bit binary counter that I wired up to my 7-segment decoder! (demo bellow). It’s also included in the demo project file. Next steps: cleanup UI and improve UX (the sidebar is really really crowded right now)"}, {"post_id": 79113, "ts": "2026-10-12T18:33:18Z", "hours": 1.6869, "text": "Devlog #33 : Docs update and 1-bit memory! I added the clock to the docs page, along with some new tests for it. I’m also almost done with the 1-bit memory (basically a simplified D flip-flop). I’ll share it in the next devlog! Also, if you like this project, you can leave a star on the project’s GitHub page if you wish! Next steps: finish the 1-bit memory and clean up the UI/UX"}, {"post_id": 77284, "ts": "2026-10-06T12:57:02Z", "hours": 1.4464, "text": "Devlog #32 : New component: CLOCK (finally) This one was relatively easy to implement! The tick system was already there, but it was only triggered by user interactions. Now, your circuits run at 10 ticks/s, and the clock has a constant 1 Hz square signal (the recording below is choppy, but yes it is indeed a 1 Hz periodic signal) This component only has one output. I thought it would make building complex circuits easier if the other sides were isolated. Next steps: 1-bit memory, and then a lot of UX/UI improvements!"}, {"post_id": 76710, "ts": "2026-10-04T11:58:04Z", "hours": 1.9281, "text": "Devlog #31 : UI improvement! I replaced the old “main shortcuts” section in the sidebar with simple links. It frees up some space, makes the interface feel cleaner, and should make it much easier to add a proper “Challenge” tab later. Next steps: add a clock and a 1-bit memory."}, {"post_id": 76242, "ts": "2026-10-02T20:30:28Z", "hours": 2.1839, "text": "Devlog #30 : Component documentation! I’ve added a new page in the sidebar that shows a description and preview image for every component. A few people asked for this in the reviews of my first ship, so it felt like a good addition. Also, if you have any idea of how I could integrate the new more advanced features without overwhelming new users, I’m all ears! The sidebar is starting to get pretty crowded, so I need to find a cleaner way to organize everything and keep navigation smooth. Also, huge thanks to the Stardance staff for awarding this project Superstar ❤️ Next steps: code cleanup, UX improvements, 1-bit memory support, and FINALLY the clock."}, {"post_id": 75958, "ts": "2026-10-01T18:50:05Z", "hours": 4.13, "text": "Devlog #29 : New feature: Multi-layer! You can now build circuits across two layers! I added vias, so you can connect the two layers together (obviously). When you place a via, it’s added on both layers, it basically works like a wire. I also finished the 7-segment decoder: 3bit input, supporting only 0-4 for now. The other values are just don’t-cares. Next steps: polish the code and UI, then add some documentation."}, {"post_id": 75590, "ts": "2026-09-30T14:38:26Z", "hours": 2.4681, "text": "Devlog #28 : Multi-layer (and thank you!!) First of all, thank you so much for all the support on this project! The Stardancers who reviewed my first ship got some really great advices. I’ll be following up on a lot of it. So, I’m planning to add: a simple component documentation some challenges (e.g. 7-segment decoder, XOR gate) more advanced features (clock, 1-bit memory) and what I’m working on right now: a second layer! (currently, wires can’t cross each other, which becomes a real issue with more complex circuits) and, if I have enough time, a place where people can share circuit snippets and showcase their projects! The real challenge will be integrating all of this while keeping the UI clean and the UX intuitive. The screenshot below shows what the circuit viewport could look like with the second layer."}, {"post_id": 74661, "ts": "2026-09-27T21:50:30Z", "hours": 1.2256, "text": "Devlog #27 : Some optimization, code cleanup, and brand new readme! That’s the last devlog for this project before I ship!"}, {"post_id": 74620, "ts": "2026-09-27T19:48:58Z", "hours": 2.7119, "text": "Devlog #26 : I’ve done many small improvements, such as: ability to move annotations undo/redo buttons custom favicon Next step: SHIP!"}, {"post_id": 74207, "ts": "2026-09-26T22:21:43Z", "hours": 2.4531, "text": "Devlog #25 : UI/UX improvements! I improved the component selection outline. Now the outline is around the whole selected group of pixels, instead of around each individual pixel. You can also now delete selected components by pressing Del on your keyboard. And I added a little preview showing the pixel currently targeted by the cursor. Next steps: keep working on the UI/UX, and ship!"}, {"post_id": 74006, "ts": "2026-09-26T14:48:02Z", "hours": 2.2353, "text": "Devlog #24 : New feature (kinda): the camera position and zoom are now stored in the project file, and loaded when you open the project. That means you can setup any point of view in your project, and the viewport will be right where you left it when you open it again! I also fixed a bunch of UI inconsistencies: the hover label position is now responsive to the workspace sidebar (before, it was getting hidden behind it) unified border colors fixed the phone workspace responsiveness made the sidebar on the right a little bit smaller I also continued working on the 7-segment display, but ran into some issues since wires can’t cross each other. So I thought about having circuits on two different layers. What do you think about this? Next steps: I’ll probably polish the UX a little bit more, and then ship the project. But I’m planning to keep working on it!"}, {"post_id": 73755, "ts": "2026-09-25T21:20:35Z", "hours": 5.3378, "text": "Devlog #23 : New feature: Undo/Redo! You can now undo and redo things you’ve done in the editor. This works with both components and annotations. I had to implement a project history system. Basically, every time an action modifies the project, the previous project state is added to the past history stack. When you undo, the latest state from past becomes the current state, while the previous current state is moved to the future stack. When you redo, the next state from future becomes the current state and the previous current state is moved back to past. Yeah it’s messy 😂 I’m also still working on the 7-segment decoder. I switched to a 3-bit one, I’ll probably include it in the demo. Next steps: mostly UI and code improvements, and then I’ll probably ship it. I’ll keep working on it!"}, {"post_id": 73252, "ts": "2026-09-24T17:56:14Z", "hours": 4.5872, "text": "Devlog #22 : New feature: selection and copy/paste! You just have to press “S” and drag your mouse/pad while holding the left click. You can then copy, paste, or move the selected pixels around. Probably the most difficult feature I’ve worked on so far. I had to get some help from ChatGPT :’) I think this will be my last devlog before shipping, since one of my other projects has been pending for 18 days now, so yeah… I’ll still keep working on this project though!"}, {"post_id": 72869, "ts": "2026-09-23T21:59:41Z", "hours": 4.2722, "text": "Devlog #21 : Some UI/UX improvements and started working on selection! I’m currently working on the selection system. It works like this: Press S, then while holding it, drag the selection area with the left click. Once selected, you can copy, paste or move the selected block of pixels. It’s not committed yet! It still requires some work. Next steps: finish the selection feature, then add the clock. I also want to improve the UX as much as possible."}, {"post_id": 72417, "ts": "2026-09-22T21:44:45Z", "hours": 3.6344, "text": "Devlog #20 : demo project and UI/UX update! I added a demo project with a basic light/switch circuit, an OR and XOR gate, and a few annotations. I also (and mostly) removed the old “Quick start” section. It was becoming kinda useless since pretty much everything was already covered by the demo project. So I replaced it with a little intro to the project, along with a table of the shortcuts. I also added a little decoration to the bottom-left corner of the sidebar. I think it looks pretty dope! Next steps: copy/paste and selection, THEN add a clock."}, {"post_id": 71977, "ts": "2026-09-21T21:47:46Z", "hours": 2.3336, "text": "Devlog #19 : A little code cleanup! I refactored the App.tsx file because it was handling too many different things. Now each hook has its own dedicated file. Small refactor, but definitely a needed one! Next steps: add a demo project, improve the UI/UX and laptop pad support, add copy/paste and selection, and finally add a clock (eventually, at this point 😂)"}, {"post_id": 71454, "ts": "2026-09-20T21:12:46Z", "hours": 7.6194, "text": "Devlog #18 : You can save your work now! There are now two buttons in the bottom-left corner: Open and Save. Your projects are downloaded as .cirkuit files. This part was actually quite challenging, mostly because of the file format validation and all the tests around it. Next steps: clean up the code, cleanup the UI (it feels a bit messy right now), add a demo project, add copy/paste and selection, and add a clock"}, {"post_id": 70868, "ts": "2026-09-19T21:55:45Z", "hours": 4.9169, "text": "Devlog #17 : New feature: Annotations! You can now add labels, lines and rectangles to your circuits! I developed this feature so I can better explain what’s going on in the demo project when I’ll ship this project. But you can also use it to explain your craziest circuits! Next step: upload/download projects."}, {"post_id": 70240, "ts": "2026-09-18T19:31:51Z", "hours": 4.5228, "text": "Devlog #16 : Annotation feature (WIP) It’s not finished yet, but I’m currently working on a new annotation feature. Why? Because I’ll need it to explain the circuits in the demo! I’m adding this before the project download/upload system, because otherwise I’d have to refactor quite a bit of the system later. Also, I’m starting to build a 4-bit 7-segment decoder in Cirkuit! (I started with the two easier segments lmao) Next steps: continue working on the annotation system, then implement project download/upload."}, {"post_id": 69732, "ts": "2026-09-17T17:45:12Z", "hours": 4.5497, "text": "Devlog #15 : I added a little guide! The goal of this small guide is to explain a few things that might not be obvious to new users. You can close and reopen it whenever you want, so it doesn’t get in the way while you’re playing. It’s still available on the GitHub page if you want to give it a try! Next step: add a minimal circuit loading system (so I can add a default demo circuit), and THEN I’ll add the clock 😂😭"}, {"post_id": 69345, "ts": "2026-09-16T21:00:55Z", "hours": 4.0622, "text": "Devlog #14 : New component: AND gate! Now the two main gates are available (NOT & AND), so you can basically build anything with them! In the screenshot below, I built a working XOR logic gate, both in a large and a condensed version. A few changes since last time, apart from the new component: The old NOT gate wasn’t working properly because the circuit actually handles 3 states (low, floating, high), while the NOT component only supported low and high. So now, “floating” is considered as “low”. Also, there’s no longer real-time simulation, sadly. I had some issues with the logic gates: if you built them the wrong way, it could crash the entire webpage. So now you have to click on “Run simulation” to see the magic happen. It’s a bit less cool than real-time simulation, but at least it doesn’t nuke the whole page anymore lol. Next steps: UI/UX improvements, clock, and 1-bit memory later on"}, {"post_id": 68867, "ts": "2026-09-15T22:24:51Z", "hours": 5.5678, "text": "Devlog #13 : New component: NOT gate! This component returns the opposite signal you give it: low becomes high, high becomes low. I also improved the UI/UX. There’s now a new label in the bottom-left corner of the page that shows which component you’re hovering over with your mouse, and what its current state is. For example: “Wire | Low”, “Switch | Open”. I also fixed the pixel rendering, because before there were some really thin lines between them. And now the sidebar is responsive! Next steps: code cleanup, AND gate, clock"}, {"post_id": 68303, "ts": "2026-09-14T21:50:03Z", "hours": 2.3831, "text": "Devlog #12 : Wire states are now visually apparent! In the example below, on the first circuit, the first segment is high because it is powered by the source, while the second segment (connected to the lamp) is floating because the switch is open. I’ve also fixed a whole bunch of UI issues. You can try out this project on my GitHub page! Next step (for real this time): adding a NOT gate (the clock will come later)"}, {"post_id": 67690, "ts": "2026-09-13T21:26:19Z", "hours": 0.8703, "text": "Devlog #11 : I did some UI improvements, but before I commit, I’d like to have your opinion for the light component; which glow do you prefere?"}, {"post_id": 67626, "ts": "2026-09-13T19:32:41Z", "hours": 0.7378, "text": "Devlog #10: I added some tooltips so it’s easier to understand for you guys! Next steps: Start writting an actual documentation, add new components"}, {"post_id": 67547, "ts": "2026-09-13T17:58:10Z", "hours": 4.0528, "text": "Devlog #9 : New component: Switch This new component come with a new “simulation” mode, where you can interact with the components. Next step: add small tooltips to the sidebar elements, add new components (clock, memory…) It’s deployed so you can try it (see the project page)! I’d love to get some feedbacks."}, {"post_id": 67325, "ts": "2026-09-13T12:07:15Z", "hours": 0.7281, "text": "Devlog #8 : UI update! Changes: checkerboard background texture instead of the old grid custom selector on the component palette pixel art icons Next step: new components (switch, clock, memory…)"}, {"post_id": 67277, "ts": "2026-09-13T10:52:18Z", "hours": 2.2756, "text": "Devlog #7 : Now power and light can be connected from all sides! Also, since the old arrows are no longer necessary (at least for these components), I improved the UX by displaying the actual component icon instead. The icons on the circuit are also hidden by default now, and only appear when you hover over them. Oh and there’s an eraser now. I also deployed the website: nafo44.github.io/Cirkuit/ Next step: add new components (switch, clock, logic gates, memory)"}, {"post_id": 66878, "ts": "2026-09-12T20:32:38Z", "hours": 3.0808, "text": "Devlog #6: I wired up the simulation engine to the UI! It’s working really well, even tho there’s only 3 components right now (source, wire, light). I added arrows so you can easily rotate the components. I want this project to be really intuitive, so if you guys have some ideas to simplify this, I’m all ears! Next step: let a source and light to power/be powered through all sides, add new components (switch, clock, memory)"}, {"post_id": 66549, "ts": "2026-09-12T12:01:35Z", "hours": 4.5847, "text": "Devlog #5 : Now the component placement UI side is wired to our circuit layout! It probably don’t make much sens for you right now. Next step: modify visually the component grid according to the simulation."}, {"post_id": 65649, "ts": "2026-09-10T22:37:33Z", "hours": 5.8197, "text": "Devlog #4: The other half of the engine is done! It can now compute components state (low, high, floating, conflict) based on the connections between each other. Next step: wiring the engine to the UI."}, {"post_id": 65057, "ts": "2026-09-09T21:57:21Z", "hours": 6.5794, "text": "Devlog #3: I’ve finished half of the engine of my website, made to let you create circuits using pixel art. It wasn’t easy! I came up with a simplified netlist algorithm, to represent how a component (pixel) is oriented, how many are wired, to what, and through which side of the pixel. Components states aren’t handled yet, but that’s what I’m going to work on next."}, {"post_id": 64452, "ts": "2026-09-08T20:55:25Z", "hours": 2.1144, "text": "Devlog #2: I improved the UI, added mouse wheel support (to zoom and move the map). Now it’s time to work on the actual engine."}, {"post_id": 64381, "ts": "2026-09-08T18:22:49Z", "hours": 1.6267, "text": "Devlog #1: Hi! I just started making a website where you will be able to create circuits… with pixel art! The idea is to add different pixels: wire (gray), power (green), light (yellow), logic gates (AND, OR, …), memory (simple true/false state storage). I want to keep this as simple as possible to use."}]...
|
Title: Cirkuit by @spectra | Stardance
Devlogs:
D Title: Cirkuit by @spectra | Stardance
Devlogs:
Devlog #1: Hi! I just started making a website where you will be able to create circuits… with pixel art! The idea is to add different pixels: wire (gray), power (green), light (yellow), logic gates (AND, OR, …), memory (simple true/false state storage). I want to keep this as simple as possible to use.
Devlog #2: I improved the UI, added mouse wheel support (to zoom and move the map). Now it’s time to work on the actual engine.
Devlog #3: I’ve finished half of the engine of my website, made to let you create circuits using pixel art. It wasn’t easy! I came up with a simplified netlist algorithm, to represent how a component (pixel) is oriented, how many are wired, to what, and through which side of the pixel. Components states aren’t handled yet, but that’s what I’m going to work on next.
Devlog #4: The other half of the engine is done! It can now compute components state (low, high, floating, conflict) based on the connections between each other. Next step: wiring the engine to the UI.
Devlog #5 : Now the component placement UI side is wired to our circuit layout! It probably don’t make much sens for you right now. Next step: modify visually the component grid according to the simulation.
Devlog #6: I wired up the simulation engine to the UI! It’s working really well, even tho there’s only 3 components right now (source, wire, light). I added arrows so you can easily rotate the components. I want this project to be really intuitive, so if you guys have some ideas to simplify this, I’m all ears! Next step: let a source and light to power/be powered through all sides, add new components (switch, clock, memory)
Devlog #7 : Now power and light can be connected from all sides! Also, since the old arrows are no longer necessary (at least for these components), I improved the UX by displaying the actual component icon instead. The icons on the circuit are also hidden by default now, and only appear when you hover over them. Oh and there’s an eraser now. I also deployed the website: nafo44.github.io/Cirkuit/ Next step: add new components (switch, clock, logic gates, memory)
Devlog #8 : UI update! Changes: checkerboard background texture instead of the old grid custom selector on the component palette pixel art icons Next step: new components (switch, clock, memory…)
Devlog #9 : New component: Switch This new component come with a new “simulation” mode, where you can interact with the components. Next step: add small tooltips to the sidebar elements, add new components (clock, memory…) It’s deployed so you can try it (see the project page)! I’d love to get some feedbacks.
Devlog #10: I added some tooltips so it’s easier to understand for you guys! Next steps: Start writting an actual documentation, add new components
Devlog #11 : I did some UI improvements, but before I commit, I’d like to have your opinion for the light component; which glow do you prefere?
Devlog #12 : Wire states are now visually apparent! In the example below, on the first circuit, the first segment is high because it is powered by the source, while the second segment (connected to the lamp) is floating because the switch is open. I’ve also fixed a whole bunch of UI issues. You can try out this project on my GitHub page! Next step (for real this time): adding a NOT gate (the clock will come later)
Devlog #13 : New component: NOT gate! This component returns the opposite signal you give it: low becomes high, high becomes low. I also improved the UI/UX. There’s now a new label in the bottom-left corner of the page that shows which component you’re hovering over with your mouse, and what its current state is. For example: “Wire | Low”, “Switch | Open”. I also fixed the pixel rendering, because before there were some really thin lines between them. And now the sidebar is responsive! Next steps: code cleanup, AND gate, clock
Devlog #14 : New component: AND gate! Now the two main gates are available (NOT & AND), so you can basically build anything with them! In the screenshot below, I built a working XOR logic gate, both in a large and a condensed version. A few changes since last time, apart from the new component: The old NOT gate wasn’t working properly because the circuit actually handles 3 states (low, floating, high), while the NOT component only supported low and high. So now, “floating” is considered as “low”. Also, there’s no longer real-time simulation, sadly. I had some issues with the logic gates: if you built them the wrong way, it could crash the entire webpage. So now you have to click on “Run simulation” to see the magic happen. It’s a bit less cool than real-time simulation, but at least it doesn’t nuke the whole page anymore lol. Next steps: UI/UX improvements, clock, and 1-bit memory later on
Devlog #15 : I added a little guide! The goal of this small guide is to explain a few things that might not be obvious to new users. You can close and reopen it whenever you want, so it doesn’t get in the way while you’re playing. It’s still available on the GitHub page if you want to give it a try! Next step: add a minimal circuit loading system (so I can add a default demo circuit), and THEN I’ll add the clock 😂😭
Devlog #16 : Annotation feature (WIP) It’s not finished yet, but I’m currently working on a new annotation feature. Why? Because I’ll need it to explain the circuits in the demo! I’m adding this before the project download/upload system, because otherwise I’d have to refactor quite a bit of the system later. Also, I’m starting to build a 4-bit 7-segment decoder in Cirkuit! (I started with the two easier segments lmao) Next steps: continue working on the annotation system, then implement project download/upload.
Devlog #17 : New feature: Annotations! You can now add labels, lines and rectangles to your circuits! I developed this feature so I can better explain what’s going on in the demo project when I’ll ship this project. But you can also use it to explain your craziest circuits! Next step: upload/download projects.
Devlog #18 : You can save your work now! There are now two buttons in the bottom-left corner: Open and Save. Your projects are downloaded as .cirkuit files. This part was actually quite challenging, mostly because of the file format validation and all the tests around it. Next steps: clean up the code, cleanup the UI (it feels a bit messy right now), add a demo project, add copy/paste and selection, and add a clock
Devlog #19 : A little code cleanup! I refactored the App.tsx file because it was handling too many different things. Now each hook has its own dedicated file. Small refactor, but definitely a needed one! Next steps: add a demo project, improve the UI/UX and laptop pad support, add copy/paste and selection, and finally add a clock (eventually, at this point 😂)
Devlog #20 : demo project and UI/UX update! I added a demo project with a basic light/switch circuit, an OR and XOR gate, and a few annotations. I also (and mostly) removed the old “Quick start” section. It was becoming kinda useless since pretty much everything was already covered by the demo project. So I replaced it with a little intro to the project, along with a table of the shortcuts. I also added a little decoration to the bottom-left corner of the sidebar. I think it looks pretty dope! Next steps: copy/paste and selection, THEN add a clock.
Devlog #21 : Some UI/UX improvements and started working on selection! I’m currently working on the selection system. It works like this: Press S, then while holding it, drag the selection area with the left click. Once selected, you can copy, paste or move the selected block of pixels. It’s not committed yet! It still requires some work. Next steps: finish the selection feature, then add the clock. I also want to improve the UX as much as possible.
Devlog #22 : New feature: selection and copy/paste! You just have to press “S” and drag your mouse/pad while holding the left click. You can then copy, paste, or move the selected pixels around. Probably the most difficult feature I’ve worked on so far. I had to get some help from ChatGPT :’) I think this will be my last devlog before shipping, since one of my other projects has been pending for 18 days now, so yeah… I’ll still keep working on this project though!
Devlog #23 : New feature: Undo/Redo! You can now undo and redo things you’ve done in the editor. This works with both components and annotations. I had to implement a project history system. Basically, every time an action modifies the project, the previous project state is added to the past history stack. When you undo, the latest state from past becomes the current state, while the previous current state is moved to the future stack. When you redo, the next state from future becomes the current state and the previous current state is moved back to past. Yeah it’s messy 😂 I’m also still working on the 7-segment decoder. I switched to a 3-bit one, I’ll probably include it in the demo. Next steps: mostly UI and code improvements, and then I’ll probably ship it. I’ll keep working on it!
Devlog #24 : New feature (kinda): the camera position and zoom are now stored in the project file, and loaded when you open the project. That means you can setup any point of view in your project, and the viewport will be right where you left it when you open it again! I also fixed a bunch of UI inconsistencies: the hover label position is now responsive to the workspace sidebar (before, it was getting hidden behind it) unified border colors fixed the phone workspace responsiveness made the sidebar on the right a little bit smaller I also continued working on the 7-segment display, but ran into some issues since wires can’t cross each other. So I thought about having circuits on two different layers. What do you think about this? Next steps: I’ll probably polish the UX a little bit more, and then ship the project. But I’m planning to keep working on it!
Devlog #25 : UI/UX improvements! I improved the component selection outline. Now the outline is around the whole selected group of pixels, instead of around each individual pixel. You can also now delete selected components by pressing Del on your keyboard. And I added a little preview showing the pixel currently targeted by the cursor. Next steps: keep working on the UI/UX, and ship!
Devlog #26 : I’ve done many small improvements, such as: ability to move annotations undo/redo buttons custom favicon Next step: SHIP!
Devlog #27 : Some optimization, code cleanup, and brand new readme! That’s the last devlog for this project before I ship!
Devlog #28 : Multi-layer (and thank you!!) First of all, thank you so much for all the support on this project! The Stardancers who reviewed my first ship got some really great advices. I’ll be following up on a lot of it. So, I’m planning to add: a simple component documentation some challenges (e.g. 7-segment decoder, XOR gate) more advanced features (clock, 1-bit memory) and what I’m working on right now: a second layer! (currently, wires can’t cross each other, which becomes a real issue with more complex circuits) and, if I have enough time, a place where people can share circuit snippets and showcase their projects! The real challenge will be integrating all of this while keeping the UI clean and the UX intuitive. The screenshot below shows what the circuit viewport could look like with the second layer.
Devlog #29 : New feature: Multi-layer! You can now build circuits across two layers! I added vias, so you can connect the two layers together (obviously). When you place a via, it’s added on both layers, it basically works like a wire. I also finished the 7-segment decoder: 3bit input, supporting only 0-4 for now. The other values are just don’t-cares. Next steps: polish the code and UI, then add some documentation.
Devlog #30 : Component documentation! I’ve added a new page in the sidebar that shows a description and preview image for every component. A few people asked for this in the reviews of my first ship, so it felt like a good addition. Also, if you have any idea of how I could integrate the new more advanced features without overwhelming new users, I’m all ears! The sidebar is starting to get pretty crowded, so I need to find a cleaner way to organize everything and keep navigation smooth. Also, huge thanks to the Stardance staff for awarding this project Superstar ❤️ Next steps: code cleanup, UX improvements, 1-bit memory support, and FINALLY the clock.
Devlog #31 : UI improvement! I replaced the old “main shortcuts” section in the sidebar with simple links. It frees up some space, makes the interface feel cleaner, and should make it much easier to add a proper “Challenge” tab later. Next steps: add a clock and a 1-bit memory.
Devlog #32 : New component: CLOCK (finally) This one was relatively easy to implement! The tick system was already there, but it was only triggered by user interactions. Now, your circuits run at 10 ticks/s, and the clock has a constant 1 Hz square signal (the recording below is choppy, but yes it is indeed a 1 Hz periodic signal) This component only has one output. I thought it would make building complex circuits easier if the other sides were isolated. Next steps: 1-bit memory, and then a lot of UX/UI improvements!
Devlog #33 : Docs update and 1-bit memory! I added the clock to the docs page, along with some new tests for it. I’m also almost done with the 1-bit memory (basically a simplified D flip-flop). I’ll share it in the next devlog! Also, if you like this project, you can leave a star on the project’s GitHub page if you wish! Next steps: finish the 1-bit memory and clean up the UI/UX
Devlog #34 : New component: Memory! This is one step up in difficulty! It has two inputs: a clock input (at the top) and a signal input (on the left). The output signal is provided on the right. This component can store a 1-bit value, which is updated on every rising edge of the clock signal. You can basically build anything with the component available: calculator, more advanced display (e.g. a 7-segment decoder that can go from 0 to 9). I added a 3-bit binary counter that I wired up to my 7-segment decoder! (demo bellow). It’s also included in the demo project file. Next steps: cleanup UI and improve UX (the sidebar is really really crowded right now)
Devlog #35 : UI cleanup and (another) demo circuit The sidebar was getting a bit too crowded, so I added a small button to show/hide the more advanced components. The idea is to make things a little less overwhelming for new users, instead of throwing everything at them right away. I also worked on a 4-bit adder and wired it up to my 7-segment decoder! I’m going to try making it a 4-bit decoder instead of a 3-bit one, but things are going to get a lot more complicated (more numbers = more logic gates). One small issue with the adder for now: the most significant bit is on the right, so the input is basically reversed. I’ll fix that soon. In the meantime, you can already try it out in the live demo project! As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: more UI/UX improvements, adding challenges, and continuing to waste way too much of my time messing around with circuits xd
Devlog #36 : Probe tool and 4-bit calculator. While I was working on improving my 7-segment display, I had quite a hard time simplifying the circuit. Then I thought it could be really useful to have a tool that shows all the equipotential wires. So I’m currently working on it! It’s working, but I still have to improve its style before publishing it. Aside from that, I actually spent way too many hours improving the 4-bit calculator. And it’s now finished! It’s available in the demo circuit if you want to try it. I’ll see if I can build a keyboard later so users don’t have to enter numbers in binary. As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: finish the Probe tool, polish the UI, add a “challenge” tab.
Devlog #37 : Probe tool is out! You can now inspect your circuits with this new tool. It highlights equipotential wires. I also added small circles to every connected ports. Next steps: UI polish, and maybe a “challenge” or “community circuits” tab.
Devlog #38 : Integrated circuits Some of you have requested this, so I’m working on it! It’s not out yet, as it’s a pretty big feature. Integrated circuits will basically be custom components (most likely rectangles) with multiple inputs and outputs, all defined by the user. It’s literally a footprint, kinda like what you’d find in KiCad. I’ve started modifying the engine’s internals so it can handle these new types of connections (alongside the classic 1-pixel components). The real challenge here is keeping everything simple on the UX side, even though this feature targets more advanced users. The image below only shows what it might look like, this will probably change over time. As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: keep working on this feature, polish the UI/UX, ship it, and sadly… the end of stardance :(
Devlog #39 : Integrated circuits (again) I’m still working on this feature! I’m not at the frontend part yet, still adapting the engine. More details if you’re curious: A module has a definition that includes its name, public pins, and internal circuit. It can be used multiple times (it’s called an instance in the code). And all modules are listed in a catalog (that I’ll probably integrate in the frontend later). Instances can be selected, moved, copied and pasted, across the layers… The picture bellow shows how this feature could be used. It will make things much easier if you want to build more complex circuits like an 8 bit adder. You’ll just have to stack 8x 1-bit full adder modules! As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: finish the backend side, then integrate everything into the frontend, polish the UI, and ship!
Devlog #40 : Integrated circuits I’m (again) still working on this feature! Since my last devlog, I’ve updated the project document format to serialize the new modules. And that’s basically it! Next step: integrate them into the UI, polish the UX, and ship!
Devlog 41 : Integrated Circuits I’m working on the UI! The picture below shows what it currently looks like. I’m still not sure about the colors, so they might change. I still have the hardest part to figure out: How will users create and modify a module, UX-wise? Will it have its own sub-editor? How will users assign pins, name them, and define the module’s size and name? As always, if you enjoy the project, feel free to leave a star on GitHub! Repo: https://github.com/NaFo44/Cirkuit Next steps: Keep working on the UI, polish the UX/UI, and ship!
Devlog 42 : Integrated circuits (almost done!) It wasn’t easy! The UX part is actually really challenging. I had to rely on AI more than usual because Stardance is ending really soon, and I’m honestly a bit scared of not having enough time to ship :/ I’ll still try to polish the UI as much as possible! The screenshot below shows what it currently looks like. I added a new section for modules in the sidebar, where you can see all the modules you’ve created, edit them, or create new ones. When creating a new module, you can set its name, preview the footprint, add or remove inputs/outputs, and place them directly on the footprint. It’s almost ready tho! I’m just polishing the UX now. Next steps: finish this feature, polish the UI/UX, ship!
Ships:
Hi! I’m really happy to introduce you to my biggest project so far. It’s called Cirkuit, and it’s a logic circuit sandbox simulator… but with pixel art! That means you can basically build anything using just pixels. Why pixels? You may ask. Well, many logic simulators already exist, but the issue is that most of them aren’t very accessible to the average user. That’s why I wanted Cirkuit to be as easy to use as possible. I’m already quite familiar with TypeScript and React, which I used for this project. So the most difficult part was actually figuring out how to implement features without having 100 nested loops :D I had a hard time figuring out how to build the core engine (obviously), as well as the annotation system. I’m quite proud of how it looks and how well it works. This project was a perfect opportunity for me to improve my design skills. I worked hard to reduce friction between the interface and the user (aka you, dear shipwriters). One piece of advice: try it on a computer with a mouse. Phones and trackpads are supported, but it’s not the best experience. Hope you’ll like this project!...
|
1793055099.1470068
|
1793141499.1470068
|
|
59882
|
tabbed by @xvcf | Stardance
|
xvcf
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T17:45:59Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a new tab site with a search bar! You can search things there on DuckDuckGo or search on YouTube by starting your search with “@yt “!", "repo": "https://github.com/RafaeloxMC/tabbed", "demo": "https://tabbed.xvcf.dev"}]...
|
[{"post_id": 64357, "ts": "202 [{"post_id": 64357, "ts": "2026-09-08T17:42:45Z", "hours": 0.38, "text": "Made the site! I tried to speedrun this mission and my timer is still counting as of writing this! I made the whole site and deployed it! It has a search bar, where you can search on DuckDuckGo or YouTube (if you start your search with “@yt “)!"}]...
|
Title: tabbed by @xvcf | Stardance
Devlogs:
Made Title: tabbed by @xvcf | Stardance
Devlogs:
Made the site! I tried to speedrun this mission and my timer is still counting as of writing this! I made the whole site and deployed it! It has a search bar, where you can search on DuckDuckGo or YouTube (if you start your search with “@yt “)!
Ships:
I made a new tab site with a search bar! You can search things there on DuckDuckGo or search on YouTube by starting your search with “@yt “!...
|
1793055100.6729674
|
1793141500.6729674
|
|
59897
|
Loom by @kaveeshkrishna | Stardance
|
kaveeshkrishna
|
1
|
100.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T10:42:34Z", "hours": 100.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Loom is a self hosted file manager for your own server or NAS. You point it at a folder of photos, videos, and documents you already have and it gives you a proper web app to browse, search, and stream them from anywhere, without ever touching or reorganizing the actual files on disk. I built it because I have a Samsung T7 drive full of a decade of family photos and every app I tried wanted to import everything into its own library and rename stuff. Loom just reads whatever folder structure you already have and works with that. . Under the hood it’s three Docker containers, a Next.js app for the UI and API, a separate worker that indexes the filesystem and makes thumbnails, and Postgres for metadata only, never file content. It has a full file browser with grid and list views, a photo and video viewer, drag and drop uploads, trash with recovery, multiple user accounts with per folder permissions, and an audit log. There’s also a public demo you can try without installing anything, it’s a completely fake version running with no backend at all, everything happens in your browser. . The hardest part by far was video playback. Browsers only play a handful of video formats natively, so anything else, HEVC from an iphone, old MOV and AVI files, needed converting on the fly. I didn’t want to transcode an entire two hour video before someone could watch even the first second of it, so I built a system that only converts the exact chunk of video someone is actually watching or seeking to, in six second pieces, and shares the work if two people ask for the same part at once. Getting that to not corrupt itself when someone seeks around took a lot of debugging. . The other really annoying stretch was making the demo version work. It’s a static build with literally no server, and the entire fake backend is done by intercepting fetch requests in the browser. I got it fully built and deployed and it looked fine, every page loaded, every request returned 200, and it was completely broken underneath, folders showed up empty and buttons did nothing. Turned out the code that fakes the backend was never actually running in the browser at all because of how Next.js bundles server components, and curl and normal build checks couldn’t catch it since everything technically responded fine. I only found it by scripting an actual headless browser to click through the site. . What I’m most proud of is probably the idle drive design. A lot of self hosted apps for photos and files constantly watch your disk or hash every file on every scan, and I really didn’t want that for a drive that spins down. Loom only reads file size and modified time to check for changes, and only actually opens a file’s content the first time something genuinely needs to, like making a thumbnail. A full rescan of a library that hasn’t changed barely touches the disk at all. . To test it, the easiest way is the live demo, no install needed, any username and password works and there’s a button that fills in the demo login for you. From there you can click into the sample folders (they go a few levels deep on purpose), open a photo or video, try renaming or trashing something and refresh the page to see it stuck around, and check out the settings pages for users, permissions, and the scanner. If you want to run the real thing, it’s a single script install with Docker, clone the repo and run the install script and it walks you through the rest.", "repo": "https://github.com/KaveeshKrishna/loom", "demo": "https://loomdemo.kaveeshkrishna.in/"}]...
|
[{"post_id": 69058, "ts": "202 [{"post_id": 69058, "ts": "2026-09-16T09:40:09Z", "hours": 7.2369, "text": "DEVLOG_13: OKKK, so this is gonna be the last devlog for Loom before I ship it. Loom is now ready to be used by anyone in their VPS to manage their personal file :] . I also made a demo website for loom which anyone can visit to see how it works and looks at loomdemo.kaveeshkrishna.in . Fixed the last remaining bugs and made the permissions working properly, now every new account in Loom can be given a set of permissions and that account will not be able to access files other than the set permissions."}, {"post_id": 68572, "ts": "2026-09-15T10:33:23Z", "hours": 9.1325, "text": "DEVLOG_12: This was a long and major update session, I added a working notification system, if uploading files or downloading files or moving them causes any error, loom safely pauses the operation to avoid problems with the file and throws a notification stating what happened. Also other notifications like scan completion is also given :] . The file and folder upload features are actually working now, although it gets stuck when uploading very large files, I am trying to make it more reliable at the moment. . So let me explain how file upload actually works in loom, so when you upload a file it shows as uploaded on the screen but in the backend it stays in the internal storage of the vps, an automatic scan job is triggered for that file/folder, all the indexing and preview/thumbnail generation is completed and then the file/folder is transferred to the designated path. . File search now also works with the Photos, Videos, and Documents tabs."}, {"post_id": 68328, "ts": "2026-09-14T23:07:39Z", "hours": 7.9258, "text": "DEVLOG_11: OK!! so in this coding session I built a File Health page in Loom. This is a feature which I was personally excited to make :] . So basically while the Scan is running Loom tries to index files, generate preview and thumbnails for media files, if during this process any files throws error and Loom finds out the file is corrupt or has any issues it labels the issue and hides it from the file explorer and shows it in the dedicated File Health page. . At the moment it only displays these compromised files and shows the exact error they gave, but in the future I want to make Loom be able to fix these files if possible."}, {"post_id": 68019, "ts": "2026-09-14T12:02:43Z", "hours": 5.9486, "text": "DEVLOG_10: I have added a proper trash system. So any file you delete gets transferred to the .trash folder inside the same storage device and sits there for 15 days. if you don’t manually deleted them permanently, they get deleted automatically after 15 days. . Right now I am transferring all the deleted files and folders as it is to the trash, but I am thinking to make them compressed while storing inside the trash so that the don’t take up a lot of space, I haven’t implemented this though as I am not sure how am I gonna do it properly yet :]"}, {"post_id": 67577, "ts": "2026-09-13T18:32:50Z", "hours": 4.1153, "text": "DEVLOG_9: Ok now the Favorites, Photos, Videos and Documents pages are working properly. . In the Fav page all the files which we have starred are listed, and on the vid, photos and docs pages the respective kind of files are listed. . These specific pages are essentially acting like a filter filtering out specific files extensions from throughout the storage device and listing all of the filtered files in one place :]"}, {"post_id": 67370, "ts": "2026-09-13T13:36:45Z", "hours": 6.4731, "text": "DEVLOG_8: Added a proper folder path tree just like windows file explorer. It grows as you open folders inside folders and clicking on the previous folder name will take you to that folder. :] . I have made it properly responsive too, so if it grows too much the previous folders are replaced with “…”"}, {"post_id": 67116, "ts": "2026-09-13T05:34:18Z", "hours": 8.9731, "text": "DEVLOG_7: OK!! so this time I have added a few small but noticeable features!! . First, I added multiple file/folder selection and bulk actions like delete. . Second, I made the search work, so it searches in the current open directory by default and if you are on the home page then ofc it searches the entire storage device, but if you are in some other folder and you try searching it will by default search in that folder only if you want it to search the entire storage device then u can click on the little global search icon beside the search bar (it appears only when you are not in the home directory) And it is quite fast because it searches using the folder indexes stored in the database during scan. . Third, I added list view and in the grid view I added 4 different icon sizes, Small, Medium, Large, Extra Large. . And Finally, for all the right click actions, I added a long press action for touch screen devices :]"}, {"post_id": 66801, "ts": "2026-09-12T18:06:55Z", "hours": 8.07, "text": "DEVLOG_6: Ok, I don’t why it took me this long to implement but here we are _ I added right click action menu for folders, files and directory. right clicking on the empty space of current directory will give you options to upload files and folders and create folders (only create folder action works at the moment). And right clicking on folders and files will give you options like cut, paste, copy delete and star. Starring a file will add it to the favorites folder which can be accessed via the side panel and deleting anything will send it to the trash folder and it will be permanently deleted after 15 days. I am still working on making the proper UI of trash folder and fav folder :]"}, {"post_id": 66436, "ts": "2026-09-12T08:28:41Z", "hours": 12.1856, "text": "DEVLOG_5: Worked for 12+ hours straight and finally implemented a lot of very important features. The Scanner is now properly working there was a bug I solved which was making the scanner log the indexes of the files but never start a preview or thumbnail generation. Now each time U hit scan button it goes through the entire directory of your storage device and every file is properly indexed in a postgres database. every img file is sent to a thumbnail and preview generator and from every vid file its 1st second is captured and used to generate a thumbnail and preview for it as well. All these thumbnails and previews are stored in the internal ssd of the vps so that when you are scrolling throught the galary the main ssd is not touched and the user sees a lower quality thumbnail of every image and vid instead of loading the entire thing in full quality. To actually play vids on the browser, I’m using HLS Video Cache which lets me supply the vid to the user’s browser in chunks rather than the entire file at once, it makes the loading faster and playtime smooth. Lasty I also added an audit log page which shows the last 20 audits on done on Loom :]"}, {"post_id": 66079, "ts": "2026-09-11T17:28:39Z", "hours": 8.905, "text": "DEVLOG_4: In the settings page I have added the option to create new users with different permissions. I can decide which folders each account can see and what they can not see. Also, the Scanner page now lets me start a manual scan which will go through the storage device and index all the files properly. I am also working on an automatic Preview and Thumbnail generation while this scan runs but right now it is not working, hopegully by the next 2 Devlogs I can make it work :]"}, {"post_id": 65820, "ts": "2026-09-11T06:55:27Z", "hours": 6.3156, "text": "DEVLOG_3: After doing a lot of research online about industry standard says to make a secure login method. I added a login page that uses email and password, no Google OAuth because Loom is not supposed to be a public website but for personal use. I’m using better-auth for the actual logic. It hashes passwords with Scrypt so they are never stored in plain text, and it keeps sessions as a row in a sessions table plus a signed httpOnly cookie. The cookie is signed with BETTER_AUTH_SECRET which the installer generates as a random 48 byte value. Each sessions last 30 days and refresh if they are older than a day, so you dont get logged out mid use. CSRF is handled by TRUSTED_ORIGINS in the env, a list of origins allowed to make logged in requests, anything not on the list gets rejected :]"}, {"post_id": 65358, "ts": "2026-09-10T13:25:15Z", "hours": 5.6942, "text": "DEVLOG_2: This one took more time than I thought but now Loom is able to identify folder structure and files inside my SSD :] The scanner walks the tree with readdir and stat, and for every file it stores the path (relative to /media), the name, file or directory, the type, size and modified time. all of that becomes a FileNode row in Postgres."}, {"post_id": 64829, "ts": "2026-09-09T14:44:59Z", "hours": 9.1172, "text": "DEVLOG_1: After taking break from my project Sentinel, I have now started a new project Loom. It is again related to the home server I made using my 7 year old laptop!! I am making this project because I wanted a reliable way to access and edit personal files which are on an external ssd attached to my server. Everything remotely. Right now I have made the initial UI of Loom and a rough outline of where buttons and options are gonna be. now I am gonna work on all the different sections you are seeing on the attached image :]"}]...
|
Title: Loom by @kaveeshkrishna | Stardance
Devlog Title: Loom by @kaveeshkrishna | Stardance
Devlogs:
DEVLOG_1: After taking break from my project Sentinel, I have now started a new project Loom. It is again related to the home server I made using my 7 year old laptop!! I am making this project because I wanted a reliable way to access and edit personal files which are on an external ssd attached to my server. Everything remotely. Right now I have made the initial UI of Loom and a rough outline of where buttons and options are gonna be. now I am gonna work on all the different sections you are seeing on the attached image :]
DEVLOG_2: This one took more time than I thought but now Loom is able to identify folder structure and files inside my SSD :] The scanner walks the tree with readdir and stat, and for every file it stores the path (relative to /media), the name, file or directory, the type, size and modified time. all of that becomes a FileNode row in Postgres.
DEVLOG_3: After doing a lot of research online about industry standard says to make a secure login method. I added a login page that uses email and password, no Google OAuth because Loom is not supposed to be a public website but for personal use. I’m using better-auth for the actual logic. It hashes passwords with Scrypt so they are never stored in plain text, and it keeps sessions as a row in a sessions table plus a signed httpOnly cookie. The cookie is signed with BETTER_AUTH_SECRET which the installer generates as a random 48 byte value. Each sessions last 30 days and refresh if they are older than a day, so you dont get logged out mid use. CSRF is handled by TRUSTED_ORIGINS in the env, a list of origins allowed to make logged in requests, anything not on the list gets rejected :]
DEVLOG_4: In the settings page I have added the option to create new users with different permissions. I can decide which folders each account can see and what they can not see. Also, the Scanner page now lets me start a manual scan which will go through the storage device and index all the files properly. I am also working on an automatic Preview and Thumbnail generation while this scan runs but right now it is not working, hopegully by the next 2 Devlogs I can make it work :]
DEVLOG_5: Worked for 12+ hours straight and finally implemented a lot of very important features. The Scanner is now properly working there was a bug I solved which was making the scanner log the indexes of the files but never start a preview or thumbnail generation. Now each time U hit scan button it goes through the entire directory of your storage device and every file is properly indexed in a postgres database. every img file is sent to a thumbnail and preview generator and from every vid file its 1st second is captured and used to generate a thumbnail and preview for it as well. All these thumbnails and previews are stored in the internal ssd of the vps so that when you are scrolling throught the galary the main ssd is not touched and the user sees a lower quality thumbnail of every image and vid instead of loading the entire thing in full quality. To actually play vids on the browser, I’m using HLS Video Cache which lets me supply the vid to the user’s browser in chunks rather than the entire file at once, it makes the loading faster and playtime smooth. Lasty I also added an audit log page which shows the last 20 audits on done on Loom :]
DEVLOG_6: Ok, I don’t why it took me this long to implement but here we are _ I added right click action menu for folders, files and directory. right clicking on the empty space of current directory will give you options to upload files and folders and create folders (only create folder action works at the moment). And right clicking on folders and files will give you options like cut, paste, copy delete and star. Starring a file will add it to the favorites folder which can be accessed via the side panel and deleting anything will send it to the trash folder and it will be permanently deleted after 15 days. I am still working on making the proper UI of trash folder and fav folder :]
DEVLOG_7: OK!! so this time I have added a few small but noticeable features!! . First, I added multiple file/folder selection and bulk actions like delete. . Second, I made the search work, so it searches in the current open directory by default and if you are on the home page then ofc it searches the entire storage device, but if you are in some other folder and you try searching it will by default search in that folder only if you want it to search the entire storage device then u can click on the little global search icon beside the search bar (it appears only when you are not in the home directory) And it is quite fast because it searches using the folder indexes stored in the database during scan. . Third, I added list view and in the grid view I added 4 different icon sizes, Small, Medium, Large, Extra Large. . And Finally, for all the right click actions, I added a long press action for touch screen devices :]
DEVLOG_8: Added a proper folder path tree just like windows file explorer. It grows as you open folders inside folders and clicking on the previous folder name will take you to that folder. :] . I have made it properly responsive too, so if it grows too much the previous folders are replaced with “…”
DEVLOG_9: Ok now the Favorites, Photos, Videos and Documents pages are working properly. . In the Fav page all the files which we have starred are listed, and on the vid, photos and docs pages the respective kind of files are listed. . These specific pages are essentially acting like a filter filtering out specific files extensions from throughout the storage device and listing all of the filtered files in one place :]
DEVLOG_10: I have added a proper trash system. So any file you delete gets transferred to the .trash folder inside the same storage device and sits there for 15 days. if you don’t manually deleted them permanently, they get deleted automatically after 15 days. . Right now I am transferring all the deleted files and folders as it is to the trash, but I am thinking to make them compressed while storing inside the trash so that the don’t take up a lot of space, I haven’t implemented this though as I am not sure how am I gonna do it properly yet :]
DEVLOG_11: OK!! so in this coding session I built a File Health page in Loom. This is a feature which I was personally excited to make :] . So basically while the Scan is running Loom tries to index files, generate preview and thumbnails for media files, if during this process any files throws error and Loom finds out the file is corrupt or has any issues it labels the issue and hides it from the file explorer and shows it in the dedicated File Health page. . At the moment it only displays these compromised files and shows the exact error they gave, but in the future I want to make Loom be able to fix these files if possible.
DEVLOG_12: This was a long and major update session, I added a working notification system, if uploading files or downloading files or moving them causes any error, loom safely pauses the operation to avoid problems with the file and throws a notification stating what happened. Also other notifications like scan completion is also given :] . The file and folder upload features are actually working now, although it gets stuck when uploading very large files, I am trying to make it more reliable at the moment. . So let me explain how file upload actually works in loom, so when you upload a file it shows as uploaded on the screen but in the backend it stays in the internal storage of the vps, an automatic scan job is triggered for that file/folder, all the indexing and preview/thumbnail generation is completed and then the file/folder is transferred to the designated path. . File search now also works with the Photos, Videos, and Documents tabs.
DEVLOG_13: OKKK, so this is gonna be the last devlog for Loom before I ship it. Loom is now ready to be used by anyone in their VPS to manage their personal file :] . I also made a demo website for loom which anyone can visit to see how it works and looks at loomdemo.kaveeshkrishna.in . Fixed the last remaining bugs and made the permissions working properly, now every new account in Loom can be given a set of permissions and that account will not be able to access files other than the set permissions.
Ships:
Loom is a self hosted file manager for your own server or NAS. You point it at a folder of photos, videos, and documents you already have and it gives you a proper web app to browse, search, and stream them from anywhere, without ever touching or reorganizing the actual files on disk. I built it because I have a Samsung T7 drive full of a decade of family photos and every app I tried wanted to import everything into its own library and rename stuff. Loom just reads whatever folder structure you already have and works with that. . Under the hood it’s three Docker containers, a Next.js app for the UI and API, a separate worker that indexes the filesystem and makes thumbnails, and Postgres for metadata only, never file content. It has a full file browser with grid and list views, a photo and video viewer, drag and drop uploads, trash with recovery, multiple user accounts with per folder permissions, and an audit log. There’s also a public demo you can try without installing anything, it’s a completely fake version running with no backend at all, everything happens in your browser. . The hardest part by far was video playback. Browsers only play a handful of video formats natively, so anything else, HEVC from an iphone, old MOV and AVI files, needed converting on the fly. I didn’t want to transcode an entire two hour video before someone could watch even the first second of it, so I built a system that only converts the exact chunk of video someone is actually watching or seeking to, in six second pieces, and shares the work if two people ask for the same part at once. Getting that to not corrupt itself when someone seeks around took a lot of debugging. . The other really annoying stretch was making the demo version work. It’s a static build with literally no server, and the entire fake backend is done by intercepting fetch requests in the browser. I got it fully built and deployed and it looked fine, every page loaded, every request returned 200, and it was completely broken underneath, folders showed up empty and buttons did nothing. Turned out the code that fakes the backend was never actually running in the browser at all because of how Next.js bundles server components, and curl and normal build checks couldn’t catch it since everything technically responded fine. I only found it by scripting an actual headless browser to click through the site. . What I’m most proud of is probably the idle drive design. A lot of self hosted apps for photos and files constantly watch your disk or hash every file on every scan, and I really didn’t want that for a drive that spins down. Loom only reads file size and modified time to check for changes, and only actually opens a file’s content the first time something genuinely needs to, like making a thumbnail. A full rescan of a library that hasn’t changed barely touches the disk at all. . To test it, the easiest way is the live demo, no install needed, any username and password works and there’s a button that fills in the demo login for you. From there you can click into the sample folders (they go a few levels deep on purpose), open a photo or video, try renaming or trashing something and refresh the page to see it stuck around, and check out the settings pages for users, permissions, and the scanner. If you want to run the real thing, it’s a single script install with Docker, clone the repo and run the install script and it walks you through the rest....
|
1793055101.512431
|
1793141501.512431
|
|
59901
|
Mrotat by @mandeepswami | Stardance
|
mandeepswami
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T12:42:13Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Marioware game named Mrotat i dont how i ended up with that name. Using godot was confusing in the start but later on i got used to it . This is my first every game which is i am pretty proud of . I used the godot icon for the clicker because its the only thing that could fit there and the heart collector game was pretty when i set it to 10 seconds but later i changed it to 12 to make it easier a little bit.", "repo": "https://github.com/Momentum122/Marioware0", "demo": "https://momentum122.itch.io/mrotat"}]...
|
[{"post_id": 71072, "ts": "202 [{"post_id": 71072, "ts": "2026-09-20T08:21:13Z", "hours": 0.34, "text": "Last Devlog for mrotat finished publishing check it out on https://momentum122.itch.io/mrotat"}, {"post_id": 71058, "ts": "2026-09-20T07:55:59Z", "hours": 1.2817, "text": "forgot to record screen debugging the complete game and adding ending screen and all that but hackatime on godot still recorded 1h .Now just last two steps are left"}, {"post_id": 71006, "ts": "2026-09-20T06:12:48Z", "hours": 3.275, "text": "Almost COmpleted the game working on debugging and end screens"}, {"post_id": 69279, "ts": "2026-09-16T18:38:08Z", "hours": 3.2064, "text": "My first devlog for Mrotat . Forgot to post earlier . completed Title screen with working quit button , level screen and currently making the 1st minigame."}]...
|
Title: Mrotat by @mandeepswami | Stardance
Devlog Title: Mrotat by @mandeepswami | Stardance
Devlogs:
My first devlog for Mrotat . Forgot to post earlier . completed Title screen with working quit button , level screen and currently making the 1st minigame.
Almost COmpleted the game working on debugging and end screens
forgot to record screen debugging the complete game and adding ending screen and all that but hackatime on godot still recorded 1h .Now just last two steps are left
Last Devlog for mrotat finished publishing check it out on https://momentum122.itch.io/mrotat
Ships:
I made a Marioware game named Mrotat i dont how i ended up with that name. Using godot was confusing in the start but later on i got used to it . This is my first every game which is i am pretty proud of . I used the godot icon for the clicker because its the only thing that could fit there and the heart collector game was pretty when i set it to 10 seconds but later i changed it to 12 to make it easier a little bit....
|
1793055102.7220037
|
1793141502.7220037
|
|
59904
|
REACTOR by @mindstormpro3 | Stardance
|
mindstormpro3
|
1
|
12.58
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T06:13:17Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Reactor is a special python TUI tool for running bots made for the hack club defector event 100% locally. Gone are the days of uploading your bot to the defector website just to see if there is a bug! Now you can test your bot locally, even against the top 20 leaderboard bots! This project made me relearn python, and also learn a bit about the internal workings of javascript, and most importantly, taught me how to publish a python package to PyPi. If you want to try out Reactor for yourself, download it with pip install reactor_mindstormpro3 or check out my github for more instructions! once downloaded all you gotta do is restart your terminal and run Reactor in it to start it up!", "repo": "https://github.com/mindstormpro/Reactor", "demo": "https://pypi.org/project/reactor-mindstormpro3/"}]...
|
[{"post_id": 76056, "ts": "202 [{"post_id": 76056, "ts": "2026-10-02T06:46:33Z", "hours": 0.5822, "text": "REACTOR DEVLOG #3.5! This is a very speedy devlog, since it’s only like 30 mins of bugfixing so I can reship, but Ill give some details: So basically, when I wrote the error handling in the last devlog, turns out I was trying to write to a dictionary (the bot’s data dictionary) without actually initializing it first, causing a silent crash. I just did a little switcharoo to move the init statement (which was right after ) to run first and now it works fine! I also just added some more error logging with the textual notification system in case something goes wrong and bumped up the PyPi python package version to 1.0.4 instead of 1.0.3 . Also, for the shipwrights, I just want to clarify that it only loads files if they are .js or if they have no extension at all, so no .txt or any other file."}, {"post_id": 75267, "ts": "2026-09-29T16:26:12Z", "hours": 1.5125, "text": "Reactor Devlog #3! Hello guys! Ive been a little busy the past week, but I finally got around to making some progress, and so here’s what I have to show for it: WE’RE ON PYPI! I managed to upload Reactor to pypi under the name reactor_mindstormpro3 ( Check it out here! ) It took a while to get everything set up but basically I just used hatchling to build and twine to upload, with a pyproject.toml I borrowed from some guide and modified to require some dependencies like py_mini_racer . ( Hippity Hoppity Your Code Is Now My Property ) A Lot of Bug Fixing And Changes! I fixed the following issues: Invalid bots that throw errors when loaded now throw an error as a push notification but doesnt crash the app. Made refreshing more reliable Moved loading bots at boot to a separate thread to not impair loading time of the app."}, {"post_id": 71867, "ts": "2026-09-21T17:52:41Z", "hours": 3.9761, "text": "Reactor Devlog #2! What changed? A lot has happened since my last devlog! I locked in and implemented a bunch of new features, such as: error handling!!! a WORKING request system to fetch the latest reactor bots to test your bot against A bot selector system to add any bot in the CWD or sub-directories into the runner, so you can test your own bot! Better UI!! Woah thats a lot of changes, lemme break it down… First, the Error Handling! This one is kinda the most self-explanitory. Basically, The mini_racer engine for python uses an old version of javascript, so some features, like table.at() isnt supported. For table.at() I just added a filler script to the front of the src that defines it, but I can’t realistically catch everything so I a segment in the loading of the bot that runs the code once and checks for a crash or parsing error from the engine and if it fails then it doesn’t import the bot into the bot table. (AI wrote the filler script, but I originally found the bug and also made the error handling section) Secondly, The Request System! The request system is arguably the coolest part of this project, but I feel obligated to also explain that some of the request system was assisted by AI (meaning that AI wrote code, I read it, and then reimplemented it with the same general idea) and also ai DID write the leaderboard grabber which just grabs all of the bots’ id’s that I can use to find their links and grab the src, but ONLY the leaderboard parser, not the bot page parser. Ok, with that out of the way, how does this really work? well basically I take and parse the current leaderboard stream at defector.hackclub.com/_app/remote/1jsclqx/leaderboardData . Then with that info, I manually take the bot IDs given with that and shove them into this template: https://defector.hackclub.com/bot/(bot ID here) . That spits out an HTML page, so I use BeautifulSoup to parse it with this absolute horror of a line: BeautifulSoup(response.text, \"html.parser\").find_all(\"pre\")[-1].get_text() and extract the source code, before writing them into a file in the botCache folder in the CWD. Then I load the file as normal, just like any other bot. Thirdly, The Bot Selection System! The bot selection system works by just replacing the normal leaderboard widget with a DirectoryTree widget and then setting it to show the current working directory, or CWD. I then use a custom sorter script to show only folders and .js files. whenever a JS script is clicked, it just imports it as a normal bot. Finally, we have UI Improvements! I added zebra tiling to the leaderboard to make it more readable, made buttons disable themselves during certain actions like disabling the run button when refreshing, and fixed a few little UI bugs. What’s Next? well after this I’m going to try to ship, with only 9 days left in Stardance. I Just need to package it with PyPi and I’m done!"}, {"post_id": 65635, "ts": "2026-09-10T21:54:24Z", "hours": 6.5558, "text": "Reactor Devlog 1! Wait…. So what is Reactor? Reactor is a tool to test bots made for Defector without having to publish your bot to the website and go through all that hassle. What I’ve done in the first 6 hours Installed mini_racer for python and wrote a basic function to take a .js script and run the bot function inside it. Fixed a but with mini_racer lacking array.at() due to mini_racer using an outdated version of js by just defining it myself :) Learned the basics of Textual for making TUIs in python Made a cool TUI that allows you to start the reactor and then shows the statistics of the sim in a table. (see attached image) fixed some misc bugs Ok, now how does it actually work? So basically, whenever I want to to play two bots against each other, I define a new mini_racer context with a modified version of their src (changed the export default with export default\", \"globalThis.botFunc = because otherwise mini_racer wouldnt be able to see it, and added a polyfill to the front of the script to define table.prototype.at() ) and then evaluate the bot () function for both bots and simulate a match between them! I then just made a function to loop through each possible robot matchup and run the game of 100-150 rounds, and then delegated the whole thing to a thread so the UI could still render while it runs. So What’s next? Add the ability to get the bots on the leaderboard and play against them Make some more simple bots add misc features like better UI and the ability to select extra bots to add instead of just ones in the cache folder See Ya Later! - Elio :3"}]...
|
Title: REACTOR by @mindstormpro3 | Stardance
Devl Title: REACTOR by @mindstormpro3 | Stardance
Devlogs:
Reactor Devlog 1! Wait…. So what is Reactor? Reactor is a tool to test bots made for Defector without having to publish your bot to the website and go through all that hassle. What I’ve done in the first 6 hours Installed mini_racer for python and wrote a basic function to take a .js script and run the bot function inside it. Fixed a but with mini_racer lacking array.at() due to mini_racer using an outdated version of js by just defining it myself :) Learned the basics of Textual for making TUIs in python Made a cool TUI that allows you to start the reactor and then shows the statistics of the sim in a table. (see attached image) fixed some misc bugs Ok, now how does it actually work? So basically, whenever I want to to play two bots against each other, I define a new mini_racer context with a modified version of their src (changed the export default with export default", "globalThis.botFunc = because otherwise mini_racer wouldnt be able to see it, and added a polyfill to the front of the script to define table.prototype.at() ) and then evaluate the bot () function for both bots and simulate a match between them! I then just made a function to loop through each possible robot matchup and run the game of 100-150 rounds, and then delegated the whole thing to a thread so the UI could still render while it runs. So What’s next? Add the ability to get the bots on the leaderboard and play against them Make some more simple bots add misc features like better UI and the ability to select extra bots to add instead of just ones in the cache folder See Ya Later! - Elio :3
Reactor Devlog #2! What changed? A lot has happened since my last devlog! I locked in and implemented a bunch of new features, such as: error handling!!! a WORKING request system to fetch the latest reactor bots to test your bot against A bot selector system to add any bot in the CWD or sub-directories into the runner, so you can test your own bot! Better UI!! Woah thats a lot of changes, lemme break it down… First, the Error Handling! This one is kinda the most self-explanitory. Basically, The mini_racer engine for python uses an old version of javascript, so some features, like table.at() isnt supported. For table.at() I just added a filler script to the front of the src that defines it, but I can’t realistically catch everything so I a segment in the loading of the bot that runs the code once and checks for a crash or parsing error from the engine and if it fails then it doesn’t import the bot into the bot table. (AI wrote the filler script, but I originally found the bug and also made the error handling section) Secondly, The Request System! The request system is arguably the coolest part of this project, but I feel obligated to also explain that some of the request system was assisted by AI (meaning that AI wrote code, I read it, and then reimplemented it with the same general idea) and also ai DID write the leaderboard grabber which just grabs all of the bots’ id’s that I can use to find their links and grab the src, but ONLY the leaderboard parser, not the bot page parser. Ok, with that out of the way, how does this really work? well basically I take and parse the current leaderboard stream at defector.hackclub.com/_app/remote/1jsclqx/leaderboardData . Then with that info, I manually take the bot IDs given with that and shove them into this template: https://defector.hackclub.com/bot/(bot ID here) . That spits out an HTML page, so I use BeautifulSoup to parse it with this absolute horror of a line: BeautifulSoup(response.text, "html.parser").find_all("pre")[-1].get_text() and extract the source code, before writing them into a file in the botCache folder in the CWD. Then I load the file as normal, just like any other bot. Thirdly, The Bot Selection System! The bot selection system works by just replacing the normal leaderboard widget with a DirectoryTree widget and then setting it to show the current working directory, or CWD. I then use a custom sorter script to show only folders and .js files. whenever a JS script is clicked, it just imports it as a normal bot. Finally, we have UI Improvements! I added zebra tiling to the leaderboard to make it more readable, made buttons disable themselves during certain actions like disabling the run button when refreshing, and fixed a few little UI bugs. What’s Next? well after this I’m going to try to ship, with only 9 days left in Stardance. I Just need to package it with PyPi and I’m done!
Reactor Devlog #3! Hello guys! Ive been a little busy the past week, but I finally got around to making some progress, and so here’s what I have to show for it: WE’RE ON PYPI! I managed to upload Reactor to pypi under the name reactor_mindstormpro3 ( Check it out here! ) It took a while to get everything set up but basically I just used hatchling to build and twine to upload, with a pyproject.toml I borrowed from some guide and modified to require some dependencies like py_mini_racer . ( Hippity Hoppity Your Code Is Now My Property ) A Lot of Bug Fixing And Changes! I fixed the following issues: Invalid bots that throw errors when loaded now throw an error as a push notification but doesnt crash the app. Made refreshing more reliable Moved loading bots at boot to a separate thread to not impair loading time of the app.
REACTOR DEVLOG #3.5! This is a very speedy devlog, since it’s only like 30 mins of bugfixing so I can reship, but Ill give some details: So basically, when I wrote the error handling in the last devlog, turns out I was trying to write to a dictionary (the bot’s data dictionary) without actually initializing it first, causing a silent crash. I just did a little switcharoo to move the init statement (which was right after ) to run first and now it works fine! I also just added some more error logging with the textual notification system in case something goes wrong and bumped up the PyPi python package version to 1.0.4 instead of 1.0.3 . Also, for the shipwrights, I just want to clarify that it only loads files if they are .js or if they have no extension at all, so no .txt or any other file.
Ships:
Reactor is a special python TUI tool for running bots made for the hack club defector event 100% locally. Gone are the days of uploading your bot to the defector website just to see if there is a bug! Now you can test your bot locally, even against the top 20 leaderboard bots! This project made me relearn python, and also learn a bit about the internal workings of javascript, and most importantly, taught me how to publish a python package to PyPi. If you want to try out Reactor for yourself, download it with pip install reactor_mindstormpro3 or check out my github for more instructions! once downloaded all you gotta do is restart your terminal and run Reactor in it to start it up!...
|
1793055104.7515662
|
1793141504.7515662
|
|
59980
|
FigmaTime by @Glitchtest | Stardance
|
Glitchtest
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-17T21:16:53Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Wakatime-compatible Figma Plugin! Figma takes 2-3 weeks to finish approving plugins, so it wouldnt be approved by the time stardance is over, but it is still possible to use the plugin via developer mode! https://developers.figma.com/docs/plugins/plugin-quickstart-guide/", "repo": "https://github.com/Glitchtest51/FigmaTime", "demo": "https://www.figma.com/community/plugin/1678682497647704981/figmatime"}]...
|
[{"post_id": 69825, "ts": "202 [{"post_id": 69825, "ts": "2026-09-17T21:12:05Z", "hours": 6.1039, "text": "Plugin works!"}]...
|
Title: FigmaTime by @Glitchtest | Stardance
Devlo Title: FigmaTime by @Glitchtest | Stardance
Devlogs:
Plugin works!
Ships:
I made a Wakatime-compatible Figma Plugin! Figma takes 2-3 weeks to finish approving plugins, so it wouldnt be approved by the time stardance is over, but it is still possible to use the plugin via developer mode! https://developers.figma.com/docs/plugins/plugin-quickstart-guide/...
|
1793055105.9226465
|
1793141505.9226465
|
|
60002
|
OpenTasks by @noahplaysmario | Stardance
|
noahplaysmario
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-25T01:51:56Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an open-source server for tracking tasks and events. Everything is securely encrypted, and easy to make custom clients for. One thing you should know is that this software only contains the server and a basic testing client, but a custom client is very simple, especially if you use the testing client as a starting point.", "repo": "https://github.com/noah560/OpenTasks", "demo": "https://github.com/noah560/OpenTasks/blob/main/server.py"}]...
|
[{"post_id": 73392, "ts": "202 [{"post_id": 73392, "ts": "2026-09-25T01:48:45Z", "hours": 3.2003, "text": "I finished the server and test client!!!!!!!!! I am very happy, if it isn’t obvious by the number of exclamation points in the top line of this devlog. I finally finished the main part, now I can use this myself and implement clients for whatever I want. Also, I added a debug mode to help with client development."}, {"post_id": 71552, "ts": "2026-09-21T01:40:11Z", "hours": 2.6672, "text": "Finished server code for now- now to make a testing client to make sure it works! I am almost done with the project. For this devlog, I mainly fixed a bunch of errors found by AI (even if it doesn’t code the best, it can still find mistakes after all it’s pretty much just a lot of pattern detection) and fixed them(myself, not with AI). Next, I will make a simple CLI test/demo client to make sure it works."}, {"post_id": 71218, "ts": "2026-09-20T14:01:27Z", "hours": 5.6742, "text": "Redesigned protocol to be more extensible without modifying the server much."}, {"post_id": 68920, "ts": "2026-09-16T01:38:08Z", "hours": 2.2131, "text": "Started work on the actual server code!"}, {"post_id": 65714, "ts": "2026-09-11T01:46:52Z", "hours": 0.6372, "text": "Made it more secure and added a version number to the protocol. Next thing to do: the server code!"}, {"post_id": 65683, "ts": "2026-09-11T00:23:37Z", "hours": 0.9097, "text": "Documented the TCP protocol and request types."}, {"post_id": 64736, "ts": "2026-09-09T11:26:19Z", "hours": 0.5064, "text": "Started making the protocol. I am making the protocol first so I know exactly what to program and custom clients can easily be made."}]...
|
Title: OpenTasks by @noahplaysmario | Stardance
D Title: OpenTasks by @noahplaysmario | Stardance
Devlogs:
Started making the protocol. I am making the protocol first so I know exactly what to program and custom clients can easily be made.
Documented the TCP protocol and request types.
Made it more secure and added a version number to the protocol. Next thing to do: the server code!
Started work on the actual server code!
Redesigned protocol to be more extensible without modifying the server much.
Finished server code for now- now to make a testing client to make sure it works! I am almost done with the project. For this devlog, I mainly fixed a bunch of errors found by AI (even if it doesn’t code the best, it can still find mistakes after all it’s pretty much just a lot of pattern detection) and fixed them(myself, not with AI). Next, I will make a simple CLI test/demo client to make sure it works.
I finished the server and test client!!!!!!!!! I am very happy, if it isn’t obvious by the number of exclamation points in the top line of this devlog. I finally finished the main part, now I can use this myself and implement clients for whatever I want. Also, I added a debug mode to help with client development.
Ships:
I made an open-source server for tracking tasks and events. Everything is securely encrypted, and easy to make custom clients for. One thing you should know is that this software only contains the server and a basic testing client, but a custom client is very simple, especially if you use the testing client as a starting point....
|
1793055106.8078048
|
1793141506.8078048
|
|
60004
|
Tower-Blocks by @Sadiya | Stardance
|
Sadiya
|
1
|
3.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T23:22:32Z", "hours": 3.0, "multiplier": 1.18, "payout": 4, "blessing": "neutral", "text": "I made a stacking game where the player will build a tower by stopping the moving blocks. Each block moves back and forth to give the player a chance to place there block. One challenge was getting the blocks to stack and appear the same size and shape and getting it to work overall. Also my apologies if it looks big I didn’t realized that it is like this until after I created the playable link.", "repo": "https://github.com/sadiyameem/tower-blocks", "demo": "https://sadiyameem.github.io/tower-blocks/"}]...
|
[{"post_id": 67745, "ts": "202 [{"post_id": 67745, "ts": "2026-09-13T23:56:20Z", "hours": 0.8228, "text": "After rewriting the JS, I can say that it is now working. To whoever is going to try this out when I shipit, just so you that when you reach 20 blocks the game is done and you won. Here is a before and after image with video showing off the project."}, {"post_id": 66965, "ts": "2026-09-12T23:10:40Z", "hours": 0.835, "text": "I have decided to restart this project and I am trying not to use so much AI and so far I have notice that I have issues in my JS so I am going to do a redo and make it work but here is my progress so far with my HTML and CSS."}, {"post_id": 66113, "ts": "2026-09-11T18:32:58Z", "hours": 0.4239, "text": "This is the progress I made so far and I know I have a lot more to work on but I wanted to come on here and show you what I have so far and I think I might take another approach because I think there is a better way to do this and a better way to use less AI. And when I was recording this the 1st time I was recording the white background of this project lol."}, {"post_id": 65708, "ts": "2026-09-11T01:20:54Z", "hours": 0.7733, "text": "So I decided to start over and this is what I got so far I have completed all the code but I am trying to figure out when nothing is happening when the button is clicked."}, {"post_id": 65665, "ts": "2026-09-10T23:29:46Z", "hours": 0.3728, "text": "I just wanted to come on here and share what I have done so far and I outlined and currently still doing the css but I want to take a pause on it and work on the js."}]...
|
Title: Tower-Blocks by @Sadiya | Stardance
Devlog Title: Tower-Blocks by @Sadiya | Stardance
Devlogs:
I just wanted to come on here and share what I have done so far and I outlined and currently still doing the css but I want to take a pause on it and work on the js.
So I decided to start over and this is what I got so far I have completed all the code but I am trying to figure out when nothing is happening when the button is clicked.
This is the progress I made so far and I know I have a lot more to work on but I wanted to come on here and show you what I have so far and I think I might take another approach because I think there is a better way to do this and a better way to use less AI. And when I was recording this the 1st time I was recording the white background of this project lol.
I have decided to restart this project and I am trying not to use so much AI and so far I have notice that I have issues in my JS so I am going to do a redo and make it work but here is my progress so far with my HTML and CSS.
After rewriting the JS, I can say that it is now working. To whoever is going to try this out when I shipit, just so you that when you reach 20 blocks the game is done and you won. Here is a before and after image with video showing off the project.
Ships:
I made a stacking game where the player will build a tower by stopping the moving blocks. Each block moves back and forth to give the player a chance to place there block. One challenge was getting the blocks to stack and appear the same size and shape and getting it to work overall. Also my apologies if it looks big I didn’t realized that it is like this until after I created the playable link....
|
1793055111.6924565
|
1793141511.6924565
|
|
60007
|
My own site! by @Emmanuelfadipe69 | Stardance
|
Emmanuelfadipe69
|
1
|
19.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T05:45:42Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a personal website using HTML, CSS, and JavaScript. While building the website one of the challenges was getting the entire website layout to work properly across different screen sizes without looking either stretched or reduced. Another problem was putting backgrounds especially ones that functions as a slide show in the home page. Am proud of completing the website to see that all challenges i faced while building the website has been resolved and that the website is looking exactly like the want it to look. I would tell people to open my website and explore the navigation as well as the interactive features, and also take their time to check out my devlog on my website. Thank you for taking your time to check out my project.", "repo": "https://github.com/emmanuelfadipe69-tech/stardance-personal-website", "demo": "https://emmanuelfadipe69-tech.github.io/stardance-personal-website/"}]...
|
[{"post_id": 66946, "ts": "202 [{"post_id": 66946, "ts": "2026-09-12T22:26:21Z", "hours": 8.0117, "text": "Day 3 & 4 - While building my website i learnt more css properties that would help in structuring the website to be able to fit to size in both phones and desktops. I thought that what if someone was to open my website on a mobile phone, will the background look stretched cause it was initially programmed to fit desktop sizes, so i researched on how to solve that and was able to solve the problem. Also i moved forward to javascript so as to customize my website so it could have a form of slide-show in the home page and make the website come alive. I also added certain emojis and logo so as to add more visuals to the website, and i also added a readme to explain more about my website"}, {"post_id": 65861, "ts": "2026-09-11T09:14:08Z", "hours": 5.6239, "text": "Day 2- Following yesterday’s progress while building my website, i was able to perfect the html structure and and then i went over to finish my css style, but after previewing the website i figured that the background i put for the website didn’t suit a proper website at all as all the section in the whole website had the same background making it look more like a poster than a website. Then i went back again to restructure the css style so the website has more than a single background, and that the background should vary bringing out a colorful and professional portfolio website. Thank you"}, {"post_id": 65306, "ts": "2026-09-10T11:19:30Z", "hours": 5.4156, "text": "Day 1- Yesterday i started building my very own personal website, though i had conflict within myself what the website should contain i ended up deciding. I started by setting up the project in VS code and began working on the website starting with structure and it kinda went smooth cause i already decided on what i wanted to see in the website. After working on my html structure i decided to move onto the css styling and somehow that also went fine until i previewed the website using the live server and opened it in chrome to preview it and somehow i didn’t like the layout i created the centered words didn’t look like what i actually thought i would love and had to go back to my styling one again to correct them, through out yesterday i was stuck determining and perfecting the format to which the text were going to be in and i was finally able to put some in the centre and others in the left side. This problem also allowed me to discover more css properties that i could use when creating websites. Thank you"}]...
|
Title: My own site! by @Emmanuelfadipe69 | Stardan Title: My own site! by @Emmanuelfadipe69 | Stardance
Devlogs:
Day 1- Yesterday i started building my very own personal website, though i had conflict within myself what the website should contain i ended up deciding. I started by setting up the project in VS code and began working on the website starting with structure and it kinda went smooth cause i already decided on what i wanted to see in the website. After working on my html structure i decided to move onto the css styling and somehow that also went fine until i previewed the website using the live server and opened it in chrome to preview it and somehow i didn’t like the layout i created the centered words didn’t look like what i actually thought i would love and had to go back to my styling one again to correct them, through out yesterday i was stuck determining and perfecting the format to which the text were going to be in and i was finally able to put some in the centre and others in the left side. This problem also allowed me to discover more css properties that i could use when creating websites. Thank you
Day 2- Following yesterday’s progress while building my website, i was able to perfect the html structure and and then i went over to finish my css style, but after previewing the website i figured that the background i put for the website didn’t suit a proper website at all as all the section in the whole website had the same background making it look more like a poster than a website. Then i went back again to restructure the css style so the website has more than a single background, and that the background should vary bringing out a colorful and professional portfolio website. Thank you
Day 3 & 4 - While building my website i learnt more css properties that would help in structuring the website to be able to fit to size in both phones and desktops. I thought that what if someone was to open my website on a mobile phone, will the background look stretched cause it was initially programmed to fit desktop sizes, so i researched on how to solve that and was able to solve the problem. Also i moved forward to javascript so as to customize my website so it could have a form of slide-show in the home page and make the website come alive. I also added certain emojis and logo so as to add more visuals to the website, and i also added a readme to explain more about my website
Ships:
I built a personal website using HTML, CSS, and JavaScript. While building the website one of the challenges was getting the entire website layout to work properly across different screen sizes without looking either stretched or reduced. Another problem was putting backgrounds especially ones that functions as a slide show in the home page. Am proud of completing the website to see that all challenges i faced while building the website has been resolved and that the website is looking exactly like the want it to look. I would tell people to open my website and explore the navigation as well as the interactive features, and also take their time to check out my devlog on my website. Thank you for taking your time to check out my project....
|
1793055113.71781
|
1793141513.71781
|
|
60012
|
ReNova by @Nicormu | Stardance
|
Nicormu
|
1
|
21.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T16:49:23Z", "hours": 21.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "ReNova ReNova is a web app from Colombia where people give away or sell things they no longer use. Donation is the main idea: any product can be posted for free so it reaches someone who needs it. A seller posts a product, buyers send a request, and if the seller accepts it, both talk through an in-app chat to arrange the handoff. There are no payments in the app. We built it with Next.js, Firebase, and Cloudinary, and added email verification and an AI assistant called Helpy. It’s still a work in progress. Some buttons don’t do anything yet (like the search bar, category filters, and sorting), and there’s a lot left to improve. We’re planning to fix those and add user ratings next. Team of five: Juan Andres Granados, Nicolas Rojas, Santiago Hernandez, Paula Solano, and Mariana Castro.", "repo": "https://github.com/Combii0/ReNova", "demo": "https://renovacol.vercel.app"}]...
|
[{"post_id": 78520, "ts": "202 [{"post_id": 78520, "ts": "2026-10-11T02:33:32Z", "hours": 1.4092, "text": "Hi guyssss, I have been working in some thingssss, now you can publish your products with an image and you can send a request to a seller about a product. I hope you like the app :D"}, {"post_id": 76923, "ts": "2026-10-05T03:03:20Z", "hours": 3.7678, "text": "Finallyyyyyyyy, I connected correctly the app with the firebase. New features: -If you register manually, a code will be sent to your email for autentication. -Once registered for first time, your default role will be “Comprador” -To change to role “Socio” you have to be older than 15 years old (your age >= 16), have a valid colombian cellphone number and a valid address. (This last part is not fully implemente by now, I will have to push soon to add this feature JASKJAKS) -No more emojis when publishing the products, now you can add a picture of less than 5mb -Now there is a button to donate the product :D I will continue working on, I hope you like my progress. Any advice or suggestion is validd"}, {"post_id": 72015, "ts": "2026-09-22T00:39:33Z", "hours": 1.1525, "text": "Now you can see the changes in the webbbbb I do not recommend creating an user by now, I am talking to my partner to fix some bugs in vercel"}, {"post_id": 71449, "ts": "2026-09-20T20:48:09Z", "hours": 8.8925, "text": "This is the updateeeeeeee, I’m want to make more user features as changing the name, date of birth, authentication, cell phone number, address and so on. By now, I like how the web is going :D When I was doing the video I saw there were some problems with the product description :c I will continue working on"}, {"post_id": 64535, "ts": "2026-09-09T00:57:26Z", "hours": 5.8181, "text": "Hi, This is ReNova, a web page that wants to give items no longer in use a second life. By now, my task is users and products :D"}]...
|
Title: ReNova by @Nicormu | Stardance
Devlogs:
Hi Title: ReNova by @Nicormu | Stardance
Devlogs:
Hi, This is ReNova, a web page that wants to give items no longer in use a second life. By now, my task is users and products :D
This is the updateeeeeeee, I’m want to make more user features as changing the name, date of birth, authentication, cell phone number, address and so on. By now, I like how the web is going :D When I was doing the video I saw there were some problems with the product description :c I will continue working on
Now you can see the changes in the webbbbb I do not recommend creating an user by now, I am talking to my partner to fix some bugs in vercel
Finallyyyyyyyy, I connected correctly the app with the firebase. New features: -If you register manually, a code will be sent to your email for autentication. -Once registered for first time, your default role will be “Comprador” -To change to role “Socio” you have to be older than 15 years old (your age >= 16), have a valid colombian cellphone number and a valid address. (This last part is not fully implemente by now, I will have to push soon to add this feature JASKJAKS) -No more emojis when publishing the products, now you can add a picture of less than 5mb -Now there is a button to donate the product :D I will continue working on, I hope you like my progress. Any advice or suggestion is validd
Hi guyssss, I have been working in some thingssss, now you can publish your products with an image and you can send a request to a seller about a product. I hope you like the app :D
Ships:
ReNova ReNova is a web app from Colombia where people give away or sell things they no longer use. Donation is the main idea: any product can be posted for free so it reaches someone who needs it. A seller posts a product, buyers send a request, and if the seller accepts it, both talk through an in-app chat to arrange the handoff. There are no payments in the app. We built it with Next.js, Firebase, and Cloudinary, and added email verification and an AI assistant called Helpy. It’s still a work in progress. Some buttons don’t do anything yet (like the search bar, category filters, and sorting), and there’s a lot left to improve. We’re planning to fix those and add user ratings next. Team of five: Juan Andres Granados, Nicolas Rojas, Santiago Hernandez, Paula Solano, and Mariana Castro....
|
1793180860.7798238
|
1793267260.7798238
|
|
60014
|
Personal Site by @polycarbohydrate | Stardance
|
polycarbohydrate
|
1
|
12.0
|
164
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T16:01:02Z", "hours": 12.0, "multiplier": 11.29, "payout": 164, "blessing": "neutral", "text": "I created my personal website using the Rust Programming Langauge. Traditionally websites use HTML, CSS, and/or Javascript. I decided down a more questionable route… I am using the egui Rust crate for the GUI library. The GUI framework is eframe. In order to bundle all of the Rust code into something a browser can render, I use trunk, which compiles my code and assets into a WebAssembly binary (.wasm). When the site first launches, there is a loading screen which is HTML and CSS. Javascript loads the WASM. Everything you see is rendered using textured triangles. There is no HTML, CSS, JS, or DOM. WebGL and WebGPU do the rendering. Every movement of the mouse causes the entire frame to be redrawn. This is not the most optimal way for a personal static site, but allows me to create fast interactive portions of my site in the future. The majority of my time was spent in compilation and reading documentation. Compiling takes over 5 minutes for me (for a full rebuild). I hope you enjoy!", "repo": "https://codeberg.org/polycarbohydrate/personal-website", "demo": "https://my-site-bnr.pages.dev/"}]...
|
[{"post_id": 66694, "ts": "202 [{"post_id": 66694, "ts": "2026-09-12T15:55:07Z", "hours": 2.2492, "text": "I think I am done with the first version of the site. It obviously can have some additional features and polishing but for the most part, it doens’t look bad. I added 2 sections in the middle that reflect my personal interests. I fixed a typo in the about website section and also added a version and time changed text at the bottom of the site. Today’s challenge was layouting again. As you may tell, the last section has misalignment (as well as the top right section)… Next time I work on this, I am probably going to work on code restructuring and implementing functions to get rid of many lines of code. Currently it takes me over 5 minutes to compile the 273 dependencies. The Cargo.lock file has over 5500+ lines of dependencies 💀. I am going to read trunk ’s (the wasm packager I use) documentation to see if I can optimize my dev and release builds more. The .wasm size is 12MB. The HTML is only 107 lines. I added both horizontal and verticle scrolling just in case someone viewed the page on a small screen. In the future I plan to add text wrapping on window resizing. Currently it just disappears and the scroll bars appear. As simple as it may appear, this took way too long. I assume if one used html and css to do this would take maybe a quarter of the time I spent on this."}, {"post_id": 66301, "ts": "2026-09-12T01:57:42Z", "hours": 1.6789, "text": "Today I added a horizontal seciton with a GitHub button and started on my own activities section. As shown in the image, I am having trouble load an external .png to the site. Maybe I need to configure my image loaders differently. That is what I will figure out tommarrow. Hopefully I will finish the site this weekend. I spent many minutes compiling additional dependencies due to the svg in the GitHub button needed to be loaded. These sections will be most of the site and then in the empty space in the top section I will put something fun/interactive. In the about site section, I may change the formatting or add some additional details. Next steps are to finish the 2 columns."}, {"post_id": 64542, "ts": "2026-09-09T01:08:41Z", "hours": 8.1681, "text": "Most sites use HTML, CSS, and/or JavaScript. However most people don’t even realize our browsers can run also run WebAssemby (wasm). I decided to create my personal website in pure Rust. This is a difficult endeavour as Rust is typically used for backend, not frontend. I am using egui for the GUI library. I use trunk to bundle my application into a .wasm file along with bare html and js (to load wasm into the browser). I have spent countless hours reading documentation and experimenting with layouts (egui is wonky with this), and have successfully done the layout to my liking. Currently, my site is looking half-finished. I am going to add a few more sections and some fun simulations that will render in the browser. Everything you see is textured triangles. There is no HTML, CSS, JS, or DOM. Everytime the cursor is moved the page is redrawn. Rendering is done with WebGL or WGPU. JavaScript is required for the site to work (in order to load WebAssembly)."}]...
|
Title: Personal Site by @polycarbohydrate | Starda Title: Personal Site by @polycarbohydrate | Stardance
Devlogs:
Most sites use HTML, CSS, and/or JavaScript. However most people don’t even realize our browsers can run also run WebAssemby (wasm). I decided to create my personal website in pure Rust. This is a difficult endeavour as Rust is typically used for backend, not frontend. I am using egui for the GUI library. I use trunk to bundle my application into a .wasm file along with bare html and js (to load wasm into the browser). I have spent countless hours reading documentation and experimenting with layouts (egui is wonky with this), and have successfully done the layout to my liking. Currently, my site is looking half-finished. I am going to add a few more sections and some fun simulations that will render in the browser. Everything you see is textured triangles. There is no HTML, CSS, JS, or DOM. Everytime the cursor is moved the page is redrawn. Rendering is done with WebGL or WGPU. JavaScript is required for the site to work (in order to load WebAssembly).
Today I added a horizontal seciton with a GitHub button and started on my own activities section. As shown in the image, I am having trouble load an external .png to the site. Maybe I need to configure my image loaders differently. That is what I will figure out tommarrow. Hopefully I will finish the site this weekend. I spent many minutes compiling additional dependencies due to the svg in the GitHub button needed to be loaded. These sections will be most of the site and then in the empty space in the top section I will put something fun/interactive. In the about site section, I may change the formatting or add some additional details. Next steps are to finish the 2 columns.
I think I am done with the first version of the site. It obviously can have some additional features and polishing but for the most part, it doens’t look bad. I added 2 sections in the middle that reflect my personal interests. I fixed a typo in the about website section and also added a version and time changed text at the bottom of the site. Today’s challenge was layouting again. As you may tell, the last section has misalignment (as well as the top right section)… Next time I work on this, I am probably going to work on code restructuring and implementing functions to get rid of many lines of code. Currently it takes me over 5 minutes to compile the 273 dependencies. The Cargo.lock file has over 5500+ lines of dependencies 💀. I am going to read trunk ’s (the wasm packager I use) documentation to see if I can optimize my dev and release builds more. The .wasm size is 12MB. The HTML is only 107 lines. I added both horizontal and verticle scrolling just in case someone viewed the page on a small screen. In the future I plan to add text wrapping on window resizing. Currently it just disappears and the scroll bars appear. As simple as it may appear, this took way too long. I assume if one used html and css to do this would take maybe a quarter of the time I spent on this.
Ships:
I created my personal website using the Rust Programming Langauge. Traditionally websites use HTML, CSS, and/or Javascript. I decided down a more questionable route… I am using the egui Rust crate for the GUI library. The GUI framework is eframe. In order to bundle all of the Rust code into something a browser can render, I use trunk, which compiles my code and assets into a WebAssembly binary (.wasm). When the site first launches, there is a loading screen which is HTML and CSS. Javascript loads the WASM. Everything you see is rendered using textured triangles. There is no HTML, CSS, JS, or DOM. WebGL and WebGPU do the rendering. Every movement of the mouse causes the entire frame to be redrawn. This is not the most optimal way for a personal static site, but allows me to create fast interactive portions of my site in the future. The majority of my time was spent in compilation and reading documentation. Compiling takes over 5 minutes for me (for a full rebuild). I hope you enjoy!...
|
1793055114.8245032
|
1793141514.8245032
|
|
60023
|
astraOS by @Kakkarotto | Stardance
|
Kakkarotto
|
1
|
14.05
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T16:43:04Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made astraOS because i wanted to challenge myself to turn a normal webpage into something that actually feels like a small operating system", "repo": "https://github.com/saptarshimajumder11/astraOS", "demo": "https://saptarshimajumder11.github.io/astraOS/"}]...
|
[{"post_id": 70016, "ts": "202 [{"post_id": 70016, "ts": "2026-09-18T08:48:49Z", "hours": 7.0006, "text": "UPGRADED MOST OF THE THINGS. after getting a return from the shipping process, i tried to make it again without using AI and seems like i did it pretty well.the thhing is that the calendar app is under construction right now and i am working on the widget thingy cause its too hard to find one and takes time to make one,although i am working on it and also it opens pretty well! edited the top-bar too"}, {"post_id": 66049, "ts": "2026-09-11T16:42:52Z", "hours": 4.0467, "text": "I UPDATED AND REDESIGNED EVERYTHING! after getting rejected in the shipping process,i did more coding and learnt many things. WHAT IS NEW? -added fully functioning calculator.changed the background design.added taskbar .redesigned new logo.now there is a start button that actually opens ! but sadly i didnt make any power button type thing…."}, {"post_id": 64779, "ts": "2026-09-09T13:07:29Z", "hours": 1.2803, "text": "completed for part 1"}, {"post_id": 64723, "ts": "2026-09-09T10:55:45Z", "hours": 1.2831, "text": "I can able to get the interface and the website works.now really is left is the coding to get it to work"}, {"post_id": 64690, "ts": "2026-09-09T09:00:27Z", "hours": 0.3228, "text": "First part of the OS is getting completed.sonOS"}]...
|
Title: astraOS by @Kakkarotto | Stardance
Devlogs Title: astraOS by @Kakkarotto | Stardance
Devlogs:
First part of the OS is getting completed.sonOS
I can able to get the interface and the website works.now really is left is the coding to get it to work
completed for part 1
I UPDATED AND REDESIGNED EVERYTHING! after getting rejected in the shipping process,i did more coding and learnt many things. WHAT IS NEW? -added fully functioning calculator.changed the background design.added taskbar .redesigned new logo.now there is a start button that actually opens ! but sadly i didnt make any power button type thing….
UPGRADED MOST OF THE THINGS. after getting a return from the shipping process, i tried to make it again without using AI and seems like i did it pretty well.the thhing is that the calendar app is under construction right now and i am working on the widget thingy cause its too hard to find one and takes time to make one,although i am working on it and also it opens pretty well! edited the top-bar too
Ships:
i made astraOS because i wanted to challenge myself to turn a normal webpage into something that actually feels like a small operating system...
|
1793055116.8145354
|
1793141516.8145354
|
|
60025
|
new tab by @immaturegoat | Stardance
|
immaturegoat
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T23:14:39Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a new tab page that I have created. It has all the features that I think are necessary for a new tab page, and then some features for me to make my life more convenient. Firstly, it has the date and time placed very obviously in the center. This is a way for me to easily figure out what date it is, because sometimes I forgot. The search bar is placed right under it. Underneath the search bar, there are 4 links for what I use a lot. The 4 shortcuts go to Reddit, Discord, GitHub, and YouTube, though later in the future I might add the option to change or add more. In the bottom, there are 3 widgets. One is a list of upcoming Codeforces Competitions (I do a lot of competetive programming), a calendar (so I can plan things better), and a to-do list (to keep me organized).", "repo": "https://github.com/immaturegoat/new-tab", "demo": "https://immaturegoat.github.io/new-tab/"}]...
|
[{"post_id": 66962, "ts": "202 [{"post_id": 66962, "ts": "2026-09-12T23:03:55Z", "hours": 0.7336, "text": "Devlog 2 I spent around 30 minutes working on gathering contest info from codeforces and making a todo list. the shortcuts were pretty easy to implement, because they’re just links after all. the calendar was a bit hard to implement but I think it turned out looking pretty good. The todo list was also pretty easy, because it’s just a matter of storing stuff in local storage. As for the codeforces contests, I just grabbed contest information and took the date information and reformatted it into a date and time."}, {"post_id": 64567, "ts": "2026-09-09T02:29:00Z", "hours": 0.4897, "text": "Devlog 1 I just need the stardust bro Anyway, I started making the basic time and date work. I think it looks pretty good! I’m going to add some other stuff later."}]...
|
Title: new tab by @immaturegoat | Stardance
Devlo Title: new tab by @immaturegoat | Stardance
Devlogs:
Devlog 1 I just need the stardust bro Anyway, I started making the basic time and date work. I think it looks pretty good! I’m going to add some other stuff later.
Devlog 2 I spent around 30 minutes working on gathering contest info from codeforces and making a todo list. the shortcuts were pretty easy to implement, because they’re just links after all. the calendar was a bit hard to implement but I think it turned out looking pretty good. The todo list was also pretty easy, because it’s just a matter of storing stuff in local storage. As for the codeforces contests, I just grabbed contest information and took the date information and reformatted it into a date and time.
Ships:
This is a new tab page that I have created. It has all the features that I think are necessary for a new tab page, and then some features for me to make my life more convenient. Firstly, it has the date and time placed very obviously in the center. This is a way for me to easily figure out what date it is, because sometimes I forgot. The search bar is placed right under it. Underneath the search bar, there are 4 links for what I use a lot. The 4 shortcuts go to Reddit, Discord, GitHub, and YouTube, though later in the future I might add the option to change or add more. In the bottom, there are 3 widgets. One is a list of upcoming Codeforces Competitions (I do a lot of competetive programming), a calendar (so I can plan things better), and a to-do list (to keep me organized)....
|
1793055121.4637394
|
1793141521.4637394
|
|
60054
|
KSYK Maps by @juusojuusto | Stardance
|
juusojuusto
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T20:08:21Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made KSYK Maps, a navigation app designed for Kulosaaren Yhteiskoulu in Helsinki, Finland. The idea is simple: ever get lost at school or not know where your next lesson is? KSYK Maps helps students and guests find their classrooms and navigate around the school using an interactive map. The project includes: Interactive school maps Classroom and room information Schedule integration Navigation between rooms Android app Admin tools Analytics and error logging Finnish and English support.", "repo": "https://github.com/JuusoJuusto/ksyk-maps", "demo": "https://ksykmaps.fi"}]...
|
[{"post_id": 74624, "ts": "202 [{"post_id": 74624, "ts": "2026-09-27T19:54:07Z", "hours": 15.0444, "text": "Ever get lost at school? KSYK Maps is built to solve exactly that. Developped for Kulosaaren Yhteiskoulu, KSYK Maps is a modern school navigation app designed to help students and guests find classrooms, navigate the school and stay on track with their schedules."}]...
|
Title: KSYK Maps by @juusojuusto | Stardance
Devl Title: KSYK Maps by @juusojuusto | Stardance
Devlogs:
Ever get lost at school? KSYK Maps is built to solve exactly that. Developped for Kulosaaren Yhteiskoulu, KSYK Maps is a modern school navigation app designed to help students and guests find classrooms, navigate the school and stay on track with their schedules.
Ships:
I made KSYK Maps, a navigation app designed for Kulosaaren Yhteiskoulu in Helsinki, Finland. The idea is simple: ever get lost at school or not know where your next lesson is? KSYK Maps helps students and guests find their classrooms and navigate around the school using an interactive map. The project includes: Interactive school maps Classroom and room information Schedule integration Navigation between rooms Android app Admin tools Analytics and error logging Finnish and English support....
|
1793055125.0018804
|
1793141525.0018804
|
|
60055
|
Drift King by @ahmad_abdalbaset | Stardance
|
ahmad_abdalbaset
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T21:41:45Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a car drifting sim, a simplistic one at that", "repo": "https://github.com/AhmedThe13thUser/Drift-King", "demo": "https://ahmedthe13thuser.github.io/Drift-King/"}]...
|
[{"post_id": 65461, "ts": "202 [{"post_id": 65461, "ts": "2026-09-10T16:32:06Z", "hours": 4.4192, "text": "Finally finished it it took a lot of formulas and a lot of wiki pages but its finally done, next step: Tire physics and/or clutch slipping and manual gearbox clutch control, so u can dump it or whatever"}]...
|
Title: Drift King by @ahmad_abdalbaset | Stardance Title: Drift King by @ahmad_abdalbaset | Stardance
Devlogs:
Finally finished it it took a lot of formulas and a lot of wiki pages but its finally done, next step: Tire physics and/or clutch slipping and manual gearbox clutch control, so u can dump it or whatever
Ships:
I made a car drifting sim, a simplistic one at that...
|
1793055128.0467474
|
1793141528.0467474
|
|
60066
|
SlickTab by @yashtakhtani | Stardance
|
yashtakhtani
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-15T12:46:49Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "The project is completed!! It has the following features - A multi-search bar which lets you select the search engine or AI tool you want to use A shortcuts tab to navigate to some websites. NASA APOD in the background and its details at the bottom", "repo": "https://github.com/Yash-Takhtani/SlickTab", "demo": "https://yash-takhtani.github.io/SlickTab/"}]...
|
[{"post_id": 68625, "ts": "202 [{"post_id": 68625, "ts": "2026-09-15T12:44:16Z", "hours": 1.2536, "text": "Devlog 4 Finally done I worked upon adding a shortcuts tab for 3 websites as you can see in the picture. I also added the title. Overall the project was fun and I enjoyed making this. I had almost lost my HTML CSS JS skills since It’s been a while I last made a webpage. This let me brush up my skills!!"}, {"post_id": 67156, "ts": "2026-09-13T07:12:48Z", "hours": 1.5122, "text": "Devlog 3 Made the Search bar I have made a seach bar that allows you to seamlessly switch between search engines and AI’s just with a simple dropdown. I implemented this by placing the user’s query directly in the url itself while redirecting to the website. You can try it out right now!!"}, {"post_id": 65242, "ts": "2026-09-10T07:26:41Z", "hours": 0.7128, "text": "Devlog 2 I added a simple search bar and improved the background placement today. I am a bit occupied today so I couldn’t do much."}, {"post_id": 64769, "ts": "2026-09-09T12:47:23Z", "hours": 1.2067, "text": "Devlog 1 Starting off I am working on slick tab. It is will be a simple new tab page with shortcuts, multi search engine functionality and the most important… “APOD”! Right now I made a basic page that extracts the APOD title and a description"}]...
|
Title: SlickTab by @yashtakhtani | Stardance
Devl Title: SlickTab by @yashtakhtani | Stardance
Devlogs:
Devlog 1 Starting off I am working on slick tab. It is will be a simple new tab page with shortcuts, multi search engine functionality and the most important… “APOD”! Right now I made a basic page that extracts the APOD title and a description
Devlog 2 I added a simple search bar and improved the background placement today. I am a bit occupied today so I couldn’t do much.
Devlog 3 Made the Search bar I have made a seach bar that allows you to seamlessly switch between search engines and AI’s just with a simple dropdown. I implemented this by placing the user’s query directly in the url itself while redirecting to the website. You can try it out right now!!
Devlog 4 Finally done I worked upon adding a shortcuts tab for 3 websites as you can see in the picture. I also added the title. Overall the project was fun and I enjoyed making this. I had almost lost my HTML CSS JS skills since It’s been a while I last made a webpage. This let me brush up my skills!!
Ships:
The project is completed!! It has the following features - A multi-search bar which lets you select the search engine or AI tool you want to use A shortcuts tab to navigate to some websites. NASA APOD in the background and its details at the bottom...
|
1793055129.7803612
|
1793141529.7803612
|
|
60103
|
Artemis 2 Rocket by @javin_wittig | Stardance
|
javin_wittig
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T15:28:15Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I modeled the launch of the Artemis II rocket in Blender. One of the biggest challenges was creating the fire and smoke simulations, which I’m really proud of! The project also includes an interactive 3D website where I showcase my Blender scene.", "repo": "https://github.com/javinwittig/artemis-2-launch-3d", "demo": "https://javinwittig.github.io/artemis-2-launch-3d/"}]...
|
[{"post_id": 78764, "ts": "202 [{"post_id": 78764, "ts": "2026-10-11T15:17:38Z", "hours": 4.5083, "text": "I am finally finished with my project. I also created an interactive website for my szene: https://javinwittig.github.io/artemis-2-launch-3d/"}, {"post_id": 72388, "ts": "2026-09-22T20:07:56Z", "hours": 2.0036, "text": "Modeling the surroundings of my scene"}, {"post_id": 71219, "ts": "2026-09-20T14:02:10Z", "hours": 2.6636, "text": "still improving the flames and smoke in my Blender project"}, {"post_id": 70539, "ts": "2026-09-19T10:25:28Z", "hours": 3.02, "text": "Simulating the flames and smoke of a rocket launch"}, {"post_id": 64692, "ts": "2026-09-09T09:12:32Z", "hours": 2.4747, "text": "Modeling NASA’s Artemis 2 rocket and launchpad scene in Blender"}]...
|
Title: Artemis 2 Rocket by @javin_wittig | Stardan Title: Artemis 2 Rocket by @javin_wittig | Stardance
Devlogs:
Modeling NASA’s Artemis 2 rocket and launchpad scene in Blender
Simulating the flames and smoke of a rocket launch
still improving the flames and smoke in my Blender project
Modeling the surroundings of my scene
I am finally finished with my project. I also created an interactive website for my szene: https://javinwittig.github.io/artemis-2-launch-3d/
Ships:
I modeled the launch of the Artemis II rocket in Blender. One of the biggest challenges was creating the fire and smoke simulations, which I’m really proud of! The project also includes an interactive 3D website where I showcase my Blender scene....
|
1793055133.5913074
|
1793141533.5913074
|
|
60113
|
My own site! by @cosmic79conqueror | Stardance
|
cosmic79conqueror
|
1
|
1.47
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T10:36:40Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i have made a simple looking personal site about me and its was very good experience for me hope you like it.", "repo": "https://github.com/cosmic79conqueror-coder/Website", "demo": "https://cosmic79conqueror-coder.github.io/Website/"}]...
|
[{"post_id": 67450, "ts": "202 [{"post_id": 67450, "ts": "2026-09-13T15:37:46Z", "hours": 0.3853, "text": "#devlog3 This time tried to create a much simpler version and tried to redesigned the site"}, {"post_id": 66715, "ts": "2026-09-12T16:34:56Z", "hours": 1.0889, "text": "This is the redesigned site of my project and i hope it functions perfectly."}, {"post_id": 66496, "ts": "2026-09-12T10:28:34Z", "hours": 0.0, "text": "it was very fun do it"}]...
|
Title: My own site! by @cosmic79conqueror | Starda Title: My own site! by @cosmic79conqueror | Stardance
Devlogs:
it was very fun do it
This is the redesigned site of my project and i hope it functions perfectly.
#devlog3 This time tried to create a much simpler version and tried to redesigned the site
Ships:
i have made a simple looking personal site about me and its was very good experience for me hope you like it....
|
1793055135.5735438
|
1793141535.5735438
|
|
60118
|
FluidSim by @AbdurRehman | Stardance
|
AbdurRehman
|
1
|
55.0
|
1027
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T10:31:19Z", "hours": 55.0, "multiplier": 18.75, "payout": 1027, "blessing": "neutral", "text": "Well I made a fluid simulation that runs completely on the GPU using WebGPU. Since everything happens on the gpu, like from the physics to the rendering, it can handle tens of thousands of particles in real time in the browser without having performance issues. What was challenging for me was moving everything over to WebGPU since before I was just using plain Three.js and stuff. It’s completely different from WebGL and I had to refactor a lot of code, especially how the sim was structured, and then setting up the rendering system. The other big challenge was just making the water actually look convincing. That took quite a while and a lot of tweaking to make it look at least somewhat realistic. Honestly pretty much how the entire thing turned out. The audio reacts to the physics, the water looks good (or acceptable at the very least), objects float and sink, you can sculpt the terrain, then there are wind gusts and you can interact with the water. Every little thing comes together in a way I’m really happy with. Like this project was just a simple particle test I was making just for fun but in the end I actually enjoyed making and playing around with it. Just open the web page. You’ll need a browser with WebGPU support to run it and the controls are pretty much on the screen. You can adjust sliders and stuff and pretty much play around with everything, including adding your own .glb models. Audio might not play immediately since it takes some time to load in the background.", "repo": "https://github.com/RealAbdurRehman/fluid-simulation", "demo": "https://fluid-simulation-sigma.vercel.app"}]...
|
[{"post_id": 72151, "ts": "202 [{"post_id": 72151, "ts": "2026-09-22T10:16:14Z", "hours": 1.7319, "text": "This is the final dev log. Like I said in the last devlog, the sim was basically feature complete so this dev log is mostly the cleanup and little UI improvements. I cleaned up a bunch of code by like removing dead code that had jut been sitting and I improved how the controls panel looks. Other than that I wrote the README and finalized the repo by adding stuff like the license and I also added a cool looking favicon. And with that, the project is now complete."}, {"post_id": 71772, "ts": "2026-09-21T14:41:21Z", "hours": 9.8517, "text": "I have made a ton of progress since the last devlog. First I added a simple but good looking sky shader which has clouds and a sun, and then hooked up textures on the loaded models so they aren’t just basic colors anymore. And I also added support for loading your own .glb models and they’ll work in the sim. Relatively small changes but they made the scene look a whole lot better and more interactive. Audio was the biggest change and took the most time, but it was also the most fun. There are multiple layers to it, like the general ambience is pretty much layered water sounds like water flowing sounds, foam sound, lapping sound, bubbles, etc that crossfade based on how the fluid is moving. External objects also create sounds like you can hear them splash in and out of the water or when heavy stuff sinks there is kind of a low rumble. There’s also sounds for water splashing on itself, objects colliding around with other objects, etc. There is also a cool underwater effect where if the camera is inside the water stuff get’s muffled and stuff which is really cool. What’s good is that everything is driven by the physics so everything is dynamic and nothing is being faked. Like each sound is created for a reason. After that I added wind to the sim. Like wind is created using gusts which are scheduled procedurally, so you get calm stretches and then a burst of air. I also added another interaction too. You can now create vortexes using V + left click which is kind of fun and adds more interactivity. I also added sculpting to the terrain. Now you can change the terrain to your liking by using different brush modes like: raise, lower, smoothen, flatten. I also optimized particles check with the terrain especially after stuff had become more dynamic though that was pretty easy to do. Some other small polishes I did was to clean up the settings panel thing among other small stuff. The sim is basically feature complete at this point, so next up is cleaning up the UI and then creating a good README."}, {"post_id": 70222, "ts": "2026-09-18T18:56:06Z", "hours": 8.7947, "text": "Since my last dev log I’ve mostly been working on the water’s visuals. First thing I did was to rewrite the screen space fluid rendering implementation and tuned it a bit to make it look way better than before and less like a bunch of stacked balls and I also added realistic looking refractions too. Then I added proper shadows to the scene, which made stuff look more alive. This bumped the visuals up a lot. Then I worked on caustics. This was one of those features that instantly made the water look ten times better. This took a bit of time to get right but eventually I got it to work and it looks good. After that, I added foam to make the water look less flat and blobby. The water, in general, waswas too perfect and so I added noise to the water to fix that. With these changes, there was a noticeable loss of performance so I had to work on that. Along the way I also cleaned up some of the code especially the GUI control panel thingy since it was getting too extensive so I cut down a lot of things. Then I finally added model support. Before you could only use basic shapes like squares, spheres etc. Now I can load in model files, and use them in the simulation which is really cool. There was also this weird bug where objects would disappear when you switched them around but after a bunch of changes in my code I finally fixed the bug. I also fixed other bugs like water kind of acting weird with the boat spawned which too took quite a bit of time to fix. Next I want to do some scene polish like better background, etc and then finally audio. I might also work some more on the object collision physics since I intentionally kept them really simple but I might not. Depends on how lazy I am I guess."}, {"post_id": 69606, "ts": "2026-09-17T12:18:15Z", "hours": 9.1133, "text": "Since my last dev log I’ve been working on terrain. I started with simple noise on a grid so the particles had something cool to fall and interact with rather than a boring flat plane. Then I had the idea of making the terrain a planet like fluid flowing on it and stuff like that. Actually got it working. It just wasn’t as good as I thought it would be. It made the project overly complex and kind of shift the focus towards the terrain instead of the fluid and made it harder to play with it. And also the fluid would obviously spread around over the planet so you couldn’t even see most of the cool stuff. And I spent a lot of time on that but well I eventually reverted and added a seabed in a box. That made the fluid the focus instead of the scenery and stuff and how it turned out in the end kind of looks dope. Well with the new terrain I spent time making it look sandy and good. I also switched from rendering some stuff as wireframes to actual meshes Shoudl’ve done this before but back then I guess I got lazy even though most of the stuff for that was already set up Water is really what’s been improved. Particles were just tiny colored spheres before, which I guess is okay for debugging but doesn’t look like water. I’ve been building something called screen space fluid rendering instead which just renders every particle as a billboard that always looks at/faces the camera and does some other cool stuff behind. Mine works I guess but I still have to improve it a lot. Like I guess the fluid looks more like water but still it looks like a bunch of balls so yeah that’s what I want to focus on next. After that, I’ll add proper collisions between objects, then scene polish, then audio. Audio is something I am excited for!"}, {"post_id": 68014, "ts": "2026-09-14T11:35:02Z", "hours": 6.3853, "text": "Since my last dev log, I made a pretty big change by making the fluid interact with actual 3D objects instead of just the bounds. First, I cleaned some stuff up like spawning the particles in a neat cube among other little stuff. Then I decided to refactor how stuff was being rendered. Before, I had two separate canvases, one WebGL canvas for the scene and one WebGPU canvas for the particles, because I was lazy implementing them and so I merged them into one since. That didn’t make too big of a difference visually but it makes it easier to add other stuff later. The main feature was getting the fluid to actually flow around objects. The particles can now collide with not only boxes and spheres but any complex shape I place in the scene. The torus knot is the only complex shape set up so far, but the same system will work for pretty much anything I add later. The other half was making the objects feel realistic. Like at first, they were just static test objects and the fluid could only move around them but not push them so they could move. I added proper physics to the objects so they float and move around realistically in the water and pretty much react to it. Getting this to work took quite a while like objects would spin violently when in contact with the water or bobbing up and down non stop but I eventually got it to work. Next up is pretty much the biggest change yet (at least visually). I want to remove the container and add real terrain over which the fluid can realistically flow over and stuff. Most of the foundation for this change is pretty much setup and the biggest change is to actually generate the terrain. After that I want to improve the physics of the objects. Right now the physics are like deliberately really simple like objects collide with the container only and can’t interact with other objects and the rotations aren’t even handled well. Once there is a terrain, then I’ll work on them pretty much."}, {"post_id": 67166, "ts": "2026-09-13T07:29:00Z", "hours": 9.1594, "text": "Since my last dev log, I’ve made quite a few changes to the fluid simulation which make it look completely different from the last dev log. First, I added interaction with the particles, which makes things a bit fun but its real purpose was to make testing the simulation easier. After that, I spent some time tuning and improving the physics. I added stuff like viscosity and a repulsion force between particles, which made the particles behave more like an actual fluid and add more customisation. While working on the physics, I also optimized the SPH simulation. I combined some of the neighbor searches and reduced unnecessary allocations happening every frame. This was pretty simple and made quite a difference. Once the basic simulation was good enough, I decided to move on to WebGP to really make stuff run smoothly. Both the fluid simulation and particle rendering now run through WebGPU, which gives me a much better foundation for scaling the simulation to larger numbers of particles. Like before the simulation could not run smoothly at around 4000 particles while now I can go up to tens of thousands of particles and still have really good performance (unless the particles are too squished up). After that, I finally started converting the simulation from 2D to 3D. This was relatively simple as I just had to go around the code changing Vector2s into Vector3s and accounting for the z axis but this made some other underlying issues more prominent. Like one of the biggest issues was particles stacking up against the boundaries walls that would repel other particles. I fixed that issue and made several other changes to get the 3D simulation behaving more naturally. At this point, the project has gone quite a bit beyond the small Three.js experiment I originally started with. What I want to do next is to make the particles react to other objects and shapes in the environment. I want to try and make it eventually work with more complex shapes as well, so the fluid can flow around and interact with actual 3D objects rather than being restricted to simple boundaries. After which I’ll make the fluid look like water instead of a bunch of balls flowing around and then work on the environment."}, {"post_id": 65881, "ts": "2026-09-11T10:01:05Z", "hours": 9.7228, "text": "I started working on a small fluid simulation in Three.js just for learning. Originally, this was really just meant to be a test project and something fun to mess around with, but after working on it a bunch I decided I want to keep developing it and eventually turn it into something interesting. So far I’ve built basic SPH simulation and got particles interacting with each other. I also implemented spatial hashing to make everything more efficient which just avoids checking every particle against every other particle. This improved the performance a lot especially with a lot of particles. I also added configurable simulation parameters such as gravity, pressure, particle count, etc to make testing easier. I also worked on the particles like befoe they were just blue circles but right now they change their color based on speed which I implemented by adding a shader. Right now, it still needs a bunch of work. There are bugs I need to fix and generally make the physics better. Next, I want to make the particles interactive something like click to move them type thing for testing. After, I’ll work on improving the physics, fixing bugs, and finally make stuff 3D."}]...
|
Title: FluidSim by @AbdurRehman | Stardance
Devlo Title: FluidSim by @AbdurRehman | Stardance
Devlogs:
I started working on a small fluid simulation in Three.js just for learning. Originally, this was really just meant to be a test project and something fun to mess around with, but after working on it a bunch I decided I want to keep developing it and eventually turn it into something interesting. So far I’ve built basic SPH simulation and got particles interacting with each other. I also implemented spatial hashing to make everything more efficient which just avoids checking every particle against every other particle. This improved the performance a lot especially with a lot of particles. I also added configurable simulation parameters such as gravity, pressure, particle count, etc to make testing easier. I also worked on the particles like befoe they were just blue circles but right now they change their color based on speed which I implemented by adding a shader. Right now, it still needs a bunch of work. There are bugs I need to fix and generally make the physics better. Next, I want to make the particles interactive something like click to move them type thing for testing. After, I’ll work on improving the physics, fixing bugs, and finally make stuff 3D.
Since my last dev log, I’ve made quite a few changes to the fluid simulation which make it look completely different from the last dev log. First, I added interaction with the particles, which makes things a bit fun but its real purpose was to make testing the simulation easier. After that, I spent some time tuning and improving the physics. I added stuff like viscosity and a repulsion force between particles, which made the particles behave more like an actual fluid and add more customisation. While working on the physics, I also optimized the SPH simulation. I combined some of the neighbor searches and reduced unnecessary allocations happening every frame. This was pretty simple and made quite a difference. Once the basic simulation was good enough, I decided to move on to WebGP to really make stuff run smoothly. Both the fluid simulation and particle rendering now run through WebGPU, which gives me a much better foundation for scaling the simulation to larger numbers of particles. Like before the simulation could not run smoothly at around 4000 particles while now I can go up to tens of thousands of particles and still have really good performance (unless the particles are too squished up). After that, I finally started converting the simulation from 2D to 3D. This was relatively simple as I just had to go around the code changing Vector2s into Vector3s and accounting for the z axis but this made some other underlying issues more prominent. Like one of the biggest issues was particles stacking up against the boundaries walls that would repel other particles. I fixed that issue and made several other changes to get the 3D simulation behaving more naturally. At this point, the project has gone quite a bit beyond the small Three.js experiment I originally started with. What I want to do next is to make the particles react to other objects and shapes in the environment. I want to try and make it eventually work with more complex shapes as well, so the fluid can flow around and interact with actual 3D objects rather than being restricted to simple boundaries. After which I’ll make the fluid look like water instead of a bunch of balls flowing around and then work on the environment.
Since my last dev log, I made a pretty big change by making the fluid interact with actual 3D objects instead of just the bounds. First, I cleaned some stuff up like spawning the particles in a neat cube among other little stuff. Then I decided to refactor how stuff was being rendered. Before, I had two separate canvases, one WebGL canvas for the scene and one WebGPU canvas for the particles, because I was lazy implementing them and so I merged them into one since. That didn’t make too big of a difference visually but it makes it easier to add other stuff later. The main feature was getting the fluid to actually flow around objects. The particles can now collide with not only boxes and spheres but any complex shape I place in the scene. The torus knot is the only complex shape set up so far, but the same system will work for pretty much anything I add later. The other half was making the objects feel realistic. Like at first, they were just static test objects and the fluid could only move around them but not push them so they could move. I added proper physics to the objects so they float and move around realistically in the water and pretty much react to it. Getting this to work took quite a while like objects would spin violently when in contact with the water or bobbing up and down non stop but I eventually got it to work. Next up is pretty much the biggest change yet (at least visually). I want to remove the container and add real terrain over which the fluid can realistically flow over and stuff. Most of the foundation for this change is pretty much setup and the biggest change is to actually generate the terrain. After that I want to improve the physics of the objects. Right now the physics are like deliberately really simple like objects collide with the container only and can’t interact with other objects and the rotations aren’t even handled well. Once there is a terrain, then I’ll work on them pretty much.
Since my last dev log I’ve been working on terrain. I started with simple noise on a grid so the particles had something cool to fall and interact with rather than a boring flat plane. Then I had the idea of making the terrain a planet like fluid flowing on it and stuff like that. Actually got it working. It just wasn’t as good as I thought it would be. It made the project overly complex and kind of shift the focus towards the terrain instead of the fluid and made it harder to play with it. And also the fluid would obviously spread around over the planet so you couldn’t even see most of the cool stuff. And I spent a lot of time on that but well I eventually reverted and added a seabed in a box. That made the fluid the focus instead of the scenery and stuff and how it turned out in the end kind of looks dope. Well with the new terrain I spent time making it look sandy and good. I also switched from rendering some stuff as wireframes to actual meshes Shoudl’ve done this before but back then I guess I got lazy even though most of the stuff for that was already set up Water is really what’s been improved. Particles were just tiny colored spheres before, which I guess is okay for debugging but doesn’t look like water. I’ve been building something called screen space fluid rendering instead which just renders every particle as a billboard that always looks at/faces the camera and does some other cool stuff behind. Mine works I guess but I still have to improve it a lot. Like I guess the fluid looks more like water but still it looks like a bunch of balls so yeah that’s what I want to focus on next. After that, I’ll add proper collisions between objects, then scene polish, then audio. Audio is something I am excited for!
Since my last dev log I’ve mostly been working on the water’s visuals. First thing I did was to rewrite the screen space fluid rendering implementation and tuned it a bit to make it look way better than before and less like a bunch of stacked balls and I also added realistic looking refractions too. Then I added proper shadows to the scene, which made stuff look more alive. This bumped the visuals up a lot. Then I worked on caustics. This was one of those features that instantly made the water look ten times better. This took a bit of time to get right but eventually I got it to work and it looks good. After that, I added foam to make the water look less flat and blobby. The water, in general, waswas too perfect and so I added noise to the water to fix that. With these changes, there was a noticeable loss of performance so I had to work on that. Along the way I also cleaned up some of the code especially the GUI control panel thingy since it was getting too extensive so I cut down a lot of things. Then I finally added model support. Before you could only use basic shapes like squares, spheres etc. Now I can load in model files, and use them in the simulation which is really cool. There was also this weird bug where objects would disappear when you switched them around but after a bunch of changes in my code I finally fixed the bug. I also fixed other bugs like water kind of acting weird with the boat spawned which too took quite a bit of time to fix. Next I want to do some scene polish like better background, etc and then finally audio. I might also work some more on the object collision physics since I intentionally kept them really simple but I might not. Depends on how lazy I am I guess.
I have made a ton of progress since the last devlog. First I added a simple but good looking sky shader which has clouds and a sun, and then hooked up textures on the loaded models so they aren’t just basic colors anymore. And I also added support for loading your own .glb models and they’ll work in the sim. Relatively small changes but they made the scene look a whole lot better and more interactive. Audio was the biggest change and took the most time, but it was also the most fun. There are multiple layers to it, like the general ambience is pretty much layered water sounds like water flowing sounds, foam sound, lapping sound, bubbles, etc that crossfade based on how the fluid is moving. External objects also create sounds like you can hear them splash in and out of the water or when heavy stuff sinks there is kind of a low rumble. There’s also sounds for water splashing on itself, objects colliding around with other objects, etc. There is also a cool underwater effect where if the camera is inside the water stuff get’s muffled and stuff which is really cool. What’s good is that everything is driven by the physics so everything is dynamic and nothing is being faked. Like each sound is created for a reason. After that I added wind to the sim. Like wind is created using gusts which are scheduled procedurally, so you get calm stretches and then a burst of air. I also added another interaction too. You can now create vortexes using V + left click which is kind of fun and adds more interactivity. I also added sculpting to the terrain. Now you can change the terrain to your liking by using different brush modes like: raise, lower, smoothen, flatten. I also optimized particles check with the terrain especially after stuff had become more dynamic though that was pretty easy to do. Some other small polishes I did was to clean up the settings panel thing among other small stuff. The sim is basically feature complete at this point, so next up is cleaning up the UI and then creating a good README.
This is the final dev log. Like I said in the last devlog, the sim was basically feature complete so this dev log is mostly the cleanup and little UI improvements. I cleaned up a bunch of code by like removing dead code that had jut been sitting and I improved how the controls panel looks. Other than that I wrote the README and finalized the repo by adding stuff like the license and I also added a cool looking favicon. And with that, the project is now complete.
Ships:
Well I made a fluid simulation that runs completely on the GPU using WebGPU. Since everything happens on the gpu, like from the physics to the rendering, it can handle tens of thousands of particles in real time in the browser without having performance issues. What was challenging for me was moving everything over to WebGPU since before I was just using plain Three.js and stuff. It’s completely different from WebGL and I had to refactor a lot of code, especially how the sim was structured, and then setting up the rendering system. The other big challenge was just making the water actually look convincing. That took quite a while and a lot of tweaking to make it look at least somewhat realistic. Honestly pretty much how the entire thing turned out. The audio reacts to the physics, the water looks good (or acceptable at the very least), objects float and sink, you can sculpt the terrain, then there are wind gusts and you can interact with the water. Every little thing comes together in a way I’m really happy with. Like this project was just a simple particle test I was making just for fun but in the end I actually enjoyed making and playing around with it. Just open the web page. You’ll need a browser with WebGPU support to run it and the controls are pretty much on the screen. You can adjust sliders and stuff and pretty much play around with everything, including adding your own .glb models. Audio might not play immediately since it takes some time to load in the background....
|
1793055138.3999908
|
1793141538.3999908
|
|
60156
|
OrbitOS by @Geki | Stardance
|
Geki
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T20:45:49Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made OrbitOS. OrbitOS is a personalized WebOS inspired by our solar system (space). My main challenge was debugging, a lot of debugging because of slight syntax errors which were extremely frustrating. Other than that HTML and CSS weren’t too hard, but JavaScript was really challenging for me mainly because it was a really new thing. I am really proud that it came together, and also that I didn’t switch projects because the goal was to be under 5 hours and its been a gruesome 12 hours of debugging and trying my hardest to understand JavaScript. Also I am really surprised that I somehow did the Calculator app before the Fun Fact one, basically I did the hard app before the simple one. The app “icon” is the middle text at the top bar and the 2nd one is the calculator, also note that the OrbitOS in the top left is also interactable and also all windows are draggable even if there is no Grab button. Hopefully you enjoy my project and no issues pop up!!", "repo": "https://github.com/GesPm/OrbitOS", "demo": "https://gespm.github.io/OrbitOS/"}]...
|
[{"post_id": 68255, "ts": "202 [{"post_id": 68255, "ts": "2026-09-14T19:48:47Z", "hours": 1.7358, "text": "Final addition was the Fun Fact app. Clicking the middle text of the top bar opens a window that has cool fun facts about our solar system and you can get new facts every time you click the New Fact! button. ( There is a limit to how many different facts there are ). As it seems OrbitOS is fully ready to be launched!"}, {"post_id": 68161, "ts": "2026-09-14T16:56:12Z", "hours": 2.6783, "text": "Somehow it is slowly coming together :). If anyone has any tips on what I could improve on I would love to hear them. ( Also try translating the binary on the calculator screen! )"}, {"post_id": 67595, "ts": "2026-09-13T18:57:45Z", "hours": 3.3719, "text": "Working on the calculator ( aka trying to make it run somehow). Also why does javascript not make sense for me, like man come on :("}, {"post_id": 66174, "ts": "2026-09-11T20:37:54Z", "hours": 2.2244, "text": "Interactive windows added. Not happy at all with design. Sadly will have to restart the design : _(."}, {"post_id": 65976, "ts": "2026-09-11T14:01:37Z", "hours": 0.9622, "text": "How is it looking? ( Ignore the amount of time spent on making just this. )"}, {"post_id": 65948, "ts": "2026-09-11T12:52:30Z", "hours": 0.9683, "text": "Not too much progress sadly. How yall doing these so fast?"}, {"post_id": 65856, "ts": "2026-09-11T08:55:42Z", "hours": 0.5542, "text": "First preview, planning on making it a space themed WebOS. A long way to go"}]...
|
Title: OrbitOS by @Geki | Stardance
Devlogs:
Firs Title: OrbitOS by @Geki | Stardance
Devlogs:
First preview, planning on making it a space themed WebOS. A long way to go
Not too much progress sadly. How yall doing these so fast?
How is it looking? ( Ignore the amount of time spent on making just this. )
Interactive windows added. Not happy at all with design. Sadly will have to restart the design : _(.
Working on the calculator ( aka trying to make it run somehow). Also why does javascript not make sense for me, like man come on :(
Somehow it is slowly coming together :). If anyone has any tips on what I could improve on I would love to hear them. ( Also try translating the binary on the calculator screen! )
Final addition was the Fun Fact app. Clicking the middle text of the top bar opens a window that has cool fun facts about our solar system and you can get new facts every time you click the New Fact! button. ( There is a limit to how many different facts there are ). As it seems OrbitOS is fully ready to be launched!
Ships:
I made OrbitOS. OrbitOS is a personalized WebOS inspired by our solar system (space). My main challenge was debugging, a lot of debugging because of slight syntax errors which were extremely frustrating. Other than that HTML and CSS weren’t too hard, but JavaScript was really challenging for me mainly because it was a really new thing. I am really proud that it came together, and also that I didn’t switch projects because the goal was to be under 5 hours and its been a gruesome 12 hours of debugging and trying my hardest to understand JavaScript. Also I am really surprised that I somehow did the Calculator app before the Fun Fact one, basically I did the hard app before the simple one. The app “icon” is the middle text at the top bar and the 2nd one is the calculator, also note that the OrbitOS in the top left is also interactable and also all windows are draggable even if there is no Grab button. Hopefully you enjoy my project and no issues pop up!!...
|
1793055140.423272
|
1793141540.423272
|
|
60168
|
My Site! by @sparklydinosaur310 | Stardance
|
sparklydinosaur310
|
1
|
1.43
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T16:07:33Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my personal site. This was a good challenge for me as i have just started coding and i had to ask AI for the basics. I wrote all the code myself.", "repo": "https://github.com/sparklydinosaur310-design/My-Site-", "demo": "https://sparklydinosaur310-design.github.io/My-Site-/"}]...
|
[{"post_id": 66685, "ts": "202 [{"post_id": 66685, "ts": "2026-09-12T15:42:49Z", "hours": 1.4339, "text": "Finished coding my site again."}, {"post_id": 65428, "ts": "2026-09-10T15:43:49Z", "hours": 0.3619, "text": "Devlog #1 creating my personal site. This is my second project that i will be coding in and i am excited to finish it. i have written a lot of code that the time was not being recorded. I fixed the issue so now the time is being logged and i will be finishing this project soon. This is a bit of the code i have written"}]...
|
Title: My Site! by @sparklydinosaur310 | Stardance Title: My Site! by @sparklydinosaur310 | Stardance
Devlogs:
Devlog #1 creating my personal site. This is my second project that i will be coding in and i am excited to finish it. i have written a lot of code that the time was not being recorded. I fixed the issue so now the time is being logged and i will be finishing this project soon. This is a bit of the code i have written
Finished coding my site again.
Ships:
I made my personal site. This was a good challenge for me as i have just started coding and i had to ask AI for the basics. I wrote all the code myself....
|
1793055142.4558172
|
1793141542.4558172
|
|
60229
|
Atharva.OS by @Atharverse | Stardance
|
Atharverse
|
1
|
2.71
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T13:40:44Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Atharva OS is the ultra-smooth, zero-bloat operating system built to flex on heavy workloads without breaking a sweat. It combines a slick, distraction-free setup with serious under-the-hood power, keeping your digital space fast, fresh, and totally effortless. Lightning Fast: Handles heavy multitasking like a breeze—no lag, no stutter, just pure speed. Sleek Aesthetics: A minimalist, clean design that keeps your desktop looking sharp and organized. Locked Down: Deep background security and privacy vibes so your data stays strictly yours. Flow State Layouts: Tweak your windows, slap together virtual desktops, and crush your daily grind in style.", "repo": "https://github.com/Atharva1987/Atharva-OS", "demo": "https://atharva1987.github.io/Atharva-OS/"}]...
|
[{"post_id": 67309, "ts": "202 [{"post_id": 67309, "ts": "2026-09-13T11:46:31Z", "hours": 0.7131, "text": "After the reviewer’s corrections, finally done!"}, {"post_id": 65265, "ts": "2026-09-10T08:27:31Z", "hours": 0.4744, "text": "Finally, my own website is completed! In coming time, i will publish it using free sub domains."}, {"post_id": 65166, "ts": "2026-09-10T03:28:00Z", "hours": 1.3378, "text": "Major part of the HTML script is done. Now, just the final touches remains."}, {"post_id": 64902, "ts": "2026-09-09T16:42:24Z", "hours": 0.5061, "text": "Current working on Homepage"}]...
|
Title: Atharva.OS by @Atharverse | Stardance
Devl Title: Atharva.OS by @Atharverse | Stardance
Devlogs:
Current working on Homepage
Major part of the HTML script is done. Now, just the final touches remains.
Finally, my own website is completed! In coming time, i will publish it using free sub domains.
After the reviewer’s corrections, finally done!
Ships:
Atharva OS is the ultra-smooth, zero-bloat operating system built to flex on heavy workloads without breaking a sweat. It combines a slick, distraction-free setup with serious under-the-hood power, keeping your digital space fast, fresh, and totally effortless. Lightning Fast: Handles heavy multitasking like a breeze—no lag, no stutter, just pure speed. Sleek Aesthetics: A minimalist, clean design that keeps your desktop looking sharp and organized. Locked Down: Deep background security and privacy vibes so your data stays strictly yours. Flow State Layouts: Tweak your windows, slap together virtual desktops, and crush your daily grind in style....
|
1793055144.22739
|
1793141544.22739
|
|
60232
|
Notes App by @paula_g_jantunen | Stardance
|
paula_g_jantunen
|
1
|
3.77
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T20:49:35Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did I make? I built a full-stack Notes App using React, Express, and SQLite, a tiny but mighty trio. It lets you write notes, search notes, delete notes and store your questionable ideas in a database that never judges you. It’s simple, fast, and surprisingly cute for something powered by a database the size of a sandwich. What was challenging? Oh boy. Getting React and Express to talk to each other in Codespaces was like babysitting two kids who refuse to share toys. I spent a heroic amount of time staring at errors that turned out to be a missing semicolon, a typo, a port that wasn’t public and once… nothing. The app just felt dramatic. SQLite is tiny, powerful, and slightly clingy. If the database disappears, it just recreates itself. What am I proud of? The clean project structure (Marie Kondo would approve), the express API that works on the first try… sometimes, the react components that actually render what they’re supposed to and the fact that I didn’t rage-quit even once. And honestly? The app feels good. Like “I built this with my own hands” good. What should people know to test it? Umm I guess just read the README. Features to try: add a note, search a note, delete a note and add a note titled “IT WORKS!!!” (tradition).", "repo": "https://github.com/paulagjantunen-hue/Notes-App", "demo": "https://notes-app-2-k1i6.onrender.com/"}]...
|
[{"post_id": 75211, "ts": "202 [{"post_id": 75211, "ts": "2026-09-29T14:27:42Z", "hours": 0.325, "text": "Devlog #4 Time logged: 19 minutes Mission: Deploy the app Rality: Deploy the app, break the app, fix the app, question reality The Great Deployment Adventure Today I decided my Notes App deserved to leave the cozy safety of Codespaces and enter the real world. This was a mistake. At first, everything seemed fine: Backend deployed Frontend deployed Confidence deployed Then the app hit me with: “Could not connect to the notes server.” Wonderful. The Mystery of the Missing Notes The backend insisted it was alive. I visited: /api/notes And it proudly responded: [] Which is programmer for: “Yes, I’m working. No, I have no friends.” At least I knew the server wasn’t dead. The Deployment Detective Arc I spent the next few minutes playing detective. Questions included: Is the backend running? Is the frontend running? Is the API URL correct? Have I offended the internet somehow? After sufficient poking, prodding, and staring at logs, I discovered the issue wasn’t total disaster. For once. Render vs. SQLite Render and SQLite had a brief disagreement. Render: “Please start.” SQLite: “No.” Eventually they came to an understanding. Mostly. Final Thoughts In just 19 minutes: I deployed a backend I deployed a frontend I convinced a database to cooperate I learned that [] can be emotionally reassuring I received several error messages with amazing confidence"}, {"post_id": 74993, "ts": "2026-09-28T19:51:28Z", "hours": 0.4422, "text": "Devlog #3 Time logged: 26 minutes Main enemy: 404 Not Found The Great Demo Page Construction Today’s coding session wasn’t about React, Express, or SQLite. It was about something far more heroic: Making a demo page so my project stops returning a 404. I created a docs/ folder, dropped an index.html inside, and suddenly felt like a front-end engineer from 2012. Pure HTML. No frameworks. Just vibes. The “Why Does Ship Hate My Demo Link?” Arc The moment I realized Ship requires a public demo link , not a Codespaces URL that only works when I’m awake and the stars align, I knew what had to be done. So I built a whole mini-website: Title Description Features Screenshot placeholder Buttons Instructions The HTML Shenanigans I wrote CSS like a person who has seen too much: centered text rounded screenshots blue buttons margins that actually look normal It’s not fancy, but it works. And most importantly: It does not 404. Final Thoughts In just 26 minutes: I defeated the 404 monster I created a demo page that actually loads I made GitHub Pages happy And now Ship will (maybe?) accept my project Honestly? A surprisingly productive micro-session."}, {"post_id": 67669, "ts": "2026-09-13T20:37:20Z", "hours": 2.3067, "text": "Devlog #2 Time logged: 2h 16m Emotional damage: minimal Coffee consumed: classified Bugs defeated: several Bugs created: also several The Great Construction Phase I opened the project like a surgeon preparing for an operation. Except instead of scalpels, I had: React components Express routes And a database that behaves like a moody houseplant Folders appeared. Files multiplied. Imports broke. Imports were fixed. I felt powerful. The “Why Is This Not Working?” Arc At some point, I wrote code so elegant it should’ve been framed. Then I ran it. It immediately threw an error. Classic. I spent a solid 14 minutes staring at the screen like: “Explain yourself.” Eventually, I found the problems. Victory tasted sweet. The Backend Awakens Express booted up like a sleepy dragon. SQLite whispered: “I’m small… but I will store your deepest secrets.” Endpoints were created: GET /notes - for reading your questionable ideas POST /notes - for adding new questionable ideas DELETE /notes - for removing the really questionable ones Everything worked. Until it didn’t. Then it worked again. I don’t question it anymore. Frontend Chaos (React Edition) I built components like a lego master: NoteList - where your thoughts go to hang out NoteEditor - where new chaos is born SearchBar - because sometimes you forget what chaos you wrote React was cooperative today. Mostly. Except when it wasn’t. But we don’t talk about that. The Legendary “Why Won’t You Connect?” Saga Frontend and backend behaved like two siblings forced to share a room. Frontend: “I can’t find the server.” Backend: “I’m literally right here.” Me: “Both of you, stop.” Eventually, they made peace. The API worked. I celebrated by saving a note titled “IT WORKS!!!” Final Thoughts After 2 hours and 16 minutes: The app runs The notes save The database behaves The components render And I only threatened to delete the whole project twice Honestly? A successful dev session."}, {"post_id": 65101, "ts": "2026-09-10T00:16:30Z", "hours": 1.1233, "text": "Devlog Full-Stack Notes App (React + Express + SQLite) Project Structure Appears I created folders so organized they could win a beauty pageant. Backend, frontend, devcontainer - the holy trinity. If Marie Kondo saw this repo, she’d shed a single joyful tear. Devcontainer Magic I wrote a devcontainer that installs everything automatically. It’s basically a tiny robot that whispers: “Don’t worry, Paula… I got you.” Backend Time I built an Express API so simple it could run on a potato. SQLite joined the party because it requires zero setup and has strong “I’m small but mighty” energy. Endpoints: GET notes POST notes DELETE notes Basically: CRUD, but make it cute. Frontend Shenanigans React + Vite. Components everywhere. I made: NoteList (aka “the list of your questionable ideas”) NoteEditor (where chaos is born) SearchBar (for when you forget what chaos you wrote)"}]...
|
Title: Notes App by @paula_g_jantunen | Stardance
Title: Notes App by @paula_g_jantunen | Stardance
Devlogs:
Devlog Full-Stack Notes App (React + Express + SQLite) Project Structure Appears I created folders so organized they could win a beauty pageant. Backend, frontend, devcontainer - the holy trinity. If Marie Kondo saw this repo, she’d shed a single joyful tear. Devcontainer Magic I wrote a devcontainer that installs everything automatically. It’s basically a tiny robot that whispers: “Don’t worry, Paula… I got you.” Backend Time I built an Express API so simple it could run on a potato. SQLite joined the party because it requires zero setup and has strong “I’m small but mighty” energy. Endpoints: GET notes POST notes DELETE notes Basically: CRUD, but make it cute. Frontend Shenanigans React + Vite. Components everywhere. I made: NoteList (aka “the list of your questionable ideas”) NoteEditor (where chaos is born) SearchBar (for when you forget what chaos you wrote)
Devlog #2 Time logged: 2h 16m Emotional damage: minimal Coffee consumed: classified Bugs defeated: several Bugs created: also several The Great Construction Phase I opened the project like a surgeon preparing for an operation. Except instead of scalpels, I had: React components Express routes And a database that behaves like a moody houseplant Folders appeared. Files multiplied. Imports broke. Imports were fixed. I felt powerful. The “Why Is This Not Working?” Arc At some point, I wrote code so elegant it should’ve been framed. Then I ran it. It immediately threw an error. Classic. I spent a solid 14 minutes staring at the screen like: “Explain yourself.” Eventually, I found the problems. Victory tasted sweet. The Backend Awakens Express booted up like a sleepy dragon. SQLite whispered: “I’m small… but I will store your deepest secrets.” Endpoints were created: GET /notes - for reading your questionable ideas POST /notes - for adding new questionable ideas DELETE /notes - for removing the really questionable ones Everything worked. Until it didn’t. Then it worked again. I don’t question it anymore. Frontend Chaos (React Edition) I built components like a lego master: NoteList - where your thoughts go to hang out NoteEditor - where new chaos is born SearchBar - because sometimes you forget what chaos you wrote React was cooperative today. Mostly. Except when it wasn’t. But we don’t talk about that. The Legendary “Why Won’t You Connect?” Saga Frontend and backend behaved like two siblings forced to share a room. Frontend: “I can’t find the server.” Backend: “I’m literally right here.” Me: “Both of you, stop.” Eventually, they made peace. The API worked. I celebrated by saving a note titled “IT WORKS!!!” Final Thoughts After 2 hours and 16 minutes: The app runs The notes save The database behaves The components render And I only threatened to delete the whole project twice Honestly? A successful dev session.
Devlog #3 Time logged: 26 minutes Main enemy: 404 Not Found The Great Demo Page Construction Today’s coding session wasn’t about React, Express, or SQLite. It was about something far more heroic: Making a demo page so my project stops returning a 404. I created a docs/ folder, dropped an index.html inside, and suddenly felt like a front-end engineer from 2012. Pure HTML. No frameworks. Just vibes. The “Why Does Ship Hate My Demo Link?” Arc The moment I realized Ship requires a public demo link , not a Codespaces URL that only works when I’m awake and the stars align, I knew what had to be done. So I built a whole mini-website: Title Description Features Screenshot placeholder Buttons Instructions The HTML Shenanigans I wrote CSS like a person who has seen too much: centered text rounded screenshots blue buttons margins that actually look normal It’s not fancy, but it works. And most importantly: It does not 404. Final Thoughts In just 26 minutes: I defeated the 404 monster I created a demo page that actually loads I made GitHub Pages happy And now Ship will (maybe?) accept my project Honestly? A surprisingly productive micro-session.
Devlog #4 Time logged: 19 minutes Mission: Deploy the app Rality: Deploy the app, break the app, fix the app, question reality The Great Deployment Adventure Today I decided my Notes App deserved to leave the cozy safety of Codespaces and enter the real world. This was a mistake. At first, everything seemed fine: Backend deployed Frontend deployed Confidence deployed Then the app hit me with: “Could not connect to the notes server.” Wonderful. The Mystery of the Missing Notes The backend insisted it was alive. I visited: /api/notes And it proudly responded: [] Which is programmer for: “Yes, I’m working. No, I have no friends.” At least I knew the server wasn’t dead. The Deployment Detective Arc I spent the next few minutes playing detective. Questions included: Is the backend running? Is the frontend running? Is the API URL correct? Have I offended the internet somehow? After sufficient poking, prodding, and staring at logs, I discovered the issue wasn’t total disaster. For once. Render vs. SQLite Render and SQLite had a brief disagreement. Render: “Please start.” SQLite: “No.” Eventually they came to an understanding. Mostly. Final Thoughts In just 19 minutes: I deployed a backend I deployed a frontend I convinced a database to cooperate I learned that [] can be emotionally reassuring I received several error messages with amazing confidence
Ships:
What did I make? I built a full-stack Notes App using React, Express, and SQLite, a tiny but mighty trio. It lets you write notes, search notes, delete notes and store your questionable ideas in a database that never judges you. It’s simple, fast, and surprisingly cute for something powered by a database the size of a sandwich. What was challenging? Oh boy. Getting React and Express to talk to each other in Codespaces was like babysitting two kids who refuse to share toys. I spent a heroic amount of time staring at errors that turned out to be a missing semicolon, a typo, a port that wasn’t public and once… nothing. The app just felt dramatic. SQLite is tiny, powerful, and slightly clingy. If the database disappears, it just recreates itself. What am I proud of? The clean project structure (Marie Kondo would approve), the express API that works on the first try… sometimes, the react components that actually render what they’re supposed to and the fact that I didn’t rage-quit even once. And honestly? The app feels good. Like “I built this with my own hands” good. What should people know to test it? Umm I guess just read the README. Features to try: add a note, search a note, delete a note and add a note titled “IT WORKS!!!” (tradition)....
|
1793055147.0227873
|
1793141547.0227873
|
|
60242
|
Scratchpad by @InvalidJoker | Stardance
|
InvalidJoker
|
1
|
10.0
|
41
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T10:32:14Z", "hours": 10.0, "multiplier": 4.22, "payout": 41, "blessing": "neutral", "text": "Scratchpad release We have finished: all management commands setup tui management tui Download via: https://github.com/InvalidJoker/scratchpad/releases/latest", "repo": "https://github.com/InvalidJoker/scratchpad", "demo": "https://github.com/InvalidJoker/scratchpad/releases/latest"}]...
|
[{"post_id": 69795, "ts": "202 [{"post_id": 69795, "ts": "2026-09-17T20:02:40Z", "hours": 2.0558, "text": "Project Manager TUI Added Built an interactive terminal user interface (TUI) to manage local projects seamlessly. Status indicators display whether a project is currently active. Selecting a project opens it directly in your preferred editor."}, {"post_id": 67284, "ts": "2026-09-13T11:02:51Z", "hours": 3.8764, "text": "Release Setup & CI Integration Automated CI pipeline validates every single commit. Releases and builds are automatically published to GitHub on update. Auto-completion support for fast terminal navigation and project tracking. What’s Next Built-in auto-updater. TUI for project management You can try it now at https://github.com/InvalidJoker/scratchpad/releases"}, {"post_id": 65398, "ts": "2026-09-10T14:52:20Z", "hours": 2.4911, "text": "Base is ready now Added First-Run Onboarding : Prompts users to run setup on initial execution to initialize CLI configuration. Project Creation & Lifecycle : new <name> : Create a scratch project. open <name> : Open a project and mark it active. keep <name> : Promote a project out of scratch, permanently. Project Discovery & Inspection : list : List your scratch projects. info <name> : Show everything known about a project. Trash Management : trash <name>... : Move a project to the trash. restore <name> : Bring a project back from the trash."}, {"post_id": 65039, "ts": "2026-09-09T20:59:50Z", "hours": 1.19, "text": "Scratchpad I’ve started working on Scratchpad, a small tool for managing temporary projects and experiments. The idea behind Scratchpad is simple: I often create projects in my Downloads folder when I’m testing an idea or starting something small. After a while, those projects pile up and I have to manually figure out what I still need and what I can delete. Scratchpad is meant to make that process easier by giving these temporary projects their own workspace and eventually helping manage their lifecycle. For the first step, I set up the project in Go and implemented the first command. This gives me the basic foundation to start building the rest of the tool around. It’s still very early, but the initial structure is now in place."}]...
|
Title: Scratchpad by @InvalidJoker | Stardance
De Title: Scratchpad by @InvalidJoker | Stardance
Devlogs:
Scratchpad I’ve started working on Scratchpad, a small tool for managing temporary projects and experiments. The idea behind Scratchpad is simple: I often create projects in my Downloads folder when I’m testing an idea or starting something small. After a while, those projects pile up and I have to manually figure out what I still need and what I can delete. Scratchpad is meant to make that process easier by giving these temporary projects their own workspace and eventually helping manage their lifecycle. For the first step, I set up the project in Go and implemented the first command. This gives me the basic foundation to start building the rest of the tool around. It’s still very early, but the initial structure is now in place.
Base is ready now Added First-Run Onboarding : Prompts users to run setup on initial execution to initialize CLI configuration. Project Creation & Lifecycle : new <name> : Create a scratch project. open <name> : Open a project and mark it active. keep <name> : Promote a project out of scratch, permanently. Project Discovery & Inspection : list : List your scratch projects. info <name> : Show everything known about a project. Trash Management : trash <name>... : Move a project to the trash. restore <name> : Bring a project back from the trash.
Release Setup & CI Integration Automated CI pipeline validates every single commit. Releases and builds are automatically published to GitHub on update. Auto-completion support for fast terminal navigation and project tracking. What’s Next Built-in auto-updater. TUI for project management You can try it now at https://github.com/InvalidJoker/scratchpad/releases
Project Manager TUI Added Built an interactive terminal user interface (TUI) to manage local projects seamlessly. Status indicators display whether a project is currently active. Selecting a project opens it directly in your preferred editor.
Ships:
Scratchpad release We have finished: all management commands setup tui management tui Download via: https://github.com/InvalidJoker/scratchpad/releases/latest...
|
1793055149.0332165
|
1793141549.0332165
|
|
60253
|
T-MINUS -Your Everday Mission Control by @MIREYA | T-MINUS -Your Everday Mission Control by @MIREYA | Stardance...
|
MIREYA
|
1
|
13.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T13:53:12Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made T-MINUS.LINK: https://mireya-examclarity.github.io/T-MINUS-/.I have build it specifically for students. It is a space-themed productive website.The most challenging part of it was to write htmls and javascript (I barely understand it😅) so I have asked some help from Meta AI . And deploying it was another struggle . I kept deleting files in my repository and then I realised I have done my codes using flask and the api I’ve used were all wrong and I had to correct it too😢.But I really like that my website can finally work even though it’s not perfect . I like the colours (I spend most of my time finding the names of the colours). Please tell me what else I could do in my website.", "repo": "https://github.com/Mireya-examclarity/T-MINUS-", "demo": "https://mireya-examclarity.github.io/T-MINUS-/"}]...
|
[{"post_id": 81485, "ts": "202 [{"post_id": 81485, "ts": "2026-10-21T13:40:51Z", "hours": 2.5533, "text": "Guys I finally understood why my site was not working yesterday . I am so embarassed by it 😂.GitHub can’t run Python programs. My flask backend was useless there.So I merged my JavaScript and HTML into one single file, moved everything to localStorage, and removed all the API stuff. I spent like 2 hours thinking it was my code or my file paths. I kept pushing again and again ( yes i did 😅).Took so long but now it works and I’ve deployed using github. It was so annoying because I had to rewrite the clock logic and payload checklist without Python ( HTMLs are my nightmare😵).So the lesson I have learned is to check where you’re deploying before writing a whole Flask app 😅."}, {"post_id": 81240, "ts": "2026-10-20T13:10:34Z", "hours": 3.5706, "text": "Guys!!! Today, I worked on T-MINUS. I added JavaScript, changed the HTML, modified the interface, and made changes to the time and some of the features. Since T-MINUS is meant to make everyday tasks more fun by turning them into space-themed missions, I wanted the website to feel more interactive and match the idea better. Tomorrow, I plan to add more code to make the features more functional, improve how the website responds to user actions, and fix anything that isn’t working as expected. There’s still more to work on, but I’m slowly bringing my idea to life(! ! ). SITE LINK: https://mireya-examclarity.github.io/T-MINUS-/"}, {"post_id": 80755, "ts": "2026-10-18T18:22:40Z", "hours": 4.9431, "text": "IM WORKING ON T-MINUS , I TRIED TO COMPLETE THE CODES AND HTML BUT IT GOT CRASHED SO NOW IM HAVING SOME TROUBLE DEPLOYING IT BUT I HOPE I CAN FIX THE ISSUE TOMORROW(! !). I HAVE TO GO HARDCORE ON THIS ON GUYS!!!"}, {"post_id": 71685, "ts": "2026-09-21T09:47:16Z", "hours": 0.3358, "text": "I coded for 42 minutes, but HackaTime says 16. It got delayed - it only started tracking after I was already deep inside the build.In those 42 minutes, I killed my own app.My first T-MINUS was on Streamlit. It was a sleeping site. You’d open it after 15 minutes and it would just show “Waking up” - like an astronaut who fell asleep before launch.So I changed my entire deployment - from Streamlit to Flask and GitHub.That switch wasn’t clean. I had trouble adding the HTMLs - Flask wouldn’t read them, Jinja kept throwing got ‘:’ errors because it thought my JavaScript was its own code. I was stuck, I asked for help, fixed it by moving everything to pure JS.But I fixed all of it. Now it’s Flask, it’s on GitHub."}, {"post_id": 68175, "ts": "2026-09-14T17:26:57Z", "hours": 1.2597, "text": "I am working on T-MINUS . Everyone this site could make you guys accomplish your everday mission and duties(I hope so!).I was finally been able to revive my hackatime time tracker after a while and did not have much time left thats why i could only code for about 1hr .Anyway hope ill do more tomorrow!!!."}]...
|
Title: T-MINUS -Your Everday Mission Control by @M Title: T-MINUS -Your Everday Mission Control by @MIREYA | Stardance
Devlogs:
I am working on T-MINUS . Everyone this site could make you guys accomplish your everday mission and duties(I hope so!).I was finally been able to revive my hackatime time tracker after a while and did not have much time left thats why i could only code for about 1hr .Anyway hope ill do more tomorrow!!!.
I coded for 42 minutes, but HackaTime says 16. It got delayed - it only started tracking after I was already deep inside the build.In those 42 minutes, I killed my own app.My first T-MINUS was on Streamlit. It was a sleeping site. You’d open it after 15 minutes and it would just show “Waking up” - like an astronaut who fell asleep before launch.So I changed my entire deployment - from Streamlit to Flask and GitHub.That switch wasn’t clean. I had trouble adding the HTMLs - Flask wouldn’t read them, Jinja kept throwing got ‘:’ errors because it thought my JavaScript was its own code. I was stuck, I asked for help, fixed it by moving everything to pure JS.But I fixed all of it. Now it’s Flask, it’s on GitHub.
IM WORKING ON T-MINUS , I TRIED TO COMPLETE THE CODES AND HTML BUT IT GOT CRASHED SO NOW IM HAVING SOME TROUBLE DEPLOYING IT BUT I HOPE I CAN FIX THE ISSUE TOMORROW(! !). I HAVE TO GO HARDCORE ON THIS ON GUYS!!!
Guys!!! Today, I worked on T-MINUS. I added JavaScript, changed the HTML, modified the interface, and made changes to the time and some of the features. Since T-MINUS is meant to make everyday tasks more fun by turning them into space-themed missions, I wanted the website to feel more interactive and match the idea better. Tomorrow, I plan to add more code to make the features more functional, improve how the website responds to user actions, and fix anything that isn’t working as expected. There’s still more to work on, but I’m slowly bringing my idea to life(! ! ). SITE LINK: https://mireya-examclarity.github.io/T-MINUS-/
Guys I finally understood why my site was not working yesterday . I am so embarassed by it 😂.GitHub can’t run Python programs. My flask backend was useless there.So I merged my JavaScript and HTML into one single file, moved everything to localStorage, and removed all the API stuff. I spent like 2 hours thinking it was my code or my file paths. I kept pushing again and again ( yes i did 😅).Took so long but now it works and I’ve deployed using github. It was so annoying because I had to rewrite the clock logic and payload checklist without Python ( HTMLs are my nightmare😵).So the lesson I have learned is to check where you’re deploying before writing a whole Flask app 😅.
Ships:
I have made T-MINUS.LINK: https://mireya-examclarity.github.io/T-MINUS-/.I have build it specifically for students. It is a space-themed productive website.The most challenging part of it was to write htmls and javascript (I barely understand it😅) so I have asked some help from Meta AI . And deploying it was another struggle . I kept deleting files in my repository and then I realised I have done my codes using flask and the api I’ve used were all wrong and I had to correct it too😢.But I really like that my website can finally work even though it’s not perfect . I like the colours (I spend most of my time finding the names of the colours). Please tell me what else I could do in my website....
|
1793181083.604039
|
1793267483.604039
|
|
60267
|
Environmental guardian for chronic illness by @nav Environmental guardian for chronic illness by @navak | Stardance...
|
navak
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T20:55:32Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is the companion app for a physical device I am making to help manage a chronic illness called Mast Cell Activation Syndrome. Currently the app works by imputing your own Gemini API key (which is stored safely on firebase, a google based web hosting platform) however i am working on a way to opt in to using a centralized ai that would learn from all users(with permission OFC). If you would like to test without making an account you can use this link: https://monumental-marigold-dd257a.netlify.app/ . The app is compatible with your phones camera, and saved photos, I’m working on a companion device that would go with it. I would love some testing and some feed back, let me know if you find any bugs!", "repo": "https://github.com/navak-code/mcas-companion-assistant", "demo": "https://mcas-companion.web.app/"}]...
|
[{"post_id": 64868, "ts": "202 [{"post_id": 64868, "ts": "2026-09-09T15:42:20Z", "hours": 3.9006, "text": "Base code"}]...
|
Title: Environmental guardian for chronic illness Title: Environmental guardian for chronic illness by @navak | Stardance
Devlogs:
Base code
Ships:
This is the companion app for a physical device I am making to help manage a chronic illness called Mast Cell Activation Syndrome. Currently the app works by imputing your own Gemini API key (which is stored safely on firebase, a google based web hosting platform) however i am working on a way to opt in to using a centralized ai that would learn from all users(with permission OFC). If you would like to test without making an account you can use this link: https://monumental-marigold-dd257a.netlify.app/ . The app is compatible with your phones camera, and saved photos, I’m working on a companion device that would go with it. I would love some testing and some feed back, let me know if you find any bugs!...
|
1793055151.021667
|
1793141551.021667
|
|
60268
|
Frictionless by @Romomankoo | Stardance
|
Romomankoo
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T17:12:19Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a modern portfolio website about myself. It features four distinct sections: About, Skills, Projects, and Contact. The hardest thing for me was learning how to use GitHub, but otherwise it all went pretty smoothly. Sometimes I didn’t know how to make certain things (AI helped), BUT all code was written by hand by me. I’m really proud of how it turned out and that I successfully deployed my first project.", "repo": "https://github.com/Romomankoo147/my-website", "demo": "https://romomankoo147.github.io/my-website/#projects"}]...
|
[{"post_id": 65034, "ts": "202 [{"post_id": 65034, "ts": "2026-09-09T20:50:49Z", "hours": 0.2667, "text": "Just fixing stuff"}, {"post_id": 64955, "ts": "2026-09-09T18:07:42Z", "hours": 0.5125, "text": "First time uploading my work started this project before this but came back to tweak few things."}]...
|
Title: Frictionless by @Romomankoo | Stardance
De Title: Frictionless by @Romomankoo | Stardance
Devlogs:
First time uploading my work started this project before this but came back to tweak few things.
Just fixing stuff
Ships:
I built a modern portfolio website about myself. It features four distinct sections: About, Skills, Projects, and Contact. The hardest thing for me was learning how to use GitHub, but otherwise it all went pretty smoothly. Sometimes I didn’t know how to make certain things (AI helped), BUT all code was written by hand by me. I’m really proud of how it turned out and that I successfully deployed my first project....
|
1793055153.9440076
|
1793141553.9440076
|
|
60274
|
Tsundoku by @Sirven | Stardance
|
Sirven
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T20:38:14Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made the first alpha version of Tsundoku, a task-organizing app that uses AI to turn messy thoughts and task dumps into structured, actionable tasks. It has a desktop version, a web demo, Groq integration, a settings page for API keys, and basic task persistence.", "repo": "https://github.com/SirvenSWK/Tsundoku", "demo": "https://github.com/SirvenSWK/Tsundoku/releases/tag/v0.1.0-alpha"}]...
|
[{"post_id": 69335, "ts": "202 [{"post_id": 69335, "ts": "2026-09-16T20:36:02Z", "hours": 0.7692, "text": "Dev Log #3 Got the web demo working and actually put Tsundoku online. It can now take a messy task dump and use Groq to turn it into actual tasks from a browser.I also changed the web version so users can use their own Groq API key instead of me having to put mine on the server. The organizer is getting a bit smarter too, so it doesn’t try to answer every random question and only focuses on stuff that can actually become a task."}, {"post_id": 68818, "ts": "2026-09-15T20:10:09Z", "hours": 1.2836, "text": "Dev Log #2Added a settings page so users can add their own Groq API key. The basic saving and loading is working, but there are still some bugs with the API key not updating correctly and the LLM sometimes fighting with the “I couldn’t find an actionable task” message.I’ll debug that tomorrow."}, {"post_id": 68272, "ts": "2026-09-14T20:25:28Z", "hours": 5.6097, "text": "Dev Log #1 Did an AI integration with the GROQ API, and I’m honestly proud of how it’s coming together. The whole idea is finally getting its rough scaffolding, and it’s working so far. So good, so good."}, {"post_id": 65404, "ts": "2026-09-10T14:59:38Z", "hours": 1.4533, "text": "Hello everyone! Introducing Tsundoku . . . Or at least it’s very beginnings. I started working on my long term project for those messy heads like me. Its purpose is to help organize ours calendars and time tables. So far, so good: about 1.5 hours on record on day one, with a basic Python/PySide6 layout and the beginnings of the application’s structure. Next up: building the scheduling system There’s a long way to go, but it’s officially started."}]...
|
Title: Tsundoku by @Sirven | Stardance
Devlogs:
H Title: Tsundoku by @Sirven | Stardance
Devlogs:
Hello everyone! Introducing Tsundoku . . . Or at least it’s very beginnings. I started working on my long term project for those messy heads like me. Its purpose is to help organize ours calendars and time tables. So far, so good: about 1.5 hours on record on day one, with a basic Python/PySide6 layout and the beginnings of the application’s structure. Next up: building the scheduling system There’s a long way to go, but it’s officially started.
Dev Log #1 Did an AI integration with the GROQ API, and I’m honestly proud of how it’s coming together. The whole idea is finally getting its rough scaffolding, and it’s working so far. So good, so good.
Dev Log #2Added a settings page so users can add their own Groq API key. The basic saving and loading is working, but there are still some bugs with the API key not updating correctly and the LLM sometimes fighting with the “I couldn’t find an actionable task” message.I’ll debug that tomorrow.
Dev Log #3 Got the web demo working and actually put Tsundoku online. It can now take a messy task dump and use Groq to turn it into actual tasks from a browser.I also changed the web version so users can use their own Groq API key instead of me having to put mine on the server. The organizer is getting a bit smarter too, so it doesn’t try to answer every random question and only focuses on stuff that can actually become a task.
Ships:
I made the first alpha version of Tsundoku, a task-organizing app that uses AI to turn messy thoughts and task dumps into structured, actionable tasks. It has a desktop version, a web demo, Groq integration, a settings page for API keys, and basic task persistence....
|
1793055155.907655
|
1793141555.907655
|
|
60279
|
Baby's first video game by @myrahbrarsuneja | Baby's first video game by @myrahbrarsuneja | Stardance...
|
myrahbrarsuneja
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-08T15:47:51Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just finished making my very first video game using a Godot tutorial by Brackeys!! I learned a lot from the experience. I also learned that I should probably start making games in Pico-8", "repo": "https://github.com/myrah-source/stardance", "demo": "https://myrah-om.itch.io/babysfirstvideogame"}]...
|
[{"post_id": 77777, "ts": "202 [{"post_id": 77777, "ts": "2026-10-08T07:54:48Z", "hours": 5.5097, "text": "My coins finally make the da-ding sound!! :))"}]...
|
Title: Baby's first video game by @myrahbrarsu Title: Baby's first video game by @myrahbrarsuneja | Stardance
Devlogs:
My coins finally make the da-ding sound!! :))
Ships:
I just finished making my very first video game using a Godot tutorial by Brackeys!! I learned a lot from the experience. I also learned that I should probably start making games in Pico-8...
|
1793055158.7856598
|
1793141558.7856598
|
|
60289
|
FormulaSnap by @Zuhayr | Stardance
|
Zuhayr
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T12:31:01Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "When studying new concepts, I often struggle to memorise formulae that have just been taught, and formula booklets can be inefficient and involve opening may tabs, documents and files. This inspired me to create FormulaSnap, an all in one formula search tool which contains all of my A level subjects’ formulae, allowing me to easily search, copy and favourite any formula that I need.", "repo": "https://github.com/zhrsidd/FormulaSnap", "demo": "https://zhrsidd.github.io/FormulaSnap/"}]...
|
[{"post_id": 66547, "ts": "202 [{"post_id": 66547, "ts": "2026-09-12T12:01:13Z", "hours": 3.1533, "text": "Devlog #2: Made a lot of progress on FormulaSnap and finished the first working release. I improved the fuzzy search so formulas can be found using names, aliases, topics, variables and units, and added subject/topic filters. I also got the global ⌘ ⇧ Yshortcut working through Tauri/Rust so FormulaSnap can be opened from anywhere on macOS.I redesigned the window to be smaller with scrollable results and improved keyboard navigation with ↑/↓, Space to expand formula details, and Enter to copy. Expanded formulas now show variables, units and notes. I also added Favorites and Recents, which are saved locally for quick access.Finally, I designed a custom app icon, packaged FormulaSnap as a standalone macOS .app and .dmg, and published v1.0.0 on GitHub with the source code, screenshots, README and MIT license."}, {"post_id": 65460, "ts": "2026-09-10T16:31:27Z", "hours": 1.8981, "text": "Devlog #1: Started working on FormulaSnap yesterday. I set up the project with React, TypeScript and Tauri and made the basic UI for searching and copying formulas. I also added KaTeX for proper formula rendering and keyboard navigation.I got the global shortcut working, so FormulaSnap can open from another app, and added Enter to copy and Escape to hide it. I had to fix a few Tauri permissions, Rust and port issues along the way.I used AI to help with the formula JSON/data and the Tauri + Rust setup, especially for the global shortcut."}]...
|
Title: FormulaSnap by @Zuhayr | Stardance
Devlogs Title: FormulaSnap by @Zuhayr | Stardance
Devlogs:
Devlog #1: Started working on FormulaSnap yesterday. I set up the project with React, TypeScript and Tauri and made the basic UI for searching and copying formulas. I also added KaTeX for proper formula rendering and keyboard navigation.I got the global shortcut working, so FormulaSnap can open from another app, and added Enter to copy and Escape to hide it. I had to fix a few Tauri permissions, Rust and port issues along the way.I used AI to help with the formula JSON/data and the Tauri + Rust setup, especially for the global shortcut.
Devlog #2: Made a lot of progress on FormulaSnap and finished the first working release. I improved the fuzzy search so formulas can be found using names, aliases, topics, variables and units, and added subject/topic filters. I also got the global ⌘ ⇧ Yshortcut working through Tauri/Rust so FormulaSnap can be opened from anywhere on macOS.I redesigned the window to be smaller with scrollable results and improved keyboard navigation with ↑/↓, Space to expand formula details, and Enter to copy. Expanded formulas now show variables, units and notes. I also added Favorites and Recents, which are saved locally for quick access.Finally, I designed a custom app icon, packaged FormulaSnap as a standalone macOS .app and .dmg, and published v1.0.0 on GitHub with the source code, screenshots, README and MIT license.
Ships:
When studying new concepts, I often struggle to memorise formulae that have just been taught, and formula booklets can be inefficient and involve opening may tabs, documents and files. This inspired me to create FormulaSnap, an all in one formula search tool which contains all of my A level subjects’ formulae, allowing me to easily search, copy and favourite any formula that I need....
|
1793055160.564483
|
1793141560.564483
|
|
60302
|
TUI-OS by @Dat-One-Dev | Stardance
|
Dat-One-Dev
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T10:19:14Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "TUI-OS is a browser-based operating system with a draggable multi-panel desktop, live ASCII clock, terminal supporting filesystem commands, and file viewer, built in vanilla HTML, CSS, and JavaScript for Stardance.", "repo": "https://github.com/Dat-one-dev/tui-os", "demo": "https://dat-one-dev.github.io/TUI-OS/"}]...
|
[{"post_id": 65880, "ts": "202 [{"post_id": 65880, "ts": "2026-09-11T10:00:22Z", "hours": 0.3569, "text": "TUI-OS DEVLOG 3 My small web os project is near end first i added drag gable windows now u can drag windows lwk changing there positions [I USED AI IN DRAGGIN PART IDK HOW TO DO IT], then i fixed errors in tree and dir commands, then i added this new VIEW command to view files like txt md and pngs, then added many files for fun and ig ts is done time to lwk make a readme vercel and ship it…i will ship it on github io this time ig"}, {"post_id": 65859, "ts": "2026-09-11T09:10:29Z", "hours": 1.0267, "text": "TUI-OS DEVLOG 2 Nowk we have 3 panels, Terminal Clock and IDK which is gonna be file viewer panel, we also have added commands like help - prints help log clear - clears terminal pwd - shows current dir dir - lists content tree - preety dir with adv features linux users know ts well cd - Change Dir Commnad fastfetch - just felt cool adding this print log, also used in welcome screen [neofetch and fastfetch do lwk same job] date - date time - time then we have clock panel thats just clock and IDK panel is next feature then i can ship ts"}, {"post_id": 64896, "ts": "2026-09-09T16:31:57Z", "hours": 0.6994, "text": "TUI OS DEVLOG 1 I made the proj added this black screen and green text on it did some css added text input buffer on it added a terminalPrint func in js to print array of strings, and then i added a varaiable to store input of new line….thats it for today"}]...
|
Title: TUI-OS by @Dat-One-Dev | Stardance
Devlogs Title: TUI-OS by @Dat-One-Dev | Stardance
Devlogs:
TUI OS DEVLOG 1 I made the proj added this black screen and green text on it did some css added text input buffer on it added a terminalPrint func in js to print array of strings, and then i added a varaiable to store input of new line….thats it for today
TUI-OS DEVLOG 2 Nowk we have 3 panels, Terminal Clock and IDK which is gonna be file viewer panel, we also have added commands like help - prints help log clear - clears terminal pwd - shows current dir dir - lists content tree - preety dir with adv features linux users know ts well cd - Change Dir Commnad fastfetch - just felt cool adding this print log, also used in welcome screen [neofetch and fastfetch do lwk same job] date - date time - time then we have clock panel thats just clock and IDK panel is next feature then i can ship ts
TUI-OS DEVLOG 3 My small web os project is near end first i added drag gable windows now u can drag windows lwk changing there positions [I USED AI IN DRAGGIN PART IDK HOW TO DO IT], then i fixed errors in tree and dir commands, then i added this new VIEW command to view files like txt md and pngs, then added many files for fun and ig ts is done time to lwk make a readme vercel and ship it…i will ship it on github io this time ig
Ships:
TUI-OS is a browser-based operating system with a draggable multi-panel desktop, live ASCII clock, terminal supporting filesystem commands, and file viewer, built in vanilla HTML, CSS, and JavaScript for Stardance....
|
1793055162.5699918
|
1793141562.5699918
|
|
60311
|
Portfolio website by @louisevincent289 | Stardance
|
louisevincent289
|
1
|
19.0
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T14:36:26Z", "hours": 19.0, "multiplier": 1.27, "payout": 15, "blessing": "neutral", "text": "I made a website for a shopping company, it includes products and seperate pages for men, women and children. When you change the colour of a product, the images change.", "repo": "https://github.com/thomas-j-vincent/thomas-website", "demo": "https://thomas-j-vincent.github.io/thomas-website/"}]...
|
[{"post_id": 67405, "ts": "202 [{"post_id": 67405, "ts": "2026-09-13T14:34:37Z", "hours": 1.3114, "text": "I’ve finished off my project, adding images and creating other products to showcase the potential of the project."}, {"post_id": 67317, "ts": "2026-09-13T11:58:06Z", "hours": 17.3772, "text": "I finished the first page and started work on the individual portfolio pages"}, {"post_id": 64960, "ts": "2026-09-09T18:15:04Z", "hours": 0.2878, "text": "I’ve created the basic architecture required to run a website, and am deciding on a type of button to use"}]...
|
Title: Portfolio website by @louisevincent289 | St Title: Portfolio website by @louisevincent289 | Stardance
Devlogs:
I’ve created the basic architecture required to run a website, and am deciding on a type of button to use
I finished the first page and started work on the individual portfolio pages
I’ve finished off my project, adding images and creating other products to showcase the potential of the project.
Ships:
I made a website for a shopping company, it includes products and seperate pages for men, women and children. When you change the colour of a product, the images change....
|
1793055166.2664804
|
1793141566.2664804
|
|
60313
|
Astronomy Apod by @SP-Coder | Stardance
|
SP-Coder
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T17:50:05Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A custom browser startup screen I made which features astronomy picture of the day along with a greeting, a search bar and shortcuts for frequently used sites. I built it with Vite, Vanilla JavaScript, and the public NASA APOD API.", "repo": "https://github.com/shreyanshpurohit/astronomy-apod/", "demo": "https://shreyanshpurohit.github.io/astronomy-apod/"}]...
|
[{"post_id": 64920, "ts": "202 [{"post_id": 64920, "ts": "2026-09-09T17:17:37Z", "hours": 5.3842, "text": "I made a custom startup screen for my browser. It fetches wallpaper from NASA API and shows the info about the wallpaper. Its also has shortcuts for most used websites and a url bar from which we can search anything. I hope you like it :)"}]...
|
Title: Astronomy Apod by @SP-Coder | Stardance
De Title: Astronomy Apod by @SP-Coder | Stardance
Devlogs:
I made a custom startup screen for my browser. It fetches wallpaper from NASA API and shows the info about the wallpaper. Its also has shortcuts for most used websites and a url bar from which we can search anything. I hope you like it :)
Ships:
A custom browser startup screen I made which features astronomy picture of the day along with a greeting, a search bar and shortcuts for frequently used sites. I built it with Vite, Vanilla JavaScript, and the public NASA APOD API....
|
1793055168.0251837
|
1793141568.0251837
|
|
60314
|
minecraft item effects mod by @RandomNari | Starda minecraft item effects mod by @RandomNari | Stardance...
|
RandomNari
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T13:40:59Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Minecraft mod where if you punch mobs/other players with certain items, they get effects(like poison with a pufferfish). While coding, a problem I had for a short while was that you couldn’t give all entities an effect but only living entities but I managed to fix this after a short while by importing LivingEnities and using them for this, since you can put effects on living Entities. The mod is for 26.2 fabric. (There’s like no picture I can think of that would be good to represent this, even on my curseforge/modrinth page I just put a png of a pufferfish so I’ll just put a picture of the uploaded mod here)", "repo": "https://github.com/RandomNari/itemeffects", "demo": "https://www.curseforge.com/minecraft/mc-mods/item-effects"}]...
|
[{"post_id": 66171, "ts": "202 [{"post_id": 66171, "ts": "2026-09-11T20:34:29Z", "hours": 1.0583, "text": "finished the code to give the hit entity/player an effect and added a few more items with the exact same logic and made a readme and published it to modrinth/curseforge, im just waiting for it to get approved to ship this"}, {"post_id": 64963, "ts": "2026-09-09T18:17:45Z", "hours": 0.6714, "text": "I am making a minecraft mod where you can hit entities with certain items to give them an effect (I did a Poisoneffect for hitting with a pufferfish just now). For this I wrote a PlayerMixin and Injected into the attack method"}]...
|
Title: minecraft item effects mod by @RandomNari | Title: minecraft item effects mod by @RandomNari | Stardance
Devlogs:
I am making a minecraft mod where you can hit entities with certain items to give them an effect (I did a Poisoneffect for hitting with a pufferfish just now). For this I wrote a PlayerMixin and Injected into the attack method
finished the code to give the hit entity/player an effect and added a few more items with the exact same logic and made a readme and published it to modrinth/curseforge, im just waiting for it to get approved to ship this
Ships:
I made a Minecraft mod where if you punch mobs/other players with certain items, they get effects(like poison with a pufferfish). While coding, a problem I had for a short while was that you couldn’t give all entities an effect but only living entities but I managed to fix this after a short while by importing LivingEnities and using them for this, since you can put effects on living Entities. The mod is for 26.2 fabric. (There’s like no picture I can think of that would be good to represent this, even on my curseforge/modrinth page I just put a png of a pufferfish so I’ll just put a picture of the uploaded mod here)...
|
1793055169.7380238
|
1793141569.7380238
|