|
1429
|
My first slack bot! by @aryanrobot88 | Stardance
|
aryanrobot88
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @aryanrobot88 | Star Title: My first slack bot! by @aryanrobot88 | Stardance...
|
1793775167.2098405
|
1794379967.2098405
|
|
9579
|
TableTop by @baker | Stardance
|
baker
|
1
|
13.0
|
77
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T13:00:59Z", "hours": 13.0, "multiplier": 5.73, "payout": 77, "blessing": "neutral", "text": "I made an online monopoly board. It was way harder than expected. Really proud of it though. Do not use vpn when trying to play since you cant find rooms.", "repo": "https://github.com/Hamdan772/TableTop", "demo": "https://tabletop-monopoly-night.vercel.app"}]...
|
[{"post_id": 5579, "ts": "2026 [{"post_id": 5579, "ts": "2026-06-09T12:57:13Z", "hours": 7.0, "text": "was sick today so I skipped school so I worked 7hrs on TableTop hehe. Added rules from the rulebook to be functional everything seems to be working. And for some reason you cant play with VPN on. Gonna ship it now"}, {"post_id": 4950, "ts": "2026-06-08T16:13:20Z", "hours": 1.0, "text": "FAAA there is SO many bugs in the game logic gotta fix it…………………. (tbh its more of an oversight on my part)"}, {"post_id": 4918, "ts": "2026-06-08T14:48:01Z", "hours": 0.0, "text": "Fixed online rooms allowing peer to peer play. fixing public tables and game logic. would love suggestions"}, {"post_id": 4879, "ts": "2026-06-08T13:18:12Z", "hours": 2.0, "text": "I decided not to make risk global domination and make it focused on monopoly. fixing this rn"}, {"post_id": 4089, "ts": "2026-06-07T08:55:40Z", "hours": 0.0, "text": "literally relearning how to play risk (25% done with game logic)"}, {"post_id": 4067, "ts": "2026-06-07T08:00:35Z", "hours": 0.0, "text": "working on new board (ill fix online play later)"}, {"post_id": 4044, "ts": "2026-06-07T07:03:36Z", "hours": 0.0, "text": "Done with monopoly (online rooms is in works) what do yall think? What games should I add next?"}]...
|
Title: TableTop by @baker | Stardance
Devlogs:
Do Title: TableTop by @baker | Stardance
Devlogs:
Done with monopoly (online rooms is in works) what do yall think? What games should I add next?
working on new board (ill fix online play later)
literally relearning how to play risk (25% done with game logic)
I decided not to make risk global domination and make it focused on monopoly. fixing this rn
Fixed online rooms allowing peer to peer play. fixing public tables and game logic. would love suggestions
FAAA there is SO many bugs in the game logic gotta fix it…………………. (tbh its more of an oversight on my part)
was sick today so I skipped school so I worked 7hrs on TableTop hehe. Added rules from the rulebook to be functional everything seems to be working. And for some reason you cant play with VPN on. Gonna ship it now
Ships:
I made an online monopoly board. It was way harder than expected. Really proud of it though. Do not use vpn when trying to play since you cant find rooms....
|
1793775166.3263483
|
1794639166.3263483
|
|
35152
|
My personal portfolio by @rikcha | Stardance
|
rikcha
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T20:49:57Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey everyone! This is my personal portfolio website! Here you can learn a bit about me, along with the skills that I have developed over the past few years while learning about technology. I have also listed my two past experiences and my roles/responsibilities, and what I have learned from them. I have included one past project that I have built out and already deployed/shipped and published. Along with that you can see on the top bar my github/linkedin profiles if you want to communicate with me or see my other works. There is also a very cool animation when you click on the skill buttons. The hardest part about this project was positioning everything as it required a lot of trial and error as the margins came very close together. Here is the link for you to check it out: https://rik7789.github.io/Mypersonalwebsite/", "repo": "https://github.com/rik7789/Mypersonalwebsite", "demo": "https://rik7789.github.io/Mypersonalwebsite/"}]...
|
[{"post_id": 28519, "ts": "202 [{"post_id": 28519, "ts": "2026-07-14T20:40:01Z", "hours": 2.0, "text": "I am building a personal portfolio which includes the technological skills I have obtained over the past couple of years. I have included my past experience, roles, and responsibilities - so people can learn what I have experience doing. I have additionally added a past project that I have built. I have included my github and linkedin in case anyone wants to contact me. This is the web link if someone wants to check it out: https://rik7789.github.io/Mypersonalwebsite/"}]...
|
Title: My personal portfolio by @rikcha | Stardanc Title: My personal portfolio by @rikcha | Stardance
Devlogs:
I am building a personal portfolio which includes the technological skills I have obtained over the past couple of years. I have included my past experience, roles, and responsibilities - so people can learn what I have experience doing. I have additionally added a past project that I have built. I have included my github and linkedin in case anyone wants to contact me. This is the web link if someone wants to check it out: https://rik7789.github.io/Mypersonalwebsite/
Ships:
Hey everyone! This is my personal portfolio website! Here you can learn a bit about me, along with the skills that I have developed over the past few years while learning about technology. I have also listed my two past experiences and my roles/responsibilities, and what I have learned from them. I have included one past project that I have built out and already deployed/shipped and published. Along with that you can see on the top bar my github/linkedin profiles if you want to communicate with me or see my other works. There is also a very cool animation when you click on the skill buttons. The hardest part about this project was positioning everything as it required a lot of trial and error as the margins came very close together. Here is the link for you to check it out: https://rik7789.github.io/Mypersonalwebsite/...
|
1793775165.4736829
|
1794639165.4736829
|
|
35097
|
Stillwater Farm by @devlsx | Stardance
|
devlsx
|
1
|
118.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T04:27:39Z", "hours": 118.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Stillwater farm: A walkable ASCII overworld: six hand-drawn areas (homestead, lake, town, river, marsh, deep lake) linked at their edges, with a scrolling camera and smart box-drawing walls so the big maps render cleanly in an 80-col terminal. The fishing loop I actually cared about: cast → wait for a bite weighted by spot/season/weather/time-of-day/bait/rod → set the hook → a tension-bar reel fight where you ease off when the fish darts and reel when it’s calm. 45 hand-written fish across four seasons and four water types, a fish journal that tracks first catches, 6 baits and 4 rod tiers in a little tackle shop. An in-game clock (6am→2am), energy, sleep, and seeded weather, all deterministic off one rng, which made it testable. A restoration spine: fund three projects (clear the reeds, mend the river path, repair the rowboat) to open the marsh, river, and finally the deep lake, where the legendary giants live and get their own multi-phase boss fight. A main menu, a settings screen, a paged story about inheriting the lake from your great-aunt Wren, and a step-by-step guided tutorial for the first day. Hand-rolled versioned save/load (no serde), a headless render path so the whole thing is unit-testable, ~110 tests. Biggest lesson was keeping everything seeded and headless-testable from early on, being able to render a frame to a string and assert on it made the later systems", "repo": "https://github.com/AlexanderGese/stillwater", "demo": "https://crates.io/crates/stillwater-game"}]...
|
[{"post_id": 47786, "ts": "202 [{"post_id": 47786, "ts": "2026-08-15T23:19:50Z", "hours": 3.9844, "text": "stillwater is done a cozy terminal fishing game in Rust, crossterm + std only, no other dependencies"}, {"post_id": 47302, "ts": "2026-08-15T05:23:48Z", "hours": 4.0486, "text": "structural night, making the brain of the game built the game state machine around a Mode enum: Menu, Explore, Fishing, Shop, Journal and friends everything routes through one apply(action) dispatch, so input and logic stay decoupled each mode owns what actions it accepts, no more tangled if-forests got mode transitions firing cleanly in tests"}, {"post_id": 46697, "ts": "2026-08-14T04:17:39Z", "hours": 4.0908, "text": "onboarding and polish night, a lot of little things to do tutorial now walks you through a guided first day step by step, plus a context hint engine that works based on proximity to certain parts of the game added settings toggles for hints, colour and the guide wrote the colour module, ANSI styling per tile so water reads blue and paths read warm started the game state machine colour made the maps suddenly look like a place instead of a wall of grey text. small change but a crayz big impact"}, {"post_id": 45933, "ts": "2026-08-12T18:35:52Z", "hours": 4.0433, "text": "story’s finished, ending included wrote the closing beat, what the lake becomes once you’ve restored it and what Wren left you beyond the deed tried to make the ending feel earned rather than a credits dump started the tutorial, a paged howto that won’t take fo r ever structured it so a returning player can skip straight past"}, {"post_id": 45468, "ts": "2026-08-11T23:20:55Z", "hours": 3.9828, "text": "wrote the story tonight and got a bit sentimental during the setup: you inherit a lakeside homestead from your late great-aunt Wren and come to put it right wrote the opening pages that ease you in without a wall of text each restoration project has its own story beat, a little more of Wren’s world revealed as you rebuild it kept it gentle, this isn’t a game with a villain"}, {"post_id": 44896, "ts": "2026-08-10T23:09:40Z", "hours": 4.1031, "text": "shop wrapped and the heart of the progression buying flows cleanly and updates the player’s kit started sketching the story"}, {"post_id": 44582, "ts": "2026-08-10T13:17:08Z", "hours": 3.9097, "text": "good progress, two systems moved. journal is done, first-catch flags and record sizes tracked built the shop, spend gold on rods and bait, prices pulled from the tackle and bait tables the economy loop, catch, sell, upgrade, catch better, is now technically closeable and works"}, {"post_id": 43830, "ts": "2026-08-09T08:14:35Z", "hours": 4.0403, "text": "world’s done, started the collection side finished world transitions, gating and all, everything reachable in the right order the journal is the quiet longterm goal of the game, so its nice to see it start to grow and make sense"}, {"post_id": 43213, "ts": "2026-08-08T10:44:17Z", "hours": 3.9131, "text": "stitched the world together tonight. added restoration gating, some areas stay closed until you’ve fixed them up wandered the whole loop on foot in a test harness walking off the homestead and onto the lake for the first time felt like the game finally being close to its finish line"}, {"post_id": 42151, "ts": "2026-08-06T19:16:45Z", "hours": 4.0314, "text": "finished the map drawing and built the thing that reads them. The parser maps each glyph back to a Tile and yells if it hits an unknown character"}, {"post_id": 41485, "ts": "2026-08-05T18:37:33Z", "hours": 5.0517, "text": "tidied the town map and added the river, a narrower moving-water area with its own species"}, {"post_id": 40437, "ts": "2026-08-03T23:09:06Z", "hours": 3.9972, "text": "drew the town map, shops and paths and somewhere to spend your gold eventually these are big hand-authored ASCII tile areas, every wall and dock placed by hand"}, {"post_id": 40298, "ts": "2026-08-03T18:46:58Z", "hours": 1.9981, "text": "finished the fishing flow including multi-phase boss fights for the legendaries, they change behavior between phases so you can’t just muscle them"}, {"post_id": 39477, "ts": "2026-08-02T13:26:47Z", "hours": 10.1067, "text": "set-the-hook timing window is in, miss it and it’s gonebuilt the tension-bar reel fight: you reel against ease, the line has slack and strain and the fish darts when you least want it totoo much reeling snaps the line, too little and it runs, so you’re feathering itdifficulty and rod power feed straight into how twitchy the bar isit’s genuinely tense already with placeholder rendering. the core minigame works and i’m grinning."}, {"post_id": 38066, "ts": "2026-07-31T08:11:51Z", "hours": 6.4972, "text": "tackle finished, rod tiers all costed and their reach/power curves feel fair wrote the flavor text tables: the little lines when you cast, when nothing bites, when you land something, when it gets away keyed some flavor to weather and time so a foggy dawn reads different from a clear noon kept the tone warm but still dry"}, {"post_id": 36887, "ts": "2026-07-29T08:19:02Z", "hours": 0.9372, "text": "finished the baits (all 6) with prices and all and builf some more rods with different rarities and added the deep waters"}, {"post_id": 35630, "ts": "2026-07-27T05:46:18Z", "hours": 4.05, "text": "tackle box night. finished bait, all 6 with their per-species pull and rarity nudgesbuilt the tackle module, 4 rod tiers from a bent starter pole up to something propereach rod has a reach (how far out you can cast) and power (how hard you can fight a fish)reach gating deeper water is going to tie nicely into the restoration idea latertwo of the equipment systems standing now. the progression spine is quietly forming under all this."}, {"post_id": 34883, "ts": "2026-07-25T23:23:13Z", "hours": 4.1964, "text": "registry is DONE and it’s a chunky one. 45 species total including a few legendaries hiding at the bottom of the rarity tablegave the legendaries proper standout glyphs and brutal difficulty so they feel like eventsstarted the bait registry, 6 baits so far, each shifting bite odds and which species show interestsanity-checked the whole list for dead entries one more time.45 fish feels like the right amount, enough to fill a journal without me writing content until winter. good night’s work."}, {"post_id": 33924, "ts": "2026-07-24T07:13:55Z", "hours": 1.9183, "text": "kept feeding the registry and wired up the lookup side. more species in, edging toward the deeper and rarer end nowadded the fish lookup so systems can query by id or by what’s currently biteableintroduced the Catch type, a caught fish plus its rolled size and the conditions it was landed inCatch is what the journal and shop will eventually pass aroundgetting close to a full roster. once lookup and Catch are solid the actual fishing can start pulling from real data."}, {"post_id": 33721, "ts": "2026-07-23T21:04:46Z", "hours": 6.15, "text": "more fish. head down, tables growing. another batch of species across the seasons, some spring spawners and a couple summer night biterstuned size ranges so the same species varies believably, a small bass vs a hefty onedouble checked every entry lists at least one valid water and time or it’d never be catchableno new systems, purely contentjust filling the registry out. it’s oddly relaxing writing little fish biographies after work."}, {"post_id": 32805, "ts": "2026-07-22T05:56:48Z", "hours": 7.7981, "text": "the fun part begins. defining what actually lives in the water. laid out the fish registry, each species carries name, glyph, valid seasons, waters, times of day, rarity, size range, difficulty, sell price and a bait preferencegot the first handful of common species written, your bluegill and perch tierrarity and difficulty are separate on purpose, a fish can be common but a pain to reeleverything is plain data, no serde, just const-ish tablesthis is the content grind i’ve been looking forward to. going to be a lot of nights of just adding fish."}, {"post_id": 31650, "ts": "2026-07-20T07:03:03Z", "hours": 4.9886, "text": "weather came alive tonight and it already changes how the game feels. 7 weather types in: clear, cloudy, rain, storm, fog, snow, windyeach one nudges fishing, rain perks up bites, storms open the door for rare stuff, fog is moody and slowweather picks per day weighted by season, no snow in summer thankfullystarted the fish registry, the big onerain making the lake livelier is exactly the kind of small texture i wanted. onto the actual fish."}, {"post_id": 30542, "ts": "2026-07-18T06:23:39Z", "hours": 4.0325, "text": "short session but still good progress calendar is done: 4 seasons of 28 days each, so a clean 112-day yearday rolls into season rolls into year, all wrapping correctlywrote a couple tests for the boundary days because off-by-one on day 28 would haunt mestarted stubbing the weather systemnot much to show, just the machinery that makes tomorrow actually be tomorrow."}, {"post_id": 30007, "ts": "2026-07-17T07:51:43Z", "hours": 3.9572, "text": "time is a surprisingly fiddly thing to model. season module now has Season, TimeOfDay and WaterType, built the in-game clock, days run 6am to roughly 2am and advance in 10-minute tickspassing out or sleeping rolls it forward to the next morningstarted the calendar on top of itspent way too long deciding when “night” begins for fishing purposes. settled on it, moved on. WaterType is going to matter a lot once fish exist."}, {"post_id": 29344, "ts": "2026-07-16T07:02:15Z", "hours": 4.0136, "text": "good chunk of the skeleton went in tonight. finished tile, every variant has its glyph and walkability nowmap is a 2D grid with bounds checks and a walkable() querysketched the player struct: position, facing, energy, gold, equipped rod and baitbegan the season enumsstill can’t do anything but it’s starting to have shape. the player just sits at a Point staring into the void, which is honestly relatable."}, {"post_id": 28743, "ts": "2026-07-15T05:58:56Z", "hours": 8.6356, "text": "first real evening of code. mostly laying pipe under the floor. added a .gitignore so target/ stops following me aroundwrote geom with Point, Dir and Rect helpers, the small stuff everything else leans onrolled my own rng, a seeded splitmix64. std only, no getrandom, i want catches to be reproducible from a seedstarted the tile module, the enum and per-tile glyphsno graphics, no game, just the vocabulary the rest of the code will speak in. slow but satisfying."}]...
|
Title: Stillwater Farm by @devlsx | Stardance
Dev Title: Stillwater Farm by @devlsx | Stardance
Devlogs:
first real evening of code. mostly laying pipe under the floor. added a .gitignore so target/ stops following me aroundwrote geom with Point, Dir and Rect helpers, the small stuff everything else leans onrolled my own rng, a seeded splitmix64. std only, no getrandom, i want catches to be reproducible from a seedstarted the tile module, the enum and per-tile glyphsno graphics, no game, just the vocabulary the rest of the code will speak in. slow but satisfying.
good chunk of the skeleton went in tonight. finished tile, every variant has its glyph and walkability nowmap is a 2D grid with bounds checks and a walkable() querysketched the player struct: position, facing, energy, gold, equipped rod and baitbegan the season enumsstill can’t do anything but it’s starting to have shape. the player just sits at a Point staring into the void, which is honestly relatable.
time is a surprisingly fiddly thing to model. season module now has Season, TimeOfDay and WaterType, built the in-game clock, days run 6am to roughly 2am and advance in 10-minute tickspassing out or sleeping rolls it forward to the next morningstarted the calendar on top of itspent way too long deciding when “night” begins for fishing purposes. settled on it, moved on. WaterType is going to matter a lot once fish exist.
short session but still good progress calendar is done: 4 seasons of 28 days each, so a clean 112-day yearday rolls into season rolls into year, all wrapping correctlywrote a couple tests for the boundary days because off-by-one on day 28 would haunt mestarted stubbing the weather systemnot much to show, just the machinery that makes tomorrow actually be tomorrow.
weather came alive tonight and it already changes how the game feels. 7 weather types in: clear, cloudy, rain, storm, fog, snow, windyeach one nudges fishing, rain perks up bites, storms open the door for rare stuff, fog is moody and slowweather picks per day weighted by season, no snow in summer thankfullystarted the fish registry, the big onerain making the lake livelier is exactly the kind of small texture i wanted. onto the actual fish.
the fun part begins. defining what actually lives in the water. laid out the fish registry, each species carries name, glyph, valid seasons, waters, times of day, rarity, size range, difficulty, sell price and a bait preferencegot the first handful of common species written, your bluegill and perch tierrarity and difficulty are separate on purpose, a fish can be common but a pain to reeleverything is plain data, no serde, just const-ish tablesthis is the content grind i’ve been looking forward to. going to be a lot of nights of just adding fish.
more fish. head down, tables growing. another batch of species across the seasons, some spring spawners and a couple summer night biterstuned size ranges so the same species varies believably, a small bass vs a hefty onedouble checked every entry lists at least one valid water and time or it’d never be catchableno new systems, purely contentjust filling the registry out. it’s oddly relaxing writing little fish biographies after work.
kept feeding the registry and wired up the lookup side. more species in, edging toward the deeper and rarer end nowadded the fish lookup so systems can query by id or by what’s currently biteableintroduced the Catch type, a caught fish plus its rolled size and the conditions it was landed inCatch is what the journal and shop will eventually pass aroundgetting close to a full roster. once lookup and Catch are solid the actual fishing can start pulling from real data.
registry is DONE and it’s a chunky one. 45 species total including a few legendaries hiding at the bottom of the rarity tablegave the legendaries proper standout glyphs and brutal difficulty so they feel like eventsstarted the bait registry, 6 baits so far, each shifting bite odds and which species show interestsanity-checked the whole list for dead entries one more time.45 fish feels like the right amount, enough to fill a journal without me writing content until winter. good night’s work.
tackle box night. finished bait, all 6 with their per-species pull and rarity nudgesbuilt the tackle module, 4 rod tiers from a bent starter pole up to something propereach rod has a reach (how far out you can cast) and power (how hard you can fight a fish)reach gating deeper water is going to tie nicely into the restoration idea latertwo of the equipment systems standing now. the progression spine is quietly forming under all this.
finished the baits (all 6) with prices and all and builf some more rods with different rarities and added the deep waters
tackle finished, rod tiers all costed and their reach/power curves feel fair wrote the flavor text tables: the little lines when you cast, when nothing bites, when you land something, when it gets away keyed some flavor to weather and time so a foggy dawn reads different from a clear noon kept the tone warm but still dry
set-the-hook timing window is in, miss it and it’s gonebuilt the tension-bar reel fight: you reel against ease, the line has slack and strain and the fish darts when you least want it totoo much reeling snaps the line, too little and it runs, so you’re feathering itdifficulty and rod power feed straight into how twitchy the bar isit’s genuinely tense already with placeholder rendering. the core minigame works and i’m grinning.
finished the fishing flow including multi-phase boss fights for the legendaries, they change behavior between phases so you can’t just muscle them
drew the town map, shops and paths and somewhere to spend your gold eventually these are big hand-authored ASCII tile areas, every wall and dock placed by hand
tidied the town map and added the river, a narrower moving-water area with its own species
finished the map drawing and built the thing that reads them. The parser maps each glyph back to a Tile and yells if it hits an unknown character
stitched the world together tonight. added restoration gating, some areas stay closed until you’ve fixed them up wandered the whole loop on foot in a test harness walking off the homestead and onto the lake for the first time felt like the game finally being close to its finish line
world’s done, started the collection side finished world transitions, gating and all, everything reachable in the right order the journal is the quiet longterm goal of the game, so its nice to see it start to grow and make sense
good progress, two systems moved. journal is done, first-catch flags and record sizes tracked built the shop, spend gold on rods and bait, prices pulled from the tackle and bait tables the economy loop, catch, sell, upgrade, catch better, is now technically closeable and works
shop wrapped and the heart of the progression buying flows cleanly and updates the player’s kit started sketching the story
wrote the story tonight and got a bit sentimental during the setup: you inherit a lakeside homestead from your late great-aunt Wren and come to put it right wrote the opening pages that ease you in without a wall of text each restoration project has its own story beat, a little more of Wren’s world revealed as you rebuild it kept it gentle, this isn’t a game with a villain
story’s finished, ending included wrote the closing beat, what the lake becomes once you’ve restored it and what Wren left you beyond the deed tried to make the ending feel earned rather than a credits dump started the tutorial, a paged howto that won’t take fo r ever structured it so a returning player can skip straight past
onboarding and polish night, a lot of little things to do tutorial now walks you through a guided first day step by step, plus a context hint engine that works based on proximity to certain parts of the game added settings toggles for hints, colour and the guide wrote the colour module, ANSI styling per tile so water reads blue and paths read warm started the game state machine colour made the maps suddenly look like a place instead of a wall of grey text. small change but a crayz big impact
structural night, making the brain of the game built the game state machine around a Mode enum: Menu, Explore, Fishing, Shop, Journal and friends everything routes through one apply(action) dispatch, so input and logic stay decoupled each mode owns what actions it accepts, no more tangled if-forests got mode transitions firing cleanly in tests
stillwater is done a cozy terminal fishing game in Rust, crossterm + std only, no other dependencies
Ships:
Stillwater farm: A walkable ASCII overworld: six hand-drawn areas (homestead, lake, town, river, marsh, deep lake) linked at their edges, with a scrolling camera and smart box-drawing walls so the big maps render cleanly in an 80-col terminal. The fishing loop I actually cared about: cast → wait for a bite weighted by spot/season/weather/time-of-day/bait/rod → set the hook → a tension-bar reel fight where you ease off when the fish darts and reel when it’s calm. 45 hand-written fish across four seasons and four water types, a fish journal that tracks first catches, 6 baits and 4 rod tiers in a little tackle shop. An in-game clock (6am→2am), energy, sleep, and seeded weather, all deterministic off one rng, which made it testable. A restoration spine: fund three projects (clear the reeds, mend the river path, repair the rowboat) to open the marsh, river, and finally the deep lake, where the legendary giants live and get their own multi-phase boss fight. A main menu, a settings screen, a paged story about inheriting the lake from your great-aunt Wren, and a step-by-step guided tutorial for the first day. Hand-rolled versioned save/load (no serde), a headless render path so the whole thing is unit-testable, ~110 tests. Biggest lesson was keeping everything seeded and headless-testable from early on, being able to render a frame to a string and assert on it made the later systems...
|
1793775164.6097746
|
1794639164.6097746
|
|
35943
|
My own site! by @Hina | Stardance
|
Hina
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @Hina | Stardance
|
1793775163.7084951
|
1794379963.7084951
|
|
26524
|
Rick Sanchez.Ai by @anujkishan918 | Stardance
|
anujkishan918
|
1
|
30.83
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T18:28:12Z", "hours": 27.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Quick heads up before anything else — this runs on the free tiers of both Gemini and Fish Audio, so there are limits. Gemini’s free API can get busy or rate-limited under load, and Fish Audio’s free tier will sometimes cut audio off mid-sentence once you hit its usage cap. If a reply feels slow or the voice stops abruptly, that’s almost always why — not a bug in the app itself. What I made Rick Sanchez.Ai — a single-file, Gemini-powered chatbot styled as Rick Sanchez from Rick and Morty, with a real-time animated CSS face that shifts expression (talking, angry, thinking, surprised, manic, disgust, exasperated, and more) based on the mood of his replies. It supports multi-chat history so you can run several conversations side by side, and has optional voice cloning through Fish Audio so Rick actually sounds like Rick instead of a generic TTS voice. No build step, no framework — just one HTML file plus a small Cloudflare Worker that proxies the Fish Audio requests so the API key never sits exposed in the browser. What was challenging Most of the real difficulty wasn’t the AI part — it was getting hosting and audio to behave. GitHub Pages deployments kept queuing and timing out, which turned out to be a GitHub-side incident rather than anything wrong with my config, so I moved hosting elsewhere rather than wait it out. Getting Fish Audio working reliably meant standing up a Cloudflare Worker as a proxy, since the API key can’t be trusted client-side and Fish’s endpoint doesn’t handle browser CORS on its own. On top of that, the audio kept getting silently blocked by the browser’s autoplay policy because playback was starting after an async fetch instead of directly inside a user’s click — and even after that was fixed, the reply text was popping up before the voice actually started, since Fish Audio’s real response time runs closer to 8 seconds and the original fallback timer only waited 6. What I’m proud of The face. Every expression is pure CSS — no sprite sheets, no images — just scaling and repositioning the eyes, unibrow, and mouth per mood state, with transitions handling the interpolation between them. Getting the mood to actually sync with what Rick is saying, and getting the voice to play in step with the text instead of racing ahead of it, took a lot of small timing fixes, and it finally feels right. What people should know to test it You’ll need your own free API keys — a Gemini API key is required to chat at all, and a Fish Audio key is optional if you want Rick to actually talk instead of just typing. Paste them into the app when prompted. If voice mode seems silent at first, click anywhere on the page once before sending a message — browsers block audio that hasn’t been unlocked by a real click. And if either API is slow or drops mid-response, that’s the free-tier limits mentioned up top, not a broken deploy.", "repo": "https://github.com/Anuj981-blip/Sanchez-AI", "demo": ""}]...
|
[{"post_id": 21463, "ts": "202 [{"post_id": 21463, "ts": "2026-07-03T12:50:18Z", "hours": 2.0972, "text": "Fully over hauled the UI and added a pixel art intro story."}, {"post_id": 21115, "ts": "2026-07-02T22:15:31Z", "hours": 1.7333, "text": "This phase added the startup mascot — got Rick & Morty standing above the portal in the intro screen using pure CSS. Experienced a little issue with the alignment which I discovered later. There was still a hanging translateX(-50%) that was pushing the mascot aside. Removed the line of code and got the exact alignment with the help of the sliders (X, Y, size). Got to the desired values translate(60px,-138px) scale(0.76) and removed them right away. Rewrote the intro animation logic as well — it automatically skips after some seconds, now it will play when loaded and wait for a tap to proceed. I have experimented with making a window similar to the macOs one (traffic lights and title bar) but did not get it in time, so I reverted it. The last part was related to the sidebar and its Pickle Rick icon. Made the sidebar collapsed into the narrow column with the rotating portal ring logo which opens and closes it. Updated the Pickle Rick image by making the design more precise (added his body, spots, teeth and tongue) and got the exact location using the same sliders technique. Made Rick’s face fade into the black instead of clashing. Last thing hooked it into the existing “annoyed” mood detection,"}, {"post_id": 20971, "ts": "2026-07-02T18:24:15Z", "hours": 5.8839, "text": "Phase 4 Devlog — Deployment & Voice Reliability Phase 4 was less about the face and more about getting the thing actually reachable and sounding right. Three separate problems, three separate fixes. 1) GitHub Pages was never going to work Deployments sat in deployment_queued and timed out, over and over, on totally unrelated repos. Turned out it wasn’t a config issue at all — GitHub’s status page had an active incident open the same day (“Incident with Pages,” degraded performance, investigating). No amount of poking at Settings → Pages or the Actions tab was going to fix an outage on their end. Moved hosting off Pages entirely rather than wait it out. 2) The Fish Audio proxy needed its own home The app calls out to Fish Audio for Rick’s voice, but the API key can’t be trusted client-side and Fish’s endpoint doesn’t play nice with browser CORS anyway. Solved both with a small Cloudflare Worker that does one job: accept a POST to /tts with fishKey , text , and a few optional params ( reference_id , format , model ), forward it to Fish Audio, and hand back the raw audio bytes. The frontend already had the right shape for this call, so it was mostly a matter of getting the Worker’s workers.dev subdomain toggled on — it silently doesn’t activate until there’s an actual deployed script behind it, which cost a bit of head-scratching before the first real deploy went through. 3) Voice playback was getting blocked, then falling out of sync Two separate bugs stacked on top of each other here. audio.play() was firing after an await fetch() , and by then Chrome no longer considered it tied to the user’s original click — so playback silently failed with a permission error. Fixed by unlocking the page’s audio system on the very first click/keypress/tap anywhere, which browsers treat as valid for the rest of the session regardless of how much async work happens in between. Once audio was actually playing, timing was off. There’s a fallback timer that force-reveals Rick’s reply text if the voice hasn’t started yet, originally set to 6 seconds. Fish Audio’s real-world response time runs closer to 8 seconds, so text was popping up two seconds before the voice caught up — reply and audio landing noticeably out of step. Bumped the fallback specifically for Fish voice mode to 15 seconds, leaving the faster browser-TTS and text-only modes untouched since they never had the delay problem to begin with. Net result The app deploys somewhere that isn’t at the mercy of a GitHub outage, the voice proxy has its own dedicated backend instead of leaking a key client-side, and audio no longer gets blocked or races ahead of the text it’s supposed to accompany."}, {"post_id": 19826, "ts": "2026-07-01T06:32:37Z", "hours": 8.88, "text": "Phase 3 Devlog — Face & Layout Polish Phase 3 added a handful of new facial states on top of the existing set (talking, angry, blink, thinking, sleep, surprised): manic, disgust, and exasperated. Each is just CSS — scaling the unibrow, eyes, and mouth per state and letting the existing transition properties handle the interpolation. They’re wired into guessMood(), so the reply text picks which one fires.The main bug was in the pupils. Bumping their size seemed trivial, but the original CSS used a multi-offset box-shadow to fake small catchlight dots around the pupil, and none of those shadow values had an explicit color. Browsers default an unset box-shadow color to currentColor, which here was the page’s neon-green text color. Scaling the pattern up didn’t just make the pupil bigger, it made a glowing green blob visible around it. Fixed by dropping the multi-dot trick for a single solid pupil with one inset highlight — simpler, and it scales cleanly.There was also a first pass that auto-cycled through every state on a timer so they’d show up without an API key connected. It conflicted with the actual reply-driven logic, so it got pulled — states now only ever fire off a real message, same as talking and surprised always did.A second bug turned up after that: the auto-blink loop was resetting the container’s full class list on every blink, which incidentally wiped out whatever mood state a reply had just set. Since blinks fire every 2–6 seconds, this meant states were getting cut short or skipped entirely. Fixed by having blink toggle its own class instead of resetting the container.Smaller changes: the chat history panel moved to the leftmost column, the unibrow got nudged up slightly to give the bigger pupils more room, and the inaccurate relative timestamps (“3m ago”) on chat list items were removed in favor of just showing message count."}, {"post_id": 18139, "ts": "2026-06-29T04:48:55Z", "hours": 5.0375, "text": "Phase 2 Devlog — Voice IntegrationPhase 2 was all about giving Rick his actual voice using Fish Audio, which hosts a Rick Sanchez voice clone model. The first problem hit immediately: Fish Audio had quietly updated their API. The old speech-1.5 model name passed inside the request body no longer worked — Fish Audio now expects the model as an HTTP header (model: s2.1-pro-free), and the model names themselves had changed entirely. Once we figured that out and stripped the invalid body parameters, the request was clean. But Rick still wasn’t speaking.The bigger wall was CORS. The moment a browser fetch() call sends an Authorization header to a third-party API, the browser fires a preflight check — and if the server doesn’t explicitly whitelist your origin, the request gets blocked before it even leaves the browser. Fish Audio’s API is designed for server-to-server use, so no frontend origin gets through, whether you’re on localhost or a real GitHub Pages domain. There’s no client-side fix for this. As a temporary workaround we wired in the browser’s built-in speechSynthesis API, tuning the pitch down and slowing the rate to approximate Rick’s drawl. It worked, but it obviously wasn’t Rick.The real fix was a Cloudflare Worker acting as a one-file serverless proxy. The insight is simple: CORS only applies to browser-to-server calls, not server-to-server. So the browser calls the Worker (which is on your own domain, no CORS issue), the Worker forwards the request to Fish Audio privately, and streams the audio blob back with open CORS headers. The whole proxy is about 60 lines of JavaScript, deploys in two minutes from the Cloudflare dashboard for free."}, {"post_id": 17009, "ts": "2026-06-27T16:34:32Z", "hours": 7.5361, "text": "Phase 1 is a fully functional browser-based AI chat interface that lets you have conversations with Rick Sanchez from Rick and Morty, built entirely as a single self-contained HTML file with no build tools, frameworks, or external dependencies beyond the APIs. The interface combines a pure CSS pixel-art Rick portrait—constructed entirely from positioned divs using borders, border-radius, transforms, and box shadows—with Google’s Gemini API to create a character that not only responds intelligently but visibly reacts to the conversation. Rick can talk, blink automatically, become angry, smirk, think, look surprised, or fall asleep, with each expression driven by smooth CSS transitions triggered by heuristic mood detection on his responses. When idle, he periodically delivers impatient one-liners that pause automatically while API requests are running. Every Gemini request includes a carefully crafted system prompt that keeps Rick in character, encouraging him to insult trivial questions, enthusiastically explain genuinely interesting ones, naturally reference the Rick and Morty universe, and never acknowledge being an AI. The chat interface features animated message bubbles, an auto-expanding input box, typing indicators, split-panel layout, a live speech bubble above Rick displaying his latest response, and a model selector that allows switching between Gemini models without losing conversation history. An optional Google Custom Search integration detects questions requiring current information, silently injects search results into the prompt, and lets Rick answer as though he already knew the latest news without breaking character. The visual style embraces a neon green CRT terminal aesthetic with scanlines, portal glow effects, handwritten fonts for Rick’s dialogue, and responsive animations throughout. API keys remain only in browser memory for the current session, no data is stored, and the entire application can be launched by simply opening a single HTML file."}]...
|
Title: Rick Sanchez.Ai by @anujkishan918 | Stardan Title: Rick Sanchez.Ai by @anujkishan918 | Stardance
Devlogs:
Phase 1 is a fully functional browser-based AI chat interface that lets you have conversations with Rick Sanchez from Rick and Morty, built entirely as a single self-contained HTML file with no build tools, frameworks, or external dependencies beyond the APIs. The interface combines a pure CSS pixel-art Rick portrait—constructed entirely from positioned divs using borders, border-radius, transforms, and box shadows—with Google’s Gemini API to create a character that not only responds intelligently but visibly reacts to the conversation. Rick can talk, blink automatically, become angry, smirk, think, look surprised, or fall asleep, with each expression driven by smooth CSS transitions triggered by heuristic mood detection on his responses. When idle, he periodically delivers impatient one-liners that pause automatically while API requests are running. Every Gemini request includes a carefully crafted system prompt that keeps Rick in character, encouraging him to insult trivial questions, enthusiastically explain genuinely interesting ones, naturally reference the Rick and Morty universe, and never acknowledge being an AI. The chat interface features animated message bubbles, an auto-expanding input box, typing indicators, split-panel layout, a live speech bubble above Rick displaying his latest response, and a model selector that allows switching between Gemini models without losing conversation history. An optional Google Custom Search integration detects questions requiring current information, silently injects search results into the prompt, and lets Rick answer as though he already knew the latest news without breaking character. The visual style embraces a neon green CRT terminal aesthetic with scanlines, portal glow effects, handwritten fonts for Rick’s dialogue, and responsive animations throughout. API keys remain only in browser memory for the current session, no data is stored, and the entire application can be launched by simply opening a single HTML file.
Phase 2 Devlog — Voice IntegrationPhase 2 was all about giving Rick his actual voice using Fish Audio, which hosts a Rick Sanchez voice clone model. The first problem hit immediately: Fish Audio had quietly updated their API. The old speech-1.5 model name passed inside the request body no longer worked — Fish Audio now expects the model as an HTTP header (model: s2.1-pro-free), and the model names themselves had changed entirely. Once we figured that out and stripped the invalid body parameters, the request was clean. But Rick still wasn’t speaking.The bigger wall was CORS. The moment a browser fetch() call sends an Authorization header to a third-party API, the browser fires a preflight check — and if the server doesn’t explicitly whitelist your origin, the request gets blocked before it even leaves the browser. Fish Audio’s API is designed for server-to-server use, so no frontend origin gets through, whether you’re on localhost or a real GitHub Pages domain. There’s no client-side fix for this. As a temporary workaround we wired in the browser’s built-in speechSynthesis API, tuning the pitch down and slowing the rate to approximate Rick’s drawl. It worked, but it obviously wasn’t Rick.The real fix was a Cloudflare Worker acting as a one-file serverless proxy. The insight is simple: CORS only applies to browser-to-server calls, not server-to-server. So the browser calls the Worker (which is on your own domain, no CORS issue), the Worker forwards the request to Fish Audio privately, and streams the audio blob back with open CORS headers. The whole proxy is about 60 lines of JavaScript, deploys in two minutes from the Cloudflare dashboard for free.
Phase 3 Devlog — Face & Layout Polish Phase 3 added a handful of new facial states on top of the existing set (talking, angry, blink, thinking, sleep, surprised): manic, disgust, and exasperated. Each is just CSS — scaling the unibrow, eyes, and mouth per state and letting the existing transition properties handle the interpolation. They’re wired into guessMood(), so the reply text picks which one fires.The main bug was in the pupils. Bumping their size seemed trivial, but the original CSS used a multi-offset box-shadow to fake small catchlight dots around the pupil, and none of those shadow values had an explicit color. Browsers default an unset box-shadow color to currentColor, which here was the page’s neon-green text color. Scaling the pattern up didn’t just make the pupil bigger, it made a glowing green blob visible around it. Fixed by dropping the multi-dot trick for a single solid pupil with one inset highlight — simpler, and it scales cleanly.There was also a first pass that auto-cycled through every state on a timer so they’d show up without an API key connected. It conflicted with the actual reply-driven logic, so it got pulled — states now only ever fire off a real message, same as talking and surprised always did.A second bug turned up after that: the auto-blink loop was resetting the container’s full class list on every blink, which incidentally wiped out whatever mood state a reply had just set. Since blinks fire every 2–6 seconds, this meant states were getting cut short or skipped entirely. Fixed by having blink toggle its own class instead of resetting the container.Smaller changes: the chat history panel moved to the leftmost column, the unibrow got nudged up slightly to give the bigger pupils more room, and the inaccurate relative timestamps (“3m ago”) on chat list items were removed in favor of just showing message count.
Phase 4 Devlog — Deployment & Voice Reliability Phase 4 was less about the face and more about getting the thing actually reachable and sounding right. Three separate problems, three separate fixes. 1) GitHub Pages was never going to work Deployments sat in deployment_queued and timed out, over and over, on totally unrelated repos. Turned out it wasn’t a config issue at all — GitHub’s status page had an active incident open the same day (“Incident with Pages,” degraded performance, investigating). No amount of poking at Settings → Pages or the Actions tab was going to fix an outage on their end. Moved hosting off Pages entirely rather than wait it out. 2) The Fish Audio proxy needed its own home The app calls out to Fish Audio for Rick’s voice, but the API key can’t be trusted client-side and Fish’s endpoint doesn’t play nice with browser CORS anyway. Solved both with a small Cloudflare Worker that does one job: accept a POST to /tts with fishKey , text , and a few optional params ( reference_id , format , model ), forward it to Fish Audio, and hand back the raw audio bytes. The frontend already had the right shape for this call, so it was mostly a matter of getting the Worker’s workers.dev subdomain toggled on — it silently doesn’t activate until there’s an actual deployed script behind it, which cost a bit of head-scratching before the first real deploy went through. 3) Voice playback was getting blocked, then falling out of sync Two separate bugs stacked on top of each other here. audio.play() was firing after an await fetch() , and by then Chrome no longer considered it tied to the user’s original click — so playback silently failed with a permission error. Fixed by unlocking the page’s audio system on the very first click/keypress/tap anywhere, which browsers treat as valid for the rest of the session regardless of how much async work happens in between. Once audio was actually playing, timing was off. There’s a fallback timer that force-reveals Rick’s reply text if the voice hasn’t started yet, originally set to 6 seconds. Fish Audio’s real-world response time runs closer to 8 seconds, so text was popping up two seconds before the voice caught up — reply and audio landing noticeably out of step. Bumped the fallback specifically for Fish voice mode to 15 seconds, leaving the faster browser-TTS and text-only modes untouched since they never had the delay problem to begin with. Net result The app deploys somewhere that isn’t at the mercy of a GitHub outage, the voice proxy has its own dedicated backend instead of leaking a key client-side, and audio no longer gets blocked or races ahead of the text it’s supposed to accompany.
This phase added the startup mascot — got Rick & Morty standing above the portal in the intro screen using pure CSS. Experienced a little issue with the alignment which I discovered later. There was still a hanging translateX(-50%) that was pushing the mascot aside. Removed the line of code and got the exact alignment with the help of the sliders (X, Y, size). Got to the desired values translate(60px,-138px) scale(0.76) and removed them right away. Rewrote the intro animation logic as well — it automatically skips after some seconds, now it will play when loaded and wait for a tap to proceed. I have experimented with making a window similar to the macOs one (traffic lights and title bar) but did not get it in time, so I reverted it. The last part was related to the sidebar and its Pickle Rick icon. Made the sidebar collapsed into the narrow column with the rotating portal ring logo which opens and closes it. Updated the Pickle Rick image by making the design more precise (added his body, spots, teeth and tongue) and got the exact location using the same sliders technique. Made Rick’s face fade into the black instead of clashing. Last thing hooked it into the existing “annoyed” mood detection,
Fully over hauled the UI and added a pixel art intro story.
Ships:
Quick heads up before anything else — this runs on the free tiers of both Gemini and Fish Audio, so there are limits. Gemini’s free API can get busy or rate-limited under load, and Fish Audio’s free tier will sometimes cut audio off mid-sentence once you hit its usage cap. If a reply feels slow or the voice stops abruptly, that’s almost always why — not a bug in the app itself. What I made Rick Sanchez.Ai — a single-file, Gemini-powered chatbot styled as Rick Sanchez from Rick and Morty, with a real-time animated CSS face that shifts expression (talking, angry, thinking, surprised, manic, disgust, exasperated, and more) based on the mood of his replies. It supports multi-chat history so you can run several conversations side by side, and has optional voice cloning through Fish Audio so Rick actually sounds like Rick instead of a generic TTS voice. No build step, no framework — just one HTML file plus a small Cloudflare Worker that proxies the Fish Audio requests so the API key never sits exposed in the browser. What was challenging Most of the real difficulty wasn’t the AI part — it was getting hosting and audio to behave. GitHub Pages deployments kept queuing and timing out, which turned out to be a GitHub-side incident rather than anything wrong with my config, so I moved hosting elsewhere rather than wait it out. Getting Fish Audio working reliably meant standing up a Cloudflare Worker as a proxy, since the API key can’t be trusted client-side and Fish’s endpoint doesn’t handle browser CORS on its own. On top of that, the audio kept getting silently blocked by the browser’s autoplay policy because playback was starting after an async fetch instead of directly inside a user’s click — and even after that was fixed, the reply text was popping up before the voice actually started, since Fish Audio’s real response time runs closer to 8 seconds and the original fallback timer only waited 6. What I’m proud of The face. Every expression is pure CSS — no sprite sheets, no images — just scaling and repositioning the eyes, unibrow, and mouth per mood state, with transitions handling the interpolation between them. Getting the mood to actually sync with what Rick is saying, and getting the voice to play in step with the text instead of racing ahead of it, took a lot of small timing fixes, and it finally feels right. What people should know to test it You’ll need your own free API keys — a Gemini API key is required to chat at all, and a Fish Audio key is optional if you want Rick to actually talk instead of just typing. Paste them into the app when prompted. If voice mode seems silent at first, click anywhere on the page once before sending a message — browsers block audio that hasn’t been unlocked by a real click. And if either API is slow or drops mid-response, that’s the free-tier limits mentioned up top, not a broken deploy....
|
1793775162.8332443
|
1794639162.8332443
|
|
33475
|
nba players biographies by @Merd10 | Stardance
|
Merd10
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T19:10:18Z", "hours": 0.0, "multiplier": 1.06, "payout": 0, "blessing": "neutral", "text": "I’m going to create a website featuring biographies of famous NBA basketball players.", "repo": "https://github.com/merdoo10/nba", "demo": "https://nbahakkinda.netlify.app/"}]...
|
[{"post_id": 26411, "ts": "202 [{"post_id": 26411, "ts": "2026-07-11T05:57:39Z", "hours": 0.0, "text": "I corrected the things you said."}, {"post_id": 26134, "ts": "2026-07-10T19:03:36Z", "hours": 0.0, "text": "I created an inspiring website featuring biographies of NBA players."}]...
|
Title: nba players biographies by @Merd10 | Starda Title: nba players biographies by @Merd10 | Stardance
Devlogs:
I created an inspiring website featuring biographies of NBA players.
I corrected the things you said.
Ships:
I’m going to create a website featuring biographies of famous NBA basketball players....
|
1793775161.9856586
|
1794639161.9856586
|
|
31582
|
Validator by @jayeshsinghal | Stardance
|
jayeshsinghal
|
1
|
29.0
|
100
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-12T04:45:22Z", "hours": 29.0, "multiplier": 3.44, "payout": 100, "blessing": "neutral", "text": "AI-powered startup idea analyzer. Given a one-line pitch, it returns a structured analysis: competitors, market size, weaknesses, pricing suggestions, and a computed likelihood-of-success score. Features Likelihood of success, computed deterministically from sub-scores (not just an LLM guess) Monetization score and technical difficulty rating Market size and growth rate, verified against real published figures where possible Competitor list with web-scraped details (website, description, pricing hints) Weaknesses and risk severity Pricing model suggestions with rationale Tech Stack Backend: Flask (Python) AI: Groq API (Llama 3.3 70B) Market data: scraped search results (Mojeek), parsed for dollar figures and CAGR Competitor scraping: BeautifulSoup, Requests Frontend: HTML, CSS, JavaScript", "repo": "https://github.com/jsplaystore/StartupValidator", "demo": "https://startupvalidator-ashen.vercel.app/"}]...
|
[{"post_id": 27012, "ts": "202 [{"post_id": 27012, "ts": "2026-07-12T04:44:42Z", "hours": 0.3, "text": "Shipping now!"}, {"post_id": 27003, "ts": "2026-07-12T04:26:32Z", "hours": 0.26, "text": "UI issue on the vercel, fix then push."}, {"post_id": 25147, "ts": "2026-07-09T05:30:23Z", "hours": 7.4111, "text": "I added sources so you can tell where it got the data from, the issue was that edge and chrome were rejecting requests so I had to go a seperate route Found an issue with the model will all of the characteristics clustered around 50… Will need to fixthat."}, {"post_id": 24541, "ts": "2026-07-08T05:08:31Z", "hours": 5.6994, "text": "Implemented other insights and increased the different types of monetization models the model is trained on so it can make the best decision."}, {"post_id": 24400, "ts": "2026-07-07T22:43:52Z", "hours": 3.8428, "text": "Working on implementing the mathematics into my model. So far so good, I will now look at improving other insights and adding sources…"}, {"post_id": 24163, "ts": "2026-07-07T15:34:41Z", "hours": 4.5247, "text": "Did some math, to calculate the success index. I realized that the LLM returns the ingredients (market size, growth, monetization, difficulty, competitor count, weaknesses). So I have to normalize the signals from 0-1, market = clamp( (log10(TAM_dollars) - 7) / 4 , 0, 1 ) growth = clamp( CAGR% / 30 , 0, 1 ) n = number of competitors n = 0 → 0.40 (unvalidated market) n = 1–3 → 0.90 (validated, room to enter) n = 4–6 → 0.70 n = 7–9 → 0.50 n ≥ 10 → 0.30 (saturated) feasible = (10 - difficulty) / 9 success% = round( 100 / (1 + e^(-6 * (S - 0.5))) ) Now working on implementation"}, {"post_id": 23963, "ts": "2026-07-07T06:15:26Z", "hours": 6.5439, "text": "Working on this validator, so far I have used knowledge from previous projects to get the website scraping to work, I am just not trying to get the predictions to work… Very rough right now, it may take a while for that to start working."}, {"post_id": 23720, "ts": "2026-07-06T20:39:55Z", "hours": 0.6094, "text": "Starting to devlop this startup validator to give people a glimpse into how well their ideas will do on the market. Inspired by the bad sharktank pitches."}]...
|
Title: Validator by @jayeshsinghal | Stardance
De Title: Validator by @jayeshsinghal | Stardance
Devlogs:
Starting to devlop this startup validator to give people a glimpse into how well their ideas will do on the market. Inspired by the bad sharktank pitches.
Working on this validator, so far I have used knowledge from previous projects to get the website scraping to work, I am just not trying to get the predictions to work… Very rough right now, it may take a while for that to start working.
Did some math, to calculate the success index. I realized that the LLM returns the ingredients (market size, growth, monetization, difficulty, competitor count, weaknesses). So I have to normalize the signals from 0-1, market = clamp( (log10(TAM_dollars) - 7) / 4 , 0, 1 ) growth = clamp( CAGR% / 30 , 0, 1 ) n = number of competitors n = 0 → 0.40 (unvalidated market) n = 1–3 → 0.90 (validated, room to enter) n = 4–6 → 0.70 n = 7–9 → 0.50 n ≥ 10 → 0.30 (saturated) feasible = (10 - difficulty) / 9 success% = round( 100 / (1 + e^(-6 * (S - 0.5))) ) Now working on implementation
Working on implementing the mathematics into my model. So far so good, I will now look at improving other insights and adding sources…
Implemented other insights and increased the different types of monetization models the model is trained on so it can make the best decision.
I added sources so you can tell where it got the data from, the issue was that edge and chrome were rejecting requests so I had to go a seperate route Found an issue with the model will all of the characteristics clustered around 50… Will need to fixthat.
UI issue on the vercel, fix then push.
Shipping now!
Ships:
AI-powered startup idea analyzer. Given a one-line pitch, it returns a structured analysis: competitors, market size, weaknesses, pricing suggestions, and a computed likelihood-of-success score. Features Likelihood of success, computed deterministically from sub-scores (not just an LLM guess) Monetization score and technical difficulty rating Market size and growth rate, verified against real published figures where possible Competitor list with web-scraped details (website, description, pricing hints) Weaknesses and risk severity Pricing model suggestions with rationale Tech Stack Backend: Flask (Python) AI: Groq API (Llama 3.3 70B) Market data: scraped search results (Mojeek), parsed for dollar figures and CAGR Competitor scraping: BeautifulSoup, Requests Frontend: HTML, CSS, JavaScript...
|
1793775161.1097076
|
1794639161.1097076
|
|
25637
|
Droney V.1 by @Mahdin | Stardance
|
Mahdin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Droney V.1 by @Mahdin | Stardance
|
1793775160.2044683
|
1794379960.2044683
|
|
28453
|
Airport Data Visualization by @jayeshsinghal | Sta Airport Data Visualization by @jayeshsinghal | Stardance...
|
jayeshsinghal
|
1
|
2.0
|
11
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T03:24:51Z", "hours": 2.0, "multiplier": 5.67, "payout": 11, "blessing": "neutral", "text": "SHIP TIME, here is some basic info: Real-time flight tracking visualization displaying live aircraft positions from major airports worldwide. Live aircraft tracking from 14 major global airports Real-time position updates from adsb.lol API Interactive 3D globe visualization Displays aircraft callsigns, altitude, velocity, and heading Filters for airborne aircraft only (altitude > 1500ft, speed > 50kts) Updates aircraft data every 2 seconds per hub No API key required - uses free adsb.lol service Frontend: Vanilla JavaScript, HTML5, CSS3 Backend: Node.js serverless functions (Vercel) Deployment: Vercel Data Source: adsb.lol API (free, no authentication) Data Collection: Serverless function polls adsb.lol API for aircraft within 250nm of each hub Filtering: Removes ground aircraft, duplicates, and slow-moving planes Normalization: Converts units (feet→meters, knots→m/s) for consistent display Visualization: Frontend renders aircraft positions on interactive globe", "repo": "https://github.com/jsplaystore/airport-data-visualization", "demo": "https://airport-data-visualization.vercel.app/"}]...
|
[{"post_id": 20344, "ts": "202 [{"post_id": 20344, "ts": "2026-07-01T22:23:48Z", "hours": 0.4936, "text": "Working on fixing the visuals, just got 3D working, trying to get the planes hsowign up with clear lines… a little bit of lag is apparent."}, {"post_id": 20321, "ts": "2026-07-01T21:47:49Z", "hours": 0.5964, "text": "Okay, so I got it working in 2D, now I am going to try and port it over to 3D…."}, {"post_id": 19230, "ts": "2026-06-30T14:25:24Z", "hours": 0.3533, "text": "I think i broke the globe, trying ot fix it"}, {"post_id": 19209, "ts": "2026-06-30T14:01:23Z", "hours": 0.2989, "text": "A globe is forming, lots of bugs still though, looks awful."}, {"post_id": 18946, "ts": "2026-06-30T03:53:48Z", "hours": 0.2692, "text": "Started working on the airport data visualization… So far, not great, but here’s what I have. So far, I have been able to render the 3D space and see some ping-pong balls bouncing between the two “airports”. Working on portraying this onto a globe and making the balls into actual airplane models. I randomly selected SEA and ATL for this project."}]...
|
Title: Airport Data Visualization by @jayeshsingha Title: Airport Data Visualization by @jayeshsinghal | Stardance
Devlogs:
Started working on the airport data visualization… So far, not great, but here’s what I have. So far, I have been able to render the 3D space and see some ping-pong balls bouncing between the two “airports”. Working on portraying this onto a globe and making the balls into actual airplane models. I randomly selected SEA and ATL for this project.
A globe is forming, lots of bugs still though, looks awful.
I think i broke the globe, trying ot fix it
Okay, so I got it working in 2D, now I am going to try and port it over to 3D….
Working on fixing the visuals, just got 3D working, trying to get the planes hsowign up with clear lines… a little bit of lag is apparent.
Ships:
SHIP TIME, here is some basic info: Real-time flight tracking visualization displaying live aircraft positions from major airports worldwide. Live aircraft tracking from 14 major global airports Real-time position updates from adsb.lol API Interactive 3D globe visualization Displays aircraft callsigns, altitude, velocity, and heading Filters for airborne aircraft only (altitude > 1500ft, speed > 50kts) Updates aircraft data every 2 seconds per hub No API key required - uses free adsb.lol service Frontend: Vanilla JavaScript, HTML5, CSS3 Backend: Node.js serverless functions (Vercel) Deployment: Vercel Data Source: adsb.lol API (free, no authentication) Data Collection: Serverless function polls adsb.lol API for aircraft within 250nm of each hub Filtering: Removes ground aircraft, duplicates, and slow-moving planes Normalization: Converts units (feet→meters, knots→m/s) for consistent display Visualization: Frontend renders aircraft positions on interactive globe...
|
1793775159.347846
|
1794639159.347846
|
|
409
|
Personal Website (brian.re) by @brian | Stardance
|
brian
|
2
|
44.0
|
714
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T01:04:35Z", "hours": 15.0, "multiplier": 13.22, "payout": 197, "blessing": "neutral", "text": "I made great progress on my personal website by completely transforming the page design, featuring a nicer color scheme, warmer font, improved blog post typography, and many other little changes! I also introduced a new projects page (with a preview on the homepage), and made some big organizational changes in the codebase to follow DRY. I’m really proud of the new design, as I think it better represents me and is much more welcoming. I also learned that a couple simple color and font changes can have a HUGE impact on the design of your website and its friendliness. I learned a lot from the feedback on my previous ships and I’m excited to present this version of my site!", "repo": "https://github.com/brianwalczak/website", "demo": "https://brian.re"}, {"ship_num": 2, "ts": "2026-06-23T19:05:26Z", "hours": 29.0, "multiplier": 18.97, "payout": 517, "blessing": "neutral", "text": "I made massive improvements to my website status system by building a custom web client that allows me to map statuses based on the app I’m using! I also added a printer system to my website which allows users to print out a message of their choice right on my desk. For me, the most challenging part was definitely the web design (I suck at front-end work…), but I’m really proud of how the client ended up turning out :D", "repo": "https://github.com/brianwalczak/website", "demo": "https://brian.re"}]...
|
[{"post_id": 21210, "ts": "202 [{"post_id": 21210, "ts": "2026-07-03T00:56:42Z", "hours": 1.3636, "text": "I spent a while testing out all the functionality on my website (including on mobile devices) and made a variety of minor page fixes! I also improved the old 404 page to use my new page design."}, {"post_id": 20518, "ts": "2026-07-02T04:09:53Z", "hours": 0.5917, "text": "I created a project card component and added a featured projects section on the home screen! I also moved all database query functions into dedicated projects.ts and blog.ts modules so they can be reused across the codebase."}, {"post_id": 20313, "ts": "2026-07-01T21:39:33Z", "hours": 2.49, "text": "I noticed that as I’ve been adding more pages, the navbar on mobile is becoming more and more crammed, so I created a simple hamburger navigation menu for smaller screens! Besides that, I added 5-minute caching for projects and blog posts (since database reads are a lil’ slow) using Next.js’ unstable_cache function, and cleaned up the rest of the SVGs across the codebase to their own icon file in components/icons . Almost ready to ship :D just gonna add a “featured projects” section on the homepage!"}, {"post_id": 18172, "ts": "2026-06-29T06:31:28Z", "hours": 3.3758, "text": "I finished adding a projects page and created a Payload collection so I don’t need to hard code them! I also added Payload email functionality for password resets, cleaned up the environment variable setup, and upgraded all dependencies. Payload has lacked official support for Next.js v16 for quite some time now, but it’s finally here!!"}, {"post_id": 17868, "ts": "2026-06-28T20:08:41Z", "hours": 1.1678, "text": "Made some big organizational changes! I moved all of the icons in Skills.tsx and constants.tsx (contact links, footer links, etc.) into designated tsx files for reusability. I also DRY’d out the skills data by assigning it in constants.tsx and mapping over it! Besides that, I just made a couple bug fixes and ran prettier. Making the projects page next!"}, {"post_id": 17317, "ts": "2026-06-28T01:17:23Z", "hours": 0.9367, "text": "I added a nice fade animation when switching between skill tabs! I also added a favicon by pointing the source to my GitHub profile picture URL, and fixed a few more bugs."}, {"post_id": 17101, "ts": "2026-06-27T19:25:02Z", "hours": 0.5861, "text": "I finished updating both the music player and the printer modal to use our new color scheme!"}, {"post_id": 16050, "ts": "2026-06-26T02:28:32Z", "hours": 1.9175, "text": "I ditched @tailwindcss/typography and completely transformed the styling of blog posts! Spent the past 2 hours designing custom CSS to pair with Payload’s RichText output. Super happy with the results. Codeblocks look amazing now! Next step will be fixing the music player and printer modal to have them use our new color scheme."}, {"post_id": 16009, "ts": "2026-06-26T00:05:39Z", "hours": 2.5, "text": "I’ve been thinking about the website for a while, and figured there’s just so much wrong with it. The color scheme is incredibly generic and boring, and it seems more like a product landing page than a personal website. So after a little over 2 hours of experimenting with different hues, and creating custom Tailwind classes to use across the website, I made some big changes! The website looks much more cozy now and features a nice navy blue design with a new font. I also scrapped the old grid background since it’s pretty generic. I’m incredibly happy about the new font and I think it makes the website much more inviting (I found it here )! Next step will be fixing blog posts since they’re really messy with Tailwind Typography."}, {"post_id": 11051, "ts": "2026-06-18T02:37:29Z", "hours": 4.9867, "text": "I added a printer section on my website and a modal to enter in the message! I also added filtering to block any inappropriate content using obscenity , rate limiting with Redis to limit each IP address to 1 successful request per 24 hours, and implemented VPN/Proxy checks with proxycheck.io. Generally I’m strictly against VPN blocking, but unfortunately in my case I think it’s the only effective way to prevent abuse (I want to be able to sleep at night ). Besides those changes, I also installed and ran prettier in the repo, and added basic Vercel analytics to see how many page visits I’m getting!"}, {"post_id": 7850, "ts": "2026-06-13T02:50:48Z", "hours": 3.6847, "text": "Finished implementing a printer module in the client to facilitate message printing! It uses Redis to store the messages as well, and the client polls every 30 seconds to pop the values and print them out. I also made some major Redis command optimizations by using Lua execution for the printer module and a Hash structure for the status. I was able to drastically minimize the amount of commands necessary to sync the status and fetch new printer messages, which is definitely a huge plus considering there’s a monthly command limit on the free plan. Time to build a messages input box on the website!"}, {"post_id": 7249, "ts": "2026-06-12T02:51:26Z", "hours": 4.0889, "text": "I’ve finally finished with the Settings page! I also made a few more bug fixes, removed the custom fonts (they look worse), made some security improvements for the Electron app (removed sandbox and nodeIntegration ), and refactored the onboarding/settings validation and flow. Added a noice fade-in animation on the loading screen too! I decided against a Devices page since it’s honestly unnecessary. If I really need to see the list of devices, I can just read the Redis status key. My next idea was adding some cool label printer functionality! I have a shipping label printer and hundreds of unused sticky labels, so I thought it would be cool if I added a message box on my website that would print out these messages right on my desk!"}, {"post_id": 6546, "ts": "2026-06-11T00:06:58Z", "hours": 0.7439, "text": "I finished updating the website to properly parse the status data, and now it displays properly, yay! The website backend fetches the status key from the Redis database, goes through each record, and sets the status of the device with the lowest priority number (a lower number means higher priority)."}, {"post_id": 5986, "ts": "2026-06-10T01:21:01Z", "hours": 2.6508, "text": "I’ve finished adding the Mappings page! I can now add a new application by its name and customize the status displayed when the app window is in focus. Next step will be implementing the new status JSON structure into the website itself… so we can actually start using it!"}, {"post_id": 4701, "ts": "2026-06-08T03:56:41Z", "hours": 2.1, "text": "I’ve made huge changes to the overall project folder structure so the codebase stays organized! I also added windowless functionality (to keep running in the background), open at login (incl. for Linux), and renamed some functions as well for better clarity :D"}, {"post_id": 3930, "ts": "2026-06-07T01:40:40Z", "hours": 2.8572, "text": "The Status page is finally complete! I finished building the UI and added the main process logic as well to handle manual overrides, invisible mode, and serve live updates to the renderer process every 30 seconds! I also added the get-windows library to find the currently active window and check if there’s a corresponding mapping (which I’ll be adding next in the Mappings page!). Installed and ran eslint + prettier as well :)"}, {"post_id": 2943, "ts": "2026-06-05T21:03:25Z", "hours": 2.2994, "text": "Currently working on the Status page of the UI, which will feature an overview of the live status, as well as the option to enter a manual override or appear invisible. I’ll still need to work on the logic in the main process that checks for open applications to update my status properly."}, {"post_id": 2570, "ts": "2026-06-05T04:23:23Z", "hours": 2.6528, "text": "Finally finished adding an onboarding flow where I configure my settings like device ID, priority, and Redis API credentials! When starting up the client now, it checks if the settings are valid, and if they aren’t, the onboarding flow is opened. Before saving the new configuration, the main process attempts to establish a connection with the Redis API first to ensure the credentials are valid. Next step will be building the actual dashboard."}, {"post_id": 2354, "ts": "2026-06-04T20:04:49Z", "hours": 1.6517, "text": "Forgot to devlog! So far I’ve built the core of the Electron app, and added a super simple interface just for testing to make sure Redis is working (it is!). Next steps will be creating an onboarding flow where I can input the Redis credentials and customize my settings upon installation!"}, {"post_id": 1810, "ts": "2026-06-04T01:03:49Z", "hours": 0.9306, "text": "First devlog! I decided that I’ll build a lightweight client to report my status instead of relying on Hackatime and Slack presence to guess (which is what my website has been doing before :/). So far I’ve migrated the /api/status endpoint to read a Redis database, which will be updated by the client to transmit my status! I’ll be writing the client in Electron next! Had to create a new repository for it, which you can find here: https://github.com/brianwalczak/cabin-client"}]...
|
Title: Personal Website (brian.re) by @brian | Sta Title: Personal Website (brian.re) by @brian | Stardance
Devlogs:
First devlog! I decided that I’ll build a lightweight client to report my status instead of relying on Hackatime and Slack presence to guess (which is what my website has been doing before :/). So far I’ve migrated the /api/status endpoint to read a Redis database, which will be updated by the client to transmit my status! I’ll be writing the client in Electron next! Had to create a new repository for it, which you can find here: https://github.com/brianwalczak/cabin-client
Forgot to devlog! So far I’ve built the core of the Electron app, and added a super simple interface just for testing to make sure Redis is working (it is!). Next steps will be creating an onboarding flow where I can input the Redis credentials and customize my settings upon installation!
Finally finished adding an onboarding flow where I configure my settings like device ID, priority, and Redis API credentials! When starting up the client now, it checks if the settings are valid, and if they aren’t, the onboarding flow is opened. Before saving the new configuration, the main process attempts to establish a connection with the Redis API first to ensure the credentials are valid. Next step will be building the actual dashboard.
Currently working on the Status page of the UI, which will feature an overview of the live status, as well as the option to enter a manual override or appear invisible. I’ll still need to work on the logic in the main process that checks for open applications to update my status properly.
The Status page is finally complete! I finished building the UI and added the main process logic as well to handle manual overrides, invisible mode, and serve live updates to the renderer process every 30 seconds! I also added the get-windows library to find the currently active window and check if there’s a corresponding mapping (which I’ll be adding next in the Mappings page!). Installed and ran eslint + prettier as well :)
I’ve made huge changes to the overall project folder structure so the codebase stays organized! I also added windowless functionality (to keep running in the background), open at login (incl. for Linux), and renamed some functions as well for better clarity :D
I’ve finished adding the Mappings page! I can now add a new application by its name and customize the status displayed when the app window is in focus. Next step will be implementing the new status JSON structure into the website itself… so we can actually start using it!
I finished updating the website to properly parse the status data, and now it displays properly, yay! The website backend fetches the status key from the Redis database, goes through each record, and sets the status of the device with the lowest priority number (a lower number means higher priority).
I’ve finally finished with the Settings page! I also made a few more bug fixes, removed the custom fonts (they look worse), made some security improvements for the Electron app (removed sandbox and nodeIntegration ), and refactored the onboarding/settings validation and flow. Added a noice fade-in animation on the loading screen too! I decided against a Devices page since it’s honestly unnecessary. If I really need to see the list of devices, I can just read the Redis status key. My next idea was adding some cool label printer functionality! I have a shipping label printer and hundreds of unused sticky labels, so I thought it would be cool if I added a message box on my website that would print out these messages right on my desk!
Finished implementing a printer module in the client to facilitate message printing! It uses Redis to store the messages as well, and the client polls every 30 seconds to pop the values and print them out. I also made some major Redis command optimizations by using Lua execution for the printer module and a Hash structure for the status. I was able to drastically minimize the amount of commands necessary to sync the status and fetch new printer messages, which is definitely a huge plus considering there’s a monthly command limit on the free plan. Time to build a messages input box on the website!
I added a printer section on my website and a modal to enter in the message! I also added filtering to block any inappropriate content using obscenity , rate limiting with Redis to limit each IP address to 1 successful request per 24 hours, and implemented VPN/Proxy checks with proxycheck.io. Generally I’m strictly against VPN blocking, but unfortunately in my case I think it’s the only effective way to prevent abuse (I want to be able to sleep at night ). Besides those changes, I also installed and ran prettier in the repo, and added basic Vercel analytics to see how many page visits I’m getting!
I’ve been thinking about the website for a while, and figured there’s just so much wrong with it. The color scheme is incredibly generic and boring, and it seems more like a product landing page than a personal website. So after a little over 2 hours of experimenting with different hues, and creating custom Tailwind classes to use across the website, I made some big changes! The website looks much more cozy now and features a nice navy blue design with a new font. I also scrapped the old grid background since it’s pretty generic. I’m incredibly happy about the new font and I think it makes the website much more inviting (I found it here )! Next step will be fixing blog posts since they’re really messy with Tailwind Typography.
I ditched @tailwindcss/typography and completely transformed the styling of blog posts! Spent the past 2 hours designing custom CSS to pair with Payload’s RichText output. Super happy with the results. Codeblocks look amazing now! Next step will be fixing the music player and printer modal to have them use our new color scheme.
I finished updating both the music player and the printer modal to use our new color scheme!
I added a nice fade animation when switching between skill tabs! I also added a favicon by pointing the source to my GitHub profile picture URL, and fixed a few more bugs.
Made some big organizational changes! I moved all of the icons in Skills.tsx and constants.tsx (contact links, footer links, etc.) into designated tsx files for reusability. I also DRY’d out the skills data by assigning it in constants.tsx and mapping over it! Besides that, I just made a couple bug fixes and ran prettier. Making the projects page next!
I finished adding a projects page and created a Payload collection so I don’t need to hard code them! I also added Payload email functionality for password resets, cleaned up the environment variable setup, and upgraded all dependencies. Payload has lacked official support for Next.js v16 for quite some time now, but it’s finally here!!
I noticed that as I’ve been adding more pages, the navbar on mobile is becoming more and more crammed, so I created a simple hamburger navigation menu for smaller screens! Besides that, I added 5-minute caching for projects and blog posts (since database reads are a lil’ slow) using Next.js’ unstable_cache function, and cleaned up the rest of the SVGs across the codebase to their own icon file in components/icons . Almost ready to ship :D just gonna add a “featured projects” section on the homepage!
I created a project card component and added a featured projects section on the home screen! I also moved all database query functions into dedicated projects.ts and blog.ts modules so they can be reused across the codebase.
I spent a while testing out all the functionality on my website (including on mobile devices) and made a variety of minor page fixes! I also improved the old 404 page to use my new page design.
Ships:
I made massive improvements to my website status system by building a custom web client that allows me to map statuses based on the app I’m using! I also added a printer system to my website which allows users to print out a message of their choice right on my desk. For me, the most challenging part was definitely the web design (I suck at front-end work…), but I’m really proud of how the client ended up turning out :D
I made great progress on my personal website by completely transforming the page design, featuring a nicer color scheme, warmer font, improved blog post typography, and many other little changes! I also introduced a new projects page (with a preview on the homepage), and made some big organizational changes in the codebase to follow DRY. I’m really proud of the new design, as I think it better represents me and is much more welcoming. I also learned that a couple simple color and font changes can have a HUGE impact on the design of your website and its friendliness. I learned a lot from the feedback on my previous ships and I’m excited to present this version of my site!...
|
1793775158.0277312
|
1793861558.0277312
|
|
35789
|
Pasta Types by @Merd10 | Stardance
|
Merd10
|
1
|
2.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-15T22:01:27Z", "hours": 2.0, "multiplier": 1.41, "payout": 4, "blessing": "neutral", "text": "I created a website describing 5 special types of pasta.", "repo": "https://github.com/merdoo10/pasta", "demo": "https://makarnagiriss.netlify.app/"}]...
|
[{"post_id": 29174, "ts": "202 [{"post_id": 29174, "ts": "2026-07-15T21:57:20Z", "hours": 2.0, "text": "I created a website describing 5 special types of pasta."}]...
|
Title: Pasta Types by @Merd10 | Stardance
Devlogs Title: Pasta Types by @Merd10 | Stardance
Devlogs:
I created a website describing 5 special types of pasta.
Ships:
I created a website describing 5 special types of pasta....
|
1793775157.1588483
|
1794639157.1588483
|
|
19413
|
Perry. by @urged-st | Stardance
|
urged-st
|
1
|
1.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T22:27:58Z", "hours": 1.0, "multiplier": 2.48, "payout": 3, "blessing": "neutral", "text": "I made a site that shows a short story of “perry the period blood” It is not intended as educational or informative mainly just a light spin on a topic rarely talked about.", "repo": "https://github.com/urged-st/perry", "demo": "https://perrytheperiodblood.vercel.app"}]...
|
[{"post_id": 9542, "ts": "2026 [{"post_id": 9542, "ts": "2026-06-15T22:24:54Z", "hours": 1.0739, "text": "1hr challenge to make perry the period blood This is a small site that has a short story of perry the period blood It is based off an inside joke with my friends I challenged myself to build it in an hour I guess it worked, now i can do something useful!"}]...
|
Title: Perry. by @urged-st | Stardance
Devlogs:
1 Title: Perry. by @urged-st | Stardance
Devlogs:
1hr challenge to make perry the period blood This is a small site that has a short story of perry the period blood It is based off an inside joke with my friends I challenged myself to build it in an hour I guess it worked, now i can do something useful!
Ships:
I made a site that shows a short story of “perry the period blood” It is not intended as educational or informative mainly just a light spin on a topic rarely talked about....
|
1793775156.2915814
|
1794639156.2915814
|
|
62645
|
BLARE by @VickB | Stardance
|
VickB
|
1
|
5.0
|
23
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T20:39:39Z", "hours": 5.0, "multiplier": 5.0, "payout": 23, "blessing": "neutral", "text": "For my BLARE project, I made a custom alarm clock using a Seeed XIAO ESP32-C3, a TFT display, buttons, and a buzzer. I wanted to make my own clock instead of just buying one, and I got to work on the electronics, coding, PCB design, and 3D-printed case. One of the most challenging parts was getting the display and buttons to work properly. I had issues with the screen staying black, wiring, and getting the code to work with my hardware. I had to troubleshoot the connections, test different things, and keep trying even when it didn’t work the first time. I’m proud that I designed and built most of the project myself and learned more about how hardware and software work together. I also got more experience with KiCad, Arduino IDE, and 3D printing. If I could improve anything, I would make the display easier to fit into the case and keep testing the electronics until everything works reliably. You can test my project by checking out the design, connecting the electronics, and uploading the firmware to the ESP32-C3. The goal is to have a working alarm clock that displays the time and uses buttons to control its features, with a buzzer for the alarm.", "repo": "https://github.com/VickB8/Blare-Clock", "demo": ""}]...
|
[{"post_id": 83075, "ts": "202 [{"post_id": 83075, "ts": "2026-10-26T20:05:02Z", "hours": 0.4667, "text": "OMG!! finally almost ready multiple code attempts sanding fitting will need to buy shorter bolts for top and adjust the 3d model for the right fit but yes almost ready soon !!!!"}, {"post_id": 81839, "ts": "2026-10-22T17:59:41Z", "hours": 1.4667, "text": "Another Day another fail cant really seem to make the display work i used an external wire to check with esp pins the screen backlight is litting on some different pins but not on its backlight pin like maybe i’ll get a solution. EDIT: OMG!!!!! im so happy the screen is working i was doing after session repairs as usual fixed the code and its working took so long"}, {"post_id": 81648, "ts": "2026-10-21T21:32:53Z", "hours": 1.2, "text": "Soldered all the components onto the pcb also made a custom solder third hand at home although i uploaded code multiple times different versions took almost 4 hours didnt want to record it the screen still doesnt show anything im suspecting its a backlight issue when i put flashlight on it some words are visible will try to find a way around it i hope its not faulty"}, {"post_id": 72861, "ts": "2026-09-23T21:37:13Z", "hours": 1.5339, "text": "Fixed some errors listed in funding return fixed pcb design for led slot and design for supports of pcb."}, {"post_id": 70931, "ts": "2026-09-20T02:05:45Z", "hours": 0.2503, "text": "Fixing github repo wrong pcb file uploaded Ik it is similar to guide but this is my first project i am learning and i think i did pretty good next project hackpad will be better fs"}, {"post_id": 69383, "ts": "2026-09-16T23:03:55Z", "hours": 2.71, "text": "What a day!! Just finished the project learned a lot of new things took so long to 3d model the body and the write the code but finally done forgot to record 90 minutes of 3d modeling but we learn from our mistakes and just continued done all the prep and designing in 2 days very proud of myself changed the pcb design to my own and made a pretty cool body for the clock excited to get funded. Even though the screen is not centered it took alot of time."}, {"post_id": 69144, "ts": "2026-09-16T13:55:38Z", "hours": 1.6394, "text": "Finally done with the pcb had some problems loading 3d models and libraries first time and i think i did it right"}]...
|
Title: BLARE by @VickB | Stardance
Devlogs:
Final Title: BLARE by @VickB | Stardance
Devlogs:
Finally done with the pcb had some problems loading 3d models and libraries first time and i think i did it right
What a day!! Just finished the project learned a lot of new things took so long to 3d model the body and the write the code but finally done forgot to record 90 minutes of 3d modeling but we learn from our mistakes and just continued done all the prep and designing in 2 days very proud of myself changed the pcb design to my own and made a pretty cool body for the clock excited to get funded. Even though the screen is not centered it took alot of time.
Fixing github repo wrong pcb file uploaded Ik it is similar to guide but this is my first project i am learning and i think i did pretty good next project hackpad will be better fs
Fixed some errors listed in funding return fixed pcb design for led slot and design for supports of pcb.
Soldered all the components onto the pcb also made a custom solder third hand at home although i uploaded code multiple times different versions took almost 4 hours didnt want to record it the screen still doesnt show anything im suspecting its a backlight issue when i put flashlight on it some words are visible will try to find a way around it i hope its not faulty
Another Day another fail cant really seem to make the display work i used an external wire to check with esp pins the screen backlight is litting on some different pins but not on its backlight pin like maybe i’ll get a solution. EDIT: OMG!!!!! im so happy the screen is working i was doing after session repairs as usual fixed the code and its working took so long
OMG!! finally almost ready multiple code attempts sanding fitting will need to buy shorter bolts for top and adjust the 3d model for the right fit but yes almost ready soon !!!!
Ships:
For my BLARE project, I made a custom alarm clock using a Seeed XIAO ESP32-C3, a TFT display, buttons, and a buzzer. I wanted to make my own clock instead of just buying one, and I got to work on the electronics, coding, PCB design, and 3D-printed case. One of the most challenging parts was getting the display and buttons to work properly. I had issues with the screen staying black, wiring, and getting the code to work with my hardware. I had to troubleshoot the connections, test different things, and keep trying even when it didn’t work the first time. I’m proud that I designed and built most of the project myself and learned more about how hardware and software work together. I also got more experience with KiCad, Arduino IDE, and 3D printing. If I could improve anything, I would make the display easier to fit into the case and keep testing the electronics until everything works reliably. You can test my project by checking out the design, connecting the electronics, and uploading the firmware to the ESP32-C3. The goal is to have a working alarm clock that displays the time and uses buttons to control its features, with a buzzer for the alarm....
|
1793775152.5218315
|
1793861552.5218315
|
|
18454
|
astrOS by @urged-st | Stardance
|
urged-st
|
2
|
32.0
|
302
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T18:06:53Z", "hours": 27.0, "multiplier": 11.44, "payout": 302, "blessing": "neutral", "text": "astrOS is a fullscreen web OS with nine astronomy apps built in vanilla JS: Sky Map uses real star positions calculated from your location, ISS Tracker polls live satellite data with haversine distance, Stargazing Conditions combines weather and moon phase into a seeing score, Solar System renders Keplerian orbits with clickable planets, Meteor Shower Tracker handles year-boundary showers correctly with proper countdown logic, plus NGC Catalogue, APOD, Mission Log, and Wallpaper Changer. I’m most proud of the Sky Map actually calculating real positions rather than faking it, and the ISS Tracker being genuinely useful for knowing whether the station is overhead. To test: open on desktop in fullscreen (geolocation needs permission and fullscreen mode to work), try dragging windows to screen edges to see snapping, check the meteor tracker during an active shower, click planets in Solar System to see their stats, and the Mission Log text persists across refreshes via localStorage. yes, i know it said 3 new features from webos1, but I got a bit too excited. have fun!", "repo": "https://github.com/urged-st/astrOS", "demo": "https://astr-os.vercel.app/"}, {"ship_num": 2, "ts": "2026-06-18T09:59:21Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a functional astronomy focused WebOS called astrOS. It currently features a custom programmed sky map which takes your location and shows you what is currently in the sky near you, and a simple in-session notepad. It also has a right-click context menu featuring my socials and projects (project links will be added when they are done lol) You can minimise windows as well. Please put any suggestions for new features you have in comments, I’d appreciate it a lot.", "repo": "https://github.com/urged-st/astrOS", "demo": "https://astr-os.vercel.app/"}]...
|
[{"post_id": 29628, "ts": "202 [{"post_id": 29628, "ts": "2026-07-16T18:02:48Z", "hours": 3.6972, "text": "Meteor Shower Tracker finished the last feature, a year-round meteor shower schedule with active/upcoming status so you actually know when to set an alarm. 11 major showers baked in (Quadrantids through Ursids), and everything’s calculated client-side, no API needed. stores absolute peak dates for each shower and works out the active window locally, correctly handles the year-boundary ones (Quadrantids starts Dec 28, Ursids ends Dec 26) without breaking on Jan 1st sorts active showers first, then whoever’s next peak is soonest countdown properly distinguishes “peak in Xd” from “peaked Xd ago” for showers you’re still inside the window for but already past peak on, caught that bug and fixed it before shipping by testing across multiple dates including exact-peak day (Aug 12 for Perseids) renders as a compact list with radiant constellation, ZHR (~Zenith Hourly Rate), and the peak countdown, all colour-coded so active showers pop no polling, just recomputes fresh every time you open it Bug Fixes & Polish went through all three files line-by-line before shipping. found and fixed two bugs plus some cleanup: window snapping corners were broken — getSnapZone() detected top-left/top-right when you dragged to a corner, but showSnapPreview() and applySnap() never had rect definitions for those zones, so the preview showed nothing and the drop silently failed. added proper quarter-tile rects for both corners so you can now snap to all four quadrants APOD toggle IDs — getElementById() calls for apod explanation/toggle buttons were working but the elements weren’t explicitly in the HTML, they were created at render-time by innerHTML, so the id references were technically fine but fragile. left them as-is since they work, but flagged it as something to refactor if we add more dynamic content later also ik its been shown in an earlier devlog, but the taskbar on the bottom isn’t exactly empty lol, you can minimise apps to it (third pic). maybe i’ll add a pin to taskbar feature? what’s left SHIPPPPPPPPPPPPPPPPPPPPPPPPP"}, {"post_id": 28122, "ts": "2026-07-14T06:30:28Z", "hours": 0.7539, "text": "Tiny fix lol I stopped good ol’ neptune being cut off on the solar system map, and also made it so that the contents of the notepad/mission log are saved in localStorage"}, {"post_id": 27936, "ts": "2026-07-13T21:28:34Z", "hours": 3.2881, "text": "Solar System Viewer Thought it’d be cool to have something you could just leave open on the desktop, so I added a little live Solar System app. Every planet sits where it actually should be today rather than looping around on some fake animation. Planet positions come from simplified J2000 Keplerian elements (semi-major axis, eccentricity, orbital period, etc.) and get advanced from the current date, so they’re calculated fresh instead of being hardcoded. Conveniently I’d already written a Newton-Raphson solver for Kepler’s equation while making Umbra, so I shamelessly reused it here to solve the eccentric anomaly before converting that into the planet’s true anomaly and distance from the Sun. Nice when old suffering becomes reusable code lol. Biggest headache honestly wasn’t the orbital maths, it was the scale. If you draw everything linearly then Neptune disappears off the edge of the canvas, but if you squash everything too much then the inner planets all merge together. Ended up scaling the orbital radius by √r instead, which keeps the angular positions correct while compressing the distances enough that the whole Solar System fits on one screen. Made every planet clickable as well because a static diagram felt a bit dead. Clicking one gives its current distance from the Sun and orbital period, with Earth getting a little highlight ring so it’s easy to spot where we are. It redraws once a minute since the planets barely move on human timescales anyway, and it’s definitely not accurate enough to navigate a spacecraft with, but it’s surprisingly close considering it’s just running a handful of orbital equations in the browser lol. deffo gonna play around with the window sizing cause its kinda weird right now… also neptune is STILL SQUASHED (genuine annoyance btw) so will do this TOMORROW."}, {"post_id": 27585, "ts": "2026-07-13T09:25:48Z", "hours": 3.4686, "text": "Stargazing Conditions New app, tells you whether tonight’s actually worth setting up a telescope for. pulls cloud cover, humidity and wind from Open-Meteo using the location I already grab on boot, no key needed which is nice the moon phase bit doesn’t touch an API at all, did it properly with the synodic month (29.53 days) against a known reference new moon, so it’s just maths running locally combined cloud cover and moon brightness into a rough seeing score out of 10, heavier cloud and a brighter moon both drag it down, then a one-line verdict underneath so you don’t have to interpret the number yourself was gonna render an actual crescent/gibbous moon on canvas for this but after the ISS ground track thing broke last time I didn’t wanna ship more clipping/arc geometry I couldn’t properly test, so it’s just the phase emoji + name + illumination % instead. honestly looks fine, might revisit the canvas version later if I’m bored"}, {"post_id": 26790, "ts": "2026-07-11T19:46:07Z", "hours": 3.5022, "text": "ISS Tracker New app, tracks the ISS live using wheretheiss.at (no key needed, CORS-open, genuinely such a nice API to work with). Polls every 5 seconds for lat/lon/altitude/velocity Keeping the last 20 fixes so there’s a fading trail behind the current position instead of just a dot that teleports every update Drew my own little world map for this since I didn’t want to deal with map tile assets, just lat/lon gridlines every 30°, equator and prime meridian slightly brighter. I reused the geolocation I already grab on boot for the sky map, so this app also shows your distance from the ISS via a haversineKm() calc, and flags when it’s within ~2000km with a little “nearby!” tag. Not a proper overhead check (that’d need elevation angle above your horizon) but good enough for now Added a stopIssTracker() call on window close so the polling interval actually dies instead of running forever in the background, learnt that lesson the hard way after leaving a tab open for way too long testing this At the time of writing this I had just the idea to implement a trail that shows the future path, will do this now lol."}, {"post_id": 26626, "ts": "2026-07-11T15:37:59Z", "hours": 2.4692, "text": "APOD Viewer Added the Astronomy Picture of the Day app, pulls straight from NASA’s API and shows today’s pic with the write-up tucked behind a toggle so the image gets to be the main object first. Cached in localStorage per calendar day, so reopening the window doesn’t burn another call for the same picture Nearly got got by this one: NASA sometimes serves a video instead of an image for the day, and my first pass just shoved the url into an <img> tag, broken image icon staring back at me lol Added a media_type check so videos link out instead of trying to embed Also handled the fetch failing outright, just shows a “try again later” message instead of leaving a blank window, DEMO_KEY ’s rate limit is gonna trip this eventually so it needed to fail gracefully lol what’s next? either stargazing conditions or the ISS tracker, we’ll see which one I go for"}, {"post_id": 22333, "ts": "2026-07-04T19:10:32Z", "hours": 9.3625, "text": "Okay, yes I forgot to devlog… or commit This was an absolute lock-in but I don’t wanna rank low on storytelling, so I’ll make this one detailed lol. Wallpaper Switcher Six presets, default plus five gradients: nebula, deep blue, solar flare, aurora, mono Clicking a swatch fades the desktop background over 0.6s instead of snapping Choice persists via localStorage so it survives a refresh markActiveWallpaperSwatch re-reads storage and re-marks the active swatch every time the window reopens NGC Catalogue Browser Started as a hardcoded Messier list, which I scrapped once I found Datastro’s public deep sky objects dataset (~220k NGC/IC/Messier entries, CORS-open, no key) Search input debounces 350ms before hitting the API, results sort by magnitude Clicking a result fills the detail panel: type, constellation, magnitude, coordinates Dataset uses the Historically Corrected NGC scheme ( GPair , OCl , SNR , Cl+N ), so I wrote a bucket function that checks substrings to map raw types into galaxy, nebula, cluster, or other for the filter dropdown Built an 8-object offline fallback (Andromeda, Orion Nebula, Ring Nebula, Pleiades, etc) that kicks in silently if the fetch fails, with a small offline warning shown in the list Did You Know Notifications Toast-style pings slide in from the right with a random space fact First one fires after 4 seconds, then every 60-120 seconds at random 18 facts in the pool right now, the neutron star teaspoon one still gets me Caught a bug where fast in/out window clicks could call scheduleNotifications twice and stack two loops, doubling the ping rate Fixed it with a notifStarted flag so the loop only ever starts once Window Resizing And Snapping Built right before the wallpaper stuff, resize first then snap Every window gets a drag handle in the bottom right corner, clamped to a minimum width and height Handle calls stopPropagation on mousedown so resizing doesn’t also trigger the window drag Snap shows a dashed preview box near screen edges, locks into that rect on release Found a bug writing this up: a top-right zone gets detected but has no rect defined for it, so it falls back to snapping full width across the top instead of a proper quadrant."}, {"post_id": 11193, "ts": "2026-06-18T09:52:09Z", "hours": 1.0806, "text": "WebOS 1 - Finished! Sure it took longer than it should’ve, but at least the sky map is quality Today I finished off the final parts for the first mission. I added a coords toggle so you don’t doxx yourself while taking screenshots of the map. I also fixed up the minimising animation and changed the taskbar to host the app icons instead of the usual app name (this had an ugly white bg lol so I had to change it no matter what) I also added a custom background (yes this is reused from my g-lens project sue me) I’m gonna ship this now for WebOS 1, the finished, polished product will be shipped for WebOS 2 (so if anything can be improved, dm me or comment and I’ll fix it then!)"}, {"post_id": 10856, "ts": "2026-06-17T20:07:29Z", "hours": 0.5308, "text": "Small update added a basic notepad app, it does not save between sessions though. added an animation to minimising windows [FIX] made star names not rotate with the star map (this was annoying me lol) what’s next? add icons to taskbar and not just names for minimised apps hide the coords on sky map lol dont doxx yourself a review of the guidelines so I can get webOS 2!"}, {"post_id": 9505, "ts": "2026-06-15T21:22:49Z", "hours": 2.37, "text": "MAJORRR Update First app, context menu, and a LOT of stars 😭 Today I wanted to add an app. Not a standard one like notepad, music, file explorer… something that is different. So, naturally, I spent two hours coding my own star map using a ton of stars from the yale bright star catalogue (okay maybe not a ton but you get the idea). It takes the users location, calculates the chunk of sky above them (yes, you can do this) and shows the major stars visible to the naked eye on a turntable style minimap. What the heck am I gonna do next for one, the text on the map rotates with everything so i gotta fix that THEN i’ll add a normal app like notepad lol a background needs to be added too, also I might add a bg switcher. ohhhh yeah and i added stuff from the guide like the topbar and time, that’s not the star of the show for this log though lol."}, {"post_id": 8666, "ts": "2026-06-14T12:13:02Z", "hours": 0.7083, "text": "astrOS day 1: I want to finish this project really efficiently, so I have mapped out what features I want (you will see as they come). Today, I finished the boot screen and styling for it, and made the file structure. Not much, only 40 mins, but since its a roughly 2hr 30m project, 30m a day means I finish in 5 days. Next devlog should hopefully be finishing the desktop design, probably ~1hr."}]...
|
Title: astrOS by @urged-st | Stardance
Devlogs:
a Title: astrOS by @urged-st | Stardance
Devlogs:
astrOS day 1: I want to finish this project really efficiently, so I have mapped out what features I want (you will see as they come). Today, I finished the boot screen and styling for it, and made the file structure. Not much, only 40 mins, but since its a roughly 2hr 30m project, 30m a day means I finish in 5 days. Next devlog should hopefully be finishing the desktop design, probably ~1hr.
MAJORRR Update First app, context menu, and a LOT of stars 😭 Today I wanted to add an app. Not a standard one like notepad, music, file explorer… something that is different. So, naturally, I spent two hours coding my own star map using a ton of stars from the yale bright star catalogue (okay maybe not a ton but you get the idea). It takes the users location, calculates the chunk of sky above them (yes, you can do this) and shows the major stars visible to the naked eye on a turntable style minimap. What the heck am I gonna do next for one, the text on the map rotates with everything so i gotta fix that THEN i’ll add a normal app like notepad lol a background needs to be added too, also I might add a bg switcher. ohhhh yeah and i added stuff from the guide like the topbar and time, that’s not the star of the show for this log though lol.
Small update added a basic notepad app, it does not save between sessions though. added an animation to minimising windows [FIX] made star names not rotate with the star map (this was annoying me lol) what’s next? add icons to taskbar and not just names for minimised apps hide the coords on sky map lol dont doxx yourself a review of the guidelines so I can get webOS 2!
WebOS 1 - Finished! Sure it took longer than it should’ve, but at least the sky map is quality Today I finished off the final parts for the first mission. I added a coords toggle so you don’t doxx yourself while taking screenshots of the map. I also fixed up the minimising animation and changed the taskbar to host the app icons instead of the usual app name (this had an ugly white bg lol so I had to change it no matter what) I also added a custom background (yes this is reused from my g-lens project sue me) I’m gonna ship this now for WebOS 1, the finished, polished product will be shipped for WebOS 2 (so if anything can be improved, dm me or comment and I’ll fix it then!)
Okay, yes I forgot to devlog… or commit This was an absolute lock-in but I don’t wanna rank low on storytelling, so I’ll make this one detailed lol. Wallpaper Switcher Six presets, default plus five gradients: nebula, deep blue, solar flare, aurora, mono Clicking a swatch fades the desktop background over 0.6s instead of snapping Choice persists via localStorage so it survives a refresh markActiveWallpaperSwatch re-reads storage and re-marks the active swatch every time the window reopens NGC Catalogue Browser Started as a hardcoded Messier list, which I scrapped once I found Datastro’s public deep sky objects dataset (~220k NGC/IC/Messier entries, CORS-open, no key) Search input debounces 350ms before hitting the API, results sort by magnitude Clicking a result fills the detail panel: type, constellation, magnitude, coordinates Dataset uses the Historically Corrected NGC scheme ( GPair , OCl , SNR , Cl+N ), so I wrote a bucket function that checks substrings to map raw types into galaxy, nebula, cluster, or other for the filter dropdown Built an 8-object offline fallback (Andromeda, Orion Nebula, Ring Nebula, Pleiades, etc) that kicks in silently if the fetch fails, with a small offline warning shown in the list Did You Know Notifications Toast-style pings slide in from the right with a random space fact First one fires after 4 seconds, then every 60-120 seconds at random 18 facts in the pool right now, the neutron star teaspoon one still gets me Caught a bug where fast in/out window clicks could call scheduleNotifications twice and stack two loops, doubling the ping rate Fixed it with a notifStarted flag so the loop only ever starts once Window Resizing And Snapping Built right before the wallpaper stuff, resize first then snap Every window gets a drag handle in the bottom right corner, clamped to a minimum width and height Handle calls stopPropagation on mousedown so resizing doesn’t also trigger the window drag Snap shows a dashed preview box near screen edges, locks into that rect on release Found a bug writing this up: a top-right zone gets detected but has no rect defined for it, so it falls back to snapping full width across the top instead of a proper quadrant.
APOD Viewer Added the Astronomy Picture of the Day app, pulls straight from NASA’s API and shows today’s pic with the write-up tucked behind a toggle so the image gets to be the main object first. Cached in localStorage per calendar day, so reopening the window doesn’t burn another call for the same picture Nearly got got by this one: NASA sometimes serves a video instead of an image for the day, and my first pass just shoved the url into an <img> tag, broken image icon staring back at me lol Added a media_type check so videos link out instead of trying to embed Also handled the fetch failing outright, just shows a “try again later” message instead of leaving a blank window, DEMO_KEY ’s rate limit is gonna trip this eventually so it needed to fail gracefully lol what’s next? either stargazing conditions or the ISS tracker, we’ll see which one I go for
ISS Tracker New app, tracks the ISS live using wheretheiss.at (no key needed, CORS-open, genuinely such a nice API to work with). Polls every 5 seconds for lat/lon/altitude/velocity Keeping the last 20 fixes so there’s a fading trail behind the current position instead of just a dot that teleports every update Drew my own little world map for this since I didn’t want to deal with map tile assets, just lat/lon gridlines every 30°, equator and prime meridian slightly brighter. I reused the geolocation I already grab on boot for the sky map, so this app also shows your distance from the ISS via a haversineKm() calc, and flags when it’s within ~2000km with a little “nearby!” tag. Not a proper overhead check (that’d need elevation angle above your horizon) but good enough for now Added a stopIssTracker() call on window close so the polling interval actually dies instead of running forever in the background, learnt that lesson the hard way after leaving a tab open for way too long testing this At the time of writing this I had just the idea to implement a trail that shows the future path, will do this now lol.
Stargazing Conditions New app, tells you whether tonight’s actually worth setting up a telescope for. pulls cloud cover, humidity and wind from Open-Meteo using the location I already grab on boot, no key needed which is nice the moon phase bit doesn’t touch an API at all, did it properly with the synodic month (29.53 days) against a known reference new moon, so it’s just maths running locally combined cloud cover and moon brightness into a rough seeing score out of 10, heavier cloud and a brighter moon both drag it down, then a one-line verdict underneath so you don’t have to interpret the number yourself was gonna render an actual crescent/gibbous moon on canvas for this but after the ISS ground track thing broke last time I didn’t wanna ship more clipping/arc geometry I couldn’t properly test, so it’s just the phase emoji + name + illumination % instead. honestly looks fine, might revisit the canvas version later if I’m bored
Solar System Viewer Thought it’d be cool to have something you could just leave open on the desktop, so I added a little live Solar System app. Every planet sits where it actually should be today rather than looping around on some fake animation. Planet positions come from simplified J2000 Keplerian elements (semi-major axis, eccentricity, orbital period, etc.) and get advanced from the current date, so they’re calculated fresh instead of being hardcoded. Conveniently I’d already written a Newton-Raphson solver for Kepler’s equation while making Umbra, so I shamelessly reused it here to solve the eccentric anomaly before converting that into the planet’s true anomaly and distance from the Sun. Nice when old suffering becomes reusable code lol. Biggest headache honestly wasn’t the orbital maths, it was the scale. If you draw everything linearly then Neptune disappears off the edge of the canvas, but if you squash everything too much then the inner planets all merge together. Ended up scaling the orbital radius by √r instead, which keeps the angular positions correct while compressing the distances enough that the whole Solar System fits on one screen. Made every planet clickable as well because a static diagram felt a bit dead. Clicking one gives its current distance from the Sun and orbital period, with Earth getting a little highlight ring so it’s easy to spot where we are. It redraws once a minute since the planets barely move on human timescales anyway, and it’s definitely not accurate enough to navigate a spacecraft with, but it’s surprisingly close considering it’s just running a handful of orbital equations in the browser lol. deffo gonna play around with the window sizing cause its kinda weird right now… also neptune is STILL SQUASHED (genuine annoyance btw) so will do this TOMORROW.
Tiny fix lol I stopped good ol’ neptune being cut off on the solar system map, and also made it so that the contents of the notepad/mission log are saved in localStorage
Meteor Shower Tracker finished the last feature, a year-round meteor shower schedule with active/upcoming status so you actually know when to set an alarm. 11 major showers baked in (Quadrantids through Ursids), and everything’s calculated client-side, no API needed. stores absolute peak dates for each shower and works out the active window locally, correctly handles the year-boundary ones (Quadrantids starts Dec 28, Ursids ends Dec 26) without breaking on Jan 1st sorts active showers first, then whoever’s next peak is soonest countdown properly distinguishes “peak in Xd” from “peaked Xd ago” for showers you’re still inside the window for but already past peak on, caught that bug and fixed it before shipping by testing across multiple dates including exact-peak day (Aug 12 for Perseids) renders as a compact list with radiant constellation, ZHR (~Zenith Hourly Rate), and the peak countdown, all colour-coded so active showers pop no polling, just recomputes fresh every time you open it Bug Fixes & Polish went through all three files line-by-line before shipping. found and fixed two bugs plus some cleanup: window snapping corners were broken — getSnapZone() detected top-left/top-right when you dragged to a corner, but showSnapPreview() and applySnap() never had rect definitions for those zones, so the preview showed nothing and the drop silently failed. added proper quarter-tile rects for both corners so you can now snap to all four quadrants APOD toggle IDs — getElementById() calls for apod explanation/toggle buttons were working but the elements weren’t explicitly in the HTML, they were created at render-time by innerHTML, so the id references were technically fine but fragile. left them as-is since they work, but flagged it as something to refactor if we add more dynamic content later also ik its been shown in an earlier devlog, but the taskbar on the bottom isn’t exactly empty lol, you can minimise apps to it (third pic). maybe i’ll add a pin to taskbar feature? what’s left SHIPPPPPPPPPPPPPPPPPPPPPPPPP
Ships:
I have made a functional astronomy focused WebOS called astrOS. It currently features a custom programmed sky map which takes your location and shows you what is currently in the sky near you, and a simple in-session notepad. It also has a right-click context menu featuring my socials and projects (project links will be added when they are done lol) You can minimise windows as well. Please put any suggestions for new features you have in comments, I’d appreciate it a lot.
astrOS is a fullscreen web OS with nine astronomy apps built in vanilla JS: Sky Map uses real star positions calculated from your location, ISS Tracker polls live satellite data with haversine distance, Stargazing Conditions combines weather and moon phase into a seeing score, Solar System renders Keplerian orbits with clickable planets, Meteor Shower Tracker handles year-boundary showers correctly with proper countdown logic, plus NGC Catalogue, APOD, Mission Log, and Wallpaper Changer. I’m most proud of the Sky Map actually calculating real positions rather than faking it, and the ISS Tracker being genuinely useful for knowing whether the station is overhead. To test: open on desktop in fullscreen (geolocation needs permission and fullscreen mode to work), try dragging windows to screen edges to see snapping, check the meteor tracker during an active shower, click planets in Solar System to see their stats, and the Mission Log text persists across refreshes via localStorage. yes, i know it said 3 new features from webos1, but I got a bit too excited. have fun!...
|
1793775151.660149
|
1794639151.660149
|
|
5756
|
Anti Bullying App by @DashKiwi | Stardance
|
DashKiwi
|
0
|
2.97
|
0
|
[]
|
[{"post_id": 5186, "ts": "2026 [{"post_id": 5186, "ts": "2026-06-08T21:39:44Z", "hours": 0.5494, "text": "Better admin dashboard login screen. Looks wayyy better than it did before. Just currently waiting for my schools IT admin to respond about server hosting for testing."}, {"post_id": 2515, "ts": "2026-06-05T01:33:21Z", "hours": 0.6022, "text": "Updated the student dashboard after talking to my stakeholders. Going to talk to stakeholders once again then update it."}, {"post_id": 2067, "ts": "2026-06-04T11:41:47Z", "hours": 1.8158, "text": "I am currently working on the main Student/Reporter submission form. This form serves as the primary source of information for administrators to review and manage reported incidents. Reporters can submit details such as the incident type, a brief title, a description of what occurred, and the names of individuals involved in the bullying incident. Support for photo and video evidence is planned for a future update. The submitted bully names are stored individually, allowing them to be aggregated and analyzed within the admin dashboard. This functionality enables administrators to identify patterns and generate reports based on recurring individuals. The reporting and management features on the admin side have now been completed. My next step is to gather stakeholder feedback on the user interface and overall reporting workflow. Significant development work has already been completed on the admin dashboard, so I want to ensure the submission experience aligns well with stakeholder expectations before moving forward."}]...
|
Title: Anti Bullying App by @DashKiwi | Stardance
Title: Anti Bullying App by @DashKiwi | Stardance
Devlogs:
I am currently working on the main Student/Reporter submission form. This form serves as the primary source of information for administrators to review and manage reported incidents. Reporters can submit details such as the incident type, a brief title, a description of what occurred, and the names of individuals involved in the bullying incident. Support for photo and video evidence is planned for a future update. The submitted bully names are stored individually, allowing them to be aggregated and analyzed within the admin dashboard. This functionality enables administrators to identify patterns and generate reports based on recurring individuals. The reporting and management features on the admin side have now been completed. My next step is to gather stakeholder feedback on the user interface and overall reporting workflow. Significant development work has already been completed on the admin dashboard, so I want to ensure the submission experience aligns well with stakeholder expectations before moving forward.
Updated the student dashboard after talking to my stakeholders. Going to talk to stakeholders once again then update it.
Better admin dashboard login screen. Looks wayyy better than it did before. Just currently waiting for my schools IT admin to respond about server hosting for testing....
|
1793775150.6425304
|
1794379950.6425304
|
|
21853
|
Huffman Compressor by @devlsx | Stardance
|
devlsx
|
1
|
5.0
|
53
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T06:50:44Z", "hours": 5.0, "multiplier": 13.41, "payout": 53, "blessing": "neutral", "text": "A from-scratch Huffman file compressor in Rust with a visual terminal UI that draws the tree, plus a live WebAssembly demo.", "repo": "https://github.com/AlexanderGese/Huffman-Compressor", "demo": "https://alexandergese.github.io/Huffman-Compressor/"}]...
|
[{"post_id": 11800, "ts": "202 [{"post_id": 11800, "ts": "2026-06-19T06:23:48Z", "hours": 4.7264, "text": "Spent tonight building a little Huffman compressor in Rust. The idea’s old and simple: count how often each byte shows up in a file, build a binary tree where the common bytes sit near the top, and give them the shortest bit-codes. More skewed the data, better it squeezes."}]...
|
Title: Huffman Compressor by @devlsx | Stardance
Title: Huffman Compressor by @devlsx | Stardance
Devlogs:
Spent tonight building a little Huffman compressor in Rust. The idea’s old and simple: count how often each byte shows up in a file, build a binary tree where the common bytes sit near the top, and give them the shortest bit-codes. More skewed the data, better it squeezes.
Ships:
A from-scratch Huffman file compressor in Rust with a visual terminal UI that draws the tree, plus a live WebAssembly demo....
|
1793775148.391612
|
1794639148.391612
|
|
19605
|
Snail by @baker | Stardance
|
baker
|
1
|
17.0
|
249
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T12:40:37Z", "hours": 17.0, "multiplier": 14.34, "payout": 249, "blessing": "neutral", "text": "Made it into an app SnailChase.dmg", "repo": "https://github.com/Hamdan772/Snail-Game", "demo": "https://github.com/Hamdan772/Snail-Game/releases/tag/v3.1.0"}]...
|
[{"post_id": 14366, "ts": "202 [{"post_id": 14366, "ts": "2026-06-23T14:02:51Z", "hours": 3.0, "text": "done with everything. made leaderboard work. redid the dashboard (minor changes) improved snail follow logic and made the game downloadable. also did this"}, {"post_id": 14170, "ts": "2026-06-23T04:58:38Z", "hours": 1.0, "text": "WooHOo basically done with the follow logic. making the ranked leaderboard. old screenshots I know"}, {"post_id": 14131, "ts": "2026-06-23T03:33:04Z", "hours": 5.0, "text": "Connected the whole dashboard together. Added follow logic and timer."}, {"post_id": 13580, "ts": "2026-06-22T07:27:14Z", "hours": 2.0, "text": "added a menu to choose the snail skin and also made the dashboard"}, {"post_id": 13525, "ts": "2026-06-22T04:20:09Z", "hours": 1.0, "text": "Got two snails and added it to the app. started working on follow logic. I like these snails 🐌"}, {"post_id": 13183, "ts": "2026-06-21T16:04:32Z", "hours": 1.0, "text": "WOHOHO. added features and another snail. features include (and not limited to) a startup menu and another snail. my for app made in swift also."}, {"post_id": 12513, "ts": "2026-06-20T13:12:01Z", "hours": 1.0, "text": "Found assets and started working on code. 🐌"}]...
|
Title: Snail by @baker | Stardance
Devlogs:
Found Title: Snail by @baker | Stardance
Devlogs:
Found assets and started working on code. 🐌
WOHOHO. added features and another snail. features include (and not limited to) a startup menu and another snail. my for app made in swift also.
Got two snails and added it to the app. started working on follow logic. I like these snails 🐌
added a menu to choose the snail skin and also made the dashboard
Connected the whole dashboard together. Added follow logic and timer.
WooHOo basically done with the follow logic. making the ranked leaderboard. old screenshots I know
done with everything. made leaderboard work. redid the dashboard (minor changes) improved snail follow logic and made the game downloadable. also did this
Ships:
Made it into an app SnailChase.dmg...
|
1793775146.441566
|
1794639146.441566
|
|
16693
|
Evolve by @boredvoid | Stardance
|
boredvoid
|
1
|
61.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T07:42:22Z", "hours": 61.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This has been a hell of a ride and very interesting project to work on. Most challenging for me was all the shader work (normally my projects look meh at best xd). The project can be tested either in the browser on itch.io or downloaded there for all desktop platforms… Screenshots are in dev logs ( pls read I gave them a lot of love ((: ) and on itch!", "repo": "https://github.com/BoredVoidAter/Evolve", "demo": "https://boredvoidater.itch.io/evolve"}]...
|
[{"post_id": 44468, "ts": "202 [{"post_id": 44468, "ts": "2026-08-10T07:38:46Z", "hours": 5.0, "text": "Hi everyone, sorry for the long delay I’m in china rn so everything a bit difficult and I also lost ma laptop so I will be shipping this project early (updates to be expected so follow the itch if you are interested) Changes since last develop: finally tried implementing creatures and plants onto the planet generation which works for the most part now although the creature look a bit funny going up and down tiles… It’s been amazing I hope to participate in the next hack club event as well!"}, {"post_id": 35744, "ts": "2026-07-27T11:45:36Z", "hours": 7.0, "text": "Im baaaaaaaack! Lets go. I actually had the honor to go to an in person game dev event in NYC and even met Zack and some other amazing members of the hackclub team there, it was a blast. Anyways i also did some work on Evolve including some shader fixes for outlines (they didnt really look good on plants…), some general system fixes since the code base grew quite big and also isnt the most beautiful, fixed some IK issues that had been bugging me, implemented a lot of the #TODOs (: Anyways not really a lot of big new visual stuff so i just made a little animation of creatures and some plants hope you enjoy! (as always please test the game at https://boredvoidater.itch.io/evolve and tell me everything u got to say) byeee"}, {"post_id": 29625, "ts": "2026-07-16T18:00:56Z", "hours": 7.0, "text": "another big update this time, i noticed i was getting kinda lazy with the amount of devlogs per hours i promise ill do better first up is hormones: Adrenaline, Fear, and Aggression that the brain can hook up to. unlike normal math nodes that instantly flip on and off, these hormones smooth out over time so it is kinda like the memory nodes but they actually force the creature regardless of brain architecture to do specific stuff like turn away from everything, run faster, … second part: plants cus else creatures are all just carnivores. PlantDNA controls: branching depth, how many branches per node, Phototropism (fancy word for growing towards the light ) vs Gravitropism (gravity pulling branches down). meshes only get redone if there is substantial growth and ye, thas it do yall think of the chemical brain stuff? any ideas for other hormones or plant types i should add? let me know in the comments"}, {"post_id": 28848, "ts": "2026-07-15T12:08:44Z", "hours": 6.0, "text": "another big one this time added blinking eyes, moving mouths, eye movement just for some nice touch and then decided it’s finally time to give da animals a little bit of a brain. The system i decided on for now is a simple “neuronal network” kind of thing. I got a bunch of nodes like: sensor for vision/smell/time, math add/multiply/min/max/relu/…, memory basically just decaying values over time, actuators Move/Turn/Bite/Flee. these modules can then be linked up kinda like unity shader graph (thats why my ui look like dat lmao) the nodes are then connected via neurons that store a weight (which will later be adjusted via, who guessed it, Evolution). Addition of all the math nodes adds some complexity that i am quite a fan of. To recreate an idling cycle for example one could use a sin wave and time, … Anyways that’s all for now next up is probably instincts/hormones or sum else didnt decide yet. Any thoughts as always in the comments. Oh ye i also fixed webgl rendering via adressables (loading resources)."}, {"post_id": 28261, "ts": "2026-07-14T12:39:48Z", "hours": 5.0, "text": "Hello everybody, i was away for a week in kopenhagen (great place they got a bunch of cool animal museums as well and a trex head replica 1 to 1) but have finally returned. Now 1 of the 5h was spent on various bug fixes that i do not remember the others were spent on adding survivability stats. Up until know we only had weight, energy requirements and speed but now there is also attractiveness (eg a vibrant colored flower would have high atractiveness) and warning (also based on colors though also adapts per enviroment to fit in camoflauging into the same stat). then i added modular organs (eyes with different pupils, mouths with sharp teeth, no teeth or round teeth), snouts out of the same mouth shape, ears, … i also did some experiments with eyelid shapes but just landed on texturing a simple sphere since the 3d eyelids look like too much in my opinion (top left corner in devlog) what do you think"}, {"post_id": 20883, "ts": "2026-07-02T16:35:40Z", "hours": 4.0, "text": "A lot of changes in this one: Growth modifiers for regions like head, neck, abdomen, … give more granular simulation control over animals some new features like frills and scales new textures for various skin types like fur, feathers, scales, … me fighting with huge necks (see image ) next up i am gonna organs which im planning to make very universal using parametric 3d models"}, {"post_id": 20249, "ts": "2026-07-01T19:54:38Z", "hours": 3.0, "text": "I’ve been hard at work over the last few hours and made (a lot of) modifications: first i struggled with winding order for a solid hour before i just decided that i am not gonna win that fight (now i just don’t cull creature backfaces ), then i implemented muscles and fat which change weight and volume of limbs and as you might be able to see colors and textures for the skin, next up i also did some IK improvements ( @august pointed those out ), last but not least i added features like little spikes and scales. Also can we talk about how cute the starfish looks, its my favourite part about this project so far. all the creatures below are created with dna structures eg: (i’ll put the code here once i figured out how to format it nicely lmao) and animated proceduraly… (ignore the ape i made it a lil too fat )"}, {"post_id": 17772, "ts": "2026-06-28T18:23:43Z", "hours": 2.0, "text": "This one took quite a while but i finally got some meat on the bones: triangle winding order is a pain in the but soooo i’m just rendering front and back faces now , even more annoying is getting it to not twist with every single movement (still not fully working), still working on how the dna could sensibly define head shape since rn everything looks like megamind, UVs are next to tackle OH GOD PLEASE SAVE ME . Put ur favorite creature in the comments (as well as any feedback ofc xd)"}, {"post_id": 17439, "ts": "2026-06-28T06:51:43Z", "hours": 1.0, "text": "Work on IK is now nearly complete (for now ), now we move onto bigger any better things: putting meat n skin on the bones but first of all here’s some movies of stuff moving (the spider one is fixed dw)"}, {"post_id": 16237, "ts": "2026-06-26T11:43:13Z", "hours": 0.0, "text": "I’ve improved the IK through changes to: billateral limb distance (so far there was nothing in between for example 2 legs), timing adjustments, joint rotating planes, computed target body height and body center of mass, … Next up is animating limbs that aren’t legs! any feedback?put it in the comments (pretty please)"}, {"post_id": 15629, "ts": "2026-06-25T12:50:22Z", "hours": 1.0, "text": "FINALLLY starting work on Evolution with the first subject being animals. So far i’ve set up a DNA Structure that works in a bone like fashion with symmetry options. on the simulation layer these bone and thus resulting body shape will be represented like Position. Velocity, Mass,CenterOfMass,BoundingRadius, Height and prolly more that i didnt think of yet. As you may be able i’ve also tried my luck with IK with the FABRIK solver but so far yeaaaaaaaaaaaaah…."}, {"post_id": 15012, "ts": "2026-06-24T12:04:45Z", "hours": 0.0, "text": "Did a little more work on the water shader, i swear i’ll start with the Evolving part after this xd"}, {"post_id": 14937, "ts": "2026-06-24T08:34:42Z", "hours": 1.0, "text": "I’ve been working on an option to switch the layer to underwater since that is just as important as above water for us to see. Did quite a lot of work on the shader so now the above water terrain gets cut at sea level and its dirt color gets dithered into a fullscreen underwater shader with caustics and godrays, it definetly still needs imrpovement but its good enough for now"}, {"post_id": 14638, "ts": "2026-06-23T20:24:27Z", "hours": 1.0, "text": "This one is more of a cleanup where i finished some boring stuff so nothing that cool to showoff but i attached some screenshots. Also built the newest version of the game for all platforms (and web) and updated itch page. Feel free to give it a visit under https://boredvoidater.itch.io/evolve (:"}, {"post_id": 14536, "ts": "2026-06-23T17:58:01Z", "hours": 0.0, "text": "Aaaaaaaand another one about culling, this time the goal was to remove the particles from the river because, well, it looks bad. This took quite some time to solve but in the end i just calculate some spheres with diameter of river width and get rid of all particles in it"}, {"post_id": 14428, "ts": "2026-06-23T15:38:53Z", "hours": 0.0, "text": "Very quick and dirty one but i implemented particle culling since the particles would look really bad when zoomed out with the pixel art rendering…"}, {"post_id": 14396, "ts": "2026-06-23T14:47:09Z", "hours": 1.0, "text": "I’ve been working on some decorational particles on the terrain to make it loss less bland. These are however purely for visuals and not gonna be included in any evolution calculations (which i promise i’ll start doing at some point (: but for now i wanna finish the world generation, regarding that any ideas for what should be added to world gen in the COMMENTS!!)"}, {"post_id": 13713, "ts": "2026-06-22T14:11:42Z", "hours": 1.0, "text": "I’ve been working on the UI for a little bit which is a task i do not enjoy doing since i never like how it turns out. this time around the end result looks more like a cheap ai website than a good ui but oh well there will always be future possibility to make it better. Please put any ideas for making it look better in the comments Give it a play at: https://boredvoidater.itch.io/evolve I’d also be amazing if you’d check out my other devlogs if this project seems interesting to you"}, {"post_id": 13336, "ts": "2026-06-21T20:57:50Z", "hours": 1.0, "text": "i added rivers with width based on calculated flow and custom generated meshes. I am still thinking about another thing: in real life rivers sorta get momentum which causes them to cut trough terrain which i think would probably look a bit weird in my case but i still implemented the momentum but not the cutting so now sometimes rivers flow “up a tile” like a reverse waterfall… Not sure if i’ll keep that we’ll see"}, {"post_id": 11902, "ts": "2026-06-19T12:06:23Z", "hours": 0.0, "text": "I finally fixed the poles turned out i had my textures messed up and frozen water eg ice should also float ontop of the ocean ofc (: I also improved upon the water shader by reading depth and reconstructing the y pos difference from it"}, {"post_id": 11575, "ts": "2026-06-18T21:13:52Z", "hours": 1.0, "text": "improved the world generation with more interesting terrain with more variaty (stacked noise, different noise types, …) also imrpoved my simulation of humidity and made it get way colder towards poles, finally finished all the textures for the bioms and added a little water shader. Added camera movement and zooming to boot. thats it i belive, cyu in the next one"}, {"post_id": 10599, "ts": "2026-06-17T12:55:10Z", "hours": 0.0, "text": "the biomes are pretty much done, however i still got work to do regarding the biome simulation since what should be the poles is currently not ice biome but tundra in my generator (:"}, {"post_id": 10148, "ts": "2026-06-16T19:12:52Z", "hours": 0.0, "text": "Applying texture based on biome information (saved in uv’s so that we can still use srp batcher)"}, {"post_id": 10117, "ts": "2026-06-16T18:29:24Z", "hours": 1.0, "text": "have been spending some time on implementing my first attempt on landscape. landed on hex tiles since they are the easiest to simulate since movement in all 6 directions is the same distance and now spent some time visualizing the generated hex map"}, {"post_id": 7589, "ts": "2026-06-12T18:08:10Z", "hours": 1.0, "text": "I’ve finally finished the outline shader which is now looking a little bit unorganized but thats ok (: Also got some headache from the transparent rendering pass hogging my rendering textures since i didnt specifically declare which pass wants them which took quite a long while to figure out"}, {"post_id": 7074, "ts": "2026-06-11T21:00:12Z", "hours": 0.0, "text": "Highlight color is now detected based on sampling surrounding pixels and choosing closest based on death, also experimenting with light on outlines"}, {"post_id": 7049, "ts": "2026-06-11T20:18:17Z", "hours": 0.0, "text": "added a custom cell shader that can also use textures (black and white) to blend between colors and uses either only one color or textures based on shader keywords"}, {"post_id": 6996, "ts": "2026-06-11T19:02:05Z", "hours": 0.0, "text": "I’ve been working on a pixel perfect outline for this nice pixelized look and also shaded it according to surrounding colors instead of just black, it is based on a custom id texture and normals because i believe this is more reliable than just depth data. next up is cell shading"}]...
|
Title: Evolve by @boredvoid | Stardance
Devlogs:
Title: Evolve by @boredvoid | Stardance
Devlogs:
I’ve been working on a pixel perfect outline for this nice pixelized look and also shaded it according to surrounding colors instead of just black, it is based on a custom id texture and normals because i believe this is more reliable than just depth data. next up is cell shading
added a custom cell shader that can also use textures (black and white) to blend between colors and uses either only one color or textures based on shader keywords
Highlight color is now detected based on sampling surrounding pixels and choosing closest based on death, also experimenting with light on outlines
I’ve finally finished the outline shader which is now looking a little bit unorganized but thats ok (: Also got some headache from the transparent rendering pass hogging my rendering textures since i didnt specifically declare which pass wants them which took quite a long while to figure out
have been spending some time on implementing my first attempt on landscape. landed on hex tiles since they are the easiest to simulate since movement in all 6 directions is the same distance and now spent some time visualizing the generated hex map
Applying texture based on biome information (saved in uv’s so that we can still use srp batcher)
the biomes are pretty much done, however i still got work to do regarding the biome simulation since what should be the poles is currently not ice biome but tundra in my generator (:
improved the world generation with more interesting terrain with more variaty (stacked noise, different noise types, …) also imrpoved my simulation of humidity and made it get way colder towards poles, finally finished all the textures for the bioms and added a little water shader. Added camera movement and zooming to boot. thats it i belive, cyu in the next one
I finally fixed the poles turned out i had my textures messed up and frozen water eg ice should also float ontop of the ocean ofc (: I also improved upon the water shader by reading depth and reconstructing the y pos difference from it
i added rivers with width based on calculated flow and custom generated meshes. I am still thinking about another thing: in real life rivers sorta get momentum which causes them to cut trough terrain which i think would probably look a bit weird in my case but i still implemented the momentum but not the cutting so now sometimes rivers flow “up a tile” like a reverse waterfall… Not sure if i’ll keep that we’ll see
I’ve been working on the UI for a little bit which is a task i do not enjoy doing since i never like how it turns out. this time around the end result looks more like a cheap ai website than a good ui but oh well there will always be future possibility to make it better. Please put any ideas for making it look better in the comments Give it a play at: https://boredvoidater.itch.io/evolve I’d also be amazing if you’d check out my other devlogs if this project seems interesting to you
I’ve been working on some decorational particles on the terrain to make it loss less bland. These are however purely for visuals and not gonna be included in any evolution calculations (which i promise i’ll start doing at some point (: but for now i wanna finish the world generation, regarding that any ideas for what should be added to world gen in the COMMENTS!!)
Very quick and dirty one but i implemented particle culling since the particles would look really bad when zoomed out with the pixel art rendering…
Aaaaaaaand another one about culling, this time the goal was to remove the particles from the river because, well, it looks bad. This took quite some time to solve but in the end i just calculate some spheres with diameter of river width and get rid of all particles in it
This one is more of a cleanup where i finished some boring stuff so nothing that cool to showoff but i attached some screenshots. Also built the newest version of the game for all platforms (and web) and updated itch page. Feel free to give it a visit under https://boredvoidater.itch.io/evolve (:
I’ve been working on an option to switch the layer to underwater since that is just as important as above water for us to see. Did quite a lot of work on the shader so now the above water terrain gets cut at sea level and its dirt color gets dithered into a fullscreen underwater shader with caustics and godrays, it definetly still needs imrpovement but its good enough for now
Did a little more work on the water shader, i swear i’ll start with the Evolving part after this xd
FINALLLY starting work on Evolution with the first subject being animals. So far i’ve set up a DNA Structure that works in a bone like fashion with symmetry options. on the simulation layer these bone and thus resulting body shape will be represented like Position. Velocity, Mass,CenterOfMass,BoundingRadius, Height and prolly more that i didnt think of yet. As you may be able i’ve also tried my luck with IK with the FABRIK solver but so far yeaaaaaaaaaaaaah….
I’ve improved the IK through changes to: billateral limb distance (so far there was nothing in between for example 2 legs), timing adjustments, joint rotating planes, computed target body height and body center of mass, … Next up is animating limbs that aren’t legs! any feedback?put it in the comments (pretty please)
Work on IK is now nearly complete (for now ), now we move onto bigger any better things: putting meat n skin on the bones but first of all here’s some movies of stuff moving (the spider one is fixed dw)
This one took quite a while but i finally got some meat on the bones: triangle winding order is a pain in the but soooo i’m just rendering front and back faces now , even more annoying is getting it to not twist with every single movement (still not fully working), still working on how the dna could sensibly define head shape since rn everything looks like megamind, UVs are next to tackle OH GOD PLEASE SAVE ME . Put ur favorite creature in the comments (as well as any feedback ofc xd)
I’ve been hard at work over the last few hours and made (a lot of) modifications: first i struggled with winding order for a solid hour before i just decided that i am not gonna win that fight (now i just don’t cull creature backfaces ), then i implemented muscles and fat which change weight and volume of limbs and as you might be able to see colors and textures for the skin, next up i also did some IK improvements ( @august pointed those out ), last but not least i added features like little spikes and scales. Also can we talk about how cute the starfish looks, its my favourite part about this project so far. all the creatures below are created with dna structures eg: (i’ll put the code here once i figured out how to format it nicely lmao) and animated proceduraly… (ignore the ape i made it a lil too fat )
A lot of changes in this one: Growth modifiers for regions like head, neck, abdomen, … give more granular simulation control over animals some new features like frills and scales new textures for various skin types like fur, feathers, scales, … me fighting with huge necks (see image ) next up i am gonna organs which im planning to make very universal using parametric 3d models
Hello everybody, i was away for a week in kopenhagen (great place they got a bunch of cool animal museums as well and a trex head replica 1 to 1) but have finally returned. Now 1 of the 5h was spent on various bug fixes that i do not remember the others were spent on adding survivability stats. Up until know we only had weight, energy requirements and speed but now there is also attractiveness (eg a vibrant colored flower would have high atractiveness) and warning (also based on colors though also adapts per enviroment to fit in camoflauging into the same stat). then i added modular organs (eyes with different pupils, mouths with sharp teeth, no teeth or round teeth), snouts out of the same mouth shape, ears, … i also did some experiments with eyelid shapes but just landed on texturing a simple sphere since the 3d eyelids look like too much in my opinion (top left corner in devlog) what do you think
another big one this time added blinking eyes, moving mouths, eye movement just for some nice touch and then decided it’s finally time to give da animals a little bit of a brain. The system i decided on for now is a simple “neuronal network” kind of thing. I got a bunch of nodes like: sensor for vision/smell/time, math add/multiply/min/max/relu/…, memory basically just decaying values over time, actuators Move/Turn/Bite/Flee. these modules can then be linked up kinda like unity shader graph (thats why my ui look like dat lmao) the nodes are then connected via neurons that store a weight (which will later be adjusted via, who guessed it, Evolution). Addition of all the math nodes adds some complexity that i am quite a fan of. To recreate an idling cycle for example one could use a sin wave and time, … Anyways that’s all for now next up is probably instincts/hormones or sum else didnt decide yet. Any thoughts as always in the comments. Oh ye i also fixed webgl rendering via adressables (loading resources).
another big update this time, i noticed i was getting kinda lazy with the amount of devlogs per hours i promise ill do better first up is hormones: Adrenaline, Fear, and Aggression that the brain can hook up to. unlike normal math nodes that instantly flip on and off, these hormones smooth out over time so it is kinda like the memory nodes but they actually force the creature regardless of brain architecture to do specific stuff like turn away from everything, run faster, … second part: plants cus else creatures are all just carnivores. PlantDNA controls: branching depth, how many branches per node, Phototropism (fancy word for growing towards the light ) vs Gravitropism (gravity pulling branches down). meshes only get redone if there is substantial growth and ye, thas it do yall think of the chemical brain stuff? any ideas for other hormones or plant types i should add? let me know in the comments
Im baaaaaaaack! Lets go. I actually had the honor to go to an in person game dev event in NYC and even met Zack and some other amazing members of the hackclub team there, it was a blast. Anyways i also did some work on Evolve including some shader fixes for outlines (they didnt really look good on plants…), some general system fixes since the code base grew quite big and also isnt the most beautiful, fixed some IK issues that had been bugging me, implemented a lot of the #TODOs (: Anyways not really a lot of big new visual stuff so i just made a little animation of creatures and some plants hope you enjoy! (as always please test the game at https://boredvoidater.itch.io/evolve and tell me everything u got to say) byeee
Hi everyone, sorry for the long delay I’m in china rn so everything a bit difficult and I also lost ma laptop so I will be shipping this project early (updates to be expected so follow the itch if you are interested) Changes since last develop: finally tried implementing creatures and plants onto the planet generation which works for the most part now although the creature look a bit funny going up and down tiles… It’s been amazing I hope to participate in the next hack club event as well!
Ships:
This has been a hell of a ride and very interesting project to work on. Most challenging for me was all the shader work (normally my projects look meh at best xd). The project can be tested either in the browser on itch.io or downloaded there for all desktop platforms… Screenshots are in dev logs ( pls read I gave them a lot of love ((: ) and on itch!...
|
1793775145.5695043
|
1794639145.5695043
|
|
21476
|
My awesome macropad! by @Ryek | Stardance
|
Ryek
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Ryek | Stardance
|
1793775144.6674094
|
1794379944.6674094
|
|
35242
|
Fifa cup pong game by @rikcha | Stardance
|
rikcha
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T18:35:53Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a world cup themed pong game. Test your soccer skills against a bot and pick out of 8 countries(portugal, argentina, brazil, england,…). Psst.. you get a 2x multiplier if you pick portugal. First player to reach 2 points wins the games! You can use W/S and up/down keys to move the paddle. Amazing sound effects and background music is available while playing the game. You can download the exe file and music files on itch.io(try project link)and then simply open the exe to play the game. Screenshot is attached so you can preview the project.", "repo": "https://github.com/rik7789/Fifa-pong-game/blob/main/README.md", "demo": "https://rikcha01.itch.io/world-cup-pong"}]...
|
[{"post_id": 29612, "ts": "202 [{"post_id": 29612, "ts": "2026-07-16T17:33:36Z", "hours": 0.0, "text": "Now I have added sound effects, background music and pong sound. I have made sure you can use mouse to select modes along with the keyboard. Made sure the portugal 2x goal multiplier works"}, {"post_id": 29591, "ts": "2026-07-16T17:01:28Z", "hours": 2.0, "text": "fifa world cup pong game - i switched from turtle to pygame after realizing that turtle had limited graphical capabilities. Started adding countries and used AI as the opponent, so you can now play without having 2 players. Winning now requires 3 points."}, {"post_id": 29022, "ts": "2026-07-15T17:50:28Z", "hours": 0.0, "text": "Due to the upcoming fifa world cup games, and the final I am making a cup pong game in the style of fifa and you can choose your favourite team to play with. Right now I am done with the basic framework."}]...
|
Title: Fifa cup pong game by @rikcha | Stardance
Title: Fifa cup pong game by @rikcha | Stardance
Devlogs:
Due to the upcoming fifa world cup games, and the final I am making a cup pong game in the style of fifa and you can choose your favourite team to play with. Right now I am done with the basic framework.
fifa world cup pong game - i switched from turtle to pygame after realizing that turtle had limited graphical capabilities. Started adding countries and used AI as the opponent, so you can now play without having 2 players. Winning now requires 3 points.
Now I have added sound effects, background music and pong sound. I have made sure you can use mouse to select modes along with the keyboard. Made sure the portugal 2x goal multiplier works
Ships:
This is a world cup themed pong game. Test your soccer skills against a bot and pick out of 8 countries(portugal, argentina, brazil, england,…). Psst.. you get a 2x multiplier if you pick portugal. First player to reach 2 points wins the games! You can use W/S and up/down keys to move the paddle. Amazing sound effects and background music is available while playing the game. You can download the exe file and music files on itch.io(try project link)and then simply open the exe to play the game. Screenshot is attached so you can preview the project....
|
1793775143.8227782
|
1794639143.8227782
|
|
13923
|
My awesome macropad! by @iarah_verma | Stardance
|
iarah_verma
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @iarah_verma | Star Title: My awesome macropad! by @iarah_verma | Stardance...
|
1793775142.90364
|
1794379942.90364
|
|
2408
|
PulseRay by @urged-st | Stardance
|
urged-st
|
1
|
12.0
|
181
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-12T12:55:44Z", "hours": 12.0, "multiplier": 15.77, "payout": 181, "blessing": "neutral", "text": "I have developed a functioning pulsar simulator, where you can change the width and speed of the beams and explore the effect it has on the detected signal. It aims to simulate how we detect pulsars from Earth using radio telescopes, where they would be completely invisible otherwise. You can also drag Earth around as changing distance also affects the strength of the signal. It calculates the pulse rate, frequency and other signal-related values in real time. It was especially difficult to make the signal generation as accurate as possible, as I was not using any physics-specific libraries (as I would do if I made this in Python), however since I wanted to deploy this to the web I used HTML, CSS, and Javascript (p5.js). By far the part which was the most time consuming and difficult was the landing/help page which appears when you load the page. The animations, design and content took hours to write, and the cards themselves went through many iterations, from looking like a powerpoint presentation to a professional app! Since this is my first Javascript project, I’m extremely happy with the way it turned out, and will continue to develop the majority of my stardance projects with p5.js, most probably. One thing that I wish I could figure out was how to make it touch screen compatible, as you won’t be able to drag around the canvas with a touchscreen. Hopefully, I can implement this in the future, but at this time I cannot figure out how to add it. Therefore users of this app, for the ideal experience should access it on a laptop/pc. Later, this app will (hopefully) be collated with 3 other simulations onto one website, which I will also develop for Stardance.", "repo": "https://github.com/urged-st/PulseRay", "demo": "https://pulseray.vercel.app/"}]...
|
[{"post_id": 6850, "ts": "2026 [{"post_id": 6850, "ts": "2026-06-11T14:35:16Z", "hours": 1.345, "text": "Nothing much, added my github link as a button, attempted to add touchscreen controls for the guys on ipads but unfortunately failed miserably… it kept messing with the actual mouse moving code and I just couldn’t fix it. Might work on it sometime if I get bored of working on G-Lens lol (my other project)"}, {"post_id": 4772, "ts": "2026-06-08T08:13:27Z", "hours": 0.8692, "text": "It is done!! I have deployed this project at https://pulsarsimulator.vercel.app/ , check it out! Final Steps: polish information on the article and other cards gather feedback from users and work on that before I ship hit 10 hours lol I am still on 9 make the fade in animation for the cards occur on startup too, currently it only occurs when you click the button. MAYBE i might make custom sliders but i think this is fine This is one of 4 simulators, I will research for the second one today, and if possible complete a demo"}, {"post_id": 4136, "ts": "2026-06-07T10:32:36Z", "hours": 2.8914, "text": "Pulsar simulator MASSIVE UI update… So i got really tired of the default p5.js fonts so I decided to change things up, and in the process I ended up wanting to redesign the info box i had made initially (you can see the previous designs on my insta). Before it was static and looked like it had come out of a powerpoint presentation so I learnt how to add fonts and found space mono, which i really liked. I also had to redesign the previous cards i had made because they were again static and boring… I kept running into issues and limitations with the p5.js canvas as before i was just using that for the darkened overlay and cards, so i went ahead and redid the entire overlay as pure html and css because i had more experience in that and it was easier to bend to my will. So 3hrs logged brings Pulsar Sim this new revamped landing/info page! I also changed some of the fonts on the project itself, I dont know if i you can add multiple pics onto a devlog yet but i’ll send a screenshot in the next one. Next step for me is to make the middle card expandable, and include more detailed explanations on neutron stars and pulsars, as the information i provided initially is really basic and surface-level. I’d say this was a really successful UI overhaul - any feedback you guys have would be really valuable, i’ll try post more to showcase everything, and if you want to see videos of the project itself they are on my instagram."}, {"post_id": 2423, "ts": "2026-06-04T21:57:57Z", "hours": 0.6917, "text": "UI changes changed up that boring graph, I added gridlines and a scale, changed the waveform colour to green to make it easier to see. New features pulse detection now factors in distance (totally didn’t forget to add this before lol) so pulses from further away won’t be detected as they are too weak (as in real life!) Next Ideas I want to add more information, probably a toggleable menu in the corner with some basic information about pulsars maybe a catalogue of real pulsars? a pulse rate tooltip, I am definitely adding this one in the next session its too essential to leave out probably gonna switch some of the UI up, the logic is working fine at the moment I’ve spent a lot of time on it so might focus on aesthetics for an hour or so Note about the screenshot: You can see that the beam is covering the observer line of Earth, and there is some signal being produced, however it’s below the threshold of 0.2, hence why it displays “NO SIGNAL”!"}, {"post_id": 2233, "ts": "2026-06-04T16:52:07Z", "hours": 0.8417, "text": "UI Changes added distance counter added pulse counter New Features tried to implement a pulse counter (it works :D), counts pulse based on whether or not last pulse was valid I also added a “reset view” button, as even as a developer it was annoying having to re-run the program to test different distances and angles, so reset view brings Earth back to its initial position (so you can have it come back after dragging it miles away lol) Fixes I had to fix this one as it was just qol, but after selecting any preset, then changing the sliders, the selected preset didn’t show “custom” it showed whatever one was picked last, which could be misleading for new users. alsooo i have an instagram now, check it out for video logs (and drop a follow if you’d like to :) https://www.instagram.com/urged.st/"}, {"post_id": 1742, "ts": "2026-06-03T22:33:49Z", "hours": 1.095, "text": "Added a distance factor, and different presets for the pulsar! Signals are now weaker the further away you place Earth, and you can select preset pulsar types to investigate."}, {"post_id": 1401, "ts": "2026-06-03T12:34:49Z", "hours": 0.7019, "text": "Not much done, just fixed a bug where the using the slider would drag the background along with it 😭"}, {"post_id": 817, "ts": "2026-06-02T14:28:42Z", "hours": 1.6878, "text": "Learnt how to use function mousePressed and Relesased, so i’ve made the background pannable, and also added zoom. You can now drag Earth around too!"}, {"post_id": 453, "ts": "2026-06-01T21:38:55Z", "hours": 0.5669, "text": "Finished the base template I added the waveform viewer and signal status - this took most of the time, the sliders weren’t too hard to figure out. At least now it’s working fully. Next steps? I am going to try and have Earth be movable, so users can see the effect of observer position, might also make it have a scrollable and zoomable background maybe, make it feel more like a space engine."}, {"post_id": 429, "ts": "2026-06-01T20:41:06Z", "hours": 1.0692, "text": "Finished base model of the pulsar, it spins! First time using canvas so it took longer than expected."}]...
|
Title: PulseRay by @urged-st | Stardance
Devlogs: Title: PulseRay by @urged-st | Stardance
Devlogs:
Finished base model of the pulsar, it spins! First time using canvas so it took longer than expected.
Finished the base template I added the waveform viewer and signal status - this took most of the time, the sliders weren’t too hard to figure out. At least now it’s working fully. Next steps? I am going to try and have Earth be movable, so users can see the effect of observer position, might also make it have a scrollable and zoomable background maybe, make it feel more like a space engine.
Learnt how to use function mousePressed and Relesased, so i’ve made the background pannable, and also added zoom. You can now drag Earth around too!
Not much done, just fixed a bug where the using the slider would drag the background along with it 😭
Added a distance factor, and different presets for the pulsar! Signals are now weaker the further away you place Earth, and you can select preset pulsar types to investigate.
UI Changes added distance counter added pulse counter New Features tried to implement a pulse counter (it works :D), counts pulse based on whether or not last pulse was valid I also added a “reset view” button, as even as a developer it was annoying having to re-run the program to test different distances and angles, so reset view brings Earth back to its initial position (so you can have it come back after dragging it miles away lol) Fixes I had to fix this one as it was just qol, but after selecting any preset, then changing the sliders, the selected preset didn’t show “custom” it showed whatever one was picked last, which could be misleading for new users. alsooo i have an instagram now, check it out for video logs (and drop a follow if you’d like to :) https://www.instagram.com/urged.st/
UI changes changed up that boring graph, I added gridlines and a scale, changed the waveform colour to green to make it easier to see. New features pulse detection now factors in distance (totally didn’t forget to add this before lol) so pulses from further away won’t be detected as they are too weak (as in real life!) Next Ideas I want to add more information, probably a toggleable menu in the corner with some basic information about pulsars maybe a catalogue of real pulsars? a pulse rate tooltip, I am definitely adding this one in the next session its too essential to leave out probably gonna switch some of the UI up, the logic is working fine at the moment I’ve spent a lot of time on it so might focus on aesthetics for an hour or so Note about the screenshot: You can see that the beam is covering the observer line of Earth, and there is some signal being produced, however it’s below the threshold of 0.2, hence why it displays “NO SIGNAL”!
Pulsar simulator MASSIVE UI update… So i got really tired of the default p5.js fonts so I decided to change things up, and in the process I ended up wanting to redesign the info box i had made initially (you can see the previous designs on my insta). Before it was static and looked like it had come out of a powerpoint presentation so I learnt how to add fonts and found space mono, which i really liked. I also had to redesign the previous cards i had made because they were again static and boring… I kept running into issues and limitations with the p5.js canvas as before i was just using that for the darkened overlay and cards, so i went ahead and redid the entire overlay as pure html and css because i had more experience in that and it was easier to bend to my will. So 3hrs logged brings Pulsar Sim this new revamped landing/info page! I also changed some of the fonts on the project itself, I dont know if i you can add multiple pics onto a devlog yet but i’ll send a screenshot in the next one. Next step for me is to make the middle card expandable, and include more detailed explanations on neutron stars and pulsars, as the information i provided initially is really basic and surface-level. I’d say this was a really successful UI overhaul - any feedback you guys have would be really valuable, i’ll try post more to showcase everything, and if you want to see videos of the project itself they are on my instagram.
It is done!! I have deployed this project at https://pulsarsimulator.vercel.app/ , check it out! Final Steps: polish information on the article and other cards gather feedback from users and work on that before I ship hit 10 hours lol I am still on 9 make the fade in animation for the cards occur on startup too, currently it only occurs when you click the button. MAYBE i might make custom sliders but i think this is fine This is one of 4 simulators, I will research for the second one today, and if possible complete a demo
Nothing much, added my github link as a button, attempted to add touchscreen controls for the guys on ipads but unfortunately failed miserably… it kept messing with the actual mouse moving code and I just couldn’t fix it. Might work on it sometime if I get bored of working on G-Lens lol (my other project)
Ships:
I have developed a functioning pulsar simulator, where you can change the width and speed of the beams and explore the effect it has on the detected signal. It aims to simulate how we detect pulsars from Earth using radio telescopes, where they would be completely invisible otherwise. You can also drag Earth around as changing distance also affects the strength of the signal. It calculates the pulse rate, frequency and other signal-related values in real time. It was especially difficult to make the signal generation as accurate as possible, as I was not using any physics-specific libraries (as I would do if I made this in Python), however since I wanted to deploy this to the web I used HTML, CSS, and Javascript (p5.js). By far the part which was the most time consuming and difficult was the landing/help page which appears when you load the page. The animations, design and content took hours to write, and the cards themselves went through many iterations, from looking like a powerpoint presentation to a professional app! Since this is my first Javascript project, I’m extremely happy with the way it turned out, and will continue to develop the majority of my stardance projects with p5.js, most probably. One thing that I wish I could figure out was how to make it touch screen compatible, as you won’t be able to drag around the canvas with a touchscreen. Hopefully, I can implement this in the future, but at this time I cannot figure out how to add it. Therefore users of this app, for the ideal experience should access it on a laptop/pc. Later, this app will (hopefully) be collated with 3 other simulations onto one website, which I will also develop for Stardance....
|
1793775142.044728
|
1794639142.044728
|
|
13890
|
My awesome macropad! by @bashyalbipin | Stardance
|
bashyalbipin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @bashyalbipin | Sta Title: My awesome macropad! by @bashyalbipin | Stardance...
|
1793775141.124127
|
1794379941.124127
|
|
15004
|
PixieR by @Cryskyy | Stardance
|
Cryskyy
|
1
|
7.0
|
95
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-12T07:36:32Z", "hours": 6.0, "multiplier": 15.1, "payout": 95, "blessing": "neutral", "text": "I make a project called “PixieR”, PixieR is a 100% client-side web tool that converts any image into pixel art directly in your browser. no backend, no API calls — everything happens locally using the HTML5 Canvas API. The Challenging part in my project is managing all the logic such as main.js and whole web logic system Im so proud that I can make this project without any trouble, and I hope everyone can test out my project :) Check up my github to try my project :))", "repo": "https://github.com/cryskyyexp-ux/PixieR-Project", "demo": "https://pixier.netlify.app/"}]...
|
[{"post_id": 8109, "ts": "2026 [{"post_id": 8109, "ts": "2026-06-13T15:13:52Z", "hours": 1.0, "text": "PixieR Project Devlog — Fixing the Stretching Bug & Other Issues Compare Slider stretching (main issue) Cause: syncCmpCanvas() set cmp.style.width='100%' and cmp.style.height='100%' together with objectFit:'contain' . object-fit only works on replaced elements like <img> and <video> — it has no effect on <canvas> , so the canvas was forced to fill the wrapper’s full 100% x 100% box regardless of its actual pixel aspect ratio, stretching the pixel art. Fix: Compute the display size manually based on the pixel canvas’s own aspect ratio ( src.width / src.height ), fit it within the wrapper width and a max height of 400px, then explicitly set cmp-canvas and cmp-orig-img width/height in pixels (with horizontal centering via marginLeft ). Both layers now share identical dimensions so the slider overlay aligns correctly. Pixel Only view overflow/stretch Cause: solo-canvas had a fixed inline max-width:100%;max-height:480px , while syncSoloCanvas() separately set style.width / style.height to width*zoom / height*zoom in px. At high zoom levels this could overflow the frame, and the max-width/max-height constraints distorted the aspect ratio independently on each axis. Fix: Removed the conflicting inline max-width/max-height. syncSoloCanvas() now computes the zoomed size, then uniformly scales both dimensions down by the same factor if it exceeds the frame’s width or a 480px height cap, preserving aspect ratio. Eyedropper coordinate mismatch Cause: pixelCanvas mousemove/click handlers divided mouse coordinates by the zoom slider value to find the pixel under the cursor. This breaks if the canvas’s rendered size ever differs from width * zoom (e.g. after future layout changes), giving wrong color picks. Fix: Replaced the zoom-based division with a ratio of the canvas’s actual bitmap size to its rendered bounding box size ( pixelCanvas.width / rect.width ), which is robust to any CSS scaling. Compare slider not resizing on window resize Cause: No resize handler existed for the compare/pixel-only views, so resizing the browser left stale dimensions and a stretched look. Fix: Added a resize listener that re-runs syncCmpCanvas() or syncSoloCanvas() depending on the active view. Dead/unused popup duplication Cause: The star popup markup was hardcoded in the page AND re-inserted via createPopupHTML() using insertAdjacentHTML , creating a duplicate #starPopup risk and unnecessary DOM bloat. Fix: Removed the redundant insertAdjacentHTML injection since the markup already exists in the page; createPopupHTML() now just guards against duplicates. Toast fallback dead code Cause: showToast() inside the popup IIFE recreated a whole second #toast element with inline styles if the existing one wasn’t found — but it always exists in the page, making this branch dead and bug-prone (it referenced var(--text, ...) colors that may not exist)."}, {"post_id": 7336, "ts": "2026-06-12T07:27:25Z", "hours": 0.0, "text": "Detailing My Project README.md and adding some detail"}, {"post_id": 7282, "ts": "2026-06-12T04:18:31Z", "hours": 3.0, "text": "Hi Guys this is my project explaination how does the Pixelate work on steps: Step 1: Shrink (this is where the magic happens) jsconst small = document.createElement(‘canvas’); small.width = 64; small.height = 64; small.getContext(‘2d’).drawImage(srcImg, 0, 0, 64, 64); Imagine your photo is 1920×1080 pixels. You squish it down into a 64×64 canvas. To fit a million pixrls into 64×64, the browser has to merge groups of pixels into one. It looks at a chunk of the original image (say, a 30×17 block) and blends them all into a single average color. Result: you now have a real, tiny image — 64×64 actual pixels, each one a blended color from a chunk of the original. Step 2: Blow it bacl up (with no smoothing) jscanvas.style.width = ‘384px’; // 64 × 6 canvas.style.height = ‘384px’; cssimage-rendering: pixelated; Now you take that tiny 64×64 image and stretch it to be way bigger on screen. Normally, browsers smooth out stretched images (blurry). The pixelated setting turns smoothing off. So each of the 64×64 pixels just gets copied into a big solid square — no blending, no blur. Result: big, crisp, blocky squares = the pixel art look. Putting It Together big detailed photo ↓ (squish down — merges pixels, loses detail) tiny 64×64 image ↓ (stretch up — no smoothing, just copy each pixel bigger) big blocky pixel art The squish is what creates the pixel art (real data, real file). The stretch is just so you can see it clearly on screen — it adds zero new information. Why the Download File is Small When you hit download, it saves the tiny 64×64 image (from Step 1) — not the big stretched version. The “blow it back up” part was only for your screen. And this done in client side, we dont collect your image or saving ur image"}, {"post_id": 6742, "ts": "2026-06-11T09:10:40Z", "hours": 1.0, "text": "DEVLOG : Project: PixieR Version: 2.0.0 Type: Web App (100% client-side) Stack: Vanilla JS + Canvas API + CSS License: MIT Status: Beta [+] Built: - Basic HTML structure with card-based UI - File upload with drag & drop support - Canvas setup for pixelation using Canvas API - Dark/light theme toggle with CSS custom properties - Interactive grid background with cursor glow effect [+] Pixelation Engine: - doPixelate() function that downsamples images - Three scale modes: Fit, Stretch, Crop - Realtime preview with 120ms debounce - Custom grid size input (4×4 to 1024×1024) - Preset chips: 16, 32, 64, 128, 256 - Linked dimensions toggle (🔗 / 🔓) [+] How pixelation works: Original Image ↓ drawImage(src, 0, 0, pixelW, pixelH) Tiny Canvas (W×H pixels) ↓ CSS image-rendering: pixelated Final display (zoomed with crisp edges) [+] Core Code Snippet: const small = document.createElement('canvas'); small.width = sw; small.height = sh; const sc = small.getContext('2d'); sc.drawImage(srcImg, 0, 0, sw, sh); out.getContext('2d').drawImage(small, 0, 0); [+] Key Decisions: - No frameworks → keep it lightweight (~18KB) - Single HTML file → easy to share, no build step - Canvas API → native browser support, fast [+] Challenges & Solutions: Challenge: Crop mode required calculating source coordinates Solution: Used aspect ratio comparison to determine sx, sy, sW, sH Challenge: Maintaining aspect ratio in Fit mode Solution: Compare pw/ph vs srcRatio to determine scaling axis Challenge: Making chips highlight correctly on value change Solution: setChipActive() toggles .on class based on value [+] View Modes: - Side by Side (split-view) - Compare Slider (drag to compare original vs pixelated) - Pixel Only (fullscreen pixel art display) [+] Compare Slider Implementation: /* Clip the pixelated layer */ #compare-pixel { clip-path: inset(0 50% 0 0); } Drag updates percentage → changes clip-path value dynamically. Supports both mouse and touch events for mobile. [+] Eyedropper Tool: - Hover over any pixel to see hex color - Click to copy hex code to clipboard - Tooltip follows cursor with color preview [+] Eyedropper Logic: pixelCanvas.addEventListener('mousemove', (e) => { const cx = Math.floor((e.clientX - rect.left) / zoom); const cy = Math.floor((e.clientY - rect.top) / zoom); const px = ctx.getImageData(cx, cy, 1, 1).data; const hex = '#' + px[0].toString(16) + ...; tip.innerHTML = `${hex} (${cx},${cy})`; }); [+] Export Features: - Download as PNG, JPG, or WebP - Automatic filename: pixier_{W}x{H}.ext [+] Zoom Slider: - Range: 1× to 20× - CSS-based scaling, doesn’t re-render - Maintains crisp pixelated edges [+] The “Pixelate!” Button Experience: - Disabled until image loaded - 5-second “processing” animation (UX theater) - Controls unlock after first conversion - Shimmer effect on completion - After first use: realtime updates (120ms debounce)"}]...
|
Title: PixieR by @Cryskyy | Stardance
Devlogs:
DE Title: PixieR by @Cryskyy | Stardance
Devlogs:
DEVLOG : Project: PixieR Version: 2.0.0 Type: Web App (100% client-side) Stack: Vanilla JS + Canvas API + CSS License: MIT Status: Beta [+] Built: - Basic HTML structure with card-based UI - File upload with drag & drop support - Canvas setup for pixelation using Canvas API - Dark/light theme toggle with CSS custom properties - Interactive grid background with cursor glow effect [+] Pixelation Engine: - doPixelate() function that downsamples images - Three scale modes: Fit, Stretch, Crop - Realtime preview with 120ms debounce - Custom grid size input (4×4 to 1024×1024) - Preset chips: 16, 32, 64, 128, 256 - Linked dimensions toggle (🔗 / 🔓) [+] How pixelation works: Original Image ↓ drawImage(src, 0, 0, pixelW, pixelH) Tiny Canvas (W×H pixels) ↓ CSS image-rendering: pixelated Final display (zoomed with crisp edges) [+] Core Code Snippet: const small = document.createElement('canvas'); small.width = sw; small.height = sh; const sc = small.getContext('2d'); sc.drawImage(srcImg, 0, 0, sw, sh); out.getContext('2d').drawImage(small, 0, 0); [+] Key Decisions: - No frameworks → keep it lightweight (~18KB) - Single HTML file → easy to share, no build step - Canvas API → native browser support, fast [+] Challenges & Solutions: Challenge: Crop mode required calculating source coordinates Solution: Used aspect ratio comparison to determine sx, sy, sW, sH Challenge: Maintaining aspect ratio in Fit mode Solution: Compare pw/ph vs srcRatio to determine scaling axis Challenge: Making chips highlight correctly on value change Solution: setChipActive() toggles .on class based on value [+] View Modes: - Side by Side (split-view) - Compare Slider (drag to compare original vs pixelated) - Pixel Only (fullscreen pixel art display) [+] Compare Slider Implementation: /* Clip the pixelated layer */ #compare-pixel { clip-path: inset(0 50% 0 0); } Drag updates percentage → changes clip-path value dynamically. Supports both mouse and touch events for mobile. [+] Eyedropper Tool: - Hover over any pixel to see hex color - Click to copy hex code to clipboard - Tooltip follows cursor with color preview [+] Eyedropper Logic: pixelCanvas.addEventListener('mousemove', (e) => { const cx = Math.floor((e.clientX - rect.left) / zoom); const cy = Math.floor((e.clientY - rect.top) / zoom); const px = ctx.getImageData(cx, cy, 1, 1).data; const hex = '#' + px[0].toString(16) + ...; tip.innerHTML = `${hex} (${cx},${cy})`; }); [+] Export Features: - Download as PNG, JPG, or WebP - Automatic filename: pixier_{W}x{H}.ext [+] Zoom Slider: - Range: 1× to 20× - CSS-based scaling, doesn’t re-render - Maintains crisp pixelated edges [+] The “Pixelate!” Button Experience: - Disabled until image loaded - 5-second “processing” animation (UX theater) - Controls unlock after first conversion - Shimmer effect on completion - After first use: realtime updates (120ms debounce)
Hi Guys this is my project explaination how does the Pixelate work on steps: Step 1: Shrink (this is where the magic happens) jsconst small = document.createElement(‘canvas’); small.width = 64; small.height = 64; small.getContext(‘2d’).drawImage(srcImg, 0, 0, 64, 64); Imagine your photo is 1920×1080 pixels. You squish it down into a 64×64 canvas. To fit a million pixrls into 64×64, the browser has to merge groups of pixels into one. It looks at a chunk of the original image (say, a 30×17 block) and blends them all into a single average color. Result: you now have a real, tiny image — 64×64 actual pixels, each one a blended color from a chunk of the original. Step 2: Blow it bacl up (with no smoothing) jscanvas.style.width = ‘384px’; // 64 × 6 canvas.style.height = ‘384px’; cssimage-rendering: pixelated; Now you take that tiny 64×64 image and stretch it to be way bigger on screen. Normally, browsers smooth out stretched images (blurry). The pixelated setting turns smoothing off. So each of the 64×64 pixels just gets copied into a big solid square — no blending, no blur. Result: big, crisp, blocky squares = the pixel art look. Putting It Together big detailed photo ↓ (squish down — merges pixels, loses detail) tiny 64×64 image ↓ (stretch up — no smoothing, just copy each pixel bigger) big blocky pixel art The squish is what creates the pixel art (real data, real file). The stretch is just so you can see it clearly on screen — it adds zero new information. Why the Download File is Small When you hit download, it saves the tiny 64×64 image (from Step 1) — not the big stretched version. The “blow it back up” part was only for your screen. And this done in client side, we dont collect your image or saving ur image
Detailing My Project README.md and adding some detail
PixieR Project Devlog — Fixing the Stretching Bug & Other Issues Compare Slider stretching (main issue) Cause: syncCmpCanvas() set cmp.style.width='100%' and cmp.style.height='100%' together with objectFit:'contain' . object-fit only works on replaced elements like <img> and <video> — it has no effect on <canvas> , so the canvas was forced to fill the wrapper’s full 100% x 100% box regardless of its actual pixel aspect ratio, stretching the pixel art. Fix: Compute the display size manually based on the pixel canvas’s own aspect ratio ( src.width / src.height ), fit it within the wrapper width and a max height of 400px, then explicitly set cmp-canvas and cmp-orig-img width/height in pixels (with horizontal centering via marginLeft ). Both layers now share identical dimensions so the slider overlay aligns correctly. Pixel Only view overflow/stretch Cause: solo-canvas had a fixed inline max-width:100%;max-height:480px , while syncSoloCanvas() separately set style.width / style.height to width*zoom / height*zoom in px. At high zoom levels this could overflow the frame, and the max-width/max-height constraints distorted the aspect ratio independently on each axis. Fix: Removed the conflicting inline max-width/max-height. syncSoloCanvas() now computes the zoomed size, then uniformly scales both dimensions down by the same factor if it exceeds the frame’s width or a 480px height cap, preserving aspect ratio. Eyedropper coordinate mismatch Cause: pixelCanvas mousemove/click handlers divided mouse coordinates by the zoom slider value to find the pixel under the cursor. This breaks if the canvas’s rendered size ever differs from width * zoom (e.g. after future layout changes), giving wrong color picks. Fix: Replaced the zoom-based division with a ratio of the canvas’s actual bitmap size to its rendered bounding box size ( pixelCanvas.width / rect.width ), which is robust to any CSS scaling. Compare slider not resizing on window resize Cause: No resize handler existed for the compare/pixel-only views, so resizing the browser left stale dimensions and a stretched look. Fix: Added a resize listener that re-runs syncCmpCanvas() or syncSoloCanvas() depending on the active view. Dead/unused popup duplication Cause: The star popup markup was hardcoded in the page AND re-inserted via createPopupHTML() using insertAdjacentHTML , creating a duplicate #starPopup risk and unnecessary DOM bloat. Fix: Removed the redundant insertAdjacentHTML injection since the markup already exists in the page; createPopupHTML() now just guards against duplicates. Toast fallback dead code Cause: showToast() inside the popup IIFE recreated a whole second #toast element with inline styles if the existing one wasn’t found — but it always exists in the page, making this branch dead and bug-prone (it referenced var(--text, ...) colors that may not exist).
Ships:
I make a project called “PixieR”, PixieR is a 100% client-side web tool that converts any image into pixel art directly in your browser. no backend, no API calls — everything happens locally using the HTML5 Canvas API. The Challenging part in my project is managing all the logic such as main.js and whole web logic system Im so proud that I can make this project without any trouble, and I hope everyone can test out my project :) Check up my github to try my project :))...
|
1793775140.249342
|
1794639140.249342
|
|
9345
|
Minecraft Mod by @aamelis | Stardance
|
aamelis
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Minecraft Mod by @aamelis | Stardance
|
1793775139.395941
|
1794379939.395941
|
|
35760
|
Algora by @diputs | Stardance
|
diputs
|
1
|
127.84
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T06:59:44Z", "hours": 95.0, "multiplier": 18.72, "payout": 0, "blessing": "neutral", "text": "Algora 1.0 Ship An attempt to put everything I wish I had when learning algorithms into one place. This project started when a friend asked me for help with USACO. While helping them, I started thinking back to my own path of learning algorithms and the things I wished I had when I was learning them. I wanted one place where I could not only read about an algorithm, but actually see it work, understand what is happening at each step, compare it with other algorithms, and look at both a teaching implementation and a more practical implementation. That idea eventually became Algora. What’s Included The first release currently includes: 15 sorting algorithms 17 searching algorithms Interactive algorithm visualizations Step by step execution and playback controls Algorithm specific workspaces for more complex algorithms Quick facts and complexity information Detailed algorithm explanations Pseudocode Teaching implementations in C, C++, Java, and Python Production style implementations in C, C++, Java, and Python Sorting algorithm comparison Searching algorithm comparison Comparison information including time complexity, space complexity, requirements, strengths, and weaknesses Warnings when algorithms are not directly comparable Individual pages for every algorithm The goal was to make each algorithm more than just a page of code. I wanted to be able to go from: What is this? → How does it work? → Can I see it happen? → Can I understand each step? → What does the code look like? → How does it compare to other approaches? Why I Built It I built Algora because I kept thinking about how much easier learning algorithms could have been if I had all of these things in one place when I was going through USACO. I’ve gone through the USACO training path myself and reached Platinum, and helping my friend brought me back to the way I learned all of this in the first place. So instead of making another collection of algorithm implementations, I wanted to make the resource I wish I had back then. Algora is an attempt to put everything I wish I had when learning algorithms into one place. The Making of Algora I also recorded a large part of the development process while building the project. The video below is a 1000× speed timelapse made from roughly 70 hours of raw development footage. I lost some footage along the way, so it does not contain absolutely everything, but most of the development process is there. Apparently Stands saw the size of the video and decided it simply did not exist D: If you really want to watch the video, the link is here: https://github.com/diputs-sudo/algora/tree/main/video you might have to download it :( Thank You Thank you to everyone who supported me while I was building Algora. Thank you to everyone who tested things, gave feedback, helped me figure things out, listened to me ramble about algorithms, or simply encouraged me to keep working on it. This project ended up becoming much bigger than the original idea, and I’m really happy that I finally get to share it.", "repo": "https://github.com/diputs-sudo/algora", "demo": "https://diputs-sudo.github.io/algora/"}]...
|
[{"post_id": 52833, "ts": "202 [{"post_id": 52833, "ts": "2026-08-23T05:58:16Z", "hours": 3.8481, "text": "algora dev log #68 Implemented the page for Dijkstra. Finished the algorithm workspace, Both the advanced and teaching version of the algorithm in all 4 languages including python, c, java and c++"}, {"post_id": 52724, "ts": "2026-08-23T01:25:57Z", "hours": 0.5294, "text": "I got my latest project reviews back today, and first of all thank you so much to everyone who took the time to look through the project! A lot of the feedback genuinely made me really happy. Some people pointed out bugs I hadn’t noticed, some gave me ideas for things I could improve, and a few of you even said you wanted to bookmark the project or use it for studying algorithms, which honestly means a lot to me. There were also some questions about the tech stack and how different parts of the project were built, which I’m happy to answer. Review #1: “what is this stack? html, typescript, c, c++ and java?” The website itself is built primarily with HTML, CSS, and TypeScript. The additional languages: C, C++, Java, and Python are there because the project includes implementations of the algorithms in multiple languages. Review #5: “Dijkstra doesn’t work, I get a 404” The Ship is mainly about sorting and searching algorithms. I think by the time you visited the pathfinding page, I had already started working on the new pathfinding section but hadn’t finished implementing it yet, which is why Dijkstra gave you a 404. I’m actively working on the Dijkstra right now tho! Review #8: “the amount of time to type out your project at 70 words per minute is around 200 hours” This assumes every character was typed manually. I use tab completion and copy/paste repetitive code. For example, most of the TypeScript engine API is basically the same across algorithms, so I’m obviously not going to retype the same thing every time Review #8: “make no mention of struggles or frustrations, inspirations or ideas” I personally don’t like putting my frustration into project logs. I usually just keep my devlogs focused on what I made, changed, or learned. Review #8: “You type out rgba and hexadecimals by hand without a tool” I sketched the website layout on my iPad and used it as a reference while coding. I can’t exactly copy/paste an RGB value from my iPad onto my computer, so I just typed it Review #8: “you type out entire svg lines” The SVGs are actually copy/pasted. They’re reused assets and basically the same every time. The timelapse is around 1000x speed, so a paste just looks like the SVG suddenly appeared. Review #8: “You never delete any lines in your timelapses” I cut most of the boring debugging out because who wants to watch that. That’s also why sometimes the timelapse jumps from broken code to fixed code. I wanted the videos to stay short and watchable. Review #8: “Show us your second monitor” There is no second monitor. You assumed there was one because I wasn’t recording my full screen. I intentionally only record the part of my screen relevant to the project because the rest is my privacy. I also look through a lot of references, documentation, and other pages while working, and I don’t think anyone wants all of that flashing across a 1000x timelapse anyway. I don’t mind people questioning my work or asking how I did something, but I do think there’s a difference between asking and immediately assuming someone faked their work. Some of the comments also became pretty personal, which was honestly disappointing to see. Review #9: “Don’t bring it down pls” don’t worry, I’m planning to keep the website up I’m really happy that you actually want to use it though, that’s basically the whole reason I made this project And to everyone else who left a review, thank you so much!! I didn’t want to respond to every review with just “thank you” over and over again, but I read all of them and really appreciate all the feedback Seeing people say they actually want to use the website for learning, revision, or even USACO genuinely made me really happy. That’s basically why I wanted to build this project in the first place"}, {"post_id": 52049, "ts": "2026-08-22T02:52:45Z", "hours": 3.9061, "text": "algora dev log #68 Implemented Python C++ Java and C for D* Lite. Both the advanced and teaching implementation is finished."}, {"post_id": 51461, "ts": "2026-08-21T05:51:58Z", "hours": 4.48, "text": "algora dev log #67 Implemented the page for D* Lite . Finished the algorithm workspace, this one is hard and the TypeScript is behaving weirdly, Gotta rewrite a lot of times for the engine to render correctly with the different heuristic implemented and clicking to change the board while the algorithm runs But it works now. Really proud of it."}, {"post_id": 50795, "ts": "2026-08-20T05:54:40Z", "hours": 2.8314, "text": "algora dev log #66 Implemented the page for Bidirectional BFS. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python."}, {"post_id": 50111, "ts": "2026-08-19T05:36:14Z", "hours": 3.2497, "text": "algora dev log #65 Implemented the page for BFS. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python."}, {"post_id": 49389, "ts": "2026-08-18T05:43:00Z", "hours": 3.0567, "text": "algora dev log #64 Implemented the page for Bellman-Ford. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python."}, {"post_id": 49313, "ts": "2026-08-18T01:54:06Z", "hours": 2.8961, "text": "algora dev log #63 Implemented the page for A* pathfinding. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python."}, {"post_id": 47858, "ts": "2026-08-16T02:52:38Z", "hours": 2.9633, "text": "algora dev log #62 Implemented the page for 0-1 BFS. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python."}, {"post_id": 47341, "ts": "2026-08-15T07:02:41Z", "hours": 1.1183, "text": "algora dev log # 61 Finished both standard and advanced DFS implementations. Standard version keeps the algorithm clean. Advanced version adds a more optimized/practical implementation with deeper control over traversal"}, {"post_id": 47310, "ts": "2026-08-15T05:48:18Z", "hours": 2.6106, "text": "algora dev log # 60 Built the reusable grid search engine for graph/search algorithms. Finished DFS as the first full test of the engine traversal, animation, visited states, and path reconstruction all working. Added randomized maze generation with start/target. Built and integrated the full DFS algorithm page + interactive workspace. Engine is now ready to reuse for the rest of the search algorithms"}, {"post_id": 46709, "ts": "2026-08-14T04:49:55Z", "hours": 1.3528, "text": "Algora dev log #59 Apparently shipping 1.0 means I can add more things now. Started building out graph algorithms, new index, filters, learning paths, complexity info, and the foundation for the graph workspaces."}, {"post_id": 46178, "ts": "2026-08-13T06:31:08Z", "hours": 0.3875, "text": "#algora dev log #58 Update Readme for the shipping :D The Making of Algora Below is a 1000× speed timelapse of me building the project. I lost some footage along the way, so this isn’t every single thing that happened, but most of the development is here. Altogether, it represents roughly 70 hours of raw development footage condensed into this video. It is kind of crazy to look back at all of that work and see it compressed into a few minutes."}, {"post_id": 46128, "ts": "2026-08-13T04:14:50Z", "hours": 2.1542, "text": "#algora dev log # 57 Finally finished the Algorithm Comparison page for searching algorithm class, Compelted the HTML and TypeScript implementations. Added some details like warnings. Finished with the Search Class of Algorithms 🎉"}, {"post_id": 45583, "ts": "2026-08-12T05:26:59Z", "hours": 3.4308, "text": "algora dev log #55 Upgraded the Exponential Search, Galloping Search, and Jump Search workspace so they are more intuitive. :D and the most time consuming part of upgrading the css"}, {"post_id": 45017, "ts": "2026-08-11T04:52:47Z", "hours": 1.8975, "text": "algora dev log #55 Implemented the page for Rotated Sorted Array Search. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python."}, {"post_id": 44389, "ts": "2026-08-10T03:07:03Z", "hours": 2.0311, "text": "algora dev log #54 Implemented the page for Quickselect. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python."}, {"post_id": 43681, "ts": "2026-08-09T02:42:06Z", "hours": 2.0572, "text": "algora dev log #53 Implemented the page for Parametric Search. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python."}, {"post_id": 43072, "ts": "2026-08-08T04:32:03Z", "hours": 1.9503, "text": "algora dev log #52 Implemented the page for Hash Table Lookup. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python."}, {"post_id": 42979, "ts": "2026-08-07T23:56:59Z", "hours": 2.6147, "text": "algora dev log #51 Implemented the page for Fractional Cascading. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python."}, {"post_id": 42364, "ts": "2026-08-07T01:26:27Z", "hours": 1.7836, "text": "algora dev log #50 Finishes and upgrade the page for Bitonic Array Search, added custom workspace for the search"}, {"post_id": 41689, "ts": "2026-08-06T02:07:07Z", "hours": 2.0547, "text": "algora dev log #49 Implemented the page for Uniform Binary Search. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python."}, {"post_id": 41642, "ts": "2026-08-05T23:59:03Z", "hours": 1.9908, "text": "algora dev log #48 Implemented the page for Ternary Linear Search. Finished both easy and advanced versions, Finished implementations in C, C++, Java, and Python."}, {"post_id": 41070, "ts": "2026-08-05T01:06:29Z", "hours": 2.38, "text": "algora dev log #47 Implemented the page for Sentinel Linear Search. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python."}, {"post_id": 40527, "ts": "2026-08-04T03:32:57Z", "hours": 2.4717, "text": "algora dev log #46 Implemented the page for Meta Binary Search. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python."}, {"post_id": 40459, "ts": "2026-08-04T00:04:15Z", "hours": 1.4769, "text": "algora dev log #45 Implemented the page for Linear Search. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python."}, {"post_id": 40392, "ts": "2026-08-03T21:13:25Z", "hours": 2.0106, "text": "algora dev log #44 Implemented the page for Jump Search. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python."}, {"post_id": 39836, "ts": "2026-08-03T02:50:53Z", "hours": 1.525, "text": "algora dev log #43 Thought the interpolation search lab was done until I actually used it. It turned out it showed the result, but not the reasoning. Added a new visualization that explains how the probe is estimated instead of just where it lands."}, {"post_id": 39804, "ts": "2026-08-03T01:17:01Z", "hours": 1.9919, "text": "algora dev log #42 Implemented the page for Interpolation Search. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python."}, {"post_id": 39276, "ts": "2026-08-02T04:32:36Z", "hours": 2.2861, "text": "algora dev log #41 Implemented the page for Galloping Search. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python."}, {"post_id": 39212, "ts": "2026-08-02T01:01:41Z", "hours": 2.2714, "text": "algora dev log #40 Implemented the page for Fibonacci Search. Finished both easy and advanced version of Fibonacci search implementations in C, C++, Java, and Python. Together with the engine"}, {"post_id": 39161, "ts": "2026-08-01T22:06:30Z", "hours": 0.7069, "text": "algora dev log #39 Spent some time implementing the advanced version of Exponential Search. Finished implementations in C, C++, Java, and Python."}, {"post_id": 39123, "ts": "2026-08-01T20:38:05Z", "hours": 0.9406, "text": "algora dev log #38 Spent some time implementing the advanced version of Bitonic Array Search. Finished implementations in C, C++, Java, and Python."}, {"post_id": 39070, "ts": "2026-08-01T19:16:21Z", "hours": 0.6119, "text": "algora dev log #37 Spent some time implementing the advanced version of Binary Search . Finished implementations in C, C++, Java, and Python."}, {"post_id": 38591, "ts": "2026-08-01T02:15:08Z", "hours": 0.6681, "text": "algora dev log #36 Spent some time implementing the advanced version of Tournament Sort . Finished implementations in C, C++, Java, and Python."}, {"post_id": 38566, "ts": "2026-08-01T01:29:13Z", "hours": 0.7253, "text": "algora dev log #35 Spent some time implementing the advanced version of Tim Sort . Finished implementations in C, C++, Java, and Python."}, {"post_id": 38545, "ts": "2026-08-01T00:38:44Z", "hours": 0.6617, "text": "algora dev log #34 Spent some time implementing the advanced version of Shell Sort . Finished implementations in C, C++, Java, and Python."}, {"post_id": 38500, "ts": "2026-07-31T22:30:21Z", "hours": 0.5581, "text": "algora dev log #33 Spent some time implementing the advanced version of Selection Sort . Finished implementations in C, C++, Java, and Python."}, {"post_id": 38484, "ts": "2026-07-31T21:52:30Z", "hours": 0.6564, "text": "algora dev log #32 Spent some time implementing the advanced version of Radix Sort . Finished implementations in C, C++, Java, and Python."}, {"post_id": 38467, "ts": "2026-07-31T21:09:48Z", "hours": 0.8247, "text": "algora dev log #31 Spent some time implementing the advanced version of Quick Sort . Finished implementations in C, C++, Java, and Python."}, {"post_id": 38379, "ts": "2026-07-31T18:44:07Z", "hours": 1.1031, "text": "algora dev log #30 Spent some time implementing the advanced version of Merge Sort (in place) today. Finished implementations in C, C++, Java, and Python. honestly this one is pretty hard to get it right"}, {"post_id": 37976, "ts": "2026-07-31T01:43:35Z", "hours": 0.7942, "text": "algora dev log #29 Spent some time implementing the advanced version of Merge Sort today. Finished implementations in C, C++, Java, and Python."}, {"post_id": 37957, "ts": "2026-07-31T00:38:05Z", "hours": 2.0833, "text": "algora dev log #28 Spent some time implementing the advanced version of Insertion and Intro Sort today. Finished implementations in C, C++, Java, and Python."}, {"post_id": 37430, "ts": "2026-07-30T04:53:22Z", "hours": 0.6233, "text": "#algora dev log #27 Spent some time implementing the advanced version of Heap Sort today. Finished implementations in C, C++, Java, and Python."}, {"post_id": 37420, "ts": "2026-07-30T03:54:46Z", "hours": 0.6931, "text": "algora dev log #26 Spent some time implementing the advanced version of Counting Sort today. Finished implementations in C, C++, Java, and Python."}, {"post_id": 37336, "ts": "2026-07-30T00:02:09Z", "hours": 0.8036, "text": "algora dev log #25 Spent some time implementing the advanced version of Bucket Sort today. Finished implementations in C, C++, Java, and Python."}, {"post_id": 37323, "ts": "2026-07-29T23:10:28Z", "hours": 0.6233, "text": "algora dev log #24 Spent some time implementing the advanced version of Bubble Sort today. Finished implementations in C, C++, Java, and Python."}, {"post_id": 36788, "ts": "2026-07-29T01:59:30Z", "hours": 1.8864, "text": "algora dev log #23 Changed my mind on this one. I want each algorithm page to include a production style implementation so readers can compare a simplified, educational version with a more advanced version that’s closer to what you might actually see in production. Because of that, I went back and started adding Bitonic Sort implementations in all four supported languages."}, {"post_id": 36704, "ts": "2026-07-28T22:39:27Z", "hours": 1.6408, "text": "algora dev log #22 Spent some time building the Exponential Search page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Fibonacci Search!"}, {"post_id": 36567, "ts": "2026-07-28T19:30:18Z", "hours": 2.3331, "text": "algora dev log #22 Spent some time building the Bitonic Array Search page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Exponential Search!"}, {"post_id": 36167, "ts": "2026-07-28T02:34:39Z", "hours": 2.0194, "text": "algora dev log #21 Spent some time building the Binary Search page today! Added the frontend and TypeScript. will finished the python, c, hava, and c++ implementation later!"}, {"post_id": 36125, "ts": "2026-07-28T00:26:15Z", "hours": 0.2853, "text": "algora dev log #20 Adding the missing main page TypeScript, now the animation is working in the main page."}, {"post_id": 36108, "ts": "2026-07-28T00:02:00Z", "hours": 1.3203, "text": "algora dev log #19 Adding the main page for searching algorithms layout, finishing the HTML and TypeScript for the page"}, {"post_id": 35571, "ts": "2026-07-27T03:12:16Z", "hours": 2.0331, "text": "algora dev log #18 Worked on the new algorithm comparison page. You can now compare two sorting algorithms side by side, view their information, watch the visualizations together, and browse the implementations in C, C++, Java, and Python. This ended up being one of the larger frontend pages in Algora so far and took a long time to write the typescript engine."}, {"post_id": 35498, "ts": "2026-07-26T23:37:19Z", "hours": 1.0839, "text": "algora dev log #17 Finished Tournament Sort page today! Added the TypeScript, then finish implementing the algorithm in C, C++, Java, and Python."}, {"post_id": 34950, "ts": "2026-07-26T02:13:55Z", "hours": 0.5944, "text": "algora dev log #16 don’t have much time today but build the html page for the Tournament Sort page today! Later on will Added the TypeScript, then finish implementing the algorithm in C, C++, Java, and Python."}, {"post_id": 34392, "ts": "2026-07-25T02:28:24Z", "hours": 1.7706, "text": "algora dev log #15 Spent some time building the Tim Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Tournament Sort!"}, {"post_id": 33831, "ts": "2026-07-24T02:12:45Z", "hours": 1.135, "text": "algora dev log #14 Spent some time building the Shell Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Tim Sort!"}, {"post_id": 33801, "ts": "2026-07-24T00:59:13Z", "hours": 1.1319, "text": "algora dev log #13 Spent some time building the Selection Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Shell Sort!"}, {"post_id": 33277, "ts": "2026-07-23T02:07:28Z", "hours": 1.3489, "text": "algora dev log #12 Spent some time building the Radix Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Selection Sort!"}, {"post_id": 33173, "ts": "2026-07-22T20:46:04Z", "hours": 1.49, "text": "algora dev log #11 Spent some time building the Quick Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Radix Sort!"}, {"post_id": 32730, "ts": "2026-07-22T02:16:03Z", "hours": 1.4678, "text": "algora dev log #10 Spent some time building the Merge Sort (in place) page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Quick Sort!"}, {"post_id": 32695, "ts": "2026-07-22T00:35:59Z", "hours": 1.7364, "text": "algora dev log #9 Spent some time building the Merge Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python.Next up: Merge (in place) Sort!"}, {"post_id": 32136, "ts": "2026-07-21T02:57:42Z", "hours": 1.9833, "text": "algora dev log #9 Spent some time building the Intro Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Merge Sort!"}, {"post_id": 32097, "ts": "2026-07-21T00:52:09Z", "hours": 1.195, "text": "algora dev log #8 Spent some time building the Insertion Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Intro Sort!"}, {"post_id": 31515, "ts": "2026-07-19T23:55:04Z", "hours": 1.6153, "text": "algora dev log #7 Spent some time building the Heap Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python.Next up: insertion Sort!"}, {"post_id": 31020, "ts": "2026-07-19T02:32:46Z", "hours": 1.5067, "text": "algora dev log #6 Spent some time building the Counting Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Heap Sort!"}, {"post_id": 30422, "ts": "2026-07-17T23:05:03Z", "hours": 1.6528, "text": "algora dev log #5 Spent some time building the Bucket Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Counting Sort!"}, {"post_id": 30350, "ts": "2026-07-17T20:27:56Z", "hours": 1.4964, "text": "algora dev log #4 Spent some time building the Bubble Sort page today! Added the frontend and TypeScript then finished implementations in C, C++, Java, and Python. Next up: Bucket Sort !"}, {"post_id": 29857, "ts": "2026-07-17T00:36:27Z", "hours": 5.5211, "text": "#Algora dev Log #3 Today’s goal was simple: Get Bitonic Sort fully working from end to end. Turns out that meant building a lot more than just Bitonic Sort. The day started with finishing the Bitonic Sort page itself. The visualizer, controls, explanations, pseudocode section, code viewer, and all the usual algorithm page stuff are now in place. At this point the page finally feels like a real part of the site instead of a placeholder. Most of the work ended up happening behind the scenes. I spent a good chunk of time building out the animation system that powers the visualizer. The goal was to make algorithms describe what they’re doing (compare, swap, finished, etc.) and let the frontend handle the actual animation. It took a bit of trial and error, but the system is finally working and feels flexible enough to support future algorithms. I also ended up writing way more TypeScript than expected. What started as “I just need Bitonic Sort working” somehow turned into multiple files handling animation control, code loading, documentation parsing, syntax highlighting, copy-to-clipboard functionality, and a bunch of other supporting systems. After that came the real test: implementing Bitonic Sort in all four supported languages. Python C++ Java C The actual algorithm wasn’t the hard part. The important part was making sure everything worked together and that the platform could properly support multiple language implementations for the same algorithm. Thankfully, it worked. By the end of the day I had: Finished the Bitonic Sort page Finished the animation engine Added playback controls Built the code loading system Added documentation parsing Implemented Bitonic Sort in C, C++, Python, and Java Connected everything together The biggest win isn’t really Bitonic Sort itself. The biggest win is that the system now works. Future sorting algorithms should be significantly easier to add because most of the annoying infrastructure work is finally out of the way. Current Status Bitonic Sort page complete Animation system working Multi-language code viewer working Bitonic Sort implemented in C, C++, Python, and Java First sorting algorithm fully integrated into Algora Next up: more algorithms !!"}, {"post_id": 29279, "ts": "2026-07-16T02:56:46Z", "hours": 3.0047, "text": "Algora dev log #2! Spent another session focused on building the Sorting Algorithm Index for Algora. The goal was to create a dedicated hub where users can browse algorithms, compare characteristics, and quickly find the right visualization to explore. Most of the work went into designing the overall layout, building algorithm cards, organizing metadata, and creating filtering and discovery systems. A large portion of the work has gone into creating the Sorting Algorithm Index, a central hub where users can browse, discover, and eventually compare different sorting algorithms. Most of this process involved designing and implementing the interface using HTML and CSS, with a focus on creating a clean layout that can scale as more algorithms and features are added. The page now includes searchable algorithm cards, filtering options, learning path recommendations, and categorized algorithm metadata to help users quickly find relevant topics. While the visual design makes up the majority of the implementation, a small amount of TypeScript has also been introduced to support interactive features such as search and filtering. Progress Continued work on the Algora frontend Improved the landing page and overall UI Fixed various styling and layout issues Continued polishing the user experience Next Steps Implement Python versions of all sorting algorithms Implement C++ versions of all sorting algorithms Implement Java versions of all sorting algorithms Implement C versions of all sorting algorithms Connect code implementations to algorithm pages Continue work on visualization and comparison tools Planned Sorting Algorithms Bitonic Sort Bubble Sort Bucket Sort Counting Sort Heap Sort Insertion Sort Intro Sort Merge Sort Merge Sort (In Place) Quick Sort Radix Sort Selection Sort Shell Sort Tim Sort Tournament Sort"}, {"post_id": 29208, "ts": "2026-07-15T23:03:45Z", "hours": 1.8942, "text": "Working on Algora Spent most of today working on the frontend for Algora , a project I’m building to help learn algorithms through interactive visualizations and comparisons. A lot of my time went into building the main landing page and polishing the overall look of the site. Surprisingly, the hardest part wasn’t the algorithms themselves which ofc it was CSS. I ended up spending way longer than expected trying to get layouts, spacing, responsiveness, and animations to behave the way I wanted. At this point my wrist is probably filing complaints against me. Not everything is working yet either. Some parts of the site are still unfinished, and a few features (including parts of the preview and visualization system) are still being actively worked on. There were definitely a lot of moments where something looked fine in my head and then completely broke the second I opened it in the browser. Even though progress felt slower than I expected, it’s starting to come together. The homepage is beginning to feel like something real instead of a collection of random components, and the overall direction of the project is becoming much clearer. Today’s Progress Continued building the Algora frontend Worked on the main landing page Improved layout and styling across multiple sections Fixed various UI issues Continued work on algorithm visualizations Recorded a development timelapse Still a long way to go, but seeing everything slowly come together has been pretty motivating."}]...
|
Title: Algora by @diputs | Stardance
Devlogs:
Wor Title: Algora by @diputs | Stardance
Devlogs:
Working on Algora Spent most of today working on the frontend for Algora , a project I’m building to help learn algorithms through interactive visualizations and comparisons. A lot of my time went into building the main landing page and polishing the overall look of the site. Surprisingly, the hardest part wasn’t the algorithms themselves which ofc it was CSS. I ended up spending way longer than expected trying to get layouts, spacing, responsiveness, and animations to behave the way I wanted. At this point my wrist is probably filing complaints against me. Not everything is working yet either. Some parts of the site are still unfinished, and a few features (including parts of the preview and visualization system) are still being actively worked on. There were definitely a lot of moments where something looked fine in my head and then completely broke the second I opened it in the browser. Even though progress felt slower than I expected, it’s starting to come together. The homepage is beginning to feel like something real instead of a collection of random components, and the overall direction of the project is becoming much clearer. Today’s Progress Continued building the Algora frontend Worked on the main landing page Improved layout and styling across multiple sections Fixed various UI issues Continued work on algorithm visualizations Recorded a development timelapse Still a long way to go, but seeing everything slowly come together has been pretty motivating.
Algora dev log #2! Spent another session focused on building the Sorting Algorithm Index for Algora. The goal was to create a dedicated hub where users can browse algorithms, compare characteristics, and quickly find the right visualization to explore. Most of the work went into designing the overall layout, building algorithm cards, organizing metadata, and creating filtering and discovery systems. A large portion of the work has gone into creating the Sorting Algorithm Index, a central hub where users can browse, discover, and eventually compare different sorting algorithms. Most of this process involved designing and implementing the interface using HTML and CSS, with a focus on creating a clean layout that can scale as more algorithms and features are added. The page now includes searchable algorithm cards, filtering options, learning path recommendations, and categorized algorithm metadata to help users quickly find relevant topics. While the visual design makes up the majority of the implementation, a small amount of TypeScript has also been introduced to support interactive features such as search and filtering. Progress Continued work on the Algora frontend Improved the landing page and overall UI Fixed various styling and layout issues Continued polishing the user experience Next Steps Implement Python versions of all sorting algorithms Implement C++ versions of all sorting algorithms Implement Java versions of all sorting algorithms Implement C versions of all sorting algorithms Connect code implementations to algorithm pages Continue work on visualization and comparison tools Planned Sorting Algorithms Bitonic Sort Bubble Sort Bucket Sort Counting Sort Heap Sort Insertion Sort Intro Sort Merge Sort Merge Sort (In Place) Quick Sort Radix Sort Selection Sort Shell Sort Tim Sort Tournament Sort
#Algora dev Log #3 Today’s goal was simple: Get Bitonic Sort fully working from end to end. Turns out that meant building a lot more than just Bitonic Sort. The day started with finishing the Bitonic Sort page itself. The visualizer, controls, explanations, pseudocode section, code viewer, and all the usual algorithm page stuff are now in place. At this point the page finally feels like a real part of the site instead of a placeholder. Most of the work ended up happening behind the scenes. I spent a good chunk of time building out the animation system that powers the visualizer. The goal was to make algorithms describe what they’re doing (compare, swap, finished, etc.) and let the frontend handle the actual animation. It took a bit of trial and error, but the system is finally working and feels flexible enough to support future algorithms. I also ended up writing way more TypeScript than expected. What started as “I just need Bitonic Sort working” somehow turned into multiple files handling animation control, code loading, documentation parsing, syntax highlighting, copy-to-clipboard functionality, and a bunch of other supporting systems. After that came the real test: implementing Bitonic Sort in all four supported languages. Python C++ Java C The actual algorithm wasn’t the hard part. The important part was making sure everything worked together and that the platform could properly support multiple language implementations for the same algorithm. Thankfully, it worked. By the end of the day I had: Finished the Bitonic Sort page Finished the animation engine Added playback controls Built the code loading system Added documentation parsing Implemented Bitonic Sort in C, C++, Python, and Java Connected everything together The biggest win isn’t really Bitonic Sort itself. The biggest win is that the system now works. Future sorting algorithms should be significantly easier to add because most of the annoying infrastructure work is finally out of the way. Current Status Bitonic Sort page complete Animation system working Multi-language code viewer working Bitonic Sort implemented in C, C++, Python, and Java First sorting algorithm fully integrated into Algora Next up: more algorithms !!
algora dev log #4 Spent some time building the Bubble Sort page today! Added the frontend and TypeScript then finished implementations in C, C++, Java, and Python. Next up: Bucket Sort !
algora dev log #5 Spent some time building the Bucket Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Counting Sort!
algora dev log #6 Spent some time building the Counting Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Heap Sort!
algora dev log #7 Spent some time building the Heap Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python.Next up: insertion Sort!
algora dev log #8 Spent some time building the Insertion Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Intro Sort!
algora dev log #9 Spent some time building the Intro Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Merge Sort!
algora dev log #9 Spent some time building the Merge Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python.Next up: Merge (in place) Sort!
algora dev log #10 Spent some time building the Merge Sort (in place) page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Quick Sort!
algora dev log #11 Spent some time building the Quick Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Radix Sort!
algora dev log #12 Spent some time building the Radix Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Selection Sort!
algora dev log #13 Spent some time building the Selection Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Shell Sort!
algora dev log #14 Spent some time building the Shell Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Tim Sort!
algora dev log #15 Spent some time building the Tim Sort page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Tournament Sort!
algora dev log #16 don’t have much time today but build the html page for the Tournament Sort page today! Later on will Added the TypeScript, then finish implementing the algorithm in C, C++, Java, and Python.
algora dev log #17 Finished Tournament Sort page today! Added the TypeScript, then finish implementing the algorithm in C, C++, Java, and Python.
algora dev log #18 Worked on the new algorithm comparison page. You can now compare two sorting algorithms side by side, view their information, watch the visualizations together, and browse the implementations in C, C++, Java, and Python. This ended up being one of the larger frontend pages in Algora so far and took a long time to write the typescript engine.
algora dev log #19 Adding the main page for searching algorithms layout, finishing the HTML and TypeScript for the page
algora dev log #20 Adding the missing main page TypeScript, now the animation is working in the main page.
algora dev log #21 Spent some time building the Binary Search page today! Added the frontend and TypeScript. will finished the python, c, hava, and c++ implementation later!
algora dev log #22 Spent some time building the Bitonic Array Search page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Exponential Search!
algora dev log #22 Spent some time building the Exponential Search page today! Added the frontend and TypeScript, then finished implementations in C, C++, Java, and Python. Next up: Fibonacci Search!
algora dev log #23 Changed my mind on this one. I want each algorithm page to include a production style implementation so readers can compare a simplified, educational version with a more advanced version that’s closer to what you might actually see in production. Because of that, I went back and started adding Bitonic Sort implementations in all four supported languages.
algora dev log #24 Spent some time implementing the advanced version of Bubble Sort today. Finished implementations in C, C++, Java, and Python.
algora dev log #25 Spent some time implementing the advanced version of Bucket Sort today. Finished implementations in C, C++, Java, and Python.
algora dev log #26 Spent some time implementing the advanced version of Counting Sort today. Finished implementations in C, C++, Java, and Python.
#algora dev log #27 Spent some time implementing the advanced version of Heap Sort today. Finished implementations in C, C++, Java, and Python.
algora dev log #28 Spent some time implementing the advanced version of Insertion and Intro Sort today. Finished implementations in C, C++, Java, and Python.
algora dev log #29 Spent some time implementing the advanced version of Merge Sort today. Finished implementations in C, C++, Java, and Python.
algora dev log #30 Spent some time implementing the advanced version of Merge Sort (in place) today. Finished implementations in C, C++, Java, and Python. honestly this one is pretty hard to get it right
algora dev log #31 Spent some time implementing the advanced version of Quick Sort . Finished implementations in C, C++, Java, and Python.
algora dev log #32 Spent some time implementing the advanced version of Radix Sort . Finished implementations in C, C++, Java, and Python.
algora dev log #33 Spent some time implementing the advanced version of Selection Sort . Finished implementations in C, C++, Java, and Python.
algora dev log #34 Spent some time implementing the advanced version of Shell Sort . Finished implementations in C, C++, Java, and Python.
algora dev log #35 Spent some time implementing the advanced version of Tim Sort . Finished implementations in C, C++, Java, and Python.
algora dev log #36 Spent some time implementing the advanced version of Tournament Sort . Finished implementations in C, C++, Java, and Python.
algora dev log #37 Spent some time implementing the advanced version of Binary Search . Finished implementations in C, C++, Java, and Python.
algora dev log #38 Spent some time implementing the advanced version of Bitonic Array Search. Finished implementations in C, C++, Java, and Python.
algora dev log #39 Spent some time implementing the advanced version of Exponential Search. Finished implementations in C, C++, Java, and Python.
algora dev log #40 Implemented the page for Fibonacci Search. Finished both easy and advanced version of Fibonacci search implementations in C, C++, Java, and Python. Together with the engine
algora dev log #41 Implemented the page for Galloping Search. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python.
algora dev log #42 Implemented the page for Interpolation Search. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python.
algora dev log #43 Thought the interpolation search lab was done until I actually used it. It turned out it showed the result, but not the reasoning. Added a new visualization that explains how the probe is estimated instead of just where it lands.
algora dev log #44 Implemented the page for Jump Search. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python.
algora dev log #45 Implemented the page for Linear Search. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python.
algora dev log #46 Implemented the page for Meta Binary Search. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python.
algora dev log #47 Implemented the page for Sentinel Linear Search. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python.
algora dev log #48 Implemented the page for Ternary Linear Search. Finished both easy and advanced versions, Finished implementations in C, C++, Java, and Python.
algora dev log #49 Implemented the page for Uniform Binary Search. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python.
algora dev log #50 Finishes and upgrade the page for Bitonic Array Search, added custom workspace for the search
algora dev log #51 Implemented the page for Fractional Cascading. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python.
algora dev log #52 Implemented the page for Hash Table Lookup. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python.
algora dev log #53 Implemented the page for Parametric Search. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python.
algora dev log #54 Implemented the page for Quickselect. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python.
algora dev log #55 Implemented the page for Rotated Sorted Array Search. Finished both easy and advanced versions, Made it’s own custom workspace. Finished implementations in C, C++, Java, and Python.
algora dev log #55 Upgraded the Exponential Search, Galloping Search, and Jump Search workspace so they are more intuitive. :D and the most time consuming part of upgrading the css
#algora dev log # 57 Finally finished the Algorithm Comparison page for searching algorithm class, Compelted the HTML and TypeScript implementations. Added some details like warnings. Finished with the Search Class of Algorithms 🎉
#algora dev log #58 Update Readme for the shipping :D The Making of Algora Below is a 1000× speed timelapse of me building the project. I lost some footage along the way, so this isn’t every single thing that happened, but most of the development is here. Altogether, it represents roughly 70 hours of raw development footage condensed into this video. It is kind of crazy to look back at all of that work and see it compressed into a few minutes.
Algora dev log #59 Apparently shipping 1.0 means I can add more things now. Started building out graph algorithms, new index, filters, learning paths, complexity info, and the foundation for the graph workspaces.
algora dev log # 60 Built the reusable grid search engine for graph/search algorithms. Finished DFS as the first full test of the engine traversal, animation, visited states, and path reconstruction all working. Added randomized maze generation with start/target. Built and integrated the full DFS algorithm page + interactive workspace. Engine is now ready to reuse for the rest of the search algorithms
algora dev log # 61 Finished both standard and advanced DFS implementations. Standard version keeps the algorithm clean. Advanced version adds a more optimized/practical implementation with deeper control over traversal
algora dev log #62 Implemented the page for 0-1 BFS. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python.
algora dev log #63 Implemented the page for A* pathfinding. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python.
algora dev log #64 Implemented the page for Bellman-Ford. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python.
algora dev log #65 Implemented the page for BFS. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python.
algora dev log #66 Implemented the page for Bidirectional BFS. Finished both easy and advanced versions, finished implementations in C, C++, Java, and Python.
algora dev log #67 Implemented the page for D* Lite . Finished the algorithm workspace, this one is hard and the TypeScript is behaving weirdly, Gotta rewrite a lot of times for the engine to render correctly with the different heuristic implemented and clicking to change the board while the algorithm runs But it works now. Really proud of it.
algora dev log #68 Implemented Python C++ Java and C for D* Lite. Both the advanced and teaching implementation is finished.
I got my latest project reviews back today, and first of all thank you so much to everyone who took the time to look through the project! A lot of the feedback genuinely made me really happy. Some people pointed out bugs I hadn’t noticed, some gave me ideas for things I could improve, and a few of you even said you wanted to bookmark the project or use it for studying algorithms, which honestly means a lot to me. There were also some questions about the tech stack and how different parts of the project were built, which I’m happy to answer. Review #1: “what is this stack? html, typescript, c, c++ and java?” The website itself is built primarily with HTML, CSS, and TypeScript. The additional languages: C, C++, Java, and Python are there because the project includes implementations of the algorithms in multiple languages. Review #5: “Dijkstra doesn’t work, I get a 404” The Ship is mainly about sorting and searching algorithms. I think by the time you visited the pathfinding page, I had already started working on the new pathfinding section but hadn’t finished implementing it yet, which is why Dijkstra gave you a 404. I’m actively working on the Dijkstra right now tho! Review #8: “the amount of time to type out your project at 70 words per minute is around 200 hours” This assumes every character was typed manually. I use tab completion and copy/paste repetitive code. For example, most of the TypeScript engine API is basically the same across algorithms, so I’m obviously not going to retype the same thing every time Review #8: “make no mention of struggles or frustrations, inspirations or ideas” I personally don’t like putting my frustration into project logs. I usually just keep my devlogs focused on what I made, changed, or learned. Review #8: “You type out rgba and hexadecimals by hand without a tool” I sketched the website layout on my iPad and used it as a reference while coding. I can’t exactly copy/paste an RGB value from my iPad onto my computer, so I just typed it Review #8: “you type out entire svg lines” The SVGs are actually copy/pasted. They’re reused assets and basically the same every time. The timelapse is around 1000x speed, so a paste just looks like the SVG suddenly appeared. Review #8: “You never delete any lines in your timelapses” I cut most of the boring debugging out because who wants to watch that. That’s also why sometimes the timelapse jumps from broken code to fixed code. I wanted the videos to stay short and watchable. Review #8: “Show us your second monitor” There is no second monitor. You assumed there was one because I wasn’t recording my full screen. I intentionally only record the part of my screen relevant to the project because the rest is my privacy. I also look through a lot of references, documentation, and other pages while working, and I don’t think anyone wants all of that flashing across a 1000x timelapse anyway. I don’t mind people questioning my work or asking how I did something, but I do think there’s a difference between asking and immediately assuming someone faked their work. Some of the comments also became pretty personal, which was honestly disappointing to see. Review #9: “Don’t bring it down pls” don’t worry, I’m planning to keep the website up I’m really happy that you actually want to use it though, that’s basically the whole reason I made this project And to everyone else who left a review, thank you so much!! I didn’t want to respond to every review with just “thank you” over and over again, but I read all of them and really appreciate all the feedback Seeing people say they actually want to use the website for learning, revision, or even USACO genuinely made me really happy. That’s basically why I wanted to build this project in the first place
algora dev log #68 Implemented the page for Dijkstra. Finished the algorithm workspace, Both the advanced and teaching version of the algorithm in all 4 languages including python, c, java and c++
Ships:
Algora 1.0 Ship An attempt to put everything I wish I had when learning algorithms into one place. This project started when a friend asked me for help with USACO. While helping them, I started thinking back to my own path of learning algorithms and the things I wished I had when I was learning them. I wanted one place where I could not only read about an algorithm, but actually see it work, understand what is happening at each step, compare it with other algorithms, and look at both a teaching implementation and a more practical implementation. That idea eventually became Algora. What’s Included The first release currently includes: 15 sorting algorithms 17 searching algorithms Interactive algorithm visualizations Step by step execution and playback controls Algorithm specific workspaces for more complex algorithms Quick facts and complexity information Detailed algorithm explanations Pseudocode Teaching implementations in C, C++, Java, and Python Production style implementations in C, C++, Java, and Python Sorting algorithm comparison Searching algorithm comparison Comparison information including time complexity, space complexity, requirements, strengths, and weaknesses Warnings when algorithms are not directly comparable Individual pages for every algorithm The goal was to make each algorithm more than just a page of code. I wanted to be able to go from: What is this? → How does it work? → Can I see it happen? → Can I understand each step? → What does the code look like? → How does it compare to other approaches? Why I Built It I built Algora because I kept thinking about how much easier learning algorithms could have been if I had all of these things in one place when I was going through USACO. I’ve gone through the USACO training path myself and reached Platinum, and helping my friend brought me back to the way I learned all of this in the first place. So instead of making another collection of algorithm implementations, I wanted to make the resource I wish I had back then. Algora is an attempt to put everything I wish I had when learning algorithms into one place. The Making of Algora I also recorded a large part of the development process while building the project. The video below is a 1000× speed timelapse made from roughly 70 hours of raw development footage. I lost some footage along the way, so it does not contain absolutely everything, but most of the development process is there. Apparently Stands saw the size of the video and decided it simply did not exist D: If you really want to watch the video, the link is here: https://github.com/diputs-sudo/algora/tree/main/video you might have to download it :( Thank You Thank you to everyone who supported me while I was building Algora. Thank you to everyone who tested things, gave feedback, helped me figure things out, listened to me ramble about algorithms, or simply encouraged me to keep working on it. This project ended up becoming much bigger than the original idea, and I’m really happy that I finally get to share it....
|
1793775138.5368652
|
1794639138.5368652
|
|
59545
|
lexi OS by @IcedThrower_95 | Stardance
|
IcedThrower_95
|
1
|
12.51
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T13:29:36Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A desktop envirinment which runs in your browser. Features: Windowing System: Features multiple fully draggable, stackable windows which are designed to open only one Instance. Dock: a macOS-style bottom dock with an open app indicator and smooth animations while opening the app Top bar: displays the clock, the OS name and just icons of internet, battery and sound Apps: 1.About Me - A little breif about myself and my social links - email, slack and github 2. Music Player - comes with 9 preloaded track and support to upload own tracks and support for tracks in queue -a special feature where it auto mixes tracks in queue one after the other evrytime a preloaded track is clicked it is added in the queue which might not be visible when selecting the tracks 3.Notes - Text editor where you can link your notes to have more reference or relationship (needs a little more work on the design part) 4.Calculator - a fully functional calculator app 5. Currency Converter - An app where you can convert currency to and from - USD, GBP ,EUR INR, JPY ,CNY ,AUD 6. Translator - An which transaltes to and from languages - English, Hindi, Telugu ,Spanish, French, German 7. Browser - An app that links to Google (don’t have enough experience to build a browser in an environment yet. 8. WallPapers - An app which has preloaded system wallpapers and also the power to add custom desktop wallpapers", "repo": "https://github.com/IcedThrower95/Lexi-OS", "demo": "https://lexi-os-virid.vercel.app/"}]...
|
[{"post_id": 86268, "ts": "202 [{"post_id": 86268, "ts": "2026-11-01T05:19:27Z", "hours": 0.5133, "text": "worked on code optimisation"}, {"post_id": 84291, "ts": "2026-10-29T12:32:28Z", "hours": 8.8894, "text": "I have finally completed my lexi os added a few more apps and polished off the entire site to match the theme of the entire desktop. about me app custom boot sequence a new clock and calender widget inspired from Mewo OS 4.also made a simple app Wallpaper - with four preloaded wallpapers which i love 5.fixed all the bugs which were popping up while building the os I also wrote the ReadMe for my project in my web browser and lapsed it so that my project doesn’t get rejected based on AI usage in ReadMe"}, {"post_id": 81545, "ts": "2026-10-21T17:08:54Z", "hours": 3.1431, "text": "In the 3 hours I worked, I built four apps A very simple wallpaper storage app Next, I made a notes app - I first built simple notes in the notes app, then I realised, why don’t we add relationships between each node like in an artificial neural network, so I did, for which I took help from AI I built a translator app which converts select languages for now. The final one is a currency converter, which as of now has 5 currencies. Tomorrow I will be working on improving these apps, this is just the first iteration hehehe"}, {"post_id": 71816, "ts": "2026-09-21T16:30:34Z", "hours": 0.0, "text": "#devlog 3 , I just fiddled around with the music player adding more features to it making it a unique player out there in a webos"}, {"post_id": 71327, "ts": "2026-09-20T17:08:03Z", "hours": 0.0, "text": "last two days, i spent my time building the apps calculator and the music player and fiddling with the styling of the apps, still a little confused in my head. any suggestion on what amount of blur is ideal is much appreciated"}, {"post_id": 70179, "ts": "2026-09-18T17:04:03Z", "hours": 0.0, "text": "#devlog1 today i spent time working and learning to implement the dock and the mouse movements for the draggable windows, for now i am using the the mac os style, after developing my own UI in figma I hope to change it. The style i am is a blend of GlassMorphism and Neumorphism. And also i develop the icon is figma but i wasn’t quite able to fit them properly, will look into it tomorrow. For now thats it guys"}]...
|
Title: lexi OS by @IcedThrower_95 | Stardance
Dev Title: lexi OS by @IcedThrower_95 | Stardance
Devlogs:
#devlog1 today i spent time working and learning to implement the dock and the mouse movements for the draggable windows, for now i am using the the mac os style, after developing my own UI in figma I hope to change it. The style i am is a blend of GlassMorphism and Neumorphism. And also i develop the icon is figma but i wasn’t quite able to fit them properly, will look into it tomorrow. For now thats it guys
last two days, i spent my time building the apps calculator and the music player and fiddling with the styling of the apps, still a little confused in my head. any suggestion on what amount of blur is ideal is much appreciated
#devlog 3 , I just fiddled around with the music player adding more features to it making it a unique player out there in a webos
In the 3 hours I worked, I built four apps A very simple wallpaper storage app Next, I made a notes app - I first built simple notes in the notes app, then I realised, why don’t we add relationships between each node like in an artificial neural network, so I did, for which I took help from AI I built a translator app which converts select languages for now. The final one is a currency converter, which as of now has 5 currencies. Tomorrow I will be working on improving these apps, this is just the first iteration hehehe
I have finally completed my lexi os added a few more apps and polished off the entire site to match the theme of the entire desktop. about me app custom boot sequence a new clock and calender widget inspired from Mewo OS 4.also made a simple app Wallpaper - with four preloaded wallpapers which i love 5.fixed all the bugs which were popping up while building the os I also wrote the ReadMe for my project in my web browser and lapsed it so that my project doesn’t get rejected based on AI usage in ReadMe
worked on code optimisation
Ships:
A desktop envirinment which runs in your browser. Features: Windowing System: Features multiple fully draggable, stackable windows which are designed to open only one Instance. Dock: a macOS-style bottom dock with an open app indicator and smooth animations while opening the app Top bar: displays the clock, the OS name and just icons of internet, battery and sound Apps: 1.About Me - A little breif about myself and my social links - email, slack and github 2. Music Player - comes with 9 preloaded track and support to upload own tracks and support for tracks in queue -a special feature where it auto mixes tracks in queue one after the other evrytime a preloaded track is clicked it is added in the queue which might not be visible when selecting the tracks 3.Notes - Text editor where you can link your notes to have more reference or relationship (needs a little more work on the design part) 4.Calculator - a fully functional calculator app 5. Currency Converter - An app where you can convert currency to and from - USD, GBP ,EUR INR, JPY ,CNY ,AUD 6. Translator - An which transaltes to and from languages - English, Hindi, Telugu ,Spanish, French, German 7. Browser - An app that links to Google (don’t have enough experience to build a browser in an environment yet. 8. WallPapers - An app which has preloaded system wallpapers and also the power to add custom desktop wallpapers...
|
1793775137.2809784
|
1793861537.2809784
|
|
30221
|
CTRL-T by @urged-st | Stardance
|
urged-st
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T09:47:42Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built CTRL-T, a brutalist custom new tab page with a NASA-powered background switcher. You can flip between a flat block colour, today’s Astronomy Picture of the Day, or a random shot pulled from NASA’s Image and Video Library, alongside a big central clock, a search bar, and a quick-link dock. The trickiest part was realising that Chrome disables alert, prompt, and confirm on any page that overrides the new tab, which meant my link-adding button silently did nothing until I swapped it for an inline form instead. I’m proud of how the NASA photos still fit the raw, high-contrast look of the page despite being real photography, since every image gets forced through greyscale and heavy contrast so it never clashes with the rest of the design. If you’re testing it, know that the quick links save to your own browser’s local storage rather than anywhere shared, so nobody else visiting the page will see the links you add, and the demo NASA key it ships with has a low hourly rate limit, so the background switcher might briefly fail if you hammer it too many times in a row. To bypass this, fork/clone the repo and add your own key, which you can get for free almost instantly online.", "repo": "https://github.com/urged-st/CTRL-T", "demo": "https://ctrl-t.vercel.app"}]...
|
[{"post_id": 22718, "ts": "202 [{"post_id": 22718, "ts": "2026-07-05T09:22:02Z", "hours": 3.3189, "text": "CTRL-T - Clock and Final Polish The Clock The clock takes over the center of the page as the biggest element on screen. It uses clamp() for its font size, so it scales from 220px on desktop down to a readable size on narrow screens without spilling off the edge. Below it sits a smaller seconds readout in the accent color, ticking every second off setInterval . Quick Links Bug The + ADD button called window.prompt() to grab a label and URL, and it worked fine in a normal browser tab. Problem is, Chrome strips out alert , prompt , and confirm entirely on pages that override the new tab, which is the whole point of this project. Clicking the button just did nothing. Fixed it by swapping the prompt for an inline form that toggles open under the dock. Two fields, a save button, done. It fits the brutalist look better too. Native browser dialogs are rounded and soft, which was never going to match this page. Mobile Sizing Added a breakpoint under 400px to shrink the clock further. Without it the numbers clipped on smaller phone screens. Andddd we’re done! Well, almost. Still gotta deploy this one."}, {"post_id": 22154, "ts": "2026-07-04T13:55:14Z", "hours": 1.6072, "text": "CTRL-T update: search bar + quick links Knocked out two stages in one sitting since neither took as long as I expected. Added the search bar first. Nothing fancy really, it just grabs whatever you type and redirects to a Google search on submit. The part I actually spent time on was making the input box not look like a default browser input, with a thick border, no rounding etc. Then added the quick links dock. Links get stored in localStorage so they persist between sessions, no backend needed. Clicking “+ ADD” pops a prompt for a label and a URL, and I added a little × next to each link chip so you can remove one without having to clear the whole list. Small thing I had to handle: people are pretty lazy about typing full URLs, so if someone just types “github.com” instead of “ https://github.com ” the script will prepend the https for them. Kept both of these hidden on narrow screens (under 640px) so the clock still gets to be the main character on mobile instead of fighting for space lol. Nothing here needed the NASA APIs, so this stage was mostly just about layout discipline, keeping the same border-heavy brutalist language consistent as I add new blocks. What’s next? Clock’s already working in the background from my webOS testing, so next devlog is probably the full assembly plus whatever polish the layout needs once everything’s on screen at once."}, {"post_id": 22096, "ts": "2026-07-04T11:23:11Z", "hours": 0.8733, "text": "CTRL-T has started! This seemed like a cool mission so I decided to try knock this out in a few hours. I’ve started by adding some styling from the beginning of the project so I don’t have to do it later. I ALSO added APOD and NASA.lib connectivity through their respective NASA APIs, so you can switch backgrounds to either the picture of the day, or a random image from NASA.lib, where it chooses a random query out of nebula, galaxy, supernova, mars, black hole, aurora, and picks a random image out of that category. Setting this up wasn’t too hard as I have worked with NASA’s APIs before multiple times, specifically the Neows and SBDB. One thing i did have to consider, is that APOD sometimes returns videos, so I added a bail script: infoText.textContent = `MODE: APOD — TODAY IS A VIDEO (${data.title.toUpperCase()}), NO IMAGE`; so rather than failing it tells the user that no image is available… maybe I will change this to integrate vids or gifs though who knows. The real hard part which I spent a while on was the CSS, as while it looks simple it took a log of adjustment to get the true brutalist look I wanted. Most astro-related sites are eloquent and fancy, I plan for this one to be quite a harsh and concrete style page. What next? I’ll probably make the search bar and maybe add a quick links section."}]...
|
Title: CTRL-T by @urged-st | Stardance
Devlogs:
C Title: CTRL-T by @urged-st | Stardance
Devlogs:
CTRL-T has started! This seemed like a cool mission so I decided to try knock this out in a few hours. I’ve started by adding some styling from the beginning of the project so I don’t have to do it later. I ALSO added APOD and NASA.lib connectivity through their respective NASA APIs, so you can switch backgrounds to either the picture of the day, or a random image from NASA.lib, where it chooses a random query out of nebula, galaxy, supernova, mars, black hole, aurora, and picks a random image out of that category. Setting this up wasn’t too hard as I have worked with NASA’s APIs before multiple times, specifically the Neows and SBDB. One thing i did have to consider, is that APOD sometimes returns videos, so I added a bail script: infoText.textContent = `MODE: APOD — TODAY IS A VIDEO (${data.title.toUpperCase()}), NO IMAGE`; so rather than failing it tells the user that no image is available… maybe I will change this to integrate vids or gifs though who knows. The real hard part which I spent a while on was the CSS, as while it looks simple it took a log of adjustment to get the true brutalist look I wanted. Most astro-related sites are eloquent and fancy, I plan for this one to be quite a harsh and concrete style page. What next? I’ll probably make the search bar and maybe add a quick links section.
CTRL-T update: search bar + quick links Knocked out two stages in one sitting since neither took as long as I expected. Added the search bar first. Nothing fancy really, it just grabs whatever you type and redirects to a Google search on submit. The part I actually spent time on was making the input box not look like a default browser input, with a thick border, no rounding etc. Then added the quick links dock. Links get stored in localStorage so they persist between sessions, no backend needed. Clicking “+ ADD” pops a prompt for a label and a URL, and I added a little × next to each link chip so you can remove one without having to clear the whole list. Small thing I had to handle: people are pretty lazy about typing full URLs, so if someone just types “github.com” instead of “ https://github.com ” the script will prepend the https for them. Kept both of these hidden on narrow screens (under 640px) so the clock still gets to be the main character on mobile instead of fighting for space lol. Nothing here needed the NASA APIs, so this stage was mostly just about layout discipline, keeping the same border-heavy brutalist language consistent as I add new blocks. What’s next? Clock’s already working in the background from my webOS testing, so next devlog is probably the full assembly plus whatever polish the layout needs once everything’s on screen at once.
CTRL-T - Clock and Final Polish The Clock The clock takes over the center of the page as the biggest element on screen. It uses clamp() for its font size, so it scales from 220px on desktop down to a readable size on narrow screens without spilling off the edge. Below it sits a smaller seconds readout in the accent color, ticking every second off setInterval . Quick Links Bug The + ADD button called window.prompt() to grab a label and URL, and it worked fine in a normal browser tab. Problem is, Chrome strips out alert , prompt , and confirm entirely on pages that override the new tab, which is the whole point of this project. Clicking the button just did nothing. Fixed it by swapping the prompt for an inline form that toggles open under the dock. Two fields, a save button, done. It fits the brutalist look better too. Native browser dialogs are rounded and soft, which was never going to match this page. Mobile Sizing Added a breakpoint under 400px to shrink the clock further. Without it the numbers clipped on smaller phone screens. Andddd we’re done! Well, almost. Still gotta deploy this one.
Ships:
I built CTRL-T, a brutalist custom new tab page with a NASA-powered background switcher. You can flip between a flat block colour, today’s Astronomy Picture of the Day, or a random shot pulled from NASA’s Image and Video Library, alongside a big central clock, a search bar, and a quick-link dock. The trickiest part was realising that Chrome disables alert, prompt, and confirm on any page that overrides the new tab, which meant my link-adding button silently did nothing until I swapped it for an inline form instead. I’m proud of how the NASA photos still fit the raw, high-contrast look of the page despite being real photography, since every image gets forced through greyscale and heavy contrast so it never clashes with the rest of the design. If you’re testing it, know that the quick links save to your own browser’s local storage rather than anywhere shared, so nobody else visiting the page will see the links you add, and the demo NASA key it ships with has a low hourly rate limit, so the background switcher might briefly fail if you hammer it too many times in a row. To bypass this, fork/clone the repo and add your own key, which you can get for free almost instantly online....
|
1793775136.4082072
|
1794639136.4082072
|
|
33768
|
Ferrari F1 by @Merd10 | Stardance
|
Merd10
|
1
|
3.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T15:59:14Z", "hours": 2.0, "multiplier": 1.05, "payout": 2, "blessing": "neutral", "text": "I built a website showcasing the Ferrari F1 car; the most challenging part was creating the boxes containing the animations. I take pride in how well those boxes turned out, and people don’t need anything extra to understand the site.", "repo": "https://github.com/merdoo10/ferrari", "demo": "https://ferrariupdate.netlify.app/"}]...
|
[{"post_id": 27070, "ts": "202 [{"post_id": 27070, "ts": "2026-07-12T09:12:42Z", "hours": 1.0, "text": "I updated the Ferrari project."}, {"post_id": 26634, "ts": "2026-07-11T15:54:19Z", "hours": 1.0, "text": "I created a website showcasing the Ferrari F1 car."}]...
|
Title: Ferrari F1 by @Merd10 | Stardance
Devlogs: Title: Ferrari F1 by @Merd10 | Stardance
Devlogs:
I created a website showcasing the Ferrari F1 car.
I updated the Ferrari project.
Ships:
I built a website showcasing the Ferrari F1 car; the most challenging part was creating the boxes containing the animations. I take pride in how well those boxes turned out, and people don’t need anything extra to understand the site....
|
1793775135.5549202
|
1794639135.5549202
|
|
36117
|
My very own WebOS by @evnels08 | Stardance
|
evnels08
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @evnels08 | Stardance
|
1793775134.6398075
|
1794379934.6398075
|
|
23658
|
Nonet by @devlsx | Stardance
|
devlsx
|
1
|
10.0
|
107
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-22T06:09:39Z", "hours": 10.0, "multiplier": 10.72, "payout": 107, "blessing": "neutral", "text": "What I made: nonet is a Sudoku solver and generator written from scratch in Rust — the point is you can watch it think. It solves any board with backtracking guided by the MRV heuristic (always branch on the cell with the fewest candidates), and generates fresh puzzles guaranteed to have exactly one solution. The default mode is an animated terminal UI where numbers go down in green, dead ends back out in red, and the grid resolves live. The same engine is compiled to WebAssembly so it runs in the browser too. What was challenging: the generator. Naively pulling clues out of a finished grid leaves puzzles with multiple solutions, so after every removal it re-counts the solutions (stopping at 2) and puts the cell back if the board is no longer unique — that uniqueness check is what makes them real Sudoku instead of guessable mush. What I’m proud of: the core has zero dependencies — my own xorshift RNG, my own bitmask candidate logic — and even “world’s hardest” boards solve in microseconds while still animating smoothly. It’s also published on crates.io. How to test it: https://alexandergese.github.io/nonet/ — generate a puzzle, hit solve, watch it animate. Or cargo install nonet and run nonet for the full terminal UI (space = play/pause, n = new, 1–4 = difficulty).", "repo": "https://github.com/AlexanderGese/nonet", "demo": "https://alexandergese.github.io/nonet/"}]...
|
[{"post_id": 13557, "ts": "202 [{"post_id": 13557, "ts": "2026-06-22T06:05:47Z", "hours": 10.4981, "text": "Spent the weekend on nonet, a small Sudoku engine in Rust. Two halves: • a solver using the MRV heuristic (always branch on the cell with the fewest candidates) — even the “world’s hardest” boards fall basically instantly • a generator that produces puzzles with exactly one solution: fill a random complete grid, then dig cells back out, only keeping a removal if the puzzle is still unique The fun part is it shows its work — an animated terminal UI where you watch numbers go down in green, dead ends back out in red, and the grid resolve to a single answer. The same engine is compiled to WebAssembly so you can mess with it in the browser. Hardest bit: the generator. Naively pulling clues out leaves puzzles with multiple solutions; the uniqueness check (count solutions but stop at 2) is what keeps them honest. Proud of: the core has zero dependencies — own xorshift RNG, own bit-masking for candidates — and the whole search animates smoothly at 60-odd steps a second."}]...
|
Title: Nonet by @devlsx | Stardance
Devlogs:
Spen Title: Nonet by @devlsx | Stardance
Devlogs:
Spent the weekend on nonet, a small Sudoku engine in Rust. Two halves: • a solver using the MRV heuristic (always branch on the cell with the fewest candidates) — even the “world’s hardest” boards fall basically instantly • a generator that produces puzzles with exactly one solution: fill a random complete grid, then dig cells back out, only keeping a removal if the puzzle is still unique The fun part is it shows its work — an animated terminal UI where you watch numbers go down in green, dead ends back out in red, and the grid resolve to a single answer. The same engine is compiled to WebAssembly so you can mess with it in the browser. Hardest bit: the generator. Naively pulling clues out leaves puzzles with multiple solutions; the uniqueness check (count solutions but stop at 2) is what keeps them honest. Proud of: the core has zero dependencies — own xorshift RNG, own bit-masking for candidates — and the whole search animates smoothly at 60-odd steps a second.
Ships:
What I made: nonet is a Sudoku solver and generator written from scratch in Rust — the point is you can watch it think. It solves any board with backtracking guided by the MRV heuristic (always branch on the cell with the fewest candidates), and generates fresh puzzles guaranteed to have exactly one solution. The default mode is an animated terminal UI where numbers go down in green, dead ends back out in red, and the grid resolves live. The same engine is compiled to WebAssembly so it runs in the browser too. What was challenging: the generator. Naively pulling clues out of a finished grid leaves puzzles with multiple solutions, so after every removal it re-counts the solutions (stopping at 2) and puts the cell back if the board is no longer unique — that uniqueness check is what makes them real Sudoku instead of guessable mush. What I’m proud of: the core has zero dependencies — my own xorshift RNG, my own bitmask candidate logic — and even “world’s hardest” boards solve in microseconds while still animating smoothly. It’s also published on crates.io. How to test it: https://alexandergese.github.io/nonet/ — generate a puzzle, hit solve, watch it animate. Or cargo install nonet and run nonet for the full terminal UI (space = play/pause, n = new, 1–4 = difficulty)....
|
1793775133.7814434
|
1794639133.7814434
|
|
12619
|
G-Lens by @urged-st | Stardance
|
urged-st
|
1
|
13.0
|
166
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T12:09:23Z", "hours": 13.0, "multiplier": 13.25, "payout": 166, "blessing": "neutral", "text": "I have developed a functioning gravitational lensing simulator, where you can drag a massive object across a real deep field image and watch it warp the light from background galaxies in real time. You can adjust the mass of the lens and switch between presets simulating different object types: a simple lens, black hole, neutron star, and galaxy cluster, each with a distinct visual appearance. The most technically challenging part was the rendering architecture. Rather than handling everything in p5.js, I wrote a custom GLSL fragment shader running in WebGL to perform the actual light deflection, with p5.js running as a separate overlay layer for the UI and lens visuals. This was my first time writing a shader, and getting the aspect ratio correction and UV space deflection maths to work correctly took a long time. I also had to carefully calibrate the p5 lens visual to match the shader’s distortion radius, since they compute size differently. The landing overlay and info cards took a significant amount of time across many iterations because I wanted the design to feel polished and intentional rather than throwaway, and I’m especially happy with how the article view and card animations turned out. If the colour scheme and UI style look familiar, that’s intentional cause I’ve developed a consistent design language across my simulators, using the same typefaces and colour palette to give them a coherent identity. One of the main limitations is having to model everything as a perfect circle as I have never made a shader before this, but too complex and users won’t really enjoy it. Thanks for reading, hope you find this interesting.", "repo": "https://github.com/urged-st/gravi-lens-sim", "demo": "https://g-lens-sim.vercel.app"}]...
|
[{"post_id": 16860, "ts": "202 [{"post_id": 16860, "ts": "2026-06-27T11:21:32Z", "hours": 3.6564, "text": "Massive G-Lens update: Shipping NOW! Ok so I have been polishing this up now, making it look complete and just using trial and error to adjust the values for distortion cause there were quite a few annoying issues with that. Now, I present the finished G-Lens simulator. So, what have I done since my last devlog? I’ll split it into sections for you. UI: Added a dedicated side panel for stats, where there is a low opacity rectangle to create separation from the background image as it was hard to read the stats before. Added labels to everything where needed Changed the style of the “simple” preset from a solid blue circle to a circle with a blue glow, it’s nothing necessary but just looks better than a solid circle. Functionality: Added bg switcher Added auto scaling to each bg - this was necessary as different images had galaxies of different sizes, so the same massive black hole would look disproportionate if you used the same default scaling. So, I changed the scaling based on which image it is (no auto detect or anything but you see the point lol) Added a show/hide button for the lensing - previously this would prevent lens movement but there wasn’t really a reason to restrict this so I reverted it. Of course, we needed a reset button lol. Had to change distortion scaling with trial and error (this was the majority of 2hrs) and also modelling and remodelling the distort to match the scaling of the size of the lens. ^ the above changes aren’t chronological btw, but if you need it like that, my video devlogs on instagram are there. also I added the two new backgrounds as the famous Hubble Ultra Deep Fields from 2004 and 2014"}, {"post_id": 10179, "ts": "2026-06-16T19:51:25Z", "hours": 1.4928, "text": "PRESETS PRESETS PRESETS If you have seen my other sim, you’ll know I wasted no time on adding presets. Well I now have presets for this sim too to replicate lensing from different celestial bodies Also, the distortion was kinda eliptical, so I had to fix this as it would change due to different aspect ratios (now its circular). Added a mass slider, this had some layering issues before but thats not a problem now. I had to fix a bug where the field size and lens size increased at different rates (my stupid ahh used two different equations) so I just rewrote the equations I used for both. Overall a pretty productive 1hr 30mins, will probably add MORE UI features to make it feel more polished, change the bg image etc. Also probably a toggle lensing button. See you in the next one! all video devlogs are at https://instagram.com/urged.st"}, {"post_id": 8175, "ts": "2026-06-13T16:56:27Z", "hours": 4.1161, "text": "I FORGOT TO MAKE A LOG Okay so for the last 4 hours i’ve been fighting with my shader code as it didnt work for a long time, but it finally works. What was the issue? when using shaders on pngs, sometimes the edges and transparent areas render weird I thought my code was wrong, but in reality I just had to switch the image type. issue #2 was that the blue circle, which is the lens (had to make it obvious for debugging) was firstly having inverted movement to the actual distortion field, and secondly sometimes just not showing up. to fix the inverted movement, I just mapped the actual circle’s position to the field’s coords. (btw, the inversion was caused by webgl canvas and p5.js canvas having different coordinate systems) to fix it not showing up, that was just a layering issue. Overall, that 4 hour period was a rollercoaster and i’m glad its over. If you want to see how it broke (I didnt devlog this cause I was too preoccupied) there’s a video devlog on my instagram: https://www.instagram.com/urged.st/"}, {"post_id": 6855, "ts": "2026-06-11T14:42:13Z", "hours": 1.8492, "text": "Been toying around with distortion lately, I’m still torn between making a full on shader or just having distortion to look like lensing. Most of my time spent has been trial and error with different ways of distorting, from basic inward radial distortion to a more complex particle tracing distortion. I am gonna try and perfect this before moving on I think, because if I can’t get this right then in my opinion I have a long way to go before making a shader. added mass slider, larger masses = more gravity, so more lensing/distortion! made the source draggable, but I don’t know how useful this really is lol (maybe easier to centre, to see einstein rings?)"}, {"post_id": 5916, "ts": "2026-06-09T21:52:58Z", "hours": 1.4789, "text": "G-Lens Begins! This is, to say the least, gonna be hard. I have a rough idea of what I’m gonna do, but really i have never made a shader before or used GLSL. Luckily I decided not to do this today as I was already tired and decided to make a prototype which rather than solving the lens equation, simply uses a radial distort to… well distort the space around it. I did initially try distort a point mass (yeah my bad) so obviously had to switch it to a bunch of particles densely packed. This actually shows a distort, even if its not accurate to astrophysics (this isn’t the goal for today) Next steps? think about how i will integrate actual physics into this, and read MORE research papers."}]...
|
Title: G-Lens by @urged-st | Stardance
Devlogs:
G Title: G-Lens by @urged-st | Stardance
Devlogs:
G-Lens Begins! This is, to say the least, gonna be hard. I have a rough idea of what I’m gonna do, but really i have never made a shader before or used GLSL. Luckily I decided not to do this today as I was already tired and decided to make a prototype which rather than solving the lens equation, simply uses a radial distort to… well distort the space around it. I did initially try distort a point mass (yeah my bad) so obviously had to switch it to a bunch of particles densely packed. This actually shows a distort, even if its not accurate to astrophysics (this isn’t the goal for today) Next steps? think about how i will integrate actual physics into this, and read MORE research papers.
Been toying around with distortion lately, I’m still torn between making a full on shader or just having distortion to look like lensing. Most of my time spent has been trial and error with different ways of distorting, from basic inward radial distortion to a more complex particle tracing distortion. I am gonna try and perfect this before moving on I think, because if I can’t get this right then in my opinion I have a long way to go before making a shader. added mass slider, larger masses = more gravity, so more lensing/distortion! made the source draggable, but I don’t know how useful this really is lol (maybe easier to centre, to see einstein rings?)
I FORGOT TO MAKE A LOG Okay so for the last 4 hours i’ve been fighting with my shader code as it didnt work for a long time, but it finally works. What was the issue? when using shaders on pngs, sometimes the edges and transparent areas render weird I thought my code was wrong, but in reality I just had to switch the image type. issue #2 was that the blue circle, which is the lens (had to make it obvious for debugging) was firstly having inverted movement to the actual distortion field, and secondly sometimes just not showing up. to fix the inverted movement, I just mapped the actual circle’s position to the field’s coords. (btw, the inversion was caused by webgl canvas and p5.js canvas having different coordinate systems) to fix it not showing up, that was just a layering issue. Overall, that 4 hour period was a rollercoaster and i’m glad its over. If you want to see how it broke (I didnt devlog this cause I was too preoccupied) there’s a video devlog on my instagram: https://www.instagram.com/urged.st/
PRESETS PRESETS PRESETS If you have seen my other sim, you’ll know I wasted no time on adding presets. Well I now have presets for this sim too to replicate lensing from different celestial bodies Also, the distortion was kinda eliptical, so I had to fix this as it would change due to different aspect ratios (now its circular). Added a mass slider, this had some layering issues before but thats not a problem now. I had to fix a bug where the field size and lens size increased at different rates (my stupid ahh used two different equations) so I just rewrote the equations I used for both. Overall a pretty productive 1hr 30mins, will probably add MORE UI features to make it feel more polished, change the bg image etc. Also probably a toggle lensing button. See you in the next one! all video devlogs are at https://instagram.com/urged.st
Massive G-Lens update: Shipping NOW! Ok so I have been polishing this up now, making it look complete and just using trial and error to adjust the values for distortion cause there were quite a few annoying issues with that. Now, I present the finished G-Lens simulator. So, what have I done since my last devlog? I’ll split it into sections for you. UI: Added a dedicated side panel for stats, where there is a low opacity rectangle to create separation from the background image as it was hard to read the stats before. Added labels to everything where needed Changed the style of the “simple” preset from a solid blue circle to a circle with a blue glow, it’s nothing necessary but just looks better than a solid circle. Functionality: Added bg switcher Added auto scaling to each bg - this was necessary as different images had galaxies of different sizes, so the same massive black hole would look disproportionate if you used the same default scaling. So, I changed the scaling based on which image it is (no auto detect or anything but you see the point lol) Added a show/hide button for the lensing - previously this would prevent lens movement but there wasn’t really a reason to restrict this so I reverted it. Of course, we needed a reset button lol. Had to change distortion scaling with trial and error (this was the majority of 2hrs) and also modelling and remodelling the distort to match the scaling of the size of the lens. ^ the above changes aren’t chronological btw, but if you need it like that, my video devlogs on instagram are there. also I added the two new backgrounds as the famous Hubble Ultra Deep Fields from 2004 and 2014
Ships:
I have developed a functioning gravitational lensing simulator, where you can drag a massive object across a real deep field image and watch it warp the light from background galaxies in real time. You can adjust the mass of the lens and switch between presets simulating different object types: a simple lens, black hole, neutron star, and galaxy cluster, each with a distinct visual appearance. The most technically challenging part was the rendering architecture. Rather than handling everything in p5.js, I wrote a custom GLSL fragment shader running in WebGL to perform the actual light deflection, with p5.js running as a separate overlay layer for the UI and lens visuals. This was my first time writing a shader, and getting the aspect ratio correction and UV space deflection maths to work correctly took a long time. I also had to carefully calibrate the p5 lens visual to match the shader’s distortion radius, since they compute size differently. The landing overlay and info cards took a significant amount of time across many iterations because I wanted the design to feel polished and intentional rather than throwaway, and I’m especially happy with how the article view and card animations turned out. If the colour scheme and UI style look familiar, that’s intentional cause I’ve developed a consistent design language across my simulators, using the same typefaces and colour palette to give them a coherent identity. One of the main limitations is having to model everything as a perfect circle as I have never made a shader before this, but too complex and users won’t really enjoy it. Thanks for reading, hope you find this interesting....
|
1793775132.9477136
|
1794639132.9477136
|
|
12328
|
My awesome macropad! by @praveenupadhayay8501 | St My awesome macropad! by @praveenupadhayay8501 | Stardance...
|
praveenupadhayay8501
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @praveenupadhayay85 Title: My awesome macropad! by @praveenupadhayay8501 | Stardance...
|
1793775132.0511978
|
1794379932.0511978
|
|
22654
|
Umbra by @urged-st | Stardance
|
urged-st
|
1
|
19.0
|
243
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T19:00:39Z", "hours": 19.0, "multiplier": 12.73, "payout": 243, "blessing": "neutral", "text": "umbra is a browser-based exoplanet transit simulator. you get a star, a planet on an adjustable orbit, and a live light curve that dips every time the planet crosses in front of the star. sliders control planet size, orbit radius, orbit speed and eccentricity, and there’s a set of presets so you can jump straight to different planet types (hot jupiter, super-earth, earth-like, etc) without tuning everything by hand. getting the orbit itself right was very hard. circular orbits are easy, but real planets have eccentric ones, which means solving kepler’s equation to work out where the planet actually is at any given moment. did that with newton-raphson, a handful of iterations converges fast enough to run every frame without lagging. have fun!", "repo": "https://github.com/urged-st/Umbra", "demo": "https://umbra-sim.vercel.app"}]...
|
[{"post_id": 27915, "ts": "202 [{"post_id": 27915, "ts": "2026-07-13T20:51:32Z", "hours": 3.1261, "text": "Umbra — Adding Some Chaos (On Purpose) Real telescopes don’t hand you a perfect light curve, they hand you a noisy mess with a signal buried in it, so I added a noise toggle to make Umbra actually look like real data instead of a simple ahh textbook diagram Used a Box-Muller transform to turn two uniform randoms into a proper gaussian sample, tuned roughly to TESS-scale scatter so it’s not comically noisy, just enough to make the dip look like something you’d actually have to squint at New “N” button sits next to the reset one, goes amber when it’s on, same button family as everything else up there The bit I actually spent time thinking about, which was that the noise only touches what gets drawn on the graph, not the underlying flux value. Transit detection, transit counting, period measurement, and the stats panel all still read the clean number I wanted it this way on purpose, in real analysis you don’t just throw the noise away, you fit the curve through it, so having Umbra’s detection stay accurate underneath a noisy-looking graph felt like the more honest way to represent that, rather than making the sim itself worse at its job just for realism points lol"}, {"post_id": 27093, "ts": "2026-07-12T10:56:00Z", "hours": 2.3894, "text": "Umbra - Making the Dip Actually Mean Something Kepler solved the “where the heck is the planet” issue, but I still had a “how much light does it actually block” issue, and the answer wasn’t as simple as I first thought My first instinct was just measuring the distance between planet and star centres and eyeballing a dim amount from that, which is wrong the second the planet is anything other than fully in or fully out What you actually need is the overlap area between two circles, so I built circleOverlapArea() using the proper lens equation, it takes the centre distance plus both radii and works out the exact overlapping region This is what gives you the sloped ingress and egress on the light curve instead of a dip that just snaps to a flat bottom, which is a lot closer to what a real transit looks like Also added depth ordering off the back of this, since I needed to know when the planet’s on the near side of the orbit vs the far side so it draws in front of or behind the star correctly (sin of the eccentric anomaly tells you which side you’re on, handy) Once the flux number was actually trustworthy, I edited the instrumentation to go with it: fixed the stats panel (radius ratio, current flux, transit depth, max depth, eccentricity, transit count, measured period) rising-edge detection so it counts transits and times the period itself, rather than me just reading it off the speed slider fixed the light curve graph itself, plotting flux over time with gridlines so you can actually see the dip shape as it happens Genuinely didn’t expect the geometry bit to be the harder half of this session, Kepler felt like the scary one going in but the overlap maths turned out to be the fiddlier of the two! I also distributed all my code into separate files as for some reason I put it all inline in one html file and I got some reviews about file structure on my other projects, so didn’t want to repeat that lol"}, {"post_id": 26213, "ts": "2026-07-10T21:36:46Z", "hours": 4.0325, "text": "Umbra — Kepler’s Equation Nearly Broke Me So remember in the first devlog when I said I spent 2+ hours just getting the orbit right? Turns out “right” was still wrong, the planet was moving at constant angular speed the whole time, which is basically not how orbits work Real orbits speed up near the star and slow down far away (thanks Kepler), so I had to actually solve Kepler’s equation properly instead of faking it Problem is M = E − e·sin(E) has no closed-form solution for E, you can’t just rearrange and solve for it like a normal equation, which I did not know going in and briefly panicked about Ended up using Newton-Raphson to solve it numerically, feels very full circle after doing the same kind of thing for my EPQ (orbital sim for near-Earth objects), except this time it’s converging in like 5 iterations instead of me validating against JPL Horizons for weeks lol The difference is honestly crazy to look at now, the planet visibly rips through periapsis and crawls through apoapsis instead of just gliding round at one speed the whole way, which is exactly what real eccentric orbits do Pretty happy with this 4 hours cause it means I now have actual physics rather than some fake thing only added for the visuals. below are some snippets from the solvers but not the full code of course"}, {"post_id": 15548, "ts": "2026-06-25T08:42:15Z", "hours": 5.0658, "text": "Umbra - Major Update! Ok, I’ll admit I wasn’t too consistent with devlogging as I was with my other projects, so I’ll keep this detailed for that storytelling rating So I started by adding the four sliders - the planet radius, orbit radius, speed, and eccentricity. The eccentricity one was probably the most interesting to build because I didn’t want it to just go from 0 to max in one direction, I made it signed so zero sits in the middle of the slider and you can push the elongation either way. Felt much more intuitive to use. I also had to add a clamp so the orbit can’t intersect the star — without it you could drag the eccentricity up until the planet was literally passing through the star which looked awful. It recalculates the safe maximum every frame based on whatever the other sliders are at, and goes amber with a little “(max)” label if you’re hitting the ceiling. Then I added presets (as always lol): Hot Jupiter, Super-Earth, Earth-like, Eccentric Giant, Grazing Transit, as a dropdown that snaps all the sliders at once. Wanted a way to show off what different orbit types actually look like on the light curve without the user having to dial everything in manually. Each preset fires a little toast notification from the top of the screen with a one-liner about what makes that orbit interesting, which I’m pretty happy with. Last thing was the reset button — just a ↺ in the top right that puts everything back to defaults and clears the graph. Small thing but its actually really useful when you’ve been toying around with this all day 😭, saves me a bit of sanity. If you want more on what I did and why I did it feel free to check out https://instagram.com/urged.st where I post video devlogs!"}, {"post_id": 12699, "ts": "2026-06-20T18:55:31Z", "hours": 4.6267, "text": "Umbra Begins Alright, we’re really hitting the ground running with this one. Started yesterday and I’m already 4 hours deep (my goal is 10hrs minimum for each simulator) Added the heavy UI now so I don’t have to write paragraphs later (wasn’t too bad lol, same styling as the other two sims) Added an orbiting planet (yes I spent two hours + on the planet and getting its orbit right…)"}]...
|
Title: Umbra by @urged-st | Stardance
Devlogs:
Um Title: Umbra by @urged-st | Stardance
Devlogs:
Umbra Begins Alright, we’re really hitting the ground running with this one. Started yesterday and I’m already 4 hours deep (my goal is 10hrs minimum for each simulator) Added the heavy UI now so I don’t have to write paragraphs later (wasn’t too bad lol, same styling as the other two sims) Added an orbiting planet (yes I spent two hours + on the planet and getting its orbit right…)
Umbra - Major Update! Ok, I’ll admit I wasn’t too consistent with devlogging as I was with my other projects, so I’ll keep this detailed for that storytelling rating So I started by adding the four sliders - the planet radius, orbit radius, speed, and eccentricity. The eccentricity one was probably the most interesting to build because I didn’t want it to just go from 0 to max in one direction, I made it signed so zero sits in the middle of the slider and you can push the elongation either way. Felt much more intuitive to use. I also had to add a clamp so the orbit can’t intersect the star — without it you could drag the eccentricity up until the planet was literally passing through the star which looked awful. It recalculates the safe maximum every frame based on whatever the other sliders are at, and goes amber with a little “(max)” label if you’re hitting the ceiling. Then I added presets (as always lol): Hot Jupiter, Super-Earth, Earth-like, Eccentric Giant, Grazing Transit, as a dropdown that snaps all the sliders at once. Wanted a way to show off what different orbit types actually look like on the light curve without the user having to dial everything in manually. Each preset fires a little toast notification from the top of the screen with a one-liner about what makes that orbit interesting, which I’m pretty happy with. Last thing was the reset button — just a ↺ in the top right that puts everything back to defaults and clears the graph. Small thing but its actually really useful when you’ve been toying around with this all day 😭, saves me a bit of sanity. If you want more on what I did and why I did it feel free to check out https://instagram.com/urged.st where I post video devlogs!
Umbra — Kepler’s Equation Nearly Broke Me So remember in the first devlog when I said I spent 2+ hours just getting the orbit right? Turns out “right” was still wrong, the planet was moving at constant angular speed the whole time, which is basically not how orbits work Real orbits speed up near the star and slow down far away (thanks Kepler), so I had to actually solve Kepler’s equation properly instead of faking it Problem is M = E − e·sin(E) has no closed-form solution for E, you can’t just rearrange and solve for it like a normal equation, which I did not know going in and briefly panicked about Ended up using Newton-Raphson to solve it numerically, feels very full circle after doing the same kind of thing for my EPQ (orbital sim for near-Earth objects), except this time it’s converging in like 5 iterations instead of me validating against JPL Horizons for weeks lol The difference is honestly crazy to look at now, the planet visibly rips through periapsis and crawls through apoapsis instead of just gliding round at one speed the whole way, which is exactly what real eccentric orbits do Pretty happy with this 4 hours cause it means I now have actual physics rather than some fake thing only added for the visuals. below are some snippets from the solvers but not the full code of course
Umbra - Making the Dip Actually Mean Something Kepler solved the “where the heck is the planet” issue, but I still had a “how much light does it actually block” issue, and the answer wasn’t as simple as I first thought My first instinct was just measuring the distance between planet and star centres and eyeballing a dim amount from that, which is wrong the second the planet is anything other than fully in or fully out What you actually need is the overlap area between two circles, so I built circleOverlapArea() using the proper lens equation, it takes the centre distance plus both radii and works out the exact overlapping region This is what gives you the sloped ingress and egress on the light curve instead of a dip that just snaps to a flat bottom, which is a lot closer to what a real transit looks like Also added depth ordering off the back of this, since I needed to know when the planet’s on the near side of the orbit vs the far side so it draws in front of or behind the star correctly (sin of the eccentric anomaly tells you which side you’re on, handy) Once the flux number was actually trustworthy, I edited the instrumentation to go with it: fixed the stats panel (radius ratio, current flux, transit depth, max depth, eccentricity, transit count, measured period) rising-edge detection so it counts transits and times the period itself, rather than me just reading it off the speed slider fixed the light curve graph itself, plotting flux over time with gridlines so you can actually see the dip shape as it happens Genuinely didn’t expect the geometry bit to be the harder half of this session, Kepler felt like the scary one going in but the overlap maths turned out to be the fiddlier of the two! I also distributed all my code into separate files as for some reason I put it all inline in one html file and I got some reviews about file structure on my other projects, so didn’t want to repeat that lol
Umbra — Adding Some Chaos (On Purpose) Real telescopes don’t hand you a perfect light curve, they hand you a noisy mess with a signal buried in it, so I added a noise toggle to make Umbra actually look like real data instead of a simple ahh textbook diagram Used a Box-Muller transform to turn two uniform randoms into a proper gaussian sample, tuned roughly to TESS-scale scatter so it’s not comically noisy, just enough to make the dip look like something you’d actually have to squint at New “N” button sits next to the reset one, goes amber when it’s on, same button family as everything else up there The bit I actually spent time thinking about, which was that the noise only touches what gets drawn on the graph, not the underlying flux value. Transit detection, transit counting, period measurement, and the stats panel all still read the clean number I wanted it this way on purpose, in real analysis you don’t just throw the noise away, you fit the curve through it, so having Umbra’s detection stay accurate underneath a noisy-looking graph felt like the more honest way to represent that, rather than making the sim itself worse at its job just for realism points lol
Ships:
umbra is a browser-based exoplanet transit simulator. you get a star, a planet on an adjustable orbit, and a live light curve that dips every time the planet crosses in front of the star. sliders control planet size, orbit radius, orbit speed and eccentricity, and there’s a set of presets so you can jump straight to different planet types (hot jupiter, super-earth, earth-like, etc) without tuning everything by hand. getting the orbit itself right was very hard. circular orbits are easy, but real planets have eccentric ones, which means solving kepler’s equation to work out where the planet actually is at any given moment. did that with newton-raphson, a handful of iterations converges fast enough to run every frame without lagging. have fun!...
|
1793775131.207016
|
1794639131.207016
|
|
14224
|
Sumo Bot by @leonlu0 | Stardance
|
leonlu0
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Sumo Bot by @leonlu0 | Stardance
|
1793775130.299628
|
1794379930.299628
|
|
23657
|
Swarm by @devlsx | Stardance
|
devlsx
|
1
|
7.0
|
53
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T05:43:11Z", "hours": 7.0, "multiplier": 7.11, "payout": 53, "blessing": "neutral", "text": "This one’s swarm, a small BitTorrent client in Rust with no torrent libraries. I wanted to actually understand the protocol end to end. What it does: • parses .torrent files with its own bencode parser • announces to the tracker over HTTP and reads the compact peer list • speaks the peer wire protocol — handshake, bitfield, request/piece, over raw TCP • pulls pieces block by block and verifies each against its SHA-1 before writing it to disk • shows the swarm in a TUI: the piece grid filling in, per-peer have-bars, live speed The SHA-1 is hand-rolled (it’s what the spec uses for integrity), so the core has zero dependencies. Hardest bit: the info-hash. You can’t re-encode the parsed info dict and hash that key order/formatting can differ from the original because you have to SHA-1 the exact bytes as they sit in the file. Took me a while to spot why my hash didn’t match.", "repo": "https://github.com/AlexanderGese/swarm", "demo": "https://alexandergese.github.io/swarm/"}]...
|
[{"post_id": 17413, "ts": "202 [{"post_id": 17413, "ts": "2026-06-28T05:41:25Z", "hours": 7.4039, "text": "This one’s swarm, a small BitTorrent client in Rust with no torrent libraries. I wanted to actually understand the protocol end to end."}]...
|
Title: Swarm by @devlsx | Stardance
Devlogs:
This Title: Swarm by @devlsx | Stardance
Devlogs:
This one’s swarm, a small BitTorrent client in Rust with no torrent libraries. I wanted to actually understand the protocol end to end.
Ships:
This one’s swarm, a small BitTorrent client in Rust with no torrent libraries. I wanted to actually understand the protocol end to end. What it does: • parses .torrent files with its own bencode parser • announces to the tracker over HTTP and reads the compact peer list • speaks the peer wire protocol — handshake, bitfield, request/piece, over raw TCP • pulls pieces block by block and verifies each against its SHA-1 before writing it to disk • shows the swarm in a TUI: the piece grid filling in, per-peer have-bars, live speed The SHA-1 is hand-rolled (it’s what the spec uses for integrity), so the core has zero dependencies. Hardest bit: the info-hash. You can’t re-encode the parsed info dict and hash that key order/formatting can differ from the original because you have to SHA-1 the exact bytes as they sit in the file. Took me a while to spot why my hash didn’t match....
|
1793775129.4378726
|
1794639129.4378726
|
|
62630
|
BookaBase by @TheGeekachu | Stardance
|
TheGeekachu
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-30T00:58:29Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Ok, shipping Bookabase. Please review it before my Supabase database gets deprecated because it’s out of use.", "repo": "https://github.com/TheGeekachu/bookabase", "demo": "https://bookabase.streamlit.app"}]...
|
[{"post_id": 73811, "ts": "202 [{"post_id": 73811, "ts": "2026-09-26T02:10:35Z", "hours": 0.5817, "text": "I moved the whole app to Streamlit, who has much better services than stupid Render, by the way. And it’s looking pretty polished! Moving to Streamlit was harder than I expected, so I’m still expecting dependency issues to pop up, so better be careful. Supabase kept taking down my database for inactivity, so please read on it more, guys!"}, {"post_id": 69201, "ts": "2026-09-16T16:12:37Z", "hours": 0.8558, "text": "So, I did a bunch of styling, which was new for me, because I usually use premade stylesheets, but I like the results and how they look."}, {"post_id": 68955, "ts": "2026-09-16T03:25:33Z", "hours": 1.0289, "text": "I got it to work, used Render to deploy, Supabase for database, Reflex for front-end, learned Docker for, well, docking, and used a library called DeliciousSoup or something for EPUB scanning."}, {"post_id": 68928, "ts": "2026-09-16T01:55:15Z", "hours": 0.2664, "text": "First commit, set up my environment, all that nice stuff. This is going to be fun, I’ll finally have a place to put all my downloaded books."}]...
|
Title: BookaBase by @TheGeekachu | Stardance
Devl Title: BookaBase by @TheGeekachu | Stardance
Devlogs:
First commit, set up my environment, all that nice stuff. This is going to be fun, I’ll finally have a place to put all my downloaded books.
I got it to work, used Render to deploy, Supabase for database, Reflex for front-end, learned Docker for, well, docking, and used a library called DeliciousSoup or something for EPUB scanning.
So, I did a bunch of styling, which was new for me, because I usually use premade stylesheets, but I like the results and how they look.
I moved the whole app to Streamlit, who has much better services than stupid Render, by the way. And it’s looking pretty polished! Moving to Streamlit was harder than I expected, so I’m still expecting dependency issues to pop up, so better be careful. Supabase kept taking down my database for inactivity, so please read on it more, guys!
Ships:
Ok, shipping Bookabase. Please review it before my Supabase database gets deprecated because it’s out of use....
|
1793775128.2765043
|
1793861528.2765043
|
|
25625
|
Delve by @devlsx | Stardance
|
devlsx
|
1
|
28.0
|
388
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-07T21:18:57Z", "hours": 28.0, "multiplier": 14.7, "payout": 388, "blessing": "neutral", "text": "Delve This is a little roguelike I built in Rust. It runs entirely in the terminal: no graphics, just coloured letters. You’re the @ , you climb down into a randomly generated dungeon, fight the things that live there, grab whatever loot you can, and try to get to the bottom before something eats you. It’s twelve floors deep. Getting there is the whole game. The only dependency is crossterm (for raw terminal mode, colours and key input). Everything else — the RNG, the map generator, the field of view, the monster pathfinding, the save format — I wrote myself. That was the point: I wanted to actually understand every piece instead of pulling in a crate for it. How a turn works Delve is turn-based, and the loop is dead simple: nothing moves until you do. You press a key → that becomes an Action (move, wait, pick up, descend, open the inventory, …). The game resolves your action. If you walked into a monster, that’s an attack. Then every monster takes its turn. The field of view is recomputed from your new position, the screen is redrawn, and it waits for your next key. Because the world only advances on your input, you can sit and think for as long as you like — which is very roguelike, and also means the whole thing costs zero CPU while it waits. The pieces The dungeon ( mapgen.rs ). Classic “rooms and corridors”: I scatter up to 16 non-overlapping rectangular rooms, then connect each room to the previous one with an L-shaped tunnel. Up-stairs go in the first room, down-stairs in the last. Every floor is freshly generated, so no two runs are the same. Field of view ( fov.rs ). You can only see what’s near you; everything else is dark (tiles you’ve seen before stay dimly remembered). I do it by shooting straight Bresenham lines from the player out to every square on the edge of a box around them, lighting up tiles until a ray hits a wall. It’s not the fancy “shadowcasting” algorithm everyone uses — I picked the version I could fully understand and it looks great. Monsters that hunt you ( ai.rs + pathfind.rs ). When a monster can see you it doesn’t just stumble around — it runs a real A * search to route around walls and close the distance. Lose line of sight and it goes back to idling. (The A * has a fun gotcha: Rust’s BinaryHeap is a max -heap, but A * wants the cheapest node first, so I had to reverse the ordering. That bug — it kept expanding the worst nodes — took me embarrassingly long to spot.) Fighting ( combat.rs ). Simple and readable: roll the attacker’s power with a tiny bit of variance, subtract the defender’s defense, and the rest is damage. Weapons add power, armour adds defense. Kill things for XP, level up for more HP and power. Loot ( items.rs + spawn.rs + inventory.rs ). Potions (healing, permanent strength, permanent max-HP), scrolls (teleport, magic mapping, lightning bolt, enchant weapon), plus weapons and armour drawn from tables that scale with depth — so the deeper you go, the better the gear you might find, and the nastier the things guarding it. Difficulty curve. Deeper floors spawn more monsters and meaner ones. The design is deliberately lopsided: the dungeon always wins eventually. That’s the joke the whole game is built around. Saving ( save.rs ). A save is really a suspend — the moment you load it, the file is deleted, so you can’t save-scum your way out of a bad decision. I also hand-wrote the entire save/load format by hand (parsing and all) instead of reaching for serde , just to prove to myself I could. Flavour ( flavor.rs ). Every death, descent and kill pulls a random one-liner from a little pool, so the log never reads the same way twice (“You delete the goblin from the timeline. No undo.”). Honestly the most fun part to write.", "repo": "https://github.com/AlexanderGese/delve", "demo": "https://crates.io/crates/delve-rl"}]...
|
[{"post_id": 24333, "ts": "202 [{"post_id": 24333, "ts": "2026-07-07T20:54:28Z", "hours": 2.6953, "text": "Hooked up input (wasd, arrows, hjkl, all of it) Built the real main loop with terminal setup, and it was playable start to finish Hit a bug where every keypress moved me twice. Some terminals send a press and a release event and I was reacting to both. One-line fix once I understood it Added saving. Hand-wrote the whole save format instead of using serde, dumping the map, monsters, inventory, and even the rng state to a text file Save works suspend-style, so it deletes on load and you can’t save-scum death Had a nasty bug parsing the rng state as an i64 when it’s a u64, so big values silently failed to load. Lost an hour to one wrong type Five evenings and it’s a real, funny little roguelike that saves and runs in any terminal Learned a ton of Rust. Calling it done"}, {"post_id": 24138, "ts": "2026-07-07T14:42:21Z", "hours": 5.9178, "text": "Wrote the core Game struct that owns the map, player, monsters, loot, inventory, and depth Built the turn loop. You act, then every monster takes its turn The turn loop fought the borrow checker. Moving one monster while reading all the others is something Rust hates. Split the borrows of self by hand and used a snapshot of which tiles are occupied. Took forever, but it works and monsters chase properly, so I stopped touching it Added descending the stairs Added xp and leveling. Made up the numbers and playtested until they felt okay Added rendering with remembered and visible tiles Added the hud, the message log panel, and the inventory and help screens Went from a bunch of modules to something that looks like a game in one evening"}, {"post_id": 23313, "ts": "2026-07-06T05:56:13Z", "hours": 8.3028, "text": "Added line-of-sight using a bresenham ray to check nothing solid blocks the view Added A* pathfinding so monsters route around walls to reach you Monsters keep chasing for a few turns after losing sight, so ducking around a corner won’t save you A* was a pain. Rust’s BinaryHeap is a max-heap, but A* needs the smallest cost first, so it kept finding crazy paths. Flipping the ordering fixed it and monsters got good at cornering me Added loot to make going deeper worth it. Potions (healing, strength, vitality), scrolls (teleport, magic mapping, lightning, enchant), weapons, armor, and gold Added an inventory to carry it all Added spawn tables that put more and nastier stuff deeper down Zapping the nearest monster with a lightning scroll across a room feels great Made a whole file just for the funny one-liners the game throws at you. Best part of the day"}, {"post_id": 22417, "ts": "2026-07-04T21:31:51Z", "hours": 2.9839, "text": "Put all the colors in one place Added a scrolling message log at the bottom of the screen Player and monsters use the same struct. The only thing that makes a monster is whether it has an “ai” Gave them hp, power, and defense Combat is simple. Walk into a monster to hit it Damage is attacker power plus a little random, minus defender defense Plays better than expected Added lots of monsters. Rats, bats, and kobolds up top. Orcs, zombies, and wolves lower down. Ogres, trolls, demons, and a dragon deep at the bottom Spent a long time tweaking numbers for a fair difficulty curve Died for the first time"}, {"post_id": 22014, "ts": "2026-07-04T07:59:16Z", "hours": 8.2, "text": "Cargo project set up, only dependency is crossterm Wrote own xorshift RNG (learn how they work + deterministic seeds -> reproducible dungeons) Added points, rectangles, tile types (wall/floor/corridor/stairs) Map = one flat vector indexed as 2D Rooms and corridors generator: scatter nonoverlapping rooms, join with L-shaped halls Ray-cast FOV: see only nearby and visited tiles stay dimly lit No player yet, but world is generating"}]...
|
Title: Delve by @devlsx | Stardance
Devlogs:
Carg Title: Delve by @devlsx | Stardance
Devlogs:
Cargo project set up, only dependency is crossterm Wrote own xorshift RNG (learn how they work + deterministic seeds -> reproducible dungeons) Added points, rectangles, tile types (wall/floor/corridor/stairs) Map = one flat vector indexed as 2D Rooms and corridors generator: scatter nonoverlapping rooms, join with L-shaped halls Ray-cast FOV: see only nearby and visited tiles stay dimly lit No player yet, but world is generating
Put all the colors in one place Added a scrolling message log at the bottom of the screen Player and monsters use the same struct. The only thing that makes a monster is whether it has an “ai” Gave them hp, power, and defense Combat is simple. Walk into a monster to hit it Damage is attacker power plus a little random, minus defender defense Plays better than expected Added lots of monsters. Rats, bats, and kobolds up top. Orcs, zombies, and wolves lower down. Ogres, trolls, demons, and a dragon deep at the bottom Spent a long time tweaking numbers for a fair difficulty curve Died for the first time
Added line-of-sight using a bresenham ray to check nothing solid blocks the view Added A* pathfinding so monsters route around walls to reach you Monsters keep chasing for a few turns after losing sight, so ducking around a corner won’t save you A* was a pain. Rust’s BinaryHeap is a max-heap, but A* needs the smallest cost first, so it kept finding crazy paths. Flipping the ordering fixed it and monsters got good at cornering me Added loot to make going deeper worth it. Potions (healing, strength, vitality), scrolls (teleport, magic mapping, lightning, enchant), weapons, armor, and gold Added an inventory to carry it all Added spawn tables that put more and nastier stuff deeper down Zapping the nearest monster with a lightning scroll across a room feels great Made a whole file just for the funny one-liners the game throws at you. Best part of the day
Wrote the core Game struct that owns the map, player, monsters, loot, inventory, and depth Built the turn loop. You act, then every monster takes its turn The turn loop fought the borrow checker. Moving one monster while reading all the others is something Rust hates. Split the borrows of self by hand and used a snapshot of which tiles are occupied. Took forever, but it works and monsters chase properly, so I stopped touching it Added descending the stairs Added xp and leveling. Made up the numbers and playtested until they felt okay Added rendering with remembered and visible tiles Added the hud, the message log panel, and the inventory and help screens Went from a bunch of modules to something that looks like a game in one evening
Hooked up input (wasd, arrows, hjkl, all of it) Built the real main loop with terminal setup, and it was playable start to finish Hit a bug where every keypress moved me twice. Some terminals send a press and a release event and I was reacting to both. One-line fix once I understood it Added saving. Hand-wrote the whole save format instead of using serde, dumping the map, monsters, inventory, and even the rng state to a text file Save works suspend-style, so it deletes on load and you can’t save-scum death Had a nasty bug parsing the rng state as an i64 when it’s a u64, so big values silently failed to load. Lost an hour to one wrong type Five evenings and it’s a real, funny little roguelike that saves and runs in any terminal Learned a ton of Rust. Calling it done
Ships:
Delve This is a little roguelike I built in Rust. It runs entirely in the terminal: no graphics, just coloured letters. You’re the @ , you climb down into a randomly generated dungeon, fight the things that live there, grab whatever loot you can, and try to get to the bottom before something eats you. It’s twelve floors deep. Getting there is the whole game. The only dependency is crossterm (for raw terminal mode, colours and key input). Everything else — the RNG, the map generator, the field of view, the monster pathfinding, the save format — I wrote myself. That was the point: I wanted to actually understand every piece instead of pulling in a crate for it. How a turn works Delve is turn-based, and the loop is dead simple: nothing moves until you do. You press a key → that becomes an Action (move, wait, pick up, descend, open the inventory, …). The game resolves your action. If you walked into a monster, that’s an attack. Then every monster takes its turn. The field of view is recomputed from your new position, the screen is redrawn, and it waits for your next key. Because the world only advances on your input, you can sit and think for as long as you like — which is very roguelike, and also means the whole thing costs zero CPU while it waits. The pieces The dungeon ( mapgen.rs ). Classic “rooms and corridors”: I scatter up to 16 non-overlapping rectangular rooms, then connect each room to the previous one with an L-shaped tunnel. Up-stairs go in the first room, down-stairs in the last. Every floor is freshly generated, so no two runs are the same. Field of view ( fov.rs ). You can only see what’s near you; everything else is dark (tiles you’ve seen before stay dimly remembered). I do it by shooting straight Bresenham lines from the player out to every square on the edge of a box around them, lighting up tiles until a ray hits a wall. It’s not the fancy “shadowcasting” algorithm everyone uses — I picked the version I could fully understand and it looks great. Monsters that hunt you ( ai.rs + pathfind.rs ). When a monster can see you it doesn’t just stumble around — it runs a real A * search to route around walls and close the distance. Lose line of sight and it goes back to idling. (The A * has a fun gotcha: Rust’s BinaryHeap is a max -heap, but A * wants the cheapest node first, so I had to reverse the ordering. That bug — it kept expanding the worst nodes — took me embarrassingly long to spot.) Fighting ( combat.rs ). Simple and readable: roll the attacker’s power with a tiny bit of variance, subtract the defender’s defense, and the rest is damage. Weapons add power, armour adds defense. Kill things for XP, level up for more HP and power. Loot ( items.rs + spawn.rs + inventory.rs ). Potions (healing, permanent strength, permanent max-HP), scrolls (teleport, magic mapping, lightning bolt, enchant weapon), plus weapons and armour drawn from tables that scale with depth — so the deeper you go, the better the gear you might find, and the nastier the things guarding it. Difficulty curve. Deeper floors spawn more monsters and meaner ones. The design is deliberately lopsided: the dungeon always wins eventually. That’s the joke the whole game is built around. Saving ( save.rs ). A save is really a suspend — the moment you load it, the file is deleted, so you can’t save-scum your way out of a bad decision. I also hand-wrote the entire save/load format by hand (parsing and all) instead of reaching for serde , just to prove to myself I could. Flavour ( flavor.rs ). Every death, descent and kill pulls a random one-liner from a little pool, so the log never reads the same way twice (“You delete the goblin from the timeline. No undo.”). Honestly the most fun part to write....
|
1793775127.426661
|
1794639127.426661
|
|
35040
|
TV series recommendation by @Merd10 | Stardance
|
Merd10
|
1
|
3.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T12:25:19Z", "hours": 3.0, "multiplier": 1.01, "payout": 3, "blessing": "neutral", "text": "I created a site for those looking for TV series to watch.", "repo": "https://github.com/merdoo10/dizioneri", "demo": "https://dizioneri.netlify.app/"}]...
|
[{"post_id": 28250, "ts": "202 [{"post_id": 28250, "ts": "2026-07-14T12:21:21Z", "hours": 3.0, "text": "I created a site for those looking for TV series to watch."}]...
|
Title: TV series recommendation by @Merd10 | Stard Title: TV series recommendation by @Merd10 | Stardance
Devlogs:
I created a site for those looking for TV series to watch.
Ships:
I created a site for those looking for TV series to watch....
|
1793775126.5426512
|
1794639126.5426512
|
|
4190
|
Claude Second Brain Harness by @xerneas | Stardanc Claude Second Brain Harness by @xerneas | Stardance...
|
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-11T19:56:31Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Claude Harness that is light enough and not extra enough for daily use. After messing around with openclaw I saw that the costs and features were simply too extra. This is a great life planner that can be run simply even with lower end models like claude haiku.", "repo": "https://github.com/xerneas3318/claude-monorepo", "demo": "https://github.com/xerneas3318/claude-monorepo/releases/tag/v1.0.0"}]...
|
[{"post_id": 7019, "ts": "2026 [{"post_id": 7019, "ts": "2026-06-11T19:34:17Z", "hours": 0.2214, "text": "What it is A markdown-only second-brain that Claude Code reads at every session start and edits as you talk to it. Everything lives as plain .md files in a fixed directory tree- no database, no proprietary format. Two repos, one system brain-template: the harness itself. CLAUDE.md (the session-start instructions Claude reads), a templates/ folder, and a directory skeleton (daily/, backlog/, goals/, notes/, projects/, routines/, memory/, archive/). Drop your real notes in, edit memory/context.md, and Claude becomes a proactive planner. ClaudePlanner: the phone + sync layer on top of the harness. iOS app (SwiftUI) for Today/Browse views with tap-to-toggle, drag reorder, talk-to-Claude with on-device speech. A Node sync-daemon does bidirectional brain/ ↔ Firestore sync. A Fastify relay exposes the Claude Agent SDK with Firebase auth + MCP tools (list_today, read_file, add_task, check_task). Flow You write/edit a task in daily/today.md (or tell Claude on phone, or check a box). sync-daemon mirrors the change to Firestore. iOS app live-listens and updates instantly. Closing the loop: when Claude (on phone or terminal) edits files via the relay, sync-daemon writes them back to disk. Full iOS and server support will be shown soon"}]...
|
Title: Claude Second Brain Harness by @xerneas | S Title: Claude Second Brain Harness by @xerneas | Stardance
Devlogs:
What it is A markdown-only second-brain that Claude Code reads at every session start and edits as you talk to it. Everything lives as plain .md files in a fixed directory tree- no database, no proprietary format. Two repos, one system brain-template: the harness itself. CLAUDE.md (the session-start instructions Claude reads), a templates/ folder, and a directory skeleton (daily/, backlog/, goals/, notes/, projects/, routines/, memory/, archive/). Drop your real notes in, edit memory/context.md, and Claude becomes a proactive planner. ClaudePlanner: the phone + sync layer on top of the harness. iOS app (SwiftUI) for Today/Browse views with tap-to-toggle, drag reorder, talk-to-Claude with on-device speech. A Node sync-daemon does bidirectional brain/ ↔ Firestore sync. A Fastify relay exposes the Claude Agent SDK with Firebase auth + MCP tools (list_today, read_file, add_task, check_task). Flow You write/edit a task in daily/today.md (or tell Claude on phone, or check a box). sync-daemon mirrors the change to Firestore. iOS app live-listens and updates instantly. Closing the loop: when Claude (on phone or terminal) edits files via the relay, sync-daemon writes them back to disk. Full iOS and server support will be shown soon
Ships:
Claude Harness that is light enough and not extra enough for daily use. After messing around with openclaw I saw that the costs and features were simply too extra. This is a great life planner that can be run simply even with lower end models like claude haiku....
|
1793775125.6691663
|
1794639125.6691663
|
|
3552
|
Super Smash Guys by @rivmo | Stardance
|
rivmo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Super Smash Guys by @rivmo | Stardance
|
1793775124.7831175
|
1794379924.7831175
|
|
29799
|
NoteFy by @Cryskyy | Stardance
|
Cryskyy
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T12:26:57Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Sooo, i was make a project that make people more productive, by making daily note or diary, I called the project as “NoteFy” NoteFy is a lightweight, all in one web app for keeping your diary entries, notes. this web also had no backend, no sign-up, no dependencies to install. so its pure html wraped by javascript. the challenging part of my project is managing all the logic and its very very confusing tbh, but im soo proud that i could make a cool project that help people be more productive and more diligent to noting and makiing diary :), thats all about my cool project thx for reading it :)))", "repo": "https://github.com/cryskyyexp-ux/NoteFy", "demo": "https://notefy1.netlify.app/"}]...
|
[{"post_id": 22813, "ts": "202 [{"post_id": 22813, "ts": "2026-07-05T12:20:23Z", "hours": 1.0, "text": "SOOO THIZ is my final update , im fixing the loading system by adding like skeleton frame :), and i minimaze the ui, so its not laggy :). This might be the last devlog before i ship it"}, {"post_id": 21938, "ts": "2026-07-04T04:12:52Z", "hours": 0.0, "text": "Hiyaaaaaaaaaaaaaaa, I JUST change my web theme, from glassmorphism to skeuomorphism :)), with dominant white and blue gradient, hope u guys like it :("}, {"post_id": 21343, "ts": "2026-07-03T07:09:48Z", "hours": 0.0, "text": "SOOOOOO, i recently added SVG logo for my web logo, and its quite SUCKS because its ai generated :o, and i added smth like you can add html code for your diary page :)), BTW Thiz is my second DevLOg #2, what should i Add TO my web guys?"}, {"post_id": 20741, "ts": "2026-07-02T13:03:26Z", "hours": 0.0, "text": "HEYo EverYOne, THISZ is my first devlog, im making a productive web like u can noting and writing your daily activity or diary :))"}]...
|
Title: NoteFy by @Cryskyy | Stardance
Devlogs:
HE Title: NoteFy by @Cryskyy | Stardance
Devlogs:
HEYo EverYOne, THISZ is my first devlog, im making a productive web like u can noting and writing your daily activity or diary :))
SOOOOOO, i recently added SVG logo for my web logo, and its quite SUCKS because its ai generated :o, and i added smth like you can add html code for your diary page :)), BTW Thiz is my second DevLOg #2, what should i Add TO my web guys?
Hiyaaaaaaaaaaaaaaa, I JUST change my web theme, from glassmorphism to skeuomorphism :)), with dominant white and blue gradient, hope u guys like it :(
SOOO THIZ is my final update , im fixing the loading system by adding like skeleton frame :), and i minimaze the ui, so its not laggy :). This might be the last devlog before i ship it
Ships:
Sooo, i was make a project that make people more productive, by making daily note or diary, I called the project as “NoteFy” NoteFy is a lightweight, all in one web app for keeping your diary entries, notes. this web also had no backend, no sign-up, no dependencies to install. so its pure html wraped by javascript. the challenging part of my project is managing all the logic and its very very confusing tbh, but im soo proud that i could make a cool project that help people be more productive and more diligent to noting and makiing diary :), thats all about my cool project thx for reading it :)))...
|
1793775123.9045603
|
1794639123.9045603
|
|
30208
|
Nokira's Website by @nokira | Stardance
|
nokira
|
4
|
29.0
|
186
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T13:53:04Z", "hours": 17.0, "multiplier": 7.91, "payout": 137, "blessing": "neutral", "text": "This is the updated version of my personal website. At first it was quite simple since I was still learning, but now, after many other projects I upgraded it and also used the grant to buy a proper domain. In this website there are different sections: About me, to learn more about… me. Interests, here I listed my interests divided in categories. Projects, a page dedicated entirely to show all the projects I did Gallery, page where I upload some pictures that I took and find good enough to share them. Blog, well, a blog.", "repo": "https://github.com/n0kira/nokira.dev", "demo": "https://nokira.dev/"}, {"ship_num": 2, "ts": "2026-07-15T16:32:19Z", "hours": 7.0, "multiplier": 5.32, "payout": 39, "blessing": "neutral", "text": "I updated the previous personal website. Since the original was a bit more playful but I wanted to try and make something more minimal and professional, instead of just deleting the previous one I decided to create a dedicated section for it. There I will show only my polished projects and included a timeline for my achievements. Also I updated some stuff in the original page. I added a “Hobbies” space and moved the technologies over to the new part. Honestly after all the work with even other projects I managed to get comfortable with CSS so this time it wasn’t as hard as the previous one, but I had to still follow a tutorial if that’s okay to build the timeline. Other than that I was pretty comfortable with doing the HTML and JS. The page shown in this screenshot is in a subfolder “pro”, it is accessible by clicking the first link near the “About Me” title of the starting page.", "repo": "https://github.com/n0kira/nokira.dev", "demo": "https://nokira.dev/"}, {"ship_num": 3, "ts": "2026-07-04T14:18:40Z", "hours": 2.0, "multiplier": 5.59, "payout": 10, "blessing": "neutral", "text": "I’m really proud of how this project turned out! I’m still improving little details, but I like the result. I finally feel like I found the right layout and colors even though CSS is still the hardest part to fully understand. Overall I believe this project has the possibility to be improved in many ways and I’ll try to do that in the coming days! :)", "repo": "https://github.com/n0kira/nokira.dev", "demo": "https://nokira.dev/"}, {"ship_num": 4, "ts": "2026-07-03T13:11:31Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just created my very first website! It’s not really complicated but it took me some time to get everything to look the way i wanted. The most challenging part was the CSS. I thought it would have been easy to apply a few colors, but it was really hard to find the right style for my personal website. Overall, I’m really satisfied with my first project!", "repo": "https://github.com/n0kira/nokira.dev", "demo": "https://nokira.dev/"}]...
|
[{"post_id": 60227, "ts": "202 [{"post_id": 60227, "ts": "2026-09-02T13:48:13Z", "hours": 0.9864, "text": "Devlog #8 Shipping Hi!! I think it’s time to ship this project once again. A LOT changed since last ship, actually, everything changed. Today I finished the README files."}, {"post_id": 58097, "ts": "2026-08-30T13:31:11Z", "hours": 2.0317, "text": "Devlog #7 Hii guys! I couldn’t work much in these last days but I finally managed to finish the Blog! I created it under a subdomain, https://blog.nokira.dev , and in the Home page you can see the “Latest Blog Post” to get a preview. If anyone has something to suggest, please comment! I am always happy to hear feedback or things to add :) Byee!!"}, {"post_id": 55087, "ts": "2026-08-26T15:17:31Z", "hours": 1.9519, "text": "Devlog #6 Projects page! Hii! Today I worked only on doing the Projects page and it was quite easy since I took most of the code from the Gallery and adapted it. In the next days I will polish everything and start working on finishing the home page. Thank you all for reading! :)"}, {"post_id": 54722, "ts": "2026-08-25T20:01:32Z", "hours": 5.0983, "text": "Devlog #5 Gallery! Hii everyone!! Today I spent quite some time on the Gallery. It’s just a page where I put some pictures that I took in the last years, nothing crazy, but I spent A LOT of time between the styling and finding way to load all the photos without having the page lagging. And while it’s easy, I tried at first the hardest method… which didn’t work that much, and only after that I found how to do it properly, so yeah… Also, I tweaked some properties for smaller screens and changed the background, I think I like this one more. Let me know if you have any suggestions!! I always read the comments :) P.S. The site is now live! nokira.dev Thank you, guys, for reading! Have a great week!!"}, {"post_id": 54027, "ts": "2026-08-24T19:36:41Z", "hours": 1.7761, "text": "Devlog #4 More styling.. Hii guys! Sooo today I didn’t work that much, but I changed some of the CSS and now this is how the page looks like. If anyone has suggestions, feel free to comment! Also, I have a question, does anyone know why the website seems to lag during the scrolling on Edge, while it works completely fine on Chrome and Firefox? This is it for today, tomorrow I’ll definitely start working on the gallery, I gathered some ideas today. Byeee!! Thanks for reading :)"}, {"post_id": 53360, "ts": "2026-08-23T21:33:23Z", "hours": 1.2403, "text": "Devlog #3 Styling Sooo hi again! In this hour here is what I did: Added Background Added Colors Added Images & GIFs Added Dividers To be honest it was quite easy to make the layout. The hardest part was searching online for the graphics!! There are so many resources out there, but I felt like only a few of them deserved to be used on this website. I guess I spent 1 or 2 hours going around hundreds of sites to get all the elements needed (and I don’t think I’m done). I don’t really have a plan for tomorrow, but I’ll probably create the projects section. Also, I was thinking of making a gallery too, to share some of the pictures I took that I like the most Thank you, guys, as always for the support and for reading the devlogs!! :)"}, {"post_id": 53087, "ts": "2026-08-23T14:48:12Z", "hours": 3.3025, "text": "Devlog #2 Barebones Hi everyone!! I’ve started working on the overall layout. I think it’s coming together, slowly, but it’s already something. I added all my interests and wrote kind of a long paragraph for the about me section, so I hid by default, this way the page doesn’t feel too crowdy. I will now work more on the styling. Find some cool elements to add, a palette, and a background. Thank you for reading!! :)"}, {"post_id": 52588, "ts": "2026-08-22T19:38:23Z", "hours": 0.9142, "text": "Devlog 1 New beginning 🌐 Hii everyone! So, I finally decided to spend my domain grant, and I bought the nokira.dev . Now I am reworking the entire website to a whole different style. Hopefully I will come up with something permanent and beautiful. I will work a bit slowly compared to usual, but something will come… :)"}, {"post_id": 28954, "ts": "2026-07-15T15:51:07Z", "hours": 2.82, "text": "Devlog 7 Hello!! Today I finished the “pro” side of the website! I added a smooth scroll script which I found online, made toggle to decide which 3D model to see and created a little timeline with all my important achievements. On the other side of the website I just added a little space that shows my main hobbies (Sports car racing, programming and experimenting with hardware). I think I am ready to ship the project. Byeee!!"}, {"post_id": 28558, "ts": "2026-07-14T21:38:31Z", "hours": 3.2442, "text": "Devlog 6 Hii!! It’s been some days since I last worked on this project, but I decided to focus on some of the other ones. But today I wanted to see what I could do, and… I decided to make a new layout, even though I love the current one, so instead of just wiping it, I created another section to the website which you can visit with this link . The new layout feels to me a bit more professional and less playful compared to the other one. And because I wanted to feel both at the same time, I just created a dedicated section for the new one. This, will be the “professional” (if you can call it like that) side of me. I will only put the finished and polished projects and keep the layout less colorful and distracting. As you can see from the screenshot to the right I put a 3D model using this guide . Ignore the fact that it’s my Roblox character, I will put some other model once I get a better idea XD. Byeee!!"}, {"post_id": 26002, "ts": "2026-07-10T15:44:20Z", "hours": 1.2642, "text": "Devlog 5 Nothing much to say to be honest. I just spend 1 hours refining some minor details and thanks to all the feedback I got, I optimized the background and the previews. Thank you guys for all the positive reviews btw ❤️ :) Now the videos play only when hovering with the moue on a thumbnail. And also there was a weird behavior when many project were added for testing, so I fixed that issue too and now project display all in the correct way. I am thinking of a redesign…"}, {"post_id": 22160, "ts": "2026-07-04T14:08:43Z", "hours": 1.4094, "text": "Created another section! I listed the technologies I know and I’m familiar with, in a dedicated section. I also updated the icon style in the contact section :)"}, {"post_id": 22090, "ts": "2026-07-04T10:54:14Z", "hours": 0.4806, "text": "Just a quick edit! Added my new project “KittenOS” to the section, added GitHub profile in the contact section and changed the background to a Gif!"}, {"post_id": 21450, "ts": "2026-07-03T12:26:22Z", "hours": 1.7981, "text": "Just finished the About section!!! Currently refining the Project section. It’s been quite some time but I’m taking it very slowly trying to make it perfect to my eye :)"}, {"post_id": 21396, "ts": "2026-07-03T09:56:50Z", "hours": 0.7961, "text": "Took me quite some time but i managed to create this layout! I know it doesn’t really look that great but I’m happy I achieved this! Working on the first section now :)"}]...
|
Title: Nokira's Website by @nokira | Stardance Title: Nokira's Website by @nokira | Stardance
Devlogs:
Took me quite some time but i managed to create this layout! I know it doesn’t really look that great but I’m happy I achieved this! Working on the first section now :)
Just finished the About section!!! Currently refining the Project section. It’s been quite some time but I’m taking it very slowly trying to make it perfect to my eye :)
Just a quick edit! Added my new project “KittenOS” to the section, added GitHub profile in the contact section and changed the background to a Gif!
Created another section! I listed the technologies I know and I’m familiar with, in a dedicated section. I also updated the icon style in the contact section :)
Devlog 5 Nothing much to say to be honest. I just spend 1 hours refining some minor details and thanks to all the feedback I got, I optimized the background and the previews. Thank you guys for all the positive reviews btw ❤️ :) Now the videos play only when hovering with the moue on a thumbnail. And also there was a weird behavior when many project were added for testing, so I fixed that issue too and now project display all in the correct way. I am thinking of a redesign…
Devlog 6 Hii!! It’s been some days since I last worked on this project, but I decided to focus on some of the other ones. But today I wanted to see what I could do, and… I decided to make a new layout, even though I love the current one, so instead of just wiping it, I created another section to the website which you can visit with this link . The new layout feels to me a bit more professional and less playful compared to the other one. And because I wanted to feel both at the same time, I just created a dedicated section for the new one. This, will be the “professional” (if you can call it like that) side of me. I will only put the finished and polished projects and keep the layout less colorful and distracting. As you can see from the screenshot to the right I put a 3D model using this guide . Ignore the fact that it’s my Roblox character, I will put some other model once I get a better idea XD. Byeee!!
Devlog 7 Hello!! Today I finished the “pro” side of the website! I added a smooth scroll script which I found online, made toggle to decide which 3D model to see and created a little timeline with all my important achievements. On the other side of the website I just added a little space that shows my main hobbies (Sports car racing, programming and experimenting with hardware). I think I am ready to ship the project. Byeee!!
Devlog 1 New beginning 🌐 Hii everyone! So, I finally decided to spend my domain grant, and I bought the nokira.dev . Now I am reworking the entire website to a whole different style. Hopefully I will come up with something permanent and beautiful. I will work a bit slowly compared to usual, but something will come… :)
Devlog #2 Barebones Hi everyone!! I’ve started working on the overall layout. I think it’s coming together, slowly, but it’s already something. I added all my interests and wrote kind of a long paragraph for the about me section, so I hid by default, this way the page doesn’t feel too crowdy. I will now work more on the styling. Find some cool elements to add, a palette, and a background. Thank you for reading!! :)
Devlog #3 Styling Sooo hi again! In this hour here is what I did: Added Background Added Colors Added Images & GIFs Added Dividers To be honest it was quite easy to make the layout. The hardest part was searching online for the graphics!! There are so many resources out there, but I felt like only a few of them deserved to be used on this website. I guess I spent 1 or 2 hours going around hundreds of sites to get all the elements needed (and I don’t think I’m done). I don’t really have a plan for tomorrow, but I’ll probably create the projects section. Also, I was thinking of making a gallery too, to share some of the pictures I took that I like the most Thank you, guys, as always for the support and for reading the devlogs!! :)
Devlog #4 More styling.. Hii guys! Sooo today I didn’t work that much, but I changed some of the CSS and now this is how the page looks like. If anyone has suggestions, feel free to comment! Also, I have a question, does anyone know why the website seems to lag during the scrolling on Edge, while it works completely fine on Chrome and Firefox? This is it for today, tomorrow I’ll definitely start working on the gallery, I gathered some ideas today. Byeee!! Thanks for reading :)
Devlog #5 Gallery! Hii everyone!! Today I spent quite some time on the Gallery. It’s just a page where I put some pictures that I took in the last years, nothing crazy, but I spent A LOT of time between the styling and finding way to load all the photos without having the page lagging. And while it’s easy, I tried at first the hardest method… which didn’t work that much, and only after that I found how to do it properly, so yeah… Also, I tweaked some properties for smaller screens and changed the background, I think I like this one more. Let me know if you have any suggestions!! I always read the comments :) P.S. The site is now live! nokira.dev Thank you, guys, for reading! Have a great week!!
Devlog #6 Projects page! Hii! Today I worked only on doing the Projects page and it was quite easy since I took most of the code from the Gallery and adapted it. In the next days I will polish everything and start working on finishing the home page. Thank you all for reading! :)
Devlog #7 Hii guys! I couldn’t work much in these last days but I finally managed to finish the Blog! I created it under a subdomain, https://blog.nokira.dev , and in the Home page you can see the “Latest Blog Post” to get a preview. If anyone has something to suggest, please comment! I am always happy to hear feedback or things to add :) Byee!!
Devlog #8 Shipping Hi!! I think it’s time to ship this project once again. A LOT changed since last ship, actually, everything changed. Today I finished the README files.
Ships:
I just created my very first website! It’s not really complicated but it took me some time to get everything to look the way i wanted. The most challenging part was the CSS. I thought it would have been easy to apply a few colors, but it was really hard to find the right style for my personal website. Overall, I’m really satisfied with my first project!
I’m really proud of how this project turned out! I’m still improving little details, but I like the result. I finally feel like I found the right layout and colors even though CSS is still the hardest part to fully understand. Overall I believe this project has the possibility to be improved in many ways and I’ll try to do that in the coming days! :)
I updated the previous personal website. Since the original was a bit more playful but I wanted to try and make something more minimal and professional, instead of just deleting the previous one I decided to create a dedicated section for it. There I will show only my polished projects and included a timeline for my achievements. Also I updated some stuff in the original page. I added a “Hobbies” space and moved the technologies over to the new part. Honestly after all the work with even other projects I managed to get comfortable with CSS so this time it wasn’t as hard as the previous one, but I had to still follow a tutorial if that’s okay to build the timeline. Other than that I was pretty comfortable with doing the HTML and JS. The page shown in this screenshot is in a subfolder “pro”, it is accessible by clicking the first link near the “About Me” title of the starting page.
This is the updated version of my personal website. At first it was quite simple since I was still learning, but now, after many other projects I upgraded it and also used the grant to buy a proper domain. In this website there are different sections: About me, to learn more about… me. Interests, here I listed my interests divided in categories. Projects, a page dedicated entirely to show all the projects I did Gallery, page where I upload some pictures that I took and find good enough to share them. Blog, well, a blog....
|
1793775122.632282
|
1793861522.632282
|
|
14142
|
Termux :Desktop by @Tan-May | Stardance
|
Tan-May
|
1
|
26.66
|
373
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T18:34:57Z", "hours": 21.0, "multiplier": 18.31, "payout": 373, "blessing": "neutral", "text": "I made a Linux environment inside the android phone which is actually plug and play via xrdp , novnc and the termux X11 , the project was inspiring for me because i got the laptop very late at the age , i really wanted to have a pc or a laptop but in todays gen the phone is becoming capable enough to run full desktop like env in you phone itself just plug your phone to a big monitor and you’re good to go , the challenges i faced were , 1 hardware acc so to use the phones full potential we need to enable the phones hardware acc so that the android will not kill termux that was very hard to tackle", "repo": "https://github.com/Tanmay-1122/Termux-desktop", "demo": "https://termux-dex-demo.vercel.app/"}]...
|
[{"post_id": 26525, "ts": "202 [{"post_id": 26525, "ts": "2026-07-11T11:52:35Z", "hours": 5.6581, "text": "final devlog i guess , okay so after the last rejection of my project , invested lots of time in reducing the installing scripts cause i saw the reviewers recording of using my project , he had to do lots of things manually like installing apps , starting desktop etc so now i made some automated scripts which will install the apps automatically , which are been divided into many other types like browsers , ai apps , ide ,etc so once the script is run , we can install multiple apps simultaneously also cherry on top i also added some themes so that the desktop will also look good im giving this project time because i will be using this project in my next project which is a cyberdeck"}, {"post_id": 9372, "ts": "2026-06-15T18:28:11Z", "hours": 1.6561, "text": "#The Final Devlog Riced my phone though is not a stand alone os but many linux package works in termux too cause basically the android is based on linux :D so most of the package were working and the one which were not working i ditched them , also setup ed a some developer apps like lazyvim via nvim , rofi , vscode , some hardware acc tools too !! also adding the video as the demo"}, {"post_id": 8024, "ts": "2026-06-13T11:58:57Z", "hours": 7.3517, "text": "Devlog #4 — Termux Desktop No new features today — just fixing stuff that was manual hardwork Problem: The setup used one big pkg install to install everything at once. Turns out if even one package fails (like websockify hitting a bad mirror errors again and again ), the whole command dies and nothing else . What I Fixed I Split everything into two scripts: setup.sh — runs once, installs all packages one by one so a single failure doesn’t kill the rest, downloads noVNC, and sets up the home-screen widget start-desktop.sh — unchanged, just launches the desktop like before The widget thing is probably my favourite part of today. setup.sh now automatically creates the Termux:Widget shortcut, so after first-time setup you just tap a button on your home screen to start the desktop. No opening Termux, no typing. Actually plug and play now. Also rewrote the README to match all of this. What Didn’t Work Out Had an idea to build a proper Android app that wraps everything — no terminal at all. But Android sandboxes apps from each other so an APK can’t actually run pkg install inside Termux. It would’ve been a lot of work for not much gain over the widget shortcut. Dropped it. Next Testing everything on a real device tomorrow. Fingers crossed setup.sh doesn’t explode."}, {"post_id": 7379, "ts": "2026-06-12T09:38:08Z", "hours": 0.8658, "text": "Termux :Desktop devlog#3 — the big script cleanup tl;dr had two separate startup scripts doing almost the same thing and it was bothering me merged everything into one unified launcher with a proper menu (A / B / C) termux:x11 is now option A and actually works cleanly alongside the vnc stuff script auto-detects usb tethering vs wifi so you don’t have to think about it xrdp falls back to novnc automatically if usb isn’t connected (so it doesn’t just die) updated the readme to actually reflect what the project does now github: Tanmay-1122/Termux-desktop what i changed the big merge (two scripts → one) before this i had termux11start.sh for termux:x11 and start-desktop.sh for the vnc/xrdp stuff. they were basically doing the same cleanup and xfce setup steps just slightly differently. every time i wanted to fix something i had to do it twice which was annoying so i just merged them. now there’s one script that shows a menu when you run it: A) Termux:X11 — hardware-accelerated ⚡ B) noVNC — browser access (wifi) 🌐 C) xRDP — windows rdp via usb 🪟 pick your mode, it handles the rest. network detection up front script now checks for usb tethering (rndis0 / usb0) and wifi (wlan0) before showing the menu both ips are shown at the top so you know what’s available before you even pick a mode option C shows a warning in the menu itself if usb isn’t detected instead of letting you pick it and then failing shared helper function pulled the .xsession and .Xclients setup into one setup_xsession() function termux:x11 mode doesn’t need this at all (it runs on :0 not :1) so it skips it entirely vnc and xrdp both call it — no more copy-pasted code termux:x11 mode (option A) pulled the logic from termux11start.sh and cleaned it up a bit: starts pulseaudio with tcp auth so audio actually works launches termux-x11 :0 in background, waits 3 seconds calls am start to bring the x11 app to the foreground automatically sets PULSE_SERVER=127.0.0.1 and DISPLAY=:0 then launches xfce4 xrdp fallback if you pick option C but usb isn’t connected, instead of crashing or doing nothing it prints a message and automatically falls back to novnc mode after 3 seconds. small thing but made it way less frustrating to use. readme rewrite the old readme only talked about termux:x11. rewrote it to cover all three modes with: a comparison table so people can pick the right mode for their situation separate install instructions for novnc and xrdp (tigervnc, websockify, xrdp packages) a preview of what the launcher menu actually looks like connection instructions for each mode (what url to open, what app to use, etc.)"}, {"post_id": 6819, "ts": "2026-06-11T13:19:47Z", "hours": 7.3214, "text": "Devlog 2 – Added Rofi Application Launcher Today I worked on improving the usability of my Termux Desktop project by integrating Rofi as the main application launcher. Before this change, launching applications was less convenient and required navigating through menus or using terminal commands. To solve this, I added a custom Rofi setup that allows applications to be launched quickly from a clean search interface. I also created a keyboard shortcut so that pressing Super + Space instantly opens Rofi, making the desktop experience feel much more natural and efficient. While implementing Rofi, I spent time customizing its appearance and layout so that it better matches the overall desktop environment. The launcher now looks cleaner and is easier to use compared to the default configuration. One challenge during this session was finding the right balance between functionality and appearance. I experimented with different configurations before settling on a design that feels responsive and visually appealing. I am currently working on the next phase of the project. My goal is to implement noVNC and XRDP support. With noVNC, users will be able to access the Termux desktop through a web browser on any device connected to the same network. This means the desktop will not be limited to Termux:X11 and can be accessed from PCs, tablets, or other screens using only a browser. I also plan to add XRDP support, which will allow Windows users to connect directly to the Termux desktop using Remote Desktop. This should provide a smoother and more native experience while making the setup significantly more portable. In the future, I will also publish my desktop configuration files (dotfiles) on GitHub so that others can easily recreate the same setup. Overall, today’s work focused on improving accessibility and user experience, bringing the project one step closer to feeling like a complete desktop operating system rather than a Linux environment running on a phone. Rofi screenshots are attached below."}, {"post_id": 6126, "ts": "2026-06-10T09:35:58Z", "hours": 3.3372, "text": "Devlog:1 Termux Desktop Hello everyone , this is my new project (Termux Desktop) which can turn any normal android device into a full fledged linux desktop environment within few clicks , i already worked for something similar to this as my personal protect but it required lots of manual work and debugging but now in this protect i will try to automate everything and within the few clicks you will be able to turn your phone to a pc , i have lots of idea in my mind will go step by step So what i did today !!: so today i worked on setting up a very basic linux gui environment using the Termux and the Termux x11 where i was able to get the display output of the phones native Termux on the Termux x11 as shown in the image i also made a automated script to start the display x11 server automatically when run the command in the Termux’s terminal , it will automatically open the Termux x11 with the linux !"}]...
|
Title: Termux :Desktop by @Tan-May | Stardance
De Title: Termux :Desktop by @Tan-May | Stardance
Devlogs:
Devlog:1 Termux Desktop Hello everyone , this is my new project (Termux Desktop) which can turn any normal android device into a full fledged linux desktop environment within few clicks , i already worked for something similar to this as my personal protect but it required lots of manual work and debugging but now in this protect i will try to automate everything and within the few clicks you will be able to turn your phone to a pc , i have lots of idea in my mind will go step by step So what i did today !!: so today i worked on setting up a very basic linux gui environment using the Termux and the Termux x11 where i was able to get the display output of the phones native Termux on the Termux x11 as shown in the image i also made a automated script to start the display x11 server automatically when run the command in the Termux’s terminal , it will automatically open the Termux x11 with the linux !
Devlog 2 – Added Rofi Application Launcher Today I worked on improving the usability of my Termux Desktop project by integrating Rofi as the main application launcher. Before this change, launching applications was less convenient and required navigating through menus or using terminal commands. To solve this, I added a custom Rofi setup that allows applications to be launched quickly from a clean search interface. I also created a keyboard shortcut so that pressing Super + Space instantly opens Rofi, making the desktop experience feel much more natural and efficient. While implementing Rofi, I spent time customizing its appearance and layout so that it better matches the overall desktop environment. The launcher now looks cleaner and is easier to use compared to the default configuration. One challenge during this session was finding the right balance between functionality and appearance. I experimented with different configurations before settling on a design that feels responsive and visually appealing. I am currently working on the next phase of the project. My goal is to implement noVNC and XRDP support. With noVNC, users will be able to access the Termux desktop through a web browser on any device connected to the same network. This means the desktop will not be limited to Termux:X11 and can be accessed from PCs, tablets, or other screens using only a browser. I also plan to add XRDP support, which will allow Windows users to connect directly to the Termux desktop using Remote Desktop. This should provide a smoother and more native experience while making the setup significantly more portable. In the future, I will also publish my desktop configuration files (dotfiles) on GitHub so that others can easily recreate the same setup. Overall, today’s work focused on improving accessibility and user experience, bringing the project one step closer to feeling like a complete desktop operating system rather than a Linux environment running on a phone. Rofi screenshots are attached below.
Termux :Desktop devlog#3 — the big script cleanup tl;dr had two separate startup scripts doing almost the same thing and it was bothering me merged everything into one unified launcher with a proper menu (A / B / C) termux:x11 is now option A and actually works cleanly alongside the vnc stuff script auto-detects usb tethering vs wifi so you don’t have to think about it xrdp falls back to novnc automatically if usb isn’t connected (so it doesn’t just die) updated the readme to actually reflect what the project does now github: Tanmay-1122/Termux-desktop what i changed the big merge (two scripts → one) before this i had termux11start.sh for termux:x11 and start-desktop.sh for the vnc/xrdp stuff. they were basically doing the same cleanup and xfce setup steps just slightly differently. every time i wanted to fix something i had to do it twice which was annoying so i just merged them. now there’s one script that shows a menu when you run it: A) Termux:X11 — hardware-accelerated ⚡ B) noVNC — browser access (wifi) 🌐 C) xRDP — windows rdp via usb 🪟 pick your mode, it handles the rest. network detection up front script now checks for usb tethering (rndis0 / usb0) and wifi (wlan0) before showing the menu both ips are shown at the top so you know what’s available before you even pick a mode option C shows a warning in the menu itself if usb isn’t detected instead of letting you pick it and then failing shared helper function pulled the .xsession and .Xclients setup into one setup_xsession() function termux:x11 mode doesn’t need this at all (it runs on :0 not :1) so it skips it entirely vnc and xrdp both call it — no more copy-pasted code termux:x11 mode (option A) pulled the logic from termux11start.sh and cleaned it up a bit: starts pulseaudio with tcp auth so audio actually works launches termux-x11 :0 in background, waits 3 seconds calls am start to bring the x11 app to the foreground automatically sets PULSE_SERVER=127.0.0.1 and DISPLAY=:0 then launches xfce4 xrdp fallback if you pick option C but usb isn’t connected, instead of crashing or doing nothing it prints a message and automatically falls back to novnc mode after 3 seconds. small thing but made it way less frustrating to use. readme rewrite the old readme only talked about termux:x11. rewrote it to cover all three modes with: a comparison table so people can pick the right mode for their situation separate install instructions for novnc and xrdp (tigervnc, websockify, xrdp packages) a preview of what the launcher menu actually looks like connection instructions for each mode (what url to open, what app to use, etc.)
Devlog #4 — Termux Desktop No new features today — just fixing stuff that was manual hardwork Problem: The setup used one big pkg install to install everything at once. Turns out if even one package fails (like websockify hitting a bad mirror errors again and again ), the whole command dies and nothing else . What I Fixed I Split everything into two scripts: setup.sh — runs once, installs all packages one by one so a single failure doesn’t kill the rest, downloads noVNC, and sets up the home-screen widget start-desktop.sh — unchanged, just launches the desktop like before The widget thing is probably my favourite part of today. setup.sh now automatically creates the Termux:Widget shortcut, so after first-time setup you just tap a button on your home screen to start the desktop. No opening Termux, no typing. Actually plug and play now. Also rewrote the README to match all of this. What Didn’t Work Out Had an idea to build a proper Android app that wraps everything — no terminal at all. But Android sandboxes apps from each other so an APK can’t actually run pkg install inside Termux. It would’ve been a lot of work for not much gain over the widget shortcut. Dropped it. Next Testing everything on a real device tomorrow. Fingers crossed setup.sh doesn’t explode.
#The Final Devlog Riced my phone though is not a stand alone os but many linux package works in termux too cause basically the android is based on linux :D so most of the package were working and the one which were not working i ditched them , also setup ed a some developer apps like lazyvim via nvim , rofi , vscode , some hardware acc tools too !! also adding the video as the demo
final devlog i guess , okay so after the last rejection of my project , invested lots of time in reducing the installing scripts cause i saw the reviewers recording of using my project , he had to do lots of things manually like installing apps , starting desktop etc so now i made some automated scripts which will install the apps automatically , which are been divided into many other types like browsers , ai apps , ide ,etc so once the script is run , we can install multiple apps simultaneously also cherry on top i also added some themes so that the desktop will also look good im giving this project time because i will be using this project in my next project which is a cyberdeck
Ships:
I made a Linux environment inside the android phone which is actually plug and play via xrdp , novnc and the termux X11 , the project was inspiring for me because i got the laptop very late at the age , i really wanted to have a pc or a laptop but in todays gen the phone is becoming capable enough to run full desktop like env in you phone itself just plug your phone to a big monitor and you’re good to go , the challenges i faced were , 1 hardware acc so to use the phones full potential we need to enable the phones hardware acc so that the android will not kill termux that was very hard to tackle...
|
1793775121.7022438
|
1794639121.7022438
|
|
416
|
WarioWare Game by @slater | Stardance
|
slater
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @slater | Stardance
|
1793775120.7861404
|
1794379920.7861404
|
|
2449
|
JARVIS by @venkata_m | Stardance
|
venkata_m
|
1
|
185.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T03:43:55Z", "hours": 183.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a windows desktop AI assistant called JARVIS (inspired from Iron Man) with full voice responsiveness. It can control your computer, automate tasks, and works with your favorite apps! It has multi-provider support so you can just plop in a API key of your choice! The parts that were challenging were trying to maintain gpu performance with local AI models running and a whisper model for optimal experience. Another challenge was finding a provider to actually use to start testing as Im poor (I mean I have no money but my parents rich) and just cant spend money on this. Somethings people should know to test. Expect JARVIS to pickup other input if you are talking and incorrect input at times too (whisper medium is the default change to heavy for better experience though slower response). Download JARVIS setup.exe install (run as admin) and make sure to pin to desktop to make sure its always there! You can hit CTRL + SHIFT + J to open JARVIS from anywhere. Overall I think you guys will enjoy this!", "repo": "https://github.com/ONEPUNCHMAN411/Jarvis", "demo": "https://github.com/ONEPUNCHMAN411/Jarvis/releases/tag/v1.0"}]...
|
[{"post_id": 20335, "ts": "202 [{"post_id": 20335, "ts": "2026-07-01T22:14:14Z", "hours": 0.3053, "text": "Updated readme and actually made it my own (used a template before) and then clarified my ai usage in there too cuz it wasnt before. Will reship with some small changes."}, {"post_id": 15797, "ts": "2026-06-25T17:55:55Z", "hours": 1.6942, "text": "Ok so I spent a couple hours Playing with JARVIS cuz I was bored waiting for shipping review and I found out that I used the wrong SDK method for elevenlabs and I know that is a huge deal for people who want the natural JARVIS voice so I went ahead and fixed that. Also got one of the buttons fixed (mcp) because even though I thought I fixed it, it seemed to have still crashed sometimes so I went ahead and changed that. This is the LAST offical devlog hopefully I am going to reship thanks!"}, {"post_id": 14850, "ts": "2026-06-24T03:31:24Z", "hours": 10.1603, "text": "I got a really long session in but its worth it here is all of what I did (PS: this is my last devlog am shipping): Removed test files and patch files Fixed UI lag (the orb made it super laggy) Fixed crashing upon clicking mcp button Fixed Minimized window launching Fixed a lot more but those are the major ones Added direct UI calling for any ui features on your computer Thank you all for following this journey I hope you enjoy this project!"}, {"post_id": 12651, "ts": "2026-06-20T17:48:15Z", "hours": 5.0919, "text": "Got efficent work done today!: Added context window auto compaction so you have less usage but have persistent context Diff Viewer to view any changes JARVIS makes to files Dry Run tools to make sure shell commands are safe Confidence meter to show if JARVIS is sure about its answer/code Style Transfer Rewrite for all your essays and pdfs This was the first offical time JARVIS was hooked up and tested with the new features because I spent so long trying to find a free api provider and I finally did. I will now be testing and showing all features from today!"}, {"post_id": 12047, "ts": "2026-06-19T17:27:56Z", "hours": 10.3764, "text": "I didnt sleep all night for this but here is what I added: Browser bookmark imports and search capability so JARVIS can help you remember important sites Screenshot library so that JARVIS has improved context across sessions Conversation Personas so that the system prompt for JARVIS changes based on what you need Code Review Tool to help you do security, bug, and performance issues Thats it! im gon sleep now"}, {"post_id": 11708, "ts": "2026-06-19T02:11:45Z", "hours": 6.48, "text": "Got more features ! Here is what I added:: Clipboard History Manager to help you remember the thing you wanted 30 days ago Usage analytics so you can track your usage across sessions and make sure you dont get a $5000 api bill"}, {"post_id": 11383, "ts": "2026-06-18T17:01:06Z", "hours": 4.5725, "text": "JARVIS has new features! Added Folder and File cleanup feature to organize all your messes! Added Process watching so that JARVIS can keep an eye on tasks for you Thats the work for today!"}, {"post_id": 11040, "ts": "2026-06-18T02:14:11Z", "hours": 4.8919, "text": "Just got features added here is what was done: App launch sequence so you can start a set of apps depending on what you are doing Window focus history to have better context for JARVIS with the apps you are using Follow for more updates and eventually use it!"}, {"post_id": 10101, "ts": "2026-06-16T18:13:46Z", "hours": 2.2414, "text": "Made some small ui tweaks and fixed a LOT of bugs getting ready to ship in the next week or so"}, {"post_id": 9283, "ts": "2026-06-15T16:13:06Z", "hours": 6.445, "text": "Here is what I got done: Added support for app testing so JARVIS can directly test any apps you make and report back to you Added api testing support to test all your apis Added image editor so you can quick edit you photos Great day looking forward to tommorow!"}, {"post_id": 8963, "ts": "2026-06-14T22:20:52Z", "hours": 6.5175, "text": "Alright here is what was added: Postgresql query tool for all you database nerds out there Password file encryption vault for all your passwords to be stored locally and securely QR Code generator for all your needs Thats it not a lot but progress!"}, {"post_id": 8736, "ts": "2026-06-14T15:12:03Z", "hours": 5.995, "text": "Got a bunch of new features!: Added a smart scheduler program so you can have JARVIS manage time Added contact store so that JARVIS always remembers people Added region watcher so you can have jarvis monitor things while you are away Thats it for today!"}, {"post_id": 8471, "ts": "2026-06-14T02:37:12Z", "hours": 2.4428, "text": "Nothing too much for this log but here is what I added: Phone Voice commands meaning you can open the webserver of JARVIS and have it send commands on your computer or do tasks for you! Smart autofill for when you are filling forms and dont want to keep having to fill them out just fill it out once and never again! Thats it for today!"}, {"post_id": 8154, "ts": "2026-06-13T16:26:34Z", "hours": 7.3447, "text": "I added some new cool features: Global Dictation meaning you can do CTRL+SHIFT+D anywhere and speak and it will type that into the text space Workspace Layouts so you can change your workspace based on what you are doing Screen annotation so that JARVIS can basiclly doodle on your screen to show you things Added small calender to the side for easy access Thats all for today will get back tommorow!"}, {"post_id": 7566, "ts": "2026-06-12T17:26:49Z", "hours": 7.3233, "text": "UI Redesign done will be making some tweaks here and there but also added these: Blender MCP to let JARVIS control blender for you 3D creative work Slack plugin to control your team’s slack work RAG system so you can upload pdfs, docx and more to chat with Thats all for today"}, {"post_id": 6558, "ts": "2026-06-11T00:42:17Z", "hours": 6.9153, "text": "Just finished a good session here is what was added: Automatic Macro Making capabilities by jarvis as long as you describe it Scheduled prompts for repeated tasks that you want to happen at certain times Built in App Viewer so you can view the apps you developed from within jarvis Thats all for now will get back with more!"}, {"post_id": 6218, "ts": "2026-06-10T13:29:23Z", "hours": 7.2811, "text": "Alright! Here is what I got done: Added template prompt system (just to get people ideas) Added bookmark Buttons for specific conversations you may want Added auto named chat sessions so you dont have to! Thats all for right now will continue working!"}, {"post_id": 5976, "ts": "2026-06-10T00:39:16Z", "hours": 5.2711, "text": "Got some things done nothing major but here it is: Added voice memo plugins to record and manage your voice memos VIA jarvis Added Habit & Time Tracker feature for when you need to manage your behavior with JARVIS Added Discord plugin for message management especially if you want to use jarvis in a Non-Profit Situation"}, {"post_id": 5713, "ts": "2026-06-09T16:41:27Z", "hours": 8.9403, "text": "Got a lot done but definetly procrastinated too much because this should not have taken almost 9 hours. So I added a notification alert system so that JARVIS can now remind you of things from the new TO DO list feature OR the calender feature. Also added support for google calender so you can ask JARVIS to control that however you want. And finally I added a small network management system (just to find devices on your network, and be able to help you use them in a Homelab enviornment)."}, {"post_id": 5355, "ts": "2026-06-09T02:58:46Z", "hours": 8.0947, "text": "Just finished a long session but here is what I got done: Added a code executor tool so that JARVIS can directly execute any code it makes or you give it Added a context pin feature so that you can pin files, or important context to all conversations Added themes to let you customize what you do Added chat search (shouldve been here) so that you can search through all your previous chats Added media controller so that jarvis can control music and make reccomendations. Overall productive though I might take a break for 3-4 days soon"}, {"post_id": 4995, "ts": "2026-06-08T17:17:58Z", "hours": 6.7908, "text": "Got a Lot done while watching reddit stories lol! I added a pomodoro timer for students who want to use JARVIS as a study tool. Added ocr so it can read text out of images. Add image generation tab so you can generate your own custom images using dall-e 3. And also added a translate feature for all you language work! Got a lot more days of working ahead wish me good luck!"}, {"post_id": 4607, "ts": "2026-06-07T23:42:36Z", "hours": 8.5611, "text": "Got a lot of things done here! So first I made a quick usage tracker to keep track of your context window and usage on your AI provider. Second I got a browser plugin that can control a browser using playwright meaning it can use urls and use a browser as any human would. Finally, I added a camera vision feature so basiclly you can put any object on your camera (if you have one) and it will be able to tell things about it without you telling it what it is using moondream. Also built a sidepanel (not shown here) that allows you to pull up documents and images on the side of the jarvis app for quick access!"}, {"post_id": 3979, "ts": "2026-06-07T03:46:54Z", "hours": 9.9158, "text": "Just got finished working on elevenlabs compatibility so you can choose your own voice for jarvis and also added a long term memory system using chromaDB. Also added video transcription so you can drag in any file and it will transcribe it and summarize it for you."}, {"post_id": 3624, "ts": "2026-06-06T17:15:11Z", "hours": 5.2022, "text": "Added a local Moondream vision model so non-vision providers can still describe screenshots as text. Added a file converter plugin to convert, batch convert, and resize images between PNG, JPG, WEBP, BMP, TIFF, GIF, and ICO. Jarvis will be able to use these features through key words and convert and will auto use Moondream for providers without vision"}, {"post_id": 3270, "ts": "2026-06-06T03:42:51Z", "hours": 7.8389, "text": "Fixed MCP crash, added SSH manager button, built a vision bridge so blind AI providers can “see” screenshots via text descriptions, added a typing feature that pairs with vision to type things, notes plugin, system monitor, clipboard history tracker, and a conversation summarizer. Productive day."}, {"post_id": 2789, "ts": "2026-06-05T16:31:05Z", "hours": 4.8008, "text": "Finished UI and design thought Im definetly changing fonts. Now just gotta get the buttons working and we will be good until I start working on the features."}, {"post_id": 2517, "ts": "2026-06-05T01:37:56Z", "hours": 4.7686, "text": "Just finished working on a feature to connect remote SSH sessions to JARVIS so it can control your homelabs, Virtual Machines and more!"}, {"post_id": 2203, "ts": "2026-06-04T15:55:41Z", "hours": 19.0556, "text": "Made the main app and Just got mcp dev tools setup so you can attach extra tools if you want! Also made a bunch of bug patches because I realized it didnt work half the time lol."}]...
|
Title: JARVIS by @venkata_m | Stardance
Devlogs:
Title: JARVIS by @venkata_m | Stardance
Devlogs:
Made the main app and Just got mcp dev tools setup so you can attach extra tools if you want! Also made a bunch of bug patches because I realized it didnt work half the time lol.
Just finished working on a feature to connect remote SSH sessions to JARVIS so it can control your homelabs, Virtual Machines and more!
Finished UI and design thought Im definetly changing fonts. Now just gotta get the buttons working and we will be good until I start working on the features.
Fixed MCP crash, added SSH manager button, built a vision bridge so blind AI providers can “see” screenshots via text descriptions, added a typing feature that pairs with vision to type things, notes plugin, system monitor, clipboard history tracker, and a conversation summarizer. Productive day.
Added a local Moondream vision model so non-vision providers can still describe screenshots as text. Added a file converter plugin to convert, batch convert, and resize images between PNG, JPG, WEBP, BMP, TIFF, GIF, and ICO. Jarvis will be able to use these features through key words and convert and will auto use Moondream for providers without vision
Just got finished working on elevenlabs compatibility so you can choose your own voice for jarvis and also added a long term memory system using chromaDB. Also added video transcription so you can drag in any file and it will transcribe it and summarize it for you.
Got a lot of things done here! So first I made a quick usage tracker to keep track of your context window and usage on your AI provider. Second I got a browser plugin that can control a browser using playwright meaning it can use urls and use a browser as any human would. Finally, I added a camera vision feature so basiclly you can put any object on your camera (if you have one) and it will be able to tell things about it without you telling it what it is using moondream. Also built a sidepanel (not shown here) that allows you to pull up documents and images on the side of the jarvis app for quick access!
Got a Lot done while watching reddit stories lol! I added a pomodoro timer for students who want to use JARVIS as a study tool. Added ocr so it can read text out of images. Add image generation tab so you can generate your own custom images using dall-e 3. And also added a translate feature for all you language work! Got a lot more days of working ahead wish me good luck!
Just finished a long session but here is what I got done: Added a code executor tool so that JARVIS can directly execute any code it makes or you give it Added a context pin feature so that you can pin files, or important context to all conversations Added themes to let you customize what you do Added chat search (shouldve been here) so that you can search through all your previous chats Added media controller so that jarvis can control music and make reccomendations. Overall productive though I might take a break for 3-4 days soon
Got a lot done but definetly procrastinated too much because this should not have taken almost 9 hours. So I added a notification alert system so that JARVIS can now remind you of things from the new TO DO list feature OR the calender feature. Also added support for google calender so you can ask JARVIS to control that however you want. And finally I added a small network management system (just to find devices on your network, and be able to help you use them in a Homelab enviornment).
Got some things done nothing major but here it is: Added voice memo plugins to record and manage your voice memos VIA jarvis Added Habit & Time Tracker feature for when you need to manage your behavior with JARVIS Added Discord plugin for message management especially if you want to use jarvis in a Non-Profit Situation
Alright! Here is what I got done: Added template prompt system (just to get people ideas) Added bookmark Buttons for specific conversations you may want Added auto named chat sessions so you dont have to! Thats all for right now will continue working!
Just finished a good session here is what was added: Automatic Macro Making capabilities by jarvis as long as you describe it Scheduled prompts for repeated tasks that you want to happen at certain times Built in App Viewer so you can view the apps you developed from within jarvis Thats all for now will get back with more!
UI Redesign done will be making some tweaks here and there but also added these: Blender MCP to let JARVIS control blender for you 3D creative work Slack plugin to control your team’s slack work RAG system so you can upload pdfs, docx and more to chat with Thats all for today
I added some new cool features: Global Dictation meaning you can do CTRL+SHIFT+D anywhere and speak and it will type that into the text space Workspace Layouts so you can change your workspace based on what you are doing Screen annotation so that JARVIS can basiclly doodle on your screen to show you things Added small calender to the side for easy access Thats all for today will get back tommorow!
Nothing too much for this log but here is what I added: Phone Voice commands meaning you can open the webserver of JARVIS and have it send commands on your computer or do tasks for you! Smart autofill for when you are filling forms and dont want to keep having to fill them out just fill it out once and never again! Thats it for today!
Got a bunch of new features!: Added a smart scheduler program so you can have JARVIS manage time Added contact store so that JARVIS always remembers people Added region watcher so you can have jarvis monitor things while you are away Thats it for today!
Alright here is what was added: Postgresql query tool for all you database nerds out there Password file encryption vault for all your passwords to be stored locally and securely QR Code generator for all your needs Thats it not a lot but progress!
Here is what I got done: Added support for app testing so JARVIS can directly test any apps you make and report back to you Added api testing support to test all your apis Added image editor so you can quick edit you photos Great day looking forward to tommorow!
Made some small ui tweaks and fixed a LOT of bugs getting ready to ship in the next week or so
Just got features added here is what was done: App launch sequence so you can start a set of apps depending on what you are doing Window focus history to have better context for JARVIS with the apps you are using Follow for more updates and eventually use it!
JARVIS has new features! Added Folder and File cleanup feature to organize all your messes! Added Process watching so that JARVIS can keep an eye on tasks for you Thats the work for today!
Got more features ! Here is what I added:: Clipboard History Manager to help you remember the thing you wanted 30 days ago Usage analytics so you can track your usage across sessions and make sure you dont get a $5000 api bill
I didnt sleep all night for this but here is what I added: Browser bookmark imports and search capability so JARVIS can help you remember important sites Screenshot library so that JARVIS has improved context across sessions Conversation Personas so that the system prompt for JARVIS changes based on what you need Code Review Tool to help you do security, bug, and performance issues Thats it! im gon sleep now
Got efficent work done today!: Added context window auto compaction so you have less usage but have persistent context Diff Viewer to view any changes JARVIS makes to files Dry Run tools to make sure shell commands are safe Confidence meter to show if JARVIS is sure about its answer/code Style Transfer Rewrite for all your essays and pdfs This was the first offical time JARVIS was hooked up and tested with the new features because I spent so long trying to find a free api provider and I finally did. I will now be testing and showing all features from today!
I got a really long session in but its worth it here is all of what I did (PS: this is my last devlog am shipping): Removed test files and patch files Fixed UI lag (the orb made it super laggy) Fixed crashing upon clicking mcp button Fixed Minimized window launching Fixed a lot more but those are the major ones Added direct UI calling for any ui features on your computer Thank you all for following this journey I hope you enjoy this project!
Ok so I spent a couple hours Playing with JARVIS cuz I was bored waiting for shipping review and I found out that I used the wrong SDK method for elevenlabs and I know that is a huge deal for people who want the natural JARVIS voice so I went ahead and fixed that. Also got one of the buttons fixed (mcp) because even though I thought I fixed it, it seemed to have still crashed sometimes so I went ahead and changed that. This is the LAST offical devlog hopefully I am going to reship thanks!
Updated readme and actually made it my own (used a template before) and then clarified my ai usage in there too cuz it wasnt before. Will reship with some small changes.
Ships:
I made a windows desktop AI assistant called JARVIS (inspired from Iron Man) with full voice responsiveness. It can control your computer, automate tasks, and works with your favorite apps! It has multi-provider support so you can just plop in a API key of your choice! The parts that were challenging were trying to maintain gpu performance with local AI models running and a whisper model for optimal experience. Another challenge was finding a provider to actually use to start testing as Im poor (I mean I have no money but my parents rich) and just cant spend money on this. Somethings people should know to test. Expect JARVIS to pickup other input if you are talking and incorrect input at times too (whisper medium is the default change to heavy for better experience though slower response). Download JARVIS setup.exe install (run as admin) and make sure to pin to desktop to make sure its always there! You can hit CTRL + SHIFT + J to open JARVIS from anywhere. Overall I think you guys will enjoy this!...
|
1793775117.057848
|
1794639117.057848
|
|
39075
|
J.A.R.V.I.S. OS by @shivar07 | Stardance
|
shivar07
|
1
|
18.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-25T19:00:23Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i built JARVIS OS because building my own web operating system has always been my dream project inspired by Iron Man command center it features draggable glassmorphic windows a retro terminal boot sequence a custom music player with 14 tracks calculator weather HUD and live Hackatime analytics console the most challenging part was Setting up serverless functions on Netlify to scrape live Hackatime telemetry and Global leaderboard rankings in real time without proxy timeouts im super proud and emotional seeing my Dream project actually come to life and feel so alive from the Web Audio boot sounds to the neon glow animations How to test type startx on terminal screen to load the desktop drag windows around play music and check out the live leaderboards", "repo": "https://github.com/shivar07/J.A.R.V.I.S.-OS", "demo": "https://jarvis-hud-os.netlify.app/"}]...
|
[{"post_id": 35094, "ts": "202 [{"post_id": 35094, "ts": "2026-07-26T09:46:52Z", "hours": 0.0, "text": "🤖 Devlog #10: J.A.R.V.I.S. AI Integration & Chrome Browser Gateway Fix today I Upgraded the J.A.R.V.I.S. Subsystem with real AI Intelligence powered by Google Gemini via a Netlify serverless backend function now when you ask JARVIS any Question in the universe it connects directly to the neural AI core and generates Intelligent answers while Speaking them out loud with TTS voice synthesis I also Overhauled the Chrome Browser window replacing unreliable links with a custom Chrome Web Gateway dashboard that loads verified 100% iframe compatible portals like Wikipedia Hack Club Internet Archive and Open Library with a built-in search box and Readonly address bar so everything works smooth with zero Connection errors"}, {"post_id": 34757, "ts": "2026-07-25T18:51:11Z", "hours": 4.0, "text": "🚀 Devlog #9: Final Feature Showcase & Deployment Here is the complete summary of all features built into WebOS: Windows 11 Boot Animation & Spinning Ring Sequence Terminal Handshake CLI with Authentication & startx Command Frosted Glass Lock Screen & Desktop Auth Handshake Dual-Pane Start Menu with Pinned Apps & Device Link Panel Taskbar Dock with Active App Indicators & System Tray Windows 11 Quick Settings Flyout (WiFi, Bluetooth, Brightness, Volume) Interactive Calendar & Digital Clock Flyout Widget Glassmorphic Calculator with Click Audio Feedback Hackatime Analytics Console with Live Coding Hours & Language Charts Hackatime Global Leaderboards with Real-Time Ranking & Country Filtering Netlify Serverless Proxy Functions with Fast Auto-Redirect Scraping Custom Music Player with 14 Tracks, Playlists & Seek Bar Simulated Chrome Browser with Wikipedia Integration Atmospheric Weather Forecast Telemetry HUD Draggable Desktop Grid Icons with Saved Position Persistence Achievements Gallery Hub & Image Viewer J.A.R.V.I.S. Sci-Fi Audio Synthesizer & Interface Sound Effects Live Website -> https://jarvis-hud-os.netlify.app/ Github Repo Open Source for u guys -> https://github.com/shivar07/J.A.R.V.I.S.-OS Let me know any feature to add will do it .."}, {"post_id": 34586, "ts": "2026-07-25T13:15:39Z", "hours": 1.0, "text": "🌐 Devlog #8: Chrome Browser & Expanded Music Library Today I added a built-in Chrome Browser window complete with an address bar, navigation controls, and an embedded Wikipedia search and article reader interface. I also expanded the music player library with additional music tracks, custom album art thumbnails, and playlist queue controls."}, {"post_id": 34553, "ts": "2026-07-25T11:06:30Z", "hours": 1.0, "text": "🖥️ Devlog #7: Dual-Pane Start Menu & Calculator I built a dual-pane Windows 11 style Start Menu. The left pane holds pinned apps and recommended files, while the right pane has a mobile link settings configuration for Android and iOS devices. I also built a glassmorphic floating calculator with click sounds and clear operations, and updated the taskbar icons to show an active neon dot whenever an application window is open."}, {"post_id": 34526, "ts": "2026-07-25T09:52:48Z", "hours": 2.0, "text": "📊 Devlog #6: Hackatime Stats & Leaderboards I wanted to show my actual coding metrics, so today I connected the Hack Club Hackatime API to the desktop. I had to build a simple proxy to fetch the public JSON data so it wouldn’t get blocked by browser CORS restrictions. Once that was done, I designed charts showing my top languages and coding hours, and built a global leaderboard that automatically finds my profile and highlights it in a bright hot-pink glow at Rank #3."}, {"post_id": 34476, "ts": "2026-07-25T06:50:26Z", "hours": 3.0, "text": "🔐🎶 Devlog #5: Lock Screen, Taskbar & Music Player Today I worked on lock screens and music! I built a frosted glass lock screen that transitions into the desktop when you sign in, and designed a taskbar dock at the bottom of the screen. I also built a fully custom music player with play queues, seeker bars, and actual song timing updates. I loaded up 20 actual tracks instead of just chimes, and it plays really nicely."}, {"post_id": 34134, "ts": "2026-07-24T17:11:20Z", "hours": 1.0, "text": "💻 Devlog #4: Terminal Handshake & Boot CLI Right after the boot loop finishes, I made it drop into a terminal boot sequence before you can log in. I simulated scrolling text lines that look like drivers checking out and system drivers initializing, and then built a keyboard login prompt. You have to type your username, enter a password, and run a startx command to load the main desktop. It adds a really cool hacker vibe to the project."}, {"post_id": 34087, "ts": "2026-07-24T15:42:13Z", "hours": 0.0, "text": "🌀 Devlog #3: Boot Sequence & Loading Loop I wanted the WebOS to wake up with style, so today I built a loading screen that mimics a classic Windows 11 boot sequence. I designed a custom square grid logo and wrote keyframe animations in CSS to handle the spinning dot ring. In JavaScript, I added stage timers so the system boots into the next screen after a few seconds. It actually looks like a real computer booting up now."}, {"post_id": 34040, "ts": "2026-07-24T14:04:07Z", "hours": 0.0, "text": "🎨 Devlog #2: Stark Calendar Since my time management is pretty non-existent, I decided to build a custom calendar widget today. I wrote some JS logic that dynamically maps dates, and then styled the calendar grid in CSS with a frosted glass look. Hovering over a date triggers a soft cyan neon glow behind it. It looks really clean and calibrated now."}, {"post_id": 34006, "ts": "2026-07-24T12:19:33Z", "hours": 1.0, "text": "Devlog #1: Base Chassis UI Today I started working on my web-based desktop called WebOS, inspired by a sci-fi command center or HUD. I spent the day structuring the HTML layout and designing the core CSS grid so everything sits nicely. I replaced the standard background color with a glowing neon repulsor-style wallpaper to make it feel more immersive, and wrote some initial JavaScript setup code to handle showing and hiding windows later."}]...
|
Title: J.A.R.V.I.S. OS by @shivar07 | Stardance
D Title: J.A.R.V.I.S. OS by @shivar07 | Stardance
Devlogs:
Devlog #1: Base Chassis UI Today I started working on my web-based desktop called WebOS, inspired by a sci-fi command center or HUD. I spent the day structuring the HTML layout and designing the core CSS grid so everything sits nicely. I replaced the standard background color with a glowing neon repulsor-style wallpaper to make it feel more immersive, and wrote some initial JavaScript setup code to handle showing and hiding windows later.
🎨 Devlog #2: Stark Calendar Since my time management is pretty non-existent, I decided to build a custom calendar widget today. I wrote some JS logic that dynamically maps dates, and then styled the calendar grid in CSS with a frosted glass look. Hovering over a date triggers a soft cyan neon glow behind it. It looks really clean and calibrated now.
🌀 Devlog #3: Boot Sequence & Loading Loop I wanted the WebOS to wake up with style, so today I built a loading screen that mimics a classic Windows 11 boot sequence. I designed a custom square grid logo and wrote keyframe animations in CSS to handle the spinning dot ring. In JavaScript, I added stage timers so the system boots into the next screen after a few seconds. It actually looks like a real computer booting up now.
💻 Devlog #4: Terminal Handshake & Boot CLI Right after the boot loop finishes, I made it drop into a terminal boot sequence before you can log in. I simulated scrolling text lines that look like drivers checking out and system drivers initializing, and then built a keyboard login prompt. You have to type your username, enter a password, and run a startx command to load the main desktop. It adds a really cool hacker vibe to the project.
🔐🎶 Devlog #5: Lock Screen, Taskbar & Music Player Today I worked on lock screens and music! I built a frosted glass lock screen that transitions into the desktop when you sign in, and designed a taskbar dock at the bottom of the screen. I also built a fully custom music player with play queues, seeker bars, and actual song timing updates. I loaded up 20 actual tracks instead of just chimes, and it plays really nicely.
📊 Devlog #6: Hackatime Stats & Leaderboards I wanted to show my actual coding metrics, so today I connected the Hack Club Hackatime API to the desktop. I had to build a simple proxy to fetch the public JSON data so it wouldn’t get blocked by browser CORS restrictions. Once that was done, I designed charts showing my top languages and coding hours, and built a global leaderboard that automatically finds my profile and highlights it in a bright hot-pink glow at Rank #3.
🖥️ Devlog #7: Dual-Pane Start Menu & Calculator I built a dual-pane Windows 11 style Start Menu. The left pane holds pinned apps and recommended files, while the right pane has a mobile link settings configuration for Android and iOS devices. I also built a glassmorphic floating calculator with click sounds and clear operations, and updated the taskbar icons to show an active neon dot whenever an application window is open.
🌐 Devlog #8: Chrome Browser & Expanded Music Library Today I added a built-in Chrome Browser window complete with an address bar, navigation controls, and an embedded Wikipedia search and article reader interface. I also expanded the music player library with additional music tracks, custom album art thumbnails, and playlist queue controls.
🚀 Devlog #9: Final Feature Showcase & Deployment Here is the complete summary of all features built into WebOS: Windows 11 Boot Animation & Spinning Ring Sequence Terminal Handshake CLI with Authentication & startx Command Frosted Glass Lock Screen & Desktop Auth Handshake Dual-Pane Start Menu with Pinned Apps & Device Link Panel Taskbar Dock with Active App Indicators & System Tray Windows 11 Quick Settings Flyout (WiFi, Bluetooth, Brightness, Volume) Interactive Calendar & Digital Clock Flyout Widget Glassmorphic Calculator with Click Audio Feedback Hackatime Analytics Console with Live Coding Hours & Language Charts Hackatime Global Leaderboards with Real-Time Ranking & Country Filtering Netlify Serverless Proxy Functions with Fast Auto-Redirect Scraping Custom Music Player with 14 Tracks, Playlists & Seek Bar Simulated Chrome Browser with Wikipedia Integration Atmospheric Weather Forecast Telemetry HUD Draggable Desktop Grid Icons with Saved Position Persistence Achievements Gallery Hub & Image Viewer J.A.R.V.I.S. Sci-Fi Audio Synthesizer & Interface Sound Effects Live Website -> https://jarvis-hud-os.netlify.app/ Github Repo Open Source for u guys -> https://github.com/shivar07/J.A.R.V.I.S.-OS Let me know any feature to add will do it ..
🤖 Devlog #10: J.A.R.V.I.S. AI Integration & Chrome Browser Gateway Fix today I Upgraded the J.A.R.V.I.S. Subsystem with real AI Intelligence powered by Google Gemini via a Netlify serverless backend function now when you ask JARVIS any Question in the universe it connects directly to the neural AI core and generates Intelligent answers while Speaking them out loud with TTS voice synthesis I also Overhauled the Chrome Browser window replacing unreliable links with a custom Chrome Web Gateway dashboard that loads verified 100% iframe compatible portals like Wikipedia Hack Club Internet Archive and Open Library with a built-in search box and Readonly address bar so everything works smooth with zero Connection errors
Ships:
i built JARVIS OS because building my own web operating system has always been my dream project inspired by Iron Man command center it features draggable glassmorphic windows a retro terminal boot sequence a custom music player with 14 tracks calculator weather HUD and live Hackatime analytics console the most challenging part was Setting up serverless functions on Netlify to scrape live Hackatime telemetry and Global leaderboard rankings in real time without proxy timeouts im super proud and emotional seeing my Dream project actually come to life and feel so alive from the Web Audio boot sounds to the neon glow animations How to test type startx on terminal screen to load the desktop drag windows around play music and check out the live leaderboards...
|
1793775116.212516
|
1794639116.212516
|
|
43125
|
webOS-1 by @HimanshuPratap | Stardance
|
HimanshuPratap
|
1
|
9.12
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T08:42:03Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "The goal was to create a small desktop environment that runs directly in a web browser. Features Simple desktop interface Top system bar with live clock Taskbar Start menu Files application Notes application Settings application Multiple draggable windows Notes auto-save using browser localStorage No login or password required", "repo": "https://github.com/CoderPratap-dev/webOS-1", "demo": "https://coderpratap-dev.github.io/webOS-1/"}]...
|
[{"post_id": 63007, "ts": "202 [{"post_id": 63007, "ts": "2026-09-06T15:57:41Z", "hours": 5.1219, "text": "working on this project again"}, {"post_id": 43162, "ts": "2026-08-08T08:36:37Z", "hours": 0.6681, "text": "Final Submission i have add the draggable windows with multi windows and autosaving system in notes"}, {"post_id": 43137, "ts": "2026-08-08T07:27:37Z", "hours": 1.3261, "text": "added all icon working"}, {"post_id": 40254, "ts": "2026-08-03T17:36:14Z", "hours": 2.0986, "text": "created the basic structure of web os + i have add the local storage system for notes"}]...
|
Title: webOS-1 by @HimanshuPratap | Stardance
Dev Title: webOS-1 by @HimanshuPratap | Stardance
Devlogs:
created the basic structure of web os + i have add the local storage system for notes
added all icon working
Final Submission i have add the draggable windows with multi windows and autosaving system in notes
working on this project again
Ships:
The goal was to create a small desktop environment that runs directly in a web browser. Features Simple desktop interface Top system bar with live clock Taskbar Start menu Files application Notes application Settings application Multiple draggable windows Notes auto-save using browser localStorage No login or password required...
|
1793775113.434259
|
1794639113.434259
|
|
32631
|
Pulse Jet Engine by @Domotux | Stardance
|
Domotux
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Pulse Jet Engine by @Domotux | Stardance
|
1793775110.575437
|
1794379910.575437
|