|
436
|
My first slack bot! by @2toesjhooney | Stardance
|
2toesjhooney
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @2toesjhooney | Star Title: My first slack bot! by @2toesjhooney | Stardance...
|
1792662457.545779
|
1793267257.545779
|
|
435
|
nuh uh by @Baton | Stardance
|
Baton
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: nuh uh by @Baton | Stardance
|
1792914736.6741977
|
1793778736.6741977
|
|
434
|
Untitled project by @weeewwwwwwww | Stardance
|
weeewwwwwwww
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @weeewwwwwwww | Stardan Title: Untitled project by @weeewwwwwwww | Stardance...
|
1792695223.475184
|
1793300023.475184
|
|
433
|
Nirdesh os by @baikuntayk | Stardance
|
baikuntayk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Nirdesh os by @baikuntayk | Stardance
|
1792558524.2065
|
1793163324.2065
|
|
432
|
My first slack bot! by @muhammedanasyt | Stardance
|
muhammedanasyt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @muhammedanasyt | St Title: My first slack bot! by @muhammedanasyt | Stardance...
|
1792518728.461219
|
1793123528.461219
|
|
431
|
Deskime by @jonathan_e | Stardance
|
jonathan_e
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Deskime by @jonathan_e | Stardance
|
1792540516.4426737
|
1793145316.4426737
|
|
430
|
StarLinks by @Suryansh-Mishra | Stardance
|
Suryansh-Mishra
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: StarLinks by @Suryansh-Mishra | Stardance
|
1792774190.2906423
|
1793378990.2906423
|
|
429
|
High Roller by @sri2arul | Stardance
|
sri2arul
|
1
|
15.17
|
18
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T13:21:38Z", "hours": 6.0, "multiplier": 2.95, "payout": 18, "blessing": "neutral", "text": "My game is High Roller. High Roller is a game inspired by Drive Mad Aesthetics and those flipping games. You launch a six-sided dice off of a platform and try to land it as PERFECT as possible. The most challenging part for me was to start back on it after making it earlier for HCTG. I’m proud of the work and time I’ve put in and how I’m still dedicated to my project.", "repo": "https://github.com/sri2arul/high-roller", "demo": "https://fdqifbudy.itch.io/high-roller"}]...
|
[{"post_id": 73382, "ts": "202 [{"post_id": 73382, "ts": "2026-09-25T01:29:27Z", "hours": 5.0242, "text": "okay this was a long one and it was mainly fixing up my code, my spawnpoint stopped working again after a tweak to map, you can land on all 4 sides now (bug), levels slide thru properly, fixed spec level achievments, and now the only thing is to make ui, 3d assets and ux and then done (or if i wanna add a shop) ((and that other thing)) and ive had problems with godot super waka waka aii aii so there that picture"}, {"post_id": 61871, "ts": "2026-09-05T00:49:27Z", "hours": 2.9697, "text": "(i forgor bout devving) okay so what i did is that i made the new map and polished it to my ability and after that i set up the levels for each by creating level platforms, copying them on each level 6-10, added the map to each one, and then setting and rotating and yeah putting them in the place they need to be - going to a random ahh cabin this weekend so hoping that i can keep that sticky streak"}, {"post_id": 22247, "ts": "2026-07-04T16:46:50Z", "hours": 1.1781, "text": "okay so updated the readme after i shipped like a week ago and today i just created the basis for my world two and spent like two hours making the map on blender(theme anartic base (forgot to press record so here i am ahhh)) not finished tho and lotto bugs but tomm il fix so yay"}, {"post_id": 16142, "ts": "2026-06-26T07:29:02Z", "hours": 0.9244, "text": "fixed spec goals liek a lot (made diff ones bc the earler models were ehh and implemented them onto the ui)so yay prob gonna ship v1 now before i make the 75 lvls and art for everything (i hope) but yayay"}, {"post_id": 8311, "ts": "2026-06-13T20:28:08Z", "hours": 0.3344, "text": "faa so im doing this jst to get to 5 hrs this week so rn what i did in this spare time is i started and locked in the special goals functions and got them to work but its jst code so the user has no idea how to get them and what they are so ill work on that next and TODO:"}, {"post_id": 7641, "ts": "2026-06-12T19:24:50Z", "hours": 1.2794, "text": "so today i overhauled best scores by first allowing them to load without overloading them in winscr so they popped up after i finished a level and then i made a bar at the bottom of the level that lets u look at your high score for each level and i left that there but i thought of a better way to show best score so i made it so when u hover over the button it shows your best and then wait half a sec before closing then to make it to an hour i added also the bsgds to that so that when u complete a point goal it shows up as complete and yea sooooo TODO ( not on the thing agaiinnnnn :0 )and a horrible crooping job pic :))))"}, {"post_id": 6541, "ts": "2026-06-10T23:59:47Z", "hours": 1.0614, "text": "okay today i first fixed a bug abt only having coinlbl (the thing that shows coins) on level select and not on the levels too so i added a global ui and made an entire new coin label that i added a png to for like coin and allat and then i fixed up a problem with the bsgds and because i do an hour at least a day i jst whipped up pngs for each of the bsgds so that they show when you havent completed them it shows the coin but when you did complete them they dissapear and give you coins (for bsgd, b=5,s=10,g=15, and d=20) and yea and so TODO(pluh none of this was on the todo), the pic of it working before today (for ysterday),and then today w/h the new stuff all in one pic"}, {"post_id": 5956, "ts": "2026-06-09T23:39:20Z", "hours": 1.2856, "text": "devlog 2- so yea started on points and got them connected and persistant so i moved to creating b/s/g/d goals that connected to coins and greyed out when finished and that worked out too! and so TODO and pic of the bronze/silver/gold/diamond function working"}, {"post_id": 4323, "ts": "2026-06-07T16:16:03Z", "hours": 1.1842, "text": "so yea starting on ts again after hctg so jst started by fixing bugs in settings and adding musica and yeah so TODO:"}]...
|
Title: High Roller by @sri2arul | Stardance
Devlo Title: High Roller by @sri2arul | Stardance
Devlogs:
so yea starting on ts again after hctg so jst started by fixing bugs in settings and adding musica and yeah so TODO:
devlog 2- so yea started on points and got them connected and persistant so i moved to creating b/s/g/d goals that connected to coins and greyed out when finished and that worked out too! and so TODO and pic of the bronze/silver/gold/diamond function working
okay today i first fixed a bug abt only having coinlbl (the thing that shows coins) on level select and not on the levels too so i added a global ui and made an entire new coin label that i added a png to for like coin and allat and then i fixed up a problem with the bsgds and because i do an hour at least a day i jst whipped up pngs for each of the bsgds so that they show when you havent completed them it shows the coin but when you did complete them they dissapear and give you coins (for bsgd, b=5,s=10,g=15, and d=20) and yea and so TODO(pluh none of this was on the todo), the pic of it working before today (for ysterday),and then today w/h the new stuff all in one pic
so today i overhauled best scores by first allowing them to load without overloading them in winscr so they popped up after i finished a level and then i made a bar at the bottom of the level that lets u look at your high score for each level and i left that there but i thought of a better way to show best score so i made it so when u hover over the button it shows your best and then wait half a sec before closing then to make it to an hour i added also the bsgds to that so that when u complete a point goal it shows up as complete and yea sooooo TODO ( not on the thing agaiinnnnn :0 )and a horrible crooping job pic :))))
faa so im doing this jst to get to 5 hrs this week so rn what i did in this spare time is i started and locked in the special goals functions and got them to work but its jst code so the user has no idea how to get them and what they are so ill work on that next and TODO:
fixed spec goals liek a lot (made diff ones bc the earler models were ehh and implemented them onto the ui)so yay prob gonna ship v1 now before i make the 75 lvls and art for everything (i hope) but yayay
okay so updated the readme after i shipped like a week ago and today i just created the basis for my world two and spent like two hours making the map on blender(theme anartic base (forgot to press record so here i am ahhh)) not finished tho and lotto bugs but tomm il fix so yay
(i forgor bout devving) okay so what i did is that i made the new map and polished it to my ability and after that i set up the levels for each by creating level platforms, copying them on each level 6-10, added the map to each one, and then setting and rotating and yeah putting them in the place they need to be - going to a random ahh cabin this weekend so hoping that i can keep that sticky streak
okay this was a long one and it was mainly fixing up my code, my spawnpoint stopped working again after a tweak to map, you can land on all 4 sides now (bug), levels slide thru properly, fixed spec level achievments, and now the only thing is to make ui, 3d assets and ux and then done (or if i wanna add a shop) ((and that other thing)) and ive had problems with godot super waka waka aii aii so there that picture
Ships:
My game is High Roller. High Roller is a game inspired by Drive Mad Aesthetics and those flipping games. You launch a six-sided dice off of a platform and try to land it as PERFECT as possible. The most challenging part for me was to start back on it after making it earlier for HCTG. I’m proud of the work and time I’ve put in and how I’m still dedicated to my project....
|
1792968498.156432
|
1793054898.156432
|
|
428
|
Frictionless by @stolen_username | Stardance
|
stolen_username
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @stolen_username | Stardanc Title: Frictionless by @stolen_username | Stardance...
|
1792626845.6380575
|
1793231645.6380575
|
|
427
|
beaconn by @r | Stardance
|
r
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: beaconn by @r | Stardance
|
1792742028.807482
|
1793346828.807482
|
|
426
|
ai pandas by @heonaliu | Stardance
|
heonaliu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ai pandas by @heonaliu | Stardance
|
1792594339.7583644
|
1793199139.7583644
|
|
425
|
My first slack bot! by @Hasnat | Stardance
|
Hasnat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Hasnat | Stardance
|
1792597639.821464
|
1793202439.821464
|
|
424
|
UI webpage by @kartik7385 | Stardance
|
kartik7385
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: UI webpage by @kartik7385 | Stardance
|
1792702245.7889597
|
1793307045.7889597
|
|
423
|
D.A.N.T.E. by @Dominic | Stardance
|
Dominic
|
0
|
5.12
|
0
|
[]
|
[{"post_id": 23120, "ts": "202 [{"post_id": 23120, "ts": "2026-07-05T21:42:39Z", "hours": 1.2953, "text": "I have now added OpenAI API support to D.A.N.T.E.! You can now use an OpenAI API key, Openrouter API key, HCAI key (in theory only – its technically against terms of use) and any other OpenAI API-compatible schema!"}, {"post_id": 16523, "ts": "2026-06-26T21:41:08Z", "hours": 0.7372, "text": "Added some documentation! There is now a new docs folder, which currently contains documentation only for think.py. I plan to add more docs as I build the project!"}, {"post_id": 16498, "ts": "2026-06-26T20:54:03Z", "hours": 1.6367, "text": "Today I added support for Ollama cloud models! I’ve been designing the program to be modular, in a sense. The program will define functions differently based on your setup. What this added abstraction layer does, however, is allow people to easily switch back and forth between systems with minimal friction. You can see in the screenshot below the getResponse() function. This is universal (or at least it will be when I finish) across all model configurations, meaning that you could even add your own model configuration simply by finding its API schema and adding it here!"}, {"post_id": 14701, "ts": "2026-06-23T21:58:23Z", "hours": 0.5692, "text": "I did some graphics work (in photoshop, which i get no hackatime credit for ☹️) and added the taskbar icon logic for everything except macOS. This is because I’m on Windows and can’t generate a .icns file right now, but I’ll get around to it later."}, {"post_id": 10874, "ts": "2026-06-17T20:34:53Z", "hours": 0.8825, "text": "I did some structuring work on the project! I’ve decided to use pywebview as the gui and python as the backend. I began implementing pywebview using a simple index.html but I wasn’t able to get it to work yet."}]...
|
Title: D.A.N.T.E. by @Dominic | Stardance
Devlogs Title: D.A.N.T.E. by @Dominic | Stardance
Devlogs:
I did some structuring work on the project! I’ve decided to use pywebview as the gui and python as the backend. I began implementing pywebview using a simple index.html but I wasn’t able to get it to work yet.
I did some graphics work (in photoshop, which i get no hackatime credit for ☹️) and added the taskbar icon logic for everything except macOS. This is because I’m on Windows and can’t generate a .icns file right now, but I’ll get around to it later.
Today I added support for Ollama cloud models! I’ve been designing the program to be modular, in a sense. The program will define functions differently based on your setup. What this added abstraction layer does, however, is allow people to easily switch back and forth between systems with minimal friction. You can see in the screenshot below the getResponse() function. This is universal (or at least it will be when I finish) across all model configurations, meaning that you could even add your own model configuration simply by finding its API schema and adding it here!
Added some documentation! There is now a new docs folder, which currently contains documentation only for think.py. I plan to add more docs as I build the project!
I have now added OpenAI API support to D.A.N.T.E.! You can now use an OpenAI API key, Openrouter API key, HCAI key (in theory only – its technically against terms of use) and any other OpenAI API-compatible schema!...
|
1792605306.6664999
|
1793210106.6664999
|
|
422
|
OSPedia by @Keyboard1000n17 | Stardance
|
Keyboard1000n17
|
0
|
32.61
|
0
|
[]
|
[{"post_id": 54415, "ts": "202 [{"post_id": 54415, "ts": "2026-08-25T12:48:17Z", "hours": 6.8217, "text": "finished hardy heron article its been a month since my last devlog, and that’s because i’ve been focusing more on my other project. it takes a lot of time to write these articles! i hope i can do this faster cuz its too time-consuming anyways, i’ve completed the hardy heron article and updated some information! Changelog ( 3003ef9 ) Finish Hardy Heron article ( 5332bcb ) Update macOS Tahoe info ( e194a23 ) Add 6 lines to Hardy Heron article ( e4909df ) Start work on Hardy Heron article, update/fix some information"}, {"post_id": 33992, "ts": "2026-07-24T11:51:41Z", "hours": 6.5119, "text": "finished gutsy gibbon article this is really not good. if it takes this long to do one article… i still have 36 articles left. if i need like 5 hours for each article, that’s 180 hours well this won’t be fun. im going to create a template for this then, should make it easier. this devlog is supposed to be short, yes, literally nothing else Changelog ( 104ae23 ) Finish Gutsy Gibbon article"}, {"post_id": 24942, "ts": "2026-07-08T20:33:43Z", "hours": 4.3714, "text": "sheesh!!! this was quite a bit of work, so i’ll use a bunch of paragraphs here: first thing is, i found a way to deal with the logo. you see, by default, the logos are in light mode, having black text, but in dark mode, that black text cannot be seen, as a result, i need to change the logo in dark mode. however, i had no idea how to do this without using javascript. see, if the user has javascript disabled, then the logo won’t change and it’ll just be an ugly thing. but i found out (using google’s ai mode) that i can use this css property called content , and set it to the url of the dark mode logo in dark mode! so i don’t need javascript for that then. next, i actually did the macOS golden gate article, though i have to put some stuff for the infobox and put the logo. third, i was lurking around in the macondo chat when someone sent a link to this icon set called lucide and HOLY SHIT their icons are SO good, so i got a few of those icons and used them in the bottom bar AND THEY LOOK GORGEUS ÆÆÆÆÆÆÆÆÆÆÆ fourth, i changed some breakpoints, though i still have to fix some i’ll get to it next week tho (see below) finally, i fixed a bunch of problems with the bottom bar. you see, for some reason, the bottom bar itself was 5rem high, but the content stretched outside it. after a half hour or so of debugging, i figured that the images were the problem. after another hour or so of debugging, i eventually asked chatgpt, and finally found (after another half an hour ) that min-height: 0; on the div elements fixed the problem. i also made it so that the bar looked like a beautiful island instead of an ugly bar like it was before. i actually came up with this bottom bar in a rush back in flavortown before shipping at the end of the event what’s next? i have to do this stuff in the immediate future: add the macOS golden gate logo and infobox change the bottom bar into a menu that opens when you press a button (with animations!) update the macOS sequoia article (i noticed i haven’t updated the beginning paragraphs ACTUALLY fix the breakpoints (they still broken as heil) finish the ubuntu articles (i have 32 left ) as for further plans: i want to remove the background pictures, they’re not great also, i need to add a modal to change themes, speaking of which, i need to write some javascript to change themes too. it’ll just save the class name of the theme to localstorage, should do well. adding more operating systems is on my list, and the next ones i have in mind are debian and arch linux. there’s many more things that i’ll do one day… Changelog ( 3731fd4 ) Fix and update CSS ( 27fa15c ) Change breakpoints ( 40da941 ) Switch to icons from https://lucide.dev ( e04ba41 ) Finish macOS Golden Gate article ( 04a8436 ) Fix problems with logo disply in dark mode that was so long, holy shit anyways, i’ll be back to working on my other projects! specifically, remder , you should follow it i will still be working on this, but not as much for a week or two. i also really need to go back to [amethystOS]( https://stardance.hackclub.com/projects/5560 wait you actually read all that? damn, ty!"}, {"post_id": 24036, "ts": "2026-07-07T10:02:18Z", "hours": 5.2575, "text": "ok so i didn’t do the golden gate article, but who cares? i’ve revamped the styling system ! now i can easily change styles and add new themes using css variables! here’s a list of the benefits this provides: easier theme selection : while i do need to fix my javascript to use this new system and add a modal for selecting themes, this paves the way for a much more robust system! you see, this works by adding a class to the <body> element which has a bunch of css variables defined, so i can just store the class name in localStorage and then add that class to the body element easier updating of styles : now all the styles are defined in mixins, and these mixins reflect the purpose of the styles inside them. not only that, if i add a new section that requires custom styles (like i did for the demos), i can easily define a mixin with an appropiate name, import that into a separate .scss file, and add it in the eleventy template themes themes themes : all the themes! all i need to do to add a new theme is to define these variables: --doc-bg-color : rgba ( 255 , 255 , 255 , 0 .75 ) ; --background-color : rgba ( 255 , 255 , 255 , 0 .75 ) ; --text-color : black ; --padding : 15px ; --link-color : #002dc9 ; --link-hover-color : #665cc9 ; --border-radius : 15px ; --border : none ; --backdrop-filter : blur ( 5px ) ; --vh : 99dvh ; and if a theme isn’t going to change one of these variables, it just doesn’t define its own value. these are the default values for these variables now all i have to do is add the modal and actually do the macos golden gate article also, i registered a subdomain for the unstable branch, so now you can see the borked stuff on https://unstable.ospedia.site !!!!!! tl;dr new styling system very fun, very easy new subdomain for unstable branch must do modal & macOS golden gate article Changelog ( c43a3ba ) Refactor SCSS"}, {"post_id": 22328, "ts": "2026-07-04T18:59:54Z", "hours": 1.8983, "text": "hi guys! it’s been two weeks, but there isn’t much to say here. all i did was make the page for macOS golden gate add a badge to the readme that shows how long i’ve spent on the website according to hackatime (inaccurate, i’ve spent at least another 200 hours that didn’t get tracked) finish the feisty fawn article next thing i’m doing is the golden gate article, it shouldn’t be too hard since the page is on wikipedia. besides that, i’m also going to revamp the styling system, it’s really bloated and confusing rn visit the page i finished at https://unstable--ospedia.netlify.app/ubuntu/7.04-feisty-fawn ! Changelog ( 17c377f ) Finish Feisty Fawn article ( 89d439a ) Update pnpm packages ( 52aaaa7 ) Add badge ( 5aff0fe ) Add badge ( 6a1f941 ) Add macOS Golden Gate article"}, {"post_id": 13258, "ts": "2026-06-21T18:26:26Z", "hours": 3.1864, "text": "feisty fawn 🔥 aAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAa help me its so annoying to do this most of this was on the linux kernel 2.6.20 section of the feisty fawn article which took a while because the release notes were gigantic and i gave up doing it because what the fuck i spent like 5 minutes on the GCC section of the article because most of it was explained in the previous article and gcc 4.1.2 was a minor update i also added support for subsubsubheadings (level 4 headings) and subsubsubsubheadings (level 5 headings) and they now show up in the contents sidebar stuff i gotta do: add the xubuntu, kubuntu, edubuntu and release announcements sections to the article ( :im-fucking-sobbing: ) add the macos golden gate article still need those performance improvements still need to add those collapsible stuff, see previous devlog anyways, go see my still unfinished article on my site ! Changelog ( 99ff492 ) Work even more on Feisty Fawn article ( 7c175c8 ) More work on Feisty Fawn article"}, {"post_id": 12127, "ts": "2026-06-19T20:20:07Z", "hours": 2.1928, "text": "ubuntu feisty fawn 🔥 i did some work on ospedia for once! i started working on the ubuntu 7.04 article. you see, writing articles is quite a bit of work since you have to do a bunch of research and in my case, explain a bunch of technical terms. for example, i have to try my best to explain the introduction of kvm in linux kernel 2.6.20 because that’s the version ubuntu 7.04 shipped with. i also have to try explaining the release notes for the kernel at a high level because its supposed to be a wiki that explains a bunch of stuff like this. stuff i have to do: add a macos golden gate article: it was announced like a week ago i also have to do some performance improvements, i’m terrible when it comes to writing performant code i need to add a collapsible thing for the sub-headings because the contents thing can get really long, there can be a lot of stuff anyways, you can check out the unfinished article at https://unstable–ospedia.netlify.app/ubuntu/7.04-feisty-fawn Changelog b15af67 : Start work on Feisty Fawn"}, {"post_id": 4513, "ts": "2026-06-07T21:02:12Z", "hours": 0.9161, "text": "optimized themes.js ! i also did a bunch of other stuff but i don’t remember what i did anyways i switched from using cookies to using session storage for the theme because fast"}, {"post_id": 1037, "ts": "2026-06-02T20:31:56Z", "hours": 0.465, "text": "i updated some info on the site! macOS sequoia and tahoe have had updates since i last checked, and i updated the releases.json files for both versions! don’t know why it took so long tho i got a LOT of stuff to do, and i honestly don’t feel like starting another article, but i have to"}, {"post_id": 103, "ts": "2026-05-31T18:50:55Z", "hours": 0.9928, "text": "hey guys! hi guys! it’s time for ospedia: season 3!!! not much has actually changed since the end of flavortown, except for information and style updates. besides those, literally nothing has happened. however, the information updates include these: completion of the articles for ubuntu 6.06 lts and 6.10 update of the releases list for macos sequoia and tahoe added blockquote styling contributors’ list in readme! protip: if you don’t see changes on the main site, that’s because development happens on the unstable branch, which deploys to https://unstable--ospedia.netlify.app ! get ready to see ubuntu articles by the end of stardance!"}]...
|
Title: OSPedia by @Keyboard1000n17 | Stardance
De Title: OSPedia by @Keyboard1000n17 | Stardance
Devlogs:
hey guys! hi guys! it’s time for ospedia: season 3!!! not much has actually changed since the end of flavortown, except for information and style updates. besides those, literally nothing has happened. however, the information updates include these: completion of the articles for ubuntu 6.06 lts and 6.10 update of the releases list for macos sequoia and tahoe added blockquote styling contributors’ list in readme! protip: if you don’t see changes on the main site, that’s because development happens on the unstable branch, which deploys to https://unstable--ospedia.netlify.app ! get ready to see ubuntu articles by the end of stardance!
i updated some info on the site! macOS sequoia and tahoe have had updates since i last checked, and i updated the releases.json files for both versions! don’t know why it took so long tho i got a LOT of stuff to do, and i honestly don’t feel like starting another article, but i have to
optimized themes.js ! i also did a bunch of other stuff but i don’t remember what i did anyways i switched from using cookies to using session storage for the theme because fast
ubuntu feisty fawn 🔥 i did some work on ospedia for once! i started working on the ubuntu 7.04 article. you see, writing articles is quite a bit of work since you have to do a bunch of research and in my case, explain a bunch of technical terms. for example, i have to try my best to explain the introduction of kvm in linux kernel 2.6.20 because that’s the version ubuntu 7.04 shipped with. i also have to try explaining the release notes for the kernel at a high level because its supposed to be a wiki that explains a bunch of stuff like this. stuff i have to do: add a macos golden gate article: it was announced like a week ago i also have to do some performance improvements, i’m terrible when it comes to writing performant code i need to add a collapsible thing for the sub-headings because the contents thing can get really long, there can be a lot of stuff anyways, you can check out the unfinished article at https://unstable–ospedia.netlify.app/ubuntu/7.04-feisty-fawn Changelog b15af67 : Start work on Feisty Fawn
feisty fawn 🔥 aAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAa help me its so annoying to do this most of this was on the linux kernel 2.6.20 section of the feisty fawn article which took a while because the release notes were gigantic and i gave up doing it because what the fuck i spent like 5 minutes on the GCC section of the article because most of it was explained in the previous article and gcc 4.1.2 was a minor update i also added support for subsubsubheadings (level 4 headings) and subsubsubsubheadings (level 5 headings) and they now show up in the contents sidebar stuff i gotta do: add the xubuntu, kubuntu, edubuntu and release announcements sections to the article ( :im-fucking-sobbing: ) add the macos golden gate article still need those performance improvements still need to add those collapsible stuff, see previous devlog anyways, go see my still unfinished article on my site ! Changelog ( 99ff492 ) Work even more on Feisty Fawn article ( 7c175c8 ) More work on Feisty Fawn article
hi guys! it’s been two weeks, but there isn’t much to say here. all i did was make the page for macOS golden gate add a badge to the readme that shows how long i’ve spent on the website according to hackatime (inaccurate, i’ve spent at least another 200 hours that didn’t get tracked) finish the feisty fawn article next thing i’m doing is the golden gate article, it shouldn’t be too hard since the page is on wikipedia. besides that, i’m also going to revamp the styling system, it’s really bloated and confusing rn visit the page i finished at https://unstable--ospedia.netlify.app/ubuntu/7.04-feisty-fawn ! Changelog ( 17c377f ) Finish Feisty Fawn article ( 89d439a ) Update pnpm packages ( 52aaaa7 ) Add badge ( 5aff0fe ) Add badge ( 6a1f941 ) Add macOS Golden Gate article
ok so i didn’t do the golden gate article, but who cares? i’ve revamped the styling system ! now i can easily change styles and add new themes using css variables! here’s a list of the benefits this provides: easier theme selection : while i do need to fix my javascript to use this new system and add a modal for selecting themes, this paves the way for a much more robust system! you see, this works by adding a class to the <body> element which has a bunch of css variables defined, so i can just store the class name in localStorage and then add that class to the body element easier updating of styles : now all the styles are defined in mixins, and these mixins reflect the purpose of the styles inside them. not only that, if i add a new section that requires custom styles (like i did for the demos), i can easily define a mixin with an appropiate name, import that into a separate .scss file, and add it in the eleventy template themes themes themes : all the themes! all i need to do to add a new theme is to define these variables: --doc-bg-color : rgba ( 255 , 255 , 255 , 0 .75 ) ; --background-color : rgba ( 255 , 255 , 255 , 0 .75 ) ; --text-color : black ; --padding : 15px ; --link-color : #002dc9 ; --link-hover-color : #665cc9 ; --border-radius : 15px ; --border : none ; --backdrop-filter : blur ( 5px ) ; --vh : 99dvh ; and if a theme isn’t going to change one of these variables, it just doesn’t define its own value. these are the default values for these variables now all i have to do is add the modal and actually do the macos golden gate article also, i registered a subdomain for the unstable branch, so now you can see the borked stuff on https://unstable.ospedia.site !!!!!! tl;dr new styling system very fun, very easy new subdomain for unstable branch must do modal & macOS golden gate article Changelog ( c43a3ba ) Refactor SCSS
sheesh!!! this was quite a bit of work, so i’ll use a bunch of paragraphs here: first thing is, i found a way to deal with the logo. you see, by default, the logos are in light mode, having black text, but in dark mode, that black text cannot be seen, as a result, i need to change the logo in dark mode. however, i had no idea how to do this without using javascript. see, if the user has javascript disabled, then the logo won’t change and it’ll just be an ugly thing. but i found out (using google’s ai mode) that i can use this css property called content , and set it to the url of the dark mode logo in dark mode! so i don’t need javascript for that then. next, i actually did the macOS golden gate article, though i have to put some stuff for the infobox and put the logo. third, i was lurking around in the macondo chat when someone sent a link to this icon set called lucide and HOLY SHIT their icons are SO good, so i got a few of those icons and used them in the bottom bar AND THEY LOOK GORGEUS ÆÆÆÆÆÆÆÆÆÆÆ fourth, i changed some breakpoints, though i still have to fix some i’ll get to it next week tho (see below) finally, i fixed a bunch of problems with the bottom bar. you see, for some reason, the bottom bar itself was 5rem high, but the content stretched outside it. after a half hour or so of debugging, i figured that the images were the problem. after another hour or so of debugging, i eventually asked chatgpt, and finally found (after another half an hour ) that min-height: 0; on the div elements fixed the problem. i also made it so that the bar looked like a beautiful island instead of an ugly bar like it was before. i actually came up with this bottom bar in a rush back in flavortown before shipping at the end of the event what’s next? i have to do this stuff in the immediate future: add the macOS golden gate logo and infobox change the bottom bar into a menu that opens when you press a button (with animations!) update the macOS sequoia article (i noticed i haven’t updated the beginning paragraphs ACTUALLY fix the breakpoints (they still broken as heil) finish the ubuntu articles (i have 32 left ) as for further plans: i want to remove the background pictures, they’re not great also, i need to add a modal to change themes, speaking of which, i need to write some javascript to change themes too. it’ll just save the class name of the theme to localstorage, should do well. adding more operating systems is on my list, and the next ones i have in mind are debian and arch linux. there’s many more things that i’ll do one day… Changelog ( 3731fd4 ) Fix and update CSS ( 27fa15c ) Change breakpoints ( 40da941 ) Switch to icons from https://lucide.dev ( e04ba41 ) Finish macOS Golden Gate article ( 04a8436 ) Fix problems with logo disply in dark mode that was so long, holy shit anyways, i’ll be back to working on my other projects! specifically, remder , you should follow it i will still be working on this, but not as much for a week or two. i also really need to go back to [amethystOS]( https://stardance.hackclub.com/projects/5560 wait you actually read all that? damn, ty!
finished gutsy gibbon article this is really not good. if it takes this long to do one article… i still have 36 articles left. if i need like 5 hours for each article, that’s 180 hours well this won’t be fun. im going to create a template for this then, should make it easier. this devlog is supposed to be short, yes, literally nothing else Changelog ( 104ae23 ) Finish Gutsy Gibbon article
finished hardy heron article its been a month since my last devlog, and that’s because i’ve been focusing more on my other project. it takes a lot of time to write these articles! i hope i can do this faster cuz its too time-consuming anyways, i’ve completed the hardy heron article and updated some information! Changelog ( 3003ef9 ) Finish Hardy Heron article ( 5332bcb ) Update macOS Tahoe info ( e194a23 ) Add 6 lines to Hardy Heron article ( e4909df ) Start work on Hardy Heron article, update/fix some information...
|
1792706014.3270905
|
1793310814.3270905
|
|
421
|
Cloudinary by @ChocoBoy | Stardance
|
ChocoBoy
|
0
|
2.03
|
0
|
[]
|
[{"post_id": 53586, "ts": "202 [{"post_id": 53586, "ts": "2026-08-24T06:09:06Z", "hours": 2.0317, "text": "I have successfully implemented the backend file storage using multer and I personaly used some references docs for my code."}]...
|
Title: Cloudinary by @ChocoBoy | Stardance
Devlog Title: Cloudinary by @ChocoBoy | Stardance
Devlogs:
I have successfully implemented the backend file storage using multer and I personaly used some references docs for my code....
|
1792749253.912248
|
1793354053.912248
|
|
420
|
Untitled project by @Draedon | Stardance
|
Draedon
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Draedon | Stardance
|
1792655613.7680755
|
1793260413.7680755
|
|
419
|
Frictionless by @augie | Stardance
|
augie
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @augie | Stardance
|
1792522528.503848
|
1793127328.503848
|
|
418
|
Frictionless by @Tessa | Stardance
|
Tessa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Tessa | Stardance
|
1792565511.3116593
|
1793170311.3116593
|
|
417
|
Hack Club Leaders Website by @damon | Stardance
|
damon
|
0
|
33.18
|
0
|
[]
|
[{"post_id": 32133, "ts": "202 [{"post_id": 32133, "ts": "2026-07-21T02:52:18Z", "hours": 9.0053, "text": "Club Levels"}, {"post_id": 27484, "ts": "2026-07-13T02:51:46Z", "hours": 12.4786, "text": "Fixed logic with the project submission page"}, {"post_id": 22858, "ts": "2026-07-05T13:59:02Z", "hours": 9.4161, "text": "Working on the dashboard!"}, {"post_id": 6519, "ts": "2026-06-10T23:21:03Z", "hours": 1.3425, "text": "Its been some time since I last posted but I am currently working on the dashboard page"}, {"post_id": 165, "ts": "2026-06-01T02:00:07Z", "hours": 0.4889, "text": "I created the events page to the website!"}, {"post_id": 88, "ts": "2026-05-31T17:27:32Z", "hours": 0.4519, "text": "I created the front page to the website!"}]...
|
Title: Hack Club Leaders Website by @damon | Stard Title: Hack Club Leaders Website by @damon | Stardance
Devlogs:
I created the front page to the website!
I created the events page to the website!
Its been some time since I last posted but I am currently working on the dashboard page
Working on the dashboard!
Fixed logic with the project submission page
Club Levels...
|
1792518514.851905
|
1793123314.851905
|
|
416
|
WarioWare Game by @slater | Stardance
|
slater
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @slater | Stardance
|
1792479266.7351286
|
1793084066.7351286
|
|
415
|
⠀⠀ by @X | Stardance
|
X
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ⠀⠀ by @X | Stardance
|
1792594300.8870513
|
1793199100.8870513
|
|
414
|
Untitled by @Will | Stardance
|
Will
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Will | Stardance
|
1792788781.5988445
|
1793393581.5988445
|
|
413
|
Frictionless by @S | Stardance
|
S
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @S | Stardance
|
1792525913.4662445
|
1793130713.4662445
|
|
412
|
Stardance by @tongyu | Stardance
|
tongyu
|
0
|
51.26
|
0
|
[]
|
[{"post_id": 15185, "ts": "202 [{"post_id": 15185, "ts": "2026-06-24T17:55:52Z", "hours": 9.8014, "text": "i made streaks work :D this should update now!! also soon u will get profile badges n stuff"}, {"post_id": 10824, "ts": "2026-06-17T19:25:11Z", "hours": 6.8578, "text": "you can now tag people in devlogs and in comments (and also you can add slack emojis. ) @tongyu they’ll appear in your notifications bar. comment something and i’ll reply to you so you can try it out :p"}, {"post_id": 9371, "ts": "2026-06-15T18:27:09Z", "hours": 14.9747, "text": "i added gambling hooray! stardance rng day 1 🎲 7,538 · ranked #16 so far https://stardance.hackclub.com/rng"}, {"post_id": 2758, "ts": "2026-06-05T15:18:39Z", "hours": 4.3986, "text": "yippee win a free gpu :D"}, {"post_id": 2228, "ts": "2026-06-04T16:45:21Z", "hours": 15.2267, "text": "comment system is better now :)))) and you can ctrl+enter or cmd+enter to post comments or devlogs. yay!"}]...
|
Title: Stardance by @tongyu | Stardance
Devlogs:
Title: Stardance by @tongyu | Stardance
Devlogs:
comment system is better now :)))) and you can ctrl+enter or cmd+enter to post comments or devlogs. yay!
yippee win a free gpu :D
i added gambling hooray! stardance rng day 1 🎲 7,538 · ranked #16 so far https://stardance.hackclub.com/rng
you can now tag people in devlogs and in comments (and also you can add slack emojis. ) @tongyu they’ll appear in your notifications bar. comment something and i’ll reply to you so you can try it out :p
i made streaks work :D this should update now!! also soon u will get profile badges n stuff...
|
1792601235.574129
|
1793206035.574129
|
|
411
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1792914502.9907935
|
1793778502.9907935
|
|
410
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1792939750.1176424
|
1793803750.1176424
|
|
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!...
|
1792997455.2600768
|
1793083855.2600768
|
|
408
|
Untitled project by @Bro | Stardance
|
Bro
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Bro | Stardance
|
1792511501.325832
|
1793116301.325832
|
|
407
|
SnippetVault by @evanxdsouza | Stardance
|
evanxdsouza
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: SnippetVault by @evanxdsouza | Stardance
|
1792579928.976293
|
1793184728.976293
|
|
406
|
MemeBoard by @tonymac129 | Stardance
|
tonymac129
|
1
|
55.0
|
994
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T22:02:36Z", "hours": 55.0, "multiplier": 18.15, "payout": 994, "blessing": "neutral", "text": "I finally finished making MemeBoard after periodically working on it over the past 3 months! MemeBoard is an accessible and easy to use fullstack online social platform for posting, sharing, and exploring all kinds of memes. There are many different post interaction features such as voting, commenting, saving, reacting, and sharing, it’s essentially a simple Reddit clone that’s exclusively for memes. You can browse, filter, and search through memes easily by choosing different sorting options and exploring the different tags and collections. It also has social features like following users and customizing your profile, as well as a full-featured realtime chat (mini Discord clone) where you can send content and chat with your friends or interact with MemeBot (which is not an LLM, it’s just a random thing I thought was fun to implement)! The entire website is also fully responsive and functional on all screen sizes with smooth loading and transition animations, and you can toggle between dark and light modes. I got bored of the project halfway through it to work on other stuff, but I ended up coming back more than a month later to finally finish everything and polish it to ship, and the final result is definitely very satisfying and rewarding for me, hopefully you’ll like it :)", "repo": "https://github.com/tonymac129/memeboard", "demo": "https://memeboard-app.vercel.app"}]...
|
[{"post_id": 63210, "ts": "202 [{"post_id": 63210, "ts": "2026-09-06T21:49:05Z", "hours": 1.5575, "text": "Final MemeBoard devlog! I finally finished MemeBoard after working on it over the past 3 months! I’ve implemented all the features I originally planned to make, as well as added a ton of other stuff to make the project interesting and fun to use I mostly just polished the project in this update, so there isn’t actually anything new other than the simple “m” logo/favicon I added to the nav bar and footer Added a top loading bar indicator to show the page is responsive and is actively loading since some pages take a bit of time to fetch data, and I’m too lazy to implement suspense/loading skeleton and all that Clicking on things that require the user to be signed in now redirects you to the sign in page so it’s more user friendly and not confusing Updated the README to document detailed information, all the features, setup instructions, and everything else about the project Fixed an annoying issue where MemeBot didn’t respond at all or took a long time by simply deleting an intentional timeout and the bug was somehow fixed Updated styling and layout components"}, {"post_id": 62607, "ts": "2026-09-06T02:31:58Z", "hours": 3.0308, "text": "Meme reactions, animations, and polishing Added reactions to memes (kind of similar to Reddit awards) so you can now choose an emoji to express what you think about the meme! There is a new React button on the meme bar that opens an emoji selection menu that lets you choose your reaction. You can see all the meme’s reactions sorted by number of users listed below the bar and can click on them to switch your reaction or unreact (since you can only react once) Reactions are anonymous, so you can only see the number of reactions with your own reaction highlighted Added subtle page transition animations to the layout and individual components to make navigation and user interactions a lot smoother and more aesthetically pleasing Added a 404 not found page with an occasional stylized glitching effect and buttons to go home or go back Added more detailed and dynamically generated OpenGraph metadata to improve SEO Updated backend Prisma schema and migrated database Updated types and styling Fixed a few display, light mode, and responsive design bugs MemeBoard is almost finished, it’ll probably be ready to ship after one final devlog and some polishing touches!!!"}, {"post_id": 61608, "ts": "2026-09-04T16:23:00Z", "hours": 1.9592, "text": "Light mode toggle Added a button on the nav bar that toggles the site’s entire appearance between dark and light mode to improve its customizability and accessibility Because every component has a default color transition, switching between the 2 modes has a smooth UI transition instead of flashing to the other color instantly I had to set up the theme provider and manually add the light mode Tailwind classes and the dark mode prefix for all the colors in every page and component, so this took quite a long time but the result was worth it, both modes look pretty consistent and visually appealing"}, {"post_id": 59928, "ts": "2026-09-01T23:23:11Z", "hours": 3.3867, "text": "MemeBoard is back!!! I’ve been a lazy bum this entire summer and didn’t finish a single one of my more serious projects on Stardance before losing interest and moving on to a new idea, but now that the event is ending in a month (nooo ) I finally forced myself to come back and finish up/ship my old projects one by one School just started so I’ll hopefully still have enough time to ship most of my projects before October. Since no one has used MemeBoard at all in over 2 months, I had to upgrade some packages, resetup some deployment stuff, and reactivate the databases for everything to function normally I also spent some time getting familiar with the codebase again, so I didn’t make a lot of changes this update. I added a few quality of life features like sharing/reporting comments, homepage meme and chat sections, and user search for finding people to follow When you click on share for a comment, the share modal pops up listing all your friends that you can select to send the comment and a message to, as well as options to copy the link and to report it Comments show up as embedded text with the user and like count displayed, and clicking on it takes you to its location on the original meme page for easy viewing (definitely not stolen from TikTok ) When you click on add user on the chat page, it shows a modal where you can use the API to search for people to add as friends, making chatting and sharing memes more convenient Added recent, top, all time, friend memes, and recent chat sections to the homepage to make navigating the platform and browsing memes easier Added call to action buttons on the homepage hero to make using the site more intuitive Updated content and styling Updated MemeBot behavior Updated README Fixed chat deployment issue Did some miscellaneous stuff/improvements/fixes that I forgot"}, {"post_id": 19564, "ts": "2026-06-30T21:50:01Z", "hours": 2.1125, "text": "More collections features You can now search, sort, and filter collections on the collections page to browse and explore public collections other people created! You can filter your friends’ and your own collections to make managing them easier You can now add an optional description describing what your collection is about, either on the add or edit collection modal You can now change the visibility of your collection to be either public or private, where public collections are displayed on your profile and the collections page for everyone to see, and only you can see your own private collections Added a new private collections section on your profile that only you can see it Added a create collection modal that shows up when you click on the button on the collections page to make creating collections easier Added a create tag modal that shows up when you click on the button on the tags page, but unlike collections you can only put the name of the tag since that’s the only thing a tag has Updated schema and types Updated styling and SEO"}, {"post_id": 17714, "ts": "2026-06-28T17:01:30Z", "hours": 2.5683, "text": "MemeBot & bug fixes Added MemeBot to everyone’s chat, so even if you haven’t friended someone on the platform you can still try out all the chat features since MemeBot also sends messages in realtime MemeBot isn’t actually another AI chatbot or anything, it just responds with a random hardcoded string message (very intelligent, i know) from the backend whenever a user sends it a message after a certain delay to simulate realtime chatting Since MemeBot isn’t actually a user, I had to modify the chatting system quite a bit and put a lot of extra conditionals and logic to ensure it works properly for both MemeBot and real users, and that was quite annoying to figure out Fixed an annoying caching bug where you had to refresh the entire chat page for realtime interactions to work properly when chatting with someone for the first time, otherwise the chat just froze. This took a long time to fix, but the UX is finally smooth and works well Fixed some issues of the chat related to auth and not being logged in Updated styling"}, {"post_id": 17111, "ts": "2026-06-27T19:43:00Z", "hours": 1.7958, "text": "Random quality of life features I think I’m almost finished with MemeBoard, so now I’m just making random small features that I skipped over earlier Added realtime chat message previews for each of your chats that shows the last message and who sent it on the left sidebar so it feels more like Discord and Slack Added a tag filtering dropdown on the Memes page where you can see all the tags, search for them, and choose one to see all the memes labeled with that tag. This makes it a lot easier to browse, filter, and find similar memes Added an options menu button to the tag page (that only shows if you’re the one who made the tag) similar to the button I added to a bunch of other pages. When clicked, it shows a menu with just a delete option that deletes the tag and removes its label from all the memes after a confirmation modal Added both dynamically generated SEO and static SEO to some pages that didn’t have it Updated styling and navigation"}, {"post_id": 16679, "ts": "2026-06-27T03:33:33Z", "hours": 2.7094, "text": "Collection features & cleanup Similar to the meme page, when you view the page of a collection you created, there is an options icon that when clicked, opens a menu where you can edit or delete the collection If you press on edit, an edit modal pops up where you can edit the name and select which memes should be in the collection If you press on delete, a warning modal shows up, and if you press delete the collection will be permanently deleted Added a search bar on the main collections page where you can search for your own or other people’s collections Added the collections tab to the main nav bar and the footer to improve navigation You can now add a short public about me bio on your profile by clicking on the edit profile button that shows an input edit modal When you hover over your own messages, a delete button now shows up that lets you delete the message for both of you after a confirmation modal just like all the other delete functionalities You can undo the deletion by pressing on the undo button that shows up, which restores the message for both of you I spent most of my time on MemeBoard developing while logged in, so I wasn’t aware most of my pages were completely broken and returning errors if someone visited them while not being logged in, so I implemented a ton of conditionals and permission stuff for auth to make sure every page works properly or redirects to the login page When you’re not logged in, you can still use the app and browse memes, it’s just that a lot of features are unavailable Updated backend schema and types Updated styling Fixed a few bugs and issues caused by auth"}, {"post_id": 15440, "ts": "2026-06-25T03:01:05Z", "hours": 1.8839, "text": "Responsive design Finally added responsive design to all pages on the platform so MemeBoard works properly and the layout stays organized and visually appealing for all screen sizes! Added a menu button that shows up when the screen size is smaller than a certain width, which when clicked opens a sidebar that slides in from the left containing all the links. This declutters the layout while improving the UX of the app Added a search bar to the tags page where you can search all the tags people created and browse memes more easily Refactored code for some UI elements to make everything more optimized and clean Fixed chat layout UI breaking with excessively long messages Added some minor styling adjustments"}, {"post_id": 13355, "ts": "2026-06-21T21:30:32Z", "hours": 4.0244, "text": "Editing/deleting posts & more chat features! Added an option button on the top right of the meme pages you posted which when clicked displays a menu that lets you edit or delete the post Clicking on the edit option takes you to a dedicated post editing page where you can edit the title, tags, description, and source link and reupload the image of the meme (metadata, comments, and everything else remains unchanged), and clicking save takes you back to the newly edited page Clicking on the delete option shows a confirmation modal/dialog warning you, and if you press delete all the meme’s data will be permanently deleted and you get redirected back to the memes pages A similar option menu button is also added to the top right corner of your comment, where you can edit (a modal with an edit input field and buttons shows up) or delete (also has a confirmation dialog) the comment You can now also edit your own messages (only the text and not what you’re replying or the embedded meme), when you click on the edit message button a modal with an edit input pops up, and the edited message is updated in realtime You can now react to both yours or your friends messages to express what you think! When you click on the react button an emoji menu shows up where you can browse for the emoji you want Reactions and their counters update in realtime and you can remove the reaction by clicking on it again (the feature works exactly how all messaging apps’ reactions work) After you press on the share meme button when sharing to a friend, the button now becomes a link that takes you to the chat where you can see the message Updated schema and types Updated styling I kinda forgot to make more devlogs again, so this one is another massive wall of text covering a ton of different features. The video is also 2 minutes so I had to compress it to upload 😭 I promise I’ll try to keep future devlogs shorter and more focused :)"}, {"post_id": 12330, "ts": "2026-06-20T03:35:53Z", "hours": 3.5969, "text": "Meme sharing and more chat features! I sort of got carried away with this chat feature thing so MemeBoard is now a weird combination of Reddit and Discord instead of the original meme platform I planned it to be When you click on the share button on a meme page and open the sharing modal, you can now see all your friends listed and you can select who to send the meme to, as well as an optional message This actually sends a message to the chat with your friend, and it shows up as an embedded preview meme with its creator, title, image, and number of likes/comments/shares displayed Clicking on the embed preview takes you to the actual meme page Added chat replies so when you click on the reply button next to your friend’s message, a box shows up above the input field showing the message you’re currently replying to When you send the message, a reply bar/message preview similar to Discord’s shows up above the message, and clicking on it scrolls the page to the original message and briefly highlights it, similar to Discord’s Messages are grouped together so message header info (sender, time, profile image…) only shows under certain circumstances (similar to Discord) for a cleaner and better UI Refactored how messages and their components are rendered/structured for better optimization and performance Added an API route for client components to fetch meme data from the database Updated schema and types Updated the styling of different chat pages I forgot to make devlogs, so this devlog is pretty long Sorry again for the terrible layout in the video, my lazy bum hasn’t started on responsive styling yet, so the windows are compressed"}, {"post_id": 9670, "ts": "2026-06-16T02:34:11Z", "hours": 3.5231, "text": "Massive update: chat Added realtime chat where you can send and receive text messages with almost no latency to/from your friends on MemeBoard! The base layout of all the chat pages has a sidebar of the left that displays all your friends, and clicking on them takes you to the different direct message channels On each chat channel page, you can see your friend’s profile picture, username, and number of followers/following at the top, similar to TikTok’s chat Your friend’s messages show up on the left while yours are highlighted and on the right, similar to texts, and each message has a timestamp Integrated a Redis database for quick message retrieval, caching, and ease of use for the Upstash realtime library that uses Web Socket under the hood to push realtime updates/events to send and update messages in realtime I already made a much simpler chat app but with a slightly different backend stack a while ago, so it wasn’t that difficult rewriting everything in Next.js and adding additional features There are actually a lot of considerations and logic that go into making a chat app that you normally wouldn’t think of unless building your own chat, so this was an interesting and fun experience coming up with solutions for unexpected problems Updated schema and types I’ll actually optimize the site and implement responsive design after the main app is finished, so the current layout looks terrible on small screens and I apologize for the terrible layout in the video"}, {"post_id": 8477, "ts": "2026-06-14T03:08:02Z", "hours": 2.3269, "text": "Searching, sorting, and filtering memes Added a search bar, a sorting dropdown, a filtering by time and creator dropdown, a tag dropdown (doesn’t work yet, coming soon), and a number of items dropdown on the explore memes page to make finding and browsing new memes a lot more easier The search bar searches by the meme’s title and only searches when you submit the form to improve performance You can sort by best, which sorts by positive/negative vote ratio, top, which sorts by raw upvote count, and new, which sorts by recency You can filter by time range (now, day, week, and all), memes your friends posted, and memes you posted You can choose to show 5, 10, 25, or 50 memes at a time Added a custom dropdown component for the dropdowns with nice UX MemeBoard is now even closer to being a Reddit clone, I took a lot of inspiration from its features except my sorting/filtering is mainly frontend, which is not good practice but I’m too lazy to implement API endpoints for fetching memes Refactored the upvoting/downvoting component and logic so it directly communicates with the backend rather than using a hook to make it more modular and performant Meme cards now show the voting component and vote count I’m almost finished with the meme aspect of this project, the next big part is the realtime chat and sharing with friends and MemeBoard will be finished! I should probably stop using aura monster as the test meme, it’s starting to become corny :("}, {"post_id": 7915, "ts": "2026-06-13T06:13:24Z", "hours": 2.0725, "text": "Comment likes and replies You can now like meme comments (and comment replies since they’re counted as normal comments) by clicking on the heart icon on each comment You can also see how many people liked the comment When you click on the reply option on a comment, an input field for your reply and post/cancel buttons show up for you to post your reply The replies show up as nested inside their parent comments to show the discussion flow, and you can technically thread replies infinite levels deep Spent a ton of time trying to figure out how to generate the threaded tree structure, tried recursion and loops and ended up using hashmaps and pointers to nest parent/child comments (I was not locked in while making the algorithm because of the finals I was going to have the next day) Updated schema and styling"}, {"post_id": 7104, "ts": "2026-06-11T21:33:21Z", "hours": 2.1169, "text": "Collection pages, sharing, and reporting Added a main collection tab that displays all the meme collections users created (not just yours), and you can access the page with a header link on the profile page Each collection card either shows a gray rectangle if there’s no meme or a stack of images with a preview image on top if there’s multiple memes When you click on a collection, it takes you to its own page where its name, creator, and all the memes are displayed Collections a user created are also displayed on their profile page in a new section The share button shows a sharing modal where you can either share the meme to your friends (doesn’t work yet, will be integrated with chat), copy the link and send it somewhere else, or report it If you choose report or click on the report option, another modal shows up where you can select report reasons and provide additional feedback Added new schemas and types Updated navigation and styling"}, {"post_id": 6006, "ts": "2026-06-10T02:14:13Z", "hours": 1.4364, "text": "Additions & Changes Added saving memes to collections so other than voting you can curate, organize, and categorize your own custom lists of memes! When you click on the save option, a modal pops up showing collections you created and a button that lets you add new collections, as well as a search bar for the collections You can also see how many memes are currently saved in the selections When you click save, the option shows the saved state and displays how many collections the meme is saved in You can only save memes to collections you created Added a new user profile section for collections, but it currently doesn’t show anything yet Updated schema and types and learned some new relational database and Prisma concepts"}, {"post_id": 5957, "ts": "2026-06-09T23:41:13Z", "hours": 1.2425, "text": "Additions & Changes Added a voting system for memes (sort of like a rip off Reddit) where you can upvote, downvote, or remove your vote by clicking on the arrows You can also see the total vote count of the meme in real time to see its popularity The upvote/downvote buttons are displayed below the meme, along with the save and share buttons that will work soon Added an optional original source field for posting a meme to link where you got the original image from A link icon now shows up on the meme page if you provided the source link so people can see the original post and author Updated styling and navigation Updated schema and types"}, {"post_id": 5253, "ts": "2026-06-08T23:28:07Z", "hours": 0.9344, "text": "Additions & Changes When you click on a user’s followers and following on their profile page, a new modal pops up with 2 tabs, followers and following, that shows the accounts they’re currently following/being followed There’s also a search bar that lets you search through the listed users to find people more easily and makes it feel a lot more like Instagram If you are following someone who follows you back (mutual follows), you are automatically added as friends, which shows up as a section on the main profile display area You will be able to send messages through a real-time chat with friends in the future! Added the chat tab that’s just a placeholder page for now Added dynamic SEO Updated navigation and styling"}, {"post_id": 4630, "ts": "2026-06-08T00:46:10Z", "hours": 1.3575, "text": "Additions & Changes You can now edit your account information and customize your own profile by clicking on the edit profile button on the page, which shows a edit form modal! You can change your display name to anything you want, your username to anything that’s not already taken (since it’s used as the param account identifier), and upload a custom profile image (PNG, JPG, and GIF are all accepted) You can also follow and unfollow other users by clicking on the follow button on their profile page, making the platform feel more like a social media/community If you and another account are following each other mutually, you will become friends and unlock additional features (coming soon!) Refactored some code to make everything more modular and optimized"}, {"post_id": 4558, "ts": "2026-06-07T22:03:14Z", "hours": 1.5661, "text": "Additions and Changes Added the tags tab which displays all the tags created on the platform, and each tag has a number showing the number of memes it has and takes you to its own page with its memes displayed Added individual tag pages that shows all the memes categorized under a tag and the user that created it Added the meme card component that shows the meme’s title, author, upload date, and image, and clicking on it takes you to the meme page Features like filtering, sorting, and searching for memes for a specific tag are coming soon! Added user pages that takes in a user’s username as the param and displays the account’s memes and other data If you’re viewing your own profile, you can see options for signing out, deleting the account (with a confirmation dialog), and editing the profile Username is used as param instead of user id to be more human friendly Added static and dynamically generated SEO for the new pages Updated the navigation bar and footer links Removed the profile page since it got replaced by the user page"}, {"post_id": 3298, "ts": "2026-06-06T04:56:02Z", "hours": 2.5442, "text": "Additions & Changes This is a pretty big update, so a lot of stuff has been added and improved :) Added comments so signed in users can post plaintext comments using the comment field under every meme Comment threading and liking will be added soon to milk more hours improve community engagement features You can also see other people’s comments, see when it’s posted, and go to their profile A signin button is shown instead of the comment box if you’re not signed in Improved tags a lot, you can now add custom tags and use either the main ones (marked by a star icon) or custom tags other people or you created to make categorization easier Added input validation and required fields for posting memes to prevent errors Added and updated a lot of models and types to make everything more type safe and complete Updated navigation and styling This is my 5th time trying to post this devlog, I had to compress the video hopefully it works this time"}, {"post_id": 2545, "ts": "2026-06-05T02:49:37Z", "hours": 1.635, "text": "Additions & Changes Added file storage/upload and made the backend for posting a meme work so you can now actually upload an image, give it a name and description, assign it tags, and post it as its own public page! Learned how to work with UploadThing and used it as MemeBoard’s file storage service Added the meme page that fetches and shows all the meme’s data as well as who posted it, with a link to their profile (to be implemented) The meme page also generates SEO dynamically Added the memes page that’s just a placeholder for now where you will be able to browse through and explore all the memes Added a meme Prisma model with a user relation as well as custom types Improved navigation, redirects, and overall user experience Happy birthday daniel (I’m not a larper I watched the entirety of Peak:Zero)"}, {"post_id": 2457, "ts": "2026-06-04T23:08:36Z", "hours": 1.9033, "text": "Additions & Changes Added a post page with a beautiful form where you can input a title, select tags, upload PNG, JPG, or GIF, and provide a description for your meme You can search for tags in the custom tag selection modal that pops up when you click on the select tags button or one of the tags Added the meme type and updated some other types and auth stuff Added a simple footer with credits, navigation links, and the GitHub link The post page doesn’t work yet, it’s just a pretty frontend component (for now) Updated styling My future devlogs will all follow this bullet list format (hopefully the markdown layout turns out alright) to improve readability and storytelling :)"}, {"post_id": 1743, "ts": "2026-06-03T22:36:02Z", "hours": 2.0625, "text": "Basically finished the entire auth system with the Better Auth library, and users can now both sign in and sign up with credentials (email, username, display name, and password) or from a social provider using OAuth (Google and GitHub). I haven’t set up this library or the OAuth services in quite a while so I had to spend some time refiguring everything out and configuring all the different stuff. A username is also automatically assigned if you sign up with email. Added a backend and connected the Neon Postgres database as well."}, {"post_id": 1150, "ts": "2026-06-03T00:12:57Z", "hours": 1.4411, "text": "My first devlog on Stardance!!! Time to work my butt off this entire summer :) I’m making this meme exploring/sharing platform where you can browse the most popular memes or upload them yourself. I set up the basic Next.js project and the dependencies, added some pages and components, and made a pretty nice login/signup form (nothing works right now). Also deployed the site on Vercel."}]...
|
Title: MemeBoard by @tonymac129 | Stardance
Devlo Title: MemeBoard by @tonymac129 | Stardance
Devlogs:
My first devlog on Stardance!!! Time to work my butt off this entire summer :) I’m making this meme exploring/sharing platform where you can browse the most popular memes or upload them yourself. I set up the basic Next.js project and the dependencies, added some pages and components, and made a pretty nice login/signup form (nothing works right now). Also deployed the site on Vercel.
Basically finished the entire auth system with the Better Auth library, and users can now both sign in and sign up with credentials (email, username, display name, and password) or from a social provider using OAuth (Google and GitHub). I haven’t set up this library or the OAuth services in quite a while so I had to spend some time refiguring everything out and configuring all the different stuff. A username is also automatically assigned if you sign up with email. Added a backend and connected the Neon Postgres database as well.
Additions & Changes Added a post page with a beautiful form where you can input a title, select tags, upload PNG, JPG, or GIF, and provide a description for your meme You can search for tags in the custom tag selection modal that pops up when you click on the select tags button or one of the tags Added the meme type and updated some other types and auth stuff Added a simple footer with credits, navigation links, and the GitHub link The post page doesn’t work yet, it’s just a pretty frontend component (for now) Updated styling My future devlogs will all follow this bullet list format (hopefully the markdown layout turns out alright) to improve readability and storytelling :)
Additions & Changes Added file storage/upload and made the backend for posting a meme work so you can now actually upload an image, give it a name and description, assign it tags, and post it as its own public page! Learned how to work with UploadThing and used it as MemeBoard’s file storage service Added the meme page that fetches and shows all the meme’s data as well as who posted it, with a link to their profile (to be implemented) The meme page also generates SEO dynamically Added the memes page that’s just a placeholder for now where you will be able to browse through and explore all the memes Added a meme Prisma model with a user relation as well as custom types Improved navigation, redirects, and overall user experience Happy birthday daniel (I’m not a larper I watched the entirety of Peak:Zero)
Additions & Changes This is a pretty big update, so a lot of stuff has been added and improved :) Added comments so signed in users can post plaintext comments using the comment field under every meme Comment threading and liking will be added soon to milk more hours improve community engagement features You can also see other people’s comments, see when it’s posted, and go to their profile A signin button is shown instead of the comment box if you’re not signed in Improved tags a lot, you can now add custom tags and use either the main ones (marked by a star icon) or custom tags other people or you created to make categorization easier Added input validation and required fields for posting memes to prevent errors Added and updated a lot of models and types to make everything more type safe and complete Updated navigation and styling This is my 5th time trying to post this devlog, I had to compress the video hopefully it works this time
Additions and Changes Added the tags tab which displays all the tags created on the platform, and each tag has a number showing the number of memes it has and takes you to its own page with its memes displayed Added individual tag pages that shows all the memes categorized under a tag and the user that created it Added the meme card component that shows the meme’s title, author, upload date, and image, and clicking on it takes you to the meme page Features like filtering, sorting, and searching for memes for a specific tag are coming soon! Added user pages that takes in a user’s username as the param and displays the account’s memes and other data If you’re viewing your own profile, you can see options for signing out, deleting the account (with a confirmation dialog), and editing the profile Username is used as param instead of user id to be more human friendly Added static and dynamically generated SEO for the new pages Updated the navigation bar and footer links Removed the profile page since it got replaced by the user page
Additions & Changes You can now edit your account information and customize your own profile by clicking on the edit profile button on the page, which shows a edit form modal! You can change your display name to anything you want, your username to anything that’s not already taken (since it’s used as the param account identifier), and upload a custom profile image (PNG, JPG, and GIF are all accepted) You can also follow and unfollow other users by clicking on the follow button on their profile page, making the platform feel more like a social media/community If you and another account are following each other mutually, you will become friends and unlock additional features (coming soon!) Refactored some code to make everything more modular and optimized
Additions & Changes When you click on a user’s followers and following on their profile page, a new modal pops up with 2 tabs, followers and following, that shows the accounts they’re currently following/being followed There’s also a search bar that lets you search through the listed users to find people more easily and makes it feel a lot more like Instagram If you are following someone who follows you back (mutual follows), you are automatically added as friends, which shows up as a section on the main profile display area You will be able to send messages through a real-time chat with friends in the future! Added the chat tab that’s just a placeholder page for now Added dynamic SEO Updated navigation and styling
Additions & Changes Added a voting system for memes (sort of like a rip off Reddit) where you can upvote, downvote, or remove your vote by clicking on the arrows You can also see the total vote count of the meme in real time to see its popularity The upvote/downvote buttons are displayed below the meme, along with the save and share buttons that will work soon Added an optional original source field for posting a meme to link where you got the original image from A link icon now shows up on the meme page if you provided the source link so people can see the original post and author Updated styling and navigation Updated schema and types
Additions & Changes Added saving memes to collections so other than voting you can curate, organize, and categorize your own custom lists of memes! When you click on the save option, a modal pops up showing collections you created and a button that lets you add new collections, as well as a search bar for the collections You can also see how many memes are currently saved in the selections When you click save, the option shows the saved state and displays how many collections the meme is saved in You can only save memes to collections you created Added a new user profile section for collections, but it currently doesn’t show anything yet Updated schema and types and learned some new relational database and Prisma concepts
Collection pages, sharing, and reporting Added a main collection tab that displays all the meme collections users created (not just yours), and you can access the page with a header link on the profile page Each collection card either shows a gray rectangle if there’s no meme or a stack of images with a preview image on top if there’s multiple memes When you click on a collection, it takes you to its own page where its name, creator, and all the memes are displayed Collections a user created are also displayed on their profile page in a new section The share button shows a sharing modal where you can either share the meme to your friends (doesn’t work yet, will be integrated with chat), copy the link and send it somewhere else, or report it If you choose report or click on the report option, another modal shows up where you can select report reasons and provide additional feedback Added new schemas and types Updated navigation and styling
Comment likes and replies You can now like meme comments (and comment replies since they’re counted as normal comments) by clicking on the heart icon on each comment You can also see how many people liked the comment When you click on the reply option on a comment, an input field for your reply and post/cancel buttons show up for you to post your reply The replies show up as nested inside their parent comments to show the discussion flow, and you can technically thread replies infinite levels deep Spent a ton of time trying to figure out how to generate the threaded tree structure, tried recursion and loops and ended up using hashmaps and pointers to nest parent/child comments (I was not locked in while making the algorithm because of the finals I was going to have the next day) Updated schema and styling
Searching, sorting, and filtering memes Added a search bar, a sorting dropdown, a filtering by time and creator dropdown, a tag dropdown (doesn’t work yet, coming soon), and a number of items dropdown on the explore memes page to make finding and browsing new memes a lot more easier The search bar searches by the meme’s title and only searches when you submit the form to improve performance You can sort by best, which sorts by positive/negative vote ratio, top, which sorts by raw upvote count, and new, which sorts by recency You can filter by time range (now, day, week, and all), memes your friends posted, and memes you posted You can choose to show 5, 10, 25, or 50 memes at a time Added a custom dropdown component for the dropdowns with nice UX MemeBoard is now even closer to being a Reddit clone, I took a lot of inspiration from its features except my sorting/filtering is mainly frontend, which is not good practice but I’m too lazy to implement API endpoints for fetching memes Refactored the upvoting/downvoting component and logic so it directly communicates with the backend rather than using a hook to make it more modular and performant Meme cards now show the voting component and vote count I’m almost finished with the meme aspect of this project, the next big part is the realtime chat and sharing with friends and MemeBoard will be finished! I should probably stop using aura monster as the test meme, it’s starting to become corny :(
Massive update: chat Added realtime chat where you can send and receive text messages with almost no latency to/from your friends on MemeBoard! The base layout of all the chat pages has a sidebar of the left that displays all your friends, and clicking on them takes you to the different direct message channels On each chat channel page, you can see your friend’s profile picture, username, and number of followers/following at the top, similar to TikTok’s chat Your friend’s messages show up on the left while yours are highlighted and on the right, similar to texts, and each message has a timestamp Integrated a Redis database for quick message retrieval, caching, and ease of use for the Upstash realtime library that uses Web Socket under the hood to push realtime updates/events to send and update messages in realtime I already made a much simpler chat app but with a slightly different backend stack a while ago, so it wasn’t that difficult rewriting everything in Next.js and adding additional features There are actually a lot of considerations and logic that go into making a chat app that you normally wouldn’t think of unless building your own chat, so this was an interesting and fun experience coming up with solutions for unexpected problems Updated schema and types I’ll actually optimize the site and implement responsive design after the main app is finished, so the current layout looks terrible on small screens and I apologize for the terrible layout in the video
Meme sharing and more chat features! I sort of got carried away with this chat feature thing so MemeBoard is now a weird combination of Reddit and Discord instead of the original meme platform I planned it to be When you click on the share button on a meme page and open the sharing modal, you can now see all your friends listed and you can select who to send the meme to, as well as an optional message This actually sends a message to the chat with your friend, and it shows up as an embedded preview meme with its creator, title, image, and number of likes/comments/shares displayed Clicking on the embed preview takes you to the actual meme page Added chat replies so when you click on the reply button next to your friend’s message, a box shows up above the input field showing the message you’re currently replying to When you send the message, a reply bar/message preview similar to Discord’s shows up above the message, and clicking on it scrolls the page to the original message and briefly highlights it, similar to Discord’s Messages are grouped together so message header info (sender, time, profile image…) only shows under certain circumstances (similar to Discord) for a cleaner and better UI Refactored how messages and their components are rendered/structured for better optimization and performance Added an API route for client components to fetch meme data from the database Updated schema and types Updated the styling of different chat pages I forgot to make devlogs, so this devlog is pretty long Sorry again for the terrible layout in the video, my lazy bum hasn’t started on responsive styling yet, so the windows are compressed
Editing/deleting posts & more chat features! Added an option button on the top right of the meme pages you posted which when clicked displays a menu that lets you edit or delete the post Clicking on the edit option takes you to a dedicated post editing page where you can edit the title, tags, description, and source link and reupload the image of the meme (metadata, comments, and everything else remains unchanged), and clicking save takes you back to the newly edited page Clicking on the delete option shows a confirmation modal/dialog warning you, and if you press delete all the meme’s data will be permanently deleted and you get redirected back to the memes pages A similar option menu button is also added to the top right corner of your comment, where you can edit (a modal with an edit input field and buttons shows up) or delete (also has a confirmation dialog) the comment You can now also edit your own messages (only the text and not what you’re replying or the embedded meme), when you click on the edit message button a modal with an edit input pops up, and the edited message is updated in realtime You can now react to both yours or your friends messages to express what you think! When you click on the react button an emoji menu shows up where you can browse for the emoji you want Reactions and their counters update in realtime and you can remove the reaction by clicking on it again (the feature works exactly how all messaging apps’ reactions work) After you press on the share meme button when sharing to a friend, the button now becomes a link that takes you to the chat where you can see the message Updated schema and types Updated styling I kinda forgot to make more devlogs again, so this one is another massive wall of text covering a ton of different features. The video is also 2 minutes so I had to compress it to upload 😭 I promise I’ll try to keep future devlogs shorter and more focused :)
Responsive design Finally added responsive design to all pages on the platform so MemeBoard works properly and the layout stays organized and visually appealing for all screen sizes! Added a menu button that shows up when the screen size is smaller than a certain width, which when clicked opens a sidebar that slides in from the left containing all the links. This declutters the layout while improving the UX of the app Added a search bar to the tags page where you can search all the tags people created and browse memes more easily Refactored code for some UI elements to make everything more optimized and clean Fixed chat layout UI breaking with excessively long messages Added some minor styling adjustments
Collection features & cleanup Similar to the meme page, when you view the page of a collection you created, there is an options icon that when clicked, opens a menu where you can edit or delete the collection If you press on edit, an edit modal pops up where you can edit the name and select which memes should be in the collection If you press on delete, a warning modal shows up, and if you press delete the collection will be permanently deleted Added a search bar on the main collections page where you can search for your own or other people’s collections Added the collections tab to the main nav bar and the footer to improve navigation You can now add a short public about me bio on your profile by clicking on the edit profile button that shows an input edit modal When you hover over your own messages, a delete button now shows up that lets you delete the message for both of you after a confirmation modal just like all the other delete functionalities You can undo the deletion by pressing on the undo button that shows up, which restores the message for both of you I spent most of my time on MemeBoard developing while logged in, so I wasn’t aware most of my pages were completely broken and returning errors if someone visited them while not being logged in, so I implemented a ton of conditionals and permission stuff for auth to make sure every page works properly or redirects to the login page When you’re not logged in, you can still use the app and browse memes, it’s just that a lot of features are unavailable Updated backend schema and types Updated styling Fixed a few bugs and issues caused by auth
Random quality of life features I think I’m almost finished with MemeBoard, so now I’m just making random small features that I skipped over earlier Added realtime chat message previews for each of your chats that shows the last message and who sent it on the left sidebar so it feels more like Discord and Slack Added a tag filtering dropdown on the Memes page where you can see all the tags, search for them, and choose one to see all the memes labeled with that tag. This makes it a lot easier to browse, filter, and find similar memes Added an options menu button to the tag page (that only shows if you’re the one who made the tag) similar to the button I added to a bunch of other pages. When clicked, it shows a menu with just a delete option that deletes the tag and removes its label from all the memes after a confirmation modal Added both dynamically generated SEO and static SEO to some pages that didn’t have it Updated styling and navigation
MemeBot & bug fixes Added MemeBot to everyone’s chat, so even if you haven’t friended someone on the platform you can still try out all the chat features since MemeBot also sends messages in realtime MemeBot isn’t actually another AI chatbot or anything, it just responds with a random hardcoded string message (very intelligent, i know) from the backend whenever a user sends it a message after a certain delay to simulate realtime chatting Since MemeBot isn’t actually a user, I had to modify the chatting system quite a bit and put a lot of extra conditionals and logic to ensure it works properly for both MemeBot and real users, and that was quite annoying to figure out Fixed an annoying caching bug where you had to refresh the entire chat page for realtime interactions to work properly when chatting with someone for the first time, otherwise the chat just froze. This took a long time to fix, but the UX is finally smooth and works well Fixed some issues of the chat related to auth and not being logged in Updated styling
More collections features You can now search, sort, and filter collections on the collections page to browse and explore public collections other people created! You can filter your friends’ and your own collections to make managing them easier You can now add an optional description describing what your collection is about, either on the add or edit collection modal You can now change the visibility of your collection to be either public or private, where public collections are displayed on your profile and the collections page for everyone to see, and only you can see your own private collections Added a new private collections section on your profile that only you can see it Added a create collection modal that shows up when you click on the button on the collections page to make creating collections easier Added a create tag modal that shows up when you click on the button on the tags page, but unlike collections you can only put the name of the tag since that’s the only thing a tag has Updated schema and types Updated styling and SEO
MemeBoard is back!!! I’ve been a lazy bum this entire summer and didn’t finish a single one of my more serious projects on Stardance before losing interest and moving on to a new idea, but now that the event is ending in a month (nooo ) I finally forced myself to come back and finish up/ship my old projects one by one School just started so I’ll hopefully still have enough time to ship most of my projects before October. Since no one has used MemeBoard at all in over 2 months, I had to upgrade some packages, resetup some deployment stuff, and reactivate the databases for everything to function normally I also spent some time getting familiar with the codebase again, so I didn’t make a lot of changes this update. I added a few quality of life features like sharing/reporting comments, homepage meme and chat sections, and user search for finding people to follow When you click on share for a comment, the share modal pops up listing all your friends that you can select to send the comment and a message to, as well as options to copy the link and to report it Comments show up as embedded text with the user and like count displayed, and clicking on it takes you to its location on the original meme page for easy viewing (definitely not stolen from TikTok ) When you click on add user on the chat page, it shows a modal where you can use the API to search for people to add as friends, making chatting and sharing memes more convenient Added recent, top, all time, friend memes, and recent chat sections to the homepage to make navigating the platform and browsing memes easier Added call to action buttons on the homepage hero to make using the site more intuitive Updated content and styling Updated MemeBot behavior Updated README Fixed chat deployment issue Did some miscellaneous stuff/improvements/fixes that I forgot
Light mode toggle Added a button on the nav bar that toggles the site’s entire appearance between dark and light mode to improve its customizability and accessibility Because every component has a default color transition, switching between the 2 modes has a smooth UI transition instead of flashing to the other color instantly I had to set up the theme provider and manually add the light mode Tailwind classes and the dark mode prefix for all the colors in every page and component, so this took quite a long time but the result was worth it, both modes look pretty consistent and visually appealing
Meme reactions, animations, and polishing Added reactions to memes (kind of similar to Reddit awards) so you can now choose an emoji to express what you think about the meme! There is a new React button on the meme bar that opens an emoji selection menu that lets you choose your reaction. You can see all the meme’s reactions sorted by number of users listed below the bar and can click on them to switch your reaction or unreact (since you can only react once) Reactions are anonymous, so you can only see the number of reactions with your own reaction highlighted Added subtle page transition animations to the layout and individual components to make navigation and user interactions a lot smoother and more aesthetically pleasing Added a 404 not found page with an occasional stylized glitching effect and buttons to go home or go back Added more detailed and dynamically generated OpenGraph metadata to improve SEO Updated backend Prisma schema and migrated database Updated types and styling Fixed a few display, light mode, and responsive design bugs MemeBoard is almost finished, it’ll probably be ready to ship after one final devlog and some polishing touches!!!
Final MemeBoard devlog! I finally finished MemeBoard after working on it over the past 3 months! I’ve implemented all the features I originally planned to make, as well as added a ton of other stuff to make the project interesting and fun to use I mostly just polished the project in this update, so there isn’t actually anything new other than the simple “m” logo/favicon I added to the nav bar and footer Added a top loading bar indicator to show the page is responsive and is actively loading since some pages take a bit of time to fetch data, and I’m too lazy to implement suspense/loading skeleton and all that Clicking on things that require the user to be signed in now redirects you to the sign in page so it’s more user friendly and not confusing Updated the README to document detailed information, all the features, setup instructions, and everything else about the project Fixed an annoying issue where MemeBot didn’t respond at all or took a long time by simply deleting an intentional timeout and the bug was somehow fixed Updated styling and layout components
Ships:
I finally finished making MemeBoard after periodically working on it over the past 3 months! MemeBoard is an accessible and easy to use fullstack online social platform for posting, sharing, and exploring all kinds of memes. There are many different post interaction features such as voting, commenting, saving, reacting, and sharing, it’s essentially a simple Reddit clone that’s exclusively for memes. You can browse, filter, and search through memes easily by choosing different sorting options and exploring the different tags and collections. It also has social features like following users and customizing your profile, as well as a full-featured realtime chat (mini Discord clone) where you can send content and chat with your friends or interact with MemeBot (which is not an LLM, it’s just a random thing I thought was fun to implement)! The entire website is also fully responsive and functional on all screen sizes with smooth loading and transition animations, and you can toggle between dark and light modes. I got bored of the project halfway through it to work on other stuff, but I ended up coming back more than a month later to finally finish everything and polish it to ship, and the final result is definitely very satisfying and rewarding for me, hopefully you’ll like it :)...
|
1793004463.7834735
|
1793090863.7834735
|
|
405
|
Derivative Calculator by @R10 | Stardance
|
R10
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Derivative Calculator by @R10 | Stardance
|
1792900279.0936627
|
1793764279.0936627
|
|
404
|
Starship by @strawbeet | Stardance
|
strawbeet
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Starship by @strawbeet | Stardance
|
1792619524.9348557
|
1793224324.9348557
|
|
403
|
Robot Arm by @Daehyun | Stardance
|
Daehyun
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Robot Arm by @Daehyun | Stardance
|
1792702188.4364002
|
1793306988.4364002
|
|
402
|
FFT by @george_pont | Stardance
|
george_pont
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: FFT by @george_pont | Stardance
|
1792536688.8132627
|
1793141488.8132627
|
|
401
|
Untitled project by @saiph | Stardance
|
saiph
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @saiph | Stardance
|
1792792369.313011
|
1793397169.313011
|
|
400
|
Stardance! (yes, this site) by @AVD | Stardance
|
AVD
|
1
|
46.44
|
42
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-01T17:19:26Z", "hours": 3.0, "multiplier": 13.72, "payout": 42, "blessing": "neutral", "text": "I added to the ship post modal, and supported uploading images on ship event!", "repo": "https://github.com/hackclub/stardance", "demo": "https://stardance.hackclub.com"}]...
|
[{"post_id": 26166, "ts": "202 [{"post_id": 26166, "ts": "2026-07-10T20:10:16Z", "hours": 39.34, "text": "Ohh i forgot to devlog 😢 Did some YSWS Things. added gambling (kinda) and did some fraud prevention"}, {"post_id": 1611, "ts": "2026-06-03T19:03:10Z", "hours": 4.0956, "text": "I added git commit graphs to the review page! + I also added video functionality for ship certifications!"}, {"post_id": 339, "ts": "2026-06-01T17:19:05Z", "hours": 0.7122, "text": "I finished that up!"}, {"post_id": 120, "ts": "2026-05-31T20:55:25Z", "hours": 2.3506, "text": "Today I worked on adding screenshots to Ship posts!"}]...
|
Title: Stardance! (yes, this site) by @AVD | Stard Title: Stardance! (yes, this site) by @AVD | Stardance
Devlogs:
Today I worked on adding screenshots to Ship posts!
I finished that up!
I added git commit graphs to the review page! + I also added video functionality for ship certifications!
Ohh i forgot to devlog 😢 Did some YSWS Things. added gambling (kinda) and did some fraud prevention
Ships:
I added to the ship post modal, and supported uploading images on ship event!...
|
1792972097.801472
|
1793058497.801472
|
|
399
|
Frictionless by @patrick | Stardance
|
patrick
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @patrick | Stardance
|
1792659069.0253155
|
1793263869.0253155
|
|
398
|
Hello World by @a_m | Stardance
|
a_m
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Hello World by @a_m | Stardance
|
1792799621.1372178
|
1793404421.1372178
|
|
397
|
BEANS BEANS by @ | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BEANS BEANS by @ | Stardance
|
1792565521.8071856
|
1793170321.8071856
|
|
396
|
Second System by @ayo | Stardance
|
ayo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Second System by @ayo | Stardance
|
1792936137.3800108
|
1793800137.3800108
|
|
395
|
ZhiXue Lite by @Makerlife | Stardance
|
Makerlife
|
2
|
25.0
|
59
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-25T12:56:28Z", "hours": 15.0, "multiplier": 1.97, "payout": 0, "blessing": "neutral", "text": "The Final Ship! [IMPORTANT]Since WAF is enabled on the backend, you may not be able to view the home page statistics properly. It is NOT a bug!!! You can log in to the site at demo/demo for a temporary preview. Please note that since my site retrieves and processes data from a third-party website, some content may still be in Chinese, and certain features may not be available with the shared account.", "repo": "https://github.com/amakerlife/ZhiXue-Lite-backend", "demo": "https://zxl.makerlife.top"}, {"ship_num": 2, "ts": "2026-07-05T14:04:31Z", "hours": 10.0, "multiplier": 5.7, "payout": 59, "blessing": "neutral", "text": "First release! In this update, I’ve strengthened backend authentication, added S3 support, and made some frontend optimizations. You can log in to the site at demo/demo for a temporary preview. Please note that since my site retrieves and processes data from a third-party website, some content may still be in Chinese, and certain features may not be available with the shared account. Since WAF is enabled on the backend, you may not be able to view the home page statistics properly.", "repo": "https://github.com/amakerlife/ZhiXue-Lite-backend", "demo": "https://zxl.makerlife.top"}]...
|
[{"post_id": 82615, "ts": "202 [{"post_id": 82615, "ts": "2026-10-25T12:53:46Z", "hours": 14.9442, "text": "This update adds S3 management APIs for viewing storage usage, listing cached answer sheets and score sheets, and deleting stored files. Exam results now have an all-scores API with pagination, filtering, search, and sorting. Score sheet export uses the VIEW_EXAM_DATA permission, with SCHOOL users limited to their own school. Administrators can now publish exams locally for individual schools before ZhiXue officially releases them. Students can access their own results when their scores are already stored. Score retrieval also handles missing totals and rankings while marking is still in progress. Answer sheets now show subquestion scores, step scores, and teacher scoring records more clearly, with improved indentation and positioning. The backend now requires Python 3.11 and uses psycopg 3. Dependencies were upgraded, and a database migration was added for per-school exam publication status."}, {"post_id": 22095, "ts": "2026-07-04T11:15:53Z", "hours": 6.275, "text": "Recently, on the backend, I added support for customizing the “from-address” for the SMTP service, rather than using the SMTP username directly as the sender’s email address as before. Additionally, to make the project more robust, I added support for S3 storage on the backend to store the generated answer sheets and score sheets, replacing the original local file system cache. Administrators can freely choose between the two options via environment variables. On the frontend, I first synchronized the changes related to the backend’s S3 storage support, then updated the loading animation to feature a logo that gradually changes in size as the central element, accompanied by a circular animation, replacing the previous simple Lucide React icon. Next, I will implement management features for S3 storage and synchronize the changes across both the front end and backend."}, {"post_id": 6877, "ts": "2026-06-11T15:13:25Z", "hours": 2.1092, "text": "This update fixes how the backend handles school_id in multi-school exam scenarios. Previously, some score and answersheet APIs accepted school_id from the client and used it during score lookup or teacher account selection. In multi-school exams, that could allow a SCHOOL-level user to query data outside their own school if the request parameters were crafted manually. The score and answer sheet APIs now resolve the effective student and school context on the server first. SELF users are always limited to their own bound student account, and any client-provided student_id, student_name, or school_id is ignored. SCHOOL users are always limited to their own school, even if another school_id is provided. GLOBAL users can still use school_id as an optional filter. Student name based lookup no longer requires school_id. The backend searches within the current user’s accessible scope. If multiple students match the same name, the error message now includes both school and class information for disambiguation. Score sheet export was also tightened. SCHOOL users always export their own school’s data, and any provided school_id is ignored. GLOBAL users can still export all schools or a specific school. Since this is just a backend fix related to permissions, I can only provide screenshots of the code I modified."}, {"post_id": 5554, "ts": "2026-06-09T11:44:43Z", "hours": 1.9978, "text": "In this update, I added a feature to the front end that remembers the user’s selection in this dropdown menu. In addition, I added a button to the exam details page so that users with the appropriate permissions can view more data about the exam directly in the “Data View” tab without having to copy and paste the exam_id. I fixed two race conditions caused by data desynchronization on the back end and manually cleaned up two rows of corrupted data from the prod database."}]...
|
Title: ZhiXue Lite by @Makerlife | Stardance
Devl Title: ZhiXue Lite by @Makerlife | Stardance
Devlogs:
In this update, I added a feature to the front end that remembers the user’s selection in this dropdown menu. In addition, I added a button to the exam details page so that users with the appropriate permissions can view more data about the exam directly in the “Data View” tab without having to copy and paste the exam_id. I fixed two race conditions caused by data desynchronization on the back end and manually cleaned up two rows of corrupted data from the prod database.
This update fixes how the backend handles school_id in multi-school exam scenarios. Previously, some score and answersheet APIs accepted school_id from the client and used it during score lookup or teacher account selection. In multi-school exams, that could allow a SCHOOL-level user to query data outside their own school if the request parameters were crafted manually. The score and answer sheet APIs now resolve the effective student and school context on the server first. SELF users are always limited to their own bound student account, and any client-provided student_id, student_name, or school_id is ignored. SCHOOL users are always limited to their own school, even if another school_id is provided. GLOBAL users can still use school_id as an optional filter. Student name based lookup no longer requires school_id. The backend searches within the current user’s accessible scope. If multiple students match the same name, the error message now includes both school and class information for disambiguation. Score sheet export was also tightened. SCHOOL users always export their own school’s data, and any provided school_id is ignored. GLOBAL users can still export all schools or a specific school. Since this is just a backend fix related to permissions, I can only provide screenshots of the code I modified.
Recently, on the backend, I added support for customizing the “from-address” for the SMTP service, rather than using the SMTP username directly as the sender’s email address as before. Additionally, to make the project more robust, I added support for S3 storage on the backend to store the generated answer sheets and score sheets, replacing the original local file system cache. Administrators can freely choose between the two options via environment variables. On the frontend, I first synchronized the changes related to the backend’s S3 storage support, then updated the loading animation to feature a logo that gradually changes in size as the central element, accompanied by a circular animation, replacing the previous simple Lucide React icon. Next, I will implement management features for S3 storage and synchronize the changes across both the front end and backend.
This update adds S3 management APIs for viewing storage usage, listing cached answer sheets and score sheets, and deleting stored files. Exam results now have an all-scores API with pagination, filtering, search, and sorting. Score sheet export uses the VIEW_EXAM_DATA permission, with SCHOOL users limited to their own school. Administrators can now publish exams locally for individual schools before ZhiXue officially releases them. Students can access their own results when their scores are already stored. Score retrieval also handles missing totals and rankings while marking is still in progress. Answer sheets now show subquestion scores, step scores, and teacher scoring records more clearly, with improved indentation and positioning. The backend now requires Python 3.11 and uses psycopg 3. Dependencies were upgraded, and a database migration was added for per-school exam publication status.
Ships:
First release! In this update, I’ve strengthened backend authentication, added S3 support, and made some frontend optimizations. You can log in to the site at demo/demo for a temporary preview. Please note that since my site retrieves and processes data from a third-party website, some content may still be in Chinese, and certain features may not be available with the shared account. Since WAF is enabled on the backend, you may not be able to view the home page statistics properly.
The Final Ship! [IMPORTANT]Since WAF is enabled on the backend, you may not be able to view the home page statistics properly. It is NOT a bug!!! You can log in to the site at demo/demo for a temporary preview. Please note that since my site retrieves and processes data from a third-party website, some content may still be in Chinese, and certain features may not be available with the shared account....
|
1792993842.3243418
|
1793080242.3243418
|
|
394
|
Frictionless by @sophiaw | Stardance
|
sophiaw
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @sophiaw | Stardance
|
1792601556.7479868
|
1793206356.7479868
|
|
393
|
Frictionless by @Hazoro | Stardance
|
Hazoro
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Hazoro | Stardance
|
1792540345.6919532
|
1793145145.6919532
|
|
392
|
DWRR (Dog Waste Removal Robot) by @ | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: DWRR (Dog Waste Removal Robot) by @ | Stard Title: DWRR (Dog Waste Removal Robot) by @ | Stardance...
|
1792806723.143507
|
1793411523.143507
|
|
391
|
Frictionless by @sophiaw | Stardance
|
sophiaw
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @sophiaw | Stardance
|
1792514952.4370534
|
1793119752.4370534
|
|
390
|
nudgebot by @meowmeow | Stardance
|
meowmeow
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: nudgebot by @meowmeow | Stardance
|
1792781619.1135201
|
1793386419.1135201
|
|
389
|
My first slack bot! by @Deni | Stardance
|
Deni
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Deni | Stardance
|
1792724055.270207
|
1793328855.270207
|
|
388
|
Rythmn Knight by @dsg | Stardance
|
dsg
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Rythmn Knight by @dsg | Stardance
|
1792482646.0508554
|
1793087446.0508554
|
|
387
|
InfinityAI by @srinivasa07 | Stardance
|
srinivasa07
|
1
|
28.56
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T22:37:13Z", "hours": 28.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made InfinityAI, a website where you can log in and talk to an AI. It can remember things, upload files, help with code, use voice buttons, make AI agents, and make workflows. The hard part was making all the buttons and pages work together. To test it, make an account, chat, upload a file, save a memory, and try Jarvis.", "repo": "https://github.com/srinivasagudi0/InfinityAI--Intel", "demo": "https://infinityai-intel.vercel.app"}]...
|
[{"post_id": 33594, "ts": "202 [{"post_id": 33594, "ts": "2026-07-23T17:17:36Z", "hours": 0.5647, "text": "Finishing off"}, {"post_id": 22457, "ts": "2026-07-04T22:33:49Z", "hours": 28.2506, "text": "Forgot to devlog, sorry! But anyways, I built InfinityAI into a simple web app. I added: Login and signup Chat File uploads Memory Code help Voice buttons AI agents Workflows Jarvis Render hosting setup I also fixed the page tabs and UI bugs."}]...
|
Title: InfinityAI by @srinivasa07 | Stardance
Dev Title: InfinityAI by @srinivasa07 | Stardance
Devlogs:
Forgot to devlog, sorry! But anyways, I built InfinityAI into a simple web app. I added: Login and signup Chat File uploads Memory Code help Voice buttons AI agents Workflows Jarvis Render hosting setup I also fixed the page tabs and UI bugs.
Finishing off
Ships:
I made InfinityAI, a website where you can log in and talk to an AI. It can remember things, upload files, help with code, use voice buttons, make AI agents, and make workflows. The hard part was making all the buttons and pages work together. To test it, make an account, chat, upload a file, save a memory, and try Jarvis....
|
1792878549.1240633
|
1793742549.1240633
|