|
8503
|
My first slack bot! by @zombieking1555 | Stardance
|
zombieking1555
|
1
|
1.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T22:22:33Z", "hours": 1.0, "multiplier": 2.15, "payout": 1, "blessing": "neutral", "text": "I made my own Slack bot following the Stardance mission tutorial. This project, although beginner-level, was a challenge to me. It was my first time working with APIs, Hosting, and generally programming with JavaScript. I am proud of my custom Calendar command; it taught me a lot about working with APIs and allowed me to dip my toes past what was provided for me in the tutorial. My bot should be live using Nest and testable by anyone on Slack!", "repo": "https://github.com/zombieking1555/slack-zombot", "demo": "https://hackclub.enterprise.slack.com/archives/C0APH2MMHH7"}]...
|
[{"post_id": 4562, "ts": "2026 [{"post_id": 4562, "ts": "2026-06-07T22:07:19Z", "hours": 0.6578, "text": "First devlog for a project I’m working on - likely last for this project. I wanted to create this project to learn the flow of creating and shipping for the Stardance challenge. Almost everything I did here was entirely new to me: coding in JS, using API keys and tokens, and SSHing to host my bot on Nest. Luckily, I was able to figure out how to have my coding time properly logged to have enough to devlog. My 37 minutes reflect the time I spent tidying the project for shipment, not the 2 and a half hours spent figuring out how to parse a command into API parameters. This Slack bot was a lot of fun, looking forward to devlogging again on my next project."}]...
|
Title: My first slack bot! by @zombieking1555 | St Title: My first slack bot! by @zombieking1555 | Stardance
Devlogs:
First devlog for a project I’m working on - likely last for this project. I wanted to create this project to learn the flow of creating and shipping for the Stardance challenge. Almost everything I did here was entirely new to me: coding in JS, using API keys and tokens, and SSHing to host my bot on Nest. Luckily, I was able to figure out how to have my coding time properly logged to have enough to devlog. My 37 minutes reflect the time I spent tidying the project for shipment, not the 2 and a half hours spent figuring out how to parse a command into API parameters. This Slack bot was a lot of fun, looking forward to devlogging again on my next project.
Ships:
I made my own Slack bot following the Stardance mission tutorial. This project, although beginner-level, was a challenge to me. It was my first time working with APIs, Hosting, and generally programming with JavaScript. I am proud of my custom Calendar command; it taught me a lot about working with APIs and allowed me to dip my toes past what was provided for me in the tutorial. My bot should be live using Nest and testable by anyone on Slack!...
|
1793620276.4695976
|
1793706676.4695976
|
|
66705
|
My awesome macropad! by @AdityaSapner | Stardance
|
AdityaSapner
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @AdityaSapner | Sta Title: My awesome macropad! by @AdityaSapner | Stardance...
|
1793101875.711724
|
1793706675.711724
|
|
30227
|
My Personal Portfolio by @Raphel | Stardance
|
Raphel
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T10:43:41Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "🚀 My Personal Portfolio Website I built a space-themed personal portfolio website using HTML and CSS. It features a 🌌 starry background, a 🚀 rocket graphic, a navigation bar, and sections for About Me, Projects, Contact, and Follow Me. My goal was to create a clean, creative, and interactive website while learning the fundamentals of web development. One of the biggest challenges was understanding how HTML and CSS work together. I learned about classes, IDs, layouts, styling, hover effects, and how to fix bugs when things didn’t work as expected. Every challenge helped me become more confident as a beginner. I’m proud that this is my first complete website. Instead of only copying code, I focused on understanding what each line does and improving my project step by step. 🔍 How to test Visit the live website. Use the navigation bar to move between sections. Explore the About Me, Projects, Contact, and Follow Me sections. Hover over the navigation links and cards to see the interactive effects. 🤖 AI Usage I used ChatGPT as a learning assistant to explain HTML and CSS concepts, help me debug problems, and answer my questions while I built and understood the project myself. Thank you for checking out my first website! ⭐", "repo": "https://github.com/RaphelReji/personal-site", "demo": "https://raphelreji.github.io/personal-site/"}]...
|
[{"post_id": 22754, "ts": "202 [{"post_id": 22754, "ts": "2026-07-05T10:31:17Z", "hours": 0.7925, "text": "Final Devlog – Completing My Personal Portfolio Today I completed my first personal portfolio website using HTML and CSS. Throughout this project, I learned how to structure a webpage with HTML and style it with CSS. I built a space-themed portfolio with a custom background, navigation bar, hero section, and separate sections for About Me, Projects, Contact, and Follow Me. One of the most valuable parts of this project was learning the purpose of each HTML element and CSS property instead of simply copying code. I learned how classes and IDs work, how to style reusable components, create hover effects, and add simple animations to improve the user experience. I also learned how to use GitHub to manage my project and prepare it for deployment. This project has given me a strong foundation in web development, and I’m looking forward to building more websites and continuing to improve my skills. This is my first completed web development project, and I’m proud of how much I’ve learned throughout the process."}, {"post_id": 22555, "ts": "2026-07-05T02:27:02Z", "hours": 2.2678, "text": "Improved My Personal Portfolio 🚀 Today I made a lot of progress on my first personal website. I added a space background, created a header with my portfolio title, and added a rocket image to match the space theme. I also started learning how HTML and CSS work together by creating my first card section for the About Me part of the website. I’m building everything step by step so I can understand the code instead of just copying it. Next, I’ll finish the Projects and Contact sections and improve the navigation."}, {"post_id": 21406, "ts": "2026-07-03T10:19:58Z", "hours": 0.5125, "text": "Today I started building my personal website using HTML. I learned how to create the basic structure of a webpage with headings and paragraphs. I also created sections for About Me, Projects, Contact, and Follow Me. Next, I will learn CSS to make my website look better."}]...
|
Title: My Personal Portfolio by @Raphel | Stardanc Title: My Personal Portfolio by @Raphel | Stardance
Devlogs:
Today I started building my personal website using HTML. I learned how to create the basic structure of a webpage with headings and paragraphs. I also created sections for About Me, Projects, Contact, and Follow Me. Next, I will learn CSS to make my website look better.
Improved My Personal Portfolio 🚀 Today I made a lot of progress on my first personal website. I added a space background, created a header with my portfolio title, and added a rocket image to match the space theme. I also started learning how HTML and CSS work together by creating my first card section for the About Me part of the website. I’m building everything step by step so I can understand the code instead of just copying it. Next, I’ll finish the Projects and Contact sections and improve the navigation.
Final Devlog – Completing My Personal Portfolio Today I completed my first personal portfolio website using HTML and CSS. Throughout this project, I learned how to structure a webpage with HTML and style it with CSS. I built a space-themed portfolio with a custom background, navigation bar, hero section, and separate sections for About Me, Projects, Contact, and Follow Me. One of the most valuable parts of this project was learning the purpose of each HTML element and CSS property instead of simply copying code. I learned how classes and IDs work, how to style reusable components, create hover effects, and add simple animations to improve the user experience. I also learned how to use GitHub to manage my project and prepare it for deployment. This project has given me a strong foundation in web development, and I’m looking forward to building more websites and continuing to improve my skills. This is my first completed web development project, and I’m proud of how much I’ve learned throughout the process.
Ships:
🚀 My Personal Portfolio Website I built a space-themed personal portfolio website using HTML and CSS. It features a 🌌 starry background, a 🚀 rocket graphic, a navigation bar, and sections for About Me, Projects, Contact, and Follow Me. My goal was to create a clean, creative, and interactive website while learning the fundamentals of web development. One of the biggest challenges was understanding how HTML and CSS work together. I learned about classes, IDs, layouts, styling, hover effects, and how to fix bugs when things didn’t work as expected. Every challenge helped me become more confident as a beginner. I’m proud that this is my first complete website. Instead of only copying code, I focused on understanding what each line does and improving my project step by step. 🔍 How to test Visit the live website. Use the navigation bar to move between sections. Explore the About Me, Projects, Contact, and Follow Me sections. Hover over the navigation links and cards to see the interactive effects. 🤖 AI Usage I used ChatGPT as a learning assistant to explain HTML and CSS concepts, help me debug problems, and answer my questions while I built and understood the project myself. Thank you for checking out my first website! ⭐...
|
1793620275.2927392
|
1793706675.2927392
|
|
9984
|
Minigames Slackbot by @blazfoxx | Stardance
|
blazfoxx
|
1
|
1.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T15:46:15Z", "hours": 1.0, "multiplier": 1.83, "payout": 3, "blessing": "neutral", "text": "Challenging part was just mostly setting up the bot. Never used slack before, and never used their bot system. Setting it up and having all of those new things to do was the sole challenge", "repo": "https://github.com/blazfxx/hacktime-slackbot", "demo": "https://app.slack.com/client/E09V59WQY1E/C08E083LZ9A"}]...
|
[{"post_id": 3938, "ts": "2026 [{"post_id": 3938, "ts": "2026-06-07T02:07:46Z", "hours": 0.565, "text": "Tried adding an AI chat feature to my slack bot but couldn’t get it to work… Messages would send, but no output… and nothing in terminal. Ok nevermind. Realized that; the model wasn’t working and was too slow. The code changes wouldn’t apply when bot is running -> needed a restart Fixed by changing model and having output be printed in terminal to catch any errors … This means you can ask the slackbot any question This might be it for this slackbot… might move over to some kind of new project"}, {"post_id": 3922, "ts": "2026-06-07T01:13:07Z", "hours": 0.5342, "text": "Added 2 new commands to my slack project! I added a rock paper scissors command: /blaze-rps The user chooses an option from a list: rock, paper or scissors. Then, the bot chooses a random one. There is a hardcoded list in the code for saying what beats what. … yep Also added “flip a coin” which basically just picks a random option between heads and tails and tells the user the answer"}, {"post_id": 3742, "ts": "2026-06-06T19:45:45Z", "hours": 0.1936, "text": "New to slack bot This is my first time making a slackbot app…. Decided t go with python as it is the easiest and I know it pretty well. I started off by getting an understanding on how to even run a bot. I was more used to discord bots, and this was quite different, with us having to add commands on the webpage and such. Once I got the hang of it, I created a bot.py and a tictactoe.py file. The tictactoe file had the base of how my tictactoe game worked and such while the bot.py was where the command system lived. It just had like, responses to commands, what happens if X happened… yeah The one and only command I have for now is: /3t -> play the game with /3t start -> place a piece with /3t move <1-9> -> quit with /3t quit I will continue this project under “slackbot” time"}]...
|
Title: Minigames Slackbot by @blazfoxx | Stardance Title: Minigames Slackbot by @blazfoxx | Stardance
Devlogs:
New to slack bot This is my first time making a slackbot app…. Decided t go with python as it is the easiest and I know it pretty well. I started off by getting an understanding on how to even run a bot. I was more used to discord bots, and this was quite different, with us having to add commands on the webpage and such. Once I got the hang of it, I created a bot.py and a tictactoe.py file. The tictactoe file had the base of how my tictactoe game worked and such while the bot.py was where the command system lived. It just had like, responses to commands, what happens if X happened… yeah The one and only command I have for now is: /3t -> play the game with /3t start -> place a piece with /3t move <1-9> -> quit with /3t quit I will continue this project under “slackbot” time
Added 2 new commands to my slack project! I added a rock paper scissors command: /blaze-rps The user chooses an option from a list: rock, paper or scissors. Then, the bot chooses a random one. There is a hardcoded list in the code for saying what beats what. … yep Also added “flip a coin” which basically just picks a random option between heads and tails and tells the user the answer
Tried adding an AI chat feature to my slack bot but couldn’t get it to work… Messages would send, but no output… and nothing in terminal. Ok nevermind. Realized that; the model wasn’t working and was too slow. The code changes wouldn’t apply when bot is running -> needed a restart Fixed by changing model and having output be printed in terminal to catch any errors … This means you can ask the slackbot any question This might be it for this slackbot… might move over to some kind of new project
Ships:
Challenging part was just mostly setting up the bot. Never used slack before, and never used their bot system. Setting it up and having all of those new things to do was the sole challenge...
|
1793620274.104842
|
1793706674.104842
|
|
66704
|
Cool Game by @freddiewynnejones | Stardance
|
freddiewynnejones
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Cool Game by @freddiewynnejones | Stardance
|
1793101873.7445002
|
1793706673.7445002
|
|
31870
|
My very own site?! by @DanielDimitrovich | Stardan My very own site?! by @DanielDimitrovich | Stardance...
|
DanielDimitrovich
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-07T19:39:10Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website for showing of future projects, and as a blog in general. It wasn’t too challenging, but I like the guide: It clearly explains everything and I had to do very little research myself. After that, my imagination brought me to the (provisional) end.", "repo": "https://github.com/bestguy45/Website_new", "demo": "https://bestguy45.github.io/Website_new/"}]...
|
[{"post_id": 24289, "ts": "202 [{"post_id": 24289, "ts": "2026-07-07T19:15:23Z", "hours": 1.2469, "text": "Revamped the entire style, added some more content, and a roadmap."}, {"post_id": 24144, "ts": "2026-07-07T14:57:50Z", "hours": 0.9617, "text": "Currently I’m brainstorming the design of my website, while also thinking of future projects and accessibility."}]...
|
Title: My very own site?! by @DanielDimitrovich | Title: My very own site?! by @DanielDimitrovich | Stardance
Devlogs:
Currently I’m brainstorming the design of my website, while also thinking of future projects and accessibility.
Revamped the entire style, added some more content, and a roadmap.
Ships:
I made a website for showing of future projects, and as a blog in general. It wasn’t too challenging, but I like the guide: It clearly explains everything and I had to do very little research myself. After that, my imagination brought me to the (provisional) end....
|
1793620272.9121666
|
1793706672.9121666
|
|
50369
|
5x5 matrix display by @Chonki_29 | Stardance
|
Chonki_29
|
1
|
4.12
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-18T20:09:23Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi i made a 5x5 LED matrix display consisting of 25 LEDs which i manually soldered with resistors onto a zero pcb. After making the display i used chatgpt to help me write the code that turned it into a digital dice. when the button is pressed it generates and displays a random number from 1 to 6 like a normal dice It was a fun project, i got to practice my soldering and learn about how led matrices work and how to control them with esp32 Thanks!", "repo": "https://github.com/chonki29/5x5-LED-matrix", "demo": ""}]...
|
[{"post_id": 64442, "ts": "202 [{"post_id": 64442, "ts": "2026-09-08T20:30:45Z", "hours": 1.1167, "text": "Fixed the old schematic and made the pcb :)) when i first made the schematic of the circuit i used the wrong type of esp32 this time i replaced that added the correct one made the connections and then made the pcb for the circuit :)) (0 errors and 0 warnings)"}, {"post_id": 49841, "ts": "2026-08-18T19:47:54Z", "hours": 0.3, "text": "DIY MATRIX + DIGITAL DICE COMPLETE!!!"}, {"post_id": 49757, "ts": "2026-08-18T17:56:33Z", "hours": 1.5644, "text": "5x5 LED MATRIX soldered onto zero-pcb with resistors (hardware part complete)"}, {"post_id": 48990, "ts": "2026-08-17T16:08:33Z", "hours": 0.6833, "text": "5x5 LED Matrix design on KiCad"}]...
|
Title: 5x5 matrix display by @Chonki_29 | Stardanc Title: 5x5 matrix display by @Chonki_29 | Stardance
Devlogs:
5x5 LED Matrix design on KiCad
5x5 LED MATRIX soldered onto zero-pcb with resistors (hardware part complete)
DIY MATRIX + DIGITAL DICE COMPLETE!!!
Fixed the old schematic and made the pcb :)) when i first made the schematic of the circuit i used the wrong type of esp32 this time i replaced that added the correct one made the connections and then made the pcb for the circuit :)) (0 errors and 0 warnings)
Ships:
Hi i made a 5x5 LED matrix display consisting of 25 LEDs which i manually soldered with resistors onto a zero pcb. After making the display i used chatgpt to help me write the code that turned it into a digital dice. when the button is pressed it generates and displays a random number from 1 to 6 like a normal dice It was a fun project, i got to practice my soldering and learn about how led matrices work and how to control them with esp32 Thanks!...
|
1793620271.757923
|
1793706671.757923
|
|
66703
|
My awesome macropad! by @Vinumegan | Stardance
|
Vinumegan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Vinumegan | Starda Title: My awesome macropad! by @Vinumegan | Stardance...
|
1793101871.7176526
|
1793706671.7176526
|
|
47771
|
Idli-Site by @idli | Stardance
|
idli
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T00:49:20Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just made a simple portfolio website, It felt good. I really like it’s minimallism but i have tweaks to make as i get better.", "repo": "https://github.com/idli69/idli-site", "demo": "https://idli69.github.io/idli-site/"}]...
|
[{"post_id": 47232, "ts": "202 [{"post_id": 47232, "ts": "2026-08-15T00:46:46Z", "hours": 1.28, "text": "I know it is very smol but i will make it better."}]...
|
Title: Idli-Site by @idli | Stardance
Devlogs:
I Title: Idli-Site by @idli | Stardance
Devlogs:
I know it is very smol but i will make it better.
Ships:
I just made a simple portfolio website, It felt good. I really like it’s minimallism but i have tweaks to make as i get better....
|
1793620270.5655777
|
1793706670.5655777
|
|
66702
|
TuffAlarm+ by @parth_ida13 | Stardance
|
parth_ida13
|
0
|
2.14
|
0
|
[]
|
[{"post_id": 76458, "ts": "202 [{"post_id": 76458, "ts": "2026-10-03T16:19:53Z", "hours": 2.1369, "text": "Extended to 30th!!! I finally locked in for my first hardware project(more fun) I followed the guide and added a speciality of my own with it. I want to make this alarm functioning as a Google Nest Mini and I want to make it have the capability to function as a speaker too. So far I have this, I will correct placements then generate a CAD likely afterwards I’ll submit for funding while having the BOM, CAD, and PCB. I think i’m doing good for a begineer"}]...
|
Title: TuffAlarm+ by @parth_ida13 | Stardance
Dev Title: TuffAlarm+ by @parth_ida13 | Stardance
Devlogs:
Extended to 30th!!! I finally locked in for my first hardware project(more fun) I followed the guide and added a speciality of my own with it. I want to make this alarm functioning as a Google Nest Mini and I want to make it have the capability to function as a speaker too. So far I have this, I will correct placements then generate a CAD likely afterwards I’ll submit for funding while having the BOM, CAD, and PCB. I think i’m doing good for a begineer...
|
1793101869.6802776
|
1793706669.6802776
|
|
36826
|
Whats Your IP Human ~ WYIPH by @wtfisquantum | Sta Whats Your IP Human ~ WYIPH by @wtfisquantum | Stardance...
|
wtfisquantum
|
4
|
30.0
|
361
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-11-01T07:11:15Z", "hours": 1.0, "multiplier": 13.21, "payout": 8, "blessing": "neutral", "text": "What’s Your IP Human (WYIPH) | Final Stardance Ship And that’s another project wrapped up for Stardance! I built What’s Your IP Human (WYIPH) , an IP intelligence and networking exploration tool designed to help people understand what information is available behind an IP address and how the internet actually works. The project supports both IPv4 and IPv6 lookups and provides information like geolocation, ISP, ASN, proxy and hosting detection, network metadata and detailed WHOIS records. It also includes an interactive Leaflet map and a dedicated How it Works section that explains the networking concepts behind the information being displayed. One of the biggest challenges was building a reliable WHOIS experience. I explored different APIs, ran into CORS and deployment issues, and eventually built my own API layer to process registry responses. This allowed me to extract and organize information like IP ranges, network names, organizations, registry details, abuse contacts, administrative and technical contacts, routes and origin AS information. I also worked on making the results easier to understand. Instead of showing huge blocks of raw registry data, the application organizes everything into structured sections so users can actually explore and understand what they’re looking at. To try it out, simply open the website. It automatically looks up your public IP on your first visit. You can also search for any valid IPv4 or IPv6 address and explore its geolocation, network details and WHOIS information. I’m also experimenting with taking WYIPH beyond a simple educational lookup tool. I have ideas around location intelligence and website tracking that I’d like to explore in future updates. So even though this is my final Stardance ship, I don’t consider the project finished. I genuinely enjoy building technical projects that explain what’s happening behind the scenes, and this one gave me a chance to explore networking, APIs, backend development and deployment in much more depth. I’d really appreciate it if you could give it a try, leave an honest rating and share your feedback. Last time I received some decent feedback, but I’m hoping this project reaches a few more people! Thanks to everyone who checked out my projects and supported me throughout Stardance. It’s been a fun journey, and I’m definitely taking this project further! ❤️", "repo": "https://github.com/wtfisquantum/whats-your-ip", "demo": "https://whats-your-ip-human.vercel.app"}, {"ship_num": 2, "ts": "2026-08-27T16:29:52Z", "hours": 18.0, "multiplier": 11.58, "payout": 213, "blessing": "neutral", "text": "I built What’s Your IP Human (WYIPH) , an IP intelligence and networking exploration tool that lets you inspect IPv4 and IPv6 addresses while also showing what happens behind the scenes. The project provides detailed information such as geolocation, ISP, ASN, proxy and hosting detection, network metadata and now a much more complete WHOIS lookup experience. One of the biggest updates in this version was expanding the WHOIS system. I researched different WHOIS APIs, worked through CORS and deployment issues, and eventually built and deployed my own API layer to reliably process the registry data. The application can now surface information such as IP ranges, network and organization details, registry information, abuse contacts, administrative and technical contacts, routes and origin AS information, while filtering and formatting the raw responses into something much easier to understand. I also spent a lot of time improving the overall experience around this data. The WHOIS results have been redesigned into structured sections instead of displaying raw registry responses, while the existing geolocation and network information continues to work alongside the interactive Leaflet map. I also worked on the backend and deployment setup to make the whole lookup pipeline more reliable. The project has also started moving beyond being just an educational IP lookup tool. I’m currently experimenting with turning it into a more practical service for location and website tracking, with several ideas planned for future versions. To test it, simply open the website and it will automatically look up your current public IP on your first visit. You can then search for any valid IPv4 or IPv6 address and explore its geolocation, network information and WHOIS data. The How it Works section is also available if you want to understand the networking concepts behind the information being displayed. The project is now live and ready to try! I’d really appreciate it if you could check it out, leave a rating and let me know what you think. ❤️ last time i got some decent feedback on my project, but it was still pretty limited, so i’m hoping this one reaches a few more people. i genuinely enjoy building technical and educational projects that explain how things work under the hood, and i hope that comes across in this one. There are already quite a few more ideas in my head for where this can go next, so this definitely isn’t the final version. Thanks for checking it out and supporting the project! :)", "repo": "https://github.com/wtfisquantum/whats-your-ip", "demo": "https://whats-your-ip-human.vercel.app"}, {"ship_num": 3, "ts": "2026-07-31T07:27:12Z", "hours": 7.0, "multiplier": 17.76, "payout": 129, "blessing": "neutral", "text": "I built What’s Your IP Human (WYIPH), an educational IP intelligence tool that not only lets you inspect IPv4 and IPv6 addresses, but also explains what’s happening behind the scenes. Alongside detailed lookup information like geolocation, ISP, ASN, proxy/hosting detection and network metadata, the project includes an interactive documentation experience that walks through concepts such as WHOIS, Regional Internet Registries, Autonomous Systems, BGP routing, coordinate generation, IP accuracy and much more. The biggest challenge was making complex networking concepts understandable without oversimplifying them. I spent a lot of time researching official documentation, verifying information, and designing the interface so users could learn how IP lookups actually work instead of treating the results as a black box. Keeping the documentation visually consistent with the lookup experience while integrating interactive elements like Leaflet maps was another fun challenge. I’m most proud of turning what started as a simple IP lookup tool into something educational. Instead of only displaying data, it explains where the data comes from, how reliable it is, and why different services return different results. Hopefully it helps people learn a little more about how the Internet actually works. To test it, simply open the website. On your first visit it automatically analyzes your current public IP address. You can then search for any valid IPv4 or IPv6 address, explore the interactive map, and switch to the How it Works section to dive into the networking concepts behind each piece of information displayed. Feedback is always welcome, and I already have a few more features planned for future updates! if you enjoyed exploring the project, i’d really appreciate a good rating! ❤️ my last project didn’t receive many ratings, so i’m hoping this one reaches a few more people. i genuinely enjoy building technical and educational projects that explain how things work under the hood, and i hope that comes across in this one. there are already more updates planned, so if you like the project, consider following it and leaving a rating. every bit of feedback helps me make it even better. thank you! :)", "repo": "https://github.com/wtfisquantum/whats-your-ip", "demo": "https://whats-your-ip-human.vercel.app"}, {"ship_num": 4, "ts": "2026-07-22T20:09:04Z", "hours": 4.0, "multiplier": 2.78, "payout": 11, "blessing": "neutral", "text": "I built What’s Your IP..?, a web application that lets users inspect any IPv4 or IPv6 address and view detailed information including geolocation, ISP, ASN, hosting/proxy detection, timezone and more, all alongside an interactive Leaflet map. The most challenging part was integrating multiple APIs while keeping the UI responsive and making sure the map, loading states and data components stayed in sync throughout the lookup process. I’m especially proud of the overall UI, the modular component architecture and the smooth search experience. To test the project, simply open the site. On your first visit it automatically analyzes your current public IP. After that, you can enter any valid IP address in the search bar to inspect its details and see its approximate location on the interactive map.", "repo": "https://github.com/wtfisquantum/whats-your-ip", "demo": "https://whats-your-ip-human.vercel.app"}]...
|
[{"post_id": 86289, "ts": "202 [{"post_id": 86289, "ts": "2026-11-01T06:47:32Z", "hours": 0.6331, "text": "finally wrapped up another major round of work on What’s Your IP Human (WYIPH)! spent this session doing a final pass over the WHOIS lookup experience, checking the API flow, cleaning up how registry information is displayed and testing the IPv4/IPv6 lookup process. also went through the interactive map and the different network information sections to make sure everything works together properly. pretty happy with how far this project has come. it started as a simple IP lookup tool and has gradually turned into a much more detailed networking exploration platform. still have a few ideas for the future, especially around making it more useful for practical location and website tracking."}, {"post_id": 55629, "ts": "2026-08-27T16:20:45Z", "hours": 9.2442, "text": "Continued working on the existing lookup system and made a few more improvements to both the frontend and backend Expanded the WHOIS integration further and added more of the raw registry information into the processed response The WHOIS section can now surface details such as the inetnum/IP range, network name, organization, country, abuse contact, admin and technical contacts, ASN, route and origin AS , along with the relevant registry information For example, an APNIC response can now expose information like the 2.2.2.2 - 2.2.255.255 address range, organization details, abuse mailbox, AS55836 route information and the corresponding network contacts instead of showing only basic IP metadata Refined the WHOIS parsing and presentation so the large responses are filtered and displayed in a much more readable format Worked on the backend again to make the lookup pipeline more reliable and prepared the system for the bigger location and website-tracking direction i’m planning to take this project towards Ran into another unexpected issue with the map tile provider, which recently started requiring an API key for requests even though the same setup had been working without one before. since buying a key isn’t really an option for this project, i’m currently looking into alternative tile providers that can work reliably without introducing another paid dependency Also ran into a few deployment issues while putting the updated backend and frontend online, but tracked them down, fixed the server-side and frontend build issues and got the complete application deployed successfully Did a final pass over the lookup flow, WHOIS data rendering and the rest of the interface to make sure everything was working together properly and that’s basically it for this version. the WHOIS system is now fully integrated and the project is live again. i’m also working on turning this into something more useful than just an IP lookup tool, with a proper location and website tracking workflow planned for the next few updates. :)"}, {"post_id": 49927, "ts": "2026-08-18T21:54:17Z", "hours": 6.5375, "text": "Continued working on the WHOIS integration and completed the main lookup flow, with the returned data now being properly processed and rendered inside the application Fixed an issue where some WHOIS responses contained special characters and percentage-encoded values that were being rendered directly as text, causing formatting issues. Added filtering and cleanup so these values are handled properly before reaching the UI Improved the overall WHOIS presentation with better typography, spacing and visual hierarchy so the large amount of returned information feels easier to scan Added more useful WHOIS information, including relevant registration and contact details that could help when looking for the appropriate organization or ISP contact for reporting network-related issues Made a few improvements to the Leaflet map experience as well, particularly around map spanning and tile loading performance Switched the map tile delivery to a faster CDN to reduce loading delays and make the interactive map feel more responsive Started experimenting with a proper theme toggle for the application. The initial approach uses CSS filters to test the dark/light transition, although image and color inversion still causes a few visual issues that need to be cleaned up The next step is to replace the experimental theme approach with a more reliable implementation and polish the remaining edge cases also started thinking about the bigger direction of the project. instead of keeping it purely as an educational IP intelligence experience, i’m considering turning it into an actual service that people could use for real networking, IP intelligence or troubleshooting workflows. still exploring the possibilities, but i think there could be something much more useful to build on top of what is already here."}, {"post_id": 46850, "ts": "2026-08-14T11:44:44Z", "hours": 2.6056, "text": "Started expanding the lookup experience beyond the existing Geolocation, System Context and Network sections by working on a complete WHOIS lookup system Researched how WHOIS data is structured and what kind of information can be extracted from IP registration records Explored and tested multiple APIs for retrieving WHOIS information and worked through the deployment and integration requirements Ran into a few CORS-related issues while testing the external services, so I spent some time debugging the requests and figuring out a reliable way to access the data from the frontend Eventually deployed my own API layer to handle the WHOIS requests and integrated that service into the application Started successfully retrieving WHOIS information for the searched IP addresses, including registration and network-related details Began designing the new WHOIS section so the returned information can be presented in a clean and readable way instead of dumping the raw API response Added the initial UI structure and data components for organizing the different WHOIS fields and making the information easier to understand Tested the complete flow from IP lookup - WHOIS API - processed response - formatted UI and fixed a few issues along the way there’s still more i want to do with the WHOIS section, especially around organizing and explaining some of the returned fields, but the core lookup and integration are now working properly and the next step is mostly about polishing the experience."}, {"post_id": 38049, "ts": "2026-07-31T07:20:40Z", "hours": 0.4856, "text": "Wrapped up the final release and deployed the latest version to Vercel Updated the live deployment URL, README and project documentation to reflect all of the latest changes Added a few final educational sections explaining: How geographic coordinates are determined from an IP address Why IP lookups are usually so fast How integer IP conversion works behind the scenes The expected accuracy of different pieces of IP metadata Created a dedicated accuracy comparison table so users can easily understand which fields are highly reliable and which are only approximate Fixed a handful of deployment-related issues that appeared during the production build before successfully publishing the updated version Cleaned up the remaining codebase, pushed the final commits and verified the complete lookup flow one last time The project is now live with both the interactive lookup experience and the in-depth networking documentation working together in a single interface really happy with how this turned out! if you get a chance to try it out, i’d love to hear your thoughts and feedback. there are already a few more ideas planned for future updates, so this definitely won’t be the last release :)"}, {"post_id": 38039, "ts": "2026-07-31T06:35:05Z", "hours": 0.8158, "text": "Continued expanding the networking documentation by adding a dedicated section on Autonomous Systems (ASNs) and Border Gateway Protocol (BGP) Researched how internet routing actually works beyond simple IP ownership and documented the relationship between IP addresses, IP prefixes, ASNs and Internet Service Providers Added step-by-step explanations showing how routers determine the correct destination network instead of routing directly to individual IP addresses Built a visual flow diagram illustrating the complete lookup pipeline: IP Address IP Prefix Origin Autonomous System ISP / Organization Simplified several networking concepts into beginner-friendly explanations while keeping the technical details accurate Refined the typography, spacing and content hierarchy to improve readability across the documentation page Continued maintaining design consistency by reusing existing components and styling patterns throughout the blog Spent additional time validating routing examples and ASN information to ensure the documentation reflects real-world networking concepts as closely as possible This section now serves as the foundation for explaining how global internet traffic is routed before moving into more advanced networking topics"}, {"post_id": 37764, "ts": "2026-07-30T17:57:51Z", "hours": 1.2481, "text": "Continued expanding the What’s Your IP Human documentation with a few more in-depth networking concepts Researched Regional Internet Registries (RIRs) and added a dedicated section explaining how global IP address allocation works Collected the official names, logos and branding assets for each registry and integrated them into the page to make the content more visual and easier to follow Added another section covering WHOIS records , explaining what they are, what information they contain and how they’re commonly used during IP lookups Designed new information grids and data cards with consistent borders, icons and spacing to improve readability while maintaining the overall design language of the application Fixed the documentation flow so every section now references the currently searched IP address instead of placeholder values, making the explanations feel much more contextual and easier to understand Started documenting the fundamentals of Autonomous Systems (ASN) and BGP routing , laying the groundwork for explaining how IP traffic is routed across the internet Spent some time experimenting with different approaches for visualizing networking concepts, including Mermaid diagrams , React Flow , and pure CSS-based layouts before deciding on the final direction Continued refining the overall design consistency so the documentation feels like a natural extension of the main application rather than a separate page More interactive diagrams and networking sections are planned once the final visualization approach is finalized"}, {"post_id": 37522, "ts": "2026-07-30T10:25:10Z", "hours": 0.96, "text": "Continued building the What’s Your IP Human documentation experience with a focus on making the lookup process easier to understand Completed the first major section explaining how everything starts , including: How a user’s public IP address is fetched What happens when a lookup request is made The initial request flow before any data is processed Added a highlighted example of the actual request payload to make the explanation easier to follow Documented a few common misconceptions around IP lookups and clarified what information can (and cannot) be determined from an IP address Built another section explaining how IP address ranges are allocated to different organizations, ISPs and cloud providers Researched and collected branding assets for major providers, then organized them into a structured dataset alongside their corresponding IP ranges Created reusable data structures to power the provider showcase and present everything in a clean, consistent layout Focused on keeping the new documentation visually consistent with the rest of the application by maintaining the same spacing, typography, colors and component styling throughout The core structure is now in place, with more sections planned to cover geolocation, network metadata, accuracy and the complete lookup pipeline"}, {"post_id": 36413, "ts": "2026-07-28T14:58:33Z", "hours": 1.8931, "text": "Started working on What’s Your IP Human ~ WYIPH experience after receiving feedback that people were interested in understanding what happens behind the scenes during an IP lookup Began building a dedicated “How it Works” page to explain: How IP information is collected Which data is returned directly by lookup providers The expected accuracy of different fields How geolocation and network information are determined Added a new “How it Works” action that replaces the interactive map with a dedicated documentation-style page Designed the initial landing section with a proper hero layout while keeping the overall design language consistent with the rest of the application Reused the current Leaflet map as a dynamic background to create a smoother transition between the dashboard and documentation page Focused on maintaining visual consistency across typography, spacing, colors and component styling so the new page doesn’t feel disconnected from the main interface Built the foundation for future sections that will document the complete lookup pipeline, data sources and processing flow in a much more transparent way More content and diagrams will be added in the next development session"}, {"post_id": 35052, "ts": "2026-07-26T07:10:39Z", "hours": 2.0586, "text": "spent some time giving the project a final polish before calling it done. cleaned up a few remaining ui inconsistencies, refactored parts of the component structure and simplified some of the rendering logic to make the codebase a bit easier to maintain. also fixed a handful of small bugs around ip lookups, improved error handling for invalid inputs and polished loading and transition states throughout the application. made a few tweaks to spacing, typography and responsive layouts so everything feels more consistent across different screen sizes. finished by doing another full pass over the project, removing some leftover code, improving overall stability and verifying the complete lookup workflow one last time before shipping."}, {"post_id": 33155, "ts": "2026-07-22T20:02:18Z", "hours": 0.7417, "text": "Wrapped up the remaining implementation work and cleaned up the entire codebase Fixed the remaining UI and CSS issues across the application Finished integrating all remaining React components and connected them with the existing data flow Completed the Leaflet map implementation and finalized the interactive location view Polished the overall lookup workflow to ensure everything works smoothly from search to map rendering Deployed the project to Vercel Ran into a deployment issue during the first build, tracked it down and resolved it, then successfully deployed the application Experimented with a clean light theme after deployment, but it didn’t feel quite right for the overall design Designed and implemented a complete dark theme and decided to make it the final look of the project Added the final polish, tested the complete application and verified that everything works as expected finally calling this one done! hope you all enjoy using it, and if you get a chance to check it out, i’d love to hear what you think :)"}, {"post_id": 33103, "ts": "2026-07-22T18:38:16Z", "hours": 1.0717, "text": "Implemented a proper loading experience while IP and geolocation data are being fetched Added dedicated loading states to provide a smoother and more responsive user experience Built reusable components for displaying fetched network information in a clean and structured layout Refactored the details section into individual rows to improve readability and maintainability Formatted the IP address by splitting it into individual octets for a more distinctive visual presentation Displayed detailed information returned by the IP lookup service, including: Mobile / Cellular detection Proxy and VPN status Hosting provider detection Geolocation data Timezone ISP and ASN information Country, region and city details Improved the overall presentation of network metadata with a cleaner information hierarchy Added support for both default and manual lookups: On the first visit, the application automatically fetches the user’s current public IP Afterward, users can search and analyze any valid IP address through the search interface Polished the overall data flow to ensure smooth transitions between loading, fetching and rendering states Fixed minor UI inconsistencies and improved component synchronization throughout the lookup workflow"}, {"post_id": 32485, "ts": "2026-07-21T18:18:14Z", "hours": 2.1939, "text": "Implemented interactive map support using Leaflet with OpenStreetMap tile layers Built the initial mapping system to visualize the user’s approximate location based on IP geolocation data Integrated an external IP geolocation API to automatically retrieve: Public IP address Approximate location ISP / Network provider Timezone and additional network metadata Refactored the frontend into reusable React components for improved maintainability and cleaner project architecture Created dedicated components for: Formatted IP address rendering Data rows Status badges Interactive map container Improved the data flow between the API layer and UI, making updates more predictable and easier to extend Polished the overall dashboard layout with better spacing, organization and information hierarchy Resolved rendering and state synchronization issues while connecting API responses to the map and interface Verified the complete end-to-end workflow from IP lookup → API response → data processing → map rendering → real-time UI updates Added the foundation for future location-based features by keeping the mapping and data-fetching layers modular and scalable"}]...
|
Title: Whats Your IP Human ~ WYIPH by @wtfisquantu Title: Whats Your IP Human ~ WYIPH by @wtfisquantum | Stardance
Devlogs:
Implemented interactive map support using Leaflet with OpenStreetMap tile layers Built the initial mapping system to visualize the user’s approximate location based on IP geolocation data Integrated an external IP geolocation API to automatically retrieve: Public IP address Approximate location ISP / Network provider Timezone and additional network metadata Refactored the frontend into reusable React components for improved maintainability and cleaner project architecture Created dedicated components for: Formatted IP address rendering Data rows Status badges Interactive map container Improved the data flow between the API layer and UI, making updates more predictable and easier to extend Polished the overall dashboard layout with better spacing, organization and information hierarchy Resolved rendering and state synchronization issues while connecting API responses to the map and interface Verified the complete end-to-end workflow from IP lookup → API response → data processing → map rendering → real-time UI updates Added the foundation for future location-based features by keeping the mapping and data-fetching layers modular and scalable
Implemented a proper loading experience while IP and geolocation data are being fetched Added dedicated loading states to provide a smoother and more responsive user experience Built reusable components for displaying fetched network information in a clean and structured layout Refactored the details section into individual rows to improve readability and maintainability Formatted the IP address by splitting it into individual octets for a more distinctive visual presentation Displayed detailed information returned by the IP lookup service, including: Mobile / Cellular detection Proxy and VPN status Hosting provider detection Geolocation data Timezone ISP and ASN information Country, region and city details Improved the overall presentation of network metadata with a cleaner information hierarchy Added support for both default and manual lookups: On the first visit, the application automatically fetches the user’s current public IP Afterward, users can search and analyze any valid IP address through the search interface Polished the overall data flow to ensure smooth transitions between loading, fetching and rendering states Fixed minor UI inconsistencies and improved component synchronization throughout the lookup workflow
Wrapped up the remaining implementation work and cleaned up the entire codebase Fixed the remaining UI and CSS issues across the application Finished integrating all remaining React components and connected them with the existing data flow Completed the Leaflet map implementation and finalized the interactive location view Polished the overall lookup workflow to ensure everything works smoothly from search to map rendering Deployed the project to Vercel Ran into a deployment issue during the first build, tracked it down and resolved it, then successfully deployed the application Experimented with a clean light theme after deployment, but it didn’t feel quite right for the overall design Designed and implemented a complete dark theme and decided to make it the final look of the project Added the final polish, tested the complete application and verified that everything works as expected finally calling this one done! hope you all enjoy using it, and if you get a chance to check it out, i’d love to hear what you think :)
spent some time giving the project a final polish before calling it done. cleaned up a few remaining ui inconsistencies, refactored parts of the component structure and simplified some of the rendering logic to make the codebase a bit easier to maintain. also fixed a handful of small bugs around ip lookups, improved error handling for invalid inputs and polished loading and transition states throughout the application. made a few tweaks to spacing, typography and responsive layouts so everything feels more consistent across different screen sizes. finished by doing another full pass over the project, removing some leftover code, improving overall stability and verifying the complete lookup workflow one last time before shipping.
Started working on What’s Your IP Human ~ WYIPH experience after receiving feedback that people were interested in understanding what happens behind the scenes during an IP lookup Began building a dedicated “How it Works” page to explain: How IP information is collected Which data is returned directly by lookup providers The expected accuracy of different fields How geolocation and network information are determined Added a new “How it Works” action that replaces the interactive map with a dedicated documentation-style page Designed the initial landing section with a proper hero layout while keeping the overall design language consistent with the rest of the application Reused the current Leaflet map as a dynamic background to create a smoother transition between the dashboard and documentation page Focused on maintaining visual consistency across typography, spacing, colors and component styling so the new page doesn’t feel disconnected from the main interface Built the foundation for future sections that will document the complete lookup pipeline, data sources and processing flow in a much more transparent way More content and diagrams will be added in the next development session
Continued building the What’s Your IP Human documentation experience with a focus on making the lookup process easier to understand Completed the first major section explaining how everything starts , including: How a user’s public IP address is fetched What happens when a lookup request is made The initial request flow before any data is processed Added a highlighted example of the actual request payload to make the explanation easier to follow Documented a few common misconceptions around IP lookups and clarified what information can (and cannot) be determined from an IP address Built another section explaining how IP address ranges are allocated to different organizations, ISPs and cloud providers Researched and collected branding assets for major providers, then organized them into a structured dataset alongside their corresponding IP ranges Created reusable data structures to power the provider showcase and present everything in a clean, consistent layout Focused on keeping the new documentation visually consistent with the rest of the application by maintaining the same spacing, typography, colors and component styling throughout The core structure is now in place, with more sections planned to cover geolocation, network metadata, accuracy and the complete lookup pipeline
Continued expanding the What’s Your IP Human documentation with a few more in-depth networking concepts Researched Regional Internet Registries (RIRs) and added a dedicated section explaining how global IP address allocation works Collected the official names, logos and branding assets for each registry and integrated them into the page to make the content more visual and easier to follow Added another section covering WHOIS records , explaining what they are, what information they contain and how they’re commonly used during IP lookups Designed new information grids and data cards with consistent borders, icons and spacing to improve readability while maintaining the overall design language of the application Fixed the documentation flow so every section now references the currently searched IP address instead of placeholder values, making the explanations feel much more contextual and easier to understand Started documenting the fundamentals of Autonomous Systems (ASN) and BGP routing , laying the groundwork for explaining how IP traffic is routed across the internet Spent some time experimenting with different approaches for visualizing networking concepts, including Mermaid diagrams , React Flow , and pure CSS-based layouts before deciding on the final direction Continued refining the overall design consistency so the documentation feels like a natural extension of the main application rather than a separate page More interactive diagrams and networking sections are planned once the final visualization approach is finalized
Continued expanding the networking documentation by adding a dedicated section on Autonomous Systems (ASNs) and Border Gateway Protocol (BGP) Researched how internet routing actually works beyond simple IP ownership and documented the relationship between IP addresses, IP prefixes, ASNs and Internet Service Providers Added step-by-step explanations showing how routers determine the correct destination network instead of routing directly to individual IP addresses Built a visual flow diagram illustrating the complete lookup pipeline: IP Address IP Prefix Origin Autonomous System ISP / Organization Simplified several networking concepts into beginner-friendly explanations while keeping the technical details accurate Refined the typography, spacing and content hierarchy to improve readability across the documentation page Continued maintaining design consistency by reusing existing components and styling patterns throughout the blog Spent additional time validating routing examples and ASN information to ensure the documentation reflects real-world networking concepts as closely as possible This section now serves as the foundation for explaining how global internet traffic is routed before moving into more advanced networking topics
Wrapped up the final release and deployed the latest version to Vercel Updated the live deployment URL, README and project documentation to reflect all of the latest changes Added a few final educational sections explaining: How geographic coordinates are determined from an IP address Why IP lookups are usually so fast How integer IP conversion works behind the scenes The expected accuracy of different pieces of IP metadata Created a dedicated accuracy comparison table so users can easily understand which fields are highly reliable and which are only approximate Fixed a handful of deployment-related issues that appeared during the production build before successfully publishing the updated version Cleaned up the remaining codebase, pushed the final commits and verified the complete lookup flow one last time The project is now live with both the interactive lookup experience and the in-depth networking documentation working together in a single interface really happy with how this turned out! if you get a chance to try it out, i’d love to hear your thoughts and feedback. there are already a few more ideas planned for future updates, so this definitely won’t be the last release :)
Started expanding the lookup experience beyond the existing Geolocation, System Context and Network sections by working on a complete WHOIS lookup system Researched how WHOIS data is structured and what kind of information can be extracted from IP registration records Explored and tested multiple APIs for retrieving WHOIS information and worked through the deployment and integration requirements Ran into a few CORS-related issues while testing the external services, so I spent some time debugging the requests and figuring out a reliable way to access the data from the frontend Eventually deployed my own API layer to handle the WHOIS requests and integrated that service into the application Started successfully retrieving WHOIS information for the searched IP addresses, including registration and network-related details Began designing the new WHOIS section so the returned information can be presented in a clean and readable way instead of dumping the raw API response Added the initial UI structure and data components for organizing the different WHOIS fields and making the information easier to understand Tested the complete flow from IP lookup - WHOIS API - processed response - formatted UI and fixed a few issues along the way there’s still more i want to do with the WHOIS section, especially around organizing and explaining some of the returned fields, but the core lookup and integration are now working properly and the next step is mostly about polishing the experience.
Continued working on the WHOIS integration and completed the main lookup flow, with the returned data now being properly processed and rendered inside the application Fixed an issue where some WHOIS responses contained special characters and percentage-encoded values that were being rendered directly as text, causing formatting issues. Added filtering and cleanup so these values are handled properly before reaching the UI Improved the overall WHOIS presentation with better typography, spacing and visual hierarchy so the large amount of returned information feels easier to scan Added more useful WHOIS information, including relevant registration and contact details that could help when looking for the appropriate organization or ISP contact for reporting network-related issues Made a few improvements to the Leaflet map experience as well, particularly around map spanning and tile loading performance Switched the map tile delivery to a faster CDN to reduce loading delays and make the interactive map feel more responsive Started experimenting with a proper theme toggle for the application. The initial approach uses CSS filters to test the dark/light transition, although image and color inversion still causes a few visual issues that need to be cleaned up The next step is to replace the experimental theme approach with a more reliable implementation and polish the remaining edge cases also started thinking about the bigger direction of the project. instead of keeping it purely as an educational IP intelligence experience, i’m considering turning it into an actual service that people could use for real networking, IP intelligence or troubleshooting workflows. still exploring the possibilities, but i think there could be something much more useful to build on top of what is already here.
Continued working on the existing lookup system and made a few more improvements to both the frontend and backend Expanded the WHOIS integration further and added more of the raw registry information into the processed response The WHOIS section can now surface details such as the inetnum/IP range, network name, organization, country, abuse contact, admin and technical contacts, ASN, route and origin AS , along with the relevant registry information For example, an APNIC response can now expose information like the 2.2.2.2 - 2.2.255.255 address range, organization details, abuse mailbox, AS55836 route information and the corresponding network contacts instead of showing only basic IP metadata Refined the WHOIS parsing and presentation so the large responses are filtered and displayed in a much more readable format Worked on the backend again to make the lookup pipeline more reliable and prepared the system for the bigger location and website-tracking direction i’m planning to take this project towards Ran into another unexpected issue with the map tile provider, which recently started requiring an API key for requests even though the same setup had been working without one before. since buying a key isn’t really an option for this project, i’m currently looking into alternative tile providers that can work reliably without introducing another paid dependency Also ran into a few deployment issues while putting the updated backend and frontend online, but tracked them down, fixed the server-side and frontend build issues and got the complete application deployed successfully Did a final pass over the lookup flow, WHOIS data rendering and the rest of the interface to make sure everything was working together properly and that’s basically it for this version. the WHOIS system is now fully integrated and the project is live again. i’m also working on turning this into something more useful than just an IP lookup tool, with a proper location and website tracking workflow planned for the next few updates. :)
finally wrapped up another major round of work on What’s Your IP Human (WYIPH)! spent this session doing a final pass over the WHOIS lookup experience, checking the API flow, cleaning up how registry information is displayed and testing the IPv4/IPv6 lookup process. also went through the interactive map and the different network information sections to make sure everything works together properly. pretty happy with how far this project has come. it started as a simple IP lookup tool and has gradually turned into a much more detailed networking exploration platform. still have a few ideas for the future, especially around making it more useful for practical location and website tracking.
Ships:
I built What’s Your IP..?, a web application that lets users inspect any IPv4 or IPv6 address and view detailed information including geolocation, ISP, ASN, hosting/proxy detection, timezone and more, all alongside an interactive Leaflet map. The most challenging part was integrating multiple APIs while keeping the UI responsive and making sure the map, loading states and data components stayed in sync throughout the lookup process. I’m especially proud of the overall UI, the modular component architecture and the smooth search experience. To test the project, simply open the site. On your first visit it automatically analyzes your current public IP. After that, you can enter any valid IP address in the search bar to inspect its details and see its approximate location on the interactive map.
I built What’s Your IP Human (WYIPH), an educational IP intelligence tool that not only lets you inspect IPv4 and IPv6 addresses, but also explains what’s happening behind the scenes. Alongside detailed lookup information like geolocation, ISP, ASN, proxy/hosting detection and network metadata, the project includes an interactive documentation experience that walks through concepts such as WHOIS, Regional Internet Registries, Autonomous Systems, BGP routing, coordinate generation, IP accuracy and much more. The biggest challenge was making complex networking concepts understandable without oversimplifying them. I spent a lot of time researching official documentation, verifying information, and designing the interface so users could learn how IP lookups actually work instead of treating the results as a black box. Keeping the documentation visually consistent with the lookup experience while integrating interactive elements like Leaflet maps was another fun challenge. I’m most proud of turning what started as a simple IP lookup tool into something educational. Instead of only displaying data, it explains where the data comes from, how reliable it is, and why different services return different results. Hopefully it helps people learn a little more about how the Internet actually works. To test it, simply open the website. On your first visit it automatically analyzes your current public IP address. You can then search for any valid IPv4 or IPv6 address, explore the interactive map, and switch to the How it Works section to dive into the networking concepts behind each piece of information displayed. Feedback is always welcome, and I already have a few more features planned for future updates! if you enjoyed exploring the project, i’d really appreciate a good rating! ❤️ my last project didn’t receive many ratings, so i’m hoping this one reaches a few more people. i genuinely enjoy building technical and educational projects that explain how things work under the hood, and i hope that comes across in this one. there are already more updates planned, so if you like the project, consider following it and leaving a rating. every bit of feedback helps me make it even better. thank you! :)
I built What’s Your IP Human (WYIPH) , an IP intelligence and networking exploration tool that lets you inspect IPv4 and IPv6 addresses while also showing what happens behind the scenes. The project provides detailed information such as geolocation, ISP, ASN, proxy and hosting detection, network metadata and now a much more complete WHOIS lookup experience. One of the biggest updates in this version was expanding the WHOIS system. I researched different WHOIS APIs, worked through CORS and deployment issues, and eventually built and deployed my own API layer to reliably process the registry data. The application can now surface information such as IP ranges, network and organization details, registry information, abuse contacts, administrative and technical contacts, routes and origin AS information, while filtering and formatting the raw responses into something much easier to understand. I also spent a lot of time improving the overall experience around this data. The WHOIS results have been redesigned into structured sections instead of displaying raw registry responses, while the existing geolocation and network information continues to work alongside the interactive Leaflet map. I also worked on the backend and deployment setup to make the whole lookup pipeline more reliable. The project has also started moving beyond being just an educational IP lookup tool. I’m currently experimenting with turning it into a more practical service for location and website tracking, with several ideas planned for future versions. To test it, simply open the website and it will automatically look up your current public IP on your first visit. You can then search for any valid IPv4 or IPv6 address and explore its geolocation, network information and WHOIS data. The How it Works section is also available if you want to understand the networking concepts behind the information being displayed. The project is now live and ready to try! I’d really appreciate it if you could check it out, leave a rating and let me know what you think. ❤️ last time i got some decent feedback on my project, but it was still pretty limited, so i’m hoping this one reaches a few more people. i genuinely enjoy building technical and educational projects that explain how things work under the hood, and i hope that comes across in this one. There are already quite a few more ideas in my head for where this can go next, so this definitely isn’t the final version. Thanks for checking it out and supporting the project! :)
What’s Your IP Human (WYIPH) | Final Stardance Ship And that’s another project wrapped up for Stardance! I built What’s Your IP Human (WYIPH) , an IP intelligence and networking exploration tool designed to help people understand what information is available behind an IP address and how the internet actually works. The project supports both IPv4 and IPv6 lookups and provides information like geolocation, ISP, ASN, proxy and hosting detection, network metadata and detailed WHOIS records. It also includes an interactive Leaflet map and a dedicated How it Works section that explains the networking concepts behind the information being displayed. One of the biggest challenges was building a reliable WHOIS experience. I explored different APIs, ran into CORS and deployment issues, and eventually built my own API layer to process registry responses. This allowed me to extract and organize information like IP ranges, network names, organizations, registry details, abuse contacts, administrative and technical contacts, routes and origin AS information. I also worked on making the results easier to understand. Instead of showing huge blocks of raw registry data, the application organizes everything into structured sections so users can actually explore and understand what they’re looking at. To try it out, simply open the website. It automatically looks up your public IP on your first visit. You can also search for any valid IPv4 or IPv6 address and explore its geolocation, network details and WHOIS information. I’m also experimenting with taking WYIPH beyond a simple educational lookup tool. I have ideas around location intelligence and website tracking that I’d like to explore in future updates. So even though this is my final Stardance ship, I don’t consider the project finished. I genuinely enjoy building technical projects that explain what’s happening behind the scenes, and this one gave me a chance to explore networking, APIs, backend development and deployment in much more depth. I’d really appreciate it if you could give it a try, leave an honest rating and share your feedback. Last time I received some decent feedback, but I’m hoping this project reaches a few more people! Thanks to everyone who checked out my projects and supported me throughout Stardance. It’s been a fun journey, and I’m definitely taking this project further! ❤️...
|
1793620269.2842379
|
1793706669.2842379
|
|
50366
|
TARS by @ravioli | Stardance
|
ravioli
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T18:09:30Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This project comes from my love for films and ai. Its a representation of one of the best robots on screen, this is a very basic framework, much more is to come", "repo": "https://github.com/ravioliiii665/TARS-Slack-Bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 53243, "ts": "202 [{"post_id": 53243, "ts": "2026-08-23T18:04:22Z", "hours": 0.7711, "text": "Finally made and shipped TARS, llm integration was a pain and still need to fine tune the responses, but this is a good start."}]...
|
Title: TARS by @ravioli | Stardance
Devlogs:
Fina Title: TARS by @ravioli | Stardance
Devlogs:
Finally made and shipped TARS, llm integration was a pain and still need to fine tune the responses, but this is a good start.
Ships:
This project comes from my love for films and ai. Its a representation of one of the best robots on screen, this is a very basic framework, much more is to come...
|
1793620268.085397
|
1793706668.085397
|
|
55206
|
tyler-n-portfolio by @tyleruploads | Stardance
|
tyleruploads
|
1
|
4.0
|
28
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-31T20:36:23Z", "hours": 4.0, "multiplier": 6.73, "payout": 28, "blessing": "neutral", "text": "I made my very own personal portfolio website to showcase my life and skills. It features 4 sections: a home section, which users see once they open the website and gives them a brief overview of me; an about section, which contains my mini biography; a projects section, which contains many of my best projects in a grid layout; and a contact page, which lets users either directly contact me or view my professional services. Before I started this project, I was already comparing myself to awesome personal portfolio sites made by Hack Club members. I was worried that if one single thing didn’t look right, or even if my very first commit wasn’t in a viable state, it would make my project terrible and infinitely worse than other similar projects. After I decided I would do the project, I looked through the guide for the basic personal portfolio mission on Stardance, realized it didn’t help me at all, and eventually detached from the mission. I researched exactly what a personal portfolio website is, and planned out how my site would look. Instead of trying to make every single thing perfect as I added it, I made sections look better after they already had an archetype. I am proud that I was able to go from the state I described at the start of this paragraph to an awesome personal portfolio website!", "repo": "https://github.com/tyleruploads/tyler-n-portfolio", "demo": "https://tyler.is-a.dev"}]...
|
[{"post_id": 57615, "ts": "202 [{"post_id": 57615, "ts": "2026-08-29T20:31:08Z", "hours": 0.9636, "text": "Today, I completed the Projects section of my personal portfolio website! It features a grid of my best projects, each with its title doubling as its link, a description, and tags that show its technical stack. I kept accidentally pasting the project cards outside of their div, which caused some styling issues that took me a while to figure out. Take a look and tell me which project you like best!"}, {"post_id": 56989, "ts": "2026-08-29T01:34:51Z", "hours": 0.7147, "text": "I recently just stepped up the game of my About page! Now, it looks a lot more professional, has my logo in it, and has a nice button at the bottom to get in contact with me!"}, {"post_id": 56910, "ts": "2026-08-28T22:31:31Z", "hours": 0.4717, "text": "Today has been a great day for my personal portfolio so far. I got a nice domain for my portfolio, tyler.is-a.dev. I made the pull request last night, but I made it work today, after it was accepted. I also made a basic About section in my portfolio, focusing on my timeline of coding and some other hobbies I do. I plan to expand on my About section and possibly start the Projects section today. I may also write an X post about my portfolio in the next couple of days."}, {"post_id": 56329, "ts": "2026-08-28T01:50:46Z", "hours": 1.9403, "text": "In the 1 hour and 56 minutes of making this project, I converted a blank slate of mind and code into a basic portfolio website that actually looks pretty good, and got a nice Cloudflare Pages domain (tyler-n.pages.dev). At the start, I was thinking “Portfolios have to be perfect! I can’t make it! What if the geometry is off! What if it’s not a perfect portfolio like I’ve seen before, with a bunch of intricate and small details!” But, as I started making it, I realized that all that matters is the final product. The people with those awesome personal portfolio websites always start somewhere. No one will be scrutinizing your commit history to say things like “This person didn’t have a completely functional, beautiful website on his first commit!” I am planning on filling in the About page and the Projects page the next time I work on this."}]...
|
Title: tyler-n-portfolio by @tyleruploads | Starda Title: tyler-n-portfolio by @tyleruploads | Stardance
Devlogs:
In the 1 hour and 56 minutes of making this project, I converted a blank slate of mind and code into a basic portfolio website that actually looks pretty good, and got a nice Cloudflare Pages domain (tyler-n.pages.dev). At the start, I was thinking “Portfolios have to be perfect! I can’t make it! What if the geometry is off! What if it’s not a perfect portfolio like I’ve seen before, with a bunch of intricate and small details!” But, as I started making it, I realized that all that matters is the final product. The people with those awesome personal portfolio websites always start somewhere. No one will be scrutinizing your commit history to say things like “This person didn’t have a completely functional, beautiful website on his first commit!” I am planning on filling in the About page and the Projects page the next time I work on this.
Today has been a great day for my personal portfolio so far. I got a nice domain for my portfolio, tyler.is-a.dev. I made the pull request last night, but I made it work today, after it was accepted. I also made a basic About section in my portfolio, focusing on my timeline of coding and some other hobbies I do. I plan to expand on my About section and possibly start the Projects section today. I may also write an X post about my portfolio in the next couple of days.
I recently just stepped up the game of my About page! Now, it looks a lot more professional, has my logo in it, and has a nice button at the bottom to get in contact with me!
Today, I completed the Projects section of my personal portfolio website! It features a grid of my best projects, each with its title doubling as its link, a description, and tags that show its technical stack. I kept accidentally pasting the project cards outside of their div, which caused some styling issues that took me a while to figure out. Take a look and tell me which project you like best!
Ships:
I made my very own personal portfolio website to showcase my life and skills. It features 4 sections: a home section, which users see once they open the website and gives them a brief overview of me; an about section, which contains my mini biography; a projects section, which contains many of my best projects in a grid layout; and a contact page, which lets users either directly contact me or view my professional services. Before I started this project, I was already comparing myself to awesome personal portfolio sites made by Hack Club members. I was worried that if one single thing didn’t look right, or even if my very first commit wasn’t in a viable state, it would make my project terrible and infinitely worse than other similar projects. After I decided I would do the project, I looked through the guide for the basic personal portfolio mission on Stardance, realized it didn’t help me at all, and eventually detached from the mission. I researched exactly what a personal portfolio website is, and planned out how my site would look. Instead of trying to make every single thing perfect as I added it, I made sections look better after they already had an archetype. I am proud that I was able to go from the state I described at the start of this paragraph to an awesome personal portfolio website!...
|
1793620266.889792
|
1793706666.889792
|
|
15569
|
Salon Management System by @wingnovel | Stardance
|
wingnovel
|
1
|
33.46
|
36
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-23T15:47:47Z", "hours": 18.0, "multiplier": 2.0, "payout": 36, "blessing": "neutral", "text": "This project is made to manage a hair salon. It has a variety of pages and features to help a hair salon manager to produce reports and to manage their finances and appointments at the salon", "repo": "https://github.com/raghav03102008/Computer-science-IA", "demo": "https://github.com/raghav03102008/Computer-science-IA/releases/latest"}]...
|
[{"post_id": 34499, "ts": "202 [{"post_id": 34499, "ts": "2026-07-25T08:25:22Z", "hours": 1.0408, "text": "Bug fixes. Making the order page functional."}, {"post_id": 25316, "ts": "2026-07-09T15:10:01Z", "hours": 13.9042, "text": "in this session i have worked on mainly testing. I altered the code slightly again and again to see if everything is functional. According to my test plan everything is functional bug free"}, {"post_id": 21316, "ts": "2026-07-03T05:35:13Z", "hours": 0.5117, "text": "I have tried to remove the dependancy of having ms access installed on your computer. So far i have been able to make it work. for some pages later I will fix the bugs for some of the pages to improve the SQL database reliant version to run smoothly as well"}, {"post_id": 14432, "ts": "2026-06-23T15:45:30Z", "hours": 9.1744, "text": "Bug fixing and making an exe file to run"}, {"post_id": 6348, "ts": "2026-06-10T18:04:53Z", "hours": 8.6256, "text": "Making the project deployable with an exe file along with the addtion of report generation and exporting files for spreadsheet analysis of the business data"}]...
|
Title: Salon Management System by @wingnovel | Sta Title: Salon Management System by @wingnovel | Stardance
Devlogs:
Making the project deployable with an exe file along with the addtion of report generation and exporting files for spreadsheet analysis of the business data
Bug fixing and making an exe file to run
I have tried to remove the dependancy of having ms access installed on your computer. So far i have been able to make it work. for some pages later I will fix the bugs for some of the pages to improve the SQL database reliant version to run smoothly as well
in this session i have worked on mainly testing. I altered the code slightly again and again to see if everything is functional. According to my test plan everything is functional bug free
Bug fixes. Making the order page functional.
Ships:
This project is made to manage a hair salon. It has a variety of pages and features to help a hair salon manager to produce reports and to manage their finances and appointments at the salon...
|
1793620265.7343338
|
1793706665.7343338
|
|
66701
|
my-alarm by @shaurya500 | Stardance
|
shaurya500
|
0
|
2.73
|
0
|
[]
|
[{"post_id": 75142, "ts": "202 [{"post_id": 75142, "ts": "2026-09-29T08:53:23Z", "hours": 1.5339, "text": "Designed PCB with correct components ,fixed issues"}, {"post_id": 75130, "ts": "2026-09-29T07:07:50Z", "hours": 1.2003, "text": "made PCB for my first alarm clock"}]...
|
Title: my-alarm by @shaurya500 | Stardance
Devlog Title: my-alarm by @shaurya500 | Stardance
Devlogs:
made PCB for my first alarm clock
Designed PCB with correct components ,fixed issues...
|
1793101864.7759693
|
1793706664.7759693
|
|
47767
|
Ultrasonic people counter and smart lights by @Mad Ultrasonic people counter and smart lights by @MadameLouise | Stardance...
|
MadameLouise
|
1
|
38.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T12:41:56Z", "hours": 38.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It is a People Counter using Arduino UNO and an HC-SR04 Ultrasonic Sensor. Whenever a person passes in front of the sensor, the Arduino detects the movement, increases the count, and turns on an LED as an indication. Could use this counting people entering a house or room or can also be used in bus or vehicles. it displays the number of count on your device. Because this sensing is using ultrasound sensor by connecting an Led we can even make automatic light system which turns on when there are people and turns off when there are none", "repo": "https://github.com/AmruthaMuralidhar1/Notebook", "demo": ""}]...
|
[{"post_id": 46870, "ts": "202 [{"post_id": 46870, "ts": "2026-08-14T12:40:57Z", "hours": 37.9658, "text": "Ultrasonic people counter and smart lights"}]...
|
Title: Ultrasonic people counter and smart lights Title: Ultrasonic people counter and smart lights by @MadameLouise | Stardance
Devlogs:
Ultrasonic people counter and smart lights
Ships:
It is a People Counter using Arduino UNO and an HC-SR04 Ultrasonic Sensor. Whenever a person passes in front of the sensor, the Arduino detects the movement, increases the count, and turns on an LED as an indication. Could use this counting people entering a house or room or can also be used in bus or vehicles. it displays the number of count on your device. Because this sensing is using ultrasound sensor by connecting an Led we can even make automatic light system which turns on when there are people and turns off when there are none...
|
1793620264.5862956
|
1793706664.5862956
|
|
66700
|
WarioWareGame by @VoiDDR5 | Stardance
|
VoiDDR5
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWareGame by @VoiDDR5 | Stardance
|
1793101863.9265428
|
1793706663.9265428
|
|
55201
|
pywikiscrape by @tyleruploads | Stardance
|
tyleruploads
|
1
|
5.0
|
64
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T20:49:07Z", "hours": 5.0, "multiplier": 11.67, "payout": 64, "blessing": "neutral", "text": "I recently created pywikiscrape, a powerful, easy-to-use, accessible open-source Wikipedia scraper written in Python that lets users export articles in any language to an SQLite database using BeautifulSoup. This project was challenging because it required moving from scraping one Wikipedia article with predefined variables to scraping as many articles as the user chooses, with user-defined variables that may be incorrect or require special handling. Essentially, all the edge cases. I am very proud of myself due to the fact that I was originally thinking “That project would be way too hard! I’ve scraped some Wikipedia articles before, but something like this? It’s so much harder,” but now I have a working 440-line project with a beautiful README. I even created an X/Twitter account while making this project to promote my coding, which I am still working on to this day. The project is very straightforward to use; it will automatically prompt you for any option it needs user input for, and has defaults you can access by simply skipping the question and clicking the Enter key without any text entered.", "repo": "https://github.com/tyleruploads/pywikiscrape", "demo": "https://pypi.org/project/pywikiscrape/"}]...
|
[{"post_id": 56337, "ts": "202 [{"post_id": 56337, "ts": "2026-08-28T02:12:54Z", "hours": 5.4742, "text": "I think that this project, pywikiscrape, has been a very fun project to make so far and has helped me resolve many new types of errors I haven’t had much experience correcting. I’ve added many features, such as custom seed input, support for scraping in any language (as long as it has a Wikipedia), and many, many more things. For each and every feature added, the number of variables skyrockets, making it very hard to debug and work in any circumstance. For example, I was stuck for so long trying to solve an error that was caused by an unintentional slip of my keyboard, removing the f before an f-string. The issue wasn’t solving the error, it was finding where it was. I was considering such big things, when the reality was much smaller. I also accidentally slipped in a backslash in the version number, which was very fast to fix in the code after I realized it, but I had already pushed and tagged it. That was another one of my very big keyboard slip-ups. Encountering this taught me how to handle catastrophic errors once they’ve already been pushed. And, outside of the coding aspect, I think I really grew in my documentation skills. This was my first ever project with an image, database schemas, or tables for installation in the README. And, I created an X/Twitter account to try and bring more traction to my code for the purposes of this project, my first time using social media to publicize my code. I still have more things in plan for this project."}]...
|
Title: pywikiscrape by @tyleruploads | Stardance
Title: pywikiscrape by @tyleruploads | Stardance
Devlogs:
I think that this project, pywikiscrape, has been a very fun project to make so far and has helped me resolve many new types of errors I haven’t had much experience correcting. I’ve added many features, such as custom seed input, support for scraping in any language (as long as it has a Wikipedia), and many, many more things. For each and every feature added, the number of variables skyrockets, making it very hard to debug and work in any circumstance. For example, I was stuck for so long trying to solve an error that was caused by an unintentional slip of my keyboard, removing the f before an f-string. The issue wasn’t solving the error, it was finding where it was. I was considering such big things, when the reality was much smaller. I also accidentally slipped in a backslash in the version number, which was very fast to fix in the code after I realized it, but I had already pushed and tagged it. That was another one of my very big keyboard slip-ups. Encountering this taught me how to handle catastrophic errors once they’ve already been pushed. And, outside of the coding aspect, I think I really grew in my documentation skills. This was my first ever project with an image, database schemas, or tables for installation in the README. And, I created an X/Twitter account to try and bring more traction to my code for the purposes of this project, my first time using social media to publicize my code. I still have more things in plan for this project.
Ships:
I recently created pywikiscrape, a powerful, easy-to-use, accessible open-source Wikipedia scraper written in Python that lets users export articles in any language to an SQLite database using BeautifulSoup. This project was challenging because it required moving from scraping one Wikipedia article with predefined variables to scraping as many articles as the user chooses, with user-defined variables that may be incorrect or require special handling. Essentially, all the edge cases. I am very proud of myself due to the fact that I was originally thinking “That project would be way too hard! I’ve scraped some Wikipedia articles before, but something like this? It’s so much harder,” but now I have a working 440-line project with a beautiful README. I even created an X/Twitter account while making this project to promote my coding, which I am still working on to this day. The project is very straightforward to use; it will automatically prompt you for any option it needs user input for, and has defaults you can access by simply skipping the question and clicking the Enter key without any text entered....
|
1793620263.440508
|
1793706663.440508
|
|
32578
|
Pen Plotter by @mgiv | Stardance
|
mgiv
|
1
|
58.26
|
257
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T21:10:40Z", "hours": 54.0, "multiplier": 5.0, "payout": 257, "blessing": "neutral", "text": "Pen plotter - Ship 1 Introduction This is a pen plotter I’ve been making over the past few weeks. It uses NEMA 17 stepper motors, timing belts, 3d printed parts and an esp32. I’ve got it to draw images of my cat, Onyx, as well as some fractals and space filling curves. I created a simple G-code language called P-Code that runs the machine. Most of the processing is split between the pc, where it processes the images and turns them into the P-Code, and the ESP32, which draws lines from the P-Code. I also added some other features, such as end switches for toolhead homing, which was very difficult to do before, and also an emergency stop button for when things went wrong. Design At first, I created a very simple x-axis only prototype, and I thought I learnt enough from that to attempt a corexy design. Quite quickly though, I realised that corexy was a mistake. See instead of using a separate belt system for the X and Y axis, this uses 2 belt systems on both the X and Y axis. This is good because the motors are stationary, and a motor doesn’t have to ride on the Y axis, but it makes things 10x more complicated. After a while I gave up and used a gantry system instead. I also used timing belts instead of the string I used on the first prototype, which wasn’t nearly precise enough. I made quite a few mistakes, which resulted in me having to reprint a part. The area of the plotter is about 15000 x 16000 steps, which translates into around 190x200mm, which I’m very pleased with. There are still a lot of problems with the design, such as: Some screwholes are impossible to reach It’s a pain to tension the belt The pen up/down mechanism causes a lot of wiggle It’s very hard to get the belt around the motor on the x axis The motor almost doesn’t fit in the hole on the x axis It’s impossible to make the rods on the Y axis parallel without building a full frame, which is slightly outside of the budget for this project, so I had to leave one corner unscrewed to allow for some play The double motor system is great but it makes moving the carriage manually very difficult The 2 motors can get out of sync meaning one side is slightly further along the Y axis from the other. The cable sometimes gets caught, skipping steps at best, or at worst breaking something There are a lot of loose connections on the breadboard, I’ll get a custom pcb at some point As you can see, I ran into a huge amount of issues. But that didn’t stop me, as you can see. Software I used Micropython on ESP32 for this, which was a good choice because it would have taken me 10x longer if I used ESP-IDF for it, which is the official C SDK. At first, it could only draw horizontal, vertical and diagonal lines, not lines at an angle, because both motors travelled at the same speed. Because of this I implemented Bresenham’s line algorithm, and also learnt how to use the @micropython .native decorator which makes code run much faster. The 5000 steps per second speed I was aiming for wouldn’t be realistic without native. Other than the demo of the hilbert curves, there’s a number of demos linked in the readme of the Github repo. Next, I hope to implement SVG reading, so I can draw many more things, as I won’t have to write custom code to draw something new.", "repo": "https://github.com/mgiv/pen-plotter", "demo": ""}]...
|
[{"post_id": 31809, "ts": "202 [{"post_id": 31809, "ts": "2026-07-20T14:22:40Z", "hours": 4.2589, "text": "Pen Plotter - Devlog 8 I’ve been working on drawing SVGs. The trick here is to combine everything into one single path in inkscape and also approximate curves and ellipses etc to lines. I’ve also fixed a lot of strange bugs, one of which was caused by a timer overflow, which happens after 9 minutes in micropython. This caused a crash, but now it’s fixed. I also updated the acceleration routine, and now it only activates when the pen is up. I’ll start working on version 2 soon which will fix a lot of the precision issues I’ve had with this version, and also be far more capable."}, {"post_id": 30357, "ts": "2026-07-17T20:43:25Z", "hours": 5.4864, "text": "Pen Plotter - Devlog 7. I’ve been working on drawing sierpinski triangles and hilbert curves as well as drawing images with canny edge detection."}, {"post_id": 29232, "ts": "2026-07-16T00:36:24Z", "hours": 10.2814, "text": "Pen Plotter - Devlog 6. I’ve been working more on the gantry system, and I got my first prototype up and running. I used steel rods, NEMA 17 stepper motors, and timing belts for this. Other than that it’s almost all 3d printed. I designed a couple of parts badly, mainly forgetting to put a hole into one of the motor parts, so that the shaft wouldn’t fit. Other than that, it worked surprisingly well. The first few images I drew were of my cat, Onyx, and I used the system I described in a previous devlog where it converts the image into lines. I’ll also need to try canny edge detection, as that would probably work quite well, but I’ll need to work more on the plotter’s software because it can only draw horizontal, vertical, and diagonal lines at the moment. I’ll also work on converting svgs, and also text possibly"}, {"post_id": 28437, "ts": "2026-07-14T17:54:08Z", "hours": 8.4247, "text": "Pen Plotter - Devlog 5 I’ve been working on a gantry system. Not sure if I mentioned it on the last devlog, but corexy is very very painful to design. I scrapped that after a while and started work on a much more basic gantry design. As I’m writing this, the parts for that system are printing, so I’ll update this once I have a basic prototype up and running. I’ve also been working on canny edge detection for the images, which finds the edges in an image and turns them into contours that I can draw on the machine. I used python opencv and recycled a lot of code from the previous line-based approach. I’ll try out both using lines and contours for drawing images, and I’ll see which works better. I suspect that the lines will look much better, but I’m certain they’ll take ages to draw. Both these methods still output my custom p-code language which will be used on the pen plotter Next up, I’ll assemble the basic prototype and try to get it working. While I’m waiting for the parts to print, which will take about another 3 hours, I’ll look into possibly using sine waves to draw things, and changing the amplitude, and also a method using zig zag lines which have variable spacing Oh, and I also worked on a bit of hardware, because the new system uses an extra stepper motor I had to wire up 2 motors in series which is way easier than using another driver and more precise also"}, {"post_id": 27765, "ts": "2026-07-13T16:39:19Z", "hours": 5.2189, "text": "Pen plotter - devlog 4 I’ve been taking a break from cad, and instead working on converting images to toolpaths for the future plotter. The first method I tried was using lines. For each pixel there is a block 10x10 steps wide, and if the image is very dark in that region, it’ll draw 10 lines in there, if it’s brighter it might only draw 5. I also developed my own g-code like language called p-code, where there are only a few commands: MOVE X Y, PEN UP/DOWN, HOME, and SPEED (in steps per second). I turned the images into a series of p-code commands. Since the pen plotter isn’t finished yet (and to be honest won’t be for a while), I made a simple interpreter and displayed the images using a matplotlib LineCollection. In the future I’ll be exploring other methods of making images display, such as: Dots of variable spacing Sine waves of variable amplitude Zig Zag lines of variable density (but constant height) Converting SVG images into paths Finding outlines in images and drawing them, possibly using something like canny edge detection"}, {"post_id": 27265, "ts": "2026-07-12T17:55:03Z", "hours": 12.0139, "text": "Pen plotter - devlog 3 CoreXY system For some strange reason, I decided to scrap the old version with the single x axis, and the string drive. Instead, I’m going for a CoreXY system with fancy timing belts. After 10 hours of wrangling with Fusion and trying to get a functional design, I’m starting to slightly regret it, and I almost wish that I just went with a generic gantry system or even a bed slinger I posted this devlog because I’m up to the 10 hour limit, and I need to post or else my time won’t count. By chance it happens that I’m just about finished the first prototype of the CoreXY system, and just need to wait a couple days until the parts arrive. It uses timing belts and idlers, NEMA 17 stepper motors, and a single SG90 servo motor, plus a bunch of parts I’ll 3D print myself. What next? I’ve had so many issues with this project: The CAD is a complete mess and I’ll almost certainly have to remake it using a better method I still don’t know if the CoreXY will even work, I’ll need to wait and see I don’t know if the screws are strong enough to hold it onto the baseplate There’s probably a number of parts with clearance issues and the carriage probably won’t run properly So next I’ll work on making the first prototype and after that, if it works I’ll take a break from CAD to work on some software for it, and get it to draw things. If it doesn’t work… I guess back to CAD."}, {"post_id": 25597, "ts": "2026-07-09T23:18:13Z", "hours": 8.7156, "text": "Devlog 2 - X axis done. Taking lessons from the last devlog, I completely reworked the pulley system at the end. I also fixed the print settings for the spools, but had other issues. But in the end I managed to achieve an amazing result, which draws dashed lines. It uses a servo motor to move the pen up and down and a stepper using what is sort of a capstan drive, however heavily modified. For some reason I decided after this to completely redesign the whole thing into a corexy plotter instead, I think it was a terrible decision but let’s see how we do in 10 hours… One problem I had is that the pen holder is very very wobbly, either I’ll just tighten the tolerances or maybe change it so that the servo is attached directly. Another is the servo mount - as you can see I had to break some of it off to mount the servo as I didn’t account for the wires."}, {"post_id": 24925, "ts": "2026-07-08T20:03:34Z", "hours": 3.6436, "text": "Pen plotter - first devlog. I had issues with lookout that meant that I lost about 3 hours of recorded time, but now I have very simple prototype. I did a little programming on the esp32, but this was mostly just writing a test program and setting up the environment. There are a number of issues with the current prototype: one of the holes on the carriage is smaller than the other, the stepper didn’t fit in the holder, the thing attaching the thread to the carriage snapped the thread, the spool at the end was too loose, and the spools had terrible print quality. There are an number of other issues that I’ll just ignore for now, and fix later."}]...
|
Title: Pen Plotter by @mgiv | Stardance
Devlogs:
Title: Pen Plotter by @mgiv | Stardance
Devlogs:
Pen plotter - first devlog. I had issues with lookout that meant that I lost about 3 hours of recorded time, but now I have very simple prototype. I did a little programming on the esp32, but this was mostly just writing a test program and setting up the environment. There are a number of issues with the current prototype: one of the holes on the carriage is smaller than the other, the stepper didn’t fit in the holder, the thing attaching the thread to the carriage snapped the thread, the spool at the end was too loose, and the spools had terrible print quality. There are an number of other issues that I’ll just ignore for now, and fix later.
Devlog 2 - X axis done. Taking lessons from the last devlog, I completely reworked the pulley system at the end. I also fixed the print settings for the spools, but had other issues. But in the end I managed to achieve an amazing result, which draws dashed lines. It uses a servo motor to move the pen up and down and a stepper using what is sort of a capstan drive, however heavily modified. For some reason I decided after this to completely redesign the whole thing into a corexy plotter instead, I think it was a terrible decision but let’s see how we do in 10 hours… One problem I had is that the pen holder is very very wobbly, either I’ll just tighten the tolerances or maybe change it so that the servo is attached directly. Another is the servo mount - as you can see I had to break some of it off to mount the servo as I didn’t account for the wires.
Pen plotter - devlog 3 CoreXY system For some strange reason, I decided to scrap the old version with the single x axis, and the string drive. Instead, I’m going for a CoreXY system with fancy timing belts. After 10 hours of wrangling with Fusion and trying to get a functional design, I’m starting to slightly regret it, and I almost wish that I just went with a generic gantry system or even a bed slinger I posted this devlog because I’m up to the 10 hour limit, and I need to post or else my time won’t count. By chance it happens that I’m just about finished the first prototype of the CoreXY system, and just need to wait a couple days until the parts arrive. It uses timing belts and idlers, NEMA 17 stepper motors, and a single SG90 servo motor, plus a bunch of parts I’ll 3D print myself. What next? I’ve had so many issues with this project: The CAD is a complete mess and I’ll almost certainly have to remake it using a better method I still don’t know if the CoreXY will even work, I’ll need to wait and see I don’t know if the screws are strong enough to hold it onto the baseplate There’s probably a number of parts with clearance issues and the carriage probably won’t run properly So next I’ll work on making the first prototype and after that, if it works I’ll take a break from CAD to work on some software for it, and get it to draw things. If it doesn’t work… I guess back to CAD.
Pen plotter - devlog 4 I’ve been taking a break from cad, and instead working on converting images to toolpaths for the future plotter. The first method I tried was using lines. For each pixel there is a block 10x10 steps wide, and if the image is very dark in that region, it’ll draw 10 lines in there, if it’s brighter it might only draw 5. I also developed my own g-code like language called p-code, where there are only a few commands: MOVE X Y, PEN UP/DOWN, HOME, and SPEED (in steps per second). I turned the images into a series of p-code commands. Since the pen plotter isn’t finished yet (and to be honest won’t be for a while), I made a simple interpreter and displayed the images using a matplotlib LineCollection. In the future I’ll be exploring other methods of making images display, such as: Dots of variable spacing Sine waves of variable amplitude Zig Zag lines of variable density (but constant height) Converting SVG images into paths Finding outlines in images and drawing them, possibly using something like canny edge detection
Pen Plotter - Devlog 5 I’ve been working on a gantry system. Not sure if I mentioned it on the last devlog, but corexy is very very painful to design. I scrapped that after a while and started work on a much more basic gantry design. As I’m writing this, the parts for that system are printing, so I’ll update this once I have a basic prototype up and running. I’ve also been working on canny edge detection for the images, which finds the edges in an image and turns them into contours that I can draw on the machine. I used python opencv and recycled a lot of code from the previous line-based approach. I’ll try out both using lines and contours for drawing images, and I’ll see which works better. I suspect that the lines will look much better, but I’m certain they’ll take ages to draw. Both these methods still output my custom p-code language which will be used on the pen plotter Next up, I’ll assemble the basic prototype and try to get it working. While I’m waiting for the parts to print, which will take about another 3 hours, I’ll look into possibly using sine waves to draw things, and changing the amplitude, and also a method using zig zag lines which have variable spacing Oh, and I also worked on a bit of hardware, because the new system uses an extra stepper motor I had to wire up 2 motors in series which is way easier than using another driver and more precise also
Pen Plotter - Devlog 6. I’ve been working more on the gantry system, and I got my first prototype up and running. I used steel rods, NEMA 17 stepper motors, and timing belts for this. Other than that it’s almost all 3d printed. I designed a couple of parts badly, mainly forgetting to put a hole into one of the motor parts, so that the shaft wouldn’t fit. Other than that, it worked surprisingly well. The first few images I drew were of my cat, Onyx, and I used the system I described in a previous devlog where it converts the image into lines. I’ll also need to try canny edge detection, as that would probably work quite well, but I’ll need to work more on the plotter’s software because it can only draw horizontal, vertical, and diagonal lines at the moment. I’ll also work on converting svgs, and also text possibly
Pen Plotter - Devlog 7. I’ve been working on drawing sierpinski triangles and hilbert curves as well as drawing images with canny edge detection.
Pen Plotter - Devlog 8 I’ve been working on drawing SVGs. The trick here is to combine everything into one single path in inkscape and also approximate curves and ellipses etc to lines. I’ve also fixed a lot of strange bugs, one of which was caused by a timer overflow, which happens after 9 minutes in micropython. This caused a crash, but now it’s fixed. I also updated the acceleration routine, and now it only activates when the pen is up. I’ll start working on version 2 soon which will fix a lot of the precision issues I’ve had with this version, and also be far more capable.
Ships:
Pen plotter - Ship 1 Introduction This is a pen plotter I’ve been making over the past few weeks. It uses NEMA 17 stepper motors, timing belts, 3d printed parts and an esp32. I’ve got it to draw images of my cat, Onyx, as well as some fractals and space filling curves. I created a simple G-code language called P-Code that runs the machine. Most of the processing is split between the pc, where it processes the images and turns them into the P-Code, and the ESP32, which draws lines from the P-Code. I also added some other features, such as end switches for toolhead homing, which was very difficult to do before, and also an emergency stop button for when things went wrong. Design At first, I created a very simple x-axis only prototype, and I thought I learnt enough from that to attempt a corexy design. Quite quickly though, I realised that corexy was a mistake. See instead of using a separate belt system for the X and Y axis, this uses 2 belt systems on both the X and Y axis. This is good because the motors are stationary, and a motor doesn’t have to ride on the Y axis, but it makes things 10x more complicated. After a while I gave up and used a gantry system instead. I also used timing belts instead of the string I used on the first prototype, which wasn’t nearly precise enough. I made quite a few mistakes, which resulted in me having to reprint a part. The area of the plotter is about 15000 x 16000 steps, which translates into around 190x200mm, which I’m very pleased with. There are still a lot of problems with the design, such as: Some screwholes are impossible to reach It’s a pain to tension the belt The pen up/down mechanism causes a lot of wiggle It’s very hard to get the belt around the motor on the x axis The motor almost doesn’t fit in the hole on the x axis It’s impossible to make the rods on the Y axis parallel without building a full frame, which is slightly outside of the budget for this project, so I had to leave one corner unscrewed to allow for some play The double motor system is great but it makes moving the carriage manually very difficult The 2 motors can get out of sync meaning one side is slightly further along the Y axis from the other. The cable sometimes gets caught, skipping steps at best, or at worst breaking something There are a lot of loose connections on the breadboard, I’ll get a custom pcb at some point As you can see, I ran into a huge amount of issues. But that didn’t stop me, as you can see. Software I used Micropython on ESP32 for this, which was a good choice because it would have taken me 10x longer if I used ESP-IDF for it, which is the official C SDK. At first, it could only draw horizontal, vertical and diagonal lines, not lines at an angle, because both motors travelled at the same speed. Because of this I implemented Bresenham’s line algorithm, and also learnt how to use the @micropython .native decorator which makes code run much faster. The 5000 steps per second speed I was aiming for wouldn’t be realistic without native. Other than the demo of the hilbert curves, there’s a number of demos linked in the readme of the Github repo. Next, I hope to implement SVG reading, so I can draw many more things, as I won’t have to write custom code to draw something new....
|
1793620262.248268
|
1793706662.248268
|
|
66699
|
My very own WebOS by @subarna_kdl | Stardance
|
subarna_kdl
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @subarna_kdl | Stardan Title: My very own WebOS by @subarna_kdl | Stardance...
|
1793101861.8273642
|
1793706661.8273642
|
|
57635
|
GOTHAM-OS by @NerdyItachi | Stardance
|
NerdyItachi
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T23:15:50Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Global-Os which is a webOs inspired from Bruce Wayne from Batman the hardest part was giving it the UI it has but kinda did it hehe:D", "repo": "https://github.com/Ayaan-dev21/Global-os", "demo": "https://global-os.netlify.app/"}]...
|
[{"post_id": 61167, "ts": "202 [{"post_id": 61167, "ts": "2026-09-03T23:12:37Z", "hours": 0.2819, "text": "cool aint it ? its complete now please do try it once :D you will actually feel like Bruce Wayne xD"}, {"post_id": 61102, "ts": "2026-09-03T20:30:17Z", "hours": 0.2983, "text": "Managed to make this till now xD"}, {"post_id": 61088, "ts": "2026-09-03T20:10:14Z", "hours": 2.3319, "text": "Creating a Retro Comic Batman inspired webOS its gonna be cool just starting out rn ngl"}]...
|
Title: GOTHAM-OS by @NerdyItachi | Stardance
Devl Title: GOTHAM-OS by @NerdyItachi | Stardance
Devlogs:
Creating a Retro Comic Batman inspired webOS its gonna be cool just starting out rn ngl
Managed to make this till now xD
cool aint it ? its complete now please do try it once :D you will actually feel like Bruce Wayne xD
Ships:
I made Global-Os which is a webOs inspired from Bruce Wayne from Batman the hardest part was giving it the UI it has but kinda did it hehe:D...
|
1793620261.095652
|
1793706661.095652
|
|
66698
|
My awesome macropad! by @Snehadri | Stardance
|
Snehadri
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Snehadri | Stardan Title: My awesome macropad! by @Snehadri | Stardance...
|
1793101860.0708506
|
1793706660.0708506
|
|
28191
|
AI Personal Trainer by @LonleySailor | Stardance
|
LonleySailor
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T15:09:24Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Personal AI trainer with support mainly focused on local AI and low hardware requirements to get a good training program. Does it work well? Sadly, not yet", "repo": "https://github.com/LonleySailor/Local-Personal-Ai-Trainer", "demo": "https://ai-trainer.lunatria.com"}]...
|
[{"post_id": 19267, "ts": "202 [{"post_id": 19267, "ts": "2026-06-30T15:06:49Z", "hours": 1.3464, "text": "Second Devlog As promised this one will introduce the demo, it took me longer than expected. I hosted the demo on my home server so fortunately no extra costs there:) The demo itself sits on its own branch which has demo users, and uses Open Router as the LLM provider. The demo uses the google/gemma-4-26b-a4b-it model, since that was the closest one to which I am using locally which is: google/gemma-4-12b-qat. Apart from using a external LLM provider for the demo I also added multiple user support. They aren’t protected by passwords or anything, but should give you the chance to try out your own situations whether real or fake (the app doesn’t log any data). Surprisingly Open router has a much bigger latency than locally hosted LMstudio, so please be patient. Any feedback in the comments would be amazing. LonleySailor"}, {"post_id": 18356, "ts": "2026-06-29T14:08:07Z", "hours": 4.8497, "text": "This is my first devlog on my personal AI trainer, which is supposed to use a Local AI model running on my laptop to guide me through my fitness journey. I am in the process of pushing the MVP to a working state ASAP to be able to use it, that is why a lot of things are hard coded and the UI is bad. The main elements included creating a set of tools for the AI to call to get the needed information, adding the equipment I have (first screenshot), adding a profile with core data such as health conditions, fitness goals and exercise one may just dislike and hate doing(second screenshot). Workout starts simply, you input the time you have for the given day, mood/energy + sleep quality and some short term medical issues like maybe a twisted ankle (screenshot number 3) . The MVP introduces only 1 type of workout, the step-by step where your clicking through what you have done, as well having a timer to track the breaks between sets (Screenshots 4 and 5). Are there issues, of course, the workouts the AI gives are not consistent, the tools need working on, many things are hardcoded and it only works with LMStudio for now, but I am happy and proud of where it is going!!! unfortunately you can’t try it out without downloading LMstudio and running a model with it yet,however for the next devlog I will host it on my server with a openrouter API key so you can try it out without having to load in locally. See you next time, LonleySailor"}]...
|
Title: AI Personal Trainer by @LonleySailor | Star Title: AI Personal Trainer by @LonleySailor | Stardance
Devlogs:
This is my first devlog on my personal AI trainer, which is supposed to use a Local AI model running on my laptop to guide me through my fitness journey. I am in the process of pushing the MVP to a working state ASAP to be able to use it, that is why a lot of things are hard coded and the UI is bad. The main elements included creating a set of tools for the AI to call to get the needed information, adding the equipment I have (first screenshot), adding a profile with core data such as health conditions, fitness goals and exercise one may just dislike and hate doing(second screenshot). Workout starts simply, you input the time you have for the given day, mood/energy + sleep quality and some short term medical issues like maybe a twisted ankle (screenshot number 3) . The MVP introduces only 1 type of workout, the step-by step where your clicking through what you have done, as well having a timer to track the breaks between sets (Screenshots 4 and 5). Are there issues, of course, the workouts the AI gives are not consistent, the tools need working on, many things are hardcoded and it only works with LMStudio for now, but I am happy and proud of where it is going!!! unfortunately you can’t try it out without downloading LMstudio and running a model with it yet,however for the next devlog I will host it on my server with a openrouter API key so you can try it out without having to load in locally. See you next time, LonleySailor
Second Devlog As promised this one will introduce the demo, it took me longer than expected. I hosted the demo on my home server so fortunately no extra costs there:) The demo itself sits on its own branch which has demo users, and uses Open Router as the LLM provider. The demo uses the google/gemma-4-26b-a4b-it model, since that was the closest one to which I am using locally which is: google/gemma-4-12b-qat. Apart from using a external LLM provider for the demo I also added multiple user support. They aren’t protected by passwords or anything, but should give you the chance to try out your own situations whether real or fake (the app doesn’t log any data). Surprisingly Open router has a much bigger latency than locally hosted LMstudio, so please be patient. Any feedback in the comments would be amazing. LonleySailor
Ships:
Personal AI trainer with support mainly focused on local AI and low hardware requirements to get a good training program. Does it work well? Sadly, not yet...
|
1793620259.9092011
|
1793706659.9092011
|
|
32518
|
My own site! by @dynamo | Stardance
|
dynamo
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-13T14:36:00Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hi! i’ve been interested in web development for quite some time and have explored different programming languages along the way. one thing i always wanted to build was a personal website where i could introduce myself, share my interests, and showcase the projects i’ve worked on. so, i decided to use my knowledge of html and css to create this website from scratch. the biggest challenge i faced was to design the layout as i thought of. aligning the divs and the elements were slightly annoying as sometimes they dont work as i intended it to. so i had to take help and search about how that part of the styling works from the internet to correct the issues. now im very proud to have myself a website that i have built by my own. few things i wanna improve is that, i want to make the website more responsive and accessible from many other devices like mobile phones and tabs. this experience was very fun and engaging!", "repo": "https://github.com/imunknown7/me-website", "demo": "https://imunknown7.github.io/me-website/"}]...
|
[{"post_id": 27620, "ts": "202 [{"post_id": 27620, "ts": "2026-07-13T11:23:59Z", "hours": 0.7669, "text": "worked for a few minutes on the projects and contact me part of the website. pretty much done with the website."}, {"post_id": 24813, "ts": "2026-07-08T16:48:22Z", "hours": 1.3167, "text": "initial works. made a home/hero section, about me section and will work on the contact us section."}]...
|
Title: My own site! by @dynamo | Stardance
Devlog Title: My own site! by @dynamo | Stardance
Devlogs:
initial works. made a home/hero section, about me section and will work on the contact us section.
worked for a few minutes on the projects and contact me part of the website. pretty much done with the website.
Ships:
hi! i’ve been interested in web development for quite some time and have explored different programming languages along the way. one thing i always wanted to build was a personal website where i could introduce myself, share my interests, and showcase the projects i’ve worked on. so, i decided to use my knowledge of html and css to create this website from scratch. the biggest challenge i faced was to design the layout as i thought of. aligning the divs and the elements were slightly annoying as sometimes they dont work as i intended it to. so i had to take help and search about how that part of the styling works from the internet to correct the issues. now im very proud to have myself a website that i have built by my own. few things i wanna improve is that, i want to make the website more responsive and accessible from many other devices like mobile phones and tabs. this experience was very fun and engaging!...
|
1793620258.69889
|
1793706658.69889
|
|
47762
|
Cookie - Wookie by @Happy_Biscuit | Stardance
|
Happy_Biscuit
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-17T03:37:05Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It’s a personal site with a little inside joke. You won’t get it but atleast now you have cookies :)", "repo": "https://github.com/netth-arite/happy-biscuit", "demo": "https://happybiscuit.vercel.app"}]...
|
[{"post_id": 47567, "ts": "202 [{"post_id": 47567, "ts": "2026-08-15T15:22:48Z", "hours": 0.3833, "text": "Finished shop page"}, {"post_id": 47535, "ts": "2026-08-15T14:44:02Z", "hours": 0.65, "text": "Basic structure of the site. ill be completing this page and moving onto the others"}]...
|
Title: Cookie - Wookie by @Happy_Biscuit | Stardan Title: Cookie - Wookie by @Happy_Biscuit | Stardance
Devlogs:
Basic structure of the site. ill be completing this page and moving onto the others
Finished shop page
Ships:
It’s a personal site with a little inside joke. You won’t get it but atleast now you have cookies :)...
|
1793620257.5410075
|
1793706657.5410075
|
|
24214
|
Artifact Forge by @InvalidJoker | Stardance
|
InvalidJoker
|
2
|
15.0
|
96
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T12:51:37Z", "hours": 7.0, "multiplier": 4.93, "payout": 37, "blessing": "neutral", "text": "Artifact Registry v1 Now that we support more artifact types and have sorted out most of the initial bugs and quirks, it’s time to release the first version under the new name Artifact Registry. New Features / Changes Mirroring npm package support Docker image support Admin UI improvements How to use For a quick look, just visit the hosted repo at: https://repo.koder.wtf/ (it’s read-only, as it’s only a UI demo, for the admin UI and pushing artifacts you need to self-host your own repo) Self-host it via the instructions in the README: https://github.com/InvalidJoker/artifact-forge", "repo": "https://github.com/InvalidJoker/artifact-forge", "demo": "https://repo.koder.wtf/"}, {"ship_num": 2, "ts": "2026-07-04T15:50:24Z", "hours": 8.0, "multiplier": 7.85, "payout": 59, "blessing": "neutral", "text": "Today I’m shipping v0 of the Maven repository! I think it’s stable enough for an initial release. Just visit the hosted repo at: https://repo.koder.wtf/ Or selfhost it via the instructions in the readme ( https://github.com/InvalidJoker/maven-repo )", "repo": "https://github.com/InvalidJoker/artifact-forge", "demo": "https://repo.koder.wtf/"}]...
|
[{"post_id": 44570, "ts": "202 [{"post_id": 44570, "ts": "2026-08-10T12:39:02Z", "hours": 1.2525, "text": "Artifact Mirroring You can now mirror artifacts from other registries. Why? Better reliability — builds are less affected by external registry outages or network issues. More control — keep the artifacts you depend on available within your own infrastructure. Next steps QoL fixes More artifact types, such as Cargo crates"}, {"post_id": 42523, "ts": "2026-08-07T10:07:25Z", "hours": 5.7067, "text": "maven-repo is now Artifact Forge maven-repo did one thing well: simple, self-hosted Maven hosting. But self-hosted registries aren’t just a Java problem. Docker images need a home too, and running a separate service just for that never made sense. So I merged both into one tool. The old name didn’t fit anymore. maven-repo is now Artifact Forge . What’s new NPM package support — same reliability as before Docker build support — push and pull images through the same system One registry for more artifact types — less infrastructure to manage What’s next More artifact types Mirroring public repos"}, {"post_id": 26224, "ts": "2026-07-10T21:46:17Z", "hours": 0.4725, "text": "Documenting the Maven Repo Just a quick devlog on the changes I made since attempting the first ship: I added the ability to set a custom admin password when requesting a reset Added docs for usage and good setup docs"}, {"post_id": 22206, "ts": "2026-07-04T15:46:29Z", "hours": 0.8794, "text": "Initial Release Today I’m shipping v0 of the Maven repository! I think it’s stable enough for an initial release. For future releases, I plan to add support for Docker images and other artifact types, but that’ll come later. You can check out the public instance here: https://repo.koder.wtf/ If you’d rather host it yourself, it’s easy to do with Docker, just follow the instructions in the readme."}, {"post_id": 21454, "ts": "2026-07-03T12:37:08Z", "hours": 2.1386, "text": "UI Refresh In my last Dev Log, I mentioned that I had finished the first prototype with all the core features in place. Over the past week, I’ve focused on completely refreshing the frontend. The interface has been redesigned to be cleaner, more modern, and much more enjoyable to use. I also introduced Instance Settings, allowing you to fully customize your Maven repository. Since the project is self-host-first, it should feel like your repository. You can now personalize the instance name, logo, and color scheme to match your style. As you can see, the application now features a brand-new green and black color palette."}, {"post_id": 16259, "ts": "2026-06-26T13:07:18Z", "hours": 2.5775, "text": "Basic Prototype Complete The basic prototype is now complete, and the core features are already in place. Current features include: Customizable repository name/icon Full Gradle and Maven authentication support Personal access tokens with configurable read and write permissions Read-only tokens for development environments, allowing dependencies to be installed without the risk of accidentally publishing artifacts Support for both public and private repositories, making it easy to host open-source packages while keeping private artifacts secure Next up: Improve and polish the frontend Add support for additional artifact types The core functionality is now in place, so the focus can shift towards improving the user experience and expanding support for more package ecosystems."}, {"post_id": 15626, "ts": "2026-06-25T12:39:43Z", "hours": 1.9461, "text": "I started working on an initial protype of our maven repo It currently has: basic maven repo authentication basic admin area (creating/deleting repos) Later it will support: custom docker registry oauth full featured admin repo Focus is on selfhosted first and dx"}]...
|
Title: Artifact Forge by @InvalidJoker | Stardance Title: Artifact Forge by @InvalidJoker | Stardance
Devlogs:
I started working on an initial protype of our maven repo It currently has: basic maven repo authentication basic admin area (creating/deleting repos) Later it will support: custom docker registry oauth full featured admin repo Focus is on selfhosted first and dx
Basic Prototype Complete The basic prototype is now complete, and the core features are already in place. Current features include: Customizable repository name/icon Full Gradle and Maven authentication support Personal access tokens with configurable read and write permissions Read-only tokens for development environments, allowing dependencies to be installed without the risk of accidentally publishing artifacts Support for both public and private repositories, making it easy to host open-source packages while keeping private artifacts secure Next up: Improve and polish the frontend Add support for additional artifact types The core functionality is now in place, so the focus can shift towards improving the user experience and expanding support for more package ecosystems.
UI Refresh In my last Dev Log, I mentioned that I had finished the first prototype with all the core features in place. Over the past week, I’ve focused on completely refreshing the frontend. The interface has been redesigned to be cleaner, more modern, and much more enjoyable to use. I also introduced Instance Settings, allowing you to fully customize your Maven repository. Since the project is self-host-first, it should feel like your repository. You can now personalize the instance name, logo, and color scheme to match your style. As you can see, the application now features a brand-new green and black color palette.
Initial Release Today I’m shipping v0 of the Maven repository! I think it’s stable enough for an initial release. For future releases, I plan to add support for Docker images and other artifact types, but that’ll come later. You can check out the public instance here: https://repo.koder.wtf/ If you’d rather host it yourself, it’s easy to do with Docker, just follow the instructions in the readme.
Documenting the Maven Repo Just a quick devlog on the changes I made since attempting the first ship: I added the ability to set a custom admin password when requesting a reset Added docs for usage and good setup docs
maven-repo is now Artifact Forge maven-repo did one thing well: simple, self-hosted Maven hosting. But self-hosted registries aren’t just a Java problem. Docker images need a home too, and running a separate service just for that never made sense. So I merged both into one tool. The old name didn’t fit anymore. maven-repo is now Artifact Forge . What’s new NPM package support — same reliability as before Docker build support — push and pull images through the same system One registry for more artifact types — less infrastructure to manage What’s next More artifact types Mirroring public repos
Artifact Mirroring You can now mirror artifacts from other registries. Why? Better reliability — builds are less affected by external registry outages or network issues. More control — keep the artifacts you depend on available within your own infrastructure. Next steps QoL fixes More artifact types, such as Cargo crates
Ships:
Today I’m shipping v0 of the Maven repository! I think it’s stable enough for an initial release. Just visit the hosted repo at: https://repo.koder.wtf/ Or selfhost it via the instructions in the readme ( https://github.com/InvalidJoker/maven-repo )
Artifact Registry v1 Now that we support more artifact types and have sorted out most of the initial bugs and quirks, it’s time to release the first version under the new name Artifact Registry. New Features / Changes Mirroring npm package support Docker image support Admin UI improvements How to use For a quick look, just visit the hosted repo at: https://repo.koder.wtf/ (it’s read-only, as it’s only a UI demo, for the admin UI and pushing artifacts you need to self-host your own repo) Self-host it via the instructions in the README: https://github.com/InvalidJoker/artifact-forge...
|
1793620256.35648
|
1793706656.35648
|
|
66696
|
My awesome macropad! by @praneethsai_k12 | Stardan My awesome macropad! by @praneethsai_k12 | Stardance...
|
praneethsai_k12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @praneethsai_k12 | Title: My awesome macropad! by @praneethsai_k12 | Stardance...
|
1793101856.312613
|
1793706656.312613
|
|
66693
|
WarioWare Game by @Shaurya_Pratap_Singh | Stardanc WarioWare Game by @Shaurya_Pratap_Singh | Stardance...
|
Shaurya_Pratap_Singh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @Shaurya_Pratap_Singh | S Title: WarioWare Game by @Shaurya_Pratap_Singh | Stardance...
|
1793101853.1616037
|
1793706653.1616037
|
|
4181
|
Waste seggregation by @periwalpratham0 | Stardance
|
periwalpratham0
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-10T11:48:14Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "HELLO!, So I made a NIR spectroscopy machine which can filter between Wood,plastic,Metal and BIO! all the code and the data(i manually scanned)", "repo": "https://github.com/PeriwalPratham/NIR/", "demo": ""}]...
|
[{"post_id": 6176, "ts": "2026 [{"post_id": 6176, "ts": "2026-06-10T11:42:34Z", "hours": 1.5425, "text": "locked in the code"}, {"post_id": 979, "ts": "2026-06-02T19:17:30Z", "hours": 2.5989, "text": "Testing the working of a spectrometer and recording values’s and storing and compiling and creating a ml model and using live python code to run it on my ESP32"}]...
|
Title: Waste seggregation by @periwalpratham0 | St Title: Waste seggregation by @periwalpratham0 | Stardance
Devlogs:
Testing the working of a spectrometer and recording values’s and storing and compiling and creating a ml model and using live python code to run it on my ESP32
locked in the code
Ships:
HELLO!, So I made a NIR spectroscopy machine which can filter between Wood,plastic,Metal and BIO! all the code and the data(i manually scanned)...
|
1793620252.3478773
|
1793706652.3478773
|
|
30453
|
slate by @swedishsplidney | Stardance
|
swedishsplidney
|
1
|
160.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-31T07:11:19Z", "hours": 160.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "slate engine is hopefully going to become an actually good game engine one day, but i ran out of time for stardance, so i guess i’m shipping it as a 3d engine only what it can do: obj importing fully customizeable .json material system (with support for importing .mtl files) transform and rotation gizmos custom ui inspector and hierarchy panel to modify object properties texture loading jolt physics scene serialization shadow mapping sun, point, area lighting system the hardest part? probably just like… vulkan being vulkan ig? managing over 13,110 lines of code probably this project has been super duper fun so far and I hope to keep working on it for a long, long time to come!!!", "repo": "https://github.com/swedishsplidney/slate", "demo": "https://github.com/swedishsplidney/slate/releases"}]...
|
[{"post_id": 85369, "ts": "202 [{"post_id": 85369, "ts": "2026-10-31T07:04:00Z", "hours": 9.1731, "text": "final stretch! this is just final fixes before shipping, so here’s a list of what i did: fixed some shadow banding issues made transmissive objects cast partial shadows changed the fresnel calculation before, fresnel was making edges darker instead of reflective changed the specular calculation for transmissive objects was making them hazy changed the alpha mapping it looked weird ig fixed serialization caused crashes on load readme overhaul it was old spent 13 billion epochs debugging the windows exe i hate windows github release im excited (and super nervous) to ship, i hope i can get a good multiplier!!!! this project was super fun to work on, and this will definetly NOT be the end for it :) if you like this project you should totally star the repo"}, {"post_id": 73395, "ts": "2026-09-25T01:57:08Z", "hours": 8.295, "text": "shadows this one is really cool, i feel like it really takes it from looking like its from 1995 to like… 2015 maybe? it doesnt look that good but i think its a massive improvement! right now, its a 4096x4096 shadowmap with an extent of 24 units, a random noise filter to reduce pixelation, and 3x3 pcf to make it look somewhat smooth it is currently orthographic light projection only, but I think i’ll work on getting perspective lighting soon :) shadows did reqire implementing a whole new imageview, descriptor set, render pass, all that, but i’m getting used to it atp lol serialization is also completely broken right now, so I do need to fix that…"}, {"post_id": 67098, "ts": "2026-09-13T04:51:35Z", "hours": 7.6267, "text": "texture loading!!! absolute yipee moment this took like a lot of thinking to figure out how to implement for reasons that i think are obvious, but some of them are: how tf do you load an image what does the loaded image data mean how do you map the texture to the model’s uv coords how does normal mapping work how does the shader know where on the image its reading and a lot more that i prolly forgot lol this whole thing basically meant a whole shader overhaul again (even though i alr did that last devlog but its whatever loll) you can now map albedo (color), normal (height/offset), orm (occlusion, roughness, metallic), and emmision (glowiness) emission only kind of works rn lol, but i will get to it soon also, you currently have to manually set filepaths to the textures you want in the .json sidecar for that model, i need to add filepicker stuff to the inspector but i will get to it ok the textures in the video below were manually baked, packed, etc at 4096*4096 in blender i think another feature i should work on soon is procedural material generating, because texture mapping will always have a resolution limit (even 4k textures look kinda bad when mapped to larger models) i also want to change how reflections work a little bit, or maybe add anti-aliasing because right now the reflections look deep fried (as you will see in the video below)"}, {"post_id": 65721, "ts": "2026-09-11T02:04:30Z", "hours": 7.1881, "text": "shader overhaul so i noticed that the pbr shader lowkey looked kinda ugly and my microfacet solver was buns af so i js spent a while fixing it up and basically ended up going down a rabbit hole of tonemapping and completely rewrote the whole thing i switched from some random generic tonemapping to khronos standard neutral pbr mapping, which i think looks wayyyyyy better, the colors actually feel accurate now i also spent a little while setting up the shader to support texture colors when i get that all working it is wayyy better now, especially metallic things i also started setting up for texture imports but right now its only albedo and it does NOT work in the slightest lmao i think i will hopefully have texture importing and mapping done by next devlog, but uhhhhh…. no promises"}, {"post_id": 63897, "ts": "2026-09-07T22:41:08Z", "hours": 8.7083, "text": "physics aaaaaaaaaaaaaaaaa it works concerningly well and it actually makes me really happy to see it working i legit jumped for joy when i first saw stuff dropping due to gravity the actual underlying physics engine is jolt physics, but all the init and handling and all that is custom from me its all linked to the inspector and allat, so you can tweak values real time, such as body type, bounciness, friction, and mass its now a physics playground instead of just a glorified obj viewer scaling is very broken as far as colliders go, ill probably fix that soon you can start and stop the physics sim with f5"}, {"post_id": 62615, "ts": "2026-09-06T02:39:32Z", "hours": 5.9828, "text": "working scene serialization (saving) if you hit ctrl + s (or hit the gui button) then it creates a .slate file, containing all the data of every object in the scene this .slate file is human readable (and editable), written in a format very similar to toml heres an example .slate file: [ scene ] name = \"SlateScene\" version = \"1.0\" [[ entity ]] index = 0 name = \"\" mesh_path = \"models/test_obj.obj\" position = [ -0.310723 , 0.927019 , 1.47743 ] rotation = [ 0 , -0 , 0 ] scale = [ 1.9916 , 2.28848 , 3.38984 ] [ entity . material ] albedo = [ 0.183333 , 1 , 0 , 1 ] roughness = 0.5 metallic = 1 ior = 1.5 transmission = 0 [[ entity ]] index = 1 name = \"\" mesh_path = \"models/emerald_monkey.obj\" position = [ 1.29034 , 0 , -5.64025e-08 ] rotation = [ 8.61461 , 6.18611 , 2.71029 ] scale = [ 3.07852 , 3.38535 , 3.86504 ] [ entity . material ] albedo = [ 0.050432 , 0.800023 , 0.302281 , 1 ] roughness = 0 metallic = 0 ior = 2.418 transmission = 1 next, ill probably start working on physics"}, {"post_id": 61285, "ts": "2026-09-04T04:09:23Z", "hours": 8.2292, "text": "scene serialization okay so this is akward but it doesnt actually work yet, but in my defense serialization is really confusing to me since i generally don’t do a whole lot with file writing and loading, especially in a custom formatted and extensioned .slate file it basically just takes a bunch of data by looping through scene objects and records them, then it also has to do that backwards, then i also have to implement a command and gui system to trigger the logic and i also want the .slate to be easily readable, so i need to format the text in a way that makes sense (i’m taking inspiration from TOML) hopefully its done next devlog, but no promises lol"}, {"post_id": 59368, "ts": "2026-09-01T04:03:06Z", "hours": 8.3792, "text": "color picking! i noticed that setting color in the inspector with 3 rgb values was really annoying, so i made a whole new ui class ( ui_color_picker.hpp/cpp ), that can hook into any other ui it supports: S/B box + hue bar RGB input CMYK input (mildly broken) hex input (very broken) it actually works pretty well, there is some bug where an object can never be fully white but i think thats a command issue not color picker or inspector next, it might be time to work on physics"}, {"post_id": 58306, "ts": "2026-08-30T17:59:13Z", "hours": 8.5094, "text": "bugfixes and writing docs i spent a good 4 hours just going through some code, finding anything that might be wrong and fixing them. surprisingly, i didnt find that much, which means that i’m better at coding than i thought i found a few places where i just forgot to add something to a cleanup function, which could have led to a small memory leak over time, but nothing major some bugs i fixed: the background of any dropdown menu was rendering behind the viewport selecting stuff in the hierarchy wouldnt sync with the inspector properly i forgot to add screenPointToRay to my cleanup function some other things that i forgot i also added a few std::couts in some spots that needed them i also decided to start writing some docs because my brain was fried i basically just dug through my ~3000 lines of vulkan init and rendering code, and took notes throughout and tried explaining my confusing mental processes in a .md file this kinda made me realize that i do not have enough annotation in my code but thats a problem for future me :)"}, {"post_id": 56986, "ts": "2026-08-29T01:24:41Z", "hours": 8.5281, "text": "hierarchy panel and scrolling the hierarchy panel itself was actually not that hard, the hard part was coming up with a reliable system that can detect and list every object currently loaded in the scene without turning your pc into an explosive the other hard part was modifying the dockspace layout to be able to handle multiple different panels, because previously, it was just one window per dockspace panel, but now it can be as many as you want also, the scrolling system is new, it is its own class ui_scrollable_container , and it is basically doing what the dockspace used to do, but it also lets you scroll. so now, the dockspace just loads a scrollable container, and the scrollable container does all the arrangement and sizing logic. the hierarchy works exactly as you would expect it to, it lists current scene objects and then you can select them from it eventually, ill prolly add support for parenting, which should be pretty easy its kinda crazy to see my custom persistent ui system slowly turn into something useful as i add more features to it so far ive just been adding features when i need them, i havent just thought of features i might need and added all of them"}, {"post_id": 55367, "ts": "2026-08-27T04:34:36Z", "hours": 8.7392, "text": "inspector updates and dropdowns the inspector now has IOR and transmission values that you can change, ui updates, and dropdowns this took literally like 45 epochs because i was running into a materialgpu indexing issue where the inspector boxes would update the wrong values and my peanut brain didnt even think to check if i set the indices correctly dropdowns also took a good 3-4 hours, but it wasnt too bad, mostly just figuring out the correct logic in total, the dropdown class (ui_dropdown.cpp/hpp) is at 169 lines, and the inspector class (ui_inspector_panel.cpp/hpp) is at 470 lines next, i think ill either work on ui rounding or a file hierarchy viewer"}, {"post_id": 52171, "ts": "2026-08-22T08:13:19Z", "hours": 8.115, "text": "ui inspector the inspector is by no means done, but its a start! right now its just supposed to be purely functional, but i plan on making it look better in the future the input boxes are their own ui class, meaning i can have those input boxes everywhere making the ui system from scratch is very fun, but it at times i do regret not using qml or im gui, but overall, i dont regret making it from scratch too much the main issues with it right now is that the sensitivity values in the input boxes feel wrong, i think the position needs less sensitivity and the rotation needs more also, the color ones are a bit broken, theres a little bit of discrepancy between what the ui shows and what the actual .json material sidecar has written, so i’ll have to figure out how to fix that i think at some point, i want to add support for dropdowns, so each row can be expanded into larger input boxes if needed, or so the entire transform or material section can be collapsed i also need to add input boxes for IOR and transmission, i jus forgot to do that lol, should be pretty easy tho"}, {"post_id": 49355, "ts": "2026-08-18T04:12:43Z", "hours": 5.6403, "text": "rotation gizmo, multi-object support you can now switch between the translation gizmo, and the rotation gizmo, and click between objects to change what one has the gizmo active the gizmo also stays locked to the selected meshes’ local axes, i might add switching between local and global axis orientation at some point, but for right now local only is good enough all of the gizmo mesh is generated from code, not as an obj, making it very efficient and fast and robust, but making the logic that generates vertices in the right position was very annoying lol next, ill probably work on an inspector panel where you can edit an object’s location, rotation, scale, material data, etc or maybe saving the scene to file but now you can move and rotate any amount of objects to your heart’s content"}, {"post_id": 47420, "ts": "2026-08-15T10:46:06Z", "hours": 9.2511, "text": "translation gizmo this was like miserable to make lol it took me sooooooo long to get translation working, basically i had this samurai battle with a scaling issue for the longest time, i accidentally told my code that the viewport was smaller than it actually was and it just took forever to find that out this issue caused a really annoying issue where the actual location of the rendered gizmo was different than the clickable area there was also this other issue where the gizmo would move twice the speed of the mesh it was translating, but it was just a flaw with the mesh class, the gizmo was basically constantly recieving its own center as well as the meshes’ center which made it translate double but it works now, i think it works pretty well its all based off of the modular command system, so anything can call translatemeshcommand and it translate meshes next is prolly working on rotate and scale and stuff, all the other gizmos that we need the gizmos also meant a new .vert and .frag pair, and a whole new vulkan render pipeline lol"}, {"post_id": 43684, "ts": "2026-08-09T02:47:19Z", "hours": 9.0197, "text": "grid generation this took forever, and was much harder than i expected basically, i needed to create a whole new rendering pipeline and a whole new glsl shader pair, as well as coming up with logic so the triangle-focused renderer can actually render some super thin infinite lines the grid does generate dynamically around the camera view, so it is endless i think it does look pretty good tho next, ill prolly work on adding some move and rotation and maybe even scale tools"}, {"post_id": 37279, "ts": "2026-07-29T21:25:56Z", "hours": 9.8689, "text": "mesh importing and refraction ima start off by saying that this isn’t true refraction, since that requires path tracing, which is really computationally intensive instead, i went with screen space refraction offset approximation , which is a good, efficient refraction approximator that i still think looks pretty cool material data for refraction the value that determines the transparency of an object is called transmission , and the value for refraction is index of refraction (or IOR) the current filesystem for materials that i have is .mtl files, because thats the standard filetype for exporting materials with objs from programs like blender. however, .mtl is a filesystem from the 1990s that was originally created for phong systems, meaning it doesnt really contain transmission values so, i created a json sidecar system, that generates a better, more robust, human readable material file for every model. so now, when you import an obj/mtl pair: it checks for a json sidecar file if there is one already, just load from that and finish! if there isn’t one already, now read the .mtl, extract as much info as you can from that, and write it to a new json file multi pass rendering in order to correctly render transparent meshes, you need at least 2 render passes (render the opaque ones first, then the transparent ones) also, for the refraction to work, it needs an image of everything behind it, so in between the opaque and transparent pass, it quickly copies everything on the screen to an offscreen framebuffer how the refraction works 1. get the view vector (v): this one’s simple, just evaluate the view direction from the fragment position to the camera position also, adjust the normal (n) if rendering backface 2. refraction vector (snell’s law): the refraction vector is actually easy too, glsl has a built in refract intrinsic so you just drive that with a clamped ior value 3. deviation mapping: to determine how much to bend the background scene texture, just calculate the deviation vector between the refracted ray and the view ray: vec3 rayDeviation = refractDir - (- V ); vec2 distortion = ( push . viewProjMatrix * vec4 ( rayDeviation , 0.0 )). xy * 0.05 * transmission ; 4. uv sampling + composite blending offset the screen coordinates, but in order to prevent the edges from exploding, it needs to be clamped also, sample the background buffer to blend lighting and make a fresnel rim other stuff i did: i also made a full custom persistent ui system (this took a while), and a command system, because hardcoding the ui to do stuff is bad so instead of the ui code directly running logic, clicking a button just sends a command to the command system this meant creating another render pass, meaning i’m up to 3 render passes per frame now the only command so far is file.import_mesh , which is also hooked into the ui (you can see in the video below)"}, {"post_id": 35648, "ts": "2026-07-27T07:01:43Z", "hours": 7.2731, "text": "pbr materials pbr math reflectance: this is the main equation that a cook-torrance pbr system, all the other equations lead back to this one at some point 𝐿𝑜(𝑝,𝜔𝑜) =𝐿𝑒(𝑝,𝜔𝑜) +∫Ω𝑓𝑟(𝑝,𝜔𝑖,𝜔𝑜)𝐿𝑖(𝑝,𝜔𝑖)(𝐧⋅𝜔𝑖)𝑑𝜔𝑖 this equation essentially just determines what light does after hitting a surface with specific parameters we approximate the integral with two different light interactions: diffuse (𝑘𝐷): any light that penetrates the surface, scatters internally, and re-emerges specular (𝑘𝑆): light that reflects directly off the micro-surface in the code itself, the total outgoing radiance ($L_o$) is calculated with: vec3 Lo = ( kD * albedo / PI + specular ) * radiance * NdotL ; cook-torrance brdf: the specular component is calculated using the cook-torrance microfacet brdf: ## 𝑓cook-torrance =𝐷⋅𝐺⋅𝐹 / 4(𝐍⋅𝐕)(𝐍⋅𝐋) where 𝐷, 𝐺, and 𝐹 represent: normal distribution (𝐷): the NDF statistical distribution calculates how many microfacets are aligned with the halfway vector ($𝐇=𝐕+𝐋 / abs(𝐕+𝐋)) 𝐷GGX(𝐍,𝐇,𝛼) = 𝛼^2 / 𝜋((𝐍⋅𝐇)2(𝛼2−1)+1)2 ```glsl float DistributionGGX(vec3 N, vec3 H, float roughness) { float a = roughness * roughness; float a2 = a * a; float NdotH = max(dot(N, H), 0.0); float NdotH2 = NdotH * NdotH; float num = a2; float denom = (NdotH2 * (a2 - 1.0) + 1.0); denom = PI * denom * denom; return num / max(denom, 0.000001); } ``` geometry (𝐺): smiths schlick-ggx microfacets can cast shadows and obscure light from the camera too, so the geometry function calculates the self shading factor using smiths method: 𝐺(𝐍,𝐕,𝐋,𝑘) =𝐺1(𝐍,𝐕,𝑘) ⋅𝐺1(𝐍,𝐋,𝑘) where 𝑘 maps roughness for direct lighting using 𝑘 = (roughness+1)^2 / 8: ```glsl float GeometrySchlickGGX(float NdotV, float roughness) { float r = (roughness + 1.0); float k = (r * r) / 8.0; float num = NdotV; float denom = NdotV * (1.0 - k) + k; return num / denom; } float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) { float NdotV = max(dot(N, V), 0.0); float NdotL = max(dot(N, L), 0.0); float ggx2 = GeometrySchlickGGX(NdotV, roughness); float ggx1 = GeometrySchlickGGX(NdotL, roughness); return ggx1 * ggx2; } ``` fresnel equation (𝐹): fresnel-schlick approximation the fresnel factor calculates the percentage of light reflected versus absorbed based on the viewing angle (𝜃): 𝐹(𝜃,𝐹0) =𝐹0 +(1−𝐹0)(1−cos𝜃)^5 nonmetals reflect around 4% of light (𝐹0 =0.04), while metals (conductors) use their tinted base albedo color as 𝐹0: ```glsl vec3 fresnelSchlick(float cosTheta, vec3 F0) { return F0 + (1.0 - F0) * pow(clamp(1.0 - cosTheta, 0.0, 1.0), 5.0); } // lower, inside main(): vec3 F0 = mix(vec3(0.04), albedo, metallic); vec3 F = fresnelSchlick(max(dot(H, V), 0.0), F0); ``` other stuff: a surface cant reflect more light than it recieves, so a simple equation is used to make sure this doesnt happen: ## 𝐤𝐃 =(1−𝐤𝐒) ⋅(1−metallic) right now, all the material data is pulled from a .mtl file i also added bindless ssbo storage so it doesnt explode when you have a lot of models next, i might keep working on the custom persistent ui system"}, {"post_id": 32732, "ts": "2026-07-22T02:20:30Z", "hours": 8.3064, "text": "custom obj file loading all of the obj loading is done using tinyobjloader , which is a popular header file that im using to get the raw vertex coords of any .obj file however, all tinyobj does is pass the raw vertex data to my code (technically it can do some basic triangulation, but thats not its main purpose so its not perfect) this means that any model with n-gons (complex polygons) will not work and will look super weird technically you can tell blender to explicitly triangulate a file when you export it, but i think that it should be able to take any obj that you can throw at it without needing external setup so i also added a popular header file called earcut , which at a basic level, just cuts any complex polygons into 3-vertex triangles (which my index pass and renderer accepts). this now means that it can load any custom obj file i want to add auto color loading (from the obj data) or texture loading next, or maybe work on the ui or add ambient occlusion"}, {"post_id": 25108, "ts": "2026-07-09T03:12:17Z", "hours": 6.5614, "text": "entered the 3rd dimension wasd movement made a whole separate Camera class (look at me keepin things organized ) this means that now the vulkan_renderer class has model, projection, view, and transform matrices: the model matrix tracks the transformations the view matrix essentially tracks where the camera is the projection matrix sets a perspective frustum in order to make things actually have perspective and not just be flat the lerping is also based on deltaTime, which means smooth movement no matter ur fps the mouse tracking is locked via SDL_SetWindowRelativeMouseMode , and can be unlocked with the escape key vertices and index buffers right now, the vertices are being set manually in my code… however, importing obj (and maybe gltf and stl) files is next on the feature list, i’m planning on using tinyobj all the geometry is indexed, which basically means that instead of wasting a ton of memory repeating data for 36 raw vertices, you can just define the 8 corner vertices, then use an index buffer pass to tell the gpu how to connect those 8 vertices into 12 triangles window resizing this was easy, basically just had to tell it to make new image views and framebuffers based on the current aspect ratio (w/h) when the size of the window changes so now, its a spinning cube in a resizeable window that you can move around with wasd"}, {"post_id": 22507, "ts": "2026-07-05T00:42:28Z", "hours": 6.1236, "text": "the window opens (!!) so, why did it take me 6 hours to get a window to open? it kinda just comes down to the fact that vulkan is vulkan on other apis such as opengl, the graphics driver just does stuff for you. you can say sumn like “open a window and make it pink” and it just does the memory, thread syncing, and goofy platform stuff for you vulkan on the other hand, wants none of that. if you dont specifically ask for something, it wont happen. this does make it significantly harder (and much easier to create a gpu-ending vram overflow) to code with, but it does have the benifit of being much more powerful, having no overhead, and 100% control. its not gonna do anything that you dont tell it to so what do you have to do to open a beautiful grey window with vulkan? os bridge (sdl3): instead of writing a whole abstraction for wayland/x11, win32 and metal, you just have to tell sdl3 that you’re making a vulkan window, and it does some magic stuff vulkan instance ( VkInstance ): this is how you get into the vulkan sdk. you kinda just have to tell vulkan everything it needs to know and ask sdl what extensions you need window surface ( VkSurfaceKHR ): vulkan is kinda dumb and doesnt know what a window actually is, so this is where sdl tells vulkan where it can actually write pixels pick a physical device: scan the current hardware, loop through every available device, and then just pick the best one (eventually ill probably add a way to select a custom one) logical device ( VkDevice ): the physical device is the actual doohickey in your computer that runs stuff, the logical device is the software’s interface to it. swapchain ( VkSwapchainKHR ): vulkan can’t actually write images directly to the screen (and that would look bad anyway), so you make a swapchain. my code does double buffering (basically vsync), which means that the screen displays image a, while the gpu is rendering image b. render pass and framebuffers: basically just telling vulkan what to do (in this case, clear the screen, then draw the color). the framebuffer just binds the swapchain image views to the render pass synchronization and command subsystem: believe it or not, your gpu’s clock speed is usually around (or more than) half of your cpu’s clock speed, so you have to make sure that your code waits for the gpu is ready before running the next c++ line. if you don’t, your gpu ram and cache will overflow. overall, this took a total of 764 lines of code just to get a grey window the nice part is that the progress that i’ll make is exponential, since the very beginning stuff takes the longest i also made a logo (the current project page banner)"}]...
|
Title: slate by @swedishsplidney | Stardance
Devl Title: slate by @swedishsplidney | Stardance
Devlogs:
the window opens (!!) so, why did it take me 6 hours to get a window to open? it kinda just comes down to the fact that vulkan is vulkan on other apis such as opengl, the graphics driver just does stuff for you. you can say sumn like “open a window and make it pink” and it just does the memory, thread syncing, and goofy platform stuff for you vulkan on the other hand, wants none of that. if you dont specifically ask for something, it wont happen. this does make it significantly harder (and much easier to create a gpu-ending vram overflow) to code with, but it does have the benifit of being much more powerful, having no overhead, and 100% control. its not gonna do anything that you dont tell it to so what do you have to do to open a beautiful grey window with vulkan? os bridge (sdl3): instead of writing a whole abstraction for wayland/x11, win32 and metal, you just have to tell sdl3 that you’re making a vulkan window, and it does some magic stuff vulkan instance ( VkInstance ): this is how you get into the vulkan sdk. you kinda just have to tell vulkan everything it needs to know and ask sdl what extensions you need window surface ( VkSurfaceKHR ): vulkan is kinda dumb and doesnt know what a window actually is, so this is where sdl tells vulkan where it can actually write pixels pick a physical device: scan the current hardware, loop through every available device, and then just pick the best one (eventually ill probably add a way to select a custom one) logical device ( VkDevice ): the physical device is the actual doohickey in your computer that runs stuff, the logical device is the software’s interface to it. swapchain ( VkSwapchainKHR ): vulkan can’t actually write images directly to the screen (and that would look bad anyway), so you make a swapchain. my code does double buffering (basically vsync), which means that the screen displays image a, while the gpu is rendering image b. render pass and framebuffers: basically just telling vulkan what to do (in this case, clear the screen, then draw the color). the framebuffer just binds the swapchain image views to the render pass synchronization and command subsystem: believe it or not, your gpu’s clock speed is usually around (or more than) half of your cpu’s clock speed, so you have to make sure that your code waits for the gpu is ready before running the next c++ line. if you don’t, your gpu ram and cache will overflow. overall, this took a total of 764 lines of code just to get a grey window the nice part is that the progress that i’ll make is exponential, since the very beginning stuff takes the longest i also made a logo (the current project page banner)
entered the 3rd dimension wasd movement made a whole separate Camera class (look at me keepin things organized ) this means that now the vulkan_renderer class has model, projection, view, and transform matrices: the model matrix tracks the transformations the view matrix essentially tracks where the camera is the projection matrix sets a perspective frustum in order to make things actually have perspective and not just be flat the lerping is also based on deltaTime, which means smooth movement no matter ur fps the mouse tracking is locked via SDL_SetWindowRelativeMouseMode , and can be unlocked with the escape key vertices and index buffers right now, the vertices are being set manually in my code… however, importing obj (and maybe gltf and stl) files is next on the feature list, i’m planning on using tinyobj all the geometry is indexed, which basically means that instead of wasting a ton of memory repeating data for 36 raw vertices, you can just define the 8 corner vertices, then use an index buffer pass to tell the gpu how to connect those 8 vertices into 12 triangles window resizing this was easy, basically just had to tell it to make new image views and framebuffers based on the current aspect ratio (w/h) when the size of the window changes so now, its a spinning cube in a resizeable window that you can move around with wasd
custom obj file loading all of the obj loading is done using tinyobjloader , which is a popular header file that im using to get the raw vertex coords of any .obj file however, all tinyobj does is pass the raw vertex data to my code (technically it can do some basic triangulation, but thats not its main purpose so its not perfect) this means that any model with n-gons (complex polygons) will not work and will look super weird technically you can tell blender to explicitly triangulate a file when you export it, but i think that it should be able to take any obj that you can throw at it without needing external setup so i also added a popular header file called earcut , which at a basic level, just cuts any complex polygons into 3-vertex triangles (which my index pass and renderer accepts). this now means that it can load any custom obj file i want to add auto color loading (from the obj data) or texture loading next, or maybe work on the ui or add ambient occlusion
pbr materials pbr math reflectance: this is the main equation that a cook-torrance pbr system, all the other equations lead back to this one at some point 𝐿𝑜(𝑝,𝜔𝑜) =𝐿𝑒(𝑝,𝜔𝑜) +∫Ω𝑓𝑟(𝑝,𝜔𝑖,𝜔𝑜)𝐿𝑖(𝑝,𝜔𝑖)(𝐧⋅𝜔𝑖)𝑑𝜔𝑖 this equation essentially just determines what light does after hitting a surface with specific parameters we approximate the integral with two different light interactions: diffuse (𝑘𝐷): any light that penetrates the surface, scatters internally, and re-emerges specular (𝑘𝑆): light that reflects directly off the micro-surface in the code itself, the total outgoing radiance ($L_o$) is calculated with: vec3 Lo = ( kD * albedo / PI + specular ) * radiance * NdotL ; cook-torrance brdf: the specular component is calculated using the cook-torrance microfacet brdf: ## 𝑓cook-torrance =𝐷⋅𝐺⋅𝐹 / 4(𝐍⋅𝐕)(𝐍⋅𝐋) where 𝐷, 𝐺, and 𝐹 represent: normal distribution (𝐷): the NDF statistical distribution calculates how many microfacets are aligned with the halfway vector ($𝐇=𝐕+𝐋 / abs(𝐕+𝐋)) 𝐷GGX(𝐍,𝐇,𝛼) = 𝛼^2 / 𝜋((𝐍⋅𝐇)2(𝛼2−1)+1)2 ```glsl float DistributionGGX(vec3 N, vec3 H, float roughness) { float a = roughness * roughness; float a2 = a * a; float NdotH = max(dot(N, H), 0.0); float NdotH2 = NdotH * NdotH; float num = a2; float denom = (NdotH2 * (a2 - 1.0) + 1.0); denom = PI * denom * denom; return num / max(denom, 0.000001); } ``` geometry (𝐺): smiths schlick-ggx microfacets can cast shadows and obscure light from the camera too, so the geometry function calculates the self shading factor using smiths method: 𝐺(𝐍,𝐕,𝐋,𝑘) =𝐺1(𝐍,𝐕,𝑘) ⋅𝐺1(𝐍,𝐋,𝑘) where 𝑘 maps roughness for direct lighting using 𝑘 = (roughness+1)^2 / 8: ```glsl float GeometrySchlickGGX(float NdotV, float roughness) { float r = (roughness + 1.0); float k = (r * r) / 8.0; float num = NdotV; float denom = NdotV * (1.0 - k) + k; return num / denom; } float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness) { float NdotV = max(dot(N, V), 0.0); float NdotL = max(dot(N, L), 0.0); float ggx2 = GeometrySchlickGGX(NdotV, roughness); float ggx1 = GeometrySchlickGGX(NdotL, roughness); return ggx1 * ggx2; } ``` fresnel equation (𝐹): fresnel-schlick approximation the fresnel factor calculates the percentage of light reflected versus absorbed based on the viewing angle (𝜃): 𝐹(𝜃,𝐹0) =𝐹0 +(1−𝐹0)(1−cos𝜃)^5 nonmetals reflect around 4% of light (𝐹0 =0.04), while metals (conductors) use their tinted base albedo color as 𝐹0: ```glsl vec3 fresnelSchlick(float cosTheta, vec3 F0) { return F0 + (1.0 - F0) * pow(clamp(1.0 - cosTheta, 0.0, 1.0), 5.0); } // lower, inside main(): vec3 F0 = mix(vec3(0.04), albedo, metallic); vec3 F = fresnelSchlick(max(dot(H, V), 0.0), F0); ``` other stuff: a surface cant reflect more light than it recieves, so a simple equation is used to make sure this doesnt happen: ## 𝐤𝐃 =(1−𝐤𝐒) ⋅(1−metallic) right now, all the material data is pulled from a .mtl file i also added bindless ssbo storage so it doesnt explode when you have a lot of models next, i might keep working on the custom persistent ui system
mesh importing and refraction ima start off by saying that this isn’t true refraction, since that requires path tracing, which is really computationally intensive instead, i went with screen space refraction offset approximation , which is a good, efficient refraction approximator that i still think looks pretty cool material data for refraction the value that determines the transparency of an object is called transmission , and the value for refraction is index of refraction (or IOR) the current filesystem for materials that i have is .mtl files, because thats the standard filetype for exporting materials with objs from programs like blender. however, .mtl is a filesystem from the 1990s that was originally created for phong systems, meaning it doesnt really contain transmission values so, i created a json sidecar system, that generates a better, more robust, human readable material file for every model. so now, when you import an obj/mtl pair: it checks for a json sidecar file if there is one already, just load from that and finish! if there isn’t one already, now read the .mtl, extract as much info as you can from that, and write it to a new json file multi pass rendering in order to correctly render transparent meshes, you need at least 2 render passes (render the opaque ones first, then the transparent ones) also, for the refraction to work, it needs an image of everything behind it, so in between the opaque and transparent pass, it quickly copies everything on the screen to an offscreen framebuffer how the refraction works 1. get the view vector (v): this one’s simple, just evaluate the view direction from the fragment position to the camera position also, adjust the normal (n) if rendering backface 2. refraction vector (snell’s law): the refraction vector is actually easy too, glsl has a built in refract intrinsic so you just drive that with a clamped ior value 3. deviation mapping: to determine how much to bend the background scene texture, just calculate the deviation vector between the refracted ray and the view ray: vec3 rayDeviation = refractDir - (- V ); vec2 distortion = ( push . viewProjMatrix * vec4 ( rayDeviation , 0.0 )). xy * 0.05 * transmission ; 4. uv sampling + composite blending offset the screen coordinates, but in order to prevent the edges from exploding, it needs to be clamped also, sample the background buffer to blend lighting and make a fresnel rim other stuff i did: i also made a full custom persistent ui system (this took a while), and a command system, because hardcoding the ui to do stuff is bad so instead of the ui code directly running logic, clicking a button just sends a command to the command system this meant creating another render pass, meaning i’m up to 3 render passes per frame now the only command so far is file.import_mesh , which is also hooked into the ui (you can see in the video below)
grid generation this took forever, and was much harder than i expected basically, i needed to create a whole new rendering pipeline and a whole new glsl shader pair, as well as coming up with logic so the triangle-focused renderer can actually render some super thin infinite lines the grid does generate dynamically around the camera view, so it is endless i think it does look pretty good tho next, ill prolly work on adding some move and rotation and maybe even scale tools
translation gizmo this was like miserable to make lol it took me sooooooo long to get translation working, basically i had this samurai battle with a scaling issue for the longest time, i accidentally told my code that the viewport was smaller than it actually was and it just took forever to find that out this issue caused a really annoying issue where the actual location of the rendered gizmo was different than the clickable area there was also this other issue where the gizmo would move twice the speed of the mesh it was translating, but it was just a flaw with the mesh class, the gizmo was basically constantly recieving its own center as well as the meshes’ center which made it translate double but it works now, i think it works pretty well its all based off of the modular command system, so anything can call translatemeshcommand and it translate meshes next is prolly working on rotate and scale and stuff, all the other gizmos that we need the gizmos also meant a new .vert and .frag pair, and a whole new vulkan render pipeline lol
rotation gizmo, multi-object support you can now switch between the translation gizmo, and the rotation gizmo, and click between objects to change what one has the gizmo active the gizmo also stays locked to the selected meshes’ local axes, i might add switching between local and global axis orientation at some point, but for right now local only is good enough all of the gizmo mesh is generated from code, not as an obj, making it very efficient and fast and robust, but making the logic that generates vertices in the right position was very annoying lol next, ill probably work on an inspector panel where you can edit an object’s location, rotation, scale, material data, etc or maybe saving the scene to file but now you can move and rotate any amount of objects to your heart’s content
ui inspector the inspector is by no means done, but its a start! right now its just supposed to be purely functional, but i plan on making it look better in the future the input boxes are their own ui class, meaning i can have those input boxes everywhere making the ui system from scratch is very fun, but it at times i do regret not using qml or im gui, but overall, i dont regret making it from scratch too much the main issues with it right now is that the sensitivity values in the input boxes feel wrong, i think the position needs less sensitivity and the rotation needs more also, the color ones are a bit broken, theres a little bit of discrepancy between what the ui shows and what the actual .json material sidecar has written, so i’ll have to figure out how to fix that i think at some point, i want to add support for dropdowns, so each row can be expanded into larger input boxes if needed, or so the entire transform or material section can be collapsed i also need to add input boxes for IOR and transmission, i jus forgot to do that lol, should be pretty easy tho
inspector updates and dropdowns the inspector now has IOR and transmission values that you can change, ui updates, and dropdowns this took literally like 45 epochs because i was running into a materialgpu indexing issue where the inspector boxes would update the wrong values and my peanut brain didnt even think to check if i set the indices correctly dropdowns also took a good 3-4 hours, but it wasnt too bad, mostly just figuring out the correct logic in total, the dropdown class (ui_dropdown.cpp/hpp) is at 169 lines, and the inspector class (ui_inspector_panel.cpp/hpp) is at 470 lines next, i think ill either work on ui rounding or a file hierarchy viewer
hierarchy panel and scrolling the hierarchy panel itself was actually not that hard, the hard part was coming up with a reliable system that can detect and list every object currently loaded in the scene without turning your pc into an explosive the other hard part was modifying the dockspace layout to be able to handle multiple different panels, because previously, it was just one window per dockspace panel, but now it can be as many as you want also, the scrolling system is new, it is its own class ui_scrollable_container , and it is basically doing what the dockspace used to do, but it also lets you scroll. so now, the dockspace just loads a scrollable container, and the scrollable container does all the arrangement and sizing logic. the hierarchy works exactly as you would expect it to, it lists current scene objects and then you can select them from it eventually, ill prolly add support for parenting, which should be pretty easy its kinda crazy to see my custom persistent ui system slowly turn into something useful as i add more features to it so far ive just been adding features when i need them, i havent just thought of features i might need and added all of them
bugfixes and writing docs i spent a good 4 hours just going through some code, finding anything that might be wrong and fixing them. surprisingly, i didnt find that much, which means that i’m better at coding than i thought i found a few places where i just forgot to add something to a cleanup function, which could have led to a small memory leak over time, but nothing major some bugs i fixed: the background of any dropdown menu was rendering behind the viewport selecting stuff in the hierarchy wouldnt sync with the inspector properly i forgot to add screenPointToRay to my cleanup function some other things that i forgot i also added a few std::couts in some spots that needed them i also decided to start writing some docs because my brain was fried i basically just dug through my ~3000 lines of vulkan init and rendering code, and took notes throughout and tried explaining my confusing mental processes in a .md file this kinda made me realize that i do not have enough annotation in my code but thats a problem for future me :)
color picking! i noticed that setting color in the inspector with 3 rgb values was really annoying, so i made a whole new ui class ( ui_color_picker.hpp/cpp ), that can hook into any other ui it supports: S/B box + hue bar RGB input CMYK input (mildly broken) hex input (very broken) it actually works pretty well, there is some bug where an object can never be fully white but i think thats a command issue not color picker or inspector next, it might be time to work on physics
scene serialization okay so this is akward but it doesnt actually work yet, but in my defense serialization is really confusing to me since i generally don’t do a whole lot with file writing and loading, especially in a custom formatted and extensioned .slate file it basically just takes a bunch of data by looping through scene objects and records them, then it also has to do that backwards, then i also have to implement a command and gui system to trigger the logic and i also want the .slate to be easily readable, so i need to format the text in a way that makes sense (i’m taking inspiration from TOML) hopefully its done next devlog, but no promises lol
working scene serialization (saving) if you hit ctrl + s (or hit the gui button) then it creates a .slate file, containing all the data of every object in the scene this .slate file is human readable (and editable), written in a format very similar to toml heres an example .slate file: [ scene ] name = "SlateScene" version = "1.0" [[ entity ]] index = 0 name = "" mesh_path = "models/test_obj.obj" position = [ -0.310723 , 0.927019 , 1.47743 ] rotation = [ 0 , -0 , 0 ] scale = [ 1.9916 , 2.28848 , 3.38984 ] [ entity . material ] albedo = [ 0.183333 , 1 , 0 , 1 ] roughness = 0.5 metallic = 1 ior = 1.5 transmission = 0 [[ entity ]] index = 1 name = "" mesh_path = "models/emerald_monkey.obj" position = [ 1.29034 , 0 , -5.64025e-08 ] rotation = [ 8.61461 , 6.18611 , 2.71029 ] scale = [ 3.07852 , 3.38535 , 3.86504 ] [ entity . material ] albedo = [ 0.050432 , 0.800023 , 0.302281 , 1 ] roughness = 0 metallic = 0 ior = 2.418 transmission = 1 next, ill probably start working on physics
physics aaaaaaaaaaaaaaaaa it works concerningly well and it actually makes me really happy to see it working i legit jumped for joy when i first saw stuff dropping due to gravity the actual underlying physics engine is jolt physics, but all the init and handling and all that is custom from me its all linked to the inspector and allat, so you can tweak values real time, such as body type, bounciness, friction, and mass its now a physics playground instead of just a glorified obj viewer scaling is very broken as far as colliders go, ill probably fix that soon you can start and stop the physics sim with f5
shader overhaul so i noticed that the pbr shader lowkey looked kinda ugly and my microfacet solver was buns af so i js spent a while fixing it up and basically ended up going down a rabbit hole of tonemapping and completely rewrote the whole thing i switched from some random generic tonemapping to khronos standard neutral pbr mapping, which i think looks wayyyyyy better, the colors actually feel accurate now i also spent a little while setting up the shader to support texture colors when i get that all working it is wayyy better now, especially metallic things i also started setting up for texture imports but right now its only albedo and it does NOT work in the slightest lmao i think i will hopefully have texture importing and mapping done by next devlog, but uhhhhh…. no promises
texture loading!!! absolute yipee moment this took like a lot of thinking to figure out how to implement for reasons that i think are obvious, but some of them are: how tf do you load an image what does the loaded image data mean how do you map the texture to the model’s uv coords how does normal mapping work how does the shader know where on the image its reading and a lot more that i prolly forgot lol this whole thing basically meant a whole shader overhaul again (even though i alr did that last devlog but its whatever loll) you can now map albedo (color), normal (height/offset), orm (occlusion, roughness, metallic), and emmision (glowiness) emission only kind of works rn lol, but i will get to it soon also, you currently have to manually set filepaths to the textures you want in the .json sidecar for that model, i need to add filepicker stuff to the inspector but i will get to it ok the textures in the video below were manually baked, packed, etc at 4096*4096 in blender i think another feature i should work on soon is procedural material generating, because texture mapping will always have a resolution limit (even 4k textures look kinda bad when mapped to larger models) i also want to change how reflections work a little bit, or maybe add anti-aliasing because right now the reflections look deep fried (as you will see in the video below)
shadows this one is really cool, i feel like it really takes it from looking like its from 1995 to like… 2015 maybe? it doesnt look that good but i think its a massive improvement! right now, its a 4096x4096 shadowmap with an extent of 24 units, a random noise filter to reduce pixelation, and 3x3 pcf to make it look somewhat smooth it is currently orthographic light projection only, but I think i’ll work on getting perspective lighting soon :) shadows did reqire implementing a whole new imageview, descriptor set, render pass, all that, but i’m getting used to it atp lol serialization is also completely broken right now, so I do need to fix that…
final stretch! this is just final fixes before shipping, so here’s a list of what i did: fixed some shadow banding issues made transmissive objects cast partial shadows changed the fresnel calculation before, fresnel was making edges darker instead of reflective changed the specular calculation for transmissive objects was making them hazy changed the alpha mapping it looked weird ig fixed serialization caused crashes on load readme overhaul it was old spent 13 billion epochs debugging the windows exe i hate windows github release im excited (and super nervous) to ship, i hope i can get a good multiplier!!!! this project was super fun to work on, and this will definetly NOT be the end for it :) if you like this project you should totally star the repo
Ships:
slate engine is hopefully going to become an actually good game engine one day, but i ran out of time for stardance, so i guess i’m shipping it as a 3d engine only what it can do: obj importing fully customizeable .json material system (with support for importing .mtl files) transform and rotation gizmos custom ui inspector and hierarchy panel to modify object properties texture loading jolt physics scene serialization shadow mapping sun, point, area lighting system the hardest part? probably just like… vulkan being vulkan ig? managing over 13,110 lines of code probably this project has been super duper fun so far and I hope to keep working on it for a long, long time to come!!!...
|
1793620250.8307643
|
1793706650.8307643
|
|
66692
|
Solar by @lousaephanh5 | Stardance
|
lousaephanh5
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Solar by @lousaephanh5 | Stardance
|
1793101849.7176025
|
1793706649.7176025
|
|
42904
|
My own site! by @Alan_X | Stardance
|
Alan_X
|
2
|
16.0
|
57
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T17:37:36Z", "hours": 9.0, "multiplier": 6.24, "payout": 57, "blessing": "neutral", "text": "Who are you? This is the question I want to cancel from your minds when you explore my site. The main aim is not to build a resume, but to feel closer to a stardancer you never met!", "repo": "https://github.com/onanaalan69-ctrl/Alan-personal-page", "demo": "https://alan-personal-page.vercel.app"}, {"ship_num": 2, "ts": "2026-08-18T06:38:26Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website to present myself, so that anyone going through it is able to know me better. It is made up of 3 distinct pages, each englobing a topic of my life I want to share. The most challenging part was for sure the CSS. Every beginner will agree with me there are some tags whose name are not 100% comprehensible, especially when you see their function after (here I think of the flex boxes, display and align function). Also, hosting a site was quite new to me. I remember having 14+ 404 errors with two different hosting apps, just because one of my pages was not named index. I spent hours trying to figure it out ! I am very proud of the website style. It perfectly represents me. The colours, the spiderman logo, the story telling and the content. All these hours of coding were worth seeing this creation of mine. To navigate throughout the site is pretty easy. Click on the vercel link and use the nav bar to go through the different sections.", "repo": "https://github.com/onanaalan69-ctrl/Alan-personal-page", "demo": "https://alan-personal-page.vercel.app"}]...
|
[{"post_id": 70722, "ts": "202 [{"post_id": 70722, "ts": "2026-09-19T17:31:58Z", "hours": 1.9069, "text": "There are different ways to know someone: you can know their name or their stats. But the best way is the one in which you can create a conversation with the person you know Today, I introduced a page that we must all consider when building something to present. I read a bunch of personal sites, but I can bearly have a conversation out of their projects with the people. Their center of interest is what can immediately pull a conversation, so I considered adding the preference.html page to be able to engage a conversation. I also mainly corrected the typos on my pages, and adjusted the README.md to fit the recent updates"}, {"post_id": 58804, "ts": "2026-08-31T12:00:37Z", "hours": 7.3, "text": "It’s more than just a website…it’s the easiest way someone can know me online After the first ship of this project, I decided to share the link to my website to some of my friends and people I met at the summer academy. One of my friends came to me and asked who I am ? This question was to tell me that the site did not tell who I was enough. In addition to that, I did not have any landing page, which is quite submerging. So I worked on the landing page to make it as a better introduction to the site than just diving in, and made the site more personal, so that someone could know me through this. I also: Introduced an animation to make the color theme of the home page change. The colors are variable and random according to a selection of mine, I updated the information in the “What’s up” page to fit my current situation, I corrected the typos in all the pages and introduced recent photographies in the “Project” page. As always, constructive feedback is always welcomed."}, {"post_id": 49300, "ts": "2026-08-18T01:18:06Z", "hours": 1.9869, "text": "Final Devlog before 1st ship For this last modification before the ship, I added another section that I named facts. It is all about why I joined the hack club and stardance community, and with what I learned, what I will do with that knowledge. I also updated the images unable to open on the browser and corrected grammatical and writting mistakes in the entire site. Most importantly, I completely changed my README.md, so as to be appropriate for shiping. I’m impatient to ship my first project, but I will do it when I wake at 6 in the morning. Wish me Good luck guys."}, {"post_id": 45998, "ts": "2026-08-12T20:54:46Z", "hours": 3.1411, "text": "#Devlog 3 The new pages I promised to share with you are already available guys! Checkout the Demo link. If I had to say something about the experience I will say it was very long to adjust my code into separate page - because before I had a single page for .css, .html and .js - But it’s so satisfying right now. Also I had to change my demo link. The one I had in vercel was just loading a 404, - and I did not even no why - so I changed to a github deployment. Notify me if during this demo testing you do not have access to the page. It’ll be quite unfortunate because I did put all of my love and experience into that."}, {"post_id": 45032, "ts": "2026-08-11T05:51:30Z", "hours": 1.3931, "text": "Brand New Section! Devlog #2 I shared my website with some of my friends, and they told me I should add a section specifically talking about my projects. So, it is what I am actually cooking. I also decided to add a section named “What’s up” that I will continuously update: I will try to keep the update tech-related and my encounters in the hackclub. I will share with you the latest updates I soon as I finish my summer academy this evening. Stay tuned"}, {"post_id": 40407, "ts": "2026-08-03T21:39:19Z", "hours": 0.7197, "text": "My personal web page. This activity is really a self-introspection, as we have to gather all we know on ourselves (which is not always that easy by the way) to create a page for anyone reading it to know you better. The first thing I thought of was the background to be my favorite color, and the profile picture my favotite hero. By this I i’m sure anyone can protray the type of person I’m from the value of my hero( hardwork, resilience, accountable, charismatic etc.) and the general traits of those having green as favorite color(calm, friendly, sociable, confident etc.). Then I expressed my artistic designs with the color choices. I see these choices that we may make subconsiouly the best way to know about someone"}]...
|
Title: My own site! by @Alan_X | Stardance
Devlog Title: My own site! by @Alan_X | Stardance
Devlogs:
My personal web page. This activity is really a self-introspection, as we have to gather all we know on ourselves (which is not always that easy by the way) to create a page for anyone reading it to know you better. The first thing I thought of was the background to be my favorite color, and the profile picture my favotite hero. By this I i’m sure anyone can protray the type of person I’m from the value of my hero( hardwork, resilience, accountable, charismatic etc.) and the general traits of those having green as favorite color(calm, friendly, sociable, confident etc.). Then I expressed my artistic designs with the color choices. I see these choices that we may make subconsiouly the best way to know about someone
Brand New Section! Devlog #2 I shared my website with some of my friends, and they told me I should add a section specifically talking about my projects. So, it is what I am actually cooking. I also decided to add a section named “What’s up” that I will continuously update: I will try to keep the update tech-related and my encounters in the hackclub. I will share with you the latest updates I soon as I finish my summer academy this evening. Stay tuned
#Devlog 3 The new pages I promised to share with you are already available guys! Checkout the Demo link. If I had to say something about the experience I will say it was very long to adjust my code into separate page - because before I had a single page for .css, .html and .js - But it’s so satisfying right now. Also I had to change my demo link. The one I had in vercel was just loading a 404, - and I did not even no why - so I changed to a github deployment. Notify me if during this demo testing you do not have access to the page. It’ll be quite unfortunate because I did put all of my love and experience into that.
Final Devlog before 1st ship For this last modification before the ship, I added another section that I named facts. It is all about why I joined the hack club and stardance community, and with what I learned, what I will do with that knowledge. I also updated the images unable to open on the browser and corrected grammatical and writting mistakes in the entire site. Most importantly, I completely changed my README.md, so as to be appropriate for shiping. I’m impatient to ship my first project, but I will do it when I wake at 6 in the morning. Wish me Good luck guys.
It’s more than just a website…it’s the easiest way someone can know me online After the first ship of this project, I decided to share the link to my website to some of my friends and people I met at the summer academy. One of my friends came to me and asked who I am ? This question was to tell me that the site did not tell who I was enough. In addition to that, I did not have any landing page, which is quite submerging. So I worked on the landing page to make it as a better introduction to the site than just diving in, and made the site more personal, so that someone could know me through this. I also: Introduced an animation to make the color theme of the home page change. The colors are variable and random according to a selection of mine, I updated the information in the “What’s up” page to fit my current situation, I corrected the typos in all the pages and introduced recent photographies in the “Project” page. As always, constructive feedback is always welcomed.
There are different ways to know someone: you can know their name or their stats. But the best way is the one in which you can create a conversation with the person you know Today, I introduced a page that we must all consider when building something to present. I read a bunch of personal sites, but I can bearly have a conversation out of their projects with the people. Their center of interest is what can immediately pull a conversation, so I considered adding the preference.html page to be able to engage a conversation. I also mainly corrected the typos on my pages, and adjusted the README.md to fit the recent updates
Ships:
I made a website to present myself, so that anyone going through it is able to know me better. It is made up of 3 distinct pages, each englobing a topic of my life I want to share. The most challenging part was for sure the CSS. Every beginner will agree with me there are some tags whose name are not 100% comprehensible, especially when you see their function after (here I think of the flex boxes, display and align function). Also, hosting a site was quite new to me. I remember having 14+ 404 errors with two different hosting apps, just because one of my pages was not named index. I spent hours trying to figure it out ! I am very proud of the website style. It perfectly represents me. The colours, the spiderman logo, the story telling and the content. All these hours of coding were worth seeing this creation of mine. To navigate throughout the site is pretty easy. Click on the vercel link and use the nav bar to go through the different sections.
Who are you? This is the question I want to cancel from your minds when you explore my site. The main aim is not to build a resume, but to feel closer to a stardancer you never met!...
|
1793620249.6805072
|
1793706649.6805072
|
|
36767
|
Personal Website/Portfolio by @Leaf | Stardance
|
Leaf
|
1
|
31.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-31T10:02:40Z", "hours": 31.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a personal website so that people get to know more about me and what I’ve been up to! I’m starting to work on tons of things, and I want a place to store it without having to pull up a bajillion pictures from my gallery. Check out my README for more details, but it’s functional… This ship is just to get this really out there !!! (although, it actually has been for months, didn’t know you can reship and thought shipping meant finalized….)", "repo": "https://github.com/LeafLLM/leafLLM", "demo": "https://leafllm.github.io/leafLLM/"}]...
|
[{"post_id": 85420, "ts": "202 [{"post_id": 85420, "ts": "2026-10-31T09:30:06Z", "hours": 5.7831, "text": "Devlog #5 ᯓ★ okay honestly im writing this just to ship it, this devlog includes a big ol UI overhaul because it wasn’t pretty. and developing the robotics page further. (declaring big ol ai usage for this one because I spent a lot of time learning to build it all) at some point when im free id like to draw the assets on the page. whatever I have now is just a placeholder of what i want honestly this project wasn’t meant to take so long but I’ve gotten so busy the little prototype of what my robotics page is supposed to look like when I actually fill it out all the way the problem is im actively working everyday?! so i haven’t had the time to go in, my portfolio is technically just building itself everyday. i dont have a favicon yet either."}, {"post_id": 63415, "ts": "2026-09-07T07:37:20Z", "hours": 3.4517, "text": "Devlog #4 ᯓ★ this isn’t gonna be the most informative post, instead I do wanna apologize for the lack of updates…!! i’ve gotten busy with school, seems like an excuse but applying for college is stressful and a lot!!! taking calculus & studying for every class ever blocks up my schedule. this three day weekend has given me the time to pick up on this project again and I couldn’t be happier. I’ve been making some progress in FRC so there is a lot to add to this page. I’ve started learning to program while I’ve been away so that’ll be showcased on here… hopefully. While this is a filler post, look at some of my progress :) i have to continue filling out the rest of this page, I spent a lot of time digging for more videos and thinking about how I want to organize the technical parts of this page. Thank you for reading. <3"}, {"post_id": 47316, "ts": "2026-08-15T06:00:38Z", "hours": 10.5433, "text": "Devlog #3 ᯓ★ OOPS I totally forgot to post, this is progress over the last 2 weeks!!! I’ve been really busy with school now that I’m a senior. Good news though - I think I finally got a feel for how I want the rest of my website to feel basically. Heres a full tour of what I have so far. What I’ve done: LOTS of visual updates Filled out (almost) all of my sections Added a cool interactive card view for my biggest projects! Infinite carousel for some of my recent artworks!! (Not filled out yet) This might not seem like a lot for 10 hours but trust me trying to make this fit my liking took SO long…. It’s also been a lot more than just the editing, lots of prep work going into picking out what pictures to display, thinking about my ToS, other achievements…. :D My next plans are to… Add my artwork into the gallery Robotics & Regatta Pages (hopefully) I also forgot to add this in my original post but I spent a lot of time trying to make my website mobile friendly as well."}, {"post_id": 35606, "ts": "2026-07-27T04:26:32Z", "hours": 5.7475, "text": "Devlog #2 ᯓ★ I might’ve forgotten to post my progress (whoops) but I’ve made significant progress on my website !! I’m still working on formatting my things so the github won’t be updated for a while. Changes: Responsive Navigation Bar New artwork Robotics page ( work in progress) -Decided on a color palette These changes might not seem like much… BUT a lot of my time has been spent preparing to add stuff onto my robotics page!! I’ve sorted through some of the photos that had been taken throughout the 2026 season, and I’ve also been looking at some photos I can include for the Solar Regatta section. Doing this also had me learning how to render some of the CAD work I’ve done, so I’ll be providing examples below ~ Next Steps ᯓ★ Reformat the showcase section Work on robotics page There are more things I plan on doing, but I’m really just going with the flow and learning new things!!! I’m happy with how far I’ve come with this website."}, {"post_id": 31789, "ts": "2026-07-20T13:44:24Z", "hours": 5.6361, "text": "My First Devlog ᯓ★ https://leafllm.github.io/leafLLM/ Hi hi!! I’m Leaf, and I decided for my first project to be a personal website. This is something I’ve been putting off for 3 years. Over the past 3 days, I’ve been taking it easy, and now I am slowly adding a few little features to this project! Some of the things I’ve added: FAQ Section ★ If I’m being honest, this was one of the annoying things to program because it involves JavaScript. It was supposed to be a simple tutorial that I followed and then I managed to overcomplicate it. I’m pleased with the results, though! You can see some older iterations in the pictures below Filled out ’About me ★ This section was pretty easy to write about, but originally, there wasn’t supposed to be anything about engineering! This was supposed to be a commission website, but I realize that this is impressive along with the other things I’ve managed to achieve >w< (You’ll get to see as I make progress!) Showcase section ★ There’s not much to say about this, as I already described it, but the progress on this is going well. I spent the night gathering the pictures I want to display, so stay tuned!!! Gallery There’s…. Nothing in there. Yet. But something is better than nothing. So What’s Next? ✦ Uhh.. Well, I don’t have a strict plan for this. I have a couple of vague ideas, such as Fill out the showcase section Add images Animate it (?) Fix the Right Column with the hyperlinks Add my socials Figuring out what artwork to display in my gallery … and a lot more. I may or may not focus on redoing the artwork that’s showcased on the right, she’s just a placeholder for now. Along with that, I want to design a favicon for my website too! With that comes figuring out the color palette for my website. But that’s a future issue. I’d like to showcase some draft ideas that I created long before I started this project. See you in my next post! ᶻ 𝗓 𐰁"}]...
|
Title: Personal Website/Portfolio by @Leaf | Stard Title: Personal Website/Portfolio by @Leaf | Stardance
Devlogs:
My First Devlog ᯓ★ https://leafllm.github.io/leafLLM/ Hi hi!! I’m Leaf, and I decided for my first project to be a personal website. This is something I’ve been putting off for 3 years. Over the past 3 days, I’ve been taking it easy, and now I am slowly adding a few little features to this project! Some of the things I’ve added: FAQ Section ★ If I’m being honest, this was one of the annoying things to program because it involves JavaScript. It was supposed to be a simple tutorial that I followed and then I managed to overcomplicate it. I’m pleased with the results, though! You can see some older iterations in the pictures below Filled out ’About me ★ This section was pretty easy to write about, but originally, there wasn’t supposed to be anything about engineering! This was supposed to be a commission website, but I realize that this is impressive along with the other things I’ve managed to achieve >w< (You’ll get to see as I make progress!) Showcase section ★ There’s not much to say about this, as I already described it, but the progress on this is going well. I spent the night gathering the pictures I want to display, so stay tuned!!! Gallery There’s…. Nothing in there. Yet. But something is better than nothing. So What’s Next? ✦ Uhh.. Well, I don’t have a strict plan for this. I have a couple of vague ideas, such as Fill out the showcase section Add images Animate it (?) Fix the Right Column with the hyperlinks Add my socials Figuring out what artwork to display in my gallery … and a lot more. I may or may not focus on redoing the artwork that’s showcased on the right, she’s just a placeholder for now. Along with that, I want to design a favicon for my website too! With that comes figuring out the color palette for my website. But that’s a future issue. I’d like to showcase some draft ideas that I created long before I started this project. See you in my next post! ᶻ 𝗓 𐰁
Devlog #2 ᯓ★ I might’ve forgotten to post my progress (whoops) but I’ve made significant progress on my website !! I’m still working on formatting my things so the github won’t be updated for a while. Changes: Responsive Navigation Bar New artwork Robotics page ( work in progress) -Decided on a color palette These changes might not seem like much… BUT a lot of my time has been spent preparing to add stuff onto my robotics page!! I’ve sorted through some of the photos that had been taken throughout the 2026 season, and I’ve also been looking at some photos I can include for the Solar Regatta section. Doing this also had me learning how to render some of the CAD work I’ve done, so I’ll be providing examples below ~ Next Steps ᯓ★ Reformat the showcase section Work on robotics page There are more things I plan on doing, but I’m really just going with the flow and learning new things!!! I’m happy with how far I’ve come with this website.
Devlog #3 ᯓ★ OOPS I totally forgot to post, this is progress over the last 2 weeks!!! I’ve been really busy with school now that I’m a senior. Good news though - I think I finally got a feel for how I want the rest of my website to feel basically. Heres a full tour of what I have so far. What I’ve done: LOTS of visual updates Filled out (almost) all of my sections Added a cool interactive card view for my biggest projects! Infinite carousel for some of my recent artworks!! (Not filled out yet) This might not seem like a lot for 10 hours but trust me trying to make this fit my liking took SO long…. It’s also been a lot more than just the editing, lots of prep work going into picking out what pictures to display, thinking about my ToS, other achievements…. :D My next plans are to… Add my artwork into the gallery Robotics & Regatta Pages (hopefully) I also forgot to add this in my original post but I spent a lot of time trying to make my website mobile friendly as well.
Devlog #4 ᯓ★ this isn’t gonna be the most informative post, instead I do wanna apologize for the lack of updates…!! i’ve gotten busy with school, seems like an excuse but applying for college is stressful and a lot!!! taking calculus & studying for every class ever blocks up my schedule. this three day weekend has given me the time to pick up on this project again and I couldn’t be happier. I’ve been making some progress in FRC so there is a lot to add to this page. I’ve started learning to program while I’ve been away so that’ll be showcased on here… hopefully. While this is a filler post, look at some of my progress :) i have to continue filling out the rest of this page, I spent a lot of time digging for more videos and thinking about how I want to organize the technical parts of this page. Thank you for reading. <3
Devlog #5 ᯓ★ okay honestly im writing this just to ship it, this devlog includes a big ol UI overhaul because it wasn’t pretty. and developing the robotics page further. (declaring big ol ai usage for this one because I spent a lot of time learning to build it all) at some point when im free id like to draw the assets on the page. whatever I have now is just a placeholder of what i want honestly this project wasn’t meant to take so long but I’ve gotten so busy the little prototype of what my robotics page is supposed to look like when I actually fill it out all the way the problem is im actively working everyday?! so i haven’t had the time to go in, my portfolio is technically just building itself everyday. i dont have a favicon yet either.
Ships:
I made a personal website so that people get to know more about me and what I’ve been up to! I’m starting to work on tons of things, and I want a place to store it without having to pull up a bajillion pictures from my gallery. Check out my README for more details, but it’s functional… This ship is just to get this really out there !!! (although, it actually has been for months, didn’t know you can reship and thought shipping meant finalized….)...
|
1793620248.447185
|
1793706648.447185
|
|
66691
|
Gym Tracker by @lousaephanh5 | Stardance
|
lousaephanh5
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Gym Tracker by @lousaephanh5 | Stardance
|
1793101847.9865375
|
1793706647.9865375
|
|
10564
|
ZeroX - Cute Slack Bot! by @AuraZod | Stardance
|
AuraZod
|
1
|
3.3
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-08T19:53:55Z", "hours": 3.0, "multiplier": 1.64, "payout": 5, "blessing": "neutral", "text": "A Simple Slack bot, Overall development was more of a fun than challenging but still had some issues with understanding the multiple token and slashes being registered separetly. I’m proud of how i handled the project even tho it was my first time working with bolt js (where i work mostly in python). you can test out the bot in HackClub Slack Communiy with cmnds specified in readme or use /zr-help.", "repo": "https://github.com/AuraZod/ZeroX-SlackBot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0B95V123TQ"}]...
|
[{"post_id": 5444, "ts": "2026 [{"post_id": 5444, "ts": "2026-06-09T06:57:42Z", "hours": 0.2961, "text": "Updated Bot’s repo & project to contain link to directly try out bot instead of just youtube video. Updated deployment method to also contain guide for pm2. Specified ai usage in readme. you can try the bot here : https://app.slack.com/client/E09V59WQY1E/C0B95V123TQ"}, {"post_id": 5096, "ts": "2026-06-08T19:44:54Z", "hours": 3.2167, "text": "been working on the zerox slack bot transition. struggled with event subscriptions and socket mode on the dashboard since it kept asking for a request url — had to toggle socket mode first to bypass it. also had to invite the bot to the channel manually to get app_mention to trigger. rewrote the parser to clean the mention tag, colons, and spaces because it was throwing a fit and fallbacking to help menu. ran into background instances of node load balancing socket mode connection, killed them with stop-process to get it working. ask and roast commands updated to show the original prompt at the top. cleaned up deploy.md and slackbot.service for root systemd deployment. Finally made the first draft for it. bot is up and working. I was clueless at first on what to create for project on hackclub & then just made slack bot as it will give me idea on how things work. It was different and unique experience compared to discord bot developing (Which I mostly works on)."}]...
|
Title: ZeroX - Cute Slack Bot! by @AuraZod | Stard Title: ZeroX - Cute Slack Bot! by @AuraZod | Stardance
Devlogs:
been working on the zerox slack bot transition. struggled with event subscriptions and socket mode on the dashboard since it kept asking for a request url — had to toggle socket mode first to bypass it. also had to invite the bot to the channel manually to get app_mention to trigger. rewrote the parser to clean the mention tag, colons, and spaces because it was throwing a fit and fallbacking to help menu. ran into background instances of node load balancing socket mode connection, killed them with stop-process to get it working. ask and roast commands updated to show the original prompt at the top. cleaned up deploy.md and slackbot.service for root systemd deployment. Finally made the first draft for it. bot is up and working. I was clueless at first on what to create for project on hackclub & then just made slack bot as it will give me idea on how things work. It was different and unique experience compared to discord bot developing (Which I mostly works on).
Updated Bot’s repo & project to contain link to directly try out bot instead of just youtube video. Updated deployment method to also contain guide for pm2. Specified ai usage in readme. you can try the bot here : https://app.slack.com/client/E09V59WQY1E/C0B95V123TQ
Ships:
A Simple Slack bot, Overall development was more of a fun than challenging but still had some issues with understanding the multiple token and slashes being registered separetly. I’m proud of how i handled the project even tho it was my first time working with bolt js (where i work mostly in python). you can test out the bot in HackClub Slack Communiy with cmnds specified in readme or use /zr-help....
|
1793620247.2942853
|
1793706647.2942853
|
|
24500
|
My portfolio by @fraa2a | Stardance
|
fraa2a
|
1
|
3.0
|
25
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-23T11:41:00Z", "hours": 3.0, "multiplier": 7.23, "payout": 25, "blessing": "neutral", "text": "Today I built my first simple portfolio.I had never really learned frontend development before, but today felt different. I actually enjoyed working on something personal: a small, minimal and efficient portfolio that represents me.I know it is simple, but that is exactly what I wanted. I like things that are clean, direct and minimal. No unnecessary noise, just something that works and feels mine. I learnt how to better use CSS (i knew 0 css before this project). I used iconify icons dependency for the icons. I implemented a simple localstorage save for the theme color preferency. I honestly did not expect to have fun writing CSS, but somehow I did. Im still thinking in improving my portfolio in the future!", "repo": "https://github.com/fraa2a/portfolio/", "demo": "https://fraa2a.top"}]...
|
[{"post_id": 14284, "ts": "202 [{"post_id": 14284, "ts": "2026-06-23T10:34:29Z", "hours": 3.4456, "text": "Today I built my first simple portfolio.I had never really learned frontend development before, but today felt different. I actually enjoyed working on something personal: a small, minimal and efficient portfolio that represents me.I know it is simple, but that is exactly what I wanted. I like things that are clean, direct and minimal. No unnecessary noise, just something that works and feels mine. I learnt how to better use CSS (i knew 0 css before this project). I used iconify icons dependency for the icons. I implemented a simple localstorage save for the theme color preferency. I honestly did not expect to have fun writing CSS, but somehow I did."}]...
|
Title: My portfolio by @fraa2a | Stardance
Devlog Title: My portfolio by @fraa2a | Stardance
Devlogs:
Today I built my first simple portfolio.I had never really learned frontend development before, but today felt different. I actually enjoyed working on something personal: a small, minimal and efficient portfolio that represents me.I know it is simple, but that is exactly what I wanted. I like things that are clean, direct and minimal. No unnecessary noise, just something that works and feels mine. I learnt how to better use CSS (i knew 0 css before this project). I used iconify icons dependency for the icons. I implemented a simple localstorage save for the theme color preferency. I honestly did not expect to have fun writing CSS, but somehow I did.
Ships:
Today I built my first simple portfolio.I had never really learned frontend development before, but today felt different. I actually enjoyed working on something personal: a small, minimal and efficient portfolio that represents me.I know it is simple, but that is exactly what I wanted. I like things that are clean, direct and minimal. No unnecessary noise, just something that works and feels mine. I learnt how to better use CSS (i knew 0 css before this project). I used iconify icons dependency for the icons. I implemented a simple localstorage save for the theme color preferency. I honestly did not expect to have fun writing CSS, but somehow I did. Im still thinking in improving my portfolio in the future!...
|
1793620246.0831196
|
1793706646.0831196
|
|
66690
|
gear relation mechanism by @JACKERSON | Stardance
|
JACKERSON
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: gear relation mechanism by @JACKERSON | Sta Title: gear relation mechanism by @JACKERSON | Stardance...
|
1793101845.968229
|
1793706645.968229
|
|
1
|
Stardance by @cskartikey | Stardance
|
cskartikey
|
1
|
29.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T19:59:43Z", "hours": 29.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "the composer is a bit cursed here", "repo": "https://github.com/hackclub/stardance", "demo": "https://stardance.hackclub.com/"}]...
|
[{"post_id": 10539, "ts": "202 [{"post_id": 10539, "ts": "2026-06-17T09:41:45Z", "hours": 0.9631, "text": "so we now support slack/custom emotes?"}, {"post_id": 10209, "ts": "2026-06-16T20:36:13Z", "hours": 23.1436, "text": "I think we now support multiple attachments!? (well, we always did.. it’s just complicated) and holy I need to work on this composer"}, {"post_id": 1, "ts": "2026-05-31T05:36:16Z", "hours": 4.6261, "text": "Welcome to Stardance!"}]...
|
Title: Stardance by @cskartikey | Stardance
Devlo Title: Stardance by @cskartikey | Stardance
Devlogs:
Welcome to Stardance!
I think we now support multiple attachments!? (well, we always did.. it’s just complicated) and holy I need to work on this composer
so we now support slack/custom emotes?
Ships:
the composer is a bit cursed here...
|
1793620244.93072
|
1793706644.93072
|
|
66689
|
Rock Paper Scissors by @i-do_random-shit_ | Starda Rock Paper Scissors by @i-do_random-shit_ | Stardance...
|
i-do_random-shit_
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Rock Paper Scissors by @i-do_random-shit_ | Title: Rock Paper Scissors by @i-do_random-shit_ | Stardance...
|
1793101844.2281764
|
1793706644.2281764
|
|
22382
|
The Art Archive by @danielSan | Stardance
|
danielSan
|
1
|
87.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T06:23:28Z", "hours": 87.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello everyone! This is my first public app called “The Art Archive.” I created this app fully driven by the hope of bringing back humanity’s hope into technology, and to try to encourage human to use technology the way we first thought we would: to learn and expand our knowledge. Also, art has also lost popularity in the past decades, and its sad to see that, as it is a stunningly beautiful way at which we get to get a tiny bit of the interior of the artist’s heart. So… Why not create an app that encourages you to learn new artworks? The Art Archive is divided into two sections: A homeView at which you get to see each day anew different artwork, which should be the view you will mostly use daily, and an archive view at which you get to see and search every artwork available in the app, and if you need more information about the artwork, you can simply click on it to get a full view about all the available information of it, plus a full size photo of the artwork that you can safe by tapping on it and a link to the page web of the museum where the artwork is at the moment. The app follows an easy yet non-addictive design made to focus the user into the artwork, rather than hypnotizing them into using it constantly (or doom-scrolling). And although it looks like an easy app, there has been quite some difficulty in the development of it: making a landscape view was really hard since it doesn’t use an official Apple list. Also, each artwork was copied by hand, in order to keep all the content of the app local and avoid the need of internet connection to access those, while keeping it under 60MB and with their respective images also included offline. And that’s it for now! I’m looking forward to see everyone’s feedback! Thanks in advance for this opportunity and for giving my app a chance!", "repo": "https://github.com/Daniel1089/The-Art-Archive", "demo": "https://testflight.apple.com/join/D8UUZzEp"}]...
|
[{"post_id": 84141, "ts": "202 [{"post_id": 84141, "ts": "2026-10-29T05:24:20Z", "hours": 5.2419, "text": "Hello dear coders! How has this past week been? I am glad to let you guys know that the first prototype is finally done 🥳. And just in time for the end of Stardance! (How amazing is that?) Anyways, let me walk you through the last updates I have done to the app. Firstly, I have polished some minor details of the homeView, such as its horizontal view, or the way some background colors would interfere with the main text and not let users read clearly. Furthermore, I have also created a proper model so that it makes sure that each day you get a different artwork, and they don’t repeat themselves again. In addition, I have also added the app onto TestFlight, so that everyone can get a chance to try the app. Finally, I have also created a proper README, in which I clearly explain the purpose of the app. This has been an incredible journey! But that’s it (for now) fellow coders! Hope I can see some of you again."}, {"post_id": 78940, "ts": "2026-10-12T03:30:49Z", "hours": 10.2206, "text": "Hello fellow coders! Welcome to another devlog! It is now my time to share all the updates I have done to the app’s UI during this past week. Firstly, I started the development of the homeView, which looks really good so far! I have tried to keep the design familiar to what the infoView is like, so that it creates a sense of uniformity and familiarity to the user. Furthermore, I have also changed the tabView, so that, if you want to change between tabs, you can now simply slide between views, with no visible tab, so that you can use as much of the screen as possible. There are some things at which I am working on at the moment, but that I would like to finally share once they are refined and tested. Thanks for everything and see you really soon dear coders!"}, {"post_id": 76058, "ts": "2026-10-02T06:51:02Z", "hours": 10.0589, "text": "Hello dear coders! Welcome to another devlog! Just like I promised on last devlog, I have been profoundly working on the design itself of the app, since the database is now done, and I would like to show you some incredible changes we have done to make the experience as satisfying yet easy as possible. Firstly, you can now notice that we are using two main colors, instead of 1, extracted from the main artwork as both background and font colors, which make the view feel more “alive”. Also, I have now added both the name of the artwork and author on the “archive view”, which I hope you guys find more useful to identify artwork. Moreover, the most exciting feature for me to develop at the moment has been a proper landscape view, at which I have eliminated unnecessary elements (like title of the view or that long search bar) and substituted them for some more friendly alternatives, so that users can enjoy on this format without any big distractions. Furthermore, now the information view of each artwork includes a link to the web page of the museum where the data has been collected. That’s it for now! Thank you so much for everything, and see you really soon for more updates on the development of this app."}, {"post_id": 74223, "ts": "2026-09-26T23:33:32Z", "hours": 9.7308, "text": "Hello fellow coders to another devlog of my app! First of all, I am really excited for the announcement of the extension on stardande! It will allow me to be able to finish the app correctly without the need of rushing. Also, I would expect more devlogs as the date gets closer, as I am gonna try to focus harder on this project on the next few weeks. And even though there is not much to share (yet), I wanted to share some big news: The database is finally done!!! (yay). There will be a total of 400 selected artworks from all sorts of cultures available with their respective photo (at least on this basic version). And if you are wondering the reason why I am making my on database instead of just using an API, it’s for both ensuring a better look and simplicity + being able to access the app without the need of an internet connection. Even though I can not share any other news (yet), I would suggest staying tuned, as there are still many things to be unveiled about the app. See you soon!"}, {"post_id": 68466, "ts": "2026-09-15T04:52:10Z", "hours": 9.9583, "text": "Hello everyone! Welcome to another devlog about my app called “The Art Archive”. Firstly, I know I said the design of the menu of the Archive was already finished, but I felt like the old design wasn’t good enough, and I updated it to adapt to the size of the picture of the artwork. Sadly, that is all I can show at the moment, since I am currently working on polishing both the information view and the database, plus starting to design the home view. I will give you some updates really soon! See you all really soon!"}, {"post_id": 55650, "ts": "2026-08-27T16:39:51Z", "hours": 9.8736, "text": "Welcome to another devlog about my app called “The Art Archive”! Today I wanted to give some updates on what I have been working on for the past few weeks. Firstly, I have started developing a new screen at which you will be able to find all the information available about that artwork. And, even through there is still a long way to go on the development of the view, I would say that at the moment it is looking promising. Also, I have changed the artworks background colors and made them dynamic, so that they match the main color of it. Furthermore, I have also made some changes to the database, and I am expecting to finish it really soon, so that I can finally spend all my time developing and polishing the app’s design. And that is all the news I can share at the moment. I will see you all on the next devlog! Have a great day!"}, {"post_id": 39651, "ts": "2026-08-02T19:34:57Z", "hours": 10.3158, "text": "Hello! Welcome back to another devlog. Today I’m here to talk about some improvements that have been made onto the app UI, like a proper adaptation to the new header introduced in iOS 27, plus further improvements on the hierarchy of the cards typography. Moreover, there have been some minor changes made to the database of the art gallery with the addition of new artworks to it. In future updates, I am looking for making further improvements on the archive view before starting to develop the mainView and its system, plus adding some extra artworks onto the database. Hope you guys like how the app is looking so far! See you in the next devlog!"}, {"post_id": 27807, "ts": "2026-07-13T18:02:30Z", "hours": 9.9914, "text": "Hello Everyone! I wanted to give you some updates on my current project. Lately I have been updating the database and including some artworks from the Greek and British culture that I have found quite interesting. I have also started to plan the look of the UI, but I have not started developing it yet, since I would prefer to finish the database of the app before doing further changes to the UI. I will update the development of the app very soon with further changes at another devlog!"}, {"post_id": 22433, "ts": "2026-07-04T22:01:07Z", "hours": 11.1153, "text": "Hello everyone! Welcome to my first devlog ever about this new project I am currently developing during my free time, and which has been mainly driven by my love for art. Now, I would like to show you what I have been working on for the past week. Firstly, I have created a really basic interface (which will be updated later) and divided the app into two tabs: one tab called “home”, which has not been developed yet but it is planned to show 1 random artwork per day, and another one called “archive”, where all of the artworks are stored and can be accessed at any minute. Right now I am currently developing the database for the app, and obtaining all the necessary data from the MET museum. I am looking forward to sharing further progress in future devlogs!"}]...
|
Title: The Art Archive by @danielSan | Stardance
Title: The Art Archive by @danielSan | Stardance
Devlogs:
Hello everyone! Welcome to my first devlog ever about this new project I am currently developing during my free time, and which has been mainly driven by my love for art. Now, I would like to show you what I have been working on for the past week. Firstly, I have created a really basic interface (which will be updated later) and divided the app into two tabs: one tab called “home”, which has not been developed yet but it is planned to show 1 random artwork per day, and another one called “archive”, where all of the artworks are stored and can be accessed at any minute. Right now I am currently developing the database for the app, and obtaining all the necessary data from the MET museum. I am looking forward to sharing further progress in future devlogs!
Hello Everyone! I wanted to give you some updates on my current project. Lately I have been updating the database and including some artworks from the Greek and British culture that I have found quite interesting. I have also started to plan the look of the UI, but I have not started developing it yet, since I would prefer to finish the database of the app before doing further changes to the UI. I will update the development of the app very soon with further changes at another devlog!
Hello! Welcome back to another devlog. Today I’m here to talk about some improvements that have been made onto the app UI, like a proper adaptation to the new header introduced in iOS 27, plus further improvements on the hierarchy of the cards typography. Moreover, there have been some minor changes made to the database of the art gallery with the addition of new artworks to it. In future updates, I am looking for making further improvements on the archive view before starting to develop the mainView and its system, plus adding some extra artworks onto the database. Hope you guys like how the app is looking so far! See you in the next devlog!
Welcome to another devlog about my app called “The Art Archive”! Today I wanted to give some updates on what I have been working on for the past few weeks. Firstly, I have started developing a new screen at which you will be able to find all the information available about that artwork. And, even through there is still a long way to go on the development of the view, I would say that at the moment it is looking promising. Also, I have changed the artworks background colors and made them dynamic, so that they match the main color of it. Furthermore, I have also made some changes to the database, and I am expecting to finish it really soon, so that I can finally spend all my time developing and polishing the app’s design. And that is all the news I can share at the moment. I will see you all on the next devlog! Have a great day!
Hello everyone! Welcome to another devlog about my app called “The Art Archive”. Firstly, I know I said the design of the menu of the Archive was already finished, but I felt like the old design wasn’t good enough, and I updated it to adapt to the size of the picture of the artwork. Sadly, that is all I can show at the moment, since I am currently working on polishing both the information view and the database, plus starting to design the home view. I will give you some updates really soon! See you all really soon!
Hello fellow coders to another devlog of my app! First of all, I am really excited for the announcement of the extension on stardande! It will allow me to be able to finish the app correctly without the need of rushing. Also, I would expect more devlogs as the date gets closer, as I am gonna try to focus harder on this project on the next few weeks. And even though there is not much to share (yet), I wanted to share some big news: The database is finally done!!! (yay). There will be a total of 400 selected artworks from all sorts of cultures available with their respective photo (at least on this basic version). And if you are wondering the reason why I am making my on database instead of just using an API, it’s for both ensuring a better look and simplicity + being able to access the app without the need of an internet connection. Even though I can not share any other news (yet), I would suggest staying tuned, as there are still many things to be unveiled about the app. See you soon!
Hello dear coders! Welcome to another devlog! Just like I promised on last devlog, I have been profoundly working on the design itself of the app, since the database is now done, and I would like to show you some incredible changes we have done to make the experience as satisfying yet easy as possible. Firstly, you can now notice that we are using two main colors, instead of 1, extracted from the main artwork as both background and font colors, which make the view feel more “alive”. Also, I have now added both the name of the artwork and author on the “archive view”, which I hope you guys find more useful to identify artwork. Moreover, the most exciting feature for me to develop at the moment has been a proper landscape view, at which I have eliminated unnecessary elements (like title of the view or that long search bar) and substituted them for some more friendly alternatives, so that users can enjoy on this format without any big distractions. Furthermore, now the information view of each artwork includes a link to the web page of the museum where the data has been collected. That’s it for now! Thank you so much for everything, and see you really soon for more updates on the development of this app.
Hello fellow coders! Welcome to another devlog! It is now my time to share all the updates I have done to the app’s UI during this past week. Firstly, I started the development of the homeView, which looks really good so far! I have tried to keep the design familiar to what the infoView is like, so that it creates a sense of uniformity and familiarity to the user. Furthermore, I have also changed the tabView, so that, if you want to change between tabs, you can now simply slide between views, with no visible tab, so that you can use as much of the screen as possible. There are some things at which I am working on at the moment, but that I would like to finally share once they are refined and tested. Thanks for everything and see you really soon dear coders!
Hello dear coders! How has this past week been? I am glad to let you guys know that the first prototype is finally done 🥳. And just in time for the end of Stardance! (How amazing is that?) Anyways, let me walk you through the last updates I have done to the app. Firstly, I have polished some minor details of the homeView, such as its horizontal view, or the way some background colors would interfere with the main text and not let users read clearly. Furthermore, I have also created a proper model so that it makes sure that each day you get a different artwork, and they don’t repeat themselves again. In addition, I have also added the app onto TestFlight, so that everyone can get a chance to try the app. Finally, I have also created a proper README, in which I clearly explain the purpose of the app. This has been an incredible journey! But that’s it (for now) fellow coders! Hope I can see some of you again.
Ships:
Hello everyone! This is my first public app called “The Art Archive.” I created this app fully driven by the hope of bringing back humanity’s hope into technology, and to try to encourage human to use technology the way we first thought we would: to learn and expand our knowledge. Also, art has also lost popularity in the past decades, and its sad to see that, as it is a stunningly beautiful way at which we get to get a tiny bit of the interior of the artist’s heart. So… Why not create an app that encourages you to learn new artworks? The Art Archive is divided into two sections: A homeView at which you get to see each day anew different artwork, which should be the view you will mostly use daily, and an archive view at which you get to see and search every artwork available in the app, and if you need more information about the artwork, you can simply click on it to get a full view about all the available information of it, plus a full size photo of the artwork that you can safe by tapping on it and a link to the page web of the museum where the artwork is at the moment. The app follows an easy yet non-addictive design made to focus the user into the artwork, rather than hypnotizing them into using it constantly (or doom-scrolling). And although it looks like an easy app, there has been quite some difficulty in the development of it: making a landscape view was really hard since it doesn’t use an official Apple list. Also, each artwork was copied by hand, in order to keep all the content of the app local and avoid the need of internet connection to access those, while keeping it under 60MB and with their respective images also included offline. And that’s it for now! I’m looking forward to see everyone’s feedback! Thanks in advance for this opportunity and for giving my app a chance!...
|
1793620243.7156637
|
1793706643.7156637
|
|
57627
|
Portfolio by @faisalshayan | Stardance
|
faisalshayan
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T22:30:05Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So i build a Portfolio Builder in which you can get a landing page in minutes without explaining it from the start what needs to be build. The most Challenging part was to hide the api key from the frontend. It is completely free and Will happy to get some reviews!", "repo": "https://github.com/NEXWEB-dot/PortAI", "demo": "https://nexweb-dot.github.io/PortAI/"}]...
|
[{"post_id": 60525, "ts": "202 [{"post_id": 60525, "ts": "2026-09-02T22:26:59Z", "hours": 1.1564, "text": "Finished the web open for testing Will be happy to get some reviews! It is a portfolio builder"}, {"post_id": 60441, "ts": "2026-09-02T19:30:59Z", "hours": 0.3408, "text": "Devlog #1 — AI Portfolio Builder What I’m building: An AI-powered portfolio generator where anyone can fill in their name, skills, projects and social links and instantly get a fully designed, downloadable portfolio website. No coding required. Why I built this: Most people don’t know how to make a portfolio. I wanted to make it so anyone — a student, a freelancer, a developer — can get a professional portfolio in under 2 minutes just by filling a form. What I did today: Set up the project structure in Cursor Designed the landing page UI with a clean dark theme Built the multi-step form (name, bio, skills, projects, links) Integrated Gemini AI API to generate portfolio HTML from user input Added live preview so users can see their portfolio before downloading Tech stack: TypeScript,JSON,Javascript Google Gemini API for AI generation Github Deployment Challenges: Getting the AI to generate clean, structured HTML consistently took some prompt engineering. Had to be very specific in the system prompt. What’s next: Add theme selection (dark/light) Add download as HTML button Polish mobile responsiveness Ship it!"}]...
|
Title: Portfolio by @faisalshayan | Stardance
Dev Title: Portfolio by @faisalshayan | Stardance
Devlogs:
Devlog #1 — AI Portfolio Builder What I’m building: An AI-powered portfolio generator where anyone can fill in their name, skills, projects and social links and instantly get a fully designed, downloadable portfolio website. No coding required. Why I built this: Most people don’t know how to make a portfolio. I wanted to make it so anyone — a student, a freelancer, a developer — can get a professional portfolio in under 2 minutes just by filling a form. What I did today: Set up the project structure in Cursor Designed the landing page UI with a clean dark theme Built the multi-step form (name, bio, skills, projects, links) Integrated Gemini AI API to generate portfolio HTML from user input Added live preview so users can see their portfolio before downloading Tech stack: TypeScript,JSON,Javascript Google Gemini API for AI generation Github Deployment Challenges: Getting the AI to generate clean, structured HTML consistently took some prompt engineering. Had to be very specific in the system prompt. What’s next: Add theme selection (dark/light) Add download as HTML button Polish mobile responsiveness Ship it!
Finished the web open for testing Will be happy to get some reviews! It is a portfolio builder
Ships:
So i build a Portfolio Builder in which you can get a landing page in minutes without explaining it from the start what needs to be build. The most Challenging part was to hide the api key from the frontend. It is completely free and Will happy to get some reviews!...
|
1793620242.5204995
|
1793706642.5204995
|
|
66688
|
My own site! by @Srishti_Rai6767 | Stardance
|
Srishti_Rai6767
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @Srishti_Rai6767 | Stardanc Title: My own site! by @Srishti_Rai6767 | Stardance...
|
1793101842.4858265
|
1793706642.4858265
|
|
66687
|
Aibot by @Sai_Shreyansh | Stardance
|
Sai_Shreyansh
|
0
|
2.97
|
0
|
[]
|
[{"post_id": 79000, "ts": "202 [{"post_id": 79000, "ts": "2026-10-12T09:36:18Z", "hours": 1.7594, "text": "Just did another grind rn"}, {"post_id": 75134, "ts": "2026-09-29T07:53:45Z", "hours": 0.5397, "text": "tried smth in vs code, keep getting errors fr some reason"}, {"post_id": 75116, "ts": "2026-09-29T05:36:14Z", "hours": 0.6708, "text": "Aibot, finished with the schematics(not perfect but its alright ig)"}]...
|
Title: Aibot by @Sai_Shreyansh | Stardance
Devlog Title: Aibot by @Sai_Shreyansh | Stardance
Devlogs:
Aibot, finished with the schematics(not perfect but its alright ig)
tried smth in vs code, keep getting errors fr some reason
Just did another grind rn...
|
1793101841.6076102
|
1793706641.6076102
|
|
27130
|
Tic Tac Toe Bot by @Joshua_Westrick | Stardance
|
Joshua_Westrick
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T13:58:50Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Tic Tac Toe game you play with a bot. Coding it was a little hard at points but made it better. I’m proud of the auto detection when someone wins", "repo": "https://github.com/DizzyCow3DPrints/Tic-Tac-Toe-Bot", "demo": "https://www.online-python.com/7jW5cpSyNM"}]...
|
[{"post_id": 19193, "ts": "202 [{"post_id": 19193, "ts": "2026-06-30T13:40:57Z", "hours": 4.3119, "text": "I forgot to post devlog. I have finished the python and almost done with the README.md file."}]...
|
Title: Tic Tac Toe Bot by @Joshua_Westrick | Stard Title: Tic Tac Toe Bot by @Joshua_Westrick | Stardance
Devlogs:
I forgot to post devlog. I have finished the python and almost done with the README.md file.
Ships:
I made a Tic Tac Toe game you play with a bot. Coding it was a little hard at points but made it better. I’m proud of the auto detection when someone wins...
|
1793620241.3750055
|
1793706641.3750055
|
|
28828
|
Personal Site by @yassinbs | Stardance
|
yassinbs
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T17:01:53Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a personal website using HTML and CSS. It includes a navigation bar, an About section, a Projects section, and a Contact section. I also added a profile image and styled everything with custom CSS to make it look clean and modern. The hardest part was fixing layout issues, especially getting the text and image to align correctly in the hero section. I also had to experiment a bit with CSS properties like margin, padding, and display to make everything look balanced. I’m proud that I was able to turn a basic HTML structure into a fully styled website with multiple sections that actually look good and work properly. I also like the design I ended up with after tweaking colors and spacing. It’s a simple personal website. You can scroll through different sections using the navigation bar, and clicking the links will jump to each part of the page. It works best on a desktop browser, and no setup is required—just open the site.", "repo": "https://github.com/guccmanegu-eng/personal-site", "demo": "https://guccmanegu-eng.github.io/personal-site/"}]...
|
[{"post_id": 19347, "ts": "202 [{"post_id": 19347, "ts": "2026-06-30T16:58:05Z", "hours": 1.0386, "text": "Personal Website Devlog #1 Today I spent about an hour building my personal website. I started by creating the basic HTML structure, then added a navigation bar along with About, Projects, and Contact sections. After that, I linked an external CSS file and worked on styling the page. I experimented with different colors, fonts, spacing, borders, and rounded corners until I found a layout I liked. I also added a profile image and project cards. I ran into a small issue where the first line of text was appearing next to my profile picture instead of below it. After adjusting the CSS, I got the layout working the way I wanted. Finally, I cleaned up the code, checked that all of the navigation links worked correctly, and made a few final tweaks to the spacing and overall appearance. Overall, I’m happy with how the site turned out, and I learned a lot more about structuring pages with HTML and styling them with CSS."}]...
|
Title: Personal Site by @yassinbs | Stardance
Dev Title: Personal Site by @yassinbs | Stardance
Devlogs:
Personal Website Devlog #1 Today I spent about an hour building my personal website. I started by creating the basic HTML structure, then added a navigation bar along with About, Projects, and Contact sections. After that, I linked an external CSS file and worked on styling the page. I experimented with different colors, fonts, spacing, borders, and rounded corners until I found a layout I liked. I also added a profile image and project cards. I ran into a small issue where the first line of text was appearing next to my profile picture instead of below it. After adjusting the CSS, I got the layout working the way I wanted. Finally, I cleaned up the code, checked that all of the navigation links worked correctly, and made a few final tweaks to the spacing and overall appearance. Overall, I’m happy with how the site turned out, and I learned a lot more about structuring pages with HTML and styling them with CSS.
Ships:
I built a personal website using HTML and CSS. It includes a navigation bar, an About section, a Projects section, and a Contact section. I also added a profile image and styled everything with custom CSS to make it look clean and modern. The hardest part was fixing layout issues, especially getting the text and image to align correctly in the hero section. I also had to experiment a bit with CSS properties like margin, padding, and display to make everything look balanced. I’m proud that I was able to turn a basic HTML structure into a fully styled website with multiple sections that actually look good and work properly. I also like the design I ended up with after tweaking colors and spacing. It’s a simple personal website. You can scroll through different sections using the navigation bar, and clicking the links will jump to each part of the page. It works best on a desktop browser, and no setup is required—just open the site....
|
1793620240.2304833
|
1793706640.2304833
|
|
66686
|
Helioo by @abhishekkahate7 | Stardance
|
abhishekkahate7
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Helioo by @abhishekkahate7 | Stardance
|
1793101839.5393157
|
1793706639.5393157
|
|
30602
|
Gyroscopic RC Ball by @Board | Stardance
|
Board
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T10:46:42Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a gyroscopically driven remote control ball! The idea is that there is a ball with a sort of gyroscope setup in it, with motors controlling the axis of the gyroscope. In the center is a sort of pendulum or weight, that gets spun by the motors to be at an angle changing the center of mass of the ball causing it to roll. One challenge I had to change microcontrollers from an Arduino nano to a esp32 xiao because I had no way to get Bluetooth connection to work on the nano partway through. Another challenge was getting the IOS app that I found to connect to the xiao and have it actually interpret the signals that. I used that app because it was IOS, could connect to Bluetooth low energy (BLE) devices, and it has a nice control board system. The final issue I ran into (that I was worried about from early on) is that the central ring with all the electronics takes up way to much space because of the size of the motors I have, forcing the central weight/pendulum to be a bit to small, making it very hard to control the direction the ball goes. I explain this more in detail on the README in my GitHub repository. If someone actually wants to try and make something like this for themselves, the most useful part here is probably the concept and the control code. I am decently happy with how this turned out, especially with all I learned in using microcontrollers, sawdering, electronics, and more CAD practice. I do want to come back to it in the future and try some ideas I have to make it work better. Also I’m super happy with how it turned out looking, partly because of the color, and partly because I think the screw holes look cool. Being a hardware project, the logged time is way less than the actual time spent because there is not a good way to actually log hours for things like research, wiring, assembly, and testing. 🤖⚽", "repo": "https://github.com/BluebannerBoard/Gyroscopic_RC_Ball", "demo": ""}]...
|
[{"post_id": 47409, "ts": "202 [{"post_id": 47409, "ts": "2026-08-15T10:23:06Z", "hours": 1.9992, "text": "Finished my first iteration of my remote control ball! Mostly done by spending a few hours moving everything off a breadboard, double checking to make sure I wasn’t going to short the thing, and researching how to charge the battery safely. (I have to charge it by plugging the battery into the circut board from the rc car I pulled it from as that has the proper charging circuit for it. I also reworked the joystick control code to have two joysticks to control the two motors separately. Video of it running here: https://youtu.be/vGXm_efYap4 Sadly the ball is less controllable than I had hoped. The weight in the center is too far from the edge of the sphere because the central ring takes up too much space. This does give me a nice proof of concept for future iterations and on what I can change to make it work better. I also spent like an hour making cleaning up my GitHub page and adding files and images to it. Pictures of the ball and charging setup are attached."}, {"post_id": 44707, "ts": "2026-08-10T17:23:39Z", "hours": 8.0514, "text": "Devlog #2 Major progress on my Remote Controll Sphere! I first printed out the parts that I had mentioned modeling in my previous devlog and they came out quite well! When testing connection, I realized the old hc-10 Bluetooth module I had did not work, so I researched some alternatives and purchased some Seeed Studio Xiao esp32c6’s as they were cheap and had built in Bluetooth connectivity. After quite a few hours of fiddling and tweaking code (with some help from chat GPT and my friends) I managed to get this IOS app I found called Bluetooth serial connect, which has a great control board system, to send signals to my xiao board and have the board interpret them. I made the onboard LED change brightness to test the pwm for initial testing. I then sawdered the battery connections to my xiao board and the motor cables and used a breadboard to match everything’s wiring. With this wiring done, I wrote some code and did some debugging to make one of the motors controllable with a joystick on the Bluetooth serial app, and it all worked great (including the battery to my great relief. So now I mostly just have to make real control code for the ball and do final assembly and tweaks. It’s been a long while since my last devlog, I probably should have done more in the middle to better show hours, but this is what I got now. Also the logged hours is just my coding time, I definitely spent quite a few hours on things like research and wiring/sawdering/assembling Guitar in the assembled ball prototype for scale! Yes that shell’s diameter is exactly the max print volume for the A1 mini."}, {"post_id": 29447, "ts": "2026-07-16T12:14:21Z", "hours": 5.5394, "text": "RC Ball Devlog #1 The idea is to have a ball that internally contains a gyroscope mechanism and two motors in the middle of the ring of the gyroscope to drive the vehicle on two different axis’s, giving it the capability to simply start rolling in any direction without turning. The two main things I have done so far are 1: Model the basic internals of the Ball and print out the basic prototype for the internals to give me a better view of what I was doing. I like how it turned out except that I got the size slightly wrong on the bearing mounting holes and the mount of the central weight to one of the motors. 2: I tried to get the electronics working with a HC-06 Bluetooth module and nano clone board that I was given a few years ago, but it seems that something is wrong with the Bluetooth module causing it to lose connection immediately upon connecting to a computer. I did get some code for the motors to work though! It’ll probably be real slow, but if its cool that don’t matter to much!"}]...
|
Title: Gyroscopic RC Ball by @Board | Stardance
D Title: Gyroscopic RC Ball by @Board | Stardance
Devlogs:
RC Ball Devlog #1 The idea is to have a ball that internally contains a gyroscope mechanism and two motors in the middle of the ring of the gyroscope to drive the vehicle on two different axis’s, giving it the capability to simply start rolling in any direction without turning. The two main things I have done so far are 1: Model the basic internals of the Ball and print out the basic prototype for the internals to give me a better view of what I was doing. I like how it turned out except that I got the size slightly wrong on the bearing mounting holes and the mount of the central weight to one of the motors. 2: I tried to get the electronics working with a HC-06 Bluetooth module and nano clone board that I was given a few years ago, but it seems that something is wrong with the Bluetooth module causing it to lose connection immediately upon connecting to a computer. I did get some code for the motors to work though! It’ll probably be real slow, but if its cool that don’t matter to much!
Devlog #2 Major progress on my Remote Controll Sphere! I first printed out the parts that I had mentioned modeling in my previous devlog and they came out quite well! When testing connection, I realized the old hc-10 Bluetooth module I had did not work, so I researched some alternatives and purchased some Seeed Studio Xiao esp32c6’s as they were cheap and had built in Bluetooth connectivity. After quite a few hours of fiddling and tweaking code (with some help from chat GPT and my friends) I managed to get this IOS app I found called Bluetooth serial connect, which has a great control board system, to send signals to my xiao board and have the board interpret them. I made the onboard LED change brightness to test the pwm for initial testing. I then sawdered the battery connections to my xiao board and the motor cables and used a breadboard to match everything’s wiring. With this wiring done, I wrote some code and did some debugging to make one of the motors controllable with a joystick on the Bluetooth serial app, and it all worked great (including the battery to my great relief. So now I mostly just have to make real control code for the ball and do final assembly and tweaks. It’s been a long while since my last devlog, I probably should have done more in the middle to better show hours, but this is what I got now. Also the logged hours is just my coding time, I definitely spent quite a few hours on things like research and wiring/sawdering/assembling Guitar in the assembled ball prototype for scale! Yes that shell’s diameter is exactly the max print volume for the A1 mini.
Finished my first iteration of my remote control ball! Mostly done by spending a few hours moving everything off a breadboard, double checking to make sure I wasn’t going to short the thing, and researching how to charge the battery safely. (I have to charge it by plugging the battery into the circut board from the rc car I pulled it from as that has the proper charging circuit for it. I also reworked the joystick control code to have two joysticks to control the two motors separately. Video of it running here: https://youtu.be/vGXm_efYap4 Sadly the ball is less controllable than I had hoped. The weight in the center is too far from the edge of the sphere because the central ring takes up too much space. This does give me a nice proof of concept for future iterations and on what I can change to make it work better. I also spent like an hour making cleaning up my GitHub page and adding files and images to it. Pictures of the ball and charging setup are attached.
Ships:
I made a gyroscopically driven remote control ball! The idea is that there is a ball with a sort of gyroscope setup in it, with motors controlling the axis of the gyroscope. In the center is a sort of pendulum or weight, that gets spun by the motors to be at an angle changing the center of mass of the ball causing it to roll. One challenge I had to change microcontrollers from an Arduino nano to a esp32 xiao because I had no way to get Bluetooth connection to work on the nano partway through. Another challenge was getting the IOS app that I found to connect to the xiao and have it actually interpret the signals that. I used that app because it was IOS, could connect to Bluetooth low energy (BLE) devices, and it has a nice control board system. The final issue I ran into (that I was worried about from early on) is that the central ring with all the electronics takes up way to much space because of the size of the motors I have, forcing the central weight/pendulum to be a bit to small, making it very hard to control the direction the ball goes. I explain this more in detail on the README in my GitHub repository. If someone actually wants to try and make something like this for themselves, the most useful part here is probably the concept and the control code. I am decently happy with how this turned out, especially with all I learned in using microcontrollers, sawdering, electronics, and more CAD practice. I do want to come back to it in the future and try some ideas I have to make it work better. Also I’m super happy with how it turned out looking, partly because of the color, and partly because I think the screw holes look cool. Being a hardware project, the logged time is way less than the actual time spent because there is not a good way to actually log hours for things like research, wiring, assembly, and testing. 🤖⚽...
|
1793620238.995418
|
1793706638.995418
|
|
69451
|
Snake by @mihai980965 | Stardance
|
mihai980965
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Snake by @mihai980965 | Stardance
|
1792842638.7637908
|
1793706638.7637908
|
|
34111
|
my APOD site by @Gelo | Stardance
|
Gelo
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-12T19:56:30Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an interactive NASA Astronomy Picture of the Day website. The most challenging part was handling images and API errors . I am proud of the responsive design and features like date navigation and random discoveries.", "repo": "https://github.com/gelo-dev-e/nasa-daily-astronomy-image-site", "demo": "https://gelo-dev-e.github.io/nasa-daily-astronomy-image-site/"}]...
|
[{"post_id": 27314, "ts": "202 [{"post_id": 27314, "ts": "2026-07-12T19:48:45Z", "hours": 0.3125, "text": "I added new features to make the website more interactive and engaging. Users can select a date, view the previous or next astronomy picture, or discover a random NASA image. I also added HD viewing, link copying, a loading animation, improved error handling, and responsive design for mobile devices."}, {"post_id": 27300, "ts": "2026-07-12T19:21:47Z", "hours": 0.7519, "text": "adding new features"}]...
|
Title: my APOD site by @Gelo | Stardance
Devlogs: Title: my APOD site by @Gelo | Stardance
Devlogs:
adding new features
I added new features to make the website more interactive and engaging. Users can select a date, view the previous or next astronomy picture, or discover a random NASA image. I also added HD viewing, link copying, a loading animation, improved error handling, and responsive design for mobile devices.
Ships:
I made an interactive NASA Astronomy Picture of the Day website. The most challenging part was handling images and API errors . I am proud of the responsive design and features like date navigation and random discoveries....
|
1793620237.8786376
|
1793706637.8786376
|
|
66685
|
My own site! by @file_exe | Stardance
|
file_exe
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @file_exe | Stardance
|
1793101837.8329113
|
1793706637.8329113
|