|
2601
|
alespad by @ales | Stardance
|
ales
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: alespad by @ales | Stardance
|
1792698752.7635207
|
1793303552.7635207
|
|
2602
|
My first slack bot! by @nizar | Stardance
|
nizar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @nizar | Stardance
|
1792806790.4060178
|
1793411590.4060178
|
|
2603
|
Untitled by @Gaxthecool | Stardance
|
Gaxthecool
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Gaxthecool | Stardance
|
1792644895.4973788
|
1793249695.4973788
|
|
2604
|
Internet Relay Printer by @cyclic | Stardance
|
cyclic
|
0
|
0.34
|
0
|
[]
|
[{"post_id": 13902, "ts": "202 [{"post_id": 13902, "ts": "2026-06-22T19:53:37Z", "hours": 0.345, "text": "I finished the project ( :"}]...
|
Title: Internet Relay Printer by @cyclic | Stardan Title: Internet Relay Printer by @cyclic | Stardance
Devlogs:
I finished the project ( :...
|
1792551225.8216689
|
1793156025.8216689
|
|
2605
|
Untitled project by @sharmnten | Stardance
|
sharmnten
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @sharmnten | Stardance
|
1792583447.7707646
|
1793188247.7707646
|
|
2606
|
Mars Maw by @zenzei | Stardance
|
zenzei
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Mars Maw by @zenzei | Stardance
|
1792936061.4634101
|
1793800061.4634101
|
|
2607
|
My first slack bot! by @anshika | Stardance
|
anshika
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @anshika | Stardance
|
1792781478.342297
|
1793386278.342297
|
|
2608
|
Im Making a game in robloxes engine by @antlions47 Im Making a game in robloxes engine by @antlions4790 | Stardance...
|
antlions4790
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Im Making a game in robloxes engine by @ant Title: Im Making a game in robloxes engine by @antlions4790 | Stardance...
|
1792788874.2947826
|
1793393674.2947826
|
|
2609
|
first game by @zoie | Stardance
|
zoie
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: first game by @zoie | Stardance
|
1792731310.1240535
|
1793336110.1240535
|
|
2610
|
My awesome macropad! by @Radosgra | Stardance
|
Radosgra
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Radosgra | Stardan Title: My awesome macropad! by @Radosgra | Stardance...
|
1792504476.222761
|
1793109276.222761
|
|
2611
|
My first slack bot! by @NerdyEar | Stardance
|
NerdyEar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @NerdyEar | Stardanc Title: My first slack bot! by @NerdyEar | Stardance...
|
1792586976.1868362
|
1793191776.1868362
|
|
2612
|
Gam :D by @Chonu | Stardance
|
Chonu
|
0
|
6.02
|
0
|
[]
|
[{"post_id": 1222, "ts": "2026 [{"post_id": 1222, "ts": "2026-06-03T02:28:21Z", "hours": 3.5244, "text": "Today I removed the Arena for a simpler grey background. I implemented hit collision, and hit registration. Also a functional game over that closes your current instance. In terms of movement I made it so that when you let go of any movement keys you glide in the direction you were last moving for a short amount of time. I also added a precision movement mode where holding “shift” lets you move slower for more precise movements. I added the bullets to dodge, I added a new player sprite and an enemy dispensing the bullets."}, {"post_id": 502, "ts": "2026-06-01T23:44:25Z", "hours": 2.4967, "text": "Today, while figuring out godot I implemented a simple movement system with a simple sort of sprint function, I also added collision to the borders of the little arena, and a background sprite. It looks rough right now, but trust the process."}]...
|
Title: Gam :D by @Chonu | Stardance
Devlogs:
Toda Title: Gam :D by @Chonu | Stardance
Devlogs:
Today, while figuring out godot I implemented a simple movement system with a simple sort of sprint function, I also added collision to the borders of the little arena, and a background sprite. It looks rough right now, but trust the process.
Today I removed the Arena for a simpler grey background. I implemented hit collision, and hit registration. Also a functional game over that closes your current instance. In terms of movement I made it so that when you let go of any movement keys you glide in the direction you were last moving for a short amount of time. I also added a precision movement mode where holding “shift” lets you move slower for more precise movements. I added the bullets to dodge, I added a new player sprite and an enemy dispensing the bullets....
|
1792691547.2675705
|
1793296347.2675705
|
|
2613
|
My first slack bot! by @sonicx180 | Stardance
|
sonicx180
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @sonicx180 | Stardan Title: My first slack bot! by @sonicx180 | Stardance...
|
1792648064.3033319
|
1793252864.3033319
|
|
2614
|
Untitled by @vasevang | Stardance
|
vasevang
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @vasevang | Stardance
|
1792562065.401025
|
1793166865.401025
|
|
2615
|
My website by @youshitsune | Stardance
|
youshitsune
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-18T14:32:13Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have implemented and redesigned my personal website. Add tags, improved the design. I’m really proud of implementing metadata for posts.", "repo": "https://github.com/youshitsune/youshitsune.github.io", "demo": "https://youshitsune.top/"}]...
|
[{"post_id": 11298, "ts": "202 [{"post_id": 11298, "ts": "2026-06-18T14:12:34Z", "hours": 0.7831, "text": "Finally finished the whole redesign, it looks much better, and tag system is working. Now I should start writing new blog posts."}, {"post_id": 10807, "ts": "2026-06-17T18:43:44Z", "hours": 1.505, "text": "Built a better parser for my posts. Next, I need to display tags and make posts searchable by those tags. There is a lot of improvement that could be done for the website design. So back at work."}]...
|
Title: My website by @youshitsune | Stardance
Dev Title: My website by @youshitsune | Stardance
Devlogs:
Built a better parser for my posts. Next, I need to display tags and make posts searchable by those tags. There is a lot of improvement that could be done for the website design. So back at work.
Finally finished the whole redesign, it looks much better, and tag system is working. Now I should start writing new blog posts.
Ships:
I have implemented and redesigned my personal website. Add tags, improved the design. I’m really proud of implementing metadata for posts....
|
1792986773.4618747
|
1793073173.4618747
|
|
2616
|
Robert Bot by @erikh | Stardance
|
erikh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Robert Bot by @erikh | Stardance
|
1792648409.672241
|
1793253209.672241
|
|
2617
|
Mossy by @dayfit | Stardance
|
dayfit
|
0
|
100.57
|
0
|
[]
|
[{"post_id": 81070, "ts": "202 [{"post_id": 81070, "ts": "2026-10-19T19:09:33Z", "hours": 1.1372, "text": "Devlog 24 After reading and analizing this flow today, I’ve realized that it’s better to keep each vault with it’s own passkey (one leak won’t expose your all keys). Also right now if you have already registered passkey for that vault you can choose to use exising passkey (so it’ll look it up on your device), or create new one (it might overwrite your old one (for same vault)). After reviewing this PR by myself and finding nothing that would make this insecure, I’ve used GPT Astra 6 as well to review it, so now I’m pretty sure that this branch is ready to go on main. See ya!"}, {"post_id": 80793, "ts": "2026-10-18T20:06:37Z", "hours": 4.1375, "text": "Devlog 23 I added one really important thing. Before, Mossy used a 4-digit PIN to unlock the vault (it was used as a wrapping key (after going through HKDF and Argon2)). It was 10,000 combinations. Argon2 made it take longer, but after some time (a few hours), it could be cracked (if someone had your encrypted encryption key (sounds funny :d)). After this change: We use PRF from WebAuthn (really secure stuff) that uses Touch ID, Windows Hello, or Yubico Security Keys (and others) to give deterministic random bytes. Think of it like a random function that remembers what it returned for which argument. Assuming that an attacker would try to brute-force this encryption key, even with 10^18 tries per second, it’d take 1.8 x 10^51 years to crack it (kinda looooong time). Oh, and for those who can’t or don’t wanna use PRF, I’ve added regular passwords. They’re not as good as PRF, but it still takes a really long time to crack those. Those changes are still in an open PR, but it’s 10 PM, and I need to take a closer look at it tomorrow (already did a code review myself, but I’m kinda sleepy, and I’d like to keep y’all secure <3). See ya!"}, {"post_id": 80415, "ts": "2026-10-17T15:50:11Z", "hours": 7.7453, "text": "Devlog 22 Frontend: Added light, dark, and auto themes support (with settings tab!) Settings tab with themes options and links to request new features Added dashboard onboarding to help users setup their vault and add their first password Reworked key synchronization (now users will provide 6-character code instead of 6-digits code (Also it lacks of ambiguous characters like “l” and “I”) Backend: Complete rework of key-sync microservice (HTTP + SSE instead of WebSockets) (so user can access synchronized passwords up to 5 minutes after they are sent) Improved scallability by completely rethinking key-sync flow (that was kinda tricky)"}, {"post_id": 79105, "ts": "2026-10-12T18:01:50Z", "hours": 10.0319, "text": "Devlog 21 Changelogs Frontend: Standarized colors, boders, shadows, and button styles using globals.css system Updated typography: Syne for body text and Geologica for headings Centered headers navigation links Redesigned home page hero Fixed the footer so it stays at the bottom of the page Added leaf decorations on home page Based on feedback (from flavortown) I’ve decided to add some links to docs and instructions on how to set something up. Backend: Added SSE endpoint for live device enrollment updates I am working on delivering some more things before end of stardance. Stay tuned!"}, {"post_id": 70708, "ts": "2026-09-19T17:00:52Z", "hours": 5.3025, "text": "Devlog 20 Here is what happend after last devlog (lots of improvements :D) On frontend: Improved secured passwords chart, so it does only show integer values, centered chart’s line Added total count of passwords chart (as default mode) Added email verification interface Improved recent actions section Removed website icon from recent action card (API was broken, and it didn’t looked good anyway) On backend: Finished and integrated email verification system (verification link and code expires after 15 minutes) Added limits for incorrect codes, resend cooldowns, and hourly email deliveries Added rate limiting to public verification endpoint Emails are sent asynchronously through RabbitMQ That’s all for now. I’ll focus on design consistency & responsiveness for now."}, {"post_id": 65279, "ts": "2026-09-10T09:25:36Z", "hours": 7.6328, "text": "Devlog 19 It’s been a long time from last devlog. Here is changelog: On frontend: Vault loading, refreshing, selection, etc are now centralized in zustand store Removed redundant useVault hook Now user can select vault from dashboard view Added clearer selected-vault indicators and improved keyboard accessibility Made dashboard vault cards presentational and reusable On backend: Fixed critical bug in resource server logic (refresh token could be used as auth token (very bad :c)) Improved and refactored jwt validation & generation Added correct typ claim in JWT tokens Simplified refresh token claims (some were unused or not necessary) Updated Authentication.md documentation Expanded JWT generation, management, and decoder tests Work in progress: Currently I’m working on new feature, central microservice that will handle sending emails to users This is what I got so far: Batched async communication through RabbitMQ Integration with resend and some templates Retry queue with 30 secounds delay Service requeue mail only if something went wrong with sending (429 or 5XX response), if recipient doesn’t exist, there is no requeue Added tests for duplicates, pending commands, successful sends, permanent failures, and retryable failures. See ya!"}, {"post_id": 59672, "ts": "2026-09-01T16:25:07Z", "hours": 1.7078, "text": "Devlog 18 Mock API is finished, now I’m working on frontend design & consistency Changelog Finished Mock API Renamed RippleButton to Button as it’s generic right now Made Button component generic (support for icon, ghost buttons etc) Replaced all buttons with generic Button component Also I adjusted some colors so design is more consistent. See ya!"}, {"post_id": 59001, "ts": "2026-08-31T16:08:03Z", "hours": 7.1164, "text": "Devlog 17 Device manager is now up and running on production! in code review I noticed: some edge cases (mostly related with multi-threading) user could not change accounts (persisted device id was the issue) probably more, but stardance was down so I couldn’t write this devlog Now I’m working on creating Mock API so frontend development will no longer require running real backend. Stay tuned!"}, {"post_id": 46463, "ts": "2026-08-13T18:01:12Z", "hours": 1.7533, "text": "Devlog 16 Finally device manager is ready to go. Refactored frontend side logic for key-sync to work with new API Fixed bugs, improved error handling (so error message is not misleading) Removed .idea folder from repo Introduced mossy-reactor (way to test micro-services with their dependencies without deploying them to main before tests) Now it’s time to work on frontend features + design (typography, colors, globals <– boring stuff ://)"}, {"post_id": 45388, "ts": "2026-08-11T20:21:14Z", "hours": 3.4439, "text": "Devlog 15 I’ve integrated API with frontend, created new tab for managing devices. Fixed some bugs related to interation of cross-microservice communication (maybe I’ll write some integration tests? who knows) I’ve added detection of OS and device type via user agent (using Yauaa library). Now I’ll have to think about how to create good risk-engine when at same time not storing too much user informations (to keep it privacy-first) If you guys have some idea how to do that let me know! To merge this feature to develop branch I need to fix some really minor bugs. see ya!"}, {"post_id": 44650, "ts": "2026-08-10T15:43:24Z", "hours": 9.4775, "text": "Devlog 14 Soo… Recently I saw that there was no way to add new devices (** facepalm **). From last devlog I created nice enrollment system that will require already verified device to accept new one before trusting it. I’ve utilized JWT scopes for that, so client authenticated with enrollment token can only access specific endpoints. All of that probably sounds pretty easy but e g. I didn’t wanted to duplicate existing code, enrollment token is issued by same /login endpoint etc etc. basically it was quite a hustle. Hopefully, next devlog will be about how I integrated API with frontend (cross your fingers!) BTW: test count jumped from 31 to 72 from last devlog so you can see how big is the difference!"}, {"post_id": 34100, "ts": "2026-07-24T16:02:15Z", "hours": 5.6378, "text": "Devlog 13 Device manager is pretty much ready to go to production from API pov (there are some things that I still need to code tho), from last devlog I integrated it with Auth microservice, with each login / session refreshment it’s checked if given device is blocked, if so, Mossy will refuse to provide user new tokens. PS: look at those green tests (so cool)!"}, {"post_id": 29715, "ts": "2026-07-16T20:09:15Z", "hours": 4.5417, "text": "Hello there! From last devlog I’ve managed to add some features for this new Device Trust Microservice. Right now device can be blocked by another device (it will stop this device from access to account) Nonce challenge is working and has really good test coverage (this whole microservice does too) thanks to TDD I’ve finished implementing controllers & their tests It might look like TDD is slowing me down, but my code is getting really mature (each scenario is prepared). For whole process of developing this MS I didn’t opened insomnia even once - and that’s cool, because running tests without running whole MS (and it’s dependencies) is much faster. See ya!"}, {"post_id": 29114, "ts": "2026-07-15T19:34:36Z", "hours": 10.0033, "text": "Hello everyone, For last 10 hours I’ve made major progress on Mossy development. First of all my custom JWKS system got replaced by Spring Boot OAuth2 Resource Server Starter (looong name isn’t it?), it’ll make future maintance & coding much easier. In futher I’m going to migrate it to use Authorization Server Starter to achive full OAuth2 compatibility. Also I’ve been learning how TDD works, and for last 4 hours I’ve been using it during coding, it makes life so much easier! I’m currently working on new feature - Device Manager, it’s really huge feature (I need to refactor existing Device MS), but it’s really exciting, it’ll show you what devices are added to your account & analyze risk of each login (based on your common IP & MAC & OS & some more) it requires me to change old Device Microservice domain to just key-sync. Also I’ll create 2 new microservices - one called Device Trust (I’m working on it currently), it’ll tell my Authentication system to allow login or not (before cryptography was just for key-sync) by using challenge - client’ll receive randomly generated nonce and it’ll have to sign it with it’s key. Then if everything is alright it’ll ask Risk Engine if it should send user an alert or not (in future it might require MFA from client detected as higher risk) This is my biggest project ever Stay tuned!"}, {"post_id": 12018, "ts": "2026-06-19T16:35:36Z", "hours": 1.5044, "text": "Mossy now supports ssh public keys as well Refactored actions in frontend code to achive cleaner code Added validation of ssh keys"}, {"post_id": 11466, "ts": "2026-06-18T18:57:58Z", "hours": 2.0375, "text": "Mossy now supports SSH keys! Old Add Password form got removed, and replaced by new, cleaner one. Also I’m on my way to refactor code, and make lifting of Mossy’s extension UI. Support for public keys, and other SSH specific features will be introduce later, right now, only private key is supported"}, {"post_id": 10739, "ts": "2026-06-17T17:00:53Z", "hours": 2.2661, "text": "Notes system is ready and works like a charm, I had minor problem with JPA while implementing it ( Cascade.ALL ) fixed issue. Notes are encrypted with vault encryption key, so it’s suitable for sensitive data. Next up I’ll implement usage history!"}, {"post_id": 10186, "ts": "2026-06-16T20:00:41Z", "hours": 2.2619, "text": "Now, I’m working on implementing notes for passwords, backend is already ready, and frontend logic is half-way there, probably I’ll finish everything tommorow. Also I’ve made major refactor in vault request handlers logic by creating AbstractVaultRequestHandler to keep boilerplate-code in one place."}, {"post_id": 10021, "ts": "2026-06-16T15:59:05Z", "hours": 0.8125, "text": "Mossy’s search engine works like a charm!"}, {"post_id": 9322, "ts": "2026-06-15T17:15:42Z", "hours": 0.7514, "text": "Currently, I’m working on a search engine for Mossy using Fuse.js. There are still a few things to implement, such as the UI for query search, and some bugs in the tag search logic to fix."}, {"post_id": 8271, "ts": "2026-06-13T19:19:54Z", "hours": 2.9025, "text": "I’ve finaly finished system of managing tags! I really like how it turned out. Next up I’ll work on searching and filtering passwords!"}, {"post_id": 5828, "ts": "2026-06-09T19:26:39Z", "hours": 2.2906, "text": "Whole tag system is ready on backend, currently I’m working on integrating frontend with API in nice way. stay tuned !!!"}, {"post_id": 5145, "ts": "2026-06-08T20:42:33Z", "hours": 4.7406, "text": "I’ve created vault <—> backend communication for adding, assigning, and getting tags. Also adding logic is ready on frontend. Whole system ’ll be ready by tommorow 😱"}, {"post_id": 2856, "ts": "2026-06-05T18:23:25Z", "hours": 1.3331, "text": "Currently, I’m writing tag management system, that will include CRUD on tags, searching for passwords with tags. Adding tags already works! Also I’ve made really nice roadmap of Mossy Development!"}]...
|
Title: Mossy by @dayfit | Stardance
Devlogs:
Curr Title: Mossy by @dayfit | Stardance
Devlogs:
Currently, I’m writing tag management system, that will include CRUD on tags, searching for passwords with tags. Adding tags already works! Also I’ve made really nice roadmap of Mossy Development!
I’ve created vault <—> backend communication for adding, assigning, and getting tags. Also adding logic is ready on frontend. Whole system ’ll be ready by tommorow 😱
Whole tag system is ready on backend, currently I’m working on integrating frontend with API in nice way. stay tuned !!!
I’ve finaly finished system of managing tags! I really like how it turned out. Next up I’ll work on searching and filtering passwords!
Currently, I’m working on a search engine for Mossy using Fuse.js. There are still a few things to implement, such as the UI for query search, and some bugs in the tag search logic to fix.
Mossy’s search engine works like a charm!
Now, I’m working on implementing notes for passwords, backend is already ready, and frontend logic is half-way there, probably I’ll finish everything tommorow. Also I’ve made major refactor in vault request handlers logic by creating AbstractVaultRequestHandler to keep boilerplate-code in one place.
Notes system is ready and works like a charm, I had minor problem with JPA while implementing it ( Cascade.ALL ) fixed issue. Notes are encrypted with vault encryption key, so it’s suitable for sensitive data. Next up I’ll implement usage history!
Mossy now supports SSH keys! Old Add Password form got removed, and replaced by new, cleaner one. Also I’m on my way to refactor code, and make lifting of Mossy’s extension UI. Support for public keys, and other SSH specific features will be introduce later, right now, only private key is supported
Mossy now supports ssh public keys as well Refactored actions in frontend code to achive cleaner code Added validation of ssh keys
Hello everyone, For last 10 hours I’ve made major progress on Mossy development. First of all my custom JWKS system got replaced by Spring Boot OAuth2 Resource Server Starter (looong name isn’t it?), it’ll make future maintance & coding much easier. In futher I’m going to migrate it to use Authorization Server Starter to achive full OAuth2 compatibility. Also I’ve been learning how TDD works, and for last 4 hours I’ve been using it during coding, it makes life so much easier! I’m currently working on new feature - Device Manager, it’s really huge feature (I need to refactor existing Device MS), but it’s really exciting, it’ll show you what devices are added to your account & analyze risk of each login (based on your common IP & MAC & OS & some more) it requires me to change old Device Microservice domain to just key-sync. Also I’ll create 2 new microservices - one called Device Trust (I’m working on it currently), it’ll tell my Authentication system to allow login or not (before cryptography was just for key-sync) by using challenge - client’ll receive randomly generated nonce and it’ll have to sign it with it’s key. Then if everything is alright it’ll ask Risk Engine if it should send user an alert or not (in future it might require MFA from client detected as higher risk) This is my biggest project ever Stay tuned!
Hello there! From last devlog I’ve managed to add some features for this new Device Trust Microservice. Right now device can be blocked by another device (it will stop this device from access to account) Nonce challenge is working and has really good test coverage (this whole microservice does too) thanks to TDD I’ve finished implementing controllers & their tests It might look like TDD is slowing me down, but my code is getting really mature (each scenario is prepared). For whole process of developing this MS I didn’t opened insomnia even once - and that’s cool, because running tests without running whole MS (and it’s dependencies) is much faster. See ya!
Devlog 13 Device manager is pretty much ready to go to production from API pov (there are some things that I still need to code tho), from last devlog I integrated it with Auth microservice, with each login / session refreshment it’s checked if given device is blocked, if so, Mossy will refuse to provide user new tokens. PS: look at those green tests (so cool)!
Devlog 14 Soo… Recently I saw that there was no way to add new devices (** facepalm **). From last devlog I created nice enrollment system that will require already verified device to accept new one before trusting it. I’ve utilized JWT scopes for that, so client authenticated with enrollment token can only access specific endpoints. All of that probably sounds pretty easy but e g. I didn’t wanted to duplicate existing code, enrollment token is issued by same /login endpoint etc etc. basically it was quite a hustle. Hopefully, next devlog will be about how I integrated API with frontend (cross your fingers!) BTW: test count jumped from 31 to 72 from last devlog so you can see how big is the difference!
Devlog 15 I’ve integrated API with frontend, created new tab for managing devices. Fixed some bugs related to interation of cross-microservice communication (maybe I’ll write some integration tests? who knows) I’ve added detection of OS and device type via user agent (using Yauaa library). Now I’ll have to think about how to create good risk-engine when at same time not storing too much user informations (to keep it privacy-first) If you guys have some idea how to do that let me know! To merge this feature to develop branch I need to fix some really minor bugs. see ya!
Devlog 16 Finally device manager is ready to go. Refactored frontend side logic for key-sync to work with new API Fixed bugs, improved error handling (so error message is not misleading) Removed .idea folder from repo Introduced mossy-reactor (way to test micro-services with their dependencies without deploying them to main before tests) Now it’s time to work on frontend features + design (typography, colors, globals <– boring stuff ://)
Devlog 17 Device manager is now up and running on production! in code review I noticed: some edge cases (mostly related with multi-threading) user could not change accounts (persisted device id was the issue) probably more, but stardance was down so I couldn’t write this devlog Now I’m working on creating Mock API so frontend development will no longer require running real backend. Stay tuned!
Devlog 18 Mock API is finished, now I’m working on frontend design & consistency Changelog Finished Mock API Renamed RippleButton to Button as it’s generic right now Made Button component generic (support for icon, ghost buttons etc) Replaced all buttons with generic Button component Also I adjusted some colors so design is more consistent. See ya!
Devlog 19 It’s been a long time from last devlog. Here is changelog: On frontend: Vault loading, refreshing, selection, etc are now centralized in zustand store Removed redundant useVault hook Now user can select vault from dashboard view Added clearer selected-vault indicators and improved keyboard accessibility Made dashboard vault cards presentational and reusable On backend: Fixed critical bug in resource server logic (refresh token could be used as auth token (very bad :c)) Improved and refactored jwt validation & generation Added correct typ claim in JWT tokens Simplified refresh token claims (some were unused or not necessary) Updated Authentication.md documentation Expanded JWT generation, management, and decoder tests Work in progress: Currently I’m working on new feature, central microservice that will handle sending emails to users This is what I got so far: Batched async communication through RabbitMQ Integration with resend and some templates Retry queue with 30 secounds delay Service requeue mail only if something went wrong with sending (429 or 5XX response), if recipient doesn’t exist, there is no requeue Added tests for duplicates, pending commands, successful sends, permanent failures, and retryable failures. See ya!
Devlog 20 Here is what happend after last devlog (lots of improvements :D) On frontend: Improved secured passwords chart, so it does only show integer values, centered chart’s line Added total count of passwords chart (as default mode) Added email verification interface Improved recent actions section Removed website icon from recent action card (API was broken, and it didn’t looked good anyway) On backend: Finished and integrated email verification system (verification link and code expires after 15 minutes) Added limits for incorrect codes, resend cooldowns, and hourly email deliveries Added rate limiting to public verification endpoint Emails are sent asynchronously through RabbitMQ That’s all for now. I’ll focus on design consistency & responsiveness for now.
Devlog 21 Changelogs Frontend: Standarized colors, boders, shadows, and button styles using globals.css system Updated typography: Syne for body text and Geologica for headings Centered headers navigation links Redesigned home page hero Fixed the footer so it stays at the bottom of the page Added leaf decorations on home page Based on feedback (from flavortown) I’ve decided to add some links to docs and instructions on how to set something up. Backend: Added SSE endpoint for live device enrollment updates I am working on delivering some more things before end of stardance. Stay tuned!
Devlog 22 Frontend: Added light, dark, and auto themes support (with settings tab!) Settings tab with themes options and links to request new features Added dashboard onboarding to help users setup their vault and add their first password Reworked key synchronization (now users will provide 6-character code instead of 6-digits code (Also it lacks of ambiguous characters like “l” and “I”) Backend: Complete rework of key-sync microservice (HTTP + SSE instead of WebSockets) (so user can access synchronized passwords up to 5 minutes after they are sent) Improved scallability by completely rethinking key-sync flow (that was kinda tricky)
Devlog 23 I added one really important thing. Before, Mossy used a 4-digit PIN to unlock the vault (it was used as a wrapping key (after going through HKDF and Argon2)). It was 10,000 combinations. Argon2 made it take longer, but after some time (a few hours), it could be cracked (if someone had your encrypted encryption key (sounds funny :d)). After this change: We use PRF from WebAuthn (really secure stuff) that uses Touch ID, Windows Hello, or Yubico Security Keys (and others) to give deterministic random bytes. Think of it like a random function that remembers what it returned for which argument. Assuming that an attacker would try to brute-force this encryption key, even with 10^18 tries per second, it’d take 1.8 x 10^51 years to crack it (kinda looooong time). Oh, and for those who can’t or don’t wanna use PRF, I’ve added regular passwords. They’re not as good as PRF, but it still takes a really long time to crack those. Those changes are still in an open PR, but it’s 10 PM, and I need to take a closer look at it tomorrow (already did a code review myself, but I’m kinda sleepy, and I’d like to keep y’all secure <3). See ya!
Devlog 24 After reading and analizing this flow today, I’ve realized that it’s better to keep each vault with it’s own passkey (one leak won’t expose your all keys). Also right now if you have already registered passkey for that vault you can choose to use exising passkey (so it’ll look it up on your device), or create new one (it might overwrite your old one (for same vault)). After reviewing this PR by myself and finding nothing that would make this insecure, I’ve used GPT Astra 6 as well to review it, so now I’m pretty sure that this branch is ready to go on main. See ya!...
|
1792486412.4775856
|
1793091212.4775856
|
|
2618
|
test by @DoubleAM | Stardance
|
DoubleAM
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: test by @DoubleAM | Stardance
|
1792605096.262671
|
1793209896.262671
|
|
2619
|
My awesome macropad! by @joschu13 | Stardance
|
joschu13
|
0
|
0.29
|
0
|
[]
|
[{"post_id": 677, "ts": "2026- [{"post_id": 677, "ts": "2026-06-02T07:19:32Z", "hours": 0.2856, "text": "I designed the Switchs in a Keyboard Matrix (4rowsx3collums) and connected them to the XIAO ( Took me about an Hour)"}]...
|
Title: My awesome macropad! by @joschu13 | Stardan Title: My awesome macropad! by @joschu13 | Stardance
Devlogs:
I designed the Switchs in a Keyboard Matrix (4rowsx3collums) and connected them to the XIAO ( Took me about an Hour)...
|
1792630471.8206336
|
1793235271.8206336
|
|
2620
|
Fortune Fetcher by @kavya | Stardance
|
kavya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Fortune Fetcher by @kavya | Stardance
|
1792734568.5744028
|
1793339368.5744028
|
|
2621
|
My awesome macropad! by @requmarin | Stardance
|
requmarin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @requmarin | Starda Title: My awesome macropad! by @requmarin | Stardance...
|
1792795737.7978776
|
1793400537.7978776
|
|
2622
|
My awesome macropad! by @Emmanuel | Stardance
|
Emmanuel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Emmanuel | Stardan Title: My awesome macropad! by @Emmanuel | Stardance...
|
1792759976.3201447
|
1793364776.3201447
|
|
2623
|
My awesome macropad! by @yeshwanth_purusothaman | My awesome macropad! by @yeshwanth_purusothaman | Stardance...
|
yeshwanth_purusothaman
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @yeshwanth_purusoth Title: My awesome macropad! by @yeshwanth_purusothaman | Stardance...
|
1792525799.341968
|
1793130599.341968
|
|
2624
|
Custom keyboard by @danielhryn | Stardance
|
danielhryn
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Custom keyboard by @danielhryn | Stardance
|
1792734422.564275
|
1793339222.564275
|
|
2625
|
CEDES-16 by @endercass | Stardance
|
endercass
|
0
|
12.25
|
0
|
[]
|
[{"post_id": 3977, "ts": "2026 [{"post_id": 3977, "ts": "2026-06-07T03:37:19Z", "hours": 4.7703, "text": "Added some more rendering stuff and drew a little brick tile. I added methods like BLIT{,K,S} and some memory operations like MEMCPY"}, {"post_id": 1109, "ts": "2026-06-02T22:50:09Z", "hours": 1.9358, "text": "I made an on screen controller for my fantasy console! SDL is not all that hard, but then again this is quite a simple UI. In the future I will probably use textures and proper layouting techniques. For now, this will do though! :3"}, {"post_id": 648, "ts": "2026-06-02T05:04:03Z", "hours": 2.5833, "text": "I started work on the input system! I jumped through a ton of hoops along the way, and experimented with different input pulling methods, but landed on polling once per frame. The same input can be pushed to the stack several times during the frame. I made a little paint game to test it out! it works pretty well, and works on both keyboard and a game controller!"}, {"post_id": 512, "ts": "2026-06-02T00:05:51Z", "hours": 2.9642, "text": "I made langton’s ant in my fantasy console! Langton’s ant isn’t that hard to write, of course, but it did point me to several issues in my stack handling! This fantasy console is implemented in C and is built with strange bugs in mind. The pitfalls caused by the arguably cursed ISA actually help to discourage me, at a personal level, from using LLMs in my code."}]...
|
Title: CEDES-16 by @endercass | Stardance
Devlogs Title: CEDES-16 by @endercass | Stardance
Devlogs:
I made langton’s ant in my fantasy console! Langton’s ant isn’t that hard to write, of course, but it did point me to several issues in my stack handling! This fantasy console is implemented in C and is built with strange bugs in mind. The pitfalls caused by the arguably cursed ISA actually help to discourage me, at a personal level, from using LLMs in my code.
I started work on the input system! I jumped through a ton of hoops along the way, and experimented with different input pulling methods, but landed on polling once per frame. The same input can be pushed to the stack several times during the frame. I made a little paint game to test it out! it works pretty well, and works on both keyboard and a game controller!
I made an on screen controller for my fantasy console! SDL is not all that hard, but then again this is quite a simple UI. In the future I will probably use textures and proper layouting techniques. For now, this will do though! :3
Added some more rendering stuff and drew a little brick tile. I added methods like BLIT{,K,S} and some memory operations like MEMCPY...
|
1792655322.419193
|
1793260122.419193
|
|
2626
|
My awesome macropad! by @TalibN_myNameNoTerrorist My awesome macropad! by @TalibN_myNameNoTerrorist | Stardance...
|
TalibN_myNameNoTerrorist
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @TalibN_myNameNoTer Title: My awesome macropad! by @TalibN_myNameNoTerrorist | Stardance...
|
1792554465.5022705
|
1793159265.5022705
|
|
2627
|
Zazzpad! by @zazzie | Stardance
|
zazzie
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Zazzpad! by @zazzie | Stardance
|
1792514902.917435
|
1793119702.917435
|
|
2628
|
My awesome macropad! by @pqcat | Stardance
|
pqcat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @pqcat | Stardance
|
1792543963.89211
|
1793148763.89211
|
|
2629
|
My awesome macropad! by @issabella_b097 | Stardanc My awesome macropad! by @issabella_b097 | Stardance...
|
issabella_b097
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @issabella_b097 | S Title: My awesome macropad! by @issabella_b097 | Stardance...
|
1792799384.9012284
|
1793404184.9012284
|
|
2630
|
My first slack bot! by @pqcat | Stardance
|
pqcat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @pqcat | Stardance
|
1792623168.9838822
|
1793227968.9838822
|
|
2631
|
Untitled project by @joshualom8 | Stardance
|
joshualom8
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @joshualom8 | Stardance
|
1792947194.5184593
|
1793811194.5184593
|
|
2632
|
. by @Musa | Stardance
|
Musa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: . by @Musa | Stardance
|
1792770862.6302588
|
1793375662.6302588
|
|
2633
|
Untitled by @AxelM21 | Stardance
|
AxelM21
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @AxelM21 | Stardance
|
1792749060.907187
|
1793353860.907187
|
|
2634
|
PodPad by @DanngDev | Stardance
|
DanngDev
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: PodPad by @DanngDev | Stardance
|
1792785285.09316
|
1793390085.09316
|
|
2635
|
vision controlled robotic hand by @donovanbruton | vision controlled robotic hand by @donovanbruton | Stardance...
|
donovanbruton
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: vision controlled robotic hand by @donovanb Title: vision controlled robotic hand by @donovanbruton | Stardance...
|
1792781498.037322
|
1793386298.037322
|
|
2636
|
My awesome macropad! by @NerdyEar | Stardance
|
NerdyEar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @NerdyEar | Stardan Title: My awesome macropad! by @NerdyEar | Stardance...
|
1792630253.983133
|
1793235053.983133
|
|
2637
|
FLOPIC Editor by @SunnyFlops | Stardance
|
SunnyFlops
|
0
|
1.44
|
0
|
[]
|
[{"post_id": 26999, "ts": "202 [{"post_id": 26999, "ts": "2026-07-12T04:02:35Z", "hours": 1.4442, "text": "looks like a schematic i gues"}]...
|
Title: FLOPIC Editor by @SunnyFlops | Stardance
D Title: FLOPIC Editor by @SunnyFlops | Stardance
Devlogs:
looks like a schematic i gues...
|
1792598018.4725413
|
1793202818.4725413
|
|
2638
|
My first slack bot! by @claudia | Stardance
|
claudia
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @claudia | Stardance
|
1792540300.619136
|
1793145100.619136
|
|
2639
|
Untitled by @AnnaCoutinho | Stardance
|
AnnaCoutinho
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @AnnaCoutinho | Stardance
|
1792572819.1129286
|
1793177619.1129286
|
|
2640
|
The Cosmic Mileage and Age engine by @tapasya | St The Cosmic Mileage and Age engine by @tapasya | Stardance...
|
tapasya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: The Cosmic Mileage and Age engine by @tapas Title: The Cosmic Mileage and Age engine by @tapasya | Stardance...
|
1792785022.8010423
|
1793389822.8010423
|
|
2641
|
My first slack bot! by @AnnaCoutinho | Stardance
|
AnnaCoutinho
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @AnnaCoutinho | Star Title: My first slack bot! by @AnnaCoutinho | Stardance...
|
1792490085.242775
|
1793094885.242775
|
|
2642
|
IdleMachine by @gabrielv | Stardance
|
gabrielv
|
0
|
5.76
|
0
|
[]
|
[{"post_id": 1635, "ts": "2026 [{"post_id": 1635, "ts": "2026-06-03T19:21:16Z", "hours": 2.1617, "text": "GitHub repository has been opened, and now the code editor has syntax highlighting! I’m using TreeSitter with a C# wrapper to parse the JS syntax and Jint to run it with custom functions. Logging output is working (printing both logs and errors)"}, {"post_id": 1086, "ts": "2026-06-02T22:03:06Z", "hours": 3.5939, "text": "Working on a tiny game project where player is tasked with creating modules for an operating system. Each level is a new module that has to be written, each increasing in complexity. Work from previous modules can be used when writing new ones."}]...
|
Title: IdleMachine by @gabrielv | Stardance
Devlo Title: IdleMachine by @gabrielv | Stardance
Devlogs:
Working on a tiny game project where player is tasked with creating modules for an operating system. Each level is a new module that has to be written, each increasing in complexity. Work from previous modules can be used when writing new ones.
GitHub repository has been opened, and now the code editor has syntax highlighting! I’m using TreeSitter with a C# wrapper to parse the JS syntax and Jint to run it with custom functions. Logging output is working (printing both logs and errors)...
|
1792770792.279217
|
1793375592.279217
|
|
2643
|
Dropper Drone by @Matthieu | Stardance
|
Matthieu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Dropper Drone by @Matthieu | Stardance
|
1792511515.598287
|
1793116315.598287
|
|
2644
|
Untitled project by @dannwillz | Stardance
|
dannwillz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @dannwillz | Stardance
|
1792597914.70489
|
1793202714.70489
|
|
2645
|
My awesome macropad! by @AYOMIKUN | Stardance
|
AYOMIKUN
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @AYOMIKUN | Stardan Title: My awesome macropad! by @AYOMIKUN | Stardance...
|
1792525789.931166
|
1793130589.931166
|
|
2646
|
My awesome macropad! by @opal | Stardance
|
opal
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @opal | Stardance
|
1792792396.9019191
|
1793397196.9019191
|
|
2647
|
Duck game by @wrogers1616 | Stardance
|
wrogers1616
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Duck game by @wrogers1616 | Stardance
|
1792781604.7911682
|
1793386404.7911682
|
|
2648
|
Raptor TVC rocket by @funfofacts | Stardance
|
funfofacts
|
0
|
0.9
|
0
|
[]
|
[{"post_id": 57298, "ts": "202 [{"post_id": 57298, "ts": "2026-08-29T12:25:57Z", "hours": 0.8992, "text": "I finished and polished up my existing TVC Gimbal design from a prior project. I design the overview of the open rocket file and then cadded it in fusion 360. After that, I had to modify my existing telmetry flight computer to run 3 timer channels for tvc. I am still contemplating between using this existing flight computer design, my prior stm32 h7 flight controller design, or designing a completely new controller from scratch."}]...
|
Title: Raptor TVC rocket by @funfofacts | Stardanc Title: Raptor TVC rocket by @funfofacts | Stardance
Devlogs:
I finished and polished up my existing TVC Gimbal design from a prior project. I design the overview of the open rocket file and then cadded it in fusion 360. After that, I had to modify my existing telmetry flight computer to run 3 timer channels for tvc. I am still contemplating between using this existing flight computer design, my prior stm32 h7 flight controller design, or designing a completely new controller from scratch....
|
1792680922.7351327
|
1793285722.7351327
|
|
2649
|
Sam's Macropad by @samr | Stardance
|
samr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Sam's Macropad by @samr | Stardance
|
1792767015.221239
|
1793371815.221239
|
|
2650
|
Untitled project by @ary13 | Stardance
|
ary13
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @ary13 | Stardance
|
1792752799.367424
|
1793357599.367424
|