|
401
|
Untitled project by @saiph | Stardance
|
saiph
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @saiph | Stardance
|
1792792369.313011
|
1793397169.313011
|
|
402
|
FFT by @george_pont | Stardance
|
george_pont
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: FFT by @george_pont | Stardance
|
1792536688.8132627
|
1793141488.8132627
|
|
403
|
Robot Arm by @Daehyun | Stardance
|
Daehyun
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Robot Arm by @Daehyun | Stardance
|
1792702188.4364002
|
1793306988.4364002
|
|
404
|
Starship by @strawbeet | Stardance
|
strawbeet
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Starship by @strawbeet | Stardance
|
1792619524.9348557
|
1793224324.9348557
|
|
405
|
Derivative Calculator by @R10 | Stardance
|
R10
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Derivative Calculator by @R10 | Stardance
|
1792900279.0936627
|
1793764279.0936627
|
|
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 :)...
|
1792853299.0866485
|
1792939699.0866485
|
|
407
|
SnippetVault by @evanxdsouza | Stardance
|
evanxdsouza
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: SnippetVault by @evanxdsouza | Stardance
|
1792579928.976293
|
1793184728.976293
|
|
408
|
Untitled project by @Bro | Stardance
|
Bro
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Bro | Stardance
|
1792511501.325832
|
1793116301.325832
|
|
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!...
|
1792846501.0642555
|
1792932901.0642555
|
|
410
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1791825924.7293632
|
1792689924.7293632
|
|
411
|
Untitled by @imu | Stardance
|
imu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @imu | Stardance
|
1792914502.9907935
|
1793778502.9907935
|
|
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
|
|
413
|
Frictionless by @S | Stardance
|
S
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @S | Stardance
|
1792525913.4662445
|
1793130713.4662445
|
|
414
|
Untitled by @Will | Stardance
|
Will
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Will | Stardance
|
1792788781.5988445
|
1793393581.5988445
|
|
415
|
⠀⠀ by @X | Stardance
|
X
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ⠀⠀ by @X | Stardance
|
1792594300.8870513
|
1793199100.8870513
|
|
416
|
WarioWare Game by @slater | Stardance
|
slater
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @slater | Stardance
|
1792479266.7351286
|
1793084066.7351286
|
|
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
|
|
418
|
Frictionless by @Tessa | Stardance
|
Tessa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Tessa | Stardance
|
1792565511.3116593
|
1793170311.3116593
|
|
419
|
Frictionless by @augie | Stardance
|
augie
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @augie | Stardance
|
1792522528.503848
|
1793127328.503848
|
|
420
|
Untitled project by @Draedon | Stardance
|
Draedon
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Draedon | Stardance
|
1792655613.7680755
|
1793260413.7680755
|
|
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
|
|
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
|
|
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
|
|
424
|
UI webpage by @kartik7385 | Stardance
|
kartik7385
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: UI webpage by @kartik7385 | Stardance
|
1792702245.7889597
|
1793307045.7889597
|
|
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
|
|
426
|
ai pandas by @heonaliu | Stardance
|
heonaliu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ai pandas by @heonaliu | Stardance
|
1792594339.7583644
|
1793199139.7583644
|
|
427
|
beaconn by @r | Stardance
|
r
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: beaconn by @r | Stardance
|
1792742028.807482
|
1793346828.807482
|
|
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
|
|
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....
|
1792817529.3871913
|
1792903929.3871913
|
|
430
|
StarLinks by @Suryansh-Mishra | Stardance
|
Suryansh-Mishra
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: StarLinks by @Suryansh-Mishra | Stardance
|
1792774190.2906423
|
1793378990.2906423
|
|
431
|
Deskime by @jonathan_e | Stardance
|
jonathan_e
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Deskime by @jonathan_e | Stardance
|
1792540516.4426737
|
1793145316.4426737
|
|
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
|
|
433
|
Nirdesh os by @baikuntayk | Stardance
|
baikuntayk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Nirdesh os by @baikuntayk | Stardance
|
1792558524.2065
|
1793163324.2065
|
|
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
|
|
435
|
nuh uh by @Baton | Stardance
|
Baton
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: nuh uh by @Baton | Stardance
|
1792914736.6741977
|
1793778736.6741977
|
|
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
|
|
437
|
Pong Game by @Ahmed_Gayipov | Stardance
|
Ahmed_Gayipov
|
1
|
2.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T19:23:09Z", "hours": 2.0, "multiplier": 1.02, "payout": 2, "blessing": "neutral", "text": "This game is just like ping pong, but you use the up and down arrow and W and S keys to play.", "repo": "https://github.com/Cr7-is-the-best/my2-python", "demo": "https://github.com/Cr7-is-the-best/my2-python/releases/tag/Pong"}]...
|
[{"post_id": 424, "ts": "2026- [{"post_id": 424, "ts": "2026-06-01T20:32:55Z", "hours": 1.6397, "text": "The pong game works"}]...
|
Title: Pong Game by @Ahmed_Gayipov | Stardance
De Title: Pong Game by @Ahmed_Gayipov | Stardance
Devlogs:
The pong game works
Ships:
This game is just like ping pong, but you use the up and down arrow and W and S keys to play....
|
1792878860.9645934
|
1793742860.9645934
|
|
438
|
Stardance-Graph by @Fantamomo | Stardance
|
Fantamomo
|
0
|
45.24
|
0
|
[]
|
[{"post_id": 19930, "ts": "202 [{"post_id": 19930, "ts": "2026-07-01T11:32:27Z", "hours": 14.4161, "text": "What changed In short, I added some new code to scrap some other things like: missions on the project page, so if a project is attached to a mission or has shipped with one source urls on the project page the daily random number pages (including the past) banner urls on users and projects if a ship has been returned or is pending I also added timeline tables of users, projects, devlogs, superstar and ship events. So that I now how projects have changed over the time. Problem I also run in a problem, while the program scraps the site, I cannot access it too, because I wrote it so that the requests are exactly calculated so that I can fully utilize the rate limit. I tried to avoid it by running the program on nest but the container just kills my program after 50,000 requests (I don’t know why, and the logs don’t help me and it wasn’t the OOM-Killer). So I am now running it on my Raspberry Pi 4b and because it is at my house, it uses the same IP) Renaming I am also going to rename this project from Stardance-Graph to Stardance-Scraper, because the program is now more then just a graph. I am still going to write the graph, but in a second project. Scraping Well I scraped Stardance 4 times, since the last devlog: The first time was on the Raspberry PI for testing (and because I couldn’t run it on my pc), after around 40000 request it stopped due to a death lock (two threads waiting on each other, but on my case it were 4 threads), the chance that this happened was so low, but it did, I tried to fix it but I failed. So a just killed the program. I tried to run it on nest but after 50,000 requests it killed it so not the right option Then I rerun it on my raspberry pi (with the fix) and it worked pretty well I added the timeline feature and since then it just does its work In total I have done like 400,000 requests to Stardance. Image The image shows a line chart that shows the number of users who joined on each date. (Yes someone joined on 19.04.2026: @/cskartikey )"}, {"post_id": 15686, "ts": "2026-06-25T14:35:14Z", "hours": 9.7994, "text": "What changed I have used HTTP/1.1 for my request to stardacen, then I found out that I can use HTTP/2. I tried it and it so much faster, like I could send 600 Requests under 1 minute. It was so fast that my Database Writer, couldn’t keep up and I needed to slow down, so that everything is stored in the DB. But then Stardance got (D)DOSed (which wasn’t me). So they added ratelimits . And now I can only do 120 Requests per minute. Which slows my down. I also updated the DB so that now every request I do is stored in it, for better debugging and analytic. Some cool statistics Here are some statistics about my scraping and Stardance Scraping Yesterday I started scraping around 6 AM EST and it took 10 hours and 21 minutes . I send 63,364 requests. - 6,820 returned with 404 - and 98 requests failed due to other reasons I received a total of 1.22 GB HTML To serve my requests the Stardance server executed 746,089 database queries Stardance And I found some really cool things Like: 30,239 users are on Stardance - 113 users got achivments - And the most common one is „Presentable Hardware Project„ 19,171 projects have been created - There are currently 17 project that have been marked with superstar - And 1,167 ship events 11,614 devlogs have been posted - With a total time of 26,182 hours - 837 devlogs have been reposted - And a total number of 10,981 likes have been given. - there are 741 comments. - I also run a (very) simple local AI detection tool on every devlog, which can check for some obviously Ai and it only found 35 devlogs. Images I haven’t worked on the graph, so I don’t have pictures of it. But I have some diagrams about the data I have scraped. The first (left) image is about the sign in users over the time I scraped 2 The second (right top) image shows the visitors over the time And the last (right bottom) one shows the project id to the total hours in the project, and the interesting thing about it is that most of the hours came from the projects with small ids, where the users of those projects have joined near the start of the event. I wrote I small test program which takes all projects with more then zero hours, then take the first 355 users. Then request Slack for there start date. Of those 355 users, 165 started before the 2026-5-20, 107 after, and by 83 I couldn’t find the start date. Please note that this data is from yesterday and can be outdated"}, {"post_id": 13618, "ts": "2026-06-22T10:13:15Z", "hours": 21.0233, "text": "I wrote a program that completely scraps Stardance. It starts with the projects (from 1 to 20000) that it can find on the page. It analyses them and stores the information in a database. It also searches for references to users, devlogs, followers, comments, etc. So for every project I get also the creator of it and then the creator gets also scraped. So in the end I have users, projects, devlogs, followers, following and comments. But was do I want with does data The name of this projects reveals it: I want to create a graph, of every possible connection between objects. I want to host it on a website, so you can search for users like @Fantamomo and see how I am connected with other projects and users, like I repost a devlog, if someone comments one one of my devlogs etc. Image The image show a prototype (coded by AI, because I have no clue how to write something like that). The problem is that the program constantly uses around 139% CPU and around 2 GB RAM . Even with that much CPU usage, it is still laggy and I can barely use it. So now I have to figure out how to make the graph faster so that I can host it as a website on nest . Stats Scrapping Stardance took 3 hours (I paused between request to avoid the non existing rate limits) During the time: 23654 requests where made To serve my requests the Stardance server executed 388157 database queries ( 174135 queries had been cached) I received 0.6 GB HTML text as responses. Fun fact My first devlog was reposted by someone. At that time, the notification system did not exist yet, so I didn’t know who reposted it. Through my scraping I found out: It was @neon (btw thanks)"}]...
|
Title: Stardance-Graph by @Fantamomo | Stardance
Title: Stardance-Graph by @Fantamomo | Stardance
Devlogs:
I wrote a program that completely scraps Stardance. It starts with the projects (from 1 to 20000) that it can find on the page. It analyses them and stores the information in a database. It also searches for references to users, devlogs, followers, comments, etc. So for every project I get also the creator of it and then the creator gets also scraped. So in the end I have users, projects, devlogs, followers, following and comments. But was do I want with does data The name of this projects reveals it: I want to create a graph, of every possible connection between objects. I want to host it on a website, so you can search for users like @Fantamomo and see how I am connected with other projects and users, like I repost a devlog, if someone comments one one of my devlogs etc. Image The image show a prototype (coded by AI, because I have no clue how to write something like that). The problem is that the program constantly uses around 139% CPU and around 2 GB RAM . Even with that much CPU usage, it is still laggy and I can barely use it. So now I have to figure out how to make the graph faster so that I can host it as a website on nest . Stats Scrapping Stardance took 3 hours (I paused between request to avoid the non existing rate limits) During the time: 23654 requests where made To serve my requests the Stardance server executed 388157 database queries ( 174135 queries had been cached) I received 0.6 GB HTML text as responses. Fun fact My first devlog was reposted by someone. At that time, the notification system did not exist yet, so I didn’t know who reposted it. Through my scraping I found out: It was @neon (btw thanks)
What changed I have used HTTP/1.1 for my request to stardacen, then I found out that I can use HTTP/2. I tried it and it so much faster, like I could send 600 Requests under 1 minute. It was so fast that my Database Writer, couldn’t keep up and I needed to slow down, so that everything is stored in the DB. But then Stardance got (D)DOSed (which wasn’t me). So they added ratelimits . And now I can only do 120 Requests per minute. Which slows my down. I also updated the DB so that now every request I do is stored in it, for better debugging and analytic. Some cool statistics Here are some statistics about my scraping and Stardance Scraping Yesterday I started scraping around 6 AM EST and it took 10 hours and 21 minutes . I send 63,364 requests. - 6,820 returned with 404 - and 98 requests failed due to other reasons I received a total of 1.22 GB HTML To serve my requests the Stardance server executed 746,089 database queries Stardance And I found some really cool things Like: 30,239 users are on Stardance - 113 users got achivments - And the most common one is „Presentable Hardware Project„ 19,171 projects have been created - There are currently 17 project that have been marked with superstar - And 1,167 ship events 11,614 devlogs have been posted - With a total time of 26,182 hours - 837 devlogs have been reposted - And a total number of 10,981 likes have been given. - there are 741 comments. - I also run a (very) simple local AI detection tool on every devlog, which can check for some obviously Ai and it only found 35 devlogs. Images I haven’t worked on the graph, so I don’t have pictures of it. But I have some diagrams about the data I have scraped. The first (left) image is about the sign in users over the time I scraped 2 The second (right top) image shows the visitors over the time And the last (right bottom) one shows the project id to the total hours in the project, and the interesting thing about it is that most of the hours came from the projects with small ids, where the users of those projects have joined near the start of the event. I wrote I small test program which takes all projects with more then zero hours, then take the first 355 users. Then request Slack for there start date. Of those 355 users, 165 started before the 2026-5-20, 107 after, and by 83 I couldn’t find the start date. Please note that this data is from yesterday and can be outdated
What changed In short, I added some new code to scrap some other things like: missions on the project page, so if a project is attached to a mission or has shipped with one source urls on the project page the daily random number pages (including the past) banner urls on users and projects if a ship has been returned or is pending I also added timeline tables of users, projects, devlogs, superstar and ship events. So that I now how projects have changed over the time. Problem I also run in a problem, while the program scraps the site, I cannot access it too, because I wrote it so that the requests are exactly calculated so that I can fully utilize the rate limit. I tried to avoid it by running the program on nest but the container just kills my program after 50,000 requests (I don’t know why, and the logs don’t help me and it wasn’t the OOM-Killer). So I am now running it on my Raspberry Pi 4b and because it is at my house, it uses the same IP) Renaming I am also going to rename this project from Stardance-Graph to Stardance-Scraper, because the program is now more then just a graph. I am still going to write the graph, but in a second project. Scraping Well I scraped Stardance 4 times, since the last devlog: The first time was on the Raspberry PI for testing (and because I couldn’t run it on my pc), after around 40000 request it stopped due to a death lock (two threads waiting on each other, but on my case it were 4 threads), the chance that this happened was so low, but it did, I tried to fix it but I failed. So a just killed the program. I tried to run it on nest but after 50,000 requests it killed it so not the right option Then I rerun it on my raspberry pi (with the fix) and it worked pretty well I added the timeline feature and since then it just does its work In total I have done like 400,000 requests to Stardance. Image The image shows a line chart that shows the number of users who joined on each date. (Yes someone joined on 19.04.2026: @/cskartikey )...
|
1792493668.0583968
|
1793098468.0583968
|
|
439
|
hand controlled mini drone by @Bryan | Stardance
|
Bryan
|
0
|
1.26
|
0
|
[]
|
[{"post_id": 169, "ts": "2026- [{"post_id": 169, "ts": "2026-06-01T03:42:46Z", "hours": 1.2644, "text": "im working on my coding skills but i need help my code doesnt work"}]...
|
Title: hand controlled mini drone by @Bryan | Star Title: hand controlled mini drone by @Bryan | Stardance
Devlogs:
im working on my coding skills but i need help my code doesnt work...
|
1792698543.9198785
|
1793303343.9198785
|
|
440
|
Warehouse - Storage System by @uv | Stardance
|
uv
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Warehouse - Storage System by @uv | Stardan Title: Warehouse - Storage System by @uv | Stardance...
|
1792504234.9467404
|
1793109034.9467404
|
|
441
|
My first slack bot! by @gamer_waves | Stardance
|
gamer_waves
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @gamer_waves | Stard Title: My first slack bot! by @gamer_waves | Stardance...
|
1792558359.7922685
|
1793163159.7922685
|
|
442
|
Untitled project by @neven | Stardance
|
neven
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @neven | Stardance
|
1792781407.5610178
|
1793386207.5610178
|
|
443
|
Indigo by @Jan | Stardance
|
Jan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Indigo by @Jan | Stardance
|
1791826423.6043367
|
1792690423.6043367
|
|
444
|
My first slack bot! by @roshni | Stardance
|
roshni
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @roshni | Stardance
|
1792756610.024073
|
1793361410.024073
|
|
445
|
My first slack bot! by @Isaiah | Stardance
|
Isaiah
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Isaiah | Stardance
|
1792493518.0877016
|
1793098318.0877016
|
|
446
|
My first slack bot! by @MMDesigns | Stardance
|
MMDesigns
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @MMDesigns | Stardan Title: My first slack bot! by @MMDesigns | Stardance...
|
1792543896.5061479
|
1793148696.5061479
|
|
447
|
Umbra by @liam_1776 | Stardance
|
liam_1776
|
0
|
1.26
|
0
|
[]
|
[{"post_id": 2453, "ts": "2026 [{"post_id": 2453, "ts": "2026-06-04T23:05:08Z", "hours": 0.3733, "text": "DEVLOG #3 I just added cooldown bars at the top to show when you can open the shop and when you can use an ultimate I have a couple ideas for what i want in the shop and what i want the ultimate to be maybe a powerful laser?"}, {"post_id": 1769, "ts": "2026-06-03T23:21:14Z", "hours": 0.5842, "text": "DEVLOG #2 I just got an animation done for my game! The animation flickers lighting. This is just the beginning. I have an idea to make it fade into the main screen where you can then play. I will also show controls at the bottom. The game I think will be a browser game :)"}, {"post_id": 1650, "ts": "2026-06-03T19:39:49Z", "hours": 0.3061, "text": "DEVLOG #1 getting started on a 2D side-scroller game :) I have always been interested in coding and It has been a long term goal of mine to code an extensive project. I wanted to make a game because I want to give back from my love of video games. This one will be on HTML and CSS. Thank you for reading my first Devlog!"}]...
|
Title: Umbra by @liam_1776 | Stardance
Devlogs:
D Title: Umbra by @liam_1776 | Stardance
Devlogs:
DEVLOG #1 getting started on a 2D side-scroller game :) I have always been interested in coding and It has been a long term goal of mine to code an extensive project. I wanted to make a game because I want to give back from my love of video games. This one will be on HTML and CSS. Thank you for reading my first Devlog!
DEVLOG #2 I just got an animation done for my game! The animation flickers lighting. This is just the beginning. I have an idea to make it fade into the main screen where you can then play. I will also show controls at the bottom. The game I think will be a browser game :)
DEVLOG #3 I just added cooldown bars at the top to show when you can open the shop and when you can use an ultimate I have a couple ideas for what i want in the shop and what i want the ultimate to be maybe a powerful laser?...
|
1792734437.1772952
|
1793339237.1772952
|
|
448
|
Stardance by @amber | Stardance
|
amber
|
0
|
0.69
|
0
|
[]
|
[{"post_id": 86, "ts": "2026-0 [{"post_id": 86, "ts": "2026-05-31T17:23:25Z", "hours": 0.6944, "text": "ababob"}]...
|
Title: Stardance by @amber | Stardance
Devlogs:
a Title: Stardance by @amber | Stardance
Devlogs:
ababob...
|
1792792270.7636645
|
1793397070.7636645
|
|
449
|
MYLO by @Mihai | Stardance
|
Mihai
|
1
|
62.0
|
994
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T19:58:57Z", "hours": 62.0, "multiplier": 16.0, "payout": 994, "blessing": "neutral", "text": "MYLO is a portable integrated neural network development IDE. Currently, building neural networks for your projects is a hassle, you have to write code, change apps for different tools and they are resource hungry. MYLO is here to change that! MYLO is split between 3 components, all with a different purpose: The Web interface It handles the entire user experience, it’s made to be lightweight, as no actual ML processing is happening on it, thus making it easy to host and usable on many low end devices. Its made using Next.js, and its the gateway to using the powerful tools MYLO provides, tools like: Visual neural network editor, just like any other visual editor, inspired by unreal engine blueprints, you right click to add new nodes and connect them in order to build your own neural network. Model Optimization, it uses a custom Neural-Genetic algorithm that applies mutations to the model, retrains it and then, the better performing models get their attributes passed on to the next generation and so on… Model diagnosis, can either be run using a dummy input or have your model retrained on the dataset itself for better info Dataset analasys tools, to see data distribution and outliers, together with per column information and encoding suggestions Neural network visualization, with in depth info about each node Ai assistant with a BYOK system, that can use tool calling to actually modify the model itself Customizable interface, with window system similar to visual studio code Model catalog where people can upload and share their models/projects Agent connection system, that allows you to use agents running in your local network/machine Now while these are the enabled and visible tools, also implemented are cloud tools that are currently disabled because it’s costly to host them: An agent orchestrator that using docker spins up agent instances on demand and routes them to your app Cloud storage system for projects and models Behind the scenes there is a lot more going on, there is a full documentation document linked in the repo readMe, which I encourage you to read, even tho its in romanian, you can easily translate it. The only thing is it that it doesn’t include more info about the BYOK system and security updates that where made after the documentation was written. The processing Agent It handles all of the ML processing Because of the way it’s implemented, it allows it to run on dedicated machines while the interface just connects to it It features the implementation of the descriptor system, a way to represent models while allowing them to be easily editable, while also having transferable weights and parameters. It sits at the base of the entire editor and optimization system. all of the features mentioned in the interface are run on the agent itself and not on the interface. For a more in depth analasys consult the documentation Orchestrator It handles the creation and destruction of the cloud instances, using a custom docker image and container handling, nothing fancy The biggest challenge… was the descriptor system, as an app made only by me and my friend, it was very hard to implement a robust system, and for the moment it’s quite unfeasable to extend the system further, as currently for each high level node its necessary to create connection templates manually, so thats why the node selection is currently smaller. Also it has to be easily compiled and almost ready for runtime while still being maleable enough for editing. Thankfully all of these hard systems I was able to build with help of a friend who is much more informed when it comes to AI. For any issues please write on my email ( [email protected] ) or on slack (altough im not so active)", "repo": "https://github.com/M-Y-L-O/docs/", "demo": "https://mylo-web-deployument.vercel.app/"}]...
|
[{"post_id": 40847, "ts": "202 [{"post_id": 40847, "ts": "2026-08-04T17:08:31Z", "hours": 3.2742, "text": "The app is now in a state ready for shipment, small UI tweaks and the possibility to easily enable and disable cloud features has been added. I borrowed an powerful AI agent from a friend to run a security audit on my website and also used it to fix them, as to assure the app is secure."}, {"post_id": 39967, "ts": "2026-08-03T09:36:09Z", "hours": 2.4158, "text": "In order to prepare my app for the ship, I decided to add some documentation and instructions about how to use the app, so there is now a docs page. Also necessary for the ship and publication, I made a Bring Your Own Key system for the AI Assistant, this way I don’t have to maintain and risk any of my own API keys. The keys are encrypted and stored in a Database, and once in said database, they only ever reach the Next.js server, no browser. The last few things I have to do for the ship are the following: -Make it easy to enable/disable cloud features (For the initial ship there will be no cloud features as I can’t pay for any uptime) -Consistent styling for the entire UI, fix any UI quirks I find, and/or redesign sections of the app. -Compile and make a release version of the desktop agent."}, {"post_id": 38340, "ts": "2026-07-31T17:52:37Z", "hours": 4.9881, "text": "I’ve made some polishing and steps towards the ship, that I want to make it happen this week. There have been a lot of bugs fixes and the addition of a new tool: The model diagnostic and retrain tool, which as it says, it helps you get metrics about a model on a specific dataset or, using a dummy input, get characteristics about the model itself. Besides that I got started on a landing page and added some flare to the login page."}, {"post_id": 34688, "ts": "2026-07-25T16:43:00Z", "hours": 2.0772, "text": "AI agent guyz!!! It uses gemini and I gave it some tools to edit and understand the model. I also added a markdown visualiser to have nice and pretty outputs from the model. It wasnt hard to implement and it’s a great addition to the app I feel."}, {"post_id": 34579, "ts": "2026-07-25T13:01:01Z", "hours": 3.2614, "text": "I’ve added cloud project saving and a project catalog! You can publish your projects/models for other to see, train and use in their own projects. It uses a simple s3 bucket for storage and handling the models, nothing too complex. The catalog has some filters and search function."}, {"post_id": 33014, "ts": "2026-07-22T15:52:39Z", "hours": 2.6136, "text": "I have added what I call an orchestrator system, you can now create a new client instance in the cloud, that can then be used for processing and editing your models, this comes as an automatic substitution to hosting your own local client. From the home page you can now click on the add new configuration button and choose the cloud option and a automatic connection will be established. The system uses docker to spin up and manage the instances, there is a service for cleanup and deleting orphan containers. The orchestrator itself doesn’t act like a proxy, all of the request go directly between the next.js server of the interface and instance."}, {"post_id": 31864, "ts": "2026-07-20T16:25:17Z", "hours": 3.5153, "text": "Okk, so there are now more tools to help you analyse your datasets, that includes charts, data quality, correlation and target analysys. Another change is to the optimization, more specifically to the optimization results. You can now clearly see what changes where made to the model, and what mutations the network suffered over time."}, {"post_id": 29086, "ts": "2026-07-15T18:59:26Z", "hours": 5.1808, "text": "What is there more to say, than the fact that there is now a working visual editor for creating your own neural networks!!!! It’s literally unreal engine blueprints but for NN’s, there is a library of nodes, from which you can choose to add, and then you connect those using handles. There is still some stuff to iron out, but this is looking good!"}, {"post_id": 26744, "ts": "2026-07-11T18:27:15Z", "hours": 4.4428, "text": "Ok you guys, we have working neural network optimization! For the moment there is only the option to optimize using a neuroevulution algorithm, but more will come in the future. You can select the input features, target one, change some settings, lay back and get back an optimized version of your neural network. This happens using pytorch models, i’m kind of moving away from .onnx, as they represent an “imovable” final version of a model to say so, and using the descriptor model me and my friend made will allow us to make visually editing models easier. Now, optimizing spits out both a .pt2 and a .onnx file, as the onnx file is directly usable. These changes required some modifications to the .mylo project file structure, but it’s not hard to add new stuff to it. Next, I will have to polish the UI, add some more animations and also handle the posibility to upload both a .pt2 for working and a .onnx for visualisation only in the same project. Besides that I also want to make like a “git” where people will be able to publish their models and stuff for you to use. I have plenty planned, i really like how this project is coming along."}, {"post_id": 24148, "ts": "2026-07-07T15:04:08Z", "hours": 2.2681, "text": "I got a friend that is more talented in working with AI to help me with this project, together, we developed a optimization tool. It’s currently not implemented in the UI, but it follows. Optimization is a huge step in the development of this app, as it incorporates, building new models, training and testing them all in one flow, so by getting this working we opened the doors to training and infering tools for the models you build using MYLO. Also, for this, my friend made a way to describe models in a json format, with the weights held in a seperate files, then, on runtime when needed, using the json, a new pytorch model will be built and the weights loaded, having it ready for any operations needed. I had also been working a lot on design in figma and from my friends computer, so sadly I am only able to count up 2 hours of work for something close to 10. Anyways, hopefully, next devlog ill have a working optimization window to show."}, {"post_id": 15694, "ts": "2026-06-25T14:50:36Z", "hours": 3.1078, "text": "Ok, we got dataset analysis tools! These first tools include a simple table viewer and a check for one-hot encoding, as in certain types of data it can cause excessive memory usage. Next I want to add graphs for data distribution, missing values, etc."}, {"post_id": 14464, "ts": "2026-06-23T16:26:14Z", "hours": 3.0642, "text": "I’ve worked on polishing what I got until now. I remade the home page to be more clean and to help you understand better what’s going on and what you have to do, basically some UX work. In the attached screenshot is the final version of the home page for now, implemented and fully reactive to the possible states."}, {"post_id": 13625, "ts": "2026-06-22T10:51:16Z", "hours": 3.5586, "text": "I got working project files. While there are still some edge cases to iron out, you can save and load projects into the interface. There is also a system, in case the connection between the client and the interface fails, the data won’t be lost, as there is a copy of the entire project stored on the client, so when the connection is reinstated all of the data can be retrieved. This project appears on a dedicated card when in the interface. Here is a small demo of the app:"}, {"post_id": 13072, "ts": "2026-06-21T11:46:57Z", "hours": 4.6014, "text": "I have spent this time integrating authentication into the app and making a small home page from which to manage client connections and projects. There has also been a structural change. Until now when loading a file into the client, on request, the client would open a file picker window using tkinter, but this caused a lot of bugs, as tkinter has to run on the main thread, and in general, blocking the entire server until you picked a file was not good, so instead I made it work more traditionally, by having a file picker open on the web interface and uploading a file there before sending it to the client, and its really much better, the client server isn’t stuck waiting for you to pick a file and also it allows for the client to be on another machine, like a powerful server and you just sending the relevant model files to it. It was still a slow crawl, I had to chew trough a lot of bugs with the authentication, as I implemented a middleware protection system, that blocks any requests that come from an unauthorized user, both for the client and webInterface, making the app fiarly secure, atleast by my standards. Now that I have client connections done with a nice UI to add new clients and stuff, I will occupy myself with loading, exporting and managing project files."}, {"post_id": 11793, "ts": "2026-06-19T05:59:06Z", "hours": 3.5428, "text": "Ok, so I started integrating the authentication into the app, this meant that now I had to make a way to tie projects and sessions to the user. To do this, I created my own project file, which is basically a disguised .zip file. When you save the project, it bundles all the necessary files into the zip, making it easy to send projects but also “tying” a project to a user is now very simple. Besides that, i began working on the Client system, basically, in the app, you will be able to have multiple clients/workers. Some may be in the local network, right on your device or there will be the option to rent out a server and use that for creating and training your neural networks. Now that there can be multiple clients, that means that can be many more errors, so I also decided to add a notification system. It was made using sonner."}, {"post_id": 9373, "ts": "2026-06-15T18:28:29Z", "hours": 4.8778, "text": "This devlog I bring you: - Authentication , made with Auth.js, it has the options to log in using github and google. For now its just the code itself for logging in, retrieving user data and checking if the user is logged in, but it doesnt serve any function. - Properties panel , now you have the option to open the properties panel. When clicking on a node it shows info about that node, like the inputs, outputs and any attributes it has. - Data processing , for now only in the API, the panel is coming too! It takes a csv file and checks it’s compatibility with One-Shot encoding, and other basic information about the data, like missing values, encoding size, etc."}, {"post_id": 7588, "ts": "2026-06-12T18:08:09Z", "hours": 4.0706, "text": "Sooo, I have been pretty efficient. We got the basic UI layout done, with the windows and tabs and everything, which have been customized. We also have a logo (sadly I couldn’t log the time working on it) and most importantly we have the first tool! The visualization tool! (now I realized I’ve misspelled visualize in the app) Which also means I got the communication between the web interface and api working. For now the visualization only works with ONNX files, but I hope to get this expanded to other formats like pytorch files. The tool works this way. You “point” to the file on your computer, the client on your laptop processes it and generates a list of edges and nodes, where each node carries specific information about itself. Then in the UI I post-process them a bit, as the names are pretty ugly like “/lstm/LSTM|/” and I just trim it. Then based on the category of node, I color it a specific color. The constant nodes are removed for clarity (although I will add a way to re-enable them). Then using ELKjs I order the nodes and then display them using react-flow. I really like how it all turned out. Some other notable things are about the meubar, it’s very easy to add buttons, and for those buttons to have nested ones, its just basically a JSON, where each button has a label, an onClick function and children. All of this setup will help me in the future. This is all for now."}, {"post_id": 6388, "ts": "2026-06-10T19:02:42Z", "hours": 1.2836, "text": "I’ve started with the scaffolding of this project. I want the UI to be IDE like, so I created a window management system using Dockview. I also made a Client class. The idea is for there to be two ways to process your neural networks, either locally or in the cloud, thus I made this client class that should make it very easy to switch between the two on the Frontend side. In the client itself, where all the processing happens, I made a very basic fastapi server and some endpoints for testing, as well as laid the brickwork to “load” local files into the client, without having them uploaded to the Website UI and then sent over to the MYLO client on the PC, basically creating a duplicate just to read from it. It works by instead of opening a file dialog in the browser, opening one from the python client installed on the computer, thus allowing me to access information such as the absolute file path, which would otherwise not be possible trough the webinterface."}]...
|
Title: MYLO by @Mihai | Stardance
Devlogs:
I’ve s Title: MYLO by @Mihai | Stardance
Devlogs:
I’ve started with the scaffolding of this project. I want the UI to be IDE like, so I created a window management system using Dockview. I also made a Client class. The idea is for there to be two ways to process your neural networks, either locally or in the cloud, thus I made this client class that should make it very easy to switch between the two on the Frontend side. In the client itself, where all the processing happens, I made a very basic fastapi server and some endpoints for testing, as well as laid the brickwork to “load” local files into the client, without having them uploaded to the Website UI and then sent over to the MYLO client on the PC, basically creating a duplicate just to read from it. It works by instead of opening a file dialog in the browser, opening one from the python client installed on the computer, thus allowing me to access information such as the absolute file path, which would otherwise not be possible trough the webinterface.
Sooo, I have been pretty efficient. We got the basic UI layout done, with the windows and tabs and everything, which have been customized. We also have a logo (sadly I couldn’t log the time working on it) and most importantly we have the first tool! The visualization tool! (now I realized I’ve misspelled visualize in the app) Which also means I got the communication between the web interface and api working. For now the visualization only works with ONNX files, but I hope to get this expanded to other formats like pytorch files. The tool works this way. You “point” to the file on your computer, the client on your laptop processes it and generates a list of edges and nodes, where each node carries specific information about itself. Then in the UI I post-process them a bit, as the names are pretty ugly like “/lstm/LSTM|/” and I just trim it. Then based on the category of node, I color it a specific color. The constant nodes are removed for clarity (although I will add a way to re-enable them). Then using ELKjs I order the nodes and then display them using react-flow. I really like how it all turned out. Some other notable things are about the meubar, it’s very easy to add buttons, and for those buttons to have nested ones, its just basically a JSON, where each button has a label, an onClick function and children. All of this setup will help me in the future. This is all for now.
This devlog I bring you: - Authentication , made with Auth.js, it has the options to log in using github and google. For now its just the code itself for logging in, retrieving user data and checking if the user is logged in, but it doesnt serve any function. - Properties panel , now you have the option to open the properties panel. When clicking on a node it shows info about that node, like the inputs, outputs and any attributes it has. - Data processing , for now only in the API, the panel is coming too! It takes a csv file and checks it’s compatibility with One-Shot encoding, and other basic information about the data, like missing values, encoding size, etc.
Ok, so I started integrating the authentication into the app, this meant that now I had to make a way to tie projects and sessions to the user. To do this, I created my own project file, which is basically a disguised .zip file. When you save the project, it bundles all the necessary files into the zip, making it easy to send projects but also “tying” a project to a user is now very simple. Besides that, i began working on the Client system, basically, in the app, you will be able to have multiple clients/workers. Some may be in the local network, right on your device or there will be the option to rent out a server and use that for creating and training your neural networks. Now that there can be multiple clients, that means that can be many more errors, so I also decided to add a notification system. It was made using sonner.
I have spent this time integrating authentication into the app and making a small home page from which to manage client connections and projects. There has also been a structural change. Until now when loading a file into the client, on request, the client would open a file picker window using tkinter, but this caused a lot of bugs, as tkinter has to run on the main thread, and in general, blocking the entire server until you picked a file was not good, so instead I made it work more traditionally, by having a file picker open on the web interface and uploading a file there before sending it to the client, and its really much better, the client server isn’t stuck waiting for you to pick a file and also it allows for the client to be on another machine, like a powerful server and you just sending the relevant model files to it. It was still a slow crawl, I had to chew trough a lot of bugs with the authentication, as I implemented a middleware protection system, that blocks any requests that come from an unauthorized user, both for the client and webInterface, making the app fiarly secure, atleast by my standards. Now that I have client connections done with a nice UI to add new clients and stuff, I will occupy myself with loading, exporting and managing project files.
I got working project files. While there are still some edge cases to iron out, you can save and load projects into the interface. There is also a system, in case the connection between the client and the interface fails, the data won’t be lost, as there is a copy of the entire project stored on the client, so when the connection is reinstated all of the data can be retrieved. This project appears on a dedicated card when in the interface. Here is a small demo of the app:
I’ve worked on polishing what I got until now. I remade the home page to be more clean and to help you understand better what’s going on and what you have to do, basically some UX work. In the attached screenshot is the final version of the home page for now, implemented and fully reactive to the possible states.
Ok, we got dataset analysis tools! These first tools include a simple table viewer and a check for one-hot encoding, as in certain types of data it can cause excessive memory usage. Next I want to add graphs for data distribution, missing values, etc.
I got a friend that is more talented in working with AI to help me with this project, together, we developed a optimization tool. It’s currently not implemented in the UI, but it follows. Optimization is a huge step in the development of this app, as it incorporates, building new models, training and testing them all in one flow, so by getting this working we opened the doors to training and infering tools for the models you build using MYLO. Also, for this, my friend made a way to describe models in a json format, with the weights held in a seperate files, then, on runtime when needed, using the json, a new pytorch model will be built and the weights loaded, having it ready for any operations needed. I had also been working a lot on design in figma and from my friends computer, so sadly I am only able to count up 2 hours of work for something close to 10. Anyways, hopefully, next devlog ill have a working optimization window to show.
Ok you guys, we have working neural network optimization! For the moment there is only the option to optimize using a neuroevulution algorithm, but more will come in the future. You can select the input features, target one, change some settings, lay back and get back an optimized version of your neural network. This happens using pytorch models, i’m kind of moving away from .onnx, as they represent an “imovable” final version of a model to say so, and using the descriptor model me and my friend made will allow us to make visually editing models easier. Now, optimizing spits out both a .pt2 and a .onnx file, as the onnx file is directly usable. These changes required some modifications to the .mylo project file structure, but it’s not hard to add new stuff to it. Next, I will have to polish the UI, add some more animations and also handle the posibility to upload both a .pt2 for working and a .onnx for visualisation only in the same project. Besides that I also want to make like a “git” where people will be able to publish their models and stuff for you to use. I have plenty planned, i really like how this project is coming along.
What is there more to say, than the fact that there is now a working visual editor for creating your own neural networks!!!! It’s literally unreal engine blueprints but for NN’s, there is a library of nodes, from which you can choose to add, and then you connect those using handles. There is still some stuff to iron out, but this is looking good!
Okk, so there are now more tools to help you analyse your datasets, that includes charts, data quality, correlation and target analysys. Another change is to the optimization, more specifically to the optimization results. You can now clearly see what changes where made to the model, and what mutations the network suffered over time.
I have added what I call an orchestrator system, you can now create a new client instance in the cloud, that can then be used for processing and editing your models, this comes as an automatic substitution to hosting your own local client. From the home page you can now click on the add new configuration button and choose the cloud option and a automatic connection will be established. The system uses docker to spin up and manage the instances, there is a service for cleanup and deleting orphan containers. The orchestrator itself doesn’t act like a proxy, all of the request go directly between the next.js server of the interface and instance.
I’ve added cloud project saving and a project catalog! You can publish your projects/models for other to see, train and use in their own projects. It uses a simple s3 bucket for storage and handling the models, nothing too complex. The catalog has some filters and search function.
AI agent guyz!!! It uses gemini and I gave it some tools to edit and understand the model. I also added a markdown visualiser to have nice and pretty outputs from the model. It wasnt hard to implement and it’s a great addition to the app I feel.
I’ve made some polishing and steps towards the ship, that I want to make it happen this week. There have been a lot of bugs fixes and the addition of a new tool: The model diagnostic and retrain tool, which as it says, it helps you get metrics about a model on a specific dataset or, using a dummy input, get characteristics about the model itself. Besides that I got started on a landing page and added some flare to the login page.
In order to prepare my app for the ship, I decided to add some documentation and instructions about how to use the app, so there is now a docs page. Also necessary for the ship and publication, I made a Bring Your Own Key system for the AI Assistant, this way I don’t have to maintain and risk any of my own API keys. The keys are encrypted and stored in a Database, and once in said database, they only ever reach the Next.js server, no browser. The last few things I have to do for the ship are the following: -Make it easy to enable/disable cloud features (For the initial ship there will be no cloud features as I can’t pay for any uptime) -Consistent styling for the entire UI, fix any UI quirks I find, and/or redesign sections of the app. -Compile and make a release version of the desktop agent.
The app is now in a state ready for shipment, small UI tweaks and the possibility to easily enable and disable cloud features has been added. I borrowed an powerful AI agent from a friend to run a security audit on my website and also used it to fix them, as to assure the app is secure.
Ships:
MYLO is a portable integrated neural network development IDE. Currently, building neural networks for your projects is a hassle, you have to write code, change apps for different tools and they are resource hungry. MYLO is here to change that! MYLO is split between 3 components, all with a different purpose: The Web interface It handles the entire user experience, it’s made to be lightweight, as no actual ML processing is happening on it, thus making it easy to host and usable on many low end devices. Its made using Next.js, and its the gateway to using the powerful tools MYLO provides, tools like: Visual neural network editor, just like any other visual editor, inspired by unreal engine blueprints, you right click to add new nodes and connect them in order to build your own neural network. Model Optimization, it uses a custom Neural-Genetic algorithm that applies mutations to the model, retrains it and then, the better performing models get their attributes passed on to the next generation and so on… Model diagnosis, can either be run using a dummy input or have your model retrained on the dataset itself for better info Dataset analasys tools, to see data distribution and outliers, together with per column information and encoding suggestions Neural network visualization, with in depth info about each node Ai assistant with a BYOK system, that can use tool calling to actually modify the model itself Customizable interface, with window system similar to visual studio code Model catalog where people can upload and share their models/projects Agent connection system, that allows you to use agents running in your local network/machine Now while these are the enabled and visible tools, also implemented are cloud tools that are currently disabled because it’s costly to host them: An agent orchestrator that using docker spins up agent instances on demand and routes them to your app Cloud storage system for projects and models Behind the scenes there is a lot more going on, there is a full documentation document linked in the repo readMe, which I encourage you to read, even tho its in romanian, you can easily translate it. The only thing is it that it doesn’t include more info about the BYOK system and security updates that where made after the documentation was written. The processing Agent It handles all of the ML processing Because of the way it’s implemented, it allows it to run on dedicated machines while the interface just connects to it It features the implementation of the descriptor system, a way to represent models while allowing them to be easily editable, while also having transferable weights and parameters. It sits at the base of the entire editor and optimization system. all of the features mentioned in the interface are run on the agent itself and not on the interface. For a more in depth analasys consult the documentation Orchestrator It handles the creation and destruction of the cloud instances, using a custom docker image and container handling, nothing fancy The biggest challenge… was the descriptor system, as an app made only by me and my friend, it was very hard to implement a robust system, and for the moment it’s quite unfeasable to extend the system further, as currently for each high level node its necessary to create connection templates manually, so thats why the node selection is currently smaller. Also it has to be easily compiled and almost ready for runtime while still being maleable enough for editing. Thankfully all of these hard systems I was able to build with help of a friend who is much more informed when it comes to AI. For any issues please write on my email ( [email protected] ) or on slack (altough im not so active)...
|
1792817768.541822
|
1792904168.541822
|
|
450
|
Personal Website by @Theo | Stardance
|
Theo
|
1
|
11.35
|
115
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-03T19:46:30Z", "hours": 9.0, "multiplier": 13.37, "payout": 115, "blessing": "neutral", "text": "🌐 Personal Website 📋 Features I made my first personal website! It features a green neon theme with lot’s of hover effects and other immersive features. It contains a Homepage, Projects, Favs, & Blog Pages. I have tons of information about me on this site! 🤬 Challenges I faced many problems when making this website, but the biggest one was Flexboxes. Flexboxes are used to arrange your content on the page. I always had issues with something being on the wrong line, or having to make another to change the layout from row to column! It was a lot of work, but now it’s done and it looks beautiful! 💻 How to Access You can access my personal website by tapping the “Try Project” button or by going to: https://chr0ma.com", "repo": "https://github.com/trose2012/Personal-Website", "demo": "https://chr0ma.com"}]...
|
[{"post_id": 11300, "ts": "202 [{"post_id": 11300, "ts": "2026-06-18T14:14:27Z", "hours": 1.6925, "text": "🔔 Project Update This update does not add much, but it does update current features. Much of the time logged for this was for features I attempted to add, but failed. New Features This update introduces a huge bug fix to the status dot and live activities. The status dot now shows as green when I am on Discord or Slack . Previously, it only showed for Discord, but now if I’m not on Discord it will also check to see if I’m on Slack. The Live Activities now show when I’m on a game on Luna or playing music on Spotify. Failed Features I had many ideas that failed. This interests me because I started with Scratch and then moved into Web Development. Until this point, I had no idea that even with HTML , CSS , and JavaScript - There are still limits. Eventually, I plan to make a new website with React or Next.js and actually implement these features. Animations when you open the page. Page Transition Animations. Live Activity for Visual Studio Code. - This one would work, I just don’t have a MacBook so I can’t have Discord open as an app because my laptop is way too slow. 💡The Plan I am currently using Codédex from the GitHub Student Developer Pack to become a Full Stack Developer. After I learn, I plan to come back and try again on this website. In the meantime, I plan to make some cool projects this summer along with learning through Codédex. Hopefully I win a MacBook!"}, {"post_id": 7592, "ts": "2026-06-12T18:13:07Z", "hours": 0.6544, "text": "PROJECT UPDATE Gonna be completely honest, I used a good amount of AI for this one to get my status because I can’t do JavaScript because I’m too much of an idiot. I tried to do enough as possible by myself but this website and like everything is just hard for me because I have to share a computer with my siblings and yeh… My original plan was to get a MacBook for making this website but I guess that’s like impossible because I don’t have enough time this summer… 😟"}, {"post_id": 1638, "ts": "2026-06-03T19:23:20Z", "hours": 0.6753, "text": "🔔 Final Devlog ℹ️ New Features Added Blog Added First Blog Entree Bug Fixes & Improvements 🌐 Final Product Access Demo Link Source Code Readme"}, {"post_id": 1537, "ts": "2026-06-03T16:50:53Z", "hours": 0.8014, "text": "🔔 Project Update! ℹ️ New Features Added a new “favs” page to show off stuff that I use or like. Changed the alignment on all boxes style (now they stay at the top) 🌐 Check It Out! Click Here to try out my website!"}, {"post_id": 1502, "ts": "2026-06-03T15:57:56Z", "hours": 1.0219, "text": "🔔Project Update! ℹ️ New Features Added “Other Cool Things” section to home page. Added more options to the “Contact Me” section. Added the official Hack Club Webring to the footer. Updated my profile picture on the site! Made a custom email so that people don’t send a bunch of stuff to my personal email! 🌐 Check it out! Click here to check out my website!"}, {"post_id": 1435, "ts": "2026-06-03T13:54:31Z", "hours": 0.85, "text": "🔔 Project Update! ℹ️ New Features Completely revamped THINGS I CAN DO section. Added images to make it look better :) Buttons now expand on hover. 🌐 Check It Out! Check out my website by going to: https://chr0ma.com"}, {"post_id": 1061, "ts": "2026-06-02T21:23:11Z", "hours": 0.6653, "text": "🔔Project Update! ℹ️ Updates Added CONTACT ME section containing Discord & Email contact methods. Added neon borders to all buttons and to the CONTACT ME section. A few other bug fixes and improvements. Almost all boxes expand when you hover over them to make my project feel more alive! 🌐Check it out! Check out my website by going to: https://chr0ma.com"}, {"post_id": 907, "ts": "2026-06-02T17:16:57Z", "hours": 0.8186, "text": "🔔Project Update! I made the text for my name move around in a wave and I added a neon border, instead of a static green. 💩Disclaimer I used some AI to help me with the animations and borders because I didn’t know how to do that and I didn’t feel like looking it up so uhhh… (I didn’t use an Agent and I didn’t copy and paste, I actually typed everything out myself) 🌐Try it out! You can now visit my website at https://chr0ma.com"}, {"post_id": 446, "ts": "2026-06-01T21:23:48Z", "hours": 1.28, "text": "Added Projects Page and Changed Navigation a Bit ℹ️ This took FOREVER. My neck hurts. I added a whole new page, and changed up the colors on the navbar so that you can tell what page you’re on! Demo: https://chr0ma.com"}, {"post_id": 302, "ts": "2026-06-01T15:33:32Z", "hours": 0.5797, "text": "I added a What I Can Do Section and I messed with the Sidebar on mobile I also made my PFP SPIN! Demo: https://chr0ma.com"}, {"post_id": 113, "ts": "2026-05-31T19:57:35Z", "hours": 1.2753, "text": "I made a lot of progress! I added some 88x31 buttons and I made some other adjustments!"}, {"post_id": 80, "ts": "2026-05-31T17:10:52Z", "hours": 0.6547, "text": "I added the Hack Club Section to my website! I had already started working on this site, but sadly it won’t let me use my past time :( I also made a cool button :)"}]...
|
Title: Personal Website by @Theo | Stardance
Devl Title: Personal Website by @Theo | Stardance
Devlogs:
I added the Hack Club Section to my website! I had already started working on this site, but sadly it won’t let me use my past time :( I also made a cool button :)
I made a lot of progress! I added some 88x31 buttons and I made some other adjustments!
I added a What I Can Do Section and I messed with the Sidebar on mobile I also made my PFP SPIN! Demo: https://chr0ma.com
Added Projects Page and Changed Navigation a Bit ℹ️ This took FOREVER. My neck hurts. I added a whole new page, and changed up the colors on the navbar so that you can tell what page you’re on! Demo: https://chr0ma.com
🔔Project Update! I made the text for my name move around in a wave and I added a neon border, instead of a static green. 💩Disclaimer I used some AI to help me with the animations and borders because I didn’t know how to do that and I didn’t feel like looking it up so uhhh… (I didn’t use an Agent and I didn’t copy and paste, I actually typed everything out myself) 🌐Try it out! You can now visit my website at https://chr0ma.com
🔔Project Update! ℹ️ Updates Added CONTACT ME section containing Discord & Email contact methods. Added neon borders to all buttons and to the CONTACT ME section. A few other bug fixes and improvements. Almost all boxes expand when you hover over them to make my project feel more alive! 🌐Check it out! Check out my website by going to: https://chr0ma.com
🔔 Project Update! ℹ️ New Features Completely revamped THINGS I CAN DO section. Added images to make it look better :) Buttons now expand on hover. 🌐 Check It Out! Check out my website by going to: https://chr0ma.com
🔔Project Update! ℹ️ New Features Added “Other Cool Things” section to home page. Added more options to the “Contact Me” section. Added the official Hack Club Webring to the footer. Updated my profile picture on the site! Made a custom email so that people don’t send a bunch of stuff to my personal email! 🌐 Check it out! Click here to check out my website!
🔔 Project Update! ℹ️ New Features Added a new “favs” page to show off stuff that I use or like. Changed the alignment on all boxes style (now they stay at the top) 🌐 Check It Out! Click Here to try out my website!
🔔 Final Devlog ℹ️ New Features Added Blog Added First Blog Entree Bug Fixes & Improvements 🌐 Final Product Access Demo Link Source Code Readme
PROJECT UPDATE Gonna be completely honest, I used a good amount of AI for this one to get my status because I can’t do JavaScript because I’m too much of an idiot. I tried to do enough as possible by myself but this website and like everything is just hard for me because I have to share a computer with my siblings and yeh… My original plan was to get a MacBook for making this website but I guess that’s like impossible because I don’t have enough time this summer… 😟
🔔 Project Update This update does not add much, but it does update current features. Much of the time logged for this was for features I attempted to add, but failed. New Features This update introduces a huge bug fix to the status dot and live activities. The status dot now shows as green when I am on Discord or Slack . Previously, it only showed for Discord, but now if I’m not on Discord it will also check to see if I’m on Slack. The Live Activities now show when I’m on a game on Luna or playing music on Spotify. Failed Features I had many ideas that failed. This interests me because I started with Scratch and then moved into Web Development. Until this point, I had no idea that even with HTML , CSS , and JavaScript - There are still limits. Eventually, I plan to make a new website with React or Next.js and actually implement these features. Animations when you open the page. Page Transition Animations. Live Activity for Visual Studio Code. - This one would work, I just don’t have a MacBook so I can’t have Discord open as an app because my laptop is way too slow. 💡The Plan I am currently using Codédex from the GitHub Student Developer Pack to become a Full Stack Developer. After I learn, I plan to come back and try again on this website. In the meantime, I plan to make some cool projects this summer along with learning through Codédex. Hopefully I win a MacBook!
Ships:
🌐 Personal Website 📋 Features I made my first personal website! It features a green neon theme with lot’s of hover effects and other immersive features. It contains a Homepage, Projects, Favs, & Blog Pages. I have tons of information about me on this site! 🤬 Challenges I faced many problems when making this website, but the biggest one was Flexboxes. Flexboxes are used to arrange your content on the page. I always had issues with something being on the wrong line, or having to make another to change the layout from row to column! It was a lot of work, but now it’s done and it looks beautiful! 💻 How to Access You can access my personal website by tapping the “Try Project” button or by going to: https://chr0ma.com...
|
1792835647.718776
|
1792922047.718776
|