|
3451
|
Desmos Art by @haz | Stardance
|
haz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Desmos Art by @haz | Stardance
|
1792806468.32775
|
1793411268.32775
|
|
3452
|
My awesome macropad! by @julianas82311 | Stardance
|
julianas82311
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @julianas82311 | St Title: My awesome macropad! by @julianas82311 | Stardance...
|
1792691288.8144388
|
1793296088.8144388
|
|
3453
|
werm by @priyamk | Stardance
|
priyamk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: werm by @priyamk | Stardance
|
1792590623.829615
|
1793195423.829615
|
|
3454
|
Guinea pig's fun website for the websiting stu Guinea pig's fun website for the websiting stuff by @guineapig | Stardance...
|
guineapig
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T23:12:03Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a fun website tha has a bit about me and my favorite games", "repo": "https://github.com/guineapig123433/epicwebsitebyguineapig.github.io", "demo": "https://guineapig123433.github.io/epicwebsitebyguineapig.github.io/"}]...
|
[{"post_id": 2944, "ts": "2026 [{"post_id": 2944, "ts": "2026-06-05T21:04:25Z", "hours": 0.9631, "text": "added funny things on the corners and added the website icon"}, {"post_id": 2873, "ts": "2026-06-05T19:10:43Z", "hours": 1.2611, "text": "Added an animated background and a favorite games section"}, {"post_id": 1858, "ts": "2026-06-04T02:09:53Z", "hours": 1.2528, "text": "i added the index.html and started adding stuff and customized it with css"}]...
|
Title: Guinea pig's fun website for the websit Title: Guinea pig's fun website for the websiting stuff by @guineapig | Stardance
Devlogs:
i added the index.html and started adding stuff and customized it with css
Added an animated background and a favorite games section
added funny things on the corners and added the website icon
Ships:
I made a fun website tha has a bit about me and my favorite games...
|
1792986844.1884558
|
1793073244.1884558
|
|
3455
|
Theremin by @CHIef | Stardance
|
CHIef
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Theremin by @CHIef | Stardance
|
1792731185.14012
|
1793335985.14012
|
|
3456
|
Chupau by @ramanndube | Stardance
|
ramanndube
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Chupau by @ramanndube | Stardance
|
1792626444.9982152
|
1793231244.9982152
|
|
3457
|
Tubby bot by @aadi_garg | Stardance
|
aadi_garg
|
0
|
1.25
|
0
|
[]
|
[{"post_id": 10047, "ts": "202 [{"post_id": 10047, "ts": "2026-06-16T16:47:47Z", "hours": 1.2458, "text": "So basically, tubby bot is a tumbler bot with two legs, a local llm and multiple speakers."}]...
|
Title: Tubby bot by @aadi_garg | Stardance
Devlog Title: Tubby bot by @aadi_garg | Stardance
Devlogs:
So basically, tubby bot is a tumbler bot with two legs, a local llm and multiple speakers....
|
1792792335.5086617
|
1793397135.5086617
|
|
3458
|
Angel's Grace by @Anika | Stardance
|
Anika
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Angel's Grace by @Anika | Stardance
|
1792666223.1913354
|
1793271023.1913354
|
|
3459
|
My awesome macropad! by @rfgcn | Stardance
|
rfgcn
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @rfgcn | Stardance
|
1792550973.2725596
|
1793155773.2725596
|
|
3460
|
Ascend - The Chosen One by @revankotapati | Starda Ascend - The Chosen One by @revankotapati | Stardance...
|
revankotapati
|
1
|
115.0
|
634
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T13:31:36Z", "hours": 115.0, "multiplier": 9.99, "payout": 634, "blessing": "neutral", "text": "This is a 3D FPS game that has a campaign and arcade mode. The player progresses through worlds and defeats enemies to win the campaign. A player’s stats are upgradable, and points to upgrade them are earned through finishing levels. There are 5 worlds and 10 levels each, with a boss at the 10th level. Once the final boss is defeated, the game ends with special aspects, which I do not want to ruin, and you can either continue the game or exit. I faced multiple challenges when making this game. I had to learn Godot and asset building for the first time. It was a long process, so I spent more time learning than coding. I feel that it turned out to be a decent game, but it was quite a large .exe file, and when zipped, it was 32MB. It runs very slowly on my computer, and that’s why I made this project. I built it so that I can get points and buy a new one.", "repo": "https://github.com/RevanK10/Ascend---The-Chosen-One", "demo": "https://revank.itch.io/ascend-the-chosen-one"}]...
|
[{"post_id": 30123, "ts": "202 [{"post_id": 30123, "ts": "2026-07-17T13:20:37Z", "hours": 3.2883, "text": "I finished the game, as far as I know. I fixed all the enemy spawning and their location off the ground. I added all enemy assets to the game and also added a piercing spear upgrade to the game, which allows the player to hit multiple enemies in a row with a single projectile. I also added the arcade mode to the game with minibosses and bosses every few waves."}, {"post_id": 24081, "ts": "2026-07-07T12:44:25Z", "hours": 7.0664, "text": "I fixed the enemy meshes, so they are on the ground instead of in the ground. I also was able to fix some of the spawning errors, with the player being launched into the sky at the start of the level. At this point, I am working on adding the base enemies to the game, which I am trying to find a way to do dynamically to ensure that the sheer number of enemy instances does not slow the game down. The size of the boss enemies is still an issue, however, but I will fix this soon. I feel like I am going down a rabbit hole. As I implement a feature, I find like 10 more that I could implement to make this game better."}, {"post_id": 20723, "ts": "2026-07-02T12:09:26Z", "hours": 6.2111, "text": "For this devlog, I have not achieved much other than adding a few more assets to the worlds. Right now, I am trying to figure out how to add the meshes for my enemies. I created a single base enemy scene, and the code is not supporting the addition of paths to the mesh objects. I also added cinematic cutscenes with the player and other characters. They look horrible right now, but once the meshes go in, they will look much better. The spear is the only mesh right now."}, {"post_id": 18706, "ts": "2026-06-29T21:50:54Z", "hours": 17.9656, "text": "Since the last post, I finished designing the worlds and added basic assets. For example, the 3rd world, which consists of human enemies, has an outpost, castle, tarps, and much more. Each world has its own theme, so it looks vastly different as the player goes through each world. Also, I forgot to record my 3d models, but I finished most of those as well. I only have 2-3 enemy models left. I coded the assets so they would only generate when the player accesses the specific world, so it takes up less space. I also improved the HUD, and added cutscenes throughout the game. Currently, the cutscenes are just text, but I plan to make them videos of the player interacting with the characters. I will also finish the rest of the 3d models and add NPCs that grant sidequests. However, the sidequests might be for another time. I predict that I am 80-85% done with the base game."}, {"post_id": 13760, "ts": "2026-06-22T15:38:49Z", "hours": 16.1503, "text": "I finished the basics of the new game’s implementation. The main menu UI is improved and the player movement and projectile throwing functionality looks better as well. Within the UI, I was able to ensure that the color changes as the user hovers and presses the buttons. The title design will be improved and I want to make the background more transparent and add a picture of the main character’s figure on the main menu. My next steps also include making a few levels and finish updating all of the UI. I have spent a lot of time fixing the errors I have run into and combing through Godot documentation."}, {"post_id": 10576, "ts": "2026-06-17T11:45:24Z", "hours": 39.7478, "text": "Update 3 This game was such a headache to make. I initially finished a working prototype of this game with an arcade mode where the enemies spawn based on AI, which the user can call through the API. However, I still had to add the textures and my designed 3d models. When I tried to put more importance on the UI for both the player’s side, like the location of the health bar, and the general UI, like the main menu screen, I found that any change crashed it. I spent hours reading the Godot documentation to understand the organization of the UI, but to no success. So, I switched gears and tried again, following an old tutorial from Godot 3, which I soon realized would not work. Therefore, I scrapped that and created another version that I hope will work. If this does not work, I would have to rely on my prototype and complete it. As my first game, it’s not leaving a good first impression of game development, which I have heard many good things about. Also, the prototype’s UI isn’t great, but it functions decently. The capsule in different colors acts as the enemies, but I have already attempted to design some low-poly 3d models."}, {"post_id": 4916, "ts": "2026-06-08T14:43:39Z", "hours": 17.5036, "text": "Update 2 Finished the world and arcade part of the game. After further consideration, I decided to add a story mode to the game and design more models. I also finished 2 out of 3 models for my enemies and add effects and scenes to the game screen. However, I will have to create a new project and start again with the world and characters to better organize my scenes and scripts in Godot. This is my first attempt at game development, so I am attempting to figure out how I can improve my code and organization quality while improving my game. Another feature that I have been able to add is the addition of special projectiles: 1. Projectiles that act as magnets and pull all enemies together 2. Projectiles that chain hit multiple enemies and stop them for a brief amount of time 3. Projectiles that explode and impact multiple enemies Below is an image of my code for my new project. I will continue to update on my journey."}, {"post_id": 1624, "ts": "2026-06-03T19:14:58Z", "hours": 7.155, "text": "Created the environment, enemies, character and the basic UI. My next task is to work on enhancing the UI and improving the physics of the game, especially movement."}]...
|
Title: Ascend - The Chosen One by @revankotapati | Title: Ascend - The Chosen One by @revankotapati | Stardance
Devlogs:
Created the environment, enemies, character and the basic UI. My next task is to work on enhancing the UI and improving the physics of the game, especially movement.
Update 2 Finished the world and arcade part of the game. After further consideration, I decided to add a story mode to the game and design more models. I also finished 2 out of 3 models for my enemies and add effects and scenes to the game screen. However, I will have to create a new project and start again with the world and characters to better organize my scenes and scripts in Godot. This is my first attempt at game development, so I am attempting to figure out how I can improve my code and organization quality while improving my game. Another feature that I have been able to add is the addition of special projectiles: 1. Projectiles that act as magnets and pull all enemies together 2. Projectiles that chain hit multiple enemies and stop them for a brief amount of time 3. Projectiles that explode and impact multiple enemies Below is an image of my code for my new project. I will continue to update on my journey.
Update 3 This game was such a headache to make. I initially finished a working prototype of this game with an arcade mode where the enemies spawn based on AI, which the user can call through the API. However, I still had to add the textures and my designed 3d models. When I tried to put more importance on the UI for both the player’s side, like the location of the health bar, and the general UI, like the main menu screen, I found that any change crashed it. I spent hours reading the Godot documentation to understand the organization of the UI, but to no success. So, I switched gears and tried again, following an old tutorial from Godot 3, which I soon realized would not work. Therefore, I scrapped that and created another version that I hope will work. If this does not work, I would have to rely on my prototype and complete it. As my first game, it’s not leaving a good first impression of game development, which I have heard many good things about. Also, the prototype’s UI isn’t great, but it functions decently. The capsule in different colors acts as the enemies, but I have already attempted to design some low-poly 3d models.
I finished the basics of the new game’s implementation. The main menu UI is improved and the player movement and projectile throwing functionality looks better as well. Within the UI, I was able to ensure that the color changes as the user hovers and presses the buttons. The title design will be improved and I want to make the background more transparent and add a picture of the main character’s figure on the main menu. My next steps also include making a few levels and finish updating all of the UI. I have spent a lot of time fixing the errors I have run into and combing through Godot documentation.
Since the last post, I finished designing the worlds and added basic assets. For example, the 3rd world, which consists of human enemies, has an outpost, castle, tarps, and much more. Each world has its own theme, so it looks vastly different as the player goes through each world. Also, I forgot to record my 3d models, but I finished most of those as well. I only have 2-3 enemy models left. I coded the assets so they would only generate when the player accesses the specific world, so it takes up less space. I also improved the HUD, and added cutscenes throughout the game. Currently, the cutscenes are just text, but I plan to make them videos of the player interacting with the characters. I will also finish the rest of the 3d models and add NPCs that grant sidequests. However, the sidequests might be for another time. I predict that I am 80-85% done with the base game.
For this devlog, I have not achieved much other than adding a few more assets to the worlds. Right now, I am trying to figure out how to add the meshes for my enemies. I created a single base enemy scene, and the code is not supporting the addition of paths to the mesh objects. I also added cinematic cutscenes with the player and other characters. They look horrible right now, but once the meshes go in, they will look much better. The spear is the only mesh right now.
I fixed the enemy meshes, so they are on the ground instead of in the ground. I also was able to fix some of the spawning errors, with the player being launched into the sky at the start of the level. At this point, I am working on adding the base enemies to the game, which I am trying to find a way to do dynamically to ensure that the sheer number of enemy instances does not slow the game down. The size of the boss enemies is still an issue, however, but I will fix this soon. I feel like I am going down a rabbit hole. As I implement a feature, I find like 10 more that I could implement to make this game better.
I finished the game, as far as I know. I fixed all the enemy spawning and their location off the ground. I added all enemy assets to the game and also added a piercing spear upgrade to the game, which allows the player to hit multiple enemies in a row with a single projectile. I also added the arcade mode to the game with minibosses and bosses every few waves.
Ships:
This is a 3D FPS game that has a campaign and arcade mode. The player progresses through worlds and defeats enemies to win the campaign. A player’s stats are upgradable, and points to upgrade them are earned through finishing levels. There are 5 worlds and 10 levels each, with a boss at the 10th level. Once the final boss is defeated, the game ends with special aspects, which I do not want to ruin, and you can either continue the game or exit. I faced multiple challenges when making this game. I had to learn Godot and asset building for the first time. It was a long process, so I spent more time learning than coding. I feel that it turned out to be a decent game, but it was quite a large .exe file, and when zipped, it was 32MB. It runs very slowly on my computer, and that’s why I made this project. I built it so that I can get points and buy a new one....
|
1793066052.5119205
|
1793152452.5119205
|
|
3461
|
NOVA - AI Memory by @Vsync_66 | Stardance
|
Vsync_66
|
0
|
41.08
|
0
|
[]
|
[{"post_id": 60795, "ts": "202 [{"post_id": 60795, "ts": "2026-09-03T12:00:10Z", "hours": 14.0722, "text": "This is what I call a perception producer. Every agentic framework has input and output. Input represents what an AI perceives in the world. This could be text, images, sounds, and more. This first one is a basic system time daemon. Because with every agentic framework I’ve used (Hermes, Openclaw, more), the AI doesn’t know what time it is! This solution is so ridiculously simple, I don’t know why people overlook it. Every minute, the context payload that goes into an API call gets updated with the new time. And yes, I made it prompt caching safe. (by ordering context blocks very specifically.) The loop is technically complete. A developer could just attach more input sources (like user messages, reminders, etc) and output tools, to turn this into a useful system. But I have to refactor some code, and update documentation."}, {"post_id": 27220, "ts": "2026-07-12T16:27:05Z", "hours": 9.595, "text": "Two Major Milestones… Context system is done! There’s a lot of data flow, async operations, and flexibility involved. Model calling is also done. LiteLLM is very powerful… But it requires a lot of error checking with configs and model preferences. The world model is being built… And it’s feeling more like a separate project itself. A ridiculous amount of data flow is involved here… More than context. And even more logic. Considering that with AI memory, accuracy and precision drops mostly in the retrieval part. Not the storage. But, slowly, I’m making progress! Writing down my thoughts has helped a lot."}, {"post_id": 22992, "ts": "2026-07-05T18:04:33Z", "hours": 10.8619, "text": "Thought about prompt caching and the OpenAI API. As long as the system prompt stays the same… It doesn’t matter what’s included in ‘user’ or ‘assistant’. You’ll still be able to use prompt caching! Also cleaned up code and added many edge cases/logic improvements."}, {"post_id": 21053, "ts": "2026-07-02T20:37:45Z", "hours": 4.2961, "text": "Lots of refactoring… But /nova can now take input from multiple endpoints, and have context ready, when an AI API needs it. Learned a lot about classes and asyncio logic!"}, {"post_id": 19985, "ts": "2026-07-01T13:45:49Z", "hours": 1.1789, "text": "Messy, messy code. I was 95% there to getting a clean response… But, after 30 minutes of debugging, I’m able to get a response from Ollama Cloud! Next step is to clean up my code, and see if I can split it. (Shoving everything into ‘File1.py’ gets messy)"}, {"post_id": 19368, "ts": "2026-06-30T17:24:11Z", "hours": 1.0792, "text": "Spent time creating a way to take inputs from a program, assemble it into a python dict, and convert that into a JSON block. Will use later with LiteLLM!"}]...
|
Title: NOVA - AI Memory by @Vsync_66 | Stardance
Title: NOVA - AI Memory by @Vsync_66 | Stardance
Devlogs:
Spent time creating a way to take inputs from a program, assemble it into a python dict, and convert that into a JSON block. Will use later with LiteLLM!
Messy, messy code. I was 95% there to getting a clean response… But, after 30 minutes of debugging, I’m able to get a response from Ollama Cloud! Next step is to clean up my code, and see if I can split it. (Shoving everything into ‘File1.py’ gets messy)
Lots of refactoring… But /nova can now take input from multiple endpoints, and have context ready, when an AI API needs it. Learned a lot about classes and asyncio logic!
Thought about prompt caching and the OpenAI API. As long as the system prompt stays the same… It doesn’t matter what’s included in ‘user’ or ‘assistant’. You’ll still be able to use prompt caching! Also cleaned up code and added many edge cases/logic improvements.
Two Major Milestones… Context system is done! There’s a lot of data flow, async operations, and flexibility involved. Model calling is also done. LiteLLM is very powerful… But it requires a lot of error checking with configs and model preferences. The world model is being built… And it’s feeling more like a separate project itself. A ridiculous amount of data flow is involved here… More than context. And even more logic. Considering that with AI memory, accuracy and precision drops mostly in the retrieval part. Not the storage. But, slowly, I’m making progress! Writing down my thoughts has helped a lot.
This is what I call a perception producer. Every agentic framework has input and output. Input represents what an AI perceives in the world. This could be text, images, sounds, and more. This first one is a basic system time daemon. Because with every agentic framework I’ve used (Hermes, Openclaw, more), the AI doesn’t know what time it is! This solution is so ridiculously simple, I don’t know why people overlook it. Every minute, the context payload that goes into an API call gets updated with the new time. And yes, I made it prompt caching safe. (by ordering context blocks very specifically.) The loop is technically complete. A developer could just attach more input sources (like user messages, reminders, etc) and output tools, to turn this into a useful system. But I have to refactor some code, and update documentation....
|
1792637634.2370179
|
1793242434.2370179
|
|
3462
|
Rocket Launch Pad by @Birry | Stardance
|
Birry
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Rocket Launch Pad by @Birry | Stardance
|
1792479216.8874574
|
1793084016.8874574
|
|
3463
|
Headways by @rkmr | Stardance
|
rkmr
|
1
|
35.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T21:40:16Z", "hours": 35.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a public transit tracking app designed to give as much information to the user as possible while still being super user friendly! It works on both web and mobile (app store and google play pending), and is designed to be fast and run on lower end devices as well.", "repo": "https://github.com/rkvmar/headways", "demo": "https://headways.rkmr.dev/"}]...
|
[{"post_id": 61797, "ts": "202 [{"post_id": 61797, "ts": "2026-09-04T21:36:52Z", "hours": 11.5961, "text": "a lot of things have been fixed, published, we have a working ios build (android still in progress), sacrt added, but it works well enough that I now use this app on a daily basis!"}, {"post_id": 33577, "ts": "2026-07-23T16:51:16Z", "hours": 3.935, "text": "massive optimizations! all the vehicles now render on a canvas instead of as leaflet markers which makes things render much faster! check it out at https://headways.rkmr.dev/"}, {"post_id": 20931, "ts": "2026-07-02T17:37:56Z", "hours": 0.4019, "text": "weather update: its a lot faster now! a build is public at https://headways.rkmr.dev/"}, {"post_id": 14817, "ts": "2026-06-24T01:57:15Z", "hours": 2.6747, "text": "added a lot of preprocessing and optimizations to make things run a lot smoother"}, {"post_id": 9414, "ts": "2026-06-15T19:27:58Z", "hours": 1.9311, "text": "over the past few days ive been struggling with getting it running smoothly on my tiny server, and it still doesnt run smoothly but at least it sorta runs?"}, {"post_id": 7302, "ts": "2026-06-12T05:15:06Z", "hours": 2.0744, "text": "first build is public! (it still needs a lot of optimization and fixes and improvements)"}, {"post_id": 6952, "ts": "2026-06-11T17:39:23Z", "hours": 3.0139, "text": "here’s how on time bay area transit is"}, {"post_id": 5709, "ts": "2026-06-09T16:34:57Z", "hours": 6.3219, "text": "styling updates!"}, {"post_id": 5203, "ts": "2026-06-08T21:59:46Z", "hours": 1.7931, "text": "web now connects to server!"}, {"post_id": 5095, "ts": "2026-06-08T19:43:03Z", "hours": 0.7825, "text": "server now pulls correctly!"}]...
|
Title: Headways by @rkmr | Stardance
Devlogs:
ser Title: Headways by @rkmr | Stardance
Devlogs:
server now pulls correctly!
web now connects to server!
styling updates!
here’s how on time bay area transit is
first build is public! (it still needs a lot of optimization and fixes and improvements)
over the past few days ive been struggling with getting it running smoothly on my tiny server, and it still doesnt run smoothly but at least it sorta runs?
added a lot of preprocessing and optimizations to make things run a lot smoother
weather update: its a lot faster now! a build is public at https://headways.rkmr.dev/
massive optimizations! all the vehicles now render on a canvas instead of as leaflet markers which makes things render much faster! check it out at https://headways.rkmr.dev/
a lot of things have been fixed, published, we have a working ios build (android still in progress), sacrt added, but it works well enough that I now use this app on a daily basis!
Ships:
This is a public transit tracking app designed to give as much information to the user as possible while still being super user friendly! It works on both web and mobile (app store and google play pending), and is designed to be fast and run on lower end devices as well....
|
1792983016.510432
|
1793069416.510432
|
|
3464
|
My awesome macropad! by @nyancat | Stardance
|
nyancat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @nyancat | Stardanc Title: My awesome macropad! by @nyancat | Stardance...
|
1792742114.632985
|
1793346914.632985
|
|
3465
|
My first slack bot! by @stevie | Stardance
|
stevie
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @stevie | Stardance
|
1792500838.1042762
|
1793105638.1042762
|
|
3466
|
My first slack bot! by @elisha | Stardance
|
elisha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @elisha | Stardance
|
1792792077.1732993
|
1793396877.1732993
|
|
3467
|
Cutesy Calorie Counter by @ProjectLucy | Stardance
|
ProjectLucy
|
0
|
14.49
|
0
|
[]
|
[{"post_id": 10606, "ts": "202 [{"post_id": 10606, "ts": "2026-06-17T13:23:17Z", "hours": 6.8469, "text": "Devlog 4* Hey everyone! Sorry if the formatting is a bit weird for this log; my computer is having issues. Anyway, I’ve made quite a bit of progress. The goals now have a remove button so you can check them off, and I finished the pop-up for logging a workout! I’m getting pretty close to shipping this project! All that’s really left to do is fix some formatting issues and add a few more smaller features, such as format editing. Overall, I’m just really excited for people to be able to use this project, as I have had a lot of fun learning and making it! Again, sorry for the weird formatting (if it is weird), and I hope the next step in this process will be shipping!"}, {"post_id": 5103, "ts": "2026-06-08T19:52:31Z", "hours": 3.6733, "text": "Devlog 3 * Hi everyone! I have successfully added the majority of the base functions, such as logging the calories and adding different goals. There are still currently only three sprites and one character, but I want to have at least 3 different characters when I put out the full project. Chances are, I will ship this version when I have everything fully functional, but I plan to continue updating it after it has been shipped to add more aesthetic features. * Other than the functionality, I have started to work on the other characters (I inserted a picture of one of them, but I don’t know if you can see it). What’s left to do is add the buttons that let you change the layout and log a workout, and ensure user data can be saved. I need to add the function that allows you to log a weight so that you can keep track of progress. * Overall, I really just want the website to have an old internet feel, and I hope I’m achieving that! I have some plans for other projects in the future, but I want to finish this one first and foremost. Anyway, thank you for reading!"}, {"post_id": 3937, "ts": "2026-06-07T02:07:27Z", "hours": 3.6467, "text": "Devlog 2 * Hi everyone! I got the base layout all set and got the sprites put in. Right now, there is only one character, but I plan to add several more in the final version. There are three different sprites for the character, and you get a random one every time you load/reload the page. * The next thing I plan to do is add all the buttons and such that will actually make the website functional. If you notice the large time gaps in the devlogs, its becuase im kinda learning as I go with this. * Anyway, I hope to have an update soon. Sorry, this one took so long!"}, {"post_id": 895, "ts": "2026-06-02T16:54:14Z", "hours": 0.3261, "text": "Hi! I’m Lucy, and I am working to create a cute calorie counter website to make dieting more rewarding, as it’s something that many other people and I struggle with. I have attached a drawing of the planned layout, and I am working to include several different characters that will hang out on top as little motivators! All the art on the website will be done by me, but if you are an artist and want to have your own characters on the website, let me know, and I will try to make that possible! This is my first time making a more complicated website, so I can’t promise it will be perfect, but I’m having a lot of fun designing it! Hope people like it, and I will continue to post updates of the process. Bye! :D"}]...
|
Title: Cutesy Calorie Counter by @ProjectLucy | St Title: Cutesy Calorie Counter by @ProjectLucy | Stardance
Devlogs:
Hi! I’m Lucy, and I am working to create a cute calorie counter website to make dieting more rewarding, as it’s something that many other people and I struggle with. I have attached a drawing of the planned layout, and I am working to include several different characters that will hang out on top as little motivators! All the art on the website will be done by me, but if you are an artist and want to have your own characters on the website, let me know, and I will try to make that possible! This is my first time making a more complicated website, so I can’t promise it will be perfect, but I’m having a lot of fun designing it! Hope people like it, and I will continue to post updates of the process. Bye! :D
Devlog 2 * Hi everyone! I got the base layout all set and got the sprites put in. Right now, there is only one character, but I plan to add several more in the final version. There are three different sprites for the character, and you get a random one every time you load/reload the page. * The next thing I plan to do is add all the buttons and such that will actually make the website functional. If you notice the large time gaps in the devlogs, its becuase im kinda learning as I go with this. * Anyway, I hope to have an update soon. Sorry, this one took so long!
Devlog 3 * Hi everyone! I have successfully added the majority of the base functions, such as logging the calories and adding different goals. There are still currently only three sprites and one character, but I want to have at least 3 different characters when I put out the full project. Chances are, I will ship this version when I have everything fully functional, but I plan to continue updating it after it has been shipped to add more aesthetic features. * Other than the functionality, I have started to work on the other characters (I inserted a picture of one of them, but I don’t know if you can see it). What’s left to do is add the buttons that let you change the layout and log a workout, and ensure user data can be saved. I need to add the function that allows you to log a weight so that you can keep track of progress. * Overall, I really just want the website to have an old internet feel, and I hope I’m achieving that! I have some plans for other projects in the future, but I want to finish this one first and foremost. Anyway, thank you for reading!
Devlog 4* Hey everyone! Sorry if the formatting is a bit weird for this log; my computer is having issues. Anyway, I’ve made quite a bit of progress. The goals now have a remove button so you can check them off, and I finished the pop-up for logging a workout! I’m getting pretty close to shipping this project! All that’s really left to do is fix some formatting issues and add a few more smaller features, such as format editing. Overall, I’m just really excited for people to be able to use this project, as I have had a lot of fun learning and making it! Again, sorry for the weird formatting (if it is weird), and I hope the next step in this process will be shipping!...
|
1792788688.6513703
|
1793393488.6513703
|
|
3468
|
Untitled by @rfgcn | Stardance
|
rfgcn
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @rfgcn | Stardance
|
1792666359.8061414
|
1793271159.8061414
|
|
3469
|
My first slack bot! by @rfgcn | Stardance
|
rfgcn
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @rfgcn | Stardance
|
1792608905.8325858
|
1793213705.8325858
|
|
3470
|
My awesome macropad! by @shanti | Stardance
|
shanti
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @shanti | Stardance
|
1792532842.335168
|
1793137642.335168
|
|
3471
|
Personal Organization Software by @WaddlePenguin09 Personal Organization Software by @WaddlePenguin09 | Stardance...
|
WaddlePenguin09
|
0
|
3.43
|
0
|
[]
|
[{"post_id": 14121, "ts": "202 [{"post_id": 14121, "ts": "2026-06-23T03:00:49Z", "hours": 2.5222, "text": "Finished a mock-up of the desktop version of the app, pretty happy with the vibe and exited to see where I can go from here."}, {"post_id": 4060, "ts": "2026-06-07T07:34:44Z", "hours": 0.5353, "text": "Finished basic planning"}, {"post_id": 527, "ts": "2026-06-02T00:19:22Z", "hours": 0.3714, "text": "I worked on the beginning of an outline for my project, starting to think about features and color palate"}]...
|
Title: Personal Organization Software by @WaddlePe Title: Personal Organization Software by @WaddlePenguin09 | Stardance
Devlogs:
I worked on the beginning of an outline for my project, starting to think about features and color palate
Finished basic planning
Finished a mock-up of the desktop version of the app, pretty happy with the vibe and exited to see where I can go from here....
|
1792770604.2754726
|
1793375404.2754726
|
|
3472
|
My first slack bot! by @IKNOWHEX4 | Stardance
|
IKNOWHEX4
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @IKNOWHEX4 | Stardan Title: My first slack bot! by @IKNOWHEX4 | Stardance...
|
1792724068.8932498
|
1793328868.8932498
|
|
3473
|
My awesome macropad! by @waelaly013 | Stardance
|
waelaly013
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @waelaly013 | Stard Title: My awesome macropad! by @waelaly013 | Stardance...
|
1792799563.56984
|
1793404363.56984
|
|
3474
|
STRYFE - 3D Printed 5" Optimized Topology Dron STRYFE - 3D Printed 5" Optimized Topology Drone by @james2009329 | Stardance...
|
james2009329
|
0
|
1.86
|
0
|
[]
|
[{"post_id": 13337, "ts": "202 [{"post_id": 13337, "ts": "2026-06-21T21:01:08Z", "hours": 0.4217, "text": "So I realized that the bottom of the drone shouldn’t be part lightened all the way. It was definitely not strong enough to survive a crash. I made it so the part lightening only come down 2mm. Now, Similarly to the top, It is a lot stronger. Here’s a view of the new part (in black) and old part (in white)"}, {"post_id": 6581, "ts": "2026-06-11T01:48:43Z", "hours": 1.1306, "text": "Sooooo, something I was wondering is: Does the generative design arms I designed actually work? I tested the arms using Onshape’s FEA (Finite Element Analysis) software. I set the bottom and top pieces as fixed for this simulation just to simplify the simulation. In reality, they would deform along with the drone arms. I calculated that each motor would produce around 11.8 newtons. Of course, this doesn’t take in account crashes and such, so I set a roughly 20x safety factor of 250N to take that in account. I designed a quick mock-up of a normal drone arm to compare. I was surprised to see that both arms survived flawlessly! Though, the generative designed arm was lighter at 19.5g compared to the 23g of the traditional design."}, {"post_id": 4485, "ts": "2026-06-07T20:17:18Z", "hours": 0.3031, "text": "Today I worked on organizing the part studios into folders and fixing the main assembly. I hadn’t set the limits to the mates yet, so I finished that. The arms are made from fusion 360’s generative design software so they should be stronger by weight than traditional 3D printed drone arms!"}]...
|
Title: STRYFE - 3D Printed 5" Optimized Topolo Title: STRYFE - 3D Printed 5" Optimized Topology Drone by @james2009329 | Stardance
Devlogs:
Today I worked on organizing the part studios into folders and fixing the main assembly. I hadn’t set the limits to the mates yet, so I finished that. The arms are made from fusion 360’s generative design software so they should be stronger by weight than traditional 3D printed drone arms!
Sooooo, something I was wondering is: Does the generative design arms I designed actually work? I tested the arms using Onshape’s FEA (Finite Element Analysis) software. I set the bottom and top pieces as fixed for this simulation just to simplify the simulation. In reality, they would deform along with the drone arms. I calculated that each motor would produce around 11.8 newtons. Of course, this doesn’t take in account crashes and such, so I set a roughly 20x safety factor of 250N to take that in account. I designed a quick mock-up of a normal drone arm to compare. I was surprised to see that both arms survived flawlessly! Though, the generative designed arm was lighter at 19.5g compared to the 23g of the traditional design.
So I realized that the bottom of the drone shouldn’t be part lightened all the way. It was definitely not strong enough to survive a crash. I made it so the part lightening only come down 2mm. Now, Similarly to the top, It is a lot stronger. Here’s a view of the new part (in black) and old part (in white)...
|
1792734748.0199332
|
1793339548.0199332
|
|
3475
|
My awesome macropad! by @strider | Stardance
|
strider
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @strider | Stardanc Title: My awesome macropad! by @strider | Stardance...
|
1792770773.368696
|
1793375573.368696
|
|
3476
|
Sonora Music - Website by @Samuel-Dingle | Stardan Sonora Music - Website by @Samuel-Dingle | Stardance...
|
Samuel-Dingle
|
1
|
6.51
|
27
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T02:33:04Z", "hours": 6.0, "multiplier": 5.27, "payout": 27, "blessing": "neutral", "text": "I created a website for Sonora Music, a macOS Native music player. The website has a download archive to download older releases, as well as the current version. The main page has information on system requirements, why you should choose to use Sonora Music, and a few FAQs. There is also a footer at the bottom with links to things like github, my business email too so people can contact me. I’m most proud of the cool aurora in the background. I made a few tweaks to the element, as I initially got it from ReactBits. I’m also proud of the card styling and the animations of the cards when you scroll. The most challenging part by far was setting up the aurora. It constantly had issues at the start like being only white, being in front of everything, and having unwanted colors. To test out the project, just click the try project button. There’s no other steps!", "repo": "https://github.com/TheApparition1/Sonora-Music-Website-MK2", "demo": "https://sonora.apparitioncreatives.me"}]...
|
[{"post_id": 28233, "ts": "202 [{"post_id": 28233, "ts": "2026-07-14T11:34:59Z", "hours": 0.5086, "text": "Made a few tweaks behind the scenes, it is now a bit faster and also I rewrote the ReadME (wrote with AI first but changed it to be fully wrote by me!) I also had an issue with the footer occasionally just not showing so I fixed that!"}, {"post_id": 25242, "ts": "2026-07-09T11:38:10Z", "hours": 0.7786, "text": "I added a nice footer to the website. It has links to the github repository, my Email, and the website links"}, {"post_id": 22564, "ts": "2026-07-05T02:32:41Z", "hours": 1.2494, "text": "So I decided to build a download archive for the website. The main reason was because if something in the app breaks for them, they can see if it is their computer, or my application. It also uses an array to organise the releases from most recent to oldest."}, {"post_id": 18219, "ts": "2026-06-29T09:03:36Z", "hours": 1.0964, "text": "I decided to add system requirements to the application to future-proof it. I also added a small FAQ section with generic Lucide Svelte logos as placeholders; when I find better-suited ones, I will replace them. For now, the website is almost ready to be deployed on my domain. I just need to add an actual download hook for the button and make a page for legacy versions (e.g., I upload version 1.2, but someone else still requires 1.1 due to issues on their end.)"}, {"post_id": 16211, "ts": "2026-06-26T10:40:48Z", "hours": 1.2725, "text": "I added 3 animated cards that fly in when you scroll down. I also added a download button, for macOS - Apple Silicon. If possible in future I’ll adapt Sonora to work with MacOS x64 and possibly windows with an alternate audio framework."}, {"post_id": 15560, "ts": "2026-06-25T09:28:00Z", "hours": 1.2819, "text": "I built the main website section. I added the title and some text, and a placeholder download button. I also used the Soft Aurora BG EFX by ReactBits to make the cool bg you see and I just set the blur to 75px so that it isn’t as distracting."}]...
|
Title: Sonora Music - Website by @Samuel-Dingle | Title: Sonora Music - Website by @Samuel-Dingle | Stardance
Devlogs:
I built the main website section. I added the title and some text, and a placeholder download button. I also used the Soft Aurora BG EFX by ReactBits to make the cool bg you see and I just set the blur to 75px so that it isn’t as distracting.
I added 3 animated cards that fly in when you scroll down. I also added a download button, for macOS - Apple Silicon. If possible in future I’ll adapt Sonora to work with MacOS x64 and possibly windows with an alternate audio framework.
I decided to add system requirements to the application to future-proof it. I also added a small FAQ section with generic Lucide Svelte logos as placeholders; when I find better-suited ones, I will replace them. For now, the website is almost ready to be deployed on my domain. I just need to add an actual download hook for the button and make a page for legacy versions (e.g., I upload version 1.2, but someone else still requires 1.1 due to issues on their end.)
So I decided to build a download archive for the website. The main reason was because if something in the app breaks for them, they can see if it is their computer, or my application. It also uses an array to organise the releases from most recent to oldest.
I added a nice footer to the website. It has links to the github repository, my Email, and the website links
Made a few tweaks behind the scenes, it is now a bit faster and also I rewrote the ReadME (wrote with AI first but changed it to be fully wrote by me!) I also had an issue with the footer occasionally just not showing so I fixed that!
Ships:
I created a website for Sonora Music, a macOS Native music player. The website has a download archive to download older releases, as well as the current version. The main page has information on system requirements, why you should choose to use Sonora Music, and a few FAQs. There is also a footer at the bottom with links to things like github, my business email too so people can contact me. I’m most proud of the cool aurora in the background. I made a few tweaks to the element, as I initially got it from ReactBits. I’m also proud of the card styling and the animations of the cards when you scroll. The most challenging part by far was setting up the aurora. It constantly had issues at the start like being only white, being in front of everything, and having unwanted colors. To test out the project, just click the try project button. There’s no other steps!...
|
1792975950.709531
|
1793062350.709531
|
|
3477
|
My first slack bot! by @novaa_isa | Stardance
|
novaa_isa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @novaa_isa | Stardan Title: My first slack bot! by @novaa_isa | Stardance...
|
1792594518.833395
|
1793199318.833395
|
|
3478
|
Untitled project by @emmaamend | Stardance
|
emmaamend
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @emmaamend | Stardance
|
1792680837.5217383
|
1793285637.5217383
|
|
3479
|
Unofficial Google Docs Client by @nolanqsp | Stard Unofficial Google Docs Client by @nolanqsp | Stardance...
|
nolanqsp
|
0
|
71.79
|
0
|
[]
|
[{"post_id": 79028, "ts": "202 [{"post_id": 79028, "ts": "2026-10-12T12:39:09Z", "hours": 10.2656, "text": "GitHub, Why? Last weekend GitHub decided to suspend my account for no apparent reason(No it wasn’t a DMCA from Google). I got an email saying for me to “reverify my academic status” for the student developer pack at the same time I got suspended. I tried to do that but… you can’t reverify without being logged in, and you can’t login when you are suspended. So I contacted support and they asked “how [I] plan to use GitHub” and that “[my] account was flagged by [their] abuse-detection systems for manual review, as it may conflict with [their] Terms of Service”. I responded but haven’t gotten any response since then(that was a week ago). I ended up moving at least temporarily to GitLab. While I had a copy of the git repository on my development machine, unfortunately this doesn’t include GitHub releases. I created a new one on GitLab but there aren’t any before the newest one. Anyhow, lets get to the new features: Fix crashing when exiting causing lingering threads Add support for the space key & several special characters including Enter for newlines Add support for different font sizes Add support for downloading and applying font families at runtime (Huge thanks to Jonathan Neal for Google Fonts catalog) Improve install script by supporting powershell 5(the one included in windows) and fixing several errors Fix bug where installer’s progress bar wouldn’t update until completed Cache parsed Savekeys to prevent additional wasted compute Update installers to use GitLab Anyhow, those are the recent updates! Hopefully GitHub reviews my reinstatement request soon. :)"}, {"post_id": 72171, "ts": "2026-09-22T11:10:12Z", "hours": 9.4697, "text": "Lots more marginal improvements + New Rendering Engine + Pain Recently I have been adding: Support for more keys(symbols, numbers, numpad numbers & arrow keys) Paste (CTRL + V) support More verbose logging New Rendering Engine Can include additional data(underline color, etc) for the future Seems more stable(the old one was kind of jank) But to be honest, most of the time was spent trying to fix some unliveable bugs, when typing to quickly, stuff appears after the cursor. In addition when typing, bold text after the cursor seems to offset. I learned something that can help with the latter bug, but I wasn’t able to fix either."}, {"post_id": 66698, "ts": "2026-09-12T16:02:24Z", "hours": 7.985, "text": "Building Up to Release I’ve been working on numerous small issues that I have been putting off. One of these is that all documents over ~1.5 pages were getting cut off, it turns out the contents of the document is split into multiple chunks, each around ~1.5 pages long. It was a relatively simple problem, just needed to fix it. Also binding(incoming changes) now runs on a separate thread so that the UI doesn’t freeze when somebody else types. Saving also now runs on a separate thread, it auto saves every ~1 second, which caused another problem, outgoing changes got relayed back as incoming changes by Google’s servers, meaning everything you typed got duplicated. Again, simple fix, just needed doing. The main thing however is the caret/cursor behavior, which was/is doing some funky stuff, jumping around whenever you changed lines. I added a binary search to help with this, which helped but didnt completely fix it. So there is still some work there. I also added some savekeys to minimize the log output, because before…… there were almost a MB of logs from each run. The main things that stand before release are to finish the cursor behaviour, bolds & italics shifting, and add a home screen with your documents."}, {"post_id": 62838, "ts": "2026-09-06T11:25:02Z", "hours": 5.5689, "text": "HUGE Progress The past few hours I have worked on this project have been extremely productive. I found a header that genuine Google Docs sends, “X-Same-Domain”, which I believe just indicates whether the request is being sent to the same domain as the sender. It turns out that Google actively blocks requests from other domains, but luckily we can just send “X-Same-Domain” with a value of 1, pretending to be coming from the “docs.google.com” domain. After this realization the “/save” endpoint returned 200 (OK) . This was huge progress, this has been a major blocker for months . The one problem was that while the status code stated that the request was successful, the actual request payload contained an error “XSRF” and a string of numbers and letters, which I thought was probably some kind of authentication/coordination token. After a quick Google search, I realized that this was a token to prevent other websites in the same browser from sending requests impersonating Google Docs as the browser auto attaches authentication cookies. To my surprise, when I added “&token=XXXXXX” (with XXXXXX being the string of numbers and letters) to the request url, we get a different error! This one was very ambiguous though, it just was a JSON payload containing nothing but the number “400” , as in 400 (Bad Request) which I had become to dread. After searching around the codebase for a while I found a problem with the url encoding logic, Url encoding is the proccess of replacing invalid character with %XX (XX being the ASCII code for the invalid character), it turns out “&“s are valid characters……. but I was replacing them. Ampersands are also the seperator for parameters. I think the problem was that within the Google Docs server code, it seperates the parameters then decodes each one. With this problem fixed, saving worked!!!! There were a few tiny bugs I wont get into, but largely it worked. I implemented merging changes(sending “hello” rather than “h” + “e” + “l”+ “l”+ “o”). With saving working, I decided to start working on seeing whether these solutions also worked on “/bind” (real-time incoming changes), they didn’t immediately, but after a few tweaks trying to replicate the URL parameters that Google Docs uses, we had incoming changes! I had to do some fancy async enumerable shenanigans to get them to come in asynchronously. The main thing left to do on incoming changes is to set up a seperate thread. Anyhow, Big Devlog, just felt that if I wrote a devlog, it would be outdated within the hour. See ya next time! ; )"}, {"post_id": 60276, "ts": "2026-09-02T15:29:13Z", "hours": 3.3589, "text": "Polish ™ Worked on polishing up the UI, now the title of the document along with your Google account name and profile picture are displayed in the open document screen. Also text wrapping behaves much better. I also have been expermenting alot on how to get saving and realtime collaboration, since the last piece of progress, not much, just alot of 400 (Bad Request)s"}, {"post_id": 59515, "ts": "2026-09-01T11:51:25Z", "hours": 1.7619, "text": "Progress on Collaboration and saving Made some substantial progress on realtime collaboration, now I can successfully authenticate by posting to /bind to get a SID to then eventually make requests to /bind and /save. This was made possible by scraping the main web endpoint."}, {"post_id": 51809, "ts": "2026-08-21T17:28:55Z", "hours": 3.5811, "text": "Linux Compatibility And Polish The past few hours have been spent on refining the installer and associated scripts to work better on Linux and give a more reliable experience. Along with cleaning up some unimplemented features. A clear permission prompt for browser-scraping has been added. The past few Devlogs were focused on Internal Mode(Logging in without an external Browser), I still have plans to work on this but it is no longer the most pressing for me right now. School is starting soon for me, and I will have less time to work on this. I Want to get this ready to ship before the start of school so I can get this shipped before the end of the challenge. I will be focusing more on polish, installers, and getting it into a shippable state, If I can get saving to work before then, that’s great. But if not, I want to be able to ship a polished product even if it is missing a crucial feature(saving). But there is no guarantee that I will get it working by sinking more time into it, because it needs more reverse-engineering, I could get it to work in 3 Hours or 500, its down to how quickly I can crack the code in Wireshark(if ever)."}, {"post_id": 42573, "ts": "2026-08-07T12:04:37Z", "hours": 0.36, "text": "Welp, so much for that 2 Devlogs Ago I said I would create a CEF based C# app to authenticate with google. I did not realize that google explicitly blocks this. You might think, just change the “User-Agent: xxxxxx”, but no, Google has an entire JS detection system to stop exactly that. So then I tried making a web wrapper around “accounts.google.com” but Google has a CORS policy around this. So back to Servo it is!"}, {"post_id": 36980, "ts": "2026-07-29T12:37:08Z", "hours": 0.25, "text": "Progress! See Previous devlog."}, {"post_id": 36348, "ts": "2026-07-28T12:21:12Z", "hours": 4.8356, "text": "Internal Mode Been working on a Servo based google login (Internal Mode )(based on the servo slint example) in rust. I got far enough to be able to login, but it would take a lot more work in order to get to actually being able to login to google docs. This is my first rust project that goes beyond “Hello World!” so I have been trial and erroring my way through this proccess. I have realised that: My rust is not even close enough to being able to complete this within a reasonable timeframe(or ever) Servo doesn’t have any C#(my first and most experienced language) bindings(or not that I can find) CEF(Chromium Embedded Framework) does have C# bindings (Unfortunately is ALOT more bloated compared to Servo), aand Avalonia integration (I use Avalonia for the rest of the Google Docs App) Servo based login: doopyelephant/ServoGoogleLogin I Have started work on a CEF based google login in C#. Hopefully it plays out :)"}, {"post_id": 27686, "ts": "2026-07-13T13:59:14Z", "hours": 3.8225, "text": "Chromium App-Based-Encryption I have been working on chromium based browser support. Chrome & other modern Chromium based browsers use App-Bound-Encryption to encrypt their cookies. This is the reason why this unofficial Google Docs Client is currently unable to fully decrypt cookies from modern chromium based browsers out of the box on Windows. Chromium encrypts its cookies using the Windows DDAPI(Figure 2). Chromium used to decrypt cookies using the methods implemented in this repository before Chromium 127, this repository should decrypt cookies from chromium versions 127 and below(Figure 1). Figure 1 (C4 Bomb: Blowing up Chrome’s Appbound Cookie Encryption, www.cyberark.com/resources/threat-research-blog/c4-bomb-blowing-up-chromes-appbound-cookie-encryption . Accessed 13 July 2026.) Figure 2 (C4 Bomb: Blowing up Chrome’s Appbound Cookie Encryption, www.cyberark.com/resources/threat-research-blog/c4-bomb-blowing-up-chromes-appbound-cookie-encryption . Accessed 13 July 2026. ) Path forward On Windows ABE is in full effect, we would need SYSTEM perms, and try to impersonate Chrome. I plan to integrate xaitax/Chrome-App-Bound-Encryption-Decryption but this likely will not work forever, it is an arms race with Google and xaitax. Currently it works but likely Google with shut it down eventually. On Linux ABE is only used on Windows, on Linux Chromium uses the system Keychain over DBUS. (Gnome or KWallet) If these are unavailable it uses a completely exposed key in a file(basic encyption). This is very surpassable, it just needs implementation."}, {"post_id": 20798, "ts": "2026-07-02T14:33:09Z", "hours": 1.9575, "text": "Dynamic Path Support! Dynamic Paths are now enabled by default! Currently only Firefox works reliably from my limited testing. Zen(Fork of Firefox) works like 1/2 the time, and chromium based browsers get found but don’t work properly. The UI is kind of broken but it works for now(Working on it). Beta 3 is now released on Github with builds from the new Package&Release Script mentioned in the previous devlog."}, {"post_id": 19195, "ts": "2026-06-30T13:43:50Z", "hours": 1.8528, "text": "Platforms Platforms Platforms! Today I worked on yet more build scripts , now .zip files can be generated for every supported platform and placed in a folder with a single command! I still need to update the installer to fetch the corresponding .zip for the OS and Arch automatically. I am planning on doing my first ship once the installer & associated scripts are in a finished state where you can just paste one command into the terminal (for Win/Linux) and it opens the installer application which walks through the installation. After the installation the application should be able to be launched from the Start Menu/App Launcher along with an icon. Also the Dynamic Browser Paths(automatically finding the cookie directory of the user’s installed browser) should be stable, or if not then Internal Mode(planned mode which packages a Servo based browser to login with google to get cookies for auth)."}, {"post_id": 15601, "ts": "2026-06-25T11:20:57Z", "hours": 5.0742, "text": "Beta 2: Unofficial Google Docs Client I have worked more on RE’ing in Wireshark to RE saving and binding to a document(receive realtime updates), Implemented the infrastructure in the application, but both currently return a 400 (Bad Request), I am still working on it. There is a new material 3 theme with some other subtle UI changes. Various little fixes aswell. Also, you used to have to unzip and run the installer manually, but now there is a curl install command on the repo that downloads it to AppData and runs it."}, {"post_id": 8050, "ts": "2026-06-13T13:03:13Z", "hours": 4.2731, "text": "Finished Installer Flow! The installer now successfully downloads & installs the Google Docs application. It downloads the icon and adds a shortcut to the start menu, and adds Registry entries to add the uninstall script to the Add & Remove Programs Page in the windows settings app."}, {"post_id": 6249, "ts": "2026-06-10T14:33:35Z", "hours": 1.5903, "text": "Installer flow complete! It doesnt do any installing yet but we have a framework that calls a powershell script with progress updates and a progress bar"}, {"post_id": 3752, "ts": "2026-06-06T20:01:31Z", "hours": 0.7344, "text": "Avalonia Animations keep overlapping the pages!?!?"}, {"post_id": 3456, "ts": "2026-06-06T12:20:44Z", "hours": 0.8483, "text": "Made some fancy installer UI (Avalonia wwhhhyyy does your styling have to be so finicky!!!!!!)"}, {"post_id": 2876, "ts": "2026-06-05T19:16:51Z", "hours": 1.9375, "text": "Made a Build script to automate building and compiling the application for people!"}, {"post_id": 2728, "ts": "2026-06-05T14:07:58Z", "hours": 2.2578, "text": "-Demo of Unofficial Google Docs Client This is the status of my Unofficial Google Docs Client(Most of what is demoed in this devlog is done before stardance, this is a recap before i get into new features) Can authenticate with google to fetch public & private documents(using browser cookies) Can view documents including text(including bolds and italics) and tables Can move a cursor around and type, but cannot save to google’s servers yet"}]...
|
Title: Unofficial Google Docs Client by @nolanqsp Title: Unofficial Google Docs Client by @nolanqsp | Stardance
Devlogs:
-Demo of Unofficial Google Docs Client This is the status of my Unofficial Google Docs Client(Most of what is demoed in this devlog is done before stardance, this is a recap before i get into new features) Can authenticate with google to fetch public & private documents(using browser cookies) Can view documents including text(including bolds and italics) and tables Can move a cursor around and type, but cannot save to google’s servers yet
Made a Build script to automate building and compiling the application for people!
Made some fancy installer UI (Avalonia wwhhhyyy does your styling have to be so finicky!!!!!!)
Avalonia Animations keep overlapping the pages!?!?
Installer flow complete! It doesnt do any installing yet but we have a framework that calls a powershell script with progress updates and a progress bar
Finished Installer Flow! The installer now successfully downloads & installs the Google Docs application. It downloads the icon and adds a shortcut to the start menu, and adds Registry entries to add the uninstall script to the Add & Remove Programs Page in the windows settings app.
Beta 2: Unofficial Google Docs Client I have worked more on RE’ing in Wireshark to RE saving and binding to a document(receive realtime updates), Implemented the infrastructure in the application, but both currently return a 400 (Bad Request), I am still working on it. There is a new material 3 theme with some other subtle UI changes. Various little fixes aswell. Also, you used to have to unzip and run the installer manually, but now there is a curl install command on the repo that downloads it to AppData and runs it.
Platforms Platforms Platforms! Today I worked on yet more build scripts , now .zip files can be generated for every supported platform and placed in a folder with a single command! I still need to update the installer to fetch the corresponding .zip for the OS and Arch automatically. I am planning on doing my first ship once the installer & associated scripts are in a finished state where you can just paste one command into the terminal (for Win/Linux) and it opens the installer application which walks through the installation. After the installation the application should be able to be launched from the Start Menu/App Launcher along with an icon. Also the Dynamic Browser Paths(automatically finding the cookie directory of the user’s installed browser) should be stable, or if not then Internal Mode(planned mode which packages a Servo based browser to login with google to get cookies for auth).
Dynamic Path Support! Dynamic Paths are now enabled by default! Currently only Firefox works reliably from my limited testing. Zen(Fork of Firefox) works like 1/2 the time, and chromium based browsers get found but don’t work properly. The UI is kind of broken but it works for now(Working on it). Beta 3 is now released on Github with builds from the new Package&Release Script mentioned in the previous devlog.
Chromium App-Based-Encryption I have been working on chromium based browser support. Chrome & other modern Chromium based browsers use App-Bound-Encryption to encrypt their cookies. This is the reason why this unofficial Google Docs Client is currently unable to fully decrypt cookies from modern chromium based browsers out of the box on Windows. Chromium encrypts its cookies using the Windows DDAPI(Figure 2). Chromium used to decrypt cookies using the methods implemented in this repository before Chromium 127, this repository should decrypt cookies from chromium versions 127 and below(Figure 1). Figure 1 (C4 Bomb: Blowing up Chrome’s Appbound Cookie Encryption, www.cyberark.com/resources/threat-research-blog/c4-bomb-blowing-up-chromes-appbound-cookie-encryption . Accessed 13 July 2026.) Figure 2 (C4 Bomb: Blowing up Chrome’s Appbound Cookie Encryption, www.cyberark.com/resources/threat-research-blog/c4-bomb-blowing-up-chromes-appbound-cookie-encryption . Accessed 13 July 2026. ) Path forward On Windows ABE is in full effect, we would need SYSTEM perms, and try to impersonate Chrome. I plan to integrate xaitax/Chrome-App-Bound-Encryption-Decryption but this likely will not work forever, it is an arms race with Google and xaitax. Currently it works but likely Google with shut it down eventually. On Linux ABE is only used on Windows, on Linux Chromium uses the system Keychain over DBUS. (Gnome or KWallet) If these are unavailable it uses a completely exposed key in a file(basic encyption). This is very surpassable, it just needs implementation.
Internal Mode Been working on a Servo based google login (Internal Mode )(based on the servo slint example) in rust. I got far enough to be able to login, but it would take a lot more work in order to get to actually being able to login to google docs. This is my first rust project that goes beyond “Hello World!” so I have been trial and erroring my way through this proccess. I have realised that: My rust is not even close enough to being able to complete this within a reasonable timeframe(or ever) Servo doesn’t have any C#(my first and most experienced language) bindings(or not that I can find) CEF(Chromium Embedded Framework) does have C# bindings (Unfortunately is ALOT more bloated compared to Servo), aand Avalonia integration (I use Avalonia for the rest of the Google Docs App) Servo based login: doopyelephant/ServoGoogleLogin I Have started work on a CEF based google login in C#. Hopefully it plays out :)
Progress! See Previous devlog.
Welp, so much for that 2 Devlogs Ago I said I would create a CEF based C# app to authenticate with google. I did not realize that google explicitly blocks this. You might think, just change the “User-Agent: xxxxxx”, but no, Google has an entire JS detection system to stop exactly that. So then I tried making a web wrapper around “accounts.google.com” but Google has a CORS policy around this. So back to Servo it is!
Linux Compatibility And Polish The past few hours have been spent on refining the installer and associated scripts to work better on Linux and give a more reliable experience. Along with cleaning up some unimplemented features. A clear permission prompt for browser-scraping has been added. The past few Devlogs were focused on Internal Mode(Logging in without an external Browser), I still have plans to work on this but it is no longer the most pressing for me right now. School is starting soon for me, and I will have less time to work on this. I Want to get this ready to ship before the start of school so I can get this shipped before the end of the challenge. I will be focusing more on polish, installers, and getting it into a shippable state, If I can get saving to work before then, that’s great. But if not, I want to be able to ship a polished product even if it is missing a crucial feature(saving). But there is no guarantee that I will get it working by sinking more time into it, because it needs more reverse-engineering, I could get it to work in 3 Hours or 500, its down to how quickly I can crack the code in Wireshark(if ever).
Progress on Collaboration and saving Made some substantial progress on realtime collaboration, now I can successfully authenticate by posting to /bind to get a SID to then eventually make requests to /bind and /save. This was made possible by scraping the main web endpoint.
Polish ™ Worked on polishing up the UI, now the title of the document along with your Google account name and profile picture are displayed in the open document screen. Also text wrapping behaves much better. I also have been expermenting alot on how to get saving and realtime collaboration, since the last piece of progress, not much, just alot of 400 (Bad Request)s
HUGE Progress The past few hours I have worked on this project have been extremely productive. I found a header that genuine Google Docs sends, “X-Same-Domain”, which I believe just indicates whether the request is being sent to the same domain as the sender. It turns out that Google actively blocks requests from other domains, but luckily we can just send “X-Same-Domain” with a value of 1, pretending to be coming from the “docs.google.com” domain. After this realization the “/save” endpoint returned 200 (OK) . This was huge progress, this has been a major blocker for months . The one problem was that while the status code stated that the request was successful, the actual request payload contained an error “XSRF” and a string of numbers and letters, which I thought was probably some kind of authentication/coordination token. After a quick Google search, I realized that this was a token to prevent other websites in the same browser from sending requests impersonating Google Docs as the browser auto attaches authentication cookies. To my surprise, when I added “&token=XXXXXX” (with XXXXXX being the string of numbers and letters) to the request url, we get a different error! This one was very ambiguous though, it just was a JSON payload containing nothing but the number “400” , as in 400 (Bad Request) which I had become to dread. After searching around the codebase for a while I found a problem with the url encoding logic, Url encoding is the proccess of replacing invalid character with %XX (XX being the ASCII code for the invalid character), it turns out “&“s are valid characters……. but I was replacing them. Ampersands are also the seperator for parameters. I think the problem was that within the Google Docs server code, it seperates the parameters then decodes each one. With this problem fixed, saving worked!!!! There were a few tiny bugs I wont get into, but largely it worked. I implemented merging changes(sending “hello” rather than “h” + “e” + “l”+ “l”+ “o”). With saving working, I decided to start working on seeing whether these solutions also worked on “/bind” (real-time incoming changes), they didn’t immediately, but after a few tweaks trying to replicate the URL parameters that Google Docs uses, we had incoming changes! I had to do some fancy async enumerable shenanigans to get them to come in asynchronously. The main thing left to do on incoming changes is to set up a seperate thread. Anyhow, Big Devlog, just felt that if I wrote a devlog, it would be outdated within the hour. See ya next time! ; )
Building Up to Release I’ve been working on numerous small issues that I have been putting off. One of these is that all documents over ~1.5 pages were getting cut off, it turns out the contents of the document is split into multiple chunks, each around ~1.5 pages long. It was a relatively simple problem, just needed to fix it. Also binding(incoming changes) now runs on a separate thread so that the UI doesn’t freeze when somebody else types. Saving also now runs on a separate thread, it auto saves every ~1 second, which caused another problem, outgoing changes got relayed back as incoming changes by Google’s servers, meaning everything you typed got duplicated. Again, simple fix, just needed doing. The main thing however is the caret/cursor behavior, which was/is doing some funky stuff, jumping around whenever you changed lines. I added a binary search to help with this, which helped but didnt completely fix it. So there is still some work there. I also added some savekeys to minimize the log output, because before…… there were almost a MB of logs from each run. The main things that stand before release are to finish the cursor behaviour, bolds & italics shifting, and add a home screen with your documents.
Lots more marginal improvements + New Rendering Engine + Pain Recently I have been adding: Support for more keys(symbols, numbers, numpad numbers & arrow keys) Paste (CTRL + V) support More verbose logging New Rendering Engine Can include additional data(underline color, etc) for the future Seems more stable(the old one was kind of jank) But to be honest, most of the time was spent trying to fix some unliveable bugs, when typing to quickly, stuff appears after the cursor. In addition when typing, bold text after the cursor seems to offset. I learned something that can help with the latter bug, but I wasn’t able to fix either.
GitHub, Why? Last weekend GitHub decided to suspend my account for no apparent reason(No it wasn’t a DMCA from Google). I got an email saying for me to “reverify my academic status” for the student developer pack at the same time I got suspended. I tried to do that but… you can’t reverify without being logged in, and you can’t login when you are suspended. So I contacted support and they asked “how [I] plan to use GitHub” and that “[my] account was flagged by [their] abuse-detection systems for manual review, as it may conflict with [their] Terms of Service”. I responded but haven’t gotten any response since then(that was a week ago). I ended up moving at least temporarily to GitLab. While I had a copy of the git repository on my development machine, unfortunately this doesn’t include GitHub releases. I created a new one on GitLab but there aren’t any before the newest one. Anyhow, lets get to the new features: Fix crashing when exiting causing lingering threads Add support for the space key & several special characters including Enter for newlines Add support for different font sizes Add support for downloading and applying font families at runtime (Huge thanks to Jonathan Neal for Google Fonts catalog) Improve install script by supporting powershell 5(the one included in windows) and fixing several errors Fix bug where installer’s progress bar wouldn’t update until completed Cache parsed Savekeys to prevent additional wasted compute Update installers to use GitLab Anyhow, those are the recent updates! Hopefully GitHub reviews my reinstatement request soon. :)...
|
1792774137.8595033
|
1793378937.8595033
|
|
3480
|
Untitled project by @archess99 | Stardance
|
archess99
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @archess99 | Stardance
|
1792511246.727581
|
1793116046.727581
|
|
3481
|
savage semicondocter by @anaya_benada | Stardance
|
anaya_benada
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: savage semicondocter by @anaya_benada | Sta Title: savage semicondocter by @anaya_benada | Stardance...
|
1792727727.1106653
|
1793332527.1106653
|
|
3482
|
My awesome macropad! by @Lance | Stardance
|
Lance
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Lance | Stardance
|
1792705974.6933706
|
1793310774.6933706
|
|
3483
|
Bassy portable speaker by @Peng | Stardance
|
Peng
|
0
|
1.88
|
0
|
[]
|
[{"post_id": 1066, "ts": "2026 [{"post_id": 1066, "ts": "2026-06-02T21:39:03Z", "hours": 1.8811, "text": "Started on planning out what parts I use and the aim I have for this project, along with mocking up the different shapes I could choose for the enclosure of the speaker. What do you guys think I should choose out of option 1. the boxy style speaker or 2. the more classic “JBL” cylinder shaped speaker enclosure?"}]...
|
Title: Bassy portable speaker by @Peng | Stardance Title: Bassy portable speaker by @Peng | Stardance
Devlogs:
Started on planning out what parts I use and the aim I have for this project, along with mocking up the different shapes I could choose for the enclosure of the speaker. What do you guys think I should choose out of option 1. the boxy style speaker or 2. the more classic “JBL” cylinder shaped speaker enclosure?...
|
1792496849.9963956
|
1793101649.9963956
|
|
3484
|
BIOME by @happysunhoo | Stardance
|
happysunhoo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BIOME by @happysunhoo | Stardance
|
1792662521.1299856
|
1793267321.1299856
|
|
3485
|
My awesome macropad! by @Dotwhat | Stardance
|
Dotwhat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Dotwhat | Stardanc Title: My awesome macropad! by @Dotwhat | Stardance...
|
1792691352.6244538
|
1793296152.6244538
|
|
3486
|
Mini-Keyboard! by @Prajuna | Stardance
|
Prajuna
|
0
|
15.46
|
0
|
[]
|
[{"post_id": 29849, "ts": "202 [{"post_id": 29849, "ts": "2026-07-17T00:12:49Z", "hours": 10.9206, "text": "Keyboard! I’ve been working a lot on the case. Just need to get the plate"}, {"post_id": 13245, "ts": "2026-06-21T18:08:22Z", "hours": 4.5383, "text": "PCB Design has been completed. Sweeeeeet. Added a lil design for fun too! We have a knob, screen and 6 switches."}]...
|
Title: Mini-Keyboard! by @Prajuna | Stardance
Dev Title: Mini-Keyboard! by @Prajuna | Stardance
Devlogs:
PCB Design has been completed. Sweeeeeet. Added a lil design for fun too! We have a knob, screen and 6 switches.
Keyboard! I’ve been working a lot on the case. Just need to get the plate...
|
1792533061.4028938
|
1793137861.4028938
|
|
3487
|
My awesome macropad! by @Moksh | Stardance
|
Moksh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Moksh | Stardance
|
1792568910.6758873
|
1793173710.6758873
|
|
3488
|
My awesome macropad! by @samzy | Stardance
|
samzy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @samzy | Stardance
|
1792885960.2720199
|
1793749960.2720199
|
|
3489
|
My awesome macropad! by @urieloff | Stardance
|
urieloff
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @urieloff | Stardan Title: My awesome macropad! by @urieloff | Stardance...
|
1792630321.4339232
|
1793235121.4339232
|
|
3490
|
AI Dungeon Master by @myr | Stardance
|
myr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: AI Dungeon Master by @myr | Stardance
|
1792648246.0407622
|
1793253046.0407622
|
|
3491
|
Playlist Analizer by @ReidS28 | Stardance
|
ReidS28
|
0
|
28.09
|
0
|
[]
|
[{"post_id": 8209, "ts": "2026 [{"post_id": 8209, "ts": "2026-06-13T17:36:22Z", "hours": 20.6417, "text": "Added an advanced sorting menu to be able to have more control of how the tracks are ordered. It allows sorting using multiple traits about the track, for example sort first by artist name, then date added for tracks with the same artist."}, {"post_id": 1539, "ts": "2026-06-03T16:53:00Z", "hours": 7.4511, "text": "A website that can show your Spotify playlists (using the Spotify API) and sort them. Currently most of the information can be seen in Spotify, except for sorting by length."}]...
|
Title: Playlist Analizer by @ReidS28 | Stardance
Title: Playlist Analizer by @ReidS28 | Stardance
Devlogs:
A website that can show your Spotify playlists (using the Spotify API) and sort them. Currently most of the information can be seen in Spotify, except for sorting by length.
Added an advanced sorting menu to be able to have more control of how the tracks are ordered. It allows sorting using multiple traits about the track, for example sort first by artist name, then date added for tracks with the same artist....
|
1792626656.0470796
|
1793231456.0470796
|
|
3492
|
Droide website by @anto | Stardance
|
anto
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Droide website by @anto | Stardance
|
1792482721.702491
|
1793087521.702491
|
|
3493
|
My awesome macropad! by @Lucid | Stardance
|
Lucid
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Lucid | Stardance
|
1792500923.0939884
|
1793105723.0939884
|
|
3494
|
Caity's Macropad by @caitykat226 | Stardance
|
caitykat226
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Caity's Macropad by @caitykat226 | Star Title: Caity's Macropad by @caitykat226 | Stardance...
|
1792727663.782852
|
1793332463.782852
|
|
3495
|
Untitled by @Moksh | Stardance
|
Moksh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Moksh | Stardance
|
1792662502.467063
|
1793267302.467063
|
|
3496
|
Python Password checker by @samzy | Stardance
|
samzy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Python Password checker by @samzy | Stardan Title: Python Password checker by @samzy | Stardance...
|
1792943396.0164938
|
1793807396.0164938
|
|
3497
|
My awesome macropad! by @FlyingCube | Stardance
|
FlyingCube
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @FlyingCube | Stard Title: My awesome macropad! by @FlyingCube | Stardance...
|
1792547297.674971
|
1793152097.674971
|
|
3498
|
My awesome macropad! by @oluwatire | Stardance
|
oluwatire
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @oluwatire | Starda Title: My awesome macropad! by @oluwatire | Stardance...
|
1792752830.7055216
|
1793357630.7055216
|
|
3499
|
My first slack bot! by @haju | Stardance
|
haju
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @haju | Stardance
|
1792565708.2057655
|
1793170508.2057655
|
|
3500
|
Lap Time Tracker by @Stormwarr10r | Stardance
|
Stormwarr10r
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Lap Time Tracker by @Stormwarr10r | Stardan Title: Lap Time Tracker by @Stormwarr10r | Stardance...
|
1792493529.4457638
|
1793098329.4457638
|