|
68925
|
Clock ig by @anantsourish | Stardance
|
anantsourish
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Clock ig by @anantsourish | Stardance
|
1793757075.1095908
|
1794361875.1095908
|
|
66443
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757074.2547011
|
1794621074.2547011
|
|
42603
|
Element IR by @rithwiknambiar | Stardance
|
rithwiknambiar
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-03T15:14:09Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? I built a dual-purpose, smart touchscreen device that functions as a high-utility Universal Infrared (IR) Remote when in use and transitions into a desktop Live Weather Station and Clock when idle. Universal IR Tool: It features a custom touchscreen UI capable of capturing raw infrared signals from existing appliances, displaying their exact hex codes, and saving them with custom names using an on-screen QWERTY keyboard for later emulation (signal playback). Smart Power & Display: To maximize signal accuracy and power efficiency, the device automatically shuts down its Wi-Fi radio when entering active IR Mode, and instantly spins the wireless connection back up to fetch live weather data when docked or idle. What was challenging? The most significant challenge was hardware resource management and strict signal timing. Leaving the background Wi-Fi network stack active while trying to capture or transmit precise IR pulses caused microsecond delays and signal jitter. This resulted in corrupted hex codes. I resolved this hurdle by writing a strict power-management rule into the state machine: the system completely terminates the Wi-Fi radio connection the exact millisecond the user enters IR Mode, ensuring clean, interference-free hardware timers for precise signal emulation. What are you proud of? I am incredibly proud of the UI/UX integration and the custom QWERTY touchscreen keyboard. Designing a responsive UI on a small TFT screen that feels intuitive was a massive hurdle. Successfully implementing a dynamic naming system—where a user can tap an on-screen keyboard to instantly label a captured hex code as a human-readable string (like “OFF” or “VOL_UP”) rather than managing hardcoded array values—gives the project a highly polished, consumer-grade feel. What should people know so they can test your project? To successfully flash and test this project, reviewers and users need to know the following parameters: Required Libraries: Before compiling the Arduino sketch, ensure you have the TFT_eSPI library installed and properly configured for your specific display pinout in the User_Setup.h file. You will also need the IRremoteESP8266 library to handle signal decoding. Network Isolation: Keep in mind that when testing the IR Tool functions (CAPTURE/SEND), the device’s web and Wi-Fi features will consciously disconnect to safeguard timing accuracy. Testing Hardware: If testing without an existing television remote, you can target any standard consumer remote (such as an Light or AC controller) directly at your IR receiver module to verify that the hex protocols populate accurately in the display terminal.", "repo": "https://github.com/rithwik-nambiar/ESP8266-Smart-Weather-Station-and-Universal-IR-Remote", "demo": "https://github.com/rithwik-nambiar/ESP8266-Smart-Weather-Station-and-Universal-IR-Remote/tree/main/images"}]...
|
[{"post_id": 40129, "ts": "202 [{"post_id": 40129, "ts": "2026-08-03T15:06:02Z", "hours": 1.0344, "text": "DEVLOG #4 — Project Complete! 🎉 It is officially done! What started as a concept to merge a utility tool with a desktop display is now a fully polished, working piece of hardware. The universal remote and weather station project is officially 100% completed. A Quick Look Back The Desktop Mode: When sitting in its dock, the device serves as a live weather station and clock, blending perfectly into a desk setup rather than just sitting around as a blank piece of plastic. The IR Toolbelt: When picked up, it shifts into a dedicated infrared tool. It can seamlessly capture raw hex protocols from existing household remotes, save them, and emulate those signals back to control TVs, soundbars, or appliances. The Custom Keyboard UI: In the last update, I finalized the custom touchscreen QWERTY keyboard layout. Now, every single captured signal can be instantly named (e.g., “OFF”, “VOL_UP”) and saved directly to memory for quick, human-readable playback. Final Polish & Tweaks To cross the finish line, I spent the last few hours tightening up the UI transition animations and stress-testing the power-management loop (making sure the Wi-Fi shuts down reliably during IR capture and spins back up instantly for weather syncs when docked). Everything is running smoothly, responsively, and without timing glitches. The code is cleaned up, the hardware is rock solid, and the project is officially wrapped. Huge thanks to everyone who followed along with the builds and logs!"}, {"post_id": 39910, "ts": "2026-08-03T06:36:34Z", "hours": 1.0206, "text": "DEVLOG #3 What’s new today? We are officially entering the homestretch! Following up on yesterday’s breakthrough with catching raw infrared signals, I spent today building the file organization and naming logic. As you can see in the new screenshot, I successfully implemented a custom on-screen QWERTY touch keyboard directly into the IR Tool menu. The device now shifts into a purple “LISTENING..” state to grab a command, and then immediately pops up an intuitive text input field asking you to Name this signal:. Right now, I am testing saving a captured button as OFF. Being able to give captured hex codes human-readable names on the fly means no more guessing what random array entries do when it comes time to hit SEND. Project Status Update: With file naming, keyboard inputs, UI states, and the weather station system all completely built and integrated, this project is almost over! All that is left to do is run a few final hardware playback tests and wrap the electronics into a clean enclosure. Stay tuned for the final showcase video soon!"}, {"post_id": 39532, "ts": "2026-08-02T15:34:50Z", "hours": 1.0247, "text": "DEVLOG #2 Since my last update, the live weather station and clock functionalities are officially 100% complete and stable. With the idle state locked down, I shifted focus entirely to the core remote control hardware. Today, I successfully stood up the touchscreen interface for the IR Tool menu! As you can see in the screenshot, the UI is fully responsive. I managed to successfully catch and parse a raw signal from an ONN remote, pulling down the specific hex protocol code (0xE61C00A1)."}, {"post_id": 38967, "ts": "2026-08-01T16:15:28Z", "hours": 1.1358, "text": "DEVLOG #1 I am working on building a smart universal remote that emulates infrared signals to control entertainment systems, having already successfully completed and integrated the live weather station functionality for when the device is idle. Its with the use of an esp8266 and TFT DISPLAY now, will add other components later."}]...
|
Title: Element IR by @rithwiknambiar | Stardance
Title: Element IR by @rithwiknambiar | Stardance
Devlogs:
DEVLOG #1 I am working on building a smart universal remote that emulates infrared signals to control entertainment systems, having already successfully completed and integrated the live weather station functionality for when the device is idle. Its with the use of an esp8266 and TFT DISPLAY now, will add other components later.
DEVLOG #2 Since my last update, the live weather station and clock functionalities are officially 100% complete and stable. With the idle state locked down, I shifted focus entirely to the core remote control hardware. Today, I successfully stood up the touchscreen interface for the IR Tool menu! As you can see in the screenshot, the UI is fully responsive. I managed to successfully catch and parse a raw signal from an ONN remote, pulling down the specific hex protocol code (0xE61C00A1).
DEVLOG #3 What’s new today? We are officially entering the homestretch! Following up on yesterday’s breakthrough with catching raw infrared signals, I spent today building the file organization and naming logic. As you can see in the new screenshot, I successfully implemented a custom on-screen QWERTY touch keyboard directly into the IR Tool menu. The device now shifts into a purple “LISTENING..” state to grab a command, and then immediately pops up an intuitive text input field asking you to Name this signal:. Right now, I am testing saving a captured button as OFF. Being able to give captured hex codes human-readable names on the fly means no more guessing what random array entries do when it comes time to hit SEND. Project Status Update: With file naming, keyboard inputs, UI states, and the weather station system all completely built and integrated, this project is almost over! All that is left to do is run a few final hardware playback tests and wrap the electronics into a clean enclosure. Stay tuned for the final showcase video soon!
DEVLOG #4 — Project Complete! 🎉 It is officially done! What started as a concept to merge a utility tool with a desktop display is now a fully polished, working piece of hardware. The universal remote and weather station project is officially 100% completed. A Quick Look Back The Desktop Mode: When sitting in its dock, the device serves as a live weather station and clock, blending perfectly into a desk setup rather than just sitting around as a blank piece of plastic. The IR Toolbelt: When picked up, it shifts into a dedicated infrared tool. It can seamlessly capture raw hex protocols from existing household remotes, save them, and emulate those signals back to control TVs, soundbars, or appliances. The Custom Keyboard UI: In the last update, I finalized the custom touchscreen QWERTY keyboard layout. Now, every single captured signal can be instantly named (e.g., “OFF”, “VOL_UP”) and saved directly to memory for quick, human-readable playback. Final Polish & Tweaks To cross the finish line, I spent the last few hours tightening up the UI transition animations and stress-testing the power-management loop (making sure the Wi-Fi shuts down reliably during IR capture and spins back up instantly for weather syncs when docked). Everything is running smoothly, responsively, and without timing glitches. The code is cleaned up, the hardware is rock solid, and the project is officially wrapped. Huge thanks to everyone who followed along with the builds and logs!
Ships:
What did you make? I built a dual-purpose, smart touchscreen device that functions as a high-utility Universal Infrared (IR) Remote when in use and transitions into a desktop Live Weather Station and Clock when idle. Universal IR Tool: It features a custom touchscreen UI capable of capturing raw infrared signals from existing appliances, displaying their exact hex codes, and saving them with custom names using an on-screen QWERTY keyboard for later emulation (signal playback). Smart Power & Display: To maximize signal accuracy and power efficiency, the device automatically shuts down its Wi-Fi radio when entering active IR Mode, and instantly spins the wireless connection back up to fetch live weather data when docked or idle. What was challenging? The most significant challenge was hardware resource management and strict signal timing. Leaving the background Wi-Fi network stack active while trying to capture or transmit precise IR pulses caused microsecond delays and signal jitter. This resulted in corrupted hex codes. I resolved this hurdle by writing a strict power-management rule into the state machine: the system completely terminates the Wi-Fi radio connection the exact millisecond the user enters IR Mode, ensuring clean, interference-free hardware timers for precise signal emulation. What are you proud of? I am incredibly proud of the UI/UX integration and the custom QWERTY touchscreen keyboard. Designing a responsive UI on a small TFT screen that feels intuitive was a massive hurdle. Successfully implementing a dynamic naming system—where a user can tap an on-screen keyboard to instantly label a captured hex code as a human-readable string (like “OFF” or “VOL_UP”) rather than managing hardcoded array values—gives the project a highly polished, consumer-grade feel. What should people know so they can test your project? To successfully flash and test this project, reviewers and users need to know the following parameters: Required Libraries: Before compiling the Arduino sketch, ensure you have the TFT_eSPI library installed and properly configured for your specific display pinout in the User_Setup.h file. You will also need the IRremoteESP8266 library to handle signal decoding. Network Isolation: Keep in mind that when testing the IR Tool functions (CAPTURE/SEND), the device’s web and Wi-Fi features will consciously disconnect to safeguard timing accuracy. Testing Hardware: If testing without an existing television remote, you can target any standard consumer remote (such as an Light or AC controller) directly at your IR receiver module to verify that the hex protocols populate accurately in the display terminal....
|
1793757073.0991068
|
1793843473.0991068
|
|
66429
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757072.2257316
|
1794621072.2257316
|
|
66421
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757071.3659577
|
1794621071.3659577
|
|
68923
|
Untitled project by @botoftheyear2009 | Stardance
|
botoftheyear2009
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @botoftheyear2009 | Sta Title: Untitled project by @botoftheyear2009 | Stardance...
|
1793757070.4910374
|
1794361870.4910374
|
|
66410
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757069.6473024
|
1794621069.6473024
|
|
66401
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757068.7901335
|
1794621068.7901335
|
|
2104
|
Lunatria by @LonleySailor | Stardance
|
LonleySailor
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-08T13:51:31Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a custom built SSO for my server to overcome the challenges of services not support SSO’s. In this ship I am proud to present the addition of support for the Jellyfin mobile app and improved administration. The most challenging was figuring out how to split web and app traffic. After logging and comparing many HTTP requests, I eventually discovered that two small letters (wv) in the User-Agent distinguished Android WebView traffic from normal web traffic. That discovery allowed me to route requests differently and implement a mobile-specific authentication flow. (I go into much more detail in Devlog #2.). To access the demo use these credentials for the demo’s admin account: Username:lunatria-demo, Password: Y8x0nm5VDfATDH To access the administration panel go to: https://lunatria.xyz/admin-panel", "repo": "https://github.com/LonleySailor/Lunatria", "demo": "https://lunatria.xyz"}]...
|
[{"post_id": 23592, "ts": "202 [{"post_id": 23592, "ts": "2026-07-06T17:14:38Z", "hours": 6.9492, "text": "Lunatria Second Devlog: After getting Lunatria working in the browser, I wanted the Jellyfin mobile app to work as well. Unfortunately, my browser authentication flow couldn’t be reused directly inside the app, so I had to figure out how the mobile client authenticated differently. My first hypothesis was that Jellyfin explicitly identified whether a request came from the browser or the mobile app. To test this, I created a temporary domain (observe-jellyfin.lunatria.com) and logged every request passing through Nginx (Screenshot 1 shows the logging setup). However, this turned out not to be the case. After inspecting requests from both the web and mobile app, I started comparing the User-Agent headers. After going through tens of requests, I finally noticed the only consistent difference: two tiny letters in the User-Agent — wv, meaning WebView (Screenshot 2 shows the two User-Agent strings). After looking it up, I learned that wv indicates an embedded Android WebView. At first I wasn’t sure this was the real distinction, but after testing across multiple devices, I confirmed it: wv effectively separates mobile app traffic from web traffic. To handle this, I added a variable in the Nginx configuration to split routing between web and app traffic (Screenshot 3 shows the config change). However, authentication was still an issue. On the web version of Jellyfin, I route traffic through a special HTML page that uses the SSO session to fetch and store the Jellyfin auth token. In the mobile app, this approach doesn’t work. After some consideration, I decided to route all mobile app traffic directly to Jellyfin except for one endpoint: the authentication endpoint. On Jellyfin, this is /Users/AuthenticateByName. I route this request to my backend instead (Screenshot 4 shows the routing logic). The backend uses the SSO credentials provided by the user in the Jellyfin app, retrieves the corresponding Jellyfin auth token (stored securely and encrypted), and responds in place of Jellyfin. And success — the Jellyfin mobile app is now fully accessible through Lunatria. (You can check the Nginx configs in the repo.)"}, {"post_id": 20812, "ts": "2026-07-02T14:54:40Z", "hours": 3.4894, "text": "Hii, this is my first devlog about my project which is pride and honor. Let me introduce it first. I have a home server, sitting next to the router in my house. I use it for many things but one of them is entertainment. For that I use Jellyfin for streaming, radarr and sonarr for adding to the library. The issue I ran into is when granting access to these apps for friends and family I had to send 3 username+passwords and along the way as I add more services more and more passwords would be needed. So I decided to look for a SSO. There are many selfhosted options which do work well, but all had 1 downside. They need the service itself to support SSO’s. I thought about contributing to those services to integrate SSO’s but at the time I was too scared and didn’t have enough knowledge to be sure of what I am even doing. So I decided to write my own. What I came up with was a backend - for handling API’s and DB requests for user’s credentials, nginx - a proxy and routing to redirect authorization to my backend, frontend- a status dashboard, administration, and a login page for users to log in. Before stardance I managed to create the status page, form for users to log in, administration panel for adding users and adding credentials for them, as well as proxying Jellyfin, Sonarr and Radarr but only when using a browser. During stardance I want to expand and improve my SSO. This devlog covers the first improvements I made during stardance. I improved the UI of creating new users as well as adding the option to remove users. I also improved the UI of Credential management and adding the option to remove credentials, and adding the “Service Access” page to add and remove access for users to certain services. This was pretty easy as I had all the blocks in place, create a API for deleting users, credential, and access, create a API for fetching username’s. And building the UI was just expanding already existing features. I look forward to expanding more features. LonleySailor"}]...
|
Title: Lunatria by @LonleySailor | Stardance
Devl Title: Lunatria by @LonleySailor | Stardance
Devlogs:
Hii, this is my first devlog about my project which is pride and honor. Let me introduce it first. I have a home server, sitting next to the router in my house. I use it for many things but one of them is entertainment. For that I use Jellyfin for streaming, radarr and sonarr for adding to the library. The issue I ran into is when granting access to these apps for friends and family I had to send 3 username+passwords and along the way as I add more services more and more passwords would be needed. So I decided to look for a SSO. There are many selfhosted options which do work well, but all had 1 downside. They need the service itself to support SSO’s. I thought about contributing to those services to integrate SSO’s but at the time I was too scared and didn’t have enough knowledge to be sure of what I am even doing. So I decided to write my own. What I came up with was a backend - for handling API’s and DB requests for user’s credentials, nginx - a proxy and routing to redirect authorization to my backend, frontend- a status dashboard, administration, and a login page for users to log in. Before stardance I managed to create the status page, form for users to log in, administration panel for adding users and adding credentials for them, as well as proxying Jellyfin, Sonarr and Radarr but only when using a browser. During stardance I want to expand and improve my SSO. This devlog covers the first improvements I made during stardance. I improved the UI of creating new users as well as adding the option to remove users. I also improved the UI of Credential management and adding the option to remove credentials, and adding the “Service Access” page to add and remove access for users to certain services. This was pretty easy as I had all the blocks in place, create a API for deleting users, credential, and access, create a API for fetching username’s. And building the UI was just expanding already existing features. I look forward to expanding more features. LonleySailor
Lunatria Second Devlog: After getting Lunatria working in the browser, I wanted the Jellyfin mobile app to work as well. Unfortunately, my browser authentication flow couldn’t be reused directly inside the app, so I had to figure out how the mobile client authenticated differently. My first hypothesis was that Jellyfin explicitly identified whether a request came from the browser or the mobile app. To test this, I created a temporary domain (observe-jellyfin.lunatria.com) and logged every request passing through Nginx (Screenshot 1 shows the logging setup). However, this turned out not to be the case. After inspecting requests from both the web and mobile app, I started comparing the User-Agent headers. After going through tens of requests, I finally noticed the only consistent difference: two tiny letters in the User-Agent — wv, meaning WebView (Screenshot 2 shows the two User-Agent strings). After looking it up, I learned that wv indicates an embedded Android WebView. At first I wasn’t sure this was the real distinction, but after testing across multiple devices, I confirmed it: wv effectively separates mobile app traffic from web traffic. To handle this, I added a variable in the Nginx configuration to split routing between web and app traffic (Screenshot 3 shows the config change). However, authentication was still an issue. On the web version of Jellyfin, I route traffic through a special HTML page that uses the SSO session to fetch and store the Jellyfin auth token. In the mobile app, this approach doesn’t work. After some consideration, I decided to route all mobile app traffic directly to Jellyfin except for one endpoint: the authentication endpoint. On Jellyfin, this is /Users/AuthenticateByName. I route this request to my backend instead (Screenshot 4 shows the routing logic). The backend uses the SSO credentials provided by the user in the Jellyfin app, retrieves the corresponding Jellyfin auth token (stored securely and encrypted), and responds in place of Jellyfin. And success — the Jellyfin mobile app is now fully accessible through Lunatria. (You can check the Nginx configs in the repo.)
Ships:
This is a custom built SSO for my server to overcome the challenges of services not support SSO’s. In this ship I am proud to present the addition of support for the Jellyfin mobile app and improved administration. The most challenging was figuring out how to split web and app traffic. After logging and comparing many HTTP requests, I eventually discovered that two small letters (wv) in the User-Agent distinguished Android WebView traffic from normal web traffic. That discovery allowed me to route requests differently and implement a mobile-specific authentication flow. (I go into much more detail in Devlog #2.). To access the demo use these credentials for the demo’s admin account: Username:lunatria-demo, Password: Y8x0nm5VDfATDH To access the administration panel go to: https://lunatria.xyz/admin-panel...
|
1793757067.6003885
|
1793843467.6003885
|
|
68922
|
playground by @fathima | Stardance
|
fathima
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: playground by @fathima | Stardance
|
1793757066.3891814
|
1794361866.3891814
|
|
54336
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757065.5321672
|
1794621065.5321672
|
|
54334
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757064.6737943
|
1794621064.6737943
|
|
54331
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757063.8125708
|
1794621063.8125708
|
|
68921
|
My awesome macropad! by @KrutikDG | Stardance
|
KrutikDG
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @KrutikDG | Stardan Title: My awesome macropad! by @KrutikDG | Stardance...
|
1793757062.8424382
|
1794361862.8424382
|
|
54321
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757061.9789798
|
1794621061.9789798
|
|
68920
|
My awesome macropad! by @vinay1072 | Stardance
|
vinay1072
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vinay1072 | Starda Title: My awesome macropad! by @vinay1072 | Stardance...
|
1793757061.0727024
|
1794361861.0727024
|
|
66392
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757060.205077
|
1794621060.205077
|
|
66390
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757059.3440988
|
1794621059.3440988
|
|
66383
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757058.485323
|
1794621058.485323
|
|
28041
|
Gravity Simulator by @AshishPatel | Stardance
|
AshishPatel
|
1
|
5.0
|
53
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T03:42:59Z", "hours": 5.0, "multiplier": 10.01, "payout": 53, "blessing": "neutral", "text": "I built an interactive 2D Gravity Simulator using p5.js and custom CSS styling! The project models orbital physics where users can dynamically spawn celestial bodies. The most challenging part was configuring the CI/CD pipeline on Vercel and restructuring the GitHub repository layout so the standard static files could build perfectly from the root path. I’m incredibly proud of the clean, minimalist look and getting the dark-matter cosmic gradient background overlays to render flawlessly. To test it out: Simply open the link, click anywhere on the canvas to spawn your custom planets, and watch them interact with the gravitational fields!", "repo": "https://github.com/ashish030810/Gravity-Simulator-", "demo": "https://gravity-simulator-one.vercel.app/"}]...
|
[{"post_id": 18925, "ts": "202 [{"post_id": 18925, "ts": "2026-06-30T03:16:57Z", "hours": 0.2667, "text": "🌌 Overview Following up on the initial interface layout, Devlog #2 focuses on environment staging, repository restructuring, and preparing the deployment pipeline for production. 🛠️ Infrastructure & Deployment Hosting Architecture: Migrated the project layout to sit directly at the root directory level of the GitHub repository. Vercel Integration: Successfully configured automated continuous integration (CI/CD) pipelines. Pushes to the main branch now trigger zero-config production deployments instantly. Live Endpoint: The public facing interactive staging URL is officially live. 🎨 Visual Upgrades Asset Integration: Implemented an optimized, dark-matter cosmic background asset behind the primary UI layout. Contrast Tuning: Applied a dual-layer black alpha overlay linear-gradient to the background source image. This preserves interface element legibility while allowing planetary orbital paths to pop visually. Layout Cleanup: Stripped out temporary branding elements from the baseline visual wrapper to ensure a minimalist, simulator-first presentation."}, {"post_id": 18502, "ts": "2026-06-29T17:50:33Z", "hours": 4.9972, "text": "🌌 Project Overview Stardance is an interactive, browser-based gravity simulator built using p5.js. The goal is to simulate orbital mechanics, planetary mass interactions, and cosmic chaotic systems through a clean, modern dashboard interface. 🛠️ Tech Stack Frontend : HTML5, CSS3 Graphics/Simulation Engine : p5.js Fonts : Orbitron & Inter 📅 Current Progress What’s Working: Core UI Layout : Implemented a sleek, responsive sidebar control panel using frosted glass visual effects (backdrop-filter). Dashboard Telemetry: Real-time tracking elements ready for planet count, total mass, simulation runtime, and FPS. Simulation Controls:Fully configured range sliders for dynamic adjustments to Spawn Mass, Simulation Speed, and camera settings (Zoom and Rotation). Preset Engine Architecture: Buttons configured to swap between pre-calculated gravity scenarios: Solar System, Binary Stars, Galaxy Spirals, Planetary Rings, Black Holes, and Chaos. Data Persistence: Hooks added for exporting state to JSON/PNG and importing custom orbital systems. Recent Changes: Applied a deep-space galaxy background across the canvas space to contrast against the bright orbital trajectories. Structured modular JavaScript engine architecture (planet.js , presets.js,physics.js, sketch.js) to decouple physics math from render routines. 🛑 Current Challenges & Next Steps Orbital Physics : Fine-tuning the gravitational constant in physics.js so planets don’t immediately sling out of bounds or collapse into the central mass on spawn. Performance Tuning: Optimizing the $O(N^2)$ particle-to-particle attraction loops when the Chaos preset spawns high planet counts. Tail rendering: Ensuring the p5.js canvas buffer correctly handles alpha-blended paths for smooth planetary trails. 💡 Lessons Learned When building canvas-heavy overlay interfaces, keeping a strict coordinate distinction between screen space (UI) and world space (simulation physics) is essential to keep zoom and pan gestures functioning correctly."}]...
|
Title: Gravity Simulator by @AshishPatel | Stardan Title: Gravity Simulator by @AshishPatel | Stardance
Devlogs:
🌌 Project Overview Stardance is an interactive, browser-based gravity simulator built using p5.js. The goal is to simulate orbital mechanics, planetary mass interactions, and cosmic chaotic systems through a clean, modern dashboard interface. 🛠️ Tech Stack Frontend : HTML5, CSS3 Graphics/Simulation Engine : p5.js Fonts : Orbitron & Inter 📅 Current Progress What’s Working: Core UI Layout : Implemented a sleek, responsive sidebar control panel using frosted glass visual effects (backdrop-filter). Dashboard Telemetry: Real-time tracking elements ready for planet count, total mass, simulation runtime, and FPS. Simulation Controls:Fully configured range sliders for dynamic adjustments to Spawn Mass, Simulation Speed, and camera settings (Zoom and Rotation). Preset Engine Architecture: Buttons configured to swap between pre-calculated gravity scenarios: Solar System, Binary Stars, Galaxy Spirals, Planetary Rings, Black Holes, and Chaos. Data Persistence: Hooks added for exporting state to JSON/PNG and importing custom orbital systems. Recent Changes: Applied a deep-space galaxy background across the canvas space to contrast against the bright orbital trajectories. Structured modular JavaScript engine architecture (planet.js , presets.js,physics.js, sketch.js) to decouple physics math from render routines. 🛑 Current Challenges & Next Steps Orbital Physics : Fine-tuning the gravitational constant in physics.js so planets don’t immediately sling out of bounds or collapse into the central mass on spawn. Performance Tuning: Optimizing the $O(N^2)$ particle-to-particle attraction loops when the Chaos preset spawns high planet counts. Tail rendering: Ensuring the p5.js canvas buffer correctly handles alpha-blended paths for smooth planetary trails. 💡 Lessons Learned When building canvas-heavy overlay interfaces, keeping a strict coordinate distinction between screen space (UI) and world space (simulation physics) is essential to keep zoom and pan gestures functioning correctly.
🌌 Overview Following up on the initial interface layout, Devlog #2 focuses on environment staging, repository restructuring, and preparing the deployment pipeline for production. 🛠️ Infrastructure & Deployment Hosting Architecture: Migrated the project layout to sit directly at the root directory level of the GitHub repository. Vercel Integration: Successfully configured automated continuous integration (CI/CD) pipelines. Pushes to the main branch now trigger zero-config production deployments instantly. Live Endpoint: The public facing interactive staging URL is officially live. 🎨 Visual Upgrades Asset Integration: Implemented an optimized, dark-matter cosmic background asset behind the primary UI layout. Contrast Tuning: Applied a dual-layer black alpha overlay linear-gradient to the background source image. This preserves interface element legibility while allowing planetary orbital paths to pop visually. Layout Cleanup: Stripped out temporary branding elements from the baseline visual wrapper to ensure a minimalist, simulator-first presentation.
Ships:
I built an interactive 2D Gravity Simulator using p5.js and custom CSS styling! The project models orbital physics where users can dynamically spawn celestial bodies. The most challenging part was configuring the CI/CD pipeline on Vercel and restructuring the GitHub repository layout so the standard static files could build perfectly from the root path. I’m incredibly proud of the clean, minimalist look and getting the dark-matter cosmic gradient background overlays to render flawlessly. To test it out: Simply open the link, click anywhere on the canvas to spawn your custom planets, and watch them interact with the gravitational fields!...
|
1793757054.8553813
|
1794621054.8553813
|
|
68919
|
My own site! by @adhirajsamdani14 | Stardance
|
adhirajsamdani14
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @adhirajsamdani14 | Stardan Title: My own site! by @adhirajsamdani14 | Stardance...
|
1793757053.9555364
|
1794361853.9555364
|
|
66377
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757053.0995748
|
1794621053.0995748
|
|
66376
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757051.9149406
|
1794621051.9149406
|
|
68918
|
My very own WebOS by @vaidik123_2 | Stardance
|
vaidik123_2
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @vaidik123_2 | Stardan Title: My very own WebOS by @vaidik123_2 | Stardance...
|
1793757051.0269763
|
1794361851.0269763
|
|
66362
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757050.1545498
|
1794621050.1545498
|
|
66356
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757049.3072202
|
1794621049.3072202
|
|
54274
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757048.4543347
|
1794621048.4543347
|
|
68917
|
My own site! by @calebzsaggers | Stardance
|
calebzsaggers
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @calebzsaggers | Stardance
|
1793757047.5629508
|
1794361847.5629508
|
|
54265
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757046.720116
|
1794621046.720116
|
|
54260
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757045.8720415
|
1794621045.8720415
|
|
54253
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757045.0053961
|
1794621045.0053961
|
|
68916
|
Base Converter by @yoonha | Stardance
|
yoonha
|
1
|
7.0
|
15
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-11-01T00:09:49Z", "hours": 7.0, "multiplier": 2.36, "payout": 15, "blessing": "neutral", "text": "I made a digital tool to convert bases of one value to a base of another. I made it because I have a Casio fx-991EX in my drawer and it had a base converting feature. But it only worked for a handful of bases (2, 8, 10, and 16, if I remember correctly), so I wanted to try making one with more supported bases. My digital implementation allows for 16 bases, 1 through 16. The challenge was getting the numbers converted into base 10. Because the user can enter up to base 16, the numeric values had to be stored as a string rather than an int. To address this I initially made all string-to-int conversions by hand, but now that I learnt how to use Maps I feel that I can do this kind of things much easier in the future. What I am thinking of is that maybe we can make this into a physical calculator, it has 18 buttons as you can see in my website implementation. But that would take time and Stardance is closing soon, so for now I am happy with my website version. If any of you folks are doing hardware projects, I authorise you to use my project to make that kind of calculator. Just give me attribution. If you are reviewing this project, as I said in the project explanation, I request that you should evaluate according to the website deployed project and treat the Java code as a “plan”, like a blueprint before I start coding in HTML, CSS, and JS. But of course you are free to look at the Java version, test it, and give feedback. Also note that if you choose to convert the number into base 1, you will see a bunch of 1s, it might not fit in the page, because values like ten will be rendered as 1111111111, since base 1 means no place value.", "repo": "https://github.com/Yoon-Ha-Hwang/baseConverter", "demo": "https://yoon-ha-hwang.github.io/baseConverter/"}]...
|
[{"post_id": 85962, "ts": "202 [{"post_id": 85962, "ts": "2026-10-31T22:55:39Z", "hours": 2.6697, "text": "I finally got all the code working! Along the process, I also realised how many lines I spent in Java which could have been condensed into just one line. I also learnt how to use Maps so the code doesn’t look as cluttered or messy, which I didn’t know how to use when I was coding in Java (like the Virtual Shopping Interface, I learnt that by searching for better ways to achieve using AI). I still coded a lot myself and used AI to see if there are ways to make the code better."}, {"post_id": 85350, "ts": "2026-10-31T05:48:49Z", "hours": 2.1175, "text": "I got the typing interface to work, with a calculator-style interface. It used quite a few functions, but at least it was easy to understand and progress. Based on my feedback from Virtual Shopping Interface, a lot of people found the frontend design to be quite lacklustre (it was minimalist grey) so I got help on how to implement a gradient style design. I chose my favourite colours (see attached material). Now I need to work on the backend code to direct the user what they need to do. Error handling (like entering too many digits) is what I need to specifically focus on. Translating is slightly difficult because when I revisited my Java code, I was quick to realise that it’s incredibly inefficient. At least I still know the process. I better dedicate a lot of time tomorrow, because Stardance will end by then. This is crucial because it will be the last ship I need to reach 30 hours for the certificate (that’s virtually the reason why I started Stardance in the first place). Wish me luck!"}, {"post_id": 84640, "ts": "2026-10-29T23:48:58Z", "hours": 0.4667, "text": "The debugging work actually turned out to be quite simple, so for the remainder of the time I just worked on allowing implementation of other base values, so now it accepts any base 2~16. Who knew debugging would be that simple? The downside is that implementing 15 bases took a few hundred lines, but runtime didn’t suffer that much, so I’ll take that. I won’t ship it yet, since I stated before that I’m planning to make a web version of Base Converter. That would involve translating Java into JS, which I think is doable despite my beginner JS skills because of how I intentionally designed my Java code to use the most basic features. I decided against making two repositories because the code is just a translation and the underlying logic is essentially the same (also that would involve making two separate Stardance projects since only one repository per project is allowed) I plan to post the web version as a deployment in my repository and the Java version as a release. See you in the next devlog!"}, {"post_id": 84133, "ts": "2026-10-29T04:56:22Z", "hours": 0.5333, "text": "Last time I finished up in converting the original value into base-10 (it works by converting the original value into base-10, then converting the base-10 result to the new base’s value). The first half’s done, and it works, now I need to do the other half, which I am working on today and tomorrow. After I finish, I’m considering to translate my Java into JS because some people in my previous ship lamented that they cannot access the .jar file (forget about how I gave them a Programiz link that has the code). That is, if there’s enough time left on Stardance…"}, {"post_id": 78644, "ts": "2026-10-11T05:02:23Z", "hours": 0.7333, "text": "I made the basic structure of the code (detecting whether it’s a valid input, calculating value in base-10 of the input, finding how much that is in the new base, etc.) and am now able to test-run the code. I’d need a lot of debugging work now…"}]...
|
Title: Base Converter by @yoonha | Stardance
Devl Title: Base Converter by @yoonha | Stardance
Devlogs:
I made the basic structure of the code (detecting whether it’s a valid input, calculating value in base-10 of the input, finding how much that is in the new base, etc.) and am now able to test-run the code. I’d need a lot of debugging work now…
Last time I finished up in converting the original value into base-10 (it works by converting the original value into base-10, then converting the base-10 result to the new base’s value). The first half’s done, and it works, now I need to do the other half, which I am working on today and tomorrow. After I finish, I’m considering to translate my Java into JS because some people in my previous ship lamented that they cannot access the .jar file (forget about how I gave them a Programiz link that has the code). That is, if there’s enough time left on Stardance…
The debugging work actually turned out to be quite simple, so for the remainder of the time I just worked on allowing implementation of other base values, so now it accepts any base 2~16. Who knew debugging would be that simple? The downside is that implementing 15 bases took a few hundred lines, but runtime didn’t suffer that much, so I’ll take that. I won’t ship it yet, since I stated before that I’m planning to make a web version of Base Converter. That would involve translating Java into JS, which I think is doable despite my beginner JS skills because of how I intentionally designed my Java code to use the most basic features. I decided against making two repositories because the code is just a translation and the underlying logic is essentially the same (also that would involve making two separate Stardance projects since only one repository per project is allowed) I plan to post the web version as a deployment in my repository and the Java version as a release. See you in the next devlog!
I got the typing interface to work, with a calculator-style interface. It used quite a few functions, but at least it was easy to understand and progress. Based on my feedback from Virtual Shopping Interface, a lot of people found the frontend design to be quite lacklustre (it was minimalist grey) so I got help on how to implement a gradient style design. I chose my favourite colours (see attached material). Now I need to work on the backend code to direct the user what they need to do. Error handling (like entering too many digits) is what I need to specifically focus on. Translating is slightly difficult because when I revisited my Java code, I was quick to realise that it’s incredibly inefficient. At least I still know the process. I better dedicate a lot of time tomorrow, because Stardance will end by then. This is crucial because it will be the last ship I need to reach 30 hours for the certificate (that’s virtually the reason why I started Stardance in the first place). Wish me luck!
I finally got all the code working! Along the process, I also realised how many lines I spent in Java which could have been condensed into just one line. I also learnt how to use Maps so the code doesn’t look as cluttered or messy, which I didn’t know how to use when I was coding in Java (like the Virtual Shopping Interface, I learnt that by searching for better ways to achieve using AI). I still coded a lot myself and used AI to see if there are ways to make the code better.
Ships:
I made a digital tool to convert bases of one value to a base of another. I made it because I have a Casio fx-991EX in my drawer and it had a base converting feature. But it only worked for a handful of bases (2, 8, 10, and 16, if I remember correctly), so I wanted to try making one with more supported bases. My digital implementation allows for 16 bases, 1 through 16. The challenge was getting the numbers converted into base 10. Because the user can enter up to base 16, the numeric values had to be stored as a string rather than an int. To address this I initially made all string-to-int conversions by hand, but now that I learnt how to use Maps I feel that I can do this kind of things much easier in the future. What I am thinking of is that maybe we can make this into a physical calculator, it has 18 buttons as you can see in my website implementation. But that would take time and Stardance is closing soon, so for now I am happy with my website version. If any of you folks are doing hardware projects, I authorise you to use my project to make that kind of calculator. Just give me attribution. If you are reviewing this project, as I said in the project explanation, I request that you should evaluate according to the website deployed project and treat the Java code as a “plan”, like a blueprint before I start coding in HTML, CSS, and JS. But of course you are free to look at the Java version, test it, and give feedback. Also note that if you choose to convert the number into base 1, you will see a bunch of 1s, it might not fit in the page, because values like ten will be rendered as 1111111111, since base 1 means no place value....
|
1793757043.797699
|
1793843443.797699
|
|
29274
|
CyberGarden by @tgum | Stardance
|
tgum
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-28T20:33:56Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A static wiki generator in go! It can be used with syncthing which is really nice :D It is pretty simple, but I learned how to do a bunch of stuff in go. originally it was going to be a web server, but ngl static sites are easier :) Whats really cool is the customizablity! You can make it look like anything.", "repo": "https://codeberg.org/tgum/CyberGarden", "demo": "https://cybergarden.tgum.net/"}]...
|
[{"post_id": 22266, "ts": "202 [{"post_id": 22266, "ts": "2026-07-04T17:23:22Z", "hours": 3.5944, "text": "i was offline for a while but i kinda fixed some code i guess. now it accepts command line arguments and environement variables to configure it ! it also generates a json sitemap and you can put s in ur markdown files. also themes are more customizable"}, {"post_id": 21645, "ts": "2026-07-03T18:23:07Z", "hours": 1.6208, "text": "worked a bunch on the css and improving navigation :) i feel like when i code in go i iterate a lot more over the code. usually i just say “good enough” and leave it like that but with this project at least i feel like im spending way more time on the same piece of code"}, {"post_id": 20924, "ts": "2026-07-02T17:22:11Z", "hours": 0.7956, "text": "idk i refactored some things slightly, also now non-markdown files will be left alone :D so you can add images and css and stuff ! i might be forgetting stuff"}, {"post_id": 20786, "ts": "2026-07-02T14:16:57Z", "hours": 1.8006, "text": "I switched to go templates instead of manually generating html. it honestly works pretty well :D . i also added a list of files in the current directory. im planning on improving this somewhat so that its more nicer to browse and looks more like a tree i guess"}, {"post_id": 19996, "ts": "2026-07-01T13:58:14Z", "hours": 0.7361, "text": "now it scans for markdown files in the input folder and writes html in the output folder :O go is pretty good for files and stuff but its a bit complicated imo"}, {"post_id": 19957, "ts": "2026-07-01T12:39:15Z", "hours": 1.2525, "text": "waow. it took like half an hour to setup sublime for go developpement but then i gave up cuz it didnt work well. then i was like “hey im gonna make this an http server!” but honestly handling all the errors and security seems annoying so im just gonna generate static html files :)"}]...
|
Title: CyberGarden by @tgum | Stardance
Devlogs:
Title: CyberGarden by @tgum | Stardance
Devlogs:
waow. it took like half an hour to setup sublime for go developpement but then i gave up cuz it didnt work well. then i was like “hey im gonna make this an http server!” but honestly handling all the errors and security seems annoying so im just gonna generate static html files :)
now it scans for markdown files in the input folder and writes html in the output folder :O go is pretty good for files and stuff but its a bit complicated imo
I switched to go templates instead of manually generating html. it honestly works pretty well :D . i also added a list of files in the current directory. im planning on improving this somewhat so that its more nicer to browse and looks more like a tree i guess
idk i refactored some things slightly, also now non-markdown files will be left alone :D so you can add images and css and stuff ! i might be forgetting stuff
worked a bunch on the css and improving navigation :) i feel like when i code in go i iterate a lot more over the code. usually i just say “good enough” and leave it like that but with this project at least i feel like im spending way more time on the same piece of code
i was offline for a while but i kinda fixed some code i guess. now it accepts command line arguments and environement variables to configure it ! it also generates a json sitemap and you can put s in ur markdown files. also themes are more customizable
Ships:
A static wiki generator in go! It can be used with syncthing which is really nice :D It is pretty simple, but I learned how to do a bunch of stuff in go. originally it was going to be a web server, but ngl static sites are easier :) Whats really cool is the customizablity! You can make it look like anything....
|
1793757041.339626
|
1793843441.339626
|
|
54251
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757039.679071
|
1794621039.679071
|
|
68914
|
NOVA DESK ROBOT] by @aryanraghav041 | Stardance
|
aryanraghav041
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: NOVA DESK ROBOT] by @aryanraghav041 | Stard Title: NOVA DESK ROBOT] by @aryanraghav041 | Stardance...
|
1793757038.7884521
|
1794361838.7884521
|
|
66336
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757037.9490638
|
1794621037.9490638
|
|
66319
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757037.0503106
|
1794621037.0503106
|
|
37959
|
Ping bot by @AtomicSailor | Stardance
|
AtomicSailor
|
1
|
0.48
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-29T15:14:37Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made the slack bot and learned how to make slack bots", "repo": "https://github.com/axelmilchmann-cloud/slack", "demo": "https://app.slack.com/client/E09V59WQY1E/C0BMC7SLTGC?skip_today=1"}]...
|
[{"post_id": 38356, "ts": "202 [{"post_id": 38356, "ts": "2026-07-31T18:14:22Z", "hours": 0.4794, "text": "new readme and demo url updated"}, {"post_id": 37057, "ts": "2026-07-29T15:06:57Z", "hours": 0.3611, "text": "i finished my simple slack ping bot"}]...
|
Title: Ping bot by @AtomicSailor | Stardance
Devl Title: Ping bot by @AtomicSailor | Stardance
Devlogs:
i finished my simple slack ping bot
new readme and demo url updated
Ships:
i made the slack bot and learned how to make slack bots...
|
1793757035.8992503
|
1793843435.8992503
|
|
68913
|
My very own WebOS by @Mihu | Stardance
|
Mihu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Mihu | Stardance
|
1793757034.9508975
|
1794361834.9508975
|
|
66317
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757034.0564759
|
1794621034.0564759
|
|
66315
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757032.319781
|
1794621032.319781
|
|
9623
|
Doombot - Slack by @Imtiaz | Stardance
|
Imtiaz
|
2
|
4.0
|
8
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T06:07:48Z", "hours": 3.0, "multiplier": 2.84, "payout": 8, "blessing": "neutral", "text": "Doombot, Full Project, running on nest, working.", "repo": "https://github.com/imtua/doombot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}, {"ship_num": 2, "ts": "2026-08-01T01:48:00Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Done as it said, nest doing its work and mridu slack bot replying!", "repo": "https://github.com/imtua/doombot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 54208, "ts": "202 [{"post_id": 54208, "ts": "2026-08-25T02:59:15Z", "hours": 0.26, "text": "worked on the repo and readme file"}, {"post_id": 53784, "ts": "2026-08-24T14:12:22Z", "hours": 2.0833, "text": "Guess it works."}, {"post_id": 39231, "ts": "2026-08-02T02:00:29Z", "hours": 0.5914, "text": "Fixed everything it needed to be fixed. Now it’s working! Go to hack club workspace, head to #bot-spam and try /mridu-help."}, {"post_id": 9262, "ts": "2026-06-15T15:34:19Z", "hours": 0.2911, "text": "Added features!"}, {"post_id": 9199, "ts": "2026-06-15T13:18:00Z", "hours": 0.4108, "text": "Just completed the guide as the stardance guide says, ill take it now and start doing afterwards."}]...
|
Title: Doombot - Slack by @Imtiaz | Stardance
Dev Title: Doombot - Slack by @Imtiaz | Stardance
Devlogs:
Just completed the guide as the stardance guide says, ill take it now and start doing afterwards.
Added features!
Fixed everything it needed to be fixed. Now it’s working! Go to hack club workspace, head to #bot-spam and try /mridu-help.
Guess it works.
worked on the repo and readme file
Ships:
Done as it said, nest doing its work and mridu slack bot replying!
Doombot, Full Project, running on nest, working....
|
1793757031.1079867
|
1793843431.1079867
|
|
54192
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757030.2687988
|
1794621030.2687988
|
|
68912
|
WarioWare Game by @aryanraghav041 | Stardance
|
aryanraghav041
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @aryanraghav041 | Stardan Title: WarioWare Game by @aryanraghav041 | Stardance...
|
1793757029.362931
|
1794361829.362931
|
|
54179
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757028.5093474
|
1794621028.5093474
|
|
54173
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757027.6262977
|
1794621027.6262977
|
|
31092
|
Linus Games by @barseghian_daniel | Stardance
|
barseghian_daniel
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-08T16:30:07Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a PC-building game in honor of Linus Tech Tips, whose videos inspired me to start learning game development. Building this project was quite challenging because I ran into plenty of bugs along the way, but solving them helped me grow as a programmer and apply the coding experience I’ve gained since then. It was a lot of fun creating a game in Godot. Two years ago, I used Unity, so it was exciting to revisit game development with a different engine. You can try the project using the link below, or download the source code from GitHub. PS: Depending on your screen size, you may notice a gray bar on the web version. This is a known display issue that I haven’t been able to resolve yet, but it doesn’t affect gameplay. PSS: Its my first ship so it may have alot a bug, if you encounter any please contact me.", "repo": "https://github.com/danielbarseghian/WarriorWare-Game", "demo": "https://iridescent-douhua-12b012.netlify.app/"}]...
|
[{"post_id": 24711, "ts": "202 [{"post_id": 24711, "ts": "2026-07-08T14:10:50Z", "hours": 2.4867, "text": "Finished the hole game. i made the win and lose screen they make you quit. minigame 3 you gathered all your pc parts now you have to assemble them, there is no order or no timer since pc building should take time and patience"}, {"post_id": 23743, "ts": "2026-07-06T21:16:33Z", "hours": 0.7833, "text": "MINIGAME 2 Your PC components have been scattered across the ground! Collect them all before they’re stolen."}, {"post_id": 23710, "ts": "2026-07-06T20:20:32Z", "hours": 4.1489, "text": "LINUS TECH GAMES Made the first minigame where you collect the pc parts with a 10 second timer !"}]...
|
Title: Linus Games by @barseghian_daniel | Stardan Title: Linus Games by @barseghian_daniel | Stardance
Devlogs:
LINUS TECH GAMES Made the first minigame where you collect the pc parts with a 10 second timer !
MINIGAME 2 Your PC components have been scattered across the ground! Collect them all before they’re stolen.
Finished the hole game. i made the win and lose screen they make you quit. minigame 3 you gathered all your pc parts now you have to assemble them, there is no order or no timer since pc building should take time and patience
Ships:
I made a PC-building game in honor of Linus Tech Tips, whose videos inspired me to start learning game development. Building this project was quite challenging because I ran into plenty of bugs along the way, but solving them helped me grow as a programmer and apply the coding experience I’ve gained since then. It was a lot of fun creating a game in Godot. Two years ago, I used Unity, so it was exciting to revisit game development with a different engine. You can try the project using the link below, or download the source code from GitHub. PS: Depending on your screen size, you may notice a gray bar on the web version. This is a known display issue that I haven’t been able to resolve yet, but it doesn’t affect gameplay. PSS: Its my first ship so it may have alot a bug, if you encounter any please contact me....
|
1793757026.4550922
|
1793843426.4550922
|
|
12145
|
Talos V2 by @danielthedev5 | Stardance
|
danielthedev5
|
1
|
23.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-28T23:01:57Z", "hours": 23.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Talos V2 is a student directory manager using react.js and supabase! (See devlogs for more info on development!) To try the project, you can login with the username “Admin” and password “Admin” Criticism is appreciated", "repo": "https://github.com/Danx3mer/TalosV2", "demo": "https://talos-v2-alpha.vercel.app/login"}]...
|
[{"post_id": 36711, "ts": "202 [{"post_id": 36711, "ts": "2026-07-28T22:57:28Z", "hours": 0.9178, "text": "Devlog 5 - React Mumbo Jumbo React is a liar So it turns out that by default react puts the debug component in your main.jsx file. This is really cool, until you actually deploy your site (for me, I do this using github actions to vercel !) The reason for this is that one of the things that strict mode does is mount, unmount, and instantly remount your component so that any race conditions that aren’t properly handled appear to not be a problem. Since I use the useEffect hook to update my dashboard component asynchronously, this was a problem. Tricking liars To solve this, I made a new isMounted boolean. This boolean handles the control flow of the useEffect hook, which mitigates this issue! Attached below is an image of the new useEffect hook! Additonally, this project is now officially shipable, due to it being deployed on vercel! I may add tailwind css for better styling, but for now this is the first actual version of the project!"}, {"post_id": 36232, "ts": "2026-07-28T05:44:18Z", "hours": 8.5031, "text": "Devlog 4 - Supabase! What’s New? The backend of the project has been completely revamped! Instead of now accessing a local json file located on the hosted server, now the need for a server is gone thanks to the migration of the database to Supabase! Implemented authentication using supabase’s built-in auth module Used relational tables to track data about courses and user profiles in conjunction with the authentication system Pretty short devlog this time, but this pretty much summarizes everything done! Supabase is a really cool tool that I am glad to be able to add into my dev stack! View my commit history for commit-by-commit commentary on the code that I modified! Tailwind CSS incoming!"}, {"post_id": 21810, "ts": "2026-07-03T22:53:55Z", "hours": 9.6606, "text": "Devlog 3: React.js! What’s Old? I never got to go in-depth on what this is, so now would be a good time as ever to do that. This project was originally a school assignment which mandated that the legacy python CGI library was used to retrieve the data of forms instead of using something like JS to read the value of the inputs. Here are the features of the original site: Login page which would create a cookie that had user information including the user name, type, and more data pertaining to that particular user Login page would take you to the Home page on login, which would look different based on which of the contexts you were logged in as (this is basically checking if you are a school Admin , Teacher , or Student ) and would update the Navbar to include buttons linking to context -specific pages as well as the Dashboard based on this context Admin view had a Home page which would display overall school statistics Admin specific pages included pages to add or delete a course, or add, delete, or assign/remove a user from a course Teacher view had a Home page which would display courses taught and the amount of students in each course Teacher specific pages were pages to modify the grades of students, and each course would have its own page for editing the grades Student had no specific pages and would see their grades displayed in a table on the Dashboard on the Home page Navbar had a Logout button which deleted the aforementioned cookies by setting their “expires” value to 0 SuccessIndicator Indicated whether a form action succeeded or not by reading a GET request Similar pages were in one .html file and were modified based off a GET request parameter to display appropriate content What’s New? It is important to note that this is a complete rewrite of the project! The code similarity between the current state of the site and the original state (which you can view by going to the Legacy release linked here !) is minimal. I completely remade the project by making a new directory and then rebasing the newly created project onto the previous repository stack. This added my files to the GitHub repo without me having to make a new one, which was convenient. I learned how to rebase using git to do this, expanding my knowledge of git. The project has been rewritten to mostly use .jsx files instead of the mess that was using .html , .css , .js , and .py files for a single page of the website. Now, every single component (whether that be a page, a styled form, or even just a header) has its own file, which makes everything WAY MORE organized! Every single form on the website is now a <FormStyled/> which is a component that I made. To make this work I simply add a JS object which has a key-value pair notation of Input Name - OnChange handler, which makes making forms way faster. Development has overall been way more pleasing as compared to not having react.js due to the amount of new things in react! Every single interaction with things outside the DOM is now in a convenient services/ folder, which includes files such as manageCookies.js and httpRequests.js which allow me to import certain functions anywhere in the code. This is an improvement over me simply copy and pasting the same code over and over again in two different files. Speaking of organization, all files are now organized in the src/ folder by type of component/use. For example, my components which I add to the website at will are in the components/ folder while the overall page layout components are in the pages/ folder View my commit history for commit-by-commit commentary on the code that I modified! SupaBase incoming!"}, {"post_id": 15093, "ts": "2026-06-24T15:04:40Z", "hours": 2.5383, "text": "I finished the main layout of the website and it works using python’s legacy cgi library, but now I am porting it over to use contemporary technologies. Currently, the program is written in HTML, CSS, JS, and Python with no frameworks, and uses 2 JSONs as the database. The plan is to port the project over to use react.js, tailwind css for styling, supabase for the database, and possibly even creating a REST API for retrieving certain user info."}, {"post_id": 7543, "ts": "2026-06-12T16:19:42Z", "hours": 1.3044, "text": "Login page and cookies! I successfully created a cookie retrieval system for my school project. I am creating a school directory management system. The login page stores the login information as a cookie (if successful) and then the home.js file displays it! Next step: display different buttons on the side navbar based on the type of user!"}]...
|
Title: Talos V2 by @danielthedev5 | Stardance
Dev Title: Talos V2 by @danielthedev5 | Stardance
Devlogs:
Login page and cookies! I successfully created a cookie retrieval system for my school project. I am creating a school directory management system. The login page stores the login information as a cookie (if successful) and then the home.js file displays it! Next step: display different buttons on the side navbar based on the type of user!
I finished the main layout of the website and it works using python’s legacy cgi library, but now I am porting it over to use contemporary technologies. Currently, the program is written in HTML, CSS, JS, and Python with no frameworks, and uses 2 JSONs as the database. The plan is to port the project over to use react.js, tailwind css for styling, supabase for the database, and possibly even creating a REST API for retrieving certain user info.
Devlog 3: React.js! What’s Old? I never got to go in-depth on what this is, so now would be a good time as ever to do that. This project was originally a school assignment which mandated that the legacy python CGI library was used to retrieve the data of forms instead of using something like JS to read the value of the inputs. Here are the features of the original site: Login page which would create a cookie that had user information including the user name, type, and more data pertaining to that particular user Login page would take you to the Home page on login, which would look different based on which of the contexts you were logged in as (this is basically checking if you are a school Admin , Teacher , or Student ) and would update the Navbar to include buttons linking to context -specific pages as well as the Dashboard based on this context Admin view had a Home page which would display overall school statistics Admin specific pages included pages to add or delete a course, or add, delete, or assign/remove a user from a course Teacher view had a Home page which would display courses taught and the amount of students in each course Teacher specific pages were pages to modify the grades of students, and each course would have its own page for editing the grades Student had no specific pages and would see their grades displayed in a table on the Dashboard on the Home page Navbar had a Logout button which deleted the aforementioned cookies by setting their “expires” value to 0 SuccessIndicator Indicated whether a form action succeeded or not by reading a GET request Similar pages were in one .html file and were modified based off a GET request parameter to display appropriate content What’s New? It is important to note that this is a complete rewrite of the project! The code similarity between the current state of the site and the original state (which you can view by going to the Legacy release linked here !) is minimal. I completely remade the project by making a new directory and then rebasing the newly created project onto the previous repository stack. This added my files to the GitHub repo without me having to make a new one, which was convenient. I learned how to rebase using git to do this, expanding my knowledge of git. The project has been rewritten to mostly use .jsx files instead of the mess that was using .html , .css , .js , and .py files for a single page of the website. Now, every single component (whether that be a page, a styled form, or even just a header) has its own file, which makes everything WAY MORE organized! Every single form on the website is now a <FormStyled/> which is a component that I made. To make this work I simply add a JS object which has a key-value pair notation of Input Name - OnChange handler, which makes making forms way faster. Development has overall been way more pleasing as compared to not having react.js due to the amount of new things in react! Every single interaction with things outside the DOM is now in a convenient services/ folder, which includes files such as manageCookies.js and httpRequests.js which allow me to import certain functions anywhere in the code. This is an improvement over me simply copy and pasting the same code over and over again in two different files. Speaking of organization, all files are now organized in the src/ folder by type of component/use. For example, my components which I add to the website at will are in the components/ folder while the overall page layout components are in the pages/ folder View my commit history for commit-by-commit commentary on the code that I modified! SupaBase incoming!
Devlog 4 - Supabase! What’s New? The backend of the project has been completely revamped! Instead of now accessing a local json file located on the hosted server, now the need for a server is gone thanks to the migration of the database to Supabase! Implemented authentication using supabase’s built-in auth module Used relational tables to track data about courses and user profiles in conjunction with the authentication system Pretty short devlog this time, but this pretty much summarizes everything done! Supabase is a really cool tool that I am glad to be able to add into my dev stack! View my commit history for commit-by-commit commentary on the code that I modified! Tailwind CSS incoming!
Devlog 5 - React Mumbo Jumbo React is a liar So it turns out that by default react puts the debug component in your main.jsx file. This is really cool, until you actually deploy your site (for me, I do this using github actions to vercel !) The reason for this is that one of the things that strict mode does is mount, unmount, and instantly remount your component so that any race conditions that aren’t properly handled appear to not be a problem. Since I use the useEffect hook to update my dashboard component asynchronously, this was a problem. Tricking liars To solve this, I made a new isMounted boolean. This boolean handles the control flow of the useEffect hook, which mitigates this issue! Attached below is an image of the new useEffect hook! Additonally, this project is now officially shipable, due to it being deployed on vercel! I may add tailwind css for better styling, but for now this is the first actual version of the project!
Ships:
Talos V2 is a student directory manager using react.js and supabase! (See devlogs for more info on development!) To try the project, you can login with the username “Admin” and password “Admin” Criticism is appreciated...
|
1793757025.2739708
|
1793843425.2739708
|
|
54172
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757024.4205737
|
1794621024.4205737
|
|
66297
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1793757020.9203682
|
1794621020.9203682
|