|
68
|
Chaira by @YouSafe | Stardance
|
YouSafe
|
1
|
95.0
|
967
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T17:40:42Z", "hours": 95.0, "multiplier": 15.62, "payout": 967, "blessing": "neutral", "text": "project is done :D i hope yall enjoy it, the ui is better than last time and the backend is faster than it was :3 but its running in a twinkpad so ig its not going to be a big factor", "repo": "https://github.com/Y0usaf3/chaira/tree/ui-design", "demo": "https://chaira.y0usaf3.top/dashboard"}]...
|
[{"post_id": 30227, "ts": "202 [{"post_id": 30227, "ts": "2026-07-17T17:16:53Z", "hours": 7.99, "text": "boom, worked on a user page, the table component got polished af and now the project is shippable enought i feel like i write very short devlogs for some reason"}, {"post_id": 27217, "ts": "2026-07-12T16:18:21Z", "hours": 6.4719, "text": "added some context menu :p and also fixed a few issues when updating the cell and now im close to finishing this"}, {"post_id": 22431, "ts": "2026-07-04T21:57:16Z", "hours": 28.9733, "text": "yippee finally made the table component, now you can add fields and add records, and edit stuff, well there is still dropdowns to do extra stuff with fields but its already gud trust!"}, {"post_id": 12497, "ts": "2026-06-20T12:31:38Z", "hours": 20.5597, "text": "ah yes, sorry for not posting devlogs, got a bit too busy, so here it is, the base page, and also fixed the deployement which prob took most of the time, i also worked on the dashboard, still too simple rn but it looks pretty good so far, i will make a simple table page now , not using websocket as supposed to do in my plan but for the sake of shipping now lol"}, {"post_id": 8118, "ts": "2026-06-13T15:31:48Z", "hours": 11.3353, "text": "finally finished most of the backend, now i started making the ui and overall design, im going to deploy this somewhere so ppl can see the updates and try it out :3"}, {"post_id": 3609, "ts": "2026-06-06T16:42:49Z", "hours": 7.9256, "text": "finally added convertion code between all those types, that was hell, but now we can totally rely on the core to handle the type convertion for us ;3"}, {"post_id": 1709, "ts": "2026-06-03T21:25:58Z", "hours": 1.5189, "text": "so i was coding the convertion strategy for SingleLine and LongText, but i was going to accidentally invoke a demon"}, {"post_id": 1068, "ts": "2026-06-02T21:39:25Z", "hours": 5.7936, "text": "was redesigning the Record/field system since it was poorly made, i made a trait for ValueTypes and a macro to easly write convertion code for each type (also hackatime wouldnt track all da time i spent writing on my note book 3:<)"}, {"post_id": 431, "ts": "2026-06-01T20:42:12Z", "hours": 3.8186, "text": "was working on the cache, but it wasnt fast enough so instead we store the sessions in memory in the server directly for a short amount of time, and we refresh from redis, just gonna make sure it actually saves the data :p oh and the speed seems to be very unstable for some reason XD"}, {"post_id": 96, "ts": "2026-05-31T18:13:31Z", "hours": 0.4222, "text": "working on the caching part using redis, its mostly working for the session logic, and will soon use it for other tasks"}]...
|
Title: Chaira by @YouSafe | Stardance
Devlogs:
wo Title: Chaira by @YouSafe | Stardance
Devlogs:
working on the caching part using redis, its mostly working for the session logic, and will soon use it for other tasks
was working on the cache, but it wasnt fast enough so instead we store the sessions in memory in the server directly for a short amount of time, and we refresh from redis, just gonna make sure it actually saves the data :p oh and the speed seems to be very unstable for some reason XD
was redesigning the Record/field system since it was poorly made, i made a trait for ValueTypes and a macro to easly write convertion code for each type (also hackatime wouldnt track all da time i spent writing on my note book 3:<)
so i was coding the convertion strategy for SingleLine and LongText, but i was going to accidentally invoke a demon
finally added convertion code between all those types, that was hell, but now we can totally rely on the core to handle the type convertion for us ;3
finally finished most of the backend, now i started making the ui and overall design, im going to deploy this somewhere so ppl can see the updates and try it out :3
ah yes, sorry for not posting devlogs, got a bit too busy, so here it is, the base page, and also fixed the deployement which prob took most of the time, i also worked on the dashboard, still too simple rn but it looks pretty good so far, i will make a simple table page now , not using websocket as supposed to do in my plan but for the sake of shipping now lol
yippee finally made the table component, now you can add fields and add records, and edit stuff, well there is still dropdowns to do extra stuff with fields but its already gud trust!
added some context menu :p and also fixed a few issues when updating the cell and now im close to finishing this
boom, worked on a user page, the table component got polished af and now the project is shippable enought i feel like i write very short devlogs for some reason
Ships:
project is done :D i hope yall enjoy it, the ui is better than last time and the backend is faster than it was :3 but its running in a twinkpad so ig its not going to be a big factor...
|
1792986922.478417
|
1793073322.478417
|
|
69
|
Devboard by @Naytik | Stardance
|
Naytik
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-18T12:30:49Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is an Simple RP2040 powered devboard which I designed myself! I messed the wiring in KiCAD by using 2 almost identical but very different 3.3v nets and did not spot it until I fabricated my board. I fixed it by using a bodge wire to wire the 3.3v pin from the voltage regulator to one of the 3.3v pins on the decoupling capacitors. In the end I think I fried the voltage regulators on both my boards as they were only outputting 1.3v, I ended up hijacking the 3.3v pins on my arduino uno to provide my board with the power is required!", "repo": "https://github.com/NoIwantyourcode/Devboard", "demo": ""}]...
|
[{"post_id": 11241, "ts": "202 [{"post_id": 11241, "ts": "2026-06-18T11:59:58Z", "hours": 2.3636, "text": "I troubleshooted, assembled and tested the devboard. When I got my devboard, I realised that it didn’t work because there were 2 3.3v nets and they were not being connected, after linking the 2 3.3v nets together using a bodge wire I realised that the devboard still wasn’t getting enough power as the 3.3v voltage regulator was only outputting 1.3v, I ended up using an Arduno Uno’s 3.3v pins + some jumper cables to provide power to the board. In the end I was able to make the board work just fine without too many problems!! here is a picture of the board in the end"}]...
|
Title: Devboard by @Naytik | Stardance
Devlogs:
I Title: Devboard by @Naytik | Stardance
Devlogs:
I troubleshooted, assembled and tested the devboard. When I got my devboard, I realised that it didn’t work because there were 2 3.3v nets and they were not being connected, after linking the 2 3.3v nets together using a bodge wire I realised that the devboard still wasn’t getting enough power as the 3.3v voltage regulator was only outputting 1.3v, I ended up using an Arduno Uno’s 3.3v pins + some jumper cables to provide power to the board. In the end I was able to make the board work just fine without too many problems!! here is a picture of the board in the end
Ships:
This is an Simple RP2040 powered devboard which I designed myself! I messed the wiring in KiCAD by using 2 almost identical but very different 3.3v nets and did not spot it until I fabricated my board. I fixed it by using a bodge wire to wire the 3.3v pin from the voltage regulator to one of the 3.3v pins on the decoupling capacitors. In the end I think I fried the voltage regulators on both my boards as they were only outputting 1.3v, I ended up hijacking the 3.3v pins on my arduino uno to provide my board with the power is required!...
|
1792972469.3840587
|
1793058869.3840587
|
|
87
|
Pterodactyl Panel (Android App) by @stefdp | Stard Pterodactyl Panel (Android App) by @stefdp | Stardance...
|
stefdp
|
1
|
157.29
|
1608
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T14:34:43Z", "hours": 106.0, "multiplier": 15.23, "payout": 1608, "blessing": "neutral", "text": "For rating & testing the project, please first read all of the text in the release. I made an Android app to manage your self-hosted Pterodactyl Panel instance (Currently only the client side, later I’ll also add the admin side). For who doesn’t know, Pterodactyl Panel is a panel usually used to manage game servers, but it can run anything, each server is just a docker container. The most challenging part was prob downloading files, and it still confuses me tbh because on the Android Studio emulator it works fine, but when if I try it on my actual phone (Samsung A55 5G) it randomly stops after a few seconds and I can’t seem to understand why", "repo": "https://git.stefdp.com/Stef/Pterodactyl-Panel-Android-App", "demo": "https://git.stefdp.com/Stef/Pterodactyl-Panel-Android-App/releases/latest"}]...
|
[{"post_id": 55643, "ts": "202 [{"post_id": 55643, "ts": "2026-08-27T16:32:55Z", "hours": 2.5833, "text": "Added updated checking For F-Droid flavor it doesn’t do anything For APK flavor it checks my git repo For Play Store flavor it uses play store com.google.android.play:app-update library Updated the app site, available at https://ptero.stefdp.com Updated the changelog & app images in the fastlane folder Added an animation when switching between loading states with circular loading"}, {"post_id": 55485, "ts": "2026-08-27T11:17:55Z", "hours": 1.5147, "text": "Added optional biometric authentication so people can lock their app behind phone code or biometric verification (like fingerprint etc.)"}, {"post_id": 54826, "ts": "2026-08-25T23:53:13Z", "hours": 3.245, "text": "Created nests, nest & nest egg screens For nest egg screen, created 3 tabs: Configuration Variables Install Script it was pretty easy and quick to create those cuz they’re read-only as there’s no API endpoint to edit/delete them Added a back handler in the tabbed screens so that back button now goes to the previous tab instead of the entire previous screen In the client servers screen added a switch to see others’ server (admin only) Fixed capitalization in the getNestEgg function ( eggid -> eggId )"}, {"post_id": 54513, "ts": "2026-08-25T15:20:42Z", "hours": 2.9808, "text": "Created users & user screen Updated the AGP (Android Gradle Plugin) Table headers now properly support multi line text (previously if one text was multiline while everything else wasn’t, all the divider would have a gap on the bottom except for the multiline one) In the client server screen, settings tab the UUID is now aligned to the right Improved screen change when deleting a server/node/user/location (instead of navController.popBackStack() (which basically acts as the back button) i specifically navigate to generic screen (eg. “user” -> “users”) and remove current screen from the back history so in the case that there is no screen to back into (eg if the app is opened via a deep link or stuff like that) it will go to the generic tab anyway) Added pull to refresh in the location screen"}, {"post_id": 53949, "ts": "2026-08-24T17:33:07Z", "hours": 1.9753, "text": "Created server manage tab (only reinstall & suspend/unsuspend cuz there seem to be no API endpoint to toggle install status & transfer) Created server delete tab Added 2 new button types, SUCCESS (green) and WARNING (yellow) In the admin server screen now most tabs are hidden whent he server is installing"}, {"post_id": 53378, "ts": "2026-08-23T22:08:42Z", "hours": 1.3206, "text": "Created the admin server databases tab (it only supports resetting the password and deleting the databases because for creating a database i need the hosts IDs, which there seem to be no API endpoint to get them) Added a modifier param to the Container component In the client server screen added a param to directly switch to the databases tab (this is used when the user goes from the admin server screen to the client server screen) Fixed “Missing Server ID” notification when client server is opened with databases tab as first tab"}, {"post_id": 52489, "ts": "2026-08-22T17:05:09Z", "hours": 1.9144, "text": "Created the server startup tab Changed the way Container components are spaced in the Build Configuration tab and create server popup In the create server popup disabled the docker image select when only 1 image is available"}, {"post_id": 52173, "ts": "2026-08-22T08:15:57Z", "hours": 4.4989, "text": "Created server screen with its: About tab Details tab Build Configuration tab Fixed pull to reload, it was updating the refreshIndex variable before the main resource actually refreshed and this caused the tabs not to refresh unless the user pulled to refresh twice CodeText component now uses default text style & font weight instead of pre-defined ones (for some reasons with pre-defined ones, in the ScrollableTabRow component it adds like a margin on the bottom of the blue active indicator) Updated UpdateServerDetailsBody to mark required fields as non-nullable In the server owner select, fixed the selected user disappearing if it was not in the search results In the allocation selects: Made the UI use alias:port when an alias is available, otherwise will default to ip:port Moved the ip:port text to a variable to avoid writing the same thing twice"}, {"post_id": 50274, "ts": "2026-08-19T13:03:15Z", "hours": 2.3186, "text": "Added server creation Added a searchable property in the Select component that adds a text input to filter the options Created a regex to check node & server names"}, {"post_id": 49934, "ts": "2026-08-18T22:04:46Z", "hours": 1.0625, "text": "All *Include enums are now chainable so doing ListNodesQueryInclude.SERVERS + ListServersQueryInclude.USER returns servers.user Also now instead of <enum>.toQueryString(...) (like ListServersQueryInclude.toQueryString(...) ) i do listOf(...).toQueryString() Used the new include enum chaining in 2 places: node servers tab: it now makes way less HTTP requests since the user, nest & egg are directly returned with the server, saving me from making multiple HTTP requests to fetch all users, nests & eggs (which would’ve taken a long time on a large server that for example has thousands of users, since it was fetching at a rate of 50 users per HTTP request, and it being a mobile app, internet might not be fast too) servers screen, now it fetches the egg variable together with the nest instead of having to fetch the egg’s data Moved ApiErrorResponse in a models folder for better organization this is a code only change so ig i’ll show pics of the code"}, {"post_id": 49856, "ts": "2026-08-18T20:07:04Z", "hours": 5.0992, "text": "Created the servers screen (WIP, inputs are untested and creating servers is not implemented yet) Created node servers tab Added pagination to the list nests HTTP request response Removed useless reset of the allocations in the node allocations tab In the created node popup, switched some inputs description from \"quoted\" test to actual inline code blocks CodeText component now uses CharSequence instead of String so it also supports annotated strings Switched main components from Text to CodeText Application server status is now an enum Updated list nests query to include eggs variables too (i just found out i can do this so i’m gonna prob do in in all the other ones in the next devlog too)"}, {"post_id": 48195, "ts": "2026-08-16T14:20:45Z", "hours": 4.3858, "text": "Created the node allocations tab The servers screen now shows the server description when available The 2FA check now considers 2FA as enabled even if the status code is 400 other than checking the error message (ptero got no way of knowing if 2FA is enabled other than that ) Update the TextInput component to allow showing optional suggestions (used in the assign new allocations popup, IP Address input) The Checkbox component now is more transparent when disabled (from 0.5 to 0.2 alpha) Changed how padding works in the Pager component Updated the Table component to add a param to disable lazy loading (for some reason it was laggier) Updated the libs"}, {"post_id": 47489, "ts": "2026-08-15T13:07:23Z", "hours": 2.2333, "text": "Created the node configuration tab Renamed the CodeText component to CodeBlockText and added params to highlight the content with a specific language Created the CodeText component to have both normal text and inline code text (kinda like markdown when you do this )"}, {"post_id": 47046, "ts": "2026-08-14T17:23:43Z", "hours": 1.6747, "text": "Create the settings tab in the node screen Added enabled state to all the inputs & switches in the create node popup Updated the updateNode function’s body & params since some required params were marked as nullable"}, {"post_id": 46843, "ts": "2026-08-14T11:23:01Z", "hours": 2.9253, "text": "Created the node screen & its about tab Moved node specific endpoints to their own ApiService instead of having them in the ApplicationApiService and added 2 endpoints to respectively fetch system data in v1 and v2 Made it so create new node button is disabled until all locations are fetched"}, {"post_id": 45978, "ts": "2026-08-12T20:16:10Z", "hours": 2.9544, "text": "Created the popup to create a node When fetching the node lists, now it also fetches all the locations (needed for a select in the create popup) Added fastlane metadata (will be used for F-Droid in the future) The Popup component now has a scrollbar Updated the scrollbar so now it only shows up when the container has enough contents to be scrollable Added an arrangement property in the Table ’s headers & row cells so that i can center certain things Updated TextInput and Switch components to make their description text color customizable Updated the workflow to automatically push the .aab file to play store after it’s built and made the release (hopefully, i didn’t test it) Fixed create location popup not clearing the inputs upon closing"}, {"post_id": 45461, "ts": "2026-08-11T23:00:38Z", "hours": 0.5592, "text": "Fixed admins not being able to manage servers subusers’ permissions Fixed not being aple to open sub-directories in the file browser Fixed create location popup not closing after creating the location"}, {"post_id": 45335, "ts": "2026-08-11T18:39:18Z", "hours": 1.6944, "text": "Created nodes screen (missing the popup to create a node for now) App name is now dynamically generated in the build.gradle.kts file (so debug build get the (Debug) suffix) Added an HTTP endpoint to check a node status"}, {"post_id": 45109, "ts": "2026-08-11T11:53:58Z", "hours": 0.4881, "text": "Created a CodeText component to display text as code (kinda like this ) and applied it in all the places where I previously just copy pasted same code Creating an API key now copies the key to the clipboard"}, {"post_id": 45061, "ts": "2026-08-11T10:17:04Z", "hours": 5.8633, "text": "Created the locations screen Created the location screen Took and modified to adapt to this app the Table component, originally from my Zipline app Fixed the pull to refresh, when calling onRefresh it didn’t actually set isRefreshing to true so the spinner would immediately disappear instead of swithcing to the spinner state till it finished loading Removed the page property from functions since the page is already stored in the viewModel so it made no sense to retrieve it from the viewModel just to send it to a function in the viewModel Fixed the formatDate function, it was crashing the app on older Android versions (<= 13) because the date time parser couldn’t understand the timezone (it expected a date like 2026-08-08-T15:43:30Z instead of 2026-08-08-T15:43:30+02:00 ) Added a new primary color variant that looks good enough on light bgs Fixed some multi-line TextInput s being marked as singleLine"}, {"post_id": 42647, "ts": "2026-08-07T14:13:23Z", "hours": 0.4458, "text": "Fixed the pull to refresh box having incorrect padding, so the circle was being hidden by the header and by the time it was out, it was already fully pulled and so it would refresh Updated the README also did some tests with downloading but i failed so i just undid them without committing or anything"}, {"post_id": 42285, "ts": "2026-08-06T22:21:15Z", "hours": 2.0292, "text": "Created a website for the app & a privacy policy (that was needed for the play store app), it’s available at https://ptero.stefdp.com Added a prompt to request the notification permission in the login screen and a button in the settings in case you want to enable notification in a second moment Improved the eventDescription variable in the ActivityDisplay component (i didn’t even know that was possible, i found it out cuz i made a _count variable and android studio suggested me to put it directly in the when , lmao) Updated versioning to follow SemVer ( 1.0 -> 1.0.0 )"}, {"post_id": 41895, "ts": "2026-08-06T12:09:27Z", "hours": 3.0606, "text": "in the account settings screen added a tab for the app settings Fixed some activity log event having incorrect names and causing the app to crash Added an action to build the app when the commit is prefixed with [build] or [release] Moved the *Scrollbar modifiers above any padding modifier so they look better Switch ScrollableTabRow to a normal Row instead of LazyRow since it’ll never have enough items to cause any lag Updated the README Removed the admin input in the login screen since it’s currently not available"}, {"post_id": 41497, "ts": "2026-08-05T19:00:04Z", "hours": 1.0289, "text": "In the account settings screen created the activity tab (i think i finished all the client side of the app , now i just gotta finish the small importance TODOs like removing the padding to the scrollbar in most scrollable views & stuff like that) Moved ActivityDisplay in the general components as it’s used in the accoutn activity too Updated ActivityDisplay to include the user agent button when available"}, {"post_id": 41417, "ts": "2026-08-05T16:42:56Z", "hours": 0.65, "text": "In the account settings screen added the SSH Keys tab (basically a almost full copy paste of the API Credentials for the frontend) Fixed capitalization of a variable & function in the api key tab"}, {"post_id": 41037, "ts": "2026-08-04T23:29:22Z", "hours": 2.9483, "text": "In the account settings screen created the API credentials tab Update the server screen so each tabs remembers its own data after switching to another tab (previously it would reset when the user switched to another tab). Also tabs now only fetch data on first render, then they use the previously fetched data instead of re-fetching, unless the user manually refreshes via the “pull to refresh” action (the thing where you swipe from top to down and it shows the refresh circle, idk it’s “professional” name ) Applied same changes as above to the account settings screen Updated the formatDate function to include a param to toggle the year in the date"}, {"post_id": 40669, "ts": "2026-08-04T11:04:30Z", "hours": 5.4211, "text": "Added the account settings screen and its account tab (now missing “API Credentials”, “SSH Keys” and “Activity” tabs, then the app is done ) in the server screen’s files tab file names are now limited to one line and if they overflow, they get cut off and “…” is added Now each warning popup in the server screen has its own icon instead of all using the suspended icon in all places, replaced refreshIndex += 1 with refreshIndex++ The app now no longer shows “Missing Server ID” toast as soon as you open a server Fixed disable 2FA endpoint (i forgot to add /disable at the end and i was wondering why 2FA wasn’t getting disabled even tho the request succeeded (without /disable it acts as enable endpoint)) Fixed get qr code response as it was different from what the API docs listed In the get qr code function added a secondary response to tell that 2FA is already enabled (used to check 2FA status so i know whether to show enable or disable button in the 2FA cuz the user object doesn’t tell me if the user has 2FA on … shitty API fr) Added a simple regex to parse emails (so the change email button is enabled only if this regex passes) Servers screen now uses a normal Column instead of a LazyColumn as lazily loading the server was causing more lag than loading all at once (after all it’s just 10 servers per page) Same as above for the server screen activity tab (jusy 25 logs per page) Fixed the pagination system in servers screen and server screen activity tab (for total amount of pages it was using the total amount of items in the current pages ( .total ) instead of the total number of pages ( .totalPages ), idk how i missed that ) Moved the file picker stuff outside of the LazyColumn & put the permissions in a remember to hopefully try to decrease lag I wanted to make a screen rec but i was too lazy to then go and censor my 2FA secret"}, {"post_id": 39547, "ts": "2026-08-02T15:55:34Z", "hours": 5.2503, "text": "Created the activity tab (finally finished all server tabs :D) along with a function to parse the variables in the logs’ description Improved loading for schedules, backup and databases tabs Fixed JSON text highlighting not highlighting strings inside of arrays Added padding for the Waterfall Cutout (aka screens with rounded edges) in the Header and ScrollableTabRow components In the settings tab added a popup to confirm the reinstallation of the server Added the endpoint to get the server activity (idk how i had skipped that one) and its function to call it Renamed AccountActivity to ActivityLog as it’s used in server activity too Installed a lib to generate avatars thta look like “Boring Avatars” one (cuz boring avatars API is paid ) add .trim() to all user inputs Now tabs refresh only when the server ID changes instead of anything in the server object"}, {"post_id": 39101, "ts": "2026-08-01T20:10:32Z", "hours": 4.3317, "text": "Create a custom PullToRefreshBox component that just uses Material3 PullToRefreshBox under the hood, i just made a component so i can easily style it as it’s in 1 single place Added the pull to refresh gesture to servers list & server details screens Added a warning for when the server is suspended, installing, transferring, restoring from a backup or its node is under maintenance (all warnings for now use same icons, i gotta change that) In the servers list servers now are disable and show a pill when they are suspended, installing, transferring, restoring from a backup or their node is under maintenance (basically when the warning is displayed, the server is also disabled aka you can’t access its data like console, files etc.) The app now properly handles padding for devices that have a “waterfall inset” (aka those kind of phones with curved screen at the edge) The top bar in the server list now properly shows a loading state instead of just disappearing and appearing when the user permissions are fetched Created a function hasPermission to check if an user has a certain permission instead of repeating the same code like 20 times Moved StartupContainer to a more general Container Moved ServerStatus enum to Server.Status Removed navController from all tabs as it was unused"}, {"post_id": 38795, "ts": "2026-08-01T11:14:01Z", "hours": 2.0736, "text": "Created the startup tab Made startup variable description nullable as it’s an optional property"}, {"post_id": 38468, "ts": "2026-07-31T21:10:19Z", "hours": 0.7469, "text": "Network tab now just disables all the buttons when loading instead of switching to skeleton loading for any small change like updating an allocation’s notes Doubled hamburger menu icon left padding to match the avatar padding on the right Doubled the gaps between the cards in the backups & network tabs Halved the gaps between the cards in the schedules tab I also tried to make the TextInput label not squared for a while but failed 😭 , for some reasons even if i clip my highest component to rounded corners, it still has the squared bg in the back"}, {"post_id": 38370, "ts": "2026-07-31T18:28:20Z", "hours": 1.9514, "text": "Added the network tab to manage server allocations Added a “Tertiary” button type (just cuz secondary was almost invisible on the allocation bg 🥀) Fixed allocation endpoints using String instead of Long Moved backup popups outside of the padded Column Updated my github username in the readme"}, {"post_id": 36009, "ts": "2026-07-27T20:28:50Z", "hours": 0.4436, "text": "After i tested more the additions of the last devlog i found some issues so here i fixed them Fixed backups downloading as .gz instead of .tar.gz Fixed “Create Backup” not showing up when the current backup count was 0 (making it impossible to create backups at all) Disabled inputs in the restore & create popups when respectively restoring and creating Removed the enabled param in the BackupDisplay as it was basically useless"}, {"post_id": 35992, "ts": "2026-07-27T19:54:26Z", "hours": 4.4839, "text": "Finished the users tab Made the backups tab Made all popup’s horizontal padding equal When editing or creating a new subuser, the permissins that the current user doesn’t have are disabled in the permissions list Disabled the “Create Database” button when at the limit Renamed File to FileDisplay for consistency with other components Fixed edit & create user body still using String instead of ServerSubuser.Permission Fixed the deleteServerBackup function which was marked as GET instead of DELETE Made the truncate param required in the restoreServerBackup function as it’s required in the API"}, {"post_id": 34673, "ts": "2026-07-25T16:12:15Z", "hours": 5.4628, "text": "Started making the users tab but it’s really WIP, none of the buttons except create new user works) Handled subuser permissions for all current tabs Added a LabeledCheckbox component Removed some function params that were pointless to have Installed the Gravatar SDK for the subusers’ avatar I legit think Android Studio is ragebaiting me, as soon as i start the rec the app starts to lag, when i stop the rec it’s fine"}, {"post_id": 34147, "ts": "2026-07-24T17:24:53Z", "hours": 3.77, "text": "Finished handling buttons in the schedules tab & created all the popups for schedule & tasks management In all screens & tab now all the inputs, switches, selects etc. are disabled when loading or making a HTTP request (like delete schedule, update file name etc.) Added a function to convert ISO date strings in human-readable strings Added a missing endpoint to execute a schedule Added a missing only_when_online property in the ServerSchedule data class Fixed schedule & tasks endpoint types (was using String instead of Long for the IDs) Fixed ScrollableTabRow not using all the horizontal space when in landscape mode"}, {"post_id": 33800, "ts": "2026-07-24T00:56:20Z", "hours": 2.5242, "text": "Finished the UI side of the schedule details popup (still WIP for backend like button handling) Moved each popup into its own folder & file to avoid having many long Popup calls at the top of screen/tab files Changed task action from a normal screen to an enum Took the formatDate function from my Zipline app"}, {"post_id": 33067, "ts": "2026-07-22T17:17:14Z", "hours": 4.2242, "text": "Created the schedules tab for the server screen (still WIP, for now only works for displaying & creating schedules, gotta add edit, deletion and task management) Moved each tab to its own ViewModel for better ordering instead of putting everything is a generic one Improved code layout by using return s in some places instead of many if else blocks Fixed ScrollableTabRow component improperly placing icons when there was no text Moved ‘linked’ data class es inside each other so i can do Server.Attributes.Limits instead of having a class with a long name like ApplicationServerAttributesLimits"}, {"post_id": 32681, "ts": "2026-07-22T00:08:40Z", "hours": 5.6317, "text": "Updated the file edit screen to use VSCode’s Dark+ theme colors for highlighting and added Java and CASM/Crawssembly by @The_Craw Added the databases tab with handling for creation, deletion and rotation of the password Fixed rotateServerDatabasePassword and deleteServerDatabase , they were using the wrong endpoint ( /server instead of /servers ) Made each tab independently scrollable instead of making the parent component scrollable Took the IconButton component from my Zipline app and slightly modified it (the MoreActionsButton component now uses that) Changed the Notification object component’s background color"}, {"post_id": 31859, "ts": "2026-07-20T16:06:12Z", "hours": 2.1247, "text": "FInished file handling (handled edit & save files & create new file) Added file highlighting for .env files Fixed writeServerFile having a wrong Content-Type (it had application/json instead of text/plain since the input is a raw string) Fixed HTML syntax highlighting, it wasn’t highlighting the > part of the tag"}, {"post_id": 31721, "ts": "2026-07-20T10:47:03Z", "hours": 2.645, "text": "Added a screen for code editing with simple syntax highlighting (via a newly installed library) and a warning if you try to leave without saving (that’s still WIP, saving isn’t implemented yet and neither reading the content of the selected file) Updated the TextInput component to have a fontFamily property so that in the core editor i can set the text to be monospace On the login screen i disabled the application api key input till the admin side is actually done"}, {"post_id": 31407, "ts": "2026-07-19T19:00:46Z", "hours": 4.4347, "text": "(Sorry for the slightly laggy video, not sure if it’s cuz it’s via a emulator or cuz i compressed the video from 136 MiB down to 36 MB) In the server screen added the handling for download, upload, delete, copy, create folder, rename/move, change permissions, archive & unarchive Filled the File component’s “more actions” menu (before it was empty) Updated uploadServerFiles to be able to upload multiple files at once Added a function to convert linux string permissions (like drwxr-xr-x ) to int/octal (like 755 ) Added a regex for the linux int/octal permission Took the Popup component and Storage object form my Zipline app Updated the SecureStorage class to add the file download folder variable"}, {"post_id": 30962, "ts": "2026-07-18T23:42:06Z", "hours": 2.1631, "text": "Created the Files tab in the server screen (still WIP, most of the buttons do nothing rn) Created a File component to avoid repeating same code Added a new color surfaceContainer used in notifications Took the “More Actions” component from my Zipline app Took the “Checkbox” component from my Zipline app and modified it to be toggleable In server screen disable global scroll on certain tabs as they’d cause the app to crash for infinite scroll moved the WebSocket connection to the Console tab instead of the general server screen, this way it auto reconnects when the user switches back to the console tab (since it disconnects when the user moves to another tab to save resources)"}, {"post_id": 30840, "ts": "2026-07-18T19:40:14Z", "hours": 3.5069, "text": "Added charts to the console tab of the server screen Added a top scrollbar like ptero’s to the server screen and moved the console stuff to its own file for better sorting Created a component for the chart container & top scrollbar to avoid repetition Added AI declaration in the readme cuz i only found out now that it’s required Removed a double new line the Button component"}, {"post_id": 29863, "ts": "2026-07-17T00:51:22Z", "hours": 3.43, "text": "Created the server screen and right now i only made the console section out of all the ones i gotta do (console, files, databases, schedules, users, backups, network, startup, settings & activity) The server screen itself is WIP as it’s missing the buttons to switch between the sections The console tab is also WIP as i haven’t done the line charts for CPU, RAM & Network I/O) (devlogging with this stuff half-made cuz it’s almost 3AM so i gotta sleep ) Took the formatMs function from my zipline app to convert ms to human readable time like “1h 30m 20s” for the server uptime In the WebSocketManager class renamed the setPowerState function to sendPowerSignal as it makes more sense On the console screen i wanted the console to follow its actual colors but only lib i found to do that doesn’t support jetpack compose that well so i had to rely on the XML’s TextView (but in compose thanks to the AndroidView component)"}, {"post_id": 29055, "ts": "2026-07-15T18:23:36Z", "hours": 2.9633, "text": "Fixed websocket not working (apparently it 403’s unless you put the panel URL as Origin header) Added pagination to the servers screen and also made the server load lazily and get unrendered when out of the display Also suspended servers’ names now are grayed out Installed a ANSI parser library to correctly color console output (hopefully it works however they already said it won’t work for outline 😭) Took the scrollbar modifiers from my Zipline app and put a scrollbar in the servers list Created a object to easily access the WebSocketManager from a ViewModel class Currently working on the specific server page, right now it’s empty but i got websocket working, i’ll push it once it’s finished"}, {"post_id": 28568, "ts": "2026-07-14T21:58:36Z", "hours": 3.9736, "text": "Added the UI for the client servers list screen (still gotta finish it tho, just have to add pagination and will only shows 10 servers per page to avoid getting ratelimited as i have to make a separate HTTP request for each server to get their resources usage) Added pterodactyl panel colors to be used in the server status (red, green and yellow) Fixed listServers not working cuz of wrong path (i didn’t know how to tell retrofit to use just the baseUrl , then after it threw an error i googled it and realized i just had to put . ) Updated getServerResources response class, now the server state uses a enum instead of a generic string Updated Server class to better fix some typed and add 1 missing key Added the uploadServerFile HTTP method (i didn’t do i it initially cuz the docs were confusing and i couldn’t understand how to select the upload directory, turns out i was setting the directory query on the request to get the signed url instead of the signed url itself 😭 Improved login process to handle the case when the user logged with just an application api key and not a client one Added application API key validation for the same reason as the login Took shimmerable modifier from my Zipline app to make skeleton loading Added definitions & placeholders for all screens until i make them"}, {"post_id": 28257, "ts": "2026-07-14T12:33:25Z", "hours": 2.8692, "text": "Created Loading and Login Screen After making a HTTP request the app crashed and only then i realized that i didn’t make the HTTP request suspend functions so i fixed it Took the Notification object from my Zipline app, tho i gotta fix it a bit cuz the color is kinda ugly and i still don’t know which one in the palette to use cuz imo none of them fits, maybe i’ll just use a separate color out of the palette for it Updated the TextInput component to add a optional required field which when set to true adds a red * next to the label, might do this with switches too I took some common regex (domain, IPv4, number and decimal) since i might need them later and some of them (domain & IPv4) are also aready used in the login"}, {"post_id": 27777, "ts": "2026-07-13T17:06:27Z", "hours": 2.8914, "text": "Finished creating the methods to call the client API (same as application ones, copy pasted same code and changed method & function vars) (except for the download* ones, i took those from my other app Zipline) I also took the Transfer Service from my Zipline app Updated all the libraries Set target SDK to 37 (Android 17) now i gotta do the frontend part"}, {"post_id": 27272, "ts": "2026-07-12T18:21:50Z", "hours": 0.7419, "text": "Finished creating the methods to call the application API (basically just copy pasted same code and changed the method & the fuction vars) Now i gotta make the same thing for the client API"}, {"post_id": 27163, "ts": "2026-07-12T14:07:41Z", "hours": 1.4042, "text": "Started creating methods to call the API endpoints easily Took the Header component from one of my other apps"}, {"post_id": 26528, "ts": "2026-07-11T12:05:14Z", "hours": 0.8058, "text": "Set up color scheme (right now both light and dark color are the same, idk what colors to use to differ but make it still look like the official app) Added some util modules that i also use in my other apps Created an empty login screen"}, {"post_id": 26500, "ts": "2026-07-11T10:27:23Z", "hours": 0.9733, "text": "I had forgotten to add the client API HTTP endpoint to get the console websocket token & URL so i added it now Added the WebSocket handling (untested) Updated the proguard rules so that HTTP request/response classes are not shrunk or minified by R6"}, {"post_id": 26100, "ts": "2026-07-10T18:05:31Z", "hours": 0.6336, "text": "Finished adding the application API HTTP requests (added application/servers/{serverId}/databases , application/nests and application/nests/{nestId}/eggs ) Also fixed some classes having wrong data cuz i realized that i copy pasted them without actually changing their name in some places 😭 you can see them in the commit here even tho i’m kinda confused cuz in the docs i didn’t see any endpoint to create or manage nests, eggs and database hosts"}, {"post_id": 26051, "ts": "2026-07-10T17:14:07Z", "hours": 2.1628, "text": "Added more application API HTTP requests (all the application/nodes/{nodeId}/allocations , application/locations and application/servers endpoints) you can see them in the commit here"}, {"post_id": 21431, "ts": "2026-07-03T11:41:26Z", "hours": 2.1569, "text": "Added more application API HTTP requests (all the /application/user and /application/nodes endpoints) you can see them in the commit here"}, {"post_id": 7486, "ts": "2026-06-12T14:24:53Z", "hours": 1.1056, "text": "Split the API in 2 types: application and client (as pterodactyl handles those differently with 2 diff api keys) Fixed some wrong or missing types Finished adding the HTTP requests for the client API Started adding the HTTP requests for the application API"}, {"post_id": 7451, "ts": "2026-06-12T12:46:34Z", "hours": 1.6653, "text": "Added more HTTP requests (ngl am too lazy to list them all, just watch them in the commit here )"}, {"post_id": 4342, "ts": "2026-06-07T16:58:23Z", "hours": 4.2092, "text": "Added even more HTTP requests, tho could be not 100% accurate cuz ptero API is shit 😭, the official one is AI generated and has hallucinations…. anyway i added: GET /api/client/account/activity GET /api/client/account/ssh-keys POST /api/client/account/ssh-keys POST /api/client/account/ssh-keys/remove GET /api/client/servers/{identifier} GET /api/client/servers/{identifier}/resources POST /api/client/servers/{identifier}/command POST /api/client/servers/{identifier}/power GET /api/client/servers/{identifier}/databases POST /api/client/servers/{identifier}/databases POST /api/client/server/{serverIdentifier}/databases/{databaseIdentifier)/rotate-password DELETE /api/client/server/{serverIdentifier}/databases/{databaseIdentifier} GET /api/client/servers/{identifier}/files/list GET /api/client/servers/{identifier}/files/contents GET /api/client/servers/{identifier}/files/download POST /api/client/servers/{identifier}/files/write POST /api/client/servers/{identifier}/files/create-folder POST /api/client/servers/{identifier}/files/copy PUT /api/client/servers/{identifier}/files/rename POST /api/client/servers/{identifier}/files/compress POST /api/client/servers/{identifier}/files/decompress POST /api/client/servers/{identifier}/files/delete GET /api/client/servers/{identifier}/files/upload POST /api/client/servers/{identifier}/files/chmod GET /api/client/servers/{identifier}/schedules GET /api/client/servers/{identifier}/schedules/{scheduleIdentifier} POST /api/client/servers/{identifier}/schedules POST /api/client/servers/{identifier}/schedules/{scheduleIdentifier} DELETE /api/client/servers/{identifier}/schedules/{scheduleIdentifier} POST /api/client/servers/{serverIdentifier}/schedules/{scheduleIdentifier}/tasks POST /api/client/servers/{serverIdentifier}/schedules/{scheduleIdentifier}/tasks/{taskIdentifier} DELETE /api/client/servers/{serverIdentifier}/schedules/{scheduleIdentifier}/tasks/{taskIdentifier} Writing all these took alot of time"}, {"post_id": 3759, "ts": "2026-06-06T20:13:46Z", "hours": 1.5667, "text": "Started adding some HTTP requests typedef, still missing alot tho for now i added: GET /api/client GET /api/client/permissions GET /api/client/account GET /api/client/account/two-factor POST /api/client/account/two-factor (enable) POST /api/client/account/two-factor (disable) PUT /api/client/account/email PUT /api/client/account/password GET /api/client/account/api-keys DELETE /api/client/account/api-keys/{identifier} POST /api/client/account/api-keys no frontend yet, i’m doing the backend first"}, {"post_id": 3611, "ts": "2026-06-06T16:44:59Z", "hours": 0.7236, "text": "Just created the app skeleton based on the other 2 apps i’ve already made (with alot of TODOs for now) now working on writing the code for HTTP requests to the pterodactyl API and their response types"}]...
|
Title: Pterodactyl Panel (Android App) by @stefdp Title: Pterodactyl Panel (Android App) by @stefdp | Stardance
Devlogs:
Just created the app skeleton based on the other 2 apps i’ve already made (with alot of TODOs for now) now working on writing the code for HTTP requests to the pterodactyl API and their response types
Started adding some HTTP requests typedef, still missing alot tho for now i added: GET /api/client GET /api/client/permissions GET /api/client/account GET /api/client/account/two-factor POST /api/client/account/two-factor (enable) POST /api/client/account/two-factor (disable) PUT /api/client/account/email PUT /api/client/account/password GET /api/client/account/api-keys DELETE /api/client/account/api-keys/{identifier} POST /api/client/account/api-keys no frontend yet, i’m doing the backend first
Added even more HTTP requests, tho could be not 100% accurate cuz ptero API is shit 😭, the official one is AI generated and has hallucinations…. anyway i added: GET /api/client/account/activity GET /api/client/account/ssh-keys POST /api/client/account/ssh-keys POST /api/client/account/ssh-keys/remove GET /api/client/servers/{identifier} GET /api/client/servers/{identifier}/resources POST /api/client/servers/{identifier}/command POST /api/client/servers/{identifier}/power GET /api/client/servers/{identifier}/databases POST /api/client/servers/{identifier}/databases POST /api/client/server/{serverIdentifier}/databases/{databaseIdentifier)/rotate-password DELETE /api/client/server/{serverIdentifier}/databases/{databaseIdentifier} GET /api/client/servers/{identifier}/files/list GET /api/client/servers/{identifier}/files/contents GET /api/client/servers/{identifier}/files/download POST /api/client/servers/{identifier}/files/write POST /api/client/servers/{identifier}/files/create-folder POST /api/client/servers/{identifier}/files/copy PUT /api/client/servers/{identifier}/files/rename POST /api/client/servers/{identifier}/files/compress POST /api/client/servers/{identifier}/files/decompress POST /api/client/servers/{identifier}/files/delete GET /api/client/servers/{identifier}/files/upload POST /api/client/servers/{identifier}/files/chmod GET /api/client/servers/{identifier}/schedules GET /api/client/servers/{identifier}/schedules/{scheduleIdentifier} POST /api/client/servers/{identifier}/schedules POST /api/client/servers/{identifier}/schedules/{scheduleIdentifier} DELETE /api/client/servers/{identifier}/schedules/{scheduleIdentifier} POST /api/client/servers/{serverIdentifier}/schedules/{scheduleIdentifier}/tasks POST /api/client/servers/{serverIdentifier}/schedules/{scheduleIdentifier}/tasks/{taskIdentifier} DELETE /api/client/servers/{serverIdentifier}/schedules/{scheduleIdentifier}/tasks/{taskIdentifier} Writing all these took alot of time
Added more HTTP requests (ngl am too lazy to list them all, just watch them in the commit here )
Split the API in 2 types: application and client (as pterodactyl handles those differently with 2 diff api keys) Fixed some wrong or missing types Finished adding the HTTP requests for the client API Started adding the HTTP requests for the application API
Added more application API HTTP requests (all the /application/user and /application/nodes endpoints) you can see them in the commit here
Added more application API HTTP requests (all the application/nodes/{nodeId}/allocations , application/locations and application/servers endpoints) you can see them in the commit here
Finished adding the application API HTTP requests (added application/servers/{serverId}/databases , application/nests and application/nests/{nestId}/eggs ) Also fixed some classes having wrong data cuz i realized that i copy pasted them without actually changing their name in some places 😭 you can see them in the commit here even tho i’m kinda confused cuz in the docs i didn’t see any endpoint to create or manage nests, eggs and database hosts
I had forgotten to add the client API HTTP endpoint to get the console websocket token & URL so i added it now Added the WebSocket handling (untested) Updated the proguard rules so that HTTP request/response classes are not shrunk or minified by R6
Set up color scheme (right now both light and dark color are the same, idk what colors to use to differ but make it still look like the official app) Added some util modules that i also use in my other apps Created an empty login screen
Started creating methods to call the API endpoints easily Took the Header component from one of my other apps
Finished creating the methods to call the application API (basically just copy pasted same code and changed the method & the fuction vars) Now i gotta make the same thing for the client API
Finished creating the methods to call the client API (same as application ones, copy pasted same code and changed method & function vars) (except for the download* ones, i took those from my other app Zipline) I also took the Transfer Service from my Zipline app Updated all the libraries Set target SDK to 37 (Android 17) now i gotta do the frontend part
Created Loading and Login Screen After making a HTTP request the app crashed and only then i realized that i didn’t make the HTTP request suspend functions so i fixed it Took the Notification object from my Zipline app, tho i gotta fix it a bit cuz the color is kinda ugly and i still don’t know which one in the palette to use cuz imo none of them fits, maybe i’ll just use a separate color out of the palette for it Updated the TextInput component to add a optional required field which when set to true adds a red * next to the label, might do this with switches too I took some common regex (domain, IPv4, number and decimal) since i might need them later and some of them (domain & IPv4) are also aready used in the login
Added the UI for the client servers list screen (still gotta finish it tho, just have to add pagination and will only shows 10 servers per page to avoid getting ratelimited as i have to make a separate HTTP request for each server to get their resources usage) Added pterodactyl panel colors to be used in the server status (red, green and yellow) Fixed listServers not working cuz of wrong path (i didn’t know how to tell retrofit to use just the baseUrl , then after it threw an error i googled it and realized i just had to put . ) Updated getServerResources response class, now the server state uses a enum instead of a generic string Updated Server class to better fix some typed and add 1 missing key Added the uploadServerFile HTTP method (i didn’t do i it initially cuz the docs were confusing and i couldn’t understand how to select the upload directory, turns out i was setting the directory query on the request to get the signed url instead of the signed url itself 😭 Improved login process to handle the case when the user logged with just an application api key and not a client one Added application API key validation for the same reason as the login Took shimmerable modifier from my Zipline app to make skeleton loading Added definitions & placeholders for all screens until i make them
Fixed websocket not working (apparently it 403’s unless you put the panel URL as Origin header) Added pagination to the servers screen and also made the server load lazily and get unrendered when out of the display Also suspended servers’ names now are grayed out Installed a ANSI parser library to correctly color console output (hopefully it works however they already said it won’t work for outline 😭) Took the scrollbar modifiers from my Zipline app and put a scrollbar in the servers list Created a object to easily access the WebSocketManager from a ViewModel class Currently working on the specific server page, right now it’s empty but i got websocket working, i’ll push it once it’s finished
Created the server screen and right now i only made the console section out of all the ones i gotta do (console, files, databases, schedules, users, backups, network, startup, settings & activity) The server screen itself is WIP as it’s missing the buttons to switch between the sections The console tab is also WIP as i haven’t done the line charts for CPU, RAM & Network I/O) (devlogging with this stuff half-made cuz it’s almost 3AM so i gotta sleep ) Took the formatMs function from my zipline app to convert ms to human readable time like “1h 30m 20s” for the server uptime In the WebSocketManager class renamed the setPowerState function to sendPowerSignal as it makes more sense On the console screen i wanted the console to follow its actual colors but only lib i found to do that doesn’t support jetpack compose that well so i had to rely on the XML’s TextView (but in compose thanks to the AndroidView component)
Added charts to the console tab of the server screen Added a top scrollbar like ptero’s to the server screen and moved the console stuff to its own file for better sorting Created a component for the chart container & top scrollbar to avoid repetition Added AI declaration in the readme cuz i only found out now that it’s required Removed a double new line the Button component
Created the Files tab in the server screen (still WIP, most of the buttons do nothing rn) Created a File component to avoid repeating same code Added a new color surfaceContainer used in notifications Took the “More Actions” component from my Zipline app Took the “Checkbox” component from my Zipline app and modified it to be toggleable In server screen disable global scroll on certain tabs as they’d cause the app to crash for infinite scroll moved the WebSocket connection to the Console tab instead of the general server screen, this way it auto reconnects when the user switches back to the console tab (since it disconnects when the user moves to another tab to save resources)
(Sorry for the slightly laggy video, not sure if it’s cuz it’s via a emulator or cuz i compressed the video from 136 MiB down to 36 MB) In the server screen added the handling for download, upload, delete, copy, create folder, rename/move, change permissions, archive & unarchive Filled the File component’s “more actions” menu (before it was empty) Updated uploadServerFiles to be able to upload multiple files at once Added a function to convert linux string permissions (like drwxr-xr-x ) to int/octal (like 755 ) Added a regex for the linux int/octal permission Took the Popup component and Storage object form my Zipline app Updated the SecureStorage class to add the file download folder variable
Added a screen for code editing with simple syntax highlighting (via a newly installed library) and a warning if you try to leave without saving (that’s still WIP, saving isn’t implemented yet and neither reading the content of the selected file) Updated the TextInput component to have a fontFamily property so that in the core editor i can set the text to be monospace On the login screen i disabled the application api key input till the admin side is actually done
FInished file handling (handled edit & save files & create new file) Added file highlighting for .env files Fixed writeServerFile having a wrong Content-Type (it had application/json instead of text/plain since the input is a raw string) Fixed HTML syntax highlighting, it wasn’t highlighting the > part of the tag
Updated the file edit screen to use VSCode’s Dark+ theme colors for highlighting and added Java and CASM/Crawssembly by @The_Craw Added the databases tab with handling for creation, deletion and rotation of the password Fixed rotateServerDatabasePassword and deleteServerDatabase , they were using the wrong endpoint ( /server instead of /servers ) Made each tab independently scrollable instead of making the parent component scrollable Took the IconButton component from my Zipline app and slightly modified it (the MoreActionsButton component now uses that) Changed the Notification object component’s background color
Created the schedules tab for the server screen (still WIP, for now only works for displaying & creating schedules, gotta add edit, deletion and task management) Moved each tab to its own ViewModel for better ordering instead of putting everything is a generic one Improved code layout by using return s in some places instead of many if else blocks Fixed ScrollableTabRow component improperly placing icons when there was no text Moved ‘linked’ data class es inside each other so i can do Server.Attributes.Limits instead of having a class with a long name like ApplicationServerAttributesLimits
Finished the UI side of the schedule details popup (still WIP for backend like button handling) Moved each popup into its own folder & file to avoid having many long Popup calls at the top of screen/tab files Changed task action from a normal screen to an enum Took the formatDate function from my Zipline app
Finished handling buttons in the schedules tab & created all the popups for schedule & tasks management In all screens & tab now all the inputs, switches, selects etc. are disabled when loading or making a HTTP request (like delete schedule, update file name etc.) Added a function to convert ISO date strings in human-readable strings Added a missing endpoint to execute a schedule Added a missing only_when_online property in the ServerSchedule data class Fixed schedule & tasks endpoint types (was using String instead of Long for the IDs) Fixed ScrollableTabRow not using all the horizontal space when in landscape mode
Started making the users tab but it’s really WIP, none of the buttons except create new user works) Handled subuser permissions for all current tabs Added a LabeledCheckbox component Removed some function params that were pointless to have Installed the Gravatar SDK for the subusers’ avatar I legit think Android Studio is ragebaiting me, as soon as i start the rec the app starts to lag, when i stop the rec it’s fine
Finished the users tab Made the backups tab Made all popup’s horizontal padding equal When editing or creating a new subuser, the permissins that the current user doesn’t have are disabled in the permissions list Disabled the “Create Database” button when at the limit Renamed File to FileDisplay for consistency with other components Fixed edit & create user body still using String instead of ServerSubuser.Permission Fixed the deleteServerBackup function which was marked as GET instead of DELETE Made the truncate param required in the restoreServerBackup function as it’s required in the API
After i tested more the additions of the last devlog i found some issues so here i fixed them Fixed backups downloading as .gz instead of .tar.gz Fixed “Create Backup” not showing up when the current backup count was 0 (making it impossible to create backups at all) Disabled inputs in the restore & create popups when respectively restoring and creating Removed the enabled param in the BackupDisplay as it was basically useless
Added the network tab to manage server allocations Added a “Tertiary” button type (just cuz secondary was almost invisible on the allocation bg 🥀) Fixed allocation endpoints using String instead of Long Moved backup popups outside of the padded Column Updated my github username in the readme
Network tab now just disables all the buttons when loading instead of switching to skeleton loading for any small change like updating an allocation’s notes Doubled hamburger menu icon left padding to match the avatar padding on the right Doubled the gaps between the cards in the backups & network tabs Halved the gaps between the cards in the schedules tab I also tried to make the TextInput label not squared for a while but failed 😭 , for some reasons even if i clip my highest component to rounded corners, it still has the squared bg in the back
Created the startup tab Made startup variable description nullable as it’s an optional property
Create a custom PullToRefreshBox component that just uses Material3 PullToRefreshBox under the hood, i just made a component so i can easily style it as it’s in 1 single place Added the pull to refresh gesture to servers list & server details screens Added a warning for when the server is suspended, installing, transferring, restoring from a backup or its node is under maintenance (all warnings for now use same icons, i gotta change that) In the servers list servers now are disable and show a pill when they are suspended, installing, transferring, restoring from a backup or their node is under maintenance (basically when the warning is displayed, the server is also disabled aka you can’t access its data like console, files etc.) The app now properly handles padding for devices that have a “waterfall inset” (aka those kind of phones with curved screen at the edge) The top bar in the server list now properly shows a loading state instead of just disappearing and appearing when the user permissions are fetched Created a function hasPermission to check if an user has a certain permission instead of repeating the same code like 20 times Moved StartupContainer to a more general Container Moved ServerStatus enum to Server.Status Removed navController from all tabs as it was unused
Created the activity tab (finally finished all server tabs :D) along with a function to parse the variables in the logs’ description Improved loading for schedules, backup and databases tabs Fixed JSON text highlighting not highlighting strings inside of arrays Added padding for the Waterfall Cutout (aka screens with rounded edges) in the Header and ScrollableTabRow components In the settings tab added a popup to confirm the reinstallation of the server Added the endpoint to get the server activity (idk how i had skipped that one) and its function to call it Renamed AccountActivity to ActivityLog as it’s used in server activity too Installed a lib to generate avatars thta look like “Boring Avatars” one (cuz boring avatars API is paid ) add .trim() to all user inputs Now tabs refresh only when the server ID changes instead of anything in the server object
Added the account settings screen and its account tab (now missing “API Credentials”, “SSH Keys” and “Activity” tabs, then the app is done ) in the server screen’s files tab file names are now limited to one line and if they overflow, they get cut off and “…” is added Now each warning popup in the server screen has its own icon instead of all using the suspended icon in all places, replaced refreshIndex += 1 with refreshIndex++ The app now no longer shows “Missing Server ID” toast as soon as you open a server Fixed disable 2FA endpoint (i forgot to add /disable at the end and i was wondering why 2FA wasn’t getting disabled even tho the request succeeded (without /disable it acts as enable endpoint)) Fixed get qr code response as it was different from what the API docs listed In the get qr code function added a secondary response to tell that 2FA is already enabled (used to check 2FA status so i know whether to show enable or disable button in the 2FA cuz the user object doesn’t tell me if the user has 2FA on … shitty API fr) Added a simple regex to parse emails (so the change email button is enabled only if this regex passes) Servers screen now uses a normal Column instead of a LazyColumn as lazily loading the server was causing more lag than loading all at once (after all it’s just 10 servers per page) Same as above for the server screen activity tab (jusy 25 logs per page) Fixed the pagination system in servers screen and server screen activity tab (for total amount of pages it was using the total amount of items in the current pages ( .total ) instead of the total number of pages ( .totalPages ), idk how i missed that ) Moved the file picker stuff outside of the LazyColumn & put the permissions in a remember to hopefully try to decrease lag I wanted to make a screen rec but i was too lazy to then go and censor my 2FA secret
In the account settings screen created the API credentials tab Update the server screen so each tabs remembers its own data after switching to another tab (previously it would reset when the user switched to another tab). Also tabs now only fetch data on first render, then they use the previously fetched data instead of re-fetching, unless the user manually refreshes via the “pull to refresh” action (the thing where you swipe from top to down and it shows the refresh circle, idk it’s “professional” name ) Applied same changes as above to the account settings screen Updated the formatDate function to include a param to toggle the year in the date
In the account settings screen added the SSH Keys tab (basically a almost full copy paste of the API Credentials for the frontend) Fixed capitalization of a variable & function in the api key tab
In the account settings screen created the activity tab (i think i finished all the client side of the app , now i just gotta finish the small importance TODOs like removing the padding to the scrollbar in most scrollable views & stuff like that) Moved ActivityDisplay in the general components as it’s used in the accoutn activity too Updated ActivityDisplay to include the user agent button when available
in the account settings screen added a tab for the app settings Fixed some activity log event having incorrect names and causing the app to crash Added an action to build the app when the commit is prefixed with [build] or [release] Moved the *Scrollbar modifiers above any padding modifier so they look better Switch ScrollableTabRow to a normal Row instead of LazyRow since it’ll never have enough items to cause any lag Updated the README Removed the admin input in the login screen since it’s currently not available
Created a website for the app & a privacy policy (that was needed for the play store app), it’s available at https://ptero.stefdp.com Added a prompt to request the notification permission in the login screen and a button in the settings in case you want to enable notification in a second moment Improved the eventDescription variable in the ActivityDisplay component (i didn’t even know that was possible, i found it out cuz i made a _count variable and android studio suggested me to put it directly in the when , lmao) Updated versioning to follow SemVer ( 1.0 -> 1.0.0 )
Fixed the pull to refresh box having incorrect padding, so the circle was being hidden by the header and by the time it was out, it was already fully pulled and so it would refresh Updated the README also did some tests with downloading but i failed so i just undid them without committing or anything
Created the locations screen Created the location screen Took and modified to adapt to this app the Table component, originally from my Zipline app Fixed the pull to refresh, when calling onRefresh it didn’t actually set isRefreshing to true so the spinner would immediately disappear instead of swithcing to the spinner state till it finished loading Removed the page property from functions since the page is already stored in the viewModel so it made no sense to retrieve it from the viewModel just to send it to a function in the viewModel Fixed the formatDate function, it was crashing the app on older Android versions (<= 13) because the date time parser couldn’t understand the timezone (it expected a date like 2026-08-08-T15:43:30Z instead of 2026-08-08-T15:43:30+02:00 ) Added a new primary color variant that looks good enough on light bgs Fixed some multi-line TextInput s being marked as singleLine
Created a CodeText component to display text as code (kinda like this ) and applied it in all the places where I previously just copy pasted same code Creating an API key now copies the key to the clipboard
Created nodes screen (missing the popup to create a node for now) App name is now dynamically generated in the build.gradle.kts file (so debug build get the (Debug) suffix) Added an HTTP endpoint to check a node status
Fixed admins not being able to manage servers subusers’ permissions Fixed not being aple to open sub-directories in the file browser Fixed create location popup not closing after creating the location
Created the popup to create a node When fetching the node lists, now it also fetches all the locations (needed for a select in the create popup) Added fastlane metadata (will be used for F-Droid in the future) The Popup component now has a scrollbar Updated the scrollbar so now it only shows up when the container has enough contents to be scrollable Added an arrangement property in the Table ’s headers & row cells so that i can center certain things Updated TextInput and Switch components to make their description text color customizable Updated the workflow to automatically push the .aab file to play store after it’s built and made the release (hopefully, i didn’t test it) Fixed create location popup not clearing the inputs upon closing
Created the node screen & its about tab Moved node specific endpoints to their own ApiService instead of having them in the ApplicationApiService and added 2 endpoints to respectively fetch system data in v1 and v2 Made it so create new node button is disabled until all locations are fetched
Create the settings tab in the node screen Added enabled state to all the inputs & switches in the create node popup Updated the updateNode function’s body & params since some required params were marked as nullable
Created the node configuration tab Renamed the CodeText component to CodeBlockText and added params to highlight the content with a specific language Created the CodeText component to have both normal text and inline code text (kinda like markdown when you do this )
Created the node allocations tab The servers screen now shows the server description when available The 2FA check now considers 2FA as enabled even if the status code is 400 other than checking the error message (ptero got no way of knowing if 2FA is enabled other than that ) Update the TextInput component to allow showing optional suggestions (used in the assign new allocations popup, IP Address input) The Checkbox component now is more transparent when disabled (from 0.5 to 0.2 alpha) Changed how padding works in the Pager component Updated the Table component to add a param to disable lazy loading (for some reason it was laggier) Updated the libs
Created the servers screen (WIP, inputs are untested and creating servers is not implemented yet) Created node servers tab Added pagination to the list nests HTTP request response Removed useless reset of the allocations in the node allocations tab In the created node popup, switched some inputs description from "quoted" test to actual inline code blocks CodeText component now uses CharSequence instead of String so it also supports annotated strings Switched main components from Text to CodeText Application server status is now an enum Updated list nests query to include eggs variables too (i just found out i can do this so i’m gonna prob do in in all the other ones in the next devlog too)
All *Include enums are now chainable so doing ListNodesQueryInclude.SERVERS + ListServersQueryInclude.USER returns servers.user Also now instead of <enum>.toQueryString(...) (like ListServersQueryInclude.toQueryString(...) ) i do listOf(...).toQueryString() Used the new include enum chaining in 2 places: node servers tab: it now makes way less HTTP requests since the user, nest & egg are directly returned with the server, saving me from making multiple HTTP requests to fetch all users, nests & eggs (which would’ve taken a long time on a large server that for example has thousands of users, since it was fetching at a rate of 50 users per HTTP request, and it being a mobile app, internet might not be fast too) servers screen, now it fetches the egg variable together with the nest instead of having to fetch the egg’s data Moved ApiErrorResponse in a models folder for better organization this is a code only change so ig i’ll show pics of the code
Added server creation Added a searchable property in the Select component that adds a text input to filter the options Created a regex to check node & server names
Created server screen with its: About tab Details tab Build Configuration tab Fixed pull to reload, it was updating the refreshIndex variable before the main resource actually refreshed and this caused the tabs not to refresh unless the user pulled to refresh twice CodeText component now uses default text style & font weight instead of pre-defined ones (for some reasons with pre-defined ones, in the ScrollableTabRow component it adds like a margin on the bottom of the blue active indicator) Updated UpdateServerDetailsBody to mark required fields as non-nullable In the server owner select, fixed the selected user disappearing if it was not in the search results In the allocation selects: Made the UI use alias:port when an alias is available, otherwise will default to ip:port Moved the ip:port text to a variable to avoid writing the same thing twice
Created the server startup tab Changed the way Container components are spaced in the Build Configuration tab and create server popup In the create server popup disabled the docker image select when only 1 image is available
Created the admin server databases tab (it only supports resetting the password and deleting the databases because for creating a database i need the hosts IDs, which there seem to be no API endpoint to get them) Added a modifier param to the Container component In the client server screen added a param to directly switch to the databases tab (this is used when the user goes from the admin server screen to the client server screen) Fixed “Missing Server ID” notification when client server is opened with databases tab as first tab
Created server manage tab (only reinstall & suspend/unsuspend cuz there seem to be no API endpoint to toggle install status & transfer) Created server delete tab Added 2 new button types, SUCCESS (green) and WARNING (yellow) In the admin server screen now most tabs are hidden whent he server is installing
Created users & user screen Updated the AGP (Android Gradle Plugin) Table headers now properly support multi line text (previously if one text was multiline while everything else wasn’t, all the divider would have a gap on the bottom except for the multiline one) In the client server screen, settings tab the UUID is now aligned to the right Improved screen change when deleting a server/node/user/location (instead of navController.popBackStack() (which basically acts as the back button) i specifically navigate to generic screen (eg. “user” -> “users”) and remove current screen from the back history so in the case that there is no screen to back into (eg if the app is opened via a deep link or stuff like that) it will go to the generic tab anyway) Added pull to refresh in the location screen
Created nests, nest & nest egg screens For nest egg screen, created 3 tabs: Configuration Variables Install Script it was pretty easy and quick to create those cuz they’re read-only as there’s no API endpoint to edit/delete them Added a back handler in the tabbed screens so that back button now goes to the previous tab instead of the entire previous screen In the client servers screen added a switch to see others’ server (admin only) Fixed capitalization in the getNestEgg function ( eggid -> eggId )
Added optional biometric authentication so people can lock their app behind phone code or biometric verification (like fingerprint etc.)
Added updated checking For F-Droid flavor it doesn’t do anything For APK flavor it checks my git repo For Play Store flavor it uses play store com.google.android.play:app-update library Updated the app site, available at https://ptero.stefdp.com Updated the changelog & app images in the fastlane folder Added an animation when switching between loading states with circular loading
Ships:
For rating & testing the project, please first read all of the text in the release. I made an Android app to manage your self-hosted Pterodactyl Panel instance (Currently only the client side, later I’ll also add the admin side). For who doesn’t know, Pterodactyl Panel is a panel usually used to manage game servers, but it can run anything, each server is just a docker container. The most challenging part was prob downloading files, and it still confuses me tbh because on the Android Studio emulator it works fine, but when if I try it on my actual phone (Samsung A55 5G) it randomly stops after a few seconds and I can’t seem to understand why...
|
1792961446.2727244
|
1793047846.2727244
|
|
116
|
My first slack bot! by @remymoreau12 | Stardance
|
remymoreau12
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-01T22:38:33Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a slack bot! Thats so cool", "repo": "https://github.com/squeakycleanfreshie-cloud/Totoro-Slack-Bot", "demo": "https://hackclub.slack.com/archives/C0B9GUMA326"}]...
|
[{"post_id": 187, "ts": "2026- [{"post_id": 187, "ts": "2026-06-01T06:43:42Z", "hours": 0.4228, "text": "I setup my slack bot! I’m working on adding more functions soon"}]...
|
Title: My first slack bot! by @remymoreau12 | Star Title: My first slack bot! by @remymoreau12 | Stardance
Devlogs:
I setup my slack bot! I’m working on adding more functions soon
Ships:
I made a slack bot! Thats so cool...
|
1792982974.6290238
|
1793069374.6290238
|
|
137
|
WinDurango by @CT5 | Stardance
|
CT5
|
1
|
23.0
|
447
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T01:41:27Z", "hours": 23.0, "multiplier": 19.52, "payout": 447, "blessing": "neutral", "text": "I helped make WinDurango with @Rodrigo_Todescatto2010 and @dexrn . Unfortunatly, Im not able to work on WinDurango anymore, because I switched to MacOS so Im going to have to ship it now. If I do get a windows computer later on, I will continue this project. I mainly did WinRT stuff and got a few games working in WD. Currently, the only version of Minecraft LCE that works is 1.2.0.0. You will need a dumped Xbox One game to test it out.", "repo": "https://github.com/WinDurango/WinDurango", "demo": "https://github.com/WinDurango/WinDurango/actions"}]...
|
[{"post_id": 9042, "ts": "2026 [{"post_id": 9042, "ts": "2026-06-15T02:53:47Z", "hours": 4.4653, "text": "I didn’t have much to do in WD currently, so I decided to create the watchdog process for WD, since it would be needed for the new WD Launcher to pass back errors to the user. Its a pretty simple debugger type of thing for now, but Im going to try and make it a bit better and more readable."}, {"post_id": 4748, "ts": "2026-06-08T06:12:37Z", "hours": 4.1106, "text": "I noticed that the Windows.Xbox.Speech.Recognition idl looked a bit odd and it used stuff from midl2 so I removed the idl and cpp files and pretty much started from scratch. It took me a while to create the idl and get guid and stuff, but setting up the cpp files and tidying it up into 5 files from 30 small file took a lot longer since I had to manually tidy the funcs and add a debugging line to each of them."}, {"post_id": 4218, "ts": "2026-06-07T13:31:47Z", "hours": 4.445, "text": "After a while of debugging Burnout Paradise I was finally able to realise that it was looking for D3D12Device. For some reason it was looking for d3d12 device in a d3d11 dll, so I was considering redirecting it to d3d12. But after a while I just gave up."}, {"post_id": 3347, "ts": "2026-06-06T07:18:39Z", "hours": 2.9467, "text": "We finally migrated to github, and I was able to get Github Actions to work. It also caches the cmake dir so that its faster for newer builds. To get Github Actions to build, I had to install windows sdk 28000 and remove the hardcoded dirs in all the CMakeLists as well as properly migrate to vcpkg."}, {"post_id": 1985, "ts": "2026-06-04T07:50:59Z", "hours": 3.5094, "text": "So I was able to get terraria working which was pretty easy since I just had to implement some DX11 stuff. I implemented config support so that you can change your gamertag and gamerscore as well as your controller binds and your keyboard binds via a json file."}, {"post_id": 45, "ts": "2026-05-31T12:12:19Z", "hours": 3.4203, "text": "I was able to create a stub of windows.kinect so that we could have kinect support and redirect it to Microsoft.Kinect. So far its been working well, but the point of this was to get mc 1.61 to not freeze when playing. It was a lot of repetitive work to get the idl and cpp stubs. The other issue is that mc seems to be giving me the trial version which I need to try and fix. Sonic Mania is completely playable as well which is good."}]...
|
Title: WinDurango by @CT5 | Stardance
Devlogs:
I Title: WinDurango by @CT5 | Stardance
Devlogs:
I was able to create a stub of windows.kinect so that we could have kinect support and redirect it to Microsoft.Kinect. So far its been working well, but the point of this was to get mc 1.61 to not freeze when playing. It was a lot of repetitive work to get the idl and cpp stubs. The other issue is that mc seems to be giving me the trial version which I need to try and fix. Sonic Mania is completely playable as well which is good.
So I was able to get terraria working which was pretty easy since I just had to implement some DX11 stuff. I implemented config support so that you can change your gamertag and gamerscore as well as your controller binds and your keyboard binds via a json file.
We finally migrated to github, and I was able to get Github Actions to work. It also caches the cmake dir so that its faster for newer builds. To get Github Actions to build, I had to install windows sdk 28000 and remove the hardcoded dirs in all the CMakeLists as well as properly migrate to vcpkg.
After a while of debugging Burnout Paradise I was finally able to realise that it was looking for D3D12Device. For some reason it was looking for d3d12 device in a d3d11 dll, so I was considering redirecting it to d3d12. But after a while I just gave up.
I noticed that the Windows.Xbox.Speech.Recognition idl looked a bit odd and it used stuff from midl2 so I removed the idl and cpp files and pretty much started from scratch. It took me a while to create the idl and get guid and stuff, but setting up the cpp files and tidying it up into 5 files from 30 small file took a lot longer since I had to manually tidy the funcs and add a debugging line to each of them.
I didn’t have much to do in WD currently, so I decided to create the watchdog process for WD, since it would be needed for the new WD Launcher to pass back errors to the user. Its a pretty simple debugger type of thing for now, but Im going to try and make it a bit better and more readable.
Ships:
I helped make WinDurango with @Rodrigo_Todescatto2010 and @dexrn . Unfortunatly, Im not able to work on WinDurango anymore, because I switched to MacOS so Im going to have to ship it now. If I do get a windows computer later on, I will continue this project. I mainly did WinRT stuff and got a few games working in WD. Currently, the only version of Minecraft LCE that works is 1.2.0.0. You will need a dumped Xbox One game to test it out....
|
1792972392.2804458
|
1793058792.2804458
|
|
144
|
DragonIDE by @imu | Stardance
|
imu
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-01T10:58:42Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is using hack club ai. This is devlopemnt stage :). thankyou", "repo": "https://github.com/cyberworrier8088/DragonFoxIDE/tree/af2b748bcaaacc1336f39480260bcf37a5f098e2", "demo": "https://github.com/cyberworrier8088/DragonFoxIDE/releases/download/demo/DragonFoxIDE.exe"}]...
|
[{"post_id": 25, "ts": "2026-0 [{"post_id": 25, "ts": "2026-05-31T08:48:04Z", "hours": 1.5361, "text": "introduction a simple version of IDE made in rust. this using hack club ai api improve runtime security, and optimize compilation. By removing unneeded dependency bloat (like dotenv ), implementing secure masked inputs for API keys ( rpassword ), and adding aggressive release-profile optimizations in Cargo.toml , we’ve built a faster, safer, and more lightweight terminal assistant with clean Rust code."}]...
|
Title: DragonIDE by @imu | Stardance
Devlogs:
int Title: DragonIDE by @imu | Stardance
Devlogs:
introduction a simple version of IDE made in rust. this using hack club ai api improve runtime security, and optimize compilation. By removing unneeded dependency bloat (like dotenv ), implementing secure masked inputs for API keys ( rpassword ), and adding aggressive release-profile optimizations in Cargo.toml , we’ve built a faster, safer, and more lightweight terminal assistant with clean Rust code.
Ships:
this is using hack club ai. This is devlopemnt stage :). thankyou...
|
1792878497.8449728
|
1793742497.8449728
|
|
153
|
SCP - Secure Channel Protocol by @kingvon | Starda SCP - Secure Channel Protocol by @kingvon | Stardance...
|
kingvon
|
1
|
25.0
|
392
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-23T16:42:26Z", "hours": 25.0, "multiplier": 15.56, "payout": 392, "blessing": "neutral", "text": "Secure Channel Protocol (SCP) is a TLS-inspired protocol with its own ciphersuite and handshake sequence made in Go. It comes in a go package so anyone can use this protocol to build their projects upon. i made this project as a challenge to myself because i wanted to make “my own protocol” so i decided to go for a security protcol, this was a really fun experience it taught me applied cryptography more deeply and i learnt about various things in TLS. this project right now is just a handshake implementation with minimal crypto wrappers i wrote around already made functions, this is just the first version, i will be implementing my own crypto primitives like key exchange and stuff in future versions. you can try this project in THREE different ways!: watching a live handshake simulation @ scp.pratiksingh.xyz trying the small encrypted cli chat app i made on top of the protocol (check out github readme) creating your own app on top of my protocol! i have made simple wrapper functions to make it easier for curious devs to try it. there are documentation too! check out the specs page on demo site and readme for details :3", "repo": "https://github.com/pratiksingh94/scp/", "demo": "https://scp.pratiksingh.xyz/"}]...
|
[{"post_id": 32551, "ts": "202 [{"post_id": 32551, "ts": "2026-07-21T20:09:05Z", "hours": 1.3506, "text": "Wrote docs yeah, wrote docs, thats it bye lol golang docs system is nice at first i was writing everything in another docs readme but it was so damn boring and i started looking around for automated docs like its in fastapi of python, then i found out i can write comments and stuff and people can use go doc command and there are also crawlers by pkg.go.dev which can show my go docs on the website so yeah that dont focus on screenshot, i am waiting for it to detect the license so it can show docs"}, {"post_id": 32244, "ts": "2026-07-21T09:04:10Z", "hours": 0.4667, "text": "Readme update one more step closer towards shipping didnt mention the SPEC.md in it, i wont use that since i have made /spec page in visualizer site"}, {"post_id": 32228, "ts": "2026-07-21T08:16:32Z", "hours": 0.4619, "text": "Fixed go modules gonna push it as package soon so had to fix some go module problems or go get command wont work and did some over the internet testing"}, {"post_id": 31937, "ts": "2026-07-20T19:03:39Z", "hours": 3.0483, "text": "Added Spec page yes, added a page for ALL details you made need about it, PLEASE READ IT i have put so much efforts into that so you better read it includes this table of contents: 1.Overview 2.Packet Format 3.Message Types 4.Handshake Protocol 5.Key Derivation 6.Data Phase 7.Cryptographic Primitives 8.Wire Format Reference"}, {"post_id": 30288, "ts": "2026-07-17T18:53:22Z", "hours": 5.8408, "text": "Handshake Simulation Visualizer completed the entire bomboclat visualizer so its a website with go backend which is running a totally real handshake sequence, which is a simulation ofc but the crypto stuff is real, no packets are being sent tho after asking multiple people in #stardance i decided to go with monotone default colors of tailwind, and someone suggested CRT line effect so i added that too which made it hella cool. it features a 26 step sequence showing everything from keypair generation to data phase, shows from both client and server sides with cool cards, i love this so much yes i did it all in one devlog, its a just a small dev log server and not the main thing of this project, the main is still the protocol and the package so i will do on that with some documentations and specs page. will be hosted soon on my nest container"}, {"post_id": 28520, "ts": "2026-07-14T20:40:26Z", "hours": 3.8081, "text": "Visualizer WebSocket Server so not just that, i also changed the folder structure a bit, and some other very small things which i couldnt dev log cuz they were too small but yes the main thing i did was making a visualize backend, it uses websockets and simulates an entire handshake and data transfer, all the crypto work is real in the server but no packet is being sent, so its just steps one by one explaining the work that is being done. been a bit busy for a while so couldnt code properly :("}, {"post_id": 24989, "ts": "2026-07-08T21:39:58Z", "hours": 0.9981, "text": "First app: Encrypted Chat i am so happy, i have wrote the FIRST thingy on top of secure channel protocol!!! my own damn lil TLS. this is a very basic client server chat, server listens on a port and client connects, they it reads input from stdin the server connects using command: ./scp listen --port 2008 --psk test the client connects using command: ./scp connect --host localhost:2008 --psk test the PSK is pre-shared (well, duh) using the --psk flag well this is a very basic terminal chat app, i can ship the project as it is rn as its a nice MVP but i want to make a visualizer cuz i know damn well NO one gonna run it like this lol, and i want to make a cool visualizer that shows every step of handshake the first screenshot shows the chat, top one is the server and bottom is client the second screenshot shows the wireshark capture of this beautiful exchange, ofc its encrypted hehe i love this"}, {"post_id": 24881, "ts": "2026-07-08T18:48:10Z", "hours": 0.6858, "text": "Session Functions wow this made it complete on a function definition level, like i just have to make some wrappers around it so, i made 3 functions for the Session struct Send() -> takes plaintext, encrypts it with the session key and nonce from session, sends it Receive() -> decodes MsgData packet, decrypts using session key and nonce received FROM the packet (so nonces dont go out of sync) and returns plaintext Close() -> what do you think lmao in the screenshot you can see the plaintext and ciphertext being logged, thats an exchange between client and server!"}, {"post_id": 24587, "ts": "2026-07-08T09:11:33Z", "hours": 3.4375, "text": "Handshake 🤝 so i made the handshake sequence its the same one from SPEC.md where i decided first, didnt change anything for some reason cant paste here pls check SPEC.md on github lmao but in short it goes like this: client and server exchange hello messages with their PSK Proof, Public Key, Nonce (16 bytes) and then key exchange and some session key derivation happens, then Done messages are exchanged which is encrypted with the session key, so it proves both party derived same session key at the end the handshake functions returns the session (which i have to work on) there are some things left to do like cleaning up the code, its a bit messy right now i will make it a bit more modular and easy to read later for testing i used net.Pipe , it gives nice two mock connections type shit, i thought of using real tcp connection first but found this better thing while going through GoLang net library docs not much to see in image tbh, it just shows the debug print statements i added, those are exchanges between client and server"}, {"post_id": 23028, "ts": "2026-07-05T19:16:11Z", "hours": 2.9708, "text": "Crypto Functions so i wrote all the crypto functions or helpers whatever you want to call it. i did that because see for me TLS or even this project is just a group of cipher suites and we are using them to perform a handshake, so the cipher suite is the most important part, and ofc my project will only have one cipher suite, so i first implemented those functions Functions implemented: GenerateKeypair() -> generates an X25519 public and private key pair SharedSecret() -> takes private key and peer public key and performs ECDH using those keys ComputePSKProof() -> outputs the HMAC result of a psk and the given data DeriveSessionKey() -> the final function which uses HKDF and outputs a session key, which will be used to encrypt/decrypt Encrypt() -> encrypts using the given session key, it uses ChaCha20-Poly1305 to encrypt plaintext Decrypt() -> decrypts the ciphertext from given key and i also wrote tests for them, writing tests for me is an uncommon thing i wont lie lol but this time i am testing these functions from tests is because this is a protocol library, if another project wants to use my protocol to build on they can easily import and thats why i dont wanna test in random cmd and build things like it is intended for my planned project only, so i am treating it as a proper library and writing function and their tests, and so far things are doing really good. had some problems in ECDH because i was messing up the output parameters order but i fixed it after a while. ignore the weird ahhh numbers output, thats the nonce counter helper function i made i forgot to remove the debug prints lol"}, {"post_id": 22165, "ts": "2026-07-04T14:18:15Z", "hours": 2.1317, "text": "Packet Envelop and Payload Encoders/Decoders hiii SPEC.md so at first i made SPEC.md where i have decided on everything that it will have, all structures, handshake sequence, etc (please read it :3) Packet structure then i made a basic packet envelop struct [1 byte: msg type] [4 bytes: payload length] [N bytes: payload] that will be the structure, and i wrote WritePacket() and ReadPacket() functions for it, and also some tests Payload structures and i decided on payload structures for each message type and wrote encoder and decoder for all those types, except Done message type because its just one thing in payload you can check in SPEC.md the payload structures since i dont have anything ready to show, i will show the test output"}]...
|
Title: SCP - Secure Channel Protocol by @kingvon | Title: SCP - Secure Channel Protocol by @kingvon | Stardance
Devlogs:
Packet Envelop and Payload Encoders/Decoders hiii SPEC.md so at first i made SPEC.md where i have decided on everything that it will have, all structures, handshake sequence, etc (please read it :3) Packet structure then i made a basic packet envelop struct [1 byte: msg type] [4 bytes: payload length] [N bytes: payload] that will be the structure, and i wrote WritePacket() and ReadPacket() functions for it, and also some tests Payload structures and i decided on payload structures for each message type and wrote encoder and decoder for all those types, except Done message type because its just one thing in payload you can check in SPEC.md the payload structures since i dont have anything ready to show, i will show the test output
Crypto Functions so i wrote all the crypto functions or helpers whatever you want to call it. i did that because see for me TLS or even this project is just a group of cipher suites and we are using them to perform a handshake, so the cipher suite is the most important part, and ofc my project will only have one cipher suite, so i first implemented those functions Functions implemented: GenerateKeypair() -> generates an X25519 public and private key pair SharedSecret() -> takes private key and peer public key and performs ECDH using those keys ComputePSKProof() -> outputs the HMAC result of a psk and the given data DeriveSessionKey() -> the final function which uses HKDF and outputs a session key, which will be used to encrypt/decrypt Encrypt() -> encrypts using the given session key, it uses ChaCha20-Poly1305 to encrypt plaintext Decrypt() -> decrypts the ciphertext from given key and i also wrote tests for them, writing tests for me is an uncommon thing i wont lie lol but this time i am testing these functions from tests is because this is a protocol library, if another project wants to use my protocol to build on they can easily import and thats why i dont wanna test in random cmd and build things like it is intended for my planned project only, so i am treating it as a proper library and writing function and their tests, and so far things are doing really good. had some problems in ECDH because i was messing up the output parameters order but i fixed it after a while. ignore the weird ahhh numbers output, thats the nonce counter helper function i made i forgot to remove the debug prints lol
Handshake 🤝 so i made the handshake sequence its the same one from SPEC.md where i decided first, didnt change anything for some reason cant paste here pls check SPEC.md on github lmao but in short it goes like this: client and server exchange hello messages with their PSK Proof, Public Key, Nonce (16 bytes) and then key exchange and some session key derivation happens, then Done messages are exchanged which is encrypted with the session key, so it proves both party derived same session key at the end the handshake functions returns the session (which i have to work on) there are some things left to do like cleaning up the code, its a bit messy right now i will make it a bit more modular and easy to read later for testing i used net.Pipe , it gives nice two mock connections type shit, i thought of using real tcp connection first but found this better thing while going through GoLang net library docs not much to see in image tbh, it just shows the debug print statements i added, those are exchanges between client and server
Session Functions wow this made it complete on a function definition level, like i just have to make some wrappers around it so, i made 3 functions for the Session struct Send() -> takes plaintext, encrypts it with the session key and nonce from session, sends it Receive() -> decodes MsgData packet, decrypts using session key and nonce received FROM the packet (so nonces dont go out of sync) and returns plaintext Close() -> what do you think lmao in the screenshot you can see the plaintext and ciphertext being logged, thats an exchange between client and server!
First app: Encrypted Chat i am so happy, i have wrote the FIRST thingy on top of secure channel protocol!!! my own damn lil TLS. this is a very basic client server chat, server listens on a port and client connects, they it reads input from stdin the server connects using command: ./scp listen --port 2008 --psk test the client connects using command: ./scp connect --host localhost:2008 --psk test the PSK is pre-shared (well, duh) using the --psk flag well this is a very basic terminal chat app, i can ship the project as it is rn as its a nice MVP but i want to make a visualizer cuz i know damn well NO one gonna run it like this lol, and i want to make a cool visualizer that shows every step of handshake the first screenshot shows the chat, top one is the server and bottom is client the second screenshot shows the wireshark capture of this beautiful exchange, ofc its encrypted hehe i love this
Visualizer WebSocket Server so not just that, i also changed the folder structure a bit, and some other very small things which i couldnt dev log cuz they were too small but yes the main thing i did was making a visualize backend, it uses websockets and simulates an entire handshake and data transfer, all the crypto work is real in the server but no packet is being sent, so its just steps one by one explaining the work that is being done. been a bit busy for a while so couldnt code properly :(
Handshake Simulation Visualizer completed the entire bomboclat visualizer so its a website with go backend which is running a totally real handshake sequence, which is a simulation ofc but the crypto stuff is real, no packets are being sent tho after asking multiple people in #stardance i decided to go with monotone default colors of tailwind, and someone suggested CRT line effect so i added that too which made it hella cool. it features a 26 step sequence showing everything from keypair generation to data phase, shows from both client and server sides with cool cards, i love this so much yes i did it all in one devlog, its a just a small dev log server and not the main thing of this project, the main is still the protocol and the package so i will do on that with some documentations and specs page. will be hosted soon on my nest container
Added Spec page yes, added a page for ALL details you made need about it, PLEASE READ IT i have put so much efforts into that so you better read it includes this table of contents: 1.Overview 2.Packet Format 3.Message Types 4.Handshake Protocol 5.Key Derivation 6.Data Phase 7.Cryptographic Primitives 8.Wire Format Reference
Fixed go modules gonna push it as package soon so had to fix some go module problems or go get command wont work and did some over the internet testing
Readme update one more step closer towards shipping didnt mention the SPEC.md in it, i wont use that since i have made /spec page in visualizer site
Wrote docs yeah, wrote docs, thats it bye lol golang docs system is nice at first i was writing everything in another docs readme but it was so damn boring and i started looking around for automated docs like its in fastapi of python, then i found out i can write comments and stuff and people can use go doc command and there are also crawlers by pkg.go.dev which can show my go docs on the website so yeah that dont focus on screenshot, i am waiting for it to detect the license so it can show docs
Ships:
Secure Channel Protocol (SCP) is a TLS-inspired protocol with its own ciphersuite and handshake sequence made in Go. It comes in a go package so anyone can use this protocol to build their projects upon. i made this project as a challenge to myself because i wanted to make “my own protocol” so i decided to go for a security protcol, this was a really fun experience it taught me applied cryptography more deeply and i learnt about various things in TLS. this project right now is just a handshake implementation with minimal crypto wrappers i wrote around already made functions, this is just the first version, i will be implementing my own crypto primitives like key exchange and stuff in future versions. you can try this project in THREE different ways!: watching a live handshake simulation @ scp.pratiksingh.xyz trying the small encrypted cli chat app i made on top of the protocol (check out github readme) creating your own app on top of my protocol! i have made simple wrapper functions to make it easier for curious devs to try it. there are documentation too! check out the specs page on demo site and readme for details :3...
|
1792975826.130917
|
1793062226.130917
|
|
154
|
Test by @obay | Stardance
|
obay
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T12:34:36Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "nothing :)", "repo": "https://github.com/hackclub/stardance/", "demo": "https://review.hackclub.com/"}]...
|
[{"post_id": 17955, "ts": "202 [{"post_id": 17955, "ts": "2026-06-28T22:20:56Z", "hours": 0.6539, "text": "hi"}]...
|
Title: Test by @obay | Stardance
Devlogs:
hi
Shi Title: Test by @obay | Stardance
Devlogs:
hi
Ships:
nothing :)...
|
1792976039.6410294
|
1793062439.6410294
|
|
157
|
Portfolio CLI by @ghastly | Stardance
|
ghastly
|
1
|
2.0
|
8
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-04T06:59:47Z", "hours": 2.0, "multiplier": 4.97, "payout": 8, "blessing": "neutral", "text": "I made my own portfolio in the cli style. Usage: Put this command in your terminal and replace `yourname with your actual name ssh yourname@2a01:4f9:3081:399c::307 -p 2222 Hosted on Nest!", "repo": "https://github.com/bhatrichit10-ux/ssh-folio", "demo": "https://github.com/bhatrichit10-ux/ssh-folio#usage"}]...
|
[{"post_id": 1967, "ts": "2026 [{"post_id": 1967, "ts": "2026-06-04T06:55:13Z", "hours": 0.3744, "text": "So i finally deployed it, IT had alot of errors, but i finally managed to deploy it on nest server, It was pretty much easy but some port stuff gave me headache, Also i had to change the code from the standard 0.0.0.0 to :: because nest only has IPv6 and not IPv4. Also i added the demo instructions in the README"}, {"post_id": 1939, "ts": "2026-06-04T05:51:38Z", "hours": 0.9311, "text": "Added some cool commands! Well it is for sure that no one wants to read some boring stuff, so i decided to make sure that my content is kinda interesting, although my projects might not be. So I have added some cool stuff like a little bit of coloring , a banner image and a username kinda handler which will let me fetch your username so that when you do ssh yourname@ip-of-my-portfolio -p 2222 i can fetch the yourname part which will make it very cool! I believe"}, {"post_id": 181, "ts": "2026-06-01T06:19:16Z", "hours": 0.3747, "text": "The jumpstart So i planned that i will be making a kind of portfolio where you could ssh into. I got this idea from zrl’s sshtron game which is very fun and is a ssh based snake game. So i just started learning about how ssh2 works and how to make a server using it. The documentation was kind of very complex for me, so i saw the examples. I created a module called ‘ready.js’ , which would handle everything after the client was authenticated. I had some PTY errors, so i figured out if i accept everything, there will be no errors. So i just added pty.accept() for all cases no matter what. I did the same for authentication which allowed me to login without any password or username. To test it finally worked, i tried to send a raw ’Welcome!” stream. So far looks good"}]...
|
Title: Portfolio CLI by @ghastly | Stardance
Devl Title: Portfolio CLI by @ghastly | Stardance
Devlogs:
The jumpstart So i planned that i will be making a kind of portfolio where you could ssh into. I got this idea from zrl’s sshtron game which is very fun and is a ssh based snake game. So i just started learning about how ssh2 works and how to make a server using it. The documentation was kind of very complex for me, so i saw the examples. I created a module called ‘ready.js’ , which would handle everything after the client was authenticated. I had some PTY errors, so i figured out if i accept everything, there will be no errors. So i just added pty.accept() for all cases no matter what. I did the same for authentication which allowed me to login without any password or username. To test it finally worked, i tried to send a raw ’Welcome!” stream. So far looks good
Added some cool commands! Well it is for sure that no one wants to read some boring stuff, so i decided to make sure that my content is kinda interesting, although my projects might not be. So I have added some cool stuff like a little bit of coloring , a banner image and a username kinda handler which will let me fetch your username so that when you do ssh yourname@ip-of-my-portfolio -p 2222 i can fetch the yourname part which will make it very cool! I believe
So i finally deployed it, IT had alot of errors, but i finally managed to deploy it on nest server, It was pretty much easy but some port stuff gave me headache, Also i had to change the code from the standard 0.0.0.0 to :: because nest only has IPv6 and not IPv4. Also i added the demo instructions in the README
Ships:
I made my own portfolio in the cli style. Usage: Put this command in your terminal and replace `yourname with your actual name ssh yourname@2a01:4f9:3081:399c::307 -p 2222 Hosted on Nest!...
|
1792990531.0339653
|
1793076931.0339653
|
|
191
|
VJS - Vejas' Slackbot by @vejas | Stardance
|
vejas
|
1
|
9.0
|
119
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-04T15:11:26Z", "hours": 9.0, "multiplier": 15.21, "payout": 119, "blessing": "neutral", "text": "I made a Slack bot that has many different features spanning from fun ones like trivia, to useful ones like custom QR code generation! I made the bot so it could lurk in my personal channel #vejas-cant-shut-up.", "repo": "https://github.com/las-vejas/slackbot", "demo": "https://hackclub.enterprise.slack.com/archives/C0B6TNB4BSB"}]...
|
[{"post_id": 2177, "ts": "2026 [{"post_id": 2177, "ts": "2026-06-04T15:09:21Z", "hours": 0.7406, "text": "I added a feedback form which can be triggered using /vjs feedback. I had AI help me with adding the form since I needed to use a view in slack and I didn’t know how to handle the feedback that was received."}, {"post_id": 1122, "ts": "2026-06-02T23:13:15Z", "hours": 0.8425, "text": "i added a feature that switches my slack pfp every 5 minutes, and that took some while to set up, since the api slack uses is rrly weird. but with some help from ai, i finally got it working whichis really cool since now my pfp switches into a different fallout pfp every 5 mins."}, {"post_id": 868, "ts": "2026-06-02T16:14:40Z", "hours": 1.4519, "text": "I ended up adding eightball, trivia and polls. For the eightball, i used this api : https://www.eightballapi.com and it just outputs the text from the api. for trivia, I found an API that provides 4 answers (1 correct, 3 incorrect) and i made buttons that set as the answers. Then i had gemini help with some of the logic and fs file handling for the leaderboard. I noticed that if the leaderboard was gonna send to the channel, everyone on the leaderboard would get pinged, so i made it send a hidden message to the person asking. for the poll, the user enters their question and their answers (all in “quotation” marks so everything gets separated) and then I use slack blocks in pretty much everywhere to display the content nicely. it makes buttons for the answers and people can pick them. i also added a weather function and gemini parses the weather api and you can choose the city and the number of days default to 1. this was kinda easy since the api also has validation and e.g. if u enter a country it auto chooses the capital."}, {"post_id": 766, "ts": "2026-06-02T12:52:26Z", "hours": 0.4719, "text": "I created the logo / icon for the slack app in figma using the anchor guide to remind myself on how to make nice logos."}, {"post_id": 758, "ts": "2026-06-02T12:21:17Z", "hours": 2.2242, "text": "I added the QR code generation feature that lets you add a link or text, and lets you choose things like color or format. I added a stock checker function, but it doesnt work very well. I also added an email checker feature that works, but is kind of shallow information wise (APIs fault) I also added a “-q” flag that would determine if the response would be sent to the whole channel or just you."}, {"post_id": 423, "ts": "2026-06-01T20:31:21Z", "hours": 2.9217, "text": "I made the slack bot. The slack bot has some basic commands like /vjs-meow for catfacts and /vjs-joke for an arbitrary joke, but then I added some more intricate ones like a dictionary and synonym API so people could quickly find the meaning of a word. (I am planning to add a condition that would either ‘whisper’ it or just broadcast to the channel by default. I have also added /vjs-name which would let the user enter a name and it outputs the nationality of the name and the gender of the name according to an API."}]...
|
Title: VJS - Vejas' Slackbot by @vejas | Stard Title: VJS - Vejas' Slackbot by @vejas | Stardance
Devlogs:
I made the slack bot. The slack bot has some basic commands like /vjs-meow for catfacts and /vjs-joke for an arbitrary joke, but then I added some more intricate ones like a dictionary and synonym API so people could quickly find the meaning of a word. (I am planning to add a condition that would either ‘whisper’ it or just broadcast to the channel by default. I have also added /vjs-name which would let the user enter a name and it outputs the nationality of the name and the gender of the name according to an API.
I added the QR code generation feature that lets you add a link or text, and lets you choose things like color or format. I added a stock checker function, but it doesnt work very well. I also added an email checker feature that works, but is kind of shallow information wise (APIs fault) I also added a “-q” flag that would determine if the response would be sent to the whole channel or just you.
I created the logo / icon for the slack app in figma using the anchor guide to remind myself on how to make nice logos.
I ended up adding eightball, trivia and polls. For the eightball, i used this api : https://www.eightballapi.com and it just outputs the text from the api. for trivia, I found an API that provides 4 answers (1 correct, 3 incorrect) and i made buttons that set as the answers. Then i had gemini help with some of the logic and fs file handling for the leaderboard. I noticed that if the leaderboard was gonna send to the channel, everyone on the leaderboard would get pinged, so i made it send a hidden message to the person asking. for the poll, the user enters their question and their answers (all in “quotation” marks so everything gets separated) and then I use slack blocks in pretty much everywhere to display the content nicely. it makes buttons for the answers and people can pick them. i also added a weather function and gemini parses the weather api and you can choose the city and the number of days default to 1. this was kinda easy since the api also has validation and e.g. if u enter a country it auto chooses the capital.
i added a feature that switches my slack pfp every 5 minutes, and that took some while to set up, since the api slack uses is rrly weird. but with some help from ai, i finally got it working whichis really cool since now my pfp switches into a different fallout pfp every 5 mins.
I added a feedback form which can be triggered using /vjs feedback. I had AI help me with adding the form since I needed to use a view in slack and I didn’t know how to handle the feedback that was received.
Ships:
I made a Slack bot that has many different features spanning from fun ones like trivia, to useful ones like custom QR code generation! I made the bot so it could lurk in my personal channel #vejas-cant-shut-up....
|
1792968748.7063885
|
1793055148.7063885
|
|
192
|
Website by @aaradhyarya_srivastava | Stardance
|
aaradhyarya_srivastava
|
1
|
20.0
|
332
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T15:17:01Z", "hours": 20.0, "multiplier": 16.83, "payout": 332, "blessing": "neutral", "text": "This is my own portfolio website made using three.js :D I obviously followed a tutorial but I also added a bunch of my own elements and customised the site to my own liking :D I made the music as well :) Overall I spent like 15 hours on this website and im really proud of it I will make changes over time but this seems like a good starting point NOTE: I spent 15 hours and not 20 hours on this for some reason time tracking seems to add another 5 hours to this", "repo": "https://github.com/lemonzwastaken/PortfolioWebsite", "demo": "https://portfolio-website-blush-seven-78.vercel.app/"}]...
|
[{"post_id": 48173, "ts": "202 [{"post_id": 48173, "ts": "2026-08-16T13:54:37Z", "hours": 0.9389, "text": "DEPLOYED IT Also made some small changes like changing the scroll bar, adding small transition animation, some levels of optimisation etc. Also fixed some errors that caused it to not deploy BUT Here’s the website if you are interested https://portfolio-website-blush-seven-78.vercel.app/"}, {"post_id": 47711, "ts": "2026-08-15T20:06:34Z", "hours": 2.7339, "text": "Almost finished with this website :D Here’s the changes made in this recent devlog Added animations to the entire website Added music and it remembers if you wanna play music or not (also i made the music 🆒 ) Small tweaks and bug fixes for better website experience :p (sorry for the bad audio quality obs was tweaking out)"}, {"post_id": 47432, "ts": "2026-08-15T11:18:18Z", "hours": 2.5728, "text": "Worked on mobile compatability for the website. Fixed the Here’s the list of changes done Main Page: Scaled the model, put the icons on the side and added labels Projects: Removed the 3D model so projects are visible clearly About me and Contact me: Scaled the text size so it fits mobile"}, {"post_id": 46836, "ts": "2026-08-14T11:15:42Z", "hours": 2.2803, "text": "A ton of changes made and stuff added Added Stuff: Added the contact me page and linked it with mailjs so contacting me can be done directly via mail Added another model to the front page Changes: Again changed the front page model basically removing the city cuz it looked bad Changed opacity of all images from 100 to 50 Changed the render model to include some more stuff like intensity giving me better control over lighting Changed the model behavior in about me page as well as the lighting Yeah well thats about it"}, {"post_id": 46591, "ts": "2026-08-13T22:40:24Z", "hours": 2.2661, "text": "Finished the about me page(atleast the layout) and added a home button to every page. On top of that I made some QOL changes like backgrounds are completely visible etc. gonna work on contact me page next and more animations"}, {"post_id": 45629, "ts": "2026-08-12T07:46:02Z", "hours": 8.9256, "text": "Finished the Main Page as well as the projects page for my portfolio website :D. The time logged is a little off, its actually supposed to be 5 hours ish but my time was logged into an archived project so . Anyways next im gonna work on About me page and QOL stuff"}]...
|
Title: Website by @aaradhyarya_srivastava | Starda Title: Website by @aaradhyarya_srivastava | Stardance
Devlogs:
Finished the Main Page as well as the projects page for my portfolio website :D. The time logged is a little off, its actually supposed to be 5 hours ish but my time was logged into an archived project so . Anyways next im gonna work on About me page and QOL stuff
Finished the about me page(atleast the layout) and added a home button to every page. On top of that I made some QOL changes like backgrounds are completely visible etc. gonna work on contact me page next and more animations
A ton of changes made and stuff added Added Stuff: Added the contact me page and linked it with mailjs so contacting me can be done directly via mail Added another model to the front page Changes: Again changed the front page model basically removing the city cuz it looked bad Changed opacity of all images from 100 to 50 Changed the render model to include some more stuff like intensity giving me better control over lighting Changed the model behavior in about me page as well as the lighting Yeah well thats about it
Worked on mobile compatability for the website. Fixed the Here’s the list of changes done Main Page: Scaled the model, put the icons on the side and added labels Projects: Removed the 3D model so projects are visible clearly About me and Contact me: Scaled the text size so it fits mobile
Almost finished with this website :D Here’s the changes made in this recent devlog Added animations to the entire website Added music and it remembers if you wanna play music or not (also i made the music 🆒 ) Small tweaks and bug fixes for better website experience :p (sorry for the bad audio quality obs was tweaking out)
DEPLOYED IT Also made some small changes like changing the scroll bar, adding small transition animation, some levels of optimisation etc. Also fixed some errors that caused it to not deploy BUT Here’s the website if you are interested https://portfolio-website-blush-seven-78.vercel.app/
Ships:
This is my own portfolio website made using three.js :D I obviously followed a tutorial but I also added a bunch of my own elements and customised the site to my own liking :D I made the music as well :) Overall I spent like 15 hours on this website and im really proud of it I will make changes over time but this seems like a good starting point NOTE: I spent 15 hours and not 20 hours on this for some reason time tracking seems to add another 5 hours to this...
|
1793000919.9124482
|
1793087319.9124482
|
|
198
|
Calamity Engine by @zrl | Stardance
|
zrl
|
1
|
21.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T20:24:10Z", "hours": 21.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Calamity Engine Alpha v1.1.0 Calamity Engine is a small, portable, 2D game engine made with retro/underpowered platforms in mind, written in C++. I worked on maintaining and updating Calamity Engine with new features, such as multi-window support, raycasts, collision signals, a bunch of refactoring/restructuring, etc… I also wrote 4 new examples that showcase these new features! I recommend checking out the website where you will find (almost) every example compiled to the web, so you can try them out without leaving your browser! Please consider checking it out, I put a lot of work into it.", "repo": "https://github.com/sl4shed/calamity-engine", "demo": "https://calamity.sl4shed.xyz/"}]...
|
[{"post_id": 16912, "ts": "202 [{"post_id": 16912, "ts": "2026-06-27T13:51:30Z", "hours": 11.8522, "text": "Calamity engine devlog 3 we back baby Fixed the github workflow!! I finally figured out what was going on with the github workflow! The issue was that I was using an outdated version of download-emscripten and the emscripten version being downloaded was fried and that would mess up the loading. In the process of fixing the runner, i also migrated it to an arch container for no specific reason other than I like arch. New examples and refactoring I refactored every example (except graphics-settings and multi-window ) to run on console platforms and work with controllers! The code in the examples is now a better resource for learning the ins and outs of Calamity Engine. Input service fixes You can now see what modifiers are active in a key event now (look at InputEventWithModifiers ) visible and enabled properties on Nodes Before alpha 1.1, components (i.e. sprites) handled visibility individually but I decided that I don’t like that and now visibility a property of the node class! It is also inherited down the node tree to the children of the node. I also added the enabled property to Nodes! While visibility affects the rendering, the enabled property basically stops all lifetime functions such as update , physicsUpdate and input along with render . Full Windows support Windows is now fully supported and every issue I have encountered is ironed out. The console is now hidden in release builds, etc, etc New examples I added the graphics-settings , multi-window , button and raycast examples. You can check these out on the website (except for graphics-settings and multi-window because those are desktop specific)! Alpha 1.1 And with this devlog, I will be publishing Calamity Engine 1.1! i really don’t know what else to say so i attached a video of the new node-tree example"}, {"post_id": 8612, "ts": "2026-06-14T09:50:57Z", "hours": 7.24, "text": "Calamity engine devlog 2 i’m back with another fire devlog Physics changes I made a lot of changes to the Physics service, including adding the SegmentShape, Raycasts and overall tidying up the service by creating the PhysicsBody class. Every physics body (Rigidbody, Staticbody) inherits this class. Also, every physics body now has a signal for when the mouse enters and leaves the shape! This allows the creation of ui elements (i.e. look at the button example)! Windows is supported again You can build the game on Windows either using mingw64 or MSVC! There are a couple of issues though… Windows support isn’t necessarily a top priority for me right now, but I will be working on it and hopefully getting it ready for when I create the next release! (also there’s some edge cases regarding the calamity folder on MSVC and especially on mingw64 where you have to manually copy over the dll of every vendored library) Example changes I’m working on tidying up all the example code and adding console platform support to every example! (for example, the node-tree example didn’t have any console support). I also added two new examples - button and raycast. These demonstrate how to use the new additions to the Physics service! Stuff that’s planned for the next minor release I want to fix the GitHub workflow that runs every push, it compiles every example for emscripten and builds the website. But, for some reason, the examples don’t load properly when the runner pushes the website. It works properly when I do it manually and the workflow runs the exact same commands I do… It’s a pretty weird issue and it’s very hard to debug but I want to get it fixed for alpha 1.1. New minor release After I fix the runner and finish tidying up the examples, I will create a new alpha 1.1 release! I don’t know if I will ship the project yet, I don’t think I have enough hours and I kinda want a bigger payout xD that’s it scooby gang. please like and subscribe and make sure to share this devlog to every family member in your vicinity! That also includes your grandmother."}, {"post_id": 383, "ts": "2026-06-01T18:54:17Z", "hours": 1.7694, "text": "Calamity engine devlog 1 Because of a lot of internal changes (i.e. multi-window support), the node-tree example broke :( Saving and loading sprites and textures was broken however i got it working again! Saving and loading any physics shape was also broken but now it’s also fixed! (i still have to fix loading for animated sprites/animations which will also be a pain in the bum bum but it is what it is…) Changes that occurred between Flavortown and Stardance Added multi-window support Started working on 3DS support (wasn’t able to finish in time unfortunately) Added collision detection signals to every physics body Added mouse hover detection signals to every physics body Made an example project of a button Added tracy support Added some QOL functions, such as lookAt() on Transforms “Fixed” github runner that compiles the website (it’s still broken 😭) Goals with development Primarily, I want to ship a more definitive version of Calamity Engine. I want to expand to more platforms, add networking, improve audio, add a ui library among other smaller things. Instead of one big release (alpha 1.0), i will probably be splitting ships across smaller releases (i.e. i want to release an alpha 1.1 version when i’m done with some smaller fixes and physics additions). When all of my goals are achieved with Calamity Engine, I want to work on a separate project that uses Calamity Engine - a cross-platform Navidrome client! I’ve always wanted to use my PSP as a music player but because I can’t be bothered to keep updating my playlist/redownloading music, I never got around to it… I also want to remake simulator canalizare 2019 in Calamity Engine and ship it to whatever platforms my engine will eventually support (technically, PS2 support is possible! Cross platform support really depends on how good the homebrew SDK’s are though. For each and every platform I want to get Calamity working on, I basically have to port spdlog , cereal , fmt and box2d myself unless i get really lucky and there are already maintained packages for all of those like on the PSP .)"}, {"post_id": 26, "ts": "2026-05-31T08:48:10Z", "hours": 0.4903, "text": "calamity engine will resume development on stardance"}]...
|
Title: Calamity Engine by @zrl | Stardance
Devlog Title: Calamity Engine by @zrl | Stardance
Devlogs:
calamity engine will resume development on stardance
Calamity engine devlog 1 Because of a lot of internal changes (i.e. multi-window support), the node-tree example broke :( Saving and loading sprites and textures was broken however i got it working again! Saving and loading any physics shape was also broken but now it’s also fixed! (i still have to fix loading for animated sprites/animations which will also be a pain in the bum bum but it is what it is…) Changes that occurred between Flavortown and Stardance Added multi-window support Started working on 3DS support (wasn’t able to finish in time unfortunately) Added collision detection signals to every physics body Added mouse hover detection signals to every physics body Made an example project of a button Added tracy support Added some QOL functions, such as lookAt() on Transforms “Fixed” github runner that compiles the website (it’s still broken 😭) Goals with development Primarily, I want to ship a more definitive version of Calamity Engine. I want to expand to more platforms, add networking, improve audio, add a ui library among other smaller things. Instead of one big release (alpha 1.0), i will probably be splitting ships across smaller releases (i.e. i want to release an alpha 1.1 version when i’m done with some smaller fixes and physics additions). When all of my goals are achieved with Calamity Engine, I want to work on a separate project that uses Calamity Engine - a cross-platform Navidrome client! I’ve always wanted to use my PSP as a music player but because I can’t be bothered to keep updating my playlist/redownloading music, I never got around to it… I also want to remake simulator canalizare 2019 in Calamity Engine and ship it to whatever platforms my engine will eventually support (technically, PS2 support is possible! Cross platform support really depends on how good the homebrew SDK’s are though. For each and every platform I want to get Calamity working on, I basically have to port spdlog , cereal , fmt and box2d myself unless i get really lucky and there are already maintained packages for all of those like on the PSP .)
Calamity engine devlog 2 i’m back with another fire devlog Physics changes I made a lot of changes to the Physics service, including adding the SegmentShape, Raycasts and overall tidying up the service by creating the PhysicsBody class. Every physics body (Rigidbody, Staticbody) inherits this class. Also, every physics body now has a signal for when the mouse enters and leaves the shape! This allows the creation of ui elements (i.e. look at the button example)! Windows is supported again You can build the game on Windows either using mingw64 or MSVC! There are a couple of issues though… Windows support isn’t necessarily a top priority for me right now, but I will be working on it and hopefully getting it ready for when I create the next release! (also there’s some edge cases regarding the calamity folder on MSVC and especially on mingw64 where you have to manually copy over the dll of every vendored library) Example changes I’m working on tidying up all the example code and adding console platform support to every example! (for example, the node-tree example didn’t have any console support). I also added two new examples - button and raycast. These demonstrate how to use the new additions to the Physics service! Stuff that’s planned for the next minor release I want to fix the GitHub workflow that runs every push, it compiles every example for emscripten and builds the website. But, for some reason, the examples don’t load properly when the runner pushes the website. It works properly when I do it manually and the workflow runs the exact same commands I do… It’s a pretty weird issue and it’s very hard to debug but I want to get it fixed for alpha 1.1. New minor release After I fix the runner and finish tidying up the examples, I will create a new alpha 1.1 release! I don’t know if I will ship the project yet, I don’t think I have enough hours and I kinda want a bigger payout xD that’s it scooby gang. please like and subscribe and make sure to share this devlog to every family member in your vicinity! That also includes your grandmother.
Calamity engine devlog 3 we back baby Fixed the github workflow!! I finally figured out what was going on with the github workflow! The issue was that I was using an outdated version of download-emscripten and the emscripten version being downloaded was fried and that would mess up the loading. In the process of fixing the runner, i also migrated it to an arch container for no specific reason other than I like arch. New examples and refactoring I refactored every example (except graphics-settings and multi-window ) to run on console platforms and work with controllers! The code in the examples is now a better resource for learning the ins and outs of Calamity Engine. Input service fixes You can now see what modifiers are active in a key event now (look at InputEventWithModifiers ) visible and enabled properties on Nodes Before alpha 1.1, components (i.e. sprites) handled visibility individually but I decided that I don’t like that and now visibility a property of the node class! It is also inherited down the node tree to the children of the node. I also added the enabled property to Nodes! While visibility affects the rendering, the enabled property basically stops all lifetime functions such as update , physicsUpdate and input along with render . Full Windows support Windows is now fully supported and every issue I have encountered is ironed out. The console is now hidden in release builds, etc, etc New examples I added the graphics-settings , multi-window , button and raycast examples. You can check these out on the website (except for graphics-settings and multi-window because those are desktop specific)! Alpha 1.1 And with this devlog, I will be publishing Calamity Engine 1.1! i really don’t know what else to say so i attached a video of the new node-tree example
Ships:
Calamity Engine Alpha v1.1.0 Calamity Engine is a small, portable, 2D game engine made with retro/underpowered platforms in mind, written in C++. I worked on maintaining and updating Calamity Engine with new features, such as multi-window support, raycasts, collision signals, a bunch of refactoring/restructuring, etc… I also wrote 4 new examples that showcase these new features! I recommend checking out the website where you will find (almost) every example compiled to the web, so you can try them out without leaving your browser! Please consider checking it out, I put a lot of work into it....
|
1792972562.431641
|
1793058962.431641
|
|
209
|
kindness generator by @kenji | Stardance
|
kenji
|
1
|
7.0
|
87
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T14:26:24Z", "hours": 7.0, "multiplier": 12.05, "payout": 87, "blessing": "neutral", "text": "i was making random acts of kindness or kindness generator, what hard is the script and the category style bcs is had some typo at there What I am proud of is the new challenge button and the animation when we opens the web!!!!!", "repo": "https://github.com/coplikso/kindness-generator", "demo": "https://coplikso.github.io/kindness-generator/"}]...
|
[{"post_id": 3522, "ts": "2026 [{"post_id": 3522, "ts": "2026-06-06T14:33:12Z", "hours": 2.0656, "text": "HEYYY GUYSSSSS, its been a while since the last devs yk, btw the web is done (no) but there is still something i wanna change like the color isn’t stardance enough and the challenge still not enough its only like.. 30 or smth, anyway what i have worked on is the category the animation when we refresh it and um that is it i guess, i’ll prob demo it so you guys can try to spread kindness to other people!!!!!!!!! luv you alllll"}, {"post_id": 2622, "ts": "2026-06-05T07:52:23Z", "hours": 1.3706, "text": "what changes im making is first of all the streak button i make it more “square” and the challenge,done, and share button is already having some cool effect that i luvvvv. that is just from me, baii"}, {"post_id": 1924, "ts": "2026-06-04T05:00:26Z", "hours": 1.1553, "text": "yo gng, so i have made the button to make a new challenge and the challlenge text!! next ill gonna be adding more style and script!!!!!!!"}, {"post_id": 1326, "ts": "2026-06-03T08:15:37Z", "hours": 0.7567, "text": "yooo gng, so i have added the box column for the challenge its cool tho"}, {"post_id": 741, "ts": "2026-06-02T11:24:37Z", "hours": 0.6286, "text": "the header has been centered and i have already added the orange thingy at the top"}, {"post_id": 460, "ts": "2026-06-01T22:13:45Z", "hours": 0.4944, "text": "so i have been working on the css file, the header is much cooler now, bcs of the font and the flex, luv it😆"}, {"post_id": 202, "ts": "2026-06-01T07:53:58Z", "hours": 0.7775, "text": "44m = i only got the html file, nothing else but i love the way it is to be tho. that is just from me"}]...
|
Title: kindness generator by @kenji | Stardance
D Title: kindness generator by @kenji | Stardance
Devlogs:
44m = i only got the html file, nothing else but i love the way it is to be tho. that is just from me
so i have been working on the css file, the header is much cooler now, bcs of the font and the flex, luv it😆
the header has been centered and i have already added the orange thingy at the top
yooo gng, so i have added the box column for the challenge its cool tho
yo gng, so i have made the button to make a new challenge and the challlenge text!! next ill gonna be adding more style and script!!!!!!!
what changes im making is first of all the streak button i make it more “square” and the challenge,done, and share button is already having some cool effect that i luvvvv. that is just from me, baii
HEYYY GUYSSSSS, its been a while since the last devs yk, btw the web is done (no) but there is still something i wanna change like the color isn’t stardance enough and the challenge still not enough its only like.. 30 or smth, anyway what i have worked on is the category the animation when we refresh it and um that is it i guess, i’ll prob demo it so you guys can try to spread kindness to other people!!!!!!!!! luv you alllll
Ships:
i was making random acts of kindness or kindness generator, what hard is the script and the category style bcs is had some typo at there What I am proud of is the new challenge button and the animation when we opens the web!!!!!...
|
1792997696.6379638
|
1793084096.6379638
|
|
213
|
Jeff vs The Underground by @keshavdaboss | Stardan Jeff vs The Underground by @keshavdaboss | Stardance...
|
keshavdaboss
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T06:49:48Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a platformer on Godot, where you avoid enemies and find the exit!", "repo": "https://github.com/KeshavDaBoss/jeff-vs-the-underground", "demo": "https://keshavdaboss.itch.io/jeff-vs-the-underground"}]...
|
[{"post_id": 21989, "ts": "202 [{"post_id": 21989, "ts": "2026-07-04T06:39:58Z", "hours": 3.8336, "text": "Hi! I’m creating a platformer game in which you must avoid the enemies and find the exit (could be anywhere yk)"}]...
|
Title: Jeff vs The Underground by @keshavdaboss | Title: Jeff vs The Underground by @keshavdaboss | Stardance
Devlogs:
Hi! I’m creating a platformer game in which you must avoid the enemies and find the exit (could be anywhere yk)
Ships:
I made a platformer on Godot, where you avoid enemies and find the exit!...
|
1793000984.7746954
|
1793087384.7746954
|
|
219
|
Stellar Programming Fundamentals Course by @djblac Stellar Programming Fundamentals Course by @djblackberry64contribute | Stardance...
|
djblackberry64contribute
|
1
|
16.45
|
133
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-28T20:46:54Z", "hours": 11.0, "multiplier": 12.57, "payout": 133, "blessing": "neutral", "text": "I made a programming fundamentals course with Astro Starlight because I wanted to make my own soft entry into the programming cosmos. The Astro 7 migration as well as the configurations were really challenging but I overcame them by reading docs, research and - as a last resort - socratic AI assistance. I’m really proud I got familiar with this tool and can express my idea more easily now. In order to test this project just visit the website linked under the image in the README.md and look around a bit.", "repo": "https://github.com/djblackberry64/programming-fundamentals-course", "demo": "https://djblackberry64.github.io/programming-fundamentals-course/"}]...
|
[{"post_id": 68257, "ts": "202 [{"post_id": 68257, "ts": "2026-09-14T19:49:15Z", "hours": 5.4544, "text": "PWA journey, Tagline afternoon and dependency disaster So in these 5 hours you see, some things happened and I’m excited to share the story with you.📖 First, the PWA So I wanted to make a PWA out of my website and searched around. After a while, I find a plugin that seems just right for me. Little did I know what I had just unleashed here… I’ve spent a whole day just figuring out what was wrong before ultimately realizing the service worker setup was causing issues, so I decided to revisit this later. I cleaned up, added a normal webmanifest and the logos/icons I had already created and got a non-offline PWA out of it for now (definitely will add offline functionality once I figure out how to write a service worker).🤔 Next, the Tagline Afternoon So I wanted to change this little text under that big bold “Hey there! Yeah you!” (as seen in the pictures I was successful in the end). But I had misread one critical piece of information which would devour my whole afternoon. I thought the description option was the place for configuring this little text! (Spoiler: It was the option called tagline) So I spent hours searching if my OS had trouble updating sites, reinstalling dependencies etc. and gave myself a proper facepalm when you finally see what was right in front of you.😑🤣 Last but not least, Dependency Disaster So this problem basically followed me through every attempt and changing or troubleshooting something. It thankfully was easy to resolve the remains of this problem though (reinstalling some dependencies and cussing a little at AI for suggesting a deprecated option when I asked about the build error).😌 Conclusion These were really productive 5 hours I spent here - more or less successful - expanding this project even further. I hope you enjoyed this devlog and I can’t wait for you to join in again. 😉Have a nice day, I’ll see myself out for now!😁"}, {"post_id": 36594, "ts": "2026-07-28T20:11:21Z", "hours": 0.7392, "text": "Why I am doing this, manifest update, minor changes Added “Why another free course” section to README.md Added project banner to README.md Added Stardance note in “Achievements” section to README.md Removed giscus comments from start page for visual clarity This is the last post before the first ship. 🥳 I’m so excited! 😬 I’m so glad I got to share the current development process of this project so far in this (and previous) HackClub event(s).☺️ But this project is far from over. I’m looking forward to extending this even further with more content, different styling, functionality, translations etc.🫡"}, {"post_id": 35285, "ts": "2026-07-26T16:22:16Z", "hours": 1.4225, "text": "This change focused on theme and comment/suggestion functionality I added the starlight-giscus plugin to add giscus support, added an edit page to my config file and followed the steps in the docs for applying a custom theme on a starlight page. Annoying Bug When configuring the styling for the giscus plugin in the config, the browser wouldn’t switch neatly when switching from light to dark mode when using themes other than plain light and dark –> using default themes for correct switching logic now."}, {"post_id": 24140, "ts": "2026-07-07T14:47:28Z", "hours": 0.4725, "text": "After another 30min of router logic battle I got the images working!🥳 Something with how the routing logic subtracts base subtracted the necessary / too so just added an extra one to make it work. #workaround"}, {"post_id": 24119, "ts": "2026-07-07T14:10:58Z", "hours": 7.27, "text": "Astro 7 transition, markdown rendering hell and a functional result After some growing pains 😖 with the tools I was using (Starlight + Astro), I finally got this project ready and shipped. Stay tuned for more devlogs!😉 Quick overview of the changes I made✍️: Added social links Astro 7 transition Removed duplicate titles"}, {"post_id": 4885, "ts": "2026-06-08T13:29:12Z", "hours": 0.6567, "text": "I worked on the existing project (was already part of flavortown).😄 Added an update to the manifest regarding a migraton to another static site generator. Added a lesson in section 2-language-specific-lessons where I detail my new project - a Java course which is based on the same principles as this course - and describe what it’s for. Short version Migrating from Material for MkDocs to Astro Starlight. Look forward to: Migration post where I detail the experience with the migration going on in the background!😘"}]...
|
Title: Stellar Programming Fundamentals Course by Title: Stellar Programming Fundamentals Course by @djblackberry64contribute | Stardance
Devlogs:
I worked on the existing project (was already part of flavortown).😄 Added an update to the manifest regarding a migraton to another static site generator. Added a lesson in section 2-language-specific-lessons where I detail my new project - a Java course which is based on the same principles as this course - and describe what it’s for. Short version Migrating from Material for MkDocs to Astro Starlight. Look forward to: Migration post where I detail the experience with the migration going on in the background!😘
Astro 7 transition, markdown rendering hell and a functional result After some growing pains 😖 with the tools I was using (Starlight + Astro), I finally got this project ready and shipped. Stay tuned for more devlogs!😉 Quick overview of the changes I made✍️: Added social links Astro 7 transition Removed duplicate titles
After another 30min of router logic battle I got the images working!🥳 Something with how the routing logic subtracts base subtracted the necessary / too so just added an extra one to make it work. #workaround
This change focused on theme and comment/suggestion functionality I added the starlight-giscus plugin to add giscus support, added an edit page to my config file and followed the steps in the docs for applying a custom theme on a starlight page. Annoying Bug When configuring the styling for the giscus plugin in the config, the browser wouldn’t switch neatly when switching from light to dark mode when using themes other than plain light and dark –> using default themes for correct switching logic now.
Why I am doing this, manifest update, minor changes Added “Why another free course” section to README.md Added project banner to README.md Added Stardance note in “Achievements” section to README.md Removed giscus comments from start page for visual clarity This is the last post before the first ship. 🥳 I’m so excited! 😬 I’m so glad I got to share the current development process of this project so far in this (and previous) HackClub event(s).☺️ But this project is far from over. I’m looking forward to extending this even further with more content, different styling, functionality, translations etc.🫡
PWA journey, Tagline afternoon and dependency disaster So in these 5 hours you see, some things happened and I’m excited to share the story with you.📖 First, the PWA So I wanted to make a PWA out of my website and searched around. After a while, I find a plugin that seems just right for me. Little did I know what I had just unleashed here… I’ve spent a whole day just figuring out what was wrong before ultimately realizing the service worker setup was causing issues, so I decided to revisit this later. I cleaned up, added a normal webmanifest and the logos/icons I had already created and got a non-offline PWA out of it for now (definitely will add offline functionality once I figure out how to write a service worker).🤔 Next, the Tagline Afternoon So I wanted to change this little text under that big bold “Hey there! Yeah you!” (as seen in the pictures I was successful in the end). But I had misread one critical piece of information which would devour my whole afternoon. I thought the description option was the place for configuring this little text! (Spoiler: It was the option called tagline) So I spent hours searching if my OS had trouble updating sites, reinstalling dependencies etc. and gave myself a proper facepalm when you finally see what was right in front of you.😑🤣 Last but not least, Dependency Disaster So this problem basically followed me through every attempt and changing or troubleshooting something. It thankfully was easy to resolve the remains of this problem though (reinstalling some dependencies and cussing a little at AI for suggesting a deprecated option when I asked about the build error).😌 Conclusion These were really productive 5 hours I spent here - more or less successful - expanding this project even further. I hope you enjoyed this devlog and I can’t wait for you to join in again. 😉Have a nice day, I’ll see myself out for now!😁
Ships:
I made a programming fundamentals course with Astro Starlight because I wanted to make my own soft entry into the programming cosmos. The Astro 7 migration as well as the configurations were really challenging but I overcame them by reading docs, research and - as a last resort - socratic AI assistance. I’m really proud I got familiar with this tool and can express my idea more easily now. In order to test this project just visit the website linked under the image in the README.md and look around a bit....
|
1792997354.9952517
|
1793083754.9952517
|
|
239
|
SaralRates by @Shish | Stardance
|
Shish
|
1
|
9.0
|
150
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-30T18:43:52Z", "hours": 9.0, "multiplier": 16.47, "payout": 150, "blessing": "neutral", "text": "I have previously worked on this project on Flavortown so don’t misunderstand that i made this project in just 9 hours (it actually took 70+ hours in total) In this version, I have migrated database from mongoDB to MariaDB and migrated frontend from React to Next and moved hosting from render, now my Raspberry pi handles the data and cron jobs. I set up a private cloudflare tunnel so that my pi can serve the data securely. There is also a new filter added which allows you to see commodities according to state and their districts. So, the main purpose of this project of mine is to help the farmers so that the middle man can’t exploit them. For now, very less people including some of family members who are into vegetable/fruit business use it :( I hope you guys like it. So much effort has been put into this project and I will keep working on it as I keep learning new new things. While updating this project, I learnt a lot about backend like tunnels. I also learnt more about NextJS and MySQL, like making tables and makking joins between different tables. Hardest thing was the backend as I wasn’t able to visualise properly what is happening so I had to take help of AI.", "repo": "https://github.com/C0nfu5ing-5pring/SaralRates", "demo": "https://saral-rates.vercel.app"}]...
|
[{"post_id": 37791, "ts": "202 [{"post_id": 37791, "ts": "2026-07-30T18:41:01Z", "hours": 0.4969, "text": "v(1.0.0) Completed! Updates I have decided to complete the project and focus on other projects for now. This project was very fun to work with! in these 25 mins, I wrote the README.md file, changed the version across the site and did pretty much small tasks that do not affect the functionality of the website! Changed the filter button style"}, {"post_id": 37577, "ts": "2026-07-30T12:25:16Z", "hours": 1.3339, "text": "v(0.8.2-Beta) Adding new features Updates Disconnected from render now render doesn’t feed data to my website. fixed a broken image logic on LaunchModal.jsx Removed dead code (from previous version) Added new feature of filtering by states and districts databse has around 14k commodities (last 31 days) but website shows only last 7 days. (in future, I will add trends of larger window) card share feature is glitched (again) so tried to work on it but couldn’t fix it properly. (thinking of removing it completely)"}, {"post_id": 37080, "ts": "2026-07-29T15:42:38Z", "hours": 2.3478, "text": "v(0.8.1) Migration Updates first of all, I was REALLY busy with my school so couldn’t code much. So, I started working on this project since a couple of days. So, we have successfully migrated and now my Raspberry Pi has the data and all made a private cloudflare tunnel so that I don’t expose my Pi. THANKS CLOUDFLARE! also installed pm2 on rpi so that backend can run continuously Had problems while migrating (that’s why you can see multiple similar commits) All this was obviously very new for me so I took help of AI for creating the cloudflare part As of today, we only have 246 commodities :( What next? I’ll be working on enhancing the cron job"}, {"post_id": 12315, "ts": "2026-06-20T03:06:38Z", "hours": 3.0953, "text": "v(0.8.1-beta) Migration Updates Read and accessed data from the rpi. So, my thinking here is that, I would have my rpi fetch all the data everyday and store it in mysql (which is on rpi). THEN, I will read and access that data and give it to the frontend and display it! (i dokn’t know if it is going to work or not BUT so far, I am able to read and access the data) Deleted mongoose and installed mysql to the project I have been working on dummy data so I don’t know if it is fully functional or not. What next? I will be setting up a job for rpi to fetch data from govt. api every day. Change log 9fae860: read and access data from rpi 5b95a47feat: daily fetch 8dcef72docs: add dummy data aefed79docs: delete mongodb files 41f198ddocs: uninstall mongoose and install mysql 6eeda2edocs: update README 1539c69feat(api): daily fetch"}, {"post_id": 4068, "ts": "2026-06-07T08:10:57Z", "hours": 1.9408, "text": "v(0.8.0-beta) Migration Updates Migrated from ReactJS to NextJS (For better SEO) Tackled some bugs while doing so Made sure everything still works As of today we have data of 33k commoditeis!!! What next? Now I will be doing a tedious job of adding ‘alt’ to all the images and look for more ways to do better SEO Then I need to migrate from MongoDB to MySQL and i’ll be storing all the data of commodities on my Raspberry Pi 5. I chose MySQL because if I use it, it might also help me in my school examinations i.e I’ll get my hand on SQL properly :) I also have tons of new ideas that I can implement using MySQL but i’ll keep them for upcoming devlogs Changelog feat(api): daily fetch chore: add backups and make next app chose: migrate code from react to next fix(api): allow all cors address fix(feat): fix theme toggle and notifications chore: remove migration backups"}]...
|
Title: SaralRates by @Shish | Stardance
Devlogs:
Title: SaralRates by @Shish | Stardance
Devlogs:
v(0.8.0-beta) Migration Updates Migrated from ReactJS to NextJS (For better SEO) Tackled some bugs while doing so Made sure everything still works As of today we have data of 33k commoditeis!!! What next? Now I will be doing a tedious job of adding ‘alt’ to all the images and look for more ways to do better SEO Then I need to migrate from MongoDB to MySQL and i’ll be storing all the data of commodities on my Raspberry Pi 5. I chose MySQL because if I use it, it might also help me in my school examinations i.e I’ll get my hand on SQL properly :) I also have tons of new ideas that I can implement using MySQL but i’ll keep them for upcoming devlogs Changelog feat(api): daily fetch chore: add backups and make next app chose: migrate code from react to next fix(api): allow all cors address fix(feat): fix theme toggle and notifications chore: remove migration backups
v(0.8.1-beta) Migration Updates Read and accessed data from the rpi. So, my thinking here is that, I would have my rpi fetch all the data everyday and store it in mysql (which is on rpi). THEN, I will read and access that data and give it to the frontend and display it! (i dokn’t know if it is going to work or not BUT so far, I am able to read and access the data) Deleted mongoose and installed mysql to the project I have been working on dummy data so I don’t know if it is fully functional or not. What next? I will be setting up a job for rpi to fetch data from govt. api every day. Change log 9fae860: read and access data from rpi 5b95a47feat: daily fetch 8dcef72docs: add dummy data aefed79docs: delete mongodb files 41f198ddocs: uninstall mongoose and install mysql 6eeda2edocs: update README 1539c69feat(api): daily fetch
v(0.8.1) Migration Updates first of all, I was REALLY busy with my school so couldn’t code much. So, I started working on this project since a couple of days. So, we have successfully migrated and now my Raspberry Pi has the data and all made a private cloudflare tunnel so that I don’t expose my Pi. THANKS CLOUDFLARE! also installed pm2 on rpi so that backend can run continuously Had problems while migrating (that’s why you can see multiple similar commits) All this was obviously very new for me so I took help of AI for creating the cloudflare part As of today, we only have 246 commodities :( What next? I’ll be working on enhancing the cron job
v(0.8.2-Beta) Adding new features Updates Disconnected from render now render doesn’t feed data to my website. fixed a broken image logic on LaunchModal.jsx Removed dead code (from previous version) Added new feature of filtering by states and districts databse has around 14k commodities (last 31 days) but website shows only last 7 days. (in future, I will add trends of larger window) card share feature is glitched (again) so tried to work on it but couldn’t fix it properly. (thinking of removing it completely)
v(1.0.0) Completed! Updates I have decided to complete the project and focus on other projects for now. This project was very fun to work with! in these 25 mins, I wrote the README.md file, changed the version across the site and did pretty much small tasks that do not affect the functionality of the website! Changed the filter button style
Ships:
I have previously worked on this project on Flavortown so don’t misunderstand that i made this project in just 9 hours (it actually took 70+ hours in total) In this version, I have migrated database from mongoDB to MariaDB and migrated frontend from React to Next and moved hosting from render, now my Raspberry pi handles the data and cron jobs. I set up a private cloudflare tunnel so that my pi can serve the data securely. There is also a new filter added which allows you to see commodities according to state and their districts. So, the main purpose of this project of mine is to help the farmers so that the middle man can’t exploit them. For now, very less people including some of family members who are into vegetable/fruit business use it :( I hope you guys like it. So much effort has been put into this project and I will keep working on it as I keep learning new new things. While updating this project, I learnt a lot about backend like tunnels. I also learnt more about NextJS and MySQL, like making tables and makking joins between different tables. Hardest thing was the backend as I wasn’t able to visualise properly what is happening so I had to take help of AI....
|
1792983322.5359488
|
1793069722.5359488
|
|
242
|
Stardance Tracker by @mahad | Stardance
|
mahad
|
1
|
1.0
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-01T12:46:52Z", "hours": 1.0, "multiplier": 7.23, "payout": 5, "blessing": "neutral", "text": "Shipped Stardance Tracker! It’s now live at #stardance-tracker.", "repo": "https://github.com/skyfallwastaken/stardance-monitor", "demo": "https://hackclub.enterprise.slack.com/archives/C0AR3JDCE8L"}]...
|
[{"post_id": 248, "ts": "2026- [{"post_id": 248, "ts": "2026-06-01T12:42:31Z", "hours": 0.6942, "text": "It works! Check it out at #stardance-monitor!"}]...
|
Title: Stardance Tracker by @mahad | Stardance
De Title: Stardance Tracker by @mahad | Stardance
Devlogs:
It works! Check it out at #stardance-monitor!
Ships:
Shipped Stardance Tracker! It’s now live at #stardance-tracker....
|
1792983174.3456957
|
1793069574.3456957
|
|
254
|
GitPilot-n8n: The Autonomous Open Source AI Agent GitPilot-n8n: The Autonomous Open Source AI Agent by @jawadhasan | Stardance...
|
jawadhasan
|
1
|
6.33
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-06T15:18:40Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a Multi-Agentic workflow that constantly monitors any issues on Github and notifies its developers. It is set up on a repository. I still don’t know how I built it. When I planned it first. it seemed so hard. and when I was building this project, I saw some errors that I never saw before and even after that I had to alter my initial plan. But it works now fortunately.", "repo": "https://github.com/Jawad2011/GitPilot-n8n-The-Autonomous-Open-Source-AI-Agent", "demo": "https://github.com/Jawad2011/Gitpilot-test-sandbox/issues"}]...
|
[{"post_id": 5384, "ts": "2026 [{"post_id": 5384, "ts": "2026-06-09T04:02:28Z", "hours": 0.3336, "text": "Made it demoable, added demo instructions and fixed some typos. Readt re reship."}, {"post_id": 3533, "ts": "2026-06-06T14:52:48Z", "hours": 0.51, "text": "Finally finished writing my README. Now, it’s time to ship my project. I don’t know if it will be good or not but I will try. Let’s see what happens."}, {"post_id": 2787, "ts": "2026-06-05T16:29:50Z", "hours": 2.4467, "text": "Hello, i don’t know but I am struggling a lot. The tool I use is n8n which is an open-source AI Automation tool. But it has many problems and especially I face more struggles because of my server being rented. Firstly, I wanted to use MCP server and built it on my own but unfortunately due to some errors and proxies on which I had no control over, i was unable to connect it. Then, I directly connected it directly my main AI Agent node."}, {"post_id": 1952, "ts": "2026-06-04T06:19:14Z", "hours": 2.5161, "text": "Hello, I worked for about 2 and a half hours trying to write a Python script to parse the data to only find out that Python isn’t installed in the n8n server. I use a student-only n8n server which charges $17 per 3 years. Python3 wasn’t installed there. So, I had to find an alternative and used a Set Node instead. And also added an AI Agent and build a MCP Server so the AI Agent can use the tools without creating a mess in the original workflow."}, {"post_id": 656, "ts": "2026-06-02T05:52:21Z", "hours": 0.4222, "text": "Built the initial phase successfully after debugging and learning that AI Model cannot take raw JSON and you have to stringify it."}]...
|
Title: GitPilot-n8n: The Autonomous Open Source AI Title: GitPilot-n8n: The Autonomous Open Source AI Agent by @jawadhasan | Stardance
Devlogs:
Built the initial phase successfully after debugging and learning that AI Model cannot take raw JSON and you have to stringify it.
Hello, I worked for about 2 and a half hours trying to write a Python script to parse the data to only find out that Python isn’t installed in the n8n server. I use a student-only n8n server which charges $17 per 3 years. Python3 wasn’t installed there. So, I had to find an alternative and used a Set Node instead. And also added an AI Agent and build a MCP Server so the AI Agent can use the tools without creating a mess in the original workflow.
Hello, i don’t know but I am struggling a lot. The tool I use is n8n which is an open-source AI Automation tool. But it has many problems and especially I face more struggles because of my server being rented. Firstly, I wanted to use MCP server and built it on my own but unfortunately due to some errors and proxies on which I had no control over, i was unable to connect it. Then, I directly connected it directly my main AI Agent node.
Finally finished writing my README. Now, it’s time to ship my project. I don’t know if it will be good or not but I will try. Let’s see what happens.
Made it demoable, added demo instructions and fixed some typos. Readt re reship.
Ships:
I built a Multi-Agentic workflow that constantly monitors any issues on Github and notifies its developers. It is set up on a repository. I still don’t know how I built it. When I planned it first. it seemed so hard. and when I was building this project, I saw some errors that I never saw before and even after that I had to alter my initial plan. But it works now fortunately....
|
1792990566.5577626
|
1793076966.5577626
|
|
270
|
BetterStandby by @Capy | Stardance
|
Capy
|
1
|
16.0
|
235
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-14T15:33:29Z", "hours": 16.0, "multiplier": 14.33, "payout": 235, "blessing": "neutral", "text": "I made BetterStandby! It’s a PWA that lets non-iPhones and any phones without an always-on display use a clock face inspired by Apple’s StandBy! It’s highly customisable, featuring custom font size, font, and accent colour, alongside different layouts. It was really fun to build, so thanks for reading! Hope you like it as much as I do :D", "repo": "https://github.com/CapyGamesXD/BetterStandby", "demo": "https://betterstandby.capydesigns.com"}]...
|
[{"post_id": 8747, "ts": "2026 [{"post_id": 8747, "ts": "2026-06-14T15:30:47Z", "hours": 1.2781, "text": "Final Devlog! I (once again) redesigned the settings page, and I’m super happy with the outcome. I also adapted several other pages and made some smaller improvements. I made a README file showcasing some images of the project. I think this will be the last devlog before I ship, so see you guys in the next project, and thanks for reading!"}, {"post_id": 8272, "ts": "2026-06-13T19:20:33Z", "hours": 4.3236, "text": "WOW! Lot of work done! I’ll go through them quickly: 1: Capybara 404 page 2: Added GPS geolocation (no more IP :D) 3: Added a fancy new icon! (3 lines of AI code for the meta tags!!!) Speedrun time! Fixed small-screen layout issues, added a ‘hide location’ button in settings, totally revamped settings and customisation, fixed an inconsistency across the starting page and the customisation page, removed a useless button, added a ‘docs’ page talking about the project, spent a while debugging a ‘rogue import’ issue (XD), put default at the top for fonts, improved saving logic and ADDED 5 NEW FONTS! :D They all look great! Everybody welcome: Pliant, Montserrat, Oswald, Roboto Slab, and Pixelify Sans! This gives you up to 49 new combinations! :D Sorry for the long devlog and any mistakes, thanks for reading!"}, {"post_id": 4427, "ts": "2026-06-07T19:04:28Z", "hours": 2.8225, "text": "BIG devlog! A bunch of really nice features! In reverse order of my preference: Fixed bugs on Safari Some nice outlines for visibility if the user decides on light accent colours. I added a font sizing option in customisation! Added font customisation for both large and small text. Also updated the font styling to work across various screen sizes! And finally… FINALLY! I added ANIMATIONS! They’re really fluid and smooth. Plans: Improve reliability across browsers. Add a font sizing option to smaller text. I’m considering adding PWA detection, but not sure. Also considering some fun documentation for the user/tester to read regarding screen burn protection and the idea of the app. Add more pages! Improve UI. Thanks for reading! (Sorry for any grammar/spelling issues, I type all my devlogs manually lel)"}, {"post_id": 2835, "ts": "2026-06-05T17:52:25Z", "hours": 2.0106, "text": "2h devlog. So I fixed the bugs mentioned at the end of the last devlog, which is great :D I also redesigned the concept of the settings, now there are separate pages for customisation and actual settings. I also implemented that new settings menu, featuring control over storage (locally held variables) and input for lat/lon, which is currently entirely manual to avoid any privacy concerns. I made sure not to add this to the intro, as it helps the user learn about the settings. :D I also improved the screen burn protection, and experimented a bit with that. The last (and largest) improvement I made was the UI of the ‘info’ page, and I plan to do a similar thing to all other pages. There’s a screenshot below. Plans: Total overhaul of other pages, general UI and ANIMATIONS! Also, I plan to add a ‘reading’ section, kinda like a blog based on the work I’ve done and my idea behind it, with the screen-burn protection. Thanks for reading!"}, {"post_id": 2286, "ts": "2026-06-04T18:00:20Z", "hours": 2.7808, "text": "Added a bunch more stuff! I implemented the other pages, added a ‘customisation’ page (settings) where the user can change the styling and screen, and added a bunch more improvements across pages. This isn’t all I added, but I’m trying to keep the devlog short to not be boring. Plans: Fix some things with Safari, fix the location fetching for weather data, and revamp the UI for the customisation page. Also add tons more screens and animations (I still haven’t! XD). I also need to fix a bug where the dark mode is somewhat inconsistent. Thanks for reading, happy coding!"}, {"post_id": 421, "ts": "2026-06-01T20:28:40Z", "hours": 2.0664, "text": "I added tons of cool stuff! I modified and improved the ‘intro’ experience, adding styling pages, alongside a tutorial page for customisation! I also added a system for styling, which looks really nice IMHO! I’d love to hear your feedback on it. I very slightly modified the icons on the first page, but not significantly aside from adding the actual views, rather than placeholders. I added an image of the final page showing the user how to enter the customisation menu, although I plan to modify that a LOT! XD After you click on that, it takes you to the main home page, where I added a CSS-based system protecting against screen burn! (I chose CSS because it’s more reliable against memory leaks and animations are widely supported with very little overhead! :D) There’s a LOT I plan to add still! I want to make the customisation menu, massively improve the UI, and add tons of nice animations and details (like I said I’d do in the previous entry) If you’re interested, I’m using a Trello board to keep track of things! I find it really helpful to organise everything into an ‘ideas’, ‘to-do’, ‘improve’ and ‘done’. :D Thanks for reading my (probably excessively long) devlog! Happy hacking! :)"}, {"post_id": 124, "ts": "2026-05-31T21:05:24Z", "hours": 1.135, "text": "Hey! Excited to make my first devlog! I worked for a few untracked hours on the UI in Figma. I also plotted a nice intro/disclaimer message for the user about screen burn. I’m really happy with the intro page, although I plan to modify the customisation page. :) After that I started coding! I’ve managed to get a working version of the UI for the first two screens, which are both visible below. I’ve added some basic animations, but plan to go quite big on the nice zoom-ey ones for the buttons and stuff, in case anyone (like the people testing!) use a PC. :D Thanks for reading the devlog! Have fun. :D"}]...
|
Title: BetterStandby by @Capy | Stardance
Devlogs Title: BetterStandby by @Capy | Stardance
Devlogs:
Hey! Excited to make my first devlog! I worked for a few untracked hours on the UI in Figma. I also plotted a nice intro/disclaimer message for the user about screen burn. I’m really happy with the intro page, although I plan to modify the customisation page. :) After that I started coding! I’ve managed to get a working version of the UI for the first two screens, which are both visible below. I’ve added some basic animations, but plan to go quite big on the nice zoom-ey ones for the buttons and stuff, in case anyone (like the people testing!) use a PC. :D Thanks for reading the devlog! Have fun. :D
I added tons of cool stuff! I modified and improved the ‘intro’ experience, adding styling pages, alongside a tutorial page for customisation! I also added a system for styling, which looks really nice IMHO! I’d love to hear your feedback on it. I very slightly modified the icons on the first page, but not significantly aside from adding the actual views, rather than placeholders. I added an image of the final page showing the user how to enter the customisation menu, although I plan to modify that a LOT! XD After you click on that, it takes you to the main home page, where I added a CSS-based system protecting against screen burn! (I chose CSS because it’s more reliable against memory leaks and animations are widely supported with very little overhead! :D) There’s a LOT I plan to add still! I want to make the customisation menu, massively improve the UI, and add tons of nice animations and details (like I said I’d do in the previous entry) If you’re interested, I’m using a Trello board to keep track of things! I find it really helpful to organise everything into an ‘ideas’, ‘to-do’, ‘improve’ and ‘done’. :D Thanks for reading my (probably excessively long) devlog! Happy hacking! :)
Added a bunch more stuff! I implemented the other pages, added a ‘customisation’ page (settings) where the user can change the styling and screen, and added a bunch more improvements across pages. This isn’t all I added, but I’m trying to keep the devlog short to not be boring. Plans: Fix some things with Safari, fix the location fetching for weather data, and revamp the UI for the customisation page. Also add tons more screens and animations (I still haven’t! XD). I also need to fix a bug where the dark mode is somewhat inconsistent. Thanks for reading, happy coding!
2h devlog. So I fixed the bugs mentioned at the end of the last devlog, which is great :D I also redesigned the concept of the settings, now there are separate pages for customisation and actual settings. I also implemented that new settings menu, featuring control over storage (locally held variables) and input for lat/lon, which is currently entirely manual to avoid any privacy concerns. I made sure not to add this to the intro, as it helps the user learn about the settings. :D I also improved the screen burn protection, and experimented a bit with that. The last (and largest) improvement I made was the UI of the ‘info’ page, and I plan to do a similar thing to all other pages. There’s a screenshot below. Plans: Total overhaul of other pages, general UI and ANIMATIONS! Also, I plan to add a ‘reading’ section, kinda like a blog based on the work I’ve done and my idea behind it, with the screen-burn protection. Thanks for reading!
BIG devlog! A bunch of really nice features! In reverse order of my preference: Fixed bugs on Safari Some nice outlines for visibility if the user decides on light accent colours. I added a font sizing option in customisation! Added font customisation for both large and small text. Also updated the font styling to work across various screen sizes! And finally… FINALLY! I added ANIMATIONS! They’re really fluid and smooth. Plans: Improve reliability across browsers. Add a font sizing option to smaller text. I’m considering adding PWA detection, but not sure. Also considering some fun documentation for the user/tester to read regarding screen burn protection and the idea of the app. Add more pages! Improve UI. Thanks for reading! (Sorry for any grammar/spelling issues, I type all my devlogs manually lel)
WOW! Lot of work done! I’ll go through them quickly: 1: Capybara 404 page 2: Added GPS geolocation (no more IP :D) 3: Added a fancy new icon! (3 lines of AI code for the meta tags!!!) Speedrun time! Fixed small-screen layout issues, added a ‘hide location’ button in settings, totally revamped settings and customisation, fixed an inconsistency across the starting page and the customisation page, removed a useless button, added a ‘docs’ page talking about the project, spent a while debugging a ‘rogue import’ issue (XD), put default at the top for fonts, improved saving logic and ADDED 5 NEW FONTS! :D They all look great! Everybody welcome: Pliant, Montserrat, Oswald, Roboto Slab, and Pixelify Sans! This gives you up to 49 new combinations! :D Sorry for the long devlog and any mistakes, thanks for reading!
Final Devlog! I (once again) redesigned the settings page, and I’m super happy with the outcome. I also adapted several other pages and made some smaller improvements. I made a README file showcasing some images of the project. I think this will be the last devlog before I ship, so see you guys in the next project, and thanks for reading!
Ships:
I made BetterStandby! It’s a PWA that lets non-iPhones and any phones without an always-on display use a clock face inspired by Apple’s StandBy! It’s highly customisable, featuring custom font size, font, and accent colour, alongside different layouts. It was really fun to build, so thanks for reading! Hope you like it as much as I do :D...
|
1792997259.239515
|
1793083659.239515
|
|
277
|
Kadent by @hacha-mouse | Stardance
|
hacha-mouse
|
1
|
231.72
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T15:24:36Z", "hours": 229.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Kadent Kadent is a cross-platform DAW featuring KASL, a domain-specific audio language, and node-graph processing system. Features Create music with familiar track-based UI Two track types: Note Track & Audio Track Node graph for every track KASL language with syntax similar to Swift The node graph allows you to combine multiple KASL programs to perform much more complex processing. What Is a Node Graph? Kadent uses node graph for track processing. A Node is a processing unit that calculates the output. In node graph, an output of one node can be connected to an input of another node. This allows you to connect multiple inputs and outputs freely to other nodes to create sound. Then, why did I adopt node graph? KASL programs can have multiple inputs and outputs, and their types may also vary. So placing them in order does not work because the DAW cannot know which output is connected to the specific input. That’s why Kadent uses node graph. Characteristics of KASL Utilizes Cranelift as a backend for quicker JIT compilation Specialized type of variables such as input , output and state Supports fixed-length arrays and structs Fixed-count loop syntax for predictable execution time Module system influenced by Python Custom infix/prefix/postfix operators (even normal arithmetic operators are defined and provided by std ) KASL Sample Program audio module is built-in module provided by Kadent. Note that these programs below won’t work outside the DAW. Gain Node import audio import std input in = audio.zero_sample() input gain = 0.0 output out = audio.zero_sample() func main() { out = in * [gain; audio.max_channels] } Mix Node import std import std/math/float as f import audio input input_1 = audio.zero_sample() input input_2 = audio.zero_sample() input factor = 0.0 output out = audio.zero_sample() func main() { let clamped_factor = f.clamp(factor, 0.0, 1.0) let multiplied_input_1: audio.Sample = input_1 * [clamped_factor; audio.max_channels] let multiplied_input_2: audio.Sample = input_2 * [1.0 - clamped_factor; audio.max_channels] out = multiplied_input_1 + multiplied_input_2 } Sawtooth Wave Synthesizer import audio as a import std import std/math/float as f input notes = a.EventSlot() input pitch = 1.0 output out = a.zero_sample() state allocator = a.Allocator() let base_freq = 440.0 let volume = 0.1 func main() { allocator.update(notes) var i = 0 loop a.max_voices { let voice = allocator.voices[i] let freq = pitch * base_freq * f.pow(2.0, (voice.pitch - 69.0) / 12.0) if voice.is_active { let t = voice.age let sample = saw(freq: freq, time: t) out = out + [sample * volume; a.max_channels] } i = i + 1 } } func saw(freq f = 440.0, time t: Float) -> Float { return 2.0 * (t * f) % 1.0 - 1.0 } Installation Go to the Releases page of my GitHub repository to download the latest precompiled binary, or compile the binary yourself. Detailed installation steps are described in README .", "repo": "https://github.com/hatya-mouse/kadent", "demo": "https://github.com/hatya-mouse/kadent/releases/tag/v0.1.1"}]...
|
[{"post_id": 81784, "ts": "202 [{"post_id": 81784, "ts": "2026-10-22T14:10:13Z", "hours": 0.8664, "text": "How to add Note Region You can add note region by double-clicking in the timeline. To add notes to it, you need to select the region by clicking it first. Code Editor Error .kdp files are serialized project files, not a source code. You can create a new source file by clicking the src/ directory in the Code Editor. To add a source code to the note track, first open a node graph and add a KASL node to it. In the Inspector, you can specify the path to the source code (e.g. src/example.kasl). Added Some More Documentation I’ve added documentation with screenshots of each panels: Timeline Inspector Automation Node Graph Piano Roll Code Editor"}, {"post_id": 81773, "ts": "2026-10-22T13:18:48Z", "hours": 1.8489, "text": "Added Documentation I saw that the reviewer tried to open the binary project file in the code editor and failed so I’ve decided to add a some sort of tutorial or a documentation. I really wanted to add an interactive tutorial so that the reviewers and the users can know how Kadent works, but I didn’t have time to do so so I’ve just added a few documentation."}, {"post_id": 59408, "ts": "2026-09-01T06:49:17Z", "hours": 17.1803, "text": "Added License Browser It’s been a while since my last devlog! During this time I’ve added an Acknowledgements view where you can look at license text and other informations of the Fonts and Crates that I’ve used. It was a bit difficult to implement because there are so many crates, but I’m satisfied with the result."}, {"post_id": 56435, "ts": "2026-08-28T06:22:03Z", "hours": 41.4536, "text": "Improved code editor I’ve implemented error highlighting in the code editor. I also added a list of errors at the bottom of the code editor, and I can jump to the position of the error by clicking the error. TextEdit in egui does not support highlighting character by character and instead it only highlighting by each sections, so red underlined part may be bigger than the actual error range, but I guess it still looks nice."}, {"post_id": 52794, "ts": "2026-08-23T04:24:09Z", "hours": 10.9353, "text": "sode I’ve created a simple binary serialization crate called “sode” for Kadent. This guarantees that the output binary won’t change even if the struct is modified so I thought it would be better than serde or that sort of serialization library. impl Encode for Note { fn encode ( & self , e : & mut Encoder ) -> Result < (), EncodeError > { e .field ( 0 , & self .start ) ? ; e .field ( 1 , & self .duration ) ? ; e .field ( 2 , & self .pitch ) ? ; e .field ( 3 , & self .velocity ) ? ; Ok (()) } } impl Decode for Note { fn decode ( d : & mut ValueDecoder ) -> Result < Self , DecodeError > { let d = d .to_field_decoder () ? ; Ok ( Note :: new ( d .field ( 0 ) ? .ok_or ( DecodeError :: InvalidData ) ? , d .field ( 1 ) ? .ok_or ( DecodeError :: InvalidData ) ? , d .field ( 2 ) ? .ok_or ( DecodeError :: InvalidData ) ? , d .field ( 3 ) ? .ok_or ( DecodeError :: InvalidData ) ? , )) } }"}, {"post_id": 51188, "ts": "2026-08-20T18:06:44Z", "hours": 4.3567, "text": "Curve type selection I’ve implemented a selection dropdown for three curve types: linear, step, and smooth. Next thing to do is to add a text field to adjust the curve tension"}, {"post_id": 50847, "ts": "2026-08-20T09:11:52Z", "hours": 8.7028, "text": "Automation Automation is here. I’ve implemented an automation node, which is associated with an automation track that you can add keyframes to value that changes over time. You can even connect automation nodes to KASL Node to use the value for calculation!"}, {"post_id": 49569, "ts": "2026-08-18T13:30:07Z", "hours": 4.8889, "text": "Refactored codebase It looks exactly the same as the previous devlog, but I refactored the codebase, primarily the EditorUiState. I separated many members of EditorUiState to multiple small structs for better readability"}, {"post_id": 48851, "ts": "2026-08-17T12:25:43Z", "hours": 7.1642, "text": "Added ruler to piano roll I’ve added the ruler to the piano roll. This will make note placement easier and more intuitive than before. Also I refactored the codebase a little bit, but honestly I thought the previous implementation would be better so I may be putting it back soon."}, {"post_id": 47876, "ts": "2026-08-16T04:17:12Z", "hours": 11.8714, "text": "Add seconds support for region placement I’ve added TimePosition and TimeBounds to store the position of the region. They have two modes: one stores the position in Ticks, and another one stores it in seconds. Ticks and seconds can be calculated from each other using TempoMap."}, {"post_id": 46767, "ts": "2026-08-14T08:06:59Z", "hours": 11.5078, "text": "On-demamd resampling for audio tracks Audio regions require resampling because the sample rate of the source data may differ from the required sample rate. So far, the audio engine for Kadent has been resampling the entire audio data before playback or exporting. However, resampling audio data in advance takes a lot of CPU and increases the time it takes to prepare for playback. This time I made it resample the audio data on demand during playback. This makes audio thread not to store the massive resampled audio data. *sample rate: a value that indicates how many samples are in a single second *sample: a value that represents the sound wave’s loudness at a specific moment in time"}, {"post_id": 45991, "ts": "2026-08-12T20:39:49Z", "hours": 49.1206, "text": "Waveform Rendering & Scroll Bar This time, I’ve mainly implemented two features: waveform rendering and timeline scroll bar. Waveform I’ve added a waveform rendering logic to the timeline. I handled it by generating peak value data to render it quicker than calculating the peak value while rendering. After all, it looks pretty nice and scales perfectly when zooming with my trackpad. Timeline Scroll Bar Another feature I’ve added is a timeline scroll bar. It may not look appealing, but its calculation was quite hard actually. I had to calculate the ratio of the visible area and the entire timeline to get the width of the scroll bar. I think it is lot better than egui’s builtin scroll bar, so I’m quite satisfied with the outcome!"}, {"post_id": 20035, "ts": "2026-07-01T15:15:14Z", "hours": 1.9881, "text": "Ability to adjust project range I’ve implemented a feature that the user can adjust the project’s export range just by dragging the handle in the ruler. Also the actual number is shown in the status bar while the handle is being dragged so the user can know the exact beat where is going to be exported."}, {"post_id": 19709, "ts": "2026-07-01T03:15:36Z", "hours": 23.7522, "text": "Refactored the audio engine I’ve streamlined the note processing logic in the audio engine. So far, the audio engine handled sequenced notes (notes that you can see in the editor) and the realtime MIDI notes that you can play using some MIDI controllers differently. It also lacked maintainability. That’s why I’ve completely rebuilt the logic to unify the process. It also contributed to reduce the amount of code, and I’m happy with that."}, {"post_id": 16801, "ts": "2026-06-27T08:53:19Z", "hours": 3.0306, "text": "Added Status Bar I’ve added a new status bar, which shows some informations such as sample rate, buffer size and the selected content, at the bottom of the window. Fixed Node Graph Rendering Bug The node graph used to be rendered on the front of the header, but I finally fixed this by using Panel to limit the area where painter can draw the graph."}, {"post_id": 15135, "ts": "2026-06-24T16:22:43Z", "hours": 7.1325, "text": "Improved menu design I’ve improved the design of the menu by adjusting the button style. It took quite a long time because of egui’s a little bit confusing styling API. Refactor and optimize the audio engine I’ve refactored the audio engine by using integer ticks to manage time instead of f32 beats. By using integer ticks, it can be calculated even faster and more accurately."}, {"post_id": 12564, "ts": "2026-06-20T14:55:28Z", "hours": 1.1906, "text": "Nested dropdown menu for device selection I’ve improved a device selection feature by nesting the menu. Thanks to this, users can click a single headphones button to change the MIDI ports and output devices. Also I added some icons for these."}, {"post_id": 12510, "ts": "2026-06-20T13:06:52Z", "hours": 1.2117, "text": "Selectable audio output I’ve added a feature to select audio output! It may seem simple but it actually needed refactoring the audio engine and it took a lot of time."}, {"post_id": 12455, "ts": "2026-06-20T10:23:24Z", "hours": 2.4333, "text": "Replacing audio stream when switching devices I’ve implemented a logic in the audio engine, that allows the Kadent DAW to switch the output device. It was challenging because Mixer and MPSC consumers cannot be cloned. Finally I used Arc and Mutex in order to share the context with multiple threads. let callback_ctx = Arc::new(Mutex::new(OutputCallbackContext { mixer, command_cons, midi_cons, vu_prod, pending_project: pending_arc, })); I used try_lock instead of normal lock , which may block the thread, as you can see in the screenshot."}, {"post_id": 9312, "ts": "2026-06-15T16:59:09Z", "hours": 5.6553, "text": "KASL module system improvement So far, KASL compiler didn’t allow us to import external programs with the same name, because the name of the namespace conflicts. Today I have added new alias feature, which can be used like this: import foo as bar With this syntax, you can import a program named foo.kasl and refer to it with bar . This can also improve readability when importing a file with a long name! Streamline compilation I wanted to try compiling Kadent to application that can be installed using an installer, instead of a simple executable binary. I found Taskfile, which is a build tool similar to make but uses a yaml file to define workflows. I found it very useful so I adopted it and it worked very well! Currently I only have workflow for macOS compilation but I want to add Windows and Linux support soon!"}, {"post_id": 8724, "ts": "2026-06-14T14:21:32Z", "hours": 2.6775, "text": "Project creation dialog I’ve implemented new project creation dialog. You can specify the name of the project and select the folder using a picker from the system."}, {"post_id": 8532, "ts": "2026-06-14T06:06:41Z", "hours": 2.6142, "text": "Implemented splash screen I’ve finally finished implementing the splash screen for Kadent. On the left side, there are two buttons for creating or opening a project. The right panel shows the recent projects. Challenge The biggest challenge in implementing the splash screen was to layout UI components. It was quite hard to center the logo and the buttons. I spent around 1hrs dealing with that problem. Here’s how I solved it: const BUTTON_WIDTH : f32 = 300.0 ; const BUTTON_HEIGHT : f32 = 42.0 ; const CONTENT_HEIGHT : f32 = 60.0 + 12.0 + 16.0 + 24.0 + 12.0 + BUTTON_HEIGHT * 2.0 ; impl SplashUi { pub ( super ) fn splash_controls ( & mut self , ui : & mut egui :: Ui ) -> Option < EditorTransition > { ui .vertical_centered (| ui | { // Add space to vertically center the UI parts ui .add_space ( full_height / 2.0 - CONTENT_HEIGHT / 2.0 ); // UI Components }) .inner } } Since centering both horizontally and vertically while calculating the height of the inner content is painful, I eventually hardcoded the height of the UI components in order to center the UI vertically. Logo I’ve also designed a logo for Kadent in the meantime. I tweaked the font called “Inter”, which is available on Google Fonts, for the logo."}, {"post_id": 8172, "ts": "2026-06-13T16:50:03Z", "hours": 7.3775, "text": "Kadent — A DAW with custom language to create synths and effects Refactored project strucure As my codebase became bigger, it started to be a bit complicated, so I’ve refactored the codebase. New folder structure is consist of four directories in src/ directory: commands , core , storage , and ui . commands directory contains the audio engine communication logic. It has some functions like add_note that adds a new note to the specified track and sends the updated project to the audio thread. core directory contains KASLNode implementation and some metadata. KASLNode is a specific node that can literally execute KASL programs. Metadata is a data that are not necessarily tied to audio engine. It includes track colors, track names, region names, etc. storage directory contains some implementation for storing and loading files. It has a logic to save and load the Kadent project file. ui directory contains the UI implementation. Inside the ui directory, there are components , theme , and workspaces directories. components directory has some common UI parts used in various parts of the DAW. theme defines colors and size used in the UI. workspaces contains the UI implementation for the editor and the splash screen. Splash screen I’m currently implementing a splash screen for Kadent. It used to have just two buttons to create or open a project. I’ve just finished implementing “Recent Projects” list. (shown on the right side)"}, {"post_id": 4027, "ts": "2026-06-07T06:23:01Z", "hours": 1.4083, "text": "Implemented multithread track processing for the audio engine using Rayon ! I used to think implementing multithreading would be a nightmare, but I utilized Rayon which was actually very intuitive and easy to use. The screenshot shows the exact code where the tracks are being processed in parallel."}, {"post_id": 30, "ts": "2026-05-31T09:44:30Z", "hours": 1.7811, "text": "I am working on a WASM backend for my KASL language!"}]...
|
Title: Kadent by @hacha-mouse | Stardance
Devlogs Title: Kadent by @hacha-mouse | Stardance
Devlogs:
I am working on a WASM backend for my KASL language!
Implemented multithread track processing for the audio engine using Rayon ! I used to think implementing multithreading would be a nightmare, but I utilized Rayon which was actually very intuitive and easy to use. The screenshot shows the exact code where the tracks are being processed in parallel.
Kadent — A DAW with custom language to create synths and effects Refactored project strucure As my codebase became bigger, it started to be a bit complicated, so I’ve refactored the codebase. New folder structure is consist of four directories in src/ directory: commands , core , storage , and ui . commands directory contains the audio engine communication logic. It has some functions like add_note that adds a new note to the specified track and sends the updated project to the audio thread. core directory contains KASLNode implementation and some metadata. KASLNode is a specific node that can literally execute KASL programs. Metadata is a data that are not necessarily tied to audio engine. It includes track colors, track names, region names, etc. storage directory contains some implementation for storing and loading files. It has a logic to save and load the Kadent project file. ui directory contains the UI implementation. Inside the ui directory, there are components , theme , and workspaces directories. components directory has some common UI parts used in various parts of the DAW. theme defines colors and size used in the UI. workspaces contains the UI implementation for the editor and the splash screen. Splash screen I’m currently implementing a splash screen for Kadent. It used to have just two buttons to create or open a project. I’ve just finished implementing “Recent Projects” list. (shown on the right side)
Implemented splash screen I’ve finally finished implementing the splash screen for Kadent. On the left side, there are two buttons for creating or opening a project. The right panel shows the recent projects. Challenge The biggest challenge in implementing the splash screen was to layout UI components. It was quite hard to center the logo and the buttons. I spent around 1hrs dealing with that problem. Here’s how I solved it: const BUTTON_WIDTH : f32 = 300.0 ; const BUTTON_HEIGHT : f32 = 42.0 ; const CONTENT_HEIGHT : f32 = 60.0 + 12.0 + 16.0 + 24.0 + 12.0 + BUTTON_HEIGHT * 2.0 ; impl SplashUi { pub ( super ) fn splash_controls ( & mut self , ui : & mut egui :: Ui ) -> Option < EditorTransition > { ui .vertical_centered (| ui | { // Add space to vertically center the UI parts ui .add_space ( full_height / 2.0 - CONTENT_HEIGHT / 2.0 ); // UI Components }) .inner } } Since centering both horizontally and vertically while calculating the height of the inner content is painful, I eventually hardcoded the height of the UI components in order to center the UI vertically. Logo I’ve also designed a logo for Kadent in the meantime. I tweaked the font called “Inter”, which is available on Google Fonts, for the logo.
Project creation dialog I’ve implemented new project creation dialog. You can specify the name of the project and select the folder using a picker from the system.
KASL module system improvement So far, KASL compiler didn’t allow us to import external programs with the same name, because the name of the namespace conflicts. Today I have added new alias feature, which can be used like this: import foo as bar With this syntax, you can import a program named foo.kasl and refer to it with bar . This can also improve readability when importing a file with a long name! Streamline compilation I wanted to try compiling Kadent to application that can be installed using an installer, instead of a simple executable binary. I found Taskfile, which is a build tool similar to make but uses a yaml file to define workflows. I found it very useful so I adopted it and it worked very well! Currently I only have workflow for macOS compilation but I want to add Windows and Linux support soon!
Replacing audio stream when switching devices I’ve implemented a logic in the audio engine, that allows the Kadent DAW to switch the output device. It was challenging because Mixer and MPSC consumers cannot be cloned. Finally I used Arc and Mutex in order to share the context with multiple threads. let callback_ctx = Arc::new(Mutex::new(OutputCallbackContext { mixer, command_cons, midi_cons, vu_prod, pending_project: pending_arc, })); I used try_lock instead of normal lock , which may block the thread, as you can see in the screenshot.
Selectable audio output I’ve added a feature to select audio output! It may seem simple but it actually needed refactoring the audio engine and it took a lot of time.
Nested dropdown menu for device selection I’ve improved a device selection feature by nesting the menu. Thanks to this, users can click a single headphones button to change the MIDI ports and output devices. Also I added some icons for these.
Improved menu design I’ve improved the design of the menu by adjusting the button style. It took quite a long time because of egui’s a little bit confusing styling API. Refactor and optimize the audio engine I’ve refactored the audio engine by using integer ticks to manage time instead of f32 beats. By using integer ticks, it can be calculated even faster and more accurately.
Added Status Bar I’ve added a new status bar, which shows some informations such as sample rate, buffer size and the selected content, at the bottom of the window. Fixed Node Graph Rendering Bug The node graph used to be rendered on the front of the header, but I finally fixed this by using Panel to limit the area where painter can draw the graph.
Refactored the audio engine I’ve streamlined the note processing logic in the audio engine. So far, the audio engine handled sequenced notes (notes that you can see in the editor) and the realtime MIDI notes that you can play using some MIDI controllers differently. It also lacked maintainability. That’s why I’ve completely rebuilt the logic to unify the process. It also contributed to reduce the amount of code, and I’m happy with that.
Ability to adjust project range I’ve implemented a feature that the user can adjust the project’s export range just by dragging the handle in the ruler. Also the actual number is shown in the status bar while the handle is being dragged so the user can know the exact beat where is going to be exported.
Waveform Rendering & Scroll Bar This time, I’ve mainly implemented two features: waveform rendering and timeline scroll bar. Waveform I’ve added a waveform rendering logic to the timeline. I handled it by generating peak value data to render it quicker than calculating the peak value while rendering. After all, it looks pretty nice and scales perfectly when zooming with my trackpad. Timeline Scroll Bar Another feature I’ve added is a timeline scroll bar. It may not look appealing, but its calculation was quite hard actually. I had to calculate the ratio of the visible area and the entire timeline to get the width of the scroll bar. I think it is lot better than egui’s builtin scroll bar, so I’m quite satisfied with the outcome!
On-demamd resampling for audio tracks Audio regions require resampling because the sample rate of the source data may differ from the required sample rate. So far, the audio engine for Kadent has been resampling the entire audio data before playback or exporting. However, resampling audio data in advance takes a lot of CPU and increases the time it takes to prepare for playback. This time I made it resample the audio data on demand during playback. This makes audio thread not to store the massive resampled audio data. *sample rate: a value that indicates how many samples are in a single second *sample: a value that represents the sound wave’s loudness at a specific moment in time
Add seconds support for region placement I’ve added TimePosition and TimeBounds to store the position of the region. They have two modes: one stores the position in Ticks, and another one stores it in seconds. Ticks and seconds can be calculated from each other using TempoMap.
Added ruler to piano roll I’ve added the ruler to the piano roll. This will make note placement easier and more intuitive than before. Also I refactored the codebase a little bit, but honestly I thought the previous implementation would be better so I may be putting it back soon.
Refactored codebase It looks exactly the same as the previous devlog, but I refactored the codebase, primarily the EditorUiState. I separated many members of EditorUiState to multiple small structs for better readability
Automation Automation is here. I’ve implemented an automation node, which is associated with an automation track that you can add keyframes to value that changes over time. You can even connect automation nodes to KASL Node to use the value for calculation!
Curve type selection I’ve implemented a selection dropdown for three curve types: linear, step, and smooth. Next thing to do is to add a text field to adjust the curve tension
sode I’ve created a simple binary serialization crate called “sode” for Kadent. This guarantees that the output binary won’t change even if the struct is modified so I thought it would be better than serde or that sort of serialization library. impl Encode for Note { fn encode ( & self , e : & mut Encoder ) -> Result < (), EncodeError > { e .field ( 0 , & self .start ) ? ; e .field ( 1 , & self .duration ) ? ; e .field ( 2 , & self .pitch ) ? ; e .field ( 3 , & self .velocity ) ? ; Ok (()) } } impl Decode for Note { fn decode ( d : & mut ValueDecoder ) -> Result < Self , DecodeError > { let d = d .to_field_decoder () ? ; Ok ( Note :: new ( d .field ( 0 ) ? .ok_or ( DecodeError :: InvalidData ) ? , d .field ( 1 ) ? .ok_or ( DecodeError :: InvalidData ) ? , d .field ( 2 ) ? .ok_or ( DecodeError :: InvalidData ) ? , d .field ( 3 ) ? .ok_or ( DecodeError :: InvalidData ) ? , )) } }
Improved code editor I’ve implemented error highlighting in the code editor. I also added a list of errors at the bottom of the code editor, and I can jump to the position of the error by clicking the error. TextEdit in egui does not support highlighting character by character and instead it only highlighting by each sections, so red underlined part may be bigger than the actual error range, but I guess it still looks nice.
Added License Browser It’s been a while since my last devlog! During this time I’ve added an Acknowledgements view where you can look at license text and other informations of the Fonts and Crates that I’ve used. It was a bit difficult to implement because there are so many crates, but I’m satisfied with the result.
Added Documentation I saw that the reviewer tried to open the binary project file in the code editor and failed so I’ve decided to add a some sort of tutorial or a documentation. I really wanted to add an interactive tutorial so that the reviewers and the users can know how Kadent works, but I didn’t have time to do so so I’ve just added a few documentation.
How to add Note Region You can add note region by double-clicking in the timeline. To add notes to it, you need to select the region by clicking it first. Code Editor Error .kdp files are serialized project files, not a source code. You can create a new source file by clicking the src/ directory in the Code Editor. To add a source code to the note track, first open a node graph and add a KASL node to it. In the Inspector, you can specify the path to the source code (e.g. src/example.kasl). Added Some More Documentation I’ve added documentation with screenshots of each panels: Timeline Inspector Automation Node Graph Piano Roll Code Editor
Ships:
Kadent Kadent is a cross-platform DAW featuring KASL, a domain-specific audio language, and node-graph processing system. Features Create music with familiar track-based UI Two track types: Note Track & Audio Track Node graph for every track KASL language with syntax similar to Swift The node graph allows you to combine multiple KASL programs to perform much more complex processing. What Is a Node Graph? Kadent uses node graph for track processing. A Node is a processing unit that calculates the output. In node graph, an output of one node can be connected to an input of another node. This allows you to connect multiple inputs and outputs freely to other nodes to create sound. Then, why did I adopt node graph? KASL programs can have multiple inputs and outputs, and their types may also vary. So placing them in order does not work because the DAW cannot know which output is connected to the specific input. That’s why Kadent uses node graph. Characteristics of KASL Utilizes Cranelift as a backend for quicker JIT compilation Specialized type of variables such as input , output and state Supports fixed-length arrays and structs Fixed-count loop syntax for predictable execution time Module system influenced by Python Custom infix/prefix/postfix operators (even normal arithmetic operators are defined and provided by std ) KASL Sample Program audio module is built-in module provided by Kadent. Note that these programs below won’t work outside the DAW. Gain Node import audio import std input in = audio.zero_sample() input gain = 0.0 output out = audio.zero_sample() func main() { out = in * [gain; audio.max_channels] } Mix Node import std import std/math/float as f import audio input input_1 = audio.zero_sample() input input_2 = audio.zero_sample() input factor = 0.0 output out = audio.zero_sample() func main() { let clamped_factor = f.clamp(factor, 0.0, 1.0) let multiplied_input_1: audio.Sample = input_1 * [clamped_factor; audio.max_channels] let multiplied_input_2: audio.Sample = input_2 * [1.0 - clamped_factor; audio.max_channels] out = multiplied_input_1 + multiplied_input_2 } Sawtooth Wave Synthesizer import audio as a import std import std/math/float as f input notes = a.EventSlot() input pitch = 1.0 output out = a.zero_sample() state allocator = a.Allocator() let base_freq = 440.0 let volume = 0.1 func main() { allocator.update(notes) var i = 0 loop a.max_voices { let voice = allocator.voices[i] let freq = pitch * base_freq * f.pow(2.0, (voice.pitch - 69.0) / 12.0) if voice.is_active { let t = voice.age let sample = saw(freq: freq, time: t) out = out + [sample * volume; a.max_channels] } i = i + 1 } } func saw(freq f = 440.0, time t: Float) -> Float { return 2.0 * (t * f) % 1.0 - 1.0 } Installation Go to the Releases page of my GitHub repository to download the latest precompiled binary, or compile the binary yourself. Detailed installation steps are described in README ....
|
1792972250.2222643
|
1793058650.2222643
|
|
292
|
Connie the conentbot by @AloneAlex | Stardance
|
AloneAlex
|
1
|
4.0
|
26
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-04T14:11:25Z", "hours": 4.0, "multiplier": 5.98, "payout": 26, "blessing": "neutral", "text": "Connie is a Slack bot that can fetch a random interesting article or video submitted by another hackclubber, and to which you can submit any interesting videos and articles you find! Featuring simple commands and a nice pfp for the bot!", "repo": "https://github.com/thealonealex/contentbot", "demo": "https://hackclub.enterprise.slack.com/archives/C0B78BSN086"}]...
|
[{"post_id": 2141, "ts": "2026 [{"post_id": 2141, "ts": "2026-06-04T14:05:59Z", "hours": 0.6419, "text": "Slack links create an extra newline on the database, which would mean that if the bot tried to fetch that row, it’d be empty and it would just no reply. Fixed that! Also added a proper readme and license file. Project is ready to ship!"}, {"post_id": 1385, "ts": "2026-06-03T11:55:51Z", "hours": 0.5164, "text": "Drew a nice pfp for Connie! It’s so nice that Lapse can count art and hardware time too"}, {"post_id": 1057, "ts": "2026-06-02T21:16:58Z", "hours": 0.5361, "text": "I was wrong, it did work after a restart of the nest service. Hooray! The first version is basically done? /article or /video fetches a random video or article a hackclubber has submitted to the bot /submit-article or /submit-video let’s you add to the list of articles and videos! You can try it right now using /cn-help to view all commands!"}, {"post_id": 1038, "ts": "2026-06-02T20:33:10Z", "hours": 2.0692, "text": "Would you believe me if I said writing this line properly took me two full hours of testing and failing? sadly it now doesn’t work on the server side I’ll have to rewrite this again"}, {"post_id": 773, "ts": "2026-06-02T13:10:11Z", "hours": 0.5469, "text": "To begin the project, I followed the slack bot mission’s tutorial! I’ll build on top of that as a base"}]...
|
Title: Connie the conentbot by @AloneAlex | Starda Title: Connie the conentbot by @AloneAlex | Stardance
Devlogs:
To begin the project, I followed the slack bot mission’s tutorial! I’ll build on top of that as a base
Would you believe me if I said writing this line properly took me two full hours of testing and failing? sadly it now doesn’t work on the server side I’ll have to rewrite this again
I was wrong, it did work after a restart of the nest service. Hooray! The first version is basically done? /article or /video fetches a random video or article a hackclubber has submitted to the bot /submit-article or /submit-video let’s you add to the list of articles and videos! You can try it right now using /cn-help to view all commands!
Drew a nice pfp for Connie! It’s so nice that Lapse can count art and hardware time too
Slack links create an extra newline on the database, which would mean that if the bot tried to fetch that row, it’d be empty and it would just no reply. Fixed that! Also added a proper readme and license file. Project is ready to ship!
Ships:
Connie is a Slack bot that can fetch a random interesting article or video submitted by another hackclubber, and to which you can submit any interesting videos and articles you find! Featuring simple commands and a nice pfp for the bot!...
|
1792983066.780055
|
1793069466.780055
|
|
301
|
Almost There by @Osaidii | Stardance
|
Osaidii
|
1
|
20.0
|
133
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T13:08:24Z", "hours": 20.0, "multiplier": 13.35, "payout": 133, "blessing": "neutral", "text": "I made a horror game, making the settings menu was pretty challenging but that is the part I am most proud of too. One thing people should know is that the gameplay is far from comeplete, and the whole settings menu works. controls arent changeabe btw.", "repo": "https://github.com/Osaidii/Almost-There", "demo": "https://osaidii.itch.io/almost-there"}]...
|
[{"post_id": 78722, "ts": "202 [{"post_id": 78722, "ts": "2026-10-11T12:28:31Z", "hours": 19.6383, "text": "I worked on completing my settings menu and then adding more gameplay. I also fixed bugs with previous stuff like the special walls. I also added subtitles and tutorials."}]...
|
Title: Almost There by @Osaidii | Stardance
Devlo Title: Almost There by @Osaidii | Stardance
Devlogs:
I worked on completing my settings menu and then adding more gameplay. I also fixed bugs with previous stuff like the special walls. I also added subtitles and tutorials.
Ships:
I made a horror game, making the settings menu was pretty challenging but that is the part I am most proud of too. One thing people should know is that the gameplay is far from comeplete, and the whole settings menu works. controls arent changeabe btw....
|
1793004825.1307223
|
1793091225.1307223
|
|
308
|
Apollo Accord by @alien | Stardance
|
alien
|
1
|
49.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T12:42:36Z", "hours": 49.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a shooter-RPG ish game where you fight invading aliens that are seeking to take over your ship. As the captain, you must fight your way against the overpowering enemies, and send clear signals of surrender before your entire ship is taken over. I wanted to finish this project up until the player can communicate with other alien civilizations other than the invading one, but due to time constraints and my busier than ever schedule I won’t be able to work on this project much more, at least for the time being. I’ll be shipping this project and packing up. You can try the project by downloading the appropriate zip file for your system. Linux and the web package is still unverified, so potential players are advised to stick to the MacOS and Windows releases. Thank you for your understanding.", "repo": "https://github.com/SoHiEarth/Apollo-Accord", "demo": "https://sohiearth.itch.io/apollo-accord"}]...
|
[{"post_id": 65938, "ts": "202 [{"post_id": 65938, "ts": "2026-09-11T12:36:46Z", "hours": 1.3, "text": "Build Update. Worked on building releases for Linux, Mac, Windows and web (html). Not much on the technical side either, just baking light maps and polishing up some stuff in the game. This is because I have some priorities that are higher than Stardance, unfortunately, and I think I won’t be able to finish this project to the level I was expecting. I appreciate your understanding."}, {"post_id": 59140, "ts": "2026-08-31T19:23:39Z", "hours": 3.3025, "text": "Lights Out. Major Doom 3 vibes happening Explore the Unknown, and sometimes, terrifying. Decided to lean in a bit more on the “explore” factor and made many rooms darker overall. The capsules you see here are the enemies you fight, multiplied by the difficulty set in the settings. I’m thinking of adding red, glowing eyes or something to make it a bit scarier. I plan to not lean too much on this aspect, though. This is only for the first chapter of the story. PSA on the lighting. The reflections on the gun is a bit off, I know, I’m fixing it right now. Anyway, that’s the update for today! Going to work on some more story content soon."}, {"post_id": 57188, "ts": "2026-08-29T09:21:04Z", "hours": 2.8056, "text": "Apollo Accord: Gameplay and story updates, finally! After multiple delays, I started working on expanding the next chapter of the story. Story areas! First, I made the mess hall area where the player goes to support their teammates and fight the boss. I’ve started noticing the similarities between my combat system and the combat systems of arena style shooters, so I intentionally made this area larger so the player has a lot of space to move around (foreshadowing) I’ve finished the interaction system where the player can interact with in-game objects to trigger story changes, etc. Nothing too special to see here. Major movement updates! I made a GRAPPLING SYSTEM . It works by pressing right mouse button, and a circle shows up at where the target is. Simple, but it allows for more dynamic combat, and lets players take advantage of height. So, simple stuff! I have a lot of smaller updates like showing damage dealt when shooting enemies and stuff like that packed into this update, be tuned for more!"}, {"post_id": 54316, "ts": "2026-08-25T08:22:20Z", "hours": 2.0378, "text": "Apollo Accord: Finishing up the main menu. I was working on the SaveManager system, and thought, Hey, why don’t I just finish up the options menu using this interface? , and voila , 2 hours later I finished up the partially done main menu. This update includes very minor changes to the game itself, only the main menu, so nothing to note of gameplay changes here… I feel like the main menu looks pretty good and functional, the only complaint I have right now is the visibly low-poly moon (the moon is NOT supposed to look like that lol) Also, I had to make a work-around for Unity’s default JSON utility not being compatible with Dictionary structures, made my own custom format instead which is MUCH more space efficient than JSON and suits my needs perfectly. Well, what happened to the game itself? Will continue working on the story and gameplay after this little tangent. P.S. Tysm for the super star!!"}, {"post_id": 46763, "ts": "2026-08-14T07:54:46Z", "hours": 2.1783, "text": "APOLLO ACCORD: Spherical enemies, In-Game UI Combat Primitive enemy combat implementation, but it works. Stylizing will come later. The sensitivity’s a bit low, so I will have to investigate that. In addition, the enemies are all capsules atm, which is 100% temporary ( obviously ). With this update I also started laying down the groundwork for the next step, which is a world space control panel for communicating with aliens. This is probably the most challenging part of this game, since I have very little experience in Unity’s Canvas system and I don’t like it too much."}, {"post_id": 45357, "ts": "2026-08-11T19:14:32Z", "hours": 3.0819, "text": "APOLLO ACCORD: Official website is now open! Minor update that isn’t directly linked to the game. Made a website for the page advertising its promised features. Also added a news section that will bring more frequent updates to the project, based on GitHub commits. Development Update Things are going smoothly. Enemy combat need some reworking, but other than that I still have plenty of time to finish this game."}, {"post_id": 42810, "ts": "2026-08-07T18:36:08Z", "hours": 1.0667, "text": "APOLLO ACCORD: Honing in Specific Parts Working on improving the movement, creating scripts for future gameplay and changing the lighting to feel less intrusive. Graphics Graphically, this update isn’t much different compared to the previous update. I added localized post process volumes that make each area look different and cleaner. In addition, this allowed me to make some areas brighter , letting me do cool scenes like screenshot #1 . (I wish they weren’t T-posing) Scripting and Behaviour In the real world, you’ll be fired from the military as soon as you point a rifle to an ally, in a safe place. This is why I implemented safe zones , where health recovers and the gun is holstered (pointed down in a M4’s case) so that they aren’t always pointing towards someone. Plus, I made use of the localized post process areas to only enable DOF in the command center, so the gun is out of focus. Take a look at screenshot #2 for reference. Next Up: Storytime I keep procastinating making the story, but I’ll do it this time. The foundations are all set and everything non-story related is pretty polished, such as scripts and movement. This is where I: Implement enemies (and create assets) so that they block the player’s path to the tech module. Implement a scene equipment interaction script/UI so the player can communicate to alien civilizations. Implement a tutorial system so the player doesn’t get lost. Phew! That’s quite a lot to finish. I guess I’ll start cracking at it then. Quote of the Update: Motivation is key. Enjoying what you’re doing is the best way to put in more effort and make a better product."}, {"post_id": 41242, "ts": "2026-08-05T10:16:08Z", "hours": 3.8, "text": "Apollo Accord: Refining graphics, improving gameplay, expanding the story. Minor upgrades that span across all aspects of the game Story Wrote the script up to the point where the player interacts with the communication system. Improved the fading in/out of dialouge by removing the hardcoded wait times and making it into a integrated animation system. I also added the ability for the dialouge system to know when the player has exited the speaker’s range of influence, and quits speaking after. Graphical changes I think I hit peak with this one. Performance-wise, it’s not much different compared to earlier builds and it looks much more colorful and interesting. The blue undertones give it a much more colder and space-like look. Next steps Working on the assets, fleshing out boxes (theres alot of them) and making the communication system. I hope to be able to integrate procedural generation when making aliens, making for a fun gameplay loop."}, {"post_id": 40421, "ts": "2026-08-03T22:17:57Z", "hours": 1.3, "text": "Apollo Accord Minor Update TL;DR: Minor updates that improve the UX Focused on cleaning up the lighting and improving legibility. Removed excessive effects like film grain and motion blur that reduces clarity and bogs down performance. Added stylized backgrounds to the quest HUD so there’s more contrast between the scene and text. Colors are matched to the 70’s - 80’s retro kind of color scheme (I think it was called supergraphics ) that I feel like represents the golden age of space. Again, HDR screenshots look overly bright, explaining the blinding white of the screenshot attached. Next Steps I am going to work more on the story next, up until the player interacts with the aliens. After that, I’m going to implement gameplay mechanics for communicating with external civilizations, which will mark a departure from the first person camera for a bit."}, {"post_id": 40267, "ts": "2026-08-03T18:00:05Z", "hours": 0.7333, "text": "Changing the project’s goals Just a ramble on how the project is gonna be made for the future. First, graphically I’m going to try to achieve a matte, clean look since I don’t have access to tools (cameras, money for 3d model websites, etc) that would let me get high quality, realistic textures/models in order to maintain a uniform look throughout the game. Going to focus more on shaders and world details, and also adding more handmade models to the game. Update on the project Other than that, I improved the stability of dialouges now, they trigger consistently and don’t get confused when the player enters multiple dialouge trigger spaces. PS Had to go through exam stuff and formatting my computer because Asahi Linux messed it up hard. Working on recovering my data and reinstalling Unity, etc."}, {"post_id": 4035, "ts": "2026-06-07T06:46:03Z", "hours": 2.1025, "text": "Apollo Accord Movement Update TL;DR Crouching works! Snappier movement Leaning in the works; conflicts with mouse yaw. Raycasted bullets Long Version So I was somehow able to get crouching working. It’s more of a semi-crouch , since I haven’t implemented the humanoid animator yet and it works by moving the camera down. (Yikes) In addition, I’m currently working on leaning, but it’s not really stable yet and conflicts with the mouse yaw. I think it’ll be fixed by the next devlog. ?? Last, I got a comment on the last devlog suggesting a raycast + physics based solution for bullets and implemented that."}, {"post_id": 3484, "ts": "2026-06-06T13:17:41Z", "hours": 1.0453, "text": "[RANT] Character Animation Woes I have ALOT to say about Unity’s Humanoid animation system. Like, why do I have to go through the Animator thing that has wayy too much parameters, that override each other and create a jumbled mess?? And WHY actually WHY??? does the character dip through the floor when it’s idle??? Who in the world decided that humanoids should ignore all boundaries and start dipping through the floor when there’s nothing playing??? Why is the default animation like that??? I literally have no idea. [^1] [^1]: I eventually got it working somehow. Really frustrating process. Edit: I just noticed that the video looks really bright. That’s because I’m recording in SDR while the game is in HDR. In reality, the game looks much darker."}, {"post_id": 3388, "ts": "2026-06-06T09:01:31Z", "hours": 0.6489, "text": "Very minor update. I changed the weapon script so it fires physical bullets instead of raycasting. Shooting moveable stuff like chairs now interact with the bullet upon collision, and also bump into other objects in the process which creates a domino effect. Very cool to see. In addition, I added a flash light to the underbarrel of the gun so players can navigate dark environments (which I predict will be a lot of)"}, {"post_id": 3370, "ts": "2026-06-06T08:10:22Z", "hours": 3.0089, "text": "Apollo Accord Minor Update Finally finished the (temporary) control center. Control center made! Performance & Color Improvements Also detailed some other parts of the ship The main idea was to have a bright, high-tech command & control center, so I took reference from a lot of NASA and Sci-Fi media and made this. It’s supposed to encompass the people inside it. In addition, the control center has chairs that are moveable. Since this is in space, I turned down the gravity quite a lot so now they float when you bump into them, and settle onto the ground after some time. Feels more like a physics simulator now. Next Steps I’m going to start working on the storytelling next. While development has definitely slowed over the past week, I hope to maintain this pace, and accumulate small improvements over time to make this into something I’m proud of."}, {"post_id": 2125, "ts": "2026-06-04T13:36:53Z", "hours": 1.5869, "text": "Apollo Accord Minor Update: Main Menu Changes Added Features Added Earth, Mars and Moon ( Luna ) to the main menu’s background. (With animated clouds and rotation!) Added a options menu that allows the player to change the planet in the background, or set it to random on start. Comments Just a minor update. More settings to tweak coming soon. Planned Features DLSS/FSR upscaler support Ability to change enemy difficulty Ability to change volume Probably delaying these features for more important stuff, like storybuilding, etc."}, {"post_id": 1479, "ts": "2026-06-03T15:01:54Z", "hours": 2.6597, "text": "Apollo Accord Update #5: Curing Loneliness The Premise & Changes Decided I was lonely so I added some background characters and a “colleague” character to spice things up a bit. While not fully AI, these guys can say stuff and makes the atmosphere a bit more grounded. Added dudes talking military lingo Changed up the environment lighting a bit more so it looks more like a emergency and not just a house on fire. Assisted the player a bit by shining spotlights onto path signs. The guys also act as blockades to assist player navigation. Next up: More environment building Expand the right side of the base a bit more Clean up messy geometry I STILL HAVEN’T WORKED ON THE MAIN MENU Detail the control center. Script systems for campaign flow & to make it a true RPG, a inventory system Quote of the Update Animating these guys is DEFINITELY something I am NOT looking forward to."}, {"post_id": 1348, "ts": "2026-06-03T09:32:22Z", "hours": 5.0986, "text": "Apollo Accord Minor Update: HDRP Changes Finished the dialouge thingy Changed rendering pipeline from URP to HDRP (mostly for volumetric effects) It was a pretty daunting task, and as you can see from the time I spent just changing the rendering pipeline, was painstakingly buggy. Major Issues Solved Exposure being weird, everything was either white or black. Materials not being ported from URP to HDRP - I had to create them from scratch . Artifacting when backing lighting. The Earth disappearing?!?!?! Emissions and lighting combined made things really complicated. To make it easier to maintain, I decided to only use material emissions for baked environment lights and actual lights for dynamic lights. Quote of the Update It’s really hard to debug visually"}, {"post_id": 1227, "ts": "2026-06-03T02:36:24Z", "hours": 3.2822, "text": "Apollo Accord Update 4 What’s New Lots of animations for jumping and shooting, all smoothly transitioning between movement animations. More work on the environment. Showcasing the power of baked lighting. Optimizations to improve performance. ~150k vertices in total, around 200 FPS on my Mac rn. Next Steps Expanding and detailing environment (mostly blocking, textures later) Finishing up the main menu Working on game characters & HUD Animating the character model DLSS? Maybe? Quote of the Update Don’t want to get close to C#"}, {"post_id": 783, "ts": "2026-06-02T13:27:05Z", "hours": 1.0147, "text": "Let There Be Light! Long Version Small update onto the development of Apollo Accord. Implemented baked lighting to optmize performance early on. Had trouble deciding which light type to use (directional, spot, point, area) but ultimately I decided on a option E - emissive materials . Basically, emissive materials make the material itself a light. The downside is that it’s only baked, so non-static objects, like the gun and player, isn’t affected by it. So in short, it makes non-static objects unlit. To resolve this, I had to use Adaptive Probe Volumes , which are basically version 2 of Light Probes . These take data from baked lights to approximately light moving objects. In combination with reflection probes, these make great visuals - or at least visuals better than my last devlog, w/o sacrificing performance. TL;DR: Baked lighting beautiful computer go brrr"}, {"post_id": 756, "ts": "2026-06-02T12:04:16Z", "hours": 3.9294, "text": "Apollo Accord Update 3 What’s New Major refinements to UI. Found a way to combine in-world text (weapon ammo, etc) and on-screen text. Animations for walking, running and idling Wrote scripts for core gameplay systems, like weapon switching and character communication (putting alot of emphasis on the RPG mechanics this time around) Next Steps Incremental changes over time for the shooting system. Getting started on the environment. Adding a core story. Finishing the UI/Load+Save systems Thoughts I’m trying to get things right the first time, so I’m putting a lot more work into my initial “draft” for the game. I’ll work on hud legibility, procedural recoil, and more afterwards, once the core gameplay mechanics are pretty tidy. Quote of the Update I really don’t like C#"}, {"post_id": 92, "ts": "2026-05-31T18:01:51Z", "hours": 1.4375, "text": "Apollo Accord: Assets & Envisioning Roadmap Summary Started moving forward into the start screen. Thinking of a soldier on the ground w/ a M4 to their left, and then being helped up to fight the offensive. During that, the player listens to the main character speaking about the past. Then, FF a few days and the player is promoted to commander, where then the main gameplay starts. New Changes Added spacesuit model (player) Added M4A1 model Scripted & animated scene Performance improvements here and there (player settings, using Vulkan, etc.) Early HDR Support"}, {"post_id": 62, "ts": "2026-05-31T15:36:11Z", "hours": 1.3606, "text": "Space is calling! Started work on Apollo Accord , a game where you command Earth and discover new aliens. You can trade, fight or form alliances with aliens, and lead Earth to become a galactic empire. What I did today Created the banner and logotype for promotion purposes. Finished a temporary main menu with a cool little animation. Made a rather detailed README.md"}]...
|
Title: Apollo Accord by @alien | Stardance
Devlog Title: Apollo Accord by @alien | Stardance
Devlogs:
Space is calling! Started work on Apollo Accord , a game where you command Earth and discover new aliens. You can trade, fight or form alliances with aliens, and lead Earth to become a galactic empire. What I did today Created the banner and logotype for promotion purposes. Finished a temporary main menu with a cool little animation. Made a rather detailed README.md
Apollo Accord: Assets & Envisioning Roadmap Summary Started moving forward into the start screen. Thinking of a soldier on the ground w/ a M4 to their left, and then being helped up to fight the offensive. During that, the player listens to the main character speaking about the past. Then, FF a few days and the player is promoted to commander, where then the main gameplay starts. New Changes Added spacesuit model (player) Added M4A1 model Scripted & animated scene Performance improvements here and there (player settings, using Vulkan, etc.) Early HDR Support
Apollo Accord Update 3 What’s New Major refinements to UI. Found a way to combine in-world text (weapon ammo, etc) and on-screen text. Animations for walking, running and idling Wrote scripts for core gameplay systems, like weapon switching and character communication (putting alot of emphasis on the RPG mechanics this time around) Next Steps Incremental changes over time for the shooting system. Getting started on the environment. Adding a core story. Finishing the UI/Load+Save systems Thoughts I’m trying to get things right the first time, so I’m putting a lot more work into my initial “draft” for the game. I’ll work on hud legibility, procedural recoil, and more afterwards, once the core gameplay mechanics are pretty tidy. Quote of the Update I really don’t like C#
Let There Be Light! Long Version Small update onto the development of Apollo Accord. Implemented baked lighting to optmize performance early on. Had trouble deciding which light type to use (directional, spot, point, area) but ultimately I decided on a option E - emissive materials . Basically, emissive materials make the material itself a light. The downside is that it’s only baked, so non-static objects, like the gun and player, isn’t affected by it. So in short, it makes non-static objects unlit. To resolve this, I had to use Adaptive Probe Volumes , which are basically version 2 of Light Probes . These take data from baked lights to approximately light moving objects. In combination with reflection probes, these make great visuals - or at least visuals better than my last devlog, w/o sacrificing performance. TL;DR: Baked lighting beautiful computer go brrr
Apollo Accord Update 4 What’s New Lots of animations for jumping and shooting, all smoothly transitioning between movement animations. More work on the environment. Showcasing the power of baked lighting. Optimizations to improve performance. ~150k vertices in total, around 200 FPS on my Mac rn. Next Steps Expanding and detailing environment (mostly blocking, textures later) Finishing up the main menu Working on game characters & HUD Animating the character model DLSS? Maybe? Quote of the Update Don’t want to get close to C#
Apollo Accord Minor Update: HDRP Changes Finished the dialouge thingy Changed rendering pipeline from URP to HDRP (mostly for volumetric effects) It was a pretty daunting task, and as you can see from the time I spent just changing the rendering pipeline, was painstakingly buggy. Major Issues Solved Exposure being weird, everything was either white or black. Materials not being ported from URP to HDRP - I had to create them from scratch . Artifacting when backing lighting. The Earth disappearing?!?!?! Emissions and lighting combined made things really complicated. To make it easier to maintain, I decided to only use material emissions for baked environment lights and actual lights for dynamic lights. Quote of the Update It’s really hard to debug visually
Apollo Accord Update #5: Curing Loneliness The Premise & Changes Decided I was lonely so I added some background characters and a “colleague” character to spice things up a bit. While not fully AI, these guys can say stuff and makes the atmosphere a bit more grounded. Added dudes talking military lingo Changed up the environment lighting a bit more so it looks more like a emergency and not just a house on fire. Assisted the player a bit by shining spotlights onto path signs. The guys also act as blockades to assist player navigation. Next up: More environment building Expand the right side of the base a bit more Clean up messy geometry I STILL HAVEN’T WORKED ON THE MAIN MENU Detail the control center. Script systems for campaign flow & to make it a true RPG, a inventory system Quote of the Update Animating these guys is DEFINITELY something I am NOT looking forward to.
Apollo Accord Minor Update: Main Menu Changes Added Features Added Earth, Mars and Moon ( Luna ) to the main menu’s background. (With animated clouds and rotation!) Added a options menu that allows the player to change the planet in the background, or set it to random on start. Comments Just a minor update. More settings to tweak coming soon. Planned Features DLSS/FSR upscaler support Ability to change enemy difficulty Ability to change volume Probably delaying these features for more important stuff, like storybuilding, etc.
Apollo Accord Minor Update Finally finished the (temporary) control center. Control center made! Performance & Color Improvements Also detailed some other parts of the ship The main idea was to have a bright, high-tech command & control center, so I took reference from a lot of NASA and Sci-Fi media and made this. It’s supposed to encompass the people inside it. In addition, the control center has chairs that are moveable. Since this is in space, I turned down the gravity quite a lot so now they float when you bump into them, and settle onto the ground after some time. Feels more like a physics simulator now. Next Steps I’m going to start working on the storytelling next. While development has definitely slowed over the past week, I hope to maintain this pace, and accumulate small improvements over time to make this into something I’m proud of.
Very minor update. I changed the weapon script so it fires physical bullets instead of raycasting. Shooting moveable stuff like chairs now interact with the bullet upon collision, and also bump into other objects in the process which creates a domino effect. Very cool to see. In addition, I added a flash light to the underbarrel of the gun so players can navigate dark environments (which I predict will be a lot of)
[RANT] Character Animation Woes I have ALOT to say about Unity’s Humanoid animation system. Like, why do I have to go through the Animator thing that has wayy too much parameters, that override each other and create a jumbled mess?? And WHY actually WHY??? does the character dip through the floor when it’s idle??? Who in the world decided that humanoids should ignore all boundaries and start dipping through the floor when there’s nothing playing??? Why is the default animation like that??? I literally have no idea. [^1] [^1]: I eventually got it working somehow. Really frustrating process. Edit: I just noticed that the video looks really bright. That’s because I’m recording in SDR while the game is in HDR. In reality, the game looks much darker.
Apollo Accord Movement Update TL;DR Crouching works! Snappier movement Leaning in the works; conflicts with mouse yaw. Raycasted bullets Long Version So I was somehow able to get crouching working. It’s more of a semi-crouch , since I haven’t implemented the humanoid animator yet and it works by moving the camera down. (Yikes) In addition, I’m currently working on leaning, but it’s not really stable yet and conflicts with the mouse yaw. I think it’ll be fixed by the next devlog. ?? Last, I got a comment on the last devlog suggesting a raycast + physics based solution for bullets and implemented that.
Changing the project’s goals Just a ramble on how the project is gonna be made for the future. First, graphically I’m going to try to achieve a matte, clean look since I don’t have access to tools (cameras, money for 3d model websites, etc) that would let me get high quality, realistic textures/models in order to maintain a uniform look throughout the game. Going to focus more on shaders and world details, and also adding more handmade models to the game. Update on the project Other than that, I improved the stability of dialouges now, they trigger consistently and don’t get confused when the player enters multiple dialouge trigger spaces. PS Had to go through exam stuff and formatting my computer because Asahi Linux messed it up hard. Working on recovering my data and reinstalling Unity, etc.
Apollo Accord Minor Update TL;DR: Minor updates that improve the UX Focused on cleaning up the lighting and improving legibility. Removed excessive effects like film grain and motion blur that reduces clarity and bogs down performance. Added stylized backgrounds to the quest HUD so there’s more contrast between the scene and text. Colors are matched to the 70’s - 80’s retro kind of color scheme (I think it was called supergraphics ) that I feel like represents the golden age of space. Again, HDR screenshots look overly bright, explaining the blinding white of the screenshot attached. Next Steps I am going to work more on the story next, up until the player interacts with the aliens. After that, I’m going to implement gameplay mechanics for communicating with external civilizations, which will mark a departure from the first person camera for a bit.
Apollo Accord: Refining graphics, improving gameplay, expanding the story. Minor upgrades that span across all aspects of the game Story Wrote the script up to the point where the player interacts with the communication system. Improved the fading in/out of dialouge by removing the hardcoded wait times and making it into a integrated animation system. I also added the ability for the dialouge system to know when the player has exited the speaker’s range of influence, and quits speaking after. Graphical changes I think I hit peak with this one. Performance-wise, it’s not much different compared to earlier builds and it looks much more colorful and interesting. The blue undertones give it a much more colder and space-like look. Next steps Working on the assets, fleshing out boxes (theres alot of them) and making the communication system. I hope to be able to integrate procedural generation when making aliens, making for a fun gameplay loop.
APOLLO ACCORD: Honing in Specific Parts Working on improving the movement, creating scripts for future gameplay and changing the lighting to feel less intrusive. Graphics Graphically, this update isn’t much different compared to the previous update. I added localized post process volumes that make each area look different and cleaner. In addition, this allowed me to make some areas brighter , letting me do cool scenes like screenshot #1 . (I wish they weren’t T-posing) Scripting and Behaviour In the real world, you’ll be fired from the military as soon as you point a rifle to an ally, in a safe place. This is why I implemented safe zones , where health recovers and the gun is holstered (pointed down in a M4’s case) so that they aren’t always pointing towards someone. Plus, I made use of the localized post process areas to only enable DOF in the command center, so the gun is out of focus. Take a look at screenshot #2 for reference. Next Up: Storytime I keep procastinating making the story, but I’ll do it this time. The foundations are all set and everything non-story related is pretty polished, such as scripts and movement. This is where I: Implement enemies (and create assets) so that they block the player’s path to the tech module. Implement a scene equipment interaction script/UI so the player can communicate to alien civilizations. Implement a tutorial system so the player doesn’t get lost. Phew! That’s quite a lot to finish. I guess I’ll start cracking at it then. Quote of the Update: Motivation is key. Enjoying what you’re doing is the best way to put in more effort and make a better product.
APOLLO ACCORD: Official website is now open! Minor update that isn’t directly linked to the game. Made a website for the page advertising its promised features. Also added a news section that will bring more frequent updates to the project, based on GitHub commits. Development Update Things are going smoothly. Enemy combat need some reworking, but other than that I still have plenty of time to finish this game.
APOLLO ACCORD: Spherical enemies, In-Game UI Combat Primitive enemy combat implementation, but it works. Stylizing will come later. The sensitivity’s a bit low, so I will have to investigate that. In addition, the enemies are all capsules atm, which is 100% temporary ( obviously ). With this update I also started laying down the groundwork for the next step, which is a world space control panel for communicating with aliens. This is probably the most challenging part of this game, since I have very little experience in Unity’s Canvas system and I don’t like it too much.
Apollo Accord: Finishing up the main menu. I was working on the SaveManager system, and thought, Hey, why don’t I just finish up the options menu using this interface? , and voila , 2 hours later I finished up the partially done main menu. This update includes very minor changes to the game itself, only the main menu, so nothing to note of gameplay changes here… I feel like the main menu looks pretty good and functional, the only complaint I have right now is the visibly low-poly moon (the moon is NOT supposed to look like that lol) Also, I had to make a work-around for Unity’s default JSON utility not being compatible with Dictionary structures, made my own custom format instead which is MUCH more space efficient than JSON and suits my needs perfectly. Well, what happened to the game itself? Will continue working on the story and gameplay after this little tangent. P.S. Tysm for the super star!!
Apollo Accord: Gameplay and story updates, finally! After multiple delays, I started working on expanding the next chapter of the story. Story areas! First, I made the mess hall area where the player goes to support their teammates and fight the boss. I’ve started noticing the similarities between my combat system and the combat systems of arena style shooters, so I intentionally made this area larger so the player has a lot of space to move around (foreshadowing) I’ve finished the interaction system where the player can interact with in-game objects to trigger story changes, etc. Nothing too special to see here. Major movement updates! I made a GRAPPLING SYSTEM . It works by pressing right mouse button, and a circle shows up at where the target is. Simple, but it allows for more dynamic combat, and lets players take advantage of height. So, simple stuff! I have a lot of smaller updates like showing damage dealt when shooting enemies and stuff like that packed into this update, be tuned for more!
Lights Out. Major Doom 3 vibes happening Explore the Unknown, and sometimes, terrifying. Decided to lean in a bit more on the “explore” factor and made many rooms darker overall. The capsules you see here are the enemies you fight, multiplied by the difficulty set in the settings. I’m thinking of adding red, glowing eyes or something to make it a bit scarier. I plan to not lean too much on this aspect, though. This is only for the first chapter of the story. PSA on the lighting. The reflections on the gun is a bit off, I know, I’m fixing it right now. Anyway, that’s the update for today! Going to work on some more story content soon.
Build Update. Worked on building releases for Linux, Mac, Windows and web (html). Not much on the technical side either, just baking light maps and polishing up some stuff in the game. This is because I have some priorities that are higher than Stardance, unfortunately, and I think I won’t be able to finish this project to the level I was expecting. I appreciate your understanding.
Ships:
I built a shooter-RPG ish game where you fight invading aliens that are seeking to take over your ship. As the captain, you must fight your way against the overpowering enemies, and send clear signals of surrender before your entire ship is taken over. I wanted to finish this project up until the player can communicate with other alien civilizations other than the invading one, but due to time constraints and my busier than ever schedule I won’t be able to work on this project much more, at least for the time being. I’ll be shipping this project and packing up. You can try the project by downloading the appropriate zip file for your system. Linux and the web package is still unverified, so potential players are advised to stick to the MacOS and Windows releases. Thank you for your understanding....
|
1793004646.3935244
|
1793091046.3935244
|
|
315
|
Frictionless by @ashmildax | Stardance
|
ashmildax
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-01T07:53:00Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a cli chatbot for retrieving information from your documents, the challenging part was setting up the RAG , I am a beginner in python and iam proud I made this working using groq api and langchain , try project lets you see the working demo.if you want to try it out you should go to source code and read Readme for more information.Thank you -Ashmil", "repo": "https://github.com/ashmilgit15/RAG_DOCS_Q-A", "demo": "https://asciinema.org/a/oyTxudgQWvh1HFY5"}]...
|
[{"post_id": 200, "ts": "2026- [{"post_id": 200, "ts": "2026-06-01T07:47:05Z", "hours": 0.2858, "text": "Finally pushed latest changes and shipping…"}, {"post_id": 65, "ts": "2026-05-31T16:00:54Z", "hours": 0.5092, "text": "I finsished my DOCS-Q&A this will be my first project in hackclub and stardance heres the url for github repo : https://github.com/ashmilgit15/RAG_DOCS_Q-A#features"}, {"post_id": 58, "ts": "2026-05-31T15:23:22Z", "hours": 1.0103, "text": "iam working on an AI_CLI tool for retrieving info from docs through RAG , no guesses , no hallucination"}]...
|
Title: Frictionless by @ashmildax | Stardance
Dev Title: Frictionless by @ashmildax | Stardance
Devlogs:
iam working on an AI_CLI tool for retrieving info from docs through RAG , no guesses , no hallucination
I finsished my DOCS-Q&A this will be my first project in hackclub and stardance heres the url for github repo : https://github.com/ashmilgit15/RAG_DOCS_Q-A#features
Finally pushed latest changes and shipping…
Ships:
I built a cli chatbot for retrieving information from your documents, the challenging part was setting up the RAG , I am a beginner in python and iam proud I made this working using groq api and langchain , try project lets you see the working demo.if you want to try it out you should go to source code and read Readme for more information.Thank you -Ashmil...
|
1792979607.8022416
|
1793066007.8022416
|
|
316
|
Mesa AI by @ng_qi_an | Stardance
|
ng_qi_an
|
1
|
56.0
|
917
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T13:44:58Z", "hours": 56.0, "multiplier": 16.82, "payout": 917, "blessing": "neutral", "text": "Finally, a ship!! 🚢 This project was really rushed, as my exams are coming, and I couldn’t finish much of it. Really hope to continue in the next event! But here is what Mesa AI does right now: 📋 Generate concise summary notes from lectures which you can edit yourself, in a Notion-style editor. 🤖 Comes with a agent (i like to call it sidekick) that can search your lecture notes, research on the web, and put all that together by editing directly into your notes. 🗹 Ships with a quiz function for reinforced learning as well Built with a flexible tab-interface, allowing you to make opened chats/quizzes larger, or on the side as you please. 📑 Subject-specific instructions keep notes & quizzes relevant to syllabus, instead of those generic AI study apps out there. 📚 And an organization system that splits notes into classes, and files into folders. Demo credentials: Email: [email protected] Password: test1234 I don’t recommend using this, since you’ll be skipping out on the actual tutorials and onboarding flow. Just use if you’re too lazy. Here are some improvements from the Flavourtown edition: Model flexiblity: No longer locked to just Gemini in the chat 👀 Custom Rag pipeline built from scratch: Files are uploaded in 10s, while chat context is no longer bloated. 🖼️ More supported files: PDFs, slides, word documents, images can all be uploaded. 🗲 Efficient notebooks design: The layout has been reconfigured, letting you resize the side panel, and move tabs anywhere you like. 🔍 Agent chat: Chat can now search through your files directly instead of being a wrapper ☁️ Editable notes: Notes are no longer read-only, and save your changes! Things I learned: How to upload files with streams, and making those streams editable. How to integrate a text-editor. How to make AI interact with the BlockNote editor, given they don’t have a direct AI extension for my use case. How to create a RAG system, from extracting, to chunking, to embedding and querying. How to add tools to the model, making it truly agentic. For more technical details & future plans, checkout the github! Full breakdown of tech stack is there. Show some love and try the demo too!", "repo": "https://github.com/ng-qi-an/mesa-ai", "demo": "https://mesa-ai.vercel.app"}]...
|
[{"post_id": 53049, "ts": "202 [{"post_id": 53049, "ts": "2026-08-23T13:19:48Z", "hours": 0.3097, "text": "Image embeddings!! Forgot to install hackatime on a new editor so all the time i spent here on here was wasted 💔 Notebook improvements 🖼️ Images from files are extracted and saved 🖹 The model is presented with a list of images to choose from, and can embed them directly into the notebook. 🗲 Generating notes are now single-step . The old generate title, subtitle, topics then generate notes is abolished and combined into a single request. This makes note generation almost instant! 📋 New bottom bar that shows notebook actions, along with a editor mode (toggle between editing and viewing). File uploads Files uploaded are now indexed reliably. Images are also extracted from files, as mentioned before. Other changes Topics has been removed temporarily. Quiz no longer has topic options as well. Notebook is no longer accessible on mobile The tutorial was cut short. 😢 Things I couldn’t do: Having to focus on exams, I couldn’t finish Mesa AI before stardance ends. Here are a list of things I’ll work to complete the next hackclub event: Mobile support for Notebooks Notebook topics that are procedurally generated Add flashcards Freshen up UI (little unpolished here and there) Add a marking mode (AI marks papers for you) Collaboration & sharing notebooks Code the dashboard page (as a consolation i included a mockup of what it would have been) Making topics on the class page actually work 📹 Check out the demo video and screenshots! (show some love for me missing like almost 4-5 hours of work here)"}, {"post_id": 43313, "ts": "2026-08-08T14:43:23Z", "hours": 3.0472, "text": "Upload improvements File uploads are more stable, and status updates resume between reloads Users can see what stage their file is at on the indexing progress Allows for file statuses to still work even if the file selector dialog box is closed and reopened."}, {"post_id": 39434, "ts": "2026-08-02T11:57:23Z", "hours": 10.0094, "text": "Agentic notes?!?! 👀 *i really need to post devlogs more often ;p) check out the demo first if you’re too lazy to read 🤓 Agent 🤖 : ⭐️ This is a crazy milestone, and I finally finished one of the biggest features i really wanted to bring to Mesa ai when i decided to continue it on stardance. The chat window can now edit, delete and move notebook content ! ✍️ You can ask the chat to summarise blocks, turn into different formats or even create tables ⚡️ 📖 Basically a mini notion + notebookLM but with a study agent Use this with your sources and the web to supercharge research ! 🔬 I have plans to make the chat be able to create flashcards, quizzes and future tools directly from the chat window along with history, so there wont be a need to make those manually anymore ✨ Editor : Chat agent cursor shows which block it’s interacting with (the white bar on the left) ⌨️ Diff editor to see what the agent changed 📋 Tool approvals so you can choose whether to accept it or not! ✅ While Blocknote provides some helpers for the AI extension, since i’m not using it as intended, I had to patch up alot of the implementation myself 😭 Chat : Finally allowed images to be pasted or dragged into the chat window 🖼️ Added cool tool UI for notebook edits too 🎶 Check out the new demo!!!! 🎥 (sorry if its abit dizzying i was playing with the zooms a little too much) Honestly, I never imagined I would be capable enough to create something like this, starting just about 6 months ago. 🥲 Gimme a follow too if u wanna see more of this project and find out when its done ❤️"}, {"post_id": 35216, "ts": "2026-07-26T14:32:20Z", "hours": 11.23, "text": "Usage limits! Went over the 10hr limit 😭 🙈 In this update, messages now count towards a single usage limit. The default is 3000 credits, which is equivalent to 3 million tokens of Gemini 3 Flash. 💸 Limits are enforced at the API level, and the chat level. Free models can still be used even when the limit is exhausted. 🔁 Limits reset every billing cycle, which is about 1 month from the same day. Built in mind to be extended with stripe in the future to be monetised. ❤️ This is a soft limit, so currently generating chats won’t stop halfway. 📋 Billing breakdown can be seen in the usage tab on account settings, will be extended in the future! Other than that, 🍝 The notebook chat API and main chat API were merged, fixing some of the spaghetti code building up. 📁 The main chat can now reference ALL files too! That’s right, ALL FILES. 🤓 Notebook chats are still limited to files only linked to the notebook. 📹 Check out the awesome demo & screenshot i forgot to include in the video. Chat generation kinda slow, just skip forward."}, {"post_id": 30674, "ts": "2026-07-18T13:24:33Z", "hours": 0.8264, "text": "Web search! Short devlog, but I added Perplexity Search as a tool to both standalone chat & notebook chat. 🔍 🐛 Took considerably longer cause I found some weird bug where thinking modes would become null on reload Check out the screenshot for the UI eyecandy! 🍭"}, {"post_id": 30606, "ts": "2026-07-18T09:57:26Z", "hours": 8.9583, "text": "Notebook & Chat updates! Been really busy and I forgot to log :( Notebooks ☁️ Notebooks now save ! Changes made to the editor persist between reloads. ➗ Math equations can be edited using Latex. You can now create custom physics formulas :) ✨ Brand new animation when generating that unintentionally looks like siri (it’s kinda laggy though) Chat 🤖Claude now works ⚒️ New UI to visualise the model’s tool calls 👀 Seeing which queries and sources the model pulls information from is now easier than ever 🌐 Plans to implement this for web search Check out this amazing demo below 📹 (might be a lil blurry cause of the file limit)"}, {"post_id": 27675, "ts": "2026-07-13T13:36:17Z", "hours": 6.6358, "text": "More UI overhauls!! I completely forgot to make devlogs 😭 Been really busy so far In this update, I introduced a notion style notebook editor, allowing users to edit their AI-generated notes. Along with that, I’ve polished up the library panel Chats and quizzes now open in a seperate tab Tabs can be dragged between the sidebar and the main panel, allowing for ultimate flexibility(check out the video!!!!) The main panel (notebook) can also be resized, making it more flexible on smaller devices like ipads. In my next devlog, I’ll work on making edited notes save, and polish up the quiz UI (it was rushed from flavourtown)"}, {"post_id": 19258, "ts": "2026-06-30T14:58:42Z", "hours": 5.4336, "text": "Facelift! Made some huge design changes to notebooks! The interface is now tabbed, and notebook content is finally editable like Notion. Still ironing out formatting for the new editor, so math is a little broken New library interface is resizable and supports dragging! (Took longer than usual cause alot of things had to be moved around ❤️. Enjoy the videos!!)"}, {"post_id": 9245, "ts": "2026-06-15T15:04:49Z", "hours": 1.2183, "text": "RAG pipeline! Finally migrated the old notebooks to a rag-based one. Most of the changes are backend, so theres not much to show :( Files (PDFs, slides, lecture notes) were directly used as sources for notebooks before. This was slow, inefficient, and wasted tokens. Now, files are converted to markdown on upload. This markdown is then processed, and broken down into chunks in the rag pipeline, making chat faster and more accurate! Additionally, chat uses the new AI gateway/Openrouter provider to ensure fallback and consistent speeds regardless of provider downtime (plagued the app during flavourtown) On preliminary testing, generation speeds jumped from 30s ttft to 10s ttft, with chat seeing the most improvements. The next update should improve UI and refine subject prompts (a lil too robotic rn)!"}, {"post_id": 1290, "ts": "2026-06-03T05:54:05Z", "hours": 3.4972, "text": "Added a model selector to the chat menu! Along with this, thinking modes were standardised across all models, and usages are now tabulated. I plan to add tools too, so the chat window can actually retrieve information from notebooks or materials uploaded."}, {"post_id": 222, "ts": "2026-06-01T10:14:52Z", "hours": 4.5847, "text": "Stardance!! 🌟 . Back story This project is a continuation from flavourtown ( https://flavortown.hackclub.com/projects/10428 ), initially to help students use AI to make studying faster. A short summary for those unfamiliar: Mesa AI would create summary notes, quizzes and chats in a interface called notebooks. It’s meant to be similar to Notebook LM, but actually make notes and offer more exam accurate (subject-based instructions) notes & quizzes. Unfortunately, I couldn’t finish Mesa AI in time (took almost 100 hours!). In Stardance, I aim to complete this project’s ambitious plans, and finally ship it. Here are the things I intend to change or add: Complete all the unfinished pages Migrate to a fully custom RAG engine Move towards openrouter and Vercel AI gateway after that gemini outage which plagued Mesa AI in most of flavourtown Move from a read-only summary notes to notes which you can actually edit, and Mesa AI will edit them with you (agentic studying) . All those changes would need me to fundementally rewrite how Mesa AI was built, and make this journey on Stardance even more interesting. Mesa AI could also evolve to not just be a notetaker, but a researcher and an entire online tutor too. . First Devlog To start off this rewrite, I’ve already made the custom RAG engine, which replaces Google’s file search API (too slow, unreliable, and locks me into using a Google API key). All files are indexed automatically by a combination of Jina (PDF to markdown) and Mistral (PDF to markdown too), along with OpenAI’s embedding models. A 20-word summary is then generated with Gemma 4 such that search queries are more relevant without relying on file name alone. To test this, I made a barebones boilerplate to simulate a real chat. (See the image!) Sorry I don’t have more pictures! This devlog was mainly backend. In my testing, indexing (turning the file into embeddings and the summary) takes about 20s, with subsequent messages regarding that file taking about 5-8s (search and retrieval). Really pleased with the accuracy though! Sadly i forgot to install hackatime on my mac so a few hours were lost when i was working outside :("}]...
|
Title: Mesa AI by @ng_qi_an | Stardance
Devlogs:
Title: Mesa AI by @ng_qi_an | Stardance
Devlogs:
Stardance!! 🌟 . Back story This project is a continuation from flavourtown ( https://flavortown.hackclub.com/projects/10428 ), initially to help students use AI to make studying faster. A short summary for those unfamiliar: Mesa AI would create summary notes, quizzes and chats in a interface called notebooks. It’s meant to be similar to Notebook LM, but actually make notes and offer more exam accurate (subject-based instructions) notes & quizzes. Unfortunately, I couldn’t finish Mesa AI in time (took almost 100 hours!). In Stardance, I aim to complete this project’s ambitious plans, and finally ship it. Here are the things I intend to change or add: Complete all the unfinished pages Migrate to a fully custom RAG engine Move towards openrouter and Vercel AI gateway after that gemini outage which plagued Mesa AI in most of flavourtown Move from a read-only summary notes to notes which you can actually edit, and Mesa AI will edit them with you (agentic studying) . All those changes would need me to fundementally rewrite how Mesa AI was built, and make this journey on Stardance even more interesting. Mesa AI could also evolve to not just be a notetaker, but a researcher and an entire online tutor too. . First Devlog To start off this rewrite, I’ve already made the custom RAG engine, which replaces Google’s file search API (too slow, unreliable, and locks me into using a Google API key). All files are indexed automatically by a combination of Jina (PDF to markdown) and Mistral (PDF to markdown too), along with OpenAI’s embedding models. A 20-word summary is then generated with Gemma 4 such that search queries are more relevant without relying on file name alone. To test this, I made a barebones boilerplate to simulate a real chat. (See the image!) Sorry I don’t have more pictures! This devlog was mainly backend. In my testing, indexing (turning the file into embeddings and the summary) takes about 20s, with subsequent messages regarding that file taking about 5-8s (search and retrieval). Really pleased with the accuracy though! Sadly i forgot to install hackatime on my mac so a few hours were lost when i was working outside :(
Added a model selector to the chat menu! Along with this, thinking modes were standardised across all models, and usages are now tabulated. I plan to add tools too, so the chat window can actually retrieve information from notebooks or materials uploaded.
RAG pipeline! Finally migrated the old notebooks to a rag-based one. Most of the changes are backend, so theres not much to show :( Files (PDFs, slides, lecture notes) were directly used as sources for notebooks before. This was slow, inefficient, and wasted tokens. Now, files are converted to markdown on upload. This markdown is then processed, and broken down into chunks in the rag pipeline, making chat faster and more accurate! Additionally, chat uses the new AI gateway/Openrouter provider to ensure fallback and consistent speeds regardless of provider downtime (plagued the app during flavourtown) On preliminary testing, generation speeds jumped from 30s ttft to 10s ttft, with chat seeing the most improvements. The next update should improve UI and refine subject prompts (a lil too robotic rn)!
Facelift! Made some huge design changes to notebooks! The interface is now tabbed, and notebook content is finally editable like Notion. Still ironing out formatting for the new editor, so math is a little broken New library interface is resizable and supports dragging! (Took longer than usual cause alot of things had to be moved around ❤️. Enjoy the videos!!)
More UI overhauls!! I completely forgot to make devlogs 😭 Been really busy so far In this update, I introduced a notion style notebook editor, allowing users to edit their AI-generated notes. Along with that, I’ve polished up the library panel Chats and quizzes now open in a seperate tab Tabs can be dragged between the sidebar and the main panel, allowing for ultimate flexibility(check out the video!!!!) The main panel (notebook) can also be resized, making it more flexible on smaller devices like ipads. In my next devlog, I’ll work on making edited notes save, and polish up the quiz UI (it was rushed from flavourtown)
Notebook & Chat updates! Been really busy and I forgot to log :( Notebooks ☁️ Notebooks now save ! Changes made to the editor persist between reloads. ➗ Math equations can be edited using Latex. You can now create custom physics formulas :) ✨ Brand new animation when generating that unintentionally looks like siri (it’s kinda laggy though) Chat 🤖Claude now works ⚒️ New UI to visualise the model’s tool calls 👀 Seeing which queries and sources the model pulls information from is now easier than ever 🌐 Plans to implement this for web search Check out this amazing demo below 📹 (might be a lil blurry cause of the file limit)
Web search! Short devlog, but I added Perplexity Search as a tool to both standalone chat & notebook chat. 🔍 🐛 Took considerably longer cause I found some weird bug where thinking modes would become null on reload Check out the screenshot for the UI eyecandy! 🍭
Usage limits! Went over the 10hr limit 😭 🙈 In this update, messages now count towards a single usage limit. The default is 3000 credits, which is equivalent to 3 million tokens of Gemini 3 Flash. 💸 Limits are enforced at the API level, and the chat level. Free models can still be used even when the limit is exhausted. 🔁 Limits reset every billing cycle, which is about 1 month from the same day. Built in mind to be extended with stripe in the future to be monetised. ❤️ This is a soft limit, so currently generating chats won’t stop halfway. 📋 Billing breakdown can be seen in the usage tab on account settings, will be extended in the future! Other than that, 🍝 The notebook chat API and main chat API were merged, fixing some of the spaghetti code building up. 📁 The main chat can now reference ALL files too! That’s right, ALL FILES. 🤓 Notebook chats are still limited to files only linked to the notebook. 📹 Check out the awesome demo & screenshot i forgot to include in the video. Chat generation kinda slow, just skip forward.
Agentic notes?!?! 👀 *i really need to post devlogs more often ;p) check out the demo first if you’re too lazy to read 🤓 Agent 🤖 : ⭐️ This is a crazy milestone, and I finally finished one of the biggest features i really wanted to bring to Mesa ai when i decided to continue it on stardance. The chat window can now edit, delete and move notebook content ! ✍️ You can ask the chat to summarise blocks, turn into different formats or even create tables ⚡️ 📖 Basically a mini notion + notebookLM but with a study agent Use this with your sources and the web to supercharge research ! 🔬 I have plans to make the chat be able to create flashcards, quizzes and future tools directly from the chat window along with history, so there wont be a need to make those manually anymore ✨ Editor : Chat agent cursor shows which block it’s interacting with (the white bar on the left) ⌨️ Diff editor to see what the agent changed 📋 Tool approvals so you can choose whether to accept it or not! ✅ While Blocknote provides some helpers for the AI extension, since i’m not using it as intended, I had to patch up alot of the implementation myself 😭 Chat : Finally allowed images to be pasted or dragged into the chat window 🖼️ Added cool tool UI for notebook edits too 🎶 Check out the new demo!!!! 🎥 (sorry if its abit dizzying i was playing with the zooms a little too much) Honestly, I never imagined I would be capable enough to create something like this, starting just about 6 months ago. 🥲 Gimme a follow too if u wanna see more of this project and find out when its done ❤️
Upload improvements File uploads are more stable, and status updates resume between reloads Users can see what stage their file is at on the indexing progress Allows for file statuses to still work even if the file selector dialog box is closed and reopened.
Image embeddings!! Forgot to install hackatime on a new editor so all the time i spent here on here was wasted 💔 Notebook improvements 🖼️ Images from files are extracted and saved 🖹 The model is presented with a list of images to choose from, and can embed them directly into the notebook. 🗲 Generating notes are now single-step . The old generate title, subtitle, topics then generate notes is abolished and combined into a single request. This makes note generation almost instant! 📋 New bottom bar that shows notebook actions, along with a editor mode (toggle between editing and viewing). File uploads Files uploaded are now indexed reliably. Images are also extracted from files, as mentioned before. Other changes Topics has been removed temporarily. Quiz no longer has topic options as well. Notebook is no longer accessible on mobile The tutorial was cut short. 😢 Things I couldn’t do: Having to focus on exams, I couldn’t finish Mesa AI before stardance ends. Here are a list of things I’ll work to complete the next hackclub event: Mobile support for Notebooks Notebook topics that are procedurally generated Add flashcards Freshen up UI (little unpolished here and there) Add a marking mode (AI marks papers for you) Collaboration & sharing notebooks Code the dashboard page (as a consolation i included a mockup of what it would have been) Making topics on the class page actually work 📹 Check out the demo video and screenshots! (show some love for me missing like almost 4-5 hours of work here)
Ships:
Finally, a ship!! 🚢 This project was really rushed, as my exams are coming, and I couldn’t finish much of it. Really hope to continue in the next event! But here is what Mesa AI does right now: 📋 Generate concise summary notes from lectures which you can edit yourself, in a Notion-style editor. 🤖 Comes with a agent (i like to call it sidekick) that can search your lecture notes, research on the web, and put all that together by editing directly into your notes. 🗹 Ships with a quiz function for reinforced learning as well Built with a flexible tab-interface, allowing you to make opened chats/quizzes larger, or on the side as you please. 📑 Subject-specific instructions keep notes & quizzes relevant to syllabus, instead of those generic AI study apps out there. 📚 And an organization system that splits notes into classes, and files into folders. Demo credentials: Email: [email protected] Password: test1234 I don’t recommend using this, since you’ll be skipping out on the actual tutorials and onboarding flow. Just use if you’re too lazy. Here are some improvements from the Flavourtown edition: Model flexiblity: No longer locked to just Gemini in the chat 👀 Custom Rag pipeline built from scratch: Files are uploaded in 10s, while chat context is no longer bloated. 🖼️ More supported files: PDFs, slides, word documents, images can all be uploaded. 🗲 Efficient notebooks design: The layout has been reconfigured, letting you resize the side panel, and move tabs anywhere you like. 🔍 Agent chat: Chat can now search through your files directly instead of being a wrapper ☁️ Editable notes: Notes are no longer read-only, and save your changes! Things I learned: How to upload files with streams, and making those streams editable. How to integrate a text-editor. How to make AI interact with the BlockNote editor, given they don’t have a direct AI extension for my use case. How to create a RAG system, from extracting, to chunking, to embedding and querying. How to add tools to the model, making it truly agentic. For more technical details & future plans, checkout the github! Full breakdown of tech stack is there. Show some love and try the demo too!...
|
1792990353.3016624
|
1793076753.3016624
|
|
325
|
Refract Foundation Site by @Oliver | Stardance
|
Oliver
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-31T12:39:31Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Many general visual and QoL improvements.", "repo": "https://github.com/refractfoundation/site", "demo": "https://refractfoundation.org"}]...
|
[{"post_id": 38146, "ts": "202 [{"post_id": 38146, "ts": "2026-07-31T12:02:21Z", "hours": 2.5294, "text": "Improvements including a new visual identity, updated and expanded information across the site, better contact page."}, {"post_id": 2373, "ts": "2026-06-04T20:35:48Z", "hours": 4.2133, "text": "A few big improvements to the site, including: Adding better partner sections across the site Implementing a news section, with 2 backdated posts Legal pages (privacy, terms, safeguarding, conduct) Podium and improved gallery carousel for the Campfire page Slightly improved Bootstrap implementation"}]...
|
Title: Refract Foundation Site by @Oliver | Starda Title: Refract Foundation Site by @Oliver | Stardance
Devlogs:
A few big improvements to the site, including: Adding better partner sections across the site Implementing a news section, with 2 backdated posts Legal pages (privacy, terms, safeguarding, conduct) Podium and improved gallery carousel for the Campfire page Slightly improved Bootstrap implementation
Improvements including a new visual identity, updated and expanded information across the site, better contact page.
Ships:
Many general visual and QoL improvements....
|
1792983339.7377772
|
1793069739.7377772
|
|
327
|
ToBeDone... by @Koy | Stardance
|
Koy
|
1
|
37.36
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T21:48:12Z", "hours": 35.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a notetaking app for the TUI. Please read the Readme for quickstart instructions!", "repo": "https://github.com/By-Koy/ToBeDone", "demo": "https://github.com/By-Koy/ToBeDone/releases/latest"}]...
|
[{"post_id": 79282, "ts": "202 [{"post_id": 79282, "ts": "2026-10-13T09:56:35Z", "hours": 2.3603, "text": "DevLog[9] - “Wait didn’t you ship this alr?” well hello to you too but uhh yeah… I tried to ship this like 5 times by now but it had so many problems that I didn’t think of (thanks Shipwrights! ) Anyway here are the changes since my last devlog: 1. Windows install scripts: Made with help from my friend Nadav Babad ( @smokinghotcode on github) because he has an actual windows capable pc 2. Switched to stderr: This switch happened because of windows not opening the exe file directly in the terminal (you would have to open it via command prompt). I am yet to test it but this was the only I have found to maybe make this work. 3. Better Github actions: This was just a by-product of all the iterations I went through, it was a nice intro to actions though! Anw good luck to me and the shipwrights, here’s a picture of the windows iso downloading (Insert edit from after testing since I feel like it won’t work)"}, {"post_id": 68298, "ts": "2026-09-14T21:43:39Z", "hours": 4.1486, "text": "DevLog[8] - “The End.” TL;DR: I got sick of this project and ended it. How did we get here? Formatting suckssssss. anyway, So I’ve been thinking about how I can save formatting to a file without encoding it into md and long story short, I can’t. The only way I could think of was to save binary files and simply (it was so hard I gave up) flush the memory into a file. Yeah I couldn’t figure that out. So what DID I do in the last 4 hours? Finishing touches! basically, I made build scripts, finished the readme, and made a github action to build the portable files. I also cleaned up just a bit from the uneaded code and (theoretically) made the app cross-platform (I don’t have access to a windows machine so it ended up getting a lot less love… oopsie…) I hope you can still enjoy my project (or my wacky writing ) without everything I neglected to do. and for one last (maybe) time. Have a nice day!"}, {"post_id": 66508, "ts": "2026-09-12T10:50:01Z", "hours": 4.4931, "text": "DevLog[7] - “MiniLog!” Hiiiiiii this time I focused on one thing (wasn’t easy lol) and that was a reset option! you can now remove all notes in one command! :3 I also gave up and then un-gave up on cross-platform so that’s cool Anyway I might go back to work and do cross-platform next (I rlly don’t wanna do formating )"}, {"post_id": 50968, "ts": "2026-08-20T13:18:44Z", "hours": 9.0122, "text": "DevLog[6] - “Rebase Rebase Rebase Rebase Rebase” Hi again! This… is a sad one. But first, the accomplishments!! in this devlog I have: Refactored the file.rs file (that saves/reads the files) to remove things like creating an uninitialized variable just to initialize it 3.14 seconds later in an if statement, in favor of initializing the variable with the if statement. ( let id = if input... ) Changed the massive iterator function line for cutting away from the displayed strings into the paragraph.scroll() function (which like, since when does that exist yk?) Moved the args struct into a static LazyLock<Mutex> which allows for a (relatively) safe global variable defined at runtime :3. Added modifier parsing for proper hotkeys and an options menu (internally called FormatDisplay , for reasons to be explained later) to show all the hotkeys. Turns out 9 hours is a lot lol. WAIT NO I DON’T WANN- Markdown Or well, the lack of it. over time while trying to work on this I realised that full markdown support is wayyyyy out of the scope of my (and the TUI’s) capabilities. {more info in the readme } after testing a few options (including a line-by-line implementation) I had found a silver-lining: FormatDisplay The menu is a new widget in the program, it simply shows the available keybinds, with SUPER keybinds formatting text, while control does things in the program. Do be warned though. I did not have time to make the actual functionality 😭"}, {"post_id": 38192, "ts": "2026-07-31T13:54:28Z", "hours": 2.0144, "text": "DevLog[5] - “I’m not wasting time or anything, why do you ask?” 👀👀👀 Hey all! this is a smaller one as I get things ready for the next part, markdown! Today, (and by this I mean it’s no longer 3 am) I have added CLI arguments for debugging, generating sample text, and no… eggs? Yeah Idk what that’s about (actually though that one is saved for later it might disappear) I have also fixed a few leftover errors and have tested the program on MacOS! :33 it worked almost immediately once I created the folder where all the notes are stored and set its permissions (I will set up install scripts to set everything up once I do all the functionality and windows support) By the way.. I wrote the readme.. you should check it out!! » Anw, have a nice dayy :3 (🥚)"}, {"post_id": 37943, "ts": "2026-07-30T23:45:40Z", "hours": 6.3153, "text": "DevLog[4] - “Movement, again” Hi there, welcome to my personal hell. ( ) It’s called movement. I have spent the last (non-consecutive) 6 hours to make something not too interesting, but not too uninteresting. (👀 ) cursor movement is extremely important for a note-taking app which currently doesn’t have planned mouse support, so I made sure to perfect (copy nano’s) it! Over the time I also: Moved all cursor based functions and the terminal constraint vars into the cursor struct itself Seperated some code to make it easier to read/edit Changed function names about a thousand times (it’s hard ) Learned the value of friendship (/j) I don’t really have much to show just because of the shear monotony of the task but here is a video of the weirdest bug I encountered on this journey (and probably the weirdest I ever will encounter), let’s see if you can figure out what happened :p"}, {"post_id": 10142, "ts": "2026-06-16T19:02:31Z", "hours": 2.425, "text": "DevLog[3] - “This Takes Way Too Long” Hey everyone!! For this log I have prepared a delightful… nevermind, this is all technical stuff. :sadge Never the less we will take a look! the main things I did was adding cursor support and improving input handling, which went from temporary to (practically) production! The other part (the hard part that took like two hours) was adding the cursor. I hate this thing. The cursor made the program panic in so many ways that I stopped counting. also figuring out how to even add it was another hour or two just in research (this ended up as like three lines btw) for anyone wondering, the cursor is held in the main struct as it’s own struct of two u16 variables which are added (or removed from) whenever the arrow keys are pressed. The displayed block is Ratatui’s default cursor that took me a million years to find. :sob Anyway, I have attached a video of most of the programs capabilities (I forgot to film the recent option and am too tired to do it again, sorry) [the hello and goodbye notes were not there initially]"}, {"post_id": 4751, "ts": "2026-06-08T06:18:40Z", "hours": 3.3658, "text": "DevLog[2] - “File Reader” Hiiiiii In this devlog I have implemented all of the logic to read files, save them to the main app struct and then save a symlink that let’s you access the last used note without specifying its title. (currently everything is linux only, cross-platform support will come later) (explanation for the screenshots: both commands shown in fig. 1 have the same output [shown in fig. 2.])"}, {"post_id": 3412, "ts": "2026-06-06T10:20:28Z", "hours": 3.1089, "text": "DevLog[1] - POC Hey! in this devlog I implemented the main TUI function, though I have not yet implemented a good way to control it (currently I am not even checking which key was pressed or if the event was a key press…), and a little Sample text file for testing. I don’t really have much to add, I am still new to Rust and Ratatui so I am very slow. (sorry :sob) Thanks for reading! :purple-heart"}]...
|
Title: ToBeDone... by @Koy | Stardance
Devlogs:
D Title: ToBeDone... by @Koy | Stardance
Devlogs:
DevLog[1] - POC Hey! in this devlog I implemented the main TUI function, though I have not yet implemented a good way to control it (currently I am not even checking which key was pressed or if the event was a key press…), and a little Sample text file for testing. I don’t really have much to add, I am still new to Rust and Ratatui so I am very slow. (sorry :sob) Thanks for reading! :purple-heart
DevLog[2] - “File Reader” Hiiiiii In this devlog I have implemented all of the logic to read files, save them to the main app struct and then save a symlink that let’s you access the last used note without specifying its title. (currently everything is linux only, cross-platform support will come later) (explanation for the screenshots: both commands shown in fig. 1 have the same output [shown in fig. 2.])
DevLog[3] - “This Takes Way Too Long” Hey everyone!! For this log I have prepared a delightful… nevermind, this is all technical stuff. :sadge Never the less we will take a look! the main things I did was adding cursor support and improving input handling, which went from temporary to (practically) production! The other part (the hard part that took like two hours) was adding the cursor. I hate this thing. The cursor made the program panic in so many ways that I stopped counting. also figuring out how to even add it was another hour or two just in research (this ended up as like three lines btw) for anyone wondering, the cursor is held in the main struct as it’s own struct of two u16 variables which are added (or removed from) whenever the arrow keys are pressed. The displayed block is Ratatui’s default cursor that took me a million years to find. :sob Anyway, I have attached a video of most of the programs capabilities (I forgot to film the recent option and am too tired to do it again, sorry) [the hello and goodbye notes were not there initially]
DevLog[4] - “Movement, again” Hi there, welcome to my personal hell. ( ) It’s called movement. I have spent the last (non-consecutive) 6 hours to make something not too interesting, but not too uninteresting. (👀 ) cursor movement is extremely important for a note-taking app which currently doesn’t have planned mouse support, so I made sure to perfect (copy nano’s) it! Over the time I also: Moved all cursor based functions and the terminal constraint vars into the cursor struct itself Seperated some code to make it easier to read/edit Changed function names about a thousand times (it’s hard ) Learned the value of friendship (/j) I don’t really have much to show just because of the shear monotony of the task but here is a video of the weirdest bug I encountered on this journey (and probably the weirdest I ever will encounter), let’s see if you can figure out what happened :p
DevLog[5] - “I’m not wasting time or anything, why do you ask?” 👀👀👀 Hey all! this is a smaller one as I get things ready for the next part, markdown! Today, (and by this I mean it’s no longer 3 am) I have added CLI arguments for debugging, generating sample text, and no… eggs? Yeah Idk what that’s about (actually though that one is saved for later it might disappear) I have also fixed a few leftover errors and have tested the program on MacOS! :33 it worked almost immediately once I created the folder where all the notes are stored and set its permissions (I will set up install scripts to set everything up once I do all the functionality and windows support) By the way.. I wrote the readme.. you should check it out!! » Anw, have a nice dayy :3 (🥚)
DevLog[6] - “Rebase Rebase Rebase Rebase Rebase” Hi again! This… is a sad one. But first, the accomplishments!! in this devlog I have: Refactored the file.rs file (that saves/reads the files) to remove things like creating an uninitialized variable just to initialize it 3.14 seconds later in an if statement, in favor of initializing the variable with the if statement. ( let id = if input... ) Changed the massive iterator function line for cutting away from the displayed strings into the paragraph.scroll() function (which like, since when does that exist yk?) Moved the args struct into a static LazyLock<Mutex> which allows for a (relatively) safe global variable defined at runtime :3. Added modifier parsing for proper hotkeys and an options menu (internally called FormatDisplay , for reasons to be explained later) to show all the hotkeys. Turns out 9 hours is a lot lol. WAIT NO I DON’T WANN- Markdown Or well, the lack of it. over time while trying to work on this I realised that full markdown support is wayyyyy out of the scope of my (and the TUI’s) capabilities. {more info in the readme } after testing a few options (including a line-by-line implementation) I had found a silver-lining: FormatDisplay The menu is a new widget in the program, it simply shows the available keybinds, with SUPER keybinds formatting text, while control does things in the program. Do be warned though. I did not have time to make the actual functionality 😭
DevLog[7] - “MiniLog!” Hiiiiiii this time I focused on one thing (wasn’t easy lol) and that was a reset option! you can now remove all notes in one command! :3 I also gave up and then un-gave up on cross-platform so that’s cool Anyway I might go back to work and do cross-platform next (I rlly don’t wanna do formating )
DevLog[8] - “The End.” TL;DR: I got sick of this project and ended it. How did we get here? Formatting suckssssss. anyway, So I’ve been thinking about how I can save formatting to a file without encoding it into md and long story short, I can’t. The only way I could think of was to save binary files and simply (it was so hard I gave up) flush the memory into a file. Yeah I couldn’t figure that out. So what DID I do in the last 4 hours? Finishing touches! basically, I made build scripts, finished the readme, and made a github action to build the portable files. I also cleaned up just a bit from the uneaded code and (theoretically) made the app cross-platform (I don’t have access to a windows machine so it ended up getting a lot less love… oopsie…) I hope you can still enjoy my project (or my wacky writing ) without everything I neglected to do. and for one last (maybe) time. Have a nice day!
DevLog[9] - “Wait didn’t you ship this alr?” well hello to you too but uhh yeah… I tried to ship this like 5 times by now but it had so many problems that I didn’t think of (thanks Shipwrights! ) Anyway here are the changes since my last devlog: 1. Windows install scripts: Made with help from my friend Nadav Babad ( @smokinghotcode on github) because he has an actual windows capable pc 2. Switched to stderr: This switch happened because of windows not opening the exe file directly in the terminal (you would have to open it via command prompt). I am yet to test it but this was the only I have found to maybe make this work. 3. Better Github actions: This was just a by-product of all the iterations I went through, it was a nice intro to actions though! Anw good luck to me and the shipwrights, here’s a picture of the windows iso downloading (Insert edit from after testing since I feel like it won’t work)
Ships:
This is a notetaking app for the TUI. Please read the Readme for quickstart instructions!...
|
1793004811.3918006
|
1793091211.3918006
|
|
336
|
bedrockR by @xFN10x | Stardance
|
xFN10x
|
1
|
67.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T14:06:05Z", "hours": 67.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I am shipping bedrockR a3.0PRE, a pre-release to the next major alpha version a3.0. bedrockR has been my main project for about a year now, starting it in Summer Of Making last year. This is the first bedrockR pre-release, you will most likely find bugs. Please report them here Please also read https://github.com/xFN10x/bedrockR/blob/master/a3PRE-known-issues.md to make sure you aren’t reporting already known issues.", "repo": "https://github.com/xFN10x/bedrockR", "demo": "https://github.com/xFN10x/bedrockR/releases/tag/a3.0PRE"}]...
|
[{"post_id": 63553, "ts": "202 [{"post_id": 63553, "ts": "2026-09-07T13:58:20Z", "hours": 7.1344, "text": "devlog 8 It’s time… Yes, I’m finally shipping a3.0PRE. I thought i would have more time to release the whole version at once, but a new YSWS is starting today, and i haven’t released a bedrockR version in quite a while. Resource Building (again) I did fix the resources, so now they do build properly, but there are some weird bugs that i have no idea where to even start with… this is why i made a known issues file on the github, because im hoping i can narrow down what might be causing this. What to expect from this release This release is about 50% of the work that will be in a3.0, the release is lacking quite a few important things that the final release will have. Mainly workspace upgrading, new UI features, and more network features. You almost certainly WILL find bugs, I NEED these reported , I don’t want an a2.0.2 situation again, where the whole program was found to be broken AFTER I shipped. . Anyways, this might very well be the last of me on Stardance , thank you for following my code optimization journey, and I hope you enjoy bedrockR!"}, {"post_id": 60784, "ts": "2026-09-03T11:41:43Z", "hours": 3.7117, "text": "devlog 7 I wasn’t planning on making this… but seeing as im going to highschool for the first time in 30 minutes , uhhh… i think i should make this. Resource Building I finally started implementing resource building. Ive been doing all of this with plugins in mind, so its very flexible. Well, this devlog is quite short, but… oh it doesn’t work… (well ill fix it when i have time) New item & block selectors I redid the Item selector, to make it easier to use, and program with, and I also removed the old block selector, seeing as it was literally the same class, but with some slightly different filtering… This release I’ve also decided that i should probably release this version in 2 releases, a3.0PRE , and a3.0 , because i haven’t released any versions in over 4 months."}, {"post_id": 58512, "ts": "2026-08-30T22:58:50Z", "hours": 5.2397, "text": "devlog 6 this time, i didn’t take 10 hours to do something! Yes, this devlog is only ~5 hours, not 10 lime usual, however, i did actually do something. More Resource work Now, you can actually use resources. You can select them in elements, and do things to them called “Resource tasks.” You execute them by right clicking them in the workspace view. You can also FINALLY select them for blocks and such. (hopefully the video works) General UI fixes Ive also fixed some other UI things, mainly being the icons for UI looking kinda crunchy… its very obvious with the social icons. The issue was with werid java scaling stuff… but its fixed now. I also changed the icon that the program uses from 1600x1600 to 1024x1024, because of some scaling artifacts. Also, I implemented some old, custom window icons, that i never figured out how to use."}, {"post_id": 54598, "ts": "2026-08-25T16:59:29Z", "hours": 10.1442, "text": "devlog 5 i kinda underestimated how long i was coding for yesterday I did more cleaning, and some more ui stuff. One of those was the social icons. I finally finished adding back all of the RElementValues , so now i can focus on other things. One of those other things was fixing some block texture related things, like fixing a random bug i introduced, aaand also making the block downloading 10x faster…. Block Downloading It was always annoying when trying to test bedrockR on other platforms, and i would have to sit through the block downloading… so i added a way to cancel it… but now i completely negated that problem; i multi-threaded it. Yea it actually seems like its 10x faster now, which is nice. RMapValue s rework Just like with RElementValue s, the class for RMapValue was huge… so now im doing the same thing with it; seperating it into different classes. So far, i dont have many reimplemented, but thats because i was doing something else; Resource UI Yes, im finally adding the new resource UI. I’ve started with remaking the resource tab, it looks pretty good so far, but i still need to do some work. Now im gonna continue resource stuff Changelog add resource gui in RWorkspace, and icons ( c7747e9 ) Bump gradle-wrapper from 9.7.0 to 9.7.1 ( 48bbd25 ) Bump com.google.guava:guava from 33.6.0-jre to 33.7.1-jre ( 6dd20bc ) make resources appear i think ( 4ad3140 ) fix layout ( 202dae9 ) move abstract resource classes to a new package, rename some resource functions, and add new resource category function ( c351bcc ) alright, i need to lock in, so now i actually need new resource ui ( 11154bb ) fix stuff with RMapElementValues and RElementValues + random code clean ( a9d82e7 ) fix top image, and make downloading 10x faster ( d03cc6a ) rename item components, and start readding map values ( 72c30f1 )"}, {"post_id": 44934, "ts": "2026-08-11T00:52:38Z", "hours": 9.5525, "text": "devlog 4 pssst, hey i have a slack channel if you want more dev things im not rewriting everything i said again, stardance utils deleted this whole thing, instead ill give you 1 sentence bullet points: i redid the recipe screen wow it was so bad redid launch page mmm smooth animation also did a bunch of random ass things that i cant explain cause they were mostly like 1 line of code being altered… also, stardance utils doesn’t edit this textbox correctly, so below should be the changelog v Changelog make this appear on the right screen ( 6d8b140 ) make the recipe creation screen better ( 0660edd ) make this smooth ( 52e32fb ) clean ( 8e86c27 ) fix the positioning ( 2c88991 ) Bump gradle-wrapper from 9.6.1 to 9.7.0 ( 928260d ) clean, make help button a class ( 2fc07dc ) make windows open on the current screen the mouse is on ( 23ee12f ) add more greetings, and make it a record ( 6bbee27 ) fix where windows open ( f33af46 )"}, {"post_id": 42146, "ts": "2026-08-06T19:10:23Z", "hours": 9.1933, "text": "devlog 3, this is why you write clean code early ok so the dreaded day has finally come… The largest class in this program, RElementValue is finally being cleaned up. It is the thing you see when changing your settings, or when editing ANY element… it automatically changes depending on the type of the variable its targeting… but the code i wrote for it was SO BAD! 🥀 3 giant if statements, checking through each possible implemented type, making the class over 1300+ lines long. However, I finally decided to redo the whole thing to continue my “code cleaning quest” So now different types get their own classes, e. g, strings get; REStringValue booleans get; REBoolValue (not actually implemented yet), etc. And as usual, this has NO effect on the user experience, which is… great to be putting so much effort into… but it has to be done before it gets to out of hand. (I promise im gonna start doing fun stuff soon 😅) This is why you write clean code from the start."}, {"post_id": 40173, "ts": "2026-08-03T16:04:12Z", "hours": 8.5211, "text": "devlog 2, again i kinda forgot to mention this… but im completely redoing the resource system…. oh wait i already did yea i thought i said this last devlog, but cleaned more code, and redid most of the program again. Resources instead of saving to one json file with the files, now save in a structured directory system, that you can see in the screenshot. (its actually a full workspace, but you get the idea.) Resources also are now their own classes, which makes it soooo much easier to add them… they are quite similar to how i programmed elements. Right now, you can’t convert older workspaces to these new resource system one, but thatll be worked on later. Time to do some ui! (also i did more code cleaning, and i renamed a ton of stuff)"}, {"post_id": 37960, "ts": "2026-07-31T00:48:37Z", "hours": 5.9425, "text": "devlog 1 Alright, I’m actually resuming normal development. I’M NOT MAKING THAT INSTALLER. I expect to be doing a bunch of code clean, now that I have even MORE experience with java. For release a2.2, I’m planning structures , but thats gonna take a bunch of work internally… because i’ll have to redo a bunch of stuff to make this program easier to work on. I also MIGHT continue on the android version. slack channel for more updates"}, {"post_id": 23586, "ts": "2026-07-06T17:02:00Z", "hours": 2.3186, "text": "Progress is going faster than before now that im using Rider now, I have made an API for getting the versions, instead of using the latest.json file in the github, and now im using it in the installer, and next hotfix i’ll use it for bedrockR updating. Oh and bedrockR 1.3.1 is finally out now… i guess i forgot to upload the release assets when i published it…"}, {"post_id": 22285, "ts": "2026-07-04T17:50:38Z", "hours": 0.6433, "text": "Im back to working on this, stopped using visual studio because it was horrible, now im using Jetbrains Rider. Ive implemented some methods to get releases from the github, so now im gonna implement them."}, {"post_id": 7015, "ts": "2026-06-11T19:27:00Z", "hours": 4.3383, "text": "it took a long time, but i finally figured out how to style the ui, and i recreated the bedrockR style. (the versions page will be fixed soon)"}, {"post_id": 107, "ts": "2026-05-31T19:30:56Z", "hours": 0.3497, "text": "I’ve been working on creating a bedrockR installer in C#, this will be cross-platform, and it will be released with each version, handling installing, and i also might add a way to run it without installing"}]...
|
Title: bedrockR by @xFN10x | Stardance
Devlogs:
I Title: bedrockR by @xFN10x | Stardance
Devlogs:
I’ve been working on creating a bedrockR installer in C#, this will be cross-platform, and it will be released with each version, handling installing, and i also might add a way to run it without installing
it took a long time, but i finally figured out how to style the ui, and i recreated the bedrockR style. (the versions page will be fixed soon)
Im back to working on this, stopped using visual studio because it was horrible, now im using Jetbrains Rider. Ive implemented some methods to get releases from the github, so now im gonna implement them.
Progress is going faster than before now that im using Rider now, I have made an API for getting the versions, instead of using the latest.json file in the github, and now im using it in the installer, and next hotfix i’ll use it for bedrockR updating. Oh and bedrockR 1.3.1 is finally out now… i guess i forgot to upload the release assets when i published it…
devlog 1 Alright, I’m actually resuming normal development. I’M NOT MAKING THAT INSTALLER. I expect to be doing a bunch of code clean, now that I have even MORE experience with java. For release a2.2, I’m planning structures , but thats gonna take a bunch of work internally… because i’ll have to redo a bunch of stuff to make this program easier to work on. I also MIGHT continue on the android version. slack channel for more updates
devlog 2, again i kinda forgot to mention this… but im completely redoing the resource system…. oh wait i already did yea i thought i said this last devlog, but cleaned more code, and redid most of the program again. Resources instead of saving to one json file with the files, now save in a structured directory system, that you can see in the screenshot. (its actually a full workspace, but you get the idea.) Resources also are now their own classes, which makes it soooo much easier to add them… they are quite similar to how i programmed elements. Right now, you can’t convert older workspaces to these new resource system one, but thatll be worked on later. Time to do some ui! (also i did more code cleaning, and i renamed a ton of stuff)
devlog 3, this is why you write clean code early ok so the dreaded day has finally come… The largest class in this program, RElementValue is finally being cleaned up. It is the thing you see when changing your settings, or when editing ANY element… it automatically changes depending on the type of the variable its targeting… but the code i wrote for it was SO BAD! 🥀 3 giant if statements, checking through each possible implemented type, making the class over 1300+ lines long. However, I finally decided to redo the whole thing to continue my “code cleaning quest” So now different types get their own classes, e. g, strings get; REStringValue booleans get; REBoolValue (not actually implemented yet), etc. And as usual, this has NO effect on the user experience, which is… great to be putting so much effort into… but it has to be done before it gets to out of hand. (I promise im gonna start doing fun stuff soon 😅) This is why you write clean code from the start.
devlog 4 pssst, hey i have a slack channel if you want more dev things im not rewriting everything i said again, stardance utils deleted this whole thing, instead ill give you 1 sentence bullet points: i redid the recipe screen wow it was so bad redid launch page mmm smooth animation also did a bunch of random ass things that i cant explain cause they were mostly like 1 line of code being altered… also, stardance utils doesn’t edit this textbox correctly, so below should be the changelog v Changelog make this appear on the right screen ( 6d8b140 ) make the recipe creation screen better ( 0660edd ) make this smooth ( 52e32fb ) clean ( 8e86c27 ) fix the positioning ( 2c88991 ) Bump gradle-wrapper from 9.6.1 to 9.7.0 ( 928260d ) clean, make help button a class ( 2fc07dc ) make windows open on the current screen the mouse is on ( 23ee12f ) add more greetings, and make it a record ( 6bbee27 ) fix where windows open ( f33af46 )
devlog 5 i kinda underestimated how long i was coding for yesterday I did more cleaning, and some more ui stuff. One of those was the social icons. I finally finished adding back all of the RElementValues , so now i can focus on other things. One of those other things was fixing some block texture related things, like fixing a random bug i introduced, aaand also making the block downloading 10x faster…. Block Downloading It was always annoying when trying to test bedrockR on other platforms, and i would have to sit through the block downloading… so i added a way to cancel it… but now i completely negated that problem; i multi-threaded it. Yea it actually seems like its 10x faster now, which is nice. RMapValue s rework Just like with RElementValue s, the class for RMapValue was huge… so now im doing the same thing with it; seperating it into different classes. So far, i dont have many reimplemented, but thats because i was doing something else; Resource UI Yes, im finally adding the new resource UI. I’ve started with remaking the resource tab, it looks pretty good so far, but i still need to do some work. Now im gonna continue resource stuff Changelog add resource gui in RWorkspace, and icons ( c7747e9 ) Bump gradle-wrapper from 9.7.0 to 9.7.1 ( 48bbd25 ) Bump com.google.guava:guava from 33.6.0-jre to 33.7.1-jre ( 6dd20bc ) make resources appear i think ( 4ad3140 ) fix layout ( 202dae9 ) move abstract resource classes to a new package, rename some resource functions, and add new resource category function ( c351bcc ) alright, i need to lock in, so now i actually need new resource ui ( 11154bb ) fix stuff with RMapElementValues and RElementValues + random code clean ( a9d82e7 ) fix top image, and make downloading 10x faster ( d03cc6a ) rename item components, and start readding map values ( 72c30f1 )
devlog 6 this time, i didn’t take 10 hours to do something! Yes, this devlog is only ~5 hours, not 10 lime usual, however, i did actually do something. More Resource work Now, you can actually use resources. You can select them in elements, and do things to them called “Resource tasks.” You execute them by right clicking them in the workspace view. You can also FINALLY select them for blocks and such. (hopefully the video works) General UI fixes Ive also fixed some other UI things, mainly being the icons for UI looking kinda crunchy… its very obvious with the social icons. The issue was with werid java scaling stuff… but its fixed now. I also changed the icon that the program uses from 1600x1600 to 1024x1024, because of some scaling artifacts. Also, I implemented some old, custom window icons, that i never figured out how to use.
devlog 7 I wasn’t planning on making this… but seeing as im going to highschool for the first time in 30 minutes , uhhh… i think i should make this. Resource Building I finally started implementing resource building. Ive been doing all of this with plugins in mind, so its very flexible. Well, this devlog is quite short, but… oh it doesn’t work… (well ill fix it when i have time) New item & block selectors I redid the Item selector, to make it easier to use, and program with, and I also removed the old block selector, seeing as it was literally the same class, but with some slightly different filtering… This release I’ve also decided that i should probably release this version in 2 releases, a3.0PRE , and a3.0 , because i haven’t released any versions in over 4 months.
devlog 8 It’s time… Yes, I’m finally shipping a3.0PRE. I thought i would have more time to release the whole version at once, but a new YSWS is starting today, and i haven’t released a bedrockR version in quite a while. Resource Building (again) I did fix the resources, so now they do build properly, but there are some weird bugs that i have no idea where to even start with… this is why i made a known issues file on the github, because im hoping i can narrow down what might be causing this. What to expect from this release This release is about 50% of the work that will be in a3.0, the release is lacking quite a few important things that the final release will have. Mainly workspace upgrading, new UI features, and more network features. You almost certainly WILL find bugs, I NEED these reported , I don’t want an a2.0.2 situation again, where the whole program was found to be broken AFTER I shipped. . Anyways, this might very well be the last of me on Stardance , thank you for following my code optimization journey, and I hope you enjoy bedrockR!
Ships:
I am shipping bedrockR a3.0PRE, a pre-release to the next major alpha version a3.0. bedrockR has been my main project for about a year now, starting it in Summer Of Making last year. This is the first bedrockR pre-release, you will most likely find bugs. Please report them here Please also read https://github.com/xFN10x/bedrockR/blob/master/a3PRE-known-issues.md to make sure you aren’t reporting already known issues....
|
1793004645.19799
|
1793091045.19799
|
|
349
|
Stardance Orbit by @keerthi | Stardance
|
keerthi
|
1
|
26.0
|
423
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T14:40:40Z", "hours": 26.0, "multiplier": 16.65, "payout": 423, "blessing": "neutral", "text": "This is a extention that improves the overall UI/UX of the stardance site to make it more easy for users to access. I had to learn scrapping a lottt before writing this.. but was pretty fun ngl.", "repo": "https://github.com/keerthi-officials/stardance-orbit", "demo": "https://github.com/keerthi-officials/stardance-orbit/releases/"}]...
|
[{"post_id": 4214, "ts": "2026 [{"post_id": 4214, "ts": "2026-06-07T13:30:26Z", "hours": 1.06, "text": "added tabs in home page to switch between following people’s devlogs, my devlogs and everyone devlogs"}, {"post_id": 4106, "ts": "2026-06-07T09:26:47Z", "hours": 0.8575, "text": "added readme file with all the features i have added in this extension & installation guide along with sm notes for better understanding of the extension"}, {"post_id": 4065, "ts": "2026-06-07T07:47:45Z", "hours": 0.4497, "text": "make the styles work for every light theme. previously the styles only worked for the catppuccin-latte light theme.. now the styles work for every light theme. added option to show light mode styles in custom themes depends on user!"}, {"post_id": 4023, "ts": "2026-06-07T06:12:21Z", "hours": 0.4872, "text": "added rearrangeable items in wishlist. also increase the quantity of each item (max 30)"}, {"post_id": 3675, "ts": "2026-06-06T18:42:18Z", "hours": 1.8106, "text": "added custom themes and fonts in the popup now you can customize what theme you want the stardance site to look like and what choose font u would like to use from 20+ fonts added 4 new themes too:- dark-plus, pastel, neon & high-contrast. also added auto saving drafts so that even if u reload the tab. what you have typed wont go away!"}, {"post_id": 3588, "ts": "2026-06-06T16:16:18Z", "hours": 1.1703, "text": "added quick-search, using Ctrl+K open a command menu where u can open pages/your projects with ease. you can also search up any project, any person and any post in the whole stardance site!"}, {"post_id": 3535, "ts": "2026-06-06T14:54:05Z", "hours": 0.2894, "text": "added overlay for shortcuts.."}, {"post_id": 3512, "ts": "2026-06-06T14:20:43Z", "hours": 1.3831, "text": "added the following shortcuts Home - alt + h Rate - alt + v Missions - alt + m Shop - alt + d Resources - alt + e Projects - alt + p Project 1 (what ever is the first project that comes in A-Z order) - alt + 1 Project 2 - alt + 2"}, {"post_id": 3442, "ts": "2026-06-06T11:50:35Z", "hours": 0.905, "text": "options to customize projects tab: grid and list alignment sort by: last updated, most devlogs, most hours, a-z"}, {"post_id": 3407, "ts": "2026-06-06T10:09:22Z", "hours": 0.7833, "text": "added number of words count and estimated time to read devlog. added collapse devlog option where user can collapse devlog so they can scroll thru feed section faster."}, {"post_id": 3384, "ts": "2026-06-06T08:56:05Z", "hours": 0.4122, "text": "added focus mode, which disables everything that might be distracting so u can write all ur ideas into the devlog!"}, {"post_id": 3215, "ts": "2026-06-06T01:20:25Z", "hours": 0.6861, "text": "what i added: pre-made devlog templates to type faster.. templates added: how it works: click on the dropdown that is placed above the post button and you will have 5 options to chose from. note: this devlog was also written with the help of a template"}, {"post_id": 2816, "ts": "2026-06-05T17:17:41Z", "hours": 0.8397, "text": "fixed sm bugs: in shop when u close a wishlisted item the shop item card still is activated. couldn’t figure it out first but it seems the problem was cuz i didnt update localstorage.. matched both the states now it works properly. also did sm button color fixes"}, {"post_id": 2780, "ts": "2026-06-05T16:10:55Z", "hours": 0.4817, "text": "added inline edit devlogs instead of redirecting to another page. heavily inspired by stardance-utils!"}, {"post_id": 2740, "ts": "2026-06-05T14:39:00Z", "hours": 1.3256, "text": "added light theme.. for who ever crazy enough to deal with that level of brightness.."}, {"post_id": 2695, "ts": "2026-06-05T12:04:47Z", "hours": 1.49, "text": "added a new theme called rose-pine.. also option to change between themes. changes applies almost instantly"}, {"post_id": 2056, "ts": "2026-06-04T11:02:30Z", "hours": 0.4669, "text": "improved time for extention to load and fixed looping issue. also added readme for better understanding of the extension"}, {"post_id": 2036, "ts": "2026-06-04T10:07:03Z", "hours": 0.7872, "text": "made the card ui better by disabling button if u dont get enough coins.. also removed that weird white color and replaced it with similar color to the bg"}, {"post_id": 2008, "ts": "2026-06-04T09:04:59Z", "hours": 0.8219, "text": "added the stardust prediction feature to the goals section in shop. also added cumulative and individual tabs for better understanding.."}, {"post_id": 1927, "ts": "2026-06-04T05:05:52Z", "hours": 1.5578, "text": "added stardust prediction to every project show page"}, {"post_id": 1465, "ts": "2026-06-03T14:53:01Z", "hours": 0.5347, "text": "in the shop page when ever you try to remove a wishlisted item by clicking on the x option it redirects to another page “/wishlist/:id”. i removed the redirecting and made the page only reload to show the change. i also added proper staring logic so that the wishlist gets updated in real-time i also added nice animation to turn the star yellow if its wishlisted and black if it isnt wishlisted"}, {"post_id": 1438, "ts": "2026-06-03T14:03:55Z", "hours": 1.3244, "text": "added goal items to shop page now by clicking on the star option you can see the progress u made to buy the item. todo: add predicting depending on how many hours done."}, {"post_id": 1367, "ts": "2026-06-03T11:12:58Z", "hours": 0.6736, "text": "added a progress bar to track how much more coins u need for that specific item. added this to all the shop items.. will update automatically when u get stardust"}, {"post_id": 743, "ts": "2026-06-02T11:32:32Z", "hours": 0.7617, "text": "added devlog inline… doesn’t work atm just a placeholder"}, {"post_id": 663, "ts": "2026-06-02T06:27:29Z", "hours": 1.5389, "text": "remove buttons and moved ship button. also by depending on turbo the changes made by this extention will apply way faster."}, {"post_id": 233, "ts": "2026-06-01T11:09:15Z", "hours": 0.5172, "text": "added better ui for the categories section in shop page…"}, {"post_id": 223, "ts": "2026-06-01T10:22:48Z", "hours": 2.1542, "text": "Created a basic extension using plasma. After experimenting a lot i made the shop page better. here are all the updates: i changed the layout of the shop updates orders and waitlist. moved them downwards to make it look better. updated the cards of shop items.. it was a test i made with ai, il update it soon and bring it back to normal.. i have also fixed the arrow keys in the new section of the shop page. made a button called order to redirect to a different page"}]...
|
Title: Stardance Orbit by @keerthi | Stardance
De Title: Stardance Orbit by @keerthi | Stardance
Devlogs:
Created a basic extension using plasma. After experimenting a lot i made the shop page better. here are all the updates: i changed the layout of the shop updates orders and waitlist. moved them downwards to make it look better. updated the cards of shop items.. it was a test i made with ai, il update it soon and bring it back to normal.. i have also fixed the arrow keys in the new section of the shop page. made a button called order to redirect to a different page
added better ui for the categories section in shop page…
remove buttons and moved ship button. also by depending on turbo the changes made by this extention will apply way faster.
added devlog inline… doesn’t work atm just a placeholder
added a progress bar to track how much more coins u need for that specific item. added this to all the shop items.. will update automatically when u get stardust
added goal items to shop page now by clicking on the star option you can see the progress u made to buy the item. todo: add predicting depending on how many hours done.
in the shop page when ever you try to remove a wishlisted item by clicking on the x option it redirects to another page “/wishlist/:id”. i removed the redirecting and made the page only reload to show the change. i also added proper staring logic so that the wishlist gets updated in real-time i also added nice animation to turn the star yellow if its wishlisted and black if it isnt wishlisted
added stardust prediction to every project show page
added the stardust prediction feature to the goals section in shop. also added cumulative and individual tabs for better understanding..
made the card ui better by disabling button if u dont get enough coins.. also removed that weird white color and replaced it with similar color to the bg
improved time for extention to load and fixed looping issue. also added readme for better understanding of the extension
added a new theme called rose-pine.. also option to change between themes. changes applies almost instantly
added light theme.. for who ever crazy enough to deal with that level of brightness..
added inline edit devlogs instead of redirecting to another page. heavily inspired by stardance-utils!
fixed sm bugs: in shop when u close a wishlisted item the shop item card still is activated. couldn’t figure it out first but it seems the problem was cuz i didnt update localstorage.. matched both the states now it works properly. also did sm button color fixes
what i added: pre-made devlog templates to type faster.. templates added: how it works: click on the dropdown that is placed above the post button and you will have 5 options to chose from. note: this devlog was also written with the help of a template
added focus mode, which disables everything that might be distracting so u can write all ur ideas into the devlog!
added number of words count and estimated time to read devlog. added collapse devlog option where user can collapse devlog so they can scroll thru feed section faster.
options to customize projects tab: grid and list alignment sort by: last updated, most devlogs, most hours, a-z
added the following shortcuts Home - alt + h Rate - alt + v Missions - alt + m Shop - alt + d Resources - alt + e Projects - alt + p Project 1 (what ever is the first project that comes in A-Z order) - alt + 1 Project 2 - alt + 2
added overlay for shortcuts..
added quick-search, using Ctrl+K open a command menu where u can open pages/your projects with ease. you can also search up any project, any person and any post in the whole stardance site!
added custom themes and fonts in the popup now you can customize what theme you want the stardance site to look like and what choose font u would like to use from 20+ fonts added 4 new themes too:- dark-plus, pastel, neon & high-contrast. also added auto saving drafts so that even if u reload the tab. what you have typed wont go away!
added rearrangeable items in wishlist. also increase the quantity of each item (max 30)
make the styles work for every light theme. previously the styles only worked for the catppuccin-latte light theme.. now the styles work for every light theme. added option to show light mode styles in custom themes depends on user!
added readme file with all the features i have added in this extension & installation guide along with sm notes for better understanding of the extension
added tabs in home page to switch between following people’s devlogs, my devlogs and everyone devlogs
Ships:
This is a extention that improves the overall UI/UX of the stardance site to make it more easy for users to access. I had to learn scrapping a lottt before writing this.. but was pretty fun ngl....
|
1793000921.0582137
|
1793087321.0582137
|
|
358
|
Aesis by @Shiven | Stardance
|
Shiven
|
1
|
6.0
|
14
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-06T21:32:32Z", "hours": 6.0, "multiplier": 2.57, "payout": 14, "blessing": "neutral", "text": "Have you ever wanted to know what you were supposed to do?? Well well well! you are one LUCKY ducky *quak quak* welcome to aesis guys its an all you can eat buffet but instead of eating your being producting and writing down ALL YOU NEED TO DO DURING THE DAY ever wanted to time yourself doing things?? well we have that ever wanted to tell your friends that you use a POMODORO timer and sound cool?? well we have that too!! BUT WAIT - theres more ;) you can note down your tasks and organize them automatically!! you can also close out of it and it will stay with you in the menu bar! wahoo", "repo": "https://github.com/ShivenKhurana1/Aesis", "demo": "https://github.com/ShivenKhurana1/Aesis/releases/tag/v0.0.1"}]...
|
[{"post_id": 2486, "ts": "2026 [{"post_id": 2486, "ts": "2026-06-05T00:18:17Z", "hours": 2.0, "text": "this is just some like stuff about the project so far.. features: The first feature is that you can make tasks arranged by priority (high/med/low), as well as categories that are color associated (srry colorblinders). I looked at a lot of other projects before deciding to implement this, in which i developed a capacity meter which I thought was genius way to not overload the day! You can also view your tasks in various ways (not tryna get too technical with the devlogs btw) Hey, who doesnt love goals man. well now track em with progress sliders + rings, deadlines, color-coded status badges, and a stats sidebar. Added a focus timer for tasks (like a pomodoro as well) A streak calendar was also added (just a small feature right now, gonna expand later) Memos are thing yk… just quick notes basicially There is a journal feature for a markdown editor. so now you can write a journal for each day, and make it look fancy schmancy! when you open the app it gets added to the system tray. (prolly gonna expand this too) Dark/Light mode (pretty self explanatory ngl) Keyboard shortcuts (same here) bugs/issues along the way: stray “ after the Journal nav missing closing } on the @media (min-width:2000px) block the add task form doesn’t reset properly when closed without submitting (priority pills and desc field stay dirty) things to note (for me) no way to export your data since it’s all in localStorage also lowk some text clippage in the screenshot, how am i just now noticing this bro"}, {"post_id": 601, "ts": "2026-06-02T03:02:22Z", "hours": 3.0, "text": "worked on an html script as like a starting point for the app and then shifted into building the actual app. i decided to use tauri for this one as the main focus is for it to be a macos app!"}]...
|
Title: Aesis by @Shiven | Stardance
Devlogs:
work Title: Aesis by @Shiven | Stardance
Devlogs:
worked on an html script as like a starting point for the app and then shifted into building the actual app. i decided to use tauri for this one as the main focus is for it to be a macos app!
this is just some like stuff about the project so far.. features: The first feature is that you can make tasks arranged by priority (high/med/low), as well as categories that are color associated (srry colorblinders). I looked at a lot of other projects before deciding to implement this, in which i developed a capacity meter which I thought was genius way to not overload the day! You can also view your tasks in various ways (not tryna get too technical with the devlogs btw) Hey, who doesnt love goals man. well now track em with progress sliders + rings, deadlines, color-coded status badges, and a stats sidebar. Added a focus timer for tasks (like a pomodoro as well) A streak calendar was also added (just a small feature right now, gonna expand later) Memos are thing yk… just quick notes basicially There is a journal feature for a markdown editor. so now you can write a journal for each day, and make it look fancy schmancy! when you open the app it gets added to the system tray. (prolly gonna expand this too) Dark/Light mode (pretty self explanatory ngl) Keyboard shortcuts (same here) bugs/issues along the way: stray “ after the Journal nav missing closing } on the @media (min-width:2000px) block the add task form doesn’t reset properly when closed without submitting (priority pills and desc field stay dirty) things to note (for me) no way to export your data since it’s all in localStorage also lowk some text clippage in the screenshot, how am i just now noticing this bro
Ships:
Have you ever wanted to know what you were supposed to do?? Well well well! you are one LUCKY ducky *quak quak* welcome to aesis guys its an all you can eat buffet but instead of eating your being producting and writing down ALL YOU NEED TO DO DURING THE DAY ever wanted to time yourself doing things?? well we have that ever wanted to tell your friends that you use a POMODORO timer and sound cool?? well we have that too!! BUT WAIT - theres more ;) you can note down your tasks and organize them automatically!! you can also close out of it and it will stay with you in the menu bar! wahoo...
|
1792878831.0783093
|
1793742831.0783093
|
|
362
|
My profile by @mr_aditya | Stardance
|
mr_aditya
|
1
|
9.19
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T19:17:20Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my first real website which I am going to deploy/ship. I made this website so in future when I make new things or get something new I will link that to that, more likely this website is my profile. Nothing else any doubt or have new project contact me!", "repo": "https://github.com/adi-1001/Personal-Website", "demo": "https://adi-1001.vercel.app/"}]...
|
[{"post_id": 64966, "ts": "202 [{"post_id": 64966, "ts": "2026-09-09T18:23:09Z", "hours": 2.1872, "text": "Rewrite the code now. It should be good, the main problem was javascript but now I tweak it little bit it is good."}, {"post_id": 62400, "ts": "2026-09-05T18:57:11Z", "hours": 3.5333, "text": "Finally the comment box is ready and also I edit the website a little bit , structure it well and add animation into there was a bug where the custom mouse pointer was going far away upon hovering but now it is fixed. I use AI help in some part of animation but now it is pretty good. Check the website out!!"}, {"post_id": 61669, "ts": "2026-09-04T18:17:27Z", "hours": 3.3053, "text": "Website is setup now I am trying to a add feedback system so I can Improve it more and get more ideas also its like new to me this feature."}]...
|
Title: My profile by @mr_aditya | Stardance
Devlo Title: My profile by @mr_aditya | Stardance
Devlogs:
Website is setup now I am trying to a add feedback system so I can Improve it more and get more ideas also its like new to me this feature.
Finally the comment box is ready and also I edit the website a little bit , structure it well and add animation into there was a bug where the custom mouse pointer was going far away upon hovering but now it is fixed. I use AI help in some part of animation but now it is pretty good. Check the website out!!
Rewrite the code now. It should be good, the main problem was javascript but now I tweak it little bit it is good.
Ships:
This is my first real website which I am going to deploy/ship. I made this website so in future when I make new things or get something new I will link that to that, more likely this website is my profile. Nothing else any doubt or have new project contact me!...
|
1792993881.8358977
|
1793080281.8358977
|
|
369
|
Macro | Self hosting for beginners! by @sudo | Sta Macro | Self hosting for beginners! by @sudo | Stardance...
|
sudo
|
1
|
74.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T21:15:58Z", "hours": 74.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I got to admit, I did get kind of lazy in the end when I used AI to finish it, but I thought it was a cool project.", "repo": "https://github.com/blueprintnerd/Macro", "demo": "https://github.com/blueprintnerd/Macro/releases"}]...
|
[{"post_id": 19504, "ts": "202 [{"post_id": 19504, "ts": "2026-06-30T20:36:00Z", "hours": 0.4108, "text": "finished. shipping"}, {"post_id": 19272, "ts": "2026-06-30T15:18:17Z", "hours": 14.9336, "text": "Finally almost finished. It’s june 30th, and new month new project so I’m going to put this project on hold and work on my other one. I designed a new logo for Macro, but I need to refine it (Currently kind of chopped)"}, {"post_id": 14790, "ts": "2026-06-24T01:01:33Z", "hours": 8.1036, "text": "I finished with the setup for my app. it took forever, but here’s what i did: First, you enter an IP address (to manage another comptuer). I’ve made the app automatically scan all of the computer’s ports to find the ports that Macro are on. For the setup, I’ve basically implemented changed the entire thing. it installs prerequisites, and then after that, you add your filepaths, choose a search backend, and then it automatically create a background process"}, {"post_id": 13387, "ts": "2026-06-21T22:41:40Z", "hours": 10.4611, "text": "I deleted everything and started over. I used Gemini CLI once and then it’s like the first time you use AI it starts snowballing. I got rid of everything and I started by focusing on the setup. I proudly spent 5 hours working on a welcome screen. I used a textual UI, which was somewhat easy y implement. The hard part was implementing the connections to the server. I created a somewhat user friendly UI and I unified everything into one platform. The manager is now used to manage macro servers and create one, and all of the clients are now web hosted"}, {"post_id": 11003, "ts": "2026-06-18T00:57:40Z", "hours": 10.2319, "text": "Today I implemented a new website and Ive restructured the entire thing to be half web based so you don’t have to only have another laptop to use it. I was going to test it but I’ll have to make time for it. as it turns out there is a huge difference between the iPad Pro and base iPad, so my browser froze as soon as I tried opening live preview. I’ll do all this again tomorrow lol ✌️"}, {"post_id": 7121, "ts": "2026-06-11T22:02:41Z", "hours": 5.0997, "text": "I learned I was nowhere near done at all. I basically need to switch the UI library to be compatible with the system I’m using, and I still have to write the clients for the server. I only have one app that’s halfway done, and that’s the music client. I still have a lot to do, along with that, Google is going to discontinue firebase spark for no reason except that anytime they realize that users like an app, they either discontinue it or make it worse with ads"}, {"post_id": 6525, "ts": "2026-06-10T23:35:44Z", "hours": 5.0561, "text": "Ididntget much done because my laptop was broken and I didn’t have a way to test my apps in firebase studio but i a tried to add an authentication system that uses the client API to automatically authenticate users"}, {"post_id": 6125, "ts": "2026-06-10T09:30:54Z", "hours": 2.2461, "text": "So I kind of broke my only laptop but it’s all chill because I have an iPad."}, {"post_id": 5628, "ts": "2026-06-09T14:36:19Z", "hours": 4.1578, "text": "I started working on the music client (there are 4) and I decided to go with a unconventional architecture for this one this time. Instead of having the now playing screen link with the app like a normal person, I have a API to handle it. I have multiple endpoints to play/pause/otherwise control music and the API can provide the song progress and name. As you can see, the UI is quite ugly. I’ll have to start theming the screens today"}, {"post_id": 4227, "ts": "2026-06-07T13:53:12Z", "hours": 5.3772, "text": "I created a basic client to test out the API with, I don’t mean for it to ship with this client. I’m just doing it. I’ve decided on a file numbering system, where each file gets its own number. if a file is deleted, it’s number is kept and marked as deleted until a file with the same metadata returns. I got some errors when I was going to screenshot my code, but since I don’t work on sundays, I can’t fix it until monday. I got rid of the splash screen because I realized people don’t want to see it."}, {"post_id": 2672, "ts": "2026-06-05T10:51:00Z", "hours": 6.9425, "text": "I’m creating a free plex alternative. I’ve always wanted to get into self hosting and stuff, and now that stardance is starting, now is my chance to create my app and ditch streaming like I’ve wanted to do. I’m thinking like one app can be photos, another for videos, one for music, and one for storage. it sounds like a good idea in theory but it might be hard to implement. Anyway, with flavortown I had good project ideas but the implementation and design weren’t all there, so this time around I’m going to focus only on that. This will likely be my only project this time around so I’m going to make it my best one. I haven’t got much done, because I’ve been studying topics and stuff but here I have the setup screen. I’m taking inspiration from Google’s material design 3 for the aesthetic."}, {"post_id": 332, "ts": "2026-06-01T17:05:33Z", "hours": 1.0647, "text": "I designed a splash screen for my app’s server counterpart"}]...
|
Title: Macro | Self hosting for beginners! by @sud Title: Macro | Self hosting for beginners! by @sudo | Stardance
Devlogs:
I designed a splash screen for my app’s server counterpart
I’m creating a free plex alternative. I’ve always wanted to get into self hosting and stuff, and now that stardance is starting, now is my chance to create my app and ditch streaming like I’ve wanted to do. I’m thinking like one app can be photos, another for videos, one for music, and one for storage. it sounds like a good idea in theory but it might be hard to implement. Anyway, with flavortown I had good project ideas but the implementation and design weren’t all there, so this time around I’m going to focus only on that. This will likely be my only project this time around so I’m going to make it my best one. I haven’t got much done, because I’ve been studying topics and stuff but here I have the setup screen. I’m taking inspiration from Google’s material design 3 for the aesthetic.
I created a basic client to test out the API with, I don’t mean for it to ship with this client. I’m just doing it. I’ve decided on a file numbering system, where each file gets its own number. if a file is deleted, it’s number is kept and marked as deleted until a file with the same metadata returns. I got some errors when I was going to screenshot my code, but since I don’t work on sundays, I can’t fix it until monday. I got rid of the splash screen because I realized people don’t want to see it.
I started working on the music client (there are 4) and I decided to go with a unconventional architecture for this one this time. Instead of having the now playing screen link with the app like a normal person, I have a API to handle it. I have multiple endpoints to play/pause/otherwise control music and the API can provide the song progress and name. As you can see, the UI is quite ugly. I’ll have to start theming the screens today
So I kind of broke my only laptop but it’s all chill because I have an iPad.
Ididntget much done because my laptop was broken and I didn’t have a way to test my apps in firebase studio but i a tried to add an authentication system that uses the client API to automatically authenticate users
I learned I was nowhere near done at all. I basically need to switch the UI library to be compatible with the system I’m using, and I still have to write the clients for the server. I only have one app that’s halfway done, and that’s the music client. I still have a lot to do, along with that, Google is going to discontinue firebase spark for no reason except that anytime they realize that users like an app, they either discontinue it or make it worse with ads
Today I implemented a new website and Ive restructured the entire thing to be half web based so you don’t have to only have another laptop to use it. I was going to test it but I’ll have to make time for it. as it turns out there is a huge difference between the iPad Pro and base iPad, so my browser froze as soon as I tried opening live preview. I’ll do all this again tomorrow lol ✌️
I deleted everything and started over. I used Gemini CLI once and then it’s like the first time you use AI it starts snowballing. I got rid of everything and I started by focusing on the setup. I proudly spent 5 hours working on a welcome screen. I used a textual UI, which was somewhat easy y implement. The hard part was implementing the connections to the server. I created a somewhat user friendly UI and I unified everything into one platform. The manager is now used to manage macro servers and create one, and all of the clients are now web hosted
I finished with the setup for my app. it took forever, but here’s what i did: First, you enter an IP address (to manage another comptuer). I’ve made the app automatically scan all of the computer’s ports to find the ports that Macro are on. For the setup, I’ve basically implemented changed the entire thing. it installs prerequisites, and then after that, you add your filepaths, choose a search backend, and then it automatically create a background process
Finally almost finished. It’s june 30th, and new month new project so I’m going to put this project on hold and work on my other one. I designed a new logo for Macro, but I need to refine it (Currently kind of chopped)
finished. shipping
Ships:
I got to admit, I did get kind of lazy in the end when I used AI to finish it, but I thought it was a cool project....
|
1793000878.6084008
|
1793087278.6084008
|
|
376
|
Domain Info by @Sander | Stardance
|
Sander
|
1
|
1.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-05-31T17:12:11Z", "hours": 1.0, "multiplier": 1.19, "payout": 2, "blessing": "neutral", "text": "I’ve created a basic website that shows some info about a domain. The hardest thing was getting this to work with vercel, but i’ve used some AI to make it work flawless.", "repo": "https://github.com/sanderhd/domain-info", "demo": "https://domain.sander.tf/"}]...
|
[{"post_id": 59, "ts": "2026-0 [{"post_id": 59, "ts": "2026-05-31T15:32:13Z", "hours": 0.7642, "text": "I’ve added styling and some more data that gets show, like DNS records, and country."}, {"post_id": 50, "ts": "2026-05-31T14:26:38Z", "hours": 0.5778, "text": "I’ve been working on the back end side, it is very basic right now, but will be improved!"}]...
|
Title: Domain Info by @Sander | Stardance
Devlogs Title: Domain Info by @Sander | Stardance
Devlogs:
I’ve been working on the back end side, it is very basic right now, but will be improved!
I’ve added styling and some more data that gets show, like DNS records, and country.
Ships:
I’ve created a basic website that shows some info about a domain. The hardest thing was getting this to work with vercel, but i’ve used some AI to make it work flawless....
|
1792997440.7621772
|
1793083840.7621772
|
|
387
|
InfinityAI by @srinivasa07 | Stardance
|
srinivasa07
|
1
|
28.56
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T22:37:13Z", "hours": 28.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made InfinityAI, a website where you can log in and talk to an AI. It can remember things, upload files, help with code, use voice buttons, make AI agents, and make workflows. The hard part was making all the buttons and pages work together. To test it, make an account, chat, upload a file, save a memory, and try Jarvis.", "repo": "https://github.com/srinivasagudi0/InfinityAI--Intel", "demo": "https://infinityai-intel.vercel.app"}]...
|
[{"post_id": 33594, "ts": "202 [{"post_id": 33594, "ts": "2026-07-23T17:17:36Z", "hours": 0.5647, "text": "Finishing off"}, {"post_id": 22457, "ts": "2026-07-04T22:33:49Z", "hours": 28.2506, "text": "Forgot to devlog, sorry! But anyways, I built InfinityAI into a simple web app. I added: Login and signup Chat File uploads Memory Code help Voice buttons AI agents Workflows Jarvis Render hosting setup I also fixed the page tabs and UI bugs."}]...
|
Title: InfinityAI by @srinivasa07 | Stardance
Dev Title: InfinityAI by @srinivasa07 | Stardance
Devlogs:
Forgot to devlog, sorry! But anyways, I built InfinityAI into a simple web app. I added: Login and signup Chat File uploads Memory Code help Voice buttons AI agents Workflows Jarvis Render hosting setup I also fixed the page tabs and UI bugs.
Finishing off
Ships:
I made InfinityAI, a website where you can log in and talk to an AI. It can remember things, upload files, help with code, use voice buttons, make AI agents, and make workflows. The hard part was making all the buttons and pages work together. To test it, make an account, chat, upload a file, save a memory, and try Jarvis....
|
1792878549.1240633
|
1793742549.1240633
|
|
400
|
Stardance! (yes, this site) by @AVD | Stardance
|
AVD
|
1
|
46.44
|
42
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-01T17:19:26Z", "hours": 3.0, "multiplier": 13.72, "payout": 42, "blessing": "neutral", "text": "I added to the ship post modal, and supported uploading images on ship event!", "repo": "https://github.com/hackclub/stardance", "demo": "https://stardance.hackclub.com"}]...
|
[{"post_id": 26166, "ts": "202 [{"post_id": 26166, "ts": "2026-07-10T20:10:16Z", "hours": 39.34, "text": "Ohh i forgot to devlog 😢 Did some YSWS Things. added gambling (kinda) and did some fraud prevention"}, {"post_id": 1611, "ts": "2026-06-03T19:03:10Z", "hours": 4.0956, "text": "I added git commit graphs to the review page! + I also added video functionality for ship certifications!"}, {"post_id": 339, "ts": "2026-06-01T17:19:05Z", "hours": 0.7122, "text": "I finished that up!"}, {"post_id": 120, "ts": "2026-05-31T20:55:25Z", "hours": 2.3506, "text": "Today I worked on adding screenshots to Ship posts!"}]...
|
Title: Stardance! (yes, this site) by @AVD | Stard Title: Stardance! (yes, this site) by @AVD | Stardance
Devlogs:
Today I worked on adding screenshots to Ship posts!
I finished that up!
I added git commit graphs to the review page! + I also added video functionality for ship certifications!
Ohh i forgot to devlog 😢 Did some YSWS Things. added gambling (kinda) and did some fraud prevention
Ships:
I added to the ship post modal, and supported uploading images on ship event!...
|
1792972097.801472
|
1793058497.801472
|
|
406
|
MemeBoard by @tonymac129 | Stardance
|
tonymac129
|
1
|
55.0
|
994
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T22:02:36Z", "hours": 55.0, "multiplier": 18.15, "payout": 994, "blessing": "neutral", "text": "I finally finished making MemeBoard after periodically working on it over the past 3 months! MemeBoard is an accessible and easy to use fullstack online social platform for posting, sharing, and exploring all kinds of memes. There are many different post interaction features such as voting, commenting, saving, reacting, and sharing, it’s essentially a simple Reddit clone that’s exclusively for memes. You can browse, filter, and search through memes easily by choosing different sorting options and exploring the different tags and collections. It also has social features like following users and customizing your profile, as well as a full-featured realtime chat (mini Discord clone) where you can send content and chat with your friends or interact with MemeBot (which is not an LLM, it’s just a random thing I thought was fun to implement)! The entire website is also fully responsive and functional on all screen sizes with smooth loading and transition animations, and you can toggle between dark and light modes. I got bored of the project halfway through it to work on other stuff, but I ended up coming back more than a month later to finally finish everything and polish it to ship, and the final result is definitely very satisfying and rewarding for me, hopefully you’ll like it :)", "repo": "https://github.com/tonymac129/memeboard", "demo": "https://memeboard-app.vercel.app"}]...
|
[{"post_id": 63210, "ts": "202 [{"post_id": 63210, "ts": "2026-09-06T21:49:05Z", "hours": 1.5575, "text": "Final MemeBoard devlog! I finally finished MemeBoard after working on it over the past 3 months! I’ve implemented all the features I originally planned to make, as well as added a ton of other stuff to make the project interesting and fun to use I mostly just polished the project in this update, so there isn’t actually anything new other than the simple “m” logo/favicon I added to the nav bar and footer Added a top loading bar indicator to show the page is responsive and is actively loading since some pages take a bit of time to fetch data, and I’m too lazy to implement suspense/loading skeleton and all that Clicking on things that require the user to be signed in now redirects you to the sign in page so it’s more user friendly and not confusing Updated the README to document detailed information, all the features, setup instructions, and everything else about the project Fixed an annoying issue where MemeBot didn’t respond at all or took a long time by simply deleting an intentional timeout and the bug was somehow fixed Updated styling and layout components"}, {"post_id": 62607, "ts": "2026-09-06T02:31:58Z", "hours": 3.0308, "text": "Meme reactions, animations, and polishing Added reactions to memes (kind of similar to Reddit awards) so you can now choose an emoji to express what you think about the meme! There is a new React button on the meme bar that opens an emoji selection menu that lets you choose your reaction. You can see all the meme’s reactions sorted by number of users listed below the bar and can click on them to switch your reaction or unreact (since you can only react once) Reactions are anonymous, so you can only see the number of reactions with your own reaction highlighted Added subtle page transition animations to the layout and individual components to make navigation and user interactions a lot smoother and more aesthetically pleasing Added a 404 not found page with an occasional stylized glitching effect and buttons to go home or go back Added more detailed and dynamically generated OpenGraph metadata to improve SEO Updated backend Prisma schema and migrated database Updated types and styling Fixed a few display, light mode, and responsive design bugs MemeBoard is almost finished, it’ll probably be ready to ship after one final devlog and some polishing touches!!!"}, {"post_id": 61608, "ts": "2026-09-04T16:23:00Z", "hours": 1.9592, "text": "Light mode toggle Added a button on the nav bar that toggles the site’s entire appearance between dark and light mode to improve its customizability and accessibility Because every component has a default color transition, switching between the 2 modes has a smooth UI transition instead of flashing to the other color instantly I had to set up the theme provider and manually add the light mode Tailwind classes and the dark mode prefix for all the colors in every page and component, so this took quite a long time but the result was worth it, both modes look pretty consistent and visually appealing"}, {"post_id": 59928, "ts": "2026-09-01T23:23:11Z", "hours": 3.3867, "text": "MemeBoard is back!!! I’ve been a lazy bum this entire summer and didn’t finish a single one of my more serious projects on Stardance before losing interest and moving on to a new idea, but now that the event is ending in a month (nooo ) I finally forced myself to come back and finish up/ship my old projects one by one School just started so I’ll hopefully still have enough time to ship most of my projects before October. Since no one has used MemeBoard at all in over 2 months, I had to upgrade some packages, resetup some deployment stuff, and reactivate the databases for everything to function normally I also spent some time getting familiar with the codebase again, so I didn’t make a lot of changes this update. I added a few quality of life features like sharing/reporting comments, homepage meme and chat sections, and user search for finding people to follow When you click on share for a comment, the share modal pops up listing all your friends that you can select to send the comment and a message to, as well as options to copy the link and to report it Comments show up as embedded text with the user and like count displayed, and clicking on it takes you to its location on the original meme page for easy viewing (definitely not stolen from TikTok ) When you click on add user on the chat page, it shows a modal where you can use the API to search for people to add as friends, making chatting and sharing memes more convenient Added recent, top, all time, friend memes, and recent chat sections to the homepage to make navigating the platform and browsing memes easier Added call to action buttons on the homepage hero to make using the site more intuitive Updated content and styling Updated MemeBot behavior Updated README Fixed chat deployment issue Did some miscellaneous stuff/improvements/fixes that I forgot"}, {"post_id": 19564, "ts": "2026-06-30T21:50:01Z", "hours": 2.1125, "text": "More collections features You can now search, sort, and filter collections on the collections page to browse and explore public collections other people created! You can filter your friends’ and your own collections to make managing them easier You can now add an optional description describing what your collection is about, either on the add or edit collection modal You can now change the visibility of your collection to be either public or private, where public collections are displayed on your profile and the collections page for everyone to see, and only you can see your own private collections Added a new private collections section on your profile that only you can see it Added a create collection modal that shows up when you click on the button on the collections page to make creating collections easier Added a create tag modal that shows up when you click on the button on the tags page, but unlike collections you can only put the name of the tag since that’s the only thing a tag has Updated schema and types Updated styling and SEO"}, {"post_id": 17714, "ts": "2026-06-28T17:01:30Z", "hours": 2.5683, "text": "MemeBot & bug fixes Added MemeBot to everyone’s chat, so even if you haven’t friended someone on the platform you can still try out all the chat features since MemeBot also sends messages in realtime MemeBot isn’t actually another AI chatbot or anything, it just responds with a random hardcoded string message (very intelligent, i know) from the backend whenever a user sends it a message after a certain delay to simulate realtime chatting Since MemeBot isn’t actually a user, I had to modify the chatting system quite a bit and put a lot of extra conditionals and logic to ensure it works properly for both MemeBot and real users, and that was quite annoying to figure out Fixed an annoying caching bug where you had to refresh the entire chat page for realtime interactions to work properly when chatting with someone for the first time, otherwise the chat just froze. This took a long time to fix, but the UX is finally smooth and works well Fixed some issues of the chat related to auth and not being logged in Updated styling"}, {"post_id": 17111, "ts": "2026-06-27T19:43:00Z", "hours": 1.7958, "text": "Random quality of life features I think I’m almost finished with MemeBoard, so now I’m just making random small features that I skipped over earlier Added realtime chat message previews for each of your chats that shows the last message and who sent it on the left sidebar so it feels more like Discord and Slack Added a tag filtering dropdown on the Memes page where you can see all the tags, search for them, and choose one to see all the memes labeled with that tag. This makes it a lot easier to browse, filter, and find similar memes Added an options menu button to the tag page (that only shows if you’re the one who made the tag) similar to the button I added to a bunch of other pages. When clicked, it shows a menu with just a delete option that deletes the tag and removes its label from all the memes after a confirmation modal Added both dynamically generated SEO and static SEO to some pages that didn’t have it Updated styling and navigation"}, {"post_id": 16679, "ts": "2026-06-27T03:33:33Z", "hours": 2.7094, "text": "Collection features & cleanup Similar to the meme page, when you view the page of a collection you created, there is an options icon that when clicked, opens a menu where you can edit or delete the collection If you press on edit, an edit modal pops up where you can edit the name and select which memes should be in the collection If you press on delete, a warning modal shows up, and if you press delete the collection will be permanently deleted Added a search bar on the main collections page where you can search for your own or other people’s collections Added the collections tab to the main nav bar and the footer to improve navigation You can now add a short public about me bio on your profile by clicking on the edit profile button that shows an input edit modal When you hover over your own messages, a delete button now shows up that lets you delete the message for both of you after a confirmation modal just like all the other delete functionalities You can undo the deletion by pressing on the undo button that shows up, which restores the message for both of you I spent most of my time on MemeBoard developing while logged in, so I wasn’t aware most of my pages were completely broken and returning errors if someone visited them while not being logged in, so I implemented a ton of conditionals and permission stuff for auth to make sure every page works properly or redirects to the login page When you’re not logged in, you can still use the app and browse memes, it’s just that a lot of features are unavailable Updated backend schema and types Updated styling Fixed a few bugs and issues caused by auth"}, {"post_id": 15440, "ts": "2026-06-25T03:01:05Z", "hours": 1.8839, "text": "Responsive design Finally added responsive design to all pages on the platform so MemeBoard works properly and the layout stays organized and visually appealing for all screen sizes! Added a menu button that shows up when the screen size is smaller than a certain width, which when clicked opens a sidebar that slides in from the left containing all the links. This declutters the layout while improving the UX of the app Added a search bar to the tags page where you can search all the tags people created and browse memes more easily Refactored code for some UI elements to make everything more optimized and clean Fixed chat layout UI breaking with excessively long messages Added some minor styling adjustments"}, {"post_id": 13355, "ts": "2026-06-21T21:30:32Z", "hours": 4.0244, "text": "Editing/deleting posts & more chat features! Added an option button on the top right of the meme pages you posted which when clicked displays a menu that lets you edit or delete the post Clicking on the edit option takes you to a dedicated post editing page where you can edit the title, tags, description, and source link and reupload the image of the meme (metadata, comments, and everything else remains unchanged), and clicking save takes you back to the newly edited page Clicking on the delete option shows a confirmation modal/dialog warning you, and if you press delete all the meme’s data will be permanently deleted and you get redirected back to the memes pages A similar option menu button is also added to the top right corner of your comment, where you can edit (a modal with an edit input field and buttons shows up) or delete (also has a confirmation dialog) the comment You can now also edit your own messages (only the text and not what you’re replying or the embedded meme), when you click on the edit message button a modal with an edit input pops up, and the edited message is updated in realtime You can now react to both yours or your friends messages to express what you think! When you click on the react button an emoji menu shows up where you can browse for the emoji you want Reactions and their counters update in realtime and you can remove the reaction by clicking on it again (the feature works exactly how all messaging apps’ reactions work) After you press on the share meme button when sharing to a friend, the button now becomes a link that takes you to the chat where you can see the message Updated schema and types Updated styling I kinda forgot to make more devlogs again, so this one is another massive wall of text covering a ton of different features. The video is also 2 minutes so I had to compress it to upload 😭 I promise I’ll try to keep future devlogs shorter and more focused :)"}, {"post_id": 12330, "ts": "2026-06-20T03:35:53Z", "hours": 3.5969, "text": "Meme sharing and more chat features! I sort of got carried away with this chat feature thing so MemeBoard is now a weird combination of Reddit and Discord instead of the original meme platform I planned it to be When you click on the share button on a meme page and open the sharing modal, you can now see all your friends listed and you can select who to send the meme to, as well as an optional message This actually sends a message to the chat with your friend, and it shows up as an embedded preview meme with its creator, title, image, and number of likes/comments/shares displayed Clicking on the embed preview takes you to the actual meme page Added chat replies so when you click on the reply button next to your friend’s message, a box shows up above the input field showing the message you’re currently replying to When you send the message, a reply bar/message preview similar to Discord’s shows up above the message, and clicking on it scrolls the page to the original message and briefly highlights it, similar to Discord’s Messages are grouped together so message header info (sender, time, profile image…) only shows under certain circumstances (similar to Discord) for a cleaner and better UI Refactored how messages and their components are rendered/structured for better optimization and performance Added an API route for client components to fetch meme data from the database Updated schema and types Updated the styling of different chat pages I forgot to make devlogs, so this devlog is pretty long Sorry again for the terrible layout in the video, my lazy bum hasn’t started on responsive styling yet, so the windows are compressed"}, {"post_id": 9670, "ts": "2026-06-16T02:34:11Z", "hours": 3.5231, "text": "Massive update: chat Added realtime chat where you can send and receive text messages with almost no latency to/from your friends on MemeBoard! The base layout of all the chat pages has a sidebar of the left that displays all your friends, and clicking on them takes you to the different direct message channels On each chat channel page, you can see your friend’s profile picture, username, and number of followers/following at the top, similar to TikTok’s chat Your friend’s messages show up on the left while yours are highlighted and on the right, similar to texts, and each message has a timestamp Integrated a Redis database for quick message retrieval, caching, and ease of use for the Upstash realtime library that uses Web Socket under the hood to push realtime updates/events to send and update messages in realtime I already made a much simpler chat app but with a slightly different backend stack a while ago, so it wasn’t that difficult rewriting everything in Next.js and adding additional features There are actually a lot of considerations and logic that go into making a chat app that you normally wouldn’t think of unless building your own chat, so this was an interesting and fun experience coming up with solutions for unexpected problems Updated schema and types I’ll actually optimize the site and implement responsive design after the main app is finished, so the current layout looks terrible on small screens and I apologize for the terrible layout in the video"}, {"post_id": 8477, "ts": "2026-06-14T03:08:02Z", "hours": 2.3269, "text": "Searching, sorting, and filtering memes Added a search bar, a sorting dropdown, a filtering by time and creator dropdown, a tag dropdown (doesn’t work yet, coming soon), and a number of items dropdown on the explore memes page to make finding and browsing new memes a lot more easier The search bar searches by the meme’s title and only searches when you submit the form to improve performance You can sort by best, which sorts by positive/negative vote ratio, top, which sorts by raw upvote count, and new, which sorts by recency You can filter by time range (now, day, week, and all), memes your friends posted, and memes you posted You can choose to show 5, 10, 25, or 50 memes at a time Added a custom dropdown component for the dropdowns with nice UX MemeBoard is now even closer to being a Reddit clone, I took a lot of inspiration from its features except my sorting/filtering is mainly frontend, which is not good practice but I’m too lazy to implement API endpoints for fetching memes Refactored the upvoting/downvoting component and logic so it directly communicates with the backend rather than using a hook to make it more modular and performant Meme cards now show the voting component and vote count I’m almost finished with the meme aspect of this project, the next big part is the realtime chat and sharing with friends and MemeBoard will be finished! I should probably stop using aura monster as the test meme, it’s starting to become corny :("}, {"post_id": 7915, "ts": "2026-06-13T06:13:24Z", "hours": 2.0725, "text": "Comment likes and replies You can now like meme comments (and comment replies since they’re counted as normal comments) by clicking on the heart icon on each comment You can also see how many people liked the comment When you click on the reply option on a comment, an input field for your reply and post/cancel buttons show up for you to post your reply The replies show up as nested inside their parent comments to show the discussion flow, and you can technically thread replies infinite levels deep Spent a ton of time trying to figure out how to generate the threaded tree structure, tried recursion and loops and ended up using hashmaps and pointers to nest parent/child comments (I was not locked in while making the algorithm because of the finals I was going to have the next day) Updated schema and styling"}, {"post_id": 7104, "ts": "2026-06-11T21:33:21Z", "hours": 2.1169, "text": "Collection pages, sharing, and reporting Added a main collection tab that displays all the meme collections users created (not just yours), and you can access the page with a header link on the profile page Each collection card either shows a gray rectangle if there’s no meme or a stack of images with a preview image on top if there’s multiple memes When you click on a collection, it takes you to its own page where its name, creator, and all the memes are displayed Collections a user created are also displayed on their profile page in a new section The share button shows a sharing modal where you can either share the meme to your friends (doesn’t work yet, will be integrated with chat), copy the link and send it somewhere else, or report it If you choose report or click on the report option, another modal shows up where you can select report reasons and provide additional feedback Added new schemas and types Updated navigation and styling"}, {"post_id": 6006, "ts": "2026-06-10T02:14:13Z", "hours": 1.4364, "text": "Additions & Changes Added saving memes to collections so other than voting you can curate, organize, and categorize your own custom lists of memes! When you click on the save option, a modal pops up showing collections you created and a button that lets you add new collections, as well as a search bar for the collections You can also see how many memes are currently saved in the selections When you click save, the option shows the saved state and displays how many collections the meme is saved in You can only save memes to collections you created Added a new user profile section for collections, but it currently doesn’t show anything yet Updated schema and types and learned some new relational database and Prisma concepts"}, {"post_id": 5957, "ts": "2026-06-09T23:41:13Z", "hours": 1.2425, "text": "Additions & Changes Added a voting system for memes (sort of like a rip off Reddit) where you can upvote, downvote, or remove your vote by clicking on the arrows You can also see the total vote count of the meme in real time to see its popularity The upvote/downvote buttons are displayed below the meme, along with the save and share buttons that will work soon Added an optional original source field for posting a meme to link where you got the original image from A link icon now shows up on the meme page if you provided the source link so people can see the original post and author Updated styling and navigation Updated schema and types"}, {"post_id": 5253, "ts": "2026-06-08T23:28:07Z", "hours": 0.9344, "text": "Additions & Changes When you click on a user’s followers and following on their profile page, a new modal pops up with 2 tabs, followers and following, that shows the accounts they’re currently following/being followed There’s also a search bar that lets you search through the listed users to find people more easily and makes it feel a lot more like Instagram If you are following someone who follows you back (mutual follows), you are automatically added as friends, which shows up as a section on the main profile display area You will be able to send messages through a real-time chat with friends in the future! Added the chat tab that’s just a placeholder page for now Added dynamic SEO Updated navigation and styling"}, {"post_id": 4630, "ts": "2026-06-08T00:46:10Z", "hours": 1.3575, "text": "Additions & Changes You can now edit your account information and customize your own profile by clicking on the edit profile button on the page, which shows a edit form modal! You can change your display name to anything you want, your username to anything that’s not already taken (since it’s used as the param account identifier), and upload a custom profile image (PNG, JPG, and GIF are all accepted) You can also follow and unfollow other users by clicking on the follow button on their profile page, making the platform feel more like a social media/community If you and another account are following each other mutually, you will become friends and unlock additional features (coming soon!) Refactored some code to make everything more modular and optimized"}, {"post_id": 4558, "ts": "2026-06-07T22:03:14Z", "hours": 1.5661, "text": "Additions and Changes Added the tags tab which displays all the tags created on the platform, and each tag has a number showing the number of memes it has and takes you to its own page with its memes displayed Added individual tag pages that shows all the memes categorized under a tag and the user that created it Added the meme card component that shows the meme’s title, author, upload date, and image, and clicking on it takes you to the meme page Features like filtering, sorting, and searching for memes for a specific tag are coming soon! Added user pages that takes in a user’s username as the param and displays the account’s memes and other data If you’re viewing your own profile, you can see options for signing out, deleting the account (with a confirmation dialog), and editing the profile Username is used as param instead of user id to be more human friendly Added static and dynamically generated SEO for the new pages Updated the navigation bar and footer links Removed the profile page since it got replaced by the user page"}, {"post_id": 3298, "ts": "2026-06-06T04:56:02Z", "hours": 2.5442, "text": "Additions & Changes This is a pretty big update, so a lot of stuff has been added and improved :) Added comments so signed in users can post plaintext comments using the comment field under every meme Comment threading and liking will be added soon to milk more hours improve community engagement features You can also see other people’s comments, see when it’s posted, and go to their profile A signin button is shown instead of the comment box if you’re not signed in Improved tags a lot, you can now add custom tags and use either the main ones (marked by a star icon) or custom tags other people or you created to make categorization easier Added input validation and required fields for posting memes to prevent errors Added and updated a lot of models and types to make everything more type safe and complete Updated navigation and styling This is my 5th time trying to post this devlog, I had to compress the video hopefully it works this time"}, {"post_id": 2545, "ts": "2026-06-05T02:49:37Z", "hours": 1.635, "text": "Additions & Changes Added file storage/upload and made the backend for posting a meme work so you can now actually upload an image, give it a name and description, assign it tags, and post it as its own public page! Learned how to work with UploadThing and used it as MemeBoard’s file storage service Added the meme page that fetches and shows all the meme’s data as well as who posted it, with a link to their profile (to be implemented) The meme page also generates SEO dynamically Added the memes page that’s just a placeholder for now where you will be able to browse through and explore all the memes Added a meme Prisma model with a user relation as well as custom types Improved navigation, redirects, and overall user experience Happy birthday daniel (I’m not a larper I watched the entirety of Peak:Zero)"}, {"post_id": 2457, "ts": "2026-06-04T23:08:36Z", "hours": 1.9033, "text": "Additions & Changes Added a post page with a beautiful form where you can input a title, select tags, upload PNG, JPG, or GIF, and provide a description for your meme You can search for tags in the custom tag selection modal that pops up when you click on the select tags button or one of the tags Added the meme type and updated some other types and auth stuff Added a simple footer with credits, navigation links, and the GitHub link The post page doesn’t work yet, it’s just a pretty frontend component (for now) Updated styling My future devlogs will all follow this bullet list format (hopefully the markdown layout turns out alright) to improve readability and storytelling :)"}, {"post_id": 1743, "ts": "2026-06-03T22:36:02Z", "hours": 2.0625, "text": "Basically finished the entire auth system with the Better Auth library, and users can now both sign in and sign up with credentials (email, username, display name, and password) or from a social provider using OAuth (Google and GitHub). I haven’t set up this library or the OAuth services in quite a while so I had to spend some time refiguring everything out and configuring all the different stuff. A username is also automatically assigned if you sign up with email. Added a backend and connected the Neon Postgres database as well."}, {"post_id": 1150, "ts": "2026-06-03T00:12:57Z", "hours": 1.4411, "text": "My first devlog on Stardance!!! Time to work my butt off this entire summer :) I’m making this meme exploring/sharing platform where you can browse the most popular memes or upload them yourself. I set up the basic Next.js project and the dependencies, added some pages and components, and made a pretty nice login/signup form (nothing works right now). Also deployed the site on Vercel."}]...
|
Title: MemeBoard by @tonymac129 | Stardance
Devlo Title: MemeBoard by @tonymac129 | Stardance
Devlogs:
My first devlog on Stardance!!! Time to work my butt off this entire summer :) I’m making this meme exploring/sharing platform where you can browse the most popular memes or upload them yourself. I set up the basic Next.js project and the dependencies, added some pages and components, and made a pretty nice login/signup form (nothing works right now). Also deployed the site on Vercel.
Basically finished the entire auth system with the Better Auth library, and users can now both sign in and sign up with credentials (email, username, display name, and password) or from a social provider using OAuth (Google and GitHub). I haven’t set up this library or the OAuth services in quite a while so I had to spend some time refiguring everything out and configuring all the different stuff. A username is also automatically assigned if you sign up with email. Added a backend and connected the Neon Postgres database as well.
Additions & Changes Added a post page with a beautiful form where you can input a title, select tags, upload PNG, JPG, or GIF, and provide a description for your meme You can search for tags in the custom tag selection modal that pops up when you click on the select tags button or one of the tags Added the meme type and updated some other types and auth stuff Added a simple footer with credits, navigation links, and the GitHub link The post page doesn’t work yet, it’s just a pretty frontend component (for now) Updated styling My future devlogs will all follow this bullet list format (hopefully the markdown layout turns out alright) to improve readability and storytelling :)
Additions & Changes Added file storage/upload and made the backend for posting a meme work so you can now actually upload an image, give it a name and description, assign it tags, and post it as its own public page! Learned how to work with UploadThing and used it as MemeBoard’s file storage service Added the meme page that fetches and shows all the meme’s data as well as who posted it, with a link to their profile (to be implemented) The meme page also generates SEO dynamically Added the memes page that’s just a placeholder for now where you will be able to browse through and explore all the memes Added a meme Prisma model with a user relation as well as custom types Improved navigation, redirects, and overall user experience Happy birthday daniel (I’m not a larper I watched the entirety of Peak:Zero)
Additions & Changes This is a pretty big update, so a lot of stuff has been added and improved :) Added comments so signed in users can post plaintext comments using the comment field under every meme Comment threading and liking will be added soon to milk more hours improve community engagement features You can also see other people’s comments, see when it’s posted, and go to their profile A signin button is shown instead of the comment box if you’re not signed in Improved tags a lot, you can now add custom tags and use either the main ones (marked by a star icon) or custom tags other people or you created to make categorization easier Added input validation and required fields for posting memes to prevent errors Added and updated a lot of models and types to make everything more type safe and complete Updated navigation and styling This is my 5th time trying to post this devlog, I had to compress the video hopefully it works this time
Additions and Changes Added the tags tab which displays all the tags created on the platform, and each tag has a number showing the number of memes it has and takes you to its own page with its memes displayed Added individual tag pages that shows all the memes categorized under a tag and the user that created it Added the meme card component that shows the meme’s title, author, upload date, and image, and clicking on it takes you to the meme page Features like filtering, sorting, and searching for memes for a specific tag are coming soon! Added user pages that takes in a user’s username as the param and displays the account’s memes and other data If you’re viewing your own profile, you can see options for signing out, deleting the account (with a confirmation dialog), and editing the profile Username is used as param instead of user id to be more human friendly Added static and dynamically generated SEO for the new pages Updated the navigation bar and footer links Removed the profile page since it got replaced by the user page
Additions & Changes You can now edit your account information and customize your own profile by clicking on the edit profile button on the page, which shows a edit form modal! You can change your display name to anything you want, your username to anything that’s not already taken (since it’s used as the param account identifier), and upload a custom profile image (PNG, JPG, and GIF are all accepted) You can also follow and unfollow other users by clicking on the follow button on their profile page, making the platform feel more like a social media/community If you and another account are following each other mutually, you will become friends and unlock additional features (coming soon!) Refactored some code to make everything more modular and optimized
Additions & Changes When you click on a user’s followers and following on their profile page, a new modal pops up with 2 tabs, followers and following, that shows the accounts they’re currently following/being followed There’s also a search bar that lets you search through the listed users to find people more easily and makes it feel a lot more like Instagram If you are following someone who follows you back (mutual follows), you are automatically added as friends, which shows up as a section on the main profile display area You will be able to send messages through a real-time chat with friends in the future! Added the chat tab that’s just a placeholder page for now Added dynamic SEO Updated navigation and styling
Additions & Changes Added a voting system for memes (sort of like a rip off Reddit) where you can upvote, downvote, or remove your vote by clicking on the arrows You can also see the total vote count of the meme in real time to see its popularity The upvote/downvote buttons are displayed below the meme, along with the save and share buttons that will work soon Added an optional original source field for posting a meme to link where you got the original image from A link icon now shows up on the meme page if you provided the source link so people can see the original post and author Updated styling and navigation Updated schema and types
Additions & Changes Added saving memes to collections so other than voting you can curate, organize, and categorize your own custom lists of memes! When you click on the save option, a modal pops up showing collections you created and a button that lets you add new collections, as well as a search bar for the collections You can also see how many memes are currently saved in the selections When you click save, the option shows the saved state and displays how many collections the meme is saved in You can only save memes to collections you created Added a new user profile section for collections, but it currently doesn’t show anything yet Updated schema and types and learned some new relational database and Prisma concepts
Collection pages, sharing, and reporting Added a main collection tab that displays all the meme collections users created (not just yours), and you can access the page with a header link on the profile page Each collection card either shows a gray rectangle if there’s no meme or a stack of images with a preview image on top if there’s multiple memes When you click on a collection, it takes you to its own page where its name, creator, and all the memes are displayed Collections a user created are also displayed on their profile page in a new section The share button shows a sharing modal where you can either share the meme to your friends (doesn’t work yet, will be integrated with chat), copy the link and send it somewhere else, or report it If you choose report or click on the report option, another modal shows up where you can select report reasons and provide additional feedback Added new schemas and types Updated navigation and styling
Comment likes and replies You can now like meme comments (and comment replies since they’re counted as normal comments) by clicking on the heart icon on each comment You can also see how many people liked the comment When you click on the reply option on a comment, an input field for your reply and post/cancel buttons show up for you to post your reply The replies show up as nested inside their parent comments to show the discussion flow, and you can technically thread replies infinite levels deep Spent a ton of time trying to figure out how to generate the threaded tree structure, tried recursion and loops and ended up using hashmaps and pointers to nest parent/child comments (I was not locked in while making the algorithm because of the finals I was going to have the next day) Updated schema and styling
Searching, sorting, and filtering memes Added a search bar, a sorting dropdown, a filtering by time and creator dropdown, a tag dropdown (doesn’t work yet, coming soon), and a number of items dropdown on the explore memes page to make finding and browsing new memes a lot more easier The search bar searches by the meme’s title and only searches when you submit the form to improve performance You can sort by best, which sorts by positive/negative vote ratio, top, which sorts by raw upvote count, and new, which sorts by recency You can filter by time range (now, day, week, and all), memes your friends posted, and memes you posted You can choose to show 5, 10, 25, or 50 memes at a time Added a custom dropdown component for the dropdowns with nice UX MemeBoard is now even closer to being a Reddit clone, I took a lot of inspiration from its features except my sorting/filtering is mainly frontend, which is not good practice but I’m too lazy to implement API endpoints for fetching memes Refactored the upvoting/downvoting component and logic so it directly communicates with the backend rather than using a hook to make it more modular and performant Meme cards now show the voting component and vote count I’m almost finished with the meme aspect of this project, the next big part is the realtime chat and sharing with friends and MemeBoard will be finished! I should probably stop using aura monster as the test meme, it’s starting to become corny :(
Massive update: chat Added realtime chat where you can send and receive text messages with almost no latency to/from your friends on MemeBoard! The base layout of all the chat pages has a sidebar of the left that displays all your friends, and clicking on them takes you to the different direct message channels On each chat channel page, you can see your friend’s profile picture, username, and number of followers/following at the top, similar to TikTok’s chat Your friend’s messages show up on the left while yours are highlighted and on the right, similar to texts, and each message has a timestamp Integrated a Redis database for quick message retrieval, caching, and ease of use for the Upstash realtime library that uses Web Socket under the hood to push realtime updates/events to send and update messages in realtime I already made a much simpler chat app but with a slightly different backend stack a while ago, so it wasn’t that difficult rewriting everything in Next.js and adding additional features There are actually a lot of considerations and logic that go into making a chat app that you normally wouldn’t think of unless building your own chat, so this was an interesting and fun experience coming up with solutions for unexpected problems Updated schema and types I’ll actually optimize the site and implement responsive design after the main app is finished, so the current layout looks terrible on small screens and I apologize for the terrible layout in the video
Meme sharing and more chat features! I sort of got carried away with this chat feature thing so MemeBoard is now a weird combination of Reddit and Discord instead of the original meme platform I planned it to be When you click on the share button on a meme page and open the sharing modal, you can now see all your friends listed and you can select who to send the meme to, as well as an optional message This actually sends a message to the chat with your friend, and it shows up as an embedded preview meme with its creator, title, image, and number of likes/comments/shares displayed Clicking on the embed preview takes you to the actual meme page Added chat replies so when you click on the reply button next to your friend’s message, a box shows up above the input field showing the message you’re currently replying to When you send the message, a reply bar/message preview similar to Discord’s shows up above the message, and clicking on it scrolls the page to the original message and briefly highlights it, similar to Discord’s Messages are grouped together so message header info (sender, time, profile image…) only shows under certain circumstances (similar to Discord) for a cleaner and better UI Refactored how messages and their components are rendered/structured for better optimization and performance Added an API route for client components to fetch meme data from the database Updated schema and types Updated the styling of different chat pages I forgot to make devlogs, so this devlog is pretty long Sorry again for the terrible layout in the video, my lazy bum hasn’t started on responsive styling yet, so the windows are compressed
Editing/deleting posts & more chat features! Added an option button on the top right of the meme pages you posted which when clicked displays a menu that lets you edit or delete the post Clicking on the edit option takes you to a dedicated post editing page where you can edit the title, tags, description, and source link and reupload the image of the meme (metadata, comments, and everything else remains unchanged), and clicking save takes you back to the newly edited page Clicking on the delete option shows a confirmation modal/dialog warning you, and if you press delete all the meme’s data will be permanently deleted and you get redirected back to the memes pages A similar option menu button is also added to the top right corner of your comment, where you can edit (a modal with an edit input field and buttons shows up) or delete (also has a confirmation dialog) the comment You can now also edit your own messages (only the text and not what you’re replying or the embedded meme), when you click on the edit message button a modal with an edit input pops up, and the edited message is updated in realtime You can now react to both yours or your friends messages to express what you think! When you click on the react button an emoji menu shows up where you can browse for the emoji you want Reactions and their counters update in realtime and you can remove the reaction by clicking on it again (the feature works exactly how all messaging apps’ reactions work) After you press on the share meme button when sharing to a friend, the button now becomes a link that takes you to the chat where you can see the message Updated schema and types Updated styling I kinda forgot to make more devlogs again, so this one is another massive wall of text covering a ton of different features. The video is also 2 minutes so I had to compress it to upload 😭 I promise I’ll try to keep future devlogs shorter and more focused :)
Responsive design Finally added responsive design to all pages on the platform so MemeBoard works properly and the layout stays organized and visually appealing for all screen sizes! Added a menu button that shows up when the screen size is smaller than a certain width, which when clicked opens a sidebar that slides in from the left containing all the links. This declutters the layout while improving the UX of the app Added a search bar to the tags page where you can search all the tags people created and browse memes more easily Refactored code for some UI elements to make everything more optimized and clean Fixed chat layout UI breaking with excessively long messages Added some minor styling adjustments
Collection features & cleanup Similar to the meme page, when you view the page of a collection you created, there is an options icon that when clicked, opens a menu where you can edit or delete the collection If you press on edit, an edit modal pops up where you can edit the name and select which memes should be in the collection If you press on delete, a warning modal shows up, and if you press delete the collection will be permanently deleted Added a search bar on the main collections page where you can search for your own or other people’s collections Added the collections tab to the main nav bar and the footer to improve navigation You can now add a short public about me bio on your profile by clicking on the edit profile button that shows an input edit modal When you hover over your own messages, a delete button now shows up that lets you delete the message for both of you after a confirmation modal just like all the other delete functionalities You can undo the deletion by pressing on the undo button that shows up, which restores the message for both of you I spent most of my time on MemeBoard developing while logged in, so I wasn’t aware most of my pages were completely broken and returning errors if someone visited them while not being logged in, so I implemented a ton of conditionals and permission stuff for auth to make sure every page works properly or redirects to the login page When you’re not logged in, you can still use the app and browse memes, it’s just that a lot of features are unavailable Updated backend schema and types Updated styling Fixed a few bugs and issues caused by auth
Random quality of life features I think I’m almost finished with MemeBoard, so now I’m just making random small features that I skipped over earlier Added realtime chat message previews for each of your chats that shows the last message and who sent it on the left sidebar so it feels more like Discord and Slack Added a tag filtering dropdown on the Memes page where you can see all the tags, search for them, and choose one to see all the memes labeled with that tag. This makes it a lot easier to browse, filter, and find similar memes Added an options menu button to the tag page (that only shows if you’re the one who made the tag) similar to the button I added to a bunch of other pages. When clicked, it shows a menu with just a delete option that deletes the tag and removes its label from all the memes after a confirmation modal Added both dynamically generated SEO and static SEO to some pages that didn’t have it Updated styling and navigation
MemeBot & bug fixes Added MemeBot to everyone’s chat, so even if you haven’t friended someone on the platform you can still try out all the chat features since MemeBot also sends messages in realtime MemeBot isn’t actually another AI chatbot or anything, it just responds with a random hardcoded string message (very intelligent, i know) from the backend whenever a user sends it a message after a certain delay to simulate realtime chatting Since MemeBot isn’t actually a user, I had to modify the chatting system quite a bit and put a lot of extra conditionals and logic to ensure it works properly for both MemeBot and real users, and that was quite annoying to figure out Fixed an annoying caching bug where you had to refresh the entire chat page for realtime interactions to work properly when chatting with someone for the first time, otherwise the chat just froze. This took a long time to fix, but the UX is finally smooth and works well Fixed some issues of the chat related to auth and not being logged in Updated styling
More collections features You can now search, sort, and filter collections on the collections page to browse and explore public collections other people created! You can filter your friends’ and your own collections to make managing them easier You can now add an optional description describing what your collection is about, either on the add or edit collection modal You can now change the visibility of your collection to be either public or private, where public collections are displayed on your profile and the collections page for everyone to see, and only you can see your own private collections Added a new private collections section on your profile that only you can see it Added a create collection modal that shows up when you click on the button on the collections page to make creating collections easier Added a create tag modal that shows up when you click on the button on the tags page, but unlike collections you can only put the name of the tag since that’s the only thing a tag has Updated schema and types Updated styling and SEO
MemeBoard is back!!! I’ve been a lazy bum this entire summer and didn’t finish a single one of my more serious projects on Stardance before losing interest and moving on to a new idea, but now that the event is ending in a month (nooo ) I finally forced myself to come back and finish up/ship my old projects one by one School just started so I’ll hopefully still have enough time to ship most of my projects before October. Since no one has used MemeBoard at all in over 2 months, I had to upgrade some packages, resetup some deployment stuff, and reactivate the databases for everything to function normally I also spent some time getting familiar with the codebase again, so I didn’t make a lot of changes this update. I added a few quality of life features like sharing/reporting comments, homepage meme and chat sections, and user search for finding people to follow When you click on share for a comment, the share modal pops up listing all your friends that you can select to send the comment and a message to, as well as options to copy the link and to report it Comments show up as embedded text with the user and like count displayed, and clicking on it takes you to its location on the original meme page for easy viewing (definitely not stolen from TikTok ) When you click on add user on the chat page, it shows a modal where you can use the API to search for people to add as friends, making chatting and sharing memes more convenient Added recent, top, all time, friend memes, and recent chat sections to the homepage to make navigating the platform and browsing memes easier Added call to action buttons on the homepage hero to make using the site more intuitive Updated content and styling Updated MemeBot behavior Updated README Fixed chat deployment issue Did some miscellaneous stuff/improvements/fixes that I forgot
Light mode toggle Added a button on the nav bar that toggles the site’s entire appearance between dark and light mode to improve its customizability and accessibility Because every component has a default color transition, switching between the 2 modes has a smooth UI transition instead of flashing to the other color instantly I had to set up the theme provider and manually add the light mode Tailwind classes and the dark mode prefix for all the colors in every page and component, so this took quite a long time but the result was worth it, both modes look pretty consistent and visually appealing
Meme reactions, animations, and polishing Added reactions to memes (kind of similar to Reddit awards) so you can now choose an emoji to express what you think about the meme! There is a new React button on the meme bar that opens an emoji selection menu that lets you choose your reaction. You can see all the meme’s reactions sorted by number of users listed below the bar and can click on them to switch your reaction or unreact (since you can only react once) Reactions are anonymous, so you can only see the number of reactions with your own reaction highlighted Added subtle page transition animations to the layout and individual components to make navigation and user interactions a lot smoother and more aesthetically pleasing Added a 404 not found page with an occasional stylized glitching effect and buttons to go home or go back Added more detailed and dynamically generated OpenGraph metadata to improve SEO Updated backend Prisma schema and migrated database Updated types and styling Fixed a few display, light mode, and responsive design bugs MemeBoard is almost finished, it’ll probably be ready to ship after one final devlog and some polishing touches!!!
Final MemeBoard devlog! I finally finished MemeBoard after working on it over the past 3 months! I’ve implemented all the features I originally planned to make, as well as added a ton of other stuff to make the project interesting and fun to use I mostly just polished the project in this update, so there isn’t actually anything new other than the simple “m” logo/favicon I added to the nav bar and footer Added a top loading bar indicator to show the page is responsive and is actively loading since some pages take a bit of time to fetch data, and I’m too lazy to implement suspense/loading skeleton and all that Clicking on things that require the user to be signed in now redirects you to the sign in page so it’s more user friendly and not confusing Updated the README to document detailed information, all the features, setup instructions, and everything else about the project Fixed an annoying issue where MemeBot didn’t respond at all or took a long time by simply deleting an intentional timeout and the bug was somehow fixed Updated styling and layout components
Ships:
I finally finished making MemeBoard after periodically working on it over the past 3 months! MemeBoard is an accessible and easy to use fullstack online social platform for posting, sharing, and exploring all kinds of memes. There are many different post interaction features such as voting, commenting, saving, reacting, and sharing, it’s essentially a simple Reddit clone that’s exclusively for memes. You can browse, filter, and search through memes easily by choosing different sorting options and exploring the different tags and collections. It also has social features like following users and customizing your profile, as well as a full-featured realtime chat (mini Discord clone) where you can send content and chat with your friends or interact with MemeBot (which is not an LLM, it’s just a random thing I thought was fun to implement)! The entire website is also fully responsive and functional on all screen sizes with smooth loading and transition animations, and you can toggle between dark and light modes. I got bored of the project halfway through it to work on other stuff, but I ended up coming back more than a month later to finally finish everything and polish it to ship, and the final result is definitely very satisfying and rewarding for me, hopefully you’ll like it :)...
|
1793004463.7834735
|
1793090863.7834735
|
|
429
|
High Roller by @sri2arul | Stardance
|
sri2arul
|
1
|
15.17
|
18
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T13:21:38Z", "hours": 6.0, "multiplier": 2.95, "payout": 18, "blessing": "neutral", "text": "My game is High Roller. High Roller is a game inspired by Drive Mad Aesthetics and those flipping games. You launch a six-sided dice off of a platform and try to land it as PERFECT as possible. The most challenging part for me was to start back on it after making it earlier for HCTG. I’m proud of the work and time I’ve put in and how I’m still dedicated to my project.", "repo": "https://github.com/sri2arul/high-roller", "demo": "https://fdqifbudy.itch.io/high-roller"}]...
|
[{"post_id": 73382, "ts": "202 [{"post_id": 73382, "ts": "2026-09-25T01:29:27Z", "hours": 5.0242, "text": "okay this was a long one and it was mainly fixing up my code, my spawnpoint stopped working again after a tweak to map, you can land on all 4 sides now (bug), levels slide thru properly, fixed spec level achievments, and now the only thing is to make ui, 3d assets and ux and then done (or if i wanna add a shop) ((and that other thing)) and ive had problems with godot super waka waka aii aii so there that picture"}, {"post_id": 61871, "ts": "2026-09-05T00:49:27Z", "hours": 2.9697, "text": "(i forgor bout devving) okay so what i did is that i made the new map and polished it to my ability and after that i set up the levels for each by creating level platforms, copying them on each level 6-10, added the map to each one, and then setting and rotating and yeah putting them in the place they need to be - going to a random ahh cabin this weekend so hoping that i can keep that sticky streak"}, {"post_id": 22247, "ts": "2026-07-04T16:46:50Z", "hours": 1.1781, "text": "okay so updated the readme after i shipped like a week ago and today i just created the basis for my world two and spent like two hours making the map on blender(theme anartic base (forgot to press record so here i am ahhh)) not finished tho and lotto bugs but tomm il fix so yay"}, {"post_id": 16142, "ts": "2026-06-26T07:29:02Z", "hours": 0.9244, "text": "fixed spec goals liek a lot (made diff ones bc the earler models were ehh and implemented them onto the ui)so yay prob gonna ship v1 now before i make the 75 lvls and art for everything (i hope) but yayay"}, {"post_id": 8311, "ts": "2026-06-13T20:28:08Z", "hours": 0.3344, "text": "faa so im doing this jst to get to 5 hrs this week so rn what i did in this spare time is i started and locked in the special goals functions and got them to work but its jst code so the user has no idea how to get them and what they are so ill work on that next and TODO:"}, {"post_id": 7641, "ts": "2026-06-12T19:24:50Z", "hours": 1.2794, "text": "so today i overhauled best scores by first allowing them to load without overloading them in winscr so they popped up after i finished a level and then i made a bar at the bottom of the level that lets u look at your high score for each level and i left that there but i thought of a better way to show best score so i made it so when u hover over the button it shows your best and then wait half a sec before closing then to make it to an hour i added also the bsgds to that so that when u complete a point goal it shows up as complete and yea sooooo TODO ( not on the thing agaiinnnnn :0 )and a horrible crooping job pic :))))"}, {"post_id": 6541, "ts": "2026-06-10T23:59:47Z", "hours": 1.0614, "text": "okay today i first fixed a bug abt only having coinlbl (the thing that shows coins) on level select and not on the levels too so i added a global ui and made an entire new coin label that i added a png to for like coin and allat and then i fixed up a problem with the bsgds and because i do an hour at least a day i jst whipped up pngs for each of the bsgds so that they show when you havent completed them it shows the coin but when you did complete them they dissapear and give you coins (for bsgd, b=5,s=10,g=15, and d=20) and yea and so TODO(pluh none of this was on the todo), the pic of it working before today (for ysterday),and then today w/h the new stuff all in one pic"}, {"post_id": 5956, "ts": "2026-06-09T23:39:20Z", "hours": 1.2856, "text": "devlog 2- so yea started on points and got them connected and persistant so i moved to creating b/s/g/d goals that connected to coins and greyed out when finished and that worked out too! and so TODO and pic of the bronze/silver/gold/diamond function working"}, {"post_id": 4323, "ts": "2026-06-07T16:16:03Z", "hours": 1.1842, "text": "so yea starting on ts again after hctg so jst started by fixing bugs in settings and adding musica and yeah so TODO:"}]...
|
Title: High Roller by @sri2arul | Stardance
Devlo Title: High Roller by @sri2arul | Stardance
Devlogs:
so yea starting on ts again after hctg so jst started by fixing bugs in settings and adding musica and yeah so TODO:
devlog 2- so yea started on points and got them connected and persistant so i moved to creating b/s/g/d goals that connected to coins and greyed out when finished and that worked out too! and so TODO and pic of the bronze/silver/gold/diamond function working
okay today i first fixed a bug abt only having coinlbl (the thing that shows coins) on level select and not on the levels too so i added a global ui and made an entire new coin label that i added a png to for like coin and allat and then i fixed up a problem with the bsgds and because i do an hour at least a day i jst whipped up pngs for each of the bsgds so that they show when you havent completed them it shows the coin but when you did complete them they dissapear and give you coins (for bsgd, b=5,s=10,g=15, and d=20) and yea and so TODO(pluh none of this was on the todo), the pic of it working before today (for ysterday),and then today w/h the new stuff all in one pic
so today i overhauled best scores by first allowing them to load without overloading them in winscr so they popped up after i finished a level and then i made a bar at the bottom of the level that lets u look at your high score for each level and i left that there but i thought of a better way to show best score so i made it so when u hover over the button it shows your best and then wait half a sec before closing then to make it to an hour i added also the bsgds to that so that when u complete a point goal it shows up as complete and yea sooooo TODO ( not on the thing agaiinnnnn :0 )and a horrible crooping job pic :))))
faa so im doing this jst to get to 5 hrs this week so rn what i did in this spare time is i started and locked in the special goals functions and got them to work but its jst code so the user has no idea how to get them and what they are so ill work on that next and TODO:
fixed spec goals liek a lot (made diff ones bc the earler models were ehh and implemented them onto the ui)so yay prob gonna ship v1 now before i make the 75 lvls and art for everything (i hope) but yayay
okay so updated the readme after i shipped like a week ago and today i just created the basis for my world two and spent like two hours making the map on blender(theme anartic base (forgot to press record so here i am ahhh)) not finished tho and lotto bugs but tomm il fix so yay
(i forgor bout devving) okay so what i did is that i made the new map and polished it to my ability and after that i set up the levels for each by creating level platforms, copying them on each level 6-10, added the map to each one, and then setting and rotating and yeah putting them in the place they need to be - going to a random ahh cabin this weekend so hoping that i can keep that sticky streak
okay this was a long one and it was mainly fixing up my code, my spawnpoint stopped working again after a tweak to map, you can land on all 4 sides now (bug), levels slide thru properly, fixed spec level achievments, and now the only thing is to make ui, 3d assets and ux and then done (or if i wanna add a shop) ((and that other thing)) and ive had problems with godot super waka waka aii aii so there that picture
Ships:
My game is High Roller. High Roller is a game inspired by Drive Mad Aesthetics and those flipping games. You launch a six-sided dice off of a platform and try to land it as PERFECT as possible. The most challenging part for me was to start back on it after making it earlier for HCTG. I’m proud of the work and time I’ve put in and how I’m still dedicated to my project....
|
1792968498.156432
|
1793054898.156432
|
|
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
|
|
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)...
|
1792968718.0097
|
1793055118.0097
|
|
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...
|
1792986586.6463687
|
1793072986.6463687
|
|
462
|
a food delivery app by @Eshan | Stardance
|
Eshan
|
1
|
21.21
|
11
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-14T02:21:22Z", "hours": 20.0, "multiplier": 1.03, "payout": 11, "blessing": "neutral", "text": "I have make a food delivery app with 3 types of accounts account like restaurant owner,delivery person, customer", "repo": "https://github.com/eshan868/food-crave/tree/develop", "demo": "https://food-crave-b5sj.vercel.app/"}]...
|
[{"post_id": 13734, "ts": "202 [{"post_id": 13734, "ts": "2026-06-22T14:54:39Z", "hours": 1.215, "text": "changed the hosting service"}, {"post_id": 8463, "ts": "2026-06-14T02:17:25Z", "hours": 19.5481, "text": "Finally completed"}, {"post_id": 70, "ts": "2026-05-31T16:42:15Z", "hours": 0.7058, "text": "After a long waiting happy to work on stardance"}]...
|
Title: a food delivery app by @Eshan | Stardance
Title: a food delivery app by @Eshan | Stardance
Devlogs:
After a long waiting happy to work on stardance
Finally completed
changed the hosting service
Ships:
I have make a food delivery app with 3 types of accounts account like restaurant owner,delivery person, customer...
|
1792993884.4573627
|
1793080284.4573627
|
|
469
|
access web browser by @JD | Stardance
|
JD
|
1
|
11.42
|
153
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-06T19:32:52Z", "hours": 11.0, "multiplier": 14.16, "payout": 153, "blessing": "neutral", "text": "I made a web browser focused on accessibility it features build in talk back and is intended for users who can’t read or have a hard time reading or seeing such as someone in my family they are the main reason i started this project so they could access the internet easier i asked them what their dream browser was and they said a browser with built in accessibility features such as talk back so i added built in accessibility features that was probably the hardest part but then i let them try it they said it was good and they enjoyed it i hope this project can help many others and not just one person", "repo": "https://github.com/JDjump12345/Acsess-Web", "demo": "https://github.com/JDjump12345/Acsess-Web/releases"}]...
|
[{"post_id": 72439, "ts": "202 [{"post_id": 72439, "ts": "2026-09-22T23:16:34Z", "hours": 0.4233, "text": "Hey! After a while I came back to this, but I looked at the feedback, and it helped a lot I fixed the bug of clicking go button opening 2 tabs and I made each action button different in color so it’s easier to tell them apart I haven’t done a lot of coding since last devlog (so for a while) so I am a bit rusty but I am going to start working on this and try to make it way better"}, {"post_id": 3719, "ts": "2026-06-06T19:26:10Z", "hours": 0.9675, "text": "Added downloads and made first build! removed cookies button from menu as it did not work but cookies do"}, {"post_id": 564, "ts": "2026-06-02T01:51:29Z", "hours": 0.3989, "text": "Made UI for settings and url bar WAY better (they are in the menu button in the taskbar) but this is a huge update for UI and i think i fixed Talkback imgs support crashing the app (idk if it even works rn tbh)"}, {"post_id": 501, "ts": "2026-06-01T23:42:06Z", "hours": 1.3539, "text": "No Visual changes but i added it so imgs are able to be read with tts my next steps are optimizing the system and adding downloads and loading things"}, {"post_id": 434, "ts": "2026-06-01T20:44:41Z", "hours": 2.2444, "text": "Got TTS working (but its always enabled) probably gonna skip the magnifying glass because it is not as easy as i thought it would be but tts almost fully works"}, {"post_id": 178, "ts": "2026-06-01T05:45:22Z", "hours": 1.1819, "text": "Got this so it kinda works"}, {"post_id": 166, "ts": "2026-06-01T02:03:34Z", "hours": 2.8019, "text": "Added settings page AND a thing to save and load settings"}, {"post_id": 117, "ts": "2026-05-31T20:25:49Z", "hours": 1.1747, "text": "Got bookmarks and tabs done (for the most part) i still need to polish it a bit more but so far so good!"}, {"post_id": 99, "ts": "2026-05-31T18:33:46Z", "hours": 0.7303, "text": "Got webview added and a working URL bar! next step is adding downloads and bookmarks (and the stuff a browser needs) then adding stuff like screen reader and stuff like that"}]...
|
Title: access web browser by @JD | Stardance
Devl Title: access web browser by @JD | Stardance
Devlogs:
Got webview added and a working URL bar! next step is adding downloads and bookmarks (and the stuff a browser needs) then adding stuff like screen reader and stuff like that
Got bookmarks and tabs done (for the most part) i still need to polish it a bit more but so far so good!
Added settings page AND a thing to save and load settings
Got this so it kinda works
Got TTS working (but its always enabled) probably gonna skip the magnifying glass because it is not as easy as i thought it would be but tts almost fully works
No Visual changes but i added it so imgs are able to be read with tts my next steps are optimizing the system and adding downloads and loading things
Made UI for settings and url bar WAY better (they are in the menu button in the taskbar) but this is a huge update for UI and i think i fixed Talkback imgs support crashing the app (idk if it even works rn tbh)
Added downloads and made first build! removed cookies button from menu as it did not work but cookies do
Hey! After a while I came back to this, but I looked at the feedback, and it helped a lot I fixed the bug of clicking go button opening 2 tabs and I made each action button different in color so it’s easier to tell them apart I haven’t done a lot of coding since last devlog (so for a while) so I am a bit rusty but I am going to start working on this and try to make it way better
Ships:
I made a web browser focused on accessibility it features build in talk back and is intended for users who can’t read or have a hard time reading or seeing such as someone in my family they are the main reason i started this project so they could access the internet easier i asked them what their dream browser was and they said a browser with built in accessibility features such as talk back so i added built in accessibility features that was probably the hardest part but then i let them try it they said it was good and they enjoyed it i hope this project can help many others and not just one person...
|
1792972451.461099
|
1793058851.461099
|
|
473
|
F1 Sculpture by @TheGeek | Stardance
|
TheGeek
|
1
|
5.0
|
26
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T14:20:30Z", "hours": 5.0, "multiplier": 5.0, "payout": 26, "blessing": "neutral", "text": "This model is an abstract sculpture of the Ferrari Formula 1 car, the SF25 driven by Lewis Hamilton and Charles Leclerc during the 2025 F1 season. It is based from a similar type of sculpture I saw online for this years car and as I prefer the look of the last regs I decided to make my own version. The product is almost entirely 3D printed with the only non 3D printable part being the Carbon Fibre vinyl but with the correct print be this can be easily faked. I decided to use plywood to make the base plate but that is 3d printable - I simply wanted an excuse to get out the bandsaw - Feel free to watch the lookout timelapses to see the process of designing and making in more detail. I support Ferrari and so obviously have chosen to do this in their colours but I may update the project in the future with a slightly different sidepod profile for other teams such as McLaren as my friend is a massive fan there.", "repo": "https://github.com/Ethgreninja2210/F1-sculpture", "demo": ""}]...
|
[{"post_id": 25939, "ts": "202 [{"post_id": 25939, "ts": "2026-07-10T13:17:24Z", "hours": 3.2167, "text": "Completing the Sculpture: Printing: I printed the parts on my P2S and they came out perfectly, it took a little bit longer as I slowed it down to reduce the noise and the jittering as I slept next to the printer and this just made it more difficult to hear and in my experience it is actually the printer finishing which wakes me up more than the actual printing keeping me from sleeping. Overall, it took about 4.5 hours to print and the parts came out very nice and I decided to flip each part to have the lovely texture on the top which granted is not very F1 aero efficiency and all that jazz but it looks cool. Cleanup: I got the prints off the plate and despite them looking fantastic I felt some cleanup was needed. To do this I used both the edge of a metal ruler and a Stanley blade to scrape - not cut/trim - the layer lines on the sides, this works almost like a card scraper in furniture making and removes this top layer, removing layer lines and most importantly for me doesn’t discolour the plastic like sanding typically does and as I wasn’t going to be painting the main car bits - I needed there to be no discolouration. For a couple of the external radius sections I did pull out the sanding stick but this has - supposedly - 60 micrometer gritt, don’t know what it means but it is really smoot and doesn’t discolour the plastic. Creating the base: To create the base I started with a piece of 4mm ply and cut it to size on the bandsaw before skinning both sides of this with some carbon fibre weave vinyl. This part also had a small hole drilled in the middle by hand and I fitted the cylinder to hold up the main section of the sculpture. Paintwork: Minimal paintwork was needed and I simply masked off on the rear shark fin section and then painted the white dashes - obviously not adding the MASSIVE BLUE HP LOGOS. YES THE MASSIVE ONES. THE REALLY MASSIVE ONES. Shaping: To shape the parts I used a heat gun and then folded the sections over the edge of the table. Unfortunately, I did end up folding the headrest/cockpit area the wrong way round but it was reasonably easy to correct with reheating it. Finally I glued it all together on the plinth and it was done:"}, {"post_id": 25004, "ts": "2026-07-08T22:10:38Z", "hours": 1.9367, "text": "Building a Sculpture: Earlier today I saw a similar idea to this on the internet for the new regulation cars and so I thought that I should give it a go and make one myself. I however don’t have access to the laser equipment and metal bending that the original creator uses and so decided to 3D print the item. This product will be relatively simple but it definitely challenged me in thinking in multiple dimensions with it being modelled as flat sheets that I then went and bent later with the intention of printing flat and then either eyeballing the bending with a heat gun or also making a former - probably just going to eyeball it. The modelling was reasonably enjoyable. When modelling I started with the base plate to get a sense of scale to the workplace - which will be fake carbon fibre skinned with a chrome border. After this I uploaded the canvases from head and then just began tracing out some shapes. I think I I were to do this again - I would print and trace the overall profiles from the form of the f1 car by hand onto a separate sheet of paper to make this step easier. This was repeated with each part which makes up the main sections of an F1 car other than the wings as I wanted it to be very simplistic much like the inspiration. Finally, I duplicated the parts and bent them to shape to produce a render before exporting the flat files which are currently printing."}]...
|
Title: F1 Sculpture by @TheGeek | Stardance
Devlo Title: F1 Sculpture by @TheGeek | Stardance
Devlogs:
Building a Sculpture: Earlier today I saw a similar idea to this on the internet for the new regulation cars and so I thought that I should give it a go and make one myself. I however don’t have access to the laser equipment and metal bending that the original creator uses and so decided to 3D print the item. This product will be relatively simple but it definitely challenged me in thinking in multiple dimensions with it being modelled as flat sheets that I then went and bent later with the intention of printing flat and then either eyeballing the bending with a heat gun or also making a former - probably just going to eyeball it. The modelling was reasonably enjoyable. When modelling I started with the base plate to get a sense of scale to the workplace - which will be fake carbon fibre skinned with a chrome border. After this I uploaded the canvases from head and then just began tracing out some shapes. I think I I were to do this again - I would print and trace the overall profiles from the form of the f1 car by hand onto a separate sheet of paper to make this step easier. This was repeated with each part which makes up the main sections of an F1 car other than the wings as I wanted it to be very simplistic much like the inspiration. Finally, I duplicated the parts and bent them to shape to produce a render before exporting the flat files which are currently printing.
Completing the Sculpture: Printing: I printed the parts on my P2S and they came out perfectly, it took a little bit longer as I slowed it down to reduce the noise and the jittering as I slept next to the printer and this just made it more difficult to hear and in my experience it is actually the printer finishing which wakes me up more than the actual printing keeping me from sleeping. Overall, it took about 4.5 hours to print and the parts came out very nice and I decided to flip each part to have the lovely texture on the top which granted is not very F1 aero efficiency and all that jazz but it looks cool. Cleanup: I got the prints off the plate and despite them looking fantastic I felt some cleanup was needed. To do this I used both the edge of a metal ruler and a Stanley blade to scrape - not cut/trim - the layer lines on the sides, this works almost like a card scraper in furniture making and removes this top layer, removing layer lines and most importantly for me doesn’t discolour the plastic like sanding typically does and as I wasn’t going to be painting the main car bits - I needed there to be no discolouration. For a couple of the external radius sections I did pull out the sanding stick but this has - supposedly - 60 micrometer gritt, don’t know what it means but it is really smoot and doesn’t discolour the plastic. Creating the base: To create the base I started with a piece of 4mm ply and cut it to size on the bandsaw before skinning both sides of this with some carbon fibre weave vinyl. This part also had a small hole drilled in the middle by hand and I fitted the cylinder to hold up the main section of the sculpture. Paintwork: Minimal paintwork was needed and I simply masked off on the rear shark fin section and then painted the white dashes - obviously not adding the MASSIVE BLUE HP LOGOS. YES THE MASSIVE ONES. THE REALLY MASSIVE ONES. Shaping: To shape the parts I used a heat gun and then folded the sections over the edge of the table. Unfortunately, I did end up folding the headrest/cockpit area the wrong way round but it was reasonably easy to correct with reheating it. Finally I glued it all together on the plinth and it was done:
Ships:
This model is an abstract sculpture of the Ferrari Formula 1 car, the SF25 driven by Lewis Hamilton and Charles Leclerc during the 2025 F1 season. It is based from a similar type of sculpture I saw online for this years car and as I prefer the look of the last regs I decided to make my own version. The product is almost entirely 3D printed with the only non 3D printable part being the Carbon Fibre vinyl but with the correct print be this can be easily faked. I decided to use plywood to make the base plate but that is 3d printable - I simply wanted an excuse to get out the bandsaw - Feel free to watch the lookout timelapses to see the process of designing and making in more detail. I support Ferrari and so obviously have chosen to do this in their colours but I may update the project in the future with a slightly different sidepod profile for other teams such as McLaren as my friend is a massive fan there....
|
1792983176.0850055
|
1793069576.0850055
|
|
479
|
Game by @Llamamed6 | Stardance
|
Llamamed6
|
1
|
4.77
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-01T18:47:20Z", "hours": 2.0, "multiplier": 1.64, "payout": 1, "blessing": "neutral", "text": "I added two thing on this I made a mini keyboard that explode when you click a button and I made geometry dash wave. For Geometry Dash the controls are space is up and once you let go of space your character moves down and R is for restart. For the key board you move your curser to each letter then click and it will show up and once you click explode keyboard the key board will disappear and return after five seconds.", "repo": "https://github.com/dwightcrozier-molina-gif/my_python", "demo": "https://mypython--dwightcrozier-m.replit.app"}]...
|
[{"post_id": 9626, "ts": "2026 [{"post_id": 9626, "ts": "2026-06-16T01:03:58Z", "hours": 2.7703, "text": "I am working on a game similar to geometry dash and I have made the wave gamemode."}, {"post_id": 374, "ts": "2026-06-01T18:38:38Z", "hours": 1.6872, "text": "I am working like a game similar to geometry dash"}]...
|
Title: Game by @Llamamed6 | Stardance
Devlogs:
I Title: Game by @Llamamed6 | Stardance
Devlogs:
I am working like a game similar to geometry dash
I am working on a game similar to geometry dash and I have made the wave gamemode.
Ships:
I added two thing on this I made a mini keyboard that explode when you click a button and I made geometry dash wave. For Geometry Dash the controls are space is up and once you let go of space your character moves down and R is for restart. For the key board you move your curser to each letter then click and it will show up and once you click explode keyboard the key board will disappear and return after five seconds....
|
1792997460.4041362
|
1793083860.4041362
|
|
487
|
Fallen Scout by @Lazyllama | Stardance
|
Lazyllama
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-18T00:01:57Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I wanted to ship this for people to see, the old version was missing an ending (not like thats important or anything). Enjoy! <3", "repo": "https://github.com/Lazylllama/FlashlightGame", "demo": "https://lazylllama.itch.io/fallen-scout"}]...
|
[{"post_id": 154, "ts": "2026- [{"post_id": 154, "ts": "2026-06-01T00:06:45Z", "hours": 0.35, "text": "New versions available on Itch! https://lazylllama.itch.io/fallen-scout WebGL (play in browser) MacOS (.app) Linux (.x86_64) Windows (.exe)"}, {"post_id": 152, "ts": "2026-05-31T23:40:15Z", "hours": 0.3239, "text": "Another test version has been released, now with a bit more interesting ending!"}]...
|
Title: Fallen Scout by @Lazyllama | Stardance
Dev Title: Fallen Scout by @Lazyllama | Stardance
Devlogs:
Another test version has been released, now with a bit more interesting ending!
New versions available on Itch! https://lazylllama.itch.io/fallen-scout WebGL (play in browser) MacOS (.app) Linux (.x86_64) Windows (.exe)
Ships:
I wanted to ship this for people to see, the old version was missing an ending (not like thats important or anything). Enjoy! <3...
|
1792982869.7187092
|
1793069269.7187092
|
|
489
|
Sander's Portfolio by @Sander | Stardance
|
Sander
|
1
|
8.0
|
31
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T18:52:46Z", "hours": 8.0, "multiplier": 4.1, "payout": 31, "blessing": "neutral", "text": "I’ve build a new portfolio, with next.js and added some animations with framer motion. Im the most proud of the status page, it monitors some of my public sites, and also the contact form, where i get a notification in discord, and the person that tries to contact me a mail via resend.", "repo": "https://github.com/sanderhd/sanders-portfolio", "demo": "https://sander.tf/"}]...
|
[{"post_id": 2318, "ts": "2026 [{"post_id": 2318, "ts": "2026-06-04T19:05:32Z", "hours": 0.3594, "text": "I’ve added Umami Analytics (very cool), its a self hosted analytics system. I’m hosting it on my Nest Server :D"}, {"post_id": 1629, "ts": "2026-06-03T19:17:24Z", "hours": 1.5408, "text": "I have added a Status page to monitor some of my public projects, for now, only 1 is added because the other ones that were added are giving status down, when they are up."}, {"post_id": 987, "ts": "2026-06-02T19:24:47Z", "hours": 1.7064, "text": "I’ve added a contact form, that sends a mail to the person who contacts me, and a discord message in my private server. I’ve also styled the projects page :D"}, {"post_id": 835, "ts": "2026-06-02T15:04:22Z", "hours": 1.5878, "text": "I’ve replaced the comming soon with some info about me, socials, and skills. I’ve also added featured projects, that will be shown when “featured: true” is set in the .md file."}, {"post_id": 349, "ts": "2026-06-01T17:34:33Z", "hours": 1.3647, "text": "I have added a project system, I can write projects in markdown, and they will get shown here. The detail page is not finished!"}, {"post_id": 108, "ts": "2026-05-31T19:30:59Z", "hours": 0.9703, "text": "I’ve been working on the fundamentals: fonts, folders, colors."}]...
|
Title: Sander's Portfolio by @Sander | Stardan Title: Sander's Portfolio by @Sander | Stardance
Devlogs:
I’ve been working on the fundamentals: fonts, folders, colors.
I have added a project system, I can write projects in markdown, and they will get shown here. The detail page is not finished!
I’ve replaced the comming soon with some info about me, socials, and skills. I’ve also added featured projects, that will be shown when “featured: true” is set in the .md file.
I’ve added a contact form, that sends a mail to the person who contacts me, and a discord message in my private server. I’ve also styled the projects page :D
I have added a Status page to monitor some of my public projects, for now, only 1 is added because the other ones that were added are giving status down, when they are up.
I’ve added Umami Analytics (very cool), its a self hosted analytics system. I’m hosting it on my Nest Server :D
Ships:
I’ve build a new portfolio, with next.js and added some animations with framer motion. Im the most proud of the status page, it monitors some of my public sites, and also the contact form, where i get a notification in discord, and the person that tries to contact me a mail via resend....
|
1792968791.0972037
|
1793055191.0972037
|
|
508
|
Slime Simulator by @RespectableDot | Stardance
|
RespectableDot
|
1
|
166.0
|
3195
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-05T19:22:45Z", "hours": 166.0, "multiplier": 19.34, "payout": 3195, "blessing": "neutral", "text": "A simulator that is about making crazy slimes through natural selection, evolution, and genetic engineering. One thing that made this project challenging was the slime pathfinding. To solve this, I used the A* pathfinding technique. Something I am proud of is the art style. I worked very hard on it and I think it look good. To test my project, just click on the demo link. Thank you to the people who supported and suggested good ideas to the project!", "repo": "https://github.com/Aidnpatrick/Slime-Hub", "demo": "https://respectabledot.itch.io/slime-simulator"}]...
|
[{"post_id": 41491, "ts": "202 [{"post_id": 41491, "ts": "2026-08-05T18:49:31Z", "hours": 3.4703, "text": "Sound! Devlog 35 This will be a short devlog because I don’t know what else to say. Sounds effects I added inside the game: Slime spawning Clicking on slime clicking on ui(button) Slime Noises ocean wind Slime Eating Planting Guns(Lasers, Regular bullets Passive slime noises Active slime noises Night(Crickets) Credit to qubodup and filippe for the slime sound effects."}, {"post_id": 39720, "ts": "2026-08-02T21:12:32Z", "hours": 6.6606, "text": "Optimization and Fixes Devlog 34 2nd to last devlog! Cant wait to ship Things I added: When you press escape or the gear icon at the bottom-right, you can enter the settings page. In here, you can disable or enable features to your likings. This can help run the game faster on lower-end PCs. Placing blocks, plants or effects shows a small special effect. Between and Night, there will be dusk and evening. They will make the sky orange for 15 seconds. There will be more farmers and less unemployed people. Big Fixes: Upgraded the pathfinding system for the slimes. Whenever they are hungry but can’t reach their food, they will find alternate food that is close to them."}, {"post_id": 37321, "ts": "2026-07-29T22:57:14Z", "hours": 7.0725, "text": "Another Batch of Updates Devlog 33 I dont know when to stop this project, I have a lot of things to add… Check out my game here! https://respectabledot.itch.io/slime-simulator Things I added: Day/Night Cycle! Every minute it switches from day to night or vice versa. When at night, slimes and buildings glow so they are easier to see. Also, it looks cool. (The light thing took a long time to figure out) There is a notification bar that tells you what is currently happening in the world. When guns fire, it will create a muzzle flash effect. New Items: FN SCAR: A powerful gun that hits hard. It is kind of inaccurate though. Laser Gun: Its bullets are faster than other guns. Does decent damage."}, {"post_id": 35337, "ts": "2026-07-26T17:35:05Z", "hours": 8.3517, "text": "More Mechanics and Items! Devlog 32 Things I added: Houses are a new building. Currently they don’t really do anything, but later on they can be used for slimes to sleep in. Doctors is a new ability that treats and heal slimes. Their item is a medkit. When you favorite a slime, a star icon will show up above them. This helps keep track of your favorite slimes. Added 8 new cosmetics! New Items! MP5: A submachine gun that fires really fast. Blue staff: A staff that is blue and shoots out 3 blue balls. Katana: The first melee weapon. Does a lot of damage. Medkit: Used by doctors to treat and heal other slimes. M1911: Originally called the pistol. AR-15: Originally called the Rifle. MP-133: Originally called the Shotgun. Things I will add: More cosmetics coming soon! Houses will have a function other than doing the embappe special Game link here: https://respectabledot.itch.io/slime-simulator"}, {"post_id": 33076, "ts": "2026-07-22T17:35:43Z", "hours": 9.6567, "text": "Items and Slime sizes Devlog 31 I forgot to devlog again :( Items and Equipment Slimes can now have items. Items can help them complete tasks or give them a buff. To see what item the slime has, check in the slime stats. Items currently in the game: Hammer: Used for constructing buildings. Hoe: Used by farmers to farm. Pistol: For killing slimes. Rifle: For killing slimes. Slime characteristics and stuff Instead of slimes being the same size, they can be big or small. This makes it more realistic, I guess. Slimes can pass down their family name. If the two parents have different family names, the offspring chooses one of them. UI Changes The section for terrain editing got a small upgrade. Next to the text, there is an image of the block to show you what it looks like. At the top-right corner of the slime statistics page, there is the X button that closes the UI. You can check what equipment the slime is using by going to the slime UI & statistics Other Waves can appear outside of the editing zone so it looks more natural."}, {"post_id": 31412, "ts": "2026-07-19T19:17:11Z", "hours": 2.9606, "text": "Spells! Devlog 30 Check out my game here: https://respectabledot.itch.io/slime-simulator Spells control and influence a slime mentally and physically. Currently, there are only 4 spells. I will plan to add more of them in later updates."}, {"post_id": 30419, "ts": "2026-07-17T22:56:36Z", "hours": 7.5947, "text": "UI Revamp and cosmetics Devlog 29 I am currently working on another update but I forgot to post a devlog, so I will post a devlog for the things I finished then post the ones I haven’t finished yet. Things I added: After taking some feedback, I changed some stuff inside the slime UI. Instead of just plain text, I added pictures and icons to make reading a slime’s information much easier. I also replaced most of the transparent boxes with some better ones that are drawn. For the cosmetics, I added around 10 new hats."}, {"post_id": 29034, "ts": "2026-07-15T18:03:17Z", "hours": 6.9889, "text": "Kingdoms and Colonies👑🔥👑🔥 Devlog 28 Slimes can establish kingdoms if there aren’t any or are far enough away from other kingdoms. If a slime is spawned by the user, the slime will head to the cllosest kingdom(If close enough). But if a slime came from another slime, they will automatically be part of the kingdom. A slime can create a settlement if they are already in a kingdom and is far enough away from it. If a slime has one parent from a kingdom and another from another kingdom, then they will random choose which to live in. A slime farmer can only work in the kingdom’s fields. Things I will add next time: War and Economy will be my next priority. Check out my game here: https://respectabledot.itch.io/slime-simulator"}, {"post_id": 27515, "ts": "2026-07-13T04:30:28Z", "hours": 11.2606, "text": "Another big update but isn’t as tiring Devlog 27 Things I added: Violence is a lot more encouraged between the slimes. There is too much peace. Added lettuce. Instead of the slimes growing meat, they grow lettuce. This is a lot more normal. Slimes have a Walking Animation, which is just them expanding and shrinking constantly. Food generation in farms is reduced because this encourages them to explore the world more. Bug fixes Buttons in the bottom bar will not activate when users are cancelling them. In planting mode, blockable objects like trees will destroy items beneath them. In building mode, changing a tile will cause things that are stuck on top of them to disappear. Things I will add next time: There will be a list of effects. These effects buff or weaken a slime’s body or influence the way it acts. An example could be make it faster, have more health, or make it more prone to attacking other slimes. Clans and kingdoms is already being worked on. Check out my game here: https://respectabledot.itch.io/slime-simulator"}, {"post_id": 26625, "ts": "2026-07-11T15:32:53Z", "hours": 7.8944, "text": "100 HOURS LETS GO Farms. Devlog 26 This is the most tiring update ever. This update is a test, so a lot of things can be broken. Things I added: Added roles. Some slimes get assigned task, like constructing buildings or farming. Added farms. Slimes can plant and produe their own food. All they have to do is place farming soil near windmills that are set up by constructors. The soil will automatically generate crops, which is meat. Made the art for the windmill. It even has an animation! Slimes interacting with other slimes is encouraged. Food spawning is greatly reduced because slimes can now produce their own food. Check out my game here: https://respectabledot.itch.io/slime-simulator"}, {"post_id": 26089, "ts": "2026-07-10T17:53:13Z", "hours": 3.8569, "text": "Miscellaneous Updates Devlog 25 Things I added: Made a sprite for when the slimes die. It looks like a splat. When a slime dies, their family member and friends get sad. You can press “h” to hide UI. Bug Fixes: Fixed a bug where the slimes get stuck after doing eating or interacting. Fixed the tutorial-skipping button. Slimes don’t lose their color anymore Check out my game here: https://respectabledot.itch.io/slime-simulator"}, {"post_id": 25634, "ts": "2026-07-10T01:18:16Z", "hours": 2.4928, "text": "Introduction Update Devlog 24 Made a simple intro. It contains the game’s logo and unity’s logo. Made a tutorial for the start of the game. It teaches you how to spawn slimes. If you have already played, there will be an option to skip. Check out my game: https://respectabledot.itch.io/slime-simulator"}, {"post_id": 25102, "ts": "2026-07-09T02:57:24Z", "hours": 2.9383, "text": "Cosmetics Update Devlog 23 I added 10 kinds of hats that can spawn on the slimes. They don’t affect the slimes, it’s just for appearance. My project is now on itch.io, go check it out! https://respectabledot.itch.io/slime-simulator"}, {"post_id": 24389, "ts": "2026-07-07T22:19:12Z", "hours": 5.8222, "text": "Random Good Updates Devlog 22 Sorry for not devlogging more Made a new button where you can plant weeds and trees. I don’t know what else to say but this took me so long. Reworked the violence behavior in slimes. Before the update, slimes would attack the nearest person when they get upset and hungry (Hangry). But now, slimes may choose to slime out someone nearby OR someone who they already don’t like in their relationships list. This makes it more realistic to real life. Reworked equation for slime violence weight: tasks[2] = distanceSlime > 18 ? 0 : (100 - stats[2] * 0.6f - stats[0] * 0.85f) / 50 + angryBias + baseTasks[2]; When slimes sleep, they will have their own special sprite for that. Also, they will have the “zzz” icon above them. Still working on the issue where slimes get stuck after doing some task. It seems to be fixed though, for now. My project is now on itch, go check it out! https://respectabledot.itch.io/slime-simulator"}, {"post_id": 23626, "ts": "2026-07-06T18:08:25Z", "hours": 1.6611, "text": "Misc. Update Devlog 21 Added palm trees. They act like normal tree but spawn on sand. Also, they generate coconuts. Made a system where the slime’s pathfinding algorithm is a lot more efficient. Whenever they find a place where it’s impossible to go, they will make a mental note of that. This reduces possessing power. My game is now on itch, go check it out! https://respectabledot.itch.io/slime-simulator"}, {"post_id": 23264, "ts": "2026-07-06T03:28:23Z", "hours": 5.8814, "text": "Emotion Update 😀😢😡 Devlog 20 I have something else that I worked on but there is still a little more work to go. I will post it in another devlog. For this update, I added emotion to the slimes. Slimes will get happy when they eat food or when they talk to their friends. They get sad overtime when they don’t do anything or they get attacked. You will know when they get upset when a emoji shows up above them. Emojis will show up for other things too, like when eating, fighting, or interacting with others. I will post the other part in the next devlog. My game is now on itch, go check it out! https://respectabledot.itch.io/slime-simulator"}, {"post_id": 22259, "ts": "2026-07-04T17:10:08Z", "hours": 2.6747, "text": "Miscellaneous Update Devlog 19 My game is now on itch, go check it out! https://respectabledot.itch.io/slime-simulator — Things I added: Added a crosschair. THis makes it a lot easier to see what you are hovering over. The crosschair can highlight on tiles and slimes. Made an about and instructions page. Go to the top-left and you will see the buttons that will take you to the pages. Fixed slime behavior. Sometimes the slimes get stuck after eating so I hope I fixed the issue."}, {"post_id": 21595, "ts": "2026-07-03T17:07:39Z", "hours": 3.0675, "text": "Taking Feedback Devlog 18 Font Change When I showed my project to people asking for some suggestions, they said I should change the font. So I decided to change the font to more of a pixel style, called “Pixel Operator”. It took a while to set up due to my lack of experience. Slime Violence Slime will now be able to attack each other. It starts from them being sad or angry, and being hungry. Then they unleashed their fury onto other slimes. When they hit other slimes, the slimes that are hit lose health. Other Stuff Slime can now slowly regenerate health when they are fed and have energy. Fixed a bug where rocks wont spawn in world editing mode."}, {"post_id": 20544, "ts": "2026-07-02T04:58:51Z", "hours": 3.8733, "text": "Visual Update Devlog 16 Check out my game here: https://respectabledot.itch.io/slime-simulator Particles Water used to look bad because it’s just blue and nothing else, so I added waves for the movement. Leaves now fall off trees. Other graphics When near land(Sand, Grass, rocks), the water becomes more shallow. It is indicated by the water being more light than the others. Added more grass when starting the game. Clouds appear a lot less due to it sometimes blocking the user’s vision. Bug fixes Fixed a bug where slimes were not spawning, caused by a poor algorithm. Temporarily removed the buggy walking animation for the slimes. I also added apples🍎"}, {"post_id": 20090, "ts": "2026-07-01T16:38:46Z", "hours": 6.3022, "text": "World Building Update Devlog 15 Terrain Editing You can now edit your world. All of the blocks will be available. To use this feature, click on the button with the blocks. All of the blocks: Water, Grass, Sand, Rock Programming took a bit longer than I thought, but testing was surprisingly easy. Next time, I could add things other than blocks, maybe like trees and grass. Other stuff There is now world age so you know how old your world is. Small changes in some of the UI"}, {"post_id": 18659, "ts": "2026-06-29T20:59:19Z", "hours": 5.4806, "text": "Map Update Devlog 14 Terrain Generation After implementing A* pathfinding, I added obstacles and other things for the map. I used to perlin noise to make the mountains and rivers feel more real. float noise = Mathf.PerlinNoise(i * 0.05f+ offsetX, j * 0.05f + offsetY); Added trees. I can make them useful for the slimes in later updates. Art I made the sprites for the rocks and water. It didn’t take that long because it didn’t need much detail. Made the art for the “kill slime” button, which is a knife. Bug fixing Fixed a ton of bugs because adding in the new pathfinding messed a lot of things up. A lot of problems came up when making terrain generation, like the slimes behaving weirdly. Future Updates I might add clans and tribes to make things more interesting. Violence will be added very soon. Check out my game here: https://respectabledot.itch.io/slime-simulator"}, {"post_id": 17664, "ts": "2026-06-28T15:31:41Z", "hours": 5.295, "text": "Big Update Devlog 13 Favorites tab You can now favorite slimes. This is for when you like one of them or find one interesting. To use, just click on one of the slimes. Kill tab If you want to get rid of a slime, go to the kill tab and click on the slime. I will add the death animation next time. New pathfinding Replaced the old AI reinforcement learning with the A* pathfinding method. This is because the new system can avoid obstacles and doesn’t take much computing power. UI revamp Made the UI better. Most of the buttons and panels have art and stuff. Things I will add in the future Terrain: You will be able to customize the terrain to make the world more interesting Animations: When walking, the slime will have animation."}, {"post_id": 16090, "ts": "2026-06-26T04:47:00Z", "hours": 6.1744, "text": "A title Devlog 12 Things I implemented Slimes don’t mixed up colors equally anymore. This is because mixing them up equally makes them more dull and grey over time. To stop this, I had to mix the colors up unevenly to maintain the vibrant colors. To track and follow a slime, click on them and press the “Track” button. The slime UI got a major upgrade. It’s now easier to read and more sorted out. You can now spawn food for the slimes. To do it, go to the bar at the bottom. Above the bar, there is a text that tells you what you have selected inside the bar. Clouds have been implemented. Right now they don’t do anything, but they will be able to drop food."}, {"post_id": 15381, "ts": "2026-06-25T00:34:38Z", "hours": 5.0311, "text": "Batch of Updates! Devlog 11 Slime genetics Slimes have more realistic natural genetic creation. Instead of only picking up one of their parent’s colors, they mix the two colors together. Speed and Health changes for an offspring is toned down. Implemented more slime mutations. These includes drastic color changes, faster or slow speeds, or health changes. When testing, I noticed that after a while, the colors started becoming black(I don’t know why). That’s why I made it so that an offspring may be given a bold color(Blue, Red, Green, etc.). UI Made a system where you can view slimes’ friends just by checking their friends list. By clicking on one of their friends or family, it will take you to the selected slime. I made the UIs a lot more responsive and clean."}, {"post_id": 13969, "ts": "2026-06-22T22:33:23Z", "hours": 4.535, "text": "More Mechanics! Devlog 10 Small UI Update The slime information and slime population text boxes are separated. There is now a bar that is gonna contain some button. Right now the only button I added is adding more slimes, but there are gonna be more in the future. Other Things I added Slimes can now have multiple babies instead of only one. I added some grass to make it less barren."}, {"post_id": 12908, "ts": "2026-06-21T04:19:17Z", "hours": 3.1158, "text": "Update Devlog 9 Traits Slimes now have traits! Traits are minor tweaks on the brain of a slime. This brings out personality and characteristics. For now, traits are only obtainable at birth. Slimes aren’t able to pass down traits to their offspring. Other stuff I finished working on the background and is preparing to work on the art of the food. Things I will do next time I will start working on the UI because that makes it easier for people to test my simulator. I will work on more traits, so far I have 7-8 of them."}, {"post_id": 12810, "ts": "2026-06-20T23:26:52Z", "hours": 7.8597, "text": "Big Fat Update 🔨🔨🔥🔥 Devlog 8 I don’t use AI to write any of my devlogs. Relationships Slimes can interact with one another. To do so, they just have to be next to each other. After an interaction, if they haven’t known each other before, they will have an updated friends list. If they have already met each other, then what they think of each other goes up. If two slime’s relationship value go up to a certain number like 30, then they can have babies. DNA and Genes Each Slime have their own characteristics. This includes speed, health, and species. They pass down their genes to their offspring. Offspring’s traits will be slightly changed to maintain diversity and natural selection. For example, a slime with a fast genes will be able to get to a food quicker than the ones that are slow. The faster slime will get to survive and make babies. Color 🔥🔥(My fav update) Slimes have multiple kinds of traits, and that includes color. They can pass down their color to their offspring(Though their offspring’s color may be slightly different). This addition makes the game look a lot better. Problems 😢😢😢 While doing some tests, I noticed that some slimes were dying. This was weird because there were definitely enough food for everyone. When I looked closer, I realized that there was a bug where some slimes get stuck and become braindead. This problem is and still very difficult to fix."}, {"post_id": 11703, "ts": "2026-06-19T02:03:09Z", "hours": 2.3189, "text": "Art! 🔥🔥🔥🔥 Devlog 7 Made a sprite for the slimes. The default color is white because it supposed to be changed into other colors. The movement of slimes is now smooth instead of teleporting to the nearest block. A lot easier ot tell what’s going on. Things I will add later: Better UI will be implemented later. Because right now it’s just a piece of text that tells you the stats of a slime. Demo will be released soon because I need some feedback. Slimes will be able to kill each other. 💀💀💀"}, {"post_id": 11574, "ts": "2026-06-18T21:13:40Z", "hours": 4.0161, "text": "More mechanics! Devlog 6 In this update I added a basic social structure and generations. Things added in this update: When two slimes meet, they gather some information. If one slime’s mental value is bad while meeting, then they will have a bad meeting. If they have a good meeting and keep it up for multiple interactions, then they can have babies. There are a lot less bugs when slimes are interacting with each other. They don’t glitch out nor do they just stop moving. Food now constantly generates, so the slimes can live and thrive. Things I will add later: Parents will soon be able to pass down genes and DNA to their offspring. There will be a more advanced social structure so it doesn’t seem too robotic. Art will be implemented later on. I might put this on itch.io for people to test. My game is now on itch, go check it out! https://respectabledot.itch.io/slime-simulator"}, {"post_id": 11017, "ts": "2026-06-18T01:23:04Z", "hours": 3.3789, "text": "Relationships!😀😀😀😀 Devlog 5 This update is mainly focused on relationships. Slimes can now interact with each other. How it works: ⚙️⚙️⚙️ Slime number 1 will look for another slime within a certain radius. If found, slime number 1 will go to that slime (Slime number 2) and have some sort of interaction. If slime number two is already in the list of contact of slime number one, their bond will go up. Formula for the value of interacting: (100 - stats[2]) / 100 - Vector3.Distance(FindClosest(otherSlimes, Mathf.Infinity, \"pluh\").transform.position, transform.position) / 20; Later updates: 🔨🔨🔨🔨 Big fixes: Sometimes after an interaction, slime glitches out and has a seizure. The seizure is temporary but I still want to fix this issue. Slime mating: If slimes have a very high bond, they can have baby slimes. (Baby slimes will have the genes and DNA of their parents)"}, {"post_id": 10413, "ts": "2026-06-17T03:20:04Z", "hours": 2.1417, "text": "4th Devlog Like & Sub for good payouts (Legit and proved) Things I added: ⭐🐵 Slimes now has an idling state. This mean that when they dont have anything to do, they will just wander around to nearby places or stand still. This mechanic is to make the slimes feel more alive. Made it so that whenever a slime finishes a task, they will have a cooldown for around 2 seconds. Then they can do their thing again. Fixed bugs, like the UI not working right and the slime tweaking out whenever they finish pathfinding. Thing I will add later: 🔨🔨🔨 Slimes will soon have relationships with other slimes. They can be friends or enemies. Since I already coded the pathfinding, it should be easy. Slimes who are enemies will attack each other. DNA and Genes will be added later on. Parents will be able to pass their genes to their offsprings."}, {"post_id": 9735, "ts": "2026-06-16T05:02:30Z", "hours": 2.0414, "text": "Devlog 3.😩😩😩 Things I added: Slimes now have color! There is a statistic text at the top-left. Whenever you click on a slime, it will show the stats of that slime. Fixed a bug where slimes stop whenever they collect food."}, {"post_id": 9560, "ts": "2026-06-15T22:42:40Z", "hours": 0.8458, "text": "Du Bist Gut Genug 🥵🥵 (Ball knowledge) Devlog 3 Things I added: I wanted to make each slime have a unique name, so I added a name generator. How this works is a script will put random words from a text file that contains nouns. Slimes now has different movement speed. The average speed of all of them should be around 0.7 block/sec. (Lowest speed: 1 b/s, Highest speed: 0.4 b/s) Slimes now have hit points. If the hit points go to 0 they will die. (Lowest hitpoint: 70, Highest hitpoint: 140) If the slime has 0 hunger or is too tired, they will slowly start to lose health and die. Made the github repo, so people can see my cool code."}, {"post_id": 9498, "ts": "2026-06-15T21:03:54Z", "hours": 2.3692, "text": "2nd Devlog🥵🥵🥵 Note: Still no github repo for you Things I added: I put together the slime, so now it can walk around and do things slimes do. The slime now has a food source, so the slimes can now walk around and collect some nutrients. Things I will add in the future: Slimes will be able to do more things, and they will be able to interact. They can do things like talk or kill each other."}, {"post_id": 8918, "ts": "2026-06-14T20:53:50Z", "hours": 1.3481, "text": "1st Devlog! Note: No repo yet, I will add it later. Things I added: Made the structure of a slimes’ brain and mechanic. Made my own AI pathfinding thingy. Right now it doesn’t support obstacles, but it will soon. How the slime’s brain works: There was many variables inside. Each variable represents a stat, like hunger points or energy level. Once in a while the brain chooses the highest variable and will act accordingly. ex. If the hunger variable is the highest then the brain will find something to eat. Updates for later: I will actually put everything together and maybe make the repo. The slimes will be seperated into different species. The the much later future, you can influence the slime’s dna and stuff."}]...
|
Title: Slime Simulator by @RespectableDot | Starda Title: Slime Simulator by @RespectableDot | Stardance
Devlogs:
1st Devlog! Note: No repo yet, I will add it later. Things I added: Made the structure of a slimes’ brain and mechanic. Made my own AI pathfinding thingy. Right now it doesn’t support obstacles, but it will soon. How the slime’s brain works: There was many variables inside. Each variable represents a stat, like hunger points or energy level. Once in a while the brain chooses the highest variable and will act accordingly. ex. If the hunger variable is the highest then the brain will find something to eat. Updates for later: I will actually put everything together and maybe make the repo. The slimes will be seperated into different species. The the much later future, you can influence the slime’s dna and stuff.
2nd Devlog🥵🥵🥵 Note: Still no github repo for you Things I added: I put together the slime, so now it can walk around and do things slimes do. The slime now has a food source, so the slimes can now walk around and collect some nutrients. Things I will add in the future: Slimes will be able to do more things, and they will be able to interact. They can do things like talk or kill each other.
Du Bist Gut Genug 🥵🥵 (Ball knowledge) Devlog 3 Things I added: I wanted to make each slime have a unique name, so I added a name generator. How this works is a script will put random words from a text file that contains nouns. Slimes now has different movement speed. The average speed of all of them should be around 0.7 block/sec. (Lowest speed: 1 b/s, Highest speed: 0.4 b/s) Slimes now have hit points. If the hit points go to 0 they will die. (Lowest hitpoint: 70, Highest hitpoint: 140) If the slime has 0 hunger or is too tired, they will slowly start to lose health and die. Made the github repo, so people can see my cool code.
Devlog 3.😩😩😩 Things I added: Slimes now have color! There is a statistic text at the top-left. Whenever you click on a slime, it will show the stats of that slime. Fixed a bug where slimes stop whenever they collect food.
4th Devlog Like & Sub for good payouts (Legit and proved) Things I added: ⭐🐵 Slimes now has an idling state. This mean that when they dont have anything to do, they will just wander around to nearby places or stand still. This mechanic is to make the slimes feel more alive. Made it so that whenever a slime finishes a task, they will have a cooldown for around 2 seconds. Then they can do their thing again. Fixed bugs, like the UI not working right and the slime tweaking out whenever they finish pathfinding. Thing I will add later: 🔨🔨🔨 Slimes will soon have relationships with other slimes. They can be friends or enemies. Since I already coded the pathfinding, it should be easy. Slimes who are enemies will attack each other. DNA and Genes will be added later on. Parents will be able to pass their genes to their offsprings.
Relationships!😀😀😀😀 Devlog 5 This update is mainly focused on relationships. Slimes can now interact with each other. How it works: ⚙️⚙️⚙️ Slime number 1 will look for another slime within a certain radius. If found, slime number 1 will go to that slime (Slime number 2) and have some sort of interaction. If slime number two is already in the list of contact of slime number one, their bond will go up. Formula for the value of interacting: (100 - stats[2]) / 100 - Vector3.Distance(FindClosest(otherSlimes, Mathf.Infinity, "pluh").transform.position, transform.position) / 20; Later updates: 🔨🔨🔨🔨 Big fixes: Sometimes after an interaction, slime glitches out and has a seizure. The seizure is temporary but I still want to fix this issue. Slime mating: If slimes have a very high bond, they can have baby slimes. (Baby slimes will have the genes and DNA of their parents)
More mechanics! Devlog 6 In this update I added a basic social structure and generations. Things added in this update: When two slimes meet, they gather some information. If one slime’s mental value is bad while meeting, then they will have a bad meeting. If they have a good meeting and keep it up for multiple interactions, then they can have babies. There are a lot less bugs when slimes are interacting with each other. They don’t glitch out nor do they just stop moving. Food now constantly generates, so the slimes can live and thrive. Things I will add later: Parents will soon be able to pass down genes and DNA to their offspring. There will be a more advanced social structure so it doesn’t seem too robotic. Art will be implemented later on. I might put this on itch.io for people to test. My game is now on itch, go check it out! https://respectabledot.itch.io/slime-simulator
Art! 🔥🔥🔥🔥 Devlog 7 Made a sprite for the slimes. The default color is white because it supposed to be changed into other colors. The movement of slimes is now smooth instead of teleporting to the nearest block. A lot easier ot tell what’s going on. Things I will add later: Better UI will be implemented later. Because right now it’s just a piece of text that tells you the stats of a slime. Demo will be released soon because I need some feedback. Slimes will be able to kill each other. 💀💀💀
Big Fat Update 🔨🔨🔥🔥 Devlog 8 I don’t use AI to write any of my devlogs. Relationships Slimes can interact with one another. To do so, they just have to be next to each other. After an interaction, if they haven’t known each other before, they will have an updated friends list. If they have already met each other, then what they think of each other goes up. If two slime’s relationship value go up to a certain number like 30, then they can have babies. DNA and Genes Each Slime have their own characteristics. This includes speed, health, and species. They pass down their genes to their offspring. Offspring’s traits will be slightly changed to maintain diversity and natural selection. For example, a slime with a fast genes will be able to get to a food quicker than the ones that are slow. The faster slime will get to survive and make babies. Color 🔥🔥(My fav update) Slimes have multiple kinds of traits, and that includes color. They can pass down their color to their offspring(Though their offspring’s color may be slightly different). This addition makes the game look a lot better. Problems 😢😢😢 While doing some tests, I noticed that some slimes were dying. This was weird because there were definitely enough food for everyone. When I looked closer, I realized that there was a bug where some slimes get stuck and become braindead. This problem is and still very difficult to fix.
Update Devlog 9 Traits Slimes now have traits! Traits are minor tweaks on the brain of a slime. This brings out personality and characteristics. For now, traits are only obtainable at birth. Slimes aren’t able to pass down traits to their offspring. Other stuff I finished working on the background and is preparing to work on the art of the food. Things I will do next time I will start working on the UI because that makes it easier for people to test my simulator. I will work on more traits, so far I have 7-8 of them.
More Mechanics! Devlog 10 Small UI Update The slime information and slime population text boxes are separated. There is now a bar that is gonna contain some button. Right now the only button I added is adding more slimes, but there are gonna be more in the future. Other Things I added Slimes can now have multiple babies instead of only one. I added some grass to make it less barren.
Batch of Updates! Devlog 11 Slime genetics Slimes have more realistic natural genetic creation. Instead of only picking up one of their parent’s colors, they mix the two colors together. Speed and Health changes for an offspring is toned down. Implemented more slime mutations. These includes drastic color changes, faster or slow speeds, or health changes. When testing, I noticed that after a while, the colors started becoming black(I don’t know why). That’s why I made it so that an offspring may be given a bold color(Blue, Red, Green, etc.). UI Made a system where you can view slimes’ friends just by checking their friends list. By clicking on one of their friends or family, it will take you to the selected slime. I made the UIs a lot more responsive and clean.
A title Devlog 12 Things I implemented Slimes don’t mixed up colors equally anymore. This is because mixing them up equally makes them more dull and grey over time. To stop this, I had to mix the colors up unevenly to maintain the vibrant colors. To track and follow a slime, click on them and press the “Track” button. The slime UI got a major upgrade. It’s now easier to read and more sorted out. You can now spawn food for the slimes. To do it, go to the bar at the bottom. Above the bar, there is a text that tells you what you have selected inside the bar. Clouds have been implemented. Right now they don’t do anything, but they will be able to drop food.
Big Update Devlog 13 Favorites tab You can now favorite slimes. This is for when you like one of them or find one interesting. To use, just click on one of the slimes. Kill tab If you want to get rid of a slime, go to the kill tab and click on the slime. I will add the death animation next time. New pathfinding Replaced the old AI reinforcement learning with the A* pathfinding method. This is because the new system can avoid obstacles and doesn’t take much computing power. UI revamp Made the UI better. Most of the buttons and panels have art and stuff. Things I will add in the future Terrain: You will be able to customize the terrain to make the world more interesting Animations: When walking, the slime will have animation.
Map Update Devlog 14 Terrain Generation After implementing A* pathfinding, I added obstacles and other things for the map. I used to perlin noise to make the mountains and rivers feel more real. float noise = Mathf.PerlinNoise(i * 0.05f+ offsetX, j * 0.05f + offsetY); Added trees. I can make them useful for the slimes in later updates. Art I made the sprites for the rocks and water. It didn’t take that long because it didn’t need much detail. Made the art for the “kill slime” button, which is a knife. Bug fixing Fixed a ton of bugs because adding in the new pathfinding messed a lot of things up. A lot of problems came up when making terrain generation, like the slimes behaving weirdly. Future Updates I might add clans and tribes to make things more interesting. Violence will be added very soon. Check out my game here: https://respectabledot.itch.io/slime-simulator
World Building Update Devlog 15 Terrain Editing You can now edit your world. All of the blocks will be available. To use this feature, click on the button with the blocks. All of the blocks: Water, Grass, Sand, Rock Programming took a bit longer than I thought, but testing was surprisingly easy. Next time, I could add things other than blocks, maybe like trees and grass. Other stuff There is now world age so you know how old your world is. Small changes in some of the UI
Visual Update Devlog 16 Check out my game here: https://respectabledot.itch.io/slime-simulator Particles Water used to look bad because it’s just blue and nothing else, so I added waves for the movement. Leaves now fall off trees. Other graphics When near land(Sand, Grass, rocks), the water becomes more shallow. It is indicated by the water being more light than the others. Added more grass when starting the game. Clouds appear a lot less due to it sometimes blocking the user’s vision. Bug fixes Fixed a bug where slimes were not spawning, caused by a poor algorithm. Temporarily removed the buggy walking animation for the slimes. I also added apples🍎
Taking Feedback Devlog 18 Font Change When I showed my project to people asking for some suggestions, they said I should change the font. So I decided to change the font to more of a pixel style, called “Pixel Operator”. It took a while to set up due to my lack of experience. Slime Violence Slime will now be able to attack each other. It starts from them being sad or angry, and being hungry. Then they unleashed their fury onto other slimes. When they hit other slimes, the slimes that are hit lose health. Other Stuff Slime can now slowly regenerate health when they are fed and have energy. Fixed a bug where rocks wont spawn in world editing mode.
Miscellaneous Update Devlog 19 My game is now on itch, go check it out! https://respectabledot.itch.io/slime-simulator — Things I added: Added a crosschair. THis makes it a lot easier to see what you are hovering over. The crosschair can highlight on tiles and slimes. Made an about and instructions page. Go to the top-left and you will see the buttons that will take you to the pages. Fixed slime behavior. Sometimes the slimes get stuck after eating so I hope I fixed the issue.
Emotion Update 😀😢😡 Devlog 20 I have something else that I worked on but there is still a little more work to go. I will post it in another devlog. For this update, I added emotion to the slimes. Slimes will get happy when they eat food or when they talk to their friends. They get sad overtime when they don’t do anything or they get attacked. You will know when they get upset when a emoji shows up above them. Emojis will show up for other things too, like when eating, fighting, or interacting with others. I will post the other part in the next devlog. My game is now on itch, go check it out! https://respectabledot.itch.io/slime-simulator
Misc. Update Devlog 21 Added palm trees. They act like normal tree but spawn on sand. Also, they generate coconuts. Made a system where the slime’s pathfinding algorithm is a lot more efficient. Whenever they find a place where it’s impossible to go, they will make a mental note of that. This reduces possessing power. My game is now on itch, go check it out! https://respectabledot.itch.io/slime-simulator
Random Good Updates Devlog 22 Sorry for not devlogging more Made a new button where you can plant weeds and trees. I don’t know what else to say but this took me so long. Reworked the violence behavior in slimes. Before the update, slimes would attack the nearest person when they get upset and hungry (Hangry). But now, slimes may choose to slime out someone nearby OR someone who they already don’t like in their relationships list. This makes it more realistic to real life. Reworked equation for slime violence weight: tasks[2] = distanceSlime > 18 ? 0 : (100 - stats[2] * 0.6f - stats[0] * 0.85f) / 50 + angryBias + baseTasks[2]; When slimes sleep, they will have their own special sprite for that. Also, they will have the “zzz” icon above them. Still working on the issue where slimes get stuck after doing some task. It seems to be fixed though, for now. My project is now on itch, go check it out! https://respectabledot.itch.io/slime-simulator
Cosmetics Update Devlog 23 I added 10 kinds of hats that can spawn on the slimes. They don’t affect the slimes, it’s just for appearance. My project is now on itch.io, go check it out! https://respectabledot.itch.io/slime-simulator
Introduction Update Devlog 24 Made a simple intro. It contains the game’s logo and unity’s logo. Made a tutorial for the start of the game. It teaches you how to spawn slimes. If you have already played, there will be an option to skip. Check out my game: https://respectabledot.itch.io/slime-simulator
Miscellaneous Updates Devlog 25 Things I added: Made a sprite for when the slimes die. It looks like a splat. When a slime dies, their family member and friends get sad. You can press “h” to hide UI. Bug Fixes: Fixed a bug where the slimes get stuck after doing eating or interacting. Fixed the tutorial-skipping button. Slimes don’t lose their color anymore Check out my game here: https://respectabledot.itch.io/slime-simulator
100 HOURS LETS GO Farms. Devlog 26 This is the most tiring update ever. This update is a test, so a lot of things can be broken. Things I added: Added roles. Some slimes get assigned task, like constructing buildings or farming. Added farms. Slimes can plant and produe their own food. All they have to do is place farming soil near windmills that are set up by constructors. The soil will automatically generate crops, which is meat. Made the art for the windmill. It even has an animation! Slimes interacting with other slimes is encouraged. Food spawning is greatly reduced because slimes can now produce their own food. Check out my game here: https://respectabledot.itch.io/slime-simulator
Another big update but isn’t as tiring Devlog 27 Things I added: Violence is a lot more encouraged between the slimes. There is too much peace. Added lettuce. Instead of the slimes growing meat, they grow lettuce. This is a lot more normal. Slimes have a Walking Animation, which is just them expanding and shrinking constantly. Food generation in farms is reduced because this encourages them to explore the world more. Bug fixes Buttons in the bottom bar will not activate when users are cancelling them. In planting mode, blockable objects like trees will destroy items beneath them. In building mode, changing a tile will cause things that are stuck on top of them to disappear. Things I will add next time: There will be a list of effects. These effects buff or weaken a slime’s body or influence the way it acts. An example could be make it faster, have more health, or make it more prone to attacking other slimes. Clans and kingdoms is already being worked on. Check out my game here: https://respectabledot.itch.io/slime-simulator
Kingdoms and Colonies👑🔥👑🔥 Devlog 28 Slimes can establish kingdoms if there aren’t any or are far enough away from other kingdoms. If a slime is spawned by the user, the slime will head to the cllosest kingdom(If close enough). But if a slime came from another slime, they will automatically be part of the kingdom. A slime can create a settlement if they are already in a kingdom and is far enough away from it. If a slime has one parent from a kingdom and another from another kingdom, then they will random choose which to live in. A slime farmer can only work in the kingdom’s fields. Things I will add next time: War and Economy will be my next priority. Check out my game here: https://respectabledot.itch.io/slime-simulator
UI Revamp and cosmetics Devlog 29 I am currently working on another update but I forgot to post a devlog, so I will post a devlog for the things I finished then post the ones I haven’t finished yet. Things I added: After taking some feedback, I changed some stuff inside the slime UI. Instead of just plain text, I added pictures and icons to make reading a slime’s information much easier. I also replaced most of the transparent boxes with some better ones that are drawn. For the cosmetics, I added around 10 new hats.
Spells! Devlog 30 Check out my game here: https://respectabledot.itch.io/slime-simulator Spells control and influence a slime mentally and physically. Currently, there are only 4 spells. I will plan to add more of them in later updates.
Items and Slime sizes Devlog 31 I forgot to devlog again :( Items and Equipment Slimes can now have items. Items can help them complete tasks or give them a buff. To see what item the slime has, check in the slime stats. Items currently in the game: Hammer: Used for constructing buildings. Hoe: Used by farmers to farm. Pistol: For killing slimes. Rifle: For killing slimes. Slime characteristics and stuff Instead of slimes being the same size, they can be big or small. This makes it more realistic, I guess. Slimes can pass down their family name. If the two parents have different family names, the offspring chooses one of them. UI Changes The section for terrain editing got a small upgrade. Next to the text, there is an image of the block to show you what it looks like. At the top-right corner of the slime statistics page, there is the X button that closes the UI. You can check what equipment the slime is using by going to the slime UI & statistics Other Waves can appear outside of the editing zone so it looks more natural.
More Mechanics and Items! Devlog 32 Things I added: Houses are a new building. Currently they don’t really do anything, but later on they can be used for slimes to sleep in. Doctors is a new ability that treats and heal slimes. Their item is a medkit. When you favorite a slime, a star icon will show up above them. This helps keep track of your favorite slimes. Added 8 new cosmetics! New Items! MP5: A submachine gun that fires really fast. Blue staff: A staff that is blue and shoots out 3 blue balls. Katana: The first melee weapon. Does a lot of damage. Medkit: Used by doctors to treat and heal other slimes. M1911: Originally called the pistol. AR-15: Originally called the Rifle. MP-133: Originally called the Shotgun. Things I will add: More cosmetics coming soon! Houses will have a function other than doing the embappe special Game link here: https://respectabledot.itch.io/slime-simulator
Another Batch of Updates Devlog 33 I dont know when to stop this project, I have a lot of things to add… Check out my game here! https://respectabledot.itch.io/slime-simulator Things I added: Day/Night Cycle! Every minute it switches from day to night or vice versa. When at night, slimes and buildings glow so they are easier to see. Also, it looks cool. (The light thing took a long time to figure out) There is a notification bar that tells you what is currently happening in the world. When guns fire, it will create a muzzle flash effect. New Items: FN SCAR: A powerful gun that hits hard. It is kind of inaccurate though. Laser Gun: Its bullets are faster than other guns. Does decent damage.
Optimization and Fixes Devlog 34 2nd to last devlog! Cant wait to ship Things I added: When you press escape or the gear icon at the bottom-right, you can enter the settings page. In here, you can disable or enable features to your likings. This can help run the game faster on lower-end PCs. Placing blocks, plants or effects shows a small special effect. Between and Night, there will be dusk and evening. They will make the sky orange for 15 seconds. There will be more farmers and less unemployed people. Big Fixes: Upgraded the pathfinding system for the slimes. Whenever they are hungry but can’t reach their food, they will find alternate food that is close to them.
Sound! Devlog 35 This will be a short devlog because I don’t know what else to say. Sounds effects I added inside the game: Slime spawning Clicking on slime clicking on ui(button) Slime Noises ocean wind Slime Eating Planting Guns(Lasers, Regular bullets Passive slime noises Active slime noises Night(Crickets) Credit to qubodup and filippe for the slime sound effects.
Ships:
A simulator that is about making crazy slimes through natural selection, evolution, and genetic engineering. One thing that made this project challenging was the slime pathfinding. To solve this, I used the A* pathfinding technique. Something I am proud of is the art style. I worked very hard on it and I think it look good. To test my project, just click on the demo link. Thank you to the people who supported and suggested good ideas to the project!...
|
1792993734.975676
|
1793080134.975676
|
|
510
|
Duvo Eins by @davidv3767 | Stardance
|
davidv3767
|
1
|
19.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T14:06:39Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple game to teach kids math. It works similar to Prodigy, where you answer questions to attack the other player OR defend yourself. Check the ReadMe for more instructions. Note this: you will need TWO players & a keyboard for this to work as intended, but for testing purposes you can play by yourself. Hope you enjoy Duvo Eins! P.S. Depending on your screen size, the graphics might be skewed as it is programmed for my monitor and I don’t know how to unskew it in Python on any sized monitor. I would skip this if it’s too skewed, but I’ll hopefully add a video demo sometime soon (so check for it)!", "repo": "https://github.com/davidv3767/Duvo-Eins", "demo": "https://github.com/davidv3767/Duvo-Eins/releases/tag/DuvoEins"}]...
|
[{"post_id": 48494, "ts": "202 [{"post_id": 48494, "ts": "2026-08-16T21:18:01Z", "hours": 1.8686, "text": "Devlog #14: Welcome v2P.0.5.0 of Duvo Eins! What I Did: Well, I polished up my program, added a ReadMe, created a .exe program etc. to create the ship-ready version! I formatted the version differently (v2P.0.5.0 instead of v0.5) because I wanted to make sure this version was clear to be two-player only (as I am planning to do single-player in the future). P.S. I did reuse a picture this time since these is nothing really new to show! Github Commit(s): Check the repo yourself! Next Up: But I’m done! Oh wait… all the shipping stuff :)"}, {"post_id": 46318, "ts": "2026-08-13T13:48:52Z", "hours": 1.48, "text": "Devlog #13: Ooh… Fighting! What I Did: This is basically the endgame here… literally! Here’s some of what I did: finished the combat mechanic (except for color multipliers) added a dynamic health bar started the endgame screen Soon, we’re going to make it to v0.5! Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/b8be0b52a1d765e5deeaa225834ec71a509a7745 Next Up: I will work on the endgame screen & start polishing for v0.5!"}, {"post_id": 45354, "ts": "2026-08-11T19:07:24Z", "hours": 1.6964, "text": "Devlog #12: We Can Attack Now? What I Did: The current program is bugged a little bit, but here’s what was done this session: added a Player 2 question mechanic finished the settings page started the combat mechanic, but it’s very bugged Next up, I got to fix a lot of bugs! Github Commit(s): No commits this time :( Next Up: I will continue working on the gameplay!"}, {"post_id": 44115, "ts": "2026-08-09T17:51:35Z", "hours": 1.2933, "text": "Devlog #11: Questions Loading… What I Did: I’m really excited with the progress of this project, especially since everything is coming together. Here’s some things I did in this session: mostly set up the settings page started the Player 1 question mechanic Note: In the picture below, I want to note that the questions do keep on glitching between the two kindergarten questions, but that is because the player mechanic didn’t get finished before this devlog. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/1ff48a802b77ec992dd962845cc0f5d44d9073bf Next Up: I will continue working on the question mechanics… and maybe combat too!"}, {"post_id": 42939, "ts": "2026-08-07T22:32:10Z", "hours": 1.4628, "text": "Devlog #10: Progress (Part 2) What I Did: More progress was done in this session! Some of the things done are the following: created a name tag & health bar for characters added instructions to the info page started a ReadMe (will be improved on) added a new file (duvoeins_settings.py) to adjust questions chosen in the database Honestly, I’m really happy with what I’ve done over the past 10 devlogs! I wonder what will happen by Devlog #20? Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/d7e34a2d8d926c38beb4e0236bc6594b4336d8e1 Next Up: I will continue working on the gameplay… we’re inching closer towards a fully playable program!"}, {"post_id": 40968, "ts": "2026-08-04T20:56:31Z", "hours": 1.3028, "text": "Devlog #9: Progress What I Did: I took a very long break, but I was able to come back today! I did a lot of things, but here are the major things: finished creating the base of players’ characters created a better “arena” background linked Python program to the .json file Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/8133c297700de8fbfc2464c26c951844cf1b483b Next Up: I will continue working on the gameplay!"}, {"post_id": 10902, "ts": "2026-06-17T21:22:40Z", "hours": 0.785, "text": "Devlog #8: Gameplay Loading… What I Did: I set up the foundation to work on the gameplay. I have a small question bank in .json (screenshotted that since I have nothing else to show), a blank screen, and a small Character class! Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/1e1e41e6983fd23b53de307c458ac4008cb98407 Next Up: In my next session, I will continue working on the gameplay! P.S. Main reason to make this devlog is to show at an Expedition!"}, {"post_id": 6309, "ts": "2026-06-10T16:46:31Z", "hours": 1.3322, "text": "Devlog #7: Selection Is Done What I Did: I did a lot of things in the past sessions, including finishing up the selection mechanic and starting the gameplay. With the current program, working on gameplay can now begin! Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/6dd5a23de88b436c12e9206e3bbc14375d49e09d Next Up: In my next session, I will start working on the gameplay!"}, {"post_id": 4585, "ts": "2026-06-07T22:34:15Z", "hours": 1.4583, "text": "Devlog #6: Basic Stats What I Did: It took some trial & error, but the stats menu finally works as intended! By pressing 1-4 on the 2nd selection screen, you can see basic information. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/650ac1c44b2586e8a0801187b37b03ee65dae4dahttps://github.com/davidv3767/Duvo-Eins/commit/aae70fc73cabe5a642e75c04108f830e3b269f55 Next Up: In my next session, I will make the second selection screen allow each player to select a character (via triple pressing a key), rather than just the stats shown."}, {"post_id": 2783, "ts": "2026-06-05T16:13:42Z", "hours": 1.5697, "text": "Devlog #5: Character Grid Graphic & Three More Files What I Did: First of all, I added the character grid (without stats & selection mechanic). Secondly, I split my code into four different files, improving readability by a lot! I was going to continue working, but I wanted to publish a devlog first. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/f10ce740a106347836616f34555354be7c73d8de Next Up: In my next session, I will make the second selection screen work, allowing the player(s) to select a character!"}, {"post_id": 2195, "ts": "2026-06-04T15:48:21Z", "hours": 1.1103, "text": "Devlog #4: Player Name Customization What I Did: In my past session(s) of coding, I focused on allowing the players to customize their name! Now, each player has a customized username for the round they are playing, allowing players to better connect to the game. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/ffa216377c5c137ba125f8c36df04605f35ddd79 https://github.com/davidv3767/Duvo-Eins/commit/3625647f57e2a42ef1580669bf748265fed4a524 Next Up: In my next session, I will make the second selection screen, involving simple characters & basic stats!"}, {"post_id": 978, "ts": "2026-06-02T19:16:45Z", "hours": 1.7047, "text": "Devlog #3: Getting Into The Game What I Did: Today, I focused on making an info screen (with instructions coming soon!) and starting on the first selection screen, allowing players to type in their names. I wanted to write this devlog before I continue working on the typing mechanic due to the amount of progress & time I have spent. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/c4d71da3cc1f0890666f09c0d4444017a8ec35b2 Next Up: In my next session, I will lock in and make the typing mechanic for the 1st selection screen work! Then, I’ll start on the 2nd selection screen (characters)!"}, {"post_id": 378, "ts": "2026-06-01T18:46:10Z", "hours": 0.9842, "text": "Devlog #2: Just The Beginning What I Did: I focused, in this session, on getting the START and INFO buttons to appear & make the background look better. I also sorted out my functions and started the mechanic for the buttons mentioned above. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/bcc683b7d776d8275721a71e24541b1d0189ae7c Next Up: In my next session, I will focus on making the START and INFO buttons work, and maybe start the SELECTION screens!"}, {"post_id": 148, "ts": "2026-05-31T23:14:35Z", "hours": 0.8075, "text": "Devlog #1: The Humble Start to Duvo Eins What I Did: This is the start of Duvo Eins, a duel-style learning app! After I tinkered with some window settings, I created the beginning to the start screen, adjusting the title little by little until it looked the best to me! GitHub Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/6c81a82a681d124c7b7eafac3cc968cccd1dac44 Next Up: I’ll be continuing to improve the start screen! I’ll add some buttons and change the background to look nicer!"}]...
|
Title: Duvo Eins by @davidv3767 | Stardance
Devlo Title: Duvo Eins by @davidv3767 | Stardance
Devlogs:
Devlog #1: The Humble Start to Duvo Eins What I Did: This is the start of Duvo Eins, a duel-style learning app! After I tinkered with some window settings, I created the beginning to the start screen, adjusting the title little by little until it looked the best to me! GitHub Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/6c81a82a681d124c7b7eafac3cc968cccd1dac44 Next Up: I’ll be continuing to improve the start screen! I’ll add some buttons and change the background to look nicer!
Devlog #2: Just The Beginning What I Did: I focused, in this session, on getting the START and INFO buttons to appear & make the background look better. I also sorted out my functions and started the mechanic for the buttons mentioned above. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/bcc683b7d776d8275721a71e24541b1d0189ae7c Next Up: In my next session, I will focus on making the START and INFO buttons work, and maybe start the SELECTION screens!
Devlog #3: Getting Into The Game What I Did: Today, I focused on making an info screen (with instructions coming soon!) and starting on the first selection screen, allowing players to type in their names. I wanted to write this devlog before I continue working on the typing mechanic due to the amount of progress & time I have spent. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/c4d71da3cc1f0890666f09c0d4444017a8ec35b2 Next Up: In my next session, I will lock in and make the typing mechanic for the 1st selection screen work! Then, I’ll start on the 2nd selection screen (characters)!
Devlog #4: Player Name Customization What I Did: In my past session(s) of coding, I focused on allowing the players to customize their name! Now, each player has a customized username for the round they are playing, allowing players to better connect to the game. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/ffa216377c5c137ba125f8c36df04605f35ddd79 https://github.com/davidv3767/Duvo-Eins/commit/3625647f57e2a42ef1580669bf748265fed4a524 Next Up: In my next session, I will make the second selection screen, involving simple characters & basic stats!
Devlog #5: Character Grid Graphic & Three More Files What I Did: First of all, I added the character grid (without stats & selection mechanic). Secondly, I split my code into four different files, improving readability by a lot! I was going to continue working, but I wanted to publish a devlog first. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/f10ce740a106347836616f34555354be7c73d8de Next Up: In my next session, I will make the second selection screen work, allowing the player(s) to select a character!
Devlog #6: Basic Stats What I Did: It took some trial & error, but the stats menu finally works as intended! By pressing 1-4 on the 2nd selection screen, you can see basic information. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/650ac1c44b2586e8a0801187b37b03ee65dae4dahttps://github.com/davidv3767/Duvo-Eins/commit/aae70fc73cabe5a642e75c04108f830e3b269f55 Next Up: In my next session, I will make the second selection screen allow each player to select a character (via triple pressing a key), rather than just the stats shown.
Devlog #7: Selection Is Done What I Did: I did a lot of things in the past sessions, including finishing up the selection mechanic and starting the gameplay. With the current program, working on gameplay can now begin! Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/6dd5a23de88b436c12e9206e3bbc14375d49e09d Next Up: In my next session, I will start working on the gameplay!
Devlog #8: Gameplay Loading… What I Did: I set up the foundation to work on the gameplay. I have a small question bank in .json (screenshotted that since I have nothing else to show), a blank screen, and a small Character class! Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/1e1e41e6983fd23b53de307c458ac4008cb98407 Next Up: In my next session, I will continue working on the gameplay! P.S. Main reason to make this devlog is to show at an Expedition!
Devlog #9: Progress What I Did: I took a very long break, but I was able to come back today! I did a lot of things, but here are the major things: finished creating the base of players’ characters created a better “arena” background linked Python program to the .json file Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/8133c297700de8fbfc2464c26c951844cf1b483b Next Up: I will continue working on the gameplay!
Devlog #10: Progress (Part 2) What I Did: More progress was done in this session! Some of the things done are the following: created a name tag & health bar for characters added instructions to the info page started a ReadMe (will be improved on) added a new file (duvoeins_settings.py) to adjust questions chosen in the database Honestly, I’m really happy with what I’ve done over the past 10 devlogs! I wonder what will happen by Devlog #20? Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/d7e34a2d8d926c38beb4e0236bc6594b4336d8e1 Next Up: I will continue working on the gameplay… we’re inching closer towards a fully playable program!
Devlog #11: Questions Loading… What I Did: I’m really excited with the progress of this project, especially since everything is coming together. Here’s some things I did in this session: mostly set up the settings page started the Player 1 question mechanic Note: In the picture below, I want to note that the questions do keep on glitching between the two kindergarten questions, but that is because the player mechanic didn’t get finished before this devlog. Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/1ff48a802b77ec992dd962845cc0f5d44d9073bf Next Up: I will continue working on the question mechanics… and maybe combat too!
Devlog #12: We Can Attack Now? What I Did: The current program is bugged a little bit, but here’s what was done this session: added a Player 2 question mechanic finished the settings page started the combat mechanic, but it’s very bugged Next up, I got to fix a lot of bugs! Github Commit(s): No commits this time :( Next Up: I will continue working on the gameplay!
Devlog #13: Ooh… Fighting! What I Did: This is basically the endgame here… literally! Here’s some of what I did: finished the combat mechanic (except for color multipliers) added a dynamic health bar started the endgame screen Soon, we’re going to make it to v0.5! Github Commit(s): https://github.com/davidv3767/Duvo-Eins/commit/b8be0b52a1d765e5deeaa225834ec71a509a7745 Next Up: I will work on the endgame screen & start polishing for v0.5!
Devlog #14: Welcome v2P.0.5.0 of Duvo Eins! What I Did: Well, I polished up my program, added a ReadMe, created a .exe program etc. to create the ship-ready version! I formatted the version differently (v2P.0.5.0 instead of v0.5) because I wanted to make sure this version was clear to be two-player only (as I am planning to do single-player in the future). P.S. I did reuse a picture this time since these is nothing really new to show! Github Commit(s): Check the repo yourself! Next Up: But I’m done! Oh wait… all the shipping stuff :)
Ships:
I made a simple game to teach kids math. It works similar to Prodigy, where you answer questions to attack the other player OR defend yourself. Check the ReadMe for more instructions. Note this: you will need TWO players & a keyboard for this to work as intended, but for testing purposes you can play by yourself. Hope you enjoy Duvo Eins! P.S. Depending on your screen size, the graphics might be skewed as it is programmed for my monitor and I don’t know how to unskew it in Python on any sized monitor. I would skip this if it’s too skewed, but I’ll hopefully add a video demo sometime soon (so check for it)!...
|
1792990482.8667948
|
1793076882.8667948
|
|
519
|
Cyberpunk themed Macropad by @prix | Stardance
|
prix
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T19:49:01Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a cyberpunk-themed 4-key Macropad with an OLED display, a volume knob and an RGB LED. The biggest challenge was definitely setting up the AI software side of the project—getting the AI model properly configured and making sure the live demo site connected smoothly with everything took a lot of troubleshooting. I also spent a good amount of time in designing, there were small problems coming which I kept solving the way. I’m really proud of doing what I’ve done till now and having the GitHub repository organized with all the source files and documentation. Excited to keep building on top of this for the next phase!", "repo": "https://github.com/prix-x/Cyberpunk-Themed-Macropad-", "demo": ""}]...
|
[{"post_id": 1584, "ts": "2026 [{"post_id": 1584, "ts": "2026-06-03T18:13:04Z", "hours": 0.5811, "text": "Before moving to the designing/3d printing, I wanted to make the Gmail macro key code. I spent around 30 minutes to write and debug the code (Might change after I get the parts. The Mission: Tap a single mechanical switch to automatically enter Gmail. import usb_hid from adafruit_hid.keyboard import Keyboard from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS keyboard = Keyboard(usb_hid.devices) layout = KeyboardLayoutUS(keyboard) GMAIL = “ [email protected] ” def type_gmail(): layout.write(GMAIL) Phase 2: Design Inspiration & Cyberpunk Aesthetics (The Blueprint) For the visual identity, I didn’t want a generic, boring plastic box. I spent some time studying past mechanical designs and custom cyberdecks. Color Psychology: Instead of standard monochrome, I locked in a high-contrast cyberpunk palette: A grey main enclosure to look like machined industrial metal. A matte black bottom floor plate to act as a grounded chassis. Vibrant purple keycaps to give it a sharp, neon color. The Centerpiece: A custom multi-layered knob in matching purple, with a neon yellow accent ring. Once the vision was clear, the real battle began in Tinkercad. I spent 3 to 4 hours measuring real components and sizing them against physical hand. Current Status: Design ready (Probably XD)! Every single part has been isolated, grounded flat at a height of 0, and separated with clear margins so the 3D printers can print them as individual components. Grey Enclosure -> Ready Black Base Floor -> Ready 4x Purple Keycaps _> Ready Custom Knob -> Ready Next stop: Exporting the STL file and submitting it to the Hack Club #enclosure queue!"}, {"post_id": 1111, "ts": "2026-06-02T22:51:19Z", "hours": 0.2508, "text": "Spent 2 hours on enclosure 3d design + BOM (on github) Component Quantity Approx. Cost (INR) Raspberry Pi Pico 1 ₹340 Mechanical Switches 4 ₹100 Custom Keycaps 4 ₹0 (Free via #enclosure) OLED Display (SSD1306) 1 ₹150 Volume Knob (EC11 Encoder) 1 ₹50 Passive Piezo Buzzer 1 ₹20 WS2812B RGB LEDs 1 ₹40 Custom Enclosure 1 ₹0 (Free via #enclosure)"}, {"post_id": 972, "ts": "2026-06-02T19:03:14Z", "hours": 3.3456, "text": "Finally after 3 hours coding and 5 hours debugging Done with the AI Agent for my macropad TwT"}]...
|
Title: Cyberpunk themed Macropad by @prix | Starda Title: Cyberpunk themed Macropad by @prix | Stardance
Devlogs:
Finally after 3 hours coding and 5 hours debugging Done with the AI Agent for my macropad TwT
Spent 2 hours on enclosure 3d design + BOM (on github) Component Quantity Approx. Cost (INR) Raspberry Pi Pico 1 ₹340 Mechanical Switches 4 ₹100 Custom Keycaps 4 ₹0 (Free via #enclosure) OLED Display (SSD1306) 1 ₹150 Volume Knob (EC11 Encoder) 1 ₹50 Passive Piezo Buzzer 1 ₹20 WS2812B RGB LEDs 1 ₹40 Custom Enclosure 1 ₹0 (Free via #enclosure)
Before moving to the designing/3d printing, I wanted to make the Gmail macro key code. I spent around 30 minutes to write and debug the code (Might change after I get the parts. The Mission: Tap a single mechanical switch to automatically enter Gmail. import usb_hid from adafruit_hid.keyboard import Keyboard from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS keyboard = Keyboard(usb_hid.devices) layout = KeyboardLayoutUS(keyboard) GMAIL = “ [email protected] ” def type_gmail(): layout.write(GMAIL) Phase 2: Design Inspiration & Cyberpunk Aesthetics (The Blueprint) For the visual identity, I didn’t want a generic, boring plastic box. I spent some time studying past mechanical designs and custom cyberdecks. Color Psychology: Instead of standard monochrome, I locked in a high-contrast cyberpunk palette: A grey main enclosure to look like machined industrial metal. A matte black bottom floor plate to act as a grounded chassis. Vibrant purple keycaps to give it a sharp, neon color. The Centerpiece: A custom multi-layered knob in matching purple, with a neon yellow accent ring. Once the vision was clear, the real battle began in Tinkercad. I spent 3 to 4 hours measuring real components and sizing them against physical hand. Current Status: Design ready (Probably XD)! Every single part has been isolated, grounded flat at a height of 0, and separated with clear margins so the 3D printers can print them as individual components. Grey Enclosure -> Ready Black Base Floor -> Ready 4x Purple Keycaps _> Ready Custom Knob -> Ready Next stop: Exporting the STL file and submitting it to the Hack Club #enclosure queue!
Ships:
I made a cyberpunk-themed 4-key Macropad with an OLED display, a volume knob and an RGB LED. The biggest challenge was definitely setting up the AI software side of the project—getting the AI model properly configured and making sure the live demo site connected smoothly with everything took a lot of troubleshooting. I also spent a good amount of time in designing, there were small problems coming which I kept solving the way. I’m really proud of doing what I’ve done till now and having the GitHub repository organized with all the source files and documentation. Excited to keep building on top of this for the next phase!...
|
1792979545.5332541
|
1793065945.5332541
|
|
531
|
Dungen Escape by @Ahmed_Gayipov | Stardance
|
Ahmed_Gayipov
|
1
|
2.0
|
13
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-01T18:36:00Z", "hours": 2.0, "multiplier": 7.23, "payout": 13, "blessing": "neutral", "text": "I made a game that is about collecting gold whill trying to survive the enemy from defeting you. Here are controles: How the controles work -You can us the arrow keys to move -your touchpad to aim the weopen -There is 3 types of weapons -If you press e it does melle damege to a enemy that is close to you -if you press the spacebar the weopen will shoot Secrete control -if you us mouse it will also aim your weapon -if you right click on your mouse the weapon will shoot", "repo": "https://github.com/Cr7-is-the-best/my-python", "demo": "https://my-python--ahmedgayipov.replit.app"}]...
|
[{"post_id": 370, "ts": "2026- [{"post_id": 370, "ts": "2026-06-01T18:32:04Z", "hours": 0.5269, "text": "Look almost done"}, {"post_id": 158, "ts": "2026-06-01T00:19:45Z", "hours": 0.4447, "text": "Dungen Escape"}, {"post_id": 139, "ts": "2026-05-31T22:32:52Z", "hours": 0.7758, "text": "A Dungeon Game"}]...
|
Title: Dungen Escape by @Ahmed_Gayipov | Stardance Title: Dungen Escape by @Ahmed_Gayipov | Stardance
Devlogs:
A Dungeon Game
Dungen Escape
Look almost done
Ships:
I made a game that is about collecting gold whill trying to survive the enemy from defeting you. Here are controles: How the controles work -You can us the arrow keys to move -your touchpad to aim the weopen -There is 3 types of weapons -If you press e it does melle damege to a enemy that is close to you -if you press the spacebar the weopen will shoot Secrete control -if you us mouse it will also aim your weapon -if you right click on your mouse the weapon will shoot...
|
1792882034.9997787
|
1793746034.9997787
|