|
70612
|
portfolio-website by @GhOsT_ | Stardance
|
GhOsT_
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: portfolio-website by @GhOsT_ | Stardance
|
1793159280.7322118
|
1793764080.7322118
|
|
59719
|
portfolioYah by @yahoo77 | Stardance
|
yahoo77
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: portfolioYah by @yahoo77 | Stardance
|
1793029848.3787584
|
1793634648.3787584
|
|
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...
|
1793411318.9944494
|
1793497718.9944494
|
|
19076
|
pos-todo v2 by @vividsystem | Stardance
|
vividsystem
|
0
|
3.86
|
0
|
[]
|
[{"post_id": 9450, "ts": "2026 [{"post_id": 9450, "ts": "2026-06-15T20:18:56Z", "hours": 3.8556, "text": "Just made a custom (therefore a bit shitty) markdown parser to parse slack messages and format them correctly when being printed"}]...
|
Title: pos-todo v2 by @vividsystem | Stardance
De Title: pos-todo v2 by @vividsystem | Stardance
Devlogs:
Just made a custom (therefore a bit shitty) markdown parser to parse slack messages and format them correctly when being printed...
|
1793235051.990456
|
1793839851.990456
|
|
13519
|
postura by @sundaykig | Stardance
|
sundaykig
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: postura by @sundaykig | Stardance
|
1792781556.196469
|
1793386356.196469
|
|
52853
|
posture ensurer by @builder-00 | Stardance
|
builder-00
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: posture ensurer by @builder-00 | Stardance
|
1793458592.800262
|
1794063392.800262
|
|
26158
|
potato by @yay | Stardance
|
yay
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T23:46:04Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is potatoOS :) Potato OS is an cute little operating system running in your browser :D It’s themed around the various plushies I have in my house. It has 3 apps: the welcome screen, a notepad, and a random number guessing game. This was my first project using javascript, so it was a bit challenging, and I used AI to help debug some parts. To access it, just click on the link in the repo :D", "repo": "https://github.com/xinyal-12237/wafflee", "demo": "https://pineapple-bun.vercel.app/"}]...
|
[{"post_id": 21153, "ts": "202 [{"post_id": 21153, "ts": "2026-07-02T23:18:17Z", "hours": 1.4711, "text": "Progress update: made the last window a random number guessing game. fixed some small bugs in the notepad made the apps in the dock labeled correctly almost ready to ship :D"}, {"post_id": 19478, "ts": "2026-06-30T20:10:20Z", "hours": 2.2331, "text": "potatoOS progress update: I converted the window into a notepad! You can now give it a title, edit the text, and save it. I also organized the js so that its easier to read :)"}, {"post_id": 17733, "ts": "2026-06-28T17:23:30Z", "hours": 3.3703, "text": "I’m working on potatoOS :) though the apps are not done yet"}]...
|
Title: potato by @yay | Stardance
Devlogs:
I’m wo Title: potato by @yay | Stardance
Devlogs:
I’m working on potatoOS :) though the apps are not done yet
potatoOS progress update: I converted the window into a notepad! You can now give it a title, edit the text, and save it. I also organized the js so that its easier to read :)
Progress update: made the last window a random number guessing game. fixed some small bugs in the notepad made the apps in the dock labeled correctly almost ready to ship :D
Ships:
This is potatoOS :) Potato OS is an cute little operating system running in your browser :D It’s themed around the various plushies I have in my house. It has 3 apps: the welcome screen, a notepad, and a random number guessing game. This was my first project using javascript, so it was a bit challenging, and I used AI to help debug some parts. To access it, just click on the link in the repo :D...
|
1793252898.7056825
|
1793339298.7056825
|
|
60843
|
potato-tab by @p0tato | Stardance
|
p0tato
|
0
|
5.78
|
0
|
[]
|
[{"post_id": 68365, "ts": "202 [{"post_id": 68365, "ts": "2026-09-15T00:44:35Z", "hours": 1.9531, "text": "devlog 3 - potato tab settings sidebar has been added, features include generating color scheme from image! you can now change the theme, color seed, background type (color, image, gradient is wip) and background properties. and ill admit i used ai to help me with image quantization and stuff. more customization coming soon."}, {"post_id": 68313, "ts": "2026-09-14T22:17:37Z", "hours": 1.8783, "text": "devlog 2 - potato tab so I got distracted and made part of a UI system with buttons, switches, inputs, sections, etc. additions: content can now be in any corner of the screen added a ton of components fixed material color stuff"}, {"post_id": 67709, "ts": "2026-09-13T22:10:15Z", "hours": 1.9464, "text": "devlog 1 - potato tab this is a last minute project im doing for stardance. my goal is to make a simple and customizable new tab page with different widgets and stuff. and also learn how to use svelte. so far ive added: time widget material color scheme generation"}]...
|
Title: potato-tab by @p0tato | Stardance
Devlogs: Title: potato-tab by @p0tato | Stardance
Devlogs:
devlog 1 - potato tab this is a last minute project im doing for stardance. my goal is to make a simple and customizable new tab page with different widgets and stuff. and also learn how to use svelte. so far ive added: time widget material color scheme generation
devlog 2 - potato tab so I got distracted and made part of a UI system with buttons, switches, inputs, sections, etc. additions: content can now be in any corner of the screen added a ton of components fixed material color stuff
devlog 3 - potato tab settings sidebar has been added, features include generating color scheme from image! you can now change the theme, color seed, background type (color, image, gradient is wip) and background properties. and ill admit i used ai to help me with image quantization and stuff. more customization coming soon....
|
1793037062.138108
|
1793641862.138108
|
|
49780
|
potatonator by @Potatoeater0075 | Stardance
|
Potatoeater0075
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T22:56:26Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Potatonator is a Slack bot where users can adopt and manage their own virtual potato. Each potato has its own stats, level, experience points and coins. Users can explore to earn XP and coins, view their potato’s profile and discover random potato facts. The project uses a Node.js Slack bot alongside a Cloudflare Workers API and Cloudflare D1 database for storing player and potato data. It includes an XP and leveling system that allows potatoes to progress as they gain experience. The bot is hosted on Hack Club Nest and configured as a systemd service so it can run continously without relying on the user’s computer being online.", "repo": "https://github.com/potatoeater0075/potatonator", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 48476, "ts": "202 [{"post_id": 48476, "ts": "2026-08-16T20:50:26Z", "hours": 0.3833, "text": "I added the /potatonator-explore command, which is the first real gameplay feature for Potatonator. The idea is that users can send their potato on a random adventure. Each adventure gives the potato XP and coins. I created a new /explore endpoint in the Cloudflare Worker and added several random events, such as finding treasure, discovering golden potatoes, finding coins, or fighting a carrot. At first, the API only returned the XP and coins without saving them. I then added a coins column to the D1 database and updated the endpoint so the rewards are permanently saved. There were a few small issues along the way, including accidentally trying to add the coins column twice, which resulted in a duplicate-column error. Since the first command had already worked, the second one wasn’t needed. After testing the API locally, I connected /explore to Slack and deployed the updated Cloudflare Worker. I also updated /potatonator-profile so it displays the coins earned from exploring."}, {"post_id": 48461, "ts": "2026-08-16T20:18:50Z", "hours": 0.3167, "text": "I added the /potatonator-profile command. The goal was to let users view the potato they adopted and all of its stats. First, I created a new /profile endpoint in the Cloudflare Worker. It takes the user’s Slack ID and searches the D1 database for their potato. I also connected the endpoint to index.ts so Cloudflare knows about the new route. There was a small issue where the /profile endpoint wasn’t appearing in the API documentation. Turns out VS Code hadn’t properly saved the changes, so after saving a few more times, it worked. I then tested the endpoint using PowerShell and confirmed that it could retrieve the saved potato. Finally, I connected the API to the Slack bot using Axios. The bot sends the user’s Slack ID to the API, which retrieves their potato from D1 and sends the information back to Slack. The command now displays: 🥔 Potato name Type Rarity ⚔️ Power 🥔 Crunch 🍀 Luck ⭐ Level ✨ XP After testing it in Slack, /potatonator-profile worked successfully. Potatonator now has both potato adoption and profiles, giving us the foundation for adding actual gameplay features next. 🥔"}, {"post_id": 48416, "ts": "2026-08-16T19:08:28Z", "hours": 1.0017, "text": "I started this project with the goal of making a Slack bot that could respond to custom slash commands. I wasn’t sure what the bot should actually do, so I decided to make it potato-themed and named it Potatonator. I started with basic commands like: /potatonator-ping /potatonator-help /potatonator-potatofact For the potato facts, I first learned about APIs and Axios, which lets the bot make requests to an API. I originally considered using an existing API, but decided to make my own potato API instead. I first ran the API locally, but realized that meant it wouldn’t work when my PC was turned off. I decided to move it to Cloudflare Workers, which gave me a permanent URL: https://potatonator-api.potatonator.workers.dev I then connected my Slack bot to this API. After that, I wanted Potatonator to become more like a game, so I created /potatonator-adopt. Users could permanently adopt a randomly generated potato with stats such as: Name Type Rarity Power Crunch Luck Level XP To save this information, I added a Cloudflare D1 database. There were a few mistakes along the way. I initially ran a command from the wrong folder, and later discovered that my local D1 database didn’t have the table even though the remote database did. I also had an issue where Axios treated the “already have a potato” response as an error. After fixing these, everything worked. Now /potatonator-adopt successfully creates a potato and remembers it even after the bot restarts. Next, I’m planning to add /potatonator-profile, which will let users view their potato and its stats."}, {"post_id": 48330, "ts": "2026-08-16T17:18:45Z", "hours": 0.3017, "text": "Created the bot on slack and then I added the code to vs code. I tested the first ping command which resulted in a success!"}]...
|
Title: potatonator by @Potatoeater0075 | Stardance Title: potatonator by @Potatoeater0075 | Stardance
Devlogs:
Created the bot on slack and then I added the code to vs code. I tested the first ping command which resulted in a success!
I started this project with the goal of making a Slack bot that could respond to custom slash commands. I wasn’t sure what the bot should actually do, so I decided to make it potato-themed and named it Potatonator. I started with basic commands like: /potatonator-ping /potatonator-help /potatonator-potatofact For the potato facts, I first learned about APIs and Axios, which lets the bot make requests to an API. I originally considered using an existing API, but decided to make my own potato API instead. I first ran the API locally, but realized that meant it wouldn’t work when my PC was turned off. I decided to move it to Cloudflare Workers, which gave me a permanent URL: https://potatonator-api.potatonator.workers.dev I then connected my Slack bot to this API. After that, I wanted Potatonator to become more like a game, so I created /potatonator-adopt. Users could permanently adopt a randomly generated potato with stats such as: Name Type Rarity Power Crunch Luck Level XP To save this information, I added a Cloudflare D1 database. There were a few mistakes along the way. I initially ran a command from the wrong folder, and later discovered that my local D1 database didn’t have the table even though the remote database did. I also had an issue where Axios treated the “already have a potato” response as an error. After fixing these, everything worked. Now /potatonator-adopt successfully creates a potato and remembers it even after the bot restarts. Next, I’m planning to add /potatonator-profile, which will let users view their potato and its stats.
I added the /potatonator-profile command. The goal was to let users view the potato they adopted and all of its stats. First, I created a new /profile endpoint in the Cloudflare Worker. It takes the user’s Slack ID and searches the D1 database for their potato. I also connected the endpoint to index.ts so Cloudflare knows about the new route. There was a small issue where the /profile endpoint wasn’t appearing in the API documentation. Turns out VS Code hadn’t properly saved the changes, so after saving a few more times, it worked. I then tested the endpoint using PowerShell and confirmed that it could retrieve the saved potato. Finally, I connected the API to the Slack bot using Axios. The bot sends the user’s Slack ID to the API, which retrieves their potato from D1 and sends the information back to Slack. The command now displays: 🥔 Potato name Type Rarity ⚔️ Power 🥔 Crunch 🍀 Luck ⭐ Level ✨ XP After testing it in Slack, /potatonator-profile worked successfully. Potatonator now has both potato adoption and profiles, giving us the foundation for adding actual gameplay features next. 🥔
I added the /potatonator-explore command, which is the first real gameplay feature for Potatonator. The idea is that users can send their potato on a random adventure. Each adventure gives the potato XP and coins. I created a new /explore endpoint in the Cloudflare Worker and added several random events, such as finding treasure, discovering golden potatoes, finding coins, or fighting a carrot. At first, the API only returned the XP and coins without saving them. I then added a coins column to the D1 database and updated the endpoint so the rewards are permanently saved. There were a few small issues along the way, including accidentally trying to add the coins column twice, which resulted in a duplicate-column error. Since the first command had already worked, the second one wasn’t needed. After testing the API locally, I connected /explore to Slack and deployed the updated Cloudflare Worker. I also updated /potatonator-profile so it displays the coins earned from exploring.
Ships:
Potatonator is a Slack bot where users can adopt and manage their own virtual potato. Each potato has its own stats, level, experience points and coins. Users can explore to earn XP and coins, view their potato’s profile and discover random potato facts. The project uses a Node.js Slack bot alongside a Cloudflare Workers API and Cloudflare D1 database for storing player and potato data. It includes an XP and leveling system that allows potatoes to progress as they gain experience. The bot is hosted on Hack Club Nest and configured as a systemd service so it can run continously without relying on the user’s computer being online....
|
1793458323.8353956
|
1793544723.8353956
|
|
60325
|
potatos by @asdfafislsa | Stardance
|
asdfafislsa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: potatos by @asdfafislsa | Stardance
|
1793404479.897992
|
1794268479.897992
|
|
34133
|
potfolio by @khairi | Stardance
|
khairi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: potfolio by @khairi | Stardance
|
1793148756.0653353
|
1793753556.0653353
|
|
64509
|
power HEX by @voidentity404 | Stardance
|
voidentity404
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: power HEX by @voidentity404 | Stardance
|
1793065658.9118721
|
1793670458.9118721
|
|
49377
|
power plant tour by @Nikhil_18 | Stardance
|
Nikhil_18
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: power plant tour by @Nikhil_18 | Stardance
|
1792914557.0172808
|
1793778557.0172808
|
|
54151
|
power project by @valogamer8085 | Stardance
|
valogamer8085
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: power project by @valogamer8085 | Stardance
|
1792777964.2568052
|
1793382764.2568052
|
|
53285
|
power station by @simon_glonek | Stardance
|
simon_glonek
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: power station by @simon_glonek | Stardance
|
1792741985.7484832
|
1793346785.7484832
|
|
46451
|
poweredslackbot by @ag525 | Stardance
|
ag525
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: poweredslackbot by @ag525 | Stardance
|
1793386300.7843282
|
1793991100.7843282
|
|
49020
|
powerup by @Ripper | Stardance
|
Ripper
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: powerup by @Ripper | Stardance
|
1793260134.1200194
|
1793864934.1200194
|
|
41530
|
pp by @micman | Stardance
|
micman
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: pp by @micman | Stardance
|
1792806859.6228068
|
1793411659.6228068
|
|
46023
|
pr3OS by @the1anonlypr3 | Stardance
|
the1anonlypr3
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: pr3OS by @the1anonlypr3 | Stardance
|
1793364836.5966256
|
1793969636.5966256
|
|
57352
|
pramtron by @pramsu_pandey | Stardance
|
pramsu_pandey
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: pramtron by @pramsu_pandey | Stardance
|
1793436485.2460017
|
1794041285.2460017
|
|
21463
|
prazzzz by @prazwalroka | Stardance
|
prazwalroka
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T06:42:01Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a video calling and real time chat app using mern stack i have faces multiple of challenges in hosting because it is my first real time project so backend and frontend databse linking was quite stressfull but i have used ai in many parts which helped me a lot ,those who are using my project can enjoy chatting with proples the caaling procedure is quite not atractive but it was my first project so i am proud of that and i have made ayotube video of this demo https://www.youtube.com/watch?v=DXuS3Huncng&t=3s but the url is chnaged beacuse i want to make make online for many hours so ichange render to vercel or backend and i have used uptime robot", "repo": "https://github.com/Prazwal30/Connectify", "demo": "https://connecttifyyy.netlify.app/"}]...
|
[{"post_id": 19827, "ts": "202 [{"post_id": 19827, "ts": "2026-07-01T06:32:44Z", "hours": 11.1064, "text": "i have completed the video calling app in under 12 hrs"}]...
|
Title: prazzzz by @prazwalroka | Stardance
Devlog Title: prazzzz by @prazwalroka | Stardance
Devlogs:
i have completed the video calling app in under 12 hrs
Ships:
i made a video calling and real time chat app using mern stack i have faces multiple of challenges in hosting because it is my first real time project so backend and frontend databse linking was quite stressfull but i have used ai in many parts which helped me a lot ,those who are using my project can enjoy chatting with proples the caaling procedure is quite not atractive but it was my first project so i am proud of that and i have made ayotube video of this demo https://www.youtube.com/watch?v=DXuS3Huncng&t=3s but the url is chnaged beacuse i want to make make online for many hours so ichange render to vercel or backend and i have used uptime robot...
|
1793461724.5284503
|
1793548124.5284503
|
|
68478
|
preact by @gitesperanza | Stardance
|
gitesperanza
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: preact by @gitesperanza | Stardance
|
1793123277.4350083
|
1793728077.4350083
|
|
24790
|
presenter by @jacobjuneau | Stardance
|
jacobjuneau
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: presenter by @jacobjuneau | Stardance
|
1792940001.751161
|
1793804001.751161
|
|
69980
|
presentware by @viivi | Stardance
|
viivi
|
1
|
10.0
|
20
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-25T14:56:21Z", "hours": 10.0, "multiplier": 1.99, "payout": 20, "blessing": "neutral", "text": "Presentware A website for showcasing both software and hardware. Because I didn’t find a site that would support both hardware and software very well and github (in my opinion) isn’t very good for finding similiar level projects as I build. My plan is to make it easier to find other builders with same level so people could connect and get inspired by others. I hope also that this could give young builders more visibility, because I often feel like only big companies or professionals get the attention they deserve. How to test: Create your own account or use: username: test_account password: tester1 I’d be very grateful if you added your Stardance project to presentware. You can add github link to the content field because projects don’t have link fields yet. Presentware is my first real fullstack project I’ve made so I learnt a lot about almost everything from coding to deploying an app. I’m very proud of myself because presentware works well enough even though the UI is still pretty bad but I will update it after Stardance.", "repo": "https://github.com/ViLP357/presentware", "demo": "https://presentware.vercel.app/"}]...
|
[{"post_id": 82644, "ts": "202 [{"post_id": 82644, "ts": "2026-10-25T14:33:03Z", "hours": 2.5644, "text": "#3 devlog, “finishing”, deploying Since stardance is ending soon, I’m going to ship this soon even though it’s not ready yet. It still has all core features and works pretty well. Today I added ProjectPage which appears on the right side of the project when a project is clicked. It shows some extra information about a project. UI is pretty bad but I don’t care about it right now."}, {"post_id": 81296, "ts": "2026-10-20T18:16:55Z", "hours": 0.9611, "text": "#2 devlog, working on frontend project page Today I started working with the main page, which shows all the created projects. I focused on project cards appearance. Border color of a card is determined by the type of the project (eg. orange = website) I also created a color palette using https://coolors.co/ which I will be using."}, {"post_id": 80357, "ts": "2026-10-17T12:11:40Z", "hours": 6.6417, "text": "#1 devlog, working backend, simple frontend Presentware will be an website for showcasing both hardware and software projects. It will have a search feature to find projects you are interested in and see what other people from your country are building. It will support project collaboration (add multiple contributors to a project). My plan is to make it easier to find other builders with same level so people could connect and get inspired by others. I hope also that this could give young builders more visibility, because I often feel like only big companies or professionals get the attention they deserve. Right now presentware has an working backend, which supports: adding new users and log in creating new projects with with all the necessary fields To do: Almost everything in the frontend Currently the frontend only supports creating a new account, login and it shows all the projects in database."}]...
|
Title: presentware by @viivi | Stardance
Devlogs: Title: presentware by @viivi | Stardance
Devlogs:
#1 devlog, working backend, simple frontend Presentware will be an website for showcasing both hardware and software projects. It will have a search feature to find projects you are interested in and see what other people from your country are building. It will support project collaboration (add multiple contributors to a project). My plan is to make it easier to find other builders with same level so people could connect and get inspired by others. I hope also that this could give young builders more visibility, because I often feel like only big companies or professionals get the attention they deserve. Right now presentware has an working backend, which supports: adding new users and log in creating new projects with with all the necessary fields To do: Almost everything in the frontend Currently the frontend only supports creating a new account, login and it shows all the projects in database.
#2 devlog, working on frontend project page Today I started working with the main page, which shows all the created projects. I focused on project cards appearance. Border color of a card is determined by the type of the project (eg. orange = website) I also created a color palette using https://coolors.co/ which I will be using.
#3 devlog, “finishing”, deploying Since stardance is ending soon, I’m going to ship this soon even though it’s not ready yet. It still has all core features and works pretty well. Today I added ProjectPage which appears on the right side of the project when a project is clicked. It shows some extra information about a project. UI is pretty bad but I don’t care about it right now.
Ships:
Presentware A website for showcasing both software and hardware. Because I didn’t find a site that would support both hardware and software very well and github (in my opinion) isn’t very good for finding similiar level projects as I build. My plan is to make it easier to find other builders with same level so people could connect and get inspired by others. I hope also that this could give young builders more visibility, because I often feel like only big companies or professionals get the attention they deserve. How to test: Create your own account or use: username: test_account password: tester1 I’d be very grateful if you added your Stardance project to presentware. You can add github link to the content field because projects don’t have link fields yet. Presentware is my first real fullstack project I’ve made so I learnt a lot about almost everything from coding to deploying an app. I’m very proud of myself because presentware works well enough even though the UI is still pretty bad but I will update it after Stardance....
|
1793400599.385823
|
1793486999.385823
|
|
55237
|
pressurisation unit controller by @sebethaton | St pressurisation unit controller by @sebethaton | Stardance...
|
sebethaton
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: pressurisation unit controller by @sebethat Title: pressurisation unit controller by @sebethaton | Stardance...
|
1793152382.371656
|
1793757182.371656
|
|
57252
|
pretty cool by @aatriv38 | Stardance
|
aatriv38
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: pretty cool by @aatriv38 | Stardance
|
1793426004.3072455
|
1794030804.3072455
|
|
57253
|
pretty cool by @aatriv38 | Stardance
|
aatriv38
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: pretty cool by @aatriv38 | Stardance
|
1793426005.2401261
|
1794030805.2401261
|
|
44722
|
pricklyyy by @PRIKLY | Stardance
|
PRIKLY
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T03:34:51Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "HERE ARE ALL THE COMMANDS!! :D • /pricklyprowler-ping - Check bot status • /pricklyprowler-help - Show available commands • /pricklyprowler-catfact - Get a cat fact • /pricklyprowler-joke - Get a random joke • /pricklyprowler-ragebait - Express your frustration", "repo": "https://github.com/PriklyParthiki/PricklyProwler", "demo": "https://app.slack.com/client/E09V59WQY1E/C0BS5GRFFNY"}]...
|
[{"post_id": 47794, "ts": "202 [{"post_id": 47794, "ts": "2026-08-15T23:45:52Z", "hours": 0.4539, "text": "HELLO EVERYONE! I am working on my Pricklyprowler bot on slack. I have spend like an hour and a half customizing and troubleshooting with youtube videos. So far, i have 3 commands, pinging the bot, telling a cat joke, and telling a joke in general. Now all i need to do is to go and make sure my bot runs 24/7 then I’ll be DONE!!!!"}]...
|
Title: pricklyyy by @PRIKLY | Stardance
Devlogs:
Title: pricklyyy by @PRIKLY | Stardance
Devlogs:
HELLO EVERYONE! I am working on my Pricklyprowler bot on slack. I have spend like an hour and a half customizing and troubleshooting with youtube videos. So far, i have 3 commands, pinging the bot, telling a cat joke, and telling a joke in general. Now all i need to do is to go and make sure my bot runs 24/7 then I’ll be DONE!!!!
Ships:
HERE ARE ALL THE COMMANDS!! :D • /pricklyprowler-ping - Check bot status • /pricklyprowler-help - Show available commands • /pricklyprowler-catfact - Get a cat fact • /pricklyprowler-joke - Get a random joke • /pricklyprowler-ragebait - Express your frustration...
|
1793256943.836128
|
1793343343.836128
|
|
12004
|
pride by @Crush | Stardance
|
Crush
|
0
|
0.75
|
0
|
[]
|
[{"post_id": 4574, "ts": "2026 [{"post_id": 4574, "ts": "2026-06-07T22:24:37Z", "hours": 0.7542, "text": "initial creation, probably finished"}]...
|
Title: pride by @Crush | Stardance
Devlogs:
initi Title: pride by @Crush | Stardance
Devlogs:
initial creation, probably finished...
|
1793188240.9267561
|
1793793040.9267561
|
|
26695
|
prinp by @kaiyunkee | Stardance
|
kaiyunkee
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: prinp by @kaiyunkee | Stardance
|
1792745428.6494167
|
1793350228.6494167
|
|
3316
|
print scraper by @devk | Stardance
|
devk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: print scraper by @devk | Stardance
|
1793339574.2210395
|
1793944374.2210395
|
|
16867
|
printFind by @torteno | Stardance
|
torteno
|
0
|
36.2
|
0
|
[]
|
[{"post_id": 82149, "ts": "202 [{"post_id": 82149, "ts": "2026-10-24T03:38:03Z", "hours": 25.7367, "text": "Feature improvements - orca slicer working natively on web :D"}, {"post_id": 7048, "ts": "2026-06-11T20:17:39Z", "hours": 10.4625, "text": "First post of the app"}]...
|
Title: printFind by @torteno | Stardance
Devlogs: Title: printFind by @torteno | Stardance
Devlogs:
First post of the app
Feature improvements - orca slicer working natively on web :D...
|
1793231483.190903
|
1793836283.190903
|
|
55795
|
printforge by @Anuveer | Stardance
|
Anuveer
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: printforge by @Anuveer | Stardance
|
1793350205.1919749
|
1793955005.1919749
|
|
52397
|
printing legion bot by @itis | Stardance
|
itis
|
1
|
6.84
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T23:02:17Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Slack bot for #printing-legion that pings printers that are near the location of the request. It is able to fetch stl/step files to find its bounding box dimensions to be filtered by custom per printer filters. I also got beta testers to test, which is where I got some of these ideas. I speedran making this, so somehow, I made everything in 6 hours even though I’ve never made a slack bot.", "repo": "https://github.com/Heinrich-XIAO/printing-legion-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0BS5HBEA73"}]...
|
[{"post_id": 54183, "ts": "202 [{"post_id": 54183, "ts": "2026-08-25T01:52:35Z", "hours": 0.5269, "text": "It is now more reliable, though it’ll still go down when hackai goes down and slack just stop responding every once in a while. It is now more clear in the testing guidelines, and I have improved the reliability of the region checking. I have also removed the feature where it checks for duplicates, as spam isn’t much of a problem (for now) and it makes testing hard."}, {"post_id": 53948, "ts": "2026-08-24T17:30:21Z", "hours": 0.31, "text": "I updated the readme with the required changes, and I also fixed the bug where it would say (undefined) if the printer didn’t specify filament stock."}, {"post_id": 53365, "ts": "2026-08-23T21:46:54Z", "hours": 2.8606, "text": "After some feedback from some beta testers, i found that people want dimension filters, since most post companies only accept mail under a certain set of dimentions, and mail is much cheaper than parcel, especially internationally. I wired everything up to threejs and occt and the github api and got the bounding box. Now, there is also a /add-custom-filter command, allowing you to restrict it to any arbitrary set of filters."}, {"post_id": 52723, "ts": "2026-08-23T01:25:04Z", "hours": 0.6325, "text": "I got it running on the server, but since most of my time was spent over ssh, that wasn’t captured by hackatime, but anyhow, it runs on the server now, and I also got a bunch of willing beta testers who are also printing for printing legion."}, {"post_id": 52053, "ts": "2026-08-22T03:00:22Z", "hours": 1.2111, "text": "I got the database working, and the bot probably almost completely works. There is now a /add-as-printer command where you can specify the region where your receiving prints, and it will only include those. I also got eslint setup and refactored the whole codebase. Next, I need to make and upload all the assets like the icons and stuff and make good documentation. Also, I applied for a best server and I’m waiting for approval."}, {"post_id": 51781, "ts": "2026-08-21T16:54:53Z", "hours": 1.3131, "text": "The bot is now able to parse print requests into a json schema using the hack club ai api. Currently the api is down, but it still kinda works with stealth models since they’re free, so right now, i’m using stealth/ox-alpha. I will switch to gpt oss 120b soon for speeeeeed. next, i’ll setup a json db (ik, eww, but it’s easier and im lazy) to store the requests."}]...
|
Title: printing legion bot by @itis | Stardance
D Title: printing legion bot by @itis | Stardance
Devlogs:
The bot is now able to parse print requests into a json schema using the hack club ai api. Currently the api is down, but it still kinda works with stealth models since they’re free, so right now, i’m using stealth/ox-alpha. I will switch to gpt oss 120b soon for speeeeeed. next, i’ll setup a json db (ik, eww, but it’s easier and im lazy) to store the requests.
I got the database working, and the bot probably almost completely works. There is now a /add-as-printer command where you can specify the region where your receiving prints, and it will only include those. I also got eslint setup and refactored the whole codebase. Next, I need to make and upload all the assets like the icons and stuff and make good documentation. Also, I applied for a best server and I’m waiting for approval.
I got it running on the server, but since most of my time was spent over ssh, that wasn’t captured by hackatime, but anyhow, it runs on the server now, and I also got a bunch of willing beta testers who are also printing for printing legion.
After some feedback from some beta testers, i found that people want dimension filters, since most post companies only accept mail under a certain set of dimentions, and mail is much cheaper than parcel, especially internationally. I wired everything up to threejs and occt and the github api and got the bounding box. Now, there is also a /add-custom-filter command, allowing you to restrict it to any arbitrary set of filters.
I updated the readme with the required changes, and I also fixed the bug where it would say (undefined) if the printer didn’t specify filament stock.
It is now more reliable, though it’ll still go down when hackai goes down and slack just stop responding every once in a while. It is now more clear in the testing guidelines, and I have improved the reliability of the region checking. I have also removed the feature where it checks for duplicates, as spam isn’t much of a problem (for now) and it makes testing hard.
Ships:
I made a Slack bot for #printing-legion that pings printers that are near the location of the request. It is able to fetch stl/step files to find its bounding box dimensions to be filtered by custom per printer filters. I also got beta testers to test, which is where I got some of these ideas. I speedran making this, so somehow, I made everything in 6 hours even though I’ve never made a slack bot....
|
1793458369.410543
|
1793544769.410543
|
|
16193
|
prism by @olaiwonismail | Stardance
|
olaiwonismail
|
1
|
11.38
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-13T17:46:48Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built Prism, a virtual mic that cleans your audio in real time and feeds it to Discord/Zoom/OBS(basically various apps) as a microphone. CPU-only AI noise removal (RNNoise, GTCRN, DeepFilterNet3), switchable live with a strength slider and noise meter. Hardest part was keeping it real-time: matching block sizes, resampling, and STFT timing so the denoisers stay phase-aligned under ~40ms latency else its give a very choppy audio. Proud that it all runs on my potato pc’s CPU with low idle usage. To test: install VB-Audio Virtual Cable, run the app, then pick “CABLE Output” as your mic in any app. Disclaimer -GTCRN isn’t in the latest exe release yet but you can use the other models", "repo": "https://github.com/Olaiwonismail/prism", "demo": "https://olaiwonismail.github.io/prism/"}]...
|
[{"post_id": 10654, "ts": "202 [{"post_id": 10654, "ts": "2026-06-17T14:48:22Z", "hours": 2.3792, "text": "-progress is slow just came back from the hospital Was able to add a way for you to demo it in your browser -added a fastapi endpoint that runs the denoiser on the uploaded audio -wired the apps webpage to the api so people can try it without having to install the app the app is only availbale to use on windows btw (linux and mac support coming soon)"}, {"post_id": 8207, "ts": "2026-06-13T17:31:39Z", "hours": 0.2792, "text": "added this to the site so users can understand how it works"}, {"post_id": 8143, "ts": "2026-06-13T16:12:36Z", "hours": 1.2011, "text": "i added ultra‑light GTCRN model support i updated the website to show v0.1.0 available for download"}, {"post_id": 7760, "ts": "2026-06-12T23:26:44Z", "hours": 1.5822, "text": "created a website for prism where people can download this project and read more about it(see the roadmap, read release notes) added MIT license created an executable(.exe) for prism dropped v0.1.0 ,it’s on the GitHub releases pages"}, {"post_id": 7311, "ts": "2026-06-12T05:47:09Z", "hours": 1.5156, "text": "Added DeepFilterNet (ONNX) as an optional denoiser, swappable via config alongside RNNoise Added adjustable noise removal slider (0-100%) with separate on/off toggle Added noise meter: shows how much noise is being removed + estimated room noise floor phase 2 done I guess 🎉 will improve the ui plan to use tauri later on but for now tkinter will do"}, {"post_id": 6946, "ts": "2026-06-11T17:27:39Z", "hours": 0.7703, "text": "Built Phase 2 (features i added) RNNoise AI noise removal Fixed the WO Mic crash Fixed your voice getting clipped at the start of words"}, {"post_id": 6909, "ts": "2026-06-11T16:10:52Z", "hours": 0.94, "text": "built a minimal Tkinter UI for Prism: a small window with an on/off toggle for filtering, a dropdown to switch between microphones, a live level meter with gate status, and a status line. To support it, the audio code was refactored from a blocking loop into a controllable AudioEngine that can start, stop, and switch mics at runtime — a stopgap until the Tauri UI, but the engine part is permanent. currently i’m in my hostel and there is a lot of noise in the background the images show a before and after the filtering of noise"}, {"post_id": 6843, "ts": "2026-06-11T14:23:58Z", "hours": 1.1961, "text": "Added safe mic auto-detection. Prism now validates the input device instead of blindly using the Windows default — it rejects VB-Cable and Sound Mapper pseudo-devices (which cause a feedback loop where Prism listens to its own output), falls back to the first real microphone, and exits with a clear help message if no mic exists. no ui yet 🤧"}, {"post_id": 6668, "ts": "2026-06-11T05:36:56Z", "hours": 1.2961, "text": "One afternoon I was giving a presentation in my rooom, and the room came with me , a ceiling fan , my roomate watching tiktoks in the background, the low hum a room always has. All of it rode my mic straight into the call. I couldn’t mute (I was the one talking), and I couldn’t fix the room. So the idea for Prism was simple and a little stubborn: your voice should be the only thing that leaves your microphone progress so far: -work on the project structure, -Capture physical mic input -Route processed audio to virtual cable output (VB-Audio) -High-pass filter (the processing layer for now)"}]...
|
Title: prism by @olaiwonismail | Stardance
Devlog Title: prism by @olaiwonismail | Stardance
Devlogs:
One afternoon I was giving a presentation in my rooom, and the room came with me , a ceiling fan , my roomate watching tiktoks in the background, the low hum a room always has. All of it rode my mic straight into the call. I couldn’t mute (I was the one talking), and I couldn’t fix the room. So the idea for Prism was simple and a little stubborn: your voice should be the only thing that leaves your microphone progress so far: -work on the project structure, -Capture physical mic input -Route processed audio to virtual cable output (VB-Audio) -High-pass filter (the processing layer for now)
Added safe mic auto-detection. Prism now validates the input device instead of blindly using the Windows default — it rejects VB-Cable and Sound Mapper pseudo-devices (which cause a feedback loop where Prism listens to its own output), falls back to the first real microphone, and exits with a clear help message if no mic exists. no ui yet 🤧
built a minimal Tkinter UI for Prism: a small window with an on/off toggle for filtering, a dropdown to switch between microphones, a live level meter with gate status, and a status line. To support it, the audio code was refactored from a blocking loop into a controllable AudioEngine that can start, stop, and switch mics at runtime — a stopgap until the Tauri UI, but the engine part is permanent. currently i’m in my hostel and there is a lot of noise in the background the images show a before and after the filtering of noise
Built Phase 2 (features i added) RNNoise AI noise removal Fixed the WO Mic crash Fixed your voice getting clipped at the start of words
Added DeepFilterNet (ONNX) as an optional denoiser, swappable via config alongside RNNoise Added adjustable noise removal slider (0-100%) with separate on/off toggle Added noise meter: shows how much noise is being removed + estimated room noise floor phase 2 done I guess 🎉 will improve the ui plan to use tauri later on but for now tkinter will do
created a website for prism where people can download this project and read more about it(see the roadmap, read release notes) added MIT license created an executable(.exe) for prism dropped v0.1.0 ,it’s on the GitHub releases pages
i added ultra‑light GTCRN model support i updated the website to show v0.1.0 available for download
added this to the site so users can understand how it works
-progress is slow just came back from the hospital Was able to add a way for you to demo it in your browser -added a fastapi endpoint that runs the denoiser on the uploaded audio -wired the apps webpage to the api so people can try it without having to install the app the app is only availbale to use on windows btw (linux and mac support coming soon)
Ships:
Built Prism, a virtual mic that cleans your audio in real time and feeds it to Discord/Zoom/OBS(basically various apps) as a microphone. CPU-only AI noise removal (RNNoise, GTCRN, DeepFilterNet3), switchable live with a strength slider and noise meter. Hardest part was keeping it real-time: matching block sizes, resampling, and STFT timing so the denoisers stay phase-aligned under ~40ms latency else its give a very choppy audio. Proud that it all runs on my potato pc’s CPU with low idle usage. To test: install VB-Audio Virtual Cable, run the app, then pick “CABLE Output” as your mic in any app. Disclaimer -GTCRN isn’t in the latest exe release yet but you can use the other models...
|
1793461824.034264
|
1793548224.034264
|
|
61742
|
prism.exe by @Srikar1705 | Stardance
|
Srikar1705
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T05:05:01Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "prism.exe A Custom New Tab website with a 2000s Desktop theme. Designed as minimal and modern version of the Internet Explorer with no eye-catching or distracting elements. Its packed with features such as a Notepad for quick notes, Bookmarks Manager for bookmarking your most-visited websites and also an option to change the background theme of the website. Additionally, it has an InfoBox which gives random information about a tech device from the Y2K era using my API from my last project. It also has minimize and close animations for windows. Features: Advanced Searchbar : The searchbar in the website is capable of differentiating between a query or an URL entered by the user just like the omnibox on Google. Notepad Window : It’s a window which looks just like the Notepad application on WinXP. It can save the user’s note and also shows the character count of the text! Bookmarks : The website has a bookmarks bar under the searchbar which helps the user navigate easily to his most visited wbesites. Also displays the icons of the websites! Bookmarks Manager : This feature allows the user to add or remove upto 6 website bookmarks of his choice Background Themes : This allows the user to switch between 6 preset background themes Info Box : A small box which gives info about a cool tech device from the Y2K using my API, inspired by dialog box from WinXP. Date-Time Window : A simple and silent date-time window at the bottom-right of the website, replicating the icon Windows XP System Tray. My Journey This is my second project shipped for the Stardance Challenge and I really enjoyed developing prism.exe . Though I had multiple exams in the last two weeks, I managed to balance my studies and my project. This website started with a basic searchbar on Devlog 1 and my aim was to add features which are useful to the website, keeping it very minimal and also that it should not have any attention-grabbing or loud colors/elements. I’m very happy that I could achieve this by Devlog 6, making prism.exe very efficient for the users. Do checkout prism.exe here! Don’t forget to minimize a window to view the icons of other features… Thanks, Srikar.", "repo": "https://github.com/SRIKAR-B-S-S/prism.exe", "demo": "https://srikar-b-s-s.github.io/prism.exe/"}]...
|
[{"post_id": 73175, "ts": "202 [{"post_id": 73175, "ts": "2026-09-24T15:10:23Z", "hours": 1.9172, "text": "Devlog 6 - Preparing for Ship #1 I’ve added all the main features for my website in my previous devlog and now I have to fill the bottom right space! Looking at Windows XP, I wanted to replicate its system tray as a date-time window in project… After some experimenting with CSS, I added the date-time window with a transparent background, placed it on the bottom right of the website with thin black text! I liked its minimal look as I wanted to design it in a way that it doesn’t grab our attention much. I was switching themes to check if it looks good on all of them… And due to the black text, it was not properly visible on themes having a darker background. So, I added a line of code which makes the colour of the date-time window white when the user selected a dark colored background. And the cool part of this devlog is the “Info Box”, inspired from the dialog box of WinXP, this displays a info about a random tech device from the 2000s era. This uses the API which I made for my previous project, which has a lot of data about tech devices from the Y2K. Additionally, I’ve also added the feature of character counting for the Notepad Window Now that everything’s done, I think this project is ready to be shipped! I hope you guys like the website!"}, {"post_id": 72286, "ts": "2026-09-22T16:18:22Z", "hours": 3.0942, "text": "Devlog 5 - The Background Themes I was casually browsing through the projects made by others for this mission with a thought in mind to add something which others missed. That’s when I got the idea of adding the feature of Background Themes. And of course people do have different interests and likings and I think they’d love the idea of different themes. I started preparing an idea of how it should look and where people can change the settings. I added an icon named “Settings” and by clicking on it, the user could select a theme out of the available ones. I’ve also integrated localStorage which will save the theme selected by the user and loads it the next time he returns to the website. Initially, I’ve planned to add the colours from Frutiger Aero design aesthetic but upon adding them, the website looks too odd and bright, my idea was to select colors which looked minimal and were also seen during the Y2K era. Themes only not change the background color of the website but also the color of the logo text at the top-left, its just small detailing but it gives the website a cleaner look. A quick tip for developers who love designing good UI and pick perfect colors for their projects - Just search “color picker” on Google and a you can find a color picker displayed on your screen! (except that it doesn’t have an option to set transparency) Additionally, I’ve also fixed two bugs from the recent bookmarks feature. Do check how the Mint and DarkUI themes look!"}, {"post_id": 71053, "ts": "2026-09-20T07:48:45Z", "hours": 5.3733, "text": "Devlog 4 - The Bookmarks Manager Heyy, it’s been 5 days since my last devlog and I had an important exam yesterday for which I was studying the whole week.. It took me a lot of time to plan and implement this bookmarks feature which is why, this is my longest time logged for a devlog! After my last devlog, the next feature I wanted to add to my project was a bookmarks section under the searchbar. I started experimenting with some design ideas in mind but later fixed on the desktop-icon styled bookmark icons. I spent a lot of time on adding and modifying designs in CSS but thanks to VS Code’s suggestions for CSS properties it made my work easy! While implementing the bookmarks feature, I first developed a static bookmarks section which had 5 bookmarks pre-coded (I included websites such as Hackclub, Gmail, Github, Hackatime, Youtube), where users cannot add website bookmarks of their choice. Later, I planned for a custom bookmarks section where people can add/remove bookmarks of their choice. I also planned for an application-like interface where people can add or remove websites bookmarks and all of this should be done in a Windows XP theme. There was another challenge which was to display the icon whichever website the user added as a bookmark. After some research, I found this answer on StackOverflow . Attaching the logo to that API grabs the icon of the website, so that we can directly use it as a source for an image tag. I added the icon of WinXP’s Control Panel as the icon for Bookmarks Manager. And I’ve also added a limit where the user can only add upto 6 bookmarks, as a maximum of 6 bookmark cards look perfect under the searchbar. I don’t wish to make this devlog any longer. Thanks for your time! If you ever try out my website, don’t forget to minimize the notepad to view the icon of Bookmarks Manager. Do check the bookmarks section below…"}, {"post_id": 68487, "ts": "2026-09-15T06:40:34Z", "hours": 1.7808, "text": "Devlog 3 - The Optimization I was bored yesterday and I was scrolling through the projects which are completed for the ‘Give Your Website a Pulse’ mission and they are very creative! But there was one problem in almost all of their projects. The problem was that the content which people enter in the searchbar is of two types: Keyword or a query just like how we search on Google. URL or a website link. And the website has only one searchbar which is either redirecting to “google.com/search?q=[content-in-searchbar]” or “https://[content-in-searchbar]” according to what the developer has written in the code. What if the user searched for a query and it redirects him to https://keyword (or) if the user searched for a URL and it redirects him to google.com/search?q=userurl.com . It’s really annoying! To prevent this, the code should be structured to check if the entered content is a URL, if yes - redirect him to that website; if no - redirect him to a google search. After doing some research on how to validate a URL, I got to know about URL Object Validation in Javascript. Thanks to this guide , it helped me implement the URL validation in my website. I’ve also added two lines of code just to ensure that the https:// gets added to the URL, incase the user doesn’t enter it. I’ve added the feature of localStorage which automatically saves the text typed by the user in the notepad window and loads it the next time he returns to the website. There’s no worry of losing the data now! Along with that I’ve added a feature of minimizing or closing the notepad window and you can see a notepad icon at the bottom left of your screen after minimizing it! Checkout the minimize feature ⬇"}, {"post_id": 68026, "ts": "2026-09-14T12:20:02Z", "hours": 1.25, "text": "Devlog 2 - The Notepad Window In my previous devlog, I’ve noticed that a lot of space on my website looks very empty. I couldn’t figure out what to fill that space with, until I thought to add small space in the screen where people could fill it with their to-do lists or ideas! And as my project being ‘2000s Desktop’ themed, I thought that adding a Windows XP-styled Notepad Window would be the best! Though this may look like a small feature to be added, it took me a lot of time to design the Notepad window! Thanks to this website , which replicated exactly how a WinXP OS would be running like. It helped me to exactly replicate that user interface. Wait until my next devlog to see what I’d fill the other half of the screen with! The Notepad Window 👇🏻"}, {"post_id": 67954, "ts": "2026-09-14T08:46:49Z", "hours": 1.5708, "text": "Devlog 1 - The Idea This is my 2nd project on Stardance and I’ve started it yesterday. Just like my previous project, I wanted to design this website in the same 2000s Desktop aesthetic. I’ve started with finding a catchy name, which I thought to go with ‘prism.exe’. The .exe in the naming refers to the Windows Executable File which points out the desktop aesthetic of my website. I’ve also designed a logo for my website on Canva. I’ve started developing the website with an off-white background which was intended to look like the background of File Explorer on Windows XP or the color used in some parts of the Windows 98. I’m still experimenting with various CSS properties but right now I’ve added a basic centered searchbar with a Windows XP styled Search button which shows orange shade when hovered. That’s everything I’ve done yesterday! It was too late in the night, so I couldn’t post a devlog yesterday… This is how the website looks right now ⬇"}]...
|
Title: prism.exe by @Srikar1705 | Stardance
Devlo Title: prism.exe by @Srikar1705 | Stardance
Devlogs:
Devlog 1 - The Idea This is my 2nd project on Stardance and I’ve started it yesterday. Just like my previous project, I wanted to design this website in the same 2000s Desktop aesthetic. I’ve started with finding a catchy name, which I thought to go with ‘prism.exe’. The .exe in the naming refers to the Windows Executable File which points out the desktop aesthetic of my website. I’ve also designed a logo for my website on Canva. I’ve started developing the website with an off-white background which was intended to look like the background of File Explorer on Windows XP or the color used in some parts of the Windows 98. I’m still experimenting with various CSS properties but right now I’ve added a basic centered searchbar with a Windows XP styled Search button which shows orange shade when hovered. That’s everything I’ve done yesterday! It was too late in the night, so I couldn’t post a devlog yesterday… This is how the website looks right now ⬇
Devlog 2 - The Notepad Window In my previous devlog, I’ve noticed that a lot of space on my website looks very empty. I couldn’t figure out what to fill that space with, until I thought to add small space in the screen where people could fill it with their to-do lists or ideas! And as my project being ‘2000s Desktop’ themed, I thought that adding a Windows XP-styled Notepad Window would be the best! Though this may look like a small feature to be added, it took me a lot of time to design the Notepad window! Thanks to this website , which replicated exactly how a WinXP OS would be running like. It helped me to exactly replicate that user interface. Wait until my next devlog to see what I’d fill the other half of the screen with! The Notepad Window 👇🏻
Devlog 3 - The Optimization I was bored yesterday and I was scrolling through the projects which are completed for the ‘Give Your Website a Pulse’ mission and they are very creative! But there was one problem in almost all of their projects. The problem was that the content which people enter in the searchbar is of two types: Keyword or a query just like how we search on Google. URL or a website link. And the website has only one searchbar which is either redirecting to “google.com/search?q=[content-in-searchbar]” or “https://[content-in-searchbar]” according to what the developer has written in the code. What if the user searched for a query and it redirects him to https://keyword (or) if the user searched for a URL and it redirects him to google.com/search?q=userurl.com . It’s really annoying! To prevent this, the code should be structured to check if the entered content is a URL, if yes - redirect him to that website; if no - redirect him to a google search. After doing some research on how to validate a URL, I got to know about URL Object Validation in Javascript. Thanks to this guide , it helped me implement the URL validation in my website. I’ve also added two lines of code just to ensure that the https:// gets added to the URL, incase the user doesn’t enter it. I’ve added the feature of localStorage which automatically saves the text typed by the user in the notepad window and loads it the next time he returns to the website. There’s no worry of losing the data now! Along with that I’ve added a feature of minimizing or closing the notepad window and you can see a notepad icon at the bottom left of your screen after minimizing it! Checkout the minimize feature ⬇
Devlog 4 - The Bookmarks Manager Heyy, it’s been 5 days since my last devlog and I had an important exam yesterday for which I was studying the whole week.. It took me a lot of time to plan and implement this bookmarks feature which is why, this is my longest time logged for a devlog! After my last devlog, the next feature I wanted to add to my project was a bookmarks section under the searchbar. I started experimenting with some design ideas in mind but later fixed on the desktop-icon styled bookmark icons. I spent a lot of time on adding and modifying designs in CSS but thanks to VS Code’s suggestions for CSS properties it made my work easy! While implementing the bookmarks feature, I first developed a static bookmarks section which had 5 bookmarks pre-coded (I included websites such as Hackclub, Gmail, Github, Hackatime, Youtube), where users cannot add website bookmarks of their choice. Later, I planned for a custom bookmarks section where people can add/remove bookmarks of their choice. I also planned for an application-like interface where people can add or remove websites bookmarks and all of this should be done in a Windows XP theme. There was another challenge which was to display the icon whichever website the user added as a bookmark. After some research, I found this answer on StackOverflow . Attaching the logo to that API grabs the icon of the website, so that we can directly use it as a source for an image tag. I added the icon of WinXP’s Control Panel as the icon for Bookmarks Manager. And I’ve also added a limit where the user can only add upto 6 bookmarks, as a maximum of 6 bookmark cards look perfect under the searchbar. I don’t wish to make this devlog any longer. Thanks for your time! If you ever try out my website, don’t forget to minimize the notepad to view the icon of Bookmarks Manager. Do check the bookmarks section below…
Devlog 5 - The Background Themes I was casually browsing through the projects made by others for this mission with a thought in mind to add something which others missed. That’s when I got the idea of adding the feature of Background Themes. And of course people do have different interests and likings and I think they’d love the idea of different themes. I started preparing an idea of how it should look and where people can change the settings. I added an icon named “Settings” and by clicking on it, the user could select a theme out of the available ones. I’ve also integrated localStorage which will save the theme selected by the user and loads it the next time he returns to the website. Initially, I’ve planned to add the colours from Frutiger Aero design aesthetic but upon adding them, the website looks too odd and bright, my idea was to select colors which looked minimal and were also seen during the Y2K era. Themes only not change the background color of the website but also the color of the logo text at the top-left, its just small detailing but it gives the website a cleaner look. A quick tip for developers who love designing good UI and pick perfect colors for their projects - Just search “color picker” on Google and a you can find a color picker displayed on your screen! (except that it doesn’t have an option to set transparency) Additionally, I’ve also fixed two bugs from the recent bookmarks feature. Do check how the Mint and DarkUI themes look!
Devlog 6 - Preparing for Ship #1 I’ve added all the main features for my website in my previous devlog and now I have to fill the bottom right space! Looking at Windows XP, I wanted to replicate its system tray as a date-time window in project… After some experimenting with CSS, I added the date-time window with a transparent background, placed it on the bottom right of the website with thin black text! I liked its minimal look as I wanted to design it in a way that it doesn’t grab our attention much. I was switching themes to check if it looks good on all of them… And due to the black text, it was not properly visible on themes having a darker background. So, I added a line of code which makes the colour of the date-time window white when the user selected a dark colored background. And the cool part of this devlog is the “Info Box”, inspired from the dialog box of WinXP, this displays a info about a random tech device from the 2000s era. This uses the API which I made for my previous project, which has a lot of data about tech devices from the Y2K. Additionally, I’ve also added the feature of character counting for the Notepad Window Now that everything’s done, I think this project is ready to be shipped! I hope you guys like the website!
Ships:
prism.exe A Custom New Tab website with a 2000s Desktop theme. Designed as minimal and modern version of the Internet Explorer with no eye-catching or distracting elements. Its packed with features such as a Notepad for quick notes, Bookmarks Manager for bookmarking your most-visited websites and also an option to change the background theme of the website. Additionally, it has an InfoBox which gives random information about a tech device from the Y2K era using my API from my last project. It also has minimize and close animations for windows. Features: Advanced Searchbar : The searchbar in the website is capable of differentiating between a query or an URL entered by the user just like the omnibox on Google. Notepad Window : It’s a window which looks just like the Notepad application on WinXP. It can save the user’s note and also shows the character count of the text! Bookmarks : The website has a bookmarks bar under the searchbar which helps the user navigate easily to his most visited wbesites. Also displays the icons of the websites! Bookmarks Manager : This feature allows the user to add or remove upto 6 website bookmarks of his choice Background Themes : This allows the user to switch between 6 preset background themes Info Box : A small box which gives info about a cool tech device from the Y2K using my API, inspired by dialog box from WinXP. Date-Time Window : A simple and silent date-time window at the bottom-right of the website, replicating the icon Windows XP System Tray. My Journey This is my second project shipped for the Stardance Challenge and I really enjoyed developing prism.exe . Though I had multiple exams in the last two weeks, I managed to balance my studies and my project. This website started with a basic searchbar on Devlog 1 and my aim was to add features which are useful to the website, keeping it very minimal and also that it should not have any attention-grabbing or loud colors/elements. I’m very happy that I could achieve this by Devlog 6, making prism.exe very efficient for the users. Do checkout prism.exe here! Don’t forget to minimize a window to view the icons of other features… Thanks, Srikar....
|
1793415084.645809
|
1793501484.645809
|
|
42507
|
privaberry by @ahmedzaoui37 | Stardance
|
ahmedzaoui37
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: privaberry by @ahmedzaoui37 | Stardance
|
1793180925.6102126
|
1793785725.6102126
|
|
70714
|
priyanshu's site by @kpk22128 | Stardance
|
kpk22128
|
1
|
3.37
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T03:52:19Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hiii everyone! I’m Priyanshu, and I made my personal project site for the Hack Club StarDance competition using pure HTML, CSS, and minimal vanilla JS (no heavy frameworks or templates yaar, just raw code). The site showcases my hardware build (an ESP32 sound-reactive NeoPixel LED setup), a photo of my late-night messy desk with jumper wires, my real git commits, and an interactive vote counter! What was challenging: Bhai, CSS alignment and making the cards look good without breaking mobile view was a real headache at 3 AM haha. Getting the polaroid picture to look naturally tilted with washi tape and proper box-shadow took a lot of trial and error. Also on the hardware side, I almost blew up a diode on my breadboard by mixing up 5V and GND, but saved it with a capacitor! What I’m proud of: I’m really proud that I built everything from scratch with my own hands instead of copy-pasting some ready-made Bootstrap/Tailwind template. It genuinely looks like a student hacker’s workbench. Also really happy with how the interactive vote button, prompt greeting, and secret build notes turned out! How to test it: Click the “VOTE FOR MY PROJECT” button to see the vote counter increment and trigger the alert! Click the “Say Hi!” button to enter your name. Scroll down and click “Click to view Priyanshu’s secret build notes” to reveal the hidden hardware story! AI Use Declaration: I only used AI to ask for good retro Google Font pairings (it suggested VT323, Comic Neue, and Space Grotesk). Every single line of HTML, CSS, and JS code was completely written by me.", "repo": "https://github.com/priyanshusingh1234/pkssite", "demo": "https://priyanshusingh1234.github.io/pkssite/"}]...
|
[{"post_id": 83569, "ts": "202 [{"post_id": 83569, "ts": "2026-10-28T04:53:38Z", "hours": 1.0147, "text": "again rededigned using my own skills"}, {"post_id": 82551, "ts": "2026-10-25T06:36:31Z", "hours": 2.0978, "text": "completely redesigned."}, {"post_id": 81401, "ts": "2026-10-21T04:12:09Z", "hours": 0.2528, "text": "another section added …"}, {"post_id": 81396, "ts": "2026-10-21T03:35:26Z", "hours": 0.3261, "text": "Made the homepage design using html and css and minimal js. Working on next sections."}]...
|
Title: priyanshu's site by @kpk22128 | Stardan Title: priyanshu's site by @kpk22128 | Stardance
Devlogs:
Made the homepage design using html and css and minimal js. Working on next sections.
another section added …
completely redesigned.
again rededigned using my own skills
Ships:
Hiii everyone! I’m Priyanshu, and I made my personal project site for the Hack Club StarDance competition using pure HTML, CSS, and minimal vanilla JS (no heavy frameworks or templates yaar, just raw code). The site showcases my hardware build (an ESP32 sound-reactive NeoPixel LED setup), a photo of my late-night messy desk with jumper wires, my real git commits, and an interactive vote counter! What was challenging: Bhai, CSS alignment and making the cards look good without breaking mobile view was a real headache at 3 AM haha. Getting the polaroid picture to look naturally tilted with washi tape and proper box-shadow took a lot of trial and error. Also on the hardware side, I almost blew up a diode on my breadboard by mixing up 5V and GND, but saved it with a capacitor! What I’m proud of: I’m really proud that I built everything from scratch with my own hands instead of copy-pasting some ready-made Bootstrap/Tailwind template. It genuinely looks like a student hacker’s workbench. Also really happy with how the interactive vote button, prompt greeting, and secret build notes turned out! How to test it: Click the “VOTE FOR MY PROJECT” button to see the vote counter increment and trigger the alert! Click the “Say Hi!” button to enter your name. Scroll down and click “Click to view Priyanshu’s secret build notes” to reveal the hidden hardware story! AI Use Declaration: I only used AI to ask for good retro Google Font pairings (it suggested VT323, Comic Neue, and Space Grotesk). Every single line of HTML, CSS, and JS code was completely written by me....
|
1793444017.2213113
|
1793530417.2213113
|
|
12001
|
prjecot by @saaki_bhojanam | Stardance
|
saaki_bhojanam
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: prjecot by @saaki_bhojanam | Stardance
|
1793220662.6398382
|
1793825462.6398382
|
|
35683
|
pro gym manager by @youssefmotaouakil | Stardance
|
youssefmotaouakil
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: pro gym manager by @youssefmotaouakil | Sta Title: pro gym manager by @youssefmotaouakil | Stardance...
|
1793224228.9551764
|
1793829028.9551764
|
|
22842
|
proOS by @ahnafiscool | Stardance
|
ahnafiscool
|
1
|
9.0
|
67
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T15:11:23Z", "hours": 9.0, "multiplier": 6.16, "payout": 67, "blessing": "neutral", "text": "So finally the project has come to and end, a simple looking site with all the useful webapps that you may or may not know. The hardest part was to settle on a design cuz there are lots of idea on my head but not all are to be implemented but I finally came to a conclusion and I think it looks great. Please feel free to leave me some webapp/site suggestion which I did not include. Also please do not confuse this with WebOS mission, the OS part is just a theme and not to make a functioning webOS. Thank you!", "repo": "https://github.com/AhnafPro/pro-OS", "demo": "https://proos.rf.gd/"}]...
|
[{"post_id": 39324, "ts": "202 [{"post_id": 39324, "ts": "2026-08-02T07:19:13Z", "hours": 2.5442, "text": "Finally the desktop is done, I recycled one of my old design and remade it. Inside the folders are lots of useful apps that can be used and the dock/taskbar contains simple tools like file converter, bg remover etc. This will be the final devlog for the project, hope y’all liked it. But if you think some web apps or even new folders are needed to be added, pls lemme know in the comments. DEMO: https://pro-os.staticdomains.app/"}, {"post_id": 31872, "ts": "2026-07-20T16:45:29Z", "hours": 5.1089, "text": "Made a simple looking lockscreen page and after surfing for a while I luckily found a good background image for the page. Also if you are wondering what font I used for the logo and clock, they are ‘Montserrat’ and ‘Big Shoulders’. So here are all the stuffs that were added: Clock, Date, Day etc. Environment info and device charge. Crypto and stock index. Trading related news."}, {"post_id": 26781, "ts": "2026-07-11T19:35:13Z", "hours": 1.4561, "text": "I have tried making multiple booting screen designs from various inspirations from real OS and came into conclusion with a simple design, and I even made a logo for the project, not sure if I should use it. Updates: Created a logo for the project Added loading loop on the bottom Added auto redirection to lock screen page after 5 seconds."}]...
|
Title: proOS by @ahnafiscool | Stardance
Devlogs: Title: proOS by @ahnafiscool | Stardance
Devlogs:
I have tried making multiple booting screen designs from various inspirations from real OS and came into conclusion with a simple design, and I even made a logo for the project, not sure if I should use it. Updates: Created a logo for the project Added loading loop on the bottom Added auto redirection to lock screen page after 5 seconds.
Made a simple looking lockscreen page and after surfing for a while I luckily found a good background image for the page. Also if you are wondering what font I used for the logo and clock, they are ‘Montserrat’ and ‘Big Shoulders’. So here are all the stuffs that were added: Clock, Date, Day etc. Environment info and device charge. Crypto and stock index. Trading related news.
Finally the desktop is done, I recycled one of my old design and remade it. Inside the folders are lots of useful apps that can be used and the dock/taskbar contains simple tools like file converter, bg remover etc. This will be the final devlog for the project, hope y’all liked it. But if you think some web apps or even new folders are needed to be added, pls lemme know in the comments. DEMO: https://pro-os.staticdomains.app/
Ships:
So finally the project has come to and end, a simple looking site with all the useful webapps that you may or may not know. The hardest part was to settle on a design cuz there are lots of idea on my head but not all are to be implemented but I finally came to a conclusion and I think it looks great. Please feel free to leave me some webapp/site suggestion which I did not include. Also please do not confuse this with WebOS mission, the OS part is just a theme and not to make a functioning webOS. Thank you!...
|
1793328719.9214542
|
1793415119.9214542
|
|
55418
|
proQ by @qwik | Stardance
|
qwik
|
0
|
11.13
|
0
|
[]
|
[{"post_id": 64892, "ts": "202 [{"post_id": 64892, "ts": "2026-09-09T16:30:21Z", "hours": 1.4569, "text": "okay ! i’ve got most of the instructions I think I should need for now, and that totals to 71 distinct ones. Far from the 256 the processor supports, so that’s good! most of them can read or write registers, memory, or an immediate number in the code. I can always add more later as need be but now i have to implement them!! eventually, I’ll write an assembler and linker to do this automatically. For now though I’ll have to write bytecode manually also going to assign these to specific opcodes first…"}, {"post_id": 58081, "ts": "2026-08-30T13:08:45Z", "hours": 2.4811, "text": "see i told you it would only be a few hours today, while fighting OOP , i got the cpu reading actual instructions for the first time! a big explanation, if you’re interested: the CU The CU, or Control Unit, is a… guess… Unit that Controls Things For every tick of the processor, it looks at the Program Counter (PC) register, and reads the byte, or the opcode, in that memory address. It then runs the instruction associated with that 8-bit opcode number, which does whatever it needs to the memory and registers of the processor, using the ALU (Arithmetic Logic Unit) to perform mathematical operations. Some processors use a large amount of opcodes, but my processor uses more memory space to save on making multiple opcodes for similar functions. For example, if you wanted to MOV one value to another place, there are several ways you might want to do it: register to register, register to memory, memory to memory, et cetera. In a modern processor, those would all be represented as distinct opcodes. In my processor (and other older or simpler ones), you use a second byte to specify which form of that operation you’re doing. That second byte is called an operand: an instruction can have multiple that all follow the initial instruction, modifying the behaviour. Following the previous example: 0x0000: 0x10 # MOV 0x0001: 0x02 # Value to Register 0x0002: 0x04 # Destination: Register R4 0x0003: 0x3A # Source: high byte 0x0004: 0x33 # Source: low byte this program puts the value 0x3A33 (ASCII for :3) in R4! it can keep performing instructions like this :) those are what I have to implement! OOP hell, again The opcodes are defined centrally in set.py , specifically an IntEnum named Op . It’s just a set of key-value pairs with classes inside, so- MOV = 0x10 ADD = 0x11 SUB = 0x12 and I can change and add this as I keep developing instructions. Each instruction is a class inherited from a base Instruction class, so ADD(Instruction): etc . The Instruction base class takes care of adding itself to an internal register of opcodes and their matching classes, and it holds references to one central MU, registers, and ALU. This way, instructions are simply a single function, execute() . That function is an Iterator function returning no values, allowing me to put it inside of a class: def tick ( self ): if not self . iterable : opcode = self . mu . read ( self . registers . PC ) instruction = Instruction . registry . get ( opcode ) instance = instruction ( self . mu , self . alu , self . registers ) self . registers . PC += 0x0001 self . iterable = instance . execute () try : next ( self . iterable ) except StopIteration : self . iterable = None which will perform only one part of the instruction every clock cycle, or tick, mimicing how real processors work!! Next I need to design the first few basic control flow instructions, then I’ll probably devlog there. Math instructions come after that, which requires me to learn BINARY OPERATORS AND BOOLEAN MATH OH GOD OH GOD ODGSJHNfhm , ,"}, {"post_id": 57087, "ts": "2026-08-29T05:39:03Z", "hours": 7.195, "text": "okay soo I started this project without picking a place to ship it and this happens to be the only program that really fits right now SO! time to devlog 7 hours of work n probs 12 hours of research!! :x devlogs are gonna have to be really technical there’s not much to screenshot so ill do my best to explain all the concepts im researching! processor this is a 16 bit computer emulator! the root of something this low level is the processor. It being 16 bit means that it works with 16 bit numbers, which are 2 bytes or 4 hex: something like 0x3A33 . All the addresses it can reference and values it can store use 16 bit numbers like this. Opcodes (numbers that represent instructions) are represented in 8 bit blocks, which gives 255 unique instructions, and addresses contain 8 bit numbers, or one byte each. memory In the 16 bit space, there are 65,536 memory addresses, ranging from 0x0000 to 0xFFFF . The MU() class (Memory Unit ) lets me assign and access devices on the memory modularly. First, ROM: program memory that can be loaded before execution, but not written to. then, RAM- read-writable, slower than a register (on real hardware), but can hold much more information. The last bit, from the range 0xF000 to 0xFFFF (4KiB) is reserved for: MMIO or Memory-Mapped Input/Output. The processor is useless if it can’t get information or display it to a user, and this is how we do that. The processor can read information from a special memory address, then write to another one to input and output data. This is also the space where some system things can be stored, like the reset bytes or the IVT (Interrupt Vector Table). I’ll explain more about those things in a later devlog. Thanks to Python being okay at OOP, the addresses on this emulated processor can be assigned really easily: self . keyboard_device = InterruptKeyboard ( intp = 0x11 ) # so it can be used in main.py self . mu . map_device ( 0x0000 , romsize - 1 , ROM ( size = romsize , binary = binary )) self . mu . map_device ( romsize , romsize + memsize - 1 , RAM ( size = memsize )) self . mu . map_device ( 0xF000 , 0xF000 , StdoutOutput ()) self . mu . map_device ( 0xF001 , 0xF001 , keyboard_device ) # maybe a screen? or buttons? or GPIO pins? or a nuclear bomb? :3 and you might do something like this (i haven’t built this part yet): # print the character in the keyboard's memory to stdout # instruction, memory to memory, destination, source self . cu . opcode ( MOV , 0x08 , 0xF000 , 0xF001 ) Registers Memory is great, but in real hardware it’s slow, and it’s weird to assign to and work with. Registers go inside of the processor itself for a place to really quickly keep and modify small amounts of information. the General Purpose Registers (GPRs) R1 through R12 are used for storing small amounts of information between instructions. There’s also the PC, or the Program Counter, which stores the memory address of the current instruction; the IR , instruction register, which stores the current opcode; and the SP, which points to a location in memory where the stack currently is, used for functions and interrupts. Finally, a flags register, encoding single bits important for math instructions that I’ll explain later. CU, ALU, and the rest of the stuff Okay so I haven’t mentioned a lot of stuff that I’ve worked on or that need to be considered- i’ll explain them in the future. Right now, I’m working on how the processor actually performs instructions, and I’ll write about that when the time comes :) Goog… hopefully this is uh, somewhat educational and doesn’t just read as a rant!! the devlogs that Don’t take 7 hours are to be a lot more digestible but until then time to go back to OOP hell also this is like full character limit lmao the screenshot: i got it to start the emulator and perform some operations using memory and registers, but this isn’t using actual CPU operations, just directly addressing the classes."}]...
|
Title: proQ by @qwik | Stardance
Devlogs:
okay so Title: proQ by @qwik | Stardance
Devlogs:
okay soo I started this project without picking a place to ship it and this happens to be the only program that really fits right now SO! time to devlog 7 hours of work n probs 12 hours of research!! :x devlogs are gonna have to be really technical there’s not much to screenshot so ill do my best to explain all the concepts im researching! processor this is a 16 bit computer emulator! the root of something this low level is the processor. It being 16 bit means that it works with 16 bit numbers, which are 2 bytes or 4 hex: something like 0x3A33 . All the addresses it can reference and values it can store use 16 bit numbers like this. Opcodes (numbers that represent instructions) are represented in 8 bit blocks, which gives 255 unique instructions, and addresses contain 8 bit numbers, or one byte each. memory In the 16 bit space, there are 65,536 memory addresses, ranging from 0x0000 to 0xFFFF . The MU() class (Memory Unit ) lets me assign and access devices on the memory modularly. First, ROM: program memory that can be loaded before execution, but not written to. then, RAM- read-writable, slower than a register (on real hardware), but can hold much more information. The last bit, from the range 0xF000 to 0xFFFF (4KiB) is reserved for: MMIO or Memory-Mapped Input/Output. The processor is useless if it can’t get information or display it to a user, and this is how we do that. The processor can read information from a special memory address, then write to another one to input and output data. This is also the space where some system things can be stored, like the reset bytes or the IVT (Interrupt Vector Table). I’ll explain more about those things in a later devlog. Thanks to Python being okay at OOP, the addresses on this emulated processor can be assigned really easily: self . keyboard_device = InterruptKeyboard ( intp = 0x11 ) # so it can be used in main.py self . mu . map_device ( 0x0000 , romsize - 1 , ROM ( size = romsize , binary = binary )) self . mu . map_device ( romsize , romsize + memsize - 1 , RAM ( size = memsize )) self . mu . map_device ( 0xF000 , 0xF000 , StdoutOutput ()) self . mu . map_device ( 0xF001 , 0xF001 , keyboard_device ) # maybe a screen? or buttons? or GPIO pins? or a nuclear bomb? :3 and you might do something like this (i haven’t built this part yet): # print the character in the keyboard's memory to stdout # instruction, memory to memory, destination, source self . cu . opcode ( MOV , 0x08 , 0xF000 , 0xF001 ) Registers Memory is great, but in real hardware it’s slow, and it’s weird to assign to and work with. Registers go inside of the processor itself for a place to really quickly keep and modify small amounts of information. the General Purpose Registers (GPRs) R1 through R12 are used for storing small amounts of information between instructions. There’s also the PC, or the Program Counter, which stores the memory address of the current instruction; the IR , instruction register, which stores the current opcode; and the SP, which points to a location in memory where the stack currently is, used for functions and interrupts. Finally, a flags register, encoding single bits important for math instructions that I’ll explain later. CU, ALU, and the rest of the stuff Okay so I haven’t mentioned a lot of stuff that I’ve worked on or that need to be considered- i’ll explain them in the future. Right now, I’m working on how the processor actually performs instructions, and I’ll write about that when the time comes :) Goog… hopefully this is uh, somewhat educational and doesn’t just read as a rant!! the devlogs that Don’t take 7 hours are to be a lot more digestible but until then time to go back to OOP hell also this is like full character limit lmao the screenshot: i got it to start the emulator and perform some operations using memory and registers, but this isn’t using actual CPU operations, just directly addressing the classes.
see i told you it would only be a few hours today, while fighting OOP , i got the cpu reading actual instructions for the first time! a big explanation, if you’re interested: the CU The CU, or Control Unit, is a… guess… Unit that Controls Things For every tick of the processor, it looks at the Program Counter (PC) register, and reads the byte, or the opcode, in that memory address. It then runs the instruction associated with that 8-bit opcode number, which does whatever it needs to the memory and registers of the processor, using the ALU (Arithmetic Logic Unit) to perform mathematical operations. Some processors use a large amount of opcodes, but my processor uses more memory space to save on making multiple opcodes for similar functions. For example, if you wanted to MOV one value to another place, there are several ways you might want to do it: register to register, register to memory, memory to memory, et cetera. In a modern processor, those would all be represented as distinct opcodes. In my processor (and other older or simpler ones), you use a second byte to specify which form of that operation you’re doing. That second byte is called an operand: an instruction can have multiple that all follow the initial instruction, modifying the behaviour. Following the previous example: 0x0000: 0x10 # MOV 0x0001: 0x02 # Value to Register 0x0002: 0x04 # Destination: Register R4 0x0003: 0x3A # Source: high byte 0x0004: 0x33 # Source: low byte this program puts the value 0x3A33 (ASCII for :3) in R4! it can keep performing instructions like this :) those are what I have to implement! OOP hell, again The opcodes are defined centrally in set.py , specifically an IntEnum named Op . It’s just a set of key-value pairs with classes inside, so- MOV = 0x10 ADD = 0x11 SUB = 0x12 and I can change and add this as I keep developing instructions. Each instruction is a class inherited from a base Instruction class, so ADD(Instruction): etc . The Instruction base class takes care of adding itself to an internal register of opcodes and their matching classes, and it holds references to one central MU, registers, and ALU. This way, instructions are simply a single function, execute() . That function is an Iterator function returning no values, allowing me to put it inside of a class: def tick ( self ): if not self . iterable : opcode = self . mu . read ( self . registers . PC ) instruction = Instruction . registry . get ( opcode ) instance = instruction ( self . mu , self . alu , self . registers ) self . registers . PC += 0x0001 self . iterable = instance . execute () try : next ( self . iterable ) except StopIteration : self . iterable = None which will perform only one part of the instruction every clock cycle, or tick, mimicing how real processors work!! Next I need to design the first few basic control flow instructions, then I’ll probably devlog there. Math instructions come after that, which requires me to learn BINARY OPERATORS AND BOOLEAN MATH OH GOD OH GOD ODGSJHNfhm , ,
okay ! i’ve got most of the instructions I think I should need for now, and that totals to 71 distinct ones. Far from the 256 the processor supports, so that’s good! most of them can read or write registers, memory, or an immediate number in the code. I can always add more later as need be but now i have to implement them!! eventually, I’ll write an assembler and linker to do this automatically. For now though I’ll have to write bytecode manually also going to assign these to specific opcodes first…...
|
1793162941.5075796
|
1793767741.5075796
|
|
6905
|
procedural planet sim by @kanishkv99 | Stardance
|
kanishkv99
|
0
|
0.32
|
0
|
[]
|
[{"post_id": 1820, "ts": "2026 [{"post_id": 1820, "ts": "2026-06-04T01:22:03Z", "hours": 0.3189, "text": "Scafolded the project with some ai help, now to actually code"}]...
|
Title: procedural planet sim by @kanishkv99 | Star Title: procedural planet sim by @kanishkv99 | Stardance
Devlogs:
Scafolded the project with some ai help, now to actually code...
|
1793368331.4573586
|
1793973131.4573586
|
|
47965
|
procegeral cheese by @meke | Stardance
|
meke
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: procegeral cheese by @meke | Stardance
|
1793202998.326846
|
1793807798.326846
|
|
1209
|
processing based rasberry pico 16 bit music player processing based rasberry pico 16 bit music player by @prakash_dhanvin | Stardance...
|
prakash_dhanvin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: processing based rasberry pico 16 bit music Title: processing based rasberry pico 16 bit music player by @prakash_dhanvin | Stardance...
|
1793357762.9362495
|
1793962562.9362495
|
|
37010
|
prodd by @meharwansinghji | Stardance
|
meharwansinghji
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: prodd by @meharwansinghji | Stardance
|
1793199095.1439764
|
1793803895.1439764
|
|
71924
|
prodhosh portfolio by @itzprodhosh | Stardance
|
itzprodhosh
|
0
|
8.59
|
0
|
[]
|
[{"post_id": 84421, "ts": "202 [{"post_id": 84421, "ts": "2026-10-29T16:38:59Z", "hours": 8.5928, "text": "portfolioo launchedd checkout - > prodhosh.me"}]...
|
Title: prodhosh portfolio by @itzprodhosh | Starda Title: prodhosh portfolio by @itzprodhosh | Stardance
Devlogs:
portfolioo launchedd checkout - > prodhosh.me...
|
1793292453.4916086
|
1793897253.4916086
|
|
335
|
productive and games by @Jihan | Stardance
|
Jihan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: productive and games by @Jihan | Stardance
|
1793382547.941441
|
1793987347.941441
|
|
2879
|
productive home by @Tony1292 | Stardance
|
Tony1292
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T01:07:48Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a website that solves most of my family problems. The point is that you don’t forget anything and the whole family works together. This website will help your family. This was such a helpful project becasue it shows that coding and being on the computer in not a waste of time as my family says but can solve real promblems.", "repo": "https://github.com/tonymurilloambriz-bit/My-personal-webiste", "demo": "https://hom22.oneapp.dev/"}]...
|
[{"post_id": 74694, "ts": "202 [{"post_id": 74694, "ts": "2026-09-28T00:42:32Z", "hours": 0.5506, "text": "I have finished my project I have finished the chores and the shopping list section of the website. I have really enjoyed this project."}, {"post_id": 47188, "ts": "2026-08-14T22:20:39Z", "hours": 1.1003, "text": "I have made some more changes on the colors but it will be hard to make the chores list an shopping list. Since I decided to make all the apps. The reason why it took so long was that I did not save the code and will big brain me lost the code."}, {"post_id": 7218, "ts": "2026-06-12T01:33:32Z", "hours": 1.3825, "text": "I was able to make the website look more modern and overall better looking. Before I did this I accidentally deleted the tab where I had my code and I did not save the code."}, {"post_id": 5160, "ts": "2026-06-08T20:54:21Z", "hours": 2.7561, "text": "I made the chore app with Lovable.AI and put it into the html file so know when you click on the chore menu it takes you there. The next step is to add a button in the Lovable app so you can go back to the main menu."}, {"post_id": 4532, "ts": "2026-06-07T21:29:51Z", "hours": 1.1172, "text": "So I made the main home page with html but the apps inside the website where made by me using lovable.AI. So the main website is all most ready."}, {"post_id": 3751, "ts": "2026-06-06T20:00:00Z", "hours": 1.0525, "text": "I got the button to work for one of the menu icons. But now I know how to do the rest. So now when you click on the chores word, it brings you to the chores page."}, {"post_id": 3205, "ts": "2026-06-06T01:11:34Z", "hours": 1.3958, "text": "I got the the buttons to work so when you click the button it brings you to another page."}, {"post_id": 2978, "ts": "2026-06-05T22:02:21Z", "hours": 1.0089, "text": "So I am making a website where the user lists what is needed in the house like food or basic supplies. So when the user runs out of the supplies they will mark it as needed. there will also be a section for chores so you can add the family and each person has chores they have to complete before the day ends."}]...
|
Title: productive home by @Tony1292 | Stardance
D Title: productive home by @Tony1292 | Stardance
Devlogs:
So I am making a website where the user lists what is needed in the house like food or basic supplies. So when the user runs out of the supplies they will mark it as needed. there will also be a section for chores so you can add the family and each person has chores they have to complete before the day ends.
I got the the buttons to work so when you click the button it brings you to another page.
I got the button to work for one of the menu icons. But now I know how to do the rest. So now when you click on the chores word, it brings you to the chores page.
So I made the main home page with html but the apps inside the website where made by me using lovable.AI. So the main website is all most ready.
I made the chore app with Lovable.AI and put it into the html file so know when you click on the chore menu it takes you there. The next step is to add a button in the Lovable app so you can go back to the main menu.
I was able to make the website look more modern and overall better looking. Before I did this I accidentally deleted the tab where I had my code and I did not save the code.
I have made some more changes on the colors but it will be hard to make the chores list an shopping list. Since I decided to make all the apps. The reason why it took so long was that I did not save the code and will big brain me lost the code.
I have finished my project I have finished the chores and the shopping list section of the website. I have really enjoyed this project.
Ships:
I have made a website that solves most of my family problems. The point is that you don’t forget anything and the whole family works together. This website will help your family. This was such a helpful project becasue it shows that coding and being on the computer in not a waste of time as my family says but can solve real promblems....
|
1793350651.1314094
|
1793437051.1314094
|
|
10193
|
productivity coach by @selenag | Stardance
|
selenag
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: productivity coach by @selenag | Stardance
|
1793368370.6703374
|
1793973170.6703374
|